[Flac-dev] pkg-config output and <FLAC/assert.h>

Erik de Castro Lopo mle+la at mega-nerd.com
Fri Mar 25 02:32:08 PDT 2011


Hi,

FLAC helpfully provides a flac.pc file. Unfortunately there is a
nasty interaction between that file and system header files.

If ones installs flac and relies on pkg-config to find the CFLAGS
one woulf get CFLAGS value of "-I${includedir}/FLAC" which suggests
that FLAC header files like <metadata.h> should be included as:

    #include <metadata.h>

However, FLAC also ships an <assert.h> header file. If one writes
code that wants needs both the Standard C <assert.h> and the FLAC
header files, we run into a problem, the C compiler finds FLAC's
<assert.h> instead of the Standard C version.

I believe the correct solution to this problem is the change the
Cflag value in flac.pc to "-I${includedir}" and then encourage
people to use:

    #include <FLAC/metadata.h>
    #include <FLAC/assert.h>
    #include <assert.h>

which will no longer conflict.

Opinions?

Erik
-- 
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/


More information about the Flac-dev mailing list