Convert logo to SVG
[flac.git] / autogen.sh
index a66f682..f8b2738 100755 (executable)
@@ -1,42 +1,44 @@
-#!/bin/sh
-
-# FLAC needs relatively recent versions of autotools for autogen.sh to
-# run properly.  For example, if your autoconf is too old, it will not
-# check for inttypes.h and compilation will fail later.  If you are
-# having problems with autogen.sh it is best to upgrade to at least the
-# following if possible:
-#
-# - autoconf 2.59
-# - automake 1.8.5
-# - libtool 1.5.6
-#
-# You may need to specify -I /SOME_PATH/share/aclocal if the packages
-# FLAC relies on (autotools, libogg, libiconv, libid3) 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.
-#
-# 'hacks' is the place to put some commands you may need.  There is one
-# that seems to be necessary in some situations:
-#
-#  * 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).
-#
-# If the default doesn't work, try:
-#
-#hacks="cp /usr/share/gettext/config.rpath ."
-#
-# Otherwise, this is the no-op:
-hacks=true
-#
-# 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
-#
-
-aclocal && libtoolize && autoconf && autoheader && $hacks && automake --foreign --include-deps --add-missing --copy
+#!/bin/bash
+# Run this to set up the build system: configure, makefiles, etc.
+# We trust that the user has a recent enough autoconf & automake setup
+# (not older than a few years...)
+
+test_program_errors=0
+
+function test_program {
+       if ! command -v $1 >/dev/null 2>&1 ; then
+               echo "Missing program '$1'."
+               test_program_errors=1
+               fi
+}
+
+for prog in autoconf automake libtool pkg-config ; do
+       test_program $prog
+       done
+
+if test $(uname -s) != "Darwin" ; then
+       test_program gettext
+       fi
+
+test $test_program_errors -ne 1 || exit 1
+
+#-------------------------------------------------------------------------------
+
+set -e
+
+if test $(uname -s) = "OpenBSD" ; then
+       # OpenBSD needs these environment variables set.
+       AUTOCONF_VERSION=2.69
+       AUTOMAKE_VERSION=1.11
+       export AUTOCONF_VERSION
+       export AUTOMAKE_VERSION
+       fi
+
+srcdir=`dirname $0`
+test -n "$srcdir" && cd "$srcdir"
+
+echo "Updating build configuration files for FLAC, please wait...."
+
+touch config.rpath
+autoreconf -isf
+#./configure "$@" && echo