[Pkg-octave-devel] Bug#434415: [kimhanse at gmail.com: Bug#434415: octave2.9-headers: Changed F77_FUNC_ macro]

John W. Eaton jwe at bevo.che.wisc.edu
Tue Jul 24 16:08:38 UTC 2007


On 24-Jul-2007, Thomas Weber wrote:

| Am Montag, 23. Juli 2007 22:12:14 schrieb Rafael Laboissiere:
| > ----- Forwarded message from Kim Hansen <kimhanse at gmail.com> -----
| >
| > From: Kim Hansen <kimhanse at gmail.com>
| > Subject: [Pkg-octave-devel] Bug#434415: octave2.9-headers: Changed
| > F77_FUNC_ macro
| > Date: Mon, 23 Jul 2007 19:51:13 +0200
| > To: Debian Bug Tracking System <submit at bugs.debian.org>
| > Reply-To: Kim Hansen <kimhanse at gmail.com>, 434415 at bugs.debian.org
| > Message-ID: <20070723175113.23843.41346.reportbug at localhost.localdomain>
| >
| > Package: octave2.9-headers
| > Version: 1:2.9.12-2+b3
| > Severity: normal
| >
| >
| > I don't know if this is a real bug, but between version 2.9.10-4.1 and
| > 1:2.9.12-2+b3 has the definition of the macro F77_FUNC_ in
| > /usr/include/octave/config.h changed from
| >   #define F77_FUNC_(name,NAME) name ## _
| > to
| >   #define F77_FUNC_(name,NAME) name ## __
| 
| If I read the output of 
| 	cvs annotate configure.in
| correctly, John hasn't touched these lines for about 5 years. Could this be 
| caused by our (=Debian) current mixture of g77 and gfortran?

If you mean these lines in the generated config.h file:

  /* Define to a macro mangling the given C identifier (in lower and upper
     case), which must not contain underscores, for linking with Fortran. */
  #define F77_FUNC(name,NAME) name ## _

  /* As F77_FUNC, but for C identifiers containing underscores. */
  #define F77_FUNC_(name,NAME) name ## __

then the definition depends on the Fortran compiler (the definition is
generated by autoconf).  The doubled underscore suffix for names that
already contain an underscore was a convention used by f2c and copied
by other Unix Fortran 77 compilers including g77.  I guess gfortran
does not use the same convention.

If you mean these lines:

  #if defined(HAVE_F2C) && !defined(F77_FUNC)
  #  define F77_FUNC(name,NAME) name ## _
  #  define F77_FUNC_(name,NAME) name ## __
  #endif

Then I don't think they should change.

In any case, we probably need to think about how to avoid installing
the generated config.h.  We may still need a subset of that file
installed, but it should probably have a different name.

jwe




More information about the Pkg-octave-devel mailing list