gcc46 header search path
Andriy Gapon
avg at FreeBSD.org
Fri Jul 6 22:29:46 UTC 2012
on 06/07/2012 22:11 David Chisnall said the following:
> On 6 Jul 2012, at 17:54, Andriy Gapon wrote:
>
>> Yeah. Honestly speaking I myself was not aware of what is written in that
>> link and I thought that our gcc ports (from ports) added /usr/local/include
>> to the default search path by some mistake. And if somebody asked me what
>> I thought about the idea of adding /usr/local/include to the default path,
>> I'd say that it was a stupid idea.
>
> Why? The number one question I get from developers new FreeBSD is 'I wanted
> to use libfoo from ports, I stalled it, and now [gcc,clang] doesn't find the
> headers, why not?' No one has yet provided me with a sane reason why our
> system compiler would not look in the standard locations where we install
> headers and libraries. Running configure scripts on FreeBSD is a colossal
> pain because of this - you often need to explicitly say
> -with-foo-include=/usr/local/include -with-foo-lib=/usr/local/lib for an
> arbitrary number of values of foo, depending on the library.
>
> Please, please, please, can we put our standard library and header paths in
> the compiler standard header or library paths, or can someone give me a good
> reason other than 'it's a stupid idea' why we should force every single
> program that anyone compiles on FreeBSD to do CFLAGS=-I/usr/local/include
> LDFLAGS=-L/usr/local/lib?
I think that this is a dummy argument. One could easily want his LOCALBASE to
be /opt and the real ports system should support that. So what ports currently
do, they really have to do (assuming $LOCALBASE as opposed to /usr/local).
So, repeating myself for Nth time, the real question is whether we have any good
reason to deviate from upstream's default behavior. Nothing less, nothing more,
IMO.
--
Andriy Gapon
More information about the freebsd-toolchain
mailing list