From cba792a1e941788cba7dc700a2ef59420e7f2522 Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Sun, 1 May 2016 13:35:31 +0200 Subject: [PATCH] Android build fixes. Reviewed-by: Rich Salz --- Configurations/10-main.conf | 16 +++++----------- Configurations/unix-Makefile.tmpl | 2 +- crypto/async/arch/async_posix.h | 2 +- 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index 9d3f3ffd4e..601dbe5e15 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -896,17 +896,14 @@ sub vms_info { # Special note about unconditional -fPIC and -pie. The underlying # reason is that Lollipop refuses to run non-PIE. But what about # older systems and NDKs? -fPIC was never problem, so the only - # concern if -pie. Older toolchains, e.g. r4, appear to handle it + # concern is -pie. Older toolchains, e.g. r4, appear to handle it # and binaries turn mostly functional. "Mostly" means that oldest # Androids, such as Froyo, fail to handle executable, but newer # systems are perfectly capable of executing binaries targeting # Froyo. Keep in mind that in the nutshell Android builds are # about JNI, i.e. shared libraries, not applications. - cflags => picker(default => "-mandroid -fPIC --sysroot=\$(CROSS_SYSROOT) -Wa,--noexecstack -Wall", - debug => "-O0 -g", - release => "-O3"), - lflags => "-pie", - shared_cflag => "", + cflags => add(picker(default => "-mandroid -fPIC --sysroot=\$(CROSS_SYSROOT) -Wa,--noexecstack")), + bin_cflags => "-pie", }, "android-x86" => { inherit_from => [ "android", asm("x86_asm") ], @@ -945,11 +942,8 @@ sub vms_info { "android64" => { inherit_from => [ "linux-generic64" ], - cflags => picker(default => "-mandroid -fPIC --sysroot=\$(CROSS_SYSROOT) -Wa,--noexecstack -Wall", - debug => "-O0 -g", - release => "-O3"), - lflags => "-pie", - shared_cflag => "", + cflags => add(picker(default => "-mandroid -fPIC --sysroot=\$(CROSS_SYSROOT) -Wa,--noexecstack")), + bin_cflags => "-pie", }, "android64-aarch64" => { inherit_from => [ "android64", asm("aarch64_asm") ], diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 164b533f22..974a978fb3 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -172,7 +172,7 @@ LIB_LDFLAGS={- $target{shared_ldflag}." ".$config{shared_ldflag} RCFLAGS={- $target{shared_rcflag} -} DSO_CFLAGS={- $target{shared_cflag} || "" -} DSO_LDFLAGS=$(LIB_LDFLAGS) -BIN_CFLAGS={- "" -} +BIN_CFLAGS={- $target{bin_cflags} -} PERL={- $config{perl} -} diff --git a/crypto/async/arch/async_posix.h b/crypto/async/arch/async_posix.h index de80f95f9d..1a611bab3c 100644 --- a/crypto/async/arch/async_posix.h +++ b/crypto/async/arch/async_posix.h @@ -53,7 +53,7 @@ #define OPENSSL_ASYNC_ARCH_ASYNC_POSIX_H #include -#if (defined(OPENSSL_SYS_UNIX) || defined(OPENSSL_SYS_CYGWIN)) && defined(OPENSSL_THREADS) && !defined(OPENSSL_NO_ASYNC) +#if (defined(OPENSSL_SYS_UNIX) || defined(OPENSSL_SYS_CYGWIN)) && defined(OPENSSL_THREADS) && !defined(OPENSSL_NO_ASYNC) && !defined(__ANDROID__) # include -- 2.34.1