summaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2022-06-02 09:56:59 -0400
committerXavier Claessens <xclaesse@gmail.com>2023-06-01 18:57:40 -0400
commit1781a481ee2cd4acdaf5b76e3b567e882ccd7b38 (patch)
treefb17ba81e679cbf676908cd998656ec5a588dd3c /test cases
parent26da7ec9f535205f9a6b102380087a1383c092c3 (diff)
downloadmeson-1781a481ee2cd4acdaf5b76e3b567e882ccd7b38.tar.gz
pkgconfig: Add include directories from internal deps in -uninstalled.pc
Fixes: #8651
Diffstat (limited to 'test cases')
-rw-r--r--test cases/common/44 pkgconfig-gen/dependencies/meson.build8
-rw-r--r--test cases/common/44 pkgconfig-gen/dependencies/test2.c8
-rw-r--r--test cases/common/44 pkgconfig-gen/inc1/inc1.h1
-rw-r--r--test cases/common/44 pkgconfig-gen/inc2/inc2.h1
-rw-r--r--test cases/common/44 pkgconfig-gen/meson.build8
-rw-r--r--test cases/common/44 pkgconfig-gen/test.json3
6 files changed, 29 insertions, 0 deletions
diff --git a/test cases/common/44 pkgconfig-gen/dependencies/meson.build b/test cases/common/44 pkgconfig-gen/dependencies/meson.build
index 6e27ae8b6..f80f58a50 100644
--- a/test cases/common/44 pkgconfig-gen/dependencies/meson.build
+++ b/test cases/common/44 pkgconfig-gen/dependencies/meson.build
@@ -60,3 +60,11 @@ pkgg.generate(main_lib2,
libraries : internal_lib,
filebase : 'pub-lib-order',
)
+
+# This will be built against both simple7.pc and simple7-uninstalled.pc, check
+# that include directories works in both cases.
+simple7 = dependency('simple7')
+exe = executable('test2', 'test2.c',
+ dependencies: simple7,
+)
+test('Test2', exe)
diff --git a/test cases/common/44 pkgconfig-gen/dependencies/test2.c b/test cases/common/44 pkgconfig-gen/dependencies/test2.c
new file mode 100644
index 000000000..83979d59f
--- /dev/null
+++ b/test cases/common/44 pkgconfig-gen/dependencies/test2.c
@@ -0,0 +1,8 @@
+#include <inc1.h>
+#include <inc2.h>
+
+int main(void) {
+ if (INC1 + INC2 != 3)
+ return 1;
+ return 0;
+}
diff --git a/test cases/common/44 pkgconfig-gen/inc1/inc1.h b/test cases/common/44 pkgconfig-gen/inc1/inc1.h
new file mode 100644
index 000000000..04ff366ff
--- /dev/null
+++ b/test cases/common/44 pkgconfig-gen/inc1/inc1.h
@@ -0,0 +1 @@
+#define INC1 1
diff --git a/test cases/common/44 pkgconfig-gen/inc2/inc2.h b/test cases/common/44 pkgconfig-gen/inc2/inc2.h
new file mode 100644
index 000000000..b4b5ae19f
--- /dev/null
+++ b/test cases/common/44 pkgconfig-gen/inc2/inc2.h
@@ -0,0 +1 @@
+#define INC2 2
diff --git a/test cases/common/44 pkgconfig-gen/meson.build b/test cases/common/44 pkgconfig-gen/meson.build
index 6e84bb131..adf3e2765 100644
--- a/test cases/common/44 pkgconfig-gen/meson.build
+++ b/test cases/common/44 pkgconfig-gen/meson.build
@@ -185,3 +185,11 @@ endtestcase
testcase expect_error('pkgconfig.generate: if a library is not passed as a positional argument, the \'description\' keyword argument is required.')
pkgg.generate(name: 'foobar')
endtestcase
+
+# Make sure the -uninstalled.pc file contains both include directories.
+# See dependencies/test2.c that gets built against both simple7.pc and
+# simple7-uninstalled.pc.
+simple7 = library('simple7', include_directories: 'inc1')
+dep = declare_dependency(include_directories: 'inc2')
+install_headers('inc1/inc1.h', 'inc2/inc2.h')
+pkgg.generate(simple7, libraries: dep)
diff --git a/test cases/common/44 pkgconfig-gen/test.json b/test cases/common/44 pkgconfig-gen/test.json
index b5987ee59..01786d424 100644
--- a/test cases/common/44 pkgconfig-gen/test.json
+++ b/test cases/common/44 pkgconfig-gen/test.json
@@ -1,6 +1,8 @@
{
"installed": [
{"type": "file", "file": "usr/include/simple.h"},
+ {"type": "file", "file": "usr/include/inc1.h"},
+ {"type": "file", "file": "usr/include/inc2.h"},
{"type": "file", "file": "usr/lib/libstat2.a"},
{"type": "file", "file": "usr/lib/pkgconfig/simple.pc"},
{"type": "file", "file": "usr/lib/pkgconfig/libanswer.pc"},
@@ -13,6 +15,7 @@
{"type": "file", "file": "usr/lib/pkgconfig/simple3.pc"},
{"type": "file", "file": "usr/lib/pkgconfig/simple5.pc"},
{"type": "file", "file": "usr/lib/pkgconfig/simple6.pc"},
+ {"type": "file", "file": "usr/lib/pkgconfig/simple7.pc"},
{"type": "file", "file": "usr/lib/pkgconfig/ct.pc"},
{"type": "file", "file": "usr/lib/pkgconfig/ct0.pc"},
{"type": "file", "file": "usr/share/pkgconfig/libhello_nolib.pc"}