A complete 3D game development suite written purely in Java.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jmonkeyengine/engine/nbproject/build-openal-soft-natives.xml

107 lines
4.7 KiB

<?xml version="1.0" encoding="UTF-8"?>
<project name="build openal-soft natives" default="all" basedir="../">
<!-- load cpp compiler ant task -->
<taskdef resource="cpptasks.tasks" classpath="lib/antlibs/cpptasks.jar"/>
<!-- load properties -->
<property file="nbproject/openal-soft-native.properties"/>
<condition property="ndk-build-name" value="ndk-build.cmd" else="ndk-build">
<os family="windows" />
</condition>
<fileset id="lib.jars" dir="${openal-soft.lib.dir}">
<include name="**/*.jar"/>
</fileset>
<fileset id="lib.jme.jars" dir="${openal-soft.jme.dir}">
<include name="**/*.jar"/>
</fileset>
<pathconvert property="lib.importpath">
<fileset refid="lib.jars"/>
<fileset refid="lib.jme.jars"/>
</pathconvert>
<target name="build-openal-soft-natives" description="builds the native openal-soft library for android" depends="create-native-headers, -create-folders, compile-android">
<echo message="Updating native jME3-openal-soft-natives.jar"/>
<zip basedir="${openal-soft.output.dir}" file="${openal-soft.output.base}/jME3-openal-soft-natives-android.jar" compress="true"/>
<copy file="${openal-soft.output.base}/jME3-openal-soft-natives-android.jar" todir="dist/opt/native-openal-soft/"/>
</target>
<target name="create-native-headers" description="creates the native C++ headers for the java native methods">
<javah destdir="${openal-soft.source.dir}" classpath="${openal-soft.build.dir}${path.separator}${lib.importpath}">
<class name="com.jme3.audio.android.AndroidOpenALSoftAudioRenderer"/>
</javah>
</target>
<target name="-create-folders" description="creates the needed folders">
<mkdir dir="${openal-soft.build.dir}"/>
<mkdir dir="${openal-soft.build.dir}/jni"/>
<mkdir dir="${openal-soft.output.base}"/>
<mkdir dir="${openal-soft.output.dir}"/>
</target>
<target name="compile-android" description="compiles libopenalsoftjme using the Android NDK" depends="-check-android-ndk" if="haveAndoidNdk">
<!-- copy OpenAL Soft files into jni directory -->
<echo>Copying OpenAL Soft source files to build directory from ${openal-soft.include}</echo>
<copy todir="${openal-soft.build.dir}/jni" verbose="true" flatten="false" overwrite="true">
<fileset dir="${openal-soft.include}">
<include name="**/*.*"/>
<!--
<include name="**/*.cpp"/>
<include name="**/*.h"/>
<include name="**/*.cl"/>
<include name="**/*.c"/>
<include name="**/*.inc"/>
<exclude name="/android/*.*"/>
<include name="**/*.*" />
-->
</fileset>
</copy>
<!-- copy jME3 Native OpenAL Soft files into jni directory -->
<!--
<echo>Copying jME3 JNI files for OpenAL Soft to build directory from ${openal-soft.source.dir}</echo>
<copy todir="build/openal-soft-android/jni" verbose="true" flatten="false" overwrite="true">
<fileset dir="${openal-soft.source.dir}">
<include name="*.cpp" />
<include name="*.h" />
<include name="**/*.*" />
</fileset>
</copy>
-->
<!-- copy Android.mk and Application.mk files into jni directory -->
<echo>Copying Android Make and JNI files for OpenAL Soft to build directory from ${openal-soft.source.dir}</echo>
<copy todir="${openal-soft.build.dir}/jni" verbose="true" flatten="false" overwrite="true">
<fileset dir="${openal-soft.source.dir}">
<include name="*.*" />
<!--<include name="**/*.*"/>-->
</fileset>
</copy>
<!--
<copy file="${openal-soft.source.dir}/Android.mk" todir="build/openal-soft-android/jni" verbose="true"/>
<copy file="${openal-soft.source.dir}/Application.mk" todir="build/openal-soft-android/jni" verbose="true"/>
-->
<exec executable="${ndk.dir}/${ndk-build-name}" failonerror="true" >
<!--<arg line="NDK_DEBUG=1"/>-->
<arg line="TARGET_PLATFORM=android-9"/>
<arg line="-C ${openal-soft.build.dir}/"/>
</exec>
<!-- copy resulting library directories to jarcontent directory -->
<copy todir="${openal-soft.output.dir}" verbose="true" flatten="false">
<fileset dir="${openal-soft.build.dir}/libs">
<include name="**/*.*"/>
<!--exclude name="**/x86/*.*"/-->
</fileset>
</copy>
</target>
<target name="-check-android-ndk">
<available file="${ndk.dir}/${ndk-build-name}" property="haveAndoidNdk"/>
</target>
</project>