Re: conditional += doesn't work as suggested by documentation

2006-05-13 Thread Ralf Wildenhues
Hi Richard,

* Richard Brooksby wrote on Fri, May 12, 2006 at 06:00:47PM CEST:
 At http://sources.redhat.com/automake/automake.html it says:
 7.1.3.2 Conditional compilation using Automake conditionals
*snip*

This documents Automake version 1.9.6.

 If your program uses a lot of files, you will probably prefer a  
 conditional +=.
 
  bin_PROGRAMS = hello
  hello_SOURCES = hello-common.c
  if LINUX
  hello_SOURCES += hello-linux.c
  else
  hello_SOURCES += hello-generic.c
  endif
 
 The former works, the latter does not.  I'm running automake 1.6.3 on  
 Mac OS X 10.4.  Try putting the attached minimal files in a directory  
 and running aclocal followed by automake.

Current is 1.9.6.  Use that instead of 1.6.3, which is several years
old.  I think the bug you report was fixed in 1.7, but I wasn't using
Automake back in those times.  Oodles of other bugs have been fixed
since.

Cheers,
Ralf




Re: conditional += doesn't work as suggested by documentation

2006-05-13 Thread Richard Brooksby

On 2006-05-13, at 09:06, Ralf Wildenhues wrote:


This documents Automake version 1.9.6.

...

Current is 1.9.6.  Use that instead of 1.6.3, which is several years
old.  I think the bug you report was fixed in 1.7, but I wasn't using
Automake back in those times.  Oodles of other bugs have been fixed
since.


Doh!

Thanks for pointing that out.

FWIW, it appears that automake 1.6.3 is installed by default on Mac  
OS X 10.4 as part of the BSD subsystem, so there are potentially a  
lot of automake 1.6.3 users out there, unfortunately.






Re: conditional += doesn't work as suggested by documentation

2006-05-13 Thread Ralf Wildenhues
Hi Richard,

* Richard Brooksby wrote on Sat, May 13, 2006 at 12:24:26PM CEST:
 
 FWIW, it appears that automake 1.6.3 is installed by default on Mac  
 OS X 10.4 as part of the BSD subsystem, so there are potentially a  
 lot of automake 1.6.3 users out there, unfortunately.

It'd be great if you could encourage them to ship with a newer version.
Other than that, you can always just download and install your own (but
then the usual caveats about paths where aclocal finds third-party macro
files apply).

Cheers,
Ralf




IRIX compiler omits some dependencies with -MDupdate

2006-05-13 Thread Ralf Wildenhues
Somehow, IRIX64 6.5 cc and CC, presenting themselves as
  MIPSpro Compilers: Version 7.4.4m

have a quite buggy `-MDupdate' mechanism; it more or less randomly
forgets to list some headers included with double quotes; or maybe only
the first one, I don't know.  For example, the test in m4/depend.m4
leads to this dependency file:
| sub/conftest.o : \
| sub/conftst4.h sub/conftst5.h sub/conftst6.h sub/conftst2.h sub/conftst3.h

Weird, huh?  Note it also forgets to add the .c file, but that may be
intended, and I don't think it breaks dependency tracking, due to the
inference rules Automake puts in place.  Anyway, the new depcomp6.test
exposes this failure -- so at least adding that paid out already.  :-)

For lack of more knowledge, how about this check to diagnose and skip
this depcomp method?  This will make depcomp fall back to depmode
`none', or `dashmstdout' (if --enable-dependency-tracking was given).

It'd probably be good if someone with a support contract could file a
bug...

Cheers,
Ralf

