Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:7334 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 68251 invoked by uid 1010); 26 Jan 2004 13:15:32 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 68227 invoked from network); 26 Jan 2004 13:15:32 -0000 Received: from unknown (HELO henry.newn.cam.ac.uk) (131.111.204.130) by pb1.pair.com with SMTP; 26 Jan 2004 13:15:32 -0000 Received: from quartz.newn.cam.ac.uk ([131.111.204.180]) by henry.newn.cam.ac.uk with esmtp (Exim 4.20) id 1Al6aO-0004ul-EF; Mon, 26 Jan 2004 13:15:28 +0000 Received: from prlw1 by quartz.newn.cam.ac.uk with local (Exim 4.20) id 1Al6aO-0005dT-B2; Mon, 26 Jan 2004 13:15:28 +0000 Date: Mon, 26 Jan 2004 13:15:28 +0000 To: Sascha Schumann Cc: internals@lists.php.net Message-ID: <20040126131528.GA19697@quartz.newn.cam.ac.uk> References: <20040121165220.GH6748@quartz.newn.cam.ac.uk> <20040122110338.GB7285@quartz.newn.cam.ac.uk> <20040122141708.GA8827@quartz.newn.cam.ac.uk> <20040122152248.GC8827@quartz.newn.cam.ac.uk> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="wRRV7LY7NUeQGEoC" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.5.1i Subject: Re: [PHP-DEV] buildconf From: prlw1@newn.cam.ac.uk (Patrick Welche) --wRRV7LY7NUeQGEoC Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, Jan 23, 2004 at 08:51:16AM +0100, Sascha Schumann wrote: > > The above still stands. I would call your use of the autotools > > unorthodox. > > The problem with a number of autotools is that they are > unsuitable for large projects which contain a huge number of > independent modules. We initially kicked out automake > because of that reason and furthermore don't recommend using > autoconf 2.50+ (slow, buggy and incomplete, albeit some nice > portability work has gone into it). > > libtool.m4 is copied manually due to removing aclocal > (automake tool) from the build chain. I'm not aware of a > command to copy libtool.m4 itself. I see what you mean... > If you want to propose modifications to the current build > chain, feel free to post a patch. As mentioned the real culprit was simply the check for libtool.m4 in buildcheck which happens before build2.mk. The following patch essentially moves this check to build2.mk. I have a warning: cat: aclocal.m4: No such file or directory which I don't undersand.. The only line I can think of is from cat acinclude.m4 $$ltfile $$ltsugar > $@ Not a general test, but I can at least build and install php now :-) Cheers, Patrick --wRRV7LY7NUeQGEoC Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=phppat Index: configure.in =================================================================== RCS file: /repository/php-src/configure.in,v retrieving revision 1.490 diff -c -r1.490 configure.in *** configure.in 17 Jan 2004 12:59:11 -0000 1.490 --- configure.in 26 Jan 2004 13:06:50 -0000 *************** *** 143,152 **** AC_MSG_RESULT(${1}.${2} (ok)) fi AC_PROG_LEX ! if test -n "$LEX"; then ! AC_DECL_YYTEXT ! : ! fi dnl ## Make flex scanners use const if they can, even if __STDC__ is not dnl ## true, for compilers like Sun's that only set __STDC__ true in dnl ## "limit-to-ANSI-standard" mode, not in "ANSI-compatible" mode --- 143,155 ---- AC_MSG_RESULT(${1}.${2} (ok)) fi AC_PROG_LEX ! # The following is redundant as AC_DECL_YYTEXT is now integrated in AC_PROG_LEX ! AC_CACHE_CHECK([yytext declaration (if [AC@&t@_PROG_LEX] is old)], ! ac_cv_prog_lex_yytext_pointer, ! [if test -n "$LEX"; then ! AC_DECL_YYTEXT ! : ! fi]) dnl ## Make flex scanners use const if they can, even if __STDC__ is not dnl ## true, for compilers like Sun's that only set __STDC__ true in dnl ## "limit-to-ANSI-standard" mode, not in "ANSI-compatible" mode Index: build/build2.mk =================================================================== RCS file: /repository/php-src/build/build2.mk,v retrieving revision 1.30 diff -c -r1.30 build2.mk *** build/build2.mk 8 Jan 2004 17:31:49 -0000 1.30 --- build/build2.mk 26 Jan 2004 13:06:51 -0000 *************** *** 30,36 **** acconfig_h_SOURCES = acconfig.h.in $(config_h_files) ! targets = $(TOUCH_FILES) configure $(config_h_in) all: $(targets) --- 30,36 ---- acconfig_h_SOURCES = acconfig.h.in $(config_h_files) ! targets = $(TOUCH_FILES) aclocal.m4 configure $(config_h_in) all: $(targets) *************** *** 54,63 **** aclocal.m4: configure.in acinclude.m4 @echo rebuilding $@ @libtoolize=`./build/shtool path glibtoolize libtoolize`; \ ! $$libtoolize --copy --automake; \ ! ltpath=`dirname $$libtoolize`; \ ! ltfile=`cd $$ltpath/../share/aclocal; pwd`/libtool.m4; \ ! cat acinclude.m4 $$ltfile > $@ configure: aclocal.m4 configure.in $(config_m4_files) @echo rebuilding $@ --- 54,89 ---- aclocal.m4: configure.in acinclude.m4 @echo rebuilding $@ @libtoolize=`./build/shtool path glibtoolize libtoolize`; \ ! $$libtoolize --copy --automake ! # Using AC_CONFIG_MACRO_DIR from post 2003-10-08 autoconf 2.57f ! # avoids the `pwd` guessing. ! # Letting automake generate aclocal.m4 has the advantage of just including ! # those macros which are needed (eg. not the whole of ltsugar.m4) ! # However, quoting from "The Future of `aclocal'": ! # `aclocal' is expected to disappear. This feature really should not be ! # offered by Automake. ! # so there isn't a real solution yet, and depending on automake just to ! # have aclocal seems over the top. ! ltfile="`pwd`/libtool.m4"; \ ! ltsugar=""; \ ! if test -f $$ltfile; then \ ! ltsugar="`pwd`/ltsugar.m4"; \ ! if test ! -f $$ltsugar; then \ ! ltsugar=""; \ ! fi; \ ! else \ ! ltpath=`dirname $$libtoolize`; \ ! ltfile=`cd $$ltpath/../share/aclocal; pwd`/libtool.m4; \ ! echo "there: $$ltfile"; \ ! fi; \ ! if test -r "$ltfile"; then \ ! : \ ! else \ ! echo "buildconf: $ltfile does not exist."; \ ! echo " Please reinstall libtool."; \ ! exit 1; \ ! fi; \ ! cat acinclude.m4 $$ltfile $$ltsugar > $@ configure: aclocal.m4 configure.in $(config_m4_files) @echo rebuilding $@ Index: build/buildcheck.sh =================================================================== RCS file: /repository/php-src/build/buildcheck.sh,v retrieving revision 1.30 diff -c -r1.30 buildcheck.sh *** build/buildcheck.sh 8 Jan 2004 17:31:49 -0000 1.30 --- build/buildcheck.sh 26 Jan 2004 13:06:51 -0000 *************** *** 50,55 **** --- 50,56 ---- stamp= fi + # libtoolize 1.4.3 or newer # Prefer glibtoolize over libtoolize for Mac OS X compatibility libtoolize=`./build/shtool path glibtoolize libtoolize 2> /dev/null` *************** *** 61,74 **** exit 1 fi IFS=.; set $lt_pversion; IFS=' ' ! if test "$3" = ""; then ! third=0 else ! third=$3 fi ! if test "$1" -gt "1" || test "$2" -ge "5" || (test "$2" -ge "4" && test "$third" -ge "3") then echo "buildconf: libtool version $lt_pversion (ok)" else --- 62,94 ---- exit 1 fi IFS=.; set $lt_pversion; IFS=' ' ! lt_first=$1 ! lt_second=$2 if test "$3" = ""; then ! lt_third=0 else ! lt_third=$3 ! fi ! ! # since 2003-11-26 / 1.5a, libtoolize --version looks like ! # libtoolize (GNU $PACKAGE$TIMESTAMP) $VERSION ! # for example ! # libtoolize (GNU libtool 1.1385 2004/01/22 22:25:42) 1.5a ! set $lt_second ! if test "$1" -gt "1000"; then ! # last sed to remove 'a' in 1.5a ! lt_pversion=`$libtoolize --version 2>/dev/null|head -n 1|sed 's/^.*) //'` ! IFS=.; set $lt_pversion; IFS=' ' ! lt_first=$1 ! lt_second=`echo $2|sed 's/[^0-9.]*$//'` ! if test "$3" = ""; then ! lt_third=0 ! else ! lt_third=$3 ! fi fi ! if test "$lt_first" -gt "1" || test "$lt_second" -ge "5" || (test "$lt_second" -ge "4" && test "$lt_third" -ge "3") then echo "buildconf: libtool version $lt_pversion (ok)" else *************** *** 78,93 **** exit 1 fi - ltpath=`echo $libtoolize | sed -e 's#/[^/]*/[^/]*$##'` - ltfile="$ltpath/share/aclocal/libtool.m4" - if test -r "$ltfile"; then - : - else - echo "buildconf: $ltfile does not exist." - echo " Please reinstall libtool." - exit 1 - fi - test -n "$stamp" && touch $stamp exit 0 --- 98,103 ---- --wRRV7LY7NUeQGEoC--