SDK: Add build support for Android implementation of OpenAL Soft

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10610 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
3.0
iwg..om 12 years ago
parent 785d50f516
commit c1402b30e9
  1. 4
      engine/build.xml
  2. 3239
      engine/nbproject/build-impl.xml
  3. 105
      engine/nbproject/build-openal-soft-natives.xml
  4. 2
      engine/nbproject/configs/Native_OpenAL_Soft.properties
  5. 23
      engine/nbproject/openal-soft-native.properties
  6. 265
      engine/nbproject/project.properties
  7. 91
      engine/nbproject/project.xml

@ -19,6 +19,10 @@
</exec>
</target>
<target name="build-openal-soft-natives" description="uses native build tools to build the openalsoftjme shared library for Android" depends="jar">
<ant antfile="nbproject/build-openal-soft-natives.xml" target="build-openal-soft-natives"/>
</target>
<target name="-do-compile" description="Overrides default compile target to separate the build into folders" depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources">
<mkdir dir="${build.dir}/core"/>
<mkdir dir="${build.dir}/effects"/>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,105 @@
<?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="*.*" />
</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>

@ -0,0 +1,2 @@
$label=Native OpenAL Soft
$target.build=build-openal-soft-natives

@ -0,0 +1,23 @@
##########################################################
# these are the ant build properties for openal-soft-jme #
##########################################################
# location of Android NDK if available
ndk.dir=D:/android/android-ndk-r7
# directory of OpenAL Soft download
openal-soft.folder=../openalsoft_1_15_1/openal-soft
# compile options
openal-soft.compile.debug=false
# native header include directories
openal-soft.java.include=${java.home}/../include
# dont change these..
openal-soft.include=${openal-soft.folder}
openal-soft.source.dir=src/openal-soft-native/android
openal-soft.build.dir=build/openal-soft/
openal-soft.output.base=lib/openal-soft
openal-soft.output.dir=${openal-soft.output.base}/jarcontent
openal-soft.jme.dir=dist
openal-soft.lib.dir=dist/lib

@ -1,132 +1,133 @@
annotation.processing.enabled=false
annotation.processing.enabled.in.editor=false
annotation.processing.processors.list=
annotation.processing.run.all.processors=true
ant.customtasks.libs=JWSAntTasks
application.homepage=http://www.jmonkeyengine.com/
application.title=jMonkeyEngine 3.0
application.vendor=jMonkeyEngine
build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form,**/*.m
# This directory is removed when the project is cleaned:
build.dir=build
build.generated.dir=${build.dir}/generated
build.generated.sources.dir=${build.dir}/generated-sources
# Only compile against the classpath explicitly listed here:
build.sysclasspath=ignore
build.test.classes.dir=${build.dir}/test/classes
build.test.results.dir=${build.dir}/test/results
# Uncomment to specify the preferred debugger connection transport:
#debug.transport=dt_socket
debug.classpath=\
${run.classpath}
debug.test.classpath=\
${run.test.classpath}
# This directory is removed when the project is cleaned:
dist.dir=dist
dist.jar=${dist.dir}/jMonkeyEngine3.jar
dist.javadoc.dir=${dist.dir}/javadoc
endorsed.classpath=
excludes=
file.reference.src-test-data=src/test-data
includes=**
jar.archive.disabled=${jnlp.enabled}
jar.compress=true
jar.index=${jnlp.enabled}
javac.classpath=\
${libs.jogg.classpath}:\
${libs.jbullet.classpath}:\
${libs.lwjgl.classpath}:\
${libs.niftygui1.3.classpath}:\
${libs.jme3-test-data.classpath}:\
${libs.android.classpath}:\
${libs.bullet.classpath}:\
${libs.jogl2.classpath}
# Space-separated list of extra javac options
javac.compilerargs=
javac.deprecation=false
javac.processorpath=\
${javac.classpath}
javac.source=1.5
javac.target=1.5
javac.test.classpath=\
${javac.classpath}:\
${build.classes.dir}:\
${libs.junit_4.classpath}
javadoc.additionalparam=-protected
javadoc.author=false
javadoc.encoding=${source.encoding}
javadoc.noindex=false
javadoc.nonavbar=false
javadoc.notree=false
javadoc.private=false
javadoc.splitindex=true
javadoc.use=true
javadoc.version=false
javadoc.windowtitle=jMonkeyEngine3
jaxbwiz.endorsed.dirs="${netbeans.home}/../ide12/modules/ext/jaxb/api"
jnlp.applet.class=jme3test.awt.AppHarness
jnlp.applet.height=300
jnlp.applet.width=300
jnlp.codebase.type=user
jnlp.codebase.user=http://jmonkeyengine.com/javawebstart/
jnlp.descriptor=application
jnlp.enabled=false
jnlp.icon=/Users/normenhansen/Pictures/jme/icons/jme-logo48.png
jnlp.mixed.code=default
jnlp.offline-allowed=true
jnlp.signed=true
jnlp.signing=generated
jnlp.signing.alias=engine
jnlp.signing.keystore=
main.class=jme3test.TestChooser
manifest.file=MANIFEST.MF
meta.inf.dir=${src.dir}/META-INF
mkdist.disabled=false
platform.active=default_platform
run.classpath=\
${javac.classpath}:\
${build.classes.dir}:\
${build.dir}/core:\
${build.dir}/effects:\
${build.dir}/networking:\
${build.dir}/plugins:\
${build.dir}/jogg:\
${build.dir}/desktop:\
${build.dir}/blender:\
${build.dir}/terrain:\
${build.dir}/jbullet:\
${build.dir}/bullet:\
${build.dir}/niftygui:\
${build.dir}/lwjgl:\
${build.dir}/jogl:\
${build.dir}/android:\
${build.dir}/ios
run.jvmargs=-Xms128m -Xmx128m -XX:MaxDirectMemorySize=256M
run.test.classpath=\
${javac.test.classpath}:\
${build.test.classes.dir}
source.encoding=UTF-8
src.android.dir=src/android
src.blender.dir=src/blender
src.bullet-common.dir=src/bullet-common
src.bullet-native.dir=src/bullet-native
src.bullet.dir=src/bullet
src.core-data.dir=src/core-data
src.core-effects.dir=src/core-effects
src.core-plugins.dir=src/core-plugins
src.core.dir=src/core
src.desktop.dir=src/desktop
src.ios.dir=src/ios
src.jbullet.dir=src/jbullet
src.jogg.dir=src/jogg
src.jogl.dir=src/jogl
src.lwjgl.dir=src/lwjgl
src.networking.dir=src/networking
src.niftygui.dir=src/niftygui
src.ogre.dir=src/ogre
src.terrain.dir=src/terrain
src.test.dir=src/test
src.tools.dir=src/tools
src.xml.dir=src/xml
test.test.dir=test
annotation.processing.enabled=false
annotation.processing.enabled.in.editor=false
annotation.processing.processors.list=
annotation.processing.run.all.processors=true
ant.customtasks.libs=JWSAntTasks
application.homepage=http://www.jmonkeyengine.com/
application.title=jMonkeyEngine 3.0
application.vendor=jMonkeyEngine
build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form,**/*.m
# This directory is removed when the project is cleaned:
build.dir=build
build.generated.dir=${build.dir}/generated
build.generated.sources.dir=${build.dir}/generated-sources
# Only compile against the classpath explicitly listed here:
build.sysclasspath=ignore
build.test.classes.dir=${build.dir}/test/classes
build.test.results.dir=${build.dir}/test/results
# Uncomment to specify the preferred debugger connection transport:
#debug.transport=dt_socket
debug.classpath=\
${run.classpath}
debug.test.classpath=\
${run.test.classpath}
# This directory is removed when the project is cleaned:
dist.dir=dist
dist.jar=${dist.dir}/jMonkeyEngine3.jar
dist.javadoc.dir=${dist.dir}/javadoc
endorsed.classpath=
excludes=
file.reference.src-test-data=src/test-data
includes=**
jar.archive.disabled=${jnlp.enabled}
jar.compress=true
jar.index=${jnlp.enabled}
javac.classpath=\
${libs.jogg.classpath}:\
${libs.jbullet.classpath}:\
${libs.lwjgl.classpath}:\
${libs.niftygui1.3.classpath}:\
${libs.jme3-test-data.classpath}:\
${libs.android.classpath}:\
${libs.bullet.classpath}:\
${libs.jogl2.classpath}
# Space-separated list of extra javac options
javac.compilerargs=
javac.deprecation=false
javac.processorpath=\
${javac.classpath}
javac.source=1.5
javac.target=1.5
javac.test.classpath=\
${javac.classpath}:\
${build.classes.dir}:\
${libs.junit_4.classpath}
javadoc.additionalparam=-protected
javadoc.author=false
javadoc.encoding=${source.encoding}
javadoc.noindex=false
javadoc.nonavbar=false
javadoc.notree=false
javadoc.private=false
javadoc.splitindex=true
javadoc.use=true
javadoc.version=false
javadoc.windowtitle=jMonkeyEngine3
jaxbwiz.endorsed.dirs="${netbeans.home}/../ide12/modules/ext/jaxb/api"
jnlp.applet.class=jme3test.awt.AppHarness
jnlp.applet.height=300
jnlp.applet.width=300
jnlp.codebase.type=user
jnlp.codebase.user=http://jmonkeyengine.com/javawebstart/
jnlp.descriptor=application
jnlp.enabled=false
jnlp.icon=/Users/normenhansen/Pictures/jme/icons/jme-logo48.png
jnlp.mixed.code=default
jnlp.offline-allowed=true
jnlp.signed=true
jnlp.signing=generated
jnlp.signing.alias=engine
jnlp.signing.keystore=
main.class=jme3test.TestChooser
manifest.file=MANIFEST.MF
meta.inf.dir=${src.dir}/META-INF
mkdist.disabled=false
platform.active=default_platform
run.classpath=\
${javac.classpath}:\
${build.classes.dir}:\
${build.dir}/core:\
${build.dir}/effects:\
${build.dir}/networking:\
${build.dir}/plugins:\
${build.dir}/jogg:\
${build.dir}/desktop:\
${build.dir}/blender:\
${build.dir}/terrain:\
${build.dir}/jbullet:\
${build.dir}/bullet:\
${build.dir}/niftygui:\
${build.dir}/lwjgl:\
${build.dir}/jogl:\
${build.dir}/android:\
${build.dir}/ios
run.jvmargs=-Xms128m -Xmx128m -XX:MaxDirectMemorySize=256M
run.test.classpath=\
${javac.test.classpath}:\
${build.test.classes.dir}
source.encoding=UTF-8
src.android.dir=src/android
src.blender.dir=src/blender
src.bullet-common.dir=src/bullet-common
src.bullet-native.dir=src/bullet-native
src.bullet.dir=src/bullet
src.core-data.dir=src/core-data
src.core-effects.dir=src/core-effects
src.core-plugins.dir=src/core-plugins
src.core.dir=src/core
src.desktop.dir=src/desktop
src.ios.dir=src/ios
src.jbullet.dir=src/jbullet
src.jogg.dir=src/jogg
src.jogl.dir=src/jogl
src.lwjgl.dir=src/lwjgl
src.networking.dir=src/networking
src.niftygui.dir=src/niftygui
src.ogre.dir=src/ogre
src.openal-soft-native.dir=src\\openal-soft-native
src.terrain.dir=src/terrain
src.test.dir=src/test
src.tools.dir=src/tools
src.xml.dir=src/xml
test.test.dir=test

