#!/bin/sh
-ACLOCAL=aclocal
-AUTOHEADER=autoheader
-AUTOMAKE="automake -a -c --foreign"
-AUTOCONF=autoconf
-GNUM4=
+ACLOCAL="aclocal -I m4 -I config"
+AUTOHEADER="autoheader"
+AUTOMAKE="automake --add-missing --force-missing --copy --foreign"
+AUTOCONF="autoconf"
-ACINCLUDE_FILES="lyxinclude.m4 libtool.m4 codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4 progtest.m4 sigc++.m4 qt2.m4 gtk--.m4 gnome--.m4 gnome.m4 pspell.m4 pkg.m4"
-SIGCPP_ACINCLUDE_FILES="libtool.m4"
+# Discover what version of automake we are using.
+automake_version=$($AUTOMAKE --version 2>/dev/null | head -n 1)
-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."
+if test "$automake_version" != ""; then
+ echo "Using $automake_version"
+else
+ echo "LyX requires automake >= 1.14"
+ exit 1
fi
-# Generate acinclude.m4
-echo -n "Generate acinclude.m4... "
-rm -f acinclude.m4 sigc++/acinclude.m4
-(cd config ; cat ${ACINCLUDE_FILES} >../acinclude.m4)
-(cd config ; cat ${SIGCPP_ACINCLUDE_FILES} >../sigc++/acinclude.m4)
-echo "done."
+case $automake_version in
+ *' '1.1[456]*)
+ ;;
+ *)
+ echo "This automake version is not supported by LyX."
+ echo "LyX only supports automake 1.14 through 1.16."
+ exit 1
+ ;;
+esac
+
+# Discover what version of autoconf we are using.
+autoversion=$($AUTOCONF --version 2>/dev/null | head -n 1)
+
+if test "$autoversion" != ""; then
+ echo "Using $autoversion"
+else
+ echo "LyX requires autoconf >= 2.65"
+ exit 1
+fi
+
+case $autoversion in
+ *' '2.6[5-9])
+ ;;
+ *' '2.71)
+ ;;
+ *)
+ echo "This autoconf version is not supported by LyX."
+ echo "LyX only supports autoconf 2.65-2.69, 2.71."
+ 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 "Building macros..."
- for dir in . lib/reLyX sigc++ ; do
- echo " $dir"
- ( cd $dir ; $ACLOCAL )
- done
- 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 "Building config header template..."
- for dir in . sigc++ ; do
- echo " $dir"
- ( cd $dir ; $AUTOHEADER )
- done
- 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 "Building Makefile templates..."
- for dir in . lib/reLyX sigc++ ; do
- echo " $dir"
- ( cd $dir ; $AUTOMAKE )
- done
- 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 "Building configure..."
- for dir in . lib/reLyX sigc++ ; do
- echo " $dir"
- ( cd $dir ; $AUTOCONF )
- done
- echo "done."
+echo "Building configure..."
+if ( $AUTOCONF --version ) < /dev/null > /dev/null 2>&1; then
+ $AUTOCONF
else
echo "autoconf not found -- aborting"
- exit
+ exit 1
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."
+echo "Building po/POTFILES.in..."
+if ( make -s -f po/Rules-lyx srcdir=po top_srcdir=. po/POTFILES.in ); then
+ :
else
- echo "No GNU m4. Impossible to build lib/configure -- aborting"
- exit
+ echo "Building po/POTFILES.in failed -- aborting"
+ exit 1
fi
echo
-echo 'run "./configure ; make"'
+echo 'run "./configure && make"'
echo