-
Notifications
You must be signed in to change notification settings - Fork 142
Expand file tree
/
Copy pathcurl.mk
More file actions
77 lines (66 loc) · 3.2 KB
/
curl.mk
File metadata and controls
77 lines (66 loc) · 3.2 KB
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
ifneq ($(PROCURSUS),1)
$(error Use the main Makefile)
endif
SUBPROJECTS += curl
CURL_VERSION := 8.7.1
DEB_CURL_V ?= $(CURL_VERSION)
curl-setup: setup
$(call DOWNLOAD_FILES,$(BUILD_SOURCE),https://curl.haxx.se/download/curl-$(CURL_VERSION).tar.xz{$(comma).asc})
$(call PGP_VERIFY,curl-$(CURL_VERSION).tar.xz,asc)
$(call EXTRACT_TAR,curl-$(CURL_VERSION).tar.xz,curl-$(CURL_VERSION),curl)
sed -i '/CURL_VERIFY_RUNTIMELIBS/d' $(BUILD_WORK)/curl/configure.ac
ifneq ($(wildcard $(BUILD_WORK)/curl/.build_complete),)
curl:
@echo "Using previously built curl."
else
curl: curl-setup gettext openssl libc-ares libssh2 nghttp2 libidn2 brotli zstd rtmpdump
cd $(BUILD_WORK)/curl && autoreconf -vi
cd $(BUILD_WORK)/curl && ./configure -C \
$(DEFAULT_CONFIGURE_FLAGS) \
--with-openssl \
--with-nghttp2 \
--with-libssh2 \
--with-libidn2 \
--with-brotli \
--with-zstd \
--with-librtmp \
--enable-ares \
--without-nghttp3 \
--without-ngtcp2 \
--with-ca-bundle=$(MEMO_PREFIX)/etc/ssl/certs/cacert.pem
# Enable HTTP/3 when OpenSSL gains QUIC support
+$(MAKE) -C $(BUILD_WORK)/curl
+$(MAKE) -C $(BUILD_WORK)/curl install \
DESTDIR="$(BUILD_STAGE)/curl"
$(call AFTER_BUILD,copy)
endif
curl-package: curl-stage
# curl.mk Package Structure
rm -rf $(BUILD_DIST)/curl \
$(BUILD_DIST)/libcurl4{,-openssl-dev}
mkdir -p $(BUILD_DIST)/curl/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/{bin,share/man/man1} \
$(BUILD_DIST)/libcurl4-openssl-dev/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/{bin,lib,share/man/man1} \
$(BUILD_DIST)/libcurl4/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib
# curl.mk Prep curl
cp -a $(BUILD_STAGE)/curl/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/bin/curl $(BUILD_DIST)/curl/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/bin
cp -a $(BUILD_STAGE)/curl/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/share/man/man1/curl.1$(MEMO_MANPAGE_SUFFIX) $(BUILD_DIST)/curl/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/share/man/man1
# curl.mk Prep libcurl4
cp -a $(BUILD_STAGE)/curl/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib/libcurl.4.dylib $(BUILD_DIST)/libcurl4/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib
# curl.mk Prep libcurl4-openssl-dev
cp -a $(BUILD_STAGE)/curl/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib/{pkgconfig,libcurl.{dylib,a}} $(BUILD_DIST)/libcurl4-openssl-dev/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib
cp -a $(BUILD_STAGE)/curl/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/share/man/man1/curl-config.1$(MEMO_MANPAGE_SUFFIX) $(BUILD_DIST)/libcurl4-openssl-dev/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/share/man/man1
cp -a $(BUILD_STAGE)/curl/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/share/man/man3 $(BUILD_DIST)/libcurl4-openssl-dev/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/share/man
cp -a $(BUILD_STAGE)/curl/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/bin/curl-config $(BUILD_DIST)/libcurl4-openssl-dev/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/bin
cp -a $(BUILD_STAGE)/curl/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include $(BUILD_DIST)/libcurl4-openssl-dev/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)
# curl.mk Sign
$(call SIGN,curl,general.xml)
$(call SIGN,libcurl4,general.xml)
$(call SIGN,libcurl4-openssl-dev,general.xml)
# curl.mk Make .debs
$(call PACK,curl,DEB_CURL_V)
$(call PACK,libcurl4,DEB_CURL_V)
$(call PACK,libcurl4-openssl-dev,DEB_CURL_V)
# curl.mk Build cleanup
rm -rf $(BUILD_DIST)/curl \
$(BUILD_DIST)/libcurl4{,-openssl-dev}
.PHONY: curl curl-package