-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathbuild_gnutls_deps
More file actions
executable file
·75 lines (64 loc) · 3.17 KB
/
Copy pathbuild_gnutls_deps
File metadata and controls
executable file
·75 lines (64 loc) · 3.17 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
#!/bin/bash
NETTLE=nettle-3.10.2.tar.xz
GNUTLS=gnutls-3.7.11.tar.xz
set -e
source build_dep.common
NETTLE_CONFOPTS="--enable-mini-gmp --with-pic --disable-shared --enable-static \
--disable-assembler"
NETTLE_PRODUCT_LIN="lib64/pkgconfig/nettle.pc"
NETTLE_PRODUCT="lib/pkgconfig/nettle.pc"
GNUTLS_CONFOPTS="--enable-static --disable-shared --with-included-libtasn1 \
--with-pic --with-included-unistring --without-p11-kit --disable-doc \
--disable-tools --disable-cxx --disable-tests --without-idn \
--with-nettle-mini --disable-hardware-acceleration --without-zlib \
--without-brotli --without-zstd --without-tpm --without-tpm2 \
--enable-dyn-ncrypt"
GNUTLS_PRODUCT="lib/pkgconfig/gnutls.pc"
case $(uname) in
Linux)
STATIC_LIB_OPTS="-static-libgcc\\ -static-libstdc++"
if [ -f "nettle-linux-64/$NETTLE_PRODUCT" ]; then
NETTLE_PRODUCT_LIN="$NETTLE_PRODUCT"
fi
LDFLAGS="$STATIC_LIB_OPTS" \
build_dep "linux-64" "$NETTLE_CONFOPTS" \
"$NETTLE" "nettle" "$NETTLE_PRODUCT_LIN"
LDFLAGS="$STATIC_LIB_OPTS" \
build_dep "win-64" "$NETTLE_CONFOPTS --host=x86_64-w64-mingw32" \
"$NETTLE" "nettle" "$NETTLE_PRODUCT"
NETTLE_PKG_CONFIG_PATH="nettle-linux-64/lib64/pkgconfig:nettle-linux-64/lib/pkgconfig"
HOGWEED_CFLAGS="$(PKG_CONFIG_PATH=$NETTLE_PKG_CONFIG_PATH pkg-config --cflags hogweed)" \
HOGWEED_LIBS="$(PKG_CONFIG_PATH=$NETTLE_PKG_CONFIG_PATH pkg-config --libs hogweed)" \
NETTLE_CFLAGS="$(PKG_CONFIG_PATH=$NETTLE_PKG_CONFIG_PATH pkg-config --cflags nettle)" \
NETTLE_LIBS="$(PKG_CONFIG_PATH=$NETTLE_PKG_CONFIG_PATH pkg-config --libs nettle)" \
build_dep "linux-64" "$GNUTLS_CONFOPTS" "$GNUTLS" "gnutls" \
"$GNUTLS_PRODUCT"
NETTLE_PKG_CONFIG_PATH="nettle-win-64/lib/pkgconfig"
HOGWEED_CFLAGS="$(PKG_CONFIG_PATH=$NETTLE_PKG_CONFIG_PATH pkg-config --cflags hogweed)" \
HOGWEED_LIBS="$(PKG_CONFIG_PATH=$NETTLE_PKG_CONFIG_PATH pkg-config --libs hogweed)" \
NETTLE_CFLAGS="$(PKG_CONFIG_PATH=$NETTLE_PKG_CONFIG_PATH pkg-config --cflags nettle)" \
NETTLE_LIBS="$(PKG_CONFIG_PATH=$NETTLE_PKG_CONFIG_PATH pkg-config --libs nettle)" \
build_dep "win-64" "$GNUTLS_CONFOPTS --host=x86_64-w64-mingw32" \
"$GNUTLS" "gnutls" "$GNUTLS_PRODUCT"
# GnuTLS on MinGW builds screwed with its own internal inet_ntop and
# inet_pton built. We don't want that, as any application calling into
# the Winsock inet_ntop or inet_pton will clash. Disable the flag and
# rebuild.
if ! fgrep 'HAVE_DECL_INET_NTOP 1' gnutls-win-64/config.h > /dev/null;
then
( cd gnutls-win-64 && patch -p1 < ../gnutls-inet.patch && \
make -j8 && make install )
fi
;;
Darwin)
build_dep "mac-64" "$NETTLE_CONFOPTS" "$NETTLE" "nettle" \
"$NETTLE_PRODUCT"
NETTLE_PKG_CONFIG_PATH="nettle-mac-64/lib/pkgconfig"
HOGWEED_CFLAGS="$(PKG_CONFIG_PATH=$NETTLE_PKG_CONFIG_PATH pkg-config --cflags hogweed)" \
HOGWEED_LIBS="$(PKG_CONFIG_PATH=$NETTLE_PKG_CONFIG_PATH pkg-config --libs hogweed)" \
NETTLE_CFLAGS="$(PKG_CONFIG_PATH=$NETTLE_PKG_CONFIG_PATH pkg-config --cflags nettle)" \
NETTLE_LIBS="$(PKG_CONFIG_PATH=$NETTLE_PKG_CONFIG_PATH pkg-config --libs nettle)" \
build_dep "mac-64" "$GNUTLS_CONFOPTS" \
"$GNUTLS" "gnutls" "$GNUTLS_PRODUCT" "gnutls-mac-compile.patch"
;;
esac