From ac4d0d75ca6920305818a046fa21be17799d53a6 Mon Sep 17 00:00:00 2001 From: Kipp Cannon <kipp.cannon@ligo.org> Date: Mon, 11 Nov 2019 20:05:04 +0900 Subject: [PATCH] gstlal, gstlal-burst, gstlal-inspiral: fix .pc files - this mostly reverts the rest of 70c88cd6cda0e537310d5111b7aaed518543d19c "use private fields in pkgconfig files" - the requirements of each of the gstlal libraries are not private, it is through these dependencies that the correct -I options are added when compiling things that #include the header files. NOTE: the header files in, for example, gstlal #include header files from other projects, header files that are not, in general, located in the default search paths of compilers. pkg-config is required to determine the complete set of -I options, it does so using the "requires" field. - 70c88cd6cda0e537310d5111b7aaed518543d19c "use private fields in pkgconfig files" didn't break gstlal builds because the gstlal packages, themselves, tend to have the same internal requirements as the exported requirements of other gstlal packages. for example, using gstlal's header files requires you to add the -I options necessary to find all the gstreamer headers, which everything in gstlal-inspiral needs to add anyway, for its own reasons, so breaking gstlal's .pc file didn't break the gstlal-inspiral build. it *does* break builds of other stuff, outside of these projects, that might try to link to gstlal but isn't a gstreamer based project itself. - what this patch does do, is conduct an audit of what things are really #include'd in installed header files and only lists those things in the requires field instead of all libraries the project links against. --- gstlal-burst/lib/gstlal-burst/gstlal-burst.pc.in | 2 +- gstlal-inspiral/lib/gstlal-inspiral.pc.in | 2 +- gstlal/lib/gstlal/gstlal.pc.in | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gstlal-burst/lib/gstlal-burst/gstlal-burst.pc.in b/gstlal-burst/lib/gstlal-burst/gstlal-burst.pc.in index 9d0adc5a31..55adf157d6 100644 --- a/gstlal-burst/lib/gstlal-burst/gstlal-burst.pc.in +++ b/gstlal-burst/lib/gstlal-burst/gstlal-burst.pc.in @@ -6,6 +6,6 @@ includedir=@includedir@ Name: libgstlalburst Description: LAL/Gstreamer Library (the bursty bits) Version: @VERSION@ -Requires.private: lal lalmetaio lalburst gstlal +Requires: lal lalmetaio glib-2.0 gsl gstlal Libs: -L${libdir} -lgstlalburst Cflags: -I${includedir} diff --git a/gstlal-inspiral/lib/gstlal-inspiral.pc.in b/gstlal-inspiral/lib/gstlal-inspiral.pc.in index ddc90dc375..f606465404 100644 --- a/gstlal-inspiral/lib/gstlal-inspiral.pc.in +++ b/gstlal-inspiral/lib/gstlal-inspiral.pc.in @@ -6,6 +6,6 @@ includedir=@includedir@ Name: libgstlalinspiral Description: LAL/Gstreamer Library (the inspiral bits) Version: @VERSION@ -Requires: gstlal +Requires: glib-2.0 gsl gstlal gstreamer-@GSTREAMER_RELEASE@ lal lalmetaio Libs: -L${libdir} -lgstlalinspiral Cflags: -I${includedir} diff --git a/gstlal/lib/gstlal/gstlal.pc.in b/gstlal/lib/gstlal/gstlal.pc.in index 9f97fcf9a2..0a37648557 100644 --- a/gstlal/lib/gstlal/gstlal.pc.in +++ b/gstlal/lib/gstlal/gstlal.pc.in @@ -6,6 +6,6 @@ includedir=@includedir@ Name: libgstlal Description: LAL/Gstreamer Library Version: @VERSION@ -Requires.private: fftw3 gsl lal lalframe lalmetaio lalsupport lalburst gstreamer-@GSTREAMER_RELEASE@ gstreamer-base-@GSTREAMER_RELEASE@ gstreamer-audio-@GSTREAMER_RELEASE@ gstreamer-video-@GSTREAMER_RELEASE@ gstreamer-plugins-base-@GSTREAMER_RELEASE@ +Requires: glib-2.0 gsl gstreamer-@GSTREAMER_RELEASE@ gstreamer-audio-@GSTREAMER_RELEASE@ lal Libs: -L${libdir} -lgstlal -lgstlaltags -lgstlaltypes Cflags: -I${includedir} -- GitLab