[flac-dev] [PATCH 2/5] autogen.sh: replace this by a simple call to autoreconf

Max Horn max at quendi.de
Wed Dec 12 12:33:52 PST 2012


The autoreconf tool is provided by autoconf to do what custom
autogen.sh scripts in many projects used to do. Only it is more
robust and widely tested. It has been available for several years,
too. No reason to rely on custom code for this.

Signed-off-by: Max Horn <max at quendi.de>
---
 Makefile.am                                |   2 -
 autogen.sh                                 | 168 +----------------------------
 configure.ac                               |   2 +-
 doc/Makefile.am                            |   2 -
 doc/html/Makefile.am                       |   2 -
 doc/html/images/Makefile.am                |   2 -
 doc/html/images/hw/Makefile.am             |   2 -
 doc/html/ru/Makefile.am                    |   2 -
 include/share/Makefile.am                  |   2 -
 include/share/grabbag/Makefile.am          |   2 -
 include/test_libs_common/Makefile.am       |   2 -
 src/libFLAC/Makefile.am                    |   3 +
 src/plugin_common/Makefile.am              |   2 -
 src/share/getopt/Makefile.am               |   2 -
 src/share/grabbag/Makefile.am              |   2 -
 src/share/replaygain_analysis/Makefile.am  |   2 -
 src/share/replaygain_synthesis/Makefile.am |   2 -
 src/share/utf8/Makefile.am                 |   2 -
 18 files changed, 8 insertions(+), 195 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 0a65206..45a0260 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -28,8 +28,6 @@
 # distclean: remove everything except what goes in the distribution
 #
 
-AUTOMAKE_OPTIONS = foreign 1.7
-
 ACLOCAL_AMFLAGS = -I m4
 
 SUBDIRS = doc include m4 man src examples test build obj
diff --git a/autogen.sh b/autogen.sh
index 3290f2e..2aa4c30 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,166 +1,6 @@
 #!/bin/sh
 # Run this to set up the build system: configure, makefiles, etc.
