diff options
Diffstat (limited to 'build')
-rw-r--r-- | build/export.build | 34 | ||||
-rw-r--r-- | build/root.build | 32 |
2 files changed, 59 insertions, 7 deletions
diff --git a/build/export.build b/build/export.build index 427f76b..e7dfa5b 100644 --- a/build/export.build +++ b/build/export.build @@ -1,9 +1,35 @@ # file : build/export.build # license : MIT; see accompanying LICENSE file -$out_root/ +switch $name($import.target) { - include libbutl/ -} + case 'butl-odb' + { + $out_root/ + { + include libbutl-odb/ + } + + export $out_root/libbutl-odb/$import.target + } + + case 'butl-pkg-config' + { + $out_root/ + { + include libbutl-pkg-config/ + } -export $out_root/libbutl/lib{butl} + export $out_root/libbutl-pkg-config/$import.target + } + + default + { + $out_root/ + { + include libbutl/ + } + + export $out_root/libbutl/$import.target + } +} diff --git a/build/root.build b/build/root.build index 2151480..274b23b 100644 --- a/build/root.build +++ b/build/root.build @@ -1,20 +1,46 @@ # file : build/root.build # license : MIT; see accompanying LICENSE file +# Ability to build with system libsqlite3. +# +# Note that unless libsqlite3 on your system was built with an increased +# SQLITE_MAX_ATTACHED value (the default is 10), you will most likely come to +# regret using the system version. +# +# Also, while most distributions have to build libsqlite3 in a multi-threaded +# configuration, we build it single-threaded (and with disabled shared cache +# support), which gives us a non-negligible performance boost. +# +config [bool, config.report=false] config.libbutl.system_libsqlite3 ?= false + cxx.std = latest using cxx +using c -hxx{*}: extension = hxx # We also have .mxx; see libbutl/buildfile. +hxx{*}: extension = hxx ixx{*}: extension = ixx txx{*}: extension = txx cxx{*}: extension = cxx if ($cxx.target.system == 'win32-msvc') - cxx.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS + cc.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS if ($cxx.class == 'msvc') - cxx.coptions += /wd4251 /wd4275 /wd4800 + cc.coptions += /wd4251 /wd4275 /wd4800 +elif ($cxx.id == 'gcc') +{ + # See GCC bugs 100115, 98753 (attachment 50081/comment 15), and 101361. Note + # that these must also be disabled in projects that use libbutl. + # + cxx.coptions += -Wno-maybe-uninitialized -Wno-free-nonheap-object \ +-Wno-stringop-overread + + if ($cxx.version.major >= 13) + cxx.coptions += -Wno-dangling-reference +} +elif ($cxx.id.type == 'clang' && $cxx.version.major >= 15) + cxx.coptions += -Wno-unqualified-std-cast-call # 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. |