commit 3a56741

xplshn  ·  2026-06-17 04:50:06 +0000 UTC
parent 562c895
oops: use system bearssl

Signed-off-by: xplshn <anto@xplshn.com.ar>
3 files changed,  +45, -11
+23, -4
 1@@ -46,12 +46,31 @@ EOF
 2 unset _line _key _val _trimmed
 3 CPPFLAGS="-Ishared -DPREFIX=\"$PREFIX\" -D_DEFAULT_SOURCE -D_GNU_SOURCE -D_NETBSD_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_FILE_OFFSET_BITS=64$_feature_flags"
 4 if [ "$FEATURE_USE_BEARSSL" = "1" ]; then
 5-	CPPFLAGS="$CPPFLAGS -IexternalRepos/BearSSL/inc"
 6-	LDFLAGS="$LDFLAGS -LexternalRepos/BearSSL/build"
 7-	LDLIBS="$LDLIBS externalRepos/BearSSL/build/libbearssl.a"
 8+	if pkg-config --exists libbearssl 2>/dev/null; then
 9+		CPPFLAGS="$CPPFLAGS $(pkg-config --cflags libbearssl)"
10+		LDLIBS="$LDLIBS $(pkg-config --libs libbearssl)"
11+	elif pkg-config --exists bearssl 2>/dev/null; then
12+		CPPFLAGS="$CPPFLAGS $(pkg-config --cflags bearssl)"
13+		LDLIBS="$LDLIBS $(pkg-config --libs bearssl)"
14+	else
15+		LDLIBS="$LDLIBS -lbearssl"
16+	fi
17 fi
18 if [ "$FEATURE_USE_LIBRESSL" = "1" ]; then
19-	LDLIBS="$LDLIBS -ltls"
20+	if pkg-config --exists libtls 2>/dev/null; then
21+		CPPFLAGS="$CPPFLAGS $(pkg-config --cflags libtls)"
22+		LDLIBS="$LDLIBS $(pkg-config --libs libtls)"
23+	else
24+		LDLIBS="$LDLIBS -ltls"
25+	fi
26+fi
27+if [ "$FEATURE_USE_OPENSSL" = "1" ]; then
28+	if pkg-config --exists openssl 2>/dev/null; then
29+		CPPFLAGS="$CPPFLAGS $(pkg-config --cflags openssl)"
30+		LDLIBS="$LDLIBS $(pkg-config --libs openssl)"
31+	else
32+		LDLIBS="$LDLIBS -lssl -lcrypto"
33+	fi
34 fi
35 unset _feature_flags
36 
+15, -3
 1@@ -2,7 +2,7 @@
 2 PRESET_FEATURES=all
 3 
 4 # subset of: posix linux net xsi pseudo dev
 5-PRESET_UTILS="posix linux net xsi pseudo"
 6+PRESET_UTILS="posix linux net xsi pseudo dev"
 7 
 8 # installation paths
 9 VERSION=2026-06-08T05-53-UTC-03
10@@ -137,6 +137,18 @@ unset _p
11 # BUILD_POSIX_SH=0       # disable a tool when its group is active
12 # BUILD_DEV_AS=1         # enable a tool whose group isnt in PRESET_UTILS
13 FEATURE_SH_HISTEDIT=1
14+# tls backend: set all three to 0 to disable tls, or set exactly one to 1 to
15+# override auto-detection; auto-detection tries bearssl first, then libtls,
16+# then openssl
17+FEATURE_USE_BEARSSL=0
18 FEATURE_USE_LIBRESSL=0
19-FEATURE_USE_BEARSSL=1
20-# FEATURE_MY_NEW_THING=1 # new FEATURE_* are picked up by Makefile.sh automatically
21+FEATURE_USE_OPENSSL=0
22+if [ "$FEATURE_USE_BEARSSL" = 0 ] && [ "$FEATURE_USE_LIBRESSL" = 0 ] && [ "$FEATURE_USE_OPENSSL" = 0 ]; then
23+    if pkg-config --exists libbearssl 2>/dev/null || pkg-config --exists bearssl 2>/dev/null; then
24+        FEATURE_USE_BEARSSL=1
25+    elif pkg-config --exists libtls 2>/dev/null; then
26+        FEATURE_USE_LIBRESSL=1
27+    elif pkg-config --exists openssl 2>/dev/null; then
28+        FEATURE_USE_OPENSSL=1
29+    fi
30+fi
+7, -4
 1@@ -232,6 +232,7 @@ FEATURE_DEPMOD_ALIAS   = 1
 2 FEATURE_DEPMOD_SYMBOLS = 1
 3 FEATURE_USE_LIBRESSL = 0
 4 FEATURE_USE_BEARSSL = 1
 5+FEATURE_USE_OPENSSL = 0
 6 FEATURE_TAR_TTY_SAFE = 1
 7 FEATURE_TAR_NOFOLLOW = 1
 8 FEATURE_READLINK_REALPATH = 1
 9@@ -296,6 +297,7 @@ CPPFLAGS =\
10 	-DFEATURE_DEPMOD_SYMBOLS=$(FEATURE_DEPMOD_SYMBOLS)\
11 	-DFEATURE_USE_LIBRESSL=$(FEATURE_USE_LIBRESSL)\
12 	-DFEATURE_USE_BEARSSL=$(FEATURE_USE_BEARSSL)\
13+	-DFEATURE_USE_OPENSSL=$(FEATURE_USE_OPENSSL)\
14 	-DFEATURE_TAR_TTY_SAFE=$(FEATURE_TAR_TTY_SAFE)\
15 	-DFEATURE_TAR_NOFOLLOW=$(FEATURE_TAR_NOFOLLOW)\
16 	-DFEATURE_READLINK_REALPATH=$(FEATURE_READLINK_REALPATH)\
17@@ -315,10 +317,11 @@ LDFLAGS  = $(LDFLAGS_TLS)
18 LDLIBS_HISTEDIT_0 =
19 LDLIBS_HISTEDIT_1 =
20 LDLIBS_TLS_LIBRESSL_1 = -ltls
21-LDLIBS_TLS_BEARSSL_1  = externalRepos/BearSSL/build/libbearssl.a
22-LDLIBS_TLS = $(LDLIBS_TLS_LIBRESSL_$(FEATURE_USE_LIBRESSL)) $(LDLIBS_TLS_BEARSSL_$(FEATURE_USE_BEARSSL))
23-CPPFLAGS_TLS_BEARSSL_1 = -IexternalRepos/BearSSL/inc
24-LDFLAGS_TLS_BEARSSL_1  = -LexternalRepos/BearSSL/build
25+LDLIBS_TLS_BEARSSL_1  = -lbearssl
26+LDLIBS_TLS_OPENSSL_1  = -lssl -lcrypto
27+LDLIBS_TLS = $(LDLIBS_TLS_LIBRESSL_$(FEATURE_USE_LIBRESSL)) $(LDLIBS_TLS_BEARSSL_$(FEATURE_USE_BEARSSL)) $(LDLIBS_TLS_OPENSSL_$(FEATURE_USE_OPENSSL))
28+CPPFLAGS_TLS_BEARSSL_1 =
29+LDFLAGS_TLS_BEARSSL_1  =
30 CPPFLAGS_TLS = $(CPPFLAGS_TLS_BEARSSL_$(FEATURE_USE_BEARSSL))
31 LDFLAGS_TLS  = $(LDFLAGS_TLS_BEARSSL_$(FEATURE_USE_BEARSSL))
32 LDLIBS   = -lcrypt -lresolv $(LDLIBS_HISTEDIT_$(FEATURE_SH_HISTEDIT)) $(LDLIBS_TLS)