-# (based on the version in enlightenment's cvs)
-
-# Some notes:
-#
-# You may need to specify -I /SOME_PATH/share/aclocal in ACLOCAL_FLAGS
-# if any packages FLAC relies on (autotools, libogg, libiconv) are
-# installed in non-standard places.
-#
-# If you don't have XMMS installed at all, you should comment out
-# AM_PATH_XMMS in configure.in.
-#
-# FLAC uses iconv but not gettext.  iconv requires config.rpath which
-# is supplied by gettext, which is copied in by gettextize.  But we
-# can't run gettextize since we do not fulfill all it's requirements
-# (because we don't use it).  So you may have to:
-#
-#   cp /usr/share/gettext/config.rpath .
-#
-# before running autogen.sh
-#
-# If you are running on OS X and get errors related to the AM_ICONV
-# and/or AM_LANGINFO_CODESET macros, replace those 2 lines in
-# configure.in with
-#
-#   AC_DEFINE([HAVE_ICONV], [], [Whether we have libiconv available]) LIBICONV="-liconv"
-#   AC_SUBST(LIBICONV)
-#
-# See also http://lists.xiph.org/pipermail/flac-dev/2007-September/002384.html
-#
-# Also watchout, if you replace ltmain.sh, there is a bug in some
-# versions of libtool (or maybe autoconf) on some platforms where the
-# configure-generated libtool does not have $SED defined.  See also:
-#
-#   http://lists.gnu.org/archive/html/libtool/2003-11/msg00131.html
-
-package="flac"
-
-olddir=`pwd`
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-cd "$srcdir"
-DIE=0
-
-ACLOCAL_FLAGS="-I m4 $ACLOCAL_FLAGS"
-
-echo "checking for autoconf... "
-(autoconf --version) < /dev/null > /dev/null 2>&1 || {
-        echo
-        echo "You must have autoconf installed to compile $package."
-        echo "Download the appropriate package for your distribution,"
-        echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
-        DIE=1
-}
-
-VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/"
-VERSIONMKMAJ="sed -e s/\([0-9][0-9]*\)[^0-9].*/\\1/"
-VERSIONMKMIN="sed -e s/.*[0-9][0-9]*\.//"
-
-# do we need automake?
-if test -r Makefile.am; then
-  AM_OPTIONS=`fgrep AUTOMAKE_OPTIONS Makefile.am`
-  AM_NEEDED=`echo $AM_OPTIONS | $VERSIONGREP`
-  if test x"$AM_NEEDED" = "x$AM_OPTIONS"; then
-    AM_NEEDED=""
-  fi
-  if test -z $AM_NEEDED; then
-    echo -n "checking for automake... "
-    AUTOMAKE=automake
-    ACLOCAL=aclocal
-    if ($AUTOMAKE --version < /dev/null > /dev/null 2>&1); then
-      echo "yes"
-    else
-      echo "no"
-      AUTOMAKE=
-    fi
-  else
-    echo -n "checking for automake $AM_NEEDED or later... "
-    majneeded=`echo $AM_NEEDED | $VERSIONMKMAJ`
-    minneeded=`echo $AM_NEEDED | $VERSIONMKMIN`
-    for am in automake-$AM_NEEDED automake$AM_NEEDED \
-	automake automake-1.7 automake-1.8 automake-1.9 automake-1.10; do
-      ($am --version < /dev/null > /dev/null 2>&1) || continue
-      ver=`$am --version < /dev/null | head -n 1 | $VERSIONGREP`
-      maj=`echo $ver | $VERSIONMKMAJ`
-      min=`echo $ver | $VERSIONMKMIN`
-      if test $maj -eq $majneeded -a $min -ge $minneeded; then
-        AUTOMAKE=$am
-        echo $AUTOMAKE
-        break
-      fi
-    done
-    test -z $AUTOMAKE &&  echo "no"
-    echo -n "checking for aclocal $AM_NEEDED or later... "
-    for ac in aclocal-$AM_NEEDED aclocal$AM_NEEDED \
-	aclocal aclocal-1.7 aclocal-1.8 aclocal-1.9 aclocal-1.10; do
-      ($ac --version < /dev/null > /dev/null 2>&1) || continue
-      ver=`$ac --version < /dev/null | head -n 1 | $VERSIONGREP`
-      maj=`echo $ver | $VERSIONMKMAJ`
-      min=`echo $ver | $VERSIONMKMIN`
-      if test $maj -eq $majneeded -a $min -ge $minneeded; then
-        ACLOCAL=$ac
-        echo $ACLOCAL
-        break
-      fi
-    done
-    test -z $ACLOCAL && echo "no"
-  fi
-  test -z $AUTOMAKE || test -z $ACLOCAL && {
-        echo
-        echo "You must have automake installed to compile $package."
-        echo "Download the appropriate package for your distribution,"
-        echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
-        exit 1
-  }
-fi
-
-echo -n "checking for libtool... "
-for LIBTOOLIZE in libtoolize glibtoolize nope; do
-  ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 && break
-done
-if test x$LIBTOOLIZE = xnope; then
-  echo "nope."
-  LIBTOOLIZE=libtoolize
-else
-  echo $LIBTOOLIZE
-fi
-($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 || {
-	echo
-	echo "You must have libtool installed to compile $package."
-	echo "Download the appropriate package for your system,"
-	echo "or get the source from one of the GNU ftp sites"
-	echo "listed in http://www.gnu.org/order/ftp.html"
-	DIE=1
-}
-
-if test "$DIE" -eq 1; then
-        exit 1
-fi
-
-if test -z "$*"; then
-        echo "I am going to run ./configure with no arguments - if you wish "
-        echo "to pass any to it, please specify them on the $0 command line."
-fi
-
-if test ! -f config.rpath ; then
-	touch config.rpath
-fi
-
-echo "Generating configuration files for $package, please wait...."
-
-echo "  $ACLOCAL $ACLOCAL_FLAGS"
-$ACLOCAL $ACLOCAL_FLAGS || exit 1
-echo "  $LIBTOOLIZE --automake"
-$LIBTOOLIZE --automake || exit 1
-echo "  autoheader"
-autoheader || exit 1
-echo "  $AUTOMAKE --add-missing $AUTOMAKE_FLAGS"
-$AUTOMAKE --add-missing $AUTOMAKE_FLAGS || exit 1
-echo "  autoconf"
-autoconf || exit 1
-
-cd $olddir
-$srcdir/configure "$@" && echo
+# We trust that the user has a recent enough autoconf & automake setup
+# (not older than a few years...)
+autoreconf -i
+#$srcdir/configure "$@" && echo
diff --git a/configure.ac b/configure.ac
index f206b32..1c936b3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ AC_PREREQ(2.60)
 AC_INIT([flac], [1.2.1])
 AC_CONFIG_SRCDIR([src/flac/main.c])
 AC_CONFIG_MACRO_DIR([m4])
-AM_INIT_AUTOMAKE([foreign -Wall tar-pax no-dist-gzip dist-xz subdir-objects])
+AM_INIT_AUTOMAKE([foreign 1.7 -Wall tar-pax no-dist-gzip dist-xz subdir-objects])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
 user_cflags=$CFLAGS
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 801bfd6..70fb4a1 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -15,8 +15,6 @@
 #  with this program; if not, write to the Free Software Foundation, Inc.,
 #  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-AUTOMAKE_OPTIONS = foreign
-
 SUBDIRS = . html
 
 if FLaC__HAS_DOXYGEN
diff --git a/doc/html/Makefile.am b/doc/html/Makefile.am
index a0e89ce..1b2b336 100644
--- a/doc/html/Makefile.am
+++ b/doc/html/Makefile.am
@@ -15,8 +15,6 @@
 #  restrictive of those mentioned above.  See the file COPYING.Xiph in this
 #  distribution.
 
-AUTOMAKE_OPTIONS = foreign
-
 SUBDIRS = ru images
 
 docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html
diff --git a/doc/html/images/Makefile.am b/doc/html/images/Makefile.am
index c793bda..a0cdb44 100644
--- a/doc/html/images/Makefile.am
+++ b/doc/html/images/Makefile.am
@@ -15,8 +15,6 @@
 #  restrictive of those mentioned above.  See the file COPYING.Xiph in this
 #  distribution.
 
-AUTOMAKE_OPTIONS = foreign
-
 SUBDIRS = hw
 
 docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html/images
diff --git a/doc/html/images/hw/Makefile.am b/doc/html/images/hw/Makefile.am
index ae320d0..d3f12c0 100644
--- a/doc/html/images/hw/Makefile.am
+++ b/doc/html/images/hw/Makefile.am
@@ -15,8 +15,6 @@
 #  restrictive of those mentioned above.  See the file COPYING.Xiph in this
 #  distribution.
 
-AUTOMAKE_OPTIONS = foreign
-
 docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html/images/hw
 
 doc_DATA = \
diff --git a/doc/html/ru/Makefile.am b/doc/html/ru/Makefile.am
index 8f56aa2..0e8061d 100644
--- a/doc/html/ru/Makefile.am
+++ b/doc/html/ru/Makefile.am
@@ -15,8 +15,6 @@
 #  restrictive of those mentioned above.  See the file COPYING.Xiph in this
 #  distribution.
 
-AUTOMAKE_OPTIONS = foreign
-
 docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html/ru
 
 doc_DATA = \
diff --git a/include/share/Makefile.am b/include/share/Makefile.am
index 217faac..a881e77 100644
--- a/include/share/Makefile.am
+++ b/include/share/Makefile.am
@@ -1,7 +1,5 @@
 ## Process this file with automake to produce Makefile.in
 
-AUTOMAKE_OPTIONS = foreign
-
 SUBDIRS = grabbag
 
 EXTRA_DIST = \
diff --git a/include/share/grabbag/Makefile.am b/include/share/grabbag/Makefile.am
index 0d520aa..22baa15 100644
--- a/include/share/grabbag/Makefile.am
+++ b/include/share/grabbag/Makefile.am
@@ -1,7 +1,5 @@
 ## Process this file with automake to produce Makefile.in
 
-AUTOMAKE_OPTIONS = foreign
-
 EXTRA_DIST = \
 	cuesheet.h \
 	file.h \
diff --git a/include/test_libs_common/Makefile.am b/include/test_libs_common/Makefile.am
index a0342dc..af82b4d 100644
--- a/include/test_libs_common/Makefile.am
+++ b/include/test_libs_common/Makefile.am
@@ -1,7 +1,5 @@
 ## Process this file with automake to produce Makefile.in
 
-AUTOMAKE_OPTIONS = foreign
-
 EXTRA_DIST = \
 	file_utils_flac.h \
 	metadata_utils.h
diff --git a/src/libFLAC/Makefile.am b/src/libFLAC/Makefile.am
index 13ab593..aa88100 100644
--- a/src/libFLAC/Makefile.am
+++ b/src/libFLAC/Makefile.am
@@ -34,6 +34,9 @@ noinst_LTLIBRARIES = libFLAC-static.la
 if DEBUG
 DEBUGCFLAGS = -DFLAC__OVERFLOW_DETECT
 endif
+
+# FIXME: The following logic should be part of configure, not of Makefile.am
+
 if FLaC__CPU_PPC
 # The -force_cpusubtype_ALL is needed to insert a ppc64 instruction
 # into cpu.c with an asm().
diff --git a/src/plugin_common/Makefile.am b/src/plugin_common/Makefile.am
index 0f557fd..270416a 100644
--- a/src/plugin_common/Makefile.am
+++ b/src/plugin_common/Makefile.am
@@ -15,8 +15,6 @@
 #  License along with this library; if not, write to the Free Software
 #  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
-AUTOMAKE_OPTIONS = foreign
-
 AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
 
 noinst_LTLIBRARIES = libplugin_common.la
diff --git a/src/share/getopt/Makefile.am b/src/share/getopt/Makefile.am
index 70ea506..f9a6fa3 100644
--- a/src/share/getopt/Makefile.am
+++ b/src/share/getopt/Makefile.am
@@ -1,7 +1,5 @@
 ## Process this file with automake to produce Makefile.in
 
-AUTOMAKE_OPTIONS = foreign
-
 AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include -I$(top_srcdir)/include/share
 
 noinst_LIBRARIES = libgetopt.a
diff --git a/src/share/grabbag/Makefile.am b/src/share/grabbag/Makefile.am
index d871b83..ada5cc8 100644
--- a/src/share/grabbag/Makefile.am
+++ b/src/share/grabbag/Makefile.am
@@ -1,7 +1,5 @@
 ## Process this file with automake to produce Makefile.in
 
-AUTOMAKE_OPTIONS = foreign
-
 AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
 
 noinst_LTLIBRARIES = libgrabbag.la
diff --git a/src/share/replaygain_analysis/Makefile.am b/src/share/replaygain_analysis/Makefile.am
index 083b5f8..ccd17a8 100644
--- a/src/share/replaygain_analysis/Makefile.am
+++ b/src/share/replaygain_analysis/Makefile.am
@@ -1,7 +1,5 @@
 ## Process this file with automake to produce Makefile.in
 
-AUTOMAKE_OPTIONS = foreign
-
 AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include -I$(top_srcdir)/include/share
 
 noinst_LTLIBRARIES = libreplaygain_analysis.la
diff --git a/src/share/replaygain_synthesis/Makefile.am b/src/share/replaygain_synthesis/Makefile.am
index c8de600..7b95791 100644
--- a/src/share/replaygain_synthesis/Makefile.am
+++ b/src/share/replaygain_synthesis/Makefile.am
@@ -1,7 +1,5 @@
 ## Process this file with automake to produce Makefile.in
 
-AUTOMAKE_OPTIONS = foreign
-
 SUBDIRS = include .
 
 AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include -I$(top_srcdir)/include/share
diff --git a/src/share/utf8/Makefile.am b/src/share/utf8/Makefile.am
index 9e2c0c9..079a178 100644
--- a/src/share/utf8/Makefile.am
+++ b/src/share/utf8/Makefile.am
@@ -1,7 +1,5 @@
 ## Process this file with automake to produce Makefile.in
 
-AUTOMAKE_OPTIONS = foreign
-
 AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include -I$(top_srcdir)/include/share
 
 noinst_LTLIBRARIES = libutf8.la
-- 
1.8.0.1.525.gaaf5ad5



More information about the flac-dev mailing list