#!/bin/sh
-ACLOCAL=aclocal
-AUTOHEADER=autoheader
+ACLOCAL="aclocal -I ${PWD}/m4"
+AUTOHEADER="autoheader"
AUTOMAKE="automake -a -c --foreign"
-AUTOCONF=autoconf
-GNUM4=
+AUTOCONF="autoconf"
+ACINCLUDE_FILES="lyxinclude.m4 libtool.m4 xforms.m4 qt.m4 gtk--.m4 gnome--.m4 gnome.m4 aspell.m4 pspell.m4 cygwin.m4 pkg.m4"
+
+# Discover what version of autoconf we are using.
+autoversion=`$AUTOCONF --version | head -n 1`
+
+echo "Using $autoversion"
+case $autoversion in
+ *2.5[2-9])
+ EXTRA_ACINCLUDE_FILES="lyxinclude25x.m4"
+ ;;
+ *)
+ echo "This autoconf version is not supported by LyX."
+ echo "LyX only supports autoconf 2.5[2-9]."
+ exit
+ ;;
+esac
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
+GNUM4=
+for prog in $M4 gm4 gnum4 m4; do
+ # continue if $prog generates error (e.g. does not exist)
+ ( $prog --version ) < /dev/null > /dev/null 2>&1
+ if test $? -ne 0 ; then continue; fi
+
+ # /dev/null input prevents a hang of the script for some m4 compilers (e.g. on FreeBSD)
+ case `$prog --version < /dev/null 2>&1` in
+ *GNU*) GNUM4=$prog
+ break ;;
+ esac
done
-if test x$ok = xno ; then
- echo "not found."
+if test x$GNUM4 = x ; then
+ echo "not found."
+ exit
+else
+ echo `which $GNUM4`
fi
# Generate acinclude.m4
echo -n "Generate acinclude.m4... "
-rm -f acinclude.m4 sigc++/acinclude.m4 boost/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/qt2.m4 config/gtk--.m4 config/gnome--.m4 config/gnome.m4 config/pspell.m4; do
- cat $fil >> acinclude.m4
-done
-touch sigc++/acinclude.m4
-for fil in config/libtool.m4 ; do
- cat $fil >> sigc++/acinclude.m4
-done
-touch boost/acinclude.m4
-for fil in config/boost.m4 ; do
- cat $fil >> boost/acinclude.m4
-done
+rm -f acinclude.m4
+(cd config ; cat ${ACINCLUDE_FILES} ${EXTRA_ACINCLUDE_FILES} >../acinclude.m4)
echo "done."
# Generate the Makefiles and configure files
-if ( aclocal --version ) </dev/null > /dev/null 2>&1; then
+if ( $ACLOCAL --version ) < /dev/null > /dev/null 2>&1; then
echo "Building macros..."
- for dir in . lib/reLyX sigc++ boost ; do
- echo -e "\t$dir"
+ for dir in . lib/reLyX ; do
+ echo " $dir"
( cd $dir ; $ACLOCAL )
done
-# $ACLOCAL ; ( cd lib/reLyX; $ACLOCAL ) ; ( cd sigc++; $ACLOCAL )
-# ( cd boost; $ACLOCAL )
echo "done."
else
echo "aclocal not found -- aborting"
exit
fi
-if ( autoheader --version ) </dev/null > /dev/null 2>&1; then
+if ( $AUTOHEADER --version ) < /dev/null > /dev/null 2>&1; then
echo "Building config header template..."
- for dir in . sigc++ boost ; do
- echo -e "\t$dir"
+ for dir in . ; do
+ echo " $dir"
( cd $dir ; $AUTOHEADER )
done
-# $AUTOHEADER ; ( cd sigc++; $AUTOHEADER ) ; ( cd boost; $AUTOHEADER )
echo "done."
else
echo "autoheader not found -- aborting"
exit
fi
-if ( $AUTOMAKE --version ) </dev/null > /dev/null 2>&1; then
+if ( $AUTOMAKE --version ) < /dev/null > /dev/null 2>&1; then
echo "Building Makefile templates..."
- for dir in . lib/reLyX sigc++ boost ; do
- echo -e "\t$dir"
+ for dir in . lib/reLyX ; do
+ echo " $dir"
( cd $dir ; $AUTOMAKE )
done
-# $AUTOMAKE ; ( cd lib/reLyX ; $AUTOMAKE ) ; ( cd sigc++; $AUTOMAKE )
-# ( cd boost; $AUTOMAKE )
echo "done."
else
echo "automake not found -- aborting"
exit
fi
-if ( $AUTOCONF --version ) </dev/null > /dev/null 2>&1; then
+if ( $AUTOCONF --version ) < /dev/null > /dev/null 2>&1; then
echo "Building configure..."
- for dir in . lib/reLyX sigc++ boost ; do
- echo -e "\t$dir"
+ for dir in . lib/reLyX ; do
+ echo " $dir"
( cd $dir ; $AUTOCONF )
done
-# $AUTOCONF ; ( cd lib/reLyX ; $AUTOCONF ) ; ( cd sigc++; $AUTOCONF )
-# ( cd boost; $AUTOCONF )
echo "done."
else
echo "autoconf not found -- aborting"
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
-fi
+echo -n "Building lib/configure ... "
+rm -f lib/configure
+$GNUM4 lib/configure.m4 > lib/configure
+chmod a+x lib/configure
+echo "done."
echo
echo 'run "./configure ; make"'