summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildfile3
-rw-r--r--libformat/.gitignore5
-rw-r--r--libformat/build/root.build8
-rw-r--r--libformat/libformat/buildfile12
-rw-r--r--libformat/manifest6
-rw-r--r--libformat/tests/basics/driver.cxx4
-rw-r--r--libformat/tests/build/root.build4
7 files changed, 32 insertions, 10 deletions
diff --git a/buildfile b/buildfile
index aad5e21..c3c8909 100644
--- a/buildfile
+++ b/buildfile
@@ -1,5 +1,6 @@
# Glue buildfile that "pulls" all the packages in the project.
#
-import pkgs = */
+import pkgs = [dir_paths] $process.run_regex(\
+ cat $src_root/packages.manifest, '\s*location\s*:\s*(\S+)\s*', '\1')
./: $pkgs
diff --git a/libformat/.gitignore b/libformat/.gitignore
index cece09c..6435b97 100644
--- a/libformat/.gitignore
+++ b/libformat/.gitignore
@@ -3,9 +3,14 @@
*.d
*.t
*.i
+*.i.*
*.ii
+*.ii.*
*.o
*.obj
+*.gcm
+*.pcm
+*.ifc
*.so
*.dll
*.a
diff --git a/libformat/build/root.build b/libformat/build/root.build
index 9c83a8a..ae3d2a6 100644
--- a/libformat/build/root.build
+++ b/libformat/build/root.build
@@ -1,3 +1,7 @@
+# Uncomment to suppress warnings coming from external libraries.
+#
+#cxx.internal.scope = current
+
cxx.std = latest
using cxx
@@ -7,6 +11,10 @@ ixx{*}: extension = ixx
txx{*}: extension = txx
cxx{*}: extension = cxx
+# Assume headers are importable unless stated otherwise.
+#
+hxx{*}: cxx.importable = true
+
# The test target for cross-testing (running tests under Wine, etc).
#
test.target = $cxx.target
diff --git a/libformat/libformat/buildfile b/libformat/libformat/buildfile
index a2f3fdf..4a32b0b 100644
--- a/libformat/libformat/buildfile
+++ b/libformat/libformat/buildfile
@@ -1,6 +1,6 @@
intf_libs = # Interface dependencies.
impl_libs = # Implementation dependencies.
-#import impl_libs += libhello%lib{hello}
+#import xxxx_libs += libhello%lib{hello}
lib{format}: {hxx ixx txx cxx}{** -version} hxx{version} $impl_libs $intf_libs
@@ -14,12 +14,14 @@ hxx{version}: in{version} $src_root/manifest
clean = ($src_root != $out_root)
}
+hxx{export}@./: cxx.importable = false
+
# Build options.
#
cxx.poptions =+ "-I$out_root" "-I$src_root"
-obja{*}: cxx.poptions += -DLIBFORMAT_STATIC_BUILD
-objs{*}: cxx.poptions += -DLIBFORMAT_SHARED_BUILD
+{hbmia obja}{*}: cxx.poptions += -DLIBFORMAT_STATIC_BUILD
+{hbmis objs}{*}: cxx.poptions += -DLIBFORMAT_SHARED_BUILD
# Export options.
#
@@ -37,9 +39,9 @@ libs{format}: cxx.export.poptions += -DLIBFORMAT_SHARED
# for details on the version.* variable values.
#
if $version.pre_release
- lib{format}: bin.lib.version = @"-$version.project_id"
+ lib{format}: bin.lib.version = "-$version.project_id"
else
- lib{format}: bin.lib.version = @"-$version.major.$version.minor"
+ lib{format}: bin.lib.version = "-$version.major.$version.minor"
# Install into the libformat/ subdirectory of, say, /usr/include/
# recreating subdirectories.
diff --git a/libformat/manifest b/libformat/manifest
index 9663780..76499ea 100644
--- a/libformat/manifest
+++ b/libformat/manifest
@@ -1,6 +1,6 @@
: 1
name: libformat
-version: 1.0.0+7
+version: 1.0.0+8
project: hello
summary: The "Hello World" example formatter library
license: MIT ; MIT License.
@@ -13,5 +13,5 @@ src-url: https://git.build2.org/cgit/hello/libformat/tree/libformat
email: users@build2.org
build-warning-email: builds@build2.org
builds: all
-depends: * build2 >= 0.11.0
-depends: * bpkg >= 0.11.0
+depends: * build2 >= 0.14.0-
+depends: * bpkg >= 0.14.0-
diff --git a/libformat/tests/basics/driver.cxx b/libformat/tests/basics/driver.cxx
index 42b925a..cb3a130 100644
--- a/libformat/tests/basics/driver.cxx
+++ b/libformat/tests/basics/driver.cxx
@@ -1,9 +1,11 @@
-#include <cassert>
#include <stdexcept>
#include <libformat/version.hxx>
#include <libformat/format.hxx>
+#undef NDEBUG
+#include <cassert>
+
int main ()
{
using namespace std;
diff --git a/libformat/tests/build/root.build b/libformat/tests/build/root.build
index a67b2fe..8fafbfe 100644
--- a/libformat/tests/build/root.build
+++ b/libformat/tests/build/root.build
@@ -7,6 +7,10 @@ ixx{*}: extension = ixx
txx{*}: extension = txx
cxx{*}: extension = cxx
+# Assume headers are importable unless stated otherwise.
+#
+hxx{*}: cxx.importable = true
+
# Every exe{} in this subproject is by default a test.
#
exe{*}: test = true