Paul Eggert | 2 Sep 2003 21:17
Favicon

Re: tracing from aclocal

Akim Demaille <akim <at> epita.fr> writes:

> You know, sometimes you post nice summaries like this when one of us
> asks a question.  Given the quality of your answers, we should
> probably treasure them in autoconf.texi...

OK, I installed the following patch.  (Thanks for the flattery. :-)

2003-09-02  Paul Eggert  <eggert <at> twinsun.com>

	* doc/autoconf.texi (Limitations of Usual Tools, Limitations of Make):
	Document problems with timestamp resolution that 'make', 'cp -p', and
	'touch -r' have.

Index: autoconf.texi
===================================================================
RCS file: /cvsroot/autoconf/autoconf/doc/autoconf.texi,v
retrieving revision 1.756
retrieving revision 1.757
diff -p -u -r1.756 -r1.757
--- autoconf.texi	27 Aug 2003 07:29:30 -0000	1.756
+++ autoconf.texi	2 Sep 2003 19:13:59 -0000	1.757
 <at>  <at>  -10469,6 +10469,21  <at>  <at>  newline encoding.
  <at> item  <at> command{cp}
  <at> c ---------------
  <at> prindex  <at> command{cp}
+ <at> cindex timestamp resolution
+Traditionally, file timestamps had 1-second resolution, and  <at> samp{cp
+-p} copied the timestamps exactly.  However, many modern filesystems
+have timestamps with 1-nanosecond resolution.  Unfortunately,  <at> samp{cp
(Continue reading)

Paul Eggert | 3 Sep 2003 02:37
Favicon

FYI: Autoconf patches for more-modern Fortran

"Steven G. Johnson" <stevenj <at> ab-initio.mit.edu> writes:

> FYI, I've attached a revised version of my Fortran 9x patch, with some
> fixes and now against the latest CVS autoconf.

I installed that patch; it looks pretty benign so long as nobody uses
the new features.  Can you please supply some documentation next?
Thanks.

Here's the patch that I installed, for the benefit of autoconf-patches.

2003-09-02  Steven G. Johnson  <stevenj <at> alum.mit.edu>

	Add support for newer Fortran dialects.  The F77 interface is
	unchanged, and continues to support Fortran 77.  New FC macros
	correspond to all the old F77 macros, with output variables FC,
	FCFLAGS, and FCLIBS.  AC_PROG_FC defaults to picking the newest
	available dialect, but older dialects can be specified.  There are
	new macros AC_FC_SRCEXT to set the source extension, and
	AC_FC_FREEFORM to accept free-form source files.

	* lib/autoconf/c.m4 (_AC_LANG_PREFIX(C), _AC_LANG_PREFIX(C++)):
	New macros.
	(AC_LANG_PROGRAM(C)): Invoke _AC_LANG_PROGRAM_C_FC_HOOKS if defined.
	* lib/autoconf/fortran.m4 (AC_LANG(Fortran), _AC_FORTRAN_ASSERT,
	_AC_LANG_ABBREV(Fortran), _AC_LANG_PREFIX(Fortran 77),
	_AC_LANG_PREFIX(Fortran), _AC_FC, AC_LANG_SOURCE(Fortran),
	AC_LANG_PROGRAM(Fortran), AC_LANG_CALL(Fortran),
	AC_LANG_PREPROC(Fortran), AC_LANG_COMPILER(Fortran),
	_AC_FC_DIALECT_YEAR, _AC_F95_FC, _AC_F90_FC, _AC_F77_FC,
(Continue reading)

Akim Demaille | 4 Sep 2003 07:50
Picon
Picon
Favicon

Re: FYI: Autoconf patches for more-modern Fortran


 > "Steven G. Johnson" <stevenj <at> ab-initio.mit.edu> writes:
 >> FYI, I've attached a revised version of my Fortran 9x patch, with some
 >> fixes and now against the latest CVS autoconf.

 > I installed that patch; it looks pretty benign so long as nobody uses
 > the new features.  Can you please supply some documentation next?
 > Thanks.

 > Here's the patch that I installed, for the benefit of autoconf-patches.

Actually, I was still looking at this issue, but I am concerned by the
interface.  We should deprecate AC_PROG_FOOC for looking for FOO
compilers.  One issue is that the interface is pretty bad, and does
not allow cleanly to specify the list of compilers, nor what should be
done IF-HAVE, and IF-HAVE-NOT.

2.58 is really needed, so I propose that we keep this code in 2.58,
but do not document it yet: that will make the test suite exercise
this code.  But we should still address once for all the *generic*
interface for AC_LANG_COMPILER, and stop new AC_PROG_FOOC.  This can
be done in 2.59, and I will pay extra attention to devote enough time
to this.

Akim Demaille | 4 Sep 2003 14:54
Picon
Picon
Favicon

FYI: AC_FC_FUNC should not be tested


Index: ChangeLog
from  Akim Demaille  <akim <at> epita.fr>

	* tests/mktests.sh (ac_exclude_list): Add AC_FC_FUNC.

Index: lib/autoconf/fortran.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/fortran.m4,v
retrieving revision 1.167
diff -u -u -r1.167 fortran.m4
--- lib/autoconf/fortran.m4 3 Sep 2003 00:35:52 -0000 1.167
+++ lib/autoconf/fortran.m4 4 Sep 2003 12:51:54 -0000
 <at>  <at>  -1057,8 +1057,9  <at>  <at> 
 m4_default([$2],[$1])="$ac_val"
 ])# _AC_FC_FUNC

