forked from nxtedition/node-libcurl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild-nghttp2.sh
executable file
·51 lines (40 loc) · 1.19 KB
/
build-nghttp2.sh
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
#!/bin/bash
# <release> <dest_folder>
set -euo pipefail
build_folder=$2/build/$1
curr_dirname=$(dirname "$0")
mkdir -p $build_folder
mkdir -p $2/source
FORCE_REBUILD=${FORCE_REBUILD:-}
RECONFIGURE_NGHTTP2=${RECONFIGURE_NGHTTP2:-}
# @TODO We are explicitly checking the static lib
if [[ -f $build_folder/lib/libnghttp2.a ]] && [[ -z $FORCE_REBUILD || $FORCE_REBUILD != "true" ]]; then
echo "Skipping rebuild of nghttp2 because lib file already exists"
exit 0
fi
if [ ! -d $2/source/$1 ]; then
$curr_dirname/download-and-unpack.sh https://github.com/nghttp2/nghttp2/releases/download/v$1/nghttp2-$1.tar.gz $2
mv $2/nghttp2-$1 $2/source/$1
cd $2/source/$1
if [ -n "$RECONFIGURE_NGHTTP2" ]; then
autoreconf -i -I /usr/share/aclocal/
automake
autoconf
fi
else
cd $2/source/$1
make distclean || true;
fi
CFLAGS=${CFLAGS:-}
export CFLAGS="$CFLAGS -fPIC"
if [ -n "$OPENSSL_BUILD_FOLDER" ]; then
export OPENSSL_CFLAGS="-I$OPENSSL_BUILD_FOLDER/include"
export OPENSSL_LIBS="-I$OPENSSL_BUILD_FOLDER/lib -lssl -lcrypto -ldl -lpthread"
fi
# Release - Static
./configure \
--prefix=$build_folder \
--enable-lib-only \
--without-libxml2 \
--disable-shared
make && make install