This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
codeblocks-20.03/bootstrap

75 lines
2.3 KiB
Bash

#!/bin/sh
# Check for proper versions of autotools
# We require:
# - autoconf 2.50+
# - automake 1.7+, 1.9+ for make dist
# - libtool 1.4+
# Touch revision.m4
if [ -f ./update_revision.sh ]; then
./update_revision.sh;
elif [ ! -f ./revision.m4 ]; then
echo "m4_define([SVN_REV], 0)" > ./revision.m4;
echo "m4_define([SVN_REVISION], trunk-r0)" >> ./revision.m4;
echo "m4_define([SVN_DATE], )" >> ./revision.m4;
fi
# create m4 directory or we break older systems like RedHat/CentOS 5
mkdir -p m4
# Deal with some gentoo-specific issues
WANT_AUTOMAKE='1.11 1.9 1.8 1.7' #latest of these is chosen or default if none hits
export WANT_AUTOMAKE
WANT_AUTOCONF='2.5'
export WANT_AUTOCONF
# Default program names
test -z "$AUTOCONF" && AUTOCONF=autoconf
test -z "$AUTOHEADER" && AUTOHEADER=autoheader
test -z "$AUTOMAKE" && AUTOMAKE=automake
test -z "$ACLOCAL" && ACLOCAL=aclocal
test -z "$LIBTOOL" && for LIBTOOL in glibtool libtool; do
($LIBTOOL --version) < /dev/null > /dev/null 2>&1 && break
done
test -z "$LIBTOOLIZE" && for LIBTOOLIZE in glibtoolize libtoolize; do
($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 && break
done
## Using prereq in autoconf rather than here, mostly for the debian systems at
## this point
if test -n "`$AUTOCONF --version 2>&1|head -n 1|egrep '1\.[0-9]+|2\.[0-4]+'`"; then
echo "Autoconf 2.50 or above is required. Aborting build...";
exit 1;
fi
if test -n "`$AUTOMAKE --version 2>&1|head -n 1|egrep '\<1\.[0-6](\.[0-9]+)?\>'`"; then
echo "Automake 1.7 or above is required. Aborting build...";
exit 1;
fi
if test -n "`$AUTOMAKE --version 2>&1|head -n 1|egrep '\<1\.7(\.[0-9]+)?|\<1\.8(\.[0-9]+)?'`"; then
echo "make dist only supported with automake 1.9 or above" >&2;
fi
if test -n "`$LIBTOOL --version 2>&1|head -n 1|cut -f 4 -d ' '|egrep '1\.[0-3](\.[0-9]+)?$'`"; then
echo "Libtool 1.4 or above is required. Aborting build...";
exit 1;
fi
# clean up files which cause confusion when switch versions of auto*
rm -rf autom4te.cache
# Make the build more robust if a Makefile.am is removed from the file system, but it is not removed
# from the configure.ac file.
find . | grep -v wxSmithSTC/stc| grep Makefile.in$ | xargs rm -v
# Fire up autotools
$LIBTOOLIZE --force --copy && \
$ACLOCAL $ACLOCAL_FLAGS && \
$AUTOHEADER && \
$AUTOMAKE --include-deps --add-missing --foreign --copy && \
$AUTOCONF