From 005a36b41bd90fefaaa876df9b607f11c11b5e73 Mon Sep 17 00:00:00 2001 From: David Seifert Date: Sat, 24 Sep 2022 12:51:49 +0200 Subject: [PATCH] Remove `autogen.sh` * Users should just use `autoreconf -vif` instead of brittle autogen.sh scripts. Fixes: #878 --- .github/workflows/action.yml | 2 +- Building-for-Android.md | 2 +- README.md | 2 +- Scripts/static-deps-build.mk | 4 +- autogen.sh | 176 ----------------------------------- ossfuzz/ossfuzz.sh | 2 +- 6 files changed, 6 insertions(+), 182 deletions(-) delete mode 100755 autogen.sh diff --git a/.github/workflows/action.yml b/.github/workflows/action.yml index 65a1a04c..4c24215a 100644 --- a/.github/workflows/action.yml +++ b/.github/workflows/action.yml @@ -209,7 +209,7 @@ jobs: CXX: ${{ matrix.cxx }} if: startsWith(matrix.build-system,'autotools') run: | - ./autogen.sh + autoreconf -vif if [[ "${CC}" == "clang" ]]; then ./configure --enable-werror && make distcheck else diff --git a/Building-for-Android.md b/Building-for-Android.md index c664281b..eb5a0d35 100644 --- a/Building-for-Android.md +++ b/Building-for-Android.md @@ -3,7 +3,7 @@ Assuming the Android Ndk is installed at location `/path/to/toolchain`, building libsndfile for Android (arm-linux-androideabi) should be as simple as: ``` -./autogen.sh +autoreconf -vif export ANDROID_TOOLCHAIN_HOME=/path/to/android/toolchain ./Scripts/android-configure.sh make diff --git a/README.md b/README.md index 82b0b390..f14afcd6 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Similarly on Mac OS X, assuming [brew] is already installed: Once the build environment has been set up, building and testing libsndfile is as simple as: - ./autogen.sh + autoreconf -vif ./configure --enable-werror make make check diff --git a/Scripts/static-deps-build.mk b/Scripts/static-deps-build.mk index a2c19694..bbf2f0d7 100755 --- a/Scripts/static-deps-build.mk +++ b/Scripts/static-deps-build.mk @@ -95,7 +95,7 @@ Build/Stamp/build-ogg : Build/Stamp/sha256sum ifeq ($(disable_ogg_crc), true) echo "Ogg/CRC enabled" (cd Build && git clone https://github.com/xiph/ogg $(ogg_version)) - (cd Build/$(ogg_version) && ./autogen.sh && CFLAGS=-fPIC ./configure $(config_options) --disable-crc && make all install) + (cd Build/$(ogg_version) && autoreconf -vif && CFLAGS=-fPIC ./configure $(config_options) --disable-crc && make all install) else echo "Ogg/CRC disabled" (cd Build && tar xf Tarballs/$(ogg_tarball)) @@ -110,7 +110,7 @@ Build/Stamp/install-libs : Build/Stamp/extract Build/Stamp/build-ogg touch $@ configure : configure.ac - ./autogen.sh + autoreconf -vif Build/Stamp/configure : Build/Stamp/install-libs configure PKG_CONFIG_LIBDIR=Build/lib/pkgconfig ./configure diff --git a/autogen.sh b/autogen.sh deleted file mode 100755 index dbdb5ded..00000000 --- a/autogen.sh +++ /dev/null @@ -1,176 +0,0 @@ -#!/bin/sh -# Run this to set up the build system: configure, makefiles, etc. -# (based on the version in enlightenment's cvs) - -package="libsndfile" - -olddir=`pwd` -srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. - -cd "$srcdir" -DIE=0 - -printf "checking for autogen ... " -result="yes" -(autogen --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have GNU autogen 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/" - result="no" - DIE=1 -} -echo $result - -printf "checking for autoconf ... " -result="yes" -(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/" - result="no" - DIE=1 -} -echo $result - -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 - printf "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 - printf "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" - printf "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 - -printf "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 -} - -printf "checking for pkg-config ... " -result="yes" -(pkg-config --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have pkg-config installed to compile $package." - echo "Download the appropriate package for your distribution." - result="no" - DIE=1 -} -echo $result - - -printf "checking for python ... " -result="yes" -(python --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have Python installed to compile $package." - echo "Download the appropriate package for your distribution," - echo "or get the source tarball at http://python.org/" - result="no" - DIE=1 -} -echo $result - -if test "$DIE" -eq 1; then - exit 1 -fi - -echo "Generating configuration files for $package, please wait ... " - -echo " $ACLOCAL $ACLOCAL_FLAGS" -$ACLOCAL $ACLOCAL_FLAGS || exit 1 -echo " $LIBTOOLIZE --automake --force" -$LIBTOOLIZE --automake --force || 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 - -# Generate the src/cmake-config.h.in from src/config.h.in. -# CMake process src/cmake-config.h to create src/config.h. -rm -f src/config.h src/cmake-config.h - -cd $olddir - -if test -d .git/ ; then - fprecommit=.git/hooks/pre-commit - if test ! -f $fprecommit ; then - echo - echo "Installing git pre-commit hook for this project." - printf "#/bin/sh\nexec Scripts/git-pre-commit-hook\n" > $fprecommit - chmod u+x $fprecommit - echo - fi - fi - diff --git a/ossfuzz/ossfuzz.sh b/ossfuzz/ossfuzz.sh index a4d98d93..7b3666ff 100755 --- a/ossfuzz/ossfuzz.sh +++ b/ossfuzz/ossfuzz.sh @@ -23,7 +23,7 @@ apt-get -y install autoconf autogen automake libtool pkg-config python # libasound2-dev libflac-dev libogg-dev libopus-dev libvorbis-dev # Compile the fuzzer. -./autogen.sh +autoreconf -vif ./configure --disable-shared --enable-ossfuzzers make V=1