Modernise autogen.sh

Based on: https://wiki.gnome.org/Projects/GnomeCommon/Migration#autogen.sh
This commit is contained in:
Kleis Auke Wolthuizen 2020-07-06 13:23:59 +02:00
parent 402f8918b7
commit cd948d86f6
2 changed files with 33 additions and 55 deletions

2
.gitignore vendored
View File

@ -52,6 +52,8 @@ libtool
libvips/include/vips/version.h libvips/include/vips/version.h
fred fred
ltmain.sh ltmain.sh
m4/glib-gettext.m4
m4/pkg.m4
m4/gtk-doc.m4 m4/gtk-doc.m4
m4/intltool.m4 m4/intltool.m4
m4/libtool.m4 m4/libtool.m4

View File

@ -1,66 +1,42 @@
#!/bin/sh #!/bin/sh
# Based on: https://wiki.gnome.org/Projects/GnomeCommon/Migration#autogen.sh
# Run this to generate all the initial makefiles, etc.
test -n "$srcdir" || srcdir=$(dirname "$0")
test -n "$srcdir" || srcdir=.
# set -x olddir=$(pwd)
# a bunch of cleaning up ... make certain everything will be regenerated cd $srcdir
rm -f Makefile Makefile.in aclocal.m4
rm -rf autom4te.cache
# remove m4/ macros put there by libtool etc. (test -f configure.ac) || {
rm -f m4/libtool.m4 echo "*** ERROR: Directory '$srcdir' does not look like the top-level project directory ***"
rm -f m4/lt~obsolete.m4 exit 1
rm -f m4/ltoptions.m4 }
rm -f m4/ltsugar.m4
rm -f m4/ltversion.m4
rm -f m4/gtk-doc.m4
rm -f config.* configure depcomp # shellcheck disable=SC2016
rm -f install-sh intltool-* libtool ltmain.sh missing mkinstalldirs PKG_NAME=$(autoconf --trace 'AC_INIT:$1' configure.ac)
rm -f stamp-*
rm -f benchmark/temp*
find doc -depth \( \
-path doc/libvips-docs.xml.in \
-o -path doc/Makefile.am \
-o -path 'doc/images/*' \
-o -name '*.xml' ! -name libvips-docs.xml ! -path 'doc/xml/*' \
-o -name '*.py' \
-o -name '*.md' \
-o -name '*.docbook' \
\) -prune -or \( \
-type f \
-o -type d -empty \
\) -delete
ACDIR=`aclocal --print-ac-dir` if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then
# OS X with brew has a dirlist in ACDIR that points to several directories echo "*** WARNING: I am going to run 'configure' with no arguments." >&2
# dirlist supports wildcards, but that would require eval ... which is evil echo "*** If you wish to pass any to it, please specify them on the" >&2
if [ -e $ACDIR/dirlist ]; then echo "*** '$0' command line." >&2
ACDIR=`cat $ACDIR/dirlist` echo "" >&2
fi fi
aclocal -I m4 --install || exit 1
glib-gettextize --force --copy > /dev/null || exit 1
gtkdocize --copy --docdir doc --flavour no-tmpl || exit 1 gtkdocize --copy --docdir doc --flavour no-tmpl || exit 1
autoreconf --verbose --force --install -Wno-portability || exit 1
# some systems need libtoolize, some glibtoolize ... how annoying cd "$olddir"
printf "testing for glibtoolize ... " if [ "$NOCONFIGURE" = "" ]; then
if glibtoolize --version >/dev/null 2>&1; then $srcdir/configure "$@" || exit 1
LIBTOOLIZE=glibtoolize
echo using glibtoolize if [ "$1" = "--help" ]; then
else exit 0
LIBTOOLIZE=libtoolize else
echo using libtoolize echo "Now type 'make' to compile $PKG_NAME" || exit 1
fi fi
else
test -r aclocal.m4 || touch aclocal.m4 echo "Skipping configure process."
# gettextize produces quite a bit of benign and misleading text output, hide
# it ... hopefully any errors will go to stderr and not be hidden
glib-gettextize --force --copy > /dev/null
test -r aclocal.m4 && chmod u+w aclocal.m4
aclocal -I m4
autoconf
autoheader
$LIBTOOLIZE --copy --force --automake
automake --add-missing --copy
if test -z "$NOCONFIGURE"; then
./configure $*
fi fi