mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-28 23:02:22 +00:00
53ca792d2f
Original commit message from CVS: * create a configure.base file, containing the contents of configure.{in,ac}, with those lines specific to one file prepended by "SUBSTFOR configure.in:" or "SUBSTFOR configure.ac:" appropriately. * Add lines to autogen.sh to generate configure.in and configure.ac automatically from this file. (Very simple sed scripts) * Remove configure.in and configure.ac This shouldn't cause any problems to anyone, and should make it easy to do work on configure scripts by just working on configure.base.
180 lines
5.6 KiB
Bash
Executable file
180 lines
5.6 KiB
Bash
Executable file
#!/bin/sh
|
|
# Run this to generate all the initial makefiles, etc.
|
|
|
|
DIE=0
|
|
package=GStreamer
|
|
srcfile=gst/gstobject.h
|
|
|
|
(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/autoconf/"
|
|
DIE=1
|
|
}
|
|
|
|
(automake --version) < /dev/null > /dev/null 2>&1 || {
|
|
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/automake/"
|
|
DIE=1
|
|
}
|
|
automakevermin=`(automake --version|head -n 1|sed 's/^.* //;s/\./ /g;';echo "1 4")|sort -n|head -n 1`
|
|
automakevergood=`(automake --version|head -n 1|sed 's/^.* //;s/\./ /g;';echo "1 4f")|sort -n|head -n 1`
|
|
if test "x$automakevermin" != "x1 4"; then
|
|
# version is less than 1.4, the minimum suitable version
|
|
echo
|
|
echo "You must have automake version 1.4 or greater installed."
|
|
echo "Download the appropriate package for your distribution,"
|
|
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/automake/"
|
|
DIE=1
|
|
else
|
|
if test "x$automakevergood" != "x1 4f"; then
|
|
echo -n "Checking for patched automake..."
|
|
# version is less than 1.4f, the version with the patch applied
|
|
# check that patch is applied
|
|
cat > autogen.patch.tmp <<EOF
|
|
--- 1
|
|
+++ 2
|
|
@@ -2383,8 +2383,8 @@
|
|
# to all possible directories, and use it. If DIST_SUBDIRS is
|
|
# defined, just use it.
|
|
local (\$dist_subdir_name);
|
|
- if (&variable_defined ('DIST_SUBDIRS')
|
|
- || &variable_conditions ('SUBDIRS'))
|
|
+ if (&variable_conditions ('SUBDIRS')
|
|
+ || &variable_defined ('DIST_SUBDIRS'))
|
|
{
|
|
\$dist_subdir_name = 'DIST_SUBDIRS';
|
|
if (! &variable_defined ('DIST_SUBDIRS'))
|
|
EOF
|
|
if patch -s -f --dry-run `which automake` <autogen.patch.tmp >/dev/null 2>&1;
|
|
then
|
|
# Patch succeeded: appropriately patched.
|
|
echo " found."
|
|
else
|
|
# Patch failed: either unpatched or incompatibly patched.
|
|
if patch -R -s -f --dry-run `which automake` <autogen.patch.tmp >/dev/null 2>&1;
|
|
then
|
|
# Reversed patch succeeded: not patched.
|
|
echo " not found."
|
|
echo
|
|
echo "Detected automake version 1.4 (or near) without patch."
|
|
echo "Your version of automake needs a patch applied in order to operate correctly."
|
|
echo
|
|
echo "***************************************************************************"
|
|
echo "You should abort the build now and read the README file for an explanation."
|
|
echo "***************************************************************************"
|
|
echo
|
|
# Give user time to respond
|
|
sleep 5;
|
|
echo "continuing anyway: I recommend keeping a check on the amount of memory used"
|
|
echo "while running automake - it is likely to grow extremely large."
|
|
echo
|
|
else
|
|
# Reversed patch failed: incompatibly patched.
|
|
echo
|
|
echo
|
|
echo "Unable to check whether automake is appropriately patched."
|
|
echo "Your version of automake may need to have a patch applied."
|
|
echo "Read the README file for more explanation."
|
|
echo
|
|
fi
|
|
fi
|
|
rm autogen.patch.tmp
|
|
fi
|
|
fi
|
|
|
|
|
|
|
|
(libtool --version) < /dev/null > /dev/null 2>&1 || {
|
|
echo
|
|
echo "You must have libtool installed to compile $package."
|
|
echo "Get the latest version from ftp://alpha.gnu.org/gnu/libtool/"
|
|
DIE=1
|
|
}
|
|
|
|
libtool_version=`libtool --version | sed 's/^.* \([0-9\.]*\) .*$/\1/'`
|
|
libtool_major=`echo $libtool_version | cut -d. -f1`
|
|
libtool_minor=`echo $libtool_version | cut -d. -f2`
|
|
libtool_micro=`echo $libtool_version | cut -d. -f3`
|
|
if [ x$libtool_micro = x ]; then
|
|
libtool_micro=0
|
|
fi
|
|
if [ $libtool_major -le 1 ]; then
|
|
if [ $libtool_major -lt 1 ]; then
|
|
echo
|
|
echo "You must have libtool 1.3.5 or greater to compile $package."
|
|
echo "Get the latest version from ftp://alpha.gnu.org/gnu/libtool/"
|
|
DIE=1
|
|
elif [ $libtool_minor -le 3 ]; then
|
|
if [ $libtool_minor -lt 3 ]; then
|
|
echo
|
|
echo "You must have libtool 1.3.5 or greater to compile $package."
|
|
echo "Get the latest version from ftp://alpha.gnu.org/gnu/libtool/"
|
|
DIE=1
|
|
elif [ $libtool_micro -lt 5 ]; then
|
|
echo
|
|
echo "You must have libtool 1.3.5 or greater to compile $package."
|
|
echo "Get the latest version from ftp://alpha.gnu.org/gnu/libtool/"
|
|
DIE=1
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
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
|
|
|
|
|
|
# Generate configure.in and configure.ac
|
|
sed <configure.base >configure.in '/^SUBSTFOR configure.ac:.*/d;s/^SUBSTFOR configure.in://g'
|
|
sed <configure.base >configure.ac '/^SUBSTFOR configure.in:.*/d;s/^SUBSTFOR configure.ac://g'
|
|
|
|
libtoolize --copy --force
|
|
aclocal $ACLOCAL_FLAGS || {
|
|
echo
|
|
echo "aclocal failed - check that all needed development files are present on system"
|
|
exit 1
|
|
}
|
|
autoheader || {
|
|
echo
|
|
echo "autoheader failed"
|
|
exit 1
|
|
}
|
|
autoconf || {
|
|
echo
|
|
echo "autoconf failed"
|
|
#exit 1
|
|
}
|
|
automake --add-missing || {
|
|
echo
|
|
echo "automake failed"
|
|
#exit 1
|
|
}
|
|
|
|
# now remove the cache, because it can be considered dangerous in this case
|
|
rm -f config.cache
|
|
|
|
# The new configure options for busy application developers (Hadess)
|
|
#./configure --enable-maintainer-mode --enable-debug --enable-debug-verbose
|
|
|
|
./configure --enable-maintainer-mode --enable-plugin-srcdir --enable-debug --enable-debug-verbose "$@" || {
|
|
echo
|
|
echo "configure failed"
|
|
exit 1
|
|
}
|
|
|
|
echo
|
|
echo "Now type 'make' to compile $package."
|