X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=autogen.sh;h=abdf7f0e146ab32ade1c69ff4d326c3f16299135;hb=07d1d2cd4f6407e79e04cfb21a90abab448c953e;hp=4ac8401410c43190ba6c7e13aed0354f4a48cd29;hpb=f28db60cca02b0e0df73bda2ff466dd5131be906;p=lyx.git diff --git a/autogen.sh b/autogen.sh index 4ac8401410..abdf7f0e14 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,42 +1,70 @@ #!/bin/sh ACLOCAL=aclocal -AUTOHEADER=autoheader +AUTOHEADER="autoheader" AUTOMAKE="automake -a -c --foreign" -AUTOCONF=autoconf -GNUM4= +AUTOCONF="autoconf" + +# 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 + ;; + *2.5[23]) + 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 + ;; + *) + echo "This autoconf version is not supported by LyX." + echo "LyX only supports autoconf 2.13 and 2.53." + exit + ;; +esac + + +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 pspell.m4 pkg.m4" +SIGCPP_ACINCLUDE_FILES="libtool.m4" 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 +else + echo `which $GNUM4` 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/qt2.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 +rm -f acinclude.m4 +(cd config ; cat ${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 sigc++ ; do + for dir in . lib/reLyX ; do echo " $dir" ( cd $dir ; $ACLOCAL ) done @@ -46,9 +74,9 @@ else exit 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 . sigc++ ; do + for dir in . ; do echo " $dir" ( cd $dir ; $AUTOHEADER ) done @@ -58,9 +86,9 @@ else exit 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 sigc++ ; do + for dir in . lib/reLyX ; do echo " $dir" ( cd $dir ; $AUTOMAKE ) done @@ -70,9 +98,9 @@ else exit 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 sigc++ ; do + for dir in . lib/reLyX ; do echo " $dir" ( cd $dir ; $AUTOCONF ) done @@ -83,16 +111,11 @@ else 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 -fi +echo -n "Building lib/configure ... " +rm -f lib/configure +$GNUM4 lib/configure.m4 > lib/configure +chmod a+x lib/configure +echo "done." echo echo 'run "./configure ; make"'