jinput-arm64/plugins/OSX/build.xml
2018-05-16 23:54:53 +01:00

53 lines
2.4 KiB
XML

<?xml version="1.0" ?>
<project name="OS X Plugin, Native code" basedir="." default="compileNativeJinputLib">
<description>OSX JInput Native Plugin</description>
<target name="init">
<mkdir dir="target/natives/x86_64"/>
</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 -fPIC -I${sdkroot}/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers -I../../../../common/src/native -I../../generated-sources/natives/"/>
<mapper type="glob" from="*.c" to="*.o"/>
<fileset dir="src/main/native" includes="*.c"/>
<fileset dir="../common/src/native" 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} -dynamiclib -o ${libname} -framework JavaVM -framework CoreFoundation -framework IOKit -framework CoreServices"/>
<fileset dir="${objdir}" includes="*.o"/>
</apply>
<apply dir="${objdir}" executable="strip" os="Mac OS X" failonerror="true">
<arg line="-S -X"/>
<fileset dir="." includes="${libname}"/>
</apply>
</target>
<target name="compileNativeJinputLib" depends="init">
<property name="x86_64_sdkroot" location="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"/>
<property name="x86_64_flags" value="-isysroot ${x86_64_sdkroot} -arch x86_64 -mmacosx-version-min=10.5"/>
<antcall target="compile">
<param name="dstdir" location="target/natives/x86_64"/>
<param name="compiler" value="gcc"/>
<param name="sdkroot" location="${x86_64_sdkroot}"/>
<param name="cflags" value="${x86_64_flags}"/>
</antcall>
<antcall target="link">
<param name="objdir" location="target/natives/x86_64"/>
<param name="libname" value="libjinput-osx-x86_64.jnilib"/>
<param name="linker" value="gcc"/>
<param name="linkerflags" value="${x86_64_flags}"/>
</antcall>
<apply dir="target/natives" parallel="true" executable="lipo" os="Mac OS X" failonerror="true" skipemptyfilesets="true" >
<arg value="-create"/>
<srcfile/>
<arg value="-output"/>
<arg path="target/natives/libjinput-osx.jnilib"/>
<fileset file="target/natives/x86_64/libjinput-osx-x86_64.jnilib"/>
</apply>
</target>
</project>