summaryrefslogtreecommitdiff
path: root/check/check-circular-requires
diff options
context:
space:
mode:
authorDan Nicholson <dbn.lists@gmail.com>2012-05-09 05:55:47 -0700
committerDan Nicholson <dbn.lists@gmail.com>2012-10-13 08:14:35 -0700
commit6d6dd43e75e2bc82cfe6544f8631b1bef6e1cf45 (patch)
treec779e053af295fb19cfe716f8f79a91ddc7983e9 /check/check-circular-requires
parent3f1f6e79b7ebf246906a6539901571b88bb74067 (diff)
Support circular Requires loops
After the packages are parsed, pkg-config recurses through all the required packages to generate one list. Before descending another level, check to see if the package has already been handled and skip it. This allows packages to require each other circularly by breaking the loop. A test has been added resolving a two level deep circular dependency. Freedesktop #7331
Diffstat (limited to 'check/check-circular-requires')
-rwxr-xr-xcheck/check-circular-requires8
1 files changed, 8 insertions, 0 deletions
diff --git a/check/check-circular-requires b/check/check-circular-requires
new file mode 100755
index 0000000..e77370c
--- /dev/null
+++ b/check/check-circular-requires
@@ -0,0 +1,8 @@
+#! /bin/sh
+
+set -e
+
+. ${srcdir}/common
+
+RESULT="-lcirc1 -lcirc2 -lcirc3"
+run_test --libs circular-1