[RFC] Update to current automake/autoconf/libtool versions.

Klee Dienes klee@apple.com
Thu Dec 5 12:55:00 GMT 2002


On Thursday, December 5, 2002, at 12:00 PM, Andrew Cagney wrote:

>> On Thursday, December 5, 2002, at 10:43 AM, Andrew Cagney wrote:
>>> I don't understand this:
>>> - $(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)
>>> isn't it independant of the switch?
>>>
>> It's a result of using the ylwrap from autoconf-1.7, which is needed 
>> since the rules for the binutils/ parsers are automatically generated 
>> by automake.
>>
> Does it work now?

I'm not sure I understand the question, but I'll elaborate on the 
situation a bit in hopes that I can answer it anyway.

Automake-1.4p5 generates Makefile.in's that use the syntax:

ylwrap PROGRAM INPUT [OUTPUT DESIRED]... -- [ARGS]...

Automake-1.7 generates Makefile.in's that use the syntax:

ylwrap INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]...

So if we use automake-1.7 to build Makefile.in binutils/ld/gas, we need 
to use the ylwrap from automake-1.7 as well, which uses the new syntax 
and therefore requires the change to the GDB Makefile.in.   I don't 
think it's possible to have a version of the GDB Makefile.in that works 
with both versions.

>>> Same with this?
>>> -  AC_DEFINE(HAVE_LONG_DOUBLE)
>>> +  AC_DEFINE([HAVE_LONG_DOUBLE], [], [Define if the `long double' 
>>> type works])
>>> (or did the new autoconf change the interface causing a warning if 
>>> the three parameters were not present?).
>
>> Not even a warning: it blows out autoheader with an error.  The new 
>> AC_DEFINE interface deprecates the use of a template file, and 
>> instead requires all the information to be provided by the AC_DEFINE 
>> commands (it's particularly annoying since the warning about the 
>> existence of a template file is about 10 lines long, ALL CAPS, and 
>> can't be turned off with --warnings=none).
>
> Ulgh.  Same here though, does this work with autoconf 2.13++ (the 
> current offical autoconf)?

The 3-argument form works with both autoconf-2.13 and autoconf-2.50+.

Is autoconf-2.13 really the current official autoconf?  The autoconf 
release announcements don't make that at all clear:

>    - Why should I upgrade from 2.13?
>
> This version is no longer maintained.  It does not address recent
> architectures, recent compilers etc.  We know that upgrading from 2.13
> to 2.5x is not an easy task, especially because the Autoconf 2.13 was
> extremely tolerant of incorrect macro invocations, but waiting longer
> endangers the portability of your package and only delays the
> conversion to newer Autoconf versions.  Worse: some maintainers now
> spend a significant amount of time fixing bugs in 2.13 or backporting
> macros from 2.55.

Or do you mean that autoconf-2.13++ is the current official version for 
Binutils/BFD (in which case I withdraw my question)?



More information about the Binutils mailing list