| #!/bin/sh | |
| # This is more portable than `which' but comes with | |
| # the caveat of not(?) properly working on busybox's ash: | |
| 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 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..." | |
| 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 "Trying with autoreconf..." | |
| if ! autoreconf -i ${1+"$@"} ; then | |
| echo "Failed to autoreconf, retrying with force install..." | |
| if ! autoreconf -i -f ${1+"$@"} ; then | |
| echo "*** Failed to create 'configure' and other autotools generated files. ***" >&2 | |
| exit 1 | |
| fi | |
| fi | |
| fi | |
| echo "The ${bs_scrdir-.}/configure is ready to run." | |
| else | |
| echo "*** No libtoolize or libtool found, please install it ***" >&2; | |
| exit 1 | |
| fi |