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
 |