]> git.lyx.org Git - lyx.git/blobdiff - autogen.sh
Whitespace
[lyx.git] / autogen.sh
index f915b16813ccfe1c507761fce0bcd7bcd351c577..8e8942af3b1515b2222fd6ed13d6c0e32b2982ff 100755 (executable)
 #!/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"
 
-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."
+# Discover what version of automake we are using.
+automake_version=$($AUTOMAKE --version 2>/dev/null | head -n 1)
+
+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
-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/gtk--.m4 config/gnome--.m4 config/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."
+# 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
 
-# Generate the ext_l10n.h
-echo -n "Generate the ext_l10n file..."
-rm -f src/ext_l10n.h
-# first the ui file(s)
-grep -i -E "submenu|item|optitem" < lib/ui/default.ui | cut -d '"' -f 2 | awk '{printf "_(\"%s\");\n", $0}' > src/ext_l10n.h
-# then the layout files
-cat lib/layouts/*.layout lib/layouts/*.inc | grep -i -E "[ ]*style .+$" | cut -d ' ' -f 2 | sort | uniq | awk '{printf "_(\"%s\");\n", $0}' >> src/ext_l10n.h
-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
-       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
+       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 -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 -l -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 'run "./configure && make"'
 echo