atom feed18 messages in org.freebsd.freebsd-hackersInclude file search path
FromSent OnAttachments
md...@FreeBSD.orgMar 29, 2011 2:20 pm 
John BaldwinMar 30, 2011 4:59 am 
Arnaud LacombeMar 30, 2011 8:04 am 
Dimitry AndricMar 30, 2011 8:23 am 
Nathan WhitehornMar 30, 2011 8:26 am 
Dimitry AndricMar 30, 2011 8:45 am 
Warner LoshMar 30, 2011 10:53 am 
Robert WatsonApr 2, 2011 11:29 am 
Warner LoshApr 2, 2011 11:47 am 
Robert N. M. WatsonApr 2, 2011 12:09 pm 
Warner LoshApr 2, 2011 3:48 pm 
Arnaud LacombeMay 22, 2011 8:47 pm 
Warner LoshMay 31, 2011 9:23 am 
Arnaud LacombeJun 6, 2011 2:37 pm 
Arnaud LacombeJun 25, 2011 11:00 am 
Arnaud LacombeJul 8, 2011 2:16 pm 
Arnaud LacombeSep 14, 2011 8:23 pm 
Garrett CooperNov 16, 2011 10:43 am 
Subject:Include file search path
From:md...@FreeBSD.org (md@FreeBSD.org)
Date:Mar 29, 2011 2:20:07 pm
List:org.freebsd.freebsd-hackers

I thought I knew something about how the compiler looks for include files, but now I think maybe I don't know much. :-)

So here's what I'm pondering. When I build a library, like e.g. libc, where do the include files get pulled from? They can't (shouldn't) be the ones in /usr/include, but I don't see a -nostdinc like for the kernel. There are -I directives in the Makefile for -I${.CURDIR}/include -I${.CURDIR}/../../include, etc., but that won't remove /usr/include from the search path.

I see in the gcc documentation that -I paths are searched before the standards paths. But isn't the lack of -nostdinc a bug (not just for libc, but for any library in /usr/src/lib)? It somewhat feels to me that all of the libraries and binaries in the source distribution should use -nostdinc and include only from the source distribution itself. This isn't always an issue, but for source upgrades it seems crucial, and for a hacker it saves difficulties with having to install headers before re-building.

Is that the intent, and it's not fully implemented? How badly would things break if -nostdinc was included in e.g. bsd.lib.mk? (This would break non-base libraries, yes? But as a thought experiment for the base, how far off are we?)

Thanks, matthew