diff options
author | Thomas Vander Stichele <thomas@apestaart.org> | 2001-12-17 18:37:01 +0000 |
---|---|---|
committer | Thomas Vander Stichele <thomas@apestaart.org> | 2001-12-17 18:37:01 +0000 |
commit | 49d345d9ef32b3a019cb7ec1f8d4546145c15b59 (patch) | |
tree | 24c6674552c8cf97fc72b3860d35554fa3b1d847 /autogen.sh | |
download | gst-plugins-bad-49d345d9ef32b3a019cb7ec1f8d4546145c15b59.tar.gz gst-plugins-bad-49d345d9ef32b3a019cb7ec1f8d4546145c15b59.tar.bz2 gst-plugins-bad-49d345d9ef32b3a019cb7ec1f8d4546145c15b59.zip |
building up speed
Original commit message from CVS:
building up speed
Diffstat (limited to 'autogen.sh')
-rwxr-xr-x | autogen.sh | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 00000000..dd362f03 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,167 @@ +#!/bin/bash +# Run this to generate all the initial makefiles, etc. + +DIE=0 +package=gstreamer-plugins +srcfile=own/sinesrc/gstsinesrc.c +#DEBUG=defined +if test "x$1" = "x-d"; then echo "+ debug output enabled"; DEBUG=defined; fi + +debug () +# print out a debug message if DEBUG is a defined variable +{ + if test ! -z "$DEBUG" + then + echo "DEBUG: $1" + fi +} + +version_check () +# check the version of a package +# first argument : package name (executable) +# second argument : source download url +# rest of arguments : major, minor, micro version +{ + PACKAGE=$1 + URL=$2 + MAJOR=$3 + MINOR=$4 + MICRO=$5 + + WRONG= + + debug "major $MAJOR minor $MINOR micro $MICRO" + VERSION=$MAJOR + if test ! -z "$MINOR"; then VERSION=$VERSION.$MINOR; else MINOR=0; fi + if test ! -z "$MICRO"; then VERSION=$VERSION.$MICRO; else MICRO=0; fi + + debug "major $MAJOR minor $MINOR micro $MICRO" + echo -n "+ checking for $1 >= $VERSION ... " + ($PACKAGE --version) < /dev/null > /dev/null 2>&1 || + { + echo + echo "You must have $PACKAGE installed to compile $package." + echo "Download the appropriate package for your distribution," + echo "or get the source tarball at $URL" + return 1 + } + # the following line is carefully crafted sed magic + pkg_version=`$PACKAGE --version|head -n 1|sed 's/^[a-zA-z\.\ ()]*//;s/ .*$//'` + debug "pkg_version $pkg_version" + pkg_major=`echo $pkg_version | cut -d. -f1` + pkg_minor=`echo $pkg_version | cut -d. -f2` + pkg_micro=`echo $pkg_version | cut -d. -f3` + test -z "$pkg_minor" && pkg_minor=0 + test -z "$pkg_micro" && pkg_micro=0 + + debug "found major $pkg_major minor $pkg_minor micro $pkg_micro" + + #start checking the version + debug "version check" + + if [ ! "$pkg_major" \> "$MAJOR" ]; then + debug "$pkg_major <= $MAJOR" + if [ "$pkg_major" \< "$MAJOR" ]; then + WRONG=1 + elif [ ! "$pkg_minor" \> "$MINOR" ]; then + if [ "$pkg_minor" \< "$MINOR" ]; then + WRONG=1 + elif [ "$pkg_micro" \< "$MICRO" ]; then + WRONG=1 + fi + fi + fi + + if test ! -z "$WRONG"; then + echo "found $pkg_version, not ok !" + echo + echo "You must have $PACKAGE $VERSION or greater to compile $package." + echo "Get the latest version from $URL" + return 1 + else + echo "found $pkg_version, ok." + fi +} + +# autoconf 2.52d has a weird issue involving a yes:no error +# so don't allow it's use +ac_version=`autoconf --version|head -n 1|sed 's/^[a-zA-z\.\ ()]*//;s/ .*$//'` +if test "$ac_version" = "2.52d"; then + echo "autoconf 2.52d has an issue with our current build." + echo "We don't know who's to blame however. So until we do, get a" + echo "regular version. RPM's of a working version are on the gstreamer site." + exit 1 +fi + + +version_check "autoconf" "ftp://ftp.gnu.org/pub/gnu/autoconf/" 2 52 || DIE=1 +version_check "automake" "ftp://ftp.gnu.org/pub/gnu/automake/" 1 5 || DIE=1 +version_check "libtool" "ftp://ftp.gnu.org/pub/gnu/libtool/" 1 4 0 || DIE=1 +version_check "pkg-config" "http://www.freedesktop.org/software/pkgconfig" 0 8 0 || DIE=1 + +if test "$DIE" -eq 1; then + exit 1 +fi + +test -f $srcfile || { + echo "You must run this script in the top-level $package directory" + exit 1 +} + +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 + +echo "+ creating acinclude.m4" +cat m4/*.m4 > acinclude.m4 + +echo "+ running aclocal ..." +aclocal $ACLOCAL_FLAGS || { + echo + echo "aclocal failed - check that all needed development files are present on system" + exit 1 +} + +# FIXME : why does libtoolize keep complaining about aclocal ? +echo "+ running libtoolize ..." +libtoolize --copy --force + +echo "+ running autoheader ... " +autoheader || { + echo + echo "autoheader failed" + exit 1 +} +echo "+ running autoconf ... " +autoconf || { + echo + echo "autoconf failed" + exit 1 +} +echo "+ running automake ... " +automake -a -c || { + echo + echo "automake failed" + exit 1 +} + +# now remove the cache, because it can be considered dangerous in this case +#echo "+ removing config.cache ... " +#rm -f config.cache + +CONFIGURE_OPT='--enable-maintainer-mode --enable-plugin-builddir --enable-debug --enable-DEBUG' + +echo "+ running configure ... " +echo "./configure default flags: $CONFIGURE_OPT" +echo "using: $CONFIGURE_OPT $@" +echo + +./configure $CONFIGURE_OPT "$@" || { + echo + echo "configure failed" + exit 1 +} + +echo +echo "Now type 'make' to compile $package." |