summaryrefslogtreecommitdiffstats
path: root/make/lib/gluegen-cpptasks-android-aarch64.xml
diff options
context:
space:
mode:
Diffstat (limited to 'make/lib/gluegen-cpptasks-android-aarch64.xml')
-rw-r--r--make/lib/gluegen-cpptasks-android-aarch64.xml44
1 files changed, 31 insertions, 13 deletions
diff --git a/make/lib/gluegen-cpptasks-android-aarch64.xml b/make/lib/gluegen-cpptasks-android-aarch64.xml
index 7096ecc..fcf2875 100644
--- a/make/lib/gluegen-cpptasks-android-aarch64.xml
+++ b/make/lib/gluegen-cpptasks-android-aarch64.xml
@@ -41,25 +41,34 @@
NOTE: This is not necessary if using '$TARGET_TRIPLE-gcc' from $NDK_TOOLCHAIN_ROOT/bin. -->
<compilerarg value="-B${env.NDK_TOOLCHAIN_ROOT}/libexec/gcc/${env.TARGET_TRIPLE}/${env.GCC_VERSION}" />
+ <compilerarg value="-fpic" />
+ <!-- compilerarg value="-fPIE" / --> <!-- not for shared libs, won't produce symbols -->
+ <!-- compilerarg value="-pie" / --> <!-- not for shared libs, won't produce symbols -->
<compilerarg value="-ffunction-sections" />
<compilerarg value="-funwind-tables" />
<compilerarg value="-fstack-protector" />
- <compilerarg value="-fpic" />
+ <!-- compilerarg value="-no-canonical-prefixes" / --> <!-- will disallow creating shared library -->
+ <compilerarg value="-Wa,--noexecstack" />
- <compilerarg value="-mabi=lp64" />
+
+ <!-- compilerarg value="-mabi=lp64" />
<compilerarg value="-mlittle-endian" />
- <compilerarg value="-march=armv8-a" />
+ <compilerarg value="-march=armv8-a" / -->
<!-- compilerarg value="-mfloat-abi=softfp" / -->
- <compilerarg value="-g" if="c.compiler.use-debug" />
- <compilerarg value="-O0" if="c.compiler.use-debug" />
- <compilerarg value="-Os" unless="c.compiler.use-debug" />
- <!--<compilerarg value="-O2" /> -->
+ <!-- Generic ARM Flags -->
+ <compilerarg value="-O2" unless="c.compiler.use-debug" />
+ <!-- compilerarg value="-g" unless="c.compiler.use-debug" / -->
+ <compilerarg value="-fomit-frame-pointer" unless="c.compiler.use-debug"/>
+ <compilerarg value="-fstrict-aliasing" unless="c.compiler.use-debug"/>
+ <compilerarg value="-funswitch-loops" unless="c.compiler.use-debug"/>
+ <compilerarg value="-finline-limit=300" unless="c.compiler.use-debug"/>
+
+ <compilerarg value="-O0" if="c.compiler.use-debug" />
+ <compilerarg value="-g" if="c.compiler.use-debug" />
+ <compilerarg value="-fno-omit-frame-pointer" if="c.compiler.use-debug" />
+ <compilerarg value="-fno-strict-aliasing" if="c.compiler.use-debug" />
- <compilerarg value="-fomit-frame-pointer" />
- <compilerarg value="-fno-strict-aliasing" />
- <!-- compilerarg value="-finline-limit=64" /-->
- <compilerarg value="-Wa,--noexecstack" />
<includepath path="${env.NDK_TOOLCHAIN_ROOT}/lib/gcc/${env.TARGET_TRIPLE}/${env.GCC_VERSION}/include" /> <!-- for stdarg.h -->
<defineset>
<define name="__unix__" />
@@ -67,6 +76,9 @@
<define name="__ARM_ARCH_5T__" />
<define name="__ARM_ARCH_5E__" />
<define name="__ARM_ARCH_5TE__" / -->
+ <define name="__LP64__" /> <!-- default pre-defined macro for 64bit unix -->
+ <define name="__aarch64__" /> <!-- default pre-defined macro for armv8-a, 64bit -->
+
<define name="ANDROID" />
<define name="_DEBUG" if="c.compiler.use-debug"/>
<define name="DEBUG" if="c.compiler.use-debug"/>
@@ -76,12 +88,17 @@
<linker id="linker.cfg.android" name="gcc">
<linkerarg value="--sysroot=${env.TARGET_PLATFORM_ROOT}" />
+
<linkerarg value="-fpic" />
+ <!-- linkerarg value="-fPIE" / --> <!-- not for shared libs, won't produce symbols -->
+ <!-- linkerarg value="-pie" / --> <!-- not for shared libs, won't produce symbols -->
+ <!-- linkerarg value="-no-canonical-prefixes" / --> <!-- will disallow creating shared library -->
+
<linkerarg value="-fno-use-linker-plugin" />
- <linkerarg value="-mabi=lp64" />
+ <!-- linkerarg value="-mabi=lp64" />
<linkerarg value="-mlittle-endian" />
- <linkerarg value="-march=armv8-a" />
+ <linkerarg value="-march=armv8-a" / -->
<!-- linkerarg value="-mfloat-abi=softfp" / -->
<linkerarg value="-nostdlib" />
@@ -99,6 +116,7 @@
enforce that libgcc is linked after source files but before other shared
libraries. -->
<libset dir="${env.NDK_TOOLCHAIN_ROOT}/lib/gcc/${env.TARGET_TRIPLE}/${env.GCC_VERSION}" libs="gcc" />
+ <!-- libset libs="c,m,dl,log" / -->
<libset libs="c,m,dl" />
</linker>