* m4/depend.m4 (_AM_DEPENDENCIES): The IRIX MIPSpro compiler
7.4.4m may omit the first included header dependency information
with `-MDupdate'.  Refine test to catch this.

Index: m4/depend.m4
===
RCS file: /cvs/automake/automake/m4/depend.m4,v
retrieving revision 1.36
diff -u -r1.36 depend.m4
--- m4/depend.m49 Apr 2006 07:46:55 -   1.36
+++ m4/depend.m413 May 2006 09:22:39 -
@@ -99,6 +99,7 @@
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
  /dev/null 2conftest.err 
+   grep sub/conftst1.h sub/conftest.Po  /dev/null 21 
grep sub/conftst6.h sub/conftest.Po  /dev/null 21 
grep sub/conftest.${OBJEXT-o} sub/conftest.Po  /dev/null 21 
${MAKE-make} -s -f confmf  /dev/null 21; then




FYI: fix some typos

2006-05-13 Thread Ralf Wildenhues
I have taken liberty to apply this patch, fixing typos and some wording
in comments and inline documentation, in the hope that that was ok.

Cheers,
Ralf

* lib/Automake/Channels.pm, lib/Automake/Condition.pm,
lib/Automake/DisjConditions.pm, lib/Automake/Options.pm,
lib/Automake/VarDef.pm, lib/Automake/Wrap.pm: Fix some typos.

Index: lib/Automake/Channels.pm
===
RCS file: /cvs/automake/automake/lib/Automake/Channels.pm,v
retrieving revision 1.11
diff -u -r1.11 Channels.pm
--- lib/Automake/Channels.pm14 May 2005 20:28:51 -  1.11
+++ lib/Automake/Channels.pm13 May 2006 09:27:24 -
@@ -1,4 +1,4 @@
-# Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -43,7 +43,7 @@
   # Treat all warnings as errors.
   $warnings_are_errors = 1;
 
-  # Exit with the greater exist code encountered so far.
+  # Exit with the greatest exit code encountered so far.
   exit $exit_code;
 
 =head1 DESCRIPTION
@@ -108,7 +108,7 @@
 
 =item CUP_NONE, CUP_TEXT, CUP_LOC_TEXT
 
-Possible values for the Cuniq_part options.  This select the part
+Possible values for the Cuniq_part options.  This selects the part
 of the message that should be considered when filtering out duplicates.
 If CUP_LOC_TEXT is used, the location and the explanation message
 are used for filtering.  If CUP_TEXT is used, only the explanation
@@ -126,10 +126,10 @@
 
 Possible values for the Cuniq_scope options.
 Use CUS_GLOBAL for error messages that should be printed only
-once in the run of the program, CUS_LOCAL for message that
+once during the execution of the program, CUS_LOCAL for message that
 should be printed only once per file.  (Actually, CChannels does not
-now when files are changed, it relies on you calling Creset_local_duplicates
-when this happens.)
+do this now when files are changed, it relies on you calling
+Creset_local_duplicates when this happens.)
 
 =cut
 
@@ -143,7 +143,7 @@
 
 Channels accept the options described below.  These options can be
 passed as a hash to the Cregister_channel, Csetup_channel, and Cmsg
-functions.  The possible keys, with there default value are:
+functions.  The possible keys, with their default value are:
 
 =over
 
@@ -352,7 +352,7 @@
 =item Cchannel_type ($name)
 
 Returns the type of channel C$name if it has been registered.
-Returns The empty string otherwise.
+Returns the empty string otherwise.
 
 =cut
 
@@ -478,7 +478,7 @@
 
 =item Cmsg ($channel, $location, $message, [%options])
 
-Emit a message on C$channel, overriding some options of the channel  with
+Emit a message on C$channel, overriding some options of the channel with
 those specified in C%options.  Obviously C$channel must have been
 registered with Cregister_channel.
 
@@ -496,10 +496,10 @@
   foo.c:10: unused variable `mumble'
 
 C$location can also be an instance of CAutomake::Location.  In this
-case the stack of contexts will be displayed in addition.
+case, the stack of contexts will be displayed in addition.
 
 If C$message contains newline characters, C$location is prepended
-to each line.  For instance
+to each line.  For instance,
 
   msg 'error', 'somewhere', 1st line\n2nd line;
 
@@ -646,8 +646,8 @@
 
 This backlog of messages is processed when Cflush_messages is
 called, with the current channel options (not the options in effect,
-at the time of Cmsg).  So for instance if some channel was silenced
-in the meantime, messages to this channels will not be print.
+at the time of Cmsg).  So for instance, if some channel was silenced
+in the meantime, messages to this channel will not be printed.
 
 Cflush_messages cancels the effect of Cbuffer_messages.  Following
 calls to Cmsg are processed immediately as usual.
Index: lib/Automake/Condition.pm
===
RCS file: /cvs/automake/automake/lib/Automake/Condition.pm,v
retrieving revision 1.5
diff -u -r1.5 Condition.pm
--- lib/Automake/Condition.pm   14 May 2005 20:28:51 -  1.5
+++ lib/Automake/Condition.pm   13 May 2006 09:27:25 -
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 2001, 2002, 2003  Free Software Foundation, Inc.
+# Copyright (C) 1997, 2001, 2002, 2003, 2006  Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -123,8 +123,8 @@
 
 Another point worth to mention is that each CCondition object is
 unique with respect to its conditionals.  Two CCondition objects
-created for the same set of conditionals will have the same adress.
-This makes it easy to compare CConditions, just compare the
+created for the same set of conditionals will have the same address.
+This makes it 

FYI: improved gnupload

2006-05-13 Thread Ralf Wildenhues
Hi Werner,

* Werner LEMBERG wrote on Fri, May 12, 2006 at 11:03:37PM CEST:
 
   * lib/gnupload: Add support for savannah.gnu.org and
   savannah.nongnu.org.

Thanks!  I installed that.

Cheers,
Ralf




Re: make distcheck not finding custom code generation script

