'system cflags' with other prefix

Craig Treleaven ctreleaven at cogeco.ca
Tue Jan 12 05:53:03 PST 2016

I’m trying to port a Linux-based application to OS X via the MacPorts packaging system and having buiild failures due to includes pointing to old/other headers installed in /opt/local/include.  ‘/opt/local’ is the default prefix for everything MacPorts installs.

As I understand it, under Linux, 'pig-config —cflags’ returns an empty string when a header is installed in /usr/include.  The port I’m working on, MythTV 0.28-pre, uses pkg-config to check for several dependencies.  Under MacPorts, I end up with '-I/opt/local/include’ early in the compiler arguments and thus it picks up old or unintended versions of headers.  Under Linux, no problem.

Is there some way I can coerce pkg-config to treat /opt/local/include like it does /usr/include?  I’ve looked at the man page for pkg-config and tried using some of the environment variables but without success.

Eg, with MacPorts:
$ pkg-config --cflags x264
-I/opt/local/include                     ## want to make this disappear since it is the ‘system include'

Is there a magic recipe?  (Changing the build system would be…difficult!  I think I have a workaround with a simple script wrapper for pkg-config that uses sed to strip out '-I/opt/local/include’.)  



More information about the pkg-config mailing list