]> git.lyx.org Git - lyx.git/blobdiff - autogen.sh
Update of documentation in the source related to bug 4135 and the function callback...
[lyx.git] / autogen.sh
index 3c1e8a6e4fd368f3e107230b79b5470f4f7a3c37..b9b81f6d76441307c0a87eacefd64e33a0539079 100755 (executable)
@@ -1,75 +1,89 @@
 #!/bin/sh
 
-# Discover what version of autoconf we are using.
-autoversion=`autoconf --version | head -n 1`
+ACLOCAL="aclocal -I m4 -I config"
+AUTOHEADER="autoheader"
+AUTOMAKE="automake --add-missing --copy --foreign"
+AUTOCONF="autoconf"
 
-case $autoversion in
-    *2.13)
-       cp config/acconfig.h .
-       cp config/configure.in .
-       rm -f configure.ac
-       cp config/relyx_configure.in lib/reLyX/configure.in
-       rm -f lib/reLyX/configure.ac
-       ;;
-    *2.5[23])
-       rm -f acconfig.h
-       rm -f configure.in
-       cp config/configure.ac .
-       rm -f lib/reLyX/configure.in
-       cp config/relyx_configure.ac lib/reLyX/configure.ac
+# 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.5"
+    exit 1
+}
+
+case $automake_version in
+    *' '1.[5-9]*|*' '1.10*)
        ;;
     *)
-       echo "You are running autoconf $autoversion, that"
-       echo "version is not supported by LyX."
-       echo "LyX only supports autoconf 2.13 and 2.53."
-       exit
+
+       echo "This automake version is not supported by LyX."
+       echo "LyX only supports automake 1.5 to 1.10."
+       exit 1
        ;;
 esac
 
+# Discover what version of autoconf we are using.
+autoversion=`$AUTOCONF --version 2>/dev/null | head -n 1`
 
-ACLOCAL=aclocal
-AUTOHEADER="autoheader"
-AUTOMAKE="automake -a -c --foreign"
-AUTOCONF="autoconf"
-GNUM4=
+test "$autoversion" != "" && {
+    echo "Using $autoversion"
+} || {
+    echo "LyX requires autoconf >= 2.52"
+    exit 1
+}
 
-ACINCLUDE_FILES="lyxinclude.m4 libtool.m4 codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4 progtest.m4 xforms.m4 qt.m4 gtk--.m4 gnome--.m4 gnome.m4 pspell.m4 pkg.m4"
-SIGCPP_ACINCLUDE_FILES="libtool.m4"
+case $autoversion in
+    *' '2.5[2-9]|*' '2.60[ab]|*' '2.6[0-1])
+       ;;
+    *)
+       echo "This autoconf version is not supported by LyX."
+       echo "LyX only supports autoconf 2.52-2.61."
+       exit 1
+       ;;
+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 1
+else
+       echo `which $GNUM4`
 fi
 
-# Generate acinclude.m4
-echo -n "Generate acinclude.m4... "
-rm -f acinclude.m4
-(cd config ; cat ${ACINCLUDE_FILES} >../acinclude.m4)
-echo "done."
+# 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
+if ( $ACLOCAL --version ) < /dev/null > /dev/null 2>&1; then
        echo "Building macros..."
-       for dir in . lib/reLyX ; do
+       for dir in . ; do
            echo "        $dir"
            ( cd $dir ; $ACLOCAL )
        done
        echo "done."
 else
        echo "aclocal not found -- aborting"
-       exit
+       exit 1
 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 . ; do
            echo "        $dir"
@@ -78,43 +92,31 @@ if ( $AUTOHEADER --version ) </dev/null > /dev/null 2>&1; then
        echo "done."
 else
        echo "autoheader not found -- aborting"
-       exit
+       exit 1
 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 ; do
+       for dir in . ; do
            echo "        $dir"
            ( cd $dir ; $AUTOMAKE )
        done
        echo "done."
 else
        echo "automake not found -- aborting"
-       exit
+       exit 1
 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 ; do
+       for dir in . ; do
            echo "       $dir"
            ( cd $dir ; $AUTOCONF )
        done
        echo "done."
 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