summaryrefslogtreecommitdiff
path: root/check/dependencies/f_dep_g.pc
diff options
context:
space:
mode:
authorMatthew Hanna <mhanna21@bloomberg.net>2016-07-26 15:28:17 -0400
committerDan Nicholson <dbn.lists@gmail.com>2016-08-22 14:34:30 -0700
commit908cdd062ad318957525609e568d3eea85e4bac3 (patch)
tree84ba2e75ad44b06520259b4a5d761563f46a7a25 /check/dependencies/f_dep_g.pc
parent87152c05be88ca8be71a3a563f275b3686d32c28 (diff)
downloadpkg-config-908cdd062ad318957525609e568d3eea85e4bac3.tar.gz
Improve performance of package list expansion
Adds a hash table to the package list expansion to avoid iterating over the children of package nodes that have already been visited. Without this, the expansion is exponential. For library sets with a high degree of dependency, iteration over the tree with revisiting results, in practice, in significant slow down at best and pkg-config failure due to memory exhaustion at worst. The resulting algorithm is equivalent to a topological sort.
Diffstat (limited to 'check/dependencies/f_dep_g.pc')
-rw-r--r--check/dependencies/f_dep_g.pc10
1 files changed, 10 insertions, 0 deletions
diff --git a/check/dependencies/f_dep_g.pc b/check/dependencies/f_dep_g.pc
new file mode 100644
index 0000000..268bb1e
--- /dev/null
+++ b/check/dependencies/f_dep_g.pc
@@ -0,0 +1,10 @@
+prefix=/path2
+exec_prefix=${prefix}
+libdir="${exec_prefix}/lib"
+includedir="${prefix}/include"
+
+Name: Dependencies test.
+Description: Test package for testing dependency order.
+Version: 1.0.0
+Libs: -lf_dep_g
+Requires: g_dep