Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Jul 2012 10:21:00 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Andriy Gapon <avg@FreeBSD.org>
Cc:        toolchain@FreeBSD.org
Subject:   Re: gcc46 header search path
Message-ID:  <1DED79CC-CACD-4D22-9F1F-E3EB17938EB6@bsdimp.com>
In-Reply-To: <4FF700CF.2000206@FreeBSD.org>
References:  <4FF60A9E.5070503@FreeBSD.org> <4FF6DB51.40904@FreeBSD.org> <508B8B4E-DF5E-412B-BD2B-86F21EBF4C8C@bsdimp.com> <4FF700CF.2000206@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Jul 6, 2012, at 9:14 AM, Andriy Gapon wrote:

> on 06/07/2012 18:10 Warner Losh said the following:
>> I think it shouldn't be there.  It is non-standard behavior both in =
the gcc world and in the freebsd world.  It does save a little on =
makefiles on some ports, but most ports already grok things are in =
/usr/local or opt/local and cope.
>=20
> Please define the non-standard behavior.  Just curious if you opened =
the link.

I didn't, because I know the standard behavior.  Turns out, I don't know =
today's standard behavior, just the historical behavior of gcc, which =
has changed over the life of FreeBSD.

FreeBSD's standard compiler has never included it.  There was talk about =
10 years ago about adding it, but it was shouted down as a stupid idea.  =
I tend to agree, but I can't articulate good reasons.

Warner

>> On Jul 6, 2012, at 6:34 AM, Andriy Gapon wrote:
>>=20
>>>=20
>>> Inviting wider audience to the discussion.
>>>=20
>>> -------- Original Message --------
>>> Date: Fri, 06 Jul 2012 00:43:58 +0300
>>> From: Andriy Gapon <avg@FreeBSD.org>
>>> Subject: Re: gcc46 header search path
>>>=20
>>> on 05/07/2012 17:15 Andriy Gapon said the following:
>>>>=20
>>>> Gerald,
>>>>=20
>>>> while thinking what to reply in our other conversation I ran into =
another issue
>>>> with gcc46:
>>>>=20
>>>> $ echo "" | cpp46 -v
>>>> [trim]
>>>> #include "..." search starts here:
>>>> #include <...> search starts here:
>>>> /usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd10.0/4.6.3/include
>>>> /usr/local/include
>>>> =
/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd10.0/4.6.3/include-fixed
>>>> /usr/include
>>>> End of search list.
>>>> [trim]
>>>>=20
>>>> I don't think that /usr/local/include should automagically appear =
in the search
>>>> list.  Base gcc doesn't have it and there doesn't seem to be a good =
reason to
>>>> include "arbitrary" non-system directory into the default search =
path.
>>>>=20
>>>=20
>>> On the other hand the above seems to match the default upstream =
behavior as
>>> described here: http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html
>>> It's understandable that such a difference between the base gcc =
compiler and gcc
>>> compilers from ports introduces subtle issues to ports.
>>>=20
>>> I am now confused and torn as to which behavior should be =
preferable.
>>> On one hand it's easier to patch the port gcc-s to match the base =
one.
>>> On the other hand the default gcc behavior would save many lines in =
port
>>> makefiles that explicitly add -I ${LOCALBASE}/include or some such =
to CFLAGS.
>>> buildworld and buildkernel (and etc) could be spared from any =
interference from
>>> /usr/local by using -nostdinc and explicitly setting all necessary =
include paths.
>>>=20
>>> Adding more people to conversation in hope that it could become =
fruitful.
>>>=20
>>>=20
>>> --=20
>>> Andriy Gapon
>>>=20
>>>=20
>>>=20
>>> _______________________________________________
>>> freebsd-toolchain@freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
>>> To unsubscribe, send any mail to =
"freebsd-toolchain-unsubscribe@freebsd.org"
>>=20
>=20
>=20
> --=20
> Andriy Gapon
>=20
>=20




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1DED79CC-CACD-4D22-9F1F-E3EB17938EB6>