98 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
#!/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}"
 | 
						|
CLANG_VERSION="$(exec ${T}/build/soong/scripts/get_clang_version.py)"
 | 
						|
export CC="${T}/prebuilts/clang/host/linux-x86/${CLANG_VERSION}/bin/clang"
 | 
						|
export LD="${T}/prebuilts/clang/host/linux-x86/${CLANG_VERSION}/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
 |