mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-09-25 04:09:31 +03:00
bootstrap script: improved portability
This commit is contained in:
+1
-1
@@ -4,4 +4,4 @@
|
|||||||
# It is recommended to use 'bootstrap' directly instead.
|
# It is recommended to use 'bootstrap' directly instead.
|
||||||
|
|
||||||
ag_srcdir="${0%/*}" && ag_srcdir="${ag_srcdir}${ag_srcdir:+/}"
|
ag_srcdir="${0%/*}" && ag_srcdir="${ag_srcdir}${ag_srcdir:+/}"
|
||||||
"${ag_srcdir}bootstrap" ${1+"$@"}
|
"${ag_srcdir}./bootstrap" ${1+"$@"}
|
||||||
|
|||||||
@@ -1,40 +1,64 @@
|
|||||||
#!/bin/sh
|
#!/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
|
# This is more portable than `which' but comes with
|
||||||
# the caveat of not(?) properly working on busybox's ash:
|
# the caveat of not(?) properly working on busybox's ash:
|
||||||
existence()
|
have_command()
|
||||||
{
|
{
|
||||||
command -v "$1" >/dev/null 2>&1
|
command -v "$1" >/dev/null 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unset bs_srcdir
|
||||||
if existence uncrustify; then
|
if test X"`dirname / 2>/dev/null`" = X"/"; then
|
||||||
echo "Installing uncrustify hook and configuration"
|
bs_scrdir=`dirname $0`
|
||||||
# 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
|
|
||||||
else
|
else
|
||||||
echo "Uncrustify not detected, hook not installed. Please install uncrustify if you plan on doing development"
|
case $0 in
|
||||||
|
*/*) bs_scrdir=`echo $0 | ${SED-sed} -n -e 's|/.*$||p'` ;;
|
||||||
|
*) bs_scrdir='.' ;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if existence libtool || existence libtoolize || existence glibtoolize || existence slibtool; then
|
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 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."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if have_command libtool || have_command libtoolize || have_command glibtoolize || have_command slibtool; then
|
||||||
echo "Running autotools..."
|
echo "Running autotools..."
|
||||||
aclocal -I m4 --install && \
|
have_command libtoolize && \
|
||||||
|
aclocal -I m4 --install && \
|
||||||
libtoolize -c -i -v && \
|
libtoolize -c -i -v && \
|
||||||
autoconf && \
|
autoconf && \
|
||||||
autoheader && \
|
autoheader && \
|
||||||
automake -a -c --gnu
|
automake -a -c --gnu
|
||||||
if test $? -ne 0 || ! test -x configure || ! test -f Makefile.in ; then
|
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
|
if ! autoreconf -i ${1+"$@"} ; then
|
||||||
echo "Failed to autoreconf, retrying with force install..."
|
echo "Failed to autoreconf, retrying with force install..."
|
||||||
if ! autoreconf -i -f ${1+"$@"} ; then
|
if ! autoreconf -i -f ${1+"$@"} ; then
|
||||||
@@ -45,6 +69,6 @@ if existence libtool || existence libtoolize || existence glibtoolize || existen
|
|||||||
fi
|
fi
|
||||||
echo "The ${bs_scrdir-.}/configure is ready to run."
|
echo "The ${bs_scrdir-.}/configure is ready to run."
|
||||||
else
|
else
|
||||||
echo "*** No libtoolize (libtool) or libtool found, please install it ***" >&2;
|
echo "*** No libtoolize or libtool found, please install it ***" >&2;
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user