Skip to content
This repository has been archived by the owner on Feb 24, 2023. It is now read-only.

Commit

Permalink
pybuild: Consistent usage of integrated-as flags as ndk-build
Browse files Browse the repository at this point in the history
An exception: due to android/ndk#286,
OpenSSL on MIPS still uses -fno-integrated-as
  • Loading branch information
Yen Chi Hsuan committed May 18, 2017
1 parent a352d8d commit d7fb302
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
6 changes: 3 additions & 3 deletions mk/openssl/ndk-clang-targets.patch
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ index 000000000..ce11a5ae3
+ },
+ "android-x86-clang" => {
+ inherit_from => [ "android-clang", "android-x86-base" ],
+ cflags => add(picker(default => "-target i686-none-linux-android -I\$(CROSS_SYSROOT)/include/i686-linux-android -fno-integrated-as")),
+ cflags => add(picker(default => "-target i686-none-linux-android -I\$(CROSS_SYSROOT)/include/i686-linux-android")),
+ },
+ "android-armeabi-clang" => {
+ inherit_from => [ "android-clang", "android-armeabi-base" ],
Expand All @@ -266,14 +266,14 @@ index 000000000..ce11a5ae3
+ },
+ "android64-aarch64-clang" => {
+ inherit_from => [ "android64-clang", "android64-aarch64-base" ],
+ cflags => add(picker(default => "-target aarch64-none-linux-android -I\$(CROSS_SYSROOT)/include/aarch64-linux-android -fno-integrated-as")),
+ cflags => add(picker(default => "-target aarch64-none-linux-android -I\$(CROSS_SYSROOT)/include/aarch64-linux-android")),
+ },
+ "android64-x86_64-clang" => {
+ inherit_from => [ "android64-clang", "android64-x86_64-base" ],
+ cflags => add(picker(default => "-target x86_64-none-linux-android -I\$(CROSS_SYSROOT)/include/x86_64-linux-android")),
+ },
+ "android64-mips64-clang" => {
+ inherit_from => [ "android64-clang", "android64-mips64-base" ],
+ cflags => add(picker(default => "-target mips64el-none-linux-android -I\$(CROSS_SYSROOT)/include/mips64el-linux-android")),
+ cflags => add(picker(default => "-target mips64el-none-linux-android -I\$(CROSS_SYSROOT)/include/mips64el-linux-android -fintegrated-as")),
+ },
+);
9 changes: 7 additions & 2 deletions pybuild/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from typing import Iterator, List

from . import env
from .arch import arm, x86, mips, arm64
from .arch import arm, mips64
from .patch import Patch, RemotePatch
from .source import Source, URLSource
from .util import BASE, target_arch
Expand Down Expand Up @@ -62,8 +62,13 @@ def init_build_env(self):
UNIFIED_SYSROOT = ANDROID_NDK / 'sysroot' / 'usr'

cflags = ['-fPIC']
if isinstance(target_arch(), (arm, x86, mips, arm64)):

# ndk-build and android.toolchain.cmake defaults. Note that on mips64
# clang defaults to -fno-integrated-as
if isinstance(target_arch(), (arm,)):
cflags += ['-fno-integrated-as']
if isinstance(target_arch(), (mips64,)):
cflags += ['-fintegrated-as']

self.env.update({
'ANDROID_API_LEVEL': env.android_api_level,
Expand Down

0 comments on commit d7fb302

Please sign in to comment.