diff options
-rw-r--r-- | README.md | 35 | ||||
-rw-r--r-- | libodb-boost/manifest | 6 | ||||
-rw-r--r-- | libodb-boost/odb/boost/version.hxx.in | 6 | ||||
-rw-r--r-- | libodb-boost/odb/boost/version.options | 2 | ||||
-rw-r--r-- | libodb-mssql/manifest | 16 | ||||
-rw-r--r-- | libodb-mssql/odb/mssql/version.hxx.in | 2 | ||||
-rw-r--r-- | libodb-mysql/manifest | 16 | ||||
-rw-r--r-- | libodb-mysql/odb/mysql/version.hxx.in | 2 | ||||
-rw-r--r-- | libodb-oracle/manifest | 16 | ||||
-rw-r--r-- | libodb-oracle/odb/oracle/version.hxx.in | 2 | ||||
-rw-r--r-- | libodb-pgsql/manifest | 16 | ||||
-rw-r--r-- | libodb-pgsql/odb/pgsql/version.hxx.in | 2 | ||||
-rw-r--r-- | libodb-qt/manifest | 6 | ||||
-rw-r--r-- | libodb-qt/odb/qt/version.hxx.in | 6 | ||||
-rw-r--r-- | libodb-qt/odb/qt/version.options | 2 | ||||
-rw-r--r-- | libodb-sqlite/manifest | 16 | ||||
-rw-r--r-- | libodb-sqlite/odb/sqlite/version.hxx.in | 2 | ||||
-rw-r--r-- | libodb/manifest | 10 | ||||
-rw-r--r-- | libodb/odb/version.hxx.in | 6 | ||||
-rw-r--r-- | odb-examples/manifest | 6 | ||||
-rw-r--r-- | odb-tests/manifest | 6 | ||||
-rw-r--r-- | odb/manifest | 18 | ||||
-rw-r--r-- | odb/odb/buildfile | 14 | ||||
-rw-r--r-- | odb/odb/odb.cxx | 13 | ||||
-rw-r--r-- | odb/odb/version.hxx.in | 4 |
25 files changed, 127 insertions, 103 deletions
@@ -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 |