Android build fixes.

Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
Andy Polyakov 2016-05-01 13:35:31 +02:00
parent b1a07c3854
commit cba792a1e9
3 changed files with 7 additions and 13 deletions

View file

@ -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") ],

View file

@ -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} -}

View file

@ -53,7 +53,7 @@
#define OPENSSL_ASYNC_ARCH_ASYNC_POSIX_H
#include <openssl/e_os2.h>
#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 <unistd.h>