From kde-core-devel Sat Apr 01 16:37:53 2000 From: Michael Matz Date: Sat, 01 Apr 2000 16:37:53 +0000 To: kde-core-devel Subject: [patch] faster Makefile.in -> Makefile translation X-MARC-Message: https://marc.info/?l=kde-core-devel&m=95460714422505 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--579724802-1398754544-954607073=:23722" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --579724802-1398754544-954607073=:23722 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi (esp. coolo, David and people interested in configure), as everybody knows, the most time in configure-ing a package is taken by the process to substitute all @xx@ variables from Makefile.in into the actual values in Makefile. Unfortunately this affects not only developers, but also users which compile from source (or are using snapshots). (I'm talking about 'creating /Makefile') Last night I had finally enough, and decided to rewrite the main loop from config.status in perl. After some battling with autoconf there was a result, which you can find in the attached patch. Timings for one config.status run (wich recreates all Makefiles, and is also run by configure): package old config.status new config.status kdelibs 2m59.425s 0m12.920s kdebase 6m17.323s 0m21.872s kdemultimedia 1m6.419s 0m4.454s kdegraphics 1m2.160s 0m3.785s So it's nearly 18 times (!) as fast. Of course I had tested the generated Makefiles, if they differ with this new method. No differences. I've tried it with srcdir!=blddir. The create_makefile script also works with the new method (and is real fast now ;). To try it, just apply the patch into kde-common. Then normally 'make -f Makefile.cvs' . There is a new configure switch (--enable-fast-perl), which activetes the new behaviour. If this switch is not given, the old method is invoked. Beware, that you must have perl in PATH by the time you run configure or config.status, and that .../admin/config.pl is accessible, if you want use this switch. This would also have to be distributed with snapshots and sources. To integrate the script into the configure mechanism I had to hack two methods from autoconf (AC_OUTPUT and AC_OUTPUT_FILES, now called KDE_OUTxxx). I used autoconf 2.13 as base. I'm interested if there are any problems with other autoconf versions. Basically instead of using AC_OUTPUT in configure.in you now use KDE_OUTPUT. I've changed Makefile.common to generate configure.in this way. The problem is, that automake depends on AC_OUTPUT to find the Makefile.am's, so right now Makefile.common generates AC_OUTPUT, and just before autoconf is called it replaces it with KDE_OUTPUT. (Hacky, I know. But one can't simply redefine autoconf methods, if the frozen version of autoconf is used, which is the case most times). Ciao, Michael. --579724802-1398754544-954607073=:23722 Content-Type: APPLICATION/x-gunzip; name="kde-comm.diff.gz" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="kde-comm.diff.gz" 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 --579724802-1398754544-954607073=:23722--