Skip to content

Instantly share code, notes, and snippets.

@louisbl
Created October 18, 2012 13:13
Show Gist options
  • Save louisbl/3911730 to your computer and use it in GitHub Desktop.
Save louisbl/3911730 to your computer and use it in GitHub Desktop.
hxcpp Android toolchain for NDK 8b
<xml>
<!-- Android TOOLS -------------------------------------->
<include name="gcc-toolchain.xml"/>
<path name="${ANDROID_NDK_ROOT}/toolchains/arm-linux-androideabi-4.6/prebuilt/${ANDROID_HOST}/bin"/>
<set name="ARCH" value ="-7" if="HXCPP_ARMV7" />
<compiler id="android-gcc" exe="arm-linux-androideabi-g++">
<!-- These must appear in this order! -->
<flag value="--sysroot=${ANDROID_NDK_ROOT}/platforms/android-5/arch-arm"/>
<flag value="-I${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.6/include"/>
<flag value="-I${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/include"/>
<include name="common-defines.xml" />
<flag value="-I${HXCPP}/include"/>
<flag value="-Iinclude"/>
<flag value="-fpic"/>
<flag value="-fvisibility=hidden"/>
<flag value="-ffunction-sections"/>
<flag value="-funwind-tables"/>
<flag value="-fstack-protector"/>
<flag value="-fno-short-enums"/>
<cppflag value="-frtti"/>
<flag value="-D__ARM_ARCH_5__"/>
<flag value="-D__ARM_ARCH_5T__"/>
<flag value="-D__ARM_ARCH_5E__"/>
<flag value="-D__ARM_ARCH_5TE__"/>
<flag value="-D_LINUX_STDDEF_H "/> <!-- Avoid compiler including 2 version of file -->
<flag value="-Wno-psabi"/>
<flag value="-march=armv5te" unless="HXCPP_ARMV7" />
<flag value="-mtune=xscale" unless="HXCPP_ARMV7" />
<flag value="-msoft-float" unless="HXCPP_ARMV7" />
<flag value="-march=armv7-a" if="HXCPP_ARMV7" />
<flag value="-mfpu=vfpv3-d16" if="HXCPP_ARMV7" />
<flag value="-mfloat-abi=softfp" if="HXCPP_ARMV7" />
<flag value="-fomit-frame-pointer"/>
<flag value="-fexceptions"/>
<flag value="-fno-strict-aliasing"/>
<flag value="-finline-limit=10000"/>
<flag value="-DANDROID"/>
<!-- todo <flag value="-Werror"/> -->
<flag value="-Wa,--noexecstack"/>
<flag value="-O2" unless="debug"/>
<flag value="-O0" if="debug"/>
<flag value="-DNDEBUG"/>
<flag value="-c"/>
<outflag value="-o"/>
<ext value=".obj"/>
<objdir value="obj/android${OBJEXT}${ARCH}" />
</compiler>
<!-- -Wl,-soname,libgl2jni.so
-->
<linker id="dll" exe="arm-linux-androideabi-g++" >
<ext value="${ARCH}.so"/>
<outflag value="-o"/>
<prefix value="lib"/>
<flag value="-frtti"/>
<flag value="-nostdlib"/>
<flag value="-Wl,-shared,-Bsymbolic"/>
<flag value="-Wl,--no-undefined"/>
<flag value="-Wl,-z,noexecstack"/>
<flag value="--sysroot=${ANDROID_NDK_ROOT}/platforms/android-5/arch-arm"/>
<flag value="-L${ANDROID_NDK_ROOT}/platforms/android-5/arch-arm/usr/lib"/>
<lib name="${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/libgnustl_static.a" unless="NDKV6"/>
<lib name="${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/libstdc++.a" if="NDKV6" />
<lib name="${ANDROID_NDK_ROOT}/toolchains/arm-linux-androideabi-4.6/prebuilt/${ANDROID_HOST}/lib/gcc/arm-linux-androideabi/4.6.x-google/libgcc.a"/>
<lib name="${ANDROID_NDK_ROOT}/platforms/android-5/arch-arm/usr/lib/libc.so"/>
<lib name="${ANDROID_NDK_ROOT}/platforms/android-5/arch-arm/usr/lib/libm.so"/>
<lib name="-llog"/>
<lib name="-ldl"/>
<!-- <flag value="-lGLESv2"/> -->
</linker>
</xml>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment