You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
2.1 KiB
97 lines
2.1 KiB
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
if [[ "${TARGET_PRODUCT}" != "aosp_arm" ]]; then
|
|
# Some of the include paths below assume that this is an arm 32bit configure
|
|
# run.
|
|
echo "Run 'lunch aosp_arm-eng' and build the current version first." >&2
|
|
exit 1
|
|
fi
|
|
|
|
cd $(dirname "$0")
|
|
|
|
HOST="arm-linux-androideabi"
|
|
T="${ANDROID_BUILD_TOP}"
|
|
export CC="${T}/prebuilts/clang/host/linux-x86/clang-r399163/bin/clang"
|
|
export LD="${T}/prebuilts/clang/host/linux-x86/clang-r399163/bin/lld"
|
|
|
|
CFLAGS=(
|
|
"-isystem ${T}/external/libcxx/include"
|
|
"-isystem ${T}/bionic/libc/include/"
|
|
"-isystem ${T}/bionic/libc/arch-arm/include"
|
|
"-isystem ${T}/bionic/libc/kernel/uapi/"
|
|
"-isystem ${T}/bionic/libc/kernel/android/uapi/"
|
|
"-isystem ${T}/bionic/libm/include"
|
|
"-fno-exceptions"
|
|
"-ffunction-sections"
|
|
"-fdata-sections"
|
|
"-fstack-protector"
|
|
"-fno-short-enums"
|
|
"-no-canonical-prefixes"
|
|
"-fmessage-length=0"
|
|
"-fomit-frame-pointer"
|
|
"-fPIC"
|
|
"-fno-strict-aliasing"
|
|
"-nostdlib"
|
|
)
|
|
CFLAGS="${CFLAGS[@]}"
|
|
|
|
CONFIGURE_ARGS=(
|
|
--host="${HOST}"
|
|
CFLAGS="${CFLAGS}"
|
|
LIBS="-lc"
|
|
CPPFLAGS="${CFLAGS} -I${T}/external/zlib/src"
|
|
LDFLAGS="-L${ANDROID_PRODUCT_OUT}/system/lib/"
|
|
|
|
# Disable NTLM delegation to winbind's ntlm_auth.
|
|
--disable-ntlm-wb
|
|
|
|
### Disable many protocols unused in Android systems:
|
|
--disable-telnet
|
|
--disable-tftp
|
|
--disable-smb
|
|
--disable-gopher
|
|
|
|
# Disable FTP and FTPS support.
|
|
--disable-ftp
|
|
|
|
# Disable LDAP and LDAPS support.
|
|
--disable-ldap
|
|
--disable-ldaps
|
|
|
|
# Disable mail protocols (IMAP, POP3).
|
|
--disable-pop3
|
|
--disable-imap
|
|
--disable-smtp
|
|
|
|
# Disable RTSP support (RFC 2326 / 7826).
|
|
--disable-rtsp
|
|
|
|
# Disable DICT support (RFC 2229).
|
|
--disable-dict
|
|
|
|
|
|
### Enable HTTP and FILE explicitly. These are enabled by default but
|
|
# listed here as documentation.
|
|
--enable-http
|
|
--enable-file
|
|
--enable-proxy
|
|
|
|
# Enabled IPv6.
|
|
--enable-ipv6
|
|
|
|
--with-ssl="${T}/external/boringssl"
|
|
--with-zlib
|
|
--with-ca-path="/system/etc/security/cacerts"
|
|
)
|
|
|
|
# Show the commands on the terminal.
|
|
set -x
|
|
|
|
./buildconf
|
|
./configure "${CONFIGURE_ARGS[@]}"
|
|
|
|
# Apply local changes to the default configure output.
|
|
patch -p1 --no-backup-if-mismatch < local-configure.patch
|