aboutsummaryrefslogtreecommitdiff
path: root/bootstrap
diff options
context:
space:
mode:
authorEvgeny Grin <k2k@narod.ru>2023-05-15 13:37:41 +0300
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2023-06-01 09:08:43 +0300
commit50e28fbb90706a255d006fcc1988546078d64dac (patch)
treea7281745ffec77daab81180657018bec015acd6b /bootstrap
parent31ce530d6b9757f5489aa943d53553dc8a045f20 (diff)
downloadlibmicrohttpd-50e28fbb90706a255d006fcc1988546078d64dac.tar.gz
libmicrohttpd-50e28fbb90706a255d006fcc1988546078d64dac.zip
bootstrap script: improved portability
Diffstat (limited to 'bootstrap')
-rwxr-xr-xbootstrap64
1 files changed, 44 insertions, 20 deletions
diff --git a/bootstrap b/bootstrap
index 6f9e6c26..8e1212f4 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,40 +1,64 @@
1#!/bin/sh 1#!/bin/sh
2unset bs_srcdir
3if test X"`dirname / 2>/dev/null`" = X"/"; then
4 bs_scrdir=`dirname $0`
5else
6 bs_scrdir="${0%/*}"
7fi
8
9test -n "$bs_scrdir" && cd "$bs_scrdir" || echo "Warning: cannot get sources directory" 1>&2
10 2
11# This is more portable than `which' but comes with 3# This is more portable than `which' but comes with
12# the caveat of not(?) properly working on busybox's ash: 4# the caveat of not(?) properly working on busybox's ash:
13existence() 5have_command()
14{ 6{
15 command -v "$1" >/dev/null 2>&1 7 command -v "$1" >/dev/null 2>&1
16} 8}
17 9
10unset bs_srcdir
11if test X"`dirname / 2>/dev/null`" = X"/"; then
12 bs_scrdir=`dirname $0`
13else
14 case $0 in
15 */*) bs_scrdir=`echo $0 | ${SED-sed} -n -e 's|/.*$||p'` ;;
16 *) bs_scrdir='.' ;;
17 esac
18fi
19
20test -n "$bs_scrdir" && cd "$bs_scrdir" || echo "Warning: cannot detect sources directory" 1>&2
21
22if test ! -f './configure.ac'; then
23 echo "Error: no 'configure.ac' found. Wrong sources directory?" 1>&2
24 exit 2
25fi
26if test ! -f './src/include/microhttpd.h'; then
27 echo "Error: src/include/libmicrohttpd.h not found. Wrong sources directory?" 1>&2
28 exit 2
29fi
18 30
19if existence uncrustify; then 31if have_command uncrustify; then
20 echo "Installing uncrustify hook and configuration" 32 if test -f uncrustify.cfg; then
21 # Install uncrustify format symlink (if possible) 33 echo "Uncrustify configuration already exists, skipping installation from the upstream file."
22 ln -s contrib/uncrustify.cfg uncrustify.cfg 2> /dev/null 34 else
23 # Install pre-commit hook (if possible) 35 echo "Installing configuration"
24 ln -s ../../contrib/uncrustify_precommit .git/hooks/pre-commit 2> /dev/null 36 ln -s contrib/uncrustify.cfg uncrustify.cfg
37 fi
38 if test -d '.git'; then
39 if test -f .git/hooks/pre-commit; then
40 echo "Pre-commit git hook already exists, skipping installation from the upstream file."
41 else
42 echo "Installing uncrustify pre-commit git hook"
43 ln -s ../../contrib/uncrustify_precommit .git/hooks/pre-commit
44 fi
45 else
46 echo "No '.git' directory found, skipping installation of pre-commit git hook."
47 fi
25else 48else
26 echo "Uncrustify not detected, hook not installed. Please install uncrustify if you plan on doing development" 49 echo "Uncrustify not detected, hook not installed. Please install uncrustify if you plan on doing development."
27fi 50fi
28 51
29if existence libtool || existence libtoolize || existence glibtoolize || existence slibtool; then 52if have_command libtool || have_command libtoolize || have_command glibtoolize || have_command slibtool; then
30 echo "Running autotools..." 53 echo "Running autotools..."
31 aclocal -I m4 --install && \ 54 have_command libtoolize && \
55 aclocal -I m4 --install && \
32 libtoolize -c -i -v && \ 56 libtoolize -c -i -v && \
33 autoconf && \ 57 autoconf && \
34 autoheader && \ 58 autoheader && \
35 automake -a -c --gnu 59 automake -a -c --gnu
36 if test $? -ne 0 || ! test -x configure || ! test -f Makefile.in ; then 60 if test $? -ne 0 || ! test -x configure || ! test -f Makefile.in ; then
37 echo "Autotools failed, retrying with autoreconf..." 61 echo "Trying with autoreconf..."
38 if ! autoreconf -i ${1+"$@"} ; then 62 if ! autoreconf -i ${1+"$@"} ; then
39 echo "Failed to autoreconf, retrying with force install..." 63 echo "Failed to autoreconf, retrying with force install..."
40 if ! autoreconf -i -f ${1+"$@"} ; then 64 if ! autoreconf -i -f ${1+"$@"} ; then
@@ -45,6 +69,6 @@ if existence libtool || existence libtoolize || existence glibtoolize || existen
45 fi 69 fi
46 echo "The ${bs_scrdir-.}/configure is ready to run." 70 echo "The ${bs_scrdir-.}/configure is ready to run."
47else 71else
48 echo "*** No libtoolize (libtool) or libtool found, please install it ***" >&2; 72 echo "*** No libtoolize or libtool found, please install it ***" >&2;
49 exit 1 73 exit 1
50fi 74fi