X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=autogen.sh;h=a813a1e56dd0f126aba3eb903d285b766cdec496;hb=b4b9c09202bff369ef8b1f1b79ba59d67116c6cd;hp=e80bedb7fb8237fd2a957ede3bdfe4461c75b95a;hpb=b27dffb7afefdcc4b2ede531ff065f2aa5ffe6c9;p=lyx.git diff --git a/autogen.sh b/autogen.sh index e80bedb7fb..a813a1e56d 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,48 +1,97 @@ #!/bin/sh -ACLOCAL=aclocal -AUTOHEADER=autoheader -AUTOMAKE="automake -a -c --foreign" -AUTOCONF=autoconf -GNUM4= +ACLOCAL="aclocal -I ${PWD}/m4" +AUTOHEADER="autoheader" +AUTOMAKE="automake --add-missing --copy --foreign" +AUTOCONF="autoconf" +ACINCLUDE_FILES="lyxinclude.m4 libtool.m4 qt.m4 gtk--.m4 gnome--.m4 gnome.m4 spell.m4 pkg.m4" + +# 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.9" + exit 1 +} + +case $automake_version in + *' '1.9*) + ;; + *) + + echo "This automake version is not supported by LyX." + echo "LyX only supports automake 1.9." + exit 1 + ;; +esac + +# Discover what version of autoconf we are using. +autoversion=`$AUTOCONF --version 2>/dev/null | head -n 1` -ACINCLUDE_FILES="lyxinclude.m4 libtool.m4 codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4 progtest.m4 xforms.m4 qt2.m4 gtk--.m4 gnome--.m4 gnome.m4 pspell.m4 pkg.m4" -SIGCPP_ACINCLUDE_FILES="libtool.m4" +test "$autoversion" != "" && { + echo "Using $autoversion" +} || { + echo "LyX requires autoconf >= 2.52" + exit 1 +} + +case $autoversion in + *' '2.5[2-9]) + EXTRA_ACINCLUDE_FILES="lyxinclude25x.m4" + ;; + *) + echo "This autoconf version is not supported by LyX." + echo "LyX only supports autoconf 2.5[2-9]." + 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 +# Delete old cache directories. +# automake will stop if their contents was created by an earlier version. +rm -rf autom4te.cache + # Generate acinclude.m4 echo -n "Generate acinclude.m4... " rm -f acinclude.m4 -(cd config ; cat ${ACINCLUDE_FILES} >../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 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 2>&1; then +if ( $AUTOHEADER --version ) < /dev/null > /dev/null 2>&1; then echo "Building config header template..." for dir in . ; do echo " $dir" @@ -51,43 +100,31 @@ if ( $AUTOHEADER --version ) /dev/null 2>&1; then echo "done." else echo "autoheader not found -- aborting" - exit + exit 1 fi -if ( $AUTOMAKE --version ) /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 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