aboutsummaryrefslogtreecommitdiff
path: root/build2/pkgconfig
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-08-27 09:53:30 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-08-27 09:53:30 +0200
commita4796d5b851dac4a546f89c282f65e320076eb10 (patch)
tree584d8fb67dcf333aeb3ae155bb73cf7d230b3ac4 /build2/pkgconfig
parentf0edc0e2b67fa43c4e2410c7d3d8f1841d576749 (diff)
Clean up library export, make c and cxx modules project root only
So now c and cxx modules can only be loaded in project root scope (normally root.build). Also, the c.std and cxx.std must now be set *before* loading the module to take effect. This means we won't be able to handle old buildfiles anymore but old versions of build2 should be able to handle new *.std placement.
Diffstat (limited to 'build2/pkgconfig')
-rw-r--r--build2/pkgconfig/init.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/build2/pkgconfig/init.cxx b/build2/pkgconfig/init.cxx
index b7100e3..f82e710 100644
--- a/build2/pkgconfig/init.cxx
+++ b/build2/pkgconfig/init.cxx
@@ -30,8 +30,10 @@ namespace build2
tracer trace ("pkgconfig::config_init");
l5 ([&]{trace << "for " << bs.out_path ();});
+ // We only support root loading (which means there can only be one).
+ //
if (&rs != &bs)
- fail (l) << "pkgconfig.config loaded for non-root scope";
+ fail (l) << "pkgconfig.config module must be loaded in project root";
// Enter variables.
//