[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gcc 3.2's cpp breaks configure scripts
From: |
John David Anglin |
Subject: |
Re: gcc 3.2's cpp breaks configure scripts |
Date: |
Fri, 2 Aug 2002 12:35:12 -0400 (EDT) |
Forwarded message:
>From dave Thu Aug 1 23:09:42 EDT 2002
Subject: Re: gcc 3.2's cpp breaks configure scripts
To: address@hidden (H}kan Hjort)
Date: Thu, 1 Aug 2002 23:09:42 -0400 (EDT)
From: "John David Anglin" <address@hidden>
Cc: address@hidden, address@hidden, address@hidden
In-Reply-To: <address@hidden> from "H}kan Hjort" at Aug 1, 2002 11:52:13 pm
X-Mailer: ELM [version 2.4 PL25]
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 4762
> John David Anglin wrote:
> > The gcc warning is correct in the cases that I have examined. I don't
> > believe that configure should be adding include directories to CPPFLAGS
> > that are already being searched as system directories by gcc. This
> > changes the include search order as noted in the warning and may
> > cause unexpected results.
> >
> Ah but which are theses directories? There is no way to know as far
> as I can see. (If you don't fancy doing some rather serious parsing
> of either the specfile, the output from -dumpspecs or from gcc -v -E).
Enclosed is a patch to the gettext macros lib-link.m4 and lib-prefix.m4
to prevent them from appending GCC system directories to CPPFLAGS. It
uses "gcc -v -E" and checks for the warning. I have tested the patch
by building textutils-2.1 using the new macros. Possibly, the macros
can be improved but the patch seems to be doing what I want.
Dave
--
J. David Anglin address@hidden
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)
2002-07-31 John David Anglin <address@hidden>
* lib-link.m4: Don't add GCC system include directories to CPPFLAGS.
* lib-prefix.m4: Likewise.
--- lib-link.m4.orig Sat Jul 20 03:15:04 2002
+++ lib-link.m4 Thu Aug 1 21:57:16 2002
@@ -345,9 +345,10 @@
dnl But don't add it
dnl 1. if it's the standard /usr/include,
dnl 2. if it's /usr/local/include and we are using GCC on
Linux,
- dnl 3. if it's already present in $CPPFLAGS or the already
+ dnl 3. if it doesn't exist as a directory.
+ dnl 4. if it's a GCC system include directory,
+ dnl 5. if it's already present in $CPPFLAGS or the already
dnl constructed $INCNAME,
- dnl 4. if it doesn't exist as a directory.
if test "X$additional_includedir" != "X/usr/include"; then
haveit=
if test "X$additional_includedir" = "X/usr/local/include"; then
@@ -358,6 +359,17 @@
fi
fi
if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ if test -n "$GCC"; then
+ if test -n "`echo 'main (){}' | $CC -v -E
-I$additional_includedir - 2>&1 | grep 'changing search order for system
directory'`"; then
+ haveit=yes
+ fi
+ fi
+ else
+ haveit=yes
+ fi
+ fi
+ if test -z "$haveit"; then
for x in $CPPFLAGS $INC[]NAME; do
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
if test "X$x" = "X-I$additional_includedir"; then
@@ -366,10 +378,8 @@
fi
done
if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $INCNAME.
- INC[]NAME="${INC[]NAME}${INC[]NAME:+
}-I$additional_includedir"
- fi
+ dnl Really add $additional_includedir to $INCNAME.
+ INC[]NAME="${INC[]NAME}${INC[]NAME:+
}-I$additional_includedir"
fi
fi
fi
--- lib-prefix.m4.orig Sat Feb 16 06:24:09 2002
+++ lib-prefix.m4 Thu Aug 1 22:00:57 2002
@@ -51,6 +51,7 @@
dnl 2. if it's already present in $CPPFLAGS,
dnl 3. if it's /usr/local/include and we are using GCC on Linux,
dnl 4. if it doesn't exist as a directory.
+ dnl 5. if it's a GCC system include directory,
if test "X$additional_includedir" != "X/usr/include"; then
haveit=
for x in $CPPFLAGS; do
@@ -68,11 +69,20 @@
esac
fi
fi
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $CPPFLAGS.
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+ fi
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ if test -n "$GCC"; then
+ if test -n "`echo 'main (){}' | $CC -v -E -I$additional_includedir
- 2>&1 | grep 'changing search order for system directory'`"; then
+ haveit=yes
+ fi
fi
+ else
+ haveit=yes
+ fi
+ if test -z "$haveit"; then
+ dnl Really add $additional_includedir to $CPPFLAGS.
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
fi
fi
fi
--
J. David Anglin address@hidden
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)
- Re: gcc 3.2's cpp breaks configure scripts,
John David Anglin <=
- Message not available
- Re: gcc 3.2's cpp breaks configure scripts, Bruno Haible, 2002/08/02
- Re: gcc 3.2's cpp breaks configure scripts, John David Anglin, 2002/08/02
- Re: gcc 3.2's cpp breaks configure scripts, Paul Eggert, 2002/08/02
- Re: gcc 3.2's cpp breaks configure scripts, Nix, 2002/08/03
- Re: gcc 3.2's cpp breaks configure scripts, John David Anglin, 2002/08/03
- Re: gcc 3.2's cpp breaks configure scripts, Zack Weinberg, 2002/08/03
- Re: gcc 3.2's cpp breaks configure scripts, John David Anglin, 2002/08/03
- Re: gcc 3.2's cpp breaks configure scripts, Gabriel Dos Reis, 2002/08/03
- Re: gcc 3.2's cpp breaks configure scripts, Zack Weinberg, 2002/08/03
- Re: gcc 3.2's cpp breaks configure scripts, John David Anglin, 2002/08/03