Changed build to put architecture specific binaries in bin-x86 or bin-x64 directory. Note that the gcc build of libikvm-native.so still goes to bin.

This commit is contained in:
jfrijters 2009-06-26 06:53:09 +00:00
Родитель 3e112f43e3
Коммит 9bd94eb66a
5 изменённых файлов: 20 добавлений и 18 удалений

Просмотреть файл

@ -1,4 +1 @@
This directory contains the Windows x64 specific versions of ikvm-native.dll and JVM.DLL.
If you want to use IKVM.NET JNI while running on the x64 version of the CLR,
replace the ikvm\bin\ikvm-native.dll and ikvm\bin\JVM.DLL files with the versions from
this directory.

1
bin-x86/README Normal file
Просмотреть файл

@ -0,0 +1 @@
This directory contains the Windows x86 specific versions of ikvm-native.dll and JVM.DLL.

Просмотреть файл

@ -41,17 +41,21 @@
<include name="bin/IKVM.OpenJDK.Text.dll" />
<include name="bin/IKVM.OpenJDK.Util.dll" />
<include name="bin/IKVM.OpenJDK.XML.dll" />
<include name="bin/ikvm-native.dll" />
<include name="bin/libikvm-native.so" />
<include name="bin/ikvm.exe" />
<include name="bin/ikvmc.exe" />
<include name="bin/ikvmstub.exe" />
<include name="bin/JVM.DLL" />
<include name="bin-x64/ikvm-native.dll" />
<include name="bin-x64/JVM.DLL" />
<include name="bin-x86/ikvm-native.dll" />
<include name="bin-x86/JVM.DLL" />
<include name="tools/asmref.exe" />
<include name="tools/pubkey.exe" />
<include name="tools/pubkey.txt" />
<include name="native/Release/ikvm-native.dll" />
<include name="native/Release/*.obj" />
<include name="native/Release-x64/ikvm-native.dll" />
<include name="native/Release-x64/*.obj" />
<include name="native/Release-x86/ikvm-native.dll" />
<include name="native/Release-x86/*.obj" />
</fileset>
</delete>
</target>

Просмотреть файл

@ -5,11 +5,7 @@
<property overwrite="false" name="ilasm_signoption" value="" />
<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" />
<if test="${not string::contains(environment::get-variable('FrameworkDir'), 'Framework64')}">
<exec program="ilasm" commandline="/dll ${ilasm_signoption} /out:../bin/JVM.DLL jvm_h.il jvm32.il JVM.il" />
</if>
<if test="${string::contains(environment::get-variable('FrameworkDir'), 'Framework64')}">
<exec program="ilasm" commandline="/pe64 /x64 /dll ${ilasm_signoption} /out:../bin/JVM.DLL jvm_h.il jvm64.il JVM.il" />
</if>
<exec program="ilasm" commandline=" /dll ${ilasm_signoption} /out:../bin-x86/JVM.DLL jvm_h.il jvm32.il JVM.il" />
<exec program="ilasm" commandline="/pe64 /x64 /dll ${ilasm_signoption} /out:../bin-x64/JVM.DLL jvm_h.il jvm64.il JVM.il" />
</target>
</project>

Просмотреть файл

@ -13,17 +13,21 @@
<copy file="libikvm-native.so" todir="../bin"/>
</target>
<target name="ikvm-native-win32">
<mkdir dir="Release"/>
<cl outputdir="Release" options="/O2 /D WIN32 /D NDEBUG /D _WINDLL /D _MBCS /GS /W3 /nologo /c">
<property name="cpu-arch" value="x86" />
<!-- HACK this is pretty lame hack to guess if we're about to run the x64 version of CL.EXE -->
<property name="cpu-arch" value="x64" if="${string::contains(string::to-lower(environment::get-variable('PATH')), 'vc\bin\amd64')}" />
<property name="cpu-arch" value="x64" if="${string::contains(string::to-lower(environment::get-variable('PATH')), 'vc\bin\x86_amd64')}" />
<mkdir dir="Release-${cpu-arch}"/>
<cl outputdir="Release-${cpu-arch}" options="/O2 /D WIN32 /D NDEBUG /D _WINDLL /D _MBCS /GS /W3 /nologo /c">
<sources>
<include name="*.c"/>
</sources>
</cl>
<link output="Release/ikvm-native.dll" options="/DLL user32.lib">
<link output="Release-${cpu-arch}/ikvm-native.dll" options="/DLL user32.lib">
<sources>
<include name="Release/*.obj"/>
<include name="Release-${cpu-arch}/*.obj"/>
</sources>
</link>
<copy file="Release/ikvm-native.dll" todir="../bin" />
<copy file="Release-${cpu-arch}/ikvm-native.dll" todir="../bin-${cpu-arch}" />
</target>
</project>