X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=autogen.sh;h=8e8942af3b1515b2222fd6ed13d6c0e32b2982ff;hb=7e0d41ce51ff15365d1de62dcfa97ef8966edf4c;hp=ea2358ed909b59a4d6981a721b851a828436b4d9;hpb=b6b2e8ab8e3751a7859fde5f9120d192e636498b;p=lyx.git diff --git a/autogen.sh b/autogen.sh index ea2358ed90..8e8942af3b 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,116 +1,75 @@ #!/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 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 -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 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 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 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 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 < 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