Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* 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 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 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: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: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: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 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 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
                   ` (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