xref: /aosp_15_r20/external/curl/post_update.sh (revision 6236dae45794135f37c4eb022389c904c8b0090d)
1*6236dae4SAndroid Build Coastguard Worker#!/bin/bash
2*6236dae4SAndroid Build Coastguard Worker
3*6236dae4SAndroid Build Coastguard Workerset -e
4*6236dae4SAndroid Build Coastguard Worker
5*6236dae4SAndroid Build Coastguard Workerif [[ "${TARGET_PRODUCT}" != "aosp_arm" ]]; then
6*6236dae4SAndroid Build Coastguard Worker  # Some of the include paths below assume that this is an arm 32bit configure
7*6236dae4SAndroid Build Coastguard Worker  # run.
8*6236dae4SAndroid Build Coastguard Worker  echo "Run 'lunch aosp_arm-trunk_staging-eng'." >&2
9*6236dae4SAndroid Build Coastguard Worker  exit 1
10*6236dae4SAndroid Build Coastguard Workerfi
11*6236dae4SAndroid Build Coastguard Worker
12*6236dae4SAndroid Build Coastguard Workerm ndk
13*6236dae4SAndroid Build Coastguard Worker
14*6236dae4SAndroid Build Coastguard WorkerT="${ANDROID_BUILD_TOP}"
15*6236dae4SAndroid Build Coastguard Workercd $(dirname "$0")
16*6236dae4SAndroid Build Coastguard Worker
17*6236dae4SAndroid Build Coastguard Worker# Build all the dependencies we'll need, so we can find them under
18*6236dae4SAndroid Build Coastguard Worker# /system/lib in the out directory.
19*6236dae4SAndroid Build Coastguard Workermm
20*6236dae4SAndroid Build Coastguard Worker
21*6236dae4SAndroid Build Coastguard WorkerHOST="arm-linux-androideabi"
22*6236dae4SAndroid Build Coastguard WorkerCLANG_VERSION="$(exec ${T}/build/soong/scripts/get_clang_version.py)"
23*6236dae4SAndroid Build Coastguard Workerexport CC="${T}/prebuilts/clang/host/linux-x86/${CLANG_VERSION}/bin/clang"
24*6236dae4SAndroid Build Coastguard Workerexport LD="${T}/prebuilts/clang/host/linux-x86/${CLANG_VERSION}/bin/lld"
25*6236dae4SAndroid Build Coastguard Worker
26*6236dae4SAndroid Build Coastguard WorkerCFLAGS=(
27*6236dae4SAndroid Build Coastguard Worker  # We don't have an NDK sysroot prebuilt in AOSP, so we'll have use
28*6236dae4SAndroid Build Coastguard Worker  # soong's.
29*6236dae4SAndroid Build Coastguard Worker  "--sysroot ${T}/out/soong/ndk/sysroot/"
30*6236dae4SAndroid Build Coastguard Worker  # We also need zlib. (We don't have to do anything for boringssl here,
31*6236dae4SAndroid Build Coastguard Worker  # because we provide that path directly on the configure command line.)
32*6236dae4SAndroid Build Coastguard Worker  "-I${T}/external/zlib/"
33*6236dae4SAndroid Build Coastguard Worker  # We don't have target-specific clang binaries like the NDK, so provide
34*6236dae4SAndroid Build Coastguard Worker  # a target. The "34" here is arbitrary.
35*6236dae4SAndroid Build Coastguard Worker  "--target=armv7a-linux-androideabi34"
36*6236dae4SAndroid Build Coastguard Worker)
37*6236dae4SAndroid Build Coastguard WorkerCFLAGS="${CFLAGS[@]}"
38*6236dae4SAndroid Build Coastguard Worker
39*6236dae4SAndroid Build Coastguard WorkerLDFLAGS=(
40*6236dae4SAndroid Build Coastguard Worker  # We need the device zlib and openssl/boringssl libraries, so tell ld
41*6236dae4SAndroid Build Coastguard Worker  # where they are.
42*6236dae4SAndroid Build Coastguard Worker  "-L${ANDROID_PRODUCT_OUT}/system/lib/"
43*6236dae4SAndroid Build Coastguard Worker)
44*6236dae4SAndroid Build Coastguard WorkerLDFLAGS="${LDFLAGS[@]}"
45*6236dae4SAndroid Build Coastguard Worker
46*6236dae4SAndroid Build Coastguard WorkerCONFIGURE_ARGS=(
47*6236dae4SAndroid Build Coastguard Worker  --host="${HOST}"
48*6236dae4SAndroid Build Coastguard Worker  CFLAGS="${CFLAGS}"
49*6236dae4SAndroid Build Coastguard Worker  CPPFLAGS="${CFLAGS}"
50*6236dae4SAndroid Build Coastguard Worker  LDFLAGS="${LDFLAGS}"
51*6236dae4SAndroid Build Coastguard Worker
52*6236dae4SAndroid Build Coastguard Worker  # Disable NTLM delegation to winbind's ntlm_auth.
53*6236dae4SAndroid Build Coastguard Worker  --disable-ntlm-wb
54*6236dae4SAndroid Build Coastguard Worker
55*6236dae4SAndroid Build Coastguard Worker  ### Disable many protocols unused in Android systems:
56*6236dae4SAndroid Build Coastguard Worker  --disable-telnet
57*6236dae4SAndroid Build Coastguard Worker  --disable-tftp
58*6236dae4SAndroid Build Coastguard Worker  --disable-smb
59*6236dae4SAndroid Build Coastguard Worker  --disable-gopher
60*6236dae4SAndroid Build Coastguard Worker
61*6236dae4SAndroid Build Coastguard Worker  # Disable FTP and FTPS support.
62*6236dae4SAndroid Build Coastguard Worker  --disable-ftp
63*6236dae4SAndroid Build Coastguard Worker
64*6236dae4SAndroid Build Coastguard Worker  # Disable LDAP and LDAPS support.
65*6236dae4SAndroid Build Coastguard Worker  --disable-ldap
66*6236dae4SAndroid Build Coastguard Worker  --disable-ldaps
67*6236dae4SAndroid Build Coastguard Worker
68*6236dae4SAndroid Build Coastguard Worker  # Disable mail protocols (IMAP, POP3).
69*6236dae4SAndroid Build Coastguard Worker  --disable-pop3
70*6236dae4SAndroid Build Coastguard Worker  --disable-imap
71*6236dae4SAndroid Build Coastguard Worker  --disable-smtp
72*6236dae4SAndroid Build Coastguard Worker
73*6236dae4SAndroid Build Coastguard Worker  # Disable RTSP support (RFC 2326 / 7826).
74*6236dae4SAndroid Build Coastguard Worker  --disable-rtsp
75*6236dae4SAndroid Build Coastguard Worker
76*6236dae4SAndroid Build Coastguard Worker  # Disable DICT support (RFC 2229).
77*6236dae4SAndroid Build Coastguard Worker  --disable-dict
78*6236dae4SAndroid Build Coastguard Worker
79*6236dae4SAndroid Build Coastguard Worker  ### Enable HTTP and FILE explicitly. These are enabled by default but
80*6236dae4SAndroid Build Coastguard Worker  # listed here as documentation.
81*6236dae4SAndroid Build Coastguard Worker  --enable-http
82*6236dae4SAndroid Build Coastguard Worker  --enable-file
83*6236dae4SAndroid Build Coastguard Worker  --enable-proxy
84*6236dae4SAndroid Build Coastguard Worker
85*6236dae4SAndroid Build Coastguard Worker  # Enabled IPv6.
86*6236dae4SAndroid Build Coastguard Worker  --enable-ipv6
87*6236dae4SAndroid Build Coastguard Worker
88*6236dae4SAndroid Build Coastguard Worker  --with-ssl="${T}/external/boringssl"
89*6236dae4SAndroid Build Coastguard Worker  --with-zlib
90*6236dae4SAndroid Build Coastguard Worker  --with-ca-path="/system/etc/security/cacerts"
91*6236dae4SAndroid Build Coastguard Worker
92*6236dae4SAndroid Build Coastguard Worker  --without-libpsl
93*6236dae4SAndroid Build Coastguard Worker
94*6236dae4SAndroid Build Coastguard Worker  #While bionic has this, the host libcs don't.
95*6236dae4SAndroid Build Coastguard Worker  ac_cv_header_netinet_in6_h=no
96*6236dae4SAndroid Build Coastguard Worker
97*6236dae4SAndroid Build Coastguard Worker  ac_cv_func_SSL_set_quic_use_legacy_codepoint=no
98*6236dae4SAndroid Build Coastguard Worker)
99*6236dae4SAndroid Build Coastguard Worker
100*6236dae4SAndroid Build Coastguard Worker# Show the commands on the terminal.
101*6236dae4SAndroid Build Coastguard Workerset -x
102*6236dae4SAndroid Build Coastguard Worker
103*6236dae4SAndroid Build Coastguard Worker./buildconf
104*6236dae4SAndroid Build Coastguard Worker./configure "${CONFIGURE_ARGS[@]}"
105*6236dae4SAndroid Build Coastguard Worker
106*6236dae4SAndroid Build Coastguard Worker# Apply local changes to the default configure output.
107*6236dae4SAndroid Build Coastguard Workerpatch -p1 --no-backup-if-mismatch < local-configure.patch
108