101 lines
4.3 KiB
XML
101 lines
4.3 KiB
XML
|
|
<project name="OS X Native code" basedir="../../bin/lwjgl" default="nativelibrary">
|
|
<property name="native" location="../../src/native"/>
|
|
|
|
<target name="init">
|
|
<mkdir dir="ppc"/>
|
|
<mkdir dir="i386"/>
|
|
<mkdir dir="x86_64"/>
|
|
</target>
|
|
|
|
<target name="clean">
|
|
<delete failonerror="false">
|
|
<fileset dir="i386"/>
|
|
<fileset dir="x86_64"/>
|
|
<fileset dir="ppc"/>
|
|
<fileset dir="." includes="liblwjgl.jnilib"/>
|
|
<fileset dir="." includes="lwjgl.symbols"/>
|
|
</delete>
|
|
</target>
|
|
|
|
<target name="compile">
|
|
<apply dir="${dstdir}" executable="${compiler}" os="Mac OS X" skipemptyfilesets="true" failonerror="true" dest="${dstdir}">
|
|
<arg line="${cflags} -ObjC -O2 -Wall -Wunused -c -fPIC -I${sdkroot}/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers -I${native}/common -I${native}/macosx"/>
|
|
<!-- Map from *.m and *.c to .o -->
|
|
<mapper type="regexp" from="^(.*)\.(c|m)" to="\1.o"/>
|
|
<fileset dir="${native}/macosx" includes="*.m"/>
|
|
<fileset dir="${native}/macosx" includes="*.c"/>
|
|
<fileset dir="${native}/common" includes="*.c"/>
|
|
<fileset dir="${native}/generated" includes="*.c"/>
|
|
</apply>
|
|
</target>
|
|
|
|
<target name="link">
|
|
<apply dir="${objdir}" parallel="true" executable="${linker}" os="Mac OS X" failonerror="true" skipemptyfilesets="true">
|
|
<arg line="${linkerflags} -mmacosx-version-min=10.4 -exported_symbols_list ../lwjgl.symbols -dynamiclib -o ${libname} -framework Foundation -framework AppKit -framework JavaVM -framework Carbon"/>
|
|
<fileset dir="${objdir}" includes="*.o"/>
|
|
</apply>
|
|
<apply dir="${objdir}" executable="strip" os="Mac OS X" failonerror="true">
|
|
<arg line="-S -X"/>
|
|
<fileset dir="." file="${libname}"/>
|
|
</apply>
|
|
</target>
|
|
|
|
<target name="nativelibrary" depends="init">
|
|
<property name="universal_sdkroot" location="/Developer/SDKs/MacOSX10.4u.sdk"/>
|
|
<property name="x86_64_sdkroot" location="/Developer/SDKs/MacOSX10.5.sdk"/>
|
|
<property name="legacy_sdkroot" location="/Developer/SDKs/MacOSX10.4u.sdk"/>
|
|
<property name="universal_flags" value="-isysroot ${universal_sdkroot}"/>
|
|
<property name="legacy_flags" value="-F${legacy_sdkroot}/System/Library/Frameworks -arch ppc"/>
|
|
<antcall target="compile">
|
|
<param name="dstdir" location="i386"/>
|
|
<param name="compiler" value="gcc-4.0"/>
|
|
<param name="sdkroot" location="${universal_sdkroot}"/>
|
|
<param name="cflags" value="${universal_flags} -arch i386 -mmacosx-version-min=10.4"/>
|
|
</antcall>
|
|
<antcall target="compile">
|
|
<param name="dstdir" location="x86_64"/>
|
|
<param name="compiler" value="gcc-4.0"/>
|
|
<param name="sdkroot" location="${universal_sdkroot}"/>
|
|
<param name="cflags" value="-isysroot ${x86_64_sdkroot} -arch x86_64 -mmacosx-version-min=10.5"/>
|
|
</antcall>
|
|
<antcall target="compile">
|
|
<param name="dstdir" location="ppc"/>
|
|
<param name="compiler" value="gcc-3.3"/>
|
|
<param name="sdkroot" location="${legacy_sdkroot}"/>
|
|
<param name="cflags" value="${legacy_flags}"/>
|
|
</antcall>
|
|
<exec vmlauncher="true" executable="sh" output="lwjgl.symbols" failonerror="true">
|
|
<arg path="../../platform_build/macosx_ant/build-symbol-list"/>
|
|
<arg path="i386"/>
|
|
</exec>
|
|
<antcall target="link">
|
|
<param name="objdir" location="i386"/>
|
|
<param name="libname" value="liblwjgl-i386.jnilib"/>
|
|
<param name="linker" value="gcc-4.0"/>
|
|
<param name="linkerflags" value="${universal_flags} -arch i386 -mmacosx-version-min=10.4"/>
|
|
</antcall>
|
|
<antcall target="link">
|
|
<param name="objdir" location="x86_64"/>
|
|
<param name="libname" value="liblwjgl-i86_64.jnilib"/>
|
|
<param name="linker" value="gcc-4.0"/>
|
|
<param name="linkerflags" value="-isysroot ${x86_64_sdkroot} -arch x86_64 -mmacosx-version-min=10.5"/>
|
|
</antcall>
|
|
<antcall target="link">
|
|
<param name="objdir" location="ppc"/>
|
|
<param name="libname" value="liblwjgl-ppc.jnilib"/>
|
|
<param name="linker" value="gcc-3.3"/>
|
|
<param name="linkerflags" value="${legacy_flags} -Wl,-syslibroot -Wl,${legacy_sdkroot}"/>
|
|
</antcall>
|
|
<apply dir="." parallel="true" executable="lipo" os="Mac OS X" failonerror="true" skipemptyfilesets="true" >
|
|
<arg value="-create"/>
|
|
<srcfile/>
|
|
<arg value="-output"/>
|
|
<arg path="liblwjgl.jnilib"/>
|
|
<fileset file="ppc/liblwjgl-ppc.jnilib"/>
|
|
<fileset file="i386/liblwjgl-i386.jnilib"/>
|
|
<fileset file="x86_64/liblwjgl-i86_64.jnilib"/>
|
|
</apply>
|
|
</target>
|
|
</project>
|