102 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
		
		
			
		
	
	
			102 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
|  | <xml> | ||
|  |      | ||
|  | <!-- Set architecture --> | ||
|  | <section if="HXCPP_X86"> | ||
|  |   <set name="ARCH" value="-x86" /> | ||
|  |   <set name="PLATFORM_NUMBER" value="19" unless="PLATFORM_NUMBER" /> | ||
|  |   <set name="ABITRIPLE" value="i686-linux-android" /> | ||
|  | </section> | ||
|  | 
 | ||
|  | <section if="HXCPP_X86_64"> | ||
|  |   <set name="ARCH" value="-x86_64" /> | ||
|  |   <set name="PLATFORM_NUMBER" value="21" unless="PLATFORM_NUMBER" /> | ||
|  |   <set name="ABITRIPLE" value="x86_64-linux-android" /> | ||
|  | </section> | ||
|  | 
 | ||
|  | <section if="HXCPP_ARMV7"> | ||
|  |   <set name="ARCH" value="-v7" /> | ||
|  |   <set name="PLATFORM_NUMBER" value="19" unless="PLATFORM_NUMBER" /> | ||
|  |   <set name="ABITRIPLE" value="armv7a-linux-androideabi" /> | ||
|  |   <set name="EXEPREFIX" value="arm-linux-androideabi" /> | ||
|  | </section> | ||
|  | 
 | ||
|  | <section if="HXCPP_ARM64"> | ||
|  |   <set name="ARCH" value="-64"/> | ||
|  |   <set name="PLATFORM_NUMBER" value="21" unless="PLATFORM_NUMBER" /> | ||
|  |   <set name="ABITRIPLE" value="aarch64-linux-android" /> | ||
|  | </section> | ||
|  | 
 | ||
|  | <error value="Please set one of the architectures, eg HXCPP_ARM64, HXCPP_X86, ..." unless="ABITRIPLE" /> | ||
|  | 
 | ||
|  | <set name="PLATFORM" value="android-${PLATFORM_NUMBER}" /> | ||
|  | <set name="ANDROID_PLATFORM_DEFINE" value="HXCPP_ANDROID_PLATFORM=${PLATFORM_NUMBER}" /> | ||
|  |       | ||
|  | <path name="${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${ANDROID_HOST}/bin" /> | ||
|  | 
 | ||
|  | <section unless="NDKV22+"> | ||
|  |   <set name="HXCPP_AR" value="arm-linux-androideabi-ar" /> | ||
|  |   <set name="EXEPREFIX" value="${ABITRIPLE}" unless="EXEPREFIX" /> | ||
|  | </section> | ||
|  | <section if="NDKV22+"> | ||
|  |   <set name="HXCPP_AR" value="llvm-ar" /> | ||
|  |   <set name="EXEPREFIX" value="llvm" /> | ||
|  | </section> | ||
|  | 
 | ||
|  | <include name="toolchain/gcc-toolchain.xml"/> | ||
|  | 
 | ||
|  | <compiler id="android-gcc" exe="clang++"> | ||
|  | 
 | ||
|  |   <exe name="clang++" /> | ||
|  |   <flag value="--target=${ABITRIPLE}${PLATFORM_NUMBER}" /> | ||
|  |    | ||
|  |   <!-- File Related --> | ||
|  |   <include name="toolchain/common-defines.xml" /> | ||
|  |   <flag value="-I${HXCPP}/include"/> | ||
|  |   <flag value="-Iinclude"/> | ||
|  |   <objdir value="obj/android${OBJEXT}${ARCH}" /> | ||
|  |   <ext value=".obj"/> | ||
|  | 
 | ||
|  |   <pchflag value="-x" /> | ||
|  |   <pchflag value="c++-header" /> | ||
|  |    | ||
|  |   <!-- Macros --> | ||
|  |   <flag value="-DANDROID=ANDROID"/> | ||
|  |   <flag value="-DHXCPP_CLANG"/> | ||
|  |   <flag value="-DHX_ANDROID"/> | ||
|  |   <flag value="-DHXCPP_LOAD_DEBUG" if="HXCPP_LOAD_DEBUG"/> | ||
|  |   <flag value="-D${ANDROID_PLATFORM_DEFINE}"/> | ||
|  |    | ||
|  |   <!-- Options --> | ||
|  |   <flag value="-flto" if="HXCPP_OPTIMIZE_LINK" unless="debug"/> | ||
|  |   <flag value="-fvisibility=hidden"/> | ||
|  |   <flag value="-ffunction-sections"/> | ||
|  |   <flag value="-fstack-protector"/> | ||
|  |   <flag value="-fexceptions"/> | ||
|  |   <flag value="-g" if="HXCPP_DEBUG_LINK"/> | ||
|  |   <flag value="-c"/> | ||
|  |   <flag value="-fpic"/> | ||
|  |   <flag value="-O2" unless="debug"/> | ||
|  |    | ||
|  |   <!-- Warning Supression --> | ||
|  |   <flag value="-Wno-invalid-offsetof" /> | ||
|  |   <flag value="-Wno-return-type-c-linkage" /> | ||
|  |   <flag value="-Wno-parentheses" /> | ||
|  |    | ||
|  | </compiler> | ||
|  | 
 | ||
|  | 
 | ||
|  | <linker id="dll" exe="clang++" > | ||
|  | 
 | ||
|  |   <exe name="clang++" /> | ||
|  |   <flag value ="-shared" /> | ||
|  |   <flag value="--target=${ABITRIPLE}${PLATFORM_NUMBER}" /> | ||
|  | 
 | ||
|  |   <flag value ="-static-libstdc++" /> | ||
|  |   <flag value ="-v" /> | ||
|  |   <prefix value="lib"/> | ||
|  |   <lib name="-llog"/> | ||
|  |      | ||
|  | </linker> | ||
|  |      | ||
|  | </xml> |