@ -1,45 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.java.j2seproject</type>
<configuration>
<buildExtensions xmlns="http://www.netbeans.org/ns/ant-build-extender/1">
<extension file="jnlp-impl.xml" id="jws">
<dependency dependsOn="jnlp" target="jar"/>
</extension>
</buildExtensions>
<data xmlns="http://www.netbeans.org/ns/j2se-project/3">
<name>jMonkeyEngine3</name>
<minimum-ant-version>1.6.5</minimum-ant-version>
<source-roots>
<root id="src.core.dir" name="Core"/>
<root id="src.core-data.dir" name="Core-Data"/>
<root id="src.core-effects.dir" name="Core-Effects"/>
<root id="src.core-plugins.dir" name="Core-Plugins"/>
<root id="src.desktop.dir" name="Desktop"/>
<root id="src.terrain.dir" name="Terrain"/>
<root id="src.jbullet.dir" name="Java Bullet"/>
<root id="src.bullet.dir" name="Native Bullet"/>
<root id="src.bullet-native.dir" name="Native Bullet C++"/>
<root id="src.bullet-common.dir" name="Bullet Common"/>
<root id="src.networking.dir" name="Networking"/>
<root id="src.niftygui.dir" name="NiftyGUI"/>
<root id="src.jogg.dir" name="JOGG"/>
<root id="src.ogre.dir" name="Ogre"/>
<root id="src.blender.dir" name="Blender"/>
<root id="src.xml.dir" name="XML"/>
<root id="src.tools.dir" name="Tools"/>
<root id="src.test.dir" name="Test"/>
<root id="src.lwjgl.dir" name="LWJGL Renderer"/>
<root id="src.jogl.dir" name="JOGL Renderer"/>
<root id="src.android.dir" name="Android Renderer"/>
<root id="src.ios.dir" name="iOS Renderer"/>
</source-roots>
<test-roots>
<root id="test.test.dir" name="Unit Test"/>
</test-roots>
</data>
<libraries xmlns="http://www.netbeans.org/ns/ant-project-libraries/1">
<definitions>./lib/nblibraries.properties</definitions>
</libraries>
</configuration>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.java.j2seproject</type>
<configuration>
<buildExtensions xmlns="http://www.netbeans.org/ns/ant-build-extender/1">
<extension file="jnlp-impl.xml" id="jws">
<dependency dependsOn="jnlp" target="jar"/>
</extension>
</buildExtensions>
<data xmlns="http://www.netbeans.org/ns/j2se-project/3">
<name>jMonkeyEngine3</name>
<minimum-ant-version>1.6.5</minimum-ant-version>
<source-roots>
<root id="src.core.dir" name="Core"/>
<root id="src.core-data.dir" name="Core-Data"/>
<root id="src.core-effects.dir" name="Core-Effects"/>
<root id="src.core-plugins.dir" name="Core-Plugins"/>
<root id="src.desktop.dir" name="Desktop"/>
<root id="src.terrain.dir" name="Terrain"/>
<root id="src.jbullet.dir" name="Java Bullet"/>
<root id="src.bullet.dir" name="Native Bullet"/>
<root id="src.bullet-native.dir" name="Native Bullet C++"/>
<root id="src.bullet-common.dir" name="Bullet Common"/>
<root id="src.networking.dir" name="Networking"/>
<root id="src.niftygui.dir" name="NiftyGUI"/>
<root id="src.jogg.dir" name="JOGG"/>
<root id="src.ogre.dir" name="Ogre"/>
<root id="src.blender.dir" name="Blender"/>
<root id="src.xml.dir" name="XML"/>
<root id="src.tools.dir" name="Tools"/>
<root id="src.test.dir" name="Test"/>
<root id="src.lwjgl.dir" name="LWJGL Renderer"/>
<root id="src.jogl.dir" name="JOGL Renderer"/>
<root id="src.android.dir" name="Android Renderer"/>
<root id="src.openal-soft-native.dir" name="OpenAL Soft C++"/>
<root id="src.ios.dir" name="iOS Renderer"/>
</source-roots>
<test-roots>
<root id="test.test.dir" name="Unit Test"/>
</test-roots>
</data>
<libraries xmlns="http://www.netbeans.org/ns/ant-project-libraries/1">
<definitions>./lib/nblibraries.properties</definitions>
</libraries>
</configuration>
</project>

Loading…
Cancel
Save