[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libmicrohttpd] 01/36: bootstrap script: improved portability
From: |
gnunet |
Subject: |
[libmicrohttpd] 01/36: bootstrap script: improved portability |
Date: |
Thu, 01 Jun 2023 12:30:06 +0200 |
This is an automated email from the git hooks/post-receive script.
karlson2k pushed a commit to branch master
in repository libmicrohttpd.
commit 50e28fbb90706a255d006fcc1988546078d64dac
Author: Evgeny Grin <k2k@narod.ru>
AuthorDate: Mon May 15 13:37:41 2023 +0300
bootstrap script: improved portability
---
autogen.sh | 2 +-
bootstrap | 64 ++++++++++++++++++++++++++++++++++++++++++--------------------
2 files changed, 45 insertions(+), 21 deletions(-)
diff --git a/autogen.sh b/autogen.sh
index 93e30faf..dd9ec6e3 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -4,4 +4,4 @@
# It is recommended to use 'bootstrap' directly instead.
ag_srcdir="${0%/*}" && ag_srcdir="${ag_srcdir}${ag_srcdir:+/}"
-"${ag_srcdir}bootstrap" ${1+"$@"}
+"${ag_srcdir}./bootstrap" ${1+"$@"}
diff --git a/bootstrap b/bootstrap
index 6f9e6c26..8e1212f4 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,40 +1,64 @@
#!/bin/sh
-unset bs_srcdir
-if test X"`dirname / 2>/dev/null`" = X"/"; then
- bs_scrdir=`dirname $0`
-else
- bs_scrdir="${0%/*}"
-fi
-
-test -n "$bs_scrdir" && cd "$bs_scrdir" || echo "Warning: cannot get sources
directory" 1>&2
# This is more portable than `which' but comes with
# the caveat of not(?) properly working on busybox's ash:
-existence()
+have_command()
{
command -v "$1" >/dev/null 2>&1
}
+unset bs_srcdir
+if test X"`dirname / 2>/dev/null`" = X"/"; then
+ bs_scrdir=`dirname $0`
+else
+ case $0 in
+ */*) bs_scrdir=`echo $0 | ${SED-sed} -n -e 's|/.*$||p'` ;;
+ *) bs_scrdir='.' ;;
+ esac
+fi
+
+test -n "$bs_scrdir" && cd "$bs_scrdir" || echo "Warning: cannot detect
sources directory" 1>&2
+
+if test ! -f './configure.ac'; then
+ echo "Error: no 'configure.ac' found. Wrong sources directory?" 1>&2
+ exit 2
+fi
+if test ! -f './src/include/microhttpd.h'; then
+ echo "Error: src/include/libmicrohttpd.h not found. Wrong sources
directory?" 1>&2
+ exit 2
+fi
-if existence uncrustify; then
- echo "Installing uncrustify hook and configuration"
- # Install uncrustify format symlink (if possible)
- ln -s contrib/uncrustify.cfg uncrustify.cfg 2> /dev/null
- # Install pre-commit hook (if possible)
- ln -s ../../contrib/uncrustify_precommit .git/hooks/pre-commit 2> /dev/null
+if have_command uncrustify; then
+ if test -f uncrustify.cfg; then
+ echo "Uncrustify configuration already exists, skipping installation
from the upstream file."
+ else
+ echo "Installing configuration"
+ ln -s contrib/uncrustify.cfg uncrustify.cfg
+ fi
+ if test -d '.git'; then
+ if test -f .git/hooks/pre-commit; then
+ echo "Pre-commit git hook already exists, skipping installation from
the upstream file."
+ else
+ echo "Installing uncrustify pre-commit git hook"
+ ln -s ../../contrib/uncrustify_precommit .git/hooks/pre-commit
+ fi
+ else
+ echo "No '.git' directory found, skipping installation of pre-commit git
hook."
+ fi
else
- echo "Uncrustify not detected, hook not installed. Please install
uncrustify if you plan on doing development"
+ echo "Uncrustify not detected, hook not installed. Please install
uncrustify if you plan on doing development."
fi
-if existence libtool || existence libtoolize || existence glibtoolize ||
existence slibtool; then
+if have_command libtool || have_command libtoolize || have_command glibtoolize
|| have_command slibtool; then
echo "Running autotools..."
- aclocal -I m4 --install && \
+ have_command libtoolize && \
+ aclocal -I m4 --install && \
libtoolize -c -i -v && \
autoconf && \
autoheader && \
automake -a -c --gnu
if test $? -ne 0 || ! test -x configure || ! test -f Makefile.in ; then
- echo "Autotools failed, retrying with autoreconf..."
+ echo "Trying with autoreconf..."
if ! autoreconf -i ${1+"$@"} ; then
echo "Failed to autoreconf, retrying with force install..."
if ! autoreconf -i -f ${1+"$@"} ; then
@@ -45,6 +69,6 @@ if existence libtool || existence libtoolize || existence
glibtoolize || existen
fi
echo "The ${bs_scrdir-.}/configure is ready to run."
else
- echo "*** No libtoolize (libtool) or libtool found, please install it ***"
>&2;
+ echo "*** No libtoolize or libtool found, please install it ***" >&2;
exit 1
fi
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [libmicrohttpd] branch master updated (31ce530d -> 4ddb8015), gnunet, 2023/06/01
- [libmicrohttpd] 03/36: autoinit_funcs.h: fixed compiler warning, gnunet, 2023/06/01
- [libmicrohttpd] 01/36: bootstrap script: improved portability,
gnunet <=
- [libmicrohttpd] 04/36: tests: adopted to new libcurl API, gnunet, 2023/06/01
- [libmicrohttpd] 02/36: Added more mutes for autoconf compiler warnings, gnunet, 2023/06/01
- [libmicrohttpd] 05/36: configure: fixed compiler warnings, gnunet, 2023/06/01
- [libmicrohttpd] 10/36: test_client_put_stop: fixed test on Darwin, gnunet, 2023/06/01
- [libmicrohttpd] 08/36: test_quiesce: fixed possible uninitialised var, gnunet, 2023/06/01
- [libmicrohttpd] 09/36: test_postprocessor_md: fixed build in C89 mode, gnunet, 2023/06/01
- [libmicrohttpd] 12/36: test_client_put_stop: avoid stress-testing the OS, gnunet, 2023/06/01
- [libmicrohttpd] 24/36: websocket_threaded_example: fixed wrong commented-out code, gnunet, 2023/06/01
- [libmicrohttpd] 22/36: test_client_put_stop: muted compiler warnings, gnunet, 2023/06/01
- [libmicrohttpd] 14/36: Added specific headers inclusion and detection, gnunet, 2023/06/01