diff options
author | jfrijters <jfrijters> | 2013-01-14 17:07:27 +0400 |
---|---|---|
committer | jfrijters <jfrijters> | 2013-01-14 17:07:27 +0400 |
commit | 2b43a7d7c8a9d4b839384432b8f649f5d680c4a5 (patch) | |
tree | 7cd1fc06d7c85165959127f27a3343acd65ffd27 /jvm/jvm.build | |
parent | b4dd8f0df87aa75d24d0c9c509ef57b75aa99df6 (diff) |
Always rebuild implib.
Diffstat (limited to 'jvm/jvm.build')
-rw-r--r-- | jvm/jvm.build | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/jvm/jvm.build b/jvm/jvm.build index 87abd10b..5e075017 100644 --- a/jvm/jvm.build +++ b/jvm/jvm.build @@ -12,15 +12,36 @@ </filterchain> </copy> </target> - <target name="JVM" depends="version" if="${property::exists('ilasm') and (not string::starts-with(framework::get-target-framework(), 'mono'))}"> - <property overwrite="false" name="ilasm_signoption" value="" /> + <target name="implib"> + <csc target="exe" output="../tools/implib.exe" rebuild="true"> + <sources> + <include name="../tools/implib.cs" /> + </sources> + <references> + <include name="../bin/IKVM.Reflection.dll" asis="true" /> + </references> + </csc> + <copy file="../bin/IKVM.Reflection.dll" tofile="../tools/IKVM.Reflection.dll" overwrite="true" /> + </target> + <target name="JVM" depends="version implib" if="${not string::starts-with(framework::get-target-framework(), 'mono')}"> <if test="${property::exists('rc')}"> <exec program="${rc}" commandline="jvm.rc" /> </if> - <rc if="${not property::exists('rc')}" rcfile="jvm.rc" output="jvm.res" /> - <exec program="../tools/asmref.exe" useruntimeengine="true" commandline="mscorlib ../bin/IKVM.Runtime.JNI.dll" output="jvm_h.il" /> - <echo message=".assembly JVM { .ver ${string::replace(property::get-value('VERSION'), '.', ':')} }" file="jvm_h.il" append="true" /> - <exec program="${ilasm}" commandline=" /dll ${ilasm_signoption} /out:../bin-x86/JVM.DLL /RESOURCE:jvm.res jvm_h.il jvm32.il JVM.il" /> - <exec program="${ilasm}" commandline="/pe64 /x64 /dll ${ilasm_signoption} /out:../bin-x64/JVM.DLL /RESOURCE:jvm.res jvm_h.il jvm64.il JVM.il" /> + <rc if="${not property::exists('rc')}" rcfile="jvm.rc" output="jvm.RES" /> + <property name="arch" value="x86" /> + <call target="RunImpLib" /> + <property name="arch" value="x64" /> + <call target="RunImpLib" /> + </target> + <target name="RunImpLib"> + <property name="signoption" value="" overwrite="false" /> + <exec program="../tools/implib.exe" useruntimeengine="true"> + <arg value="jvm.def" /> + <arg value="-out:../bin-${arch}/JVM.DLL" /> + <arg value="-platform:${arch}" /> + <arg value="-r:../bin/IKVM.Runtime.JNI.dll" /> + <arg value="-win32res:jvm.RES" /> + <arg value="${signoption}" /> + </exec> </target> </project> |