+
 # AC_F77_FUNC(NAME, [SHELLVAR = NAME])
-# ----------------------
+# ------------------------------------
 AC_DEFUN([AC_F77_FUNC],
 [AC_REQUIRE([_AC_F77_NAME_MANGLING])dnl
 AC_LANG_PUSH(Fortran 77)dnl
 <at>  <at>  -1066,8 +1067,9  <at>  <at> 
 AC_LANG_POP(Fortran 77)dnl
 ])# AC_F77_FUNC

+
 # AC_FC_FUNC(NAME, [SHELLVAR = NAME])
(Continue reading)

Paul Eggert | 4 Sep 2003 20:23
Favicon

Re: FYI: Autoconf patches for more-modern Fortran

Akim Demaille <akim <at> epita.fr> writes:

> 2.58 is really needed, so I propose that we keep this code in 2.58,
> but do not document it yet: that will make the test suite exercise
> this code.  But we should still address once for all the *generic*
> interface for AC_LANG_COMPILER, and stop new AC_PROG_FOOC.  This can
> be done in 2.59, and I will pay extra attention to devote enough time
> to this.

The above points are all good ones, but I'd still like to see user
documentation for the current approach, even if we'll change it a bit
before we publish it.  If Steven comes up with the documentation now,
we can install it but ifdef it out so that ordinary users won't see it
until after 2.58 comes out.  That way, we don't have to worry so much
about inhibiting Steve from generating the documentation.

(Not to put any pressure on you, Steven....  I'm just trying to make
it easier for you to make further contributions.)

Gary V. Vaughan | 5 Sep 2003 13:25
Picon
Gravatar

Re: FYI: 50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch

I wrote:
>
> As best as I can tell, autoreconf calls aclocal to generate aclocal.m4t, 
> and then at line 252 calls update_file, which in turn doesn't delete 
> aclocal.m4t if it decides the update is not needed.  I can't find the 
> definition of update_file to check (I didn't look very hard) why that 
> happens...

Looked a bit harder... this patch works for me.  Okay to commit?

Cheers,
	Gary.
--

-- 
   ())_.  Gary V. Vaughan    gary <at> (oranda.demon.co.uk|gnu.org)
   ( '/   Research Scientist http://www.oranda.demon.co.uk       ,_())____
   / )=   GNU Hacker         http://www.gnu.org/software/libtool  \'      `&
`(_~)_   Tech' Author       http://sources.redhat.com/autobook   =`---d__/
Index: ChangeLog
from  Gary V. Vaughan  <gary <at> gnu.org>

	* lib/Autom4te/FileUtils.pm (update_file): Remove the source before
	returning if there was no difference between source and destination.

Index: lib/Autom4te/FileUtils.pm
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/Autom4te/FileUtils.pm,v
retrieving revision 1.3
diff -u -p -u -r1.3 FileUtils.pm
(Continue reading)

Akim Demaille | 5 Sep 2003 15:10
Picon
Picon
Favicon

Re: FYI: 50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch


