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