X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=autogen.sh;h=5265cc4f5c6cc033f9f33e2152d1282d6677c9f6;hb=839ee4155923b96a5d0cc351664ed9db217044e8;hp=a4086511e776f8023aec670fc52046f66faa8462;hpb=1d00ad9765ae80f0bde9c0d4b1338545e44ead11;p=lyx.git diff --git a/autogen.sh b/autogen.sh index a4086511e7..5265cc4f5c 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,78 +1,108 @@ #!/bin/sh -ACLOCAL=aclocal -AUTOHEADER=autoheader +ACLOCAL="aclocal" +AUTOHEADER="autoheader" AUTOMAKE="automake -a -c --foreign" -AUTOCONF=autoconf +AUTOCONF="autoconf" +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 aspell.m4 pspell.m4 cygwin.m4 pkg.m4" + +# Discover what version of autoconf we are using. +autoversion=`$AUTOCONF --version | head -n 1` + +echo "Using $autoversion" +case $autoversion in + *2.5[234678]) + EXTRA_ACINCLUDE_FILES="lyxinclude25x.m4" + ;; + *) + echo "This autoconf version is not supported by LyX." + echo "LyX only supports autoconf 2.5[234678]." + exit + ;; +esac + +echo -n "Locating GNU m4... " +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$GNUM4 = x ; then + echo "not found." + exit +else + echo `which $GNUM4` +fi + +# Generate acinclude.m4 +echo -n "Generate acinclude.m4... " +rm -f 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 - echo "Building macros." - $ACLOCAL ; (cd lib/reLyX; $ACLOCAL ) +if ( $ACLOCAL --version ) < /dev/null > /dev/null 2>&1; then + echo "Building macros..." + for dir in . lib/reLyX ; do + echo " $dir" + ( cd $dir ; $ACLOCAL ) + done + echo "done." else echo "aclocal not found -- aborting" exit fi -if ( autoheader --version ) /dev/null 2>&1; then - echo "Building config header template" - $AUTOHEADER +if ( $AUTOHEADER --version ) < /dev/null > /dev/null 2>&1; then + echo "Building config header template..." + for dir in . ; do + echo " $dir" + ( cd $dir ; $AUTOHEADER ) + done + echo "done." else echo "autoheader not found -- aborting" exit fi -if ( $AUTOMAKE --version ) /dev/null 2>&1; then - echo "Building Makefile templates" - $AUTOMAKE ; (cd lib/reLyX ; $AUTOMAKE ) +if ( $AUTOMAKE --version ) < /dev/null > /dev/null 2>&1; then + echo "Building Makefile templates..." + for dir in . lib/reLyX ; do + echo " $dir" + ( cd $dir ; $AUTOMAKE ) + done + echo "done." else echo "automake not found -- aborting" exit fi -if ( $AUTOCONF --version ) /dev/null 2>&1; then - echo "Building configure" - $AUTOCONF ; ( cd lib/reLyX ; $AUTOCONF ) - echo 'run "./configure ; make"' +if ( $AUTOCONF --version ) < /dev/null > /dev/null 2>&1; then + echo "Building configure..." + for dir in . lib/reLyX ; do + echo " $dir" + ( cd $dir ; $AUTOCONF ) + done + echo "done." else echo "autoconf not found -- aborting" exit 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 - ok=yes - break ;; - *) ;; - esac -done -if test $ok = no ; then - echo "GNU m4 not found -- aborting" - exit -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 +# Autogenerate lib/configure.m4. +echo -n "Building lib/configure ... " +rm -f lib/configure +$GNUM4 lib/configure.m4 > lib/configure +chmod a+x lib/configure +echo "done." -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