X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=autogen.sh;h=a12f744542194c460b55f49b9930e71a5c2210fd;hb=ef04549d8d0337573d5d856929a108c3132f93b7;hp=ffbf543bcd79f133df393239d0f55be190e8acf5;hpb=8dccec5c46a1689fe3ea37144252e952771e1e1c;p=lyx.git diff --git a/autogen.sh b/autogen.sh index ffbf543bcd..a12f744542 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,91 +1,95 @@ #!/bin/sh -ACLOCAL=aclocal -AUTOHEADER=autoheader -AUTOMAKE="automake -a -c --foreign" -AUTOCONF=autoconf +ACLOCAL="aclocal -I m4 -I config" +AUTOHEADER="autoheader" +AUTOMAKE="automake --add-missing --force-missing --copy --foreign" +AUTOCONF="autoconf" + +# 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.8" + exit 1 +} + +case $automake_version in + *' '1.[8-9]*|*' '1.1[0123]*) + ;; + *) + + echo "This automake version is not supported by LyX." + echo "LyX only supports automake 1.8 to 1.13." + exit 1 + ;; +esac + +# Discover what version of autoconf we are using. +autoversion=`$AUTOCONF --version 2>/dev/null | head -n 1` + +test "$autoversion" != "" && { + echo "Using $autoversion" +} || { + echo "LyX requires autoconf >= 2.60" + exit 1 +} + + +case $autoversion in + *' '2.60[ab]|*' '2.6[0-9]) + ;; + *) + echo "This autoconf version is not supported by LyX." + echo "LyX only supports autoconf 2.60-2.69." + exit 1 + ;; +esac + +# 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 "Building macros." - $ACLOCAL ; (cd lib/reLyX; $ACLOCAL ) +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 "Building config header template" +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 "Building Makefile templates" - $AUTOMAKE ; (cd lib/reLyX ; $AUTOMAKE ) +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 "Building configure" - $AUTOCONF ; ( cd lib/reLyX ; $AUTOCONF ) - echo 'run "./configure ; make"' +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. 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 -# Why not use --version ? (Lgb) -for prog in $M4 gm4 gnum4 m4 ; do - case `$prog --version 2>&1` in - *GNU*) 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 +echo "Building po/POTFILES.in..." +if (! make -s -f po/Rules-lyx srcdir=po top_srcdir=. po/POTFILES.in ); then + echo "Building po/POTFILES.in failed -- aborting" + exit 1 fi -echo "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 -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