#!/bin/sh
-ACLOCAL=aclocal
-AUTOHEADER=autoheader
-AUTOMAKE="automake -a -c --foreign"
-AUTOCONF=autoconf
-GNUM4=
-
-echo -n "Locating GNU m4... "
-for prog in $M4 gm4 gnum4 m4 ; do
- case `$prog --version 2>&1` in
- *GNU*) ok=yes
- GNUM4=$prog
- echo "found: $GNUM4"
- break ;;
- *) ;;
- esac
-done
-if test x$ok = xno ; then
- echo "not found."
-fi
+ACLOCAL="aclocal -I m4 -I config"
+AUTOHEADER="autoheader"
+AUTOMAKE="automake --add-missing --copy --foreign"
+AUTOCONF="autoconf"
+
+# Discover what version of automake we are using.
+automake_version=`$AUTOMAKE --version 2>/dev/null | head -n 1`
+
+test "$automake_version" != "" && {
+ echo "Using $automake_version"
+} || {
+ echo "LyX requires automake >= 1.8"
+ exit 1
+}
+
+case $automake_version in
+ *' '1.[8-9]*|*' '1.1[01]*)
+ ;;
+ *)
+
+ echo "This automake version is not supported by LyX."
+ echo "LyX only supports automake 1.8 to 1.11."
+ exit 1
+ ;;
+esac
+
+# Discover what version of autoconf we are using.
+autoversion=`$AUTOCONF --version 2>/dev/null | head -n 1`
-# Generate acinclude.m4
-echo -n "Generate acinclude.m4... "
-rm -f acinclude.m4 sigc++/acinclude.m4
-touch acinclude.m4
-for fil in config/lyxinclude.m4 config/libtool.m4 config/gettext.m4 config/lcmessage.m4 config/progtest.m4 config/sigc++.m4 config/kde.m4 config/gnome/gtk.m4 config/gnome/aclocal-include.m4 config/gnome/gnome-print-check.m4 config/gnome/compiler-flags.m4 config/gnome/gnome-pthread-check.m4 config/gnome/curses.m4 config/gnome/gnome-support.m4 config/gnome/gnome-bonobo-check.m4 config/gnome/gnome-undelfs.m4 config/gnome/gnome-common.m4 config/gnome/gnome-vfs.m4 config/gnome/gnome-fileutils.m4 config/gnome/gnome-x-checks.m4 config/gnome/gnome-ghttp-check.m4 config/gnome/gnome-xml-check.m4 config/gnome/gnome-gnorba-check.m4 config/gnome/gnome.m4 config/gnome/gnome-guile-checks.m4 config/gnome/gperf-check.m4 config/gnome/gnome-libgtop-check.m4 config/gnome/linger.m4 config/gnome/gnome-objc-checks.m4 config/gnome/need-declaration.m4 config/gnome/gnome-orbit-check.m4 config/gnome/gtk--.m4 config/gnome/gnome--.m4 ; do
- cat $fil >> acinclude.m4
-done
-touch sigc++/acinclude.m4
-for fil in config/libtool.m4 ; do
- cat $fil >> sigc++/acinclude.m4
-done
-echo "done."
+test "$autoversion" != "" && {
+ echo "Using $autoversion"
+} || {
+ echo "LyX requires autoconf >= 2.59c"
+ exit 1
+}
+
+
+case $autoversion in
+ *' '2.59[cd]|*' '2.60[ab]|*' '2.6[0-4])
+ ;;
+ *)
+ echo "This autoconf version is not supported by LyX."
+ echo "LyX only supports autoconf 2.59c-2.64."
+ exit 1
+ ;;
+esac
+
+# Delete old cache directories.
+# automake will stop if their contents was created by an earlier version.
+rm -rf autom4te.cache
# Generate the Makefiles and configure files
-if ( aclocal --version ) </dev/null > /dev/null 2>&1; then
- echo -n "Building macros... "
- $ACLOCAL ; ( cd lib/reLyX; $ACLOCAL ) ; ( cd sigc++; $ACLOCAL )
- echo "done."
+echo "Building macros..."
+if ( $ACLOCAL --version ) < /dev/null > /dev/null 2>&1; then
+ $ACLOCAL
else
echo "aclocal not found -- aborting"
- exit
+ exit 1
fi
-if ( autoheader --version ) </dev/null > /dev/null 2>&1; then
- echo -n "Building config header template... "
- $AUTOHEADER ; ( cd sigc++; $AUTOHEADER )
- echo "done."
+echo "Building config header template..."
+if ( $AUTOHEADER --version ) < /dev/null > /dev/null 2>&1; then
+ $AUTOHEADER
else
echo "autoheader not found -- aborting"
- exit
+ exit 1
fi
-if ( $AUTOMAKE --version ) </dev/null > /dev/null 2>&1; then
- echo -n "Building Makefile templates... "
- $AUTOMAKE ; ( cd lib/reLyX ; $AUTOMAKE ) ; ( cd sigc++; $AUTOMAKE )
- echo "done."
+echo "Building Makefile templates..."
+if ( $AUTOMAKE --version ) < /dev/null > /dev/null 2>&1; then
+ $AUTOMAKE
else
echo "automake not found -- aborting"
- exit
+ exit 1
fi
-if ( $AUTOCONF --version ) </dev/null > /dev/null 2>&1; then
- echo -n "Building configure... "
- $AUTOCONF ; ( cd lib/reLyX ; $AUTOCONF ) ; ( cd sigc++; $AUTOCONF )
- echo "done."
+echo "Building configure..."
+if ( $AUTOCONF --version ) < /dev/null > /dev/null 2>&1; then
+ $AUTOCONF
else
echo "autoconf not found -- aborting"
- exit
-fi
-
-# Autogenerate lib/configure.m4.
-if test x$GNUM4 != x ; then
- echo -n "Building lib/configure ... "
- rm -f lib/configure
- $GNUM4 lib/configure.m4 > lib/configure
- chmod a+x lib/configure
- echo "done."
-else
- echo "No GNU m4. Impossible to build lib/configure -- aborting"
- exit
+ exit 1
fi
-echo -n "Creating POTFILES.in... "
-cat <<EOF > tmppot
-#
-# This file is automatically generated by autogen.sh. This command was
-# used to extract the files from the sources:
-#
-# grep -E "_\(\".*\"\)" \`find src -name \*.[hHC]\` | \\
-# awk 'BEGIN {FS= ":"} {print $1}' | sort | uniq
-#
-# This must be done when standing in lyx/
-#
-# This is all the files that contains internationalization strings.
-
-EOF
-
-grep -E "_\(\".*\"\)" `find src -name \*.[hHC]` | \
-awk 'BEGIN {FS= ":"} {print $1}' | sort -f -d | uniq >> tmppot
-mv tmppot po/POTFILES.in
-echo "done"
+echo "Building po/POTFILES.in..."
+make -s -f po/Rules-lyx srcdir=po top_srcdir=. po/POTFILES.in
echo
echo 'run "./configure ; make"'