* Re: [RFC] Update to current automake/autoconf/libtool versions.
@ 2002-12-05 11:08 Nathanael Nerode
2002-12-05 11:31 ` Andrew Cagney
` (5 more replies)
0 siblings, 6 replies; 20+ messages in thread
From: Nathanael Nerode @ 2002-12-05 11:08 UTC (permalink / raw)
To: klee, gdb-patches; +Cc: binutils, newlib, gcc
>1. Please make sure to coordinate with Nathanael Nerode, who is in the
>middle of extensive autoconf-related work in the GCC repository.
I really would like to see the tree using autoconf 2.5x as soon as
possible; if this can be done before I autoconfiscate the top level
(which is not autoconfiscated yet) it will save me an awful lot of
trouble, since I can then use autoconf 2.5x for that autoconfiscation.
:-/
Your patch as is updates
bfd binutils gas gdb gprof ld mmalloc opcodes rda sim utils
Can you please work up a patch for gcc 3.4 to update
boehm-gc fastjar gcc libf2c libffi libiberty libjava libobjc
libstdc++-v3 zlib
And a patch for Insight
itcl libgui
And one for Dejagnu
dejagnu expect
And for Newlib & Cygwin
libgloss newlib winsup
And one for
sid
and one for
intl
--
However, I think that it's OK to update one directory at a time,
provided we specify clearly what's going on, and get it all done before
the next release of anything.
Accordingly, I suggest getting clean patches for small sets of
directories, making sure they work, getting them reviewed, and then
putting them in; and then starting on the next set. Keep sending update
notices to the various lists regarding which directories use the 'new'
tools and which use the 'old'. If you can make scripts which work
correctly under *both* autoconf 2.5x *and* autoconf 2.13, by all means
do so *first*, and mark those scripts as "compatibile with both", of
course; but I expect that will only happen for the simplest directories.
If this is acceptable to other people in the various groups of course.
I expect this will generate a certain amount of breakage, but then so
did my changes. In both cases, it needs to be done, we just have to
make sure all the breakage gets fixed.
--Nathanael
P.S.
It was mentioned that autoconf2.5 scripts will have trouble with
building because of the top level passing down --target unconditionally.
Unfortunately I think some other aspects of the configure scripts
require --target to be passed down unconditionally. :-/ Otherwise I'd
just change it.
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [RFC] Update to current automake/autoconf/libtool versions. 2002-12-05 11:08 [RFC] Update to current automake/autoconf/libtool versions Nathanael Nerode @ 2002-12-05 11:31 ` Andrew Cagney 2002-12-05 13:31 ` Zack Weinberg ` (4 subsequent siblings) 5 siblings, 0 replies; 20+ messages in thread From: Andrew Cagney @ 2002-12-05 11:31 UTC (permalink / raw) To: Nathanael Nerode; +Cc: klee, gdb-patches, binutils, newlib, gcc > I really would like to see the tree using autoconf 2.5x as soon as > possible; if this can be done before I autoconfiscate the top level > (which is not autoconfiscated yet) it will save me an awful lot of > trouble, since I can then use autoconf 2.5x for that autoconfiscation. > :-/ > > Your patch as is updates > bfd binutils gas gdb gprof ld mmalloc opcodes rda sim utils > > Can you please work up a patch for gcc 3.4 to update > boehm-gc fastjar gcc libf2c libffi libiberty libjava libobjc > libstdc++-v3 zlib Just a step back here. Some of the directories listed below belong to the FSF, but some don't. I don't think anyone can be asking Klee to update non FSF code. That's why I asked Klee to drop RDA from the original list. > And a patch for Insight > itcl libgui > > And one for Dejagnu > dejagnu expect > And for Newlib & Cygwin > libgloss newlib winsup > > And one for > sid > > and one for > intl > > -- > However, I think that it's OK to update one directory at a time, > provided we specify clearly what's going on, and get it all done before > the next release of anything. I don't think we can guarentee that, but I think we can live with the consequences :-/ > Accordingly, I suggest getting clean patches for small sets of > directories, making sure they work, getting them reviewed, and then > putting them in; and then starting on the next set. Keep sending update > notices to the various lists regarding which directories use the 'new' > tools and which use the 'old'. If you can make scripts which work > correctly under *both* autoconf 2.5x *and* autoconf 2.13, by all means > do so *first*, and mark those scripts as "compatibile with both", of > course; but I expect that will only happen for the simplest directories. > > If this is acceptable to other people in the various groups of course. > > I expect this will generate a certain amount of breakage, but then so > did my changes. In both cases, it needs to be done, we just have to > make sure all the breakage gets fixed. Andrew > --Nathanael > > P.S. > It was mentioned that autoconf2.5 scripts will have trouble with > building because of the top level passing down --target unconditionally. > > Unfortunately I think some other aspects of the configure scripts > require --target to be passed down unconditionally. :-/ Otherwise I'd > just change it. > > > ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions. 2002-12-05 11:08 [RFC] Update to current automake/autoconf/libtool versions Nathanael Nerode 2002-12-05 11:31 ` Andrew Cagney @ 2002-12-05 13:31 ` Zack Weinberg 2002-12-05 14:36 ` Alan Modra 2002-12-05 14:29 ` Christopher Faylor ` (3 subsequent siblings) 5 siblings, 1 reply; 20+ messages in thread From: Zack Weinberg @ 2002-12-05 13:31 UTC (permalink / raw) To: Nathanael Nerode; +Cc: klee, gdb-patches, binutils, newlib, gcc Nathanael Nerode <neroden@twcny.rr.com> writes: > Accordingly, I suggest getting clean patches for small sets of > directories, making sure they work, getting them reviewed, and then > putting them in; and then starting on the next set. Keep sending update > notices to the various lists regarding which directories use the 'new' > tools and which use the 'old'. If you can make scripts which work > correctly under *both* autoconf 2.5x *and* autoconf 2.13, by all means > do so *first*, and mark those scripts as "compatibile with both", of > course; but I expect that will only happen for the simplest directories. I'd like to remind everyone involved that last I checked it was flat impossible to do what libstdc++-v3/configure.in needs to do, using autoconf 2.5x. I am not particularly sanguine about the situation having changed, since it involved the undocumented AC_NO_EXECUTABLES macro that as far as I know nobody but us has a use for -- and we're not using it, because it doesn't do what we need it to do. Until that is resolved, which will involve submitting patches to autoconf, getting them accepted upstream, and waiting for a release, gcc *cannot* move to autoconf 2.5x. We are not being stick-in-the-muds because we want to. (Please, I beg of you, prove me wrong about this problem.) I am concerned about the prospect of having the src repository update to 2.5x while the gcc repository is still stuck with 2.13. Having different parts of the combined tree need different versions of autotools is a recipe for disaster. But I do see a way forward. It goes like this. One directory at a time, we go through and do whatever it takes to get that directory's configure.in to work properly with both 2.13 and 2.5x, independent of what version of autoconf was used to generate configure in other directories. This may involve submitting patches to the autoconf maintainers. Whoever volunteers to do this must be willing to maintain these scripts in that state indefinitely -- I did it for the gcc subdirectory a year or so ago and I discovered a couple weeks back that it had mysteriously broken. Once the entire tree makes it into this state, we have a flag day where we bump AC_PREREQ and regenerate everything. And only then can we start using 2.5x specific features in configure scripts. As for libtool and automake, my suggestion is, as usual, that both should be eradicated from the face of the Earth; as this proposal is probably a non-starter, I decline to discuss what to do with them any further. zw ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions. 2002-12-05 13:31 ` Zack Weinberg @ 2002-12-05 14:36 ` Alan Modra 2002-12-05 14:56 ` Ian Lance Taylor 0 siblings, 1 reply; 20+ messages in thread From: Alan Modra @ 2002-12-05 14:36 UTC (permalink / raw) To: Zack Weinberg; +Cc: Nathanael Nerode, klee, gdb-patches, binutils, newlib, gcc On Thu, Dec 05, 2002 at 01:31:52PM -0800, Zack Weinberg wrote: > But I do see a way forward. It goes like this. One directory at a > time, we go through and do whatever it takes to get that directory's > configure.in to work properly with both 2.13 and 2.5x, independent of > what version of autoconf was used to generate configure in other > directories. This may involve submitting patches to the autoconf > maintainers. Whoever volunteers to do this must be willing to > maintain these scripts in that state indefinitely -- I did it for the > gcc subdirectory a year or so ago and I discovered a couple weeks back > that it had mysteriously broken. I'm concerned that this proposal may be raising the bar too high. How long has it been since some poor fool^H^H^H^H^H^H^H^H^Hbrave soul attempted to modernize binutils configury? It seems that the major impact of configuring parts of a tree using different autoconf versions will be on people using --enable-maintainer-mode, so another solution might be to extend --enable-maintainer-mode to accept a list of directories. I suspect most developers will only want --enable-maintainer-mode in the particular area they work on. -- Alan Modra IBM OzLabs - Linux Technology Centre ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions. 2002-12-05 14:36 ` Alan Modra @ 2002-12-05 14:56 ` Ian Lance Taylor 2002-12-05 15:22 ` Alan Modra 0 siblings, 1 reply; 20+ messages in thread From: Ian Lance Taylor @ 2002-12-05 14:56 UTC (permalink / raw) To: Alan Modra Cc: Zack Weinberg, Nathanael Nerode, klee, gdb-patches, binutils, newlib, gcc Alan Modra <amodra@bigpond.net.au> writes: > I'm concerned that this proposal may be raising the bar too high. > How long has it been since some poor fool^H^H^H^H^H^H^H^H^Hbrave soul > attempted to modernize binutils configury? It's only been a bit over five years since I reworked binutils configury to use automake and libtool. I guess it was about two years before that that Ken Raeburn and I changed the binutils to use autoconf. I'm sure I don't know why autoconf 2.5 is not called autoconf 3. Still, switching to autoconf 2.5 is surely a smaller change than either of those. It should be easy enough to extend AC_PREREQ a bit to make sure that people use the correct version of autoconf for the directory in question. Perhaps --enable-maintainer-mode could be extended to specify a PATH to use to find the tools. Ian ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions. 2002-12-05 14:56 ` Ian Lance Taylor @ 2002-12-05 15:22 ` Alan Modra 2002-12-05 15:43 ` Ian Lance Taylor ` (2 more replies) 0 siblings, 3 replies; 20+ messages in thread From: Alan Modra @ 2002-12-05 15:22 UTC (permalink / raw) To: zack, neroden, klee, gdb-patches, binutils, newlib, gcc On Thu, Dec 05, 2002 at 02:55:38PM -0800, Ian Lance Taylor wrote: > Perhaps --enable-maintainer-mode could be extended to specify a PATH > to use to find the tools. It would need to be on a per-directory basis. Something like --enable-maintainer-mode=\ "gdb:/usr/local/000227/bin,libstdc++-v3:/usr/local/oldauto/bin,*:yes" -- Alan Modra IBM OzLabs - Linux Technology Centre ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions. 2002-12-05 15:22 ` Alan Modra @ 2002-12-05 15:43 ` Ian Lance Taylor 2002-12-05 15:51 ` Andrew Cagney 2002-12-05 15:47 ` Mike Stump 2002-12-08 2:49 ` Klee Dienes 2 siblings, 1 reply; 20+ messages in thread From: Ian Lance Taylor @ 2002-12-05 15:43 UTC (permalink / raw) To: Alan Modra; +Cc: zack, neroden, klee, gdb-patches, binutils, newlib, gcc Alan Modra <amodra@bigpond.net.au> writes: > On Thu, Dec 05, 2002 at 02:55:38PM -0800, Ian Lance Taylor wrote: > > Perhaps --enable-maintainer-mode could be extended to specify a PATH > > to use to find the tools. > > It would need to be on a per-directory basis. Something like > > --enable-maintainer-mode=\ > "gdb:/usr/local/000227/bin,libstdc++-v3:/usr/local/oldauto/bin,*:yes" Yes, I suppose that would be required to support a single --enable-maintainer-mode at the top level. On the other hand, I personally usually run a basic configure at the top level, and then run configure again in the subdirectories for which I want to use --enable-maintainer-mode. Ian ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions. 2002-12-05 15:43 ` Ian Lance Taylor @ 2002-12-05 15:51 ` Andrew Cagney 0 siblings, 0 replies; 20+ messages in thread From: Andrew Cagney @ 2002-12-05 15:51 UTC (permalink / raw) To: Ian Lance Taylor Cc: Alan Modra, zack, neroden, klee, gdb-patches, binutils, newlib, gcc > > Yes, I suppose that would be required to support a single > --enable-maintainer-mode at the top level. > > On the other hand, I personally usually run a basic configure at the > top level, and then run configure again in the subdirectories for > which I want to use --enable-maintainer-mode. So _thats_ how to avoids maintainer mode on all but one directory... Andrew ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions. 2002-12-05 15:22 ` Alan Modra 2002-12-05 15:43 ` Ian Lance Taylor @ 2002-12-05 15:47 ` Mike Stump 2002-12-05 16:30 ` Alan Modra 2002-12-08 2:49 ` Klee Dienes 2 siblings, 1 reply; 20+ messages in thread From: Mike Stump @ 2002-12-05 15:47 UTC (permalink / raw) To: Alan Modra; +Cc: zack, neroden, klee, gdb-patches, binutils, newlib, gcc On Thursday, December 5, 2002, at 03:19 PM, Alan Modra wrote: > On Thu, Dec 05, 2002 at 02:55:38PM -0800, Ian Lance Taylor wrote: >> Perhaps --enable-maintainer-mode could be extended to specify a PATH >> to use to find the tools. > > It would need to be on a per-directory basis. Something like > > --enable-maintainer-mode=\ > "gdb:/usr/local/000227/bin,libstdc++-v3:/usr/local/oldauto/bin,*:yes" This is beyond gross. :-( Better to require autoconf-2.14 autoconf and then have each directory know which one to use, and require the advanced user to have these. OAUTOCONF = autoconf-2.14 AUTOCONF = autoconf and then use $(AUTOCONF) for new uses, and $(OAUTOCONF) for old uses. Also, we need a version check on the old autoconf to be sure that it isn't too new. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions. 2002-12-05 15:47 ` Mike Stump @ 2002-12-05 16:30 ` Alan Modra 2002-12-05 16:45 ` Zack Weinberg 0 siblings, 1 reply; 20+ messages in thread From: Alan Modra @ 2002-12-05 16:30 UTC (permalink / raw) To: Mike Stump; +Cc: zack, neroden, klee, gdb-patches, binutils, newlib, gcc On Thu, Dec 05, 2002 at 03:45:52PM -0800, Mike Stump wrote: > On Thursday, December 5, 2002, at 03:19 PM, Alan Modra wrote: > >On Thu, Dec 05, 2002 at 02:55:38PM -0800, Ian Lance Taylor wrote: > >>Perhaps --enable-maintainer-mode could be extended to specify a PATH > >>to use to find the tools. > > > >It would need to be on a per-directory basis. Something like > > > >--enable-maintainer-mode=\ > >"gdb:/usr/local/000227/bin,libstdc++-v3:/usr/local/oldauto/bin,*:yes" > > This is beyond gross. :-( Sniff. I'm sure I could make it a lot more gross. :) > Better to require > > autoconf-2.14 > autoconf > > and then have each directory know which one to use, and require the > advanced user to have these. > > OAUTOCONF = autoconf-2.14 > AUTOCONF = autoconf > > and then use $(AUTOCONF) for new uses, and $(OAUTOCONF) for old uses. > > Also, we need a version check on the old autoconf to be sure that it > isn't too new. The trouble with this idea is that older autoconf and automake aren't installed as $tool-$version, and last I checked, current autoconf doesn't install with a version suffix. Old tools really need to be installed with a different --prefix. Hmm, I suppose a few symbolic links would cure that problem. What happens if you need three three or four different versions of autoconf? -- Alan Modra IBM OzLabs - Linux Technology Centre ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions. 2002-12-05 16:30 ` Alan Modra @ 2002-12-05 16:45 ` Zack Weinberg 0 siblings, 0 replies; 20+ messages in thread From: Zack Weinberg @ 2002-12-05 16:45 UTC (permalink / raw) To: Mike Stump; +Cc: neroden, klee, gdb-patches, binutils, newlib, gcc Alan Modra <amodra@bigpond.net.au> writes: > > The trouble with this idea is that older autoconf and automake aren't > installed as $tool-$version, and last I checked, current autoconf > doesn't install with a version suffix. Old tools really need to be > installed with a different --prefix. Hmm, I suppose a few symbolic > links would cure that problem. What happens if you need three three > or four different versions of autoconf? Debian has a clever wrapper script (in the autoconf2.13 package) that causes configure to get regenerated using 2.13 unless there's an AC_PREREQ(2.5x) line in configure.in, or configure.in is named configure.ac. But I think that we really just ought to get the transition done, assuming that it is in fact possible. zw ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions. 2002-12-05 15:22 ` Alan Modra 2002-12-05 15:43 ` Ian Lance Taylor 2002-12-05 15:47 ` Mike Stump @ 2002-12-08 2:49 ` Klee Dienes 2 siblings, 0 replies; 20+ messages in thread From: Klee Dienes @ 2002-12-08 2:49 UTC (permalink / raw) To: Alan Modra; +Cc: zack, neroden, gdb-patches, binutils, newlib, gcc On Thursday, December 5, 2002, at 06:19 PM, Alan Modra wrote: > On Thu, Dec 05, 2002 at 02:55:38PM -0800, Ian Lance Taylor wrote: >> Perhaps --enable-maintainer-mode could be extended to specify a PATH >> to use to find the tools. > > It would need to be on a per-directory basis. Something like > > --enable-maintainer-mode=\ > "gdb:/usr/local/000227/bin,libstdc++-v3:/usr/local/oldauto/bin,*:yes" What if the rules generated by --enable-maintainer-mode were to pass a version number to each of the tools when using them to re-generate files? The version number passed would be the same version number used to generate the existing version of the generated files. Then the autotools could either dispatch to the correct version of the tool based on the version number, or perhaps generate an error if the version numbers did not match. In order to upgrade the generated files in a directory to a newer version, the user would have to explicitly run autoreconf or run he appropriate autotools directly. This would make it a lot harder for a maintainer to accidentally use the wrong version of an autotool when regenerating files in a directory. It would also make it possible to write a top-level script that would explicitly re-generate all of the files in a tree with explicitly specified versions (or at least verify that the versions being used were correct). Regardless of how we choose to do it, though, I think it's important that maintainers be able to update individual subdirectories to newer versions of the autotools independently of each other (even if the way we choose to do that is to say "don't run global --enable-maintainer-mode, and be aware of the versions of the autotools you are using"). If we don't, the bar for updating versions of autotools is just too high. Trying to coordinate a simultaneous upgrade of even a simple change across the combined src+gcc repository is a huge amount of work --- if that's the only way to do upgrades, it seems much more likely that the upgrades will tend to not get done. The thought of even *touching* sid is daunting to me, much less the thought of trying to claim that I've changed all of its Makefiles and understand the changes. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions. 2002-12-05 11:08 [RFC] Update to current automake/autoconf/libtool versions Nathanael Nerode 2002-12-05 11:31 ` Andrew Cagney 2002-12-05 13:31 ` Zack Weinberg @ 2002-12-05 14:29 ` Christopher Faylor 2002-12-06 6:45 ` Maciej W. Rozycki ` (2 subsequent siblings) 5 siblings, 0 replies; 20+ messages in thread From: Christopher Faylor @ 2002-12-05 14:29 UTC (permalink / raw) To: gdb-patches, binutils, newlib, gcc On Thu, Dec 05, 2002 at 02:07:28PM -0500, Nathanael Nerode wrote: >Can you please work up a patch for gcc 3.4 to update >boehm-gc fastjar gcc libf2c libffi libiberty libjava libobjc >libstdc++-v3 zlib > >And a patch for Insight >itcl libgui > >And one for Dejagnu >dejagnu expect > >And for Newlib & Cygwin >libgloss newlib winsup Remember that any changes to configury in newlib or cygwin *require approval*. Please don't just check in changes in these directories. CVS commit permission in gdb or binutils does not imply permission for cygwin, newlib, or most of the other directories in the 'src' repository. cgf ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions. 2002-12-05 11:08 [RFC] Update to current automake/autoconf/libtool versions Nathanael Nerode ` (2 preceding siblings ...) 2002-12-05 14:29 ` Christopher Faylor @ 2002-12-06 6:45 ` Maciej W. Rozycki 2002-12-08 10:53 ` Klee Dienes 2003-01-12 10:32 ` [RFC] Update to current automake/autoconf/libtool versions (take 2) Klee Dienes 5 siblings, 0 replies; 20+ messages in thread From: Maciej W. Rozycki @ 2002-12-06 6:45 UTC (permalink / raw) To: Nathanael Nerode; +Cc: klee, gdb-patches, binutils, newlib, gcc On Thu, 5 Dec 2002, Nathanael Nerode wrote: > It was mentioned that autoconf2.5 scripts will have trouble with > building because of the top level passing down --target unconditionally. > > Unfortunately I think some other aspects of the configure scripts > require --target to be passed down unconditionally. :-/ Otherwise I'd > just change it. Well, at least ${tooldir} requires to be set properly (that's typically ${exec_prefix}/${target_alias}) and currently it is done by passing --target which sets ${target_alias}. However it may be possible to set ${tooldir} based on ${host_alias} or even ${build_alias}, as ${*_alias} variables are empty if not set by a user. I think the order should be: if test "x${target_alias}" != x; then # Cross-tools tooldir = '${exec_prefix}'/${target_alias} elif test "x${host_alias}" != x; then # Native tools for a different host tooldir = '${exec_prefix}'/${host_alias} elif test "x${build_alias}" != x; then # Native tools using an explicit alias tooldir = '${exec_prefix}'/${build_alias} else # Native tools using a default alias tooldir = '${exec_prefix}'/${build} fi And then only pass these of --build, --host, --target to subdirectories which have their respective ${*_alias} variable set. Obviously ${program_prefix} should either only be set if ${target_alias} is not empty or use the above outline, too. I'll check if the approach works for me -- anyone interested is invited to do that, too. Maciej -- + Maciej W. Rozycki, Technical University of Gdansk, Poland + +--------------------------------------------------------------+ + e-mail: macro@ds2.pg.gda.pl, PGP key available + ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions. 2002-12-05 11:08 [RFC] Update to current automake/autoconf/libtool versions Nathanael Nerode ` (3 preceding siblings ...) 2002-12-06 6:45 ` Maciej W. Rozycki @ 2002-12-08 10:53 ` Klee Dienes 2003-01-12 10:32 ` [RFC] Update to current automake/autoconf/libtool versions (take 2) Klee Dienes 5 siblings, 0 replies; 20+ messages in thread From: Klee Dienes @ 2002-12-08 10:53 UTC (permalink / raw) To: Nathanael Nerode; +Cc: gdb-patches, binutils, newlib, gcc [-- Attachment #1: Type: text/plain, Size: 1807 bytes --] On Thursday, December 5, 2002, at 02:07 PM, Nathanael Nerode wrote: > > Unfortunately I think some other aspects of the configure scripts > require --target to be passed down unconditionally. :-/ Otherwise I'd > just change it. There's a useful thread on the host/target/build business in http://sources.redhat.com/ml/autoconf/2002-02/msg00059.html (which I imagine you're already familiar with, but it makes a nice reference). I did some preliminary experiments with modifying what the top-level configure passes down, and at least from the binutils/gdb side of things, it looked promising. I ended up changing the top-level configure semantics to match that of autoconf: configure --build=BUILD --host=HOST --target=TARGET UNDEFS 1. You aren't allowed to specify --host, --build, --target, and undefs at the same time. 2. Build defaults to undefs. 3. If undefs is not specified, then build defaults to the current host, as determined by config.guess. 4. Host defaults to undefs. 5. If undefs is not specified, then host defaults to build. 6. Target defaults to undefs. 7. If undefs is not specified, then target defaults to host. passing --host means you cross compile (whatever the relationship between host and build) passing --target means you build a cross-tool (whatever the relationship between host and target). --host and --target are only passed to sub-configures if they were explicitly passed to the top-level configure on the command-line. This fixed the problem with things installing in the wrong places; the only fallout was that the emulation-selection code in binutils/ needed to be changed to refer to $target instead of $target_alias. A basic gcc build appeared to work, but I didn't try anything more complicated than a stadard cross-compile setup. [-- Attachment #2: ChangeLog --] [-- Type: application/octet-stream, Size: 3396 bytes --] . 2002-12-04 Klee Dienes <kdienes@apple.com> * .cvsignore: Add autom4te.cache. * configure: Change the rules for build/host/target processing to the following: The inputs are: configure --build=BUILD --host=HOST --target=TARGET UNDEFS The rules are: 1. You aren't allowed to specify --host, --build, --target, and undefs at the same time. 2. Build defaults to undefs. 3. If undefs is not specified, then build defaults to the current host, as determined by config.guess. 4. Host defaults to undefs. 5. If undefs is not specified, then host defaults to build. 6. Target defaults to undefs. 7. If undefs is not specified, then target defaults to host. Only pass --host= and --target= to sub-configures when they are passed by the top-level configure. Treat the build as a cross-compilation whenever --target is specified, even if it matches the value of --build and --host. bfd 2002-12-04 Klee Dienes <kdienes@apple.com> * acinclude.m4: Remove include of libtool.m4. * configure.in: Use AC_DISABLE_SHARED and AC_PROG_LIBTOOL instead of the AM_ versions. binutils 2002-12-04 Klee Dienes <kdienes@apple.com> * Makefile.am (YLWRAP): Refer to the top-level ylwrap. * acinclude.m4: Remove include of libtool.m4. * configure.in: Use AC_PROG_LEX instead of AM_PROG_LEX. (EMULATION): Use $target, not $target_alias. gas 2002-12-04 Klee Dienes <kdienes@apple.com> * acinclude.m4: Remove include of libtool.m4. * configure.in: Pass explicit value to AC_CONFIG_FILES, not ${GDBINIT}. Use AC_CONFIG_FILES, AC_CONFIG_COMMANDS, and AC_OUTPUT, not the multi-argument AC_OUTPUT. gdb 2002-12-04 Klee Dienes <kdienes@apple.com> * Makefile.in: Update to new ylwrap calling conventions. * configure.in: Pass description string to AC_DEFINE. gdb/testsuite 2002-12-04 Klee Dienes <kdienes@apple.com> * gdb.hp/gdb.objdbg/configure.in: Remove objdbg0* from AC_CONFIG_SUBDIRS. gprof 2002-12-04 Klee Dienes <kdienes@apple.com> * acinclude.m4: Remove include of libtool.m4. ld 2002-12-04 Klee Dienes <kdienes@apple.com> * Makefile.am (YLWRAP): Refer to the top-level ylwrap. * acinclude.m4: Remove include of libtool.m4. libiberty 2002-12-04 Klee Dienes <kdienes@apple.com> * aclocal.m4: Use AC_LIBOBJ instead of setting LIBOBJS directly. Use _AC_LANG_COMPILER_GNU and $ac_compiler_gnu instead of AC_PROG_CC_GNU and $ac_cv_prog_gcc. Call _AC_COMPILER_OBJEXT to get the object file extension. Use AC_PROG_CC_G instead of _AC_PROG_CC_G. * configure.in: Use AC_LIBOBJ instead of setting LIBOBJS directly. opcodes 2002-12-04 Klee Dienes <kdienes@apple.com> * acinclude.m4: Remove include of libtool.m4. rda 2002-12-04 Klee Dienes <kdienes@apple.com> * configure.in: Use AC_PROG_LIBTOOL instead of AM_PROG_LIBTOOL. rda/lib 2002-12-04 Klee Dienes <kdienes@apple.com> * lib/Makefile.am: Remove noinst_LIBRARIES and librda_a_SOURCES (it's not possible to specify both a libtool version and a non-libtool version using the same object files). rda/unix 2002-12-04 Klee Dienes <kdienes@apple.com> * unix/configure.in: Pass description strings to AC_DEFINE. rda/win32 2002-12-04 Klee Dienes <kdienes@apple.com> * win32/configure.in: Pass description strings to AC_DEFINE. sim/common 2002-12-04 Klee Dienes <kdienes@apple.com> * aclocal.m4: Pass description strings to AC_DEFINE. [-- Attachment #3: files.sh --] [-- Type: application/octet-stream, Size: 1177 bytes --] echo "Versions:" dir=`echo $0 | sed -e 's/\/[^\/]*$//'` echo $dir libtool --version | grep \. | grep '(' | grep -v Copy 2>&1 autoconf --version | grep \. | grep '(' | grep -v Copy 2>&1 automake --version | grep \. | grep '(' | grep -v Copy 2>&1 gettext --version | grep \. | grep '(' | grep -v Copy 2>&1 # update=`grep '+++' $dir/bfd.txt | sed -e 's/+++ //' -e 's/[ ].*//'` # echo; echo Resetting: # echo Removing $update # rm -f $update # cvs -z9 -q update $update find . -name autom4te.cache | xargs rm -rf echo; echo "Patching:" patch -p0 < $dir/bfd.txt cp -p /usr/share/automake-1.7/depcomp . cp -p /usr/share/automake-1.7/missing . cp -p /usr/share/automake-1.7/mkinstalldirs . cp -p /usr/share/automake-1.7/ylwrap . cp -p /usr/share/libtool/ltmain.sh . rm -f ltcf-c.sh rm -f ltcf-cxx.sh rm -f ltcf-gcj.sh rm -f ltconfig rm -f libtool.m4 echo; echo "Configuring:" dirs="bfd binutils gas gdb gprof ld libiberty mmalloc opcodes rda sim utils" for i in $dirs; do dirs=`find $i -type d` dirs=`for j in $dirs; do if [ -f $j/configure.in ]; then echo $j; fi; done` for j in $dirs; do echo "Configuring $j" autoreconf -f -I`pwd` $j done done [-- Attachment #4: bfd.txt --] [-- Type: text/plain, Size: 40089 bytes --] --- .cvsignore 2002-12-04 12:16:15.000000000 -0500 +++ .cvsignore 2002-12-04 23:18:08.000000000 -0500 @@ -6,6 +6,7 @@ *-src *-stamp-* *-tagged +autom4te.cache blockit cfg-paper.info config.status --- configure Sat Nov 30 23:42:45 2002 +++ configure Sun Dec 8 01:08:59 2002 @@ -47,7 +47,7 @@ Makefile=Makefile Makefile_in=Makefile.in arguments= -build_alias= +build_alias=NOBUILD cache_file=config.cache cache_file_option= configdirs= @@ -400,71 +400,99 @@ esac done -# process host and target +# process build, host, and target # Do some error checking and defaulting for the host and target type. # The inputs are: -# configure --host=HOST --target=TARGET UNDEFS +# configure --build=BUILD --host=HOST --target=TARGET UNDEFS # # The rules are: -# 1. You aren't allowed to specify --host, --target, and undefs at the -# same time. -# 2. Host defaults to undefs. -# 3. If undefs is not specified, then host defaults to the current host, +# 1. You aren't allowed to specify --host, --build, --target, and undefs +# at the same time. +# 2. Build defaults to undefs. +# 3. If undefs is not specified, then build defaults to the current host, # as determined by config.guess. -# 4. Target defaults to undefs. -# 5. If undefs is not specified, then target defaults to host. +# 4. Host defaults to undefs. +# 5. If undefs is not specified, then host defaults to build. +# 6. Target defaults to undefs. +# 7. If undefs is not specified, then target defaults to host. case "${fatal}" in "") # Make sure that host, target & undefs aren't all specified at the # same time. - case $host_alias---$target_alias---$undefs in - NOHOST---*---* | *---NOTARGET---* | *---*---NOUNDEFS) + case $build_alias---$host_alias---$target_alias---$undefs in + NOBUILD---*---*---* | *---NOHOST---*---* | *---*---NOTARGET---* | *---*---*---NOUNDEFS) ;; - *) echo '***' Can only configure for one host and one target at a time. 1>&2 + *) echo '***' Can only configure for one build, host and target at a time. 1>&2 fatal=yes break 2 ;; esac - # Now, do defaulting for host. - case $host_alias in - NOHOST) + # Do defaulting for build. + case $build_alias in + NOBUILD) case $undefs in NOUNDEFS) - # Neither --host option nor undefs were present. + # Neither --build option nor undefs were present. # Call config.guess. guesssys=`echo ${progname} | sed 's/configure$/config.guess/'` - if host_alias=`${config_shell} ${guesssys}` + if build_alias=`${config_shell} ${guesssys}` then # If the string we are going to use for # the target is a prefix of the string - # we just guessed for the host, then + # we just guessed for the build, then # assume we are running native, and force - # the same string for both target and host. + # the same string for both target and build. case $target_alias in NOTARGET) ;; *) - if expr $host_alias : $target_alias >/dev/null + if expr $build_alias : $target_alias >/dev/null then - host_alias=$target_alias + echo "The target type ($target_alias) is a prefix of the build type ($build_alias)." + echo "Using $target_alias as the new build type." + build_alias=$target_alias fi ;; esac - echo "Configuring for a ${host_alias} host." - arguments="--host=$host_alias $arguments" + buildopt="--build=${build_alias}" + arguments="$buildopt $arguments" else - echo 'Config.guess failed to determine the host type. You need to specify one.' 1>&2 + echo 'Config.guess failed to determine the build type. You need to specify one.' 1>&2 fatal=yes fi ;; *) + build_alias=$undefs + buildopt="--build=${build_alias}" + arguments="$buildopt $arguments" + ;; + esac + ;; + *) + buildopt="--build=${build_alias}" + ;; + esac + + # Do defaulting for host. If --host option isn't present, default + # to undefs. If undefs isn't present, default to host. + case $host_alias in + NOHOST) + case $undefs in + NOUNDEFS) + host_alias="$build_alias" + ;; + *) host_alias=$undefs - arguments="--host=$host_alias $arguments" - undefs=NOUNDEFS + hostopt="--host=${host_alias}" + arguments="$hostopt $arguments" ;; esac + ;; + *) + hostopt="--host=${host_alias}" + ;; esac # Do defaulting for target. If --target option isn't present, default @@ -473,13 +501,18 @@ NOTARGET) case $undefs in NOUNDEFS) - target_alias=$host_alias + target_alias="$host_alias" ;; *) target_alias=$undefs - arguments="--target=$target_alias $arguments" + targetopt="--target=${target_alias}" + arguments="$targetopt $arguments" ;; esac + ;; + *) + targetopt="--target=${target_alias}" + ;; esac ;; *) ;; @@ -622,12 +655,8 @@ *) cache_file_option="--cache-file=${cache_file}" ;; esac srcdiroption="--srcdir=${srcdir}" - case "${build_alias}" in - "") buildopt= ;; - *) buildopt="--build=${build_alias}" ;; - esac eval exec ${config_shell} ${srcdir}/configure ${verbose} \ - ${buildopt} --host=${host_alias} --target=${target_alias} \ + ${buildopt} ${hostopt} ${targetopt} \ ${prefixoption} ${tmpdiroption} ${exec_prefixoption} \ ${srcdiroption} ${diroptions} \ ${program_prefixoption} ${program_suffixoption} \ @@ -709,29 +738,16 @@ *) ;; esac -case "${build_alias}" in -"") - if result=`${config_shell} ${configsub} ${host_alias}` ; then - build_cpu=`echo $result | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` - build_vendor=`echo $result | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` - build_os=`echo $result | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - build=${build_cpu}-${build_vendor}-${build_os} - build_alias=${host_alias} - fi - ;; -*) - if result=`${config_shell} ${configsub} ${build_alias}` ; then - buildopt="--build=${build_alias}" - build_cpu=`echo $result | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` - build_vendor=`echo $result | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` - build_os=`echo $result | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - build=${build_cpu}-${build_vendor}-${build_os} - else - echo "Unrecognized build system name ${build_alias}." 1>&2 - exit 1 - fi - ;; -esac +if result=`${config_shell} ${configsub} ${build_alias}` ; then + true +else + echo "Unrecognized build system name ${build_alias}." 1>&2 + exit 1 +fi +build_cpu=`echo $result | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $result | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $result | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +build=${build_cpu}-${build_vendor}-${build_os} if result=`${config_shell} ${configsub} ${host_alias}` ; then true @@ -759,6 +775,24 @@ . ${tmpfile}.tgt +if [ "$build_alias" != "$build" ]; then + echo "Configuring for a ${build_alias} (${build}) build." +else + echo "Configuring for a ${build_alias} build." +fi + +if [ "$host_alias" != "$host" ]; then + echo "Configuring for a ${host_alias} (${host}) host." +else + echo "Configuring for a ${host_alias} host." +fi + +if [ "$target_alias" != "$target" ]; then + echo "Configuring for a ${target_alias} (${target}) target." +else + echo "Configuring for a ${target_alias} target." +fi + # Find the source files, if location was not specified. case "${srcdir}" in "") @@ -785,7 +819,7 @@ # using) don't handle "\$" correctly, so don't use it here. tooldir='$(exec_prefix)'/${target_alias} -if [ "${host_alias}" != "${target_alias}" ] ; then +if [ -n "${target_alias}" ] ; then if [ "${program_prefixoption}" = "" ] ; then if [ "${program_suffixoption}" = "" ] ; then if [ "${program_transform_nameoption}" = "" ] ; then @@ -1520,7 +1554,7 @@ ### The recursion line is here. if [ ! -z "${recprog}" ] ; then - if eval ${config_shell} ${recprog} ${verbose} ${buildopt} --host=${host_alias} --target=${tgt_alias} \ + if eval ${config_shell} ${recprog} ${verbose} ${buildopt} ${hostopt} ${targetopt} \ ${prefixoption} ${tmpdiroption} ${exec_prefixoption} \ ${srcdiroption} ${diroptions} ${program_prefixoption} ${program_suffixoption} ${program_transform_nameoption} ${site_option} ${withoptions} ${withoutoptions} ${enableoptions} ${disableoptions} ${floating_pointoption} ${cache_file_option} ${other_options} ${redirect} ; then true --- bfd/acinclude.m4 2002-12-04 12:16:19.000000000 -0500 +++ bfd/acinclude.m4 2002-12-04 23:18:08.000000000 -0500 @@ -108,16 +108,6 @@ AC_MSG_RESULT($bfd_cv_have_sys_procfs_type_member_$1_$2) ]) -sinclude(../libtool.m4) -dnl The lines below arrange for aclocal not to bring libtool.m4 -dnl AM_PROG_LIBTOOL into aclocal.m4, while still arranging for automake -dnl to add a definition of LIBTOOL to Makefile.in. -ifelse(yes,no,[ -AC_DEFUN([AM_PROG_LIBTOOL],) -AC_DEFUN([AM_DISABLE_SHARED],) -AC_SUBST(LIBTOOL) -]) - sinclude(../gettext.m4) ifelse(yes,no,[ AC_DEFUN([CY_WITH_NLS],) --- bfd/configure.in 2002-12-04 12:16:20.000000000 -0500 +++ bfd/configure.in 2002-12-04 23:18:08.000000000 -0500 @@ -23,16 +23,16 @@ AC_SUBST(bfd_version) AC_SUBST(bfd_version_string) -dnl These must be called before AM_PROG_LIBTOOL, because it may want +dnl These must be called before AC_PROG_LIBTOOL, because it may want dnl to call AC_CHECK_PROG. AC_CHECK_TOOL(AR, ar) AC_CHECK_TOOL(RANLIB, ranlib, :) dnl Default to a non shared library. This may be overridden by the dnl configure option --enable-shared. -AM_DISABLE_SHARED +AC_DISABLE_SHARED -AM_PROG_LIBTOOL +AC_PROG_LIBTOOL AC_ARG_ENABLE(64-bit-bfd, [ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)], --- binutils/Makefile.am 2002-12-04 12:16:22.000000000 -0500 +++ binutils/Makefile.am 2002-12-04 23:18:08.000000000 -0500 @@ -15,6 +15,8 @@ CC_FOR_BUILD = @CC_FOR_BUILD@ EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ +YLWRAP = $(srcdir)/../ylwrap + YACC = `if [ -f ../bison/bison ]; then echo ../bison/bison -y -L$(srcdir)/../bison/; else echo @YACC@; fi` YFLAGS = -d LEX = `if [ -f ../flex/flex ]; then echo ../flex/flex; else echo @LEX@; fi` --- binutils/acinclude.m4 2002-12-04 12:16:23.000000000 -0500 +++ binutils/acinclude.m4 2002-12-04 23:18:08.000000000 -0500 @@ -1,14 +1,5 @@ sinclude(../bfd/acinclude.m4) -dnl sinclude(../libtool.m4) already included in bfd/acinclude.m4 -dnl The lines below arrange for aclocal not to bring libtool.m4 -dnl AM_PROG_LIBTOOL into aclocal.m4, while still arranging for automake -dnl to add a definition of LIBTOOL to Makefile.in. -ifelse(yes,no,[ -AC_DEFUN([AM_PROG_LIBTOOL],) -AC_SUBST(LIBTOOL) -]) - dnl sinclude(../gettext.m4) already included in bfd/acinclude.m4 ifelse(yes,no,[ AC_DEFUN([CY_WITH_NLS],) --- binutils/configure.in 2002-12-04 12:16:23.000000000 -0500 +++ binutils/configure.in 2002-12-04 23:18:08.000000000 -0500 @@ -62,7 +62,7 @@ AC_PROG_CC AC_PROG_YACC -AM_PROG_LEX +AC_PROG_LEX ALL_LINGUAS="fr tr ja es sv da" CY_GNU_GETTEXT @@ -320,7 +320,7 @@ [Define to 1 if user symbol names have a leading underscore, 0 if not.]) # Emulation -for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'` +for targ_alias in `echo $target $enable_targets | sed 's/,/ /g'` do # Canonicalize the secondary target names. result=`$ac_config_sub $targ_alias 2>/dev/null` --- gas/acinclude.m4 2002-12-04 12:16:34.000000000 -0500 +++ gas/acinclude.m4 2002-12-04 23:18:08.000000000 -0500 @@ -55,16 +55,6 @@ $1=[$]_gas_uniq_newlist ])dnl -sinclude(../libtool.m4) -dnl The lines below arrange for aclocal not to bring libtool.m4 -dnl AM_PROG_LIBTOOL into aclocal.m4, while still arranging for automake -dnl to add a definition of LIBTOOL to Makefile.in. -ifelse(yes,no,[ -AC_DEFUN([AM_PROG_LIBTOOL],) -AC_DEFUN([AC_CHECK_LIBM],) -AC_SUBST(LIBTOOL) -]) - sinclude(../gettext.m4) ifelse(yes,no,[ AC_DEFUN([CY_WITH_NLS],) --- gas/configure.in 2002-12-04 12:16:35.000000000 -0500 +++ gas/configure.in 2002-12-04 23:18:08.000000000 -0500 @@ -70,10 +70,14 @@ # If we are on a DOS filesystem, we must use gdb.ini rather than # .gdbinit. -GDBINIT=".gdbinit" case "${host}" in *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-windows*) GDBINIT="gdb.ini" + AC_CONFIG_FILES(gdb.ini:gdbinit.in) + ;; + *) + GDBINIT=".gdbinit" + AC_CONFIG_FILES(.gdbinit:gdbinit.in) ;; esac AC_SUBST(GDBINIT) @@ -993,7 +997,9 @@ dnl the old symlinks don't exist, so that a reconfigure in an existing dnl directory behaves reasonably. -AC_OUTPUT(Makefile doc/Makefile ${GDBINIT}:gdbinit.in po/Makefile.in:po/Make-in, +AC_CONFIG_FILES(Makefile doc/Makefile po/Makefile.in:po/Make-in) + +AC_CONFIG_COMMANDS([default], [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h @@ -1008,3 +1014,5 @@ cgen_cpu_prefix=${cgen_cpu_prefix} obj_format=${obj_format} te_file=${te_file}]) + +AC_OUTPUT \ No newline at end of file --- gdb/Makefile.in 2002-12-04 23:11:12.000000000 -0500 +++ gdb/Makefile.in 2002-12-04 23:18:08.000000000 -0500 @@ -1218,7 +1218,7 @@ .PRECIOUS: c-exp.tab.c c-exp.tab.o: c-exp.tab.c c-exp.tab.c: c-exp.y - $(SHELL) $(YLWRAP) "$(YACC)" $(srcdir)/c-exp.y y.tab.c c-exp.tmp -- $(YFLAGS) + $(SHELL) $(YLWRAP) $(srcdir)/c-exp.y y.tab.c c-exp.tmp -- "$(YACC)" $(YFLAGS) -sed -e '/extern.*malloc/d' \ -e '/extern.*realloc/d' \ -e '/extern.*free/d' \ @@ -1234,7 +1234,7 @@ .PRECIOUS: objc-exp.tab.c objc-exp.tab.o: objc-exp.tab.c objc-exp.tab.c: objc-exp.y - $(SHELL) $(YLWRAP) "$(YACC)" $(srcdir)/objc-exp.y y.tab.c objc-exp.tmp -- $(YFLAGS) + $(SHELL) $(YLWRAP) $(srcdir)/objc-exp.y y.tab.c objc-exp.tmp -- "$(YACC)" $(YFLAGS) -sed -e '/extern.*malloc/d' \ -e '/extern.*realloc/d' \ -e '/extern.*free/d' \ @@ -1250,7 +1250,7 @@ .PRECIOUS: jv-exp.tab.c jv-exp.tab.o: jv-exp.tab.c jv-exp.tab.c: jv-exp.y - $(SHELL) $(YLWRAP) "$(YACC)" $(srcdir)/jv-exp.y y.tab.c jv-exp.tmp -- $(YFLAGS) + $(SHELL) $(YLWRAP) $(srcdir)/jv-exp.y y.tab.c jv-exp.tmp -- "$(YACC)" $(YFLAGS) -sed -e '/extern.*malloc/d' \ -e '/extern.*realloc/d' \ -e '/extern.*free/d' \ @@ -1266,7 +1266,7 @@ .PRECIOUS: f-exp.tab.c f-exp.tab.o: f-exp.tab.c f-exp.tab.c: f-exp.y - $(SHELL) $(YLWRAP) "$(YACC)" $(srcdir)/f-exp.y y.tab.c f-exp.tmp -- $(YFLAGS) + $(SHELL) $(YLWRAP) $(srcdir)/f-exp.y y.tab.c f-exp.tmp -- "$(YACC)" $(YFLAGS) -sed -e '/extern.*malloc/d' \ -e '/extern.*realloc/d' \ -e '/extern.*free/d' \ @@ -1282,7 +1282,7 @@ .PRECIOUS: m2-exp.tab.c m2-exp.tab.o: m2-exp.tab.c m2-exp.tab.c: m2-exp.y - $(SHELL) $(YLWRAP) "$(YACC)" $(srcdir)/m2-exp.y y.tab.c m2-exp.tmp -- $(YFLAGS) + $(SHELL) $(YLWRAP) $(srcdir)/m2-exp.y y.tab.c m2-exp.tmp -- "$(YACC)" $(YFLAGS) -sed -e '/extern.*malloc/d' \ -e '/extern.*realloc/d' \ -e '/extern.*free/d' \ @@ -1298,7 +1298,7 @@ .PRECIOUS: ada-exp.tab.c ada-exp.tab.o: ada-exp.tab.c ada-exp.tab.c: ada-exp.y - $(YACC) $(YFLAGS) $(srcdir)/ada-exp.y + $(SHELL) $(YLWRAP) $(srcdir)/ada-exp.y y.tab.c ada-exp.tmp -- "$(YACC)" $(YFLAGS) -sed -e '/extern.*malloc/d' \ -e '/extern.*realloc/d' \ -e '/extern.*free/d' \ @@ -1327,7 +1327,7 @@ .PRECIOUS: p-exp.tab.c p-exp.tab.o: p-exp.tab.c p-exp.tab.c: p-exp.y - $(SHELL) $(YLWRAP) "$(YACC)" $(srcdir)/p-exp.y y.tab.c p-exp.tmp -- $(YFLAGS) + $(SHELL) $(YLWRAP) $(srcdir)/p-exp.y y.tab.c p-exp.tmp -- "$(YACC)" $(YFLAGS) -sed -e '/extern.*malloc/d' \ -e '/extern.*realloc/d' \ -e '/extern.*free/d' \ --- gdb/configure.in 2002-12-04 12:16:47.000000000 -0500 +++ gdb/configure.in 2002-12-04 23:18:08.000000000 -0500 @@ -472,7 +472,7 @@ ac_cv_c_long_double=yes, ac_cv_c_long_double=no)]) AC_MSG_RESULT($ac_cv_c_long_double) if test $ac_cv_c_long_double = yes; then - AC_DEFINE(HAVE_LONG_DOUBLE) + AC_DEFINE([HAVE_LONG_DOUBLE], [], [Define if the `long double' type works]) fi dnl See if the compiler and runtime support printing long doubles --- gdb/testsuite/gdb.hp/gdb.objdbg/configure.in 2002-12-04 12:17:00.000000000 -0500 +++ gdb/testsuite/gdb.hp/gdb.objdbg/configure.in 2002-12-04 23:18:08.000000000 -0500 @@ -11,6 +11,5 @@ AC_SUBST(CC) AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../../..) AC_CANONICAL_SYSTEM -AC_CONFIG_SUBDIRS(objdbg01 objdbg02 objdbg03 objdbg04) AC_OUTPUT(Makefile) --- gprof/acinclude.m4 2002-12-04 12:17:02.000000000 -0500 +++ gprof/acinclude.m4 2002-12-04 23:18:08.000000000 -0500 @@ -1,12 +1,3 @@ -sinclude(../libtool.m4) -dnl The lines below arrange for aclocal not to bring libtool.m4 -dnl AM_PROG_LIBTOOL into aclocal.m4, while still arranging for automake -dnl to add a definition of LIBTOOL to Makefile.in. -ifelse(yes,no,[ -AC_DEFUN([AM_PROG_LIBTOOL],) -AC_SUBST(LIBTOOL) -]) - sinclude(../gettext.m4) ifelse(yes,no,[ AC_DEFUN([CY_WITH_NLS],) --- ld/Makefile.am 2002-12-04 12:17:11.000000000 -0500 +++ ld/Makefile.am 2002-12-04 23:18:08.000000000 -0500 @@ -9,6 +9,8 @@ tooldir = $(exec_prefix)/$(target_alias) +YLWRAP = $(srcdir)/../ylwrap + YACC = `if [ -f ../bison/bison ]; then echo ../bison/bison -y -L$(srcdir)/../bison/; else echo @YACC@; fi` YFLAGS = -d LEX = `if [ -f ../flex/flex ]; then echo ../flex/flex; else echo @LEX@; fi` --- ld/acinclude.m4 2002-12-04 12:17:11.000000000 -0500 +++ ld/acinclude.m4 2002-12-04 23:18:08.000000000 -0500 @@ -1,14 +1,5 @@ sinclude(../bfd/acinclude.m4) -dnl sinclude(../libtool.m4) already included in bfd/acinclude.m4 -dnl The lines below arrange for aclocal not to bring libtool.m4 -dnl AM_PROG_LIBTOOL into aclocal.m4, while still arranging for automake -dnl to add a definition of LIBTOOL to Makefile.in. -ifelse(yes,no,[ -AC_DEFUN([AM_PROG_LIBTOOL],) -AC_SUBST(LIBTOOL) -]) - dnl sinclude(../gettext.m4) already included in bfd/acinclude.m4 ifelse(yes,no,[ AC_DEFUN([CY_WITH_NLS],) --- libiberty/aclocal.m4 2002-12-04 12:17:23.000000000 -0500 +++ libiberty/aclocal.m4 2002-12-04 23:18:08.000000000 -0500 @@ -69,7 +69,7 @@ ac_cv_func_strncmp_works=no) rm -f core core.* *.core]) if test $ac_cv_func_strncmp_works = no ; then - LIBOBJS="$LIBOBJS strncmp.o" + AC_LIBOBJ(strncmp) fi ]) @@ -102,9 +102,10 @@ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH]) fi -AC_PROG_CC_GNU +_AC_COMPILER_OBJEXT +_AC_LANG_COMPILER_GNU -if test $ac_cv_prog_gcc = yes; then +if test $ac_compiler_gnu = yes; then GCC=yes ac_libiberty_warn_cflags='-W -Wall -Wtraditional -pedantic' dnl Check whether -g works, even if CFLAGS is set, in case the package @@ -113,7 +114,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= - AC_PROG_CC_G + _AC_PROG_CC_G if test "$ac_test_CFLAGS" = set; then CFLAGS="$ac_save_CFLAGS" elif test $ac_cv_prog_cc_g = yes; then --- libiberty/configure.in 2002-12-04 12:17:23.000000000 -0500 +++ libiberty/configure.in 2002-12-04 23:18:08.000000000 -0500 @@ -240,7 +240,12 @@ # newlib provide and which ones we will be expected to provide. if test "x${with_newlib}" = "xyes"; then - LIBOBJS="asprintf.o basename.o insque.o random.o strdup.o vasprintf.o" + AC_LIBOBJ(asprintf) + AC_LIBOBJ(basename) + AC_LIBOBJ(insque) + AC_LIBOBJ(random) + AC_LIBOBJ(strdup) + AC_LIBOBJ(vasprintf) for f in $funcs; do case "$f" in @@ -308,8 +313,16 @@ # Handle VxWorks configuration specially, since on VxWorks the # libraries are actually on the target board, not in the file # system. - LIBOBJS="basename.o getpagesize.o insque.o random.o strcasecmp.o" - LIBOBJS="$LIBOBJS strncasecmp.o strdup.o vfork.o waitpid.o vasprintf.o" + AC_LIBOBJ(basename) + AC_LIBOBJ(getpagesize) + AC_LIBOBJ(insque) + AC_LIBOBJ(random) + AC_LIBOBJ(strcasecmp) + AC_LIBOBJ(strncasecmp) + AC_LIBOBJ(strdup) + AC_LIBOBJ(vfork) + AC_LIBOBJ(waitpid) + AC_LIBOBJ(vasprintf) for f in $funcs; do case "$f" in basename | getpagesize | insque | random | strcasecmp) @@ -356,7 +369,7 @@ if test -n "${with_target_subdir}" then funcs="`echo $funcs | sed -e 's/random//'`" - LIBOBJS="$LIBOBJS random.o" + AC_LIBOBJ(random) vars="`echo $vars | sed -e 's/sys_siglist//'`" checkfuncs="`echo $checkfuncs | sed -e 's/strsignal//' -e 's/psignal//'`" fi @@ -392,12 +405,12 @@ # We haven't set the list of objects yet. Use the standard autoconf # tests. This will only work if the compiler works. - AC_PROG_CC_WORKS + AC_PROG_CC AC_REPLACE_FUNCS($funcs) libiberty_AC_FUNC_C_ALLOCA AC_FUNC_VFORK if test $ac_cv_func_vfork_works = no; then - LIBOBJS="$LIBOBJS vfork.o" + AC_LIBOBJ(vfork) fi # We only need _doprnt if we might use it to implement v*printf. if test $ac_cv_func_vprintf != yes \ --- opcodes/acinclude.m4 2002-12-04 12:17:45.000000000 -0500 +++ opcodes/acinclude.m4 2002-12-04 23:18:08.000000000 -0500 @@ -1,15 +1,5 @@ sinclude(../bfd/acinclude.m4) -dnl sinclude(../libtool.m4) already included in bfd/acinclude.m4 -dnl The lines below arrange for aclocal not to bring libtool.m4 -dnl AM_PROG_LIBTOOL into aclocal.m4, while still arranging for automake -dnl to add a definition of LIBTOOL to Makefile.in. -ifelse(yes,no,[ -AC_DEFUN([AM_PROG_LIBTOOL],) -AC_DEFUN([AM_DISABLE_SHARED],) -AC_SUBST(LIBTOOL) -]) - dnl sinclude(../gettext.m4) already included in bfd/acinclude.m4 ifelse(yes,no,[ AC_DEFUN([CY_WITH_NLS],) --- rda/configure.in 2002-12-04 12:17:46.000000000 -0500 +++ rda/configure.in 2002-12-04 23:18:08.000000000 -0500 @@ -7,7 +7,7 @@ dnl automake support AM_MAINTAINER_MODE dnl AC_LIBTOOL_WIN32_DLL -AM_PROG_LIBTOOL +AC_PROG_LIBTOOL AC_EXEEXT AC_LANG_C --- rda/lib/Makefile.am 2002-12-04 12:17:46.000000000 -0500 +++ rda/lib/Makefile.am 2002-12-04 23:18:08.000000000 -0500 @@ -9,7 +9,6 @@ # Create a libtool convenience archive # ... and a plain library archive for non-libtool clients noinst_LTLIBRARIES = librda.la -noinst_LIBRARIES = librda.a INCLUDES = -I$(srcdir) -I$(srcdir)/../include \ -I$(srcdir)/../../include @@ -17,4 +16,3 @@ THESOURCES=gdbserv-input.c gdbserv-output.c gdbserv-state.c gdbserv-utils.c gdbsocket.c gdblog.c stdio-log.c gdbserv-log.c gdbloop.c gdbsched.c gdbserv-target.c librda_la_SOURCES = $(THESOURCES) -librda_a_SOURCES = $(THESOURCES) --- rda/unix/configure.in 2002-12-04 12:17:47.000000000 -0500 +++ rda/unix/configure.in 2002-12-04 23:18:08.000000000 -0500 @@ -9,7 +9,7 @@ dnl automake support AM_MAINTAINER_MODE -AM_PROG_LIBTOOL +AC_PROG_LIBTOOL AC_EXEEXT AC_LANG_C @@ -32,43 +32,43 @@ case "$target" in mips64*linux*) TARGET_MODULES="linux-target.o no-threads.o ptrace-target.o" - AC_DEFINE(LINUX_TARGET) - AC_DEFINE(GREGSET_T, prgregset_t) - AC_DEFINE(FPREGSET_T, prfpregset_t) - AC_DEFINE(HAVE_LWPID_T) - AC_DEFINE(HAVE_PSADDR_T) - AC_DEFINE(HAVE_PRGREGSET_T) - AC_DEFINE(HAVE_PRFPREGSET_T) + AC_DEFINE(LINUX_TARGET, [], [Define if target is any Linux]) + AC_DEFINE(GREGSET_T, prgregset_t, [Define the type name of a gregset]) + AC_DEFINE(FPREGSET_T, prfpregset_t, [Define the type name of an fpregset]) + AC_DEFINE(HAVE_LWPID_T, [], [Define if system headers will define lwpid_t]) + AC_DEFINE(HAVE_PSADDR_T, [], [Define if system headers will define psaddr_t]) + AC_DEFINE(HAVE_PRGREGSET_T, [], [Define if system headers will define prgregset_t]) + AC_DEFINE(HAVE_PRFPREGSET_T, [], [Define if system headers will define prfpregset_t]) ;; i?86*linux* | \ powerpc*linux* | \ arm*linux* | \ mips*linux*) TARGET_MODULES="linux-target.o thread-db.o ptrace-target.o" - AC_DEFINE(LINUX_TARGET) - AC_DEFINE(GREGSET_T, prgregset_t) - AC_DEFINE(FPREGSET_T, prfpregset_t) - AC_DEFINE(HAVE_LWPID_T) - AC_DEFINE(HAVE_PSADDR_T) - AC_DEFINE(HAVE_PRGREGSET_T) - AC_DEFINE(HAVE_PRFPREGSET_T) + AC_DEFINE(LINUX_TARGET, [], [Define if target is any Linux]) + AC_DEFINE(GREGSET_T, prgregset_t, [Define the type name of a gregset]) + AC_DEFINE(FPREGSET_T, prfpregset_t, [Define the type name of an fpregset]) + AC_DEFINE(HAVE_LWPID_T, [], [Define if system headers will define lwpid_t]) + AC_DEFINE(HAVE_PSADDR_T, [], [Define if system headers will define psaddr_t]) + AC_DEFINE(HAVE_PRGREGSET_T, [], [Define if system headers will define prgregset_t]) + AC_DEFINE(HAVE_PRFPREGSET_T, [], [Define if system headers will define prfpregset_t]) ;; *linux*) TARGET_MODULES="linux-target.o no-threads.o ptrace-target.o" - AC_DEFINE(LINUX_TARGET) - AC_DEFINE(GREGSET_T, prgregset_t) - AC_DEFINE(FPREGSET_T, prfpregset_t) - AC_DEFINE(HAVE_LWPID_T) - AC_DEFINE(HAVE_PSADDR_T) - AC_DEFINE(HAVE_PRGREGSET_T) - AC_DEFINE(HAVE_PRFPREGSET_T) + AC_DEFINE(LINUX_TARGET, [], [Define if target is any Linux]) + AC_DEFINE(GREGSET_T, prgregset_t, [Define the type name of a gregset]) + AC_DEFINE(FPREGSET_T, prfpregset_t, [Define the type name of an fpregset]) + AC_DEFINE(HAVE_LWPID_T, [], [Define if system headers will define lwpid_t]) + AC_DEFINE(HAVE_PSADDR_T, [], [Define if system headers will define psaddr_t]) + AC_DEFINE(HAVE_PRGREGSET_T, [], [Define if system headers will define prgregset_t]) + AC_DEFINE(HAVE_PRFPREGSET_T, [], [Define if system headers will define prfpregset_t]) ;; *solaris*) TARGET_MODULES="solaris-target.o dummy-target.o" - AC_DEFINE(SOLARIS_TARGET) -# Place-holders -- not necessarily correct... - AC_DEFINE(GREGSET_T, gregset_t) - AC_DEFINE(FPREGSET_T, fpregset_t) + AC_DEFINE(SOLARIS_TARGET, [], [Define if target is any Solaris]) + # Place-holders -- not necessarily correct... + AC_DEFINE(HAVE_PRGREGSET_T, [], [Define if system headers will define prgregset_t]) + AC_DEFINE(HAVE_PRFPREGSET_T, [], [Define if system headers will define prfpregset_t]) ;; esac @@ -77,116 +77,116 @@ case "$target" in *solaris*) dnl FIXME: differentiate between flavors of Solaris! - AC_DEFINE(SPARC32_SOLARIS_TARGET) - AC_DEFINE(PTRACE_XFER_SIZE, 4) - AC_DEFINE(PTRACE_XFER_TYPE_LONG) - AC_DEFINE(PTRACE_ARG1_TYPE_LONG) - AC_DEFINE(PTRACE_ARG2_TYPE_LONG) - AC_DEFINE(PTRACE_ARG3_TYPE_LONG) - AC_DEFINE(PTRACE_ARG4_TYPE_LONG) + AC_DEFINE(SPARC32_SOLARIS_TARGET, [], [Define is target is Sparc32]) + AC_DEFINE(PTRACE_XFER_SIZE, 4, [Define for ptrace systems, to the size of a ptrace word.]) + AC_DEFINE(PTRACE_XFER_TYPE_LONG, [], [Define if ptrace transfer type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG1_TYPE_LONG, [], [Define if ptrace arg1 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG2_TYPE_LONG, [], [Define if ptrace arg2 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG3_TYPE_LONG, [], [Define if ptrace arg3 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG4_TYPE_LONG, [], [Define if ptrace arg4 type is long or unsigned long.]) ;; sh*linux*) - AC_DEFINE(SH_LINUX_TARGET) - AC_DEFINE(PTRACE_XFER_SIZE, 4) - AC_DEFINE(PTRACE_XFER_TYPE_LONG) - AC_DEFINE(PTRACE_ARG1_TYPE_LONG) - AC_DEFINE(PTRACE_ARG2_TYPE_LONG) - AC_DEFINE(PTRACE_ARG3_TYPE_LONG) - AC_DEFINE(PTRACE_ARG4_TYPE_LONG) + AC_DEFINE(SH_LINUX_TARGET, [], [Define if target is SH (3? 4?) Linux]) + AC_DEFINE(PTRACE_XFER_SIZE, 4, [Define for ptrace systems, to the size of a ptrace word.]) + AC_DEFINE(PTRACE_XFER_TYPE_LONG, [], [Define if ptrace transfer type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG1_TYPE_LONG, [], [Define if ptrace arg1 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG2_TYPE_LONG, [], [Define if ptrace arg2 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG3_TYPE_LONG, [], [Define if ptrace arg3 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG4_TYPE_LONG, [], [Define if ptrace arg4 type is long or unsigned long.]) ;; mips64*linux*n64) - AC_DEFINE(MIPS64_LINUX_TARGET) - AC_DEFINE(MIPS_ABI_N64) - AC_DEFINE(PTRACE_XFER_SIZE, 8) - AC_DEFINE(PTRACE_XFER_TYPE_LONG) - AC_DEFINE(PTRACE_ARG1_TYPE_LONG) - AC_DEFINE(PTRACE_ARG2_TYPE_LONG) - AC_DEFINE(PTRACE_ARG3_TYPE_LONG) - AC_DEFINE(PTRACE_ARG4_TYPE_LONG) + AC_DEFINE(MIPS64_LINUX_TARGET, [], [Define if target is 64-bit MIPS Linux]) + AC_DEFINE(MIPS_ABI_N64, [], [Define if target uses MIPS n64 ABI]) + AC_DEFINE(PTRACE_XFER_SIZE, 8, [Define for ptrace systems, to the size of a ptrace word.]) + AC_DEFINE(PTRACE_XFER_TYPE_LONG_LONG, [], [Define if ptrace transfer type is long long or unsigned long long.]) + AC_DEFINE(PTRACE_ARG1_TYPE_LONG_LONG, [], [Define if ptrace arg1 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG2_TYPE_LONG_LONG, [], [Define if ptrace arg2 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG3_TYPE_LONG_LONG, [], [Define if ptrace arg3 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG4_TYPE_LONG_LONG, [], [Define if ptrace arg4 type is long or unsigned long.]) ;; mips64*linux*n32) - AC_DEFINE(MIPS64_LINUX_TARGET) - AC_DEFINE(MIPS_ABI_N32) - AC_DEFINE(PTRACE_XFER_SIZE, 8) - AC_DEFINE(PTRACE_XFER_TYPE_LONG_LONG) - AC_DEFINE(PTRACE_ARG1_TYPE_LONG_LONG) - AC_DEFINE(PTRACE_ARG2_TYPE_LONG_LONG) - AC_DEFINE(PTRACE_ARG3_TYPE_LONG_LONG) - AC_DEFINE(PTRACE_ARG4_TYPE_LONG_LONG) + AC_DEFINE(MIPS64_LINUX_TARGET, [], [Define if target is 64-bit MIPS Linux]) + AC_DEFINE(MIPS_ABI_N32, [], [Define if target uses MIPS n32 ABI]) + AC_DEFINE(PTRACE_XFER_SIZE, 8, [Define for ptrace systems, to the size of a ptrace word.]) + AC_DEFINE(PTRACE_XFER_TYPE_LONG_LONG, [], [Define if ptrace transfer type is long long or unsigned long long.]) + AC_DEFINE(PTRACE_ARG1_TYPE_LONG_LONG, [], [Define if ptrace arg1 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG2_TYPE_LONG_LONG, [], [Define if ptrace arg2 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG3_TYPE_LONG_LONG, [], [Define if ptrace arg3 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG4_TYPE_LONG_LONG, [], [Define if ptrace arg4 type is long or unsigned long.]) ;; mips64*linux*o32) - AC_DEFINE(MIPS64_LINUX_TARGET) - AC_DEFINE(MIPS_ABI_O32) - AC_DEFINE(PTRACE_XFER_SIZE, 4) - AC_DEFINE(PTRACE_XFER_TYPE_LONG) - AC_DEFINE(PTRACE_ARG1_TYPE_LONG) - AC_DEFINE(PTRACE_ARG2_TYPE_LONG) - AC_DEFINE(PTRACE_ARG3_TYPE_LONG) - AC_DEFINE(PTRACE_ARG4_TYPE_LONG) + AC_DEFINE(MIPS64_LINUX_TARGET, [], [Define if target is 64-bit MIPS Linux]) + AC_DEFINE(MIPS_ABI_O32, [], [Define if target uses MIPS o32 ABI]) + AC_DEFINE(PTRACE_XFER_SIZE, 4, [Define for ptrace systems, to the size of a ptrace word.]) + AC_DEFINE(PTRACE_XFER_TYPE_LONG, [], [Define if ptrace transfer type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG1_TYPE_LONG, [], [Define if ptrace arg1 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG2_TYPE_LONG, [], [Define if ptrace arg2 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG3_TYPE_LONG, [], [Define if ptrace arg3 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG4_TYPE_LONG, [], [Define if ptrace arg4 type is long or unsigned long.]) ;; mips*linux*) - AC_DEFINE(MIPS_LINUX_TARGET) - AC_DEFINE(MIPS_ABI_O32) - AC_DEFINE(PTRACE_XFER_SIZE, 4) - AC_DEFINE(PTRACE_XFER_TYPE_LONG) - AC_DEFINE(PTRACE_ARG1_TYPE_LONG) - AC_DEFINE(PTRACE_ARG2_TYPE_LONG) - AC_DEFINE(PTRACE_ARG3_TYPE_LONG) - AC_DEFINE(PTRACE_ARG4_TYPE_LONG) + AC_DEFINE(MIPS_LINUX_TARGET, [], [Define if target is (32-bit) MIPS Linux]) + AC_DEFINE(MIPS_ABI_O32, [], [Define if target uses MIPS o32 ABI]) + AC_DEFINE(PTRACE_XFER_SIZE, 4, [Define for ptrace systems, to the size of a ptrace word.]) + AC_DEFINE(PTRACE_XFER_TYPE_LONG, [], [Define if ptrace transfer type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG1_TYPE_LONG, [], [Define if ptrace arg1 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG2_TYPE_LONG, [], [Define if ptrace arg2 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG3_TYPE_LONG, [], [Define if ptrace arg3 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG4_TYPE_LONG, [], [Define if ptrace arg4 type is long or unsigned long.]) ;; i?86*linux*) - AC_DEFINE(X86_LINUX_TARGET) - AC_DEFINE(PTRACE_XFER_SIZE, 4) - AC_DEFINE(PTRACE_XFER_TYPE_LONG) - AC_DEFINE(PTRACE_ARG1_TYPE_LONG) - AC_DEFINE(PTRACE_ARG2_TYPE_LONG) - AC_DEFINE(PTRACE_ARG3_TYPE_LONG) - AC_DEFINE(PTRACE_ARG4_TYPE_LONG) + AC_DEFINE(X86_LINUX_TARGET, [], [Define if target is x86 Linux]) + AC_DEFINE(PTRACE_XFER_SIZE, 4, [Define for ptrace systems, to the size of a ptrace word.]) + AC_DEFINE(PTRACE_XFER_TYPE_LONG, [], [Define if ptrace transfer type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG1_TYPE_LONG, [], [Define if ptrace arg1 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG2_TYPE_LONG, [], [Define if ptrace arg2 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG3_TYPE_LONG, [], [Define if ptrace arg3 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG4_TYPE_LONG, [], [Define if ptrace arg4 type is long or unsigned long.]) ;; powerpc*linux*) - AC_DEFINE(PPC_LINUX_TARGET) - AC_DEFINE(PTRACE_XFER_SIZE, 4) - AC_DEFINE(PTRACE_XFER_TYPE_LONG) - AC_DEFINE(PTRACE_ARG1_TYPE_LONG) - AC_DEFINE(PTRACE_ARG2_TYPE_LONG) - AC_DEFINE(PTRACE_ARG3_TYPE_LONG) - AC_DEFINE(PTRACE_ARG4_TYPE_LONG) + AC_DEFINE(PPC_LINUX_TARGET, [], [Define if target is powerpc Linux]) + AC_DEFINE(PTRACE_XFER_SIZE, 4, [Define for ptrace systems, to the size of a ptrace word.]) + AC_DEFINE(PTRACE_XFER_TYPE_LONG, [], [Define if ptrace transfer type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG1_TYPE_LONG, [], [Define if ptrace arg1 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG2_TYPE_LONG, [], [Define if ptrace arg2 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG3_TYPE_LONG, [], [Define if ptrace arg3 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG4_TYPE_LONG, [], [Define if ptrace arg4 type is long or unsigned long.]) ;; m68k*linux*) - AC_DEFINE(M68K_LINUX_TARGET) - AC_DEFINE(PTRACE_XFER_SIZE, 4) - AC_DEFINE(PTRACE_XFER_TYPE_LONG) - AC_DEFINE(PTRACE_ARG1_TYPE_LONG) - AC_DEFINE(PTRACE_ARG2_TYPE_LONG) - AC_DEFINE(PTRACE_ARG3_TYPE_LONG) - AC_DEFINE(PTRACE_ARG4_TYPE_LONG) + AC_DEFINE(M68K_LINUX_TARGET, [], [Define if target is m68k Linux]) + AC_DEFINE(PTRACE_XFER_SIZE, 4, [Define for ptrace systems, to the size of a ptrace word.]) + AC_DEFINE(PTRACE_XFER_TYPE_LONG, [], [Define if ptrace transfer type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG1_TYPE_LONG, [], [Define if ptrace arg1 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG2_TYPE_LONG, [], [Define if ptrace arg2 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG3_TYPE_LONG, [], [Define if ptrace arg3 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG4_TYPE_LONG, [], [Define if ptrace arg4 type is long or unsigned long.]) ;; alpha*linux*) - AC_DEFINE(ALPHA_LINUX_TARGET) - AC_DEFINE(PTRACE_XFER_SIZE, 8) - AC_DEFINE(PTRACE_XFER_TYPE_LONG_LONG) - AC_DEFINE(PTRACE_ARG1_TYPE_LONG_LONG) - AC_DEFINE(PTRACE_ARG2_TYPE_LONG_LONG) - AC_DEFINE(PTRACE_ARG3_TYPE_LONG_LONG) - AC_DEFINE(PTRACE_ARG4_TYPE_LONG_LONG) + AC_DEFINE(ALPHA_LINUX_TARGET, [], [Define if target is alpha Linux]) + AC_DEFINE(PTRACE_XFER_SIZE, 8, [Define for ptrace systems, to the size of a ptrace word.]) + AC_DEFINE(PTRACE_XFER_TYPE_LONG_LONG, [], [Define if ptrace transfer type is long long or unsigned long long.]) + AC_DEFINE(PTRACE_ARG1_TYPE_LONG_LONG, [], [Define if ptrace arg1 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG2_TYPE_LONG_LONG, [], [Define if ptrace arg2 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG3_TYPE_LONG_LONG, [], [Define if ptrace arg3 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG4_TYPE_LONG_LONG, [], [Define if ptrace arg4 type is long or unsigned long.]) ;; arm*linux*) if test "$arm32" = "yes"; then - AC_DEFINE(ARM_LINUX_TARGET) - AC_DEFINE(PTRACE_XFER_SIZE, 4) - AC_DEFINE(PTRACE_XFER_TYPE_LONG) - AC_DEFINE(PTRACE_ARG1_TYPE_LONG) - AC_DEFINE(PTRACE_ARG2_TYPE_LONG) - AC_DEFINE(PTRACE_ARG3_TYPE_LONG) - AC_DEFINE(PTRACE_ARG4_TYPE_LONG) + AC_DEFINE(ARM_LINUX_TARGET, [], [Define if target is arm Linux]) + AC_DEFINE(PTRACE_XFER_SIZE, 4, [Define for ptrace systems, to the size of a ptrace word.]) + AC_DEFINE(PTRACE_XFER_TYPE_LONG, [], [Define if ptrace transfer type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG1_TYPE_LONG, [], [Define if ptrace arg1 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG2_TYPE_LONG, [], [Define if ptrace arg2 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG3_TYPE_LONG, [], [Define if ptrace arg3 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG4_TYPE_LONG, [], [Define if ptrace arg4 type is long or unsigned long.]) else - AC_DEFINE(ARM_LINUX_TARGET) - AC_DEFINE(PTRACE_XFER_SIZE, 8) - AC_DEFINE(PTRACE_XFER_TYPE_LONG_LONG) - AC_DEFINE(PTRACE_ARG1_TYPE_LONG_LONG) - AC_DEFINE(PTRACE_ARG2_TYPE_LONG_LONG) - AC_DEFINE(PTRACE_ARG3_TYPE_LONG_LONG) - AC_DEFINE(PTRACE_ARG4_TYPE_LONG_LONG) + AC_DEFINE(ARM_LINUX_TARGET, [], [Define if target is arm Linux]) + AC_DEFINE(PTRACE_XFER_SIZE, 8, [Define for ptrace systems, to the size of a ptrace word.]) + AC_DEFINE(PTRACE_XFER_TYPE_LONG_LONG, [], [Define if ptrace transfer type is long long or unsigned long long.]) + AC_DEFINE(PTRACE_ARG1_TYPE_LONG_LONG, [], [Define if ptrace arg1 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG2_TYPE_LONG_LONG, [], [Define if ptrace arg2 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG3_TYPE_LONG_LONG, [], [Define if ptrace arg3 type is long or unsigned long.]) + AC_DEFINE(PTRACE_ARG4_TYPE_LONG_LONG, [], [Define if ptrace arg4 type is long or unsigned long.]) fi ;; esac --- rda/win32/configure.in 2002-12-04 12:17:47.000000000 -0500 +++ rda/win32/configure.in 2002-12-04 23:18:08.000000000 -0500 @@ -24,14 +24,10 @@ case "$target" in *cygwin*) dnl FIXME: differentiate between flavors of Solaris! - AC_DEFINE(WIN32_TARGET) + AC_DEFINE(WIN32_TARGET, [], [Define if target is Win32]) ;; esac -if test -f /usr/include/foo.h; then - AC_DEFINE(HAVE_AC_DEFINE, 1, [define if have AC_DEFINE]) -fi - dnl Outputs AC_OUTPUT(Makefile) --- sim/common/aclocal.m4 2002-12-04 12:17:54.000000000 -0500 +++ sim/common/aclocal.m4 2002-12-04 23:18:08.000000000 -0500 @@ -904,7 +904,7 @@ dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then - AC_DEFINE(ENABLE_NLS) + AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if NLS is requested]) AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH(included-gettext, [ --with-included-gettext use the GNU gettext library included here], @@ -938,7 +938,8 @@ if test "$gt_cv_func_gettext_libc" = "yes" \ || test "$gt_cv_func_gettext_libintl" = "yes"; then - AC_DEFINE(HAVE_GETTEXT) + AC_DEFINE(HAVE_GETTEXT, 1, + [Define as 1 if you have gettext and don't want to use GNU gettext.]) AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl if test "$MSGFMT" != "no"; then @@ -1217,7 +1218,8 @@ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) if test $am_cv_val_LC_MESSAGES = yes; then - AC_DEFINE(HAVE_LC_MESSAGES) + AC_DEFINE(HAVE_LC_MESSAGES, 1, + [Define if your locale.h file contains LC_MESSAGES.]) fi fi]) [-- Attachment #5: build.sh --] [-- Type: application/octet-stream, Size: 246 bytes --] #! /bin/sh set -e src=$1 $src/configure dirs="bfd binutils gas gdb gprof ld libiberty mmalloc opcodes rda sim utils" for i in $dirs; do rm -f config.cache (cd $i && $src/$i/configure --enable-maintainer-mode) done rm -f config.cache ^ permalink raw reply [flat|nested] 20+ messages in thread
* [RFC] Update to current automake/autoconf/libtool versions (take 2) 2002-12-05 11:08 [RFC] Update to current automake/autoconf/libtool versions Nathanael Nerode ` (4 preceding siblings ...) 2002-12-08 10:53 ` Klee Dienes @ 2003-01-12 10:32 ` Klee Dienes 2003-01-12 16:14 ` Nathanael Nerode 2003-01-12 17:14 ` Zack Weinberg 5 siblings, 2 replies; 20+ messages in thread From: Klee Dienes @ 2003-01-12 10:32 UTC (permalink / raw) To: gdb-patches, binutils, newlib, gcc, sid [-- Attachment #1: Type: text/plain, Size: 1259 bytes --] The following is the current state-of-the art of my autoconf-2.5x conversion of the gcc/gdb/binutils repositories. It updates the following directories: common: libiberty src: bfd binutils gas gdb gprof ld mmalloc opcodes rda sim utils gcc: boehm-gc fastjar gcc libf2c libffi libjava libobjc libstdc++-v3 zlib It does *not* update the following directories: common: include texinfo config etc contrib src: blt cgen cpu dejagnu expect intl itcl iwidgets libgloss libgui newlib readline tcl tk winsup sid" gcc: libbanshee libchill libio libmudflap libstdc++" I used the following versions of the various tools: libtool: 1.4e (top-of-tree, with the attached patch) autoconf: 2.57 (with the attached patch) automake: 1.7.2 gettext: 0.11.5 autogen: 5.5 The attached archive contains the following files: ChangeLog: setup.sh: Script to convert to autotools-2.5x and build an uberbaum tree autoconf.txt: Fixes to autoconf-2.57 required by this patch. common-diffs.txt Patches to directories shared by 'src' and gcc. gcc-diffs.txt Patches to the gcc directories. libtool-diffs.txt Patch to libtool-1.4e required by this patch. src-diffs.txt Patches to the 'src' directories. top-diffs.txt Patches to top-level files in both 'src' and gcc. [-- Attachment #2: ChangeLog --] [-- Type: application/octet-stream, Size: 10205 bytes --] . 2003-01-07 Klee Dienes <kdienes@apple.com> * configure.in: Allow AS_FOR_TARGET explicitly, to avoid confusing automake (which thinks it's a macro). Use $target, $build, and $host to get canonical tuples, rather than $target_alias, $build_alias, and $host_alias. Don't pass --cache= arguments to sub-configures (they'll default to not using a cache file). (baseargs): Strip quotes from single-quoted strings in ac_configure_args. (libstdcxx_flags): Assume that testsuite_flags will not prepend a space; always have a single space between arguments, even if testsuite_flags returns an empty string. * config.if: Use $target, $build, and $host to get canonical tuples, rather than $target_alias, $build_alias, and $host_alias. * Makefile.tpl: Echo the sub-configures before executing them. Pass LDFLAGS to sub-makes via the environment. * .cvsignore: Add autom4te.cache. libiberty 2003-01-07 Klee Dienes <kdienes@apple.com> * aclocal.m4: Use AC_LIBOBJ instead of setting LIBOBJS directly. Use _AC_LANG_COMPILER_GNU and $ac_cv_XXX_compiler_gnu instead of AC_PROG_CC_GNU and $ac_cv_prog_gcc. Call _AC_COMPILER_OBJEXT to get the object file extension. Use _AC_PROG_CC_G instead of AC_PROG_CC_G. Wrap LIB_AC_PROG_CC and LIB_AC_PROG_CXX with AC_LANG_PUSH. * configure.in: Use AC_LIBOBJ instead of setting LIBOBJS directly. newlib 2003-01-07 Klee Dienes <kdienes@apple.com> * acinclude.m4: Use _AC_LANG_COMPILER_GNU and $ac_cv_XXX_compiler_gnu instead of AC_PROG_CC_GNU and $ac_cv_prog_gcc. Call _AC_COMPILER_OBJEXT to get the object file extension. Use _AC_PROG_CC_G instead of AC_PROG_CC_G. Wrap LIB_AC_PROG_CC and LIB_AC_PROG_CXX with AC_LANG_PUSH. * configure.in: Add description strings to AC_DEFINE_UNQUOTED calls. bfd 2003-01-07 Klee Dienes <kdienes@apple.com> * acinclude.m4: Remove include of libtool.m4. * configure.in: Use AC_DISABLE_SHARED and AC_PROG_LIBTOOL instead of the AM_ versions. binutils 2003-01-07 Klee Dienes <kdienes@apple.com> * Makefile.am (YLWRAP): Refer to the top-level ylwrap. * acinclude.m4: Remove include of libtool.m4. * configure.in: Use AC_PROG_LEX instead of AM_PROG_LEX. (EMULATION): Use $target, not $target_alias. gas 2003-01-07 Klee Dienes <kdienes@apple.com> * Makefile.am: Update to new ylwrap calling conventions. * acinclude.m4: Remove include of libtool.m4. * configure.in: Pass explicit value to AC_CONFIG_FILES, not ${GDBINIT}. Use AC_CONFIG_FILES, AC_CONFIG_COMMANDS, and AC_OUTPUT, not the multi-argument AC_OUTPUT. Use a fixed pathname in AC_CONFIG_AUX_DIR; modify ac_aux_dir explicitly to contain the computed pathname. gdb 2003-01-07 Klee Dienes <kdienes@apple.com> * Makefile.in: Update to new ylwrap calling conventions. * configure.in: Pass description string to AC_DEFINE. gdb/testsuite 2003-01-07 Klee Dienes <kdienes@apple.com> * gdb.hp/gdb.objdbg/configure.in: Remove objdbg0* from AC_CONFIG_SUBDIRS. gprof 2003-01-07 Klee Dienes <kdienes@apple.com> * acinclude.m4: Remove include of libtool.m4. ld 2003-01-07 Klee Dienes <kdienes@apple.com> * Makefile.am (YLWRAP): Refer to the top-level ylwrap. * acinclude.m4: Remove include of libtool.m4. opcodes 2003-01-07 Klee Dienes <kdienes@apple.com> * acinclude.m4: Remove include of libtool.m4. rda 2003-01-07 Klee Dienes <kdienes@apple.com> * configure.in: Use AC_PROG_LIBTOOL instead of AM_PROG_LIBTOOL. rda/lib 2003-01-07 Klee Dienes <kdienes@apple.com> * lib/Makefile.am: Remove noinst_LIBRARIES and librda_a_SOURCES (it's not possible to specify both a libtool version and a non-libtool version using the same object files). rda/unix 2003-01-07 Klee Dienes <kdienes@apple.com> * unix/configure.in: Pass description strings to AC_DEFINE. Use AC_PROG_LIBTOOL instead of AM_PROG_LIBTOOL. rda/win32 2003-01-07 Klee Dienes <kdienes@apple.com> * win32/configure.in: Pass description strings to AC_DEFINE. Remove spurious check for "foo.h". utils 2003-01-07 Klee Dienes <kdienes@apple.com> * configure.in: Call AC_PROG_CC to make sure that LDFLAGS is propagated properly. sim/common 2003-01-07 Klee Dienes <kdienes@apple.com> * Make-common.in: Pass arguments to config.status rather than using CONFIG_FILES. * aclocal.m4: Pass description strings to AC_DEFINE. Use a fixed pathname in AC_CONFIG_AUX_DIR; modify ac_aux_dir explicitly to contain the computed pathname. Use AC_CONFIG_FILES, AC_CONFIG_COMMANDS, and AC_OUTPUT, not the multi-argument AC_OUTPUT. * configure.in: Use a fixed pathname in AC_CONFIG_AUX_DIR; modify ac_aux_dir explicitly to contain the computed pathname. sim/XXX 2003-01-07 Klee Dienes <kdienes@apple.com> * configure.in: Add call to AC_CONFIG_AUX_DIR. libobjc 2003-01-07 Klee Dienes <kdienes@apple.com> * configure.in: Add call to AC_NO_EXECUTABLES. * Makefile.in (toplevel_srcdir): Use top_srcdir/toprel, not toplevel_srcdir. * acinclude.m4: Export toprel directly, rather than a quoted reference to top_srcdir. Use srcdir/toprel in AC_CONFIG_AUX_DIR, not top_srcdir/toprel. Use _AC_LANG_COMPILER_GNU and $ac_cv_XXX_compiler_gnu instead of AC_PROG_CC_GNU and $ac_cv_prog_gcc. Call _AC_COMPILER_OBJEXT to get the object file extension. Use _AC_PROG_CC_G instead of AC_PROG_CC_G. Wrap LIB_AC_PROG_CC and LIB_AC_PROG_CXX with AC_LANG_PUSH. Remove include of libtool.m4. libf2c 2003-01-07 Klee Dienes <kdienes@apple.com> * acinclude.m4: Export toprel directly, rather than a quoted reference to top_srcdir. Use srcdir/toprel in AC_CONFIG_AUX_DIR, not top_srcdir/toprel. Use _AC_LANG_COMPILER_GNU and $ac_cv_XXX_compiler_gnu instead of AC_PROG_CC_GNU and $ac_cv_prog_gcc. Call _AC_COMPILER_OBJEXT to get the object file extension. Use _AC_PROG_CC_G instead of AC_PROG_CC_G. Wrap LIB_AC_PROG_CC and LIB_AC_PROG_CXX with AC_LANG_PUSH. Remove include of libtool.m4. Move gcc_version_trigger code into configure.in. * Makefile.in: Use top_srcdir/toprel, not toplevel_srcdir. * libF77/configure.in: Use AC_NO_EXECUTABLES. * libI77/configure.in: Use AC_NO_EXECUTABLES. * libU77/configure.in: Use AC_NO_EXECUTABLES. * libf2c/configure.in: Use AC_NO_EXECUTABLES. Move the subdir code to the top of configure.in. Move gcc_version_code from aclocal.m4. Reference srcdir/toprel, not toplevel_srcdir. boehm-gc 2003-01-07 Klee Dienes <kdienes@apple.com> * Makefile.am: Define CCAS and CCASFLAGS to pacify automake. Remove test.o hack. Specify gctest_SOURCES, not gctest_OBJECTS. Remove duplicate setting for AM_CFLAGS. * acinclude.m4: Use _AC_LANG_COMPILER_GNU and $ac_cv_XXX_compiler_gnu instead of AC_PROG_CC_GNU and $ac_cv_prog_gcc. Call _AC_COMPILER_OBJEXT to get the object file extension. Use _AC_PROG_CC_G instead of AC_PROG_CC_G. Wrap LIB_AC_PROG_CC and LIB_AC_PROG_CXX with AC_LANG_PUSH. * configure.in: Move call to AM_PROG_LIBTOOL. fastjar 2003-01-07 Klee Dienes <kdienes@apple.com> * Use =, not +=, to set my_makei_flags. libffi 2003-01-07 Klee Dienes <kdienes@apple.com> * Makefile.am: Define CCAS and CCASFLAGS to pacify automake. Specify ffitest_SOURCES, not ffitest_OBJECTS. Remove duplicate setting for AM_CFLAGS. Add TARGET_OBJ_XXX, corresponding to TARGET_SRC_XXX. Remove the if @TARGET@ constructs; replace with libffi_la_{SOURCES,LIBADD,DEPENDENCIES}. Add '-I.' to INCLUDES. * configure.in: Replace AM_CONFIG_HEADER with AC_CONFIG_HEADER. Use a fixed pathname in AC_CONFIG_AUX_DIR; modify ac_aux_dir explicitly to contain the computed pathname. Use AC_CONFIG_FILES, AC_CONFIG_COMMANDS, and AC_OUTPUT, not the multi-argument AC_OUTPUT. * acinclude.m4: Remove include of libtool.m4. libjava 2003-01-07 Klee Dienes <kdienes@apple.com> * acinclude.m4: Remove AC_CANONICAL_SYSTEM. Use _AC_LANG_COMPILER_GNU and $ac_cv_XXX_compiler_gnu instead of AC_PROG_CC_GNU and $ac_cv_prog_gcc. Call _AC_COMPILER_OBJEXT to get the object file extension. Use _AC_PROG_CC_G instead of AC_PROG_CC_G. Wrap LIB_AC_PROG_CC and LIB_AC_PROG_CXX with AC_LANG_PUSH. Remove include of libtool.m4. * configure.in: Add GCJ-style dependencies. Call AC_CONFIG_SUBDIRS for libltdl explicitly, not via $DIRLTDL. Replace AC_LANG_SAVE with AC_LANG_PUSH. Call AM_PROJ_GCJ. * Makefile.am: Move ##-style comments out of rules and variable definitions. (INCLUDES): Add '-I.'. (nat_source_files): Rename the gcj natStringBuffer.cc to natStringBufferg.cc, to prevent a conflict with the one from java/lang. libstdc++-v3 2003-01-07 Klee Dienes <kdienes@apple.com> * acinclude.m4: Use a fixed pathname in AC_CONFIG_AUX_DIR; modify ac_aux_dir explicitly to contain the computed pathname. Remove "just to satisfy automake" AC_CONFIG_AUX_DIR hack. Use _AC_LANG_COMPILER_GNU and $ac_cv_XXX_compiler_gnu instead of AC_PROG_CC_GNU and $ac_cv_prog_gcc. Call _AC_COMPILER_OBJEXT to get the object file extension. Use _AC_PROG_CC_G instead of AC_PROG_CC_G. Wrap LIB_AC_PROG_CC and LIB_AC_PROG_CXX with AC_LANG_PUSH. Remove include of libtool.m4. Move AM_CONDITIONAL calls to configure.in. * configure.in: Move AM_CONDITIONAL_CALLS from acinclude.m4. * libsupc++/Makefile.am (GCC_INCLUDES): Add '-I..'. zlib 2003-01-07 Klee Dienes <kdienes@apple.com> * acinclude.m4: Use _AC_LANG_COMPILER_GNU and $ac_cv_XXX_compiler_gnu instead of AC_PROG_CC_GNU and $ac_cv_prog_gcc. Call _AC_COMPILER_OBJEXT to get the object file extension. Use _AC_PROG_CC_G instead of AC_PROG_CC_G. Wrap LIB_AC_PROG_CC and LIB_AC_PROG_CXX with AC_LANG_PUSH. Remove include of libtool.m4. * configure.in: Add call to AC_NO_EXECUTABLES. gcc 2003-01-07 Klee Dienes <kdienes@apple.com> * aclocal.m4: Define AM_GNU_GETTEXT_VERSION as empty function. * configure.in: Call AM_GNU_GETTEXT_VERSION, to pacify automake. fastjar 2003-01-07 Klee Dienes <kdienes@apple.com> * configure.in: Use libtool variant of zlib. * acinclude.m4: Use _AC_LANG_COMPILER_GNU and $ac_cv_XXX_compiler_gnu instead of AC_PROG_CC_GNU and $ac_cv_prog_gcc. Call _AC_COMPILER_OBJEXT to get the object file extension. Use _AC_PROG_CC_G instead of AC_PROG_CC_G. Wrap LIB_AC_PROG_CC and LIB_AC_PROG_CXX with AC_LANG_PUSH. Remove include of libtool.m4. [-- Attachment #3: Type: text/plain, Size: 2 bytes --] [-- Attachment #4: autoconf-diffs.tar.gz --] [-- Type: application/x-gzip, Size: 25776 bytes --] [-- Attachment #5: Type: text/plain, Size: 936 bytes --] To run, first read through setup.sh, and make sure it won't do anything you don't want it to do on your system. Then set the values of src_gcc, src_src, and dst_root, and run setup.sh. The script will rsync the checked-out gcc and src sources into a new directory, apply the patches, and run autoreconf on all the appropriate directories. I've built directory on i386-unknown-linux-gnu native, targetted to powerpc-unknown-linux-gnu, and natively on i686-pc-cygwin (I got some errors building winsup on cygwin, but they were the same errors I got from the unmodified sources). I've *not* run extensive tests on the resulting builds --- I'm willing to do that, but it seemed a bit early at this stage. I did not attempt to make the patches compatible with both autoconf-2.13 and autoconf-2.5x --- I suspect that would be a significant challenge, and converting to automake-1.7 and autoconf-2.5x was difficult enough. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions (take 2) 2003-01-12 10:32 ` [RFC] Update to current automake/autoconf/libtool versions (take 2) Klee Dienes @ 2003-01-12 16:14 ` Nathanael Nerode 2003-01-12 17:14 ` Zack Weinberg 1 sibling, 0 replies; 20+ messages in thread From: Nathanael Nerode @ 2003-01-12 16:14 UTC (permalink / raw) To: Klee Dienes; +Cc: gdb-patches, binutils, newlib, gcc, sid Klee Dienes wrote: > The following is the current state-of-the art of my autoconf-2.5x > conversion of the gcc/gdb/binutils repositories. It updates the > following directories: > > common: libiberty > src: bfd binutils gas gdb gprof ld mmalloc opcodes rda sim utils > gcc: boehm-gc fastjar gcc libf2c libffi libjava libobjc > libstdc++-v3 zlib > > It does *not* update the following directories: > > common: include texinfo config etc contrib 'include' shouldn't have a makefile. 'texinfo' is either imported from outside, or doesn't have a makefile. 'config' doesn't have one. 'contrib' shouldn't have one. I'm not sure about 'etc', but I think it shouldn't. > src: blt cgen cpu dejagnu expect intl itcl iwidgets libgloss > libgui newlib readline tcl tk winsup sid" I don't know anything about 'blt', but it's not built by the top level, so shouldn't be an issue. 'cgen' isn't built by the top level currently (although it will be again sometime in the future) so it's not an issue either. 'dejagnu' is imported from outside, so we shouldn't touch it. 'expect' is imported from outside. I don't know about 'intl'. 'itcl' is imported from outside. (I think it still is, anyway.) I don't know about 'iwidgets', but it's not built by the top level, so I don't think we have to worry about it. --> 'libgloss' actually needs to be done, I'm afraid. --> I'm not sure about the status of 'libgui'. --> 'newlib' actually needs to be done as well. 'readline' is imported from outside. 'tcl' is imported from outside. 'tk' is imported from outside. --> 'winsup' is Cygwin. It should be done, sometime. --> 'sid' should be done. > gcc: libbanshee libchill libio libmudflap libstdc++" 'libbanshee' is branch only; the branch maintainer should do this. 'libchill' is dead. 'libio' is dead. 'libmudflap' is branch only; the branch maintainer should do this. 'libstdc++' is dead. In other words, excellent work. :-) I'll try to make a pass at the remaining directories, but I'm not sure when I'll get to them. I'd like to see some version of this in sooner rather than later; incremental fixes are easier from this point than from the current point, and it would be nice if it went in during gcc 'stage 1' when major destabilizing changes are allowed. > autoconf: 2.57 (with the attached patch) Think you can submit the patch to the autoconf maintainers and get it into mainline autoconf? >top-diffs.txt Patches to top-level files in both 'src' and gcc. Honestly, I've wanted to make the ${x_alias}-->${x} change for the directory names for a *long* time, but a) it has to be done synchronously in all subdirectories and b) it changes developer-visible behavior for cross builds (canonical name rather than specified name) If I could get buy-in from gcc, gdb, and binutils for a patch doing just that, I would put it in right now (and make your diffs for autoconf 2.57 conversion rather shorter). I never submitted it 'cause I figured it would not be popular. An alternative, if perhaps sillier, scheme would be to create new autoconf macros to find the ${build_subdir} and ${target_subdir} values, and put it in a file included by everyone who cares. But it's *much* simpler to always use the canonicalized names. --Nathanael ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions (take 2) 2003-01-12 10:32 ` [RFC] Update to current automake/autoconf/libtool versions (take 2) Klee Dienes 2003-01-12 16:14 ` Nathanael Nerode @ 2003-01-12 17:14 ` Zack Weinberg 2003-01-13 3:32 ` Klee Dienes 1 sibling, 1 reply; 20+ messages in thread From: Zack Weinberg @ 2003-01-12 17:14 UTC (permalink / raw) To: Klee Dienes; +Cc: gdb-patches, binutils, newlib, gcc, sid Klee Dienes <klee@apple.com> writes: > The following is the current state-of-the art of my autoconf-2.5x > conversion of the gcc/gdb/binutils repositories. Two general comments: 1) I notice that you made the existing pseudo-AC_PROG_CC/CXX macros work again with 2.5x; this is wrong. Get rid of them entirely, use the canonical AC_PROG_CC/CXX, and if they don't work right, patch autoconf until they do. 2) Why did you disable the shared config.cache? It speeds up 'make configure' by an order of magnitude, especially on slow machines. zw ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions (take 2) 2003-01-12 17:14 ` Zack Weinberg @ 2003-01-13 3:32 ` Klee Dienes 2003-01-13 7:31 ` Zack Weinberg 0 siblings, 1 reply; 20+ messages in thread From: Klee Dienes @ 2003-01-13 3:32 UTC (permalink / raw) To: Zack Weinberg; +Cc: gdb-patches, binutils, newlib, gcc, sid On Sunday, January 12, 2003, at 12:13 PM, Zack Weinberg wrote: > 1) I notice that you made the existing pseudo-AC_PROG_CC/CXX macros > work again with 2.5x; this is wrong. Get rid of them entirely, > use the canonical AC_PROG_CC/CXX, and if they don't work right, > patch autoconf until they do. The original theory was that I was trying to keep the diffs to a minimum, and that once the switch was flipped on 2.x, we could go back and make a lot of more interesting cleanups to the configure scripts. But I think you're right that my changes ended up complicated enough that I should just replace them with the modern versions; I'll do that. > 2) Why did you disable the shared config.cache? It speeds up 'make > configure' by an order of magnitude, especially on slow machines. I didn't disable the config.cache in the top-level scripts; it's just that the new default is for autoconf to use a null cache file unless configured with '-C'. A good portion of my patch is actually present solely to fix the use of a top-level cache file --- there were a number of places where whitespace triggered the "value changed between runs" checks in 2.5x. I did disable the target config.cache, because there were places where things really were being run with different flags between runs (for example, the value of libstdcxx_flags varies by directory), and fixing that seemed beyond the scope of the initial conversion to 2.5x. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RFC] Update to current automake/autoconf/libtool versions (take 2) 2003-01-13 3:32 ` Klee Dienes @ 2003-01-13 7:31 ` Zack Weinberg 0 siblings, 0 replies; 20+ messages in thread From: Zack Weinberg @ 2003-01-13 7:31 UTC (permalink / raw) To: Klee Dienes; +Cc: gdb-patches, binutils, newlib, gcc, sid Klee Dienes <klee@apple.com> writes: > The original theory was that I was trying to keep the diffs to a > minimum, and that once the switch was flipped on 2.x, we could go back > and make a lot of more interesting cleanups to the configure scripts. That's fair... > But I think you're right that my changes ended up complicated enough > that I should just replace them with the modern versions; I'll do > that. It may actually make sense to do the replacement as a separate patch, introducing a shared aclocal.m4 fragment that backports AC_NO_EXECUTABLES or similar to 2.13. Put that in first, and your diffs for the 2.5x conversion get quite a bit simpler. > I didn't disable the config.cache in the top-level scripts; it's > just that the new default is for autoconf to use a null cache file > unless configured with '-C'. I may have misunderstood your patch but I got the definite impression that you dropped out the only bit that passes down the top-level --cache-file setting to the sub-configures. Which would mean, even if the top level was run with -C, the sub-configures would use no cache file, and wouldn't share caches if they did. The change of default is wrong, but that's not your fault. > I did disable the target config.cache, because there were places > where things really were being run with different flags between runs > (for example, the value of libstdcxx_flags varies by directory), and > fixing that seemed beyond the scope of the initial conversion to 2.5x. Yeah, that's reasonable. We'll want it back eventually though. zw ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2003-01-13 7:31 UTC | newest] Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2002-12-05 11:08 [RFC] Update to current automake/autoconf/libtool versions Nathanael Nerode 2002-12-05 11:31 ` Andrew Cagney 2002-12-05 13:31 ` Zack Weinberg 2002-12-05 14:36 ` Alan Modra 2002-12-05 14:56 ` Ian Lance Taylor 2002-12-05 15:22 ` Alan Modra 2002-12-05 15:43 ` Ian Lance Taylor 2002-12-05 15:51 ` Andrew Cagney 2002-12-05 15:47 ` Mike Stump 2002-12-05 16:30 ` Alan Modra 2002-12-05 16:45 ` Zack Weinberg 2002-12-08 2:49 ` Klee Dienes 2002-12-05 14:29 ` Christopher Faylor 2002-12-06 6:45 ` Maciej W. Rozycki 2002-12-08 10:53 ` Klee Dienes 2003-01-12 10:32 ` [RFC] Update to current automake/autoconf/libtool versions (take 2) Klee Dienes 2003-01-12 16:14 ` Nathanael Nerode 2003-01-12 17:14 ` Zack Weinberg 2003-01-13 3:32 ` Klee Dienes 2003-01-13 7:31 ` Zack Weinberg
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox