clang/llvm: /usr/local/include in port base system not standard? (port devel/freeocl)
Dimitry Andric
dim at FreeBSD.org
Mon Dec 24 20:35:17 UTC 2012
On 2012-12-24 18:10, O. Hartmann wrote:
> Some ports (devel/freeocl for instance) won't compile easily with CLANG.
> I fugured out that sometimes CLANG is not by default including
> /usr/local/include into the CPP search path - obviously gcc/gcc46 does!
Eh, that is incorrect. The version of gcc in base does *not* have
/usr/local/include in its default include path, and our version of clang
in base mimics that behaviour. I know this has been a point of much
discussion, but I don't want to repeat any of it here; just stating the
facts.
I don't know precisely what the port versions of gcc and clang do,
however. It is a Linuxism to always have /usr/local/include in the
default path, so it may well be that the port versions do this too.
> Well, I feel a bit confused, since I do not know how to manage the
> intransparent port framework (intransparent to me) to force the port's
> Makefile to include via "-I/usr/local/include" the path in question.
Like it is done in most ports, try adding:
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
> By the way, the build backend is cmake which I'm completely unfamiliar
> with. Can someone give a hint?
CMake has its own logic for searching headers, but I am not sure what
the correct solution is for your specific project.
More information about the freebsd-ports
mailing list