Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/ikvm-fork.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/jvm
diff options
context:
space:
mode:
authorjfrijters <jfrijters>2013-01-14 17:07:27 +0400
committerjfrijters <jfrijters>2013-01-14 17:07:27 +0400
commit2b43a7d7c8a9d4b839384432b8f649f5d680c4a5 (patch)
tree7cd1fc06d7c85165959127f27a3343acd65ffd27 /jvm
parentb4dd8f0df87aa75d24d0c9c509ef57b75aa99df6 (diff)
Always rebuild implib.
Diffstat (limited to 'jvm')
-rw-r--r--jvm/jvm.build35
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>