octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Order of AM_CPPFLAGS and other xxx_CFLAGS


From: John W. Eaton
Subject: Re: Order of AM_CPPFLAGS and other xxx_CFLAGS
Date: Sun, 17 Nov 2013 12:45:05 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131005 Icedove/17.0.9

On 11/17/2013 12:14 PM, Rik wrote:
On 11/14/2013 07:57 PM, Michael Goffioul wrote:
Rik,

This changeset breaks my compilation with MSVC:

http://hg.savannah.gnu.org/hgweb/octave/rev/a230b996ae8a

The problem is that compilation of (among others) __init_fltk__.cc uses
now the following CPPFLAGS definition:

$(GRAPHICS_CFLAGS) $(FT2_CPPFLAGS) $(FONTCONFIG_CPPFLAGS) $(AM_CPPFLAGS)

The variable GRAPHICS_CFLAGS, pulled from fltk-config, contains a -Ixxx
statement containing the base installation directory of my MXE system.
The libgnu directory, on the other hand, is part of AM_CPPFLAGS. As a
result, gnulib header substitution fails for some headers. A similar
problem could also occur on Linux if any of the variables preceding
AM_CPPFLAGS happen to contain -I/usr/include. I believe the libgnu
directory should appear early in the include chain, otherwise it'll fail
to override what it's supposed to override.

Ugh.  This doesn't look like it is going to be fun to solve.

fltk-config does this:

  if test "$includedir" != /usr/include; then
      includes=-I$includedir
  else
      includes=
  fi

That seems wrong to me becuase it assumes that the only system include
directory is always "/usr".  Instead, I think it should not print
fltk include directory if it is already searched by the compiler.

Do any other config scripts do this sort of thing, or is it just
fltk-config?

If it is just fltk-config, then maybe it would be easier if we made
mxe-octave patch fltk-config to not do this.  Would that fix the
problem?

jwe


reply via email to

[Prev in Thread] Current Thread [Next in Thread]