Files
libgphoto2/libgphoto2.pc.in
Hans Ulrich Niedermann bd5aec38d1 pc files: Fix gphoto2 builds, avoid builds with wrong headers
In the *.pc files, use a C preprocessor include path both with
and without the gphoto2/ path component:

    Cflags: -I${includedir} -I${includedir}/gphoto2

This allows both the preferred way to include gphoto2 headers

    #include <gphoto2/gphoto2.h>
    #include <gphoto2/gphoto2-camera.h>

and also the early 2000s legacy way (still in use by kamera and
others because we did not properly communicate and enforce that
back when we were still stabilizing the API)

    #include <gphoto2.h>
    #include <gphoto2-camera.h>

to produce builds with the libgphoto2 headers actually corresponding
to the *.pc files in use.

Any other option for the *.pc file Cflags either produces
unintended build failures or builds which use the wrong header
files (the `-I${includedir}/gphoto2` option), or breaks the
`#include <...>` part of the libgphoto2 API from the early 2000s
still in use by kamera and others (the `-I${includedir}` option).

For details, see https://github.com/gphoto/libgphoto2/issues/717 and
https://github.com/gphoto/libgphoto2/issues/717#issuecomment-1018040615

Fixes: https://github.com/gphoto/libgphoto2/issues/717
2022-01-22 17:47:01 +01:00

16 lines
416 B
PkgConfig

prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
VERSION=@VERSION@
driverdir=@camlibdir@
Name: libgphoto2
Description: Library for easy access to digital cameras
URL: http://gphoto.org/proj/libgphoto2/
Version: @VERSION@
Requires: libgphoto2_port >= 0.10.0
Requires.private: @REQUIREMENTS_FOR_LIBEXIF@
Libs: -L${libdir} -lgphoto2 -lm
Cflags: -I${includedir} -I${includedir}/gphoto2