aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-03-03 15:57:33 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-03-03 15:58:17 +0200
commit065d7f5b6dcf79be2f783cae7c3bbc52b19232b1 (patch)
tree7cfee07a6ab36e02962dfaec741cc42187576e14
parent608f944788d3195819b5351820e75a62bbb83429 (diff)
Rework build2 cli compilation
-rw-r--r--build/root.build13
-rw-r--r--odb/pgsql/buildfile13
2 files changed, 13 insertions, 13 deletions
diff --git a/build/root.build b/build/root.build
index 5e80277..595d66e 100644
--- a/build/root.build
+++ b/build/root.build
@@ -11,13 +11,10 @@ ixx{*}: extension = ixx
txx{*}: extension = txx
cxx{*}: extension = cxx
-# Load the cli module but only if it's available. This way a distribution that
-# includes pre-generated files can be built without installing cli.
+# Load the cli module but only if it's available. This way a distribution
+# that includes pre-generated files can be built without installing cli.
+# This is also the reason why we need to explicitly spell out individual
+# source file prerequisites instead of using the cli.cxx{} group (it won't
+# be there unless the module is configured).
#
using? cli
-
-if! $cli.configured
-{
- define cli: file
- cli{*}: extension = cli
-}
diff --git a/odb/pgsql/buildfile b/odb/pgsql/buildfile
index 8830319..b520621 100644
--- a/odb/pgsql/buildfile
+++ b/odb/pgsql/buildfile
@@ -69,19 +69,22 @@ lib{odb-pgsql}: cxx.export.libs = $int_libs
details/:
{
- {hxx ixx cxx}{options}: cli{options}
-
if $cli.configured
{
+ cli.cxx{options}: cli{options}
+
cli.options += --include-with-brackets --include-prefix odb/pgsql/details \
--guard-prefix LIBODB_PGSQL_DETAILS --generate-file-scanner \
--cli-namespace odb::pgsql::details::cli --long-usage --generate-specifier
+
+ # Include generated cli files into the distribution.
+ #
+ cli.cxx{*}: dist = true
}
- # Include generated cli files into the distribution. But don't install them
- # since they are only used internally in the database implementation.
+ # But don't install their headers since they are only used internally in the
+ # database implementation.
#
- {hxx ixx cxx}{options}: dist = true
{hxx ixx}{options}: install = false
}