#!/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

T="${ANDROID_BUILD_TOP}"
cd $(dirname "$0")

# Build all the dependencies we'll need, so we can find them under
# /system/lib in the out directory.
source ${T}/build/envsetup.sh
mm

HOST="arm-linux-androideabi"
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=(
  # We don't have an NDK sysroot prebuilt in AOSP, so we'll have use
  # soong's.
  "--sysroot ${T}/out/soong/ndk/sysroot/"
  # We also need zlib. (We don't have to do anything for boringssl here,
  # because we provide that path directly on the configure command line.)
  "-I${T}/external/zlib/"
  # We don't have target-specific clang binaries like the NDK, so provide
  # a target. The "34" here is arbitrary.
  "--target=armv7a-linux-androideabi34"
)
CFLAGS="${CFLAGS[@]}"

LDFLAGS=(
  # We need the device zlib and openssl/boringssl libraries, so tell ld
  # where they are.
  "-L${ANDROID_PRODUCT_OUT}/system/lib/"
)
LDFLAGS="${LDFLAGS[@]}"

CONFIGURE_ARGS=(
  --host="${HOST}"
  CFLAGS="${CFLAGS}"
  CPPFLAGS="${CFLAGS}"
  LDFLAGS="${LDFLAGS}"

  # 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
