cpu.c: Fix debug Windows w32 build issue
[flac.git] / autogen.sh
index 088a64f..491d355 100755 (executable)
@@ -1,42 +1,66 @@
 #!/bin/sh
+# 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...)
 
-# 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) 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 -I m4 && libtoolize && autoconf && autoheader && $hacks && automake --foreign --include-deps --add-missing --copy
+use_symlinks=" --symlink"
+
+case $1 in
+       --no-symlink*)
+               use_symlinks=""
+               echo "Copying autotool files instead of using symlinks."
+               ;;
+       *)
+               echo "Using symlinks to autotool files (use --no-symlinks to copy instead)."
+               ;;
+       esac
+
+test_program_errors=0
+
+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.
+       if test -z "$AUTOCONF_VERSION" ; then
+               AUTOCONF_VERSION=2.69
+               export AUTOCONF_VERSION
+               echo "Defaulting to use AUTOCONF_VERSION version ${AUTOCONF_VERSION}."
+       else
+               echo "Using AUTOCONF_VERSION version ${AUTOCONF_VERSION}."
+               fi
+       if test -z "$AUTOMAKE_VERSION" ; then
+               AUTOMAKE_VERSION=1.15
+               export AUTOMAKE_VERSION
+               echo "Defaulting to use AUTOMAKE_VERSION version ${AUTOMAKE_VERSION}."
+       else
+               echo "Using AUTOMAKE_VERSION version ${AUTOMAKE_VERSION}."
+               fi
+       fi
+
+srcdir=`dirname $0`
+test -n "$srcdir" && cd "$srcdir"
+
+echo "Updating build configuration files for FLAC, please wait...."
+
+touch config.rpath
+autoreconf --install $use_symlinks --force
+#./configure "$@" && echo