def cxx_android_clang34_armv7(conf): """ Detect and setup the Android clang 3.4 compiler for ARMv7 """ conf.mkspec_clang_android_configure(3, 4, prefix='arm-linux-androideabi', target='armv7-linux-androideabi') conf.env['DEST_CPU'] = 'arm'
def cxx_android_clang34_armv7(conf): """ Detect and setup the Android clang 3.4 compiler for ARMv7 """ conf.mkspec_clang_android_configure(3, 4, prefix='arm-linux-androideabi', target='armv7-linux-androideabi') conf.env['DEST_CPU'] = 'arm'
def cxx_android_clang80_armv7(conf): """ Detect and setup the Android clang 8.0 compiler for ARMv7 """ conf.mkspec_clang_android_configure(8, 0, prefix="arm-linux-androideabi") conf.env["DEST_CPU"] = "arm" # Note: libc++_shared.so is not available on the target platform, so # we force the linker to select the static version of libstdc++ (which is # actually libc++ in NDK r17+) conf.env["LINKFLAGS"] += ["-static-libstdc++"]
def cxx_android_clang70_armv7(conf): """ Detect and setup the Android clang 7.0 compiler for ARMv7 """ conf.mkspec_clang_android_configure(7, 0, prefix='arm-linux-androideabi') conf.env['DEST_CPU'] = 'arm' # Note: libc++_shared.so is not available on the target platform, so # we force the linker to select the static version of libstdc++ (which is # actually libc++ in NDK r17+) conf.env['LINKFLAGS'] += ['-static-libstdc++']
def cxx_android_clang70_armv7(conf): """ Detect and setup the Android clang 7.0 compiler for ARMv7 """ conf.mkspec_clang_android_configure(7, 0, prefix='arm-linux-androideabi') conf.env['DEST_CPU'] = 'arm' # Note: libc++_shared.so is not available on the target platform, so # we force the linker to select the static version of libstdc++ (which is # actually libc++ in NDK r17+) conf.env['LINKFLAGS'] += ['-static-libstdc++']
def cxx_android5_clang50_x86(conf): """ Detects and setup the Android 5.0+ clang 5.0 compiler for x86 """ conf.mkspec_clang_android_configure(5, 0, prefix='i686-linux-android') # Only position independent executables (PIE) are supported on Android 5 # and above. The oldest version that can run a PIE binary is Android 4.1, # so the binary will segfault on all older platforms. # The -fPIC flag is automatically enabled for Android, so we only have to # add the -pie flag. This is only necessary when building programs. conf.env['LINKFLAGS_cprogram'] = ['-pie'] conf.env['LINKFLAGS_cxxprogram'] = ['-pie']
def cxx_android5_clang50_x86(conf): """ Detects and setup the Android 5.0+ clang 5.0 compiler for x86 """ conf.mkspec_clang_android_configure(5, 0, prefix="i686-linux-android") # Only position independent executables (PIE) are supported on Android 5 # and above. The oldest version that can run a PIE binary is Android 4.1, # so the binary will segfault on all older platforms. # The -fPIC flag is automatically enabled for Android, so we only have to # add the -pie flag. This is only necessary when building programs. conf.env["LINKFLAGS_cprogram"] = ["-pie"] conf.env["LINKFLAGS_cxxprogram"] = ["-pie"]
def cxx_android5_clang50_x64(conf): """ Detects and setup the Android 5.0+ clang 5.0 compiler for x64 """ # Note: The x86_64 platform was introduced in Android 5 (API Level 21). # Therefore the standalone toolchain must be created with the # --api=21 option (or above). conf.mkspec_clang_android_configure(5, 0, prefix='x86_64-linux-android') # Only position independent executables (PIE) are supported on Android 5 # and above. The oldest version that can run a PIE binary is Android 4.1, # so the binary will segfault on all older platforms. # The -fPIC flag is automatically enabled for Android, so we only have to # add the -pie flag. This is only necessary when building programs. conf.env['LINKFLAGS_cprogram'] = ['-pie'] conf.env['LINKFLAGS_cxxprogram'] = ['-pie']
def cxx_android5_clang50_x64(conf): """ Detects and setup the Android 5.0+ clang 5.0 compiler for x64 """ # Note: The x86_64 platform was introduced in Android 5 (API Level 21). # Therefore the standalone toolchain must be created with the # --api=21 option (or above). conf.mkspec_clang_android_configure(5, 0, prefix="x86_64-linux-android") # Only position independent executables (PIE) are supported on Android 5 # and above. The oldest version that can run a PIE binary is Android 4.1, # so the binary will segfault on all older platforms. # The -fPIC flag is automatically enabled for Android, so we only have to # add the -pie flag. This is only necessary when building programs. conf.env["LINKFLAGS_cprogram"] = ["-pie"] conf.env["LINKFLAGS_cxxprogram"] = ["-pie"]
def cxx_android5_clang70_x86(conf): """ Detects and setup the Android 5.0+ clang 7.0 compiler for x86 """ conf.mkspec_clang_android_configure(7, 0, prefix='i686-linux-android') # Only position independent executables (PIE) are supported on Android 5 # and above. The oldest version that can run a PIE binary is Android 4.1, # so the binary will segfault on all older platforms. # The -fPIC flag is automatically enabled for Android, so we only have to # add the -pie flag. This is only necessary when building programs. conf.env['LINKFLAGS_cprogram'] = ['-pie'] conf.env['LINKFLAGS_cxxprogram'] = ['-pie'] # Note: libc++_shared.so is not available on the target platform, so # we force the linker to select the static version of libstdc++ (which is # actually libc++ in NDK r17+) conf.env['LINKFLAGS'] += ['-static-libstdc++']
def cxx_android5_clang70_x86(conf): """ Detects and setup the Android 5.0+ clang 7.0 compiler for x86 """ conf.mkspec_clang_android_configure(7, 0, prefix="i686-linux-android") # Only position independent executables (PIE) are supported on Android 5 # and above. The oldest version that can run a PIE binary is Android 4.1, # so the binary will segfault on all older platforms. # The -fPIC flag is automatically enabled for Android, so we only have to # add the -pie flag. This is only necessary when building programs. conf.env["LINKFLAGS_cprogram"] = ["-pie"] conf.env["LINKFLAGS_cxxprogram"] = ["-pie"] # Note: libc++_shared.so is not available on the target platform, so # we force the linker to select the static version of libstdc++ (which is # actually libc++ in NDK r17+) conf.env["LINKFLAGS"] += ["-static-libstdc++"]
def cxx_android5_clang38_arm64(conf): """ Detects and setup the Android 5.0+ clang 3.8 compiler for ARM64 """ # Note: The arm64 platform was introduced in Android 5 (API Level 21). # Therefore the standalone toolchain must be created with the # --api=21 option (or above). conf.mkspec_clang_android_configure(3, 8, prefix='aarch64-linux-android') conf.env['DEST_CPU'] = 'arm64' # Only position independent executables (PIE) are supported on Android 5. # The -fPIC flag is automatically enabled for Android, so we only have to # add the -pie flag. This is only necessary when building programs. conf.env['LINKFLAGS_cprogram'] = ['-pie'] conf.env['LINKFLAGS_cxxprogram'] = ['-pie'] # Default "bfd" linker for the arm64 toolchain has an issue with linking # shared libraries: https://github.com/android-ndk/ndk/issues/148 # Force the use of the "gold" linker until it becomes the default conf.env['LINKFLAGS'] += ['-fuse-ld=gold']
def cxx_android5_clang50_arm64(conf): """ Detects and setup the Android 5.0+ clang 5.0 compiler for ARM64 """ # Note: The arm64 platform was introduced in Android 5 (API Level 21). # Therefore the standalone toolchain must be created with the # --api=21 option (or above). conf.mkspec_clang_android_configure(5, 0, prefix="aarch64-linux-android") conf.env["DEST_CPU"] = "arm64" # Only position independent executables (PIE) are supported on Android 5. # The -fPIC flag is automatically enabled for Android, so we only have to # add the -pie flag. This is only necessary when building programs. conf.env["LINKFLAGS_cprogram"] = ["-pie"] conf.env["LINKFLAGS_cxxprogram"] = ["-pie"] # Default "bfd" linker for the arm64 toolchain has an issue with linking # shared libraries: https://github.com/android-ndk/ndk/issues/148 # Force the use of the "gold" linker until it becomes the default conf.env["LINKFLAGS"] += ["-fuse-ld=gold"]
def cxx_android5_clang70_x64(conf): """ Detects and setup the Android 5.0+ clang 7.0 compiler for x64 """ # Note: The x86_64 platform was introduced in Android 5 (API Level 21). # Therefore the standalone toolchain must be created with the # --api=21 option (or above). conf.mkspec_clang_android_configure(7, 0, prefix='x86_64-linux-android') # Only position independent executables (PIE) are supported on Android 5 # and above. The oldest version that can run a PIE binary is Android 4.1, # so the binary will segfault on all older platforms. # The -fPIC flag is automatically enabled for Android, so we only have to # add the -pie flag. This is only necessary when building programs. conf.env['LINKFLAGS_cprogram'] = ['-pie'] conf.env['LINKFLAGS_cxxprogram'] = ['-pie'] # Note: libc++_shared.so is not available on the target platform, so # we force the linker to select the static version of libstdc++ (which is # actually libc++ in NDK r17+) conf.env['LINKFLAGS'] += ['-static-libstdc++']
def cxx_android5_clang70_arm64(conf): """ Detects and setup the Android 5.0+ clang 7.0 compiler for ARM64 """ # Note: The arm64 platform was introduced in Android 5 (API Level 21). # Therefore the standalone toolchain must be created with the # --api=21 option (or above). conf.mkspec_clang_android_configure(7, 0, prefix='aarch64-linux-android') conf.env['DEST_CPU'] = 'arm64' # Only position independent executables (PIE) are supported on Android 5. # The -fPIC flag is automatically enabled for Android, so we only have to # add the -pie flag. This is only necessary when building programs. conf.env['LINKFLAGS_cprogram'] = ['-pie'] conf.env['LINKFLAGS_cxxprogram'] = ['-pie'] # Default "bfd" linker for the arm64 toolchain has an issue with linking # shared libraries: https://github.com/android-ndk/ndk/issues/148 # Force the use of the "gold" linker until it becomes the default conf.env['LINKFLAGS'] += ['-fuse-ld=gold'] # Note: libc++_shared.so is not available on the target platform, so # we force the linker to select the static version of libstdc++ (which is # actually libc++ in NDK r17+) conf.env['LINKFLAGS'] += ['-static-libstdc++']
def cxx_android_clang50_armv7(conf): """ Detect and setup the Android clang 5.0 compiler for ARMv7 """ conf.mkspec_clang_android_configure(5, 0, prefix='arm-linux-androideabi') conf.env['DEST_CPU'] = 'arm'
def cxx_android_clang38_armv7(conf): """ Detect and setup the Android clang 3.8 compiler for ARMv7 """ conf.mkspec_clang_android_configure(3, 8, prefix="arm-linux-androideabi") conf.env["DEST_CPU"] = "arm"
def cxx_android_clang50_armv7(conf): """ Detect and setup the Android clang 5.0 compiler for ARMv7 """ conf.mkspec_clang_android_configure(5, 0, prefix='arm-linux-androideabi') conf.env['DEST_CPU'] = 'arm'