]> git.lyx.org Git - lyx.git/blobdiff - autogen.sh
One letter typo
[lyx.git] / autogen.sh
index 997cb75362ab8bab9ea9dbdfd0d49baa4ee0f9ae..1b567a9fc2f924d10a145708aab919c47d46daf7 100755 (executable)
 #!/bin/sh
 
-ACLOCAL=aclocal
-AUTOHEADER=autoheader
+ACLOCAL="aclocal"
+AUTOHEADER="autoheader"
 AUTOMAKE="automake -a -c --foreign"
-AUTOCONF=autoconf
+AUTOCONF="autoconf"
+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 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.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
+       EXTRA_ACINCLUDE_FILES="lyxinclude213.m4"
+       ;;
+    *2.5[23467])
+       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
+       EXTRA_ACINCLUDE_FILES="lyxinclude25x.m4"
+       ;;
+    *)
+       echo "This autoconf version is not supported by LyX."
+       echo "LyX only supports autoconf 2.13 and 2.5[236]."
+       exit
+       ;;
+esac
+
+echo -n "Locating GNU m4... "
+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$GNUM4 = x ; then
+       echo "not found."
+       exit
+else
+       echo `which $GNUM4`
+fi
+
+# Generate acinclude.m4
+echo -n "Generate acinclude.m4... "
+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
-       echo "Building macros."
-       $ACLOCAL ; (cd lib/reLyX; $ACLOCAL )
+if ( $ACLOCAL --version ) < /dev/null > /dev/null 2>&1; then
+       echo "Building macros..."
+       for dir in . lib/reLyX ; do
+           echo "        $dir"
+           ( cd $dir ; $ACLOCAL )
+       done
+       echo "done."
 else
        echo "aclocal not found -- aborting"
        exit
 fi
 
-if ( autoheader --version ) </dev/null > /dev/null 2>&1; then
-       echo "Building config header template"
-       $AUTOHEADER
+if ( $AUTOHEADER --version ) < /dev/null > /dev/null 2>&1; then
+       echo "Building config header template..."
+       for dir in . ; do
+           echo "        $dir"
+           ( cd $dir ; $AUTOHEADER )
+       done
+       echo "done."
 else
        echo "autoheader not found -- aborting"
        exit
 fi
 
-if ( $AUTOMAKE --version ) </dev/null > /dev/null 2>&1; then
-       echo "Building Makefile templates"
-       $AUTOMAKE ; (cd lib/reLyX ; $AUTOMAKE )
+if ( $AUTOMAKE --version ) < /dev/null > /dev/null 2>&1; then
+       echo "Building Makefile templates..."
+       for dir in . lib/reLyX ; do
+           echo "        $dir"
+           ( cd $dir ; $AUTOMAKE )
+       done
+       echo "done."
 else
        echo "automake not found -- aborting"
        exit
 fi
 
-if ( $AUTOCONF --version ) </dev/null > /dev/null 2>&1; then
-       echo "Building configure"
-       $AUTOCONF ; ( cd lib/reLyX ; $AUTOCONF )
-       echo 'run "./configure ; make"'
+if ( $AUTOCONF --version ) < /dev/null > /dev/null 2>&1; then
+       echo "Building configure..."
+       for dir in . lib/reLyX ; do
+           echo "       $dir"
+           ( cd $dir ; $AUTOCONF )
+       done
+       echo "done."
 else
        echo "autoconf not found -- aborting"
        exit
 fi
 
-# Autogenerate lib/configure.m4. We need GNU m4 for that and thus have
-# to try several ones.  
-ok=no
-for prog in $M4 gm4 gnum4 m4 ; do
-  case `$prog --help < /dev/null 2>&1 | grep traditional` in
-    *traditional*) echo "Building lib/configure"
-                  rm -f lib/configure
-                  $prog lib/configure.m4 >lib/configure
-                  chmod a+x lib/configure
-                  ok=yes
-                  break ;;
-    *) ;;
-  esac
-done
-if test $ok = no ; then
-    echo "GNU m4 not found -- aborting"
-    exit
-fi
-
-echo "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
+# Autogenerate lib/configure.m4.
+echo -n "Building lib/configure ... "
+rm -f lib/configure
+$GNUM4 lib/configure.m4 > lib/configure
+chmod a+x lib/configure
+echo "done."
 
-grep -E "_\(\".*\"\)" `find src -name \*.[hHC]` | \
-awk 'BEGIN {FS= ":"} {print $1}' | sort -f -d | uniq >> tmppot
-mv tmppot po/POTFILES.in
-echo "done"
+echo
+echo 'run "./configure ; make"'
+echo