summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md35
-rw-r--r--libodb-boost/manifest6
-rw-r--r--libodb-boost/odb/boost/version.hxx.in6
-rw-r--r--libodb-boost/odb/boost/version.options2
-rw-r--r--libodb-mssql/manifest16
-rw-r--r--libodb-mssql/odb/mssql/version.hxx.in2
-rw-r--r--libodb-mysql/manifest16
-rw-r--r--libodb-mysql/odb/mysql/version.hxx.in2
-rw-r--r--libodb-oracle/manifest16
-rw-r--r--libodb-oracle/odb/oracle/version.hxx.in2
-rw-r--r--libodb-pgsql/manifest16
-rw-r--r--libodb-pgsql/odb/pgsql/version.hxx.in2
-rw-r--r--libodb-qt/manifest6
-rw-r--r--libodb-qt/odb/qt/version.hxx.in6
-rw-r--r--libodb-qt/odb/qt/version.options2
-rw-r--r--libodb-sqlite/manifest16
-rw-r--r--libodb-sqlite/odb/sqlite/version.hxx.in2
-rw-r--r--libodb/manifest10
-rw-r--r--libodb/odb/version.hxx.in6
-rw-r--r--odb-examples/manifest6
-rw-r--r--odb-tests/manifest6
-rw-r--r--odb/manifest18
-rw-r--r--odb/odb/buildfile14
-rw-r--r--odb/odb/odb.cxx13
-rw-r--r--odb/odb/version.hxx.in4
25 files changed, 127 insertions, 103 deletions
diff --git a/README.md b/README.md
index 8bb4c7f..be461d7 100644
--- a/README.md
+++ b/README.md
@@ -29,7 +29,7 @@ ODB as opposed to consumption. In case you just want to use ODB:
The development setup for ODB uses multiple build configurations: a single
host configuration for the ODB compiler and a target configuration per
-database. For example:
+database (or multiple databases). For example:
```
git clone .../odb.git
@@ -37,19 +37,19 @@ cd odb
bdep init --empty
-bdep config create @host ../odb-host --type host cc config.cxx=g++
+bdep config create @host ../odb-host --type host cc config.cxx=g++
bdep config create @sqlite ../odb-sqlite cc config.cxx=g++
-bdep config create @pgsql ../odb-pgsql cc config.cxx=g++
-bdep config create @mysql ../odb-mysql cc config.cxx=g++
+bdep config create @pgsql ../odb-pgsql cc config.cxx=g++
+bdep config create @mysql ../odb-mysql cc config.cxx=g++
bdep config create @oracle ../odb-oracle cc config.cxx=g++
-bdep config create @mssql ../odb-mssql cc config.cxx=g++
+bdep config create @mssql ../odb-mssql cc config.cxx=g++
bdep init @host -d odb
bdep init @sqlite -d libodb -d libodb-sqlite -d odb-tests -d odb-examples
-bdep init @pgsql -d libodb -d libodb-pgsql -d odb-tests -d odb-examples
-bdep init @mysql -d libodb -d libodb-mysql -d odb-tests -d odb-examples
+bdep init @pgsql -d libodb -d libodb-pgsql -d odb-tests -d odb-examples
+bdep init @mysql -d libodb -d libodb-mysql -d odb-tests -d odb-examples
bdep init @oracle -d libodb -d libodb-oracle -d odb-tests -d odb-examples
-bdep init @mssql -d libodb -d libodb-mssql -d odb-tests -d odb-examples
+bdep init @mssql -d libodb -d libodb-mssql -d odb-tests -d odb-examples
```
Note that while the target configurations can use any compiler (and you can
@@ -69,11 +69,19 @@ bdep init @pgsql -d libodb -d libodb-pgsql -d odb-tests ?sys:libpq { @host }+ ?s
bdep init @mysql -d libodb -d libodb-mysql -d odb-tests ?sys:libmysqlclient { @host }+ ?sys:mysql-client/*
```
-Note that the client libraries and tools for Oracle and Microsoft SQL Server
-are expected to be system-installed.
+Note that the (proprieary) client libraries and tools for Oracle and Microsoft
+SQL Server are expected to be system-installed.
-You can also create a target configuration for testing multi-database
-support. For example:
+If desired, tests for profile libraries (`libodb-boost` and/or `libodb-qt`)
+need to be enabled explicitly. For example:
+
+```
+bdep init @sqlite -d libodb -d libodb-sqlite -d libodb-boost -d libodb-qt
+bdep init @sqlite -d odb-tests config.odb_tests.boost=true config.odb_tests.qt=6
+```
+
+You can also create a target configuration for testing multi-database support.
+For example:
```
bdep config create @multi ../odb-multi cc config.cxx=g++
@@ -102,6 +110,9 @@ bdep init @install -d odb
b install: ../odb-install/odb/
```
+To test relocatable installation, add `config.install.relocatable=true` to
+the `bdep-config-create` command above.
+
Note that if building manually (that is, without `bdep`) and in-source, then
the checked out `odb/odb/version.hxx`, `libodb/odb/version.hxx`, and
`libodb-*/odb/*/version.hxx` files will be overwritten during the build but
diff --git a/libodb-boost/manifest b/libodb-boost/manifest
index ef8ab78..b1ac0cf 100644
--- a/libodb-boost/manifest
+++ b/libodb-boost/manifest
@@ -1,6 +1,6 @@
: 1
name: libodb-boost
-version: 2.5.0-b.26.z
+version: 2.5.0-b.27
project: odb
summary: Boost ODB profile library
license: GPL-2.0-only
@@ -18,7 +18,7 @@ requires: c++11
# @@ TMP Bump the toolchain version to 0.17.0 after it is released.
#
-depends: * build2 >= 0.16.0-
-depends: * bpkg >= 0.16.0-
+depends: * build2 >= 0.16.0
+depends: * bpkg >= 0.16.0
depends: libodb == $
diff --git a/libodb-boost/odb/boost/version.hxx.in b/libodb-boost/odb/boost/version.hxx.in
index 15aed4e..329b2dd 100644
--- a/libodb-boost/odb/boost/version.hxx.in
+++ b/libodb-boost/odb/boost/version.hxx.in
@@ -61,14 +61,14 @@ $libodb.check(LIBODB_VERSION_FULL, LIBODB_SNAPSHOT)$
//
// NOTE: also hardcoded in *.options.
//
-#define ODB_BOOST_VERSION 2047600
-#define ODB_BOOST_VERSION_STR "2.5.0-b.26"
+#define ODB_BOOST_VERSION 2047700
+#define ODB_BOOST_VERSION_STR "2.5.0-b.27"
// libodb-boost version: odb interface version plus the bugfix version. Note
// that LIBODB_BOOST_VERSION is always greater or equal to ODB_BOOST_VERSION
// since if the Boost interface virsion is incremented then the bugfix version
// must be incremented as well.
//
-#define LIBODB_BOOST_VERSION 2049976
+#define LIBODB_BOOST_VERSION 2049977
#endif // LIBODB_BOOST_VERSION
diff --git a/libodb-boost/odb/boost/version.options b/libodb-boost/odb/boost/version.options
index 904dcc5..3f9477d 100644
--- a/libodb-boost/odb/boost/version.options
+++ b/libodb-boost/odb/boost/version.options
@@ -7,6 +7,6 @@
#
--hxx-prologue '#include <odb/boost/version.hxx>'
---hxx-prologue '#if ODB_BOOST_VERSION != 2047600 // 2.5.0-b.26'
+--hxx-prologue '#if ODB_BOOST_VERSION != 2047700 // 2.5.0-b.27'
--hxx-prologue '# error ODB and C++ compilers see different libodb-boost interface versions'
--hxx-prologue '#endif'
diff --git a/libodb-mssql/manifest b/libodb-mssql/manifest
index 324cf80..c84a223 100644
--- a/libodb-mssql/manifest
+++ b/libodb-mssql/manifest
@@ -1,6 +1,6 @@
: 1
name: libodb-mssql
-version: 2.5.0-b.26.z
+version: 2.5.0-b.27
project: odb
summary: Microsoft SQL Server ODB runtime library
license: other: ODB NCUEL ; Non-Commercial Use and Evaluation License.
@@ -19,17 +19,17 @@ requires: c++11
# @@ TMP Bump the toolchain version to 0.17.0 after it is released.
#
-depends: * build2 >= 0.16.0-
-depends: * bpkg >= 0.16.0-
+depends: * build2 >= 0.16.0
+depends: * bpkg >= 0.16.0
depends: libodb == $
-depends: * cli ^1.2.0- ? ($config.libodb_mssql.develop)
+depends: * cli ^1.2.0 ? ($config.libodb_mssql.develop)
-tests: odb-tests == $ \
- ? (!$defined(config.odb_tests.database)) config.odb_tests.database=mssql
+#tests: odb-tests == $ \
+# ? (!$defined(config.odb_tests.database)) config.odb_tests.database=mssql
-examples: odb-examples == $ \
- ? (!$defined(config.odb_examples.database)) config.odb_examples.database=mssql
+#examples: odb-examples == $ \
+# ? (!$defined(config.odb_examples.database)) config.odb_examples.database=mssql
# Note: common for all the build configurations.
#
diff --git a/libodb-mssql/odb/mssql/version.hxx.in b/libodb-mssql/odb/mssql/version.hxx.in
index 02a404f..dd895e0 100644
--- a/libodb-mssql/odb/mssql/version.hxx.in
+++ b/libodb-mssql/odb/mssql/version.hxx.in
@@ -55,6 +55,6 @@ $libodb.check(LIBODB_VERSION_FULL, LIBODB_SNAPSHOT)$
// 2.2.0.a1 02019901
// 3.0.0.b2 02999952
//
-#define LIBODB_MSSQL_VERSION 2049976
+#define LIBODB_MSSQL_VERSION 2049977
#endif // LIBODB_MSSQL_VERSION
diff --git a/libodb-mysql/manifest b/libodb-mysql/manifest
index fd3b7b6..667e492 100644
--- a/libodb-mysql/manifest
+++ b/libodb-mysql/manifest
@@ -1,6 +1,6 @@
: 1
name: libodb-mysql
-version: 2.5.0-b.26.z
+version: 2.5.0-b.27
project: odb
summary: MySQL ODB runtime library
license: GPL-2.0-only
@@ -17,19 +17,19 @@ requires: c++11
# @@ TMP Bump the toolchain version to 0.17.0 after it is released.
#
-depends: * build2 >= 0.16.0-
-depends: * bpkg >= 0.16.0-
+depends: * build2 >= 0.16.0
+depends: * bpkg >= 0.16.0
#depends: libmysqlclient >= 5.0.3 | libmariadb ^10.2.2
depends: libmysqlclient >= 5.0.3
depends: libodb == $
-depends: * cli ^1.2.0- ? ($config.libodb_mysql.develop)
+depends: * cli ^1.2.0 ? ($config.libodb_mysql.develop)
-tests: odb-tests == $ \
- ? (!$defined(config.odb_tests.database)) config.odb_tests.database=mysql
+#tests: odb-tests == $ \
+# ? (!$defined(config.odb_tests.database)) config.odb_tests.database=mysql
-examples: odb-examples == $ \
- ? (!$defined(config.odb_examples.database)) config.odb_examples.database=mysql
+#examples: odb-examples == $ \
+# ? (!$defined(config.odb_examples.database)) config.odb_examples.database=mysql
# Note: common for all the build configurations.
#
diff --git a/libodb-mysql/odb/mysql/version.hxx.in b/libodb-mysql/odb/mysql/version.hxx.in
index 0526554..d44c637 100644
--- a/libodb-mysql/odb/mysql/version.hxx.in
+++ b/libodb-mysql/odb/mysql/version.hxx.in
@@ -76,6 +76,6 @@ $libodb.check(LIBODB_VERSION_FULL, LIBODB_SNAPSHOT)$
// 2.2.0.a1 02019901
// 3.0.0.b2 02999952
//
-#define LIBODB_MYSQL_VERSION 2049976
+#define LIBODB_MYSQL_VERSION 2049977
#endif // LIBODB_MYSQL_VERSION
diff --git a/libodb-oracle/manifest b/libodb-oracle/manifest
index 3192a63..7ef0bb2 100644
--- a/libodb-oracle/manifest
+++ b/libodb-oracle/manifest
@@ -1,6 +1,6 @@
: 1
name: libodb-oracle
-version: 2.5.0-b.26.z
+version: 2.5.0-b.27
project: odb
summary: Oracle ODB runtime library
license: other: ODB NCUEL ; Non-Commercial Use and Evaluation License.
@@ -18,17 +18,17 @@ requires: oci ; Oracle Call Interface library.
# @@ TMP Bump the toolchain version to 0.17.0 after it is released.
#
-depends: * build2 >= 0.16.0-
-depends: * bpkg >= 0.16.0-
+depends: * build2 >= 0.16.0
+depends: * bpkg >= 0.16.0
depends: libodb == $
-depends: * cli ^1.2.0- ? ($config.libodb_oracle.develop)
+depends: * cli ^1.2.0 ? ($config.libodb_oracle.develop)
-tests: odb-tests == $ \
- ? (!$defined(config.odb_tests.database)) config.odb_tests.database=oracle
+#tests: odb-tests == $ \
+# ? (!$defined(config.odb_tests.database)) config.odb_tests.database=oracle
-examples: odb-examples == $ \
- ? (!$defined(config.odb_examples.database)) config.odb_examples.database=oracle
+#examples: odb-examples == $ \
+# ? (!$defined(config.odb_examples.database)) config.odb_examples.database=oracle
# Note: common for all the build configurations.
#
diff --git a/libodb-oracle/odb/oracle/version.hxx.in b/libodb-oracle/odb/oracle/version.hxx.in
index c13ce47..85a5052 100644
--- a/libodb-oracle/odb/oracle/version.hxx.in
+++ b/libodb-oracle/odb/oracle/version.hxx.in
@@ -56,6 +56,6 @@ $libodb.check(LIBODB_VERSION_FULL, LIBODB_SNAPSHOT)$
// 2.2.0.a1 02019901
// 3.0.0.b2 02999952
//
-#define LIBODB_ORACLE_VERSION 2049976
+#define LIBODB_ORACLE_VERSION 2049977
#endif // LIBODB_ORACLE_VERSION
diff --git a/libodb-pgsql/manifest b/libodb-pgsql/manifest
index 1a9a865..6f01b01 100644
--- a/libodb-pgsql/manifest
+++ b/libodb-pgsql/manifest
@@ -1,6 +1,6 @@
: 1
name: libodb-pgsql
-version: 2.5.0-b.26.z
+version: 2.5.0-b.27
project: odb
summary: PostgreSQL ODB runtime library
license: GPL-2.0-only
@@ -17,18 +17,18 @@ requires: c++11
# @@ TMP Bump the toolchain version to 0.17.0 after it is released.
#
-depends: * build2 >= 0.16.0-
-depends: * bpkg >= 0.16.0-
+depends: * build2 >= 0.16.0
+depends: * bpkg >= 0.16.0
depends: libpq >= 7.4.0
depends: libodb == $
-depends: * cli ^1.2.0- ? ($config.libodb_pgsql.develop)
+depends: * cli ^1.2.0 ? ($config.libodb_pgsql.develop)
-tests: odb-tests == $ \
- ? (!$defined(config.odb_tests.database)) config.odb_tests.database=pgsql
+#tests: odb-tests == $ \
+# ? (!$defined(config.odb_tests.database)) config.odb_tests.database=pgsql
-examples: odb-examples == $ \
- ? (!$defined(config.odb_examples.database)) config.odb_examples.database=pgsql
+#examples: odb-examples == $ \
+# ? (!$defined(config.odb_examples.database)) config.odb_examples.database=pgsql
# Note: common for all the build configurations.
#
diff --git a/libodb-pgsql/odb/pgsql/version.hxx.in b/libodb-pgsql/odb/pgsql/version.hxx.in
index db8b152..e0291c1 100644
--- a/libodb-pgsql/odb/pgsql/version.hxx.in
+++ b/libodb-pgsql/odb/pgsql/version.hxx.in
@@ -56,6 +56,6 @@ $libodb.check(LIBODB_VERSION_FULL, LIBODB_SNAPSHOT)$
// 2.2.0.a1 02019901
// 3.0.0.b2 02999952
//
-#define LIBODB_PGSQL_VERSION 2049976
+#define LIBODB_PGSQL_VERSION 2049977
#endif // LIBODB_PGSQL_VERSION
diff --git a/libodb-qt/manifest b/libodb-qt/manifest
index b848077..fb96534 100644
--- a/libodb-qt/manifest
+++ b/libodb-qt/manifest
@@ -1,6 +1,6 @@
: 1
name: libodb-qt
-version: 2.5.0-b.26.z
+version: 2.5.0-b.27
project: odb
summary: Qt ODB profile library
license: GPL-2.0-only
@@ -18,7 +18,7 @@ requires: c++11
# @@ TMP Bump the toolchain version to 0.17.0 after it is released.
#
-depends: * build2 >= 0.16.0-
-depends: * bpkg >= 0.16.0-
+depends: * build2 >= 0.16.0
+depends: * bpkg >= 0.16.0
depends: libodb == $
diff --git a/libodb-qt/odb/qt/version.hxx.in b/libodb-qt/odb/qt/version.hxx.in
index b95bec3..30efa09 100644
--- a/libodb-qt/odb/qt/version.hxx.in
+++ b/libodb-qt/odb/qt/version.hxx.in
@@ -61,14 +61,14 @@ $libodb.check(LIBODB_VERSION_FULL, LIBODB_SNAPSHOT)$
//
// NOTE: also hardcoded in *.options.
//
-#define ODB_QT_VERSION 2047600
-#define ODB_QT_VERSION_STR "2.5.0-b.26"
+#define ODB_QT_VERSION 2047700
+#define ODB_QT_VERSION_STR "2.5.0-b.27"
// libodb-qt version: odb interface version plus the bugfix version. Note
// that LIBODB_QT_VERSION is always greater or equal to ODB_QT_VERSION
// since if the Qt interface virsion is incremented then the bugfix version
// must be incremented as well.
//
-#define LIBODB_QT_VERSION 2049976
+#define LIBODB_QT_VERSION 2049977
#endif // LIBODB_QT_VERSION
diff --git a/libodb-qt/odb/qt/version.options b/libodb-qt/odb/qt/version.options
index 0fef537..4be8754 100644
--- a/libodb-qt/odb/qt/version.options
+++ b/libodb-qt/odb/qt/version.options
@@ -11,6 +11,6 @@
#
--hxx-prologue '#include <odb/qt/version.hxx>'
---hxx-prologue '#if ODB_QT_VERSION != 2047600 // 2.5.0-b.26'
+--hxx-prologue '#if ODB_QT_VERSION != 2047700 // 2.5.0-b.27'
--hxx-prologue '# error ODB and C++ compilers see different libodb-qt interface versions'
--hxx-prologue '#endif'
diff --git a/libodb-sqlite/manifest b/libodb-sqlite/manifest
index f47879e..daa9fdb 100644
--- a/libodb-sqlite/manifest
+++ b/libodb-sqlite/manifest
@@ -1,6 +1,6 @@
: 1
name: libodb-sqlite
-version: 2.5.0-b.26.z
+version: 2.5.0-b.27
project: odb
summary: SQLite ODB runtime library
license: GPL-2.0-only
@@ -17,18 +17,18 @@ requires: c++11
# @@ TMP Bump the toolchain version to 0.17.0 after it is released.
#
-depends: * build2 >= 0.16.0-
-depends: * bpkg >= 0.16.0-
+depends: * build2 >= 0.16.0
+depends: * bpkg >= 0.16.0
depends: libsqlite3 ^3.6.18
depends: libodb == $
-depends: * cli ^1.2.0- ? ($config.libodb_sqlite.develop)
+depends: * cli ^1.2.0 ? ($config.libodb_sqlite.develop)
-tests: odb-tests == $ \
- ? (!$defined(config.odb_tests.database)) config.odb_tests.database=sqlite
+#tests: odb-tests == $ \
+# ? (!$defined(config.odb_tests.database)) config.odb_tests.database=sqlite
-examples: odb-examples == $ \
- ? (!$defined(config.odb_examples.database)) config.odb_examples.database=sqlite
+#examples: odb-examples == $ \
+# ? (!$defined(config.odb_examples.database)) config.odb_examples.database=sqlite
builds: all
diff --git a/libodb-sqlite/odb/sqlite/version.hxx.in b/libodb-sqlite/odb/sqlite/version.hxx.in
index c100d57..820aaa3 100644
--- a/libodb-sqlite/odb/sqlite/version.hxx.in
+++ b/libodb-sqlite/odb/sqlite/version.hxx.in
@@ -56,6 +56,6 @@ $libodb.check(LIBODB_VERSION_FULL, LIBODB_SNAPSHOT)$
// 2.2.0.a1 02019901
// 3.0.0.b2 02999952
//
-#define LIBODB_SQLITE_VERSION 2049976
+#define LIBODB_SQLITE_VERSION 2049977
#endif // LIBODB_SQLITE_VERSION
diff --git a/libodb/manifest b/libodb/manifest
index 6052338..2efd5a3 100644
--- a/libodb/manifest
+++ b/libodb/manifest
@@ -1,6 +1,6 @@
: 1
name: libodb
-version: 2.5.0-b.26.z
+version: 2.5.0-b.27
project: odb
summary: Common ODB runtime library
license: GPL-2.0-only
@@ -17,11 +17,11 @@ requires: c++11
# @@ TMP Bump the toolchain version to 0.17.0 after it is released.
#
-depends: * build2 >= 0.16.0-
-depends: * bpkg >= 0.16.0-
+depends: * build2 >= 0.16.0
+depends: * bpkg >= 0.16.0
-tests: odb-tests == $ ? ($config.odb_tests.libodb_test)
-examples: odb-examples == $ ? ($config.odb_examples.libodb_example)
+#tests: odb-tests == $ ? ($config.odb_tests.libodb_test)
+#examples: odb-examples == $ ? ($config.odb_examples.libodb_example)
default-builds: all
default-build-config:
diff --git a/libodb/odb/version.hxx.in b/libodb/odb/version.hxx.in
index 178c8cc..0de61c5 100644
--- a/libodb/odb/version.hxx.in
+++ b/libodb/odb/version.hxx.in
@@ -55,11 +55,11 @@
// ODB interface version: minor, major, and alpha/beta versions.
//
-#define ODB_VERSION 20476
-#define ODB_VERSION_STR "2.5-b.26"
+#define ODB_VERSION 20477
+#define ODB_VERSION_STR "2.5-b.27"
// libodb version: interface version plus the bugfix version.
//
-#define LIBODB_VERSION 2049976
+#define LIBODB_VERSION 2049977
#endif // LIBODB_VERSION
diff --git a/odb-examples/manifest b/odb-examples/manifest
index 6e3d70a..86d6df9 100644
--- a/odb-examples/manifest
+++ b/odb-examples/manifest
@@ -1,6 +1,6 @@
: 1
name: odb-examples
-version: 2.5.0-b.26.z
+version: 2.5.0-b.27
project: odb
type: examples
language: c++
@@ -14,8 +14,8 @@ email: odb-users@codesynthesis.com ; Mailing list
# @@ TMP Bump the toolchain version to 0.17.0 after it is released.
#
-depends: * build2 >= 0.16.0-
-depends: * bpkg >= 0.16.0-
+depends: * build2 >= 0.16.0
+depends: * bpkg >= 0.16.0
depends: * odb == $
diff --git a/odb-tests/manifest b/odb-tests/manifest
index 8924fb7..f334b58 100644
--- a/odb-tests/manifest
+++ b/odb-tests/manifest
@@ -1,6 +1,6 @@
: 1
name: odb-tests
-version: 2.5.0-b.26.z
+version: 2.5.0-b.27
project: odb
type: tests
language: c++
@@ -14,8 +14,8 @@ email: odb-users@codesynthesis.com ; Mailing list
# @@ TMP Bump the toolchain version to 0.17.0 after it is released.
#
-depends: * build2 >= 0.16.0-
-depends: * bpkg >= 0.16.0-
+depends: * build2 >= 0.16.0
+depends: * bpkg >= 0.16.0
depends: * odb == $
diff --git a/odb/manifest b/odb/manifest
index 2ef8b08..b3db7d7 100644
--- a/odb/manifest
+++ b/odb/manifest
@@ -1,6 +1,6 @@
: 1
name: odb
-version: 2.5.0-b.26.z
+version: 2.5.0-b.27
summary: ODB compiler
license: GPL-3.0-only
topics: C++, ORM, source code generation, object persistence, \
@@ -12,7 +12,7 @@ doc-url: https://www.codesynthesis.com/products/odb/doc/manual.xhtml
src-url: https://git.codesynthesis.com/cgit/odb/odb/
email: odb-users@codesynthesis.com
build-warning-email: odb-builds@codesynthesis.com
-builds: all
+builds: all relocatable
builds: -( +windows -gcc ) ; Requires MinGW GCC.
builds: &gcc ; Requires GCC with plugin support enabled.
builds: &gcc-5+ ; Requires GCC 5 or later.
@@ -22,13 +22,13 @@ requires: c++11
# @@ TMP Bump the toolchain version to 0.17.0 after it is released.
#
-depends: * build2 >= 0.16.0-
-depends: * bpkg >= 0.16.0-
+depends: * build2 >= 0.16.0
+depends: * bpkg >= 0.16.0
-depends: libstudxml ^1.1.0-
-depends: libcutl ^1.11.0-
+#depends: libstudxml ^1.1.0-
+#depends: libcutl ^1.11.0
-#depends: libstudxml == 1.1.0-b.10
-#depends: libcutl == 1.11.0-b.9
+depends: libstudxml == 1.1.0-b.10
+depends: libcutl ~1.11.0
-depends: * cli ^1.2.0- ? ($config.odb.develop)
+depends: * cli ^1.2.0 ? ($config.odb.develop)
diff --git a/odb/odb/buildfile b/odb/odb/buildfile
index 96eb95f..21b98ed 100644
--- a/odb/odb/buildfile
+++ b/odb/odb/buildfile
@@ -30,6 +30,8 @@ if ($cxx.target.class != 'windows')
#
# NOTE: see ODB_GCC_PLUGIN_DIR when adding this support.
#
+# NOTE: also think about relocatable installation.
+#
plugin{*}: install = bin/
import libs = libcutl%lib{cutl}
@@ -43,11 +45,19 @@ import libs += libstudxml%lib{studxml}
# We, however, don't want to install via the driver since the same driver
# build could be used with multiple plugin builds (e.g., for different GCC
# versions, which is something distribution packagers sometimes want to do).
-# @@ For this we will have to wait for operation-specific values support.
#
exe{odb}: cxx{odb}
exe{odb}: libus{odb}: bin.whole = false
-exe{odb}: plugin{odb}: include = adhoc
+exe{odb}: plugin{odb}:
+{
+ include = adhoc
+
+ # @@ This work but triggers "incompatible libs{cutl} build". Feels like to
+ # solve this we will also need to say update_for_install=false which
+ # we currently cant.
+ #
+ #install = false
+}
# Target metadata, see also --build2-metadata in odb.cxx.
#
diff --git a/odb/odb/odb.cxx b/odb/odb/odb.cxx
index 9899262..41063d5 100644
--- a/odb/odb/odb.cxx
+++ b/odb/odb/odb.cxx
@@ -185,6 +185,9 @@ main (int argc, char* argv[])
// Also modify LD_LIBRARY_PATH to include the lib path.
//
+ // @@ Hm, I wonder why we are doing this? (One some platforms, like
+ // Fedora, the directory could be called something else, like lib64).
+ //
#ifndef _WIN32
{
#ifdef __APPLE__
@@ -546,12 +549,12 @@ main (int argc, char* argv[])
//
// To allow executing the ODB compiler in-place we add the odb.exe.dlls/
// directory to PATH. It is a bit of hack but then DLL assemblies for
- // DLLs is whole new level of insanity that we are unlikely to ever
+ // DLLs is a whole new level of insanity that we are unlikely to ever
// touch.
//
// And it turns out we have the same problem in the installed case: if
// the installation directory is not in PATH, then GCC won't find the
- // DLLs the plugin needs. So we handle both here.
+ // DLLs the plugin needs. So we handle both cases here.
//
{
path d (plugin.directory ());
@@ -1616,8 +1619,8 @@ plugin_path (path const& drv,
char const plugin_ext[] = ".dll";
// While GCC 8 switched to using .dylib as the plugin extension, there is a
-// bug in the extension stripping code. So for now we use the .so extension
-// everywhere (see also buildfile if changing this).
+// bug (86358) in the extension stripping code. So for now we use the .so
+// extension everywhere (see also buildfile if changing this).
//
//#elif defined(__APPLE__)
// char const plugin_ext[] = ".dylib";
@@ -1638,7 +1641,7 @@ plugin_path (path const& drv,
if (dp.empty ())
{
- cerr << drv << ": error: unable to resolve ODB driver path" << endl;
+ cerr << drv << ": error: unable to resolve ODB compiler driver path" << endl;
return path ();
}
diff --git a/odb/odb/version.hxx.in b/odb/odb/version.hxx.in
index 2bf2ae7..7549ec9 100644
--- a/odb/odb/version.hxx.in
+++ b/odb/odb/version.hxx.in
@@ -45,10 +45,10 @@
// 2.2.0.a1 02019901
// 3.0.0.b2 02999952
//
-#define ODB_COMPILER_VERSION_OLD 2049976
+#define ODB_COMPILER_VERSION_OLD 2049977
// ODB interface version: minor, major, and alpha/beta versions.
//
-#define ODB_VERSION 20476
+#define ODB_VERSION 20477
#endif // ODB_COMPILER_VERSION