universal build of fmod

This commit is contained in:
Brian Matzon 2006-11-18 21:20:41 +00:00
parent 159d25739e
commit e3d6b25d4e
1 changed files with 86 additions and 0 deletions

View File

@ -0,0 +1,86 @@
<?xml version="1.0" ?>
<project name="OS X Native code" basedir="../../bin/fmod3" default="nativelibrary">
<property environment="env"/>
<property name="native" location="../../src/native"/>
<property name="fmod.home" location="${env.FMOD}"/>
<target name="init">
<mkdir dir="ppc"/>
<mkdir dir="intel"/>
</target>
<target name="clean">
<delete failonerror="false">
<fileset dir="intel"/>
<fileset dir="ppc"/>
<fileset dir="." includes="liblwjgl-fmod3.jnilib"/>
<fileset dir="." includes="fmod3.symbols"/>
</delete>
</target>
<target name="compile">
<apply dir="${dstdir}" executable="${compiler}" os="Mac OS X" skipemptyfilesets="true" failonerror="true" dest="${dstdir}">
<arg line="${cflags} -O2 -Wall -c -fno-common -fPIC -I${sdkroot}/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers -I${native}/common -I${fmod.home}/api/inc"/>
<!-- Map from *.m and *.c to .o -->
<mapper type="regexp" from="^(.*)\.(c)" to="\1.o"/>
<fileset dir="${native}/common" includes="common_tools.c"/>
<fileset dir="${native}/common/fmod3" 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} -single_module -exported_symbols_list ../fmod3.symbols -dynamiclib -o ${libname} -framework Foundation -framework AppKit -framework JavaVM -framework Carbon ${staticlibs}"/>
<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="legacy_sdkroot" location="/Developer/SDKs/MacOSX10.3.9.sdk"/>
<property name="universal_flags" value="-isysroot ${universal_sdkroot} -arch i386"/>
<property name="legacy_flags" value="-arch ppc"/>
<antcall target="compile">
<param name="dstdir" location="intel"/>
<param name="compiler" value="gcc-4.0"/>
<param name="sdkroot" location="${universal_sdkroot}"/>
<param name="cflags" value="${universal_flags}"/>
</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="false" executable="../../platform_build/macosx_ant/build-symbol-list" output="fmod3.symbols" failonerror="true">
<arg path="intel"/>
</exec>
<antcall target="link">
<param name="objdir" location="intel"/>
<param name="libname" value="liblwjgl-fmod3-intel.jnilib"/>
<param name="linker" value="gcc-4.0"/>
<param name="linkerflags" value="${universal_flags}"/>
<param name="staticlibs" value="${fmod.home}/api/lib/libfmodx86.a"/>
</antcall>
<antcall target="link">
<param name="objdir" location="ppc"/>
<param name="libname" value="liblwjgl-fmod3-ppc.jnilib"/>
<param name="linker" value="gcc-3.3"/>
<param name="linkerflags" value="${legacy_flags}"/>
<param name="staticlibs" value="${fmod.home}/api/lib/libfmod.a"/>
</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-fmod3.jnilib"/>
<fileset file="ppc/liblwjgl-fmod3-ppc.jnilib"/>
<fileset file="intel/liblwjgl-fmod3-intel.jnilib"/>
</apply>
</target>
</project>