mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 10:11:08 +00:00
6aacb9ca09
Original commit message from CVS: Automatically generate a patched automake if needed, and put instructions in the README about how to use such a patched automake.
196 lines
6 KiB
Bash
Executable file
196 lines
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
|
|
patchedfile="`pwd`/automake"
|
|
if test -e $patchedfile; then
|
|
PATCHED=0
|
|
else
|
|
echo "patching..."
|
|
patch -R -s -f `which automake` <autogen.patch.tmp -o $patchedfile;
|
|
chmod +x $patchedfile;
|
|
PATCHED=1
|
|
fi
|
|
echo
|
|
echo "***************************************************************************"
|
|
if test -e $patchedfile; then
|
|
if test "x$PATCHED" == "x1"; then
|
|
echo "A patched version of automake is available at:"
|
|
echo "$patchedfile"
|
|
fi
|
|
fi
|
|
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."
|