2006-05-13 Thread Andreas Ntaflos
On Saturday 13 May 2006 10:23, Ralf Wildenhues wrote:
 The concept that is probably new to you is when source tree and build
 tree are not the same.  You can achieve that yourself (without
 distcheck) by something like this:
   mkdir build
   cd build
   ../source-tree/configure [OPTIONS]
   make

Ralf, 

thank you too very, very much for another great explanation! That 
concept was indeed new to me (autotools newbie), but now I understand  
well enough I think, which I am very happy about :)

 BTW, what a well-written bug report!

Why, thank you :) It got me at least two great answers so it was 
definately worth writing it.

Thanks, once again!

Andreas
-- 
Andreas daff Ntaflos 
daff AT dword DOT org
Vienna, Austria 

GPG Fingerprint:6234 2E8E 5C81 C6CB E5EC  7E65 397C E2A8 090C A9B4
GPG Public Key ID:  090CA9B4
GPG Public Key: http://daffit.meownz.info/publickey/andreas_ntaflos.asc




state of CVS Automake

2006-05-13 Thread Ralf Wildenhues
I ran a round of tests of CVS Automake, posting some bug fixes along the
way ... could you have guessed?  ;-)  With those, CVS Automake as of the
last couple of months fares as follows on a number of systems.  The list
is sorted by OS then CPU; duplicate entries denote different computers.

I've been trying to use native tools only, as present, esp. I did
usually _not_ have GNU make in $PATH if the native one is different;
GNU m4 everywhere, and varying CVS Autoconf versions from during the
last few weeks; usually I did not try to ensure that a GCC version
was in PATH, even on systems that had it installed somewhere.

Systems from the HP testdrive project are marked as such; some of those
exhibit issues not found on other installations of similar systems,
i.e., same or similar $host value.  If some of these can be shown to be
system configuration issues, it'd be good to sort them out and report
them.  Anyways, kudos to HP for providing this service!

Logs with VERBOSE=x are available, in case you're interested; most
issues should have been reported on one of the automake lists, however.
Items marked `fixed' have been fixed since the test run, for issues
marked `patch pending', surprisingly, a patch has been posted since.

I realize that, because GNU make, gcc, libtool and some other tools
required by some of the test are not installed on those systems or need
special configuration flags to be accessible, the test suite exposure is
less complete that it could have been.  Oh well.

Cheers,
Ralf

(*) denotes issues for which no separate report has been posted (yet).

powerpc-ibm-aix4.3.3.0
=
2 of 455 tests failed
(136 tests were not run)
=
longlin2fixed
mkinst3 fixed

powerpc-ibm-aix5.1.0.0
=
2 of 454 tests failed
(137 tests were not run)
=
automake.test   fixed
longlin2.test   fixed

powerpc-ibm-aix5.2.0.0
=
1 of 454 tests failed
(137 tests were not run)
=
automake.test   fixed

powerpc-ibm-aix5.3.0.0
===
All 454 tests behaved as expected (3 expected failures)
(137 tests were not run)
===

i686-pc-cygwin
=
11 of 552 tests failed
(39 tests were not run)
=
txinfo3.test
txinfo13.test
txinfo16.test
txinfo18.test
txinfo21.test
txinfo22.test
txinfo23.test
txinfo24.test
txinfo25.test
txinfo28.test
version7.test
These failures are similar to what Markus Elfring reported here:
http://lists.gnu.org/archive/html/bug-automake/2006-04/msg00017.html
http://lists.gnu.org/archive/html/bug-automake/2006-05/msg1.html
presumably because the Cygwin TeX installation seems broken.

powerpc-apple-darwin8.2.0
===
All 536 tests behaved as expected (3 expected failures)
(55 tests were not run)
===

i386-unknown-freebsd5.4
===
All 497 tests behaved as expected (3 expected failures)
(94 tests were not run)
===

i386-unknown-freebsd5.4 (testdrive)
===
All 502 tests behaved as expected (3 expected failures)
(89 tests were not run)
===

ia64-unknown-freebsd6.0 (testdrive)
=
1 of 497 tests failed
(94 tests were not run)
=
remake4.testNFS oddity?

alpha-unknown-freebsd6.0
===
All 502 tests behaved as expected (3 expected failures)
(89 tests were not run)
===

hppa2.0-hp-hpux10.20
=
1 of 453 tests failed
(138 tests were not run)
=
distdir.testfixed

hppa2.0w-hp-hpux11.00
=
1 of 453 tests failed
(138 tests were not run)
=
distdir.testfixed

hppa2.0w-hp-hpux11.11
=
1 of 458 tests failed
(133 tests were not run)
=
distdir.testfixed

hppa2.0w-hp-hpux11.23
=
1 of 453 tests failed
(138 tests were not run)
=
distdir.testfixed

ia64-hp-hpux11.23
=
1 of 453 tests failed
(138 tests were not run)
=
distdir.testfixed