summaryrefslogtreecommitdiff
path: root/sub/dev/Makefile.curl
blob: 34e3a904da13f685093161c16e7c6b36b3b9cdba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
CURL_VERSION ?= 7.87.0
CURL_STATIC := $(if $(filter true,$(TARGET_STATIC)),-all-static,)

CURL_CONF_ARGS := \
    --disable-silent-rules \
    --disable-debug \
    --enable-optimize \
    --enable-warnings \
    --disable-werror \
    --disable-curldebug \
    --enable-symbol-hiding \
    --disable-ares \
    --disable-ech \
    --enable-http \
    --enable-ftp \
    --enable-file \
    --disable-ldap \
    --disable-ldaps \
    --disable-rtsp \
    --enable-proxy \
    --disable-dict \
    --enable-telnet \
    --enable-tftp \
    --disable-pop3 \
    --disable-imap \
    --disable-smb \
    --disable-smtp \
    --disable-gopher \
    --disable-mqtt \
    --disable-manual \
    --enable-libcurl-option \
    --enable-ipv6 \
    --disable-openssl-auto-load-config \
    --disable-versioned-symbols \
    --enable-threaded-resolver \
    --enable-pthreads \
    --enable-verbose \
    --disable-sspi \
    --enable-crypto-auth \
    --disable-ntlm-wb \
    --disable-tls-srp \
    --enable-unix-sockets \
    --enable-cookies \
    --enable-socketpair \
    --enable-http-auth \
    --disable-doh \
    --disable-mime \
    --enable-dateparse \
    --disable-netrc \
    --enable-progress-meter \
    --disable-dnsshuffle \
    --enable-get-easy-options \
    --disable-alt-svc \
    --enable-hsts \
    --with-zlib=$(OUTPUT)/rootfs/opt/zlib \
    --without-brotli \
    --without-zstd \
    --with-default-ssl-backend=bearssl \
    --without-winssl \
    --without-schannel \
    --without-darwinssl \
    --without-secure-transport \
    --without-amissl \
    --without-ssl \
    --without-gnutls \
    --without-mbedtls \
    --without-wolfssl \
    --without-mesalink \
    --with-bearssl=$(OUTPUT)/rootfs/opt/bearssl \
    --without-nss \
    --without-libmetalink \
    --without-ca-bundle \
    --without-ca-path \
    --without-ca-fallback \
    --without-wolfssh \
    --without-libssh2 \
    --without-libssh \
    --without-librtmp \
    --without-winidn \
    --without-libidn2 \
    --without-nghttp2 \
    --without-ngtcp2 \
    --without-nghttp3 \
    --without-quiche \
    --without-hyper \
    --without-zsh-functions-dir \
    --without-fish-functions-dir

CURL_MAKE_ARGS := LDFLAGS="-L$(OUTPUT)/rootfs/opt/bearssl/lib -L$(OUTPUT)/rootfs/opt/zlib/lib $(CURL_STATIC)"

clean-curl:
	rm -f $(OUTPUT)/build-$(TRIPLE)/.lh_curl_*
	

$(OUTPUT)/sources/curl-$(CURL_VERSION).tar.xz: | $(OUTPUT)/tmp/.lh_prepared $(OUTPUT)/build-build/.lh_skarnet_installed
	exec setuidgid $(NORMALUSER) cd $(OUTPUT)/sources wget https://curl.se/download/curl-$(CURL_VERSION).tar.xz

$(OUTPUT)/build-$(TRIPLE)/.lh_curl_dled: $(OUTPUT)/sources/curl-$(CURL_VERSION).tar.xz | $(OUTPUT)/build-build/.lh_skarnet_installed
	exec setuidgid $(NORMALUSER) s6-touch $@

$(OUTPUT)/build-$(TRIPLE)/.lh_curl_copied: $(OUTPUT)/build-$(TRIPLE)/.lh_curl_dled | $(OUTPUT)/build-build/.lh_skarnet_installed
	exec setuidgid $(NORMALUSER) s6-rmrf $(OUTPUT)/build-$(TRIPLE)/curl-$(CURL_VERSION)
	exec setuidgid $(NORMALUSER) cd $(OUTPUT)/build-$(TRIPLE) tar -Jxpvf $(OUTPUT)/sources/curl-$(CURL_VERSION).tar.xz
	exec setuidgid $(NORMALUSER) s6-touch $@

$(OUTPUT)/build-$(TRIPLE)/.lh_curl_configured: $(OUTPUT)/build-$(TRIPLE)/.lh_curl_copied $(OUTPUT)/build-$(TRIPLE)/.lh_bearssl_installed $(OUTPUT)/build-$(TRIPLE)/.lh_zlib_installed | $(OUTPUT)/build-build/.lh_skarnet_installed
	exec setuidgid $(NORMALUSER) cd $(OUTPUT)/build-$(TRIPLE)/curl-$(CURL_VERSION) export CC "$(TARGET_CC)" ./configure --build=$(BUILD_QUADRUPLE) --host=$(TRIPLE) --prefix=/opt/curl-$(CURL_VERSION) $(CURL_CONF_ARGS)
	exec setuidgid $(NORMALUSER) s6-touch $@

$(OUTPUT)/build-$(TRIPLE)/.lh_curl_built: $(OUTPUT)/build-$(TRIPLE)/.lh_curl_configured | $(OUTPUT)/build-build/.lh_skarnet_installed
	+exec setuidgid $(NORMALUSER) cd $(OUTPUT)/build-$(TRIPLE)/curl-$(CURL_VERSION) $(MAKE) $(CURL_MAKE_ARGS)
	exec setuidgid $(NORMALUSER) s6-touch $@
	
$(OUTPUT)/build-$(TRIPLE)/.lh_curl_installed: $(OUTPUT)/build-$(TRIPLE)/.lh_curl_built | $(OUTPUT)/tmp/.lh_prepared $(OUTPUT)/build-build/.lh_skarnet_installed $(OUTPUT)/tmp/.lh_layout_installed
	+exec cd $(OUTPUT)/build-$(TRIPLE)/curl-$(CURL_VERSION) $(MAKE) install DESTDIR=$(OUTPUT)/rootfs
	exec makenamelink $(OUTPUT)/rootfs/opt curl curl-$(CURL_VERSION) $(OUTPUT)/tmp
	exec makelinks $(OUTPUT)/rootfs /bin /opt/curl/bin
	exec setuidgid $(NORMALUSER) s6-touch $@