| I wrote:
| >
| > As best as I can tell, autoreconf calls aclocal to generate
| > aclocal.m4t, and then at line 252 calls update_file, which in turn
| > doesn't delete aclocal.m4t if it decides the update is not needed.
| > I can't find the definition of update_file to check (I didn't look
| > very hard) why that happens...
| 
| Looked a bit harder... this patch works for me.  Okay to commit?
| 
| Cheers,
| 	Gary.
| -- 
|    ())_.  Gary V. Vaughan    gary <at> (oranda.demon.co.uk|gnu.org)
|    ( '/   Research Scientist http://www.oranda.demon.co.uk       ,_())____
|    / )=   GNU Hacker         http://www.gnu.org/software/libtool  \'      `&
| `(_~)_   Tech' Author       http://sources.redhat.com/autobook   =`---d__/
| Index: ChangeLog
| from  Gary V. Vaughan  <gary <at> gnu.org>
| 
| 	* lib/Autom4te/FileUtils.pm (update_file): Remove the source before
| 	returning if there was no difference between source and destination.
| 
| Index: lib/Autom4te/FileUtils.pm
| ===================================================================
| RCS file: /cvsroot/autoconf/autoconf/lib/Autom4te/FileUtils.pm,v
| retrieving revision 1.3
| diff -u -p -u -r1.3 FileUtils.pm
| --- lib/Autom4te/FileUtils.pm 21 Aug 2003 16:15:40 -0000 1.3
(Continue reading)

Steven G. Johnson | 6 Sep 2003 09:20
Picon
Favicon

Re: FYI: Autoconf patches for more-modern Fortran

Paul Eggert wrote:
> If Steven comes up with the documentation now,
> we can install it but ifdef it out so that ordinary users won't see it
> until after 2.58 comes out.  That way, we don't have to worry so much
> about inhibiting Steve from generating the documentation.

I've been looking at the manual, and I don't think this is really 
viable.  The reason is that many of the F77 and FC macros are almost 
identical, so one really wants to document them together.  This makes it 
hard to be able to cleanly comment the newer stuff out.

(It's still a bit of a pain to write both macro names everywhere, e.g. 
 <at> code{AC_F77_DUMMY_MAIN}/ <at> code{AC_FC_DUMMY_MAIN}.  The alternative would 
be to use something like  <at> code{AC_F*_DUMMY_MAIN} in the documentation, 
but that might be unclear.)

Of course, I can still work on the documentation and keep the patches 
current via cvs updating, like I did with the code patches, until it 
gets merged in.

Steven

Paul Eggert | 6 Sep 2003 10:02
Favicon

Re: FYI: Autoconf patches for more-modern Fortran

"Steven G. Johnson" <stevenj <at> alum.mit.edu> writes:

> I can still work on the documentation and keep the patches current
> via cvs updating, like I did with the code patches, until it gets
> merged in.

Yes, that sounds like a better thing to do than the idea I suggested.
Thanks.

Akim Demaille | 4 Sep 2003 15:02
Picon
Picon
Favicon

FYI: Use fatal in autom4te


Noticed some output during "make".

Index: ChangeLog
from  Akim Demaille  <akim <at> epita.fr>

	* bin/autom4te.in: Use &fatal where more appropriate than &error.
	(freeze): When exiting, use $exit_code.
	* lib/autoconf/fortran.m4: Comment changes.

Index: bin/autom4te.in
===================================================================
RCS file: /cvsroot/autoconf/autoconf/bin/autom4te.in,v
retrieving revision 1.89
diff -u -u -r1.89 autom4te.in
--- bin/autom4te.in 22 Aug 2003 13:38:34 -0000 1.89
+++ bin/autom4te.in 4 Sep 2003 12:59:58 -0000
 <at>  <at>  -89,7 +89,7  <at>  <at> 
 # $M4.
 my $m4 = $ENV{"M4"} || ' <at> M4 <at> ';
 # Some non-GNU m4's don't reject the --help option, so give them /dev/null.
-error "need GNU m4 1.4 or later: $m4"
+fatal "need GNU m4 1.4 or later: $m4"
   if system "$m4 --help </dev/null 2>&1 | grep reload-state >/dev/null";

 # Set some high recursion limit as the default limit, 250, has already
 <at>  <at>  -269,7 +269,7  <at>  <at> 
       my $type = shift  <at> words;
       if ($type eq 'begin-language:')
 	{
(Continue reading)


Gmane