<?xml version="1.0" encoding="UTF-8"?> <!-- This is an example of how to add custom compiler/linker arguments for a crosscompiler. You can use such files with setting the property 'gluegen-cpptasks.file', ie: -Dgluegen-cpptasks.file=`pwd`/lib/gluegen-cpptasks-linux-32bit.xml In case you want to compile for 32bit on a 64bit machine, you might also need to set the 'os.arch' to 'x86'. Example: gluegen/make/make.gluegen.all.linux-x86.sh --> <project name="GlueGen-cpptasks" basedir="." > <import file="../gluegen-cpptasks-base.xml" optional="false" /> <target name="gluegen.cpptasks.configure.compiler" depends="setup.java.home.dir,declare.linux.android"> <echo message="Custom forced compiler Android NDK, linker.cfg.android" /> <!--<compiler id="compiler.cfg.android" name="arm-linux-androideabi-gcc"> --> <compiler id="compiler.cfg.android" name="gcc"> <compilerarg value="--sysroot=${env.TARGET_OS_PATH}" /> <!-- set root dir for lib and include --> <compilerarg value="-B" /> <!--add additional directory for search --> <compilerarg value="${env.TARGET_TOOL_PATH}/libexec/gcc/${env.TARGET_ARCH}/${env.GCC_VERSION}" /> <compilerarg value="-march=armv7-a" /> <compilerarg value="-fpic" /> <compilerarg value="-isystem" /> <compilerarg value="${env.TARGET_OS_PATH}/include"/> <compilerarg value="-isystem" /> <compilerarg value="${env.TARGET_TOOL_PATH}/lib/gcc/${env.TARGET_ARCH}/${env.GCC_VERSION}/include" /> <!--includes stdarg.h --> <defineset> <define name="__unix__"/> <define name="ANDROID" /> <define name="_DEBUG" if="c.compiler.use-debug"/> <define name="DEBUG" if="c.compiler.use-debug"/> <define name="NDEBUG" unless="c.compiler.use-debug"/> </defineset> </compiler> <!--<linker id="linker.cfg.android" name="arm-linux-androideabi-gcc">--> <linker id="linker.cfg.android" name="gcc"> <linkerarg value="-march=armv7-a" /> <linkerarg value="-fpic" /> <linkerarg value="-Wl,--demangle" /> <linkerarg value="--sysroot=${env.TARGET_OS_PATH}" /> <!-- set root dir for lib and include --> <linkerarg value="-nostdlib" /> <linkerarg value="-Bdynamic" /> <linkerarg value="-Wl,-dynamic-linker,/system/bin/linker" /> <linkerarg value="-Wl,--gc-sections" /> <linkerarg value="-Wl,-z,nocopyreloc" /> <linkerarg value="${env.TARGET_OS_PATH}/lib/libc.so" /> <linkerarg value="${env.TARGET_OS_PATH}/lib/libdl.so" /> <linkerarg value="${env.TARGET_OS_PATH}/lib/libm.so" /> <!-- <linkerarg value="${env.TARGET_OS_PATH}/lib/crtbegin_dynamic.o" /> --> <linkerarg value="-Wl,--no-undefined" /> <linkerarg value="-Wl,-rpath-link=${env.TARGET_OS_PATH}/lib" /> <linkerarg value="${env.TARGET_TOOL_PATH}/lib/gcc/${env.TARGET_ARCH}/${env.GCC_VERSION}/${env.TARGET_CPU_NAME}/libgcc.a" /> <!-- <linkerarg value="${env.TARGET_OS_PATH}/lib/crtend_android.o" /> --> </linker> </target> <target name="gluegen.cpptasks.declare.compiler" depends="setup.java.home.dir"> <echo message="Custom forced Linux.x86 cross compile android" /> <property name="compiler.cfg.id.base" value="compiler.cfg.android" /> <property name="linker.cfg.id.base" value="linker.cfg.android" /> <property name="java.lib.dir.platform" value="${java.home.dir}/jre/lib/i386" /> <property name="java.includes.dir.platform" value="${java.includes.dir}/linux" /> </target> <target name="declare.linux.android"> <echo message="android.arm" /> <property name="compiler.cfg.id" value="compiler.cfg.android" /> <property name="linker.cfg.id" value="linker.cfg.android" /> </target> </project>