From fc3fb39c90ab7fe5fccbe3f3bc0eb2645157bb96 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 13 Dec 2023 21:57:53 +0300 Subject: Switch to build2 --- .gitignore | 46 +- INSTALL | 215 --------- INSTALL-GIT | 78 ---- Makefile.am | 35 -- README | 18 - README.md | 4 + boost/Makefile.am | 26 -- boost/build.bat | 116 ----- boost/common/Makefile.am | 5 - boost/common/makefile | 54 --- boost/common/multi-index/makefile | 127 ------ boost/common/multi-index/test.std | 0 boost/common/optional/makefile | 127 ------ boost/common/optional/test.std | 0 boost/common/smart-ptr/makefile | 127 ------ boost/common/smart-ptr/test.std | 0 boost/common/template/Makefile.am | 31 -- boost/common/template/makefile | 127 ------ boost/common/template/test.std | 0 boost/common/test.bat | 79 ---- boost/common/unordered/makefile | 127 ------ boost/common/unordered/test.std | 0 boost/common/uuid/makefile | 127 ------ boost/common/uuid/test.std | 0 boost/makefile | 38 -- boost/mssql/Makefile.am | 5 - boost/mssql/date-time/makefile | 122 ----- boost/mssql/date-time/test.std | 0 boost/mssql/makefile | 36 -- boost/mssql/template/Makefile.am | 34 -- boost/mssql/template/makefile | 117 ----- boost/mssql/template/test.std | 0 boost/mssql/test.bat | 68 --- boost/mysql/Makefile.am | 5 - boost/mysql/date-time/makefile | 121 ----- boost/mysql/date-time/test.std | 0 boost/mysql/makefile | 36 -- boost/mysql/template/Makefile.am | 34 -- boost/mysql/template/makefile | 117 ----- boost/mysql/template/test.std | 0 boost/mysql/test.bat | 68 --- boost/oracle/Makefile.am | 5 - boost/oracle/date-time/makefile | 122 ----- boost/oracle/date-time/test.std | 0 boost/oracle/makefile | 36 -- boost/oracle/template/Makefile.am | 34 -- boost/oracle/template/makefile | 117 ----- boost/oracle/template/test.std | 0 boost/oracle/test.bat | 68 --- boost/pgsql/Makefile.am | 5 - boost/pgsql/date-time/makefile | 121 ----- boost/pgsql/date-time/test.std | 0 boost/pgsql/makefile | 36 -- boost/pgsql/template/Makefile.am | 34 -- boost/pgsql/template/makefile | 121 ----- boost/pgsql/template/test.std | 0 boost/pgsql/test.bat | 68 --- boost/sqlite/Makefile.am | 5 - boost/sqlite/date-time/makefile | 121 ----- boost/sqlite/date-time/test.std | 0 boost/sqlite/makefile | 36 -- boost/sqlite/template/Makefile.am | 34 -- boost/sqlite/template/makefile | 121 ----- boost/sqlite/template/test.std | 0 boost/sqlite/test.bat | 68 --- bootstrap | 16 - build.bat | 128 ------ build/.gitignore | 3 + build/bootstrap.build | 9 + build/bootstrap.make | 277 ------------ build/configuration-rules.make | 18 - build/configuration.make | 20 - build/configure | 45 -- build/export.build | 9 + build/import/libboost/configuration-rules.make | 13 - build/import/libboost/configure | 72 --- build/import/libboost/date-time/rules.make | 49 -- build/import/libboost/date-time/stub.make | 34 -- build/import/libboost/header-only/rules.make | 16 - build/import/libboost/header-only/stub.make | 26 -- build/import/libboost/version | 1 - build/import/libodb-boost/configuration-rules.make | 13 - build/import/libodb-boost/configure | 53 --- build/import/libodb-boost/stub.make | 28 -- build/import/libodb-mssql/configuration-rules.make | 13 - build/import/libodb-mssql/configure | 53 --- build/import/libodb-mssql/stub.make | 28 -- build/import/libodb-mysql/configuration-rules.make | 13 - build/import/libodb-mysql/configure | 53 --- build/import/libodb-mysql/stub.make | 28 -- .../import/libodb-oracle/configuration-rules.make | 13 - build/import/libodb-oracle/configure | 53 --- build/import/libodb-oracle/stub.make | 28 -- build/import/libodb-pgsql/configuration-rules.make | 13 - build/import/libodb-pgsql/configure | 53 --- build/import/libodb-pgsql/stub.make | 28 -- build/import/libodb-qt/configuration-rules.make | 13 - build/import/libodb-qt/configure | 53 --- build/import/libodb-qt/stub.make | 28 -- .../import/libodb-sqlite/configuration-rules.make | 13 - build/import/libodb-sqlite/configure | 53 --- build/import/libodb-sqlite/stub.make | 28 -- build/import/libodb/configuration-rules.make | 13 - build/import/libodb/configure | 53 --- build/import/libodb/stub.make | 28 -- build/import/libqt/configuration-rules.make | 13 - build/import/libqt/configure | 97 ---- build/import/libqt/core/rules.make | 26 -- build/import/libqt/core/stub.make | 35 -- build/import/libqt/version | 1 - build/import/odb/configuration-rules.make | 13 - build/import/odb/configure | 53 --- build/import/odb/hxx-cxx.make | 127 ------ build/import/odb/stub.make | 28 -- build/mssql/configure | 52 --- build/mssql/mssql | 51 --- build/mysql/configure | 75 --- build/mysql/mysql | 57 --- build/oracle/configure | 97 ---- build/oracle/oracle | 80 ---- build/pgsql/configure | 63 --- build/pgsql/pgsql | 53 --- build/root.build | 270 +++++++++++ build/sqlite/configure | 20 - buildfile | 10 + common/Makefile.am | 14 - common/access/buildfile | 45 ++ common/access/driver.cxx | 28 +- common/access/makefile | 118 ----- common/access/test.hxx | 18 +- common/access/test.std | 0 common/access/testscript | 33 ++ common/as/buildfile | 49 ++ common/as/driver.cxx | 50 +- common/as/makefile | 117 ----- common/as/test.std | 0 common/as/testscript | 33 ++ common/blob/buildfile | 40 ++ common/blob/driver.cxx | 16 +- common/blob/makefile | 116 ----- common/blob/test.hxx | 11 +- common/blob/test.std | 0 common/blob/testscript | 33 ++ common/buildfile | 6 + common/bulk/buildfile | 49 ++ common/bulk/driver.cxx | 88 ++-- common/bulk/makefile | 117 ----- common/bulk/test-mssql.std | 226 --------- common/bulk/test-mysql.std | 0 common/bulk/test-oracle.std | 226 --------- common/bulk/test-pgsql-enabled.std | 217 --------- common/bulk/test-pgsql.std | 0 common/bulk/test-sqlite.std | 0 common/bulk/test.hxx | 30 +- common/bulk/testscript | 503 +++++++++++++++++++++ common/callback/buildfile | 41 ++ common/callback/driver.cxx | 22 +- common/callback/makefile | 117 ----- common/callback/test.std | 62 --- common/callback/testscript | 100 ++++ common/changelog/.gitignore | 3 + common/changelog/buildfile | 30 ++ common/changelog/makefile | 101 ----- common/changelog/testscript | 66 +++ common/circular/multiple/.gitignore | 6 + common/circular/multiple/buildfile | 49 ++ common/circular/multiple/driver.cxx | 10 +- common/circular/multiple/makefile | 122 ----- common/circular/multiple/test.std | 0 common/circular/multiple/testscript | 31 ++ common/circular/single/buildfile | 41 ++ common/circular/single/driver.cxx | 10 +- common/circular/single/makefile | 117 ----- common/circular/single/test.std | 0 common/circular/single/testscript | 33 ++ common/composite/buildfile | 41 ++ common/composite/driver.cxx | 20 +- common/composite/makefile | 117 ----- common/composite/test.std | 0 common/composite/testscript | 33 ++ common/const-member/buildfile | 40 ++ common/const-member/driver.cxx | 16 +- common/const-member/makefile | 116 ----- common/const-member/test.hxx | 8 - common/const-member/test.std | 0 common/const-member/testscript | 33 ++ common/const-object/buildfile | 41 ++ common/const-object/driver.cxx | 28 +- common/const-object/makefile | 117 ----- common/const-object/test.hxx | 10 - common/const-object/test.std | 0 common/const-object/testscript | 33 ++ common/container/basics/buildfile | 40 ++ common/container/basics/driver.cxx | 34 +- common/container/basics/makefile | 117 ----- common/container/basics/test.hxx | 40 +- common/container/basics/test.std | 0 common/container/basics/testscript | 33 ++ common/container/change-tracking/buildfile | 40 ++ common/container/change-tracking/driver.cxx | 35 +- common/container/change-tracking/makefile | 117 ----- common/container/change-tracking/test.hxx | 15 +- common/container/change-tracking/test.std | 0 common/container/change-tracking/testscript | 33 ++ common/ctor/buildfile | 41 ++ common/ctor/driver.cxx | 10 +- common/ctor/makefile | 117 ----- common/ctor/test.std | 0 common/ctor/testscript | 33 ++ common/default/buildfile | 41 ++ common/default/driver.cxx | 12 +- common/default/makefile | 117 ----- common/default/test.std | 0 common/default/testscript | 33 ++ common/definition/.gitignore | 6 + common/definition/buildfile | 52 +++ common/definition/driver.cxx | 12 +- common/definition/makefile | 122 ----- common/definition/test.std | 0 common/definition/testscript | 33 ++ common/enum/buildfile | 41 ++ common/enum/driver.cxx | 16 +- common/enum/makefile | 117 ----- common/enum/test.hxx | 7 - common/enum/test.std | 0 common/enum/testscript | 33 ++ common/erase-query/buildfile | 41 ++ common/erase-query/driver.cxx | 10 +- common/erase-query/makefile | 117 ----- common/erase-query/test.std | 0 common/erase-query/testscript | 33 ++ common/id/auto/buildfile | 40 ++ common/id/auto/driver.cxx | 18 +- common/id/auto/makefile | 117 ----- common/id/auto/test.std | 0 common/id/auto/testscript | 33 ++ common/id/composite/buildfile | 42 ++ common/id/composite/driver.cxx | 62 +-- common/id/composite/makefile | 117 ----- common/id/composite/test.std | 0 common/id/composite/testscript | 33 ++ common/id/nested/buildfile | 41 ++ common/id/nested/driver.cxx | 50 +- common/id/nested/makefile | 117 ----- common/id/nested/test.std | 0 common/id/nested/testscript | 33 ++ common/include/.gitignore | 17 + common/include/buildfile | 51 +++ common/include/driver.cxx | 6 +- common/include/makefile | 83 ---- common/include/test.std | 0 common/include/testscript | 31 ++ common/index/buildfile | 40 ++ common/index/driver.cxx | 10 +- common/index/makefile | 116 ----- common/index/test.std | 0 common/index/testscript | 33 ++ common/inheritance/polymorphism/.gitignore | 76 ++++ common/inheritance/polymorphism/buildfile | 52 +++ common/inheritance/polymorphism/driver.cxx | 159 ++----- common/inheritance/polymorphism/makefile | 120 ----- common/inheritance/polymorphism/test.std | 36 -- common/inheritance/polymorphism/test5.hxx | 6 - common/inheritance/polymorphism/test6.hxx | 10 - common/inheritance/polymorphism/test7.hxx | 12 - common/inheritance/polymorphism/testscript | 80 ++++ common/inheritance/reuse/buildfile | 41 ++ common/inheritance/reuse/driver.cxx | 24 +- common/inheritance/reuse/makefile | 117 ----- common/inheritance/reuse/test.hxx | 2 +- common/inheritance/reuse/test.std | 0 common/inheritance/reuse/testscript | 33 ++ common/inheritance/transient/buildfile | 41 ++ common/inheritance/transient/driver.cxx | 12 +- common/inheritance/transient/makefile | 117 ----- common/inheritance/transient/test.std | 0 common/inheritance/transient/testscript | 33 ++ common/inverse/buildfile | 42 ++ common/inverse/driver.cxx | 28 +- common/inverse/makefile | 117 ----- common/inverse/test.hxx | 14 - common/inverse/test.std | 0 common/inverse/testscript | 33 ++ common/lazy-ptr/buildfile | 41 ++ common/lazy-ptr/driver.cxx | 52 +-- common/lazy-ptr/makefile | 117 ----- common/lazy-ptr/test.hxx | 27 +- common/lazy-ptr/test.std | 0 common/lazy-ptr/testscript | 33 ++ common/lifecycle/buildfile | 40 ++ common/lifecycle/driver.cxx | 30 +- common/lifecycle/makefile | 117 ----- common/lifecycle/test.std | 0 common/lifecycle/testscript | 33 ++ common/makefile | 123 ----- common/no-id/buildfile | 41 ++ common/no-id/driver.cxx | 10 +- common/no-id/makefile | 117 ----- common/no-id/test.std | 0 common/no-id/testscript | 33 ++ common/object/buildfile | 41 ++ common/object/driver.cxx | 14 +- common/object/makefile | 119 ----- common/object/test.std | 0 common/object/testscript | 33 ++ common/optimistic/buildfile | 41 ++ common/optimistic/driver.cxx | 18 +- common/optimistic/makefile | 117 ----- common/optimistic/test.std | 0 common/optimistic/testscript | 33 ++ common/pragma/buildfile | 39 ++ common/pragma/driver.cxx | 6 +- common/pragma/makefile | 116 ----- common/pragma/test.std | 0 common/pragma/testscript | 31 ++ common/prepared/buildfile | 43 ++ common/prepared/driver.cxx | 41 +- common/prepared/makefile | 117 ----- common/prepared/test.std | 0 common/prepared/testscript | 33 ++ common/query/array/buildfile | 43 ++ common/query/array/driver.cxx | 81 ++-- common/query/array/makefile | 117 ----- common/query/array/test.hxx | 12 +- common/query/array/test.std | 0 common/query/array/testscript | 33 ++ common/query/basics/buildfile | 42 ++ common/query/basics/driver.cxx | 28 +- common/query/basics/makefile | 117 ----- common/query/basics/test.hxx | 6 - common/query/basics/test.std | 112 ----- common/query/basics/testscript | 150 ++++++ common/query/one/buildfile | 42 ++ common/query/one/driver.cxx | 28 +- common/query/one/makefile | 117 ----- common/query/one/test.std | 0 common/query/one/testscript | 33 ++ common/readonly/buildfile | 40 ++ common/readonly/driver.cxx | 22 +- common/readonly/makefile | 117 ----- common/readonly/test.hxx | 11 +- common/readonly/test.std | 0 common/readonly/testscript | 33 ++ common/relationship/basics/buildfile | 41 ++ common/relationship/basics/driver.cxx | 24 +- common/relationship/basics/makefile | 117 ----- common/relationship/basics/test.hxx | 30 -- common/relationship/basics/test.std | 0 common/relationship/basics/testscript | 33 ++ common/relationship/on-delete/buildfile | 43 ++ common/relationship/on-delete/driver.cxx | 16 +- common/relationship/on-delete/makefile | 119 ----- common/relationship/on-delete/test.std | 0 common/relationship/on-delete/testscript | 33 ++ common/relationship/query/buildfile | 42 ++ common/relationship/query/driver.cxx | 16 +- common/relationship/query/makefile | 117 ----- common/relationship/query/test.hxx | 12 +- common/relationship/query/test.std | 0 common/relationship/query/testscript | 33 ++ common/schema/embedded/basics/buildfile | 42 ++ common/schema/embedded/basics/driver.cxx | 10 +- common/schema/embedded/basics/makefile | 117 ----- common/schema/embedded/basics/test.std | 0 common/schema/embedded/basics/testscript | 31 ++ common/schema/embedded/order/.gitignore | 6 + common/schema/embedded/order/buildfile | 48 ++ common/schema/embedded/order/driver.cxx | 10 +- common/schema/embedded/order/makefile | 122 ----- common/schema/embedded/order/test.std | 0 common/schema/embedded/order/testscript | 31 ++ common/schema/namespace/buildfile | 41 ++ common/schema/namespace/driver.cxx | 12 +- common/schema/namespace/makefile | 117 ----- common/schema/namespace/test.std | 0 common/schema/namespace/testscript | 33 ++ common/section/basics/buildfile | 41 ++ common/section/basics/driver.cxx | 126 +++--- common/section/basics/makefile | 117 ----- common/section/basics/test.std | 0 common/section/basics/testscript | 33 ++ common/section/polymorphism/buildfile | 41 ++ common/section/polymorphism/driver.cxx | 96 ++-- common/section/polymorphism/makefile | 117 ----- common/section/polymorphism/test.hxx | 4 - common/section/polymorphism/test.std | 0 common/section/polymorphism/testscript | 33 ++ common/session/cache/buildfile | 41 ++ common/session/cache/driver.cxx | 12 +- common/session/cache/makefile | 117 ----- common/session/cache/test.hxx | 15 - common/session/cache/test.std | 0 common/session/cache/testscript | 33 ++ common/session/custom/buildfile | 43 ++ common/session/custom/driver.cxx | 8 +- common/session/custom/makefile | 115 ----- common/session/custom/session.hxx | 9 + common/session/custom/test.std | 0 common/session/custom/testscript | 33 ++ common/statement/processing/buildfile | 8 + common/statement/processing/driver.cxx | 4 +- common/statement/processing/makefile | 87 ---- common/statement/processing/test.std | 0 common/statement/processing/testscript | 6 + common/template/Makefile.am | 39 -- common/template/driver.cxx | 39 -- common/template/makefile | 117 ----- common/template/template-vc10.vcxproj | 185 -------- common/template/template-vc10.vcxproj.filters | 28 -- common/template/template-vc11.vcxproj | 189 -------- common/template/template-vc11.vcxproj.filters | 28 -- common/template/template-vc12.vcxproj | 193 -------- common/template/template-vc12.vcxproj.filters | 28 -- common/template/template-vc8.vcproj | 357 --------------- common/template/template-vc9.vcproj | 364 --------------- common/template/test.hxx | 25 - common/template/test.std | 0 common/test.bat | 79 ---- common/threads/buildfile | 49 ++ common/threads/driver.cxx | 19 +- common/threads/makefile | 117 ----- common/threads/test.std | 0 common/threads/testscript | 50 ++ common/transaction/basics/buildfile | 13 + common/transaction/basics/driver.cxx | 13 +- common/transaction/basics/makefile | 87 ---- common/transaction/basics/test.std | 26 -- common/transaction/basics/testscript | 62 +++ common/transaction/callback/buildfile | 13 + common/transaction/callback/driver.cxx | 11 +- common/transaction/callback/makefile | 87 ---- common/transaction/callback/test.std | 36 -- common/transaction/callback/testscript | 72 +++ common/types/buildfile | 39 ++ common/types/driver.cxx | 6 +- common/types/makefile | 116 ----- common/types/test.std | 0 common/types/testscript | 6 + common/view/basics/buildfile | 42 ++ common/view/basics/driver.cxx | 42 +- common/view/basics/makefile | 117 ----- common/view/basics/test.hxx | 26 +- common/view/basics/test.std | 0 common/view/basics/testscript | 33 ++ common/view/olv/.gitignore | 46 ++ common/view/olv/buildfile | 50 ++ common/view/olv/driver.cxx | 36 +- common/view/olv/makefile | 114 ----- common/view/olv/test.std | 0 common/view/olv/testscript | 39 ++ common/virtual/buildfile | 42 ++ common/virtual/driver.cxx | 14 +- common/virtual/makefile | 117 ----- common/virtual/test.std | 0 common/virtual/testscript | 33 ++ common/wrapper/buildfile | 40 ++ common/wrapper/driver.cxx | 30 +- common/wrapper/makefile | 116 ----- common/wrapper/test.hxx | 35 +- common/wrapper/test.std | 0 common/wrapper/testscript | 33 ++ configure.ac | 115 ----- database-options.testscript | 75 +++ diagnostics/containers-of-containers.hxx | 68 --- evolution/Makefile.am | 5 - evolution/add-column/makefile | 145 ------ evolution/add-foreign-key/makefile | 146 ------ evolution/add-index/makefile | 145 ------ evolution/add-table/makefile | 145 ------ evolution/alter-column/makefile | 145 ------ evolution/combined/makefile | 145 ------ evolution/data/makefile | 142 ------ evolution/drop-column/makefile | 145 ------ evolution/drop-foreign-key/makefile | 146 ------ evolution/drop-index/makefile | 145 ------ evolution/drop-table/makefile | 145 ------ evolution/embedded/makefile | 134 ------ evolution/makefile | 64 --- evolution/soft-add/makefile | 145 ------ evolution/soft-delete/makefile | 145 ------ evolution/template/Makefile.am | 59 --- evolution/template/makefile | 145 ------ evolution/test.bat | 79 ---- evolution/tester.bat | 87 ---- evolution/tester.in | 42 -- evolution/version/makefile | 145 ------ libcommon/.gitignore | 3 + libcommon/Makefile.am | 5 - libcommon/buffer.hxx | 104 +++++ libcommon/buildfile | 50 ++ libcommon/common.cxx | 355 +++++++++++++++ libcommon/common.hxx | 47 ++ libcommon/common.txx | 24 + libcommon/common/Makefile.am | 11 - libcommon/common/buffer.hxx | 104 ----- libcommon/common/common.cxx | 360 --------------- libcommon/common/common.hxx | 53 --- libcommon/common/common.txx | 24 - libcommon/common/concrete.hxx | 57 --- libcommon/common/config-vc.h | 25 - libcommon/common/config.h.in | 19 - libcommon/common/config.hxx | 20 - libcommon/common/export.hxx | 35 -- libcommon/common/libcommon-vc10.vcxproj | 174 ------- libcommon/common/libcommon-vc10.vcxproj.filters | 19 - libcommon/common/libcommon-vc11.vcxproj | 178 -------- libcommon/common/libcommon-vc11.vcxproj.filters | 19 - libcommon/common/libcommon-vc12.vcxproj | 182 -------- libcommon/common/libcommon-vc12.vcxproj.filters | 19 - libcommon/common/libcommon-vc8.vcproj | 352 -------------- libcommon/common/libcommon-vc9.vcproj | 359 --------------- libcommon/common/makefile | 166 ------- libcommon/concrete.hxx | 57 +++ libcommon/config.hxx.in | 14 + libcommon/export.hxx | 39 ++ libcommon/makefile | 31 -- m4/acx-pthread.m4 | 259 ----------- m4/c++11.m4 | 37 -- m4/database.m4 | 59 --- m4/diff.m4 | 53 --- m4/libboost.m4 | 184 -------- m4/libodb-boost.m4 | 82 ---- m4/libodb-mssql.m4 | 82 ---- m4/libodb-mysql.m4 | 82 ---- m4/libodb-oracle.m4 | 82 ---- m4/libodb-pgsql.m4 | 82 ---- m4/libodb-qt.m4 | 82 ---- m4/libodb-sqlite.m4 | 82 ---- m4/libodb.m4 | 81 ---- m4/libqt.m4 | 121 ----- m4/libtool-link.m4 | 45 -- m4/mssql.m4 | 224 --------- m4/mysql.m4 | 270 ----------- m4/odb.m4 | 43 -- m4/oracle.m4 | 243 ---------- m4/pgsql.m4 | 204 --------- m4/sqlite.m4 | 59 --- m4/static-lib.m4 | 17 - m4/threads.m4 | 68 --- m4/tr1-memory.m4 | 38 -- makefile | 51 --- manifest | 48 ++ mssql-driver.bat | 61 --- mssql.options | 10 - mssql/Makefile.am | 5 - mssql/custom/makefile | 111 ----- mssql/custom/test.std | 0 mssql/database/makefile | 83 ---- mssql/database/test.std | 0 mssql/makefile | 41 -- mssql/native/makefile | 83 ---- mssql/native/test.std | 0 mssql/query/makefile | 108 ----- mssql/query/test.std | 0 mssql/stored-proc/makefile | 107 ----- mssql/stored-proc/test.std | 17 - mssql/template/Makefile.am | 34 -- mssql/template/makefile | 107 ----- mssql/template/test.std | 0 mssql/test.bat | 68 --- mssql/types/makefile | 109 ----- mssql/types/test.std | 0 mysql-driver.bat | 46 -- mysql-schema.testscript | 9 + mysql.options | 10 - mysql.testscript | 12 + mysql/Makefile.am | 5 - mysql/custom/buildfile | 37 ++ mysql/custom/driver.cxx | 14 +- mysql/custom/makefile | 110 ----- mysql/custom/query.hxx | 4 +- mysql/custom/test.hxx | 4 +- mysql/custom/test.std | 0 mysql/custom/testscript | 11 + mysql/custom/traits.hxx | 4 +- mysql/database/buildfile | 11 + mysql/database/driver.cxx | 3 + mysql/database/makefile | 83 ---- mysql/database/test.std | 0 mysql/database/testscript | 6 + mysql/index/buildfile | 34 ++ mysql/index/driver.cxx | 10 +- mysql/index/makefile | 107 ----- mysql/index/test.std | 0 mysql/index/testscript | 11 + mysql/makefile | 41 -- mysql/native/buildfile | 16 + mysql/native/driver.cxx | 10 +- mysql/native/makefile | 83 ---- mysql/native/test.std | 0 mysql/native/testscript | 9 + mysql/template/Makefile.am | 34 -- mysql/template/driver.cxx | 40 -- mysql/template/makefile | 107 ----- mysql/template/template-vc10.vcxproj | 180 -------- mysql/template/template-vc10.vcxproj.filters | 25 - mysql/template/template-vc11.vcxproj | 184 -------- mysql/template/template-vc11.vcxproj.filters | 25 - mysql/template/template-vc12.vcxproj | 188 -------- mysql/template/template-vc12.vcxproj.filters | 25 - mysql/template/template-vc8.vcproj | 354 --------------- mysql/template/template-vc9.vcproj | 361 --------------- mysql/template/test.hxx | 25 - mysql/template/test.std | 0 mysql/test.bat | 68 --- mysql/truncation/buildfile | 35 ++ mysql/truncation/driver.cxx | 20 +- mysql/truncation/makefile | 107 ----- mysql/truncation/test.std | 0 mysql/truncation/testscript | 11 + mysql/types/buildfile | 36 ++ mysql/types/driver.cxx | 18 +- mysql/types/makefile | 109 ----- mysql/types/test.hxx | 4 +- mysql/types/test.std | 0 mysql/types/testscript | 11 + oracle-driver.bat | 42 -- oracle.options | 9 - oracle/Makefile.am | 5 - oracle/custom/makefile | 110 ----- oracle/custom/test.std | 0 oracle/database/makefile | 83 ---- oracle/database/test.std | 0 oracle/makefile | 39 -- oracle/native/makefile | 83 ---- oracle/native/test.std | 0 oracle/template/Makefile.am | 34 -- oracle/template/makefile | 107 ----- oracle/template/test.std | 0 oracle/test.bat | 68 --- oracle/types/makefile | 109 ----- oracle/types/test.std | 0 pgsql-driver.bat | 50 -- pgsql-schema.testscript | 6 + pgsql.options | 10 - pgsql.testscript | 12 + pgsql/Makefile.am | 5 - pgsql/buildfile | 6 + pgsql/bulk/buildfile | 40 ++ pgsql/bulk/driver.cxx | 39 +- pgsql/bulk/makefile | 107 ----- pgsql/bulk/test.std | 0 pgsql/bulk/testscript | 18 + pgsql/custom/buildfile | 37 ++ pgsql/custom/driver.cxx | 14 +- pgsql/custom/makefile | 110 ----- pgsql/custom/test.std | 0 pgsql/custom/testscript | 11 + pgsql/database/buildfile | 11 + pgsql/database/driver.cxx | 3 + pgsql/database/makefile | 79 ---- pgsql/database/test.std | 0 pgsql/database/testscript | 6 + pgsql/index/buildfile | 34 ++ pgsql/index/driver.cxx | 10 +- pgsql/index/makefile | 107 ----- pgsql/index/test.std | 0 pgsql/index/testscript | 11 + pgsql/makefile | 41 -- pgsql/native/buildfile | 16 + pgsql/native/driver.cxx | 10 +- pgsql/native/makefile | 79 ---- pgsql/native/test.std | 0 pgsql/native/testscript | 9 + pgsql/savepoint/driver.cxx | 58 --- pgsql/savepoint/makefile | 107 ----- pgsql/savepoint/test.hxx | 27 -- pgsql/savepoint/test.std | 0 pgsql/template/Makefile.am | 34 -- pgsql/template/driver.cxx | 40 -- pgsql/template/makefile | 107 ----- pgsql/template/template-vc10.vcxproj | 180 -------- pgsql/template/template-vc10.vcxproj.filters | 25 - pgsql/template/template-vc11.vcxproj | 184 -------- pgsql/template/template-vc11.vcxproj.filters | 25 - pgsql/template/template-vc12.vcxproj | 188 -------- pgsql/template/template-vc12.vcxproj.filters | 25 - pgsql/template/template-vc8.vcproj | 354 --------------- pgsql/template/template-vc9.vcproj | 361 --------------- pgsql/template/test.hxx | 25 - pgsql/template/test.std | 0 pgsql/test.bat | 68 --- pgsql/truncation/buildfile | 35 ++ pgsql/truncation/driver.cxx | 16 +- pgsql/truncation/makefile | 107 ----- pgsql/truncation/test.std | 0 pgsql/truncation/testscript | 11 + pgsql/types/buildfile | 36 ++ pgsql/types/driver.cxx | 18 +- pgsql/types/makefile | 109 ----- pgsql/types/test.hxx | 6 +- pgsql/types/test.std | 0 pgsql/types/testscript | 11 + qt/Makefile.am | 26 -- qt/build.bat | 129 ------ qt/common/Makefile.am | 5 - qt/common/basic/makefile | 134 ------ qt/common/basic/test.std | 0 qt/common/containers/basics/makefile | 134 ------ qt/common/containers/basics/test.std | 0 qt/common/containers/change-tracking/makefile | 134 ------ qt/common/containers/change-tracking/test.std | 0 qt/common/makefile | 61 --- qt/common/smart-ptr/makefile | 134 ------ qt/common/smart-ptr/test.std | 0 qt/common/template/Makefile.am | 31 -- qt/common/template/makefile | 134 ------ qt/common/template/test.std | 0 qt/common/test.bat | 79 ---- qt/makefile | 38 -- qt/mssql/Makefile.am | 5 - qt/mssql/basic/makefile | 125 ----- qt/mssql/basic/test.std | 0 qt/mssql/date-time/makefile | 125 ----- qt/mssql/date-time/test.std | 0 qt/mssql/makefile | 46 -- qt/mssql/template/Makefile.am | 34 -- qt/mssql/template/makefile | 119 ----- qt/mssql/template/test.std | 0 qt/mssql/test.bat | 68 --- qt/mysql/Makefile.am | 5 - qt/mysql/basic/makefile | 125 ----- qt/mysql/basic/test.std | 0 qt/mysql/date-time/makefile | 125 ----- qt/mysql/date-time/test.std | 0 qt/mysql/makefile | 46 -- qt/mysql/template/Makefile.am | 34 -- qt/mysql/template/makefile | 119 ----- qt/mysql/template/test.std | 0 qt/mysql/test.bat | 68 --- qt/oracle/Makefile.am | 5 - qt/oracle/basic/makefile | 125 ----- qt/oracle/basic/test.std | 0 qt/oracle/date-time/makefile | 125 ----- qt/oracle/date-time/test.std | 0 qt/oracle/makefile | 46 -- qt/oracle/template/Makefile.am | 34 -- qt/oracle/template/makefile | 119 ----- qt/oracle/template/test.std | 0 qt/oracle/test.bat | 68 --- qt/pgsql/Makefile.am | 5 - qt/pgsql/basic/makefile | 125 ----- qt/pgsql/basic/test.std | 0 qt/pgsql/date-time/makefile | 125 ----- qt/pgsql/date-time/test.std | 0 qt/pgsql/makefile | 46 -- qt/pgsql/template/Makefile.am | 34 -- qt/pgsql/template/makefile | 119 ----- qt/pgsql/template/test.std | 0 qt/pgsql/test.bat | 68 --- qt/sqlite/Makefile.am | 5 - qt/sqlite/basic/makefile | 125 ----- qt/sqlite/basic/test.std | 0 qt/sqlite/date-time/makefile | 125 ----- qt/sqlite/date-time/test.std | 0 qt/sqlite/makefile | 46 -- qt/sqlite/template/Makefile.am | 34 -- qt/sqlite/template/makefile | 119 ----- qt/sqlite/template/test.std | 0 qt/sqlite/test.bat | 68 --- repositories.manifest | 44 ++ sqlite-driver.bat | 2 - sqlite.options | 5 - sqlite.testscript | 10 + sqlite/Makefile.am | 5 - sqlite/attach/buildfile | 32 ++ sqlite/attach/driver.cxx | 16 +- sqlite/attach/makefile | 108 ----- sqlite/attach/test.std | 0 sqlite/attach/testscript | 9 + sqlite/auto/buildfile | 32 ++ sqlite/auto/driver.cxx | 16 +- sqlite/auto/makefile | 108 ----- sqlite/auto/test.std | 0 sqlite/auto/testscript | 9 + sqlite/custom/buildfile | 31 ++ sqlite/custom/driver.cxx | 14 +- sqlite/custom/makefile | 107 ----- sqlite/custom/test.std | 0 sqlite/custom/testscript | 9 + sqlite/database/buildfile | 11 + sqlite/database/driver.cxx | 5 +- sqlite/database/makefile | 83 ---- sqlite/database/test.std | 0 sqlite/database/testscript | 6 + sqlite/makefile | 44 -- sqlite/native/buildfile | 12 + sqlite/native/driver.cxx | 10 +- sqlite/native/makefile | 83 ---- sqlite/native/test.std | 0 sqlite/native/testscript | 9 + sqlite/stream/buildfile | 31 ++ sqlite/stream/driver.cxx | 14 +- sqlite/stream/makefile | 107 ----- sqlite/stream/test.std | 0 sqlite/stream/testscript | 9 + sqlite/template/Makefile.am | 34 -- sqlite/template/driver.cxx | 40 -- sqlite/template/makefile | 108 ----- sqlite/template/template-vc10.vcxproj | 180 -------- sqlite/template/template-vc10.vcxproj.filters | 25 - sqlite/template/template-vc11.vcxproj | 184 -------- sqlite/template/template-vc11.vcxproj.filters | 25 - sqlite/template/template-vc12.vcxproj | 188 -------- sqlite/template/template-vc12.vcxproj.filters | 25 - sqlite/template/template-vc8.vcproj | 354 --------------- sqlite/template/template-vc9.vcproj | 361 --------------- sqlite/template/test.hxx | 25 - sqlite/template/test.std | 0 sqlite/test.bat | 68 --- sqlite/transaction/buildfile | 30 ++ sqlite/transaction/driver.cxx | 10 +- sqlite/transaction/makefile | 107 ----- sqlite/transaction/test.std | 0 sqlite/transaction/testscript | 9 + sqlite/truncation/buildfile | 31 ++ sqlite/truncation/driver.cxx | 16 +- sqlite/truncation/makefile | 107 ----- sqlite/truncation/test.std | 0 sqlite/truncation/testscript | 9 + sqlite/types/buildfile | 32 ++ sqlite/types/driver.cxx | 18 +- sqlite/types/makefile | 109 ----- sqlite/types/test.hxx | 4 +- sqlite/types/test.std | 0 sqlite/types/testscript | 9 + template-vc10.sln | 15 - template-vc11.sln | 15 - template-vc12.sln | 17 - template-vc8.sln | 15 - template-vc9.sln | 15 - test.bat | 66 --- tester.bat | 73 --- tester.in | 51 --- version | 1 - 835 files changed, 8225 insertions(+), 37138 deletions(-) delete mode 100644 INSTALL delete mode 100644 INSTALL-GIT delete mode 100644 Makefile.am delete mode 100644 README create mode 100644 README.md delete mode 100644 boost/Makefile.am delete mode 100644 boost/build.bat delete mode 100644 boost/common/Makefile.am delete mode 100644 boost/common/makefile delete mode 100644 boost/common/multi-index/makefile delete mode 100644 boost/common/multi-index/test.std delete mode 100644 boost/common/optional/makefile delete mode 100644 boost/common/optional/test.std delete mode 100644 boost/common/smart-ptr/makefile delete mode 100644 boost/common/smart-ptr/test.std delete mode 100644 boost/common/template/Makefile.am delete mode 100644 boost/common/template/makefile delete mode 100644 boost/common/template/test.std delete mode 100644 boost/common/test.bat delete mode 100644 boost/common/unordered/makefile delete mode 100644 boost/common/unordered/test.std delete mode 100644 boost/common/uuid/makefile delete mode 100644 boost/common/uuid/test.std delete mode 100644 boost/makefile delete mode 100644 boost/mssql/Makefile.am delete mode 100644 boost/mssql/date-time/makefile delete mode 100644 boost/mssql/date-time/test.std delete mode 100644 boost/mssql/makefile delete mode 100644 boost/mssql/template/Makefile.am delete mode 100644 boost/mssql/template/makefile delete mode 100644 boost/mssql/template/test.std delete mode 100644 boost/mssql/test.bat delete mode 100644 boost/mysql/Makefile.am delete mode 100644 boost/mysql/date-time/makefile delete mode 100644 boost/mysql/date-time/test.std delete mode 100644 boost/mysql/makefile delete mode 100644 boost/mysql/template/Makefile.am delete mode 100644 boost/mysql/template/makefile delete mode 100644 boost/mysql/template/test.std delete mode 100644 boost/mysql/test.bat delete mode 100644 boost/oracle/Makefile.am delete mode 100644 boost/oracle/date-time/makefile delete mode 100644 boost/oracle/date-time/test.std delete mode 100644 boost/oracle/makefile delete mode 100644 boost/oracle/template/Makefile.am delete mode 100644 boost/oracle/template/makefile delete mode 100644 boost/oracle/template/test.std delete mode 100644 boost/oracle/test.bat delete mode 100644 boost/pgsql/Makefile.am delete mode 100644 boost/pgsql/date-time/makefile delete mode 100644 boost/pgsql/date-time/test.std delete mode 100644 boost/pgsql/makefile delete mode 100644 boost/pgsql/template/Makefile.am delete mode 100644 boost/pgsql/template/makefile delete mode 100644 boost/pgsql/template/test.std delete mode 100644 boost/pgsql/test.bat delete mode 100644 boost/sqlite/Makefile.am delete mode 100644 boost/sqlite/date-time/makefile delete mode 100644 boost/sqlite/date-time/test.std delete mode 100644 boost/sqlite/makefile delete mode 100644 boost/sqlite/template/Makefile.am delete mode 100644 boost/sqlite/template/makefile delete mode 100644 boost/sqlite/template/test.std delete mode 100644 boost/sqlite/test.bat delete mode 100755 bootstrap delete mode 100644 build.bat create mode 100644 build/.gitignore create mode 100644 build/bootstrap.build delete mode 100644 build/bootstrap.make delete mode 100644 build/configuration-rules.make delete mode 100644 build/configuration.make delete mode 100755 build/configure create mode 100644 build/export.build delete mode 100644 build/import/libboost/configuration-rules.make delete mode 100755 build/import/libboost/configure delete mode 100644 build/import/libboost/date-time/rules.make delete mode 100644 build/import/libboost/date-time/stub.make delete mode 100644 build/import/libboost/header-only/rules.make delete mode 100644 build/import/libboost/header-only/stub.make delete mode 100644 build/import/libboost/version delete mode 100644 build/import/libodb-boost/configuration-rules.make delete mode 100755 build/import/libodb-boost/configure delete mode 100644 build/import/libodb-boost/stub.make delete mode 100644 build/import/libodb-mssql/configuration-rules.make delete mode 100755 build/import/libodb-mssql/configure delete mode 100644 build/import/libodb-mssql/stub.make delete mode 100644 build/import/libodb-mysql/configuration-rules.make delete mode 100755 build/import/libodb-mysql/configure delete mode 100644 build/import/libodb-mysql/stub.make delete mode 100644 build/import/libodb-oracle/configuration-rules.make delete mode 100755 build/import/libodb-oracle/configure delete mode 100644 build/import/libodb-oracle/stub.make delete mode 100644 build/import/libodb-pgsql/configuration-rules.make delete mode 100755 build/import/libodb-pgsql/configure delete mode 100644 build/import/libodb-pgsql/stub.make delete mode 100644 build/import/libodb-qt/configuration-rules.make delete mode 100755 build/import/libodb-qt/configure delete mode 100644 build/import/libodb-qt/stub.make delete mode 100644 build/import/libodb-sqlite/configuration-rules.make delete mode 100755 build/import/libodb-sqlite/configure delete mode 100644 build/import/libodb-sqlite/stub.make delete mode 100644 build/import/libodb/configuration-rules.make delete mode 100755 build/import/libodb/configure delete mode 100644 build/import/libodb/stub.make delete mode 100644 build/import/libqt/configuration-rules.make delete mode 100755 build/import/libqt/configure delete mode 100644 build/import/libqt/core/rules.make delete mode 100644 build/import/libqt/core/stub.make delete mode 100644 build/import/libqt/version delete mode 100644 build/import/odb/configuration-rules.make delete mode 100755 build/import/odb/configure delete mode 100644 build/import/odb/hxx-cxx.make delete mode 100644 build/import/odb/stub.make delete mode 100755 build/mssql/configure delete mode 100755 build/mssql/mssql delete mode 100755 build/mysql/configure delete mode 100755 build/mysql/mysql delete mode 100755 build/oracle/configure delete mode 100755 build/oracle/oracle delete mode 100755 build/pgsql/configure delete mode 100755 build/pgsql/pgsql create mode 100644 build/root.build delete mode 100755 build/sqlite/configure create mode 100644 buildfile delete mode 100644 common/Makefile.am create mode 100644 common/access/buildfile delete mode 100644 common/access/makefile delete mode 100644 common/access/test.std create mode 100644 common/access/testscript create mode 100644 common/as/buildfile delete mode 100644 common/as/makefile delete mode 100644 common/as/test.std create mode 100644 common/as/testscript create mode 100644 common/blob/buildfile delete mode 100644 common/blob/makefile delete mode 100644 common/blob/test.std create mode 100644 common/blob/testscript create mode 100644 common/buildfile create mode 100644 common/bulk/buildfile delete mode 100644 common/bulk/makefile delete mode 100644 common/bulk/test-mssql.std delete mode 100644 common/bulk/test-mysql.std delete mode 100644 common/bulk/test-oracle.std delete mode 100644 common/bulk/test-pgsql-enabled.std delete mode 100644 common/bulk/test-pgsql.std delete mode 100644 common/bulk/test-sqlite.std create mode 100644 common/bulk/testscript create mode 100644 common/callback/buildfile delete mode 100644 common/callback/makefile delete mode 100644 common/callback/test.std create mode 100644 common/callback/testscript create mode 100644 common/changelog/.gitignore create mode 100644 common/changelog/buildfile delete mode 100644 common/changelog/makefile create mode 100644 common/changelog/testscript create mode 100644 common/circular/multiple/.gitignore create mode 100644 common/circular/multiple/buildfile delete mode 100644 common/circular/multiple/makefile delete mode 100644 common/circular/multiple/test.std create mode 100644 common/circular/multiple/testscript create mode 100644 common/circular/single/buildfile delete mode 100644 common/circular/single/makefile delete mode 100644 common/circular/single/test.std create mode 100644 common/circular/single/testscript create mode 100644 common/composite/buildfile delete mode 100644 common/composite/makefile delete mode 100644 common/composite/test.std create mode 100644 common/composite/testscript create mode 100644 common/const-member/buildfile delete mode 100644 common/const-member/makefile delete mode 100644 common/const-member/test.std create mode 100644 common/const-member/testscript create mode 100644 common/const-object/buildfile delete mode 100644 common/const-object/makefile delete mode 100644 common/const-object/test.std create mode 100644 common/const-object/testscript create mode 100644 common/container/basics/buildfile delete mode 100644 common/container/basics/makefile delete mode 100644 common/container/basics/test.std create mode 100644 common/container/basics/testscript create mode 100644 common/container/change-tracking/buildfile delete mode 100644 common/container/change-tracking/makefile delete mode 100644 common/container/change-tracking/test.std create mode 100644 common/container/change-tracking/testscript create mode 100644 common/ctor/buildfile delete mode 100644 common/ctor/makefile delete mode 100644 common/ctor/test.std create mode 100644 common/ctor/testscript create mode 100644 common/default/buildfile delete mode 100644 common/default/makefile delete mode 100644 common/default/test.std create mode 100644 common/default/testscript create mode 100644 common/definition/.gitignore create mode 100644 common/definition/buildfile delete mode 100644 common/definition/makefile delete mode 100644 common/definition/test.std create mode 100644 common/definition/testscript create mode 100644 common/enum/buildfile delete mode 100644 common/enum/makefile delete mode 100644 common/enum/test.std create mode 100644 common/enum/testscript create mode 100644 common/erase-query/buildfile delete mode 100644 common/erase-query/makefile delete mode 100644 common/erase-query/test.std create mode 100644 common/erase-query/testscript create mode 100644 common/id/auto/buildfile delete mode 100644 common/id/auto/makefile delete mode 100644 common/id/auto/test.std create mode 100644 common/id/auto/testscript create mode 100644 common/id/composite/buildfile delete mode 100644 common/id/composite/makefile delete mode 100644 common/id/composite/test.std create mode 100644 common/id/composite/testscript create mode 100644 common/id/nested/buildfile delete mode 100644 common/id/nested/makefile delete mode 100644 common/id/nested/test.std create mode 100644 common/id/nested/testscript create mode 100644 common/include/.gitignore create mode 100644 common/include/buildfile delete mode 100644 common/include/makefile delete mode 100644 common/include/test.std create mode 100644 common/include/testscript create mode 100644 common/index/buildfile delete mode 100644 common/index/makefile delete mode 100644 common/index/test.std create mode 100644 common/index/testscript create mode 100644 common/inheritance/polymorphism/.gitignore create mode 100644 common/inheritance/polymorphism/buildfile delete mode 100644 common/inheritance/polymorphism/makefile delete mode 100644 common/inheritance/polymorphism/test.std create mode 100644 common/inheritance/polymorphism/testscript create mode 100644 common/inheritance/reuse/buildfile delete mode 100644 common/inheritance/reuse/makefile delete mode 100644 common/inheritance/reuse/test.std create mode 100644 common/inheritance/reuse/testscript create mode 100644 common/inheritance/transient/buildfile delete mode 100644 common/inheritance/transient/makefile delete mode 100644 common/inheritance/transient/test.std create mode 100644 common/inheritance/transient/testscript create mode 100644 common/inverse/buildfile delete mode 100644 common/inverse/makefile delete mode 100644 common/inverse/test.std create mode 100644 common/inverse/testscript create mode 100644 common/lazy-ptr/buildfile delete mode 100644 common/lazy-ptr/makefile delete mode 100644 common/lazy-ptr/test.std create mode 100644 common/lazy-ptr/testscript create mode 100644 common/lifecycle/buildfile delete mode 100644 common/lifecycle/makefile delete mode 100644 common/lifecycle/test.std create mode 100644 common/lifecycle/testscript delete mode 100644 common/makefile create mode 100644 common/no-id/buildfile delete mode 100644 common/no-id/makefile delete mode 100644 common/no-id/test.std create mode 100644 common/no-id/testscript create mode 100644 common/object/buildfile delete mode 100644 common/object/makefile delete mode 100644 common/object/test.std create mode 100644 common/object/testscript create mode 100644 common/optimistic/buildfile delete mode 100644 common/optimistic/makefile delete mode 100644 common/optimistic/test.std create mode 100644 common/optimistic/testscript create mode 100644 common/pragma/buildfile delete mode 100644 common/pragma/makefile delete mode 100644 common/pragma/test.std create mode 100644 common/pragma/testscript create mode 100644 common/prepared/buildfile delete mode 100644 common/prepared/makefile delete mode 100644 common/prepared/test.std create mode 100644 common/prepared/testscript create mode 100644 common/query/array/buildfile delete mode 100644 common/query/array/makefile delete mode 100644 common/query/array/test.std create mode 100644 common/query/array/testscript create mode 100644 common/query/basics/buildfile delete mode 100644 common/query/basics/makefile delete mode 100644 common/query/basics/test.std create mode 100644 common/query/basics/testscript create mode 100644 common/query/one/buildfile delete mode 100644 common/query/one/makefile delete mode 100644 common/query/one/test.std create mode 100644 common/query/one/testscript create mode 100644 common/readonly/buildfile delete mode 100644 common/readonly/makefile delete mode 100644 common/readonly/test.std create mode 100644 common/readonly/testscript create mode 100644 common/relationship/basics/buildfile delete mode 100644 common/relationship/basics/makefile delete mode 100644 common/relationship/basics/test.std create mode 100644 common/relationship/basics/testscript create mode 100644 common/relationship/on-delete/buildfile delete mode 100644 common/relationship/on-delete/makefile delete mode 100644 common/relationship/on-delete/test.std create mode 100644 common/relationship/on-delete/testscript create mode 100644 common/relationship/query/buildfile delete mode 100644 common/relationship/query/makefile delete mode 100644 common/relationship/query/test.std create mode 100644 common/relationship/query/testscript create mode 100644 common/schema/embedded/basics/buildfile delete mode 100644 common/schema/embedded/basics/makefile delete mode 100644 common/schema/embedded/basics/test.std create mode 100644 common/schema/embedded/basics/testscript create mode 100644 common/schema/embedded/order/.gitignore create mode 100644 common/schema/embedded/order/buildfile delete mode 100644 common/schema/embedded/order/makefile delete mode 100644 common/schema/embedded/order/test.std create mode 100644 common/schema/embedded/order/testscript create mode 100644 common/schema/namespace/buildfile delete mode 100644 common/schema/namespace/makefile delete mode 100644 common/schema/namespace/test.std create mode 100644 common/schema/namespace/testscript create mode 100644 common/section/basics/buildfile delete mode 100644 common/section/basics/makefile delete mode 100644 common/section/basics/test.std create mode 100644 common/section/basics/testscript create mode 100644 common/section/polymorphism/buildfile delete mode 100644 common/section/polymorphism/makefile delete mode 100644 common/section/polymorphism/test.std create mode 100644 common/section/polymorphism/testscript create mode 100644 common/session/cache/buildfile delete mode 100644 common/session/cache/makefile delete mode 100644 common/session/cache/test.std create mode 100644 common/session/cache/testscript create mode 100644 common/session/custom/buildfile delete mode 100644 common/session/custom/makefile delete mode 100644 common/session/custom/test.std create mode 100644 common/session/custom/testscript create mode 100644 common/statement/processing/buildfile delete mode 100644 common/statement/processing/makefile delete mode 100644 common/statement/processing/test.std create mode 100644 common/statement/processing/testscript delete mode 100644 common/template/Makefile.am delete mode 100644 common/template/driver.cxx delete mode 100644 common/template/makefile delete mode 100644 common/template/template-vc10.vcxproj delete mode 100644 common/template/template-vc10.vcxproj.filters delete mode 100644 common/template/template-vc11.vcxproj delete mode 100644 common/template/template-vc11.vcxproj.filters delete mode 100644 common/template/template-vc12.vcxproj delete mode 100644 common/template/template-vc12.vcxproj.filters delete mode 100644 common/template/template-vc8.vcproj delete mode 100644 common/template/template-vc9.vcproj delete mode 100644 common/template/test.hxx delete mode 100644 common/template/test.std delete mode 100644 common/test.bat create mode 100644 common/threads/buildfile delete mode 100644 common/threads/makefile delete mode 100644 common/threads/test.std create mode 100644 common/threads/testscript create mode 100644 common/transaction/basics/buildfile delete mode 100644 common/transaction/basics/makefile delete mode 100644 common/transaction/basics/test.std create mode 100644 common/transaction/basics/testscript create mode 100644 common/transaction/callback/buildfile delete mode 100644 common/transaction/callback/makefile delete mode 100644 common/transaction/callback/test.std create mode 100644 common/transaction/callback/testscript create mode 100644 common/types/buildfile delete mode 100644 common/types/makefile delete mode 100644 common/types/test.std create mode 100644 common/types/testscript create mode 100644 common/view/basics/buildfile delete mode 100644 common/view/basics/makefile delete mode 100644 common/view/basics/test.std create mode 100644 common/view/basics/testscript create mode 100644 common/view/olv/.gitignore create mode 100644 common/view/olv/buildfile delete mode 100644 common/view/olv/makefile delete mode 100644 common/view/olv/test.std create mode 100644 common/view/olv/testscript create mode 100644 common/virtual/buildfile delete mode 100644 common/virtual/makefile delete mode 100644 common/virtual/test.std create mode 100644 common/virtual/testscript create mode 100644 common/wrapper/buildfile delete mode 100644 common/wrapper/makefile delete mode 100644 common/wrapper/test.std create mode 100644 common/wrapper/testscript delete mode 100644 configure.ac create mode 100644 database-options.testscript delete mode 100644 diagnostics/containers-of-containers.hxx delete mode 100644 evolution/Makefile.am delete mode 100644 evolution/add-column/makefile delete mode 100644 evolution/add-foreign-key/makefile delete mode 100644 evolution/add-index/makefile delete mode 100644 evolution/add-table/makefile delete mode 100644 evolution/alter-column/makefile delete mode 100644 evolution/combined/makefile delete mode 100644 evolution/data/makefile delete mode 100644 evolution/drop-column/makefile delete mode 100644 evolution/drop-foreign-key/makefile delete mode 100644 evolution/drop-index/makefile delete mode 100644 evolution/drop-table/makefile delete mode 100644 evolution/embedded/makefile delete mode 100644 evolution/makefile delete mode 100644 evolution/soft-add/makefile delete mode 100644 evolution/soft-delete/makefile delete mode 100644 evolution/template/Makefile.am delete mode 100644 evolution/template/makefile delete mode 100644 evolution/test.bat delete mode 100644 evolution/tester.bat delete mode 100755 evolution/tester.in delete mode 100644 evolution/version/makefile create mode 100644 libcommon/.gitignore delete mode 100644 libcommon/Makefile.am create mode 100644 libcommon/buffer.hxx create mode 100644 libcommon/buildfile create mode 100644 libcommon/common.cxx create mode 100644 libcommon/common.hxx create mode 100644 libcommon/common.txx delete mode 100644 libcommon/common/Makefile.am delete mode 100644 libcommon/common/buffer.hxx delete mode 100644 libcommon/common/common.cxx delete mode 100644 libcommon/common/common.hxx delete mode 100644 libcommon/common/common.txx delete mode 100644 libcommon/common/concrete.hxx delete mode 100644 libcommon/common/config-vc.h delete mode 100644 libcommon/common/config.h.in delete mode 100644 libcommon/common/config.hxx delete mode 100644 libcommon/common/export.hxx delete mode 100644 libcommon/common/libcommon-vc10.vcxproj delete mode 100644 libcommon/common/libcommon-vc10.vcxproj.filters delete mode 100644 libcommon/common/libcommon-vc11.vcxproj delete mode 100644 libcommon/common/libcommon-vc11.vcxproj.filters delete mode 100644 libcommon/common/libcommon-vc12.vcxproj delete mode 100644 libcommon/common/libcommon-vc12.vcxproj.filters delete mode 100644 libcommon/common/libcommon-vc8.vcproj delete mode 100644 libcommon/common/libcommon-vc9.vcproj delete mode 100644 libcommon/common/makefile create mode 100644 libcommon/concrete.hxx create mode 100644 libcommon/config.hxx.in create mode 100644 libcommon/export.hxx delete mode 100644 libcommon/makefile delete mode 100644 m4/acx-pthread.m4 delete mode 100644 m4/c++11.m4 delete mode 100644 m4/database.m4 delete mode 100644 m4/diff.m4 delete mode 100644 m4/libboost.m4 delete mode 100644 m4/libodb-boost.m4 delete mode 100644 m4/libodb-mssql.m4 delete mode 100644 m4/libodb-mysql.m4 delete mode 100644 m4/libodb-oracle.m4 delete mode 100644 m4/libodb-pgsql.m4 delete mode 100644 m4/libodb-qt.m4 delete mode 100644 m4/libodb-sqlite.m4 delete mode 100644 m4/libodb.m4 delete mode 100644 m4/libqt.m4 delete mode 100644 m4/libtool-link.m4 delete mode 100644 m4/mssql.m4 delete mode 100644 m4/mysql.m4 delete mode 100644 m4/odb.m4 delete mode 100644 m4/oracle.m4 delete mode 100644 m4/pgsql.m4 delete mode 100644 m4/sqlite.m4 delete mode 100644 m4/static-lib.m4 delete mode 100644 m4/threads.m4 delete mode 100644 m4/tr1-memory.m4 delete mode 100644 makefile create mode 100644 manifest delete mode 100644 mssql-driver.bat delete mode 100644 mssql.options delete mode 100644 mssql/Makefile.am delete mode 100644 mssql/custom/makefile delete mode 100644 mssql/custom/test.std delete mode 100644 mssql/database/makefile delete mode 100644 mssql/database/test.std delete mode 100644 mssql/makefile delete mode 100644 mssql/native/makefile delete mode 100644 mssql/native/test.std delete mode 100644 mssql/query/makefile delete mode 100644 mssql/query/test.std delete mode 100644 mssql/stored-proc/makefile delete mode 100644 mssql/stored-proc/test.std delete mode 100644 mssql/template/Makefile.am delete mode 100644 mssql/template/makefile delete mode 100644 mssql/template/test.std delete mode 100644 mssql/test.bat delete mode 100644 mssql/types/makefile delete mode 100644 mssql/types/test.std delete mode 100644 mysql-driver.bat create mode 100644 mysql-schema.testscript delete mode 100644 mysql.options create mode 100644 mysql.testscript delete mode 100644 mysql/Makefile.am create mode 100644 mysql/custom/buildfile delete mode 100644 mysql/custom/makefile delete mode 100644 mysql/custom/test.std create mode 100644 mysql/custom/testscript create mode 100644 mysql/database/buildfile delete mode 100644 mysql/database/makefile delete mode 100644 mysql/database/test.std create mode 100644 mysql/database/testscript create mode 100644 mysql/index/buildfile delete mode 100644 mysql/index/makefile delete mode 100644 mysql/index/test.std create mode 100644 mysql/index/testscript delete mode 100644 mysql/makefile create mode 100644 mysql/native/buildfile delete mode 100644 mysql/native/makefile delete mode 100644 mysql/native/test.std create mode 100644 mysql/native/testscript delete mode 100644 mysql/template/Makefile.am delete mode 100644 mysql/template/driver.cxx delete mode 100644 mysql/template/makefile delete mode 100644 mysql/template/template-vc10.vcxproj delete mode 100644 mysql/template/template-vc10.vcxproj.filters delete mode 100644 mysql/template/template-vc11.vcxproj delete mode 100644 mysql/template/template-vc11.vcxproj.filters delete mode 100644 mysql/template/template-vc12.vcxproj delete mode 100644 mysql/template/template-vc12.vcxproj.filters delete mode 100644 mysql/template/template-vc8.vcproj delete mode 100644 mysql/template/template-vc9.vcproj delete mode 100644 mysql/template/test.hxx delete mode 100644 mysql/template/test.std delete mode 100644 mysql/test.bat create mode 100644 mysql/truncation/buildfile delete mode 100644 mysql/truncation/makefile delete mode 100644 mysql/truncation/test.std create mode 100644 mysql/truncation/testscript create mode 100644 mysql/types/buildfile delete mode 100644 mysql/types/makefile delete mode 100644 mysql/types/test.std create mode 100644 mysql/types/testscript delete mode 100644 oracle-driver.bat delete mode 100644 oracle.options delete mode 100644 oracle/Makefile.am delete mode 100644 oracle/custom/makefile delete mode 100644 oracle/custom/test.std delete mode 100644 oracle/database/makefile delete mode 100644 oracle/database/test.std delete mode 100644 oracle/makefile delete mode 100644 oracle/native/makefile delete mode 100644 oracle/native/test.std delete mode 100644 oracle/template/Makefile.am delete mode 100644 oracle/template/makefile delete mode 100644 oracle/template/test.std delete mode 100644 oracle/test.bat delete mode 100644 oracle/types/makefile delete mode 100644 oracle/types/test.std delete mode 100644 pgsql-driver.bat create mode 100644 pgsql-schema.testscript delete mode 100644 pgsql.options create mode 100644 pgsql.testscript delete mode 100644 pgsql/Makefile.am create mode 100644 pgsql/buildfile create mode 100644 pgsql/bulk/buildfile delete mode 100644 pgsql/bulk/makefile delete mode 100644 pgsql/bulk/test.std create mode 100644 pgsql/bulk/testscript create mode 100644 pgsql/custom/buildfile delete mode 100644 pgsql/custom/makefile delete mode 100644 pgsql/custom/test.std create mode 100644 pgsql/custom/testscript create mode 100644 pgsql/database/buildfile delete mode 100644 pgsql/database/makefile delete mode 100644 pgsql/database/test.std create mode 100644 pgsql/database/testscript create mode 100644 pgsql/index/buildfile delete mode 100644 pgsql/index/makefile delete mode 100644 pgsql/index/test.std create mode 100644 pgsql/index/testscript delete mode 100644 pgsql/makefile create mode 100644 pgsql/native/buildfile delete mode 100644 pgsql/native/makefile delete mode 100644 pgsql/native/test.std create mode 100644 pgsql/native/testscript delete mode 100644 pgsql/savepoint/driver.cxx delete mode 100644 pgsql/savepoint/makefile delete mode 100644 pgsql/savepoint/test.hxx delete mode 100644 pgsql/savepoint/test.std delete mode 100644 pgsql/template/Makefile.am delete mode 100644 pgsql/template/driver.cxx delete mode 100644 pgsql/template/makefile delete mode 100644 pgsql/template/template-vc10.vcxproj delete mode 100644 pgsql/template/template-vc10.vcxproj.filters delete mode 100644 pgsql/template/template-vc11.vcxproj delete mode 100644 pgsql/template/template-vc11.vcxproj.filters delete mode 100644 pgsql/template/template-vc12.vcxproj delete mode 100644 pgsql/template/template-vc12.vcxproj.filters delete mode 100644 pgsql/template/template-vc8.vcproj delete mode 100644 pgsql/template/template-vc9.vcproj delete mode 100644 pgsql/template/test.hxx delete mode 100644 pgsql/template/test.std delete mode 100644 pgsql/test.bat create mode 100644 pgsql/truncation/buildfile delete mode 100644 pgsql/truncation/makefile delete mode 100644 pgsql/truncation/test.std create mode 100644 pgsql/truncation/testscript create mode 100644 pgsql/types/buildfile delete mode 100644 pgsql/types/makefile delete mode 100644 pgsql/types/test.std create mode 100644 pgsql/types/testscript delete mode 100644 qt/Makefile.am delete mode 100644 qt/build.bat delete mode 100644 qt/common/Makefile.am delete mode 100644 qt/common/basic/makefile delete mode 100644 qt/common/basic/test.std delete mode 100644 qt/common/containers/basics/makefile delete mode 100644 qt/common/containers/basics/test.std delete mode 100644 qt/common/containers/change-tracking/makefile delete mode 100644 qt/common/containers/change-tracking/test.std delete mode 100644 qt/common/makefile delete mode 100644 qt/common/smart-ptr/makefile delete mode 100644 qt/common/smart-ptr/test.std delete mode 100644 qt/common/template/Makefile.am delete mode 100644 qt/common/template/makefile delete mode 100644 qt/common/template/test.std delete mode 100644 qt/common/test.bat delete mode 100644 qt/makefile delete mode 100644 qt/mssql/Makefile.am delete mode 100644 qt/mssql/basic/makefile delete mode 100644 qt/mssql/basic/test.std delete mode 100644 qt/mssql/date-time/makefile delete mode 100644 qt/mssql/date-time/test.std delete mode 100644 qt/mssql/makefile delete mode 100644 qt/mssql/template/Makefile.am delete mode 100644 qt/mssql/template/makefile delete mode 100644 qt/mssql/template/test.std delete mode 100644 qt/mssql/test.bat delete mode 100644 qt/mysql/Makefile.am delete mode 100644 qt/mysql/basic/makefile delete mode 100644 qt/mysql/basic/test.std delete mode 100644 qt/mysql/date-time/makefile delete mode 100644 qt/mysql/date-time/test.std delete mode 100644 qt/mysql/makefile delete mode 100644 qt/mysql/template/Makefile.am delete mode 100644 qt/mysql/template/makefile delete mode 100644 qt/mysql/template/test.std delete mode 100644 qt/mysql/test.bat delete mode 100644 qt/oracle/Makefile.am delete mode 100644 qt/oracle/basic/makefile delete mode 100644 qt/oracle/basic/test.std delete mode 100644 qt/oracle/date-time/makefile delete mode 100644 qt/oracle/date-time/test.std delete mode 100644 qt/oracle/makefile delete mode 100644 qt/oracle/template/Makefile.am delete mode 100644 qt/oracle/template/makefile delete mode 100644 qt/oracle/template/test.std delete mode 100644 qt/oracle/test.bat delete mode 100644 qt/pgsql/Makefile.am delete mode 100644 qt/pgsql/basic/makefile delete mode 100644 qt/pgsql/basic/test.std delete mode 100644 qt/pgsql/date-time/makefile delete mode 100644 qt/pgsql/date-time/test.std delete mode 100644 qt/pgsql/makefile delete mode 100644 qt/pgsql/template/Makefile.am delete mode 100644 qt/pgsql/template/makefile delete mode 100644 qt/pgsql/template/test.std delete mode 100644 qt/pgsql/test.bat delete mode 100644 qt/sqlite/Makefile.am delete mode 100644 qt/sqlite/basic/makefile delete mode 100644 qt/sqlite/basic/test.std delete mode 100644 qt/sqlite/date-time/makefile delete mode 100644 qt/sqlite/date-time/test.std delete mode 100644 qt/sqlite/makefile delete mode 100644 qt/sqlite/template/Makefile.am delete mode 100644 qt/sqlite/template/makefile delete mode 100644 qt/sqlite/template/test.std delete mode 100644 qt/sqlite/test.bat create mode 100644 repositories.manifest delete mode 100644 sqlite-driver.bat delete mode 100644 sqlite.options create mode 100644 sqlite.testscript delete mode 100644 sqlite/Makefile.am create mode 100644 sqlite/attach/buildfile delete mode 100644 sqlite/attach/makefile delete mode 100644 sqlite/attach/test.std create mode 100644 sqlite/attach/testscript create mode 100644 sqlite/auto/buildfile delete mode 100644 sqlite/auto/makefile delete mode 100644 sqlite/auto/test.std create mode 100644 sqlite/auto/testscript create mode 100644 sqlite/custom/buildfile delete mode 100644 sqlite/custom/makefile delete mode 100644 sqlite/custom/test.std create mode 100644 sqlite/custom/testscript create mode 100644 sqlite/database/buildfile delete mode 100644 sqlite/database/makefile delete mode 100644 sqlite/database/test.std create mode 100644 sqlite/database/testscript delete mode 100644 sqlite/makefile create mode 100644 sqlite/native/buildfile delete mode 100644 sqlite/native/makefile delete mode 100644 sqlite/native/test.std create mode 100644 sqlite/native/testscript create mode 100644 sqlite/stream/buildfile delete mode 100644 sqlite/stream/makefile delete mode 100644 sqlite/stream/test.std create mode 100644 sqlite/stream/testscript delete mode 100644 sqlite/template/Makefile.am delete mode 100644 sqlite/template/driver.cxx delete mode 100644 sqlite/template/makefile delete mode 100644 sqlite/template/template-vc10.vcxproj delete mode 100644 sqlite/template/template-vc10.vcxproj.filters delete mode 100644 sqlite/template/template-vc11.vcxproj delete mode 100644 sqlite/template/template-vc11.vcxproj.filters delete mode 100644 sqlite/template/template-vc12.vcxproj delete mode 100644 sqlite/template/template-vc12.vcxproj.filters delete mode 100644 sqlite/template/template-vc8.vcproj delete mode 100644 sqlite/template/template-vc9.vcproj delete mode 100644 sqlite/template/test.hxx delete mode 100644 sqlite/template/test.std delete mode 100644 sqlite/test.bat create mode 100644 sqlite/transaction/buildfile delete mode 100644 sqlite/transaction/makefile delete mode 100644 sqlite/transaction/test.std create mode 100644 sqlite/transaction/testscript create mode 100644 sqlite/truncation/buildfile delete mode 100644 sqlite/truncation/makefile delete mode 100644 sqlite/truncation/test.std create mode 100644 sqlite/truncation/testscript create mode 100644 sqlite/types/buildfile delete mode 100644 sqlite/types/makefile delete mode 100644 sqlite/types/test.std create mode 100644 sqlite/types/testscript delete mode 100644 template-vc10.sln delete mode 100644 template-vc11.sln delete mode 100644 template-vc12.sln delete mode 100644 template-vc8.sln delete mode 100644 template-vc9.sln delete mode 100644 test.bat delete mode 100644 tester.bat delete mode 100755 tester.in delete mode 100644 version diff --git a/.gitignore b/.gitignore index 405cbcc..e3bbf5b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,27 +1,41 @@ # Compiler/linker output. # +*.d +*.t +*.i +*.i.* +*.ii +*.ii.* *.o -*.o.d +*.obj +*.gcm +*.pcm +*.ifc *.so +*.dylib +*.dll *.a -*.l -*.l.cpp-options +*.lib +*.exp +*.pdb +*.ilk +*.exe +*.exe.dlls/ +*.exe.manifest +*.pc -# Test output +# Test executables. # -*.out +driver -# Generated documentation. +# ODB-generated files. # -*.pdf -*.ps +test-odb.?xx +test-odb-*.?xx +test.sql +test-*.sql -# Generated build system files. +# Testscript output directories (can be symlinks). # -*-dynamic.make -build/*.options -build/*-driver - -# Generated .gitignore files. -# -.gitignore +test +test-driver diff --git a/INSTALL b/INSTALL deleted file mode 100644 index c0f6c60..0000000 --- a/INSTALL +++ /dev/null @@ -1,215 +0,0 @@ -In this document we use to refer to the name of the database -system you would like to use. Valid values for are: - - 'mysql' - The MySQL database system - 'sqlite' - The SQLite database system - 'pgsql' - The PostgreSQL database system - 'oracle' - The Oracle database system - 'mssql' - The Microsoft SQL Server database system - -Prerequisites -============= - -Required: - - odb http://www.codesynthesis.com/products/odb/ - - libodb http://www.codesynthesis.com/products/odb/ - - libodb- http://www.codesynthesis.com/products/odb/ - -Optional: - - libodb-boost http://www.codesynthesis.com/products/odb/ - - Boost http://www.boost.org - - libodb-qt http://www.codesynthesis.com/products/odb/ - - Qt http://qt.nokia.com - -Building on UNIX -================ - -The following build instructions are for the Linux/UNIX/Mac OS X -operating systems as well as for Cygwin and MinGW on Windows. - -The standard autotools-based build system is used on these platforms. -After unpacking the source code archive, change to the odb-tests -package directory (referred to as odb-tests/ from now on) and run -the configure script, for example: - -./configure --with-database= - -To see the available configuration options run configure with --help: - -./configure --help - -The required --database option specifies the database system you would -like to use. - -The configure script expects the directory where the ODB compiler -binary is installed to be in the executable search path (the PATH -environment variable). If that's not the case, you can use the ODB -configure variable to specify the path to the ODB compiler, for -example: - -./configure ODB=/opt/odb/bin/odb - -If the ODB compiler is not installed and you would like to run it -from its build directory instead, you can use the --with-odb configure -option to specify the build directory, for example: - -./configure --with-odb=/tmp/odb - -The configure script also expects the libodb and libodb- headers -and libraries to be installed in a directory where the C++ compiler and -linker will search for them by default (normally /usr and /usr/local). -If these libraries are installed in other directories, you can use the -CPPFLAGS and LDFLAGS configure variables to specify their locations, for -example: - -./configure CPPFLAGS=-I/opt/libodb/include LDFLAGS=-L/opt/libodb/lib - -If these libraries are not installed and you would like to use their -build directories instead, you can use the --with-libodb, and ---with-libodb- configure options to specify their locations, -for example: - -./configure --with-libodb=/tmp/libodb - -If you would also like to build the boost profile tests, then the -configure script should be able to find headers and libraries for -libodb-boost and Boost. Similarly, if you would like to build the qt -profile tests, then the configure script should be able to find headers -and libraries for libodb-qt and Qt. The same mechanisms as described -above can be used to specify locations of these libraries if they -cannot be discovered automatically. - -For each value the configure script has a set of options in -the form --with--* that allow you to specify various database -system parameters, such as the login name, password, and database name, -that should be used when running the tests. Run configure with --help -to see the available options for your database. - -As another example, the following configure command uses the specified -C++ compiler and compiles with optimization and without debug information: - -./configure CXX=g++-4.5 CXXFLAGS=-O3 - -If you would like to build the tests in the C++11 mode, then you will need -to pass the necessary options to turn the C++ compiler into this mode. For -example: - -./configure CXXFLAGS=-std=c++0x - -Once configuration is complete, run make to build the tests: - -make - -Once the build is completed successfully you can run the tests using -the check target: - -make check - - -Building on Windows -=================== - -The following build instructions are for Windows using Microsoft Visual -Studio. If you would like to build odb-tests with GCC either using -Cygwin or MinGW, refer to the "Building on UNIX" section above. - -The standard Visual Studio project and solution files are used on this -platform. The provided project files expect the directory where the ODB -compiler binary is installed to be in the executable search path (the -PATH environment variable). They also expect the libodb and -libodb- header and import library directories to be in the -VC++ Directories Include and Library search lists. See the INSTALL files -in the ODB library packages for more information on how to setup their -VC++ Directories. - -If you would also like to build the boost profile tests, then the header and -import library directories for libodb-boost and Boost must be in the VC++ -Directories Include and Library search lists. Similarly, if you would like -to build the qt profile tests, then the header and import library -directories for libodb-qt and Qt must be in the VC++ Directories Include -and Library search lists. See the INSTALL files in the ODB library packages -for more information on how to setup their VC++ Directories. For Boost and -Qt, refer to their documentation. - -There are two ways to build the tests with Visual Studio. After unpacking -the source code archive, you can manually open solution files located in -the libcommon\, common\, \, boost\common\, boost\\, -qt\common\, and qt\\ directories in the odb-tests package -directory (referred to as odb-tests\ from now on). In the libcommon\, -common\, boost\common\, and qt\common\ directories the solutions are -named in the form name--vc.sln. And in the \, -boost\\, and qt\\ directories they are named in -the form -vc.sln. Here is the version of Visual Studio -that you are using. Once each solution is open, select the desired build -configuration (Debug or Release) and platform (Win32 or x64) and build the -solution. Note that with Visual Studio 10 (2010) and later the tests are -built in the C++11 mode. - -Alternatively, you can use the build.bat batch files located in the -odb-tests\, odb-tests\boost\, and odb-tests\qt\ directories to build all -the solutions, for all the configurations and for all the platforms -automatically. The build.bat file has the following command line interface: - -build.bat [/Build|/Clean|/Rebuild] - -Where is the version of Visual Studio that you are using, is the -desired configuration (e.g., Debug or Release), and is the desired -platform (e.g., Win32 or x64). For and arguments you can -specify several configurations or platforms. You can also use the 'all' -value to build all configurations and/or all platforms. If no action is -specified, the default is /Build. - -Once the build is completed successfully, you can run all the tests using -the test.bat batch file located in the odb-tests\ directory. - -Before you can run test.bat, you may need to adjust the database system -parameters, such as the login name, password, and database name, that -should be used when running the tests. To do this, edit the -.options and -driver.bat files located in the -odb-tests\ directory. Once this is done, you can run the tests by -executing the following command from the command prompt: - -test.bat - - -Test Suite Configuration -======================== - -The test suite supports additional configuration via the following -preprocessor macros: - -HOST_WIN32 Specifies that the tests will run on Windows. This - macro is only needed when cross-compiling for Windows - using, for example, a cross-compiler to MinGW. - -MSSQL_SERVER_VERSION Specifies the SQL Server version that will be used to - run the tests. The version is specified as XXYY where - XX is the major and YY is the minor SQL Server versions, - for example, 900 (SQL Server 2005/9.0), 1000 (2008/10.0), - 1050 (2008R2/10.5), 1100 (2012/11.0). If this macro is - not defined, then the test suite assumes SQL Server 2008. - -To define any of these macros when building on UNIX operating systems you -can use the CPPFLAGS configure variable, for example: - -./configure CPPFLAGS=-DMSSQL_SERVER_VERSION=900 - -When building on Windows with Visual Studio the extra macros have to be -specified in two places: in the default.options ODB configuration file -(located in the odb-X.Y.Z-i686-windows\etc\odb\ directory) as well as -in the CL environment variable. For example, to specify the SQL Server -version add the following line to the default.options file: - --DMSSQL_SERVER_VERSION=900 - -As well as set the CL environment variable before running the build.bat -batch file: - -SET CL=-DMSSQL_SERVER_VERSION=900 - -If you are using the Visual Studio IDE to build the tests, then you will -need to start the IDE from a command prompt after setting the CL variable, -for example: - -SET CL=-DMSSQL_SERVER_VERSION=900 -C:\Program Files (x86)\Microsoft Visual Studio \Common7\IDE\devenv.com diff --git a/INSTALL-GIT b/INSTALL-GIT deleted file mode 100644 index f917af5..0000000 --- a/INSTALL-GIT +++ /dev/null @@ -1,78 +0,0 @@ -The following instructions describe how to work with the source code that was -checked out from the git repository. - -The major difference between using a released source code package and source -code from the repository is that the former does not contain autotools-based -makefiles or Visual Studio project files. Instead, it contains templates for -these files as well as its own, custom build system. This build system is -used for development as well as to automatically generate the autotools and -Visual Studio files. - -This file describes how to use this build system to build the package as well -as to create a release-ready source distribution which contains the autotools -build system and Visual Studio project files. - - -Prerequisites -============= - -Besides the prerequisites listed in the INSTALL file, you will need the -following additional packages: - - - GNU bash >= 2.0.0 http://www.gnu.org/software/bash/ - - GNU make >= 3.81 http://www.gnu.org/software/make/ - - build >= latest http://www.codesynthesis.com/projects/build/ - -If you are planning to create the source code distributions, then you will -also need the following packages: - - - GNU m4 >= 1.4.0 http://www.gnu.org/software/m4/ - - GNU sed >= 4.0.0 http://www.gnu.org/software/sed/ - - tofrodos >= 1.7.0 http://www.thefreecountry.com/tofrodos/ - -As we as the GNU autotools: - - - GNU libtool >= 2.2.6b http://www.gnu.org/software/libtool/ - - GNU autoconf >= 2.67 http://www.gnu.org/software/autoconf/ - - GNU automake >= 1.11.1 http://www.gnu.org/software/automake/ - -Any reasonably up to date GNU/Linux installation would normally have all of -the above packages already present, except for build and maybe tofrodos. - - -Configuring and Building -======================== - -To build the source code simply run make in the root directory of the package. -The first time you run make, the build process will also configure the -package by asking you several questions. On the subsequent runs, make will -only rebuild what has changed. - -To run the automated test suite (if any), run 'make test'. To clean the object -files, executables, etc., run 'make clean'. To de-configure the package (that -is, to remove configuration files in addition to objects, executables, etc.), -run 'make disfigure'. - - -Creating Distribution -===================== - -To create the source code distribution, use the dist make target as well as -the dist_prefix variable to specify the directory where the distribution files -should be placed. For example: - -make dist dist_prefix=/tmp/package-1.1.0 - -Once the distribution files are ready, change to the distribution directory -and run the bootstrap script to bootstrap the autotools build system, for -example: - -cd /tmp/package-1.1.0 -./bootsrap - -To create the source code archives, use the autotools build system. First -configuring the package (see the INSTALL file for more information on this -step) and then use the dist target to make the archives, for example: - -./configure -make dist diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index 46105dc..0000000 --- a/Makefile.am +++ /dev/null @@ -1,35 +0,0 @@ -# file : Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = libcommon common evolution - -if ODB_TESTS_BOOST -SUBDIRS += boost -endif - -if ODB_TESTS_QT -SUBDIRS += qt -endif - -if DATABASE_MYSQL -SUBDIRS += mysql -endif - -if DATABASE_SQLITE -SUBDIRS += sqlite -endif - -if DATABASE_PGSQL -SUBDIRS += pgsql -endif - -if DATABASE_ORACLE -SUBDIRS += oracle -endif - -if DATABASE_MSSQL -SUBDIRS += mssql -endif - -EXTRA_DIST = __file__(extra_dist) -ACLOCAL_AMFLAGS = -I m4 diff --git a/README b/README deleted file mode 100644 index b6705b9..0000000 --- a/README +++ /dev/null @@ -1,18 +0,0 @@ -ODB is an object-relational mapping (ORM) system for C++. It provides -tools, APIs, and library support that allow you to persist C++ objects -to a relational database (RDBMS) without having to deal with tables, -columns, or SQL and without manually writing any of the mapping code. -For more information see: - -http://www.codesynthesis.com/products/odb/ - -This package contains the ODB test suite. - -See the NEWS file for the user-visible changes from the previous release. - -See the LICENSE file for distribution conditions. - -See the INSTALL file for prerequisites and installation instructions. - -Send questions, bug reports, or any other feedback to the -odb-users@codesynthesis.com mailing list. diff --git a/README.md b/README.md new file mode 100644 index 0000000..24d3bf7 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# odb-tests - tests for ODB compiler + +This package contains tests for `odb`, object-relational mapping (ORM) +compiler for C++. diff --git a/boost/Makefile.am b/boost/Makefile.am deleted file mode 100644 index 05f9523..0000000 --- a/boost/Makefile.am +++ /dev/null @@ -1,26 +0,0 @@ -# file : boost/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = common - -if DATABASE_MYSQL -SUBDIRS += mysql -endif - -if DATABASE_SQLITE -SUBDIRS += sqlite -endif - -if DATABASE_PGSQL -SUBDIRS += pgsql -endif - -if DATABASE_ORACLE -SUBDIRS += oracle -endif - -if DATABASE_MSSQL -SUBDIRS += mssql -endif - -EXTRA_DIST = __file__(extra_dist) diff --git a/boost/build.bat b/boost/build.bat deleted file mode 100644 index 7371b1a..0000000 --- a/boost/build.bat +++ /dev/null @@ -1,116 +0,0 @@ -@echo off -rem file : boost/build.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -rem -rem Build Boost tests using the VC++ batch mode compilation. -rem -rem build.bat database vc-version conf plat [/Build|/Clean|/Rebuild] -rem -rem conf: {Debug,Release}|all -rem plat: {Win32,x64}|all -rem - -setlocal - -if "_%1_" == "__" ( - echo no database specified - goto usage -) - -if "_%2_" == "__" ( - echo no VC++ version specified - goto usage -) - -if "_%~3_" == "__" ( - echo no configuration specified - goto usage -) - -if "_%~4_" == "__" ( - echo no platform specified - goto usage -) - -set "failed=" - -if "_%2_" == "_8_" set "vcver=8" -if "_%2_" == "_9_" set "vcver=9" -if "_%2_" == "_10_" set "vcver=10" -if "_%2_" == "_11_" set "vcver=11" -if "_%2_" == "_12_" set "vcver=12" - -if "_%vcver%_" == "__" ( - echo unknown VC++ version %2 - goto usage -) - -set "confs=%~3" -set "plats=%~4" - -if "_%confs%_" == "_all_" set "confs=__path__(configurations)" -if "_%plats%_" == "_all_" set "plats=__path__(platforms)" - -set "action=%5" -if "_%action%_" == "__" set "action=/Build" - -set "devenv=%DEVENV%" -if "_%devenv%_" == "__" set "devenv=devenv.com" - -goto start - -rem -rem %1 - solution name -rem %2 - configuration to build -rem %3 - platform to build -rem -:run_build - echo. - echo building boost/%1 %3 %2 - "%devenv%" %1 %action% "%2|%3" 2>&1 - if errorlevel 1 set "failed=%failed% boost/%1\%3\%2" -goto :eof - -:start - -for %%d in (%1) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_build %%d/boost-%%d-vc%vcver%.sln %%c %%p - ) - ) -) - -for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_build common/boost-common-%1-vc%vcver%.sln %%c %%p - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL BUILDS SUCCEEDED -echo. -goto end - -:usage -echo. -echo usage: build.bat database vc-version conf plat [action] -echo valid configurations are: {Debug,Release}|all -echo valid platforms are: {Win32,x64}|all -echo valid actions are: /Build (default), /Clean, and /Rebuild -echo. - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/boost/common/Makefile.am b/boost/common/Makefile.am deleted file mode 100644 index 83f99ea..0000000 --- a/boost/common/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : boost/common/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/boost/common/makefile b/boost/common/makefile deleted file mode 100644 index 5d92e2d..0000000 --- a/boost/common/makefile +++ /dev/null @@ -1,54 +0,0 @@ -# file : boost/common/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -tests := \ -multi-index \ -optional \ -smart-ptr \ -template \ -unordered \ -uuid - -all_tests := $(tests) -build_tests := $(tests) - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_tests))) - -name := boost-common -$(dist): name := $(name) -$(dist): export dirs := $(tests) -$(dist): export extra_dist := test.bat $(call vc8slns,$(name)) \ -$(call vc9slns,$(name)) $(call vc10slns,$(name)) $(call vc11slns,$(name)) \ -$(call vc12slns,$(name)) -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_tests))) - $(call meta-automake) - $(call meta-vc8slns,$(name)) - $(call meta-vc9slns,$(name)) - $(call meta-vc10slns,$(name)) - $(call meta-vc11slns,$(name)) - $(call meta-vc12slns,$(name)) - $(call meta-vctest,$(name)-mysql-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(build_tests))) - -ifeq ($(db_id),common) -$(foreach d,$(databases),$(eval $(call db-test-dir,$d,$(tests)))) -endif - -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(all_tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -ifneq ($(filter $(MAKECMDGOALS),dist clean),) -$(foreach t,$(all_tests),$(call import,$(src_base)/$t/makefile)) -else -$(foreach t,$(build_tests),$(call import,$(src_base)/$t/makefile)) -endif diff --git a/boost/common/multi-index/makefile b/boost/common/multi-index/makefile deleted file mode 100644 index 8ac84f1..0000000 --- a/boost/common/multi-index/makefile +++ /dev/null @@ -1,127 +0,0 @@ -# file : boost/common/multi-index/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---profile boost/multi-index --table-prefix boost_multi_index_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/boost/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/common/multi-index/test.std b/boost/common/multi-index/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/common/optional/makefile b/boost/common/optional/makefile deleted file mode 100644 index 4928bd3..0000000 --- a/boost/common/optional/makefile +++ /dev/null @@ -1,127 +0,0 @@ -# file : boost/common/optional/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---profile boost/optional --table-prefix boost_optional_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/boost/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/common/optional/test.std b/boost/common/optional/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/common/smart-ptr/makefile b/boost/common/smart-ptr/makefile deleted file mode 100644 index 14172dc..0000000 --- a/boost/common/smart-ptr/makefile +++ /dev/null @@ -1,127 +0,0 @@ -# file : boost/common/smart-ptr/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-session \ ---profile boost/smart-ptr --table-prefix boost_smart_ptr_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/boost/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/common/smart-ptr/test.std b/boost/common/smart-ptr/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/common/template/Makefile.am b/boost/common/template/Makefile.am deleted file mode 100644 index 8f76465..0000000 --- a/boost/common/template/Makefile.am +++ /dev/null @@ -1,31 +0,0 @@ -# file : boost/common/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) --database @database@ __value__(odb_options) $< diff --git a/boost/common/template/makefile b/boost/common/template/makefile deleted file mode 100644 index ca43223..0000000 --- a/boost/common/template/makefile +++ /dev/null @@ -1,127 +0,0 @@ -# file : boost/common/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---profile boost/version --table-prefix boost_template_ #@@ CHANGE prefix, profile -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/boost/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/common/template/test.std b/boost/common/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/common/test.bat b/boost/common/test.bat deleted file mode 100644 index 1e61950..0000000 --- a/boost/common/test.bat +++ /dev/null @@ -1,79 +0,0 @@ -@echo off -rem file : boost/common/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\..\.." -set "failed=" - -if "_%1_" == "__" ( - echo no database specified - goto usage -) - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem %4 - database -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat %4 %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p %1 - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:usage -echo. -echo usage: test.bat database -echo. - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/boost/common/unordered/makefile b/boost/common/unordered/makefile deleted file mode 100644 index 57b9dd5..0000000 --- a/boost/common/unordered/makefile +++ /dev/null @@ -1,127 +0,0 @@ -# file : boost/common/unordered/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---profile boost/unordered --table-prefix boost_unordered_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/boost/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/common/unordered/test.std b/boost/common/unordered/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/common/uuid/makefile b/boost/common/uuid/makefile deleted file mode 100644 index ec683a5..0000000 --- a/boost/common/uuid/makefile +++ /dev/null @@ -1,127 +0,0 @@ -# file : boost/common/uuid/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---profile boost/uuid --table-prefix boost_uuid_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/boost/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/common/uuid/test.std b/boost/common/uuid/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/makefile b/boost/makefile deleted file mode 100644 index 0aa6ef2..0000000 --- a/boost/makefile +++ /dev/null @@ -1,38 +0,0 @@ -# file : boost/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make - -all_dirs := common mysql sqlite pgsql oracle mssql -dirs := common - -# Database-specific tests are not run in the multi-database configuration. -# -ifneq ($(db_id),common) -dirs += $(db_id) -endif - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(dirs))) - -$(dist): export extra_dist := build.bat -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_dirs))) - $(call meta-vctest,common/boost-common-mysql-vc10.sln,build.bat) - $(call meta-automake) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(dirs))) - -ifeq ($(db_id),common) -$(foreach d,$(databases),$(eval $(call db-test-dir,$d,$(dirs)))) -endif - -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(all_dirs))) - -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -ifneq ($(filter $(MAKECMDGOALS),dist clean),) -$(foreach d,$(all_dirs),$(call import,$(src_base)/$d/makefile)) -else -$(foreach d,$(dirs),$(call import,$(src_base)/$d/makefile)) -endif diff --git a/boost/mssql/Makefile.am b/boost/mssql/Makefile.am deleted file mode 100644 index 65c21d7..0000000 --- a/boost/mssql/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : boost/mssql/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/boost/mssql/date-time/makefile b/boost/mssql/date-time/makefile deleted file mode 100644 index 6857309..0000000 --- a/boost/mssql/date-time/makefile +++ /dev/null @@ -1,122 +0,0 @@ -# file : boost/mssql/date-time/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/date-time/stub.make,\ - l: boost_date_time.l) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) $(boost_date_time.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mssql \ ---profile boost/date-time --generate-schema \ ---table-prefix boost_mssql_dt_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/boost/mssql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/mssql/date-time/test.std b/boost/mssql/date-time/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/mssql/makefile b/boost/mssql/makefile deleted file mode 100644 index 6a37a2f..0000000 --- a/boost/mssql/makefile +++ /dev/null @@ -1,36 +0,0 @@ -# file : boost/mssql/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -tests := \ -date-time \ -template - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) - -$(dist): name := boost-mssql -$(dist): export dirs := $(tests) -$(dist): export extra_dist := $(name)-vc8.sln $(name)-vc9.sln \ -$(name)-vc10.sln $(name)-vc11.sln $(name)-vc12.sln test.bat -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests))) - $(call meta-automake) - $(call meta-vc8sln1,$(name)) - $(call meta-vc9sln1,$(name)) - $(call meta-vc10sln1,$(name)) - $(call meta-vc11sln1,$(name)) - $(call meta-vc12sln1,$(name)) - $(call meta-vctest,$(name)-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/boost/mssql/template/Makefile.am b/boost/mssql/template/Makefile.am deleted file mode 100644 index 3dc2977..0000000 --- a/boost/mssql/template/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# file : boost/mssql/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< -) diff --git a/boost/mssql/template/makefile b/boost/mssql/template/makefile deleted file mode 100644 index d729ffd..0000000 --- a/boost/mssql/template/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : boost/mssql/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mssql --profile boost \ ---generate-schema --table-prefix boost_mssql_template_ #@@ CHANGE THIS -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/boost/mssql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/mssql/template/test.std b/boost/mssql/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/mssql/test.bat b/boost/mssql/test.bat deleted file mode 100644 index 167cf55..0000000 --- a/boost/mssql/test.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -rem file : boost/mssql/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\..\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat mssql %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/boost/mysql/Makefile.am b/boost/mysql/Makefile.am deleted file mode 100644 index 2e51d4d..0000000 --- a/boost/mysql/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : boost/mysql/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/boost/mysql/date-time/makefile b/boost/mysql/date-time/makefile deleted file mode 100644 index 1e2f9df..0000000 --- a/boost/mysql/date-time/makefile +++ /dev/null @@ -1,121 +0,0 @@ -# file : boost/mysql/date-time/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/date-time/stub.make,\ - l: boost_date_time.l) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) $(boost_date_time.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mysql --generate-schema \ ---generate-query --profile boost/date-time --table-prefix boost_mysql_dt_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/boost/mysql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/mysql/date-time/test.std b/boost/mysql/date-time/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/mysql/makefile b/boost/mysql/makefile deleted file mode 100644 index 08fe245..0000000 --- a/boost/mysql/makefile +++ /dev/null @@ -1,36 +0,0 @@ -# file : boost/mysql/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -tests := \ -date-time \ -template - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) - -$(dist): name := boost-mysql -$(dist): export dirs := $(tests) -$(dist): export extra_dist := $(name)-vc8.sln $(name)-vc9.sln \ -$(name)-vc10.sln $(name)-vc11.sln $(name)-vc12.sln test.bat -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests))) - $(call meta-automake) - $(call meta-vc8sln1,$(name)) - $(call meta-vc9sln1,$(name)) - $(call meta-vc10sln1,$(name)) - $(call meta-vc11sln1,$(name)) - $(call meta-vc12sln1,$(name)) - $(call meta-vctest,$(name)-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/boost/mysql/template/Makefile.am b/boost/mysql/template/Makefile.am deleted file mode 100644 index 79d7ec5..0000000 --- a/boost/mysql/template/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# file : boost/mysql/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< -) diff --git a/boost/mysql/template/makefile b/boost/mysql/template/makefile deleted file mode 100644 index 085221c..0000000 --- a/boost/mysql/template/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : boost/mysql/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mysql --profile boost \ ---generate-schema --table-prefix boost_mysql_template_ #@@ CHANGE THIS -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/boost/mysql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/mysql/template/test.std b/boost/mysql/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/mysql/test.bat b/boost/mysql/test.bat deleted file mode 100644 index 610e538..0000000 --- a/boost/mysql/test.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -rem file : boost/mysql/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\..\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat mysql %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/boost/oracle/Makefile.am b/boost/oracle/Makefile.am deleted file mode 100644 index e485853..0000000 --- a/boost/oracle/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : boost/oracle/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/boost/oracle/date-time/makefile b/boost/oracle/date-time/makefile deleted file mode 100644 index 569c347..0000000 --- a/boost/oracle/date-time/makefile +++ /dev/null @@ -1,122 +0,0 @@ -# file : boost/oracle/date-time/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/date-time/stub.make,\ - l: boost_date_time.l) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) $(boost_date_time.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database oracle \ ---profile boost/date-time --generate-schema \ ---table-prefix boost_or_dt_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/boost/oracle/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/oracle/date-time/test.std b/boost/oracle/date-time/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/oracle/makefile b/boost/oracle/makefile deleted file mode 100644 index fa4a43d..0000000 --- a/boost/oracle/makefile +++ /dev/null @@ -1,36 +0,0 @@ -# file : boost/oracle/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -tests := \ -date-time \ -template - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) - -$(dist): name := boost-oracle -$(dist): export dirs := $(tests) -$(dist): export extra_dist := $(name)-vc8.sln $(name)-vc9.sln \ -$(name)-vc10.sln $(name)-vc11.sln $(name)-vc12.sln test.bat -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests))) - $(call meta-automake) - $(call meta-vc8sln1,$(name)) - $(call meta-vc9sln1,$(name)) - $(call meta-vc10sln1,$(name)) - $(call meta-vc11sln1,$(name)) - $(call meta-vc12sln1,$(name)) - $(call meta-vctest,$(name)-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/boost/oracle/template/Makefile.am b/boost/oracle/template/Makefile.am deleted file mode 100644 index a2a40fb..0000000 --- a/boost/oracle/template/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# file : boost/oracle/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< -) diff --git a/boost/oracle/template/makefile b/boost/oracle/template/makefile deleted file mode 100644 index cde118e..0000000 --- a/boost/oracle/template/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : boost/oracle/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database oracle --profile boost \ ---generate-schema --table-prefix boost_oracle_template_ #@@ CHANGE THIS -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/boost/oracle/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/oracle/template/test.std b/boost/oracle/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/oracle/test.bat b/boost/oracle/test.bat deleted file mode 100644 index 918708f..0000000 --- a/boost/oracle/test.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -rem file : boost/oracle/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\..\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat oracle %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/boost/pgsql/Makefile.am b/boost/pgsql/Makefile.am deleted file mode 100644 index 9e4072b..0000000 --- a/boost/pgsql/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : boost/pgsql/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/boost/pgsql/date-time/makefile b/boost/pgsql/date-time/makefile deleted file mode 100644 index 7ea0d50..0000000 --- a/boost/pgsql/date-time/makefile +++ /dev/null @@ -1,121 +0,0 @@ -# file : boost/pgsql/date-time/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/date-time/stub.make,\ - l: boost_date_time.l) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) $(boost_date_time.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database pgsql --profile boost/date-time \ ---generate-schema --table-prefix boost_pgsql_dt_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/boost/pgsql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/pgsql/date-time/test.std b/boost/pgsql/date-time/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/pgsql/makefile b/boost/pgsql/makefile deleted file mode 100644 index 264bfaa..0000000 --- a/boost/pgsql/makefile +++ /dev/null @@ -1,36 +0,0 @@ -# file : boost/pgsql/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -tests := \ -date-time \ -template - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) - -$(dist): name := boost-pgsql -$(dist): export dirs := $(tests) -$(dist): export extra_dist := $(name)-vc8.sln $(name)-vc9.sln \ -$(name)-vc10.sln $(name)-vc11.sln $(name)-vc12.sln test.bat -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests))) - $(call meta-automake) - $(call meta-vc8sln1,$(name)) - $(call meta-vc9sln1,$(name)) - $(call meta-vc10sln1,$(name)) - $(call meta-vc11sln1,$(name)) - $(call meta-vc12sln1,$(name)) - $(call meta-vctest,$(name)-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/boost/pgsql/template/Makefile.am b/boost/pgsql/template/Makefile.am deleted file mode 100644 index a1015c7..0000000 --- a/boost/pgsql/template/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# file : boost/pgsql/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< -) diff --git a/boost/pgsql/template/makefile b/boost/pgsql/template/makefile deleted file mode 100644 index 9d14647..0000000 --- a/boost/pgsql/template/makefile +++ /dev/null @@ -1,121 +0,0 @@ -# file : boost/pgsql/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/date-time/stub.make,\ - l: boost_date_time.l) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) $(boost_date_time.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database pgsql --profile boost \ ---generate-schema --table-prefix boost_pgsql_template_ #@@ CHANGE THIS -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/boost/pgsql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/pgsql/template/test.std b/boost/pgsql/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/pgsql/test.bat b/boost/pgsql/test.bat deleted file mode 100644 index 7db2c4a..0000000 --- a/boost/pgsql/test.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -rem file : boost/pgsql/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\..\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat pgsql %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/boost/sqlite/Makefile.am b/boost/sqlite/Makefile.am deleted file mode 100644 index e86ed43..0000000 --- a/boost/sqlite/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : boost/sqlite/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/boost/sqlite/date-time/makefile b/boost/sqlite/date-time/makefile deleted file mode 100644 index b780298..0000000 --- a/boost/sqlite/date-time/makefile +++ /dev/null @@ -1,121 +0,0 @@ -# file : boost/sqlite/date-time/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/date-time/stub.make,\ - l: boost_date_time.l) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) $(boost_date_time.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database sqlite --profile boost/date-time \ ---generate-schema --table-prefix boost_sqlite_dt_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/boost/sqlite/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/sqlite/date-time/test.std b/boost/sqlite/date-time/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/sqlite/makefile b/boost/sqlite/makefile deleted file mode 100644 index 159a92d..0000000 --- a/boost/sqlite/makefile +++ /dev/null @@ -1,36 +0,0 @@ -# file : boost/sqlite/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -tests := \ -date-time \ -template - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) - -$(dist): name := boost-sqlite -$(dist): export dirs := $(tests) -$(dist): export extra_dist := $(name)-vc8.sln $(name)-vc9.sln \ -$(name)-vc10.sln $(name)-vc11.sln $(name)-vc12.sln test.bat -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests))) - $(call meta-automake) - $(call meta-vc8sln1,$(name)) - $(call meta-vc9sln1,$(name)) - $(call meta-vc10sln1,$(name)) - $(call meta-vc11sln1,$(name)) - $(call meta-vc12sln1,$(name)) - $(call meta-vctest,$(name)-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/boost/sqlite/template/Makefile.am b/boost/sqlite/template/Makefile.am deleted file mode 100644 index 39b318f..0000000 --- a/boost/sqlite/template/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# file : boost/sqlite/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< -) diff --git a/boost/sqlite/template/makefile b/boost/sqlite/template/makefile deleted file mode 100644 index 3ebeda1..0000000 --- a/boost/sqlite/template/makefile +++ /dev/null @@ -1,121 +0,0 @@ -# file : boost/sqlite/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-boost/stub.make,\ - l: odb_boost.l,cpp-options: odb_boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/header-only/stub.make,\ - cpp-options: boost.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libboost/date-time/stub.make,\ - l: boost_date_time.l) - -# Build. -# -$(driver): $(cxx_obj) $(odb_boost.l) $(common.l) $(boost_date_time.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database sqlite --profile boost \ ---generate-schema --table-prefix boost_sqlite_template_ #@@ CHANGE THIS -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_boost.l.cpp-options) \ -$(boost.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/boost/sqlite/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/boost/sqlite/template/test.std b/boost/sqlite/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/boost/sqlite/test.bat b/boost/sqlite/test.bat deleted file mode 100644 index 57a7f5e..0000000 --- a/boost/sqlite/test.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -rem file : boost/sqlite/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\..\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat sqlite %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/bootstrap b/bootstrap deleted file mode 100755 index 85d1399..0000000 --- a/bootstrap +++ /dev/null @@ -1,16 +0,0 @@ -#! /bin/sh - -# file : bootstrap -# license : GNU GPL v2; see accompanying LICENSE file - -# -# Bootstrap the automake build system. -# - -rm -f config.cache - -if test ! -d m4; then - mkdir m4 -fi - -autoreconf --install diff --git a/build.bat b/build.bat deleted file mode 100644 index 1da0b91..0000000 --- a/build.bat +++ /dev/null @@ -1,128 +0,0 @@ -@echo off -rem file : build.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -rem -rem Build tests using the VC++ batch mode compilation. -rem -rem build.bat database vc-version conf plat [/Build|/Clean|/Rebuild] -rem -rem conf: {Debug,Release}|all -rem plat: {Win32,x64}|all -rem - -setlocal - -if "_%1_" == "__" ( - echo no database specified - goto usage -) - -if "_%2_" == "__" ( - echo no VC++ version specified - goto usage -) - -if "_%~3_" == "__" ( - echo no configuration specified - goto usage -) - -if "_%~4_" == "__" ( - echo no platform specified - goto usage -) - -set "failed=" - -if "_%2_" == "_8_" set "vcver=8" -if "_%2_" == "_9_" set "vcver=9" -if "_%2_" == "_10_" set "vcver=10" -if "_%2_" == "_11_" set "vcver=11" -if "_%2_" == "_12_" set "vcver=12" - -if "_%vcver%_" == "__" ( - echo unknown VC++ version %2 - goto usage -) - -set "confs=%~3" -set "plats=%~4" - -if "_%confs%_" == "_all_" set "confs=__path__(configurations)" -if "_%plats%_" == "_all_" set "plats=__path__(platforms)" - -set "action=%5" -if "_%action%_" == "__" set "action=/Build" - -set "devenv=%DEVENV%" -if "_%devenv%_" == "__" set "devenv=devenv.com" - -goto start - -rem -rem %1 - solution name -rem %2 - configuration to build -rem %3 - platform to build -rem -:run_build - echo. - echo building %1 %3 %2 - "%devenv%" %1 %action% "%2|%3" 2>&1 - if errorlevel 1 set "failed=%failed% %1\%3\%2" -goto :eof - -:start - -for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_build libcommon/libcommon-%1-vc%vcver%.sln %%c %%p - ) -) - -for %%d in (%1) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_build %%d/%%d-vc%vcver%.sln %%c %%p - ) - ) -) - -for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_build common/common-%1-vc%vcver%.sln %%c %%p - ) -) - -for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_build evolution/evolution-%1-vc%vcver%.sln %%c %%p - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL BUILDS SUCCEEDED -echo. -goto end - -:usage -echo. -echo usage: build.bat database vc-version conf plat [action] -echo valid configurations are: {Debug,Release}|all -echo valid platforms are: {Win32,x64}|all -echo valid actions are: /Build (default), /Clean, and /Rebuild -echo. - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/build/.gitignore b/build/.gitignore new file mode 100644 index 0000000..4a730a3 --- /dev/null +++ b/build/.gitignore @@ -0,0 +1,3 @@ +config.build +root/ +bootstrap/ diff --git a/build/bootstrap.build b/build/bootstrap.build new file mode 100644 index 0000000..2fb5824 --- /dev/null +++ b/build/bootstrap.build @@ -0,0 +1,9 @@ +# file : build/bootstrap.build +# license : GNU GPL v2; see accompanying LICENSE file + +project = odb-tests + +using version +using config +using dist +using test diff --git a/build/bootstrap.make b/build/bootstrap.make deleted file mode 100644 index 34d2933..0000000 --- a/build/bootstrap.make +++ /dev/null @@ -1,277 +0,0 @@ -# file : build/bootstrap.make -# license : GNU GPL v2; see accompanying LICENSE file - -project_name := odb-tests - -# First try to include the bundled bootstrap.make if it exist. If that -# fails, let make search for the external bootstrap.make. -# -build := build-0.3 - --include $(dir $(lastword $(MAKEFILE_LIST)))../../$(build)/bootstrap.make - -ifeq ($(patsubst %build/bootstrap.make,,$(lastword $(MAKEFILE_LIST))),) -include $(build)/bootstrap.make -endif - -# Configuration -# -$(call include,$(scf_root)/configuration.make) - -def_goal := $(.DEFAULT_GOAL) - -# Include C++ configuration. We need to know if we are using the generic -# C++ compiler in which case we need to compensate for missing dependency -# auto-generation (see below). -# -$(call include,$(bld_root)/cxx/configuration.make) - -# Databases. -# -databases := mysql sqlite pgsql oracle mssql -$(dist): databases := $(databases) - -# Aliases -# -default := $(out_base)/ -driver := $(out_base)/driver -test := $(out_base)/.test -dist := $(out_base)/.dist -clean := $(out_base)/.clean - -.PHONY: $(default) \ - $(test) \ - $(dist) \ - $(clean) - -ifeq ($(db_id),common) -define db-test-target -test_$1 := $$(out_base)/.test-$1 -.PHONY: $$(test_$1) -$$(test): $$(test_$1) - -endef -$(foreach d,$(databases),$(eval $(call db-test-target,$d))) - -define db-test-dir -$$(test_$1): $$(addprefix $$(out_base)/,$$(addsuffix /.test-$1,$2)) - -endef -endif - -ifdef %interactive% -.PHONY: test dist clean -test: $(test) -dist: $(dist) -clean: $(clean) - -ifeq ($(db_id),common) -define db-test-alias -.PHONY: test-$1 -test-$1: $$(test_$1) - -endef -$(foreach d,$(databases),$(eval $(call db-test-alias,$d))) -endif -endif - -# Return the list of ODB-generated files given a list of header files. -# -ifdef db_id -ifneq ($(db_id),common) -odb-gen = $(foreach f,$(1:.hxx=),$(addprefix $f,-odb.hxx -odb.ixx -odb.cxx .sql)) -else -odb-gen = $(foreach f,$(1:.hxx=),$(addprefix $f, -odb.hxx -odb.ixx -odb.cxx \ -$(foreach d,$(databases),-odb-$d.hxx -odb-$d.ixx -odb-$d.cxx -$d.sql))) -endif -endif - -# By default the ODB header is called test.hxx. -# -$(out_base)/.dist: export odb_header_stem := test - -# Database schema creation. -# -ifneq ($(db_id),sqlite) -$(out_base)/.test $(addprefix $(out_base)/.test-,$(databases)): schema-body = \ -$(call message,sql $$1,$(dcf_root)/$1-driver $$1,$2)$(literal_newline)$(literal_tab) - -ifneq ($(db_id),common) -$(out_base)/.test: schema = \ -$(foreach s,$(if $1,$1,$(out_base)/test.sql),$(call schema-body,$(db_id),$s))@: -else -define db-schema -$$(out_base)/.test-$1: schema-$1 = \ -$$(foreach s,$$(if $$1,$$(filter %-$1.sql,$$1),$$(out_base)/test-$1.sql),$$(call schema-body,$1,$$s))@: - -endef -$(foreach d,$(filter-out sqlite,$(databases)),$(eval $(call db-schema,$d))) -endif -endif - -# Test rule templates. -# - -# $1 database name in the multi-database mode and empty otherwise -# $2 optional test.std file suffix (e.g., '-mysql' for test-mysql.std) -# -define test-schemaless-rule -$$(test$(if $1,_$1)): $$(driver) $$(src_base)/test$2.std - $$(call message,test$(if $1, [$1]) $$<,$$< $1 --options-file \ -$$(dcf_root)/$(if $1,$1,$(db_id)).options >$$(out_base)/test.out) - $$(call message,,diff -u $$(src_base)/test$2.std $$(out_base)/test.out) - $$(call message,,rm -f $$(out_base)/test.out) - -endef - -# $1 database name in the multi-database mode and empty otherwise -# $2 optional list of schema files, by default test.sql -# $3 optional test.std file suffix (e.g., '-mysql' for test-mysql.std) -# -define test-rule -$$(test$(if $1,_$1)): $$(driver) $$(src_base)/test$3.std - $$(call schema$(if $1,-$1),$2) - $$(call message,test$(if $1, [$1]) $$<,$$< $1 --options-file \ -$$(dcf_root)/$(if $1,$1,$(db_id)).options >$$(out_base)/test.out) - $$(call message,,diff -u $$(src_base)/test$3.std $$(out_base)/test.out) - $$(call message,,rm -f $$(out_base)/test.out) - -endef - -# Dist setup. -# -ifneq ($(filter $(MAKECMDGOALS),dist),) - -# Make sure the distribution prefix is set if the goal is dist. -# -ifeq ($(dist_prefix),) -$(error dist_prefix is not set) -endif - -# $1 project template without the -vcN.vc[x]proj suffix. -# $2 project name without the -vcN.vc[x]proj suffix. -# -$(dist): meta-vc8projs = \ -$(foreach d,$(databases),$(call \ -meta-vc8proj,$1-vc8.vcproj,$(if $2,$2,$(notdir \ -$1))-$d-vc8.vcproj,database,$d)$(literal_newline)$(literal_tab))@: - -$(dist): meta-vc9projs = \ -$(foreach d,$(databases),$(call \ -meta-vc9proj,$1-vc9.vcproj,$(if $2,$2,$(notdir \ -$1))-$d-vc9.vcproj,database,$d)$(literal_newline)$(literal_tab))@: - -$(dist): meta-vc10projs = \ -$(foreach d,$(databases),$(call \ -meta-vc10proj,$1-vc10.vcxproj,$(if $2,$2,$(notdir \ -$1))-$d-vc10.vcxproj,database,$d)$(literal_newline)$(literal_tab))@: - -$(dist): meta-vc11projs = \ -$(foreach d,$(databases),$(call \ -meta-vc11proj,$1-vc11.vcxproj,$(if $2,$2,$(notdir \ -$1))-$d-vc11.vcxproj,database,$d)$(literal_newline)$(literal_tab))@: - -$(dist): meta-vc12projs = \ -$(foreach d,$(databases),$(call \ -meta-vc12proj,$1-vc12.vcxproj,$(if $2,$2,$(notdir \ -$1))-$d-vc12.vcxproj,database,$d)$(literal_newline)$(literal_tab))@: - -# $1 project name without the -vcN.vc[x]proj suffix. -# -vc8projs = $(addprefix $1-,$(addsuffix -vc8.vcproj,$(databases))) - -vc9projs = $(addprefix $1-,$(addsuffix -vc9.vcproj,$(databases))) - -vc10projs = $(addprefix $1-,$(addsuffix -vc10.vcxproj,$(databases))) \ -$(addprefix $1-,$(addsuffix -vc10.vcxproj.filters,$(databases))) - -vc11projs = $(addprefix $1-,$(addsuffix -vc11.vcxproj,$(databases))) \ -$(addprefix $1-,$(addsuffix -vc11.vcxproj.filters,$(databases))) - -vc12projs = $(addprefix $1-,$(addsuffix -vc12.vcxproj,$(databases))) \ -$(addprefix $1-,$(addsuffix -vc12.vcxproj.filters,$(databases))) - -# $1 solution name without the -vcN.sln suffix. -# $2 extra project suffix in addition to --vcN.vcproj (optional) -# -$(dist): meta-vc8sln1 = \ -$(call meta-vc8sln,$(src_root)/template-vc8.sln,$1-vc8.sln,$2-vc8.vcproj) - -$(dist): meta-vc8slns = \ -$(foreach d,$(databases),$(call \ -meta-vc8sln,$(src_root)/template-vc8.sln,$1-$d-vc8.sln,$2-$d-vc8.vcproj,database,$d)$(literal_newline)\ -$(literal_tab))@: - -$(dist): meta-vc9sln1 = \ -$(call meta-vc9sln,$(src_root)/template-vc9.sln,$1-vc9.sln,$2-vc9.vcproj) - -$(dist): meta-vc9slns = \ -$(foreach d,$(databases),$(call \ -meta-vc9sln,$(src_root)/template-vc9.sln,$1-$d-vc9.sln,$2-$d-vc9.vcproj,database,$d)$(literal_newline)\ -$(literal_tab))@: - -$(dist): meta-vc10sln1 = \ -$(call meta-vc10sln,$(src_root)/template-vc10.sln,$1-vc10.sln,$2-vc10.vcxproj) - -$(dist): meta-vc10slns = \ -$(foreach d,$(databases),$(call \ -meta-vc10sln,$(src_root)/template-vc10.sln,$1-$d-vc10.sln,$2-$d-vc10.vcxproj,database,$d)$(literal_newline)\ -$(literal_tab))@: - -$(dist): meta-vc11sln1 = \ -$(call meta-vc11sln,$(src_root)/template-vc11.sln,$1-vc11.sln,$2-vc11.vcxproj) - -$(dist): meta-vc11slns = \ -$(foreach d,$(databases),$(call \ -meta-vc11sln,$(src_root)/template-vc11.sln,$1-$d-vc11.sln,$2-$d-vc11.vcxproj,database,$d)$(literal_newline)\ -$(literal_tab))@: - -$(dist): meta-vc12sln1 = \ -$(call meta-vc12sln,$(src_root)/template-vc12.sln,$1-vc12.sln,$2-vc12.vcxproj) - -$(dist): meta-vc12slns = \ -$(foreach d,$(databases),$(call \ -meta-vc12sln,$(src_root)/template-vc12.sln,$1-$d-vc12.sln,$2-$d-vc12.vcxproj,database,$d)$(literal_newline)\ -$(literal_tab))@: - -vc8slns = $(addprefix $1-,$(addsuffix -vc8.sln,$(databases))) -vc9slns = $(addprefix $1-,$(addsuffix -vc9.sln,$(databases))) -vc10slns = $(addprefix $1-,$(addsuffix -vc10.sln,$(databases))) -vc11slns = $(addprefix $1-,$(addsuffix -vc11.sln,$(databases))) -vc12slns = $(addprefix $1-,$(addsuffix -vc12.sln,$(databases))) - -endif - -# If we don't have dependency auto-generation then we need to manually -# make sure that ODB files are generated before C++ file are compiler. -# To do this we make the object files ($2) depend in order-only on -# generated files ($3). -# -# Also make generated files depend on config.h so that we don't get -# annoying noise during dependency auto-generation. -# -ifeq ($(cxx_id),generic) - -define include-dep -$(if $2,$(eval $2: | $3)) \ -$(if $(and $3,$(subst $(out_root)/libcommon/common/config.h,,$3)),$(eval \ -$3: $(out_root)/libcommon/common/config.h)) -endef - -else - -define include-dep -$(if $(and $3,$(subst $(out_root)/libcommon/common/config.h,,$3)),$(eval \ -$3: $(out_root)/libcommon/common/config.h)) \ -$(call -include,$1) -endef - -endif - -# Don't include dependency info for certain targets. -# -ifneq ($(filter $(MAKECMDGOALS),clean disfigure dist),) -include-dep = -endif - -.DEFAULT_GOAL := $(def_goal) diff --git a/build/configuration-rules.make b/build/configuration-rules.make deleted file mode 100644 index ee464cd..0000000 --- a/build/configuration-rules.make +++ /dev/null @@ -1,18 +0,0 @@ -# file : build/configuration-rules.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/configuration-dynamic.make: | $(dcf_root)/. - $(call message,,$(scf_root)/configure $@) - -ifndef %foreign% - -disfigure:: - $(call message,rm $$1,rm -f $$1,$(dcf_root)/configuration-dynamic.make) - $(call message,rm $$1,rm -f $$1,$(dcf_root)/*.options) - $(call message,rm $$1,rm -f $$1,$(dcf_root)/*-driver) - -endif - -ifeq ($(.DEFAULT_GOAL),$(dcf_root)/configuration-dynamic.make) -.DEFAULT_GOAL := -endif diff --git a/build/configuration.make b/build/configuration.make deleted file mode 100644 index 9b6e0b8..0000000 --- a/build/configuration.make +++ /dev/null @@ -1,20 +0,0 @@ -# file : build/configuration.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/configuration-rules.make,$(dcf_root)) - -# Dynamic configuration. -# -db_id := - -$(call -include,$(dcf_root)/configuration-dynamic.make) - -ifdef db_id - -$(out_root)/%: db_id := $(db_id) - -else - -.NOTPARALLEL: - -endif diff --git a/build/configure b/build/configure deleted file mode 100755 index e421ec3..0000000 --- a/build/configure +++ /dev/null @@ -1,45 +0,0 @@ -#! /usr/bin/env bash - -# file : build/configure -# license : GNU GPL v2; see accompanying LICENSE file - -# $1 out file -# -# bld_root - build root -# project_name - project name -# - -source $bld_root/dialog.bash - -$echo -$echo -$echo "configuring '$project_name'" -$echo -$echo - -databases="mysql sqlite pgsql oracle mssql" - -$echo -$echo "Please select the database you would like to use:" -$echo -$echo "(1) MySQL" -$echo "(2) SQLite" -$echo "(3) PostgreSQL" -$echo "(4) Oracle" -$echo "(5) Microsoft SQL Server" -$echo "(6) Dynamic multi-database support (all above databases)" -$echo - -db_id=`read_option "$databases common"` - -echo "db_id := $db_id" >$1 - -if [ $db_id != "common" ]; then - source $scf_root/$db_id/configure -else - # For multi-database support we configure every database. - # - for db in $databases; do - source $scf_root/$db/configure - done -fi diff --git a/build/export.build b/build/export.build new file mode 100644 index 0000000..3c073d3 --- /dev/null +++ b/build/export.build @@ -0,0 +1,9 @@ +# file : build/export.build +# license : GNU GPL v2; see accompanying LICENSE file + +$out_root/ +{ + include libcommon/ +} + +export $out_root/libcommon/$import.target diff --git a/build/import/libboost/configuration-rules.make b/build/import/libboost/configuration-rules.make deleted file mode 100644 index dba014c..0000000 --- a/build/import/libboost/configuration-rules.make +++ /dev/null @@ -1,13 +0,0 @@ -# file : build/import/libboost/configuration-rules.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libboost/configuration-dynamic.make: | $(dcf_root)/import/libboost/. - $(call message,,$(scf_root)/import/libboost/configure $@) - -ifndef %foreign% - -disfigure:: - $(call message,rm $(dcf_root)/import/libboost/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/libboost/configuration-dynamic.make) - -endif diff --git a/build/import/libboost/configure b/build/import/libboost/configure deleted file mode 100755 index 84d03b2..0000000 --- a/build/import/libboost/configure +++ /dev/null @@ -1,72 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libboost/configure -# license : GNU GPL v2; see accompanying LICENSE file - - -# $1 - out config file -# -# bld_root - build root -# project_name - project name -# - -source $bld_root/dialog.bash - - -$echo -$echo "Configuring external dependency on 'boost libraries' for '$project_name'." -$echo - -$echo -$echo "Would you like to configure dependency on the installed version" -$echo "of 'boost libraries' as opposed to the development build?" -$echo - -installed=`read_y_n y` - -if [ "$installed" = "n" ]; then - - $echo - $echo "Please enter the 'boost' root directory." - $echo - - root=`read_path --directory --exist` - - $echo - $echo "Please select the library type you would like to use:" - $echo - $echo "(1) archive" - $echo "(2) shared object" - $echo - - type=`read_option "archive shared" "shared"` -fi - -$echo -$echo "Link explicitly to the boost system library? This library" -$echo "is available since boost 1.35.0 and linking to it explicitly" -$echo "may be required by newer linkers." -$echo - -link_system=`read_y_n y` - -$echo -$echo "Please enter optional suffix that may be embedded into the" -$echo "boost library names. For example, if your library names are in" -$echo "the libboost_regex-gcc41-mt-d.so form, then enter -gcc41-mt-d" -$echo "Otherwise leave this field blank." -$echo - -suffix= -read -e -p "[]: " suffix - -echo libboost_installed := $installed >$1 -echo libboost_suffix := $suffix >>$1 -echo libboost_system := $link_system >>$1 - -if [ "$installed" = "n" ]; then - - echo libboost_root := $root >>$1 - echo libboost_type := $type >>$1 - -fi diff --git a/build/import/libboost/date-time/rules.make b/build/import/libboost/date-time/rules.make deleted file mode 100644 index abc8819..0000000 --- a/build/import/libboost/date-time/rules.make +++ /dev/null @@ -1,49 +0,0 @@ -# file : build/import/libboost/date-time/rules.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libboost/%: root := $(libboost_root) - -$(dcf_root)/import/libboost/date-time/date-time.l: \ - | $(dcf_root)/import/libboost/date-time/. - -ifeq ($(libboost_type),archive) - -ifeq ($(libboost_system),y) -$(dcf_root)/import/libboost/date-time/date-time.l: \ - $(libboost_root)/stage/lib/libboost_date_time$(libboost_suffix).a \ - $(libboost_root)/stage/lib/libboost_system$(libboost_suffix).a -else -$(dcf_root)/import/libboost/date-time/date-time.l: \ - $(libboost_root)/stage/lib/libboost_date_time$(libboost_suffix).a -endif - @echo $^ >$@ - -else - -ifeq ($(libboost_system),y) -$(dcf_root)/import/libboost/date-time/date-time.l: \ - $(libboost_root)/stage/lib/libboost_date_time$(libboost_suffix).so \ - $(libboost_root)/stage/lib/libboost_system$(libboost_suffix).so -else -$(dcf_root)/import/libboost/date-time/date-time.l: \ - $(libboost_root)/stage/lib/libboost_date_time$(libboost_suffix).so -endif - @echo $^ >$@ - @echo rpath:$(root)/stage/lib >>$@ - -endif - - -$(dcf_root)/import/libboost/date-time/date-time.l.cpp-options: \ - | $(dcf_root)/import/libboost/date-time/. - @echo include: -I$(root) >$@ - -ifndef %foreign% - -disfigure:: - $(call message,rm $(dcf_root)/import/libboost/date-time/date-time.l,\ -rm -f $(dcf_root)/import/libboost/date-time/date-time.l) - $(call message,,\ -rm -f $(dcf_root)/import/libboost/date-time/date-time.l.cpp-options) - -endif diff --git a/build/import/libboost/date-time/stub.make b/build/import/libboost/date-time/stub.make deleted file mode 100644 index 6f3aad2..0000000 --- a/build/import/libboost/date-time/stub.make +++ /dev/null @@ -1,34 +0,0 @@ -# file : build/import/libboost/date-time/stub.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libboost/configuration-rules.make,$(dcf_root)) - -libboost_installed := - -$(call -include,$(dcf_root)/import/libboost/configuration-dynamic.make) - -ifdef libboost_installed - -ifeq ($(libboost_installed),y) - -ifeq ($(libboost_system),y) -$(call export,l: -lboost_date_time$(libboost_suffix) -lboost_system$(libboost_suffix),cpp_options: ) -else -$(call export,l: -lboost_date_time$(libboost_suffix),cpp_options: ) -endif - -else - -$(call include-once,$(scf_root)/import/libboost/date-time/rules.make,$(dcf_root)) - -$(call export,\ - l: $(dcf_root)/import/libboost/date-time/date-time.l,\ - cpp-options: $(dcf_root)/import/libboost/date-time/date-time.l.cpp-options) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/build/import/libboost/header-only/rules.make b/build/import/libboost/header-only/rules.make deleted file mode 100644 index b5b0726..0000000 --- a/build/import/libboost/header-only/rules.make +++ /dev/null @@ -1,16 +0,0 @@ -# file : build/import/libboost/header-only/rules.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libboost/%: root := $(libboost_root) - -$(dcf_root)/import/libboost/header-only/header-only.l.cpp-options: \ - | $(dcf_root)/import/libboost/header-only/. - @echo include: -I$(root) >$@ - -ifndef %foreign% - -disfigure:: - $(call message,rm $(dcf_root)/import/libboost/header-only/header-only.l,\ -rm -f $(dcf_root)/import/libboost/header-only/header-only.l.cpp-options) - -endif diff --git a/build/import/libboost/header-only/stub.make b/build/import/libboost/header-only/stub.make deleted file mode 100644 index eebddbf..0000000 --- a/build/import/libboost/header-only/stub.make +++ /dev/null @@ -1,26 +0,0 @@ -# file : build/import/libboost/header-only/stub.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libboost/configuration-rules.make,$(dcf_root)) - -libboost_installed := - -$(call -include,$(dcf_root)/import/libboost/configuration-dynamic.make) - -ifdef libboost_installed - -ifeq ($(libboost_installed),n) - -$(call include-once,$(scf_root)/import/libboost/header-only/rules.make,$(dcf_root)) - -$(call export,\ - l: ,\ - cpp-options: $(dcf_root)/import/libboost/header-only/header-only.l.cpp-options) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/build/import/libboost/version b/build/import/libboost/version deleted file mode 100644 index faef31a..0000000 --- a/build/import/libboost/version +++ /dev/null @@ -1 +0,0 @@ -0.7.0 diff --git a/build/import/libodb-boost/configuration-rules.make b/build/import/libodb-boost/configuration-rules.make deleted file mode 100644 index a347655..0000000 --- a/build/import/libodb-boost/configuration-rules.make +++ /dev/null @@ -1,13 +0,0 @@ -# file : build/import/libodb-boost/configuration-rules.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libodb-boost/configuration-dynamic.make: | $(dcf_root)/import/libodb-boost/. - $(call message,,$(scf_root)/import/libodb-boost/configure $@) - -ifndef %foreign% - -$(dcf_root)/.disfigure:: - $(call message,rm $(dcf_root)/import/libodb-boost/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/libodb-boost/configuration-dynamic.make) - -endif diff --git a/build/import/libodb-boost/configure b/build/import/libodb-boost/configure deleted file mode 100755 index 8330535..0000000 --- a/build/import/libodb-boost/configure +++ /dev/null @@ -1,53 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libodb-boost/configure -# license : GNU GPL v2; see accompanying LICENSE file - - -# $1 - out file -# -# bld_root - build root -# project_name - project name -# - -source $bld_root/dialog.bash - - -$echo -$echo "Configuring external dependency on 'libodb-boost' for '$project_name'." -$echo - -$echo -$echo "Would you like to configure dependency on the installed version" -$echo "of 'libodb-boost' as opposed to the development build?" -$echo - -installed=`read_y_n y` - -path= - -if [ "$installed" = "n" ]; then - -$echo -$echo "Please enter the src_root for 'libodb-boost'." -$echo - -src_root=`read_path --directory --exist` - -$echo -$echo "Please enter the out_root for 'libodb-boost'." -$echo - -out_root=`read_path --directory $src_root` - -fi - -echo libodb_boost_installed := $installed >$1 - -if [ "$installed" = "n" ]; then - -echo src_root := $src_root >>$1 -echo scf_root := \$\(src_root\)/build >>$1 -echo out_root := $out_root >>$1 - -fi diff --git a/build/import/libodb-boost/stub.make b/build/import/libodb-boost/stub.make deleted file mode 100644 index 73e80e6..0000000 --- a/build/import/libodb-boost/stub.make +++ /dev/null @@ -1,28 +0,0 @@ -# file : build/import/libodb-boost/stub.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libodb-boost/configuration-rules.make,$(dcf_root)) - -libodb_boost_installed := - -$(call -include,$(dcf_root)/import/libodb-boost/configuration-dynamic.make) - -ifdef libodb_boost_installed - -ifeq ($(libodb_boost_installed),y) - -$(call export,l: -lodb-boost -lodb,cpp-options: ) - -else - -# Include export stub. -# -$(call include,$(scf_root)/export/libodb-boost/stub.make) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/build/import/libodb-mssql/configuration-rules.make b/build/import/libodb-mssql/configuration-rules.make deleted file mode 100644 index 5fd58bc..0000000 --- a/build/import/libodb-mssql/configuration-rules.make +++ /dev/null @@ -1,13 +0,0 @@ -# file : build/import/libodb-mssql/configuration-rules.make -# license : ODB NCUEL; see accompanying LICENSE file - -$(dcf_root)/import/libodb-mssql/configuration-dynamic.make: | $(dcf_root)/import/libodb-mssql/. - $(call message,,$(scf_root)/import/libodb-mssql/configure $@) - -ifndef %foreign% - -$(dcf_root)/.disfigure:: - $(call message,rm $(dcf_root)/import/libodb-mssql/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/libodb-mssql/configuration-dynamic.make) - -endif diff --git a/build/import/libodb-mssql/configure b/build/import/libodb-mssql/configure deleted file mode 100755 index 5e2a28a..0000000 --- a/build/import/libodb-mssql/configure +++ /dev/null @@ -1,53 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libodb-mssql/configure -# license : ODB NCUEL; see accompanying LICENSE file - - -# $1 - out file -# -# bld_root - build root -# project_name - project name -# - -source $bld_root/dialog.bash - - -$echo -$echo "Configuring external dependency on 'libodb-mssql' for '$project_name'." -$echo - -$echo -$echo "Would you like to configure dependency on the installed version" -$echo "of 'libodb-mssql' as opposed to the development build?" -$echo - -installed=`read_y_n y` - -path= - -if [ "$installed" = "n" ]; then - -$echo -$echo "Please enter the src_root for 'libodb-mssql'." -$echo - -src_root=`read_path --directory --exist` - -$echo -$echo "Please enter the out_root for 'libodb-mssql'." -$echo - -out_root=`read_path --directory $src_root` - -fi - -echo libodb_mssql_installed := $installed >$1 - -if [ "$installed" = "n" ]; then - -echo src_root := $src_root >>$1 -echo scf_root := \$\(src_root\)/build >>$1 -echo out_root := $out_root >>$1 - -fi diff --git a/build/import/libodb-mssql/stub.make b/build/import/libodb-mssql/stub.make deleted file mode 100644 index eebf11a..0000000 --- a/build/import/libodb-mssql/stub.make +++ /dev/null @@ -1,28 +0,0 @@ -# file : build/import/libodb-mssql/stub.make -# license : ODB NCUEL; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libodb-mssql/configuration-rules.make,$(dcf_root)) - -libodb_mssql_installed := - -$(call -include,$(dcf_root)/import/libodb-mssql/configuration-dynamic.make) - -ifdef libodb_mssql_installed - -ifeq ($(libodb_mssql_installed),y) - -$(call export,l: -lodb-mssql -lodb -lodbc,cpp-options: ) - -else - -# Include export stub. -# -$(call include,$(scf_root)/export/libodb-mssql/stub.make) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/build/import/libodb-mysql/configuration-rules.make b/build/import/libodb-mysql/configuration-rules.make deleted file mode 100644 index 384d3d4..0000000 --- a/build/import/libodb-mysql/configuration-rules.make +++ /dev/null @@ -1,13 +0,0 @@ -# file : build/import/libodb-mysql/configuration-rules.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libodb-mysql/configuration-dynamic.make: | $(dcf_root)/import/libodb-mysql/. - $(call message,,$(scf_root)/import/libodb-mysql/configure $@) - -ifndef %foreign% - -$(dcf_root)/.disfigure:: - $(call message,rm $(dcf_root)/import/libodb-mysql/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/libodb-mysql/configuration-dynamic.make) - -endif diff --git a/build/import/libodb-mysql/configure b/build/import/libodb-mysql/configure deleted file mode 100755 index 2a1fa8d..0000000 --- a/build/import/libodb-mysql/configure +++ /dev/null @@ -1,53 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libodb-mysql/configure -# license : GNU GPL v2; see accompanying LICENSE file - - -# $1 - out file -# -# bld_root - build root -# project_name - project name -# - -source $bld_root/dialog.bash - - -$echo -$echo "Configuring external dependency on 'libodb-mysql' for '$project_name'." -$echo - -$echo -$echo "Would you like to configure dependency on the installed version" -$echo "of 'libodb-mysql' as opposed to the development build?" -$echo - -installed=`read_y_n y` - -path= - -if [ "$installed" = "n" ]; then - -$echo -$echo "Please enter the src_root for 'libodb-mysql'." -$echo - -src_root=`read_path --directory --exist` - -$echo -$echo "Please enter the out_root for 'libodb-mysql'." -$echo - -out_root=`read_path --directory $src_root` - -fi - -echo libodb_mysql_installed := $installed >$1 - -if [ "$installed" = "n" ]; then - -echo src_root := $src_root >>$1 -echo scf_root := \$\(src_root\)/build >>$1 -echo out_root := $out_root >>$1 - -fi diff --git a/build/import/libodb-mysql/stub.make b/build/import/libodb-mysql/stub.make deleted file mode 100644 index 1b1ecbb..0000000 --- a/build/import/libodb-mysql/stub.make +++ /dev/null @@ -1,28 +0,0 @@ -# file : build/import/libodb-mysql/stub.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libodb-mysql/configuration-rules.make,$(dcf_root)) - -libodb_mysql_installed := - -$(call -include,$(dcf_root)/import/libodb-mysql/configuration-dynamic.make) - -ifdef libodb_mysql_installed - -ifeq ($(libodb_mysql_installed),y) - -$(call export,l: -lodb-mysql -lodb -lmysqlclient_r,cpp-options: ) - -else - -# Include export stub. -# -$(call include,$(scf_root)/export/libodb-mysql/stub.make) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/build/import/libodb-oracle/configuration-rules.make b/build/import/libodb-oracle/configuration-rules.make deleted file mode 100644 index cef4150..0000000 --- a/build/import/libodb-oracle/configuration-rules.make +++ /dev/null @@ -1,13 +0,0 @@ -# file : build/import/libodb-oracle/configuration-rules.make -# license : ODB NCUEL; see accompanying LICENSE file - -$(dcf_root)/import/libodb-oracle/configuration-dynamic.make: | $(dcf_root)/import/libodb-oracle/. - $(call message,,$(scf_root)/import/libodb-oracle/configure $@) - -ifndef %foreign% - -$(dcf_root)/.disfigure:: - $(call message,rm $(dcf_root)/import/libodb-oracle/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/libodb-oracle/configuration-dynamic.make) - -endif diff --git a/build/import/libodb-oracle/configure b/build/import/libodb-oracle/configure deleted file mode 100755 index 81cd5e4..0000000 --- a/build/import/libodb-oracle/configure +++ /dev/null @@ -1,53 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libodb-oracle/configure -# license : ODB NCUEL; see accompanying LICENSE file - - -# $1 - out file -# -# bld_root - build root -# project_name - project name -# - -source $bld_root/dialog.bash - - -$echo -$echo "Configuring external dependency on 'libodb-oracle' for '$project_name'." -$echo - -$echo -$echo "Would you like to configure dependency on the installed version" -$echo "of 'libodb-oracle' as opposed to the development build?" -$echo - -installed=`read_y_n y` - -path= - -if [ "$installed" = "n" ]; then - -$echo -$echo "Please enter the src_root for 'libodb-oracle'." -$echo - -src_root=`read_path --directory --exist` - -$echo -$echo "Please enter the out_root for 'libodb-oracle'." -$echo - -out_root=`read_path --directory $src_root` - -fi - -echo libodb_oracle_installed := $installed >$1 - -if [ "$installed" = "n" ]; then - -echo src_root := $src_root >>$1 -echo scf_root := \$\(src_root\)/build >>$1 -echo out_root := $out_root >>$1 - -fi diff --git a/build/import/libodb-oracle/stub.make b/build/import/libodb-oracle/stub.make deleted file mode 100644 index 6861dc7..0000000 --- a/build/import/libodb-oracle/stub.make +++ /dev/null @@ -1,28 +0,0 @@ -# file : build/import/libodb-oracle/stub.make -# license : ODB NCUEL; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libodb-oracle/configuration-rules.make,$(dcf_root)) - -libodb_oracle_installed := - -$(call -include,$(dcf_root)/import/libodb-oracle/configuration-dynamic.make) - -ifdef libodb_oracle_installed - -ifeq ($(libodb_oracle_installed),y) - -$(call export,l: -lodb-oracle -lodb -lclntsh,cpp-options: ) - -else - -# Include export stub. -# -$(call include,$(scf_root)/export/libodb-oracle/stub.make) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/build/import/libodb-pgsql/configuration-rules.make b/build/import/libodb-pgsql/configuration-rules.make deleted file mode 100644 index 326a60c..0000000 --- a/build/import/libodb-pgsql/configuration-rules.make +++ /dev/null @@ -1,13 +0,0 @@ -# file : build/import/libodb-pgsql/configuration-rules.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libodb-pgsql/configuration-dynamic.make: | $(dcf_root)/import/libodb-pgsql/. - $(call message,,$(scf_root)/import/libodb-pgsql/configure $@) - -ifndef %foreign% - -$(dcf_root)/.disfigure:: - $(call message,rm $(dcf_root)/import/libodb-pgsql/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/libodb-pgsql/configuration-dynamic.make) - -endif diff --git a/build/import/libodb-pgsql/configure b/build/import/libodb-pgsql/configure deleted file mode 100755 index 9d75cad..0000000 --- a/build/import/libodb-pgsql/configure +++ /dev/null @@ -1,53 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libodb-pgsql/configure -# license : GNU GPL v2; see accompanying LICENSE file - - -# $1 - out file -# -# bld_root - build root -# project_name - project name -# - -source $bld_root/dialog.bash - - -$echo -$echo "Configuring external dependency on 'libodb-pgsql' for '$project_name'." -$echo - -$echo -$echo "Would you like to configure dependency on the installed version" -$echo "of 'libodb-pgsql' as opposed to the development build?" -$echo - -installed=`read_y_n y` - -path= - -if [ "$installed" = "n" ]; then - -$echo -$echo "Please enter the src_root for 'libodb-pgsql'." -$echo - -src_root=`read_path --directory --exist` - -$echo -$echo "Please enter the out_root for 'libodb-pgsql'." -$echo - -out_root=`read_path --directory $src_root` - -fi - -echo libodb_pgsql_installed := $installed >$1 - -if [ "$installed" = "n" ]; then - -echo src_root := $src_root >>$1 -echo scf_root := \$\(src_root\)/build >>$1 -echo out_root := $out_root >>$1 - -fi diff --git a/build/import/libodb-pgsql/stub.make b/build/import/libodb-pgsql/stub.make deleted file mode 100644 index b770a63..0000000 --- a/build/import/libodb-pgsql/stub.make +++ /dev/null @@ -1,28 +0,0 @@ -# file : build/import/libodb-pgsql/stub.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libodb-pgsql/configuration-rules.make,$(dcf_root)) - -libodb_pgsql_installed := - -$(call -include,$(dcf_root)/import/libodb-pgsql/configuration-dynamic.make) - -ifdef libodb_pgsql_installed - -ifeq ($(libodb_pgsql_installed),y) - -$(call export,l: -lodb-pgsql -lodb -lpq,cpp-options: ) - -else - -# Include export stub. -# -$(call include,$(scf_root)/export/libodb-pgsql/stub.make) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/build/import/libodb-qt/configuration-rules.make b/build/import/libodb-qt/configuration-rules.make deleted file mode 100644 index 9765a0c..0000000 --- a/build/import/libodb-qt/configuration-rules.make +++ /dev/null @@ -1,13 +0,0 @@ -# file : build/import/libodb-qt/configuration-rules.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libodb-qt/configuration-dynamic.make: | $(dcf_root)/import/libodb-qt/. - $(call message,,$(scf_root)/import/libodb-qt/configure $@) - -ifndef %foreign% - -$(dcf_root)/.disfigure:: - $(call message,rm $(dcf_root)/import/libodb-qt/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/libodb-qt/configuration-dynamic.make) - -endif diff --git a/build/import/libodb-qt/configure b/build/import/libodb-qt/configure deleted file mode 100755 index 6213974..0000000 --- a/build/import/libodb-qt/configure +++ /dev/null @@ -1,53 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libodb-qt/configure -# license : GNU GPL v2; see accompanying LICENSE file - - -# $1 - out file -# -# bld_root - build root -# project_name - project name -# - -source $bld_root/dialog.bash - - -$echo -$echo "Configuring external dependency on 'libodb-qt' for '$project_name'." -$echo - -$echo -$echo "Would you like to configure dependency on the installed version" -$echo "of 'libodb-qt' as opposed to the development build?" -$echo - -installed=`read_y_n y` - -path= - -if [ "$installed" = "n" ]; then - -$echo -$echo "Please enter the src_root for 'libodb-qt'." -$echo - -src_root=`read_path --directory --exist` - -$echo -$echo "Please enter the out_root for 'libodb-qt'." -$echo - -out_root=`read_path --directory $src_root` - -fi - -echo libodb_qt_installed := $installed >$1 - -if [ "$installed" = "n" ]; then - -echo src_root := $src_root >>$1 -echo scf_root := \$\(src_root\)/build >>$1 -echo out_root := $out_root >>$1 - -fi diff --git a/build/import/libodb-qt/stub.make b/build/import/libodb-qt/stub.make deleted file mode 100644 index bd5e2ea..0000000 --- a/build/import/libodb-qt/stub.make +++ /dev/null @@ -1,28 +0,0 @@ -# file : build/import/libodb-qt/stub.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libodb-qt/configuration-rules.make,$(dcf_root)) - -libodb_qt_installed := - -$(call -include,$(dcf_root)/import/libodb-qt/configuration-dynamic.make) - -ifdef libodb_qt_installed - -ifeq ($(libodb_qt_installed),y) - -$(call export,l: -lodb-qt -lodb,cpp-options: ) - -else - -# Include export stub. -# -$(call include,$(scf_root)/export/libodb-qt/stub.make) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/build/import/libodb-sqlite/configuration-rules.make b/build/import/libodb-sqlite/configuration-rules.make deleted file mode 100644 index bf8dee4..0000000 --- a/build/import/libodb-sqlite/configuration-rules.make +++ /dev/null @@ -1,13 +0,0 @@ -# file : build/import/libodb-sqlite/configuration-rules.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libodb-sqlite/configuration-dynamic.make: | $(dcf_root)/import/libodb-sqlite/. - $(call message,,$(scf_root)/import/libodb-sqlite/configure $@) - -ifndef %foreign% - -$(dcf_root)/.disfigure:: - $(call message,rm $(dcf_root)/import/libodb-sqlite/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/libodb-sqlite/configuration-dynamic.make) - -endif diff --git a/build/import/libodb-sqlite/configure b/build/import/libodb-sqlite/configure deleted file mode 100755 index 9f245f5..0000000 --- a/build/import/libodb-sqlite/configure +++ /dev/null @@ -1,53 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libodb-sqlite/configure -# license : GNU GPL v2; see accompanying LICENSE file - - -# $1 - out file -# -# bld_root - build root -# project_name - project name -# - -source $bld_root/dialog.bash - - -$echo -$echo "Configuring external dependency on 'libodb-sqlite' for '$project_name'." -$echo - -$echo -$echo "Would you like to configure dependency on the installed version" -$echo "of 'libodb-sqlite' as opposed to the development build?" -$echo - -installed=`read_y_n y` - -path= - -if [ "$installed" = "n" ]; then - -$echo -$echo "Please enter the src_root for 'libodb-sqlite'." -$echo - -src_root=`read_path --directory --exist` - -$echo -$echo "Please enter the out_root for 'libodb-sqlite'." -$echo - -out_root=`read_path --directory $src_root` - -fi - -echo libodb_sqlite_installed := $installed >$1 - -if [ "$installed" = "n" ]; then - -echo src_root := $src_root >>$1 -echo scf_root := \$\(src_root\)/build >>$1 -echo out_root := $out_root >>$1 - -fi diff --git a/build/import/libodb-sqlite/stub.make b/build/import/libodb-sqlite/stub.make deleted file mode 100644 index 417e65a..0000000 --- a/build/import/libodb-sqlite/stub.make +++ /dev/null @@ -1,28 +0,0 @@ -# file : build/import/libodb-sqlite/stub.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libodb-sqlite/configuration-rules.make,$(dcf_root)) - -libodb_sqlite_installed := - -$(call -include,$(dcf_root)/import/libodb-sqlite/configuration-dynamic.make) - -ifdef libodb_sqlite_installed - -ifeq ($(libodb_sqlite_installed),y) - -$(call export,l: -lodb-sqlite -lodb -lsqlite3,cpp-options: ) - -else - -# Include export stub. -# -$(call include,$(scf_root)/export/libodb-sqlite/stub.make) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/build/import/libodb/configuration-rules.make b/build/import/libodb/configuration-rules.make deleted file mode 100644 index 340c418..0000000 --- a/build/import/libodb/configuration-rules.make +++ /dev/null @@ -1,13 +0,0 @@ -# file : build/import/libodb/configuration-rules.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libodb/configuration-dynamic.make: | $(dcf_root)/import/libodb/. - $(call message,,$(scf_root)/import/libodb/configure $@) - -ifndef %foreign% - -$(dcf_root)/.disfigure:: - $(call message,rm $(dcf_root)/import/libodb/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/libodb/configuration-dynamic.make) - -endif diff --git a/build/import/libodb/configure b/build/import/libodb/configure deleted file mode 100755 index 261a202..0000000 --- a/build/import/libodb/configure +++ /dev/null @@ -1,53 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libodb/configure -# license : GNU GPL v2; see accompanying LICENSE file - - -# $1 - out file -# -# bld_root - build root -# project_name - project name -# - -source $bld_root/dialog.bash - - -$echo -$echo "Configuring external dependency on 'libodb' for '$project_name'." -$echo - -$echo -$echo "Would you like to configure dependency on the installed " -$echo "version of 'libodb' as opposed to the development build?" -$echo - -installed=`read_y_n y` - -path= - -if [ "$installed" = "n" ]; then - -$echo -$echo "Please enter the src_root for 'libodb'." -$echo - -src_root=`read_path --directory --exist` - -$echo -$echo "Please enter the out_root for 'libodb'." -$echo - -out_root=`read_path --directory $src_root` - -fi - -echo libodb_installed := $installed >$1 - -if [ "$installed" = "n" ]; then - -echo src_root := $src_root >>$1 -echo scf_root := \$\(src_root\)/build >>$1 -echo out_root := $out_root >>$1 - -fi diff --git a/build/import/libodb/stub.make b/build/import/libodb/stub.make deleted file mode 100644 index 04dc786..0000000 --- a/build/import/libodb/stub.make +++ /dev/null @@ -1,28 +0,0 @@ -# file : build/import/libodb/stub.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libodb/configuration-rules.make,$(dcf_root)) - -libodb_installed := - -$(call -include,$(dcf_root)/import/libodb/configuration-dynamic.make) - -ifdef libodb_installed - -ifeq ($(libodb_installed),y) - -$(call export,l: -lodb,cpp-options: ) - -else - -# Include export stub. -# -$(call include,$(scf_root)/export/libodb/stub.make) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/build/import/libqt/configuration-rules.make b/build/import/libqt/configuration-rules.make deleted file mode 100644 index badc561..0000000 --- a/build/import/libqt/configuration-rules.make +++ /dev/null @@ -1,13 +0,0 @@ -# file : build/import/libqt/configuration-rules.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libqt/configuration-dynamic.make: | $(dcf_root)/import/libqt/. - $(call message,,$(scf_root)/import/libqt/configure $@) - -ifndef %foreign% - -disfigure:: - $(call message,rm $(dcf_root)/import/libqt/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/libqt/configuration-dynamic.make) - -endif diff --git a/build/import/libqt/configure b/build/import/libqt/configure deleted file mode 100755 index 904d126..0000000 --- a/build/import/libqt/configure +++ /dev/null @@ -1,97 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libqt/configure -# license : GNU GPL v2; see accompanying LICENSE file - - -# $1 - out config file -# -# bld_root - build root -# project_name - project name -# - -source $bld_root/dialog.bash - - -$echo -$echo "Configuring external dependency on 'Qt libraries' for '$project_name'." -$echo - -$echo -$echo "Which version of Qt would you like to use?" -$echo -$echo "(1) Qt5" -$echo "(2) Qt4" -$echo -version=`read_option "5 4" "5"` - -$echo -$echo "Would you like to configure dependency on the installed version" -$echo "of 'Qt libraries' as opposed to the development build?" -$echo - -installed=`read_y_n y` - -if [ "$installed" = "n" ]; then - - $echo - $echo "Please enter the 'Qt' root directory." - $echo - - root=`read_path --directory --exist` - - $echo - $echo "Please select the library type you would like to use:" - $echo - $echo "(1) archive" - $echo "(2) shared object" - $echo - - type=`read_option "archive shared" "shared"` - -else - core_libs= - if [ "$version" = "5" ]; then - - if pkg-config --exists Qt5Core; then - core_cppflags=`pkg-config --cflags Qt5Core` - core_libs=`pkg-config --libs Qt5Core` - fi - - else - - if pkg-config --exists QtCore; then - core_cppflags=`pkg-config --cflags QtCore` - core_libs=`pkg-config --libs QtCore` - fi - - fi - - if [ "$core_libs" = "" ]; then - - $echo - $echo "Unable to discover installed 'Qt libraries' using pkg-config." - $echo "Assuming the C++ compiler will find them automatically." - $echo - - core_cppflags= - - if [ "$version" = "5" ]; then - core_libs=-lQt5Core - else - core_libs=-lQtCore - fi - fi -fi - - -echo libqt_version := $version >$1 -echo libqt_installed := $installed >>$1 - -if [ "$installed" = "n" ]; then - echo libqt_root := $root >>$1 - echo libqt_type := $type >>$1 -else - echo libqt_core_cppflags := $core_cppflags >>$1 - echo libqt_core_libs := $core_libs >>$1 -fi diff --git a/build/import/libqt/core/rules.make b/build/import/libqt/core/rules.make deleted file mode 100644 index 1fd6f10..0000000 --- a/build/import/libqt/core/rules.make +++ /dev/null @@ -1,26 +0,0 @@ -# file : build/import/libqt/core/rules.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libqt/%: root := $(libqt_root) -$(dcf_root)/import/libqt/core/core.l: | $(dcf_root)/import/libqt/core/. - -ifeq ($(libqt_type),archive) -$(dcf_root)/import/libqt/core/core.l: $(libqt_root)/lib/libQtCore.a - @echo $^ >$@ -else -$(dcf_root)/import/libqt/core/core.l: $(libqt_root)/lib/libQtCore.so - @echo $^ >$@ - @echo rpath:$(root)/lib >>$@ -endif - -$(dcf_root)/import/libqt/core/core.l.cpp-options: | $(dcf_root)/import/libqt/core/. - @echo include: -I$(root)/include -I$(root)/include/QtCore >$@ - -ifndef %foreign% - -disfigure:: - $(call message,rm $(dcf_root)/import/libqt/core/core.l,\ -rm -f $(dcf_root)/import/libqt/core/core.l) - $(call message,,rm -f $(dcf_root)/import/libqt/core/core.l.cpp-options) - -endif diff --git a/build/import/libqt/core/stub.make b/build/import/libqt/core/stub.make deleted file mode 100644 index 1a13bde..0000000 --- a/build/import/libqt/core/stub.make +++ /dev/null @@ -1,35 +0,0 @@ -# file : build/import/libqt/core/stub.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libqt/configuration-rules.make,$(dcf_root)) - -libqt_version := -libqt_installed := - -$(call -include,$(dcf_root)/import/libqt/configuration-dynamic.make) - -ifdef libqt_installed - -ifeq ($(libqt_installed),y) - -$(call export,\ - l: $(libqt_core_libs),\ - cpp-options: ,\ - cpp-options-inline: $(libqt_core_cppflags)) - -else - -$(call include-once,$(scf_root)/import/libqt/core/rules.make,$(dcf_root)) - -$(call export,\ - l: $(dcf_root)/import/libqt/core/core.l,\ - cpp-options: $(dcf_root)/import/libqt/core/core.l.cpp-options,\ - cpp-options-inline: ) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/build/import/libqt/version b/build/import/libqt/version deleted file mode 100644 index 6e8bf73..0000000 --- a/build/import/libqt/version +++ /dev/null @@ -1 +0,0 @@ -0.1.0 diff --git a/build/import/odb/configuration-rules.make b/build/import/odb/configuration-rules.make deleted file mode 100644 index eef9b0e..0000000 --- a/build/import/odb/configuration-rules.make +++ /dev/null @@ -1,13 +0,0 @@ -# file : build/import/odb/configuration-rules.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/odb/configuration-dynamic.make: | $(dcf_root)/import/odb/. - $(call message,,$(scf_root)/import/odb/configure $@) - -ifndef %foreign% - -$(dcf_root)/.disfigure:: - $(call message,rm $(dcf_root)/import/odb/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/odb/configuration-dynamic.make) - -endif diff --git a/build/import/odb/configure b/build/import/odb/configure deleted file mode 100755 index ee0cdfa..0000000 --- a/build/import/odb/configure +++ /dev/null @@ -1,53 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/odb/configure -# license : GNU GPL v2; see accompanying LICENSE file - - -# $1 - out file -# -# bld_root - build root -# project_name - project name -# - -source $bld_root/dialog.bash - - -$echo -$echo "Configuring external dependency on 'odb' for '$project_name'." -$echo - -$echo -$echo "Would you like to configure dependency on the installed " -$echo "version of 'odb' as opposed to the development build?" -$echo - -installed=`read_y_n y` - -path= - -if [ "$installed" = "n" ]; then - -$echo -$echo "Please enter the src_root for 'odb'." -$echo - -src_root=`read_path --directory --exist` - -$echo -$echo "Please enter the out_root for 'odb'." -$eche - -out_root=`read_path --directory $src_root` - -fi - -echo odb_installed := $installed >$1 - -if [ "$installed" = "n" ]; then - -echo src_root := $src_root >>$1 -echo scf_root := \$\(src_root\)/build >>$1 -echo out_root := $out_root >>$1 - -fi diff --git a/build/import/odb/hxx-cxx.make b/build/import/odb/hxx-cxx.make deleted file mode 100644 index 987acc0..0000000 --- a/build/import/odb/hxx-cxx.make +++ /dev/null @@ -1,127 +0,0 @@ -# file : build/import/odb/hxx-cxx.make -# license : GNU GPL v3; see accompanying LICENSE file - -# Here we are operating in the importing project's space, not in odb's. -# - -# Get the C++ configuration (file extensions, and extra CPP options). -# -$(call include,$(bld_root)/cxx/configuration.make) - -odb_databases := mysql sqlite pgsql oracle mssql - -odb_pattern := \ -$(out_base)/%-odb.$(cxx_s_suffix) \ -$(out_base)/%-odb.$(cxx_h_suffix) \ -$(out_base)/%-odb.$(cxx_i_suffix) \ -$(out_base)/%.sql - -odb_patterns := $(odb_pattern) - -define odb-db-pattern -odb_$1_pattern := \ -$$(out_base)/%-odb-$1.$$(cxx_s_suffix) \ -$$(out_base)/%-odb-$1.$$(cxx_h_suffix) \ -$$(out_base)/%-odb-$1.$$(cxx_i_suffix) \ -$$(out_base)/%-$1.sql - -odb_patterns += $$(odb_$1_pattern) - -endef # Trailing newline is important. - -$(foreach d,$(odb_databases),$(eval $(call odb-db-pattern,$d))) - -$(odb_patterns): odb_options := \ ---hxx-suffix .$(cxx_h_suffix) \ ---ixx-suffix .$(cxx_i_suffix) \ ---cxx-suffix .$(cxx_s_suffix) - -$(odb_patterns): odb-expand-cpp-options-impl = \ -$(if $1,$(shell sed -e 's%include: \(.*\)%\1%' -e t -e d $1)) - -$(odb_patterns): odb-expand-cpp-options = \ -$(call odb-expand-cpp-options-impl,$(filter %.cpp-options,$1)) - -# We only check for the long option name to avoid false positives. -# -$(odb_pattern): odb-default-database = \ -$(if $(filter --multi-database ,$(odb_options)),--database common ) - -$(odb_pattern): odb-default-database-message = \ -$(if $(filter --multi-database ,$(odb_options)),[common] ) - -.PRECIOUS: $(odb_patterns) - -ifeq ($(out_base),$(src_base)) - -$(odb_pattern): $(src_base)/%.$(cxx_h_suffix) - $(call message,odb $(call odb-default-database-message)$<,$(odb) \ -$(cpp_options) $(call odb-expand-cpp-options,$^) $(cxx_pp_extra_options) \ -$(odb_options) $(call odb-default-database)--output-dir $(dir $@) $<) - -define odb-db-rule -$$(odb_$1_pattern): $$(src_base)/%.$$(cxx_h_suffix) - $$(call message,odb [$1] $$<,$$(odb) $$(cpp_options) \ -$$(call odb-expand-cpp-options,$$^) $$(cxx_pp_extra_options) $$(odb_options) \ ---database $1 --output-dir $$(dir $$@) $$<) - -endef # Trailing newline is important. - -else - -$(odb_pattern): $(src_base)/%.$(cxx_h_suffix) | $$(dir $$@). - $(call message,odb $(call odb-default-database-message)$<,$(odb) \ -$(cpp_options) $(call odb-expand-cpp-options,$^) $(cxx_pp_extra_options) \ -$(odb_options) $(call odb-default-database)--output-dir $(dir $@) $<) - -$(odb_pattern): $(out_base)/%.$(cxx_h_suffix) | $$(dir $$@). - $(call message,odb $(call odb-default-database-message)$<,$(odb) \ -$(cpp_options) $(call odb-expand-cpp-options,$^) $(cxx_pp_extra_options) \ -$(odb_options) $(call odb-default-database) --output-dir $(dir $@) $<) - -define odb-db-rule -$$(odb_$1_pattern): $$(src_base)/%.$$(cxx_h_suffix) | $$$$(dir $$$$@). - $$(call message,odb [$1] $$<,$$(odb) $$(cpp_options) \ -$$(call odb-expand-cpp-options,$$^) $$(cxx_pp_extra_options) $$(odb_options) \ ---database $1 --output-dir $$(dir $$@) $$<) - -$$(odb_$1_pattern): $$(out_base)/%.$$(cxx_h_suffix) | $$$$(dir $$$$@). - $$(call message,odb [$1] $$<,$$(odb) $$(cpp_options) \ -$$(call odb-expand-cpp-options,$$^) $$(cxx_pp_extra_options) $$(odb_options) \ ---database $1 --output-dir $$(dir $$@) $$<) - -endef # Trailing newline is important. -endif - -$(foreach d,$(odb_databases),$(eval $(call odb-db-rule,$d))) - -# Clean. -# -.PHONY: $(out_base)/%-odb.cxx.hxx.clean - -$(out_base)/%-odb.cxx.hxx.clean: cxx_s_suffix := $(cxx_s_suffix) -$(out_base)/%-odb.cxx.hxx.clean: cxx_h_suffix := $(cxx_h_suffix) -$(out_base)/%-odb.cxx.hxx.clean: cxx_i_suffix := $(cxx_i_suffix) - -$(out_base)/%-odb.cxx.hxx.clean: - $(call message,rm $$1,rm -f $$1,$(@:.cxx.hxx.clean=.$(cxx_s_suffix))) - $(call message,rm $$1,rm -f $$1,$(@:.cxx.hxx.clean=.$(cxx_h_suffix))) - $(call message,rm $$1,rm -f $$1,$(@:.cxx.hxx.clean=.$(cxx_i_suffix))) - $(call message,rm $$1,rm -f $$1,$(@:-odb.cxx.hxx.clean=.sql)) - -define odb-db-clean-rule -.PHONY: $$(out_base)/%-odb-$1.cxx.hxx.clean - -$$(out_base)/%-odb-$1.cxx.hxx.clean: cxx_s_suffix := $$(cxx_s_suffix) -$$(out_base)/%-odb-$1.cxx.hxx.clean: cxx_h_suffix := $$(cxx_h_suffix) -$$(out_base)/%-odb-$1.cxx.hxx.clean: cxx_i_suffix := $$(cxx_i_suffix) - -$$(out_base)/%-odb-$1.cxx.hxx.clean: - $$(call message,rm $$$$1,rm -f $$$$1,$$(@:.cxx.hxx.clean=.$$(cxx_s_suffix))) - $$(call message,rm $$$$1,rm -f $$$$1,$$(@:.cxx.hxx.clean=.$$(cxx_h_suffix))) - $$(call message,rm $$$$1,rm -f $$$$1,$$(@:.cxx.hxx.clean=.$$(cxx_i_suffix))) - $$(call message,rm $$$$1,rm -f $$$$1,$$(@:-odb-$1.cxx.hxx.clean=-$1.sql)) - -endef # Trailing newline is important. - -$(foreach d,$(odb_databases),$(eval $(call odb-db-clean-rule,$d))) diff --git a/build/import/odb/stub.make b/build/import/odb/stub.make deleted file mode 100644 index 05356ca..0000000 --- a/build/import/odb/stub.make +++ /dev/null @@ -1,28 +0,0 @@ -# file : build/import/odb/stub.make -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/odb/configuration-rules.make,$(dcf_root)) - -odb_installed := - -$(call -include,$(dcf_root)/import/odb/configuration-dynamic.make) - -ifdef odb_installed - -ifeq ($(odb_installed),y) - -$(call export,odb: /usr/local/bin/odb,odb-rules: $(scf_root)/import/odb/hxx-cxx.make) - -else - -# Include export stub. -# -$(call include,$(scf_root)/export/odb/stub.make) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/build/mssql/configure b/build/mssql/configure deleted file mode 100755 index 52cf34b..0000000 --- a/build/mssql/configure +++ /dev/null @@ -1,52 +0,0 @@ -#! /usr/bin/env bash - -# file : build/mssql/configure -# license : GNU GPL v2; see accompanying LICENSE file - -# -# dcf_root - dynamic configuration root -# - -$echo -$echo "Please enter the SQL Server client program path." -$echo - -driver=`read_path --command sqlcmd` - -$echo -$echo "Please enter the SQL Server database user." -$echo - -user=`read_value "odb_test"` - -$echo -$echo "Please enter the SQL Server database password." -$echo - -passwd=`read_value "odb_test"` - -$echo -$echo "Please enter the SQL Server database name. Note that it WILL BE" -$echo "MODIFIED by the tests." -$echo - -db=`read_value "odb_test"` - -$echo -$echo "Please enter the SQL Server instance address." -$echo - -server=`read_value ""` - -opt=$dcf_root/mssql.options -drv=$dcf_root/mssql-driver - -echo "--user '$user'" >$opt -echo "--password '$passwd'" >>$opt -echo "--database '$db'" >>$opt -echo "--server '$server'" >>$opt - -echo "#!/bin/sh" >$drv -echo "opt=\`cat $opt\`" >>$drv -echo "eval $scf_root/mssql/mssql --driver $driver \$opt \$*" >>$drv -chmod 755 $drv diff --git a/build/mssql/mssql b/build/mssql/mssql deleted file mode 100755 index 37792f6..0000000 --- a/build/mssql/mssql +++ /dev/null @@ -1,51 +0,0 @@ -#! /usr/bin/env bash - -# file : build/mssql/mssql -# license : GNU GPL v2; see accompanying LICENSE file - -# -# SQL Server driver wrapper. -# - -opt= -driver= - -while [ $# -gt 0 ]; do - case $1 in - --driver) - driver=$2 - shift 2 - ;; - --user) - opt="$opt -U $2" - shift 2 - ;; - --password) - opt="$opt -P $2" - shift 2 - ;; - --database) - opt="$opt -d $2" - shift 2 - ;; - --server) - opt="$opt -S $2" - shift 2 - ;; - *) - break - ;; - esac -done - -if [ -z "$driver" ]; then - driver=sqlcmd -fi - -opt="-x -r -b $opt" - -if [ -n "$1" ]; then - exec $driver $opt -i $1 -else - exec $driver $opt -fi diff --git a/build/mysql/configure b/build/mysql/configure deleted file mode 100755 index 0ea5120..0000000 --- a/build/mysql/configure +++ /dev/null @@ -1,75 +0,0 @@ -#! /usr/bin/env bash - -# file : build/mysql/configure -# license : GNU GPL v2; see accompanying LICENSE file - -# -# dcf_root - dynamic configuration root -# - -$echo -$echo "Please enter the MySQL client program path." -$echo - -driver=`read_path --command mysql` - -$echo -$echo "Please enter the MySQL database user." -$echo - -user=`read_value "odb_test"` - -$echo -$echo "Please enter the MySQL database password. Enter NULL for" -$echo "unspecified password as opposed to the empty password." -$echo - -passwd=`read_value "NULL"` - -$echo -$echo "Please enter the MySQL database name. Note that it WILL BE" -$echo "MODIFIED by the tests." -$echo - -db=`read_value "odb_test"` - -$echo -$echo "Please enter the MySQL database host." -$echo - -host=`read_value ""` - -$echo -$echo "Please enter the MySQL database port." -$echo - -port=`read_value "0"` - -$echo -$echo "Please enter the MySQL database socket name. Enter NULL for" -$echo "unspecified name as opposed to the empty name." -$echo - -socket=`read_value "NULL"` - -opt=$dcf_root/mysql.options -drv=$dcf_root/mysql-driver - -echo "--user '$user'" >$opt - -if [ "$passwd" != "NULL" ]; then -echo "--password '$passwd'" >>$opt -fi - -echo "--database '$db'" >>$opt -echo "--host '$host'" >>$opt -echo "--port $port" >>$opt - -if [ "$socket" != "NULL" ]; then -echo "--socket '$socket'" >>$opt -fi - -echo "#!/bin/sh" >$drv -echo "opt=\`cat $opt\`" >>$drv -echo "eval $scf_root/mysql/mysql --driver $driver \$opt \$*" >>$drv -chmod 755 $drv diff --git a/build/mysql/mysql b/build/mysql/mysql deleted file mode 100755 index 7d224c8..0000000 --- a/build/mysql/mysql +++ /dev/null @@ -1,57 +0,0 @@ -#! /usr/bin/env bash - -# file : build/mysql/mysql -# license : GNU GPL v2; see accompanying LICENSE file - -# -# MySQL driver wrapper. -# - -opt= -driver= - -while [ $# -gt 0 ]; do - case $1 in - --driver) - driver=$2 - shift 2 - ;; - --user) - opt="$opt --user=$2" - shift 2 - ;; - --password) - opt="$opt --password=$2" - shift 2 - ;; - --database) - opt="$opt --database=$2" - shift 2 - ;; - --host) - opt="$opt --host=$2" - shift 2 - ;; - --port) - opt="$opt --port=$2" - shift 2 - ;; - --socket) - opt="$opt --socket=$2" - shift 2 - ;; - *) - break - ;; - esac -done - -if [ -z "$driver" ]; then - driver=mysql -fi - -if [ -n "$1" ]; then - exec $driver $opt <$1 -else - exec $driver $opt -fi diff --git a/build/oracle/configure b/build/oracle/configure deleted file mode 100755 index 4a87e51..0000000 --- a/build/oracle/configure +++ /dev/null @@ -1,97 +0,0 @@ -#! /usr/bin/env bash - -# file : build/oracle/configure -# license : GNU GPL v2; see accompanying LICENSE file - -# -# dcf_root - dynamic configuration root -# - -$echo -$echo "Please enter the Oracle client program path." -$echo - -driver=`read_path --command sqlplus` - -$echo -$echo "Please enter the Oracle database user." -$echo - -user=`read_value "odb_test"` - -$echo -$echo "Please enter the Oracle database password." -$echo - -# If the user is odb_test then default to odb_test as a password since -# it is unlikely there is the odb_test user with external authentication. -# -if [ "$user" = "odb_test" ]; then - def_passwd=odb_test -else - def_passwd= -fi - -passwd=`read_value "$def_passwd"` - -$echo -$echo "Please enter the Oracle listener host (localhost if left empty)." -$echo - -host=`read_value ""` - -$echo -$echo "Please enter the Oracle listener port (default port if left empty)." -$echo - -port=`read_value ""` - -$echo -$echo "Please enter the Oracle service to use (default service if left" -$echo "empty). Note that the database associated with user $user on this" -$echo "service WILL BE MODIFIED." -$echo - -service=`read_value ""` - -opt=$dcf_root/oracle.options -drv=$dcf_root/oracle-driver - -if [ -n "$user" ]; then -echo "--user '$user'" >$opt -fi - -if [ -n "$passwd" ]; then -echo "--password '$passwd'" >>$opt -fi - -if [ -n "$service" ]; then -echo "--service '$service'" >>$opt -fi - -if [ -n "$host" ]; then -echo "--host '$host'" >>$opt -fi - -if [ -n "$port" ]; then -echo "--port '$port'" >>$opt -fi - -echo "#!/bin/sh" >$drv - -dir=`dirname $driver` -if [ "$dir" != "." ]; then - echo >>$drv - echo 'LD_LIBRARY_PATH="'$dir':$LD_LIBRARY_PATH"' >>$drv - echo "export LD_LIBRARY_PATH" >>$drv - echo >>$drv - echo 'if [ -z "$SQLPATH" ]; then' >>$drv - echo ' SQLPATH="'$dir'"' >>$drv - echo " export SQLPATH" >>$drv - echo "fi" >>$drv - echo >>$drv -fi - -echo "opt=\`cat $opt\`" >>$drv -echo "eval $scf_root/oracle/oracle --driver $driver \$opt \$*" >>$drv -chmod 755 $drv diff --git a/build/oracle/oracle b/build/oracle/oracle deleted file mode 100755 index 58e94f2..0000000 --- a/build/oracle/oracle +++ /dev/null @@ -1,80 +0,0 @@ -#! /usr/bin/env bash - -# file : build/oracle/oracle -# license : GNU GPL v2; see accompanying LICENSE file - -# -# Oracle driver wrapper. -# - -driver= -user= -passwd= -service= -host= -port= - -while [ $# -gt 0 ]; do - case $1 in - --driver) - driver=$2 - shift 2 - ;; - --user) - user="$2" - shift 2 - ;; - --password) - passwd="$2" - shift 2 - ;; - --service) - service="$2" - shift 2 - ;; - --host) - host="$2" - shift 2 - ;; - --port) - port="$2" - shift 2 - ;; - *) - break - ;; - esac -done - -if [ -z "$driver" ]; then - driver=sqlplus -fi - -conn=$user - -if [ -n "$passwd" ]; then - conn="$conn/$passwd" -fi - -if [ -n "$host" ]; then - conn="$conn@//$host" - - if [ -n "$port" ]; then - conn="$conn:$port" - fi - - if [ -n "$service" ]; then - conn="$conn/$service" - fi -elif [ -n "$service" ]; then - conn="$conn@$service" -fi - -opt="-L" - -if [ -n "$1" ]; then - opt="-S $opt" - exec $driver $opt $conn @$1 -else - exec $driver $opt $conn -fi diff --git a/build/pgsql/configure b/build/pgsql/configure deleted file mode 100755 index 9673c15..0000000 --- a/build/pgsql/configure +++ /dev/null @@ -1,63 +0,0 @@ -#! /usr/bin/env bash - -# file : build/pgsql/configure -# license : GNU GPL v2; see accompanying LICENSE file - -# -# dcf_root - dynamic configuration root -# - -$echo -$echo "Please enter the PostgreSQL client program path." -$echo - -driver=`read_path --command psql` - -$echo -$echo "Please enter the PostgreSQL database user. Note that the named" -$echo "user must be allowed to connect to the database server without" -$echo "specifying credentials." -$echo - -user=`read_value "odb_test"` - -$echo -$echo "Please enter the PostgreSQL database name. Note that it WILL BE" -$echo "MODIFIED by the tests." -$echo - -db=`read_value "odb_test"` - -$echo -$echo "Please enter the PostgreSQL database host. Leaving this field" -$echo "blank results in using Unix-domain sockets. Machines without" -$echo "Unix-domain sockets will connect to localhost." -$echo - -host=`read_value ""` - -$echo -$echo "Please enter the PostgreSQL database port or the socket file name" -$echo "extension for Unix-domain connections." -$echo - -port=`read_value ""` - -opt=$dcf_root/pgsql.options -drv=$dcf_root/pgsql-driver - -echo "--user '$user'" >$opt -echo "--database '$db'" >>$opt - -if [ -n "$host" ]; then -echo "--host '$host'" >>$opt -fi - -if [ -n "$port" ]; then -echo "--port '$port'" >>$opt -fi - -echo "#!/bin/sh" >$drv -echo "opt=\`cat $opt\`" >>$drv -echo "eval $scf_root/pgsql/pgsql --driver $driver \$opt \$*" >>$drv -chmod 755 $drv diff --git a/build/pgsql/pgsql b/build/pgsql/pgsql deleted file mode 100755 index d30a102..0000000 --- a/build/pgsql/pgsql +++ /dev/null @@ -1,53 +0,0 @@ -#! /usr/bin/env bash - -# file : build/pgsql/pgsql -# license : GNU GPL v2; see accompanying LICENSE file - -# -# PostgreSQL driver wrapper. -# - -driver= -opt= - -while [ $# -gt 0 ]; do - case $1 in - --driver) - driver=$2 - shift 2 - ;; - --user) - opt="$opt --user=$2" - shift 2 - ;; - --database) - opt="$opt --dbname=$2" - shift 2 - ;; - --host) - opt="$opt --host=$2" - shift 2 - ;; - --port) - opt="$opt --port=$2" - shift 2 - ;; - *) - break - ;; - esac -done - -if [ -z "$driver" ]; then - driver=psql -fi - -opt="--quiet $opt" - -export PGOPTIONS=--client-min-messages=warning - -if [ -n "$1" ]; then - exec $driver $opt --set ON_ERROR_STOP=1 -f $1 -else - exec $driver $opt -fi diff --git a/build/root.build b/build/root.build new file mode 100644 index 0000000..5336399 --- /dev/null +++ b/build/root.build @@ -0,0 +1,270 @@ +# file : build/root.build +# license : GNU GPL v2; see accompanying LICENSE file + +cxx.std = latest + +using cxx + +hxx{*}: extension = hxx +ixx{*}: extension = ixx +txx{*}: extension = txx +cxx{*}: extension = cxx + +# List of the identifiers of the databases to compile and run the tests +# against. The valid identifiers are mysql, sqlite, pgsql, oracle, and mssql. +# +# @@ TODO: change to string_set once available. +# +config [strings] config.odb_tests.database + +assert ($defined(config.odb_tests.database) && \ + $size($config.odb_tests.database) > 0) \ +'at least one database must be configured via config.odb_tests.database variable' + +databases = $config.odb_tests.database + +mysql = false +sqlite = false +pgsql = false +oracle = false +mssql = false + +for db: $databases +{ + switch $db + { + case 'mysql' + mysql = true + + case 'sqlite' + sqlite = true + + case 'pgsql' + pgsql = true + + case 'oracle' + oracle = true + + case 'mssql' + mssql = true + + default + fail "invalid database '$db' specified in config.odb_tests.database value" + } +} + +# If true, then build and run the test drivers in the dynamic multi-database +# mode. +# +config [bool] config.odb_tests.multi_database ?= ($size($databases) > 1) +multi = $config.odb_tests.multi_database + +assert ($multi || $size($databases) == 1) \ +'only one database can be configured if config.odb_tests.multi_database value is false' + +# Database connections. +# + +# PostgreSQL +# +# The database user. Note that the named user must be allowed to connect to +# the database server without specifying credentials. +# +config [string] config.odb_tests.pgsql.user ?= 'odb_test' + +# The database name. Note that it WILL BE MODIFIED by the tests. +# +config [string] config.odb_tests.pgsql.database ?= 'odb_test' + +# The database host. Leaving this variable undefined results in using +# Unix-domain sockets. Machines without Unix-domain sockets will connect to +# localhost. +# +config [string] config.odb_tests.pgsql.host + +# The database port or the socket file name extension for Unix-domain +# connections. +# +config [string] config.odb_tests.pgsql.port + +# If true, then assume that libodb-pgsql supports the bulk operations. +# +# Note: config.odb_tests.pgsql.bulk_default is reflected from manifest. +# +config [bool] config.odb_tests.pgsql.bulk_default ?= false +config [bool] config.odb_tests.pgsql.bulk ?= ($cxx.target.class != 'windows' && \ + $config.odb_tests.pgsql.bulk_default) +pgsql_bulk = $config.odb_tests.pgsql.bulk + +# MySQL +# +# The database user. +# +config [string] config.odb_tests.mysql.user ?= 'odb_test' + +# The database password. +# +config [string] config.odb_tests.mysql.passwd + +# The database name. Note that it WILL BE MODIFIED by the tests. +# +config [string] config.odb_tests.mysql.database ?= 'odb_test' + +# The database host. +# +config [string] config.odb_tests.mysql.host + +# The database port. +# +config [uint64] config.odb_tests.mysql.port + +# The database socket path. +# +config [path] config.odb_tests.mysql.socket + +define sql: file +sql{*}: extension = sql + +define xml: file +xml{*}: extension = xml + +if ($build.mode != 'skeleton') +{ + if ($cxx.target.system == 'win32-msvc') + cxx.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS + + switch $cxx.class + { + case 'gcc' + { + cxx.coptions += -Wno-unknown-pragmas + } + case 'msvc' + { + cxx.coptions += /wd4068 /wd4251 /wd4275 /wd4800 + } + } + + # @@ BUILD2 Clang issues the following warnings while compile the + # odb-generated headers: + # + # In file included from odb-tests/common/view/olv/test1-odb-sqlite.cxx:10: + # odb-tests/common/view/olv/test1-odb-sqlite.hxx:68:80: warning: instantiation of variable 'odb::query_columns>::id' required here, but no definition is available [-Wundefined-var-template] + # 68 | id (query_columns< ::test1::object1, id_common, typename A::common_traits >::id, + # | ^ + # odb-tests/common/view/olv/test1-odb.hxx:91:21: note: forward declaration of template entity is here + # 91 | static id_type_ id; + # | ^ + # odb-tests/common/view/olv/test1-odb-sqlite.hxx:68:80: note: add an explicit instantiation declaration to suppress this warning if 'odb::query_columns>::id' is explicitly instantiated in another translation unit + # 68 | id (query_columns< ::test1::object1, id_common, typename A::common_traits >::id, + # + # Note: -Wno-undefined-var-template is temporarily added to suppress them. + # + if ($cxx.id.type == 'clang') + cxx.coptions += -Wno-undefined-var-template + + # Import odb that we are testing. + # + import! [metadata] odb = odb%exe{odb} + + # Import the mysql client for creating the database schemas, etc. + # + if $mysql + { + import! mysql_client = mysql%exe{mysql} + testscript{*}: mysql_client = $mysql_client + } + + # Import the psql client for creating the database schemas, etc. + # + if $pgsql + { + import! pgsql_client = psql%exe{psql} + testscript{*}: pgsql_client = $pgsql_client + } + + # Note that we need ((-.+)?) instead of just (-.+)? because we use this + # capture as a back-reference in the pattern. + # + [rule_name=odb_compile] \ + : hxx{~'/\1/'} libue{~'/.+-meta/'} $odb + {{ + pops = $cxx.lib_poptions($<[1]) + depdb hash $pops + + hp = $path($>[0]) + bn = $base($leaf($hp)) + db = $regex.replace($bn, '.+-odb(-(.+))?', '\2') + + if ($db == '') # *-odb.?xx target group? + db = ($multi ? 'common' : $databases[0]) + end + + # If the external SQL schema file will be generated, then add it as a + # dynamic target group member. + # + # @@ BUILD2 Probably we should add support for --generate-dep ODB compiler + # option. Then presumably this will be take care of automatically. + # + # We assume that the '--generate-schema' and '--schema-format' strings + # will never appear as standalone option values. + # + if ($db != 'common' && $regex.find_match($odb_options, '--generate-schema')) + schema_format = ($db == 'sqlite' ? 'embedded' : 'sql') + + for o: $odb_options + if ($o == '--schema-format') + schema_format = [null] # Indicate that the schema format comes next. + elif ($schema_format == [null]) + schema_format = $o + end + end + else + schema_format = '' + end + + t = ($schema_format == 'sql' \ + ? $directory($hp)/$regex.replace($bn, '(.+)-odb(-.+)?', '\1\2').sql \ + : '') + + depdb dyndep --dyn-target --target-what 'generated schema' --format lines \ + -- echo "$t" + + $odb --std c++11 \ + ($multi ? --multi-database dynamic : ) \ + --database $db \ + --output-dir $out_base \ + $odb_options \ + "-I$src_base" \ + $pops \ + $path($<[0]) + }} + + # Every exe{} in this project is by default a test. + # + exe{*}: test = true + + # Specify the test target for cross-testing. + # + test.target = $cxx.target +} + +# The helper targets which can be used as prerequisites of test drivers +# which require either a specific database client or multiple clients for +# all the enabled databases. +# +alias{mysql-client}: $mysql_client: +{ + include = $mysql + clean = false +} + +alias{pgsql-client}: $pgsql_client: +{ + include = $pgsql + clean = false +} + +alias{database-client}: alias{mysql-client pgsql-client} diff --git a/build/sqlite/configure b/build/sqlite/configure deleted file mode 100755 index 24cc288..0000000 --- a/build/sqlite/configure +++ /dev/null @@ -1,20 +0,0 @@ -#! /usr/bin/env bash - -# file : build/sqlite/configure -# license : GNU GPL v2; see accompanying LICENSE file - -# -# dcf_root - dynamic configuration root -# - -$echo -$echo "Please enter the SQLite database file name. Note that it WILL" -$echo "BE MODIFIED by the tests. You can also specify ':memory:' as a" -$echo "file name to use a temporary in-memory database." -$echo - -db=`read_value "/tmp/odb-test.db"` - -opt=$dcf_root/sqlite.options - -echo "--database '$db'" >$opt diff --git a/buildfile b/buildfile new file mode 100644 index 0000000..2acd9fc --- /dev/null +++ b/buildfile @@ -0,0 +1,10 @@ +# file : buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +./: libcommon/ common/ doc{README.md} legal{GPLv2 LICENSE} manifest + +./: mysql/: include = ($mysql && !$multi) +./: sqlite/: include = ($sqlite && !$multi) +./: pgsql/: include = ($pgsql && !$multi) + +./: testscript{*}: include = adhoc diff --git a/common/Makefile.am b/common/Makefile.am deleted file mode 100644 index bd6fd0e..0000000 --- a/common/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ -# file : common/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) - -if ODB_TESTS_THREADS -SUBDIRS += __path__(thread_dirs) -endif - -if HAVE_CXX11 -SUBDIRS += __path__(cxx11_dirs) -endif - -EXTRA_DIST = __file__(extra_dist) diff --git a/common/access/buildfile b/common/access/buildfile new file mode 100644 index 0000000..f1264d9 --- /dev/null +++ b/common/access/buildfile @@ -0,0 +1,45 @@ +# file : common/access/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix access_ \ + --generate-schema \ + --accessor-regex '#(.+)#Get\u\1#' \ + --modifier-regex '#(.+)#Set\u\1#' + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +# @@ BUILD2: Eventually we should be able to mark it as test.input once +# this is supported for testscript tests. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/access/driver.cxx b/common/access/driver.cxx index 483f986..b40e73c 100644 --- a/common/access/driver.cxx +++ b/common/access/driver.cxx @@ -4,18 +4,20 @@ // Test accessor/modifier expressions. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -24,7 +26,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Test basic accessor/modifier functionality. // @@ -49,7 +51,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id ())); + unique_ptr p (db->load (o.id ())); t.commit (); assert (o == *p); @@ -76,7 +78,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id ())); + unique_ptr p (db->load (o.id ())); t.commit (); assert (o == *p); @@ -103,7 +105,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id ())); + unique_ptr p (db->load (o.id ())); t.commit (); assert (p->p1 ()->id () == o.p1 ()->id () && @@ -149,7 +151,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id ())); + unique_ptr p (db->load (o.id ())); t.commit (); assert (o == *p); @@ -179,10 +181,10 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id ())); - auto_ptr p2 (db->load (o2.id ())); - auto_ptr p3 (db->load (o3.id_)); - auto_ptr p4 (db->load (o4.id ())); + unique_ptr p1 (db->load (o1.id ())); + unique_ptr p2 (db->load (o2.id ())); + unique_ptr p3 (db->load (o3.id_)); + unique_ptr p4 (db->load (o4.id ())); t.commit (); } } @@ -245,7 +247,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id_)); + unique_ptr p (db->load (o.id_)); t.commit (); assert (o == *p); diff --git a/common/access/makefile b/common/access/makefile deleted file mode 100644 index 523531e..0000000 --- a/common/access/makefile +++ /dev/null @@ -1,118 +0,0 @@ -# file : common/access/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---table-prefix access_ --accessor-regex "\#(.+)\#Get\u\1\#" \ ---modifier-regex "\#(.+)\#Set\u\1\#" -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/access/test.hxx b/common/access/test.hxx index ae71103..3a3424d 100644 --- a/common/access/test.hxx +++ b/common/access/test.hxx @@ -4,12 +4,10 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11 - #include #include #include // std::memcpy, std::memcmp, std::memset -#include // std::auto_ptr/std::unique_ptr +#include // std::unique_ptr #include // std::move #include @@ -239,11 +237,7 @@ namespace test3 { struct object1; -#ifdef HAVE_CXX11 typedef std::unique_ptr object1_ptr; -#else - typedef std::auto_ptr object1_ptr; -#endif #pragma db object pointer(object1_ptr) struct object1 @@ -282,17 +276,11 @@ namespace test3 public: const object1_ptr& p2 () const {return p2_;} -#ifdef HAVE_CXX11 void p2 (object1_ptr p2) {p2_ = std::move (p2);} -#else - void p2 (object1_ptr p2) {p2_ = p2;} -#endif + private: -#ifdef HAVE_CXX11 #pragma db get(p2) set(p2 (std::move (?))) -#else - #pragma db access(p2) -#endif + object1_ptr p2_; }; } diff --git a/common/access/test.std b/common/access/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/access/testscript b/common/access/testscript new file mode 100644 index 0000000..04f0ec0 --- /dev/null +++ b/common/access/testscript @@ -0,0 +1,33 @@ +# file : common/access/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/as/buildfile b/common/as/buildfile new file mode 100644 index 0000000..dcdc961 --- /dev/null +++ b/common/as/buildfile @@ -0,0 +1,49 @@ +# file : common/as/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix as_ \ + --generate-schema \ + --generate-query \ + --generate-session + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# @@ BUILD@ Temporarily suppress the following warning: +# +# test-odb.cxx(6234): warning C4244: 'argument': conversion from 'id_type::value_type' to 'test5::version_type::value_type', possible loss of data +# +if ($cxx.class == 'msvc') + cxx.coptions += /wd4244 + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/as/driver.cxx b/common/as/driver.cxx index 28ce88a..578eb23 100644 --- a/common/as/driver.cxx +++ b/common/as/driver.cxx @@ -4,19 +4,21 @@ // Test C++ type mapping (#pragma map type as ...). // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Test basic type mapping functionality. // @@ -53,8 +55,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p1 (db->load (o1.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (*p1 == o1); @@ -89,8 +91,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p1 (db->load (o1.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (*p1 == o1); @@ -121,8 +123,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p1 (db->load (o1.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (*p1 == o1); @@ -145,8 +147,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p1 (db->load (o1.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (*p1 == o1); @@ -179,8 +181,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p1 (db->load (o1.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (*p1 == o1); @@ -203,8 +205,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p1 (db->load (o1.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (*p1 == o1); @@ -236,8 +238,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p1 (db->load (o1.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (*p1 == o1); @@ -261,8 +263,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p1 (db->load (o1.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (*p1 == o1); @@ -287,8 +289,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p1 (db->load (o1.id)); + unique_ptr p2 (db->load (o2.id)); assert (*p1 == o1); assert (*p2 == o2); @@ -329,8 +331,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p1 (db->load (o1.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (*p1 == o1); diff --git a/common/as/makefile b/common/as/makefile deleted file mode 100644 index 0036ee1..0000000 --- a/common/as/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/as/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---generate-session --table-prefix as_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/as/test.std b/common/as/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/as/testscript b/common/as/testscript new file mode 100644 index 0000000..12d9753 --- /dev/null +++ b/common/as/testscript @@ -0,0 +1,33 @@ +# file : common/as/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/blob/buildfile b/common/blob/buildfile new file mode 100644 index 0000000..cc6d164 --- /dev/null +++ b/common/blob/buildfile @@ -0,0 +1,40 @@ +# file : common/blob/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix blob_ \ + --generate-schema + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/blob/driver.cxx b/common/blob/driver.cxx index 57a9e3d..269f415 100644 --- a/common/blob/driver.cxx +++ b/common/blob/driver.cxx @@ -4,20 +4,20 @@ // Test BLOB mapping. // -#include // HAVE_CXX11 - -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -26,7 +26,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); const char data[] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" @@ -48,10 +48,8 @@ main (int argc, char* argv[]) o.vuc.assign (udata, udata + sizeof (data)); memcpy (o.c, data, sizeof (data)); memcpy (o.uc, udata, sizeof (data)); -#ifdef HAVE_CXX11 memcpy (o.a.data (), data, sizeof (data)); memcpy (o.ua.data (), udata, sizeof (data)); -#endif o.cont.push_back (1); o.cont.push_back (2); o.cont.push_back (3); @@ -64,7 +62,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); t.commit (); assert (o == *o1); diff --git a/common/blob/makefile b/common/blob/makefile deleted file mode 100644 index 2933c8a..0000000 --- a/common/blob/makefile +++ /dev/null @@ -1,116 +0,0 @@ -# file : common/blob/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --table-prefix blob_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/blob/test.hxx b/common/blob/test.hxx index 13f1815..9602ca2 100644 --- a/common/blob/test.hxx +++ b/common/blob/test.hxx @@ -4,15 +4,10 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11 - +#include #include #include // std::memcmp -#ifdef HAVE_CXX11 -# include -#endif - #include #ifdef ODB_COMPILER @@ -48,13 +43,11 @@ struct object #pragma db type(BLOB_TYPE) unsigned char uc[1024]; -#ifdef HAVE_CXX11 #pragma db type(BLOB_TYPE) std::array a; #pragma db type(BLOB_TYPE) std::array ua; -#endif // Make sure we can still use std::vector and std::array // as containers. @@ -70,10 +63,8 @@ operator== (const object& x, const object& y) && x.vuc == y.vuc && std::memcmp (x.c, y.c, sizeof (x.c)) == 0 && std::memcmp (x.uc, y.uc, sizeof (x.uc)) == 0 -#ifdef HAVE_CXX11 && x.a == y.a && x.ua == y.ua -#endif && x.cont == y.cont; } diff --git a/common/blob/test.std b/common/blob/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/blob/testscript b/common/blob/testscript new file mode 100644 index 0000000..4fb9955 --- /dev/null +++ b/common/blob/testscript @@ -0,0 +1,33 @@ +# file : common/blob/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/buildfile b/common/buildfile new file mode 100644 index 0000000..cb9c748 --- /dev/null +++ b/common/buildfile @@ -0,0 +1,6 @@ +# file : common/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +./: {*/ -bulk/} + +./: bulk/: include = (!$pgsql || $pgsql_bulk || $size($databases) != 1) diff --git a/common/bulk/buildfile b/common/bulk/buildfile new file mode 100644 index 0000000..417eb22 --- /dev/null +++ b/common/bulk/buildfile @@ -0,0 +1,49 @@ +# file : common/bulk/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert (!$pgsql || $pgsql_bulk || $size($databases) != 1) \ +"bulk operations are disabled for pgsql which is specified as single database" + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases +{ + if ($db != 'pgsql' || $pgsql_bulk) + import libs += libodb-$db%lib{odb-$db} +} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: \ + include = ($multi && ($db != 'pgsql' || $pgsql_bulk)) + + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix bulk_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/bulk/driver.cxx b/common/bulk/driver.cxx index 2214bfd..23b49ad 100644 --- a/common/bulk/driver.cxx +++ b/common/bulk/driver.cxx @@ -4,9 +4,8 @@ // Test bulk database operations. // -#include // std::auto_ptr +#include // std::unique_ptr #include -#include #include #include @@ -15,12 +14,15 @@ #include -#include // HAVE_CXX11, DATABASE_* -#include +#include // DATABASE_* +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -41,7 +43,7 @@ struct element_traits { typedef T type; typedef T* pointer; - typedef std::auto_ptr auto_ptr; + typedef std::unique_ptr unique_ptr; static T& ref (T& x) {return x;} static T* ptr (T* p) {return p;} @@ -52,43 +54,30 @@ struct element_traits { typedef T type; typedef T* pointer; - typedef std::auto_ptr auto_ptr; + typedef std::unique_ptr unique_ptr; static T& ref (T* p) {return *p;} static T* ptr (T* p) {return p;} }; template -struct element_traits > -{ - typedef T type; - typedef std::auto_ptr pointer; - typedef std::auto_ptr auto_ptr; - - static T& ref (const auto_ptr& p) {return *p;} - static T* ptr (const auto_ptr& p) {return p.get ();} -}; - -#ifdef HAVE_CXX11 -template -struct element_traits> +struct element_traits > { typedef T type; typedef std::unique_ptr pointer; - typedef std::unique_ptr auto_ptr; + typedef std::unique_ptr unique_ptr; - static T& ref (const unique_ptr& p) {return *p;} - static T* ptr (const unique_ptr& p) {return p.get ();} + static T& ref (const unique_ptr& p) {return *p;} + static T* ptr (const unique_ptr& p) {return p.get ();} }; -#endif template void -persist (const auto_ptr& db, I b, I e, bool cont = true) +persist (const unique_ptr& db, I b, I e, bool cont = true) { typedef element_traits traits; typedef typename traits::type type; - typedef typename traits::auto_ptr auto_ptr; + typedef typename traits::unique_ptr unique_ptr; { transaction t (db->begin ()); @@ -104,7 +93,7 @@ persist (const auto_ptr& db, I b, I e, bool cont = true) for (I i (b); i != e; ++i) { type& x (traits::ref (*i)); - auto_ptr p (db->load (x.id)); + unique_ptr p (db->load (x.id)); assert (p->n == x.n && p->s == x.s); } @@ -114,7 +103,7 @@ persist (const auto_ptr& db, I b, I e, bool cont = true) template void -try_persist (const auto_ptr& db, I b, I e, bool cont = true) +try_persist (const unique_ptr& db, I b, I e, bool cont = true) { try { @@ -129,12 +118,12 @@ try_persist (const auto_ptr& db, I b, I e, bool cont = true) template void -update (const auto_ptr& db, I b, I e, +update (const unique_ptr& db, I b, I e, bool modify = true, bool cont = true) { typedef element_traits traits; typedef typename traits::type type; - typedef typename traits::auto_ptr auto_ptr; + typedef typename traits::unique_ptr unique_ptr; if (modify) { @@ -160,7 +149,7 @@ update (const auto_ptr& db, I b, I e, for (I i (b); i != e; ++i) { type& x (traits::ref (*i)); - auto_ptr p (db->load (x.id)); + unique_ptr p (db->load (x.id)); assert (p->n == x.n && p->s == x.s); } @@ -170,7 +159,7 @@ update (const auto_ptr& db, I b, I e, template void -try_update (const auto_ptr& db, I b, I e, bool cont = true) +try_update (const unique_ptr& db, I b, I e, bool cont = true) { try { @@ -185,7 +174,7 @@ try_update (const auto_ptr& db, I b, I e, bool cont = true) template void -erase (const auto_ptr& db, I b, I e) +erase (const unique_ptr& db, I b, I e) { typedef element_traits traits; typedef typename traits::type type; @@ -214,7 +203,7 @@ erase (const auto_ptr& db, I b, I e) template void -erase_id (const auto_ptr& db, I b, I e, bool cont = true) +erase_id (const unique_ptr& db, I b, I e, bool cont = true) { typedef element_traits traits; typedef T type; @@ -239,7 +228,7 @@ erase_id (const auto_ptr& db, I b, I e, bool cont = true) template void -try_erase (const auto_ptr& db, const A& a, bool cont = true) +try_erase (const unique_ptr& db, const A& a, bool cont = true) { try { @@ -255,7 +244,7 @@ try_erase (const auto_ptr& db, const A& a, bool cont = true) template void -test (const auto_ptr& db, I b, I e) +test (const unique_ptr& db, I b, I e) { persist (db, b, e); update (db, b, e); @@ -286,11 +275,12 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); -// @@ TODO: bulk operations in PostgreSQL are only available with libpq >= 14. -// -#if defined(DATABASE_ORACLE) || defined(DATABASE_MSSQL) || defined(DATABASE_PGSQL) +#if !defined(MULTI_DATABASE) && \ + (defined(DATABASE_ORACLE) || \ + defined(DATABASE_MSSQL) || \ + defined(DATABASE_PGSQL)) // Test database class API with various forms of containers // and elements (test #6 is a copy). @@ -328,21 +318,12 @@ main (int argc, char* argv[]) test (db, v.begin (), v.end ()); } -#ifdef HAVE_CXX11 { vector> v; v.push_back (unique_ptr (new unique_object (1, "a"))); v.push_back (unique_ptr (new unique_object (2, "b"))); test (db, v.begin (), v.end ()); } -#else - { - auto_ptr a[2]; - a[0].reset (new auto_object (1, "a")); - a[1].reset (new auto_object (2, "b")); - test (db, a, a + sizeof (a) / sizeof (a[0])); - } -#endif { vector v; @@ -425,7 +406,6 @@ main (int argc, char* argv[]) test (db, v.begin (), v.end ()); } -#ifdef HAVE_CXX11 { typedef unique_ptr unique_ptr; @@ -434,7 +414,6 @@ main (int argc, char* argv[]) v.push_back (unique_ptr (new unique_object ("2", 2, "b"))); test (db, v.begin (), v.end ()); } -#endif // Test const objects. // @@ -990,21 +969,12 @@ main (int argc, char* argv[]) test (db, v.begin (), v.end ()); } -#ifdef HAVE_CXX11 { vector> v; v.push_back (unique_ptr (new unique_object (1, "a"))); v.push_back (unique_ptr (new unique_object (2, "b"))); test (db, v.begin (), v.end ()); } -#else - { - auto_ptr a[2]; - a[0].reset (new auto_object (1, "a")); - a[1].reset (new auto_object (2, "b")); - test (db, a, a + sizeof (a) / sizeof (a[0])); - } -#endif { vector v; diff --git a/common/bulk/makefile b/common/bulk/makefile deleted file mode 100644 index 7e28921..0000000 --- a/common/bulk/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/bulk/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix bulk_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := $(foreach d,$(databases),test-$d.std) -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule,,,-$(db_id))) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d,,-sqlite))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/bulk/test-mssql.std b/common/bulk/test-mssql.std deleted file mode 100644 index e72869d..0000000 --- a/common/bulk/test-mssql.std +++ /dev/null @@ -1,226 +0,0 @@ -multiple exceptions, 1 element attempted, 1 failed: -[0] object already persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0] object already persistent -[1] object already persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0] object already persistent -[1] object already persistent -[2] object already persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0] object already persistent -[1] object already persistent -[2] object already persistent -[3] object already persistent - -multiple exceptions, 5 elements attempted, 5 failed: -[0] object already persistent -[1] object already persistent -[2] object already persistent -[3] object already persistent -[4] object already persistent - -multiple exceptions, 6 elements attempted, 6 failed: -[0] object already persistent -[1] object already persistent -[2] object already persistent -[3] object already persistent -[4] object already persistent -[5] object already persistent - -multiple exceptions, 2 elements attempted, 1 failed: -[1] object already persistent - -multiple exceptions, 2 elements attempted, 1 failed: -[0] object already persistent - -multiple exceptions, 3 elements attempted, 2 failed: -[1] object already persistent -[2] object already persistent - -multiple exceptions, 3 elements attempted, 2 failed: -[0] object already persistent -[2] object already persistent - -multiple exceptions, 3 elements attempted, 2 failed: -[0] object already persistent -[1] object already persistent - -multiple exceptions, 4 elements attempted, 3 failed: -[0] object already persistent -[1] object already persistent -[3] object already persistent - -multiple exceptions, 4 elements attempted, 3 failed: -[0] object already persistent -[1] object already persistent -[2] object already persistent - -multiple exceptions, 7 elements attempted, 3 failed: -[1] object already persistent -[3] object already persistent -[5] object already persistent - -multiple exceptions, 3 elements attempted, 1 failed: -[2] object already persistent - -multiple exceptions, 1 element attempted, 1 failed: -[0] object not persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0] object not persistent -[1] object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent - -multiple exceptions, 5 elements attempted, 5 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent -[4] object not persistent - -multiple exceptions, 6 elements attempted, 6 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent -[4] object not persistent -[5] object not persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0-1] (some) object not persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0-1] (some) object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0-2] (some) object not persistent -[3] object not persistent - -multiple exceptions, 4 elements attempted, 3 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent - -multiple exceptions, 7 elements attempted, 7 failed: -[0-5] (some) object not persistent -[6] object not persistent - -multiple exceptions, 7 elements attempted, 4 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[6] object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 1 element attempted, 1 failed: -[0] object not persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0] object not persistent -[1] object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent - -multiple exceptions, 5 elements attempted, 5 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent -[4] object not persistent - -multiple exceptions, 6 elements attempted, 6 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent -[4] object not persistent -[5] object not persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0-1] (some) object not persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0-1] (some) object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0-2] (some) object not persistent -[3] object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0-2] (some) object not persistent -[3] object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0-2] (some) object not persistent -[3] object not persistent - -multiple exceptions, 4 elements attempted, 3 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent - -multiple exceptions, 8 elements attempted, 8 failed: -[0-7] (some) object not persistent - -multiple exceptions, 10 elements attempted, 6 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[6] object not persistent -[7] object not persistent -[8] object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0-2] (some) object changed concurrently -[3] object changed concurrently - -multiple exceptions, 4 elements attempted, 4 failed: -[0-2] (some) object changed concurrently -[3] object changed concurrently - diff --git a/common/bulk/test-mysql.std b/common/bulk/test-mysql.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/bulk/test-oracle.std b/common/bulk/test-oracle.std deleted file mode 100644 index e72869d..0000000 --- a/common/bulk/test-oracle.std +++ /dev/null @@ -1,226 +0,0 @@ -multiple exceptions, 1 element attempted, 1 failed: -[0] object already persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0] object already persistent -[1] object already persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0] object already persistent -[1] object already persistent -[2] object already persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0] object already persistent -[1] object already persistent -[2] object already persistent -[3] object already persistent - -multiple exceptions, 5 elements attempted, 5 failed: -[0] object already persistent -[1] object already persistent -[2] object already persistent -[3] object already persistent -[4] object already persistent - -multiple exceptions, 6 elements attempted, 6 failed: -[0] object already persistent -[1] object already persistent -[2] object already persistent -[3] object already persistent -[4] object already persistent -[5] object already persistent - -multiple exceptions, 2 elements attempted, 1 failed: -[1] object already persistent - -multiple exceptions, 2 elements attempted, 1 failed: -[0] object already persistent - -multiple exceptions, 3 elements attempted, 2 failed: -[1] object already persistent -[2] object already persistent - -multiple exceptions, 3 elements attempted, 2 failed: -[0] object already persistent -[2] object already persistent - -multiple exceptions, 3 elements attempted, 2 failed: -[0] object already persistent -[1] object already persistent - -multiple exceptions, 4 elements attempted, 3 failed: -[0] object already persistent -[1] object already persistent -[3] object already persistent - -multiple exceptions, 4 elements attempted, 3 failed: -[0] object already persistent -[1] object already persistent -[2] object already persistent - -multiple exceptions, 7 elements attempted, 3 failed: -[1] object already persistent -[3] object already persistent -[5] object already persistent - -multiple exceptions, 3 elements attempted, 1 failed: -[2] object already persistent - -multiple exceptions, 1 element attempted, 1 failed: -[0] object not persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0] object not persistent -[1] object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent - -multiple exceptions, 5 elements attempted, 5 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent -[4] object not persistent - -multiple exceptions, 6 elements attempted, 6 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent -[4] object not persistent -[5] object not persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0-1] (some) object not persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0-1] (some) object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0-2] (some) object not persistent -[3] object not persistent - -multiple exceptions, 4 elements attempted, 3 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent - -multiple exceptions, 7 elements attempted, 7 failed: -[0-5] (some) object not persistent -[6] object not persistent - -multiple exceptions, 7 elements attempted, 4 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[6] object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 1 element attempted, 1 failed: -[0] object not persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0] object not persistent -[1] object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent - -multiple exceptions, 5 elements attempted, 5 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent -[4] object not persistent - -multiple exceptions, 6 elements attempted, 6 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent -[4] object not persistent -[5] object not persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0-1] (some) object not persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0-1] (some) object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0-2] (some) object not persistent -[3] object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0-2] (some) object not persistent -[3] object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0-2] (some) object not persistent -[3] object not persistent - -multiple exceptions, 4 elements attempted, 3 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent - -multiple exceptions, 8 elements attempted, 8 failed: -[0-7] (some) object not persistent - -multiple exceptions, 10 elements attempted, 6 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[6] object not persistent -[7] object not persistent -[8] object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0-2] (some) object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0-2] (some) object changed concurrently -[3] object changed concurrently - -multiple exceptions, 4 elements attempted, 4 failed: -[0-2] (some) object changed concurrently -[3] object changed concurrently - diff --git a/common/bulk/test-pgsql-enabled.std b/common/bulk/test-pgsql-enabled.std deleted file mode 100644 index 0882bf2..0000000 --- a/common/bulk/test-pgsql-enabled.std +++ /dev/null @@ -1,217 +0,0 @@ -multiple exceptions, 1 element attempted, 1 failed: -[0] object already persistent - -multiple exceptions, 1 element attempted, 1 failed, fatal: -[0] object already persistent - -multiple exceptions, 1 element attempted, 1 failed, fatal: -[0] object already persistent - -multiple exceptions, 1 element attempted, 1 failed, fatal: -[0] object already persistent - -multiple exceptions, 1 element attempted, 1 failed, fatal: -[0] object already persistent - -multiple exceptions, 1 element attempted, 1 failed, fatal: -[0] object already persistent - -multiple exceptions, 2 elements attempted, 1 failed: -[1] object already persistent - -multiple exceptions, 1 element attempted, 1 failed, fatal: -[0] object already persistent - -multiple exceptions, 2 elements attempted, 1 failed, fatal: -[1] object already persistent - -multiple exceptions, 1 element attempted, 1 failed, fatal: -[0] object already persistent - -multiple exceptions, 1 element attempted, 1 failed, fatal: -[0] object already persistent - -multiple exceptions, 1 element attempted, 1 failed, fatal: -[0] object already persistent - -multiple exceptions, 1 element attempted, 1 failed, fatal: -[0] object already persistent - -multiple exceptions, 2 elements attempted, 1 failed, fatal: -[1] object already persistent - -multiple exceptions, 3 elements attempted, 1 failed: -[2] object already persistent - -multiple exceptions, 1 element attempted, 1 failed: -[0] object not persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0] object not persistent -[1] object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent - -multiple exceptions, 5 elements attempted, 5 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent -[4] object not persistent - -multiple exceptions, 6 elements attempted, 6 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent -[4] object not persistent -[5] object not persistent - -multiple exceptions, 2 elements attempted, 1 failed: -[1] object not persistent - -multiple exceptions, 2 elements attempted, 1 failed: -[0] object not persistent - -multiple exceptions, 3 elements attempted, 2 failed: -[1] object not persistent -[2] object not persistent - -multiple exceptions, 3 elements attempted, 2 failed: -[0] object not persistent -[2] object not persistent - -multiple exceptions, 3 elements attempted, 2 failed: -[0] object not persistent -[1] object not persistent - -multiple exceptions, 4 elements attempted, 3 failed: -[0] object not persistent -[1] object not persistent -[3] object not persistent - -multiple exceptions, 4 elements attempted, 3 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent - -multiple exceptions, 7 elements attempted, 4 failed: -[0] object not persistent -[2] object not persistent -[4] object not persistent -[6] object not persistent - -multiple exceptions, 7 elements attempted, 4 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[6] object not persistent - -multiple exceptions, 3 elements attempted, 1 failed: -[2] object not persistent - -multiple exceptions, 1 element attempted, 1 failed: -[0] object not persistent - -multiple exceptions, 2 elements attempted, 2 failed: -[0] object not persistent -[1] object not persistent - -multiple exceptions, 3 elements attempted, 3 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent - -multiple exceptions, 4 elements attempted, 4 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent - -multiple exceptions, 5 elements attempted, 5 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent -[4] object not persistent - -multiple exceptions, 6 elements attempted, 6 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[3] object not persistent -[4] object not persistent -[5] object not persistent - -multiple exceptions, 2 elements attempted, 1 failed: -[1] object not persistent - -multiple exceptions, 2 elements attempted, 1 failed: -[0] object not persistent - -multiple exceptions, 3 elements attempted, 2 failed: -[1] object not persistent -[2] object not persistent - -multiple exceptions, 3 elements attempted, 2 failed: -[0] object not persistent -[2] object not persistent - -multiple exceptions, 3 elements attempted, 2 failed: -[0] object not persistent -[1] object not persistent - -multiple exceptions, 4 elements attempted, 3 failed: -[1] object not persistent -[2] object not persistent -[3] object not persistent - -multiple exceptions, 4 elements attempted, 3 failed: -[0] object not persistent -[2] object not persistent -[3] object not persistent - -multiple exceptions, 4 elements attempted, 3 failed: -[0] object not persistent -[1] object not persistent -[3] object not persistent - -multiple exceptions, 4 elements attempted, 3 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent - -multiple exceptions, 8 elements attempted, 4 failed: -[1] object not persistent -[3] object not persistent -[5] object not persistent -[7] object not persistent - -multiple exceptions, 10 elements attempted, 6 failed: -[0] object not persistent -[1] object not persistent -[2] object not persistent -[6] object not persistent -[7] object not persistent -[8] object not persistent - -multiple exceptions, 3 elements attempted, 1 failed: -[2] object not persistent - -multiple exceptions, 4 elements attempted, 2 failed: -[1] object changed concurrently -[3] object changed concurrently - -multiple exceptions, 4 elements attempted, 2 failed: -[1] object changed concurrently -[3] object changed concurrently - diff --git a/common/bulk/test-pgsql.std b/common/bulk/test-pgsql.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/bulk/test-sqlite.std b/common/bulk/test-sqlite.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/bulk/test.hxx b/common/bulk/test.hxx index effc79a..71755f2 100644 --- a/common/bulk/test.hxx +++ b/common/bulk/test.hxx @@ -1,13 +1,11 @@ -// file : common/driver/test.hxx +// file : common/bulk/test.hxx // license : GNU GPL v2; see accompanying LICENSE file #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11 - #include -#include // std::auto_ptr, std::unique_ptr +#include // std::unique_ptr #include @@ -31,7 +29,6 @@ namespace test1 std::string s; }; -#ifdef HAVE_CXX11 #pragma db object bulk(3) pointer(std::unique_ptr) struct unique_object { @@ -44,20 +41,6 @@ namespace test1 unsigned int n; std::string s; }; -#else - #pragma db object bulk(3) pointer(std::auto_ptr) - struct auto_object - { - auto_object (unsigned int n_ = 0, std::string s_ = "") - : id (0), n (n_), s (s_) {} - - #pragma db id auto - unsigned long id; - - unsigned int n; - std::string s; - }; -#endif } // Test object with manually assigned id. @@ -80,7 +63,6 @@ namespace test2 std::string s; }; -#ifdef HAVE_CXX11 #pragma db object bulk(3) pointer(std::unique_ptr) struct unique_object { @@ -95,7 +77,6 @@ namespace test2 unsigned int n; std::string s; }; -#endif } // Test failure. @@ -175,17 +156,10 @@ namespace test6 #pragma db object(object) bulk(3) #pragma db member(object::id) id auto -#ifdef HAVE_CXX11 typedef object_template<3> unique_object; #pragma db object(unique_object) bulk(3) pointer(std::unique_ptr) #pragma db member(unique_object::id) id auto -#else - typedef object_template<2> auto_object; - - #pragma db object(auto_object) bulk(3) pointer(std::auto_ptr) - #pragma db member(auto_object::id) id auto -#endif } // Test optimistic concurrency. diff --git a/common/bulk/testscript b/common/bulk/testscript new file mode 100644 index 0000000..e7567c9 --- /dev/null +++ b/common/bulk/testscript @@ -0,0 +1,503 @@ +# file : common/bulk/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + ++cat <=output + multiple exceptions, 1 element attempted, 1 failed: + [0] object already persistent + + multiple exceptions, 2 elements attempted, 2 failed: + [0] object already persistent + [1] object already persistent + + multiple exceptions, 3 elements attempted, 3 failed: + [0] object already persistent + [1] object already persistent + [2] object already persistent + + multiple exceptions, 4 elements attempted, 4 failed: + [0] object already persistent + [1] object already persistent + [2] object already persistent + [3] object already persistent + + multiple exceptions, 5 elements attempted, 5 failed: + [0] object already persistent + [1] object already persistent + [2] object already persistent + [3] object already persistent + [4] object already persistent + + multiple exceptions, 6 elements attempted, 6 failed: + [0] object already persistent + [1] object already persistent + [2] object already persistent + [3] object already persistent + [4] object already persistent + [5] object already persistent + + multiple exceptions, 2 elements attempted, 1 failed: + [1] object already persistent + + multiple exceptions, 2 elements attempted, 1 failed: + [0] object already persistent + + multiple exceptions, 3 elements attempted, 2 failed: + [1] object already persistent + [2] object already persistent + + multiple exceptions, 3 elements attempted, 2 failed: + [0] object already persistent + [2] object already persistent + + multiple exceptions, 3 elements attempted, 2 failed: + [0] object already persistent + [1] object already persistent + + multiple exceptions, 4 elements attempted, 3 failed: + [0] object already persistent + [1] object already persistent + [3] object already persistent + + multiple exceptions, 4 elements attempted, 3 failed: + [0] object already persistent + [1] object already persistent + [2] object already persistent + + multiple exceptions, 7 elements attempted, 3 failed: + [1] object already persistent + [3] object already persistent + [5] object already persistent + + multiple exceptions, 3 elements attempted, 1 failed: + [2] object already persistent + + multiple exceptions, 1 element attempted, 1 failed: + [0] object not persistent + + multiple exceptions, 2 elements attempted, 2 failed: + [0] object not persistent + [1] object not persistent + + multiple exceptions, 3 elements attempted, 3 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + + multiple exceptions, 4 elements attempted, 4 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [3] object not persistent + + multiple exceptions, 5 elements attempted, 5 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [3] object not persistent + [4] object not persistent + + multiple exceptions, 6 elements attempted, 6 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [3] object not persistent + [4] object not persistent + [5] object not persistent + + multiple exceptions, 2 elements attempted, 2 failed: + [0-1] (some) object not persistent + + multiple exceptions, 2 elements attempted, 2 failed: + [0-1] (some) object not persistent + + multiple exceptions, 3 elements attempted, 3 failed: + [0-2] (some) object not persistent + + multiple exceptions, 3 elements attempted, 3 failed: + [0-2] (some) object not persistent + + multiple exceptions, 3 elements attempted, 3 failed: + [0-2] (some) object not persistent + + multiple exceptions, 4 elements attempted, 4 failed: + [0-2] (some) object not persistent + [3] object not persistent + + multiple exceptions, 4 elements attempted, 3 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + + multiple exceptions, 7 elements attempted, 7 failed: + [0-5] (some) object not persistent + [6] object not persistent + + multiple exceptions, 7 elements attempted, 4 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [6] object not persistent + + multiple exceptions, 3 elements attempted, 3 failed: + [0-2] (some) object not persistent + + multiple exceptions, 1 element attempted, 1 failed: + [0] object not persistent + + multiple exceptions, 2 elements attempted, 2 failed: + [0] object not persistent + [1] object not persistent + + multiple exceptions, 3 elements attempted, 3 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + + multiple exceptions, 4 elements attempted, 4 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [3] object not persistent + + multiple exceptions, 5 elements attempted, 5 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [3] object not persistent + [4] object not persistent + + multiple exceptions, 6 elements attempted, 6 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [3] object not persistent + [4] object not persistent + [5] object not persistent + + multiple exceptions, 2 elements attempted, 2 failed: + [0-1] (some) object not persistent + + multiple exceptions, 2 elements attempted, 2 failed: + [0-1] (some) object not persistent + + multiple exceptions, 3 elements attempted, 3 failed: + [0-2] (some) object not persistent + + multiple exceptions, 3 elements attempted, 3 failed: + [0-2] (some) object not persistent + + multiple exceptions, 3 elements attempted, 3 failed: + [0-2] (some) object not persistent + + multiple exceptions, 4 elements attempted, 4 failed: + [0-2] (some) object not persistent + [3] object not persistent + + multiple exceptions, 4 elements attempted, 4 failed: + [0-2] (some) object not persistent + [3] object not persistent + + multiple exceptions, 4 elements attempted, 4 failed: + [0-2] (some) object not persistent + [3] object not persistent + + multiple exceptions, 4 elements attempted, 3 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + + multiple exceptions, 8 elements attempted, 8 failed: + [0-7] (some) object not persistent + + multiple exceptions, 10 elements attempted, 6 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [6] object not persistent + [7] object not persistent + [8] object not persistent + + multiple exceptions, 3 elements attempted, 3 failed: + [0-2] (some) object not persistent + + multiple exceptions, 4 elements attempted, 4 failed: + [0-2] (some) object changed concurrently + [3] object changed concurrently + + multiple exceptions, 4 elements attempted, 4 failed: + [0-2] (some) object changed concurrently + [3] object changed concurrently + + EOI + ++cat <=pgsql-output + multiple exceptions, 1 element attempted, 1 failed: + [0] object already persistent + + multiple exceptions, 1 element attempted, 1 failed, fatal: + [0] object already persistent + + multiple exceptions, 1 element attempted, 1 failed, fatal: + [0] object already persistent + + multiple exceptions, 1 element attempted, 1 failed, fatal: + [0] object already persistent + + multiple exceptions, 1 element attempted, 1 failed, fatal: + [0] object already persistent + + multiple exceptions, 1 element attempted, 1 failed, fatal: + [0] object already persistent + + multiple exceptions, 2 elements attempted, 1 failed: + [1] object already persistent + + multiple exceptions, 1 element attempted, 1 failed, fatal: + [0] object already persistent + + multiple exceptions, 2 elements attempted, 1 failed, fatal: + [1] object already persistent + + multiple exceptions, 1 element attempted, 1 failed, fatal: + [0] object already persistent + + multiple exceptions, 1 element attempted, 1 failed, fatal: + [0] object already persistent + + multiple exceptions, 1 element attempted, 1 failed, fatal: + [0] object already persistent + + multiple exceptions, 1 element attempted, 1 failed, fatal: + [0] object already persistent + + multiple exceptions, 2 elements attempted, 1 failed, fatal: + [1] object already persistent + + multiple exceptions, 3 elements attempted, 1 failed: + [2] object already persistent + + multiple exceptions, 1 element attempted, 1 failed: + [0] object not persistent + + multiple exceptions, 2 elements attempted, 2 failed: + [0] object not persistent + [1] object not persistent + + multiple exceptions, 3 elements attempted, 3 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + + multiple exceptions, 4 elements attempted, 4 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [3] object not persistent + + multiple exceptions, 5 elements attempted, 5 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [3] object not persistent + [4] object not persistent + + multiple exceptions, 6 elements attempted, 6 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [3] object not persistent + [4] object not persistent + [5] object not persistent + + multiple exceptions, 2 elements attempted, 1 failed: + [1] object not persistent + + multiple exceptions, 2 elements attempted, 1 failed: + [0] object not persistent + + multiple exceptions, 3 elements attempted, 2 failed: + [1] object not persistent + [2] object not persistent + + multiple exceptions, 3 elements attempted, 2 failed: + [0] object not persistent + [2] object not persistent + + multiple exceptions, 3 elements attempted, 2 failed: + [0] object not persistent + [1] object not persistent + + multiple exceptions, 4 elements attempted, 3 failed: + [0] object not persistent + [1] object not persistent + [3] object not persistent + + multiple exceptions, 4 elements attempted, 3 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + + multiple exceptions, 7 elements attempted, 4 failed: + [0] object not persistent + [2] object not persistent + [4] object not persistent + [6] object not persistent + + multiple exceptions, 7 elements attempted, 4 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [6] object not persistent + + multiple exceptions, 3 elements attempted, 1 failed: + [2] object not persistent + + multiple exceptions, 1 element attempted, 1 failed: + [0] object not persistent + + multiple exceptions, 2 elements attempted, 2 failed: + [0] object not persistent + [1] object not persistent + + multiple exceptions, 3 elements attempted, 3 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + + multiple exceptions, 4 elements attempted, 4 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [3] object not persistent + + multiple exceptions, 5 elements attempted, 5 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [3] object not persistent + [4] object not persistent + + multiple exceptions, 6 elements attempted, 6 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [3] object not persistent + [4] object not persistent + [5] object not persistent + + multiple exceptions, 2 elements attempted, 1 failed: + [1] object not persistent + + multiple exceptions, 2 elements attempted, 1 failed: + [0] object not persistent + + multiple exceptions, 3 elements attempted, 2 failed: + [1] object not persistent + [2] object not persistent + + multiple exceptions, 3 elements attempted, 2 failed: + [0] object not persistent + [2] object not persistent + + multiple exceptions, 3 elements attempted, 2 failed: + [0] object not persistent + [1] object not persistent + + multiple exceptions, 4 elements attempted, 3 failed: + [1] object not persistent + [2] object not persistent + [3] object not persistent + + multiple exceptions, 4 elements attempted, 3 failed: + [0] object not persistent + [2] object not persistent + [3] object not persistent + + multiple exceptions, 4 elements attempted, 3 failed: + [0] object not persistent + [1] object not persistent + [3] object not persistent + + multiple exceptions, 4 elements attempted, 3 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + + multiple exceptions, 8 elements attempted, 4 failed: + [1] object not persistent + [3] object not persistent + [5] object not persistent + [7] object not persistent + + multiple exceptions, 10 elements attempted, 6 failed: + [0] object not persistent + [1] object not persistent + [2] object not persistent + [6] object not persistent + [7] object not persistent + [8] object not persistent + + multiple exceptions, 3 elements attempted, 1 failed: + [2] object not persistent + + multiple exceptions, 4 elements attempted, 2 failed: + [1] object changed concurrently + [3] object changed concurrently + + multiple exceptions, 4 elements attempted, 2 failed: + [1] object changed concurrently + [3] object changed concurrently + + EOI + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if ($pgsql && $pgsql_bulk) +{ + .include ../../pgsql.testscript + + $create_schema; + + # Query the PostgreSQL server version and only run the test if it is 7.4 or + # above. + # + $pgsql_client_cmd --tuples-only -c 'SELECT VERSION()' | \ + sed -n -e 's/.*PostgreSQL (\d+\.\d+).*/\1/p' | \ + set version [string]; + + if ("$version" == "") + exit "unable to obtain PostgreSQL server version" + end; + + sed -n -e 's/(.+)\..+/\1/p' <"$version" | set major_version [uint64]; + sed -n -e 's/.+\.(.+)/\1/p' <"$version" | set minor_version [uint64]; + + if (($major_version == 7 && minor_version >= 4) || $major_version > 7) + if $multi + $* # Noop. + else + $* >>>../pgsql-output + end + end +} diff --git a/common/callback/buildfile b/common/callback/buildfile new file mode 100644 index 0000000..2ecc3b8 --- /dev/null +++ b/common/callback/buildfile @@ -0,0 +1,41 @@ +# file : common/callback/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix callback_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/callback/driver.cxx b/common/callback/driver.cxx index bcbbe7a..80513c6 100644 --- a/common/callback/driver.cxx +++ b/common/callback/driver.cxx @@ -4,18 +4,20 @@ // Test database operation callbacks. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -56,7 +58,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Persist. // @@ -76,7 +78,7 @@ main (int argc, char* argv[]) cout << "load" << endl; { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); object o2; db->load (2, o2); t.commit (); @@ -109,8 +111,8 @@ main (int argc, char* argv[]) cout << "update" << endl; { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); - auto_ptr o2 (db->load (2)); + unique_ptr o1 (db->load (1)); + unique_ptr o2 (db->load (2)); o1->data++; o2->data++; db->update (o1.get ()); @@ -124,8 +126,8 @@ main (int argc, char* argv[]) cout << "erase" << endl; { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); - auto_ptr o2 (db->load (2)); + unique_ptr o1 (db->load (1)); + unique_ptr o2 (db->load (2)); db->erase (static_cast (o1.get ())); db->erase (*o2); t.commit (); @@ -158,7 +160,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); object* o2 (o1->pobj); cout << o1->id_ << ' ' << o1->ref << ' ' << o1->robj->id_ << endl; diff --git a/common/callback/makefile b/common/callback/makefile deleted file mode 100644 index 2bc54ef..0000000 --- a/common/callback/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/callback/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix callback_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/callback/test.std b/common/callback/test.std deleted file mode 100644 index b34a8de..0000000 --- a/common/callback/test.std +++ /dev/null @@ -1,62 +0,0 @@ -persist - pre_persist 1 const - post_persist 1 const - pre_persist 2 const - post_persist 2 const -*** -load - pre_load 0 - post_load 1 - pre_load 0 - post_load 2 -*** -query - pre_load 0 - post_load 1 - pre_load 0 - post_load 2 -*** -update - pre_load 0 - post_load 1 - pre_load 0 - post_load 2 - pre_update 1 const - post_update 1 const - pre_update 2 const - post_update 2 const -*** -erase - pre_load 0 - post_load 1 - pre_load 0 - post_load 2 - pre_erase 1 const - post_erase 1 const - pre_erase 2 const - post_erase 2 const -*** -delayed load - pre_persist 1 const - post_persist 1 const - pre_persist 2 const - post_persist 2 const - pre_persist 3 const - post_persist 3 const - pre_persist 4 const - post_persist 4 const - pre_load 0 - pre_load 0 - pre_load 0 - post_load 3 - post_load 2 - pre_load 0 - post_load 4 - 2 4 4 - post_load 1 - pre_load 0 - post_load 4 - 1 4 4 -1 4 4 -2 4 4 -*** diff --git a/common/callback/testscript b/common/callback/testscript new file mode 100644 index 0000000..c7d03ee --- /dev/null +++ b/common/callback/testscript @@ -0,0 +1,100 @@ +# file : common/callback/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + ++cat <=output + persist + pre_persist 1 const + post_persist 1 const + pre_persist 2 const + post_persist 2 const + *** + load + pre_load 0 + post_load 1 + pre_load 0 + post_load 2 + *** + query + pre_load 0 + post_load 1 + pre_load 0 + post_load 2 + *** + update + pre_load 0 + post_load 1 + pre_load 0 + post_load 2 + pre_update 1 const + post_update 1 const + pre_update 2 const + post_update 2 const + *** + erase + pre_load 0 + post_load 1 + pre_load 0 + post_load 2 + pre_erase 1 const + post_erase 1 const + pre_erase 2 const + post_erase 2 const + *** + delayed load + pre_persist 1 const + post_persist 1 const + pre_persist 2 const + post_persist 2 const + pre_persist 3 const + post_persist 3 const + pre_persist 4 const + post_persist 4 const + pre_load 0 + pre_load 0 + pre_load 0 + post_load 3 + post_load 2 + pre_load 0 + post_load 4 + 2 4 4 + post_load 1 + pre_load 0 + post_load 4 + 1 4 4 + 1 4 4 + 2 4 4 + *** + EOI + +test.redirects += >>>../output + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/changelog/.gitignore b/common/changelog/.gitignore new file mode 100644 index 0000000..5352a2b --- /dev/null +++ b/common/changelog/.gitignore @@ -0,0 +1,3 @@ +# Generate ODB options file. +# +odb.options diff --git a/common/changelog/buildfile b/common/changelog/buildfile new file mode 100644 index 0000000..04e0685 --- /dev/null +++ b/common/changelog/buildfile @@ -0,0 +1,30 @@ +# file : common/changelog/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +./: file{odb.options} xml{*} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the below ad hoc recipe. +# +libue{test-meta}: $libodb + +file{odb.options}: libue{test-meta} +{{ + pops = $cxx.lib_poptions($<[0]) + depdb hash $pops + + f = $path($>[0]) + rm -f $f + + for o: $pops + echo $o >+$f + end +}} + +# Testscript's run-time prerequisites. +# +testscript@./: test = $odb + +./: $odb: clean = false diff --git a/common/changelog/makefile b/common/changelog/makefile deleted file mode 100644 index 99f6333..0000000 --- a/common/changelog/makefile +++ /dev/null @@ -1,101 +0,0 @@ -# file : common/changelog/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -odb_hdr := \ -model.hxx \ -add-table.hxx \ -drop-table.hxx \ -add-column.hxx \ -drop-column.hxx \ -alter-column.hxx \ -add-index.hxx \ -drop-index.hxx \ -add-foreign-key.hxx \ -drop-foreign-key.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) - -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(default): - -$(gen): $(odb) FORCE # Force regeneration even if up to date. -$(gen): odb := $(odb) -$(gen): export odb_options += --database $(db_id) --generate-schema-only \ ---schema-format sql --suppress-migration --changelog-dir $(out_base) -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifdef STEP - -ifeq ($(STEP),1) -$(gen): cpp_options += -DBVER=1 -DCVER=1 # Initialize. -$(gen): odb_options += --init-changelog # Suppress notice. -else ifeq ($(STEP),2) -$(gen): cpp_options += -DBVER=1 -DCVER=2 # Diff. -else ifeq ($(STEP),3) -$(gen): cpp_options += -DBVER=2 -DCVER=3 # Patch (via rewind). -else -$(error unexpected STEP value $(STEP) -endif - -$(default): $(gen) -else -$(default): -endif - -# Dist: not supported. -# -$(dist): - -# Test. -# -$(test): tests := $(odb_hdr:.hxx=) -$(test): diff = $(call message,,diff -u $(src_base)/$1-$(db_id)-$2.xml \ -$(out_base)/$1.xml)$(literal_newline)$(literal_tab) -$(test): | $(out_base)/. - $(call message,,rm -f $(addprefix $(out_base)/,$(addsuffix .xml,$(tests)))) - $(call message,,$(MAKE) --no-print-directory -C $(out_base) -f $(src_base)/makefile STEP=1) - $(call message,,$(MAKE) --no-print-directory -C $(out_base) -f $(src_base)/makefile STEP=2) - $(foreach t,$(tests),$(call diff,$t,diff)) - $(call message,,$(MAKE) --no-print-directory -C $(out_base) -f $(src_base)/makefile STEP=3) - $(foreach t,$(tests),$(call diff,$t,patch)) - -# Clean. -# -$(clean): changelogs := $(addprefix $(out_base)/,$(odb_hdr:.hxx=.xml)) -$(clean): $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(changelogs)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(default) $(test): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/changelog/testscript b/common/changelog/testscript new file mode 100644 index 0000000..9368938 --- /dev/null +++ b/common/changelog/testscript @@ -0,0 +1,66 @@ +# file : common/changelog/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +headers = [paths] $path_search($src_base/*.hxx) + +odb_options = --generate-schema-only \ + --schema-format sql \ + --suppress-migration \ + --options-file $out_base/odb.options + +: mysql +: +if $mysql +{ + odb_options += --database 'mysql' --changelog-dir $~ + + for h: $headers + n = $base($leaf($h)) + + $* $odb_options -DBVER=1 -DCVER=1 --init-changelog $h &$(n).xml &$(n).sql + + $* $odb_options -DBVER=1 -DCVER=2 $h + diff $src_base/$n-mysql-diff.xml $(n).xml + + $* $odb_options -DBVER=2 -DCVER=3 $h + diff $src_base/$n-mysql-patch.xml $(n).xml + end +} + +: sqlite +: +if $sqlite +{ + odb_options += --database 'sqlite' --changelog-dir $~ + + for h: $headers + n = $base($leaf($h)) + + $* $odb_options -DBVER=1 -DCVER=1 --init-changelog $h &$(n).xml &$(n).sql + + $* $odb_options -DBVER=1 -DCVER=2 $h + diff $src_base/$n-sqlite-diff.xml $(n).xml + + $* $odb_options -DBVER=2 -DCVER=3 $h + diff $src_base/$n-sqlite-patch.xml $(n).xml + end +} + +: pgsql +: +if $pgsql +{ + odb_options += --database 'pgsql' --changelog-dir $~ + + for h: $headers + n = $base($leaf($h)) + + $* $odb_options -DBVER=1 -DCVER=1 --init-changelog $h &$(n).xml &$(n).sql + + $* $odb_options -DBVER=1 -DCVER=2 $h + diff $src_base/$n-pgsql-diff.xml $(n).xml + + $* $odb_options -DBVER=2 -DCVER=3 $h + diff $src_base/$n-pgsql-patch.xml $(n).xml + end +} diff --git a/common/circular/multiple/.gitignore b/common/circular/multiple/.gitignore new file mode 100644 index 0000000..5d39d39 --- /dev/null +++ b/common/circular/multiple/.gitignore @@ -0,0 +1,6 @@ +# ODB-generated files. +# +test1-odb.?xx +test1-odb-*.?xx +test2-odb.?xx +test2-odb-*.?xx diff --git a/common/circular/multiple/buildfile b/common/circular/multiple/buildfile new file mode 100644 index 0000000..b060cb5 --- /dev/null +++ b/common/circular/multiple/buildfile @@ -0,0 +1,49 @@ +# file : common/circular/multiple/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +hs = test1 test2 + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +for h: $hs +{ + exe{driver}: {hxx ixx cxx}{$h-odb} + + <{hxx ixx cxx}{$h-odb}>: hxx{$h} libue{test-meta} + + for db: $databases + { + exe{driver}: {hxx ixx cxx}{$h-odb-$db}: include = $multi + <{hxx ixx cxx}{$h-odb-$db}>: hxx{$h} libue{test-meta} + } +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix circular_m_ \ + --generate-schema \ + --generate-query \ + --schema-format embedded + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/circular/multiple/driver.cxx b/common/circular/multiple/driver.cxx index d6d49cc..4887ac2 100644 --- a/common/circular/multiple/driver.cxx +++ b/common/circular/multiple/driver.cxx @@ -5,8 +5,7 @@ // files version. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include @@ -14,7 +13,7 @@ #include #include -#include +#include #include "test1.hxx" #include "test2.hxx" @@ -22,6 +21,9 @@ #include "test2-odb.hxx" #include "test1-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -30,7 +32,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv, false)); + unique_ptr db (create_database (argc, argv, false)); // Create the database schema. // diff --git a/common/circular/multiple/makefile b/common/circular/multiple/makefile deleted file mode 100644 index 4364574..0000000 --- a/common/circular/multiple/makefile +++ /dev/null @@ -1,122 +0,0 @@ -# file : common/circular/multiple/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---schema-format embedded --table-prefix circular_m_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -# Extra dependecy for the ODB-generated code. -# -$(gen): $(addprefix $(src_base)/,$(odb_hdr)) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export odb_header_stem := $(basename $(odb_hdr)) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-schemaless-rule)) -else -$(foreach d,$(databases),$(eval $(call test-schemaless-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/circular/multiple/test.std b/common/circular/multiple/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/circular/multiple/testscript b/common/circular/multiple/testscript new file mode 100644 index 0000000..6a05dc6 --- /dev/null +++ b/common/circular/multiple/testscript @@ -0,0 +1,31 @@ +# file : common/circular/multiple/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $* +} diff --git a/common/circular/single/buildfile b/common/circular/single/buildfile new file mode 100644 index 0000000..740ce91 --- /dev/null +++ b/common/circular/single/buildfile @@ -0,0 +1,41 @@ +# file : common/circular/single/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix circular_s_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/circular/single/driver.cxx b/common/circular/single/driver.cxx index 67d79ba..9bcb135 100644 --- a/common/circular/single/driver.cxx +++ b/common/circular/single/driver.cxx @@ -5,18 +5,20 @@ // file version. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); query bq (query::d->id != 0); query dq (query::b->id != 0); diff --git a/common/circular/single/makefile b/common/circular/single/makefile deleted file mode 100644 index be08cc5..0000000 --- a/common/circular/single/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/circular/single/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix circular_s_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/circular/single/test.std b/common/circular/single/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/circular/single/testscript b/common/circular/single/testscript new file mode 100644 index 0000000..b870306 --- /dev/null +++ b/common/circular/single/testscript @@ -0,0 +1,33 @@ +# file : common/circular/single/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/composite/buildfile b/common/composite/buildfile new file mode 100644 index 0000000..0a60638 --- /dev/null +++ b/common/composite/buildfile @@ -0,0 +1,41 @@ +# file : common/composite/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_comp_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/composite/driver.cxx b/common/composite/driver.cxx index cefd72b..06b24b2 100644 --- a/common/composite/driver.cxx +++ b/common/composite/driver.cxx @@ -4,14 +4,13 @@ // Test composite value types. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" @@ -19,12 +18,15 @@ using namespace std; using namespace odb::core; +#undef NDEBUG +#include + int main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Test basic composite functionality. // @@ -55,7 +57,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr p1 (db->load (1)); + unique_ptr p1 (db->load (1)); t.commit (); assert (p == *p1); @@ -78,7 +80,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr p1 (db->load (1)); + unique_ptr p1 (db->load (1)); t.commit (); assert (p == *p1); @@ -157,7 +159,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); t.commit (); assert (o == *o1); @@ -184,7 +186,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); t.commit (); assert (o == *o1); @@ -212,7 +214,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); t.commit (); assert (o == *o1); diff --git a/common/composite/makefile b/common/composite/makefile deleted file mode 100644 index 41d4d68..0000000 --- a/common/composite/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/composite/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix t_comp_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/composite/test.std b/common/composite/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/composite/testscript b/common/composite/testscript new file mode 100644 index 0000000..0747507 --- /dev/null +++ b/common/composite/testscript @@ -0,0 +1,33 @@ +# file : common/composite/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/const-member/buildfile b/common/const-member/buildfile new file mode 100644 index 0000000..868f7fd --- /dev/null +++ b/common/const-member/buildfile @@ -0,0 +1,40 @@ +# file : common/const-member/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix constm_ \ + --generate-schema + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/const-member/driver.cxx b/common/const-member/driver.cxx index 2b6cfca..0c71dfa 100644 --- a/common/const-member/driver.cxx +++ b/common/const-member/driver.cxx @@ -5,18 +5,20 @@ // members are automatically treated as read-only. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Const ids. // @@ -57,7 +59,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o (db->load (1)); + unique_ptr o (db->load (1)); t.commit (); assert (o->id == 1); } @@ -76,7 +78,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o (db->load (1)); + unique_ptr o (db->load (1)); t.commit (); assert (o->ccom.vec.size () == 1 && o->ccom.vec[0] == 1 && @@ -98,7 +100,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o (db->load (1)); + unique_ptr o (db->load (1)); t.commit (); assert (*o->str == "abc" && diff --git a/common/const-member/makefile b/common/const-member/makefile deleted file mode 100644 index c5996a2..0000000 --- a/common/const-member/makefile +++ /dev/null @@ -1,116 +0,0 @@ -# file : common/const-member/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --table-prefix constm_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/const-member/test.hxx b/common/const-member/test.hxx index cf8ba94..ab75c55 100644 --- a/common/const-member/test.hxx +++ b/common/const-member/test.hxx @@ -4,8 +4,6 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11 - #include #include #include // std::auto_ptr @@ -103,15 +101,9 @@ struct wrapper #pragma db id unsigned long id; -#ifdef HAVE_CXX11 const std::unique_ptr str; const std::unique_ptr com; const std::unique_ptr> vec; -#else - const std::auto_ptr str; - const std::auto_ptr com; - const std::auto_ptr< const std::vector > vec; -#endif }; #endif // TEST_HXX diff --git a/common/const-member/test.std b/common/const-member/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/const-member/testscript b/common/const-member/testscript new file mode 100644 index 0000000..c81d856 --- /dev/null +++ b/common/const-member/testscript @@ -0,0 +1,33 @@ +# file : common/const-member/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/const-object/buildfile b/common/const-object/buildfile new file mode 100644 index 0000000..853c831 --- /dev/null +++ b/common/const-object/buildfile @@ -0,0 +1,41 @@ +# file : common/const-object/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix consto_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/const-object/driver.cxx b/common/const-object/driver.cxx index 90efb4e..7ef48ee 100644 --- a/common/const-object/driver.cxx +++ b/common/const-object/driver.cxx @@ -4,19 +4,21 @@ // Test database operations with const objects. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); aggr a (1); aggr ca_ (2); // o1 and o2 are NULL @@ -36,18 +38,10 @@ main (int argc, char* argv[]) const obj1* co1 (co1_); a.o1 = co1; -#ifdef HAVE_CXX11 unique_ptr o2 (new obj2 (1)); -#else - auto_ptr o2 (new obj2 (1)); -#endif obj2* co2_ (new obj2 (2)); a.o2.reset (co2_); -#ifdef HAVE_CXX11 unique_ptr& co2 (a.o2); -#else - auto_ptr& co2 (a.o2); -#endif // persist via references // @@ -83,13 +77,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); -#ifdef HAVE_CXX11 unique_ptr a (db->load (1)); unique_ptr ca (db->load (2)); -#else - auto_ptr a (db->load (1)); - auto_ptr ca (db->load (2)); -#endif t.commit (); @@ -160,13 +149,8 @@ main (int argc, char* argv[]) { // i->f (); // error i->cf (); -#ifdef HAVE_CXX11 //unique_ptr p (i.load ()); // error unique_ptr p (i.load ()); -#else - // auto_ptr p (i.load ()); // error - auto_ptr p (i.load ()); -#endif obj2 o (0); i.load (o); assert (p->id == o.id); diff --git a/common/const-object/makefile b/common/const-object/makefile deleted file mode 100644 index ababb8f..0000000 --- a/common/const-object/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/const-object/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix consto_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/const-object/test.hxx b/common/const-object/test.hxx index 919ba08..4e66231 100644 --- a/common/const-object/test.hxx +++ b/common/const-object/test.hxx @@ -4,8 +4,6 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11 - #include #include @@ -22,11 +20,7 @@ struct obj1 void cf () const {} }; -#ifdef HAVE_CXX11 #pragma db object pointer (std::unique_ptr) -#else -#pragma db object pointer (std::auto_ptr) -#endif struct obj2 { obj2 () {} @@ -51,11 +45,7 @@ struct aggr const obj1* o1; -#ifdef HAVE_CXX11 std::unique_ptr o2; -#else - std::auto_ptr o2; -#endif }; #endif // TEST_HXX diff --git a/common/const-object/test.std b/common/const-object/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/const-object/testscript b/common/const-object/testscript new file mode 100644 index 0000000..3885e96 --- /dev/null +++ b/common/const-object/testscript @@ -0,0 +1,33 @@ +# file : common/const-object/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/container/basics/buildfile b/common/container/basics/buildfile new file mode 100644 index 0000000..f83444e --- /dev/null +++ b/common/container/basics/buildfile @@ -0,0 +1,40 @@ +# file : common/container/basics/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_cont_bs_ \ + --generate-schema + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/container/basics/driver.cxx b/common/container/basics/driver.cxx index cdd22d6..14e1984 100644 --- a/common/container/basics/driver.cxx +++ b/common/container/basics/driver.cxx @@ -4,18 +4,20 @@ // Test basic container persistence. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -24,7 +26,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); for (unsigned short i (0); i < 2; ++i) { @@ -37,7 +39,6 @@ main (int argc, char* argv[]) empty.num = 0; empty.str = ""; -#ifdef HAVE_CXX11 // array // empty.na[0] = 123; @@ -51,7 +52,6 @@ main (int argc, char* argv[]) empty.ca[0] = comp (123, "aaa"); empty.ca[1] = comp (234, "bbbb"); empty.ca[2] = comp (345, "ccccc"); -#endif // @@ -110,7 +110,6 @@ main (int argc, char* argv[]) med.csm[comp (123, "aaa")] = "aaa"; med.csm[comp (234, "bbbb")] = "bbbb"; -#ifdef HAVE_CXX11 // array // med.na[0] = 123; @@ -160,7 +159,6 @@ main (int argc, char* argv[]) med.csum[comp (123, "aaa")] = "aaa"; med.csum[comp (234, "bbbb")] = "bbbb"; -#endif // // full @@ -231,7 +229,6 @@ main (int argc, char* argv[]) full.csm[comp (2345, "bbbbb")] = "bbbbb"; full.csm[comp (3456, "cccccc")] = "cccccc"; -#ifdef HAVE_CXX11 // array // full.na[0] = 123; @@ -291,7 +288,6 @@ main (int argc, char* argv[]) full.csum[comp (1234, "aaaa")] = "aaaa"; full.csum[comp (2345, "bbbbb")] = "bbbbb"; full.csum[comp (3456, "cccccc")] = "cccccc"; -#endif // persist // @@ -307,9 +303,9 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr e (db->load ("empty")); - auto_ptr m (db->load ("medium")); - auto_ptr f (db->load ("full")); + unique_ptr e (db->load ("empty")); + unique_ptr m (db->load ("medium")); + unique_ptr f (db->load ("full")); t.commit (); assert (empty == *e); @@ -340,7 +336,6 @@ main (int argc, char* argv[]) empty.ncm[12] = comp (12, "aa"); empty.csm[comp (12, "aa")] = "aa"; -#ifdef HAVE_CXX11 empty.nfl.push_front (12); empty.sfl.push_front ("aa"); empty.cfl.push_front (comp (12, "aa")); @@ -353,7 +348,6 @@ main (int argc, char* argv[]) empty.snum["aa"] = 12; empty.ncum[12] = comp (12, "aa"); empty.csum[comp (12, "aa")] = "aa"; -#endif // // med @@ -380,7 +374,6 @@ main (int argc, char* argv[]) med.ncm.clear (); med.csm.clear (); -#ifdef HAVE_CXX11 med.nfl.clear (); med.sfl.clear (); med.cfl.clear (); @@ -393,7 +386,6 @@ main (int argc, char* argv[]) med.snum.clear (); med.ncum.clear (); med.csum.clear (); -#endif // // full @@ -447,7 +439,6 @@ main (int argc, char* argv[]) full.csm[comp (3456, "cccccc")] += "c"; full.csm[comp (4567, "ddddddd")] = "ddddddd"; -#ifdef HAVE_CXX11 // array // full.na[0]++; @@ -487,7 +478,6 @@ main (int argc, char* argv[]) full.csum[comp (3456, "cccccc")] += "c"; full.csum[comp (4567, "ddddddd1")] = "ddddddd"; -#endif // update // @@ -503,9 +493,9 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr e (db->load ("empty")); - auto_ptr m (db->load ("medium")); - auto_ptr f (db->load ("full")); + unique_ptr e (db->load ("empty")); + unique_ptr m (db->load ("medium")); + unique_ptr f (db->load ("full")); t.commit (); assert (empty == *e); diff --git a/common/container/basics/makefile b/common/container/basics/makefile deleted file mode 100644 index 3da6b71..0000000 --- a/common/container/basics/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/container/basics/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---table-prefix t_cont_bs_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/container/basics/test.hxx b/common/container/basics/test.hxx index b7d50ae..e8e329e 100644 --- a/common/container/basics/test.hxx +++ b/common/container/basics/test.hxx @@ -4,21 +4,16 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11 - #include #include #include #include #include +#include #include - -#ifdef HAVE_CXX11 -# include -# include -# include -# include -#endif +#include +#include +#include #include @@ -29,7 +24,7 @@ struct comp comp (int n, const std::string& s) : num (n), str (s) {} #pragma db column("number") - int num; + int num = 0; std::string str; }; @@ -66,7 +61,6 @@ typedef std::map str_num_map; typedef std::map num_comp_map; typedef std::map comp_str_map; -#ifdef HAVE_CXX11 struct comp_hash { std::size_t @@ -92,7 +86,6 @@ typedef std::unordered_map num_str_umap; typedef std::unordered_map str_num_umap; typedef std::unordered_map num_comp_umap; typedef std::unordered_map comp_str_umap; -#endif #pragma db value struct cont_comp1 @@ -162,7 +155,6 @@ struct object num_comp_map ncm; comp_str_map csm; -#ifdef HAVE_CXX11 // array // num_array na; @@ -187,26 +179,6 @@ struct object str_num_umap snum; num_comp_umap ncum; comp_str_umap csum; -#else - // Dummy containers to get the equivalent DROP TABLE statements. - // - num_vector na; - num_vector sa; - num_vector ca; - - num_vector nfl; - num_vector sfl; - num_vector cfl; - - num_set nus; - str_set sus; - comp_set cus; - - num_str_map nsum; - str_num_map snum; - num_comp_map ncum; - comp_str_map csum; -#endif std::string str; }; @@ -250,7 +222,6 @@ operator== (const object& x, const object& y) x.ncm == y.ncm && x.csm == y.csm && -#ifdef HAVE_CXX11 x.na == y.na && x.sa == y.sa && x.ca == y.ca && @@ -267,7 +238,6 @@ operator== (const object& x, const object& y) x.snum == y.snum && x.ncum == y.ncum && x.csum == y.csum && -#endif x.str == y.str; } diff --git a/common/container/basics/test.std b/common/container/basics/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/container/basics/testscript b/common/container/basics/testscript new file mode 100644 index 0000000..ea99498 --- /dev/null +++ b/common/container/basics/testscript @@ -0,0 +1,33 @@ +# file : common/container/basics/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/container/change-tracking/buildfile b/common/container/change-tracking/buildfile new file mode 100644 index 0000000..1dda818 --- /dev/null +++ b/common/container/change-tracking/buildfile @@ -0,0 +1,40 @@ +# file : common/container/change-tracking/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_cont_changet_ \ + --generate-schema + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/container/change-tracking/driver.cxx b/common/container/change-tracking/driver.cxx index f7407bd..4894ed9 100644 --- a/common/container/change-tracking/driver.cxx +++ b/common/container/change-tracking/driver.cxx @@ -4,26 +4,23 @@ // Test change-tracking containers. // -#include // HAVE_CXX11 - -#include // std::auto_ptr -#include +#include // std::unique_ptr +#include // std::move #include -#ifdef HAVE_CXX11 -# include // std::move -#endif - #include #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -58,8 +55,7 @@ static counting_tracer tr; // #ifndef _RWSTD_NO_CLASS_PARTIAL_SPEC -#if !defined (HAVE_CXX11) || \ - (defined (__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 7) +#if defined (__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 7 struct item {}; template class odb::vector; template class odb::vector_iterator, @@ -111,7 +107,7 @@ main (int argc, char* argv[]) #endif } - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Test traits logic. // @@ -136,11 +132,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); -#ifdef HAVE_CXX11 unique_ptr p (db->load ("1")); -#else - auto_ptr p (db->load ("1")); -#endif assert (p->s._tracking ()); t.commit (); } @@ -554,11 +546,7 @@ main (int argc, char* argv[]) // Armed copy. // { -#ifdef HAVE_CXX11 unique_ptr c; -#else - auto_ptr c; -#endif { o.s.pop_back (); @@ -621,7 +609,6 @@ main (int argc, char* argv[]) // Armed move. // -#ifdef HAVE_CXX11 { unique_ptr c; @@ -652,7 +639,6 @@ main (int argc, char* argv[]) t.commit (); } } -#endif // Test mixing "smart" and "dumb" container (specifically, erase(obj)). // @@ -699,13 +685,8 @@ main (int argc, char* argv[]) { session s; transaction t (db->begin ()); -#ifdef HAVE_CXX11 unique_ptr p1 (db->load (o1.id_)); unique_ptr p2 (db->load (o2.id_)); -#else - auto_ptr p1 (db->load (o1.id_)); - auto_ptr p2 (db->load (o2.id_)); -#endif assert (p2->o1[0] == p1.get ()); assert (!p2->o1._tracking ()); t.commit (); diff --git a/common/container/change-tracking/makefile b/common/container/change-tracking/makefile deleted file mode 100644 index 53fd314..0000000 --- a/common/container/change-tracking/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/container/change-tracking/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---table-prefix t_cont_changet_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/container/change-tracking/test.hxx b/common/container/change-tracking/test.hxx index be78244..8e06f4a 100644 --- a/common/container/change-tracking/test.hxx +++ b/common/container/change-tracking/test.hxx @@ -4,33 +4,22 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11 - #include #include #include - -#ifdef HAVE_CXX11 -# include // std::move -#endif +#include // std::move #include #include -#ifdef HAVE_CXX11 #pragma db object pointer(std::unique_ptr) -#else -#pragma db object pointer(std::auto_ptr) -#endif struct object { object () {} object (const std::string& id): id_ (id) {} -#ifdef HAVE_CXX11 object (const object& x): id_ (x.id_), i (x.i), s (x.s) {} object (object&& x): id_ (std::move (x.id_)), i (x.i), s (std::move (x.s)) {} -#endif #pragma db id std::string id_; @@ -40,7 +29,7 @@ struct object odb::vector s; inline bool - operator== (const object& o) {return id_ == o.id_ && i == o.i && s == o.s;} + operator== (const object& o) const {return id_ == o.id_ && i == o.i && s == o.s;} }; // Test mixing "smart" and "dumb" container (specifically, erase(obj)). diff --git a/common/container/change-tracking/test.std b/common/container/change-tracking/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/container/change-tracking/testscript b/common/container/change-tracking/testscript new file mode 100644 index 0000000..2169869 --- /dev/null +++ b/common/container/change-tracking/testscript @@ -0,0 +1,33 @@ +# file : common/container/change-tracking/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/ctor/buildfile b/common/ctor/buildfile new file mode 100644 index 0000000..a9892bc --- /dev/null +++ b/common/ctor/buildfile @@ -0,0 +1,41 @@ +# file : common/ctor/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix ctor_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/ctor/driver.cxx b/common/ctor/driver.cxx index 03c706b..c9b445d 100644 --- a/common/ctor/driver.cxx +++ b/common/ctor/driver.cxx @@ -4,18 +4,20 @@ // Test support for persistent objects without default constructors. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -27,7 +29,7 @@ main (int argc, char* argv[]) typedef odb::query query; typedef odb::result result; - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); person p1 ("John", "Doe", 30); person p2 ("Jane", "Doe", 29); diff --git a/common/ctor/makefile b/common/ctor/makefile deleted file mode 100644 index c35d577..0000000 --- a/common/ctor/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/ctor/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix ctor_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/ctor/test.std b/common/ctor/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/ctor/testscript b/common/ctor/testscript new file mode 100644 index 0000000..8946ddb --- /dev/null +++ b/common/ctor/testscript @@ -0,0 +1,33 @@ +# file : common/ctor/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/default/buildfile b/common/default/buildfile new file mode 100644 index 0000000..e25bd08 --- /dev/null +++ b/common/default/buildfile @@ -0,0 +1,41 @@ +# file : common/default/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix default_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/default/driver.cxx b/common/default/driver.cxx index 276f5f2..2d3ef01 100644 --- a/common/default/driver.cxx +++ b/common/default/driver.cxx @@ -4,18 +4,20 @@ // Test default values. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -24,7 +26,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Insert an object using an ad-hoc SQL statement. This way // we get all the default values. @@ -44,7 +46,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr o (db->load (1)); + unique_ptr o (db->load (1)); t.commit (); assert (o->b); diff --git a/common/default/makefile b/common/default/makefile deleted file mode 100644 index c8b3cde..0000000 --- a/common/default/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/default/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix default_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/default/test.std b/common/default/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/default/testscript b/common/default/testscript new file mode 100644 index 0000000..f29cef4 --- /dev/null +++ b/common/default/testscript @@ -0,0 +1,33 @@ +# file : common/default/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/definition/.gitignore b/common/definition/.gitignore new file mode 100644 index 0000000..5838670 --- /dev/null +++ b/common/definition/.gitignore @@ -0,0 +1,6 @@ +# ODB-generated files. +# +time-mapping-odb.?xx +time-mapping-odb-*.?xx +time-mapping.sql +time-mapping-*.sql diff --git a/common/definition/buildfile b/common/definition/buildfile new file mode 100644 index 0000000..09ad1db --- /dev/null +++ b/common/definition/buildfile @@ -0,0 +1,52 @@ +# file : common/definition/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +hs = test time-mapping + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +for h: $hs +{ + exe{driver}: {hxx ixx cxx}{$h-odb} + + <{hxx ixx cxx}{$h-odb}>: hxx{$h} libue{test-meta} + + for db: $databases + { + exe{driver}: {hxx ixx cxx}{$h-odb-$db}: include = $multi + <{hxx ixx cxx}{$h-odb-$db}>: hxx{$h} libue{test-meta} + } +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix definition_ \ + --generate-schema + +<{hxx ixx cxx}{time-mapping-odb}>: odb_options = + +for db: $databases + {hxx ixx cxx}{time-mapping-odb-$db}: odb_options = + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/definition/driver.cxx b/common/definition/driver.cxx index d909644..223eeaf 100644 --- a/common/definition/driver.cxx +++ b/common/definition/driver.cxx @@ -5,18 +5,20 @@ // useful to make composite values out of third-party types. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); object o; o.time.tv_sec = 1; @@ -39,7 +41,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); t.commit (); assert (p->time.tv_sec == o.time.tv_sec && diff --git a/common/definition/makefile b/common/definition/makefile deleted file mode 100644 index 61227c3..0000000 --- a/common/definition/makefile +++ /dev/null @@ -1,122 +0,0 @@ -# file : common/definition/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx time-mapping.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---table-prefix definition_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -# Extra dependecy for the ODB-generated code. -# -$(gen): $(src_base)/time-mapping.hxx - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export odb_header_stem := $(basename $(odb_hdr)) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/definition/test.std b/common/definition/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/definition/testscript b/common/definition/testscript new file mode 100644 index 0000000..c9dea6d --- /dev/null +++ b/common/definition/testscript @@ -0,0 +1,33 @@ +# file : common/definition/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/enum/buildfile b/common/enum/buildfile new file mode 100644 index 0000000..eb3a29a --- /dev/null +++ b/common/enum/buildfile @@ -0,0 +1,41 @@ +# file : common/enum/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix enum_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/enum/driver.cxx b/common/enum/driver.cxx index e9b4bfb..ed3eb59 100644 --- a/common/enum/driver.cxx +++ b/common/enum/driver.cxx @@ -4,18 +4,20 @@ // Test automatic C++ enum mapping. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -27,18 +29,16 @@ main (int argc, char* argv[]) typedef odb::query query; typedef odb::result result; - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); object o; o.color_ = green; o.taste_ = object::sweet; o.position_ = object::left; -#ifdef HAVE_CXX11_ENUM o.gender_ = object::gender::female; o.scale_ = object::scale::ten; o.yesno_ = object::yesno::yes; -#endif { transaction t (db->begin ()); @@ -48,7 +48,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o1 (db->load (o.id_)); + unique_ptr o1 (db->load (o.id_)); t.commit (); assert (o == *o1); @@ -65,7 +65,6 @@ main (int argc, char* argv[]) assert (!r2.empty ()); assert (!r3.empty ()); -#ifdef HAVE_CXX11_ENUM result r4 (db->query (query::gender == object::gender::female)); result r5 (db->query (query::scale == object::scale::ten)); result r6 (db->query (query::yesno == object::yesno::yes)); @@ -73,7 +72,6 @@ main (int argc, char* argv[]) assert (!r4.empty ()); assert (!r5.empty ()); assert (!r6.empty ()); -#endif t.commit (); } diff --git a/common/enum/makefile b/common/enum/makefile deleted file mode 100644 index d5957fa..0000000 --- a/common/enum/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/enum/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix enum_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/enum/test.hxx b/common/enum/test.hxx index 0391581..a279112 100644 --- a/common/enum/test.hxx +++ b/common/enum/test.hxx @@ -5,7 +5,6 @@ #define TEST_HXX #include -#include // HAVE_CXX11_ENUM enum color {red, green, blue}; @@ -23,7 +22,6 @@ struct object position position_; -#ifdef HAVE_CXX11_ENUM enum class gender {male, female}; enum class scale: unsigned char {one = 1, ten = 10, hundred = 100}; enum class yesno: bool {no, yes}; @@ -31,8 +29,6 @@ struct object gender gender_; scale scale_; yesno yesno_; -#endif - }; inline bool @@ -43,12 +39,9 @@ operator == (const object& x, const object& y) && x.color_ == y.color_ && x.taste_ == y.taste_ && x.position_ == y.position_ -#ifdef HAVE_CXX11_ENUM && x.gender_ == y.gender_ && x.scale_ == y.scale_ && x.yesno_ == y.yesno_; -#endif - ; } #endif // TEST_HXX diff --git a/common/enum/test.std b/common/enum/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/enum/testscript b/common/enum/testscript new file mode 100644 index 0000000..d2ca28c --- /dev/null +++ b/common/enum/testscript @@ -0,0 +1,33 @@ +# file : common/enum/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/erase-query/buildfile b/common/erase-query/buildfile new file mode 100644 index 0000000..d833b6e --- /dev/null +++ b/common/erase-query/buildfile @@ -0,0 +1,41 @@ +# file : common/erase-query/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix erase_query_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/erase-query/driver.cxx b/common/erase-query/driver.cxx index f4a4374..6c11957 100644 --- a/common/erase-query/driver.cxx +++ b/common/erase-query/driver.cxx @@ -4,18 +4,20 @@ // Test query-based erase. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -42,7 +44,7 @@ main (int argc, char* argv[]) { typedef odb::query query; - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // erase_query() // diff --git a/common/erase-query/makefile b/common/erase-query/makefile deleted file mode 100644 index 0092fea..0000000 --- a/common/erase-query/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/erase-query/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix erase_query_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/erase-query/test.std b/common/erase-query/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/erase-query/testscript b/common/erase-query/testscript new file mode 100644 index 0000000..90862ab --- /dev/null +++ b/common/erase-query/testscript @@ -0,0 +1,33 @@ +# file : common/erase-query/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/id/auto/buildfile b/common/id/auto/buildfile new file mode 100644 index 0000000..c340200 --- /dev/null +++ b/common/id/auto/buildfile @@ -0,0 +1,40 @@ +# file : common/id/auto/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_id_auto_ \ + --generate-schema + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/id/auto/driver.cxx b/common/id/auto/driver.cxx index 19e0f14..d294e69 100644 --- a/common/id/auto/driver.cxx +++ b/common/id/auto/driver.cxx @@ -4,18 +4,20 @@ // Test automatic id assignment. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -24,7 +26,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // object // @@ -52,9 +54,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o1 (db->load (id1)); - auto_ptr o2 (db->load (id2)); - auto_ptr o3 (db->load (id3)); + unique_ptr o1 (db->load (id1)); + unique_ptr o2 (db->load (id2)); + unique_ptr o3 (db->load (id3)); t.commit (); assert (o1->id_ == id1 && o1->str_ == "one"); @@ -79,7 +81,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o (db->load (id)); + unique_ptr o (db->load (id)); t.commit (); assert (o->id_ == id); diff --git a/common/id/auto/makefile b/common/id/auto/makefile deleted file mode 100644 index e0477ba..0000000 --- a/common/id/auto/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/id/auto/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---table-prefix t_id_auto_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/id/auto/test.std b/common/id/auto/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/id/auto/testscript b/common/id/auto/testscript new file mode 100644 index 0000000..bb2a3a4 --- /dev/null +++ b/common/id/auto/testscript @@ -0,0 +1,33 @@ +# file : common/id/auto/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/id/composite/buildfile b/common/id/composite/buildfile new file mode 100644 index 0000000..4bc9f9a --- /dev/null +++ b/common/id/composite/buildfile @@ -0,0 +1,42 @@ +# file : common/id/composite/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_id_comp_ \ + --generate-schema \ + --generate-query \ + --generate-session + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/id/composite/driver.cxx b/common/id/composite/driver.cxx index f394091..3d66101 100644 --- a/common/id/composite/driver.cxx +++ b/common/id/composite/driver.cxx @@ -4,19 +4,21 @@ // Test composite object ids. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Test 1. // @@ -55,9 +57,9 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); - auto_ptr p2 (db->load (o2.id)); - auto_ptr p3 (db->load (o3.id)); + unique_ptr p1 (db->load (o1.id)); + unique_ptr p2 (db->load (o2.id)); + unique_ptr p3 (db->load (o3.id)); t.commit (); assert (*p1 == o1); @@ -69,7 +71,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr p (db->load (o1.id)); + unique_ptr p (db->load (o1.id)); p->num++; db->update (*p); t.commit (); @@ -77,7 +79,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o1.id)); + unique_ptr p (db->load (o1.id)); t.commit (); assert (p->num == o1.num + 1); @@ -93,7 +95,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->find (o1.id)); + unique_ptr p (db->find (o1.id)); assert (p.get () == 0); t.commit (); } @@ -134,9 +136,9 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr p2 (db->load (o2.id)); - auto_ptr p3 (db->load (o3.id)); - auto_ptr p4 (db->load (o4.id)); + unique_ptr p2 (db->load (o2.id)); + unique_ptr p3 (db->load (o3.id)); + unique_ptr p4 (db->load (o4.id)); t.commit (); assert (p2->o1->id == o2.o1->id); @@ -155,13 +157,13 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p2 (db->load (o2.id)); delete p2->o1; p2->o1 = new object1 (scomp ("o1", "o2", "bbb")); id2 = db->persist (p2->o1); db->update (*p2); - auto_ptr p3 (db->load (o3.id)); + unique_ptr p3 (db->load (o3.id)); delete p3->o1.back (); p3->o1.pop_back (); p3->o1.push_back (new object1 (scomp ("o1", "o3", "ccc"))); @@ -173,8 +175,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p2 (db->load (o2.id)); - auto_ptr p3 (db->load (o3.id)); + unique_ptr p2 (db->load (o2.id)); + unique_ptr p3 (db->load (o3.id)); t.commit (); assert (p2->o1->id == id2); @@ -298,7 +300,7 @@ main (int argc, char* argv[]) { session s; transaction t (db->begin ()); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (p2->o1->o2->id == o2.id); @@ -375,7 +377,7 @@ main (int argc, char* argv[]) { session s; transaction t (db->begin ()); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (p2->o1.size () == 2); @@ -458,7 +460,7 @@ main (int argc, char* argv[]) { session s; transaction t (db->begin ()); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (p2->o1.size () == 2); @@ -519,7 +521,7 @@ main (int argc, char* argv[]) { session s; transaction t (db->begin ()); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (p2->o1.size () == 2); @@ -571,7 +573,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); t.commit (); assert (*p == o); @@ -581,7 +583,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); p->num++; db->update (*p); @@ -599,7 +601,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); t.commit (); assert (p->num == o.num + 1); @@ -651,9 +653,9 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr p2a (db->load (o2a.id)); - auto_ptr p2b (db->load (o2b.id)); - auto_ptr p3 (db->load (o3.id)); + unique_ptr p2a (db->load (o2a.id)); + unique_ptr p2b (db->load (o2b.id)); + unique_ptr p3 (db->load (o3.id)); t.commit (); assert (p2a->o1 == 0); @@ -683,9 +685,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p2a (db->load (o2a.id)); - auto_ptr p2b (db->load (o2b.id)); - auto_ptr p3 (db->load (o3.id)); + unique_ptr p2a (db->load (o2a.id)); + unique_ptr p2b (db->load (o2b.id)); + unique_ptr p3 (db->load (o3.id)); t.commit (); assert (p2a->o1 != 0 && *p2a->o1 == *o2a.o1); diff --git a/common/id/composite/makefile b/common/id/composite/makefile deleted file mode 100644 index 3edac7f..0000000 --- a/common/id/composite/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/id/composite/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---generate-session --table-prefix t_id_comp_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/id/composite/test.std b/common/id/composite/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/id/composite/testscript b/common/id/composite/testscript new file mode 100644 index 0000000..f87d4bc --- /dev/null +++ b/common/id/composite/testscript @@ -0,0 +1,33 @@ +# file : common/id/composite/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/id/nested/buildfile b/common/id/nested/buildfile new file mode 100644 index 0000000..777cb65 --- /dev/null +++ b/common/id/nested/buildfile @@ -0,0 +1,41 @@ +# file : common/nested/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_id_nested_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/id/nested/driver.cxx b/common/id/nested/driver.cxx index 57647fd..92a80f6 100644 --- a/common/id/nested/driver.cxx +++ b/common/id/nested/driver.cxx @@ -4,19 +4,21 @@ // Test nested ids. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -27,7 +29,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Simple nested id. @@ -54,9 +56,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id.y)); - auto_ptr p2 (db->load (o2.id.y)); - auto_ptr p (db->load (o.id)); + unique_ptr p1 (db->load (o1.id.y)); + unique_ptr p2 (db->load (o2.id.y)); + unique_ptr p (db->load (o.id)); t.commit (); assert (*p1 == o1); @@ -86,9 +88,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id.y)); - auto_ptr p2 (db->load (o2.id.y)); - auto_ptr p (db->load (o.id)); + unique_ptr p1 (db->load (o1.id.y)); + unique_ptr p2 (db->load (o2.id.y)); + unique_ptr p (db->load (o.id)); t.commit (); assert (*p1 == o1); @@ -122,9 +124,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id.c)); - auto_ptr p2 (db->load (o2.id.c)); - auto_ptr p (db->load (o.id)); + unique_ptr p1 (db->load (o1.id.c)); + unique_ptr p2 (db->load (o2.id.c)); + unique_ptr p (db->load (o.id)); t.commit (); assert (*p1 == o1); @@ -154,9 +156,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id.c)); - auto_ptr p2 (db->load (o2.id.c)); - auto_ptr p (db->load (o.id)); + unique_ptr p1 (db->load (o1.id.c)); + unique_ptr p2 (db->load (o2.id.c)); + unique_ptr p (db->load (o.id)); t.commit (); assert (*p1 == o1); @@ -182,8 +184,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id.y)); - auto_ptr p2 (db->load (o2.id.y)); + unique_ptr p1 (db->load (o1.id.y)); + unique_ptr p2 (db->load (o2.id.y)); t.commit (); assert (*p1 == o1); @@ -202,8 +204,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id.y)); - auto_ptr p2 (db->load (o2.id.y)); + unique_ptr p1 (db->load (o1.id.y)); + unique_ptr p2 (db->load (o2.id.y)); t.commit (); assert (*p1 == o1); @@ -228,8 +230,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id.y)); - auto_ptr p2 (db->load (o2.id.y)); + unique_ptr p1 (db->load (o1.id.y)); + unique_ptr p2 (db->load (o2.id.y)); t.commit (); assert (*p1 == o1); @@ -247,8 +249,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id.y)); - auto_ptr p2 (db->load (o2.id.y)); + unique_ptr p1 (db->load (o1.id.y)); + unique_ptr p2 (db->load (o2.id.y)); t.commit (); assert (*p1 == o1); diff --git a/common/id/nested/makefile b/common/id/nested/makefile deleted file mode 100644 index 120a8f0..0000000 --- a/common/id/nested/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/id/nested/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix t_id_nested_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/id/nested/test.std b/common/id/nested/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/id/nested/testscript b/common/id/nested/testscript new file mode 100644 index 0000000..89e8d7a --- /dev/null +++ b/common/id/nested/testscript @@ -0,0 +1,33 @@ +# file : common/nested/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/include/.gitignore b/common/include/.gitignore new file mode 100644 index 0000000..d52f166 --- /dev/null +++ b/common/include/.gitignore @@ -0,0 +1,17 @@ +# ODB-generated files. +# +obj1-odb.?xx +obj1-odb-*.?xx +obj2-odb.?xx +obj2-odb-*.?xx +obj3-odb.?xx +obj3-odb-*.?xx + +test1-odb.?xx +test1-odb-*.?xx +test2-odb.?xx +test2-odb-*.?xx +test3-odb.?xx +test3-odb-*.?xx +test4-odb.?xx +test4-odb-*.?xx diff --git a/common/include/buildfile b/common/include/buildfile new file mode 100644 index 0000000..6db878c --- /dev/null +++ b/common/include/buildfile @@ -0,0 +1,51 @@ +# file : common/include/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +hs = obj1 obj2 obj3 test1 test2 test3 test4 + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +for h: $hs +{ + exe{driver}: {hxx ixx cxx}{$h-odb} + + <{hxx ixx cxx}{$h-odb}>: hxx{$h} libue{test-meta} + + for db: $databases + { + exe{driver}: {hxx ixx cxx}{$h-odb-$db}: include = $multi + <{hxx ixx cxx}{$h-odb-$db}>: hxx{$h} libue{test-meta} + } +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). Also see driver.cxx for the details on +# the -I options usage. +# +odb_options = --table-prefix include_ \ + "-I$out_base" \ + "-I$src_base/.." \ + "-I$src_base/../.." + +cxx.poptions =+ "-I$out_base" "-I$src_base" \ + "-I$out_base/../.." "-I$src_base/../.." + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/include/driver.cxx b/common/include/driver.cxx index 935d285..561746a 100644 --- a/common/include/driver.cxx +++ b/common/include/driver.cxx @@ -11,13 +11,12 @@ // #include -#include #include #include #include -#include +#include #include "test1.hxx" #include "test1-odb.hxx" @@ -31,6 +30,9 @@ #include "test4.hxx" #include "test4-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; diff --git a/common/include/makefile b/common/include/makefile deleted file mode 100644 index 2ee3f38..0000000 --- a/common/include/makefile +++ /dev/null @@ -1,83 +0,0 @@ -# file : common/include/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := obj1.hxx obj2.hxx obj3.hxx test1.hxx test2.hxx test3.hxx test4.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) \ --I$(out_base)/../.. -I$(src_base)/../.. -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen): odb_options += --database $(db_id) --table-prefix include_ -$(gen): cpp_options := -I$(out_base) -I$(src_base)/.. -I$(src_base)/../.. -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist: not supported. -# -$(dist): - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/include/test.std b/common/include/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/include/testscript b/common/include/testscript new file mode 100644 index 0000000..089f7a1 --- /dev/null +++ b/common/include/testscript @@ -0,0 +1,31 @@ +# file : common/include/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* &!odb-test.db +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $* +} diff --git a/common/index/buildfile b/common/index/buildfile new file mode 100644 index 0000000..535bd26 --- /dev/null +++ b/common/index/buildfile @@ -0,0 +1,40 @@ +# file : common/index/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix index_ \ + --generate-schema + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/index/driver.cxx b/common/index/driver.cxx index 7634349..7a22a7c 100644 --- a/common/index/driver.cxx +++ b/common/index/driver.cxx @@ -5,18 +5,20 @@ // tests. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -27,7 +29,7 @@ main (int argc, char* argv[]) { // This is just a schema creation test. // - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); { transaction t (db->begin ()); diff --git a/common/index/makefile b/common/index/makefile deleted file mode 100644 index b0d062b..0000000 --- a/common/index/makefile +++ /dev/null @@ -1,116 +0,0 @@ -# file : common/index/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --table-prefix index_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/index/test.std b/common/index/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/index/testscript b/common/index/testscript new file mode 100644 index 0000000..cbce341 --- /dev/null +++ b/common/index/testscript @@ -0,0 +1,33 @@ +# file : common/index/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/inheritance/polymorphism/.gitignore b/common/inheritance/polymorphism/.gitignore new file mode 100644 index 0000000..f183a6f --- /dev/null +++ b/common/inheritance/polymorphism/.gitignore @@ -0,0 +1,76 @@ +# ODB-generated files. +# +test1-odb.?xx +test1-odb-*.?xx +test1.sql +test1-*.sql + +test2-odb.?xx +test2-odb-*.?xx +test2.sql +test2-*.sql + +test3-odb.?xx +test3-odb-*.?xx +test3.sql +test3-*.sql + +test4-odb.?xx +test4-odb-*.?xx +test4.sql +test4-*.sql + +test5-odb.?xx +test5-odb-*.?xx +test5.sql +test5-*.sql + +test6-odb.?xx +test6-odb-*.?xx +test6.sql +test6-*.sql + +test7-odb.?xx +test7-odb-*.?xx +test7.sql +test7-*.sql + +test8-odb.?xx +test8-odb-*.?xx +test8.sql +test8-*.sql + +test9-odb.?xx +test9-odb-*.?xx +test9.sql +test9-*.sql + +test10-odb.?xx +test10-odb-*.?xx +test10.sql +test10-*.sql + +test11-odb.?xx +test11-odb-*.?xx +test11.sql +test11-*.sql + +test12-odb.?xx +test12-odb-*.?xx +test12.sql +test12-*.sql + +test13-odb.?xx +test13-odb-*.?xx +test13.sql +test13-*.sql + +test14-odb.?xx +test14-odb-*.?xx +test14.sql +test14-*.sql + +test15-odb.?xx +test15-odb-*.?xx +test15.sql +test15-*.sql diff --git a/common/inheritance/polymorphism/buildfile b/common/inheritance/polymorphism/buildfile new file mode 100644 index 0000000..846eb12 --- /dev/null +++ b/common/inheritance/polymorphism/buildfile @@ -0,0 +1,52 @@ +# file : common/inheritance/polymorphism/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +hs = test1 test2 test3 test4 test5 test6 test7 test8 test9 test10 test11 \ + test12 test13 test14 test15 + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +for h: $hs +{ + exe{driver}: {hxx ixx cxx}{$h-odb} + + <{hxx ixx cxx}{$h-odb}>: hxx{$h} libue{test-meta} + + for db: $databases + { + exe{driver}: {hxx ixx cxx}{$h-odb-$db}: include = $multi + <{hxx ixx cxx}{$h-odb-$db}>: hxx{$h} libue{test-meta} + } +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix inhrt_p_ \ + --generate-schema \ + --generate-query \ + --generate-prepared + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc + +testscript@./: schemas = $hs diff --git a/common/inheritance/polymorphism/driver.cxx b/common/inheritance/polymorphism/driver.cxx index 6d4e615..12f4666 100644 --- a/common/inheritance/polymorphism/driver.cxx +++ b/common/inheritance/polymorphism/driver.cxx @@ -4,15 +4,14 @@ // Test polymorphic object inheritance. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include #include -#include +#include #include "test1.hxx" #include "test2.hxx" @@ -46,6 +45,9 @@ #include "test14-odb.hxx" #include "test15-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -87,7 +89,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Test 1: basic polymorphism functionality. // @@ -136,9 +138,9 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr pr (db->load (r.id)); - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); + unique_ptr pr (db->load (r.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd (db->load (d.id)); t.commit (); assert (*pr == r); @@ -150,9 +152,9 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr pb (db->load (b.id)); - auto_ptr pd1 (db->load (d.id)); - auto_ptr pd2 (db->load (d.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd1 (db->load (d.id)); + unique_ptr pd2 (db->load (d.id)); t.commit (); assert (*pb == b); @@ -167,14 +169,14 @@ main (int argc, char* argv[]) try { - auto_ptr p (db->load (r.id)); + unique_ptr p (db->load (r.id)); assert (false); } catch (const object_not_persistent&) {} try { - auto_ptr p (db->load (b.id)); + unique_ptr p (db->load (b.id)); assert (false); } catch (const object_not_persistent&) {} @@ -452,14 +454,14 @@ main (int argc, char* argv[]) if (ds == "test1::base") { - auto_ptr d1 (db->load (d.id)); + unique_ptr d1 (db->load (d.id)); assert (*d1 == d); assert (*i == b); mask |= 1; } else if (ds == "test1::derived") { - auto_ptr b1 (db->load (b.id)); + unique_ptr b1 (db->load (b.id)); assert (*b1 == b); assert (*i == d); mask |= 2; @@ -562,9 +564,9 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr pr (db->load (r.id)); - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); + unique_ptr pr (db->load (r.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd (db->load (d.id)); t.commit (); assert (*pr == r); @@ -661,9 +663,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pd (db->load (d.id)); - auto_ptr pb (db->load (d.id)); - auto_ptr pr (db->load (d.id)); + unique_ptr pd (db->load (d.id)); + unique_ptr pb (db->load (d.id)); + unique_ptr pr (db->load (d.id)); t.commit (); assert (pd->rp.object_id () == rp.id && @@ -791,18 +793,18 @@ main (int argc, char* argv[]) transaction t (db->begin ()); { - auto_ptr p1 (db->load (b1.id)); - auto_ptr p2 (db->load (b2.id)); - auto_ptr p3 (db->load (b3.id)); + unique_ptr p1 (db->load (b1.id)); + unique_ptr p2 (db->load (b2.id)); + unique_ptr p3 (db->load (b3.id)); assert (*p1 == b1); assert (*p2 == b2); assert (*p3 == b3); } { - auto_ptr p1 (db->load (d1.id)); - auto_ptr p2 (db->load (d2.id)); - auto_ptr p3 (db->load (d3.id)); + unique_ptr p1 (db->load (d1.id)); + unique_ptr p2 (db->load (d2.id)); + unique_ptr p3 (db->load (d3.id)); assert (*p1 == d1); assert (*p2 == d2); assert (*p3 == d3); @@ -1028,11 +1030,7 @@ main (int argc, char* argv[]) // Root. // { -#ifdef HAVE_CXX11 unique_ptr p (db->load (r.id)); -#else - auto_ptr p (db->load (r.id)); -#endif r.num++; r.strs.push_back ("aaaa"); @@ -1056,11 +1054,7 @@ main (int argc, char* argv[]) // Base. // { -#ifdef HAVE_CXX11 unique_ptr p (db->load (b.id)); -#else - auto_ptr p (db->load (b.id)); -#endif b.num++; b.str += "b"; @@ -1088,11 +1082,7 @@ main (int argc, char* argv[]) // Derived. // { -#ifdef HAVE_CXX11 unique_ptr p (db->load (d.id)); // Via root. -#else - auto_ptr p (db->load (d.id)); // Via root. -#endif d.num++; d.str += "d"; @@ -1156,11 +1146,7 @@ main (int argc, char* argv[]) // Root. // { -#ifdef HAVE_CXX11 unique_ptr p (db->load (r.id)); -#else - auto_ptr p (db->load (r.id)); -#endif r.num++; r.strs.push_back ("aaaaa"); @@ -1180,11 +1166,7 @@ main (int argc, char* argv[]) // Base. // { -#ifdef HAVE_CXX11 unique_ptr p (db->load (b.id)); -#else - auto_ptr p (db->load (b.id)); -#endif b.num++; b.str += "b"; @@ -1206,11 +1188,7 @@ main (int argc, char* argv[]) // Derived. // { -#ifdef HAVE_CXX11 unique_ptr p (db->load (d.id)); // Via root. -#else - auto_ptr p (db->load (d.id)); // Via root. -#endif d.num++; d.str += "d"; @@ -1264,11 +1242,7 @@ main (int argc, char* argv[]) base b (1, 1, "bbb"); -#ifdef HAVE_CXX11 unique_ptr d (new derived (2, 2, "ddd")); -#else - auto_ptr d (new derived (2, 2, "ddd")); -#endif // Persist. // @@ -1284,13 +1258,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); -#ifdef HAVE_CXX11 unique_ptr pb (db->load (b.id)); unique_ptr pd (db->load (d->id)); -#else - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d->id)); -#endif db->load (b.id, *pb); db->load (d->id, *pd); @@ -1353,11 +1322,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); -#ifdef HAVE_CXX11 unique_ptr p (db->load (d.id)); -#else - auto_ptr p (db->load (d.id)); -#endif t.commit (); } } @@ -1365,7 +1330,6 @@ main (int argc, char* argv[]) // Test 7: polymorphism and object cache (session). // -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) { using namespace test7; @@ -1468,7 +1432,6 @@ main (int argc, char* argv[]) } } } -#endif // Test 8: polymorphism and abstract bases. // @@ -1517,15 +1480,9 @@ main (int argc, char* argv[]) // load (id) // -#ifdef HAVE_CXX11 unique_ptr pb (db->load (b.id)); unique_ptr pd1 (db->load (d1.id)); unique_ptr pd2 (db->load (d2.id)); -#else - auto_ptr pb (db->load (b.id)); - auto_ptr pd1 (db->load (d1.id)); - auto_ptr pd2 (db->load (d2.id)); -#endif assert (*pb == b); assert (*pd1 == d1); @@ -1608,15 +1565,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); -#ifdef HAVE_CXX11 unique_ptr pb (db->load (b.id)); unique_ptr pd1 (db->load (d1.id)); unique_ptr pd2 (db->load (d2.id)); -#else - auto_ptr pb (db->load (b.id)); - auto_ptr pd1 (db->load (d1.id)); - auto_ptr pd2 (db->load (d2.id)); -#endif t.commit (); @@ -1743,7 +1694,6 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); -#ifdef HAVE_CXX11 unique_ptr p_ro_r (db->load (ro_r.id)); unique_ptr p_rw_b (db->load (rw_b.id)); unique_ptr p_ro_d (db->load (ro_d.id)); @@ -1751,15 +1701,6 @@ main (int argc, char* argv[]) unique_ptr p_rw_r (db->load (rw_r.id)); unique_ptr p_ro_b (db->load (ro_b.id)); unique_ptr p_rw_d (db->load (rw_d.id)); -#else - auto_ptr p_ro_r (db->load (ro_r.id)); - auto_ptr p_rw_b (db->load (rw_b.id)); - auto_ptr p_ro_d (db->load (ro_d.id)); - - auto_ptr p_rw_r (db->load (rw_r.id)); - auto_ptr p_ro_b (db->load (ro_b.id)); - auto_ptr p_rw_d (db->load (rw_d.id)); -#endif t.commit (); @@ -1795,13 +1736,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); -#ifdef HAVE_CXX11 unique_ptr pb (db->load (b.id)); unique_ptr pd (db->load (d.id)); -#else - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); -#endif t.commit (); assert (*pb == b); @@ -1825,13 +1761,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); -#ifdef HAVE_CXX11 unique_ptr pb (db->load (b.id)); unique_ptr pd (db->load (d.id)); -#else - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); -#endif t.commit (); assert (*pb == b); @@ -1867,13 +1798,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); -#ifdef HAVE_CXX11 unique_ptr pb (db->load (b.id)); unique_ptr pd (db->load (d.id)); -#else - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); -#endif t.commit (); assert (*pb == b); @@ -1906,13 +1832,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); -#ifdef HAVE_CXX11 unique_ptr pb (db->load (b.id)); unique_ptr pd (db->load (d.id)); -#else - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); -#endif t.commit (); @@ -1975,13 +1896,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); -#ifdef HAVE_CXX11 unique_ptr pb (db->load (id1)); unique_ptr pd (db->load (id2)); -#else - auto_ptr pb (db->load (id1)); - auto_ptr pd (db->load (id2)); -#endif t.commit (); @@ -2019,17 +1935,10 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); -#ifdef HAVE_CXX11 unique_ptr pbr (db->load (b.id)); unique_ptr pdr (db->load (d.id)); unique_ptr pdb (db->load (d.id)); unique_ptr pb1r (db->load (b1.id)); -#else - auto_ptr pbr (db->load (b.id)); - auto_ptr pdr (db->load (d.id)); - auto_ptr pdb (db->load (d.id)); - auto_ptr pb1r (db->load (b1.id)); -#endif t.commit (); base& rb (static_cast (*pbr)); @@ -2083,10 +1992,10 @@ main (int argc, char* argv[]) object4* p4 (db->load (d.o4[0]->id)); t.commit (); - assert (p1->d->num = d.num); - assert (p2->d[0]->num = d.num); - assert (p3->d[0]->num = d.num); - assert (p4->d->num = d.num); + assert (p1->d->num == d.num); + assert (p2->d[0]->num == d.num); + assert (p3->d[0]->num == d.num); + assert (p4->d->num == d.num); delete p1->d; } @@ -2149,11 +2058,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); -#ifdef HAVE_CXX11 unique_ptr pb (db->load (d.id)); -#else - auto_ptr pb (db->load (d.id)); -#endif t.commit (); derived* pd (dynamic_cast (pb.get ())); diff --git a/common/inheritance/polymorphism/makefile b/common/inheritance/polymorphism/makefile deleted file mode 100644 index 2b969f5..0000000 --- a/common/inheritance/polymorphism/makefile +++ /dev/null @@ -1,120 +0,0 @@ -# file : common/inheritance/polymorphism/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx test4.hxx test5.hxx test6.hxx \ -test7.hxx test8.hxx test9.hxx test10.hxx test11.hxx test12.hxx test13.hxx \ -test14.hxx test15.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---generate-prepared --table-prefix inhrt_p_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export odb_header_stem := $(basename $(odb_hdr)) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule,,$(filter %.sql,$(gen)))) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d,$(filter %.sql,$(gen))))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/inheritance/polymorphism/test.std b/common/inheritance/polymorphism/test.std deleted file mode 100644 index 5c18191..0000000 --- a/common/inheritance/polymorphism/test.std +++ /dev/null @@ -1,36 +0,0 @@ -base pre_persist 1 const -base post_persist 1 const -derived pre_persist 2 const -derived post_persist 2 const -base pre_load 0 -base post_load 1 -derived pre_load 0 const -derived post_load 2 const -base pre_load 1 -base post_load 1 -derived pre_load 2 const -derived post_load 2 const -base pre_load 1 -base post_load 1 -derived pre_load 2 const -derived post_load 2 const -base pre_update 1 const -base post_update 1 const -derived pre_update 2 const -derived post_update 2 const -base pre_load 0 -base post_load 1 -derived pre_load 0 const -derived post_load 2 const -base pre_erase 1 const -base post_erase 1 const -derived pre_erase 2 const -derived post_erase 2 const -derived pre_persist 3 const -derived post_persist 3 const -derived pre_persist 4 const -derived post_persist 4 const -derived pre_load 0 const -derived pre_load 0 const -derived post_load 4 const -derived post_load 3 const diff --git a/common/inheritance/polymorphism/test5.hxx b/common/inheritance/polymorphism/test5.hxx index e6dba8d..172e7e8 100644 --- a/common/inheritance/polymorphism/test5.hxx +++ b/common/inheritance/polymorphism/test5.hxx @@ -4,8 +4,6 @@ #ifndef TEST5_HXX #define TEST5_HXX -#include // HAVE_CXX11 - #include #include #include @@ -18,11 +16,7 @@ #pragma db namespace table("t5_") namespace test5 { -#ifdef HAVE_CXX11 #pragma db object polymorphic optimistic pointer(std::unique_ptr) -#else - #pragma db object polymorphic optimistic pointer(std::auto_ptr) -#endif struct root { virtual ~root () {} diff --git a/common/inheritance/polymorphism/test6.hxx b/common/inheritance/polymorphism/test6.hxx index 1e42400..b0f9a16 100644 --- a/common/inheritance/polymorphism/test6.hxx +++ b/common/inheritance/polymorphism/test6.hxx @@ -4,8 +4,6 @@ #ifndef TEST6_HXX #define TEST6_HXX -#include // HAVE_CXX11 - #include #include @@ -17,11 +15,7 @@ #pragma db namespace table("t6_") namespace test6 { -#ifdef HAVE_CXX11 #pragma db object polymorphic pointer(std::unique_ptr) -#else - #pragma db object polymorphic pointer(std::auto_ptr) -#endif struct root { virtual ~root () {} @@ -60,11 +54,7 @@ namespace test6 unsigned long dnum; std::string dstr; -#ifdef HAVE_CXX11 std::unique_ptr ptr; -#else - std::auto_ptr ptr; -#endif void db_callback (odb::callback_event, odb::database&) const; diff --git a/common/inheritance/polymorphism/test7.hxx b/common/inheritance/polymorphism/test7.hxx index 6edb834..60da98e 100644 --- a/common/inheritance/polymorphism/test7.hxx +++ b/common/inheritance/polymorphism/test7.hxx @@ -4,28 +4,17 @@ #ifndef TEST7_HXX #define TEST7_HXX -#include // HAVE_CXX11, HAVE_TR1_MEMORY - #include #include -#if !defined(HAVE_CXX11) && defined(HAVE_TR1_MEMORY) -# include -#endif - #include // Test polymorphism and object cache (session). // -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) #pragma db namespace table("t7_") namespace test7 { -#ifdef HAVE_CXX11 using std::shared_ptr; -#else - using std::tr1::shared_ptr; -#endif #pragma db object polymorphic pointer(shared_ptr) session struct root @@ -61,6 +50,5 @@ namespace test7 std::string dstr; }; } -#endif #endif // TEST7_HXX diff --git a/common/inheritance/polymorphism/testscript b/common/inheritance/polymorphism/testscript new file mode 100644 index 0000000..89e5726 --- /dev/null +++ b/common/inheritance/polymorphism/testscript @@ -0,0 +1,80 @@ +# file : common/inheritance/polymorphism/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + ++cat <=output + base pre_persist 1 const + base post_persist 1 const + derived pre_persist 2 const + derived post_persist 2 const + base pre_load 0 + base post_load 1 + derived pre_load 0 const + derived post_load 2 const + base pre_load 1 + base post_load 1 + derived pre_load 2 const + derived post_load 2 const + base pre_load 1 + base post_load 1 + derived pre_load 2 const + derived post_load 2 const + base pre_update 1 const + base post_update 1 const + derived pre_update 2 const + derived post_update 2 const + base pre_load 0 + base post_load 1 + derived pre_load 0 const + derived post_load 2 const + base pre_erase 1 const + base post_erase 1 const + derived pre_erase 2 const + derived post_erase 2 const + derived pre_persist 3 const + derived post_persist 3 const + derived pre_persist 4 const + derived post_persist 4 const + derived pre_load 0 const + derived pre_load 0 const + derived post_load 4 const + derived post_load 3 const + EOI + +test.redirects += >>>../output + +: mysql +: +if $mysql +{ + .include ../../../mysql-schema.testscript + + for s: $schemas + cat $out_base/"$s"($multi ? '-mysql' : '').sql | $create_schema_cmd + end; + + $* ($multi ? 'mysql' : ) $mysql_options +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql-schema.testscript + + for s: $schemas + $create_schema_cmd -f $out_base/"$s"($multi ? '-pgsql' : '').sql + end; + + $* ($multi ? 'pgsql' : ) $pgsql_options +} diff --git a/common/inheritance/reuse/buildfile b/common/inheritance/reuse/buildfile new file mode 100644 index 0000000..b82439a --- /dev/null +++ b/common/inheritance/reuse/buildfile @@ -0,0 +1,41 @@ +# file : common/inheritance/reuse/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix inhrt_r_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/inheritance/reuse/driver.cxx b/common/inheritance/reuse/driver.cxx index 616c6a4..e6122bb 100644 --- a/common/inheritance/reuse/driver.cxx +++ b/common/inheritance/reuse/driver.cxx @@ -4,18 +4,20 @@ // Test reuse object inheritance. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -24,7 +26,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); base b; b.comp_.bools.push_back (true); @@ -99,7 +101,7 @@ main (int argc, char* argv[]) reference r; r.o1_ = &o1; - empty e; + empty_object e; e.comp_.bools.push_back (true); e.comp_.bools.push_back (true); e.comp_.obools.push_back (true); @@ -134,12 +136,12 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr lb (db->load (b.id_)); - auto_ptr lo1 (db->load (o1.id_)); - auto_ptr lo2 (db->load (o2.id_)); - auto_ptr lo3 (db->load (o3.id_)); - auto_ptr le (db->load (e.id_)); - auto_ptr lr (db->load (r.id_)); + unique_ptr lb (db->load (b.id_)); + unique_ptr lo1 (db->load (o1.id_)); + unique_ptr lo2 (db->load (o2.id_)); + unique_ptr lo3 (db->load (o3.id_)); + unique_ptr le (db->load (e.id_)); + unique_ptr lr (db->load (r.id_)); t.commit (); assert (b == *lb); diff --git a/common/inheritance/reuse/makefile b/common/inheritance/reuse/makefile deleted file mode 100644 index 58222f3..0000000 --- a/common/inheritance/reuse/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/inheritance/reuse/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix inhrt_r_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/inheritance/reuse/test.hxx b/common/inheritance/reuse/test.hxx index 8124417..48f474f 100644 --- a/common/inheritance/reuse/test.hxx +++ b/common/inheritance/reuse/test.hxx @@ -146,7 +146,7 @@ struct object3: abstract_base, id_base // Empty derived object. // #pragma db object -struct empty: base +struct empty_object: base { }; diff --git a/common/inheritance/reuse/test.std b/common/inheritance/reuse/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/inheritance/reuse/testscript b/common/inheritance/reuse/testscript new file mode 100644 index 0000000..995b3f5 --- /dev/null +++ b/common/inheritance/reuse/testscript @@ -0,0 +1,33 @@ +# file : common/inheritance/reuse/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/inheritance/transient/buildfile b/common/inheritance/transient/buildfile new file mode 100644 index 0000000..1961abc --- /dev/null +++ b/common/inheritance/transient/buildfile @@ -0,0 +1,41 @@ +# file : common/inheritance/transient/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix inhrt_t_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/inheritance/transient/driver.cxx b/common/inheritance/transient/driver.cxx index fa6e05d..1caae6c 100644 --- a/common/inheritance/transient/driver.cxx +++ b/common/inheritance/transient/driver.cxx @@ -4,18 +4,20 @@ // Test transient inheritance of objects, composite value types, and views. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -24,7 +26,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); object o; o.num = 1; @@ -48,7 +50,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr p (db->load (o.id_)); + unique_ptr p (db->load (o.id_)); t.commit (); assert (*p == o); diff --git a/common/inheritance/transient/makefile b/common/inheritance/transient/makefile deleted file mode 100644 index 57e7909..0000000 --- a/common/inheritance/transient/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/inheritance/transient/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix inhrt_t_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/inheritance/transient/test.std b/common/inheritance/transient/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/inheritance/transient/testscript b/common/inheritance/transient/testscript new file mode 100644 index 0000000..bce91de --- /dev/null +++ b/common/inheritance/transient/testscript @@ -0,0 +1,33 @@ +# file : common/inheritance/transient/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/inverse/buildfile b/common/inverse/buildfile new file mode 100644 index 0000000..63fa1cb --- /dev/null +++ b/common/inverse/buildfile @@ -0,0 +1,42 @@ +# file : common/inverse/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_inverse_ \ + --generate-schema \ + --generate-query \ + --generate-session + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/inverse/driver.cxx b/common/inverse/driver.cxx index 07c584d..842438e 100644 --- a/common/inverse/driver.cxx +++ b/common/inverse/driver.cxx @@ -4,19 +4,21 @@ // Test bidirectional relationships with inverse sides. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Test raw pointers. // @@ -211,7 +213,6 @@ main (int argc, char* argv[]) // Test shared_ptr/weak_ptr. // -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) { using namespace test2; @@ -323,7 +324,6 @@ main (int argc, char* argv[]) } } } -#endif // Test inverse based on points_to. // @@ -346,7 +346,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o1.id)); + unique_ptr p (db->load (o1.id)); assert (p->o2->id == o1.o2->id); t.commit (); @@ -357,7 +357,7 @@ main (int argc, char* argv[]) transaction t (db->begin ()); - auto_ptr p (db->query_one (query::o2->o1.i == o1.id.i && + unique_ptr p (db->query_one (query::o2->o1.i == o1.id.i && query::o2->o1.j == o1.id.j)); assert (p->o2->id == o1.o2->id); @@ -383,7 +383,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o3.id)); + unique_ptr p (db->load (o3.id)); assert (p->o4[0]->id == o3.o4[0]->id); assert (p->o4[1]->id == o3.o4[1]->id); @@ -395,7 +395,7 @@ main (int argc, char* argv[]) transaction t (db->begin ()); - auto_ptr p (db->query_one (query::id == o3.id)); + unique_ptr p (db->query_one (query::id == o3.id)); assert (p->o4[0]->id == o3.o4[0]->id); assert (p->o4[1]->id == o3.o4[1]->id); @@ -426,7 +426,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o1.id)); + unique_ptr p (db->load (o1.id)); assert (p->o2->id.i == o1.o2->id.i && p->o2->id.j == o1.o2->id.j); t.commit (); @@ -437,7 +437,7 @@ main (int argc, char* argv[]) transaction t (db->begin ()); - auto_ptr p (db->query_one ( + unique_ptr p (db->query_one ( query::o2->id.i == o1.o2->id.i && query::o2->id.j == o1.o2->id.j)); assert (p->o2->id.i == o1.o2->id.i && p->o2->id.j == o1.o2->id.j); @@ -466,7 +466,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o3.id)); + unique_ptr p (db->load (o3.id)); assert (p->o4[0]->id.i == o3.o4[0]->id.i && p->o4[0]->id.j == o3.o4[0]->id.j); @@ -481,7 +481,7 @@ main (int argc, char* argv[]) transaction t (db->begin ()); - auto_ptr p (db->query_one (query::id == o3.id)); + unique_ptr p (db->query_one (query::id == o3.id)); assert (p->o4[0]->id.i == o3.o4[0]->id.i && p->o4[0]->id.j == o3.o4[0]->id.j); diff --git a/common/inverse/makefile b/common/inverse/makefile deleted file mode 100644 index 59d86c1..0000000 --- a/common/inverse/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/inverse/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---generate-session --table-prefix t_inverse_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/inverse/test.hxx b/common/inverse/test.hxx index 35fd813..a7b8678 100644 --- a/common/inverse/test.hxx +++ b/common/inverse/test.hxx @@ -4,8 +4,6 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11, HAVE_TR1_MEMORY - #include #include #include @@ -13,10 +11,6 @@ #include -#if !defined(HAVE_CXX11) && defined(HAVE_TR1_MEMORY) -# include -#endif - // Test raw pointers. // #pragma db namespace table("t1_") @@ -127,18 +121,11 @@ namespace test1 // Test shared_ptr/weak_ptr. // -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) - #pragma db namespace table("t2_") namespace test2 { -#ifdef HAVE_CXX11 using std::shared_ptr; using std::weak_ptr; -#else - using std::tr1::shared_ptr; - using std::tr1::weak_ptr; -#endif struct obj1; struct obj2; @@ -229,7 +216,6 @@ namespace test2 obj1_wptr_vec o1; }; } -#endif // Test inverse based on points_to. // diff --git a/common/inverse/test.std b/common/inverse/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/inverse/testscript b/common/inverse/testscript new file mode 100644 index 0000000..c2a4e3e --- /dev/null +++ b/common/inverse/testscript @@ -0,0 +1,33 @@ +# file : common/inverse/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/lazy-ptr/buildfile b/common/lazy-ptr/buildfile new file mode 100644 index 0000000..d495d2f --- /dev/null +++ b/common/lazy-ptr/buildfile @@ -0,0 +1,41 @@ +# file : common/lazy-ptr/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix lazy_ptr_ \ + --generate-schema \ + --generate-session + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/lazy-ptr/driver.cxx b/common/lazy-ptr/driver.cxx index 9458772..9a3b324 100644 --- a/common/lazy-ptr/driver.cxx +++ b/common/lazy-ptr/driver.cxx @@ -4,26 +4,32 @@ // Test lazy object pointers. // -#include // std::auto_ptr +#include // std::unique_ptr #include // std::move -#include #include #include #include #include -#include // ODB_CXX11_* -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; namespace test2 { + cont::cont (unsigned long i) + : id (i) + { + } + obj_ptr create (unsigned int id) { @@ -44,7 +50,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Raw. // @@ -61,8 +67,8 @@ main (int argc, char* argv[]) t.commit (); } - auto_ptr c1 (new cont (1)); - auto_ptr c2 (new cont (2)); + unique_ptr c1 (new cont (1)); + unique_ptr c2 (new cont (2)); lazy_ptr lo1 (*db, 1); obj* o2 (new obj (2)); @@ -104,7 +110,7 @@ main (int argc, char* argv[]) { session s; transaction t (db->begin ()); - auto_ptr c (db->load (1)); + unique_ptr c (db->load (1)); obj* o (db->load (1)); // Not loaded. @@ -117,13 +123,8 @@ main (int argc, char* argv[]) // Correct object ids. // -#if defined(HAVE_CXX11) && defined(ODB_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGUMENT) assert (c->o[0].object_id () == o->id); assert (o->c.object_id () == c->id); -#else - assert (c->o[0].object_id () == o->id); - assert (o->c.object_id () == c->id); -#endif // Load. // @@ -144,7 +145,7 @@ main (int argc, char* argv[]) } } - // std::auto_ptr/std::unique_ptr + // std::unique_ptr // { using namespace test2; @@ -164,11 +165,7 @@ main (int argc, char* argv[]) lazy_obj_ptr lo1 = create (*db, 1); lo1 = create (*db, 1); -#ifdef HAVE_CXX11 c1->o = std::move (lo1); -#else - c1->o = lo1; -#endif c2->o = create (2); { @@ -197,13 +194,8 @@ main (int argc, char* argv[]) // Correct object ids. // -#if defined(HAVE_CXX11) && defined(ODB_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGUMENT) assert (c->o.object_id () == o->id); assert (o->c.object_id () == c->id); -#else - assert (c->o.object_id () == o->id); - assert (o->c.object_id () == c->id); -#endif // Load. // @@ -237,7 +229,6 @@ main (int argc, char* argv[]) // Shared pointer from C++11 or TR1. // -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) { using namespace test3; @@ -276,7 +267,6 @@ main (int argc, char* argv[]) // Test move constructors. // -#ifdef HAVE_CXX11 { lazy_shared_ptr tmp (*db, 1); lazy_shared_ptr l (std::move (tmp)); @@ -288,7 +278,6 @@ main (int argc, char* argv[]) lazy_shared_ptr l (*db, std::move (tmp)); assert (lc1 == l); } -#endif { transaction t (db->begin ()); @@ -321,13 +310,8 @@ main (int argc, char* argv[]) // Correct object ids. // -#if defined(HAVE_CXX11) && defined(ODB_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGUMENT) assert (c->o[0].object_id () == o->id); assert (o->c.object_id () == c->id); -#else - assert (c->o[0].object_id () == o->id); - assert (o->c.object_id () == c->id); -#endif // Load. // @@ -352,12 +336,7 @@ main (int argc, char* argv[]) assert (!c->o[1].loaded ()); lazy_shared_ptr l (c->o[1].lock ()); assert (!l.loaded ()); - -#if defined(HAVE_CXX11) && defined(ODB_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGUMENT) assert (l.object_id () == c->o[1].object_id ()); -#else - assert (l.object_id () == c->o[1].object_id ()); -#endif // Reload. // @@ -372,7 +351,6 @@ main (int argc, char* argv[]) t.commit (); } } -#endif } catch (const odb::exception& e) { diff --git a/common/lazy-ptr/makefile b/common/lazy-ptr/makefile deleted file mode 100644 index 62880fa..0000000 --- a/common/lazy-ptr/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/lazy-ptr/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-session \ ---table-prefix lazy_ptr_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/lazy-ptr/test.hxx b/common/lazy-ptr/test.hxx index da1f2c4..f946029 100644 --- a/common/lazy-ptr/test.hxx +++ b/common/lazy-ptr/test.hxx @@ -4,8 +4,6 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11, HAVE_TR1_MEMORY - #include #include #include @@ -13,11 +11,6 @@ #include #include -#if !defined(HAVE_CXX11) && defined(HAVE_TR1_MEMORY) -# include -# include -#endif - // Raw pointer. // #pragma db namespace table("t1_") @@ -76,22 +69,16 @@ namespace test2 class obj; class cont; -#ifdef HAVE_CXX11 typedef std::unique_ptr obj_ptr; typedef std::unique_ptr cont_ptr; typedef odb::lazy_unique_ptr lazy_obj_ptr; -#else - typedef std::auto_ptr obj_ptr; - typedef std::auto_ptr cont_ptr; - typedef odb::lazy_auto_ptr lazy_obj_ptr; -#endif #pragma db object class cont { public: - cont () {} - cont (unsigned long i): id (i) {} + cont () = default; + cont (unsigned long id); #pragma db id unsigned long id; @@ -104,7 +91,7 @@ namespace test2 class obj { public: - obj () {} + obj () = default; obj (unsigned long i): id (i) {} #pragma db id @@ -117,19 +104,12 @@ namespace test2 // shared_ptr // -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) #pragma db namespace table("t3_") namespace test3 { -#ifdef HAVE_CXX11 using std::shared_ptr; using odb::lazy_shared_ptr; using odb::lazy_weak_ptr; -#else - using std::tr1::shared_ptr; - using odb::tr1::lazy_shared_ptr; - using odb::tr1::lazy_weak_ptr; -#endif class obj; @@ -163,6 +143,5 @@ namespace test3 lazy_shared_ptr c; }; } -#endif #endif // TEST_HXX diff --git a/common/lazy-ptr/test.std b/common/lazy-ptr/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/lazy-ptr/testscript b/common/lazy-ptr/testscript new file mode 100644 index 0000000..736fa4c --- /dev/null +++ b/common/lazy-ptr/testscript @@ -0,0 +1,33 @@ +# file : common/lazy-ptr/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/lifecycle/buildfile b/common/lifecycle/buildfile new file mode 100644 index 0000000..b5b2b00 --- /dev/null +++ b/common/lifecycle/buildfile @@ -0,0 +1,40 @@ +# file : common/lifecycle/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix lifecycle_ \ + --generate-schema + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/lifecycle/driver.cxx b/common/lifecycle/driver.cxx index 460cae1..a01d5bd 100644 --- a/common/lifecycle/driver.cxx +++ b/common/lifecycle/driver.cxx @@ -4,18 +4,20 @@ // Test object state transistions. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -24,7 +26,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Database operation out of transaction. // @@ -43,7 +45,7 @@ main (int argc, char* argv[]) try { transaction t (db->begin ()); - auto_ptr o (db->load (1)); + unique_ptr o (db->load (1)); assert (false); t.commit (); } @@ -78,10 +80,10 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o1 (db->find (1)); + unique_ptr o1 (db->find (1)); assert (o1.get () != 0 && o1->str_ == "value 1"); - auto_ptr o2 (db->find (2)); + unique_ptr o2 (db->find (2)); assert (o2.get () == 0); t.commit (); @@ -106,14 +108,14 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr o (db->load (1)); + unique_ptr o (db->load (1)); assert (o->str_ == "value 1"); t.commit (); try { transaction t (db->begin ()); - auto_ptr o (db->load (2)); + unique_ptr o (db->load (2)); assert (false); t.commit (); } @@ -173,7 +175,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr o (db->load (1)); + unique_ptr o (db->load (1)); o->str_ = "value 2"; db->update (*o); t.commit (); @@ -193,7 +195,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o (db->load (1)); + unique_ptr o (db->load (1)); assert (o->str_ == "value 2"); t.commit (); } @@ -202,7 +204,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr o (db->load (1)); + unique_ptr o (db->load (1)); db->update (*o); t.commit (); } @@ -211,7 +213,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr o (db->load (1)); + unique_ptr o (db->load (1)); db->erase (*o); t.commit (); @@ -230,7 +232,7 @@ main (int argc, char* argv[]) try { transaction t (db->begin ()); - auto_ptr o (db->load (1)); + unique_ptr o (db->load (1)); assert (false); t.commit (); } diff --git a/common/lifecycle/makefile b/common/lifecycle/makefile deleted file mode 100644 index da954eb..0000000 --- a/common/lifecycle/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/lifecycle/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---table-prefix lifecycle_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/lifecycle/test.std b/common/lifecycle/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/lifecycle/testscript b/common/lifecycle/testscript new file mode 100644 index 0000000..0337bba --- /dev/null +++ b/common/lifecycle/testscript @@ -0,0 +1,33 @@ +# file : common/lifecycle/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/makefile b/common/makefile deleted file mode 100644 index 555851a..0000000 --- a/common/makefile +++ /dev/null @@ -1,123 +0,0 @@ -# file : common/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make - -tests := \ -access \ -as \ -blob \ -bulk \ -callback \ -changelog \ -circular/single \ -circular/multiple \ -composite \ -const-object \ -const-member \ -container/basics \ -container/change-tracking \ -ctor \ -default \ -definition \ -enum \ -erase-query \ -id/auto \ -id/composite \ -id/nested \ -include \ -index \ -inheritance/polymorphism \ -inheritance/reuse \ -inheritance/transient \ -inverse \ -lazy-ptr \ -lifecycle \ -no-id \ -object \ -optimistic \ -pragma \ -prepared \ -query/basics \ -query/array \ -query/one \ -readonly \ -relationship/basics \ -relationship/on-delete \ -relationship/query \ -schema/namespace \ -schema/embedded/basics \ -schema/embedded/order \ -section/basics \ -section/polymorphism \ -session/cache \ -statement/processing \ -template \ -transaction/basics \ -transaction/callback \ -types \ -view/basics \ -virtual \ -wrapper - -thread_tests := threads -cxx11_tests := session/custom view/olv - -no_dist_tests := changelog include - -no_multi_tests := changelog include - -$(default): -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard - -all_tests := $(tests) $(thread_tests) $(cxx11_tests) -build_tests := $(tests) $(thread_tests) - -ifeq ($(cxx_standard),c++11) -build_tests += $(cxx11_tests) -endif - -ifeq ($(db_id),common) -build_tests := $(filter-out $(no_multi_tests),$(build_tests)) -endif - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_tests))) - -name := common -$(dist): name := $(name) -$(dist): export dirs := $(filter-out $(no_dist_tests),$(tests)) -$(dist): export thread_dirs := $(thread_tests) -$(dist): export cxx11_dirs := $(cxx11_tests) -$(dist): export extra_dist := test.bat $(call vc8slns,$(name)) \ -$(call vc9slns,$(name)) $(call vc10slns,$(name)) $(call vc11slns,$(name)) \ -$(call vc12slns,$(name)) -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_tests))) - $(call meta-automake) - $(call meta-vc8slns,$(name)) - $(call meta-vc9slns,$(name)) - $(call meta-vc10slns,$(name)) - $(call meta-vc11slns,$(name)) - $(call meta-vc12slns,$(name)) - $(call meta-vctest,$(name)-mysql-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(build_tests))) - -ifeq ($(db_id),common) -$(foreach d,$(databases),$(eval $(call db-test-dir,$d,$(build_tests)))) -endif - -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(all_tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -ifneq ($(filter $(MAKECMDGOALS),dist clean),) -$(foreach t,$(all_tests),$(call import,$(src_base)/$t/makefile)) -else -$(foreach t,$(build_tests),$(call import,$(src_base)/$t/makefile)) -endif diff --git a/common/no-id/buildfile b/common/no-id/buildfile new file mode 100644 index 0000000..1a64401 --- /dev/null +++ b/common/no-id/buildfile @@ -0,0 +1,41 @@ +# file : common/no-id/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix no_id_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/no-id/driver.cxx b/common/no-id/driver.cxx index ce51883..eee69a5 100644 --- a/common/no-id/driver.cxx +++ b/common/no-id/driver.cxx @@ -4,18 +4,20 @@ // Test persistent classes without id. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -24,7 +26,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); object o1 (1, "aaa"); object o2 (2, "bbb"); diff --git a/common/no-id/makefile b/common/no-id/makefile deleted file mode 100644 index 1005447..0000000 --- a/common/no-id/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/no-id/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix no_id_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/no-id/test.std b/common/no-id/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/no-id/testscript b/common/no-id/testscript new file mode 100644 index 0000000..5ec57ee --- /dev/null +++ b/common/no-id/testscript @@ -0,0 +1,33 @@ +# file : common/no-id/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/object/buildfile b/common/object/buildfile new file mode 100644 index 0000000..cb56aee --- /dev/null +++ b/common/object/buildfile @@ -0,0 +1,41 @@ +# file : common/object/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix object_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/object/driver.cxx b/common/object/driver.cxx index e8700b4..1c29417 100644 --- a/common/object/driver.cxx +++ b/common/object/driver.cxx @@ -4,18 +4,20 @@ // Test persistent classes. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -24,7 +26,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Test persistent class template instantiation. // @@ -51,8 +53,8 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr po1 (db->load (po.first)); - auto_ptr d1 (db->load (d.id)); + unique_ptr po1 (db->load (po.first)); + unique_ptr d1 (db->load (d.id)); t.commit (); assert (po == *po1); diff --git a/common/object/makefile b/common/object/makefile deleted file mode 100644 index d8c534e..0000000 --- a/common/object/makefile +++ /dev/null @@ -1,119 +0,0 @@ -# file : common/object/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---table-prefix object_ --generate-query -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export odb_header_stem := $(basename $(odb_hdr)) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/object/test.std b/common/object/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/object/testscript b/common/object/testscript new file mode 100644 index 0000000..6982409 --- /dev/null +++ b/common/object/testscript @@ -0,0 +1,33 @@ +# file : common/object/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/optimistic/buildfile b/common/optimistic/buildfile new file mode 100644 index 0000000..06af705 --- /dev/null +++ b/common/optimistic/buildfile @@ -0,0 +1,41 @@ +# file : common/optimistic/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_optimistic_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/optimistic/driver.cxx b/common/optimistic/driver.cxx index 3d33eb4..6dfec6e 100644 --- a/common/optimistic/driver.cxx +++ b/common/optimistic/driver.cxx @@ -4,23 +4,25 @@ // Test optimistic concurrency support. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; unsigned long -version (const auto_ptr& db, unsigned long id) +version (const unique_ptr& db, unsigned long id) { typedef odb::query query; typedef odb::result result; @@ -34,7 +36,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); object o (1); o.num = 123; @@ -80,7 +82,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); t.commit (); assert (o1->ver == 2 && o1->num == 124 && o1->str == "abcd"); @@ -103,7 +105,7 @@ main (int argc, char* argv[]) // Verify the data hasn't changed. // - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); assert (o1->ver == 2 && o1->num == 124 && o1->str == "abcd"); // Reload the object. @@ -201,7 +203,7 @@ main (int argc, char* argv[]) // Verify the container data hasn't changed. // - auto_ptr o1 (db->load ("abc")); + unique_ptr o1 (db->load ("abc")); assert (o1->nums.size () == 2 && o1->nums[0] == 1 && o1->nums[1] == 2); t.commit (); diff --git a/common/optimistic/makefile b/common/optimistic/makefile deleted file mode 100644 index dc179bd..0000000 --- a/common/optimistic/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/optimistic/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix t_optimistic_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/optimistic/test.std b/common/optimistic/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/optimistic/testscript b/common/optimistic/testscript new file mode 100644 index 0000000..9ebafb2 --- /dev/null +++ b/common/optimistic/testscript @@ -0,0 +1,33 @@ +# file : common/optimistic/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/pragma/buildfile b/common/pragma/buildfile new file mode 100644 index 0000000..a2eeaa0 --- /dev/null +++ b/common/pragma/buildfile @@ -0,0 +1,39 @@ +# file : common/pragma/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix pragma_ + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/pragma/driver.cxx b/common/pragma/driver.cxx index 932ca14..a9cc6e0 100644 --- a/common/pragma/driver.cxx +++ b/common/pragma/driver.cxx @@ -5,17 +5,19 @@ // #include -#include #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; diff --git a/common/pragma/makefile b/common/pragma/makefile deleted file mode 100644 index fb7ab20..0000000 --- a/common/pragma/makefile +++ /dev/null @@ -1,116 +0,0 @@ -# file : common/pragma/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --table-prefix pragma_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-schemaless-rule)) -else -$(foreach d,$(databases),$(eval $(call test-schemaless-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/pragma/test.std b/common/pragma/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/pragma/testscript b/common/pragma/testscript new file mode 100644 index 0000000..089f7a1 --- /dev/null +++ b/common/pragma/testscript @@ -0,0 +1,31 @@ +# file : common/include/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* &!odb-test.db +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $* +} diff --git a/common/prepared/buildfile b/common/prepared/buildfile new file mode 100644 index 0000000..4006a4f --- /dev/null +++ b/common/prepared/buildfile @@ -0,0 +1,43 @@ +# file : common/prepared/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix prepared_ \ + --generate-schema \ + --generate-query \ + --generate-prepared \ + --omit-unprepared + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/prepared/driver.cxx b/common/prepared/driver.cxx index a7a6a21..44df651 100644 --- a/common/prepared/driver.cxx +++ b/common/prepared/driver.cxx @@ -4,20 +4,21 @@ // Test prepared query functionality. // -#include // std::auto_ptr, std::unique_ptr +#include // std::unique_ptr #include // std::move -#include #include #include #include -#include -#include // HAVE_CXX11 +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -32,21 +33,13 @@ query_factory (const char* name, connection& c) { typedef odb::query query; -#ifdef HAVE_CXX11 unique_ptr p (new params); -#else - auto_ptr p (new params); -#endif prepared_query pq ( c.prepare_query ( name, query::age > query::_ref (p->age) && query::name != query::_ref (p->name))); -#ifdef HAVE_CXX11 c.cache_query (pq, move (p)); -#else - c.cache_query (pq, p); -#endif } int @@ -54,7 +47,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); { person p1 ("John First", 91); @@ -184,21 +177,13 @@ main (int argc, char* argv[]) { assert (i == 1); -#ifdef HAVE_CXX11 unique_ptr p (new unsigned short); -#else - auto_ptr p (new unsigned short); -#endif age = p.get (); pq = db->prepare_query ( "person-ref-age-query", query::age > query::_ref (*age)); -#ifdef HAVE_CXX11 db->cache_query (pq, move (p)); -#else - db->cache_query (pq, p); -#endif } else if (i == 2) { @@ -285,7 +270,6 @@ main (int argc, char* argv[]) // Cached query with lambda factory. // -#ifdef HAVE_CXX11 { db->query_factory ( "person-params-query-2", @@ -353,15 +337,8 @@ main (int argc, char* argv[]) t.commit (); } - db->query_factory ("person-params-query-3", -#ifdef HAVE_CXX11_NULLPTR - nullptr -#else - database::query_factory_ptr () -#endif - ); + db->query_factory ("person-params-query-3", nullptr); } -#endif // View prepared query. // @@ -433,12 +410,12 @@ main (int argc, char* argv[]) db->prepare_query ("query-0", query::id == p.id_ + 1)); { - auto_ptr p (pq1.execute_one ()); + unique_ptr p (pq1.execute_one ()); assert (p.get () != 0 && p->name_ == "John Doe"); } { - auto_ptr p (pq0.execute_one ()); + unique_ptr p (pq0.execute_one ()); assert (p.get () == 0); } diff --git a/common/prepared/makefile b/common/prepared/makefile deleted file mode 100644 index ae18002..0000000 --- a/common/prepared/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/prepared/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---generate-prepared --omit-unprepared --table-prefix prepared_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/prepared/test.std b/common/prepared/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/prepared/testscript b/common/prepared/testscript new file mode 100644 index 0000000..3530c5b --- /dev/null +++ b/common/prepared/testscript @@ -0,0 +1,33 @@ +# file : common/prepared/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/query/array/buildfile b/common/query/array/buildfile new file mode 100644 index 0000000..3beb6d0 --- /dev/null +++ b/common/query/array/buildfile @@ -0,0 +1,43 @@ +# file : common/query/array/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_query_array_ \ + --generate-schema \ + --generate-query \ + --generate-prepared \ + --sql-name-case oracle:upper + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/query/array/driver.cxx b/common/query/array/driver.cxx index 4559553..9327751 100644 --- a/common/query/array/driver.cxx +++ b/common/query/array/driver.cxx @@ -5,36 +5,39 @@ // #include -#include // std::auto_ptr +#include // std::unique_ptr #include // std::memcpy -#include #include #include #include -#include // DATABASE_* -#include +#include // DATABASE_* +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; -#if defined(DATABASE_MYSQL) +#ifndef MULTI_DATABASE +# if defined(DATABASE_MYSQL) const odb::mysql::database_type_id bt = odb::mysql::id_blob; -#elif defined(DATABASE_SQLITE) +# elif defined(DATABASE_SQLITE) const odb::sqlite::database_type_id bt = odb::sqlite::id_blob; -#elif defined(DATABASE_PGSQL) +# elif defined(DATABASE_PGSQL) const odb::pgsql::database_type_id bt = odb::pgsql::id_bytea; -#elif defined(DATABASE_ORACLE) +# elif defined(DATABASE_ORACLE) const odb::oracle::database_type_id bt = odb::oracle::id_raw; -#elif defined(DATABASE_MSSQL) +# elif defined(DATABASE_MSSQL) const odb::mssql::database_type_id bt = odb::mssql::id_binary; -#elif defined(DATABASE_COMMON) -#else -# error unknown database +# else +# error unknown database +# endif #endif int @@ -42,7 +45,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); typedef odb::query query; @@ -67,7 +70,7 @@ main (int argc, char* argv[]) // string // -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE assert (size (db->query (query::s == "abc")) == 1); assert (size (db->query (query::s == query::_val ("bcd"))) == 1); assert (size (db->query ("s = " + query::_val ("bcd"))) == 1); @@ -77,12 +80,12 @@ main (int argc, char* argv[]) { char a[] = "bcd"; char* ra = a; -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE assert (size (db->query (query::s == a)) == 1); assert (size (db->query (query::s == query::_val (a))) == 1); #endif assert (size (db->query (query::s == query::_ref (ra))) == 1); -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE assert (size (db->query ("s = " + query::_val (a))) == 1); assert (size (db->query ("s = " + query::_ref (a))) == 1); #endif @@ -91,12 +94,12 @@ main (int argc, char* argv[]) { const char a[] = "bcd"; const char* ra = a; -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE assert (size (db->query (query::s == a)) == 1); assert (size (db->query (query::s == query::_val (a))) == 1); #endif assert (size (db->query (query::s == query::_ref (ra))) == 1); -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE assert (size (db->query ("s = " + query::_val (a))) == 1); assert (size (db->query ("s = " + query::_ref (a))) == 1); #endif @@ -104,12 +107,12 @@ main (int argc, char* argv[]) { const char* p = "cde"; -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE assert (size (db->query (query::s == p)) == 1); assert (size (db->query (query::s == query::_val (p))) == 1); #endif assert (size (db->query (query::s == query::_ref (p))) == 1); -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE assert (size (db->query ("s = " + query::_val (p))) == 1); assert (size (db->query ("s = " + query::_ref (p))) == 1); #endif @@ -118,18 +121,18 @@ main (int argc, char* argv[]) { char a[] = "cde"; char* p = a; -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE assert (size (db->query (query::s == p)) == 1); assert (size (db->query (query::s == query::_val (p))) == 1); #endif assert (size (db->query (query::s == query::_ref (p))) == 1); -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE assert (size (db->query ("s = " + query::_val (p))) == 1); assert (size (db->query ("s = " + query::_ref (p))) == 1); #endif } -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE string s ("abc"); //assert (size (db->query (query::s == s)) == 1); assert (size (db->query (query::s == s.c_str ())) == 1); @@ -140,24 +143,42 @@ main (int argc, char* argv[]) assert (size (db->query ("s = " + query::_ref (s))) == 1); #endif + // @@ BUILD2 Ends up with the following warning, but strangely only in the + // multi-database mode: + // + // In file included from odb/odb-tests/common/query/array/test-odb.hxx:31, + // from odb/odb-tests/common/query/array/driver.cxx:20: + // odb/libodb/odb/query-dynamic.hxx: In instantiation of ‘odb::query_base odb::query_column::operator==(const odb::query_column&) const [with T2 = char [17]; T = char [17]]’: + // odb/odb-tests/common/query/array/driver.cxx:144:7: required from here + // odb/libodb/odb/query-dynamic.hxx:895:43: error: comparison between two arrays is deprecated in C++20 [-Werror=array-compare] + // 895 | (void) (sizeof (type_instance () == type_instance ())); + // | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ + // odb/libodb/odb/query-dynamic.hxx:895:43: note: use unary ‘+’ which decays operands to pointers or ‘&‘indirect_ref’ not supported by dump_decl[0] == &‘indirect_ref’ not supported by dump_decl[0]’ to compare the addresses + // + // Looks like compile-time assertion. Doesn't make much sense for + // arrays since compares pointers to objects rather than objects. + // Should we somehow suppress the assertion for arrays or similar? + // + // Note: temporarily ifndef-ed. + // +#ifndef MULTI_DATABASE assert (size (db->query (query::s == query::s1)) == 3); +#endif // std::array // -#ifdef ODB_CXX11 array a; memcpy (a.data (), "abc", 4); // VC++ strcpy deprecation. -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE assert (size (db->query (query::a == a)) == 1); assert (size (db->query (query::a == query::_val (a))) == 1); #endif assert (size (db->query (query::a == query::_ref (a))) == 1); -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE assert (size (db->query ("a = " + query::_val (a))) == 1); assert (size (db->query ("a = " + query::_ref (a))) == 1); #endif -#endif // char // @@ -167,7 +188,7 @@ main (int argc, char* argv[]) assert (size (db->query (query::c == query::_val (c))) == 1); assert (size (db->query (query::c == query::_ref (c))) == 1); -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE assert (size (db->query ("c = " + query::_val ('c'))) == 1); assert (size (db->query ("c = " + query::_ref (c))) == 1); #endif @@ -176,14 +197,14 @@ main (int argc, char* argv[]) // buffer // -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE assert (size (db->query (query::b == buf)) == 3); assert (size (db->query (query::b == query::_val (buf))) == 3); #endif assert (size (db->query (query::b == query::_ref (buf))) == 3); -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE assert (size (db->query ("b = " + query::_val (buf))) == 3); assert (size (db->query ("b = " + query::_ref (buf))) == 3); #endif diff --git a/common/query/array/makefile b/common/query/array/makefile deleted file mode 100644 index e873a34..0000000 --- a/common/query/array/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/query/array/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---generate-prepared --sql-name-case oracle:upper --table-prefix t_query_array_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/query/array/test.hxx b/common/query/array/test.hxx index d280f02..f0d5f3b 100644 --- a/common/query/array/test.hxx +++ b/common/query/array/test.hxx @@ -4,14 +4,9 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11 - +#include #include // std::memcpy, std::strlen -#ifdef HAVE_CXX11 -# include -#endif - #include #pragma db object @@ -23,10 +18,7 @@ struct object { std::memcpy (s_, s, std::strlen (s) + 1); // VC++ strncpy deprecation. std::memcpy (s1_, s, std::strlen (s) + 1); - -#ifdef HAVE_CXX11 std::memcpy (a_.data (), s, std::strlen (s) + 1); -#endif c_ = c1_ = *s; std::memcpy (b_, b, sizeof (b_)); } @@ -37,7 +29,6 @@ struct object char s_[17]; char s1_[17]; -#ifdef HAVE_CXX11 #ifdef ODB_COMPILER # if defined(ODB_DATABASE_MYSQL) || \ defined(ODB_DATABASE_PGSQL) || \ @@ -53,7 +44,6 @@ struct object # endif #endif std::array a_; -#endif char c_; char c1_; diff --git a/common/query/array/test.std b/common/query/array/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/query/array/testscript b/common/query/array/testscript new file mode 100644 index 0000000..631ae24 --- /dev/null +++ b/common/query/array/testscript @@ -0,0 +1,33 @@ +# file : common/query/array/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/query/basics/buildfile b/common/query/basics/buildfile new file mode 100644 index 0000000..e38e6fe --- /dev/null +++ b/common/query/basics/buildfile @@ -0,0 +1,42 @@ +# file : common/query/basics/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_query_basics_ \ + --generate-schema \ + --generate-query \ + --generate-prepared + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/query/basics/driver.cxx b/common/query/basics/driver.cxx index 86bae4b..73b81d2 100644 --- a/common/query/basics/driver.cxx +++ b/common/query/basics/driver.cxx @@ -4,19 +4,21 @@ // Test basic query support. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include // DATABASE_XXX -#include +#include // DATABASE_XXX +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -25,7 +27,7 @@ print (result& r) { for (result::iterator i (r.begin ()); i != r.end (); ++i) { - auto_ptr o (i.load ()); + unique_ptr o (i.load ()); cout << *o << endl; } cout << endl; @@ -46,7 +48,7 @@ main (int argc, char* argv[]) try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); odb::database_id db_id (db->id ()); typedef odb::query query; @@ -76,7 +78,7 @@ main (int argc, char* argv[]) // Compilation tests. // -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE if (false) { string name; @@ -164,7 +166,7 @@ main (int argc, char* argv[]) const char* name = "Doe"; -#if defined(DATABASE_COMMON) +#if defined(MULTI_DATABASE) result r ( db->query ( query::age >= query::_val (30) && @@ -195,7 +197,7 @@ main (int argc, char* argv[]) string name; unsigned short age; -#if defined(DATABASE_COMMON) +#if defined(MULTI_DATABASE) query q (query::age >= query::_ref (age) && query::last_name == query::_ref (name)); #elif defined(DATABASE_ORACLE) @@ -249,7 +251,7 @@ main (int argc, char* argv[]) //db->query (query::age == query::_ref (name)); db->query (query::last_name == "Doe"); db->query (query::last_name == name); -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE db->query (query::last_name == query::_val ("Doe")); #endif db->query (query::last_name == query::_val (name)); @@ -450,7 +452,7 @@ main (int argc, char* argv[]) assert (i != r.end ()); { - auto_ptr joe (db->load (3)); + unique_ptr joe (db->load (3)); } { @@ -467,7 +469,7 @@ main (int argc, char* argv[]) // Overwrite object image again. // - auto_ptr joe (db->load (3)); + unique_ptr joe (db->load (3)); person p; i.load (p); assert (p.last_name_ == "Doe"); @@ -499,7 +501,7 @@ main (int argc, char* argv[]) // Oracle does not support LOB comparisons. // -#ifndef DATABASE_ORACLE +#if defined(MULTI_DATABASE) || !defined(DATABASE_ORACLE) if (db_id != odb::id_oracle) { r = db->query (query::public_key == key2); diff --git a/common/query/basics/makefile b/common/query/basics/makefile deleted file mode 100644 index b1749e7..0000000 --- a/common/query/basics/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/query/basics/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---generate-prepared --table-prefix t_query_basics_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/query/basics/test.hxx b/common/query/basics/test.hxx index 22a8d32..239f6d6 100644 --- a/common/query/basics/test.hxx +++ b/common/query/basics/test.hxx @@ -4,8 +4,6 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11 - #include #include #include @@ -56,11 +54,7 @@ struct person std::string first_name_; #pragma db column ("middle") null -#ifdef HAVE_CXX11 std::unique_ptr middle_name_; -#else - std::auto_ptr middle_name_; -#endif #pragma db column ("last") std::string last_name_; diff --git a/common/query/basics/test.std b/common/query/basics/test.std deleted file mode 100644 index d420dc4..0000000 --- a/common/query/basics/test.std +++ /dev/null @@ -1,112 +0,0 @@ -test 001 -John Doe 30 married -Jane Doe 29 married -Joe Squeaky Dirt 31 single -Johansen J Johansen 32 single -test 002 -Jane Doe 29 married -John Doe 30 married -Joe Squeaky Dirt 31 single -Johansen J Johansen 32 single - -test 003 -John Doe 30 married - -test 004 -John Doe 30 married - -test 005 -John Doe 30 married - -Joe Squeaky Dirt 31 single - -test 006 -John Doe 30 married -Jane Doe 29 married - -Joe Squeaky Dirt 31 single -Johansen J Johansen 32 single - -test 007 -John Doe 30 married -Jane Doe 29 married - -Joe Squeaky Dirt 31 single -Johansen J Johansen 32 single - -test 008 -John Doe 30 married -Jane Doe 29 married - -Joe Squeaky Dirt 31 single - -John Doe 30 married -Jane Doe 29 married - -test 009 -John Doe 30 married -Jane Doe 29 married - -Joe Squeaky Dirt 31 single -Johansen J Johansen 32 single - -John Doe 30 married -Jane Doe 29 married - -Joe Squeaky Dirt 31 single -Johansen J Johansen 32 single - -John Doe 30 married -Jane Doe 29 married - -Joe Squeaky Dirt 31 single -Johansen J Johansen 32 single - -test 010 -Jane Doe 29 married - -John Doe 30 married -Jane Doe 29 married -Joe Squeaky Dirt 31 single - -Jane Doe 29 married - -Joe Squeaky Dirt 31 single -Johansen J Johansen 32 single - -Jane Doe 29 married -John Doe 30 married - -test 011 -John Doe 30 married -Jane Doe 29 married - -John Doe 30 married -Jane Doe 29 married -Joe Squeaky Dirt 31 single - -test 012 -Johansen J Johansen 32 single - -test 013 -Joe Squeaky Dirt 31 single - -test 014 -test 015 -John Doe 30 married -Jane Doe 29 married - -test 016 -test 017 -test 018 -test 019 -test 020 -John Doe 30 married -Joe Squeaky Dirt 31 single -Johansen J Johansen 32 single - -Jane Doe 29 married - - -Jane Doe 29 married - diff --git a/common/query/basics/testscript b/common/query/basics/testscript new file mode 100644 index 0000000..9086b66 --- /dev/null +++ b/common/query/basics/testscript @@ -0,0 +1,150 @@ +# file : common/query/basics/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + ++cat <=output + test 001 + John Doe 30 married + Jane Doe 29 married + Joe Squeaky Dirt 31 single + Johansen J Johansen 32 single + test 002 + Jane Doe 29 married + John Doe 30 married + Joe Squeaky Dirt 31 single + Johansen J Johansen 32 single + + test 003 + John Doe 30 married + + test 004 + John Doe 30 married + + test 005 + John Doe 30 married + + Joe Squeaky Dirt 31 single + + test 006 + John Doe 30 married + Jane Doe 29 married + + Joe Squeaky Dirt 31 single + Johansen J Johansen 32 single + + test 007 + John Doe 30 married + Jane Doe 29 married + + Joe Squeaky Dirt 31 single + Johansen J Johansen 32 single + + test 008 + John Doe 30 married + Jane Doe 29 married + + Joe Squeaky Dirt 31 single + + John Doe 30 married + Jane Doe 29 married + + test 009 + John Doe 30 married + Jane Doe 29 married + + Joe Squeaky Dirt 31 single + Johansen J Johansen 32 single + + John Doe 30 married + Jane Doe 29 married + + Joe Squeaky Dirt 31 single + Johansen J Johansen 32 single + + John Doe 30 married + Jane Doe 29 married + + Joe Squeaky Dirt 31 single + Johansen J Johansen 32 single + + test 010 + Jane Doe 29 married + + John Doe 30 married + Jane Doe 29 married + Joe Squeaky Dirt 31 single + + Jane Doe 29 married + + Joe Squeaky Dirt 31 single + Johansen J Johansen 32 single + + Jane Doe 29 married + John Doe 30 married + + test 011 + John Doe 30 married + Jane Doe 29 married + + John Doe 30 married + Jane Doe 29 married + Joe Squeaky Dirt 31 single + + test 012 + Johansen J Johansen 32 single + + test 013 + Joe Squeaky Dirt 31 single + + test 014 + test 015 + John Doe 30 married + Jane Doe 29 married + + test 016 + test 017 + test 018 + test 019 + test 020 + John Doe 30 married + Joe Squeaky Dirt 31 single + Johansen J Johansen 32 single + + Jane Doe 29 married + + + Jane Doe 29 married + + EOI + +test.redirects += >>>../output + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/query/one/buildfile b/common/query/one/buildfile new file mode 100644 index 0000000..76a36b0 --- /dev/null +++ b/common/query/one/buildfile @@ -0,0 +1,42 @@ +# file : common/query/one/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_query_one_ \ + --generate-schema \ + --generate-query \ + --generate-prepared + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/query/one/driver.cxx b/common/query/one/driver.cxx index f3ab921..4c3dcdc 100644 --- a/common/query/one/driver.cxx +++ b/common/query/one/driver.cxx @@ -8,18 +8,20 @@ // specific to query_one() and query_value(). // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -28,7 +30,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); odb::database_id db_id (db->id ()); transaction t (db->begin ()); @@ -36,7 +38,7 @@ main (int argc, char* argv[]) // query_one() // { - auto_ptr o (db->query_one ()); + unique_ptr o (db->query_one ()); assert (o.get () == 0); } @@ -57,7 +59,7 @@ main (int argc, char* argv[]) db->persist (o); { - auto_ptr o (db->query_one ()); + unique_ptr o (db->query_one ()); assert (o.get () != 0 && o->str_ == "value 1"); } @@ -77,12 +79,12 @@ main (int argc, char* argv[]) const char* q0_c (db_id == odb::id_oracle ? "\"id\" = 2" : "id = 2"); { - auto_ptr o (db->query_one (q1_c)); + unique_ptr o (db->query_one (q1_c)); assert (o.get () != 0 && o->str_ == "value 1"); } { - auto_ptr o (db->query_one (q0_c)); + unique_ptr o (db->query_one (q0_c)); assert (o.get () == 0); } @@ -108,12 +110,12 @@ main (int argc, char* argv[]) string q0_s (q0_c); { - auto_ptr o (db->query_one (q1_s)); + unique_ptr o (db->query_one (q1_s)); assert (o.get () != 0 && o->str_ == "value 1"); } { - auto_ptr o (db->query_one (q0_s)); + unique_ptr o (db->query_one (q0_s)); assert (o.get () == 0); } @@ -141,12 +143,12 @@ main (int argc, char* argv[]) query q0 (query::id == 2); { - auto_ptr o (db->query_one (q1)); + unique_ptr o (db->query_one (q1)); assert (o.get () != 0 && o->str_ == "value 1"); } { - auto_ptr o (db->query_one (q0)); + unique_ptr o (db->query_one (q0)); assert (o.get () == 0); } @@ -175,7 +177,7 @@ main (int argc, char* argv[]) /* { - auto_ptr o (db->query_one ()); + unique_ptr o (db->query_one ()); assert (false); } */ diff --git a/common/query/one/makefile b/common/query/one/makefile deleted file mode 100644 index fa3b557..0000000 --- a/common/query/one/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/query/one/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---generate-prepared --table-prefix t_query_one_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/query/one/test.std b/common/query/one/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/query/one/testscript b/common/query/one/testscript new file mode 100644 index 0000000..963a206 --- /dev/null +++ b/common/query/one/testscript @@ -0,0 +1,33 @@ +# file : common/query/one/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/readonly/buildfile b/common/readonly/buildfile new file mode 100644 index 0000000..2d83cf1 --- /dev/null +++ b/common/readonly/buildfile @@ -0,0 +1,40 @@ +# file : common/readonly/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix readonly_ \ + --generate-schema + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/readonly/driver.cxx b/common/readonly/driver.cxx index 3358799..b207627 100644 --- a/common/readonly/driver.cxx +++ b/common/readonly/driver.cxx @@ -6,19 +6,21 @@ // member test. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include // DATABASE_* -#include +#include // DATABASE_* +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -27,7 +29,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Simple. // @@ -63,7 +65,7 @@ main (int argc, char* argv[]) // { pointer p (1, new pointer (2)); - auto_ptr p1 (new pointer (3)); + unique_ptr p1 (new pointer (3)); { transaction t (db->begin ()); @@ -86,7 +88,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (1)); + unique_ptr p (db->load (1)); t.commit (); assert (p->ro->id == 2 && p->co->id == 2 && p->rw->id == 3); @@ -204,7 +206,7 @@ main (int argc, char* argv[]) // Readonly object. // { -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE typedef odb::object_traits_impl so_traits; typedef odb::object_traits_impl ro_traits; typedef odb::object_traits_impl rw_traits; @@ -305,8 +307,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p1 (db->load (o1.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (p1->num == o1.num); diff --git a/common/readonly/makefile b/common/readonly/makefile deleted file mode 100644 index 49c6779..0000000 --- a/common/readonly/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/readonly/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---table-prefix readonly_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/readonly/test.hxx b/common/readonly/test.hxx index ad7727b..45797b6 100644 --- a/common/readonly/test.hxx +++ b/common/readonly/test.hxx @@ -4,10 +4,8 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11 - #include -#include // std::auto_ptr +#include // std::unique_ptr #include @@ -204,17 +202,10 @@ struct wrapper #pragma db id unsigned long id; -#ifdef HAVE_CXX11 std::unique_ptr pl; const std::unique_ptr cpl; std::unique_ptr pcl; const std::unique_ptr cpcl; -#else - std::auto_ptr pl; - const std::auto_ptr cpl; - std::auto_ptr pcl; - const std::auto_ptr cpcl; -#endif }; // Readonly object with auto id. diff --git a/common/readonly/test.std b/common/readonly/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/readonly/testscript b/common/readonly/testscript new file mode 100644 index 0000000..c798201 --- /dev/null +++ b/common/readonly/testscript @@ -0,0 +1,33 @@ +# file : common/readonly/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/relationship/basics/buildfile b/common/relationship/basics/buildfile new file mode 100644 index 0000000..d7bbb7e --- /dev/null +++ b/common/relationship/basics/buildfile @@ -0,0 +1,41 @@ +# file : common/relationship/basics/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_rel_basics_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/relationship/basics/driver.cxx b/common/relationship/basics/driver.cxx index 6eec1e2..e27c127 100644 --- a/common/relationship/basics/driver.cxx +++ b/common/relationship/basics/driver.cxx @@ -4,18 +4,20 @@ // Test object relationships. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -24,19 +26,16 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); aggr a ("aggr"); a.o1 = new obj1 ("o1", "obj1"); a.o2.reset (new obj2 ("obj2")); -#ifdef HAVE_CXX11 a.v2.push_back (obj2_ptr (new obj2 ("v1 obj2 1"))); a.v2.push_back (0); a.v2.push_back (obj2_ptr (new obj2 ("v1 obj2 2"))); -#endif -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) a.o3.reset (new obj3 ("obj3")); a.c.num = 123; @@ -45,7 +44,6 @@ main (int argc, char* argv[]) a.cv.push_back (comp (234, obj3_ptr (new obj3 ("cv 0")))); a.cv.push_back (comp (235, obj3_ptr ())); a.cv.push_back (comp (236, obj3_ptr (new obj3 ("cv 2")))); -#endif a.v1.push_back (new obj1 ("v1 0", "v1 0")); a.v1.push_back (0); @@ -67,13 +65,10 @@ main (int argc, char* argv[]) db->persist (a.o1); db->persist (a.o2); -#ifdef HAVE_CXX11 for (obj2_vec::iterator i (a.v2.begin ()); i != a.v2.end (); ++i) if (*i) db->persist (*i); -#endif -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) db->persist (a.o3); db->persist (a.c.o3); @@ -81,7 +76,6 @@ main (int argc, char* argv[]) for (comp_vec::iterator i (a.cv.begin ()); i != a.cv.end (); ++i) if (i->o3) db->persist (i->o3); -#endif for (obj1_vec::iterator i (a.v1.begin ()); i != a.v1.end (); ++i) if (*i) @@ -103,7 +97,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr a1 (db->load (a.id)); + unique_ptr a1 (db->load (a.id)); t.commit (); assert (*a1 == a); @@ -130,9 +124,7 @@ main (int argc, char* argv[]) delete a.o1; a.o1 = 0; a.o2.reset (); -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) a.o3.reset (); -#endif { transaction t (db->begin ()); @@ -144,7 +136,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr a1 (db->load (a.id)); + unique_ptr a1 (db->load (a.id)); t.commit (); assert (*a1 == a); diff --git a/common/relationship/basics/makefile b/common/relationship/basics/makefile deleted file mode 100644 index 775d850..0000000 --- a/common/relationship/basics/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/relationship/basics/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix t_rel_basics_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/relationship/basics/test.hxx b/common/relationship/basics/test.hxx index 9496581..8a2742e 100644 --- a/common/relationship/basics/test.hxx +++ b/common/relationship/basics/test.hxx @@ -4,8 +4,6 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11, HAVE_TR1_MEMORY - #include #include #include @@ -14,10 +12,6 @@ #include -#if !defined(HAVE_CXX11) && defined(HAVE_TR1_MEMORY) -# include -#endif - // Raw pointer. // #pragma db object pointer(obj1*) @@ -121,11 +115,7 @@ operator== (const obj1_map& x, const obj1_map& y) // struct obj2; -#ifdef HAVE_CXX11 typedef std::unique_ptr obj2_ptr; -#else -typedef std::auto_ptr obj2_ptr; -#endif #pragma db object pointer(obj2_ptr) struct obj2 @@ -145,7 +135,6 @@ operator== (const obj2& x, const obj2& y) return x.id == y.id && x.str == y.str; } -#ifdef HAVE_CXX11 typedef std::vector obj2_vec; inline bool @@ -160,18 +149,12 @@ operator== (const obj2_vec& x, const obj2_vec& y) return true; } -#endif // shared_ptr // -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) struct obj3; -#ifdef HAVE_CXX11 typedef std::shared_ptr obj3_ptr; -#else -typedef std::tr1::shared_ptr obj3_ptr; -#endif #pragma db object pointer(obj3_ptr) struct obj3 @@ -211,7 +194,6 @@ operator== (const comp& x, const comp& y) } typedef std::vector comp_vec; -#endif // // @@ -241,19 +223,11 @@ struct aggr obj1* o1; obj2_ptr o2; // std::auto_ptr or std::unique_ptr -#ifdef HAVE_CXX11 obj2_vec v2; -#else - // Dummy containers to get the equivalent DROP TABLE statements. - // - std::vector v2; -#endif -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) obj3_ptr o3; comp c; comp_vec cv; -#endif obj1_vec v1; obj1_set s1; @@ -273,14 +247,10 @@ operator== (const aggr& x, const aggr& y) x.id == y.id && (x.o1 ? (y.o1 && *x.o1 == *y.o1) : !y.o1) && (x.o2.get () ? (y.o2.get () && *x.o2 == *y.o2) : !y.o2.get ()) && -#ifdef HAVE_CXX11 x.v2 == y.v2 && -#endif -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) (x.o3.get () ? (y.o3.get () && *x.o3 == *y.o3) : !y.o3.get ()) && x.c == y.c && x.cv == y.cv && -#endif x.v1 == y.v1 && x.s1 == y.s1 && x.m1 == y.m1 && diff --git a/common/relationship/basics/test.std b/common/relationship/basics/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/relationship/basics/testscript b/common/relationship/basics/testscript new file mode 100644 index 0000000..b498bfa --- /dev/null +++ b/common/relationship/basics/testscript @@ -0,0 +1,33 @@ +# file : common/relationship/basics/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/relationship/on-delete/buildfile b/common/relationship/on-delete/buildfile new file mode 100644 index 0000000..965a2eb --- /dev/null +++ b/common/relationship/on-delete/buildfile @@ -0,0 +1,43 @@ +# file : common/relationship/on-delete/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_rel_on_d_ \ + --generate-schema \ + --fkeys-deferrable-mode mysql:not_deferrable \ + --fkeys-deferrable-mode mssql:not_deferrable + + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/relationship/on-delete/driver.cxx b/common/relationship/on-delete/driver.cxx index b7cc37a..eec57cf 100644 --- a/common/relationship/on-delete/driver.cxx +++ b/common/relationship/on-delete/driver.cxx @@ -4,18 +4,20 @@ // Test ON DELETE functionality. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -24,7 +26,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); object o; @@ -60,13 +62,13 @@ main (int argc, char* argv[]) transaction t (db->begin ()); assert (db->find (c.id) == 0); - auto_ptr pcc (db->load (cc.id)); + unique_ptr pcc (db->load (cc.id)); assert (pcc->p.empty ()); - auto_ptr pn (db->load (n.id)); + unique_ptr pn (db->load (n.id)); assert (pn->p == 0); - auto_ptr pnc (db->load (nc.id)); + unique_ptr pnc (db->load (nc.id)); assert (pnc->p.size () == 1 && pnc->p[0] == 0); t.commit (); diff --git a/common/relationship/on-delete/makefile b/common/relationship/on-delete/makefile deleted file mode 100644 index 88fcff0..0000000 --- a/common/relationship/on-delete/makefile +++ /dev/null @@ -1,119 +0,0 @@ -# file : common/relationship/on-delete/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---fkeys-deferrable-mode mysql:not_deferrable \ ---fkeys-deferrable-mode mssql:not_deferrable \ ---table-prefix t_rel_on_d_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/relationship/on-delete/test.std b/common/relationship/on-delete/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/relationship/on-delete/testscript b/common/relationship/on-delete/testscript new file mode 100644 index 0000000..8288ebc --- /dev/null +++ b/common/relationship/on-delete/testscript @@ -0,0 +1,33 @@ +# file : common/relationship/on-delete/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/relationship/query/buildfile b/common/relationship/query/buildfile new file mode 100644 index 0000000..b70edc4 --- /dev/null +++ b/common/relationship/query/buildfile @@ -0,0 +1,42 @@ +# file : common/relationship/query/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_rel_query_ \ + --generate-schema \ + --generate-query \ + --generate-session + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/relationship/query/driver.cxx b/common/relationship/query/driver.cxx index 1cee751..20d5370 100644 --- a/common/relationship/query/driver.cxx +++ b/common/relationship/query/driver.cxx @@ -4,20 +4,21 @@ // Test relationship queries. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include #include -#include // HAVE_CXX11, HAVE_TR1_MEMORY -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -26,9 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); - -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) + unique_ptr db (create_database (argc, argv)); // // @@ -160,9 +159,6 @@ main (int argc, char* argv[]) t.commit (); } - -#endif // HAVE_CXX11 || HAVE_TR1_MEMORY - } catch (const odb::exception& e) { diff --git a/common/relationship/query/makefile b/common/relationship/query/makefile deleted file mode 100644 index 1632f1b..0000000 --- a/common/relationship/query/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/relationship-query/query/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---generate-session --table-prefix t_rel_query_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/relationship/query/test.hxx b/common/relationship/query/test.hxx index b25e27e..c6e2d6d 100644 --- a/common/relationship/query/test.hxx +++ b/common/relationship/query/test.hxx @@ -4,21 +4,12 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11, HAVE_TR1_MEMORY - -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) - #include +#include #include -#ifdef HAVE_CXX11 -# include using std::shared_ptr; -#else -# include -using std::tr1::shared_ptr; -#endif struct country; @@ -146,5 +137,4 @@ struct country std::string name; }; -#endif // HAVE_CXX11 || HAVE_TR1_MEMORY #endif // TEST_HXX diff --git a/common/relationship/query/test.std b/common/relationship/query/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/relationship/query/testscript b/common/relationship/query/testscript new file mode 100644 index 0000000..d5ad419 --- /dev/null +++ b/common/relationship/query/testscript @@ -0,0 +1,33 @@ +# file : common/relationship/query/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/schema/embedded/basics/buildfile b/common/schema/embedded/basics/buildfile new file mode 100644 index 0000000..0cfe85e --- /dev/null +++ b/common/schema/embedded/basics/buildfile @@ -0,0 +1,42 @@ +# file : common/schema/embedded/basics/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix schema_embd_bscs_ \ + --generate-schema \ + --schema-format embedded \ + --schema-name test + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../../alias{database-client}: include = adhoc diff --git a/common/schema/embedded/basics/driver.cxx b/common/schema/embedded/basics/driver.cxx index 131c438..7ba2bce 100644 --- a/common/schema/embedded/basics/driver.cxx +++ b/common/schema/embedded/basics/driver.cxx @@ -4,19 +4,21 @@ // Test basic embedded schema functionality. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv, false)); + unique_ptr db (create_database (argc, argv, false)); // Create the database schema. // diff --git a/common/schema/embedded/basics/makefile b/common/schema/embedded/basics/makefile deleted file mode 100644 index 8bbbd09..0000000 --- a/common/schema/embedded/basics/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/schema/embedded/basics/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---schema-format embedded --schema-name test --table-prefix schema_embd_bscs_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../../template/Makefile.am) - $(call meta-vc8projs,../../../template/template,$(name)) - $(call meta-vc9projs,../../../template/template,$(name)) - $(call meta-vc10projs,../../../template/template,$(name)) - $(call meta-vc11projs,../../../template/template,$(name)) - $(call meta-vc12projs,../../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-schemaless-rule)) -else -$(foreach d,$(databases),$(eval $(call test-schemaless-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/schema/embedded/basics/test.std b/common/schema/embedded/basics/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/schema/embedded/basics/testscript b/common/schema/embedded/basics/testscript new file mode 100644 index 0000000..24448c0 --- /dev/null +++ b/common/schema/embedded/basics/testscript @@ -0,0 +1,31 @@ +# file : common/schema/embedded/basics/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../../mysql.testscript + + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../../pgsql.testscript + + $* +} diff --git a/common/schema/embedded/order/.gitignore b/common/schema/embedded/order/.gitignore new file mode 100644 index 0000000..5d39d39 --- /dev/null +++ b/common/schema/embedded/order/.gitignore @@ -0,0 +1,6 @@ +# ODB-generated files. +# +test1-odb.?xx +test1-odb-*.?xx +test2-odb.?xx +test2-odb-*.?xx diff --git a/common/schema/embedded/order/buildfile b/common/schema/embedded/order/buildfile new file mode 100644 index 0000000..57ad7dd --- /dev/null +++ b/common/schema/embedded/order/buildfile @@ -0,0 +1,48 @@ +# file : common/schema/embedded/order/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +hs = test1 test2 + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +for h: $hs +{ + exe{driver}: {hxx ixx cxx}{$h-odb} + + <{hxx ixx cxx}{$h-odb}>: hxx{$h} libue{test-meta} + + for db: $databases + { + exe{driver}: {hxx ixx cxx}{$h-odb-$db}: include = $multi + <{hxx ixx cxx}{$h-odb-$db}>: hxx{$h} libue{test-meta} + } +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix schema_embd_ordr_ \ + --generate-schema \ + --schema-format embedded + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../../alias{database-client}: include = adhoc diff --git a/common/schema/embedded/order/driver.cxx b/common/schema/embedded/order/driver.cxx index b035b69..fde5e96 100644 --- a/common/schema/embedded/order/driver.cxx +++ b/common/schema/embedded/order/driver.cxx @@ -4,15 +4,14 @@ // Test statement execution order in embedded schemas. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include #include -#include +#include #include "test1.hxx" #include "test2.hxx" @@ -20,6 +19,9 @@ #include "test1-odb.hxx" #include "test2-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -28,7 +30,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv, false)); + unique_ptr db (create_database (argc, argv, false)); odb::database_id db_id (db->id ()); // Create the database schema. diff --git a/common/schema/embedded/order/makefile b/common/schema/embedded/order/makefile deleted file mode 100644 index bcdf185..0000000 --- a/common/schema/embedded/order/makefile +++ /dev/null @@ -1,122 +0,0 @@ -# file : common/schema/embedded/order/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test2.hxx test1.hxx # Reverse order. -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---schema-format embedded --table-prefix schema_embd_ordr_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -# Extra dependecy for the ODB-generated code. -# -$(gen): $(addprefix $(src_base)/,$(odb_hdr)) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export odb_header_stem := $(basename $(odb_hdr)) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../../template/Makefile.am) - $(call meta-vc8projs,../../../template/template,$(name)) - $(call meta-vc9projs,../../../template/template,$(name)) - $(call meta-vc10projs,../../../template/template,$(name)) - $(call meta-vc11projs,../../../template/template,$(name)) - $(call meta-vc12projs,../../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-schemaless-rule)) -else -$(foreach d,$(databases),$(eval $(call test-schemaless-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/schema/embedded/order/test.std b/common/schema/embedded/order/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/schema/embedded/order/testscript b/common/schema/embedded/order/testscript new file mode 100644 index 0000000..6dfe58c --- /dev/null +++ b/common/schema/embedded/order/testscript @@ -0,0 +1,31 @@ +# file : common/schema/embedded/order/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../../mysql.testscript + + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../../pgsql.testscript + + $* +} diff --git a/common/schema/namespace/buildfile b/common/schema/namespace/buildfile new file mode 100644 index 0000000..fa496d7 --- /dev/null +++ b/common/schema/namespace/buildfile @@ -0,0 +1,41 @@ +# file : common/schema/namespace/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix schema_ns_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/schema/namespace/driver.cxx b/common/schema/namespace/driver.cxx index b8739d8..25515f2 100644 --- a/common/schema/namespace/driver.cxx +++ b/common/schema/namespace/driver.cxx @@ -4,18 +4,20 @@ // Test database schemas (aka database namespaces). // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -24,7 +26,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Test database schema (aka database namespace). // @@ -47,7 +49,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p2 (db->load ("aaa")); + unique_ptr p2 (db->load ("aaa")); t.commit (); assert (o2 == *p2); diff --git a/common/schema/namespace/makefile b/common/schema/namespace/makefile deleted file mode 100644 index e6f4016..0000000 --- a/common/schema/namespace/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/schema/namespace/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix schema_ns_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/schema/namespace/test.std b/common/schema/namespace/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/schema/namespace/testscript b/common/schema/namespace/testscript new file mode 100644 index 0000000..0fabe6e --- /dev/null +++ b/common/schema/namespace/testscript @@ -0,0 +1,33 @@ +# file : common/schema/namespace/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/section/basics/buildfile b/common/section/basics/buildfile new file mode 100644 index 0000000..5ccdd6b --- /dev/null +++ b/common/section/basics/buildfile @@ -0,0 +1,41 @@ +# file : common/section/basics/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_section_b_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/section/basics/driver.cxx b/common/section/basics/driver.cxx index b333c59..53783a3 100644 --- a/common/section/basics/driver.cxx +++ b/common/section/basics/driver.cxx @@ -4,19 +4,21 @@ // Test object section basics. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -27,7 +29,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Test lazy-loaded, always updating section. // @@ -46,7 +48,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (!p->s.loaded ()); assert (p->n == o.n && @@ -76,7 +78,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->n == o.n && p->sn == o.sn && p->ss == o.ss && p->sv == o.sv); @@ -98,7 +100,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->n != o.n && p->sn == o.sn && p->ss == o.ss && p->sv == o.sv); @@ -121,7 +123,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->n == o.n && p->sn != o.sn && p->ss != o.ss && p->sv != o.sv); @@ -138,7 +140,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); db->reload (o); assert (p->n == o.n && @@ -154,7 +156,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); db->reload (o); assert (p->n == o.n && @@ -235,7 +237,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (!p->s.loaded ()); assert (p->n == o.n && @@ -265,7 +267,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->n == o.n && p->sn != o.sn && p->ss != o.ss && p->sv != o.sv); @@ -285,7 +287,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->n == o.n && p->sn == o.sn && p->ss == o.ss && p->sv == o.sv); @@ -309,7 +311,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->n != o.n && p->sn == o.sn && p->ss == o.ss && p->sv == o.sv); @@ -334,7 +336,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (!p->s.loaded ()); assert (p->n == o.n && @@ -364,7 +366,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->n == o.n && p->sn != o.sn && p->ss != o.ss && p->sv != o.sv); @@ -384,7 +386,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->n == o.n && p->sn == o.sn && p->ss == o.ss && p->sv == o.sv); @@ -406,7 +408,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->n != o.n && p->sn == o.sn && p->ss == o.ss && p->sv == o.sv); @@ -418,7 +420,7 @@ main (int argc, char* argv[]) try { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->update (*p, p->s); assert (false); } @@ -444,7 +446,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (p->s.loaded ()); assert (p->n == o.n && @@ -468,7 +470,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (p->n == o.n && p->sn != o.sn && p->ss != o.ss && p->sv != o.sv); t.commit (); @@ -487,7 +489,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (p->n == o.n && p->sn == o.sn && p->ss == o.ss && p->sv == o.sv); t.commit (); @@ -511,7 +513,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (p->s.loaded ()); assert (p->n == o.n && @@ -535,7 +537,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (p->n == o.n && p->sn != o.sn && p->ss != o.ss && p->sv != o.sv); t.commit (); @@ -554,7 +556,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (p->n == o.n && p->sn == o.sn && p->ss == o.ss && p->sv == o.sv); t.commit (); @@ -575,7 +577,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (p->n != o.n && p->sn == o.sn && p->ss == o.ss && p->sv == o.sv); t.commit (); @@ -601,7 +603,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (!p->s1.loaded ()); assert (!p->s2.loaded ()); @@ -636,7 +638,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s1); db->load (*p, p->s2); assert (p->n == o.n && @@ -660,7 +662,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s1); db->load (*p, p->s2); assert (p->n != o.n && @@ -688,7 +690,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (!p->s1.loaded ()); assert (!p->s2.loaded ()); @@ -722,7 +724,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s1); db->load (*p, p->s2); assert (p->sn1 == o.sn1 && p->ss1 == o.ss1 && @@ -746,7 +748,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s1); db->load (*p, p->s2); assert (p->sn1 != o.sn1 && p->ss1 != o.ss1 && @@ -777,7 +779,7 @@ main (int argc, char* argv[]) session s; transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); + unique_ptr p1 (db->load (o1.id)); object* p (p1->p); assert (!p->s.loaded ()); @@ -809,7 +811,7 @@ main (int argc, char* argv[]) session s; transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); + unique_ptr p1 (db->load (o1.id)); object* p (p1->p); db->load (*p, p->s); @@ -837,7 +839,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (!p->s.loaded ()); assert (o.id == o.id && @@ -865,7 +867,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (o.id == o.id && p->sn != o.sn && p->ss != o.ss); @@ -882,7 +884,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (o.id == o.id && p->sn == o.sn && p->ss == o.ss); @@ -907,7 +909,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (!p->s.loaded ()); assert (p->n == o.n && p->sn != o.sn); @@ -934,7 +936,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->n == o.n && p->sn != o.sn); t.commit (); @@ -958,7 +960,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (!p->s.loaded ()); assert (p->n == o.n && @@ -988,7 +990,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->n == o.n && p->sn == o.sn && p->sc.s == o.sc.s && p->sc.v == o.sc.v); @@ -1045,7 +1047,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->n == o.n && p->sn == o.sn && p->ss == o.ss); t.commit (); @@ -1071,7 +1073,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (!p->s ().loaded ()); assert (p->n == o.n && p->sn != o.sn && p->ss != o.ss); @@ -1099,7 +1101,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->rw_s ()); assert (p->n == o.n && p->sn == o.sn && p->ss == o.ss); t.commit (); @@ -1136,7 +1138,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (!p->s.loaded ()); assert (p->n == o.n && p->sn != o.sn && p->sb != o.sb); @@ -1163,7 +1165,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->n == o.n && p->sn == o.sn && p->sb == o.sb); t.commit (); @@ -1183,7 +1185,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->n != o.n && p->sn == o.sn && p->sb == o.sb); t.commit (); @@ -1207,7 +1209,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (!p->s.loaded ()); assert (p->n == o.n && @@ -1232,7 +1234,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->update (o1); assert (o.v != o1.v); @@ -1267,7 +1269,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->update (o1, o1.s); assert (o.v != o1.v); @@ -1275,7 +1277,7 @@ main (int argc, char* argv[]) // Double-check object version was updated. // { - auto_ptr p1 (db->load (o.id)); + unique_ptr p1 (db->load (o.id)); assert (o1.v == p1->v); } @@ -1343,7 +1345,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (!p->s.loaded ()); assert (p->sv != o.sv); @@ -1363,7 +1365,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->update (o1); assert (o.v != o1.v); @@ -1394,7 +1396,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->update (o1, o1.s); assert (o.v != o1.v); @@ -1402,7 +1404,7 @@ main (int argc, char* argv[]) // Double-check object version was updated. // { - auto_ptr p1 (db->load (o.id)); + unique_ptr p1 (db->load (o.id)); assert (o1.v == p1->v); } @@ -1467,7 +1469,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (!p->s1.loaded ()); assert (!p->s2.loaded ()); @@ -1493,7 +1495,7 @@ main (int argc, char* argv[]) o1.s2v[0]++; transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->update (o1); assert (o.v != o1.v); @@ -1532,7 +1534,7 @@ main (int argc, char* argv[]) for (unsigned short s (1); s < 3; ++s) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); switch (s) { @@ -1642,7 +1644,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); assert (!p->s.loaded ()); assert (p->sn != o.sn && p->sv != o.sv); @@ -1668,7 +1670,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->sn == o.sn && p->sv == o.sv); t.commit (); @@ -1687,7 +1689,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->sn == o.sn && p->sv == o.sv); t.commit (); @@ -1716,7 +1718,7 @@ main (int argc, char* argv[]) connection_ptr c (db->connection ()); transaction t (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); db->load (*p, p->s); assert (p->m[1].b == o.m[1].b); diff --git a/common/section/basics/makefile b/common/section/basics/makefile deleted file mode 100644 index 482672f..0000000 --- a/common/section/basics/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/section/basics/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix t_section_b_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/section/basics/test.std b/common/section/basics/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/section/basics/testscript b/common/section/basics/testscript new file mode 100644 index 0000000..c0c6617 --- /dev/null +++ b/common/section/basics/testscript @@ -0,0 +1,33 @@ +# file : common/section/basics/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/section/polymorphism/buildfile b/common/section/polymorphism/buildfile new file mode 100644 index 0000000..b9a7514 --- /dev/null +++ b/common/section/polymorphism/buildfile @@ -0,0 +1,41 @@ +# file : common/section/polymorphism/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_section_p_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/section/polymorphism/driver.cxx b/common/section/polymorphism/driver.cxx index 321b852..c15d317 100644 --- a/common/section/polymorphism/driver.cxx +++ b/common/section/polymorphism/driver.cxx @@ -4,19 +4,21 @@ // Test sections in polymorphic objects. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -27,7 +29,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Test basic polymorphic section functionality. // @@ -59,8 +61,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd (db->load (d.id)); assert (!pb->rs1.loaded ()); assert (!pb->rs2.loaded ()); @@ -177,8 +179,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd (db->load (d.id)); db->load (*pb, pb->rs1); db->load (*pb, pb->rs2); @@ -252,8 +254,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd (db->load (d.id)); db->load (*pb, pb->rs1); db->load (*pb, pb->rs2); @@ -312,8 +314,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd (db->load (d.id)); db->load (*pb, pb->rs1); db->load (*pb, pb->rs2); @@ -369,7 +371,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pd (db->load (d.id)); + unique_ptr pd (db->load (d.id)); assert (!pd->s.loaded ()); assert (pd->sn != d.sn && pd->sv != d.sv); @@ -396,7 +398,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pd (db->load (d.id)); + unique_ptr pd (db->load (d.id)); base* pb (pd.get ()); db->load (*pb, pb->s); // Via base. @@ -419,7 +421,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pd (db->load (d.id)); + unique_ptr pd (db->load (d.id)); db->load (*pd, pd->s); @@ -434,7 +436,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pd (db->load (d.id)); + unique_ptr pd (db->load (d.id)); db->load (*pd, pd->s); @@ -482,9 +484,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pr (db->load (r.id)); - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); + unique_ptr pr (db->load (r.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd (db->load (d.id)); assert (!pr->s1.loaded ()); assert (!pr->s2.loaded ()); @@ -595,9 +597,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pr (db->load (r.id)); - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); + unique_ptr pr (db->load (r.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd (db->load (d.id)); db->load (*pr, pr->s1); db->load (*pr, pr->s2); @@ -674,9 +676,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pr (db->load (r.id)); - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); + unique_ptr pr (db->load (r.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd (db->load (d.id)); db->load (*pr, pr->s1); db->load (*pr, pr->s2); @@ -733,9 +735,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pr (db->load (r.id)); - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); + unique_ptr pr (db->load (r.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd (db->load (d.id)); db->load (*pr, pr->s1); db->load (*pr, pr->s2); @@ -808,8 +810,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd (db->load (d.id)); assert (!pb->rs1.loaded ()); assert (!pb->rs2.loaded ()); @@ -904,8 +906,8 @@ main (int argc, char* argv[]) d1.ds1v[0]++; transaction t (db->begin ()); - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd (db->load (d.id)); db->update (b1); db->update (d1); @@ -1023,8 +1025,8 @@ main (int argc, char* argv[]) for (unsigned short s (1); s < 7; ++s) { transaction t (db->begin ()); - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd (db->load (d.id)); switch (s) { @@ -1311,8 +1313,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd (db->load (d.id)); assert (!pb->s.loaded ()); assert (!pd->s.loaded ()); @@ -1338,7 +1340,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pd (db->load (d.id)); + unique_ptr pd (db->load (d.id)); db->update (d1); @@ -1370,7 +1372,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pd (db->load (d.id)); + unique_ptr pd (db->load (d.id)); db->update (b1, b1.s); // No-op. db->update (d1, d1.s); @@ -1439,7 +1441,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pd (db->load (d.id)); + unique_ptr pd (db->load (d.id)); assert (pd->s.loaded ()); assert (pd->sn == d.sn); @@ -1526,8 +1528,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pb (db->load (b.id)); - auto_ptr pd (db->load (d.id)); + unique_ptr pb (db->load (b.id)); + unique_ptr pd (db->load (d.id)); assert (!pb->s.loaded ()); assert (!pd->s.loaded ()); @@ -1553,7 +1555,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pd (db->load (d.id)); + unique_ptr pd (db->load (d.id)); db->update (d1); @@ -1585,7 +1587,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pd (db->load (d.id)); + unique_ptr pd (db->load (d.id)); db->update (b1, b1.s); // No-op. db->update (d1, d1.s); @@ -1653,7 +1655,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pd (db->load (d.id)); + unique_ptr pd (db->load (d.id)); assert (!pd->s.loaded ()); assert (pd->sn != d.sn); @@ -1674,7 +1676,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pd (db->load (d.id)); + unique_ptr pd (db->load (d.id)); db->update (d1); @@ -1706,7 +1708,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr pd (db->load (d.id)); + unique_ptr pd (db->load (d.id)); db->update (d1, d1.s); assert (d.v != d1.v); @@ -1754,7 +1756,6 @@ main (int argc, char* argv[]) } } -#ifdef HAVE_CXX11 // Test reuse/polymorphic inheritance and optimistic mix. // { @@ -1797,7 +1798,6 @@ main (int argc, char* argv[]) t.commit (); } } -#endif } catch (const odb::exception& e) { diff --git a/common/section/polymorphism/makefile b/common/section/polymorphism/makefile deleted file mode 100644 index 5b7db2d..0000000 --- a/common/section/polymorphism/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/section/polymorphism/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix t_section_p_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/section/polymorphism/test.hxx b/common/section/polymorphism/test.hxx index 7db7118..6d524bd 100644 --- a/common/section/polymorphism/test.hxx +++ b/common/section/polymorphism/test.hxx @@ -4,8 +4,6 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11 - #include #include #include @@ -501,7 +499,6 @@ namespace test8 // objects derive polymorphically from the same base (and thus shared the id // bindind). // -#ifdef HAVE_CXX11 #pragma db namespace table("t9_") namespace test9 { @@ -541,6 +538,5 @@ namespace test9 elements e2; }; } -#endif #endif // TEST_HXX diff --git a/common/section/polymorphism/test.std b/common/section/polymorphism/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/section/polymorphism/testscript b/common/section/polymorphism/testscript new file mode 100644 index 0000000..f2cd536 --- /dev/null +++ b/common/section/polymorphism/testscript @@ -0,0 +1,33 @@ +# file : common/section/polymorphism/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/session/cache/buildfile b/common/session/cache/buildfile new file mode 100644 index 0000000..6d5b0bc --- /dev/null +++ b/common/session/cache/buildfile @@ -0,0 +1,41 @@ +# file : common/session/cache/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix session_cache_ \ + --generate-schema \ + --generate-session + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/session/cache/driver.cxx b/common/session/cache/driver.cxx index 6858d06..4b4ea12 100644 --- a/common/session/cache/driver.cxx +++ b/common/session/cache/driver.cxx @@ -4,19 +4,21 @@ // Test session object cache. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -25,11 +27,10 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Test the session_required exception. // -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) { using namespace test1; @@ -73,7 +74,6 @@ main (int argc, char* argv[]) t.commit (); } } -#endif } catch (const odb::exception& e) { diff --git a/common/session/cache/makefile b/common/session/cache/makefile deleted file mode 100644 index 8e475a2..0000000 --- a/common/session/cache/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/session/cache/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-session \ ---table-prefix session_cache_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/session/cache/test.hxx b/common/session/cache/test.hxx index 3ee2fbf..d2b1b2b 100644 --- a/common/session/cache/test.hxx +++ b/common/session/cache/test.hxx @@ -4,31 +4,18 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11, HAVE_TR1_MEMORY - #include #include #include -#if !defined(HAVE_CXX11) && defined(HAVE_TR1_MEMORY) -# include -#endif - // Test the session_required exception. // -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) - #pragma db namespace table("t1_") namespace test1 { -#ifdef HAVE_CXX11 using std::shared_ptr; using std::weak_ptr; -#else - using std::tr1::shared_ptr; - using std::tr1::weak_ptr; -#endif #pragma db namespace(test1) pointer(shared_ptr) @@ -60,6 +47,4 @@ namespace test1 }; } -#endif // HAVE_CXX11 || HAVE_TR1_MEMORY - #endif // TEST_HXX diff --git a/common/session/cache/test.std b/common/session/cache/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/session/cache/testscript b/common/session/cache/testscript new file mode 100644 index 0000000..6d013eb --- /dev/null +++ b/common/session/cache/testscript @@ -0,0 +1,33 @@ +# file : common/session/cache/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/session/custom/buildfile b/common/session/custom/buildfile new file mode 100644 index 0000000..1b64de1 --- /dev/null +++ b/common/session/custom/buildfile @@ -0,0 +1,43 @@ +# file : common/session/custom/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx txx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix session_custom_ \ + --generate-schema \ + --generate-session \ + --session-type ::session \ + --hxx-prologue '#include "session.hxx"' + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/session/custom/driver.cxx b/common/session/custom/driver.cxx index 851443e..3056fd6 100644 --- a/common/session/custom/driver.cxx +++ b/common/session/custom/driver.cxx @@ -6,7 +6,6 @@ #include #include // std::size_t -#include #include #include @@ -15,13 +14,16 @@ #include #include // ODB_CXX11_* -#include +#include #include "session.hxx" #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using odb::database; @@ -43,7 +45,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Simple Tech Ltd. // diff --git a/common/session/custom/makefile b/common/session/custom/makefile deleted file mode 100644 index c1fa5bc..0000000 --- a/common/session/custom/makefile +++ /dev/null @@ -1,115 +0,0 @@ -# file : common/session/custom/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx session.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-session \ ---session-type ::session --hxx-prologue '\#include "session.hxx"' \ ---table-prefix session_custom_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := session.hxx session.txx -$(dist): export extra_sources := $(filter-out driver.cxx,$(cxx_tun)) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc10projs,$(name)) \ -$(call vc11projs,$(name)) $(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/session/custom/session.hxx b/common/session/custom/session.hxx index 29ac040..2d2f597 100644 --- a/common/session/custom/session.hxx +++ b/common/session/custom/session.hxx @@ -106,6 +106,15 @@ public: cache_position (): map_ (0) {} cache_position (map& m, const iterator& p): map_ (&m), pos_ (p) {} + cache_position (const cache_position& p) + : map_ (p.map_) + { + // It might not be ok to use an uninitialized iterator. + // + if (p.map_ != 0) + pos_ = p.pos_; + } + cache_position& operator= (const cache_position& p) { diff --git a/common/session/custom/test.std b/common/session/custom/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/session/custom/testscript b/common/session/custom/testscript new file mode 100644 index 0000000..39c281d --- /dev/null +++ b/common/session/custom/testscript @@ -0,0 +1,33 @@ +# file : common/session/custom/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/statement/processing/buildfile b/common/statement/processing/buildfile new file mode 100644 index 0000000..97124e8 --- /dev/null +++ b/common/statement/processing/buildfile @@ -0,0 +1,8 @@ +# file : common/statement/processing/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libs = libodb%lib{odb} + +exe{driver}: {hxx cxx}{*} $libs testscript + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/common/statement/processing/driver.cxx b/common/statement/processing/driver.cxx index 778498b..2d00107 100644 --- a/common/statement/processing/driver.cxx +++ b/common/statement/processing/driver.cxx @@ -5,11 +5,13 @@ // #include -#include #include #include +#undef NDEBUG +#include + using namespace std; static bool diff --git a/common/statement/processing/makefile b/common/statement/processing/makefile deleted file mode 100644 index 982dbe5..0000000 --- a/common/statement/processing/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : common/statement/processing/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-schemaless-rule)) -else -$(foreach d,$(databases),$(eval $(call test-schemaless-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/statement/processing/test.std b/common/statement/processing/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/statement/processing/testscript b/common/statement/processing/testscript new file mode 100644 index 0000000..2460dc6 --- /dev/null +++ b/common/statement/processing/testscript @@ -0,0 +1,6 @@ +# file : common/statement/processing/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +: basics +: +$* diff --git a/common/template/Makefile.am b/common/template/Makefile.am deleted file mode 100644 index f35394b..0000000 --- a/common/template/Makefile.am +++ /dev/null @@ -1,39 +0,0 @@ -# file : common/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, -# ODB compilation. -# -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -nodist_driver_SOURCES = -BUILT_SOURCES = -CLEANFILES = - -__foreach_w__(__f,__path__(odb_header_stem), -driver_SOURCES += __f.hxx -nodist_driver_SOURCES += __f-odb.cxx -BUILT_SOURCES += __f-odb.hxx -CLEANFILES += __f-odb.hxx __f-odb.ixx __f-odb.cxx - -__f-odb.hxx: __f.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) --database @database@ __value__(odb_options) $< - -)) diff --git a/common/template/driver.cxx b/common/template/driver.cxx deleted file mode 100644 index 83f9336..0000000 --- a/common/template/driver.cxx +++ /dev/null @@ -1,39 +0,0 @@ -// file : common/template/driver.cxx -// license : GNU GPL v2; see accompanying LICENSE file - -// PLACE TEST DESCRIPTION HERE -// - -#include // std::auto_ptr -#include -#include - -#include -#include - -#include - -#include "test.hxx" -#include "test-odb.hxx" - -using namespace std; -using namespace odb::core; - -int -main (int argc, char* argv[]) -{ - try - { - auto_ptr db (create_database (argc, argv)); - - { - transaction t (db->begin ()); - t.commit (); - } - } - catch (const odb::exception& e) - { - cerr << e.what () << endl; - return 1; - } -} diff --git a/common/template/makefile b/common/template/makefile deleted file mode 100644 index 2fba29d..0000000 --- a/common/template/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---table-prefix template_ #@@ CHANGE THIS -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/template/template-vc10.vcxproj b/common/template/template-vc10.vcxproj deleted file mode 100644 index fb21140..0000000 --- a/common/template/template-vc10.vcxproj +++ /dev/null @@ -1,185 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {__uuid__()} - Win32Proj - __value__(name) - - - - Application - true - Unicode - - - Application - true - Unicode - - - Application - false - true - Unicode - - - Application - false - true - Unicode - - - - - - - - - - - - - - - - - - - true - $(Configuration)\ - driver - - - true - $(Platform)\$(Configuration)\ - driver - - - false - $(Configuration)\ - driver - - - false - $(Platform)\$(Configuration)\ - driver - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;__upcase__(database_)__upcase__(__value__(database));HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common-d.lib;odb-__value__(database)-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;__upcase__(database_)__upcase__(__value__(database));HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common-d.lib;odb-__value__(database)-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;__upcase__(database_)__upcase__(__value__(database));HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common.lib;odb-__value__(database).lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;__upcase__(database_)__upcase__(__value__(database));HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common.lib;odb-__value__(database).lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - -__ifelse__(__value__(odb_options),,, -m4_dnl - - __foreach_w__(__f,__path__(odb_header_stem), - __custom_build_entry__( -__f.hxx, -odb __f.hxx, -odb.exe --std c++11 --database __value__(database) __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1600 -I$(SolutionDir)\..\libcommon)) __f.hxx, -__f-odb.hxx;__f-odb.ixx;__f-odb.cxx) -) - ) - -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), -__header_entry__(__f-odb.hxx) -__header_entry__(__f-odb.ixx) -))__header_entries__(extra_headers) - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), -__source_entry__(__f-odb.cxx) -))__source_entries__(extra_sources) - - - - - diff --git a/common/template/template-vc10.vcxproj.filters b/common/template/template-vc10.vcxproj.filters deleted file mode 100644 index 3460ffd..0000000 --- a/common/template/template-vc10.vcxproj.filters +++ /dev/null @@ -1,28 +0,0 @@ - - - - - {__uuid__()} - cxx - - - {__uuid__()} - h;hxx;ixx;txx - - - -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), -__header_filter_entry__(__f.hxx) -__header_filter_entry__(__f-odb.hxx) -__header_filter_entry__(__f-odb.ixx) -))__header_filter_entries__(extra_headers) - - -__source_filter_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), -__source_filter_entry__(__f-odb.cxx) -))__source_filter_entries__(extra_sources) - - diff --git a/common/template/template-vc11.vcxproj b/common/template/template-vc11.vcxproj deleted file mode 100644 index d336611..0000000 --- a/common/template/template-vc11.vcxproj +++ /dev/null @@ -1,189 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {__uuid__()} - Win32Proj - __value__(name) - - - - Application - true - v110 - Unicode - - - Application - true - v110 - Unicode - - - Application - false - v110 - true - Unicode - - - Application - false - v110 - true - Unicode - - - - - - - - - - - - - - - - - - - true - $(Configuration)\ - driver - - - true - $(Platform)\$(Configuration)\ - driver - - - false - $(Configuration)\ - driver - - - false - $(Platform)\$(Configuration)\ - driver - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;__upcase__(database_)__upcase__(__value__(database));HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common-d.lib;odb-__value__(database)-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;__upcase__(database_)__upcase__(__value__(database));HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common-d.lib;odb-__value__(database)-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;__upcase__(database_)__upcase__(__value__(database));HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common.lib;odb-__value__(database).lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;__upcase__(database_)__upcase__(__value__(database));HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common.lib;odb-__value__(database).lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - -__ifelse__(__value__(odb_options),,, -m4_dnl - - __foreach_w__(__f,__path__(odb_header_stem), - __custom_build_entry__( -__f.hxx, -odb __f.hxx, -odb.exe --std c++11 --database __value__(database) __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1700 -I$(SolutionDir)\..\libcommon)) __f.hxx, -__f-odb.hxx;__f-odb.ixx;__f-odb.cxx) -) - ) - -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), -__header_entry__(__f-odb.hxx) -__header_entry__(__f-odb.ixx) -))__header_entries__(extra_headers) - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), -__source_entry__(__f-odb.cxx) -))__source_entries__(extra_sources) - - - - - diff --git a/common/template/template-vc11.vcxproj.filters b/common/template/template-vc11.vcxproj.filters deleted file mode 100644 index 3460ffd..0000000 --- a/common/template/template-vc11.vcxproj.filters +++ /dev/null @@ -1,28 +0,0 @@ - - - - - {__uuid__()} - cxx - - - {__uuid__()} - h;hxx;ixx;txx - - - -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), -__header_filter_entry__(__f.hxx) -__header_filter_entry__(__f-odb.hxx) -__header_filter_entry__(__f-odb.ixx) -))__header_filter_entries__(extra_headers) - - -__source_filter_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), -__source_filter_entry__(__f-odb.cxx) -))__source_filter_entries__(extra_sources) - - diff --git a/common/template/template-vc12.vcxproj b/common/template/template-vc12.vcxproj deleted file mode 100644 index b738145..0000000 --- a/common/template/template-vc12.vcxproj +++ /dev/null @@ -1,193 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {__uuid__()} - Win32Proj - __value__(name) - - - - Application - true - v120 - Unicode - - - Application - true - v120 - Unicode - - - Application - false - v120 - true - Unicode - - - Application - false - v120 - true - Unicode - - - - - - - - - - - - - - - - - - - true - $(Configuration)\ - driver - - - true - $(Platform)\$(Configuration)\ - driver - - - false - $(Configuration)\ - driver - - - false - $(Platform)\$(Configuration)\ - driver - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;__upcase__(database_)__upcase__(__value__(database));HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib\common-d.lib;odb-__value__(database)-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;__upcase__(database_)__upcase__(__value__(database));HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib64\common-d.lib;odb-__value__(database)-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;__upcase__(database_)__upcase__(__value__(database));HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib\common.lib;odb-__value__(database).lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;__upcase__(database_)__upcase__(__value__(database));HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib64\common.lib;odb-__value__(database).lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - -__ifelse__(__value__(odb_options),,, -m4_dnl - - __foreach_w__(__f,__path__(odb_header_stem), - __custom_build_entry__( -__f.hxx, -odb __f.hxx, -odb.exe --std c++11 --database __value__(database) __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1700 -I$(SolutionDir)\..\libcommon)) __f.hxx, -__f-odb.hxx;__f-odb.ixx;__f-odb.cxx) -) - ) - -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), -__header_entry__(__f-odb.hxx) -__header_entry__(__f-odb.ixx) -))__header_entries__(extra_headers) - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), -__source_entry__(__f-odb.cxx) -))__source_entries__(extra_sources) - - - - - diff --git a/common/template/template-vc12.vcxproj.filters b/common/template/template-vc12.vcxproj.filters deleted file mode 100644 index 3460ffd..0000000 --- a/common/template/template-vc12.vcxproj.filters +++ /dev/null @@ -1,28 +0,0 @@ - - - - - {__uuid__()} - cxx - - - {__uuid__()} - h;hxx;ixx;txx - - - -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), -__header_filter_entry__(__f.hxx) -__header_filter_entry__(__f-odb.hxx) -__header_filter_entry__(__f-odb.ixx) -))__header_filter_entries__(extra_headers) - - -__source_filter_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), -__source_filter_entry__(__f-odb.cxx) -))__source_filter_entries__(extra_sources) - - diff --git a/common/template/template-vc8.vcproj b/common/template/template-vc8.vcproj deleted file mode 100644 index 33ad5ae..0000000 --- a/common/template/template-vc8.vcproj +++ /dev/null @@ -1,357 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), - __source_entry__(__f-odb.cxx))) -__source_entries__(extra_sources) - - -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), - __file_entry_custom_build__( -__f.hxx, -odb __f.hxx, -odb.exe --database __value__(database) __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1400 -I$(SolutionDir)\..\libcommon)) __f.hxx, -__f-odb.hxx;__f-odb.ixx;__f-odb.cxx) -__file_entry__(__f-odb.hxx) -__file_entry__(__f-odb.ixx))) -__file_entries__(extra_headers) - - - - - diff --git a/common/template/template-vc9.vcproj b/common/template/template-vc9.vcproj deleted file mode 100644 index 976b870..0000000 --- a/common/template/template-vc9.vcproj +++ /dev/null @@ -1,364 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), - __source_entry__(__f-odb.cxx))) -__source_entries__(extra_sources) - - -__ifelse__(__value__(odb_options),,, - __foreach_w__(__f,__path__(odb_header_stem), - __file_entry_custom_build__( -__f.hxx, -odb __f.hxx, -odb.exe --database __value__(database) __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1500 -I$(SolutionDir)\..\libcommon)) __f.hxx, -__f-odb.hxx;__f-odb.ixx;__f-odb.cxx) -__file_entry__(__f-odb.hxx) -__file_entry__(__f-odb.ixx))) -__file_entries__(extra_headers) - - - - - diff --git a/common/template/test.hxx b/common/template/test.hxx deleted file mode 100644 index 39ea826..0000000 --- a/common/template/test.hxx +++ /dev/null @@ -1,25 +0,0 @@ -// file : common/template/test.hxx -// license : GNU GPL v2; see accompanying LICENSE file - -#ifndef TEST_HXX -#define TEST_HXX - -#include - -#pragma db object -struct object -{ - object (unsigned long id) - : id_ (id) - { - } - - object () - { - } - - #pragma db id - unsigned long id_; -}; - -#endif // TEST_HXX diff --git a/common/template/test.std b/common/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/test.bat b/common/test.bat deleted file mode 100644 index 8ca4cb6..0000000 --- a/common/test.bat +++ /dev/null @@ -1,79 +0,0 @@ -@echo off -rem file : common/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs) __path__(thread_dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\.." -set "failed=" - -if "_%1_" == "__" ( - echo no database specified - goto usage -) - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem %4 - database -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat %4 %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p %1 - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:usage -echo. -echo usage: test.bat database -echo. - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/common/threads/buildfile b/common/threads/buildfile new file mode 100644 index 0000000..53b98ec --- /dev/null +++ b/common/threads/buildfile @@ -0,0 +1,49 @@ +# file : common/threads/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix threads_ \ + --generate-schema \ + --generate-query \ + --generate-prepared + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# While we don't call any pthread_*() functions, this appears to be needed for +# some std::thread implementations (like libstdc++). Note that +# odb::details::thread inlines some std::thread API calls. +# +if ($cxx.target.class != 'windows') + cxx.libs += -pthread + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/threads/driver.cxx b/common/threads/driver.cxx index 3a2d408..1add011 100644 --- a/common/threads/driver.cxx +++ b/common/threads/driver.cxx @@ -5,9 +5,8 @@ // #include -#include // std::auto_ptr +#include // std::unique_ptr #include // std::size_t -#include #include #include @@ -16,16 +15,19 @@ #include #include -#include // DATABASE_* -#include +#include // DATABASE_* +#include -#if defined(DATABASE_SQLITE) || defined(DATABASE_COMMON) +#if defined(DATABASE_SQLITE) # include #endif #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; namespace details = odb::details; @@ -61,6 +63,7 @@ struct task try { transaction t (db_.begin ()); + db_.persist (o1); db_.persist (o2); db_.persist (o3); @@ -74,7 +77,7 @@ struct task { try { -#if !defined(DATABASE_SQLITE) && !defined(DATABASE_COMMON) +#if !defined(DATABASE_SQLITE) transaction t (db_.begin ()); #else // SQLite has a peculiar table locking mode (shared cache) @@ -93,7 +96,7 @@ struct task static_cast (db_).begin_immediate ()); } #endif - auto_ptr o (db_.load (id)); + unique_ptr o (db_.load (id)); assert (o->str_ == "first object"); o->str_ = "another value"; db_.update (*o); @@ -178,7 +181,7 @@ struct task bool test (int argc, char* argv[], size_t max_connections) { - auto_ptr db (create_database (argc, argv, true, max_connections)); + unique_ptr db (create_database (argc, argv, true, max_connections)); vector > threads; vector > tasks; diff --git a/common/threads/makefile b/common/threads/makefile deleted file mode 100644 index 59e6514..0000000 --- a/common/threads/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/threads/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---generate-prepared --table-prefix threads_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/threads/test.std b/common/threads/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/threads/testscript b/common/threads/testscript new file mode 100644 index 0000000..87e03e0 --- /dev/null +++ b/common/threads/testscript @@ -0,0 +1,50 @@ +# file : common/threads/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + # Note: this is quite slow: + # + # $ time ./driver --database ~/odb-test.db + # real 3m5.593s + # user 1m1.244s + # sys 0m26.793s + # + # $ time ./driver --database /tmp/odb-test.db + # real 0m13.909s + # user 0m16.724s + # sys 0m4.874s + # + # $ time ./driver --database "file::memory:" + # real 0m12.406s + # user 0m15.694s + # sys 0m4.207s + # + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/transaction/basics/buildfile b/common/transaction/basics/buildfile new file mode 100644 index 0000000..f412235 --- /dev/null +++ b/common/transaction/basics/buildfile @@ -0,0 +1,13 @@ +# file : common/transaction/basics/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libs = libodb%lib{odb} +import libs += lib{common} + +exe{driver}: {hxx cxx}{*} $libs testscript + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/transaction/basics/driver.cxx b/common/transaction/basics/driver.cxx index 721561d..1833555 100644 --- a/common/transaction/basics/driver.cxx +++ b/common/transaction/basics/driver.cxx @@ -5,7 +5,7 @@ // #include -#include +#include // std::unique_ptr #include #include @@ -14,8 +14,11 @@ #include #include -#include -#include +#include +#include + +#undef NDEBUG +#include using namespace std; using namespace odb::core; @@ -49,7 +52,7 @@ main (int argc, char* argv[]) { { transaction_tracer tracer; - auto_ptr db (create_database (argc, argv, false)); + unique_ptr db (create_database (argc, argv, false)); db->tracer (tracer); assert (!transaction::has_current ()); @@ -137,7 +140,7 @@ main (int argc, char* argv[]) // Test early connection release. // { - auto_ptr db (create_database (argc, argv, false, 1)); + unique_ptr db (create_database (argc, argv, false, 1)); transaction t1 (db->begin ()); t1.commit (); transaction t2 (db->begin ()); diff --git a/common/transaction/basics/makefile b/common/transaction/basics/makefile deleted file mode 100644 index a45080a..0000000 --- a/common/transaction/basics/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : common/transaction/basics/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-schemaless-rule)) -else -$(foreach d,$(databases),$(eval $(call test-schemaless-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/transaction/basics/test.std b/common/transaction/basics/test.std deleted file mode 100644 index 37d3598..0000000 --- a/common/transaction/basics/test.std +++ /dev/null @@ -1,26 +0,0 @@ -test 001 -begin transaction -begin transaction -rollback transaction -rollback transaction -test 002 -begin transaction -commit transaction -test 003 -begin transaction -rollback transaction -test 004 -begin transaction -rollback transaction -test 005 -begin transaction -already_in_transaction -rollback transaction -test 006 -begin transaction -rollback transaction -test 007 -begin transaction -commit transaction -begin transaction -commit transaction diff --git a/common/transaction/basics/testscript b/common/transaction/basics/testscript new file mode 100644 index 0000000..94c58b6 --- /dev/null +++ b/common/transaction/basics/testscript @@ -0,0 +1,62 @@ +# file : common/transaction/basics/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + ++cat <=output + test 001 + begin transaction + begin transaction + rollback transaction + rollback transaction + test 002 + begin transaction + commit transaction + test 003 + begin transaction + rollback transaction + test 004 + begin transaction + rollback transaction + test 005 + begin transaction + already_in_transaction + rollback transaction + test 006 + begin transaction + rollback transaction + test 007 + begin transaction + commit transaction + begin transaction + commit transaction + EOI + +test.redirects += >>>../output + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $* +} diff --git a/common/transaction/callback/buildfile b/common/transaction/callback/buildfile new file mode 100644 index 0000000..78b1b03 --- /dev/null +++ b/common/transaction/callback/buildfile @@ -0,0 +1,13 @@ +# file : common/transaction/callback/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libs = libodb%lib{odb} +import libs += lib{common} + +exe{driver}: {hxx cxx}{*} $libs testscript + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/transaction/callback/driver.cxx b/common/transaction/callback/driver.cxx index 90564a4..d0af993 100644 --- a/common/transaction/callback/driver.cxx +++ b/common/transaction/callback/driver.cxx @@ -4,14 +4,17 @@ // Test transaction callbacks. // -#include // std::size_t -#include +#include // std::unique_ptr +#include // std::size_t #include #include #include -#include +#include + +#undef NDEBUG +#include using namespace std; using namespace odb::core; @@ -104,7 +107,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv, false)); + unique_ptr db (create_database (argc, argv, false)); // We want to test both stack and dynamic slots. // diff --git a/common/transaction/callback/makefile b/common/transaction/callback/makefile deleted file mode 100644 index 1d0be66..0000000 --- a/common/transaction/callback/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : common/transaction/callback/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-schemaless-rule)) -else -$(foreach d,$(databases),$(eval $(call test-schemaless-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/transaction/callback/test.std b/common/transaction/callback/test.std deleted file mode 100644 index 4298c1e..0000000 --- a/common/transaction/callback/test.std +++ /dev/null @@ -1,36 +0,0 @@ -test 1/001 - callback 1 commit - callback 1 rollback - callback 1 rollback - unregister callback 1 - unregister callback 1 - callback 2 commit -test 1/002 - unregister callback 2 - callback 1 commit - callback 3 commit - unregister callback 2 - callback 1 commit - callback 4 commit - callback 3 commit -test 1/003 - callback 1 commit - callback 2 commit -test 2/001 - callback 1 commit - callback 1 rollback - callback 1 rollback - unregister callback 1 - unregister callback 1 - callback 2 commit -test 2/002 - unregister callback 2 - callback 1 commit - callback 3 commit - unregister callback 2 - callback 1 commit - callback 4 commit - callback 3 commit -test 2/003 - callback 1 commit - callback 2 commit diff --git a/common/transaction/callback/testscript b/common/transaction/callback/testscript new file mode 100644 index 0000000..7229ecd --- /dev/null +++ b/common/transaction/callback/testscript @@ -0,0 +1,72 @@ +# file : common/transaction/callback/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + ++cat <=output + test 1/001 + callback 1 commit + callback 1 rollback + callback 1 rollback + unregister callback 1 + unregister callback 1 + callback 2 commit + test 1/002 + unregister callback 2 + callback 1 commit + callback 3 commit + unregister callback 2 + callback 1 commit + callback 4 commit + callback 3 commit + test 1/003 + callback 1 commit + callback 2 commit + test 2/001 + callback 1 commit + callback 1 rollback + callback 1 rollback + unregister callback 1 + unregister callback 1 + callback 2 commit + test 2/002 + unregister callback 2 + callback 1 commit + callback 3 commit + unregister callback 2 + callback 1 commit + callback 4 commit + callback 3 commit + test 2/003 + callback 1 commit + callback 2 commit + EOI + +test.redirects += >>>../output + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $* +} diff --git a/common/types/buildfile b/common/types/buildfile new file mode 100644 index 0000000..95fe5b6 --- /dev/null +++ b/common/types/buildfile @@ -0,0 +1,39 @@ +# file : common/types/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix types_ + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/types/driver.cxx b/common/types/driver.cxx index 92cf9af..bdc66b8 100644 --- a/common/types/driver.cxx +++ b/common/types/driver.cxx @@ -5,14 +5,16 @@ // #include -#include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; diff --git a/common/types/makefile b/common/types/makefile deleted file mode 100644 index 732ba0a..0000000 --- a/common/types/makefile +++ /dev/null @@ -1,116 +0,0 @@ -# file : common/types/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --table-prefix types_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-schemaless-rule)) -else -$(foreach d,$(databases),$(eval $(call test-schemaless-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/types/test.std b/common/types/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/types/testscript b/common/types/testscript new file mode 100644 index 0000000..159972b --- /dev/null +++ b/common/types/testscript @@ -0,0 +1,6 @@ +# file : common/types/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +: basic +: +$* diff --git a/common/view/basics/buildfile b/common/view/basics/buildfile new file mode 100644 index 0000000..d9738a4 --- /dev/null +++ b/common/view/basics/buildfile @@ -0,0 +1,42 @@ +# file : common/view/basics/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_view_b_ \ + --generate-schema \ + --generate-query \ + --generate-prepared + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc diff --git a/common/view/basics/driver.cxx b/common/view/basics/driver.cxx index d55e7c5..e2f611a 100644 --- a/common/view/basics/driver.cxx +++ b/common/view/basics/driver.cxx @@ -4,19 +4,21 @@ // Test view basics. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include -#include // DATABASE_XXX +#include +#include // DATABASE_XXX #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -41,7 +43,7 @@ view1_check (odb::result& r) template void -view2_test (const auto_ptr& db) +view2_test (const unique_ptr& db) { typedef odb::query query; typedef odb::result result; @@ -76,12 +78,12 @@ view2_test (const auto_ptr& db) } { - auto_ptr v (db->query_one ()); + unique_ptr v (db->query_one ()); assert (v->count == 4); } { - auto_ptr v; + unique_ptr v; if (db->id () != odb::id_oracle) v.reset (db->query_one ("age < 31")); else @@ -90,7 +92,7 @@ view2_test (const auto_ptr& db) } { - auto_ptr v (db->query_one (query::age < 31)); + unique_ptr v (db->query_one (query::age < 31)); assert (v->count == 2); } @@ -99,7 +101,7 @@ view2_test (const auto_ptr& db) template void -view4_test (const auto_ptr& db) +view4_test (const unique_ptr& db) { typedef odb::query query; typedef odb::result result; @@ -162,7 +164,7 @@ view4_test (const auto_ptr& db) template void -view6_test (const auto_ptr& db, const odb::query& q) +view6_test (const unique_ptr& db, const odb::query& q) { typedef odb::result result; typedef typename result::iterator iterator; @@ -193,7 +195,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // // @@ -309,7 +311,7 @@ main (int argc, char* argv[]) // No native parameter support in dynamic multi-database mode. // -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE { typedef odb::query query; @@ -487,7 +489,7 @@ main (int argc, char* argv[]) // No native parameter support in dynamic multi-database mode. // -#ifndef DATABASE_COMMON +#ifndef MULTI_DATABASE view6_test ( #ifndef DATABASE_ORACLE db, "e.name = " + odb::query::_val ("Simple Tech, Inc")); @@ -719,7 +721,12 @@ main (int argc, char* argv[]) t.commit (); } -#if !defined(DATABASE_SQLITE) && !defined(DATABASE_COMMON) + // @@ BUILD2 Also disable for DATABASE_MYSQL and DATABASE_PGSQL (see + // vright definition for details). + // +#if !defined(DATABASE_MYSQL) && \ + !defined(DATABASE_SQLITE) && \ + !defined(DATABASE_PGSQL) { typedef odb::query query; typedef odb::result result; @@ -736,9 +743,12 @@ main (int argc, char* argv[]) } #endif -#if !defined(DATABASE_MYSQL) && \ + // @@ BUILD2 Also disable for DATABASE_PGSQL (see vfull definition for + // details). + // +#if !defined(DATABASE_MYSQL) && \ !defined(DATABASE_SQLITE) && \ - !defined(DATABASE_COMMON) + !defined(DATABASE_PGSQL) { typedef odb::query query; typedef odb::result result; diff --git a/common/view/basics/makefile b/common/view/basics/makefile deleted file mode 100644 index eafe550..0000000 --- a/common/view/basics/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/view/basics/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---generate-prepared --table-prefix t_view_b_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template,$(name)) - $(call meta-vc9projs,../../template/template,$(name)) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/view/basics/test.hxx b/common/view/basics/test.hxx index 66bf86c..130bcd4 100644 --- a/common/view/basics/test.hxx +++ b/common/view/basics/test.hxx @@ -543,7 +543,18 @@ namespace test2 odb::nullable id2; }; -#if !defined(ODB_DATABASE_SQLITE) && !defined(ODB_DATABASE_COMMON) + // @@ BUILD2 Also disable for ODB_DATABASE_MYSQL and ODB_DATABASE_PGSQL, + // otherwise we end up with the following error: + // + // test-odb-mysql.hxx:3202:20: error: invalid use of incomplete type ‘class odb::access::view_traits’ + // 3202 | public access::view_traits< ::test2::vright > + // | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // +//#if !defined(ODB_DATABASE_SQLITE) && !defined(ODB_DATABASE_COMMON) +#if !defined(ODB_DATABASE_MYSQL) && \ + !defined(ODB_DATABASE_SQLITE) && \ + !defined(ODB_DATABASE_PGSQL) && \ + !defined(ODB_DATABASE_COMMON) #pragma db view object(obj2 = o2) object(obj1 = o1 right: o2::n == o1::n) struct vright @@ -554,8 +565,21 @@ namespace test2 #endif + // @@ BUILD2 Also disable for ODB_DATABASE_PGSQL, otherwise we end up with the + // following error: + // + // test-odb-pgsql.hxx:3325:20: error: invalid use of incomplete type ‘class odb::access::view_traits’ + // 3325 | public access::view_traits< ::test2::vfull > + // | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // +/* +#if !defined(ODB_DATABASE_MYSQL) && \ + !defined(ODB_DATABASE_SQLITE) && \ + !defined(ODB_DATABASE_COMMON) +*/ #if !defined(ODB_DATABASE_MYSQL) && \ !defined(ODB_DATABASE_SQLITE) && \ + !defined(ODB_DATABASE_PGSQL) && \ !defined(ODB_DATABASE_COMMON) #pragma db view object(obj1 = o1) object(obj2 = o2 full: o1::n == o2::n) diff --git a/common/view/basics/test.std b/common/view/basics/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/view/basics/testscript b/common/view/basics/testscript new file mode 100644 index 0000000..faa8408 --- /dev/null +++ b/common/view/basics/testscript @@ -0,0 +1,33 @@ +# file : common/view/basics/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/view/olv/.gitignore b/common/view/olv/.gitignore new file mode 100644 index 0000000..2b95165 --- /dev/null +++ b/common/view/olv/.gitignore @@ -0,0 +1,46 @@ +# ODB-generated files. +# +test1-odb.?xx +test1-odb-*.?xx +test1.sql +test1-*.sql + +test2-odb.?xx +test2-odb-*.?xx +test2.sql +test2-*.sql + +test3-odb.?xx +test3-odb-*.?xx +test3.sql +test3-*.sql + +test4-odb.?xx +test4-odb-*.?xx +test4.sql +test4-*.sql + +test5-odb.?xx +test5-odb-*.?xx +test5.sql +test5-*.sql + +test6-odb.?xx +test6-odb-*.?xx +test6.sql +test6-*.sql + +test7-odb.?xx +test7-odb-*.?xx +test7.sql +test7-*.sql + +test8-odb.?xx +test8-odb-*.?xx +test8.sql +test8-*.sql + +test9-odb.?xx +test9-odb-*.?xx +test9.sql +test9-*.sql diff --git a/common/view/olv/buildfile b/common/view/olv/buildfile new file mode 100644 index 0000000..89ecbcf --- /dev/null +++ b/common/view/olv/buildfile @@ -0,0 +1,50 @@ +# file : common/view/olv/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +hs = test1 test2 test3 test4 test5 test6 test7 test8 test9 + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +for h: $hs +{ + exe{driver}: {hxx ixx cxx}{$h-odb} + + <{hxx ixx cxx}{$h-odb}>: hxx{$h} libue{test-meta} + + for db: $databases + { + exe{driver}: {hxx ixx cxx}{$h-odb-$db}: include = $multi + <{hxx ixx cxx}{$h-odb-$db}>: hxx{$h} libue{test-meta} + } +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix t_view_olv_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../../alias{database-client}: include = adhoc + +testscript@./: schemas = $hs diff --git a/common/view/olv/driver.cxx b/common/view/olv/driver.cxx index c417cc3..c08015e 100644 --- a/common/view/olv/driver.cxx +++ b/common/view/olv/driver.cxx @@ -4,8 +4,7 @@ // Test object loading views. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include @@ -13,7 +12,7 @@ #include #include -#include +#include #include "test1.hxx" #include "test2.hxx" @@ -35,6 +34,9 @@ #include "test8-odb.hxx" #include "test9-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -43,7 +45,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Test basic object loading functionality. // @@ -365,7 +367,15 @@ main (int argc, char* argv[]) transaction t (db->begin ()); session s; view2 v (db->query_value ()); - assert (v.o1.n == 123 && v.o2.s == "abc" && v.o2.o1 == &v.o1); + + // @@ BUILD2 As of cl 19.29.30136 (VS 2019 16.11.5) v.o2.o1 points to + // the address of o1 member of the object being returned by + // query_value() which v is a copy of, and thus the + // original assertion fails. Note that changing `view2 v` to + // `const view2& v` doesn't help. + // + //assert (v.o1.n == 123 && v.o2.s == "abc" && v.o2.o1 == &v.o1); + assert (v.o1.n == 123 && v.o2.s == "abc"); t.commit (); } @@ -588,20 +598,23 @@ main (int argc, char* argv[]) // { view1r r (db->query_value (query::n == 1)); - assert (r.n == 1 && r.o->n == 1 && typeid (*r.o) == typeid (root)); + auto& o (*r.o); + assert (r.n == 1 && r.o->n == 1 && typeid (o) == typeid (root)); } { view1r r (db->query_value (query::n == 2)); - assert (r.n == 2 && r.o->n == 2 && typeid (*r.o) == typeid (base)); + auto& o (*r.o); + assert (r.n == 2 && r.o->n == 2 && typeid (o) == typeid (base)); base& b (dynamic_cast (*r.o)); assert (b.s == "a"); } { view1r r (db->query_value (query::n == 3)); - assert (r.n == 3 && r.o->n == 3 && typeid (*r.o) == typeid (derived)); - derived& d (dynamic_cast (*r.o)); + auto& o (*r.o); + assert (r.n == 3 && r.o->n == 3 && typeid (o) == typeid (derived)); + derived& d (dynamic_cast (o)); assert (d.s == "b" && d.b); } @@ -614,9 +627,10 @@ main (int argc, char* argv[]) { view1b r (db->query_value (query::n == 3)); + auto& o (*r.o); assert (r.s == "b" && r.n == 3 && r.o->n == 3 && - typeid (*r.o) == typeid (derived)); - derived& d (dynamic_cast (*r.o)); + typeid (o) == typeid (derived)); + derived& d (dynamic_cast (o)); assert (d.s == "b" && d.b); } diff --git a/common/view/olv/makefile b/common/view/olv/makefile deleted file mode 100644 index c65d7e9..0000000 --- a/common/view/olv/makefile +++ /dev/null @@ -1,114 +0,0 @@ -# file : common/view/olv/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx test4.hxx test5.hxx test6.hxx \ -test7.hxx test8.hxx test9.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---table-prefix t_view_olv_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export odb_header_stem := $(basename $(odb_hdr)) -$(dist): export extra_dist := $(data_dist) $(call vc10projs,$(name)) \ -$(call vc11projs,$(name)) $(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc10projs,../../template/template,$(name)) - $(call meta-vc11projs,../../template/template,$(name)) - $(call meta-vc12projs,../../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule,,$(filter %.sql,$(gen)))) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d,$(filter %.sql,$(gen))))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/view/olv/test.std b/common/view/olv/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/view/olv/testscript b/common/view/olv/testscript new file mode 100644 index 0000000..160426d --- /dev/null +++ b/common/view/olv/testscript @@ -0,0 +1,39 @@ +# file : common/view/olv/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../../mysql-schema.testscript + + for s: $schemas + cat $out_base/"$s"($multi ? '-mysql' : '').sql | $create_schema_cmd + end; + + $* ($multi ? 'mysql' : ) $mysql_options +} + +: sqlite +: +if $sqlite +{ + .include ../../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../../pgsql-schema.testscript + + for s: $schemas + $create_schema_cmd -f $out_base/"$s"($multi ? '-pgsql' : '').sql + end; + + $* ($multi ? 'pgsql' : ) $pgsql_options +} diff --git a/common/virtual/buildfile b/common/virtual/buildfile new file mode 100644 index 0000000..96d062e --- /dev/null +++ b/common/virtual/buildfile @@ -0,0 +1,42 @@ +# file : common/virtual/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix virtual_ \ + --generate-schema \ + --generate-query \ + --generate-session + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/virtual/driver.cxx b/common/virtual/driver.cxx index 35e0923..f96f543 100644 --- a/common/virtual/driver.cxx +++ b/common/virtual/driver.cxx @@ -5,18 +5,20 @@ // #include // std::auto_ptr -#include #include #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Test basic virtual data member functionality. // @@ -50,7 +52,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (o.id1.v)); + unique_ptr p (db->load (o.id1.v)); t.commit (); assert (o == *p); @@ -77,7 +79,7 @@ main (int argc, char* argv[]) { session s; transaction t (db->begin ()); - auto_ptr p (db->load (o1.id)); + unique_ptr p (db->load (o1.id)); t.commit (); assert (p->o2->id == o1.o2->id); @@ -137,7 +139,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p (db->load (id)); + unique_ptr p (db->load (id)); t.commit (); assert (o.first_ == p->first_ && o.last_ == p->last_); diff --git a/common/virtual/makefile b/common/virtual/makefile deleted file mode 100644 index e112d31..0000000 --- a/common/virtual/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : common/virtual/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---generate-session --table-prefix virtual_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/virtual/test.std b/common/virtual/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/virtual/testscript b/common/virtual/testscript new file mode 100644 index 0000000..769c7f9 --- /dev/null +++ b/common/virtual/testscript @@ -0,0 +1,33 @@ +# file : common/virtual/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/common/wrapper/buildfile b/common/wrapper/buildfile new file mode 100644 index 0000000..57f43f2 --- /dev/null +++ b/common/wrapper/buildfile @@ -0,0 +1,40 @@ +# file : common/wrapper/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import libodb = libodb%lib{odb} + +libs = + +for db: $databases + import libs += libodb-$db%lib{odb-$db} + +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +for db: $databases +{ + exe{driver}: {hxx ixx cxx}{test-odb-$db}: include = $multi + <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta} +} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix wrapper_ \ + --generate-schema + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{database-client}: include = adhoc diff --git a/common/wrapper/driver.cxx b/common/wrapper/driver.cxx index 255e138..9c352fc 100644 --- a/common/wrapper/driver.cxx +++ b/common/wrapper/driver.cxx @@ -4,18 +4,20 @@ // Test wrapper machinery. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; using namespace odb::core; @@ -24,7 +26,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + unique_ptr db (create_database (argc, argv)); // Test 1: simple values. // @@ -40,10 +42,8 @@ main (int argc, char* argv[]) o1.nstrs.push_back (nullable_string ()); o1.nstrs.push_back (nullable_string ("123")); -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) o2.sstrs.push_back (str_sptr ()); o2.sstrs.push_back (str_sptr (new string ("123"))); -#endif transaction t (db->begin ()); id1 = db->persist (o1); @@ -53,8 +53,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o1 (db->load (id1)); - auto_ptr o2 (db->load (id2)); + unique_ptr o1 (db->load (id1)); + unique_ptr o2 (db->load (id2)); t.commit (); assert (*o1->num == 123); @@ -63,11 +63,9 @@ main (int argc, char* argv[]) assert (o1->nstrs[0].null ()); assert (o1->nstrs[1].get () == "123"); -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) assert (!o2->sstr); assert (!o2->sstrs[0]); assert (*o2->sstrs[1] == "123"); -#endif } } @@ -96,7 +94,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o (db->load (id)); + unique_ptr o (db->load (id)); t.commit (); assert (*o->c1 == *co.c1); @@ -130,7 +128,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o (db->load (id)); + unique_ptr o (db->load (id)); t.commit (); assert (*o->nums == *co.nums); @@ -164,8 +162,8 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p1 (db->load (o1.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (p1->p.get () == 0); @@ -196,8 +194,8 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (o1.id)); - auto_ptr p2 (db->load (o2.id)); + unique_ptr p1 (db->load (o1.id)); + unique_ptr p2 (db->load (o2.id)); t.commit (); assert (p1->p.get () != 0 && *p1->p == *o1.p); diff --git a/common/wrapper/makefile b/common/wrapper/makefile deleted file mode 100644 index 4393d16..0000000 --- a/common/wrapper/makefile +++ /dev/null @@ -1,116 +0,0 @@ -# file : common/wrapper/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --table-prefix wrapper_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/common/wrapper/test.hxx b/common/wrapper/test.hxx index 27d020b..3ae4151 100644 --- a/common/wrapper/test.hxx +++ b/common/wrapper/test.hxx @@ -4,19 +4,13 @@ #ifndef TEST_HXX #define TEST_HXX -#include // HAVE_CXX11, HAVE_TR1_MEMORY - #include -#include // std::auto_ptr +#include // std::unique_ptr #include #include #include -#if !defined(HAVE_CXX11) && defined(HAVE_TR1_MEMORY) -# include -#endif - using odb::nullable; // Test 1: simple values. @@ -26,17 +20,9 @@ namespace test1 { typedef nullable nullable_string; -#ifdef HAVE_CXX11 typedef std::unique_ptr num_uptr; typedef std::unique_ptr str_uptr; typedef std::shared_ptr str_sptr; -#else - typedef std::auto_ptr num_uptr; - typedef std::auto_ptr str_uptr; -# ifdef HAVE_TR1_MEMORY - typedef std::tr1::shared_ptr str_sptr; -# endif -#endif #pragma db object table("obj1") struct object1 @@ -59,13 +45,11 @@ namespace test1 #pragma db id auto unsigned long id_; -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) #pragma db null str_sptr sstr; #pragma db value_null std::vector sstrs; -#endif }; } @@ -110,15 +94,9 @@ operator== (const comp2& x, const comp2& y) struct comp3; -#ifdef HAVE_CXX11 typedef std::unique_ptr comp1_uptr; typedef std::unique_ptr comp2_uptr; typedef std::unique_ptr comp3_uptr; -#else -typedef std::auto_ptr comp1_uptr; -typedef std::auto_ptr comp2_uptr; -typedef std::auto_ptr comp3_uptr; -#endif #pragma db object struct comp_object @@ -153,13 +131,8 @@ struct comp_object2 // Containers. // -#ifdef HAVE_CXX11 typedef std::unique_ptr> nums_uptr; typedef std::unique_ptr> strs_uptr; -#else -typedef std::auto_ptr > nums_uptr; -typedef std::auto_ptr > strs_uptr; -#endif #pragma db value struct cont_comp @@ -195,7 +168,7 @@ namespace test5 base () {} base (int n): num (n) {} - int num; + int num = 0; }; inline bool @@ -230,11 +203,7 @@ namespace test5 unsigned long id; #pragma db null -#ifdef HAVE_CXX11 std::unique_ptr p; -#else - std::auto_ptr p; -#endif odb::nullable n; diff --git a/common/wrapper/test.std b/common/wrapper/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/common/wrapper/testscript b/common/wrapper/testscript new file mode 100644 index 0000000..6630813 --- /dev/null +++ b/common/wrapper/testscript @@ -0,0 +1,33 @@ +# file : common/wrapper/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript + +: mysql +: +if $mysql +{ + .include ../../mysql.testscript + + $create_schema; + $* +} + +: sqlite +: +if $sqlite +{ + .include ../../sqlite.testscript + + $* +} + +: pgsql +: +if $pgsql +{ + .include ../../pgsql.testscript + + $create_schema; + $* +} diff --git a/configure.ac b/configure.ac deleted file mode 100644 index 0c307c5..0000000 --- a/configure.ac +++ /dev/null @@ -1,115 +0,0 @@ -# file : configure.ac -# license : GNU GPL v2; see accompanying LICENSE file - -AC_PREREQ(2.60) -AC_INIT([odb-tests], [__value__(version)], [odb-users@codesynthesis.com]) -AC_CONFIG_AUX_DIR([config]) -AC_CONFIG_MACRO_DIR([m4]) -AC_CONFIG_SRCDIR([common/template/driver.cxx]) - -AM_INIT_AUTOMAKE([-Wall -Werror foreign nostdinc subdir-objects dist-bzip2 dist-zip tar-ustar]) -m4_equote()[m4_ifdef]m4_dquote()([AM_PROG_AR], [AM_PROG_AR]) # Required by automake 1.12. - -LT_INIT([win32-dll]) - -AC_CANONICAL_HOST - -# Check for diff. -# -DIFF_TOOL - -# Check for C++ compiler and use it to compile the tests. -# -AC_PROG_CXX -AC_LANG(C++) - -# Create the libtool executable so that we can use it in further tests. -# -LT_OUTPUT - -# Check for threads. -# -THREADS - -AM_CONDITIONAL([ODB_TESTS_THREADS], [test x$threads != xnone]) - -# Check for C++11. -# -CXX11([HAVE_CXX11], [Compiling in the C++11 mode.]) - -# Check for the ODB compiler. -# -ODB_COMPILER([], [AC_MSG_ERROR([odb compiler is not found; consider setting ODB variable or using --with-odb=DIR])]) - -# Check for the ODB libs. -# -LIBODB([], [AC_MSG_ERROR([libodb is not found; consider using --with-libodb=DIR])]) - -# Check for TR1 availability (has to be after libodb). -# -TR1_MEMORY - -# Check for boost. -# -odb_tests_boost=yes -LIBBOOST([], [odb_tests_boost=no]) -LIBBOOST_SYSTEM -LIBBOOST_SMART_PTR([], [odb_tests_boost=no]) -LIBBOOST_UNORDERED([], [odb_tests_boost=no]) -LIBBOOST_DATE_TIME([], [odb_tests_boost=no]) - -# Check for libodb-boost. -# -LIBODB_BOOST([], [odb_tests_boost=no]) - -AM_CONDITIONAL([ODB_TESTS_BOOST], [test x$odb_tests_boost != xno]) - -# Check for Qt. -# -odb_tests_qt=yes -LIBQTCORE([], [odb_tests_qt=no]) - -# Check for libodb-qt. -# -LIBODB_QT([], [odb_tests_qt=no]) - -AM_CONDITIONAL([ODB_TESTS_QT], [test x$odb_tests_qt != xno]) - -# Check which database we are using. -# -DATABASE - -case $database in - mysql) - LIBODB_MYSQL([], [AC_MSG_ERROR([libodb-mysql is not found; consider using --with-libodb-mysql=DIR])]) - MYSQL - ;; - sqlite) - LIBODB_SQLITE([], [AC_MSG_ERROR([libodb-sqlite is not found; consider using --with-libodb-sqlite=DIR])]) - SQLITE - ;; - pgsql) - LIBODB_PGSQL([], [AC_MSG_ERROR([libodb-pgsql is not found; consider using --with-libodb-pgsql=DIR])]) - PGSQL - ;; - oracle) - LIBODB_ORACLE([], [AC_MSG_ERROR([libodb-oracle is not found; consider using --with-libodb-oracle=DIR])]) - ORACLE - ;; - mssql) - LIBODB_MSSQL([], [AC_MSG_ERROR([libodb-mssql is not found; consider using --with-libodb-mssql=DIR])]) - MSSQL - ;; -esac - -# Define LIBCOMMON_STATIC_LIB if we are build static library on certain -# platforms. -# -STATIC_LIB([LIBCOMMON_STATIC_LIB], [Static library interface.]) - -# Output. -# -AC_CONFIG_HEADERS([config.h libcommon/common/config.h]) -AC_CONFIG_FILES([__path__(config_files)]) -AC_CONFIG_COMMANDS([tester-mode], [chmod +x tester evolution/tester]) -AC_OUTPUT diff --git a/database-options.testscript b/database-options.testscript new file mode 100644 index 0000000..2c0ee82 --- /dev/null +++ b/database-options.testscript @@ -0,0 +1,75 @@ +# file : database-options.testscript +# license : GNU GPL v2; see accompanying LICENSE file + +# For the enabled databases create the test driver option lists (*_options) +# for subsequent use in the tests. Also create the database-specific client +# option lists (*_client_options) and command lines (*_client_cmd) which can +# be used as a base for the data manipulation commands. +# ++if $mysql + mysql_options = --user $config.odb_tests.pgsql.user \ + --database $config.odb_tests.pgsql.database + + mysql_client_options = --user $config.odb_tests.pgsql.user \ + --database $config.odb_tests.pgsql.database + + if $defined(config.odb_tests.mysql.passwd) + mysql_options += --password $config.odb_tests.mysql.passwd + mysql_client_options += --password=$config.odb_tests.mysql.passwd + end + + if $defined(config.odb_tests.mysql.host) + mysql_options += --host $config.odb_tests.mysql.host + mysql_client_options += --host $config.odb_tests.mysql.host + end + + if $defined(config.odb_tests.mysql.port) + mysql_options += --port $config.odb_tests.mysql.port + mysql_client_options += --port $config.odb_tests.mysql.port + end + + if $defined(config.odb_tests.mysql.socket) + mysql_options += --socket $config.odb_tests.mysql.socket + mysql_client_options += --socket $config.odb_tests.mysql.socket + end + + mysql_client_cmd = $path($mysql_client) $mysql_client_options +end + ++if $sqlite + sqlite_options = --database odb-test.db + + # Note that we currently don't manipulate the data using the sqlite3 + # utility. Thus, we don't create the sqlite client option list and command + # line. + # +end + ++if $pgsql + pgsql_options = --user $config.odb_tests.pgsql.user \ + --database $config.odb_tests.pgsql.database + + pgsql_client_options = --quiet \ + --set ON_ERROR_STOP=1 \ + --username $config.odb_tests.pgsql.user \ + --dbname $config.odb_tests.pgsql.database + + if $defined(config.odb_tests.pgsql.host) + pgsql_options += --host $config.odb_tests.pgsql.host + pgsql_client_options += --host $config.odb_tests.pgsql.host + end + + if $defined(config.odb_tests.pgsql.port) + pgsql_options += --port $config.odb_tests.pgsql.port + pgsql_client_options += --port $config.odb_tests.pgsql.port + end + + pgsql_client_cmd = $path($pgsql_client) $pgsql_client_options + + export PGOPTIONS=--client-min-messages=warning +end + +# Set the default schema file name, which can be overridden by the subsequent +# tests in their own scopes. +# +schema = test diff --git a/diagnostics/containers-of-containers.hxx b/diagnostics/containers-of-containers.hxx deleted file mode 100644 index 95e5161..0000000 --- a/diagnostics/containers-of-containers.hxx +++ /dev/null @@ -1,68 +0,0 @@ -// file : common/id/auto/test.hxx -// license : GNU GPL v2; see accompanying LICENSE file - -#include -#include - -#ifdef ODB_COMPILER -# if defined(ODB_DATABASE_PGSQL) -# define BLOB_TYPE "BYTEA" -# elif defined(ODB_DATABASE_MSSQL) -# define BLOB_TYPE "VARBINARY(max)" -# else -# define BLOB_TYPE "BLOB" -# endif -#endif - -#pragma db value -struct value_cont -{ - int n; - std::vector v; -}; - -#pragma db value -struct value_blob -{ - int n; - #pragma db type(BLOB_TYPE) - std::vector v; -}; - -#pragma db object -struct object -{ - #pragma db id - int id; - - //std::vector > vv; - - std::vector vc; - std::map mc; - - std::vector vb; - std::map mb; -}; - -/* - -#include -#include - -using float3 = std::array; - -#pragma db value(float3) transient -#pragma db member(float3::e1) virtual(float) get(this[0]) set(this[0]) -#pragma db member(float3::e2) virtual(float) get(this[1]) set(this[1]) -#pragma db member(float3::e3) virtual(float) get(this[2]) set(this[2]) - -#pragma db object -struct object -{ - #pragma db id - int id; - - std::vector vf3; -}; - -*/ diff --git a/evolution/Makefile.am b/evolution/Makefile.am deleted file mode 100644 index 2459530..0000000 --- a/evolution/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : evolution/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/evolution/add-column/makefile b/evolution/add-column/makefile deleted file mode 100644 index b05edab..0000000 --- a/evolution/add-column/makefile +++ /dev/null @@ -1,145 +0,0 @@ -# file : evolution/add-column/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -gens := test1.sql test2.sql test3.sql test3-002-pre.sql test3-002-post.sql \ -test3-003-pre.sql test3-003-post.sql -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query \ ---generate-schema --at-once --table-prefix evo_add_c_ -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Drop everything. - $(call schema,$(out_base)/test3.sql) - $(call schema,$(out_base)/test2.sql) - $(call schema,$(out_base)/test1.sql) - # Base schema. - $(call schema,$(out_base)/test3-002-pre.sql) - $(call schema,$(out_base)/test3-002-post.sql) - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call schema,$(out_base)/test3-003-pre.sql) - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - $(call schema,$(out_base)/test3-003-post.sql) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - $(call message,,rm -f $(out_base)/test3-*.sql) # Migration files. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) $(gens) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/evolution/add-foreign-key/makefile b/evolution/add-foreign-key/makefile deleted file mode 100644 index 701ba43..0000000 --- a/evolution/add-foreign-key/makefile +++ /dev/null @@ -1,146 +0,0 @@ -# file : evolution/add-foreign-key/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -gens := test1.sql test2.sql test3.sql test3-002-pre.sql test3-002-post.sql \ -test3-003-pre.sql test3-003-post.sql -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query \ ---generate-schema --at-once --fkeys-deferrable-mode not_deferrable \ ---table-prefix evo_add_fk_ -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Drop everything. - $(call schema,$(out_base)/test3.sql) - $(call schema,$(out_base)/test2.sql) - $(call schema,$(out_base)/test1.sql) - # Base schema. - $(call schema,$(out_base)/test3-002-pre.sql) - $(call schema,$(out_base)/test3-002-post.sql) - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call schema,$(out_base)/test3-003-pre.sql) - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - $(call schema,$(out_base)/test3-003-post.sql) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - $(call message,,rm -f $(out_base)/test3-*.sql) # Migration files. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) $(gens) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/evolution/add-index/makefile b/evolution/add-index/makefile deleted file mode 100644 index c0e0289..0000000 --- a/evolution/add-index/makefile +++ /dev/null @@ -1,145 +0,0 @@ -# file : evolution/add-index/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -gens := test1.sql test2.sql test3.sql test3-002-pre.sql test3-002-post.sql \ -test3-003-pre.sql test3-003-post.sql -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query \ ---generate-schema --at-once --table-prefix evo_add_i_ -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Drop everything. - $(call schema,$(out_base)/test3.sql) - $(call schema,$(out_base)/test2.sql) - $(call schema,$(out_base)/test1.sql) - # Base schema. - $(call schema,$(out_base)/test3-002-pre.sql) - $(call schema,$(out_base)/test3-002-post.sql) - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call schema,$(out_base)/test3-003-pre.sql) - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - $(call schema,$(out_base)/test3-003-post.sql) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - $(call message,,rm -f $(out_base)/test3-*.sql) # Migration files. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) $(gens) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/evolution/add-table/makefile b/evolution/add-table/makefile deleted file mode 100644 index d7d8cc9..0000000 --- a/evolution/add-table/makefile +++ /dev/null @@ -1,145 +0,0 @@ -# file : evolution/add-table/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -gens := test1.sql test2.sql test3.sql test3-002-pre.sql test3-002-post.sql \ -test3-003-pre.sql test3-003-post.sql -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query \ ---generate-schema --at-once --table-prefix evo_add_t_ -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Drop everything. - $(call schema,$(out_base)/test3.sql) - $(call schema,$(out_base)/test2.sql) - $(call schema,$(out_base)/test1.sql) - # Base schema. - $(call schema,$(out_base)/test3-002-pre.sql) - $(call schema,$(out_base)/test3-002-post.sql) - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call schema,$(out_base)/test3-003-pre.sql) - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - $(call schema,$(out_base)/test3-003-post.sql) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - $(call message,,rm -f $(out_base)/test3-*.sql) # Migration files. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) $(gens) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/evolution/alter-column/makefile b/evolution/alter-column/makefile deleted file mode 100644 index f92842a..0000000 --- a/evolution/alter-column/makefile +++ /dev/null @@ -1,145 +0,0 @@ -# file : evolution/alter-column/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -gens := test1.sql test2.sql test3.sql test3-002-pre.sql test3-002-post.sql \ -test3-003-pre.sql test3-003-post.sql -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query \ ---generate-schema --at-once --table-prefix evo_alter_c_ -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Drop everything. - $(call schema,$(out_base)/test3.sql) - $(call schema,$(out_base)/test2.sql) - $(call schema,$(out_base)/test1.sql) - # Base schema. - $(call schema,$(out_base)/test3-002-pre.sql) - $(call schema,$(out_base)/test3-002-post.sql) - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call schema,$(out_base)/test3-003-pre.sql) - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - $(call schema,$(out_base)/test3-003-post.sql) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - $(call message,,rm -f $(out_base)/test3-*.sql) # Migration files. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) $(gens) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/evolution/combined/makefile b/evolution/combined/makefile deleted file mode 100644 index 3e44dd1..0000000 --- a/evolution/combined/makefile +++ /dev/null @@ -1,145 +0,0 @@ -# file : evolution/combined/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -gens := test1.sql test2.sql test3.sql test3-002-pre.sql test3-002-post.sql \ -test3-003-pre.sql test3-003-post.sql -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query \ ---generate-schema --at-once --sqlite-override-null --table-prefix evo_comb_ -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Drop everything. - $(call schema,$(out_base)/test3.sql) - $(call schema,$(out_base)/test2.sql) - $(call schema,$(out_base)/test1.sql) - # Base schema. - $(call schema,$(out_base)/test3-002-pre.sql) - $(call schema,$(out_base)/test3-002-post.sql) - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call schema,$(out_base)/test3-003-pre.sql) - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - $(call schema,$(out_base)/test3-003-post.sql) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - $(call message,,rm -f $(out_base)/test3-*.sql) # Migration files. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) $(gens) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/evolution/data/makefile b/evolution/data/makefile deleted file mode 100644 index 20e3501..0000000 --- a/evolution/data/makefile +++ /dev/null @@ -1,142 +0,0 @@ -# file : evolution/data/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query \ ---generate-schema --at-once --table-prefix evo_data_ -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Drop everything. - $(call schema,$(out_base)/test3.sql) - $(call schema,$(out_base)/test2.sql) - $(call schema,$(out_base)/test1.sql) - # Base schema. - $(call schema,$(out_base)/test3-002-pre.sql) - $(call schema,$(out_base)/test3-002-post.sql) - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call schema,$(out_base)/test3-003-pre.sql) - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - $(call schema,$(out_base)/test3-003-post.sql) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/evolution/drop-column/makefile b/evolution/drop-column/makefile deleted file mode 100644 index a4bb228..0000000 --- a/evolution/drop-column/makefile +++ /dev/null @@ -1,145 +0,0 @@ -# file : evolution/drop-column/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -gens := test1.sql test2.sql test3.sql test3-002-pre.sql test3-002-post.sql \ -test3-003-pre.sql test3-003-post.sql -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query \ ---generate-schema --at-once --sqlite-override-null --table-prefix evo_drop_c_ -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Drop everything. - $(call schema,$(out_base)/test3.sql) - $(call schema,$(out_base)/test2.sql) - $(call schema,$(out_base)/test1.sql) - # Base schema. - $(call schema,$(out_base)/test3-002-pre.sql) - $(call schema,$(out_base)/test3-002-post.sql) - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call schema,$(out_base)/test3-003-pre.sql) - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - $(call schema,$(out_base)/test3-003-post.sql) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - $(call message,,rm -f $(out_base)/test3-*.sql) # Migration files. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) $(gens) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/evolution/drop-foreign-key/makefile b/evolution/drop-foreign-key/makefile deleted file mode 100644 index 2cad4b8..0000000 --- a/evolution/drop-foreign-key/makefile +++ /dev/null @@ -1,146 +0,0 @@ -# file : evolution/drop-foreign-key/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -gens := test1.sql test2.sql test3.sql test3-002-pre.sql test3-002-post.sql \ -test3-003-pre.sql test3-003-post.sql -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query \ ---generate-schema --at-once --fkeys-deferrable-mode not_deferrable \ ---table-prefix evo_drop_fk_ -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Drop everything. - $(call schema,$(out_base)/test3.sql) - $(call schema,$(out_base)/test2.sql) - $(call schema,$(out_base)/test1.sql) - # Base schema. - $(call schema,$(out_base)/test3-002-pre.sql) - $(call schema,$(out_base)/test3-002-post.sql) - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call schema,$(out_base)/test3-003-pre.sql) - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - $(call schema,$(out_base)/test3-003-post.sql) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - $(call message,,rm -f $(out_base)/test3-*.sql) # Migration files. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) $(gens) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/evolution/drop-index/makefile b/evolution/drop-index/makefile deleted file mode 100644 index 775834b..0000000 --- a/evolution/drop-index/makefile +++ /dev/null @@ -1,145 +0,0 @@ -# file : evolution/drop-index/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -gens := test1.sql test2.sql test3.sql test3-002-pre.sql test3-002-post.sql \ -test3-003-pre.sql test3-003-post.sql -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query \ ---generate-schema --at-once --table-prefix evo_drop_i_ -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Drop everything. - $(call schema,$(out_base)/test3.sql) - $(call schema,$(out_base)/test2.sql) - $(call schema,$(out_base)/test1.sql) - # Base schema. - $(call schema,$(out_base)/test3-002-pre.sql) - $(call schema,$(out_base)/test3-002-post.sql) - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call schema,$(out_base)/test3-003-pre.sql) - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - $(call schema,$(out_base)/test3-003-post.sql) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - $(call message,,rm -f $(out_base)/test3-*.sql) # Migration files. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) $(gens) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/evolution/drop-table/makefile b/evolution/drop-table/makefile deleted file mode 100644 index c6a5f65..0000000 --- a/evolution/drop-table/makefile +++ /dev/null @@ -1,145 +0,0 @@ -# file : evolution/drop-table/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -gens := test1.sql test2.sql test3.sql test3-002-pre.sql test3-002-post.sql \ -test3-003-pre.sql test3-003-post.sql -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query \ ---generate-schema --at-once --table-prefix evo_drop_t_ -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Drop everything. - $(call schema,$(out_base)/test3.sql) - $(call schema,$(out_base)/test2.sql) - $(call schema,$(out_base)/test1.sql) - # Base schema. - $(call schema,$(out_base)/test3-002-pre.sql) - $(call schema,$(out_base)/test3-002-post.sql) - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call schema,$(out_base)/test3-003-pre.sql) - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - $(call schema,$(out_base)/test3-003-post.sql) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - $(call message,,rm -f $(out_base)/test3-*.sql) # Migration files. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) $(gens) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/evolution/embedded/makefile b/evolution/embedded/makefile deleted file mode 100644 index 372cecd..0000000 --- a/evolution/embedded/makefile +++ /dev/null @@ -1,134 +0,0 @@ -# file : evolution/embedded/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query \ ---generate-schema --schema-format embedded --at-once --table-prefix evo_embedded_ -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Base schema. - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/evolution/makefile b/evolution/makefile deleted file mode 100644 index 3d9cdb1..0000000 --- a/evolution/makefile +++ /dev/null @@ -1,64 +0,0 @@ -# file : evolution/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make - -tests := \ -add-table \ -drop-table \ -add-column \ -drop-column \ -alter-column \ -add-foreign-key \ -drop-foreign-key \ -add-index \ -drop-index \ -combined \ -embedded \ -soft-add \ -soft-delete \ -version \ -data \ -template - -all_tests := $(tests) -build_tests := $(tests) - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_tests))) - -name := evolution -$(dist): name := $(name) -$(dist): data_dist := tester.bat -$(dist): exec_dist := tester.in -$(dist): export dirs := $(filter-out $(no_dist_tests),$(tests)) -$(dist): export extra_dist := $(data_dist) $(exec_dist) test.bat \ -$(call vc8slns,$(name)) $(call vc9slns,$(name)) $(call vc10slns,$(name)) \ -$(call vc11slns,$(name)) $(call vc12slns,$(name)) -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_tests))) - $(call dist-data,$(data_dist)) - $(call dist-exec,$(exec_dist)) - $(call meta-automake) - $(call meta-vc8slns,$(name)) - $(call meta-vc9slns,$(name)) - $(call meta-vc10slns,$(name)) - $(call meta-vc11slns,$(name)) - $(call meta-vc12slns,$(name)) - $(call meta-vctest,$(name)-mysql-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(build_tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(all_tests))) - -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -ifneq ($(filter $(MAKECMDGOALS),dist clean),) -$(foreach t,$(all_tests),$(call import,$(src_base)/$t/makefile)) -else -$(foreach t,$(build_tests),$(call import,$(src_base)/$t/makefile)) -endif diff --git a/evolution/soft-add/makefile b/evolution/soft-add/makefile deleted file mode 100644 index 7455c98..0000000 --- a/evolution/soft-add/makefile +++ /dev/null @@ -1,145 +0,0 @@ -# file : evolution/soft-add/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -gens := test1.sql test2.sql test3.sql test3-002-pre.sql test3-002-post.sql \ -test3-003-pre.sql test3-003-post.sql -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query --generate-prepared \ ---generate-schema --at-once --table-prefix evo_soft_a_ -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Drop everything. - $(call schema,$(out_base)/test3.sql) - $(call schema,$(out_base)/test2.sql) - $(call schema,$(out_base)/test1.sql) - # Base schema. - $(call schema,$(out_base)/test3-002-pre.sql) - $(call schema,$(out_base)/test3-002-post.sql) - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call schema,$(out_base)/test3-003-pre.sql) - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - $(call schema,$(out_base)/test3-003-post.sql) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - $(call message,,rm -f $(out_base)/test3-*.sql) # Migration files. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) $(gens) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/evolution/soft-delete/makefile b/evolution/soft-delete/makefile deleted file mode 100644 index 92815bc..0000000 --- a/evolution/soft-delete/makefile +++ /dev/null @@ -1,145 +0,0 @@ -# file : evolution/soft-delete/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -gens := test1.sql test2.sql test3.sql test3-002-pre.sql test3-002-post.sql \ -test3-003-pre.sql test3-003-post.sql -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query --generate-prepared \ ---generate-schema --at-once --sqlite-override-null --table-prefix evo_soft_d_ -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Drop everything. - $(call schema,$(out_base)/test3.sql) - $(call schema,$(out_base)/test2.sql) - $(call schema,$(out_base)/test1.sql) - # Base schema. - $(call schema,$(out_base)/test3-002-pre.sql) - $(call schema,$(out_base)/test3-002-post.sql) - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call schema,$(out_base)/test3-003-pre.sql) - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - $(call schema,$(out_base)/test3-003-post.sql) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - $(call message,,rm -f $(out_base)/test3-*.sql) # Migration files. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) $(gens) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/evolution/template/Makefile.am b/evolution/template/Makefile.am deleted file mode 100644 index dddb6b9..0000000 --- a/evolution/template/Makefile.am +++ /dev/null @@ -1,59 +0,0 @@ -# file : evolution/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/evolution/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -# test1.hxx -# -driver_SOURCES += test1.hxx -nodist_driver_SOURCES = test1-odb.cxx -BUILT_SOURCES = test1-odb.hxx -CLEANFILES = test1-odb.hxx test1-odb.ixx test1-odb.cxx test1.sql model.xml - -test1-odb.hxx: test1.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) --database @database@ __value__(odb_options1) --changelog model.xml $< - -# test2.hxx -# -driver_SOURCES += test2.hxx -nodist_driver_SOURCES += test2-odb.cxx -BUILT_SOURCES += test2-odb.hxx -CLEANFILES += test2-odb.hxx test2-odb.ixx test2-odb.cxx test2.sql - -test2-odb.hxx: test2.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) --database @database@ __value__(odb_options2) --changelog model.xml $< - -# test3.hxx -# -driver_SOURCES += test3.hxx -nodist_driver_SOURCES += test3-odb.cxx -BUILT_SOURCES += test3-odb.hxx -CLEANFILES += test3-odb.hxx test3-odb.ixx test3-odb.cxx test3.sql \ -test3-002-pre.sql test3-002-post.sql test3-003-pre.sql test3-003-post.sql - -test3-odb.hxx: test3.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) --database @database@ __value__(odb_options3) --changelog model.xml $< - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -test2-odb.hxx: test1-odb.hxx -test3-odb.hxx: test2-odb.hxx -test1-odb.hxx test2-odb.hxx test3-odb.hxx: model.hxx diff --git a/evolution/template/makefile b/evolution/template/makefile deleted file mode 100644 index 474145c..0000000 --- a/evolution/template/makefile +++ /dev/null @@ -1,145 +0,0 @@ -# file : evolution/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -gens := test1.sql test2.sql test3.sql test3-002-pre.sql test3-002-post.sql \ -test3-003-pre.sql test3-003-post.sql -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query \ ---generate-schema --at-once --table-prefix evo_template_ #@@ CHANGE THIS -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Drop everything. - $(call schema,$(out_base)/test3.sql) - $(call schema,$(out_base)/test2.sql) - $(call schema,$(out_base)/test1.sql) - # Base schema. - $(call schema,$(out_base)/test3-002-pre.sql) - $(call schema,$(out_base)/test3-002-post.sql) - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call schema,$(out_base)/test3-003-pre.sql) - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - $(call schema,$(out_base)/test3-003-post.sql) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - $(call message,,rm -f $(out_base)/test3-*.sql) # Migration files. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) $(gens) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/evolution/test.bat b/evolution/test.bat deleted file mode 100644 index 953965c..0000000 --- a/evolution/test.bat +++ /dev/null @@ -1,79 +0,0 @@ -@echo off -rem file : evolution/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs) __path__(thread_dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\.." -set "failed=" - -if "_%1_" == "__" ( - echo no database specified - goto usage -) - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem %4 - database -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\evolution\tester.bat %4 %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p %1 - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:usage -echo. -echo usage: test.bat database -echo. - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/evolution/tester.bat b/evolution/tester.bat deleted file mode 100644 index 3b7401f..0000000 --- a/evolution/tester.bat +++ /dev/null @@ -1,87 +0,0 @@ -@echo off -rem file : evolution/tester.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -rem -rem Run an evolution test. The test directory is the current directory. -rem -rem %1 database -rem %2 configuration, for example, Debug or Release -rem %3 platform, for example Win32 or x64 -rem topdir variable containing the path to top project directory -rem - -setlocal - -set "PATH=%topdir%\libcommon\bin64;%topdir%\libcommon\bin;%PATH%" - -if "_%3_" == "_Win32_" ( - set "dir=%2" -) else ( - set "dir=%3\%2" -) - -if exist test*.sql ( - rem Standalone schema. - rem - - rem Drop everything. - rem - call %topdir%\%1-driver.bat test3.sql - if errorlevel 1 goto error - - call %topdir%\%1-driver.bat test2.sql - if errorlevel 1 goto error - - call %topdir%\%1-driver.bat test1.sql - if errorlevel 1 goto error - - rem Base schema. - rem - call %topdir%\%1-driver.bat test3-002-pre.sql - if errorlevel 1 goto error - - call %topdir%\%1-driver.bat test3-002-post.sql - if errorlevel 1 goto error - - %dir%\driver.exe --options-file %topdir%\%1.options 1 - if errorlevel 1 goto error - - rem Migration. - rem - call %topdir%\%1-driver.bat test3-003-pre.sql - if errorlevel 1 goto error - - %dir%\driver.exe --options-file %topdir%\%1.options 2 - if errorlevel 1 goto error - - call %topdir%\%1-driver.bat test3-003-post.sql - if errorlevel 1 goto error - - rem Current schema. - rem - %dir%\driver.exe --options-file %topdir%\%1.options 3 - if errorlevel 1 goto error - -) else ( - - rem Embedded schema. Just run the driver. - rem - %dir%\driver.exe --options-file %topdir%\%1.options 1 - if errorlevel 1 goto error - - %dir%\driver.exe --options-file %topdir%\%1.options 2 - if errorlevel 1 goto error - - %dir%\driver.exe --options-file %topdir%\%1.options 3 - if errorlevel 1 goto error -) - -goto end - -:error -endlocal -exit /b 1 - -:end -endlocal diff --git a/evolution/tester.in b/evolution/tester.in deleted file mode 100755 index 1fef1c2..0000000 --- a/evolution/tester.in +++ /dev/null @@ -1,42 +0,0 @@ -#! /bin/sh - -# file : evolution/tester.in -# license : GNU GPL v2; see accompanying LICENSE file - -# -# Run an evolution test. The test driver is in the current directory. The -# data files, if any, are in $srcdir. -# - -db_driver="$top_builddir/@database@-driver" -db_options="$top_builddir/@database@.options" - -if test -f test1.sql; then - # Standalone schema. - # - - # Drop everything. - $db_driver test3.sql || exit 1 - $db_driver test2.sql || exit 1 - $db_driver test1.sql || exit 1 - - # Base schema. - $db_driver test3-002-pre.sql || exit 1 - $db_driver test3-002-post.sql || exit 1 - ./driver --options-file "$db_options" 1 || exit 1 - - # Migration. - $db_driver test3-003-pre.sql || exit 1 - ./driver --options-file "$db_options" 2 || exit 1 - $db_driver test3-003-post.sql || exit 1 - - # Current schema. - ./driver --options-file "$db_options" 3 || exit 1 - -else - # Embedded schema. Just run the driver. - # - ./driver --options-file "$db_options" 1 || exit 1 - ./driver --options-file "$db_options" 2 || exit 1 - ./driver --options-file "$db_options" 3 || exit 1 -fi diff --git a/evolution/version/makefile b/evolution/version/makefile deleted file mode 100644 index eb63ffc..0000000 --- a/evolution/version/makefile +++ /dev/null @@ -1,145 +0,0 @@ -# file : evolution/version/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test1.hxx test2.hxx test3.hxx -genf1 := test1-odb.hxx test1-odb.ixx test1-odb.cxx -gen1 := $(addprefix $(out_base)/,$(genf1)) -genf2 := test2-odb.hxx test2-odb.ixx test2-odb.cxx -gen2 := $(addprefix $(out_base)/,$(genf2)) -genf3 := test3-odb.hxx test3-odb.ixx test3-odb.cxx -gen3 := $(addprefix $(out_base)/,$(genf3)) -genf := $(genf1) $(genf2) $(genf3) -gen := $(gen1) $(gen2) $(gen3) -gens := test1.sql test2.sql test3.sql test3-002-pre.sql test3-002-post.sql \ -test3-003-pre.sql test3-003-post.sql -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): odb_common_options = --generate-query \ ---generate-schema --at-once --table-prefix evo_version_ -$(gen): odb_common_options += --database $(db_id) -$(gen1) $(dist): export odb_options1 = $(odb_common_options) --init-changelog -$(gen2) $(dist): export odb_options2 = $(odb_common_options) --omit-create \ ---suppress-migration -$(gen3) $(dist): export odb_options3 = $(odb_common_options) --omit-create -$(gen1): odb_options += $(odb_options1) --changelog $(out_base)/model.xml -$(gen2): odb_options += $(odb_options2) --changelog $(out_base)/model.xml -$(gen3): odb_options += $(odb_options3) --changelog $(out_base)/model.xml -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Make sure testN.hxx are compiled serially since they share the -# changelog. Also add dependency on model.hxx -# -$(gen2): $(gen1) -$(gen3): $(gen2) -$(gen): $(src_base)/model.hxx - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/evolution/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := model.hxx -$(dist): export name := $(name) -$(dist): export extra_dist := $(call vc8projs,$(name)) \ -$(call vc9projs,$(name)) $(call vc10projs,$(name)) $(call vc11projs,$(name)) \ -$(call vc12projs,$(name)) -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template,$(name)) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) - $(call meta-vc11projs,../template/template,$(name)) - $(call meta-vc12projs,../template/template,$(name)) - -# Test. -# -$(test): $(driver) - # Drop everything. - $(call schema,$(out_base)/test3.sql) - $(call schema,$(out_base)/test2.sql) - $(call schema,$(out_base)/test1.sql) - # Base schema. - $(call schema,$(out_base)/test3-002-pre.sql) - $(call schema,$(out_base)/test3-002-post.sql) - $(call message,test $< base,$< --options-file $(dcf_root)/$(db_id).options 1) - # Migration. - $(call schema,$(out_base)/test3-003-pre.sql) - $(call message,test $< migration,$< --options-file $(dcf_root)/$(db_id).options 2) - $(call schema,$(out_base)/test3-003-post.sql) - # Current schema. - $(call message,test $< current,$< --options-file $(dcf_root)/$(db_id).options 3) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/model.xml) # Changelog. - $(call message,,rm -f $(out_base)/test3-*.sql) # Migration files. - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver model.xml $(genf) $(gens) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/libcommon/.gitignore b/libcommon/.gitignore new file mode 100644 index 0000000..a994ddc --- /dev/null +++ b/libcommon/.gitignore @@ -0,0 +1,3 @@ +# Generated config header. +# +config.hxx diff --git a/libcommon/Makefile.am b/libcommon/Makefile.am deleted file mode 100644 index 18d287d..0000000 --- a/libcommon/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : libcommon/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/libcommon/buffer.hxx b/libcommon/buffer.hxx new file mode 100644 index 0000000..41b7e46 --- /dev/null +++ b/libcommon/buffer.hxx @@ -0,0 +1,104 @@ +// file : libcommon/buffer.hxx +// license : GNU GPL v2; see accompanying LICENSE file + +#ifndef LIBCOMMON_BUFFER_HXX +#define LIBCOMMON_BUFFER_HXX + +#include +#include // std::size_t +#include // std::{memcmp,memcpy} + +struct basic_buffer_base +{ + ~basic_buffer_base () + { + operator delete (data_); + } + + basic_buffer_base () + : data_ (0), size_ (0) + { + } + + basic_buffer_base (const void* data, std::size_t size) + : data_ (0), size_ (size) + { + data_ = operator new (size_); + std::memcpy (data_, data, size_); + } + + basic_buffer_base (const basic_buffer_base& y) + : data_ (0), size_ (0) + { + assign (y.data_, y.size_); + } + + basic_buffer_base& + operator= (const basic_buffer_base& y) + { + if (this != &y) + assign (y.data_, y.size_); + + return *this; + } + + void + assign (const void* data, std::size_t size) + { + if (size_ < size) + { + void *p (operator new (size)); + operator delete (data_); + data_ = p; + } + + std::memcpy (data_, data, size); + size_ = size; + } + + std::size_t + size () const + { + return size_; + } + + bool + operator== (const basic_buffer_base& y) const + { + return size_ == y.size_ && std::memcmp (data_, y.data_, size_) == 0; + } + +protected: + void* data_; + std::size_t size_; +}; + +template +struct basic_buffer: basic_buffer_base +{ + basic_buffer () + { + } + + basic_buffer (const T* data, std::size_t size) + : basic_buffer_base (data, size) + { + } + + T* + data () + { + return static_cast (data_); + } + + const T* + data () const + { + return static_cast (data_); + } +}; + +typedef basic_buffer buffer; +typedef basic_buffer ubuffer; + +#endif // LIBCOMMON_BUFFER_HXX diff --git a/libcommon/buildfile b/libcommon/buildfile new file mode 100644 index 0000000..eb61455 --- /dev/null +++ b/libcommon/buildfile @@ -0,0 +1,50 @@ +# file : libcommon/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +import intf_libs = libodb%lib{odb} + +for db: $databases + import intf_libs += libodb-$db%lib{odb-$db} + +lib{common}: {hxx ixx txx cxx}{** -config} hxx{config} $intf_libs + +# Generated config file. +# +using autoconf + +hxx{config}: in{config} +{ + DATABASE_MYSQL = $mysql + DATABASE_SQLITE = $sqlite + DATABASE_PGSQL = $pgsql + DATABASE_ORACLE = $oracle + DATABASE_MSSQL = $mssql + MULTI_DATABASE = $multi +} + +# Build options. +# +cxx.poptions =+ "-I$out_root" "-I$src_root" + +{hbmia obja}{*}: cxx.poptions += -DLIBCOMMON_STATIC_BUILD +{hbmis objs}{*}: cxx.poptions += -DLIBCOMMON_SHARED_BUILD + +# Export options. +# +lib{common}: +{ + cxx.export.poptions = "-I$out_root" "-I$src_root" + cxx.export.libs = $intf_libs +} + +liba{common}: cxx.export.poptions += -DLIBCOMMON_STATIC +libs{common}: cxx.export.poptions += -DLIBCOMMON_SHARED + +# For pre-releases use the complete version to make sure they cannot +# be used in place of another pre-release or the final version. See +# the version module for details on the version.* variable values. +# +if $version.pre_release + lib{common}: bin.lib.version = "-$version.project_id" +else + lib{common}: bin.lib.version = "-$version.major.$version.minor" diff --git a/libcommon/common.cxx b/libcommon/common.cxx new file mode 100644 index 0000000..b3e4cfd --- /dev/null +++ b/libcommon/common.cxx @@ -0,0 +1,355 @@ +// file : libcommon/common.cxx +// license : GNU GPL v2; see accompanying LICENSE file + +#include // std::exit +#include // std::move +#include + +#include + +#include +#include + +using namespace std; +using namespace odb::core; + + +// MySQL. +// +#if defined(DATABASE_MYSQL) + +#include +#include + +static unique_ptr +create_mysql_database (int& argc, char* argv[], bool, size_t max_connections) +{ + namespace mysql = odb::mysql; + + unique_ptr f; + + if (max_connections != 0) + f.reset (new mysql::connection_pool_factory (max_connections)); + + return unique_ptr ( + new mysql::database (argc, argv, false, "", 0, move (f))); +} +#endif // MySQL + + +// SQLite. +// +#if defined(DATABASE_SQLITE) + +#include +#include +#include +#include +#include + +static unique_ptr +create_sqlite_database (int& argc, + char* argv[], + bool schema, + size_t max_connections) +{ + namespace sqlite = odb::sqlite; + + unique_ptr f; + + if (max_connections != 0) + f.reset (new sqlite::connection_pool_factory (max_connections)); + + unique_ptr db ( + new sqlite::database ( + argc, argv, false, + SQLITE_OPEN_READWRITE + | SQLITE_OPEN_CREATE +#ifdef SQLITE_OPEN_URI + | SQLITE_OPEN_URI +#endif + , + true, + "", + move (f))); + + // Create the database schema. Due to bugs in SQLite foreign key + // support for DDL statements, we need to temporarily disable + // foreign keys. + // + if (schema) + { + connection_ptr c (db->connection ()); + + c->execute ("PRAGMA foreign_keys=OFF"); + + transaction t (c->begin ()); + schema_catalog::create_schema (*db); + t.commit (); + + c->execute ("PRAGMA foreign_keys=ON"); + } + + return db; +} +#endif // SQLite + + +// PostgreSQL. +// +#if defined(DATABASE_PGSQL) + +#include +#include + +static unique_ptr +create_pgsql_database (int& argc, char* argv[], bool, size_t max_connections) +{ + namespace pgsql = odb::pgsql; + + unique_ptr f; + + if (max_connections != 0) + f.reset (new pgsql::connection_pool_factory (max_connections)); + + return unique_ptr ( + new pgsql::database (argc, argv, false, "", move (f))); +} +#endif // PostgreSQL + + +// Oracle. +// +#if defined(DATABASE_ORACLE) + +#include +#include + +static unique_ptr +create_oracle_database (int& argc, char* argv[], bool, size_t max_connections) +{ + namespace oracle = odb::oracle; + + unique_ptr f; + + if (max_connections != 0) + f.reset (new oracle::connection_pool_factory (max_connections)); + + // Set client database character set and client national character set + // to UTF-8. + // + return unique_ptr ( + new oracle::database (argc, argv, false, 873, 873, 0, move (f))); +} +#endif // Oracle + +// SQL Server. +// +#if defined(DATABASE_MSSQL) + +#include +#include + +static unique_ptr +create_mssql_database (int& argc, char* argv[], bool, size_t max_connections) +{ + namespace mssql = odb::mssql; + + unique_ptr f; + + if (max_connections != 0) + f.reset (new mssql::connection_pool_factory (max_connections)); + + return unique_ptr ( + new mssql::database (argc, argv, false, "", + mssql::isolation_read_committed, 0, move (f))); +} +#endif // SQL Server + +// +// +unique_ptr +create_database (int argc, + char* argv[], + bool schema, + size_t max_connections, +#if defined(MULTI_DATABASE) + odb::database_id db +#else + odb::database_id +#endif +) +{ + char** argp = argv + 1; // Position of the next argument. Assignment for VC8. + int argn (argc - 1); // Number of arguments left. + +#if defined(MULTI_DATABASE) + // Figure out which database we are creating. We may be given the + // database name as a program argument or as an id. + // + if (db == odb::id_common && argn != 0) + { + string s (*argp); + + if (s == "mysql") + db = odb::id_mysql; + else if (s == "sqlite") + db = odb::id_sqlite; + else if (s == "pgsql") + db = odb::id_pgsql; + else if (s == "oracle") + db = odb::id_oracle; + else if (s == "mssql") + db = odb::id_mssql; + + if (db != odb::id_common) + { + argp++; + argn--; + } + } + + if (db == odb::id_common) + { + cerr << "Usage: " << argv[0] << " [options]" << endl; + exit (1); + } +#endif + + if (argn != 0 && *argp == string ("--help")) + { +#if defined(MULTI_DATABASE) + cout << "Usage: " << argv[0] << " [options]" << endl; +#else + cout << "Usage: " << argv[0] << " [options]" << endl; +#endif + + cout << "Options:" << endl; + +#if defined(MULTI_DATABASE) + switch (db) + { + case odb::id_mysql: +#if defined(DATABASE_MYSQL) + odb::mysql::database::print_usage (cout); +#else + assert (false); +#endif + break; + case odb::id_sqlite: +#if defined(DATABASE_SQLITE) + odb::sqlite::database::print_usage (cout); +#else + assert (false); +#endif + break; + case odb::id_pgsql: +#if defined(DATABASE_PGSQL) + odb::pgsql::database::print_usage (cout); +#else + assert (false); +#endif + break; + case odb::id_oracle: +#if defined(DATABASE_ORACLE) + odb::oracle::database::print_usage (cout); +#else + assert (false); +#endif + break; + case odb::id_mssql: +#if defined(DATABASE_MSSQL) + odb::mssql::database::print_usage (cout); +#else + assert (false); +#endif + break; + case odb::id_common: + assert (false); + } +#elif defined(DATABASE_MYSQL) + odb::mysql::database::print_usage (cout); +#elif defined(DATABASE_SQLITE) + odb::sqlite::database::print_usage (cout); +#elif defined(DATABASE_PGSQL) + odb::pgsql::database::print_usage (cout); +#elif defined(DATABASE_ORACLE) + odb::oracle::database::print_usage (cout); +#elif defined(DATABASE_MSSQL) + odb::mssql::database::print_usage (cout); +#else +# error unknown database +#endif + + exit (0); + } + +#if defined(MULTI_DATABASE) + switch (db) + { + case odb::id_mysql: +#if defined(DATABASE_MYSQL) + return create_mysql_database (argc, argv, schema, max_connections); +#else + assert (false); + break; +#endif + case odb::id_sqlite: +#if defined(DATABASE_SQLITE) + return create_sqlite_database (argc, argv, schema, max_connections); +#else + assert (false); + break; +#endif + case odb::id_pgsql: +#if defined(DATABASE_PGSQL) + return create_pgsql_database (argc, argv, schema, max_connections); +#else + assert (false); + break; +#endif + case odb::id_oracle: +#if defined(DATABASE_ORACLE) + return create_oracle_database (argc, argv, schema, max_connections); +#else + assert (false); + break; +#endif + case odb::id_mssql: +#if defined(DATABASE_MSSQL) + return create_mssql_database (argc, argv, schema, max_connections); +#else + assert (false); + break; +#endif + case odb::id_common: + assert (false); + } + return unique_ptr (); +#elif defined(DATABASE_MYSQL) + return create_mysql_database (argc, argv, schema, max_connections); +#elif defined(DATABASE_SQLITE) + return create_sqlite_database (argc, argv, schema, max_connections); +#elif defined(DATABASE_PGSQL) + return create_pgsql_database (argc, argv, schema, max_connections); +#elif defined(DATABASE_ORACLE) + return create_oracle_database (argc, argv, schema, max_connections); +#elif defined(DATABASE_MSSQL) + return create_mssql_database (argc, argv, schema, max_connections); +#else +# error unknown database +#endif +} + +bool +size_available () +{ +#if defined(MULTI_DATABASE) || \ + defined(DATABASE_SQLITE) || \ + defined(DATABASE_ORACLE) || \ + defined(DATABASE_MSSQL) + return false; +#else + return true; +#endif +} diff --git a/libcommon/common.hxx b/libcommon/common.hxx new file mode 100644 index 0000000..9ab978d --- /dev/null +++ b/libcommon/common.hxx @@ -0,0 +1,47 @@ +// file : libcommon/common.hxx +// license : GNU GPL v2; see accompanying LICENSE file + +#ifndef LIBCOMMON_COMMON_HXX +#define LIBCOMMON_COMMON_HXX + +#include // std::unique_ptr +#include // std::size_t + +#include +#include + +#include + +LIBCOMMON_SYMEXPORT std::unique_ptr +create_database (int argc, + char* argv[], + bool create_schema = true, + std::size_t max_connections = 0, + odb::database_id db = odb::id_common); + +template +std::unique_ptr +create_specific_database (int argc, + char* argv[], + bool create_schema = true, + std::size_t max_connections = 0) +{ + std::unique_ptr r ( + create_database (argc, argv, + create_schema, + max_connections, + T::database_id)); + + return std::unique_ptr (&dynamic_cast (*r.release ())); +} + +// This function returns an accurate result only if the result iterator +// hasn't been advanced and after the call the result is no longer valid. +// +template +std::size_t +size (odb::result); + +#include + +#endif // LIBCOMMON_COMMON_HXX diff --git a/libcommon/common.txx b/libcommon/common.txx new file mode 100644 index 0000000..caa7481 --- /dev/null +++ b/libcommon/common.txx @@ -0,0 +1,24 @@ +// file : libcommon/common.txx +// license : GNU GPL v2; see accompanying LICENSE file + +// We have to use this helper function instead of just checking which +// database is used because the DATABASE_* macro may not be defined +// in a project that includes this header. +// +LIBCOMMON_SYMEXPORT bool +size_available (); + +template +std::size_t +size (odb::result r) +{ + if (size_available ()) + return r.size (); + else + { + std::size_t n (0); + for (typename odb::result::iterator i (r.begin ()); i != r.end (); ++i) + n++; + return n; + } +} diff --git a/libcommon/common/Makefile.am b/libcommon/common/Makefile.am deleted file mode 100644 index 3ff50d5..0000000 --- a/libcommon/common/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -# file : libcommon/common/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -noinst_LTLIBRARIES = libcommon.la -libcommon_la_SOURCES = __path__(sources) __path__(headers) - -EXTRA_DIST = __file__(extra_dist) - -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -DLIBCOMMON_DYNAMIC_LIB -AM_LDFLAGS = -no-undefined -rpath '$(libdir)' diff --git a/libcommon/common/buffer.hxx b/libcommon/common/buffer.hxx deleted file mode 100644 index 3d82915..0000000 --- a/libcommon/common/buffer.hxx +++ /dev/null @@ -1,104 +0,0 @@ -// file : libcommon/common/buffer.hxx -// license : GNU GPL v2; see accompanying LICENSE file - -#ifndef LIBCOMMON_COMMON_BUFFER_HXX -#define LIBCOMMON_COMMON_BUFFER_HXX - -#include -#include // std::size_t -#include // std::{memcmp,memcpy} - -struct basic_buffer_base -{ - ~basic_buffer_base () - { - operator delete (data_); - } - - basic_buffer_base () - : data_ (0), size_ (0) - { - } - - basic_buffer_base (const void* data, std::size_t size) - : data_ (0), size_ (size) - { - data_ = operator new (size_); - std::memcpy (data_, data, size_); - } - - basic_buffer_base (const basic_buffer_base& y) - : data_ (0), size_ (0) - { - assign (y.data_, y.size_); - } - - basic_buffer_base& - operator= (const basic_buffer_base& y) - { - if (this != &y) - assign (y.data_, y.size_); - - return *this; - } - - void - assign (const void* data, std::size_t size) - { - if (size_ < size) - { - void *p (operator new (size)); - operator delete (data_); - data_ = p; - } - - std::memcpy (data_, data, size); - size_ = size; - } - - std::size_t - size () const - { - return size_; - } - - bool - operator== (const basic_buffer_base& y) const - { - return size_ == y.size_ && std::memcmp (data_, y.data_, size_) == 0; - } - -protected: - void* data_; - std::size_t size_; -}; - -template -struct basic_buffer: basic_buffer_base -{ - basic_buffer () - { - } - - basic_buffer (const T* data, std::size_t size) - : basic_buffer_base (data, size) - { - } - - T* - data () - { - return static_cast (data_); - } - - const T* - data () const - { - return static_cast (data_); - } -}; - -typedef basic_buffer buffer; -typedef basic_buffer ubuffer; - -#endif // LIBCOMMON_COMMON_BUFFER_HXX diff --git a/libcommon/common/common.cxx b/libcommon/common/common.cxx deleted file mode 100644 index 4b8afe1..0000000 --- a/libcommon/common/common.cxx +++ /dev/null @@ -1,360 +0,0 @@ -// file : libcommon/common/common.cxx -// license : GNU GPL v2; see accompanying LICENSE file - -#include // std::exit -#include // std::move -#include - -#include - -#include -#include - -using namespace std; -using namespace odb::core; - - -// MySQL. -// -#if defined(DATABASE_MYSQL) || defined(DATABASE_COMMON) - -#include -#include - -static auto_ptr -create_mysql_database (int& argc, char* argv[], bool, size_t max_connections) -{ - namespace mysql = odb::mysql; - -#ifdef HAVE_CXX11 - unique_ptr f; -#else - auto_ptr f; -#endif - - if (max_connections != 0) - f.reset (new mysql::connection_pool_factory (max_connections)); - - return auto_ptr ( - new mysql::database (argc, argv, false, "", 0, -#ifdef HAVE_CXX11 - move (f) -#else - f -#endif - )); -} -#endif // MySQL - - -// SQLite. -// -#if defined(DATABASE_SQLITE) || defined(DATABASE_COMMON) - -#include -#include -#include -#include -#include - -static auto_ptr -create_sqlite_database (int& argc, - char* argv[], - bool schema, - size_t max_connections) -{ - namespace sqlite = odb::sqlite; - -#ifdef HAVE_CXX11 - unique_ptr f; -#else - auto_ptr f; -#endif - - if (max_connections != 0) - f.reset (new sqlite::connection_pool_factory (max_connections)); - - auto_ptr db ( - new sqlite::database ( - argc, argv, false, - SQLITE_OPEN_READWRITE - | SQLITE_OPEN_CREATE -#ifdef SQLITE_OPEN_URI - | SQLITE_OPEN_URI -#endif - , - true, - "", -#ifdef HAVE_CXX11 - move (f) -#else - f -#endif - )); - - // Create the database schema. Due to bugs in SQLite foreign key - // support for DDL statements, we need to temporarily disable - // foreign keys. - // - if (schema) - { - connection_ptr c (db->connection ()); - - c->execute ("PRAGMA foreign_keys=OFF"); - - transaction t (c->begin ()); - schema_catalog::create_schema (*db); - t.commit (); - - c->execute ("PRAGMA foreign_keys=ON"); - } - - return db; -} -#endif // SQLite - - -// PostgreSQL. -// -#if defined(DATABASE_PGSQL) || defined(DATABASE_COMMON) - -#include -#include - -static auto_ptr -create_pgsql_database (int& argc, char* argv[], bool, size_t max_connections) -{ - namespace pgsql = odb::pgsql; - -#ifdef HAVE_CXX11 - unique_ptr f; -#else - auto_ptr f; -#endif - - if (max_connections != 0) - f.reset (new pgsql::connection_pool_factory (max_connections)); - - return auto_ptr ( - new pgsql::database (argc, argv, false, "", -#ifdef HAVE_CXX11 - move (f) -#else - f -#endif - )); -} -#endif // PostgreSQL - - -// Oracle. -// -#if defined(DATABASE_ORACLE) || defined(DATABASE_COMMON) - -#include -#include - -static auto_ptr -create_oracle_database (int& argc, char* argv[], bool, size_t max_connections) -{ - namespace oracle = odb::oracle; - -#ifdef HAVE_CXX11 - unique_ptr f; -#else - auto_ptr f; -#endif - - if (max_connections != 0) - f.reset (new oracle::connection_pool_factory (max_connections)); - - // Set client database character set and client national character set - // to UTF-8. - // - return auto_ptr ( - new oracle::database (argc, argv, false, 873, 873, 0, -#ifdef HAVE_CXX11 - move (f) -#else - f -#endif - )); -} -#endif // Oracle - -// SQL Server. -// -#if defined(DATABASE_MSSQL) || defined(DATABASE_COMMON) - -#include -#include - -static auto_ptr -create_mssql_database (int& argc, char* argv[], bool, size_t max_connections) -{ - namespace mssql = odb::mssql; - -#ifdef HAVE_CXX11 - unique_ptr f; -#else - auto_ptr f; -#endif - - if (max_connections != 0) - f.reset (new mssql::connection_pool_factory (max_connections)); - - return auto_ptr ( - new mssql::database (argc, argv, false, "", - mssql::isolation_read_committed, 0, - -#ifdef HAVE_CXX11 - move (f) -#else - f -#endif - )); -} -#endif // SQL Server - -// -// -auto_ptr -create_database (int argc, - char* argv[], - bool schema, - size_t max_connections, -#if defined(DATABASE_COMMON) - odb::database_id db -#else - odb::database_id -#endif -) -{ - char** argp = argv + 1; // Position of the next argument. Assignment for VC8. - int argn (argc - 1); // Number of arguments left. - -#if defined(DATABASE_COMMON) - // Figure out which database we are creating. We may be given the - // database name as a program argument or as an id. - // - if (db == odb::id_common && argn != 0) - { - string s (*argp); - - if (s == "mysql") - db = odb::id_mysql; - else if (s == "sqlite") - db = odb::id_sqlite; - else if (s == "pgsql") - db = odb::id_pgsql; - else if (s == "oracle") - db = odb::id_oracle; - else if (s == "mssql") - db = odb::id_mssql; - - if (db != odb::id_common) - { - argp++; - argn--; - } - } - - if (db == odb::id_common) - { - cerr << "Usage: " << argv[0] << " [options]" << endl; - exit (1); - } -#endif - - if (argn != 0 && *argp == string ("--help")) - { -#if defined(DATABASE_COMMON) - cout << "Usage: " << argv[0] << " [options]" << endl; -#else - cout << "Usage: " << argv[0] << " [options]" << endl; -#endif - - cout << "Options:" << endl; - -#if defined(DATABASE_MYSQL) - odb::mysql::database::print_usage (cout); -#elif defined(DATABASE_SQLITE) - odb::sqlite::database::print_usage (cout); -#elif defined(DATABASE_PGSQL) - odb::pgsql::database::print_usage (cout); -#elif defined(DATABASE_ORACLE) - odb::oracle::database::print_usage (cout); -#elif defined(DATABASE_MSSQL) - odb::mssql::database::print_usage (cout); -#elif defined(DATABASE_COMMON) - switch (db) - { - case odb::id_mysql: - odb::mysql::database::print_usage (cout); - break; - case odb::id_sqlite: - odb::sqlite::database::print_usage (cout); - break; - case odb::id_pgsql: - odb::pgsql::database::print_usage (cout); - break; - case odb::id_oracle: - odb::oracle::database::print_usage (cout); - break; - case odb::id_mssql: - odb::mssql::database::print_usage (cout); - break; - case odb::id_common: - assert (false); - } -#else -# error unknown database -#endif - - exit (0); - } - -#if defined(DATABASE_MYSQL) - return create_mysql_database (argc, argv, schema, max_connections); -#elif defined(DATABASE_SQLITE) - return create_sqlite_database (argc, argv, schema, max_connections); -#elif defined(DATABASE_PGSQL) - return create_pgsql_database (argc, argv, schema, max_connections); -#elif defined(DATABASE_ORACLE) - return create_oracle_database (argc, argv, schema, max_connections); -#elif defined(DATABASE_MSSQL) - return create_mssql_database (argc, argv, schema, max_connections); -#elif defined(DATABASE_COMMON) - switch (db) - { - case odb::id_mysql: - return create_mysql_database (argc, argv, schema, max_connections); - case odb::id_sqlite: - return create_sqlite_database (argc, argv, schema, max_connections); - case odb::id_pgsql: - return create_pgsql_database (argc, argv, schema, max_connections); - case odb::id_oracle: - return create_oracle_database (argc, argv, schema, max_connections); - case odb::id_mssql: - return create_mssql_database (argc, argv, schema, max_connections); - case odb::id_common: - assert (false); - } - return auto_ptr (); -#else -# error unknown database -#endif -} - -bool -size_available () -{ -#if defined(DATABASE_SQLITE) || \ - defined(DATABASE_ORACLE) || \ - defined(DATABASE_MSSQL) || \ - defined(DATABASE_COMMON) - return false; -#else - return true; -#endif -} diff --git a/libcommon/common/common.hxx b/libcommon/common/common.hxx deleted file mode 100644 index 21672b1..0000000 --- a/libcommon/common/common.hxx +++ /dev/null @@ -1,53 +0,0 @@ -// file : libcommon/common/common.hxx -// license : GNU GPL v2; see accompanying LICENSE file - -#ifndef LIBCOMMON_COMMON_COMMON_HXX -#define LIBCOMMON_COMMON_COMMON_HXX - -#include // std::auto_ptr -#include // std::size_t - -#include // odb::database -#include - -#include - -// Make sure assert() is not disabled. -// -#ifdef NDEBUG -# error ODB tests require enabled assert(); un-define the NDEBUG macro -#endif - -LIBCOMMON_EXPORT std::auto_ptr -create_database (int argc, - char* argv[], - bool create_schema = true, - std::size_t max_connections = 0, - odb::database_id db = odb::id_common); - -template -std::auto_ptr -create_specific_database (int argc, - char* argv[], - bool create_schema = true, - std::size_t max_connections = 0) -{ - std::auto_ptr r ( - create_database (argc, argv, - create_schema, - max_connections, - T::database_id)); - - return std::auto_ptr (&dynamic_cast (*r.release ())); -} - -// This function returns an accurate result only if the result iterator -// hasn't been advanced and after the call the result is no longer valid. -// -template -std::size_t -size (odb::result); - -#include - -#endif // LIBCOMMON_COMMON_COMMON_HXX diff --git a/libcommon/common/common.txx b/libcommon/common/common.txx deleted file mode 100644 index 9dd2a35..0000000 --- a/libcommon/common/common.txx +++ /dev/null @@ -1,24 +0,0 @@ -// file : libcommon/common/common.txx -// license : GNU GPL v2; see accompanying LICENSE file - -// We have to use this helper function instead of just checking which -// database is used because the DATABASE_* macro may not be defined -// in a project that includes this header. -// -LIBCOMMON_EXPORT bool -size_available (); - -template -std::size_t -size (odb::result r) -{ - if (size_available ()) - return r.size (); - else - { - std::size_t n (0); - for (typename odb::result::iterator i (r.begin ()); i != r.end (); ++i) - n++; - return n; - } -} diff --git a/libcommon/common/concrete.hxx b/libcommon/common/concrete.hxx deleted file mode 100644 index 2014b24..0000000 --- a/libcommon/common/concrete.hxx +++ /dev/null @@ -1,57 +0,0 @@ -// file : libcommon/common/concrete.hxx -// license : GNU GPL v2; see accompanying LICENSE file - -#ifndef LIBCOMMON_COMMON_CONCRETE_HXX -#define LIBCOMMON_COMMON_CONCRETE_HXX - -#include - -// Namespace alias for the concrete database namespace. -// -#if defined(DATABASE_MYSQL) - -#include -#include - -namespace odb_db = odb::mysql; - -#elif defined(DATABASE_SQLITE) - -#include -#include - -namespace odb_db = odb::sqlite; - -#elif defined(DATABASE_PGSQL) - -#include -#include - -namespace odb_db = odb::pgsql; - -#elif defined(DATABASE_ORACLE) - -#include -#include - -namespace odb_db = odb::oracle; - -#elif defined(DATABASE_MSSQL) - -#include -#include - -namespace odb_db = odb::mssql; - -#elif defined(DATABASE_COMMON) - -// Fallback to common interface. -// -#include -#include - -namespace odb_db = odb; - -#endif - -#endif // LIBCOMMON_COMMON_CONCRETE_HXX diff --git a/libcommon/common/config-vc.h b/libcommon/common/config-vc.h deleted file mode 100644 index 16d89a0..0000000 --- a/libcommon/common/config-vc.h +++ /dev/null @@ -1,25 +0,0 @@ -/* file : libcommon/common/config-vc.h - * license : GNU GPL v2; see accompanying LICENSE file - */ - -/* Configuration file for Windows/VC++. */ - -#ifndef LIBCOMMON_COMMON_CONFIG_VC_H -#define LIBCOMMON_COMMON_CONFIG_VC_H - -#define HAVE_TR1_MEMORY - -/* VC++10 and later has C++11 always enabled. - */ -#if (defined(_MSC_VER) && _MSC_VER >= 1600) || \ - (defined(ODB_MSC_VER) && ODB_MSC_VER >= 1600) -# define HAVE_CXX11 -// Strongly typed enums are supported starting from VC++11. -// -# if (defined(_MSC_VER) && _MSC_VER >= 1700) || \ - (defined(ODB_MSC_VER) && ODB_MSC_VER >= 1700) -# define HAVE_CXX11_ENUM -# endif -#endif - -#endif /* LIBCOMMON_COMMON_CONFIG_VC_H */ diff --git a/libcommon/common/config.h.in b/libcommon/common/config.h.in deleted file mode 100644 index 9d3e0fc..0000000 --- a/libcommon/common/config.h.in +++ /dev/null @@ -1,19 +0,0 @@ -/* file : libcommon/common/config.h.in - * license : GNU GPL v2; see accompanying LICENSE file - */ - -/* This file is automatically processed by configure. */ - -#ifndef LIBCOMMON_COMMON_CONFIG_H -#define LIBCOMMON_COMMON_CONFIG_H - -#undef DATABASE_MYSQL -#undef DATABASE_SQLITE -#undef DATABASE_PGSQL -#undef DATABASE_ORACLE -#undef DATABASE_MSSQL -#undef HAVE_TR1_MEMORY -#undef HAVE_CXX11 -#undef LIBCOMMON_STATIC_LIB - -#endif /* LIBCOMMON_COMMON_CONFIG_H */ diff --git a/libcommon/common/config.hxx b/libcommon/common/config.hxx deleted file mode 100644 index 5c6d938..0000000 --- a/libcommon/common/config.hxx +++ /dev/null @@ -1,20 +0,0 @@ -// file : libcommon/common/config.hxx -// license : GNU GPL v2; see accompanying LICENSE file - -#ifndef LIBCOMMON_COMMON_CONFIG_HXX -#define LIBCOMMON_COMMON_CONFIG_HXX - -#ifdef HAVE_CONFIG_VC_H -# include -#else -# include - -// GCC supports strongly typed enums from 4.4 (forward -- 4.6), -// Clang -- 2.9 (3.1). -// -# ifdef HAVE_CXX11 -# define HAVE_CXX11_ENUM -# endif -#endif - -#endif // LIBCOMMON_COMMON_CONFIG_HXX diff --git a/libcommon/common/export.hxx b/libcommon/common/export.hxx deleted file mode 100644 index 926d7a5..0000000 --- a/libcommon/common/export.hxx +++ /dev/null @@ -1,35 +0,0 @@ -// file : libcommon/common/export.hxx -// license : GNU GPL v2; see accompanying LICENSE file - -#ifndef LIBCOMMON_COMMON_EXPORT_HXX -#define LIBCOMMON_COMMON_EXPORT_HXX - -#include - -#ifdef LIBCOMMON_STATIC_LIB -# define LIBCOMMON_EXPORT -#else -# ifdef _WIN32 -# ifdef _MSC_VER -# ifdef LIBCOMMON_DYNAMIC_LIB -# define LIBCOMMON_EXPORT __declspec(dllexport) -# else -# define LIBCOMMON_EXPORT __declspec(dllimport) -# endif -# else -# ifdef LIBCOMMON_DYNAMIC_LIB -# ifdef DLL_EXPORT -# define LIBCOMMON_EXPORT __declspec(dllexport) -# else -# define LIBCOMMON_EXPORT -# endif -# else -# define LIBCOMMON_EXPORT __declspec(dllimport) -# endif -# endif -# else -# define LIBCOMMON_EXPORT -# endif -#endif - -#endif // LIBCOMMON_COMMON_EXPORT_HXX diff --git a/libcommon/common/libcommon-vc10.vcxproj b/libcommon/common/libcommon-vc10.vcxproj deleted file mode 100644 index a07a9a6..0000000 --- a/libcommon/common/libcommon-vc10.vcxproj +++ /dev/null @@ -1,174 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {019C2E51-BF41-4490-AB96-4156741B8CC9} - Win32Proj - libcommon - - - - DynamicLibrary - true - Unicode - - - DynamicLibrary - true - Unicode - - - DynamicLibrary - false - true - Unicode - - - DynamicLibrary - false - true - Unicode - - - - - - - - - - - - - - - - - - - true - ..\bin\ - common-d - - - true - ..\bin64\ - common-d - - - false - ..\bin\ - common - - - false - ..\bin64\ - common - - - - - - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions) - .. - 4355;4800;4290;4251;%(DisableSpecificWarnings) - - - odb-__value__(database)-d.lib;odb-d.lib;%(AdditionalDependencies) - Windows - true - $(TargetPath) - ..\lib\common-d.lib - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions) - .. - 4355;4800;4290;4251;%(DisableSpecificWarnings) - - - odb-__value__(database)-d.lib;odb-d.lib;%(AdditionalDependencies) - Windows - true - $(TargetPath) - ..\lib64\common-d.lib - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions) - .. - 4355;4800;4290;4251;%(DisableSpecificWarnings) - - - odb-__value__(database).lib;odb.lib;%(AdditionalDependencies) - Windows - true - true - true - $(TargetPath) - ..\lib\common.lib - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions) - .. - 4355;4800;4290;4251;%(DisableSpecificWarnings) - - - odb-__value__(database).lib;odb.lib;%(AdditionalDependencies) - Windows - true - true - true - $(TargetPath) - ..\lib64\common.lib - - - -__header_entries__(headers) - - -__source_entries__(sources) - - - - - diff --git a/libcommon/common/libcommon-vc10.vcxproj.filters b/libcommon/common/libcommon-vc10.vcxproj.filters deleted file mode 100644 index ecc3613..0000000 --- a/libcommon/common/libcommon-vc10.vcxproj.filters +++ /dev/null @@ -1,19 +0,0 @@ - - - - - {6B7BDACA-0BDC-48B2-B5BD-BEFC5826ABC9} - cxx - - - {F2B8743C-E39C-4FE0-AA8F-FF7FA2DA7191} - h;hxx;ixx;txx - - - -__header_filter_entries__(headers) - - -__source_filter_entries__(sources) - - diff --git a/libcommon/common/libcommon-vc11.vcxproj b/libcommon/common/libcommon-vc11.vcxproj deleted file mode 100644 index c5a6758..0000000 --- a/libcommon/common/libcommon-vc11.vcxproj +++ /dev/null @@ -1,178 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {019C2E51-BF41-4490-AB96-4156741B8CC9} - Win32Proj - libcommon - - - - DynamicLibrary - true - v110 - Unicode - - - DynamicLibrary - true - v110 - Unicode - - - DynamicLibrary - false - v110 - true - Unicode - - - DynamicLibrary - false - v110 - true - Unicode - - - - - - - - - - - - - - - - - - - true - ..\bin\ - common-d - - - true - ..\bin64\ - common-d - - - false - ..\bin\ - common - - - false - ..\bin64\ - common - - - - - - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions) - .. - 4355;4800;4290;4251;%(DisableSpecificWarnings) - - - odb-__value__(database)-d.lib;odb-d.lib;%(AdditionalDependencies) - Windows - true - $(TargetPath) - ..\lib\common-d.lib - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions) - .. - 4355;4800;4290;4251;%(DisableSpecificWarnings) - - - odb-__value__(database)-d.lib;odb-d.lib;%(AdditionalDependencies) - Windows - true - $(TargetPath) - ..\lib64\common-d.lib - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions) - .. - 4355;4800;4290;4251;%(DisableSpecificWarnings) - - - odb-__value__(database).lib;odb.lib;%(AdditionalDependencies) - Windows - true - true - true - $(TargetPath) - ..\lib\common.lib - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions) - .. - 4355;4800;4290;4251;%(DisableSpecificWarnings) - - - odb-__value__(database).lib;odb.lib;%(AdditionalDependencies) - Windows - true - true - true - $(TargetPath) - ..\lib64\common.lib - - - -__header_entries__(headers) - - -__source_entries__(sources) - - - - - diff --git a/libcommon/common/libcommon-vc11.vcxproj.filters b/libcommon/common/libcommon-vc11.vcxproj.filters deleted file mode 100644 index ecc3613..0000000 --- a/libcommon/common/libcommon-vc11.vcxproj.filters +++ /dev/null @@ -1,19 +0,0 @@ - - - - - {6B7BDACA-0BDC-48B2-B5BD-BEFC5826ABC9} - cxx - - - {F2B8743C-E39C-4FE0-AA8F-FF7FA2DA7191} - h;hxx;ixx;txx - - - -__header_filter_entries__(headers) - - -__source_filter_entries__(sources) - - diff --git a/libcommon/common/libcommon-vc12.vcxproj b/libcommon/common/libcommon-vc12.vcxproj deleted file mode 100644 index e577c79..0000000 --- a/libcommon/common/libcommon-vc12.vcxproj +++ /dev/null @@ -1,182 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {019C2E51-BF41-4490-AB96-4156741B8CC9} - Win32Proj - libcommon - - - - DynamicLibrary - true - v120 - Unicode - - - DynamicLibrary - true - v120 - Unicode - - - DynamicLibrary - false - v120 - true - Unicode - - - DynamicLibrary - false - v120 - true - Unicode - - - - - - - - - - - - - - - - - - - true - ..\bin\ - common-d - - - true - ..\bin64\ - common-d - - - false - ..\bin\ - common - - - false - ..\bin64\ - common - - - - - - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions) - .. - 4355;4800;4290;4251;%(DisableSpecificWarnings) - true - - - odb-__value__(database)-d.lib;odb-d.lib;%(AdditionalDependencies) - Windows - true - $(TargetPath) - ..\lib\common-d.lib - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions) - .. - 4355;4800;4290;4251;%(DisableSpecificWarnings) - true - - - odb-__value__(database)-d.lib;odb-d.lib;%(AdditionalDependencies) - Windows - true - $(TargetPath) - ..\lib64\common-d.lib - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions) - .. - 4355;4800;4290;4251;%(DisableSpecificWarnings) - true - - - odb-__value__(database).lib;odb.lib;%(AdditionalDependencies) - Windows - true - true - true - $(TargetPath) - ..\lib\common.lib - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions) - .. - 4355;4800;4290;4251;%(DisableSpecificWarnings) - true - - - odb-__value__(database).lib;odb.lib;%(AdditionalDependencies) - Windows - true - true - true - $(TargetPath) - ..\lib64\common.lib - - - -__header_entries__(headers) - - -__source_entries__(sources) - - - - - diff --git a/libcommon/common/libcommon-vc12.vcxproj.filters b/libcommon/common/libcommon-vc12.vcxproj.filters deleted file mode 100644 index ecc3613..0000000 --- a/libcommon/common/libcommon-vc12.vcxproj.filters +++ /dev/null @@ -1,19 +0,0 @@ - - - - - {6B7BDACA-0BDC-48B2-B5BD-BEFC5826ABC9} - cxx - - - {F2B8743C-E39C-4FE0-AA8F-FF7FA2DA7191} - h;hxx;ixx;txx - - - -__header_filter_entries__(headers) - - -__source_filter_entries__(sources) - - diff --git a/libcommon/common/libcommon-vc8.vcproj b/libcommon/common/libcommon-vc8.vcproj deleted file mode 100644 index ab5656a..0000000 --- a/libcommon/common/libcommon-vc8.vcproj +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -__source_entries__(sources) - - -__file_entries__(headers) - - - - - diff --git a/libcommon/common/libcommon-vc9.vcproj b/libcommon/common/libcommon-vc9.vcproj deleted file mode 100644 index 49bfe21..0000000 --- a/libcommon/common/libcommon-vc9.vcproj +++ /dev/null @@ -1,359 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -__source_entries__(sources) - - -__file_entries__(headers) - - - - - diff --git a/libcommon/common/makefile b/libcommon/common/makefile deleted file mode 100644 index 2f6537f..0000000 --- a/libcommon/common/makefile +++ /dev/null @@ -1,166 +0,0 @@ -# file : libcommon/common/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := common.cxx - -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_base)/common.l -common.l.cpp-options := $(out_base)/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/libodb/stub.make,\ - l: odb.l,cpp-options: odb.l.cpp-options) - -ifdef db_id -ifneq ($(db_id),common) -$(call import,\ - $(scf_root)/import/libodb-$(db_id)/stub.make,\ - l: odb_db.l,cpp-options: odb_db.l.cpp-options) -else -# Import all database runtimes. -# -$(call import,\ - $(scf_root)/import/libodb-mysql/stub.make,\ - l: odb_mysql.l,cpp-options: odb_mysql.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libodb-sqlite/stub.make,\ - l: odb_sqlite.l,cpp-options: odb_sqlite.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libodb-pgsql/stub.make,\ - l: odb_pgsql.l,cpp-options: odb_pgsql.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libodb-oracle/stub.make,\ - l: odb_oracle.l,cpp-options: odb_oracle.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libodb-mssql/stub.make,\ - l: odb_mssql.l,cpp-options: odb_mssql.l.cpp-options) - -odb_db.l := \ -$(odb_mysql.l) \ -$(odb_sqlite.l) \ -$(odb_pgsql.l) \ -$(odb_oracle.l) \ -$(odb_mssql.l) - -odb_db.l.cpp-options := \ -$(odb_mysql.l.cpp-options) \ -$(odb_sqlite.l.cpp-options) \ -$(odb_pgsql.l.cpp-options) \ -$(odb_oracle.l.cpp-options) \ -$(odb_mssql.l.cpp-options) -endif -endif - -ifeq ($(odb_db.l.cpp-options),) -odb_db.l.cpp-options := $(out_base)/.unbuildable -endif - -# Build. -# -$(common.l): $(cxx_obj) $(odb.l) $(odb_db.l) - -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(out_base)/config.h -$(common.l.cpp-options): value := -I$(out_root)/libcommon -I$(src_root)/libcommon -$(common.l.cpp-options): $(odb_db.l.cpp-options) $(odb.l.cpp-options) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard - -ifdef db_id -ifdef cxx_standard -$(out_base)/config.h: | $(out_base)/. - @echo '/* file : libcommon/common/config.h' >$@ - @echo ' * note : automatically generated' >>$@ - @echo ' */' >>$@ - @echo '' >>$@ - @echo '#ifndef LIBCOMMON_COMMON_CONFIG_H' >>$@ - @echo '#define LIBCOMMON_COMMON_CONFIG_H' >>$@ - @echo '' >>$@ -ifeq ($(db_id),mysql) - @echo '#define DATABASE_MYSQL 1' >>$@ -else ifeq ($(db_id),sqlite) - @echo '#define DATABASE_SQLITE 1' >>$@ -else ifeq ($(db_id),pgsql) - @echo '#define DATABASE_PGSQL 1' >>$@ -else ifeq ($(db_id),oracle) - @echo '#define DATABASE_ORACLE 1' >>$@ -else ifeq ($(db_id),mssql) - @echo '#define DATABASE_MSSQL 1' >>$@ -else ifeq ($(db_id),common) - @echo '#define DATABASE_COMMON 1' >>$@ -endif -ifeq ($(cxx_standard),c++11) - @echo '#define HAVE_CXX11 1' >>$@ -endif - @echo '#define HAVE_TR1_MEMORY 1' >>$@ - @echo '' >>$@ - @echo '#endif /* LIBCOMMON_COMMON_CONFIG_H */' >>$@ -endif -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(out_base)/config.h) - -# Convenience alias for default target. -# -$(out_base)/: $(common.l) - -# Dist. -# -$(dist): export sources := $(cxx_tun) -$(dist): export headers = $(subst $(src_base)/,,$(shell find $(src_base) \ --name '*.hxx' -o -name '*.ixx' -o -name '*.txx')) -$(dist): data_dist := config.h.in config-vc.h -$(dist): export extra_dist := $(data_dist) $(call vc8projs,libcommon) \ -$(call vc9projs,libcommon) $(call vc10projs,libcommon) \ -$(call vc11projs,libcommon) $(call vc12projs,libcommon) - -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake) - $(call meta-vc8projs,libcommon) - $(call meta-vc9projs,libcommon) - $(call meta-vc10projs,libcommon) - $(call meta-vc11projs,libcommon) - $(call meta-vc12projs,libcommon) - -# Clean. -# -$(clean): $(common.l).o.clean \ - $(common.l.cpp-options).clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - $(call message,rm $$1,rm -f $$1,$(out_base)/config.h) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(common.l): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := config.h -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-l.make) diff --git a/libcommon/concrete.hxx b/libcommon/concrete.hxx new file mode 100644 index 0000000..e0f64a5 --- /dev/null +++ b/libcommon/concrete.hxx @@ -0,0 +1,57 @@ +// file : libcommon/concrete.hxx +// license : GNU GPL v2; see accompanying LICENSE file + +#ifndef LIBCOMMON_CONCRETE_HXX +#define LIBCOMMON_CONCRETE_HXX + +#include + +// Namespace alias for the concrete database namespace. +// +#if defined(MULTI_DATABASE) + +// Fallback to common interface. +// +#include +#include + +namespace odb_db = odb; + +#elif defined(DATABASE_MYSQL) + +#include +#include + +namespace odb_db = odb::mysql; + +#elif defined(DATABASE_SQLITE) + +#include +#include + +namespace odb_db = odb::sqlite; + +#elif defined(DATABASE_PGSQL) + +#include +#include + +namespace odb_db = odb::pgsql; + +#elif defined(DATABASE_ORACLE) + +#include +#include + +namespace odb_db = odb::oracle; + +#elif defined(DATABASE_MSSQL) + +#include +#include + +namespace odb_db = odb::mssql; + +#endif + +#endif // LIBCOMMON_CONCRETE_HXX diff --git a/libcommon/config.hxx.in b/libcommon/config.hxx.in new file mode 100644 index 0000000..ff90e61 --- /dev/null +++ b/libcommon/config.hxx.in @@ -0,0 +1,14 @@ +// file : libcommon/config.hxx.in +// license : GNU GPL v2; see accompanying LICENSE file + +#ifndef LIBCOMMON_CONFIG_HXX +#define LIBCOMMON_CONFIG_HXX + +#undef DATABASE_MYSQL +#undef DATABASE_SQLITE +#undef DATABASE_PGSQL +#undef DATABASE_ORACLE +#undef DATABASE_MSSQL +#undef MULTI_DATABASE + +#endif // LIBCOMMON_CONFIG_HXX diff --git a/libcommon/export.hxx b/libcommon/export.hxx new file mode 100644 index 0000000..0de4565 --- /dev/null +++ b/libcommon/export.hxx @@ -0,0 +1,39 @@ +#pragma once + +// Normally we don't export class templates (but do complete specializations), +// inline functions, and classes with only inline member functions. Exporting +// classes that inherit from non-exported/imported bases (e.g., std::string) +// will end up badly. The only known workarounds are to not inherit or to not +// export. Also, MinGW GCC doesn't like seeing non-exported functions being +// used before their inline definition. The workaround is to reorder code. In +// the end it's all trial and error. + +#if defined(LIBCOMMON_STATIC) // Using static. +# define LIBCOMMON_SYMEXPORT +#elif defined(LIBCOMMON_STATIC_BUILD) // Building static. +# define LIBCOMMON_SYMEXPORT +#elif defined(LIBCOMMON_SHARED) // Using shared. +# ifdef _WIN32 +# define LIBCOMMON_SYMEXPORT __declspec(dllimport) +# else +# define LIBCOMMON_SYMEXPORT +# endif +#elif defined(LIBCOMMON_SHARED_BUILD) // Building shared. +# ifdef _WIN32 +# define LIBCOMMON_SYMEXPORT __declspec(dllexport) +# else +# define LIBCOMMON_SYMEXPORT +# endif +#else +// If none of the above macros are defined, then we assume we are being used +// by some third-party build system that cannot/doesn't signal the library +// type. Note that this fallback works for both static and shared libraries +// provided the library only exports functions (in other words, no global +// exported data) and for the shared case the result will be sub-optimal +// compared to having dllimport. If, however, your library does export data, +// then you will probably want to replace the fallback with the (commented +// out) error since it won't work for the shared case. +// +# define LIBCOMMON_SYMEXPORT // Using static or shared. +//# error define LIBCOMMON_STATIC or LIBCOMMON_SHARED preprocessor macro to signal libcommon library type being linked +#endif diff --git a/libcommon/makefile b/libcommon/makefile deleted file mode 100644 index ac0bb3c..0000000 --- a/libcommon/makefile +++ /dev/null @@ -1,31 +0,0 @@ -# file : libcommon/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make - -dirs := common - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(dirs))) - -$(dist): export dirs := $(dirs) -$(dist): export extra_dist := $(call vc8slns,libcommon) \ -$(call vc9slns,libcommon) $(call vc10slns,libcommon) \ -$(call vc11slns,libcommon) $(call vc12slns,libcommon) -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(dirs))) - $(call meta-automake) - $(call meta-vc8slns,libcommon) - $(call meta-vc9slns,libcommon) - $(call meta-vc10slns,libcommon) - $(call meta-vc11slns,libcommon) - $(call meta-vc12slns,libcommon) - -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(dirs))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach d,$(dirs),$(call import,$(src_base)/$d/makefile)) diff --git a/m4/acx-pthread.m4 b/m4/acx-pthread.m4 deleted file mode 100644 index 204b32d..0000000 --- a/m4/acx-pthread.m4 +++ /dev/null @@ -1,259 +0,0 @@ -dnl -dnl NOTE: This file was modified. See the comments starting with 'CS:' -dnl for more information. In particular, it was changed to use C++ -dnl instead of C. -dnl -dnl @synopsis ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -dnl @summary figure out how to build C++ programs using POSIX threads -dnl -dnl This macro figures out how to build C++ programs using POSIX threads. -dnl It sets the PTHREAD_LIBS output variable to the threads library and -dnl linker flags, and the PTHREAD_CXXFLAGS output variable to any special -dnl C++ compiler flags that are needed. (The user can also force certain -dnl compiler flags/libs to be tested by setting these environment -dnl variables.) -dnl -dnl Also sets PTHREAD_CXX to any special C++ compiler that is needed for -dnl multi-threaded programs (defaults to the value of CXX otherwise). -dnl (This is necessary on AIX to use the special xlC_r compiler alias.) -dnl -dnl NOTE: You are assumed to not only compile your program with these -dnl flags, but also link it with them as well. e.g. you should link -dnl with $PTHREAD_CXX $CXXFLAGS $PTHREAD_CXXFLAGS $LDFLAGS ... $PTHREAD_LIBS -dnl $LIBS -dnl -dnl If you are only building threads programs, you may wish to use -dnl these variables in your default LIBS, CXXFLAGS, and CXX: -dnl -dnl LIBS="$PTHREAD_LIBS $LIBS" -dnl CXXFLAGS="$CXXFLAGS $PTHREAD_CXXFLAGS" -dnl CXX="$PTHREAD_CXX" -dnl -dnl In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute -dnl constant has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to -dnl that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). -dnl -dnl ACTION-IF-FOUND is a list of shell commands to run if a threads -dnl library is found, and ACTION-IF-NOT-FOUND is a list of commands to -dnl run it if it is not found. If ACTION-IF-FOUND is not specified, the -dnl default action will define HAVE_PTHREAD. -dnl -dnl Please let the authors know if this macro fails on any platform, or -dnl if you have any other suggestions or comments. This macro was based -dnl on work by SGJ on autoconf scripts for FFTW (www.fftw.org) (with -dnl help from M. Frigo), as well as ac_pthread and hb_pthread macros -dnl posted by Alejandro Forero Cuervo to the autoconf macro repository. -dnl We are also grateful for the helpful feedback of numerous users. -dnl -dnl @category InstalledPackages -dnl @author Steven G. Johnson -dnl @version 2006-05-29 -dnl @license GPLWithACException - -AC_DEFUN([ACX_PTHREAD], [ -AC_REQUIRE([AC_CANONICAL_HOST]) -AC_LANG_SAVE -AC_LANG(C++) -acx_pthread_ok=no - -# We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on True64 or Sequent). -# It gets checked for in the link test anyway. - -# First of all, check if the user has set any of the PTHREAD_LIBS, -# etcetera environment variables, and if threads linking works using -# them: -if test x"$PTHREAD_LIBS$PTHREAD_CXXFLAGS" != x; then - save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $PTHREAD_CXXFLAGS" - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CXXFLAGS=$PTHREAD_CXXFLAGS]) - AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) - AC_MSG_RESULT($acx_pthread_ok) - if test x"$acx_pthread_ok" = xno; then - PTHREAD_LIBS="" - PTHREAD_CXXFLAGS="" - fi - LIBS="$save_LIBS" - CXXFLAGS="$save_CXXFLAGS" -fi - -# We must check for the threads library under a number of different -# names; the ordering is very important because some systems -# (e.g. DEC) have both -lpthread and -lpthreads, where one of the -# libraries is broken (non-POSIX). - -# Create a list of thread flags to try. Items starting with a "-" are -# C compiler flags, and other items are library names, except for "none" -# which indicates that we try without any flags at all, and "pthread-config" -# which is a program returning the flags for the Pth emulation library. - -# CS: On GNU/Linux with gcc both -pthread and -lpthread are valid. -# However, libtool links libraries with -nostdlib which results in -# -pthread being stripped from the linker command line. To resolve -# this we move pthread from after -mthreads to after pthreads. -# -acx_pthread_flags="pthreads pthread none -Kthread -kthread lthread -pthread -pthreads -mthreads --thread-safe -mt pthread-config" - -# The ordering *is* (sometimes) important. Some notes on the -# individual items follow: - -# pthreads: AIX (must check this before -lpthread) -# none: in case threads are in libc; should be tried before -Kthread and -# other compiler flags to prevent continual compiler warnings -# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -# -pthreads: Solaris/gcc -# -mthreads: Mingw32/gcc, Lynx/gcc -# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads too; -# also defines -D_REENTRANT) -# ... -mt is also the pthreads flag for HP/aCC -# pthread: Linux, etcetera -# --thread-safe: KAI C++ -# pthread-config: use pthread-config program (for GNU Pth library) - -case "${host_cpu}-${host_os}" in - *solaris*) - - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - - # CS: Move -mt to the front of the list; Sun CC will use -mt, - # gcc will use -pthreads. - # - acx_pthread_flags="-mt -pthreads pthread -pthread $acx_pthread_flags" - ;; -esac - -if test x"$acx_pthread_ok" = xno; then -for flag in $acx_pthread_flags; do - - case $flag in - none) - AC_MSG_CHECKING([whether pthreads work without any flags]) - ;; - - -*) - AC_MSG_CHECKING([whether pthreads work with $flag]) - PTHREAD_CXXFLAGS="$flag" - ;; - - pthread-config) - AC_CHECK_PROG(acx_pthread_config, pthread-config, yes, no) - if test x"$acx_pthread_config" = xno; then continue; fi - PTHREAD_CXXFLAGS="`pthread-config --cflags`" - PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" - ;; - - *) - AC_MSG_CHECKING([for the pthreads library -l$flag]) - PTHREAD_LIBS="-l$flag" - ;; - esac - - save_LIBS="$LIBS" - save_CXXFLAGS="$CXXFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" - CXXFLAGS="$CXXFLAGS $PTHREAD_CXXFLAGS" - - # Check for various functions. We must include pthread.h, - # since some functions may be macros. (On the Sequent, we - # need a special flag -Kthread to make this header compile.) - # We check for pthread_join because it is in -lpthread on IRIX - # while pthread_create is in libc. We check for pthread_attr_init - # due to DEC craziness with -lpthreads. We check for - # pthread_cleanup_push because it is one of the few pthread - # functions on Solaris that doesn't have a non-functional libc stub. - # We try pthread_create on general principles. - # - AC_TRY_LINK([#include ], - [pthread_t th; pthread_join(th, 0); - pthread_attr_init(0); pthread_cleanup_push(0, 0); - pthread_create(0,0,0,0); pthread_cleanup_pop(0);], - [acx_pthread_ok=yes]) - - LIBS="$save_LIBS" - CXXFLAGS="$save_CXXFLAGS" - - AC_MSG_RESULT($acx_pthread_ok) - if test "x$acx_pthread_ok" = xyes; then - break; - fi - - PTHREAD_LIBS="" - PTHREAD_CXXFLAGS="" -done -fi - -# Various other checks: -if test "x$acx_pthread_ok" = xyes; then - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $PTHREAD_CXXFLAGS" - -dnl # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. -dnl AC_MSG_CHECKING([for joinable pthread attribute]) -dnl attr_name=unknown -dnl for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do -dnl AC_TRY_LINK([#include ], [int attr=$attr; return attr;], -dnl [attr_name=$attr; break]) -dnl done -dnl AC_MSG_RESULT($attr_name) -dnl if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then -dnl AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name, -dnl [Define to necessary symbol if this constant -dnl uses a non-standard name on your system.]) -dnl fi - - AC_MSG_CHECKING([if more special flags are required for pthreads]) - flag=no - case "${host_cpu}-${host_os}" in - *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; - # CS: Add _REENTRANT in Linux to emulate -pthread. - # - *-linux* | *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; - esac - AC_MSG_RESULT(${flag}) - if test "x$flag" != xno; then - PTHREAD_CXXFLAGS="$flag $PTHREAD_CXXFLAGS" - fi - - LIBS="$save_LIBS" - CXXFLAGS="$save_CXXFLAGS" - -dnl # More AIX lossage: must compile with xlC_r -dnl if test x"$GXX" != xyes; then -dnl AC_CHECK_PROGS(PTHREAD_CXX, xlC_r, ${CXX}) -dnl else -dnl PTHREAD_CXX=$CXX -dnl fi - -else - PTHREAD_CXX="$CXX" -fi - -AC_SUBST(PTHREAD_LIBS) -AC_SUBST(PTHREAD_CXXFLAGS) -AC_SUBST(PTHREAD_CXX) - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$acx_pthread_ok" = xyes; then - ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) - : -else - acx_pthread_ok=no - $2 -fi -AC_LANG_RESTORE -])dnl ACX_PTHREAD diff --git a/m4/c++11.m4 b/m4/c++11.m4 deleted file mode 100644 index 42d38ad..0000000 --- a/m4/c++11.m4 +++ /dev/null @@ -1,37 +0,0 @@ -dnl file : m4/cxx11.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl CXX11(MACRO, DESCRIPTION) -dnl -dnl Check if we are compiling in the C++11 mode. If we are, define MACRO as -dnl both a macro and conditional as well as set the cxx11 variable to 'yes'. -dnl -AC_DEFUN([CXX11], -[ -cxx11=no - -AC_MSG_CHECKING([whether we are in C++11 mode]) - -CXX_LIBTOOL_LINK_IFELSE([ -AC_LANG_SOURCE([ -#include - -int -main () -{ - std::shared_ptr p (new int (10)); - *p = 11; -} -])], -[cxx11=yes]) - -if test x"$cxx11" = xyes; then - AC_MSG_RESULT([yes]) - AC_DEFINE([$1], [1], [$2]) -else - AC_MSG_RESULT([no]) -fi - -AM_CONDITIONAL([$1], [test x$cxx11 = xyes]) - -])dnl diff --git a/m4/database.m4 b/m4/database.m4 deleted file mode 100644 index e74a826..0000000 --- a/m4/database.m4 +++ /dev/null @@ -1,59 +0,0 @@ -dnl file : m4/database.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl DATABASE -dnl -AC_DEFUN([DATABASE], [ -database=none - -AC_MSG_CHECKING([for database to use]) - -AC_ARG_WITH( - [database], - [AC_HELP_STRING([--with-database=DB], - [database to use for tests; valid values are: 'mysql', 'sqlite', 'pgsql', and 'oracle'])], - [case $withval in - no | yes) - AC_MSG_RESULT([]) - AC_MSG_ERROR([no database specified in the --with-database option]) - ;; - mysql) - database=mysql - AC_DEFINE([DATABASE_MYSQL], [1], [Using MySQL.]) - ;; - sqlite) - database=sqlite - AC_DEFINE([DATABASE_SQLITE], [1], [Using SQLite.]) - ;; - pgsql) - database=pgsql - AC_DEFINE([DATABASE_PGSQL], [1], [Using PostgreSQL.]) - ;; - oracle) - database=oracle - AC_DEFINE([DATABASE_ORACLE], [1], [Using Oracle.]) - ;; - mssql) - database=mssql - AC_DEFINE([DATABASE_MSSQL], [1], [Using SQL Server.]) - ;; - *) - AC_MSG_RESULT([]) - AC_MSG_ERROR([unknown database $withval]) - ;; - esac], - [ - AC_MSG_RESULT([]) - AC_MSG_ERROR([no database specified with the --with-database option]) - ]) - -AC_MSG_RESULT([$database]) -AC_SUBST([database]) - -AM_CONDITIONAL([DATABASE_MYSQL], [test x$database = xmysql]) -AM_CONDITIONAL([DATABASE_SQLITE], [test x$database = xsqlite]) -AM_CONDITIONAL([DATABASE_PGSQL], [test x$database = xpgsql]) -AM_CONDITIONAL([DATABASE_ORACLE], [test x$database = xoracle]) -AM_CONDITIONAL([DATABASE_MSSQL], [test x$database = xmssql]) - -])dnl diff --git a/m4/diff.m4 b/m4/diff.m4 deleted file mode 100644 index 44996fb..0000000 --- a/m4/diff.m4 +++ /dev/null @@ -1,53 +0,0 @@ -dnl file : m4/diff.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl DIFF_TOOL -dnl -AC_DEFUN([DIFF_TOOL], [ -diff_found=no - -AC_ARG_VAR([DIFF],[diff command]) -AC_ARG_VAR([DIFFFLAGS],[diff flags]) - -AC_ARG_WITH( - [diff], - [AC_HELP_STRING([--with-diff=PATH],[path to the diff program])], - [diff_path=${withval}], - [diff_path=]) - -AC_MSG_CHECKING([for diff]) - -if test x"$DIFF" = x; then - if test x"$diff_path" != x; then - AS_SET_CATFILE([abs_diff_path], [$ac_pwd], [$diff_path]) - DIFF="$abs_diff_path" - else - DIFF=diff - fi -fi - -cat >conftest.txt - -$DIFF conftest.txt conftest.txt 2>/dev/null 1>&2 - -if test x"$?" = x0; then - AC_MSG_RESULT([$DIFF]) -else - AC_MSG_RESULT([no]) - AC_MSG_ERROR([diff command is not found; consider setting the DIFF variable or using --with-diff=PATH]) -fi - -AC_MSG_CHECKING([whether $DIFF accepts -u]) - -$DIFF -u conftest.txt conftest.txt 2>/dev/null 1>&2 - -if test x"$?" = x0; then - AC_MSG_RESULT([yes]) - DIFFFLAGS="$DIFFFLAGS -u" -else - AC_MSG_RESULT([no]) -fi - -rm -f conftest.txt - -])dnl diff --git a/m4/libboost.m4 b/m4/libboost.m4 deleted file mode 100644 index 2223493..0000000 --- a/m4/libboost.m4 +++ /dev/null @@ -1,184 +0,0 @@ -dnl file : m4/libboost.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl LIBBOOST([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -dnl -AC_DEFUN([LIBBOOST], [ -libboost_found=no - -AC_MSG_CHECKING([for boost base headers]) - -AC_ARG_WITH( - [boost], - [AC_HELP_STRING([--with-boost=DIR],[location of boost build directory])], - [libboost_dir=${withval}], - [libboost_dir=]) - -# If libboost_dir was given, add the necessary preprocessor and linker flags. -# -if test x"$libboost_dir" != x; then - save_CPPFLAGS="$CPPFLAGS" - save_LDFLAGS="$LDFLAGS" - - AS_SET_CATFILE([abs_libboost_dir], [$ac_pwd], [$libboost_dir]) - - CPPFLAGS="$CPPFLAGS -I$abs_libboost_dir" - LDFLAGS="$LDFLAGS -L$abs_libboost_dir/stage/lib" -fi - -CXX_LIBTOOL_LINK_IFELSE([ -AC_LANG_SOURCE([ -#include - -#ifndef BOOST_VERSION -# error BOOST_VERSION not defined -#endif - -int -main () -{ -} -])], -[ -libboost_found=yes -]) - -if test x"$libboost_found" = xno; then - if test x"$libboost_dir" != x; then - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - fi -fi - -if test x"$libboost_found" = xyes; then - AC_MSG_RESULT([yes]) - $1 -else - AC_MSG_RESULT([no]) - $2 -fi -])dnl -dnl -dnl LIBBOOST_HEADER_LIB(NAME, SOURCE, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND) -dnl -AC_DEFUN([LIBBOOST_HEADER_LIB], [ -libboost_$1_found=no - -AC_MSG_CHECKING([for boost $1 library]) -CXX_LIBTOOL_LINK_IFELSE([$2],[libboost_$1_found=yes]) - -if test x"$libboost_$1_found" = xyes; then - AC_MSG_RESULT([yes]) - [$3] -else - AC_MSG_RESULT([no]) - [$4] -fi -])dnl -dnl -dnl LIBBOOST_LIB(NAME, SOURCE, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND) -dnl -AC_DEFUN([LIBBOOST_LIB], [ -libboost_$1_found=no - -AC_MSG_CHECKING([for boost $1 library]) - -save_LIBS="$LIBS" -LIBS="-lboost_$1 $LIBS" - -CXX_LIBTOOL_LINK_IFELSE([$2],[libboost_$1_found=yes]) - -# Try to fall back on the -mt version for backwards-compatibility. -# -if test x"$libboost_$1_found" = xno; then - LIBS="-lboost_$1-mt $save_LIBS" - CXX_LIBTOOL_LINK_IFELSE([$2],[libboost_$1_found=yes]) -fi - -if test x"$libboost_$1_found" = xno; then - LIBS="$save_LIBS" -fi - -if test x"$libboost_$1_found" = xyes; then - AC_MSG_RESULT([yes]) - [$3] -else - AC_MSG_RESULT([no]) - [$4] -fi -])dnl -dnl -dnl LIBBOOST_SMART_PTR([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -AC_DEFUN([LIBBOOST_SMART_PTR], [ -LIBBOOST_HEADER_LIB([smart_ptr],[ -AC_LANG_SOURCE([ -#include -#include - -int -main () -{ - boost::shared_ptr sp (new int (10)); - boost::weak_ptr wp (sp); -} -])], -[$1], -[$2]) -])dnl -dnl -dnl LIBBOOST_UNORDERED([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -AC_DEFUN([LIBBOOST_UNORDERED], [ -LIBBOOST_HEADER_LIB([unordered],[ -AC_LANG_SOURCE([ -#include -#include - -int -main () -{ - boost::unordered_set s; - boost::unordered_map m; - - s.insert (1); - return m.find (1) != m.end (); -} -])], -[$1], -[$2]) -])dnl -dnl -dnl LIBBOOST_SYSTEM([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -AC_DEFUN([LIBBOOST_SYSTEM], [ -LIBBOOST_LIB([system],[ -AC_LANG_SOURCE([ -int -main () -{ -} -])], -[$1], -[$2]) -])dnl -dnl -dnl LIBBOOST_DATE_TIME([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -AC_DEFUN([LIBBOOST_DATE_TIME], [ -LIBBOOST_LIB([date_time],[ -AC_LANG_SOURCE([ -#include - -int -main () -{ - boost::gregorian::greg_month m (1); - const char* s (m.as_short_string ()); - return s == 0; -} -])], -[$1], -[$2]) -])dnl diff --git a/m4/libodb-boost.m4 b/m4/libodb-boost.m4 deleted file mode 100644 index 454bd90..0000000 --- a/m4/libodb-boost.m4 +++ /dev/null @@ -1,82 +0,0 @@ -dnl file : m4/libodb-boost.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl LIBODB_BOOST([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -dnl -AC_DEFUN([LIBODB_BOOST], [ -libodb_boost_found=no - -AC_ARG_WITH( - [libodb-boost], - [AC_HELP_STRING([--with-libodb-boost=DIR],[location of libodb-boost build directory])], - [libodb_boost_dir=${withval}], - [libodb_boost_dir=]) - -AC_MSG_CHECKING([for libodb-boost]) - -# If libodb_boost_dir was given, add the necessary preprocessor and -# linker flags. -# -if test x"$libodb_boost_dir" != x; then - save_CPPFLAGS="$CPPFLAGS" - save_LDFLAGS="$LDFLAGS" - - AS_SET_CATFILE([abs_libodb_boost_dir], [$ac_pwd], [$libodb_boost_dir]) - - CPPFLAGS="$CPPFLAGS -I$abs_libodb_boost_dir" - LDFLAGS="$LDFLAGS -L$abs_libodb_boost_dir/odb/boost" -fi - -save_LIBS="$LIBS" -LIBS="-lodb-boost $LIBS" - -CXX_LIBTOOL_LINK_IFELSE([ -AC_LANG_SOURCE([ -#include - -void -f () -{ -} - -const char* -g () -{ - try - { - f (); - } - catch (const odb::boost::exception& e) - { - return e.what (); - } - return 0; -} - -int -main () -{ - const char* m (g ()); - return m != 0; -} -])], -[libodb_boost_found=yes]) - -if test x"$libodb_boost_found" = xno; then - LIBS="$save_LIBS" - - if test x"$libodb_boost_dir" != x; then - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - fi -fi - -if test x"$libodb_boost_found" = xyes; then - AC_MSG_RESULT([yes]) - $1 -else - AC_MSG_RESULT([no]) - $2 -fi -])dnl diff --git a/m4/libodb-mssql.m4 b/m4/libodb-mssql.m4 deleted file mode 100644 index 7ab52d8..0000000 --- a/m4/libodb-mssql.m4 +++ /dev/null @@ -1,82 +0,0 @@ -dnl file : m4/libodb-mssql.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl LIBODB_MSSQL([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -dnl -AC_DEFUN([LIBODB_MSSQL], [ -libodb_mssql_found=no - -AC_ARG_WITH( - [libodb-mssql], - [AC_HELP_STRING([--with-libodb-mssql=DIR],[location of libodb-mssql build directory])], - [libodb_mssql_dir=${withval}], - [libodb_mssql_dir=]) - -AC_MSG_CHECKING([for libodb-mssql]) - -# If libodb_mssql_dir was given, add the necessary preprocessor and -# linker flags. -# -if test x"$libodb_mssql_dir" != x; then - save_CPPFLAGS="$CPPFLAGS" - save_LDFLAGS="$LDFLAGS" - - AS_SET_CATFILE([abs_libodb_mssql_dir], [$ac_pwd], [$libodb_mssql_dir]) - - CPPFLAGS="$CPPFLAGS -I$abs_libodb_mssql_dir" - LDFLAGS="$LDFLAGS -L$abs_libodb_mssql_dir/odb/mssql" -fi - -save_LIBS="$LIBS" -LIBS="-lodb-mssql $LIBS" - -CXX_LIBTOOL_LINK_IFELSE([ -AC_LANG_SOURCE([ -#include - -void -f () -{ -} - -const char* -g () -{ - try - { - f (); - } - catch (const odb::mssql::database_exception& e) - { - return e.what (); - } - return 0; -} - -int -main () -{ - const char* m (g ()); - return m != 0; -} -])], -[libodb_mssql_found=yes]) - -if test x"$libodb_mssql_found" = xno; then - LIBS="$save_LIBS" - - if test x"$libodb_mssql_dir" != x; then - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - fi -fi - -if test x"$libodb_mssql_found" = xyes; then - AC_MSG_RESULT([yes]) - $1 -else - AC_MSG_RESULT([no]) - $2 -fi -])dnl diff --git a/m4/libodb-mysql.m4 b/m4/libodb-mysql.m4 deleted file mode 100644 index f0f6d1b..0000000 --- a/m4/libodb-mysql.m4 +++ /dev/null @@ -1,82 +0,0 @@ -dnl file : m4/libodb-mysql.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl LIBODB_MYSQL([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -dnl -AC_DEFUN([LIBODB_MYSQL], [ -libodb_mysql_found=no - -AC_ARG_WITH( - [libodb-mysql], - [AC_HELP_STRING([--with-libodb-mysql=DIR],[location of libodb-mysql build directory])], - [libodb_mysql_dir=${withval}], - [libodb_mysql_dir=]) - -AC_MSG_CHECKING([for libodb-mysql]) - -# If libodb_mysql_dir was given, add the necessary preprocessor and -# linker flags. -# -if test x"$libodb_mysql_dir" != x; then - save_CPPFLAGS="$CPPFLAGS" - save_LDFLAGS="$LDFLAGS" - - AS_SET_CATFILE([abs_libodb_mysql_dir], [$ac_pwd], [$libodb_mysql_dir]) - - CPPFLAGS="$CPPFLAGS -I$abs_libodb_mysql_dir" - LDFLAGS="$LDFLAGS -L$abs_libodb_mysql_dir/odb/mysql" -fi - -save_LIBS="$LIBS" -LIBS="-lodb-mysql $LIBS" - -CXX_LIBTOOL_LINK_IFELSE([ -AC_LANG_SOURCE([ -#include - -void -f () -{ -} - -const char* -g () -{ - try - { - f (); - } - catch (const odb::mysql::database_exception& e) - { - return e.what (); - } - return 0; -} - -int -main () -{ - const char* m (g ()); - return m != 0; -} -])], -[libodb_mysql_found=yes]) - -if test x"$libodb_mysql_found" = xno; then - LIBS="$save_LIBS" - - if test x"$libodb_mysql_dir" != x; then - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - fi -fi - -if test x"$libodb_mysql_found" = xyes; then - AC_MSG_RESULT([yes]) - $1 -else - AC_MSG_RESULT([no]) - $2 -fi -])dnl diff --git a/m4/libodb-oracle.m4 b/m4/libodb-oracle.m4 deleted file mode 100644 index 10028ff..0000000 --- a/m4/libodb-oracle.m4 +++ /dev/null @@ -1,82 +0,0 @@ -dnl file : m4/libodb-oracle.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl LIBODB_ORACLE([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -dnl -AC_DEFUN([LIBODB_ORACLE], [ -libodb_oracle_found=no - -AC_ARG_WITH( - [libodb-oracle], - [AC_HELP_STRING([--with-libodb-oracle=DIR],[location of libodb-oracle build directory])], - [libodb_oracle_dir=${withval}], - [libodb_oracle_dir=]) - -AC_MSG_CHECKING([for libodb-oracle]) - -# If libodb_oracle_dir was given, add the necessary preprocessor and -# linker flags. -# -if test x"$libodb_oracle_dir" != x; then - save_CPPFLAGS="$CPPFLAGS" - save_LDFLAGS="$LDFLAGS" - - AS_SET_CATFILE([abs_libodb_oracle_dir], [$ac_pwd], [$libodb_oracle_dir]) - - CPPFLAGS="$CPPFLAGS -I$abs_libodb_oracle_dir" - LDFLAGS="$LDFLAGS -L$abs_libodb_oracle_dir/odb/oracle" -fi - -save_LIBS="$LIBS" -LIBS="-lodb-oracle $LIBS" - -CXX_LIBTOOL_LINK_IFELSE([ -AC_LANG_SOURCE([ -#include - -void -f () -{ -} - -const char* -g () -{ - try - { - f (); - } - catch (const odb::oracle::database_exception& e) - { - return e.what (); - } - return 0; -} - -int -main () -{ - const char* m (g ()); - return m != 0; -} -])], -[libodb_oracle_found=yes]) - -if test x"$libodb_oracle_found" = xno; then - LIBS="$save_LIBS" - - if test x"$libodb_oracle_dir" != x; then - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - fi -fi - -if test x"$libodb_oracle_found" = xyes; then - AC_MSG_RESULT([yes]) - $1 -else - AC_MSG_RESULT([no]) - $2 -fi -])dnl diff --git a/m4/libodb-pgsql.m4 b/m4/libodb-pgsql.m4 deleted file mode 100644 index cd6495d..0000000 --- a/m4/libodb-pgsql.m4 +++ /dev/null @@ -1,82 +0,0 @@ -dnl file : m4/libodb-pgsql.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl LIBODB_PGSQL([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -dnl -AC_DEFUN([LIBODB_PGSQL], [ -libodb_pgsql_found=no - -AC_ARG_WITH( - [libodb-pgsql], - [AC_HELP_STRING([--with-libodb-pgsql=DIR],[location of libodb-pgsql build directory])], - [libodb_pgsql_dir=${withval}], - [libodb_pgsql_dir=]) - -AC_MSG_CHECKING([for libodb-pgsql]) - -# If libodb_pgsql_dir was given, add the necessary preprocessor and -# linker flags. -# -if test x"$libodb_pgsql_dir" != x; then - save_CPPFLAGS="$CPPFLAGS" - save_LDFLAGS="$LDFLAGS" - - AS_SET_CATFILE([abs_libodb_pgsql_dir], [$ac_pwd], [$libodb_pgsql_dir]) - - CPPFLAGS="$CPPFLAGS -I$abs_libodb_pgsql_dir" - LDFLAGS="$LDFLAGS -L$abs_libodb_pgsql_dir/odb/pgsql" -fi - -save_LIBS="$LIBS" -LIBS="-lodb-pgsql $LIBS" - -CXX_LIBTOOL_LINK_IFELSE([ -AC_LANG_SOURCE([ -#include - -void -f () -{ -} - -const char* -g () -{ - try - { - f (); - } - catch (const odb::pgsql::database_exception& e) - { - return e.what (); - } - return 0; -} - -int -main () -{ - const char* m (g ()); - return m != 0; -} -])], -[libodb_pgsql_found=yes]) - -if test x"$libodb_pgsql_found" = xno; then - LIBS="$save_LIBS" - - if test x"$libodb_pgsql_dir" != x; then - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - fi -fi - -if test x"$libodb_pgsql_found" = xyes; then - AC_MSG_RESULT([yes]) - $1 -else - AC_MSG_RESULT([no]) - $2 -fi -])dnl diff --git a/m4/libodb-qt.m4 b/m4/libodb-qt.m4 deleted file mode 100644 index 76ebfb3..0000000 --- a/m4/libodb-qt.m4 +++ /dev/null @@ -1,82 +0,0 @@ -dnl file : m4/libodb-qt.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl LIBODB_QT([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -dnl -AC_DEFUN([LIBODB_QT], [ -libodb_qt_found=no - -AC_ARG_WITH( - [libodb-qt], - [AC_HELP_STRING([--with-libodb-qt=DIR],[location of libodb-qt build directory])], - [libodb_qt_dir=${withval}], - [libodb_qt_dir=]) - -AC_MSG_CHECKING([for libodb-qt]) - -# If libodb_qt_dir was given, add the necessary preprocessor and -# linker flags. -# -if test x"$libodb_qt_dir" != x; then - save_CPPFLAGS="$CPPFLAGS" - save_LDFLAGS="$LDFLAGS" - - AS_SET_CATFILE([abs_libodb_qt_dir], [$ac_pwd], [$libodb_qt_dir]) - - CPPFLAGS="$CPPFLAGS -I$abs_libodb_qt_dir" - LDFLAGS="$LDFLAGS -L$abs_libodb_qt_dir/odb/qt" -fi - -save_LIBS="$LIBS" -LIBS="-lodb-qt $LIBS" - -CXX_LIBTOOL_LINK_IFELSE([ -AC_LANG_SOURCE([ -#include - -void -f () -{ -} - -const char* -g () -{ - try - { - f (); - } - catch (const odb::qt::exception& e) - { - return e.what (); - } - return 0; -} - -int -main () -{ - const char* m (g ()); - return m != 0; -} -])], -[libodb_qt_found=yes]) - -if test x"$libodb_qt_found" = xno; then - LIBS="$save_LIBS" - - if test x"$libodb_qt_dir" != x; then - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - fi -fi - -if test x"$libodb_qt_found" = xyes; then - AC_MSG_RESULT([yes]) - $1 -else - AC_MSG_RESULT([no]) - $2 -fi -])dnl diff --git a/m4/libodb-sqlite.m4 b/m4/libodb-sqlite.m4 deleted file mode 100644 index 46ea966..0000000 --- a/m4/libodb-sqlite.m4 +++ /dev/null @@ -1,82 +0,0 @@ -dnl file : m4/libodb-sqlite.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl LIBODB_SQLITE([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -dnl -AC_DEFUN([LIBODB_SQLITE], [ -libodb_sqlite_found=no - -AC_ARG_WITH( - [libodb-sqlite], - [AC_HELP_STRING([--with-libodb-sqlite=DIR],[location of libodb-sqlite build directory])], - [libodb_sqlite_dir=${withval}], - [libodb_sqlite_dir=]) - -AC_MSG_CHECKING([for libodb-sqlite]) - -# If libodb_sqlite_dir was given, add the necessary preprocessor and -# linker flags. -# -if test x"$libodb_sqlite_dir" != x; then - save_CPPFLAGS="$CPPFLAGS" - save_LDFLAGS="$LDFLAGS" - - AS_SET_CATFILE([abs_libodb_sqlite_dir], [$ac_pwd], [$libodb_sqlite_dir]) - - CPPFLAGS="$CPPFLAGS -I$abs_libodb_sqlite_dir" - LDFLAGS="$LDFLAGS -L$abs_libodb_sqlite_dir/odb/sqlite" -fi - -save_LIBS="$LIBS" -LIBS="-lodb-sqlite $LIBS" - -CXX_LIBTOOL_LINK_IFELSE([ -AC_LANG_SOURCE([ -#include - -void -f () -{ -} - -const char* -g () -{ - try - { - f (); - } - catch (const odb::sqlite::database_exception& e) - { - return e.what (); - } - return 0; -} - -int -main () -{ - const char* m (g ()); - return m != 0; -} -])], -[libodb_sqlite_found=yes]) - -if test x"$libodb_sqlite_found" = xno; then - LIBS="$save_LIBS" - - if test x"$libodb_sqlite_dir" != x; then - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - fi -fi - -if test x"$libodb_sqlite_found" = xyes; then - AC_MSG_RESULT([yes]) - $1 -else - AC_MSG_RESULT([no]) - $2 -fi -])dnl diff --git a/m4/libodb.m4 b/m4/libodb.m4 deleted file mode 100644 index 0dba7c4..0000000 --- a/m4/libodb.m4 +++ /dev/null @@ -1,81 +0,0 @@ -dnl file : m4/libodb.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl LIBODB([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -dnl -AC_DEFUN([LIBODB], [ -libodb_found=no - -AC_ARG_WITH( - [libodb], - [AC_HELP_STRING([--with-libodb=DIR],[location of libodb build directory])], - [libodb_dir=${withval}], - [libodb_dir=]) - -AC_MSG_CHECKING([for libodb]) - -# If libodb_dir was given, add the necessary preprocessor and linker flags. -# -if test x"$libodb_dir" != x; then - save_CPPFLAGS="$CPPFLAGS" - save_LDFLAGS="$LDFLAGS" - - AS_SET_CATFILE([abs_libodb_dir], [$ac_pwd], [$libodb_dir]) - - CPPFLAGS="$CPPFLAGS -I$abs_libodb_dir" - LDFLAGS="$LDFLAGS -L$abs_libodb_dir/odb" -fi - -save_LIBS="$LIBS" -LIBS="-lodb $LIBS" - -CXX_LIBTOOL_LINK_IFELSE([ -AC_LANG_SOURCE([ -#include - -void -f () -{ -} - -const char* -g () -{ - try - { - f (); - } - catch (const odb::exception& e) - { - return e.what (); - } - return 0; -} - -int -main () -{ - const char* m (g ()); - return m != 0; -} -])], -[libodb_found=yes]) - -if test x"$libodb_found" = xno; then - LIBS="$save_LIBS" - - if test x"$libodb_dir" != x; then - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - fi -fi - -if test x"$libodb_found" = xyes; then - AC_MSG_RESULT([yes]) - $1 -else - AC_MSG_RESULT([no]) - $2 -fi -])dnl diff --git a/m4/libqt.m4 b/m4/libqt.m4 deleted file mode 100644 index c2be2e7..0000000 --- a/m4/libqt.m4 +++ /dev/null @@ -1,121 +0,0 @@ -dnl file : m4/libqt.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl -dnl LIBQTCORE_COMPILE() -dnl -AC_DEFUN([LIBQTCORE_COMPILE], [ -CXX_LIBTOOL_LINK_IFELSE([ -AC_LANG_SOURCE([ -// See libodb-qt/odb/qt/details/config.hxx for more information on -// what's going on here. -// -# if defined(__ELF__) && !defined(__PIC__) && !defined(__PIE__) -# include // QT_REDUCE_RELOCATIONS -# ifdef QT_REDUCE_RELOCATIONS -# define __PIE__ -# endif -# endif -#include -#include - -int -main () -{ - QString qs ("test"); - std::string ss (qs.toStdString ()); - return ss.size () != 0; -} -])], -[libqt_found=yes]) -])dnl -dnl -dnl LIBQTCORE([ACTION-IF-FOUND[,ACTION-IF-NOT-FOUND]]) -dnl -dnl -AC_DEFUN([LIBQTCORE], [ -libqt_found=no - -# QtCore libraries and pkg-config names in the order we should try -# them. -# -libqt_lib_names="Qt5Core QtCore5 QtCore Qt4Core QtCore4" -libqt_pkg_names="Qt5Core QtCore" - -AC_PATH_PROG([pkg_config],[pkg-config]) - -AC_MSG_CHECKING([for QtCore]) - -# First check for QtCore using default CPPFLAGS/LDFLAGS/LIBS. This -# test allows the user to override the QtCore library name (e.g., -# QtCored4, Qt5Core) via the LIBS variable. -# -LIBQTCORE_COMPILE - -# Then check for QtCore using default CPPFLAGS/LDFLAGS. -# -if test x"$libqt_found" = xno; then - for lib in $libqt_lib_names; do - save_LIBS="$LIBS" - LIBS="-l$lib $LIBS" - - LIBQTCORE_COMPILE - - if test x"$libqt_found" = xno; then - LIBS="$save_LIBS" - else - break - fi - done -fi - -# Try framework in case we are on Mac OS X. -# -if test x"$libqt_found" = xno; then - save_LIBS="$LIBS" - LIBS="-framework QtCore $LIBS" - - LIBQTCORE_COMPILE - - if test x"$libqt_found" = xno; then - LIBS="$save_LIBS" - fi -fi - -# If default CPPFLAGS/LDFLAGS didn't work, try to discover -# them using pkg-config. -# -if test x"$libqt_found" = xno; then - if test x"$pkg_config" != x; then - for pkg in $libqt_pkg_names; do - if $pkg_config --exists $pkg; then - save_CPPFLAGS="$CPPFLAGS" - save_LIBS="$LIBS" - - CPPFLAGS=`$pkg_config --cflags $pkg` - LIBS=`$pkg_config --libs $pkg` - - CPPFLAGS="$CPPFLAGS $save_CPPFLAGS" - LIBS="$LIBS $save_LIBS" - - LIBQTCORE_COMPILE - - if test x"$libqt_found" = xno; then - CPPFLAGS="$save_CPPFLAGS" - LIBS="$save_LIBS" - else - break - fi - fi - done - fi -fi - -if test x"$libqt_found" = xyes; then - AC_MSG_RESULT([yes]) - $1 -else - AC_MSG_RESULT([no]) - $2 -fi -])dnl diff --git a/m4/libtool-link.m4 b/m4/libtool-link.m4 deleted file mode 100644 index 302639f..0000000 --- a/m4/libtool-link.m4 +++ /dev/null @@ -1,45 +0,0 @@ -dnl file : m4/libtool-link.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl -dnl CXX_LIBTOOL_LINK_IFELSE (input, [action-if-true], [action-if-false]) -dnl -dnl Similar to AC_LINK_IFELSE except it uses libtool to perform the -dnl linking and it does this using the C++ compiler. -dnl -AC_DEFUN([CXX_LIBTOOL_LINK_IFELSE],[ -AC_LANG_SAVE -AC_LANG(C++) - -if test -d .libs; then - delete_libs_dir=no -else - delete_libs_dir=yes -fi - -AC_COMPILE_IFELSE([$1], -[ - ac_try='./libtool --tag=CXX --mode=link $CXX -no-install $CXXFLAGS $LDFLAGS -o conftest conftest.$OBJEXT $LIBS >&AS_MESSAGE_LOG_FD' - if _AC_DO_VAR(ac_try); then - libtool_link_ok=yes - else - libtool_link_ok=no - fi -], -[ - libtool_link_ok=no -]) - -if test x"$delete_libs_dir" = xyes; then - rm -rf .libs -fi - -if test x"$libtool_link_ok" = xyes; then -[$2] -: -else -[$3] -: -fi - -AC_LANG_RESTORE])dnl diff --git a/m4/mssql.m4 b/m4/mssql.m4 deleted file mode 100644 index 5debeb2..0000000 --- a/m4/mssql.m4 +++ /dev/null @@ -1,224 +0,0 @@ -dnl file : m4/mssql.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl MSSQL -dnl -AC_DEFUN([MSSQL], [ - -# Client. -# -AC_MSG_CHECKING([for mssql client program]) -AC_ARG_WITH( - [mssql-client], - [AC_HELP_STRING([--with-mssql-client=PATH], [SQL Server client program path (sqlcmd by default)])], - [case $withval in - yes) - mssql_client=sqlcmd - ;; - no) - AC_MSG_RESULT([]) - AC_MSG_ERROR([need mssql client to run the tests]) - ;; - *) - mssql_client=$withval - ;; - esac], - [mssql_client=sqlcmd]) - -$mssql_client -? 2>/dev/null 1>&2 - -if test x"$?" = x0; then - AC_MSG_RESULT([$mssql_client]) -else - AC_MSG_RESULT([no]) - AC_MSG_ERROR([mssql client is not found; consider using --with-mssql-client=PATH]) -fi - -# User. If 'no' is specified, then use Windows authentication. -# -AC_MSG_CHECKING([for mssql database user]) -AC_ARG_WITH( - [mssql-user], - [AC_HELP_STRING([--with-mssql-user=NAME], [SQL Server database user (odb_test by default)])], - [case $withval in - yes) - mssql_user=odb_test - mssql_user_set=yes - ;; - no) - mssql_user_set=no - ;; - *) - mssql_user=$withval - mssql_user_set=yes - ;; - esac], - [mssql_user=odb_test - mssql_user_set=yes]) - -if test x$mssql_user_set = xyes; then - AC_MSG_RESULT(['$mssql_user']) -else - AC_MSG_RESULT([none]) -fi - -# Password. Can be left unspecified if using Windows authentication. -# -AC_MSG_CHECKING([for mssql database password]) -AC_ARG_WITH( - [mssql-password], - [AC_HELP_STRING([--with-mssql-password=PASS], [SQL Server database password (odb_test by default)])], - [case $withval in - yes) - mssql_password=odb_test - mssql_password_set=yes - ;; - no) - mssql_password_set=no - ;; - *) - mssql_password=$withval - mssql_password_set=yes - ;; - esac], - [mssql_password_set=no]) - -if test x$mssql_password_set = xyes; then - AC_MSG_RESULT(['$mssql_password']) -elif test x$mssql_user = xodb_test; then - mssql_password=odb_test - mssql_password_set=yes - AC_MSG_RESULT(['$mssql_password']) -else - AC_MSG_RESULT([none]) - if test x$mssql_user_set = xyes; then - AC_MSG_ERROR([password not specified; SQL Server requires a password (--with-mssql-password=PASS)]) - fi -fi - -# Database. If not specified, use the user's default. -# -AC_MSG_CHECKING([for mssql database name]) -AC_ARG_WITH( - [mssql-db], - [AC_HELP_STRING([--with-mssql-db=NAME], [SQL Server database name (odb_test by default). Note that all data in this database WILL BE LOST!])], - [case $withval in - yes) - mssql_db=odb_test - mssql_db_set=yes - ;; - no) - mssql_db_set=no - ;; - *) - mssql_db=$withval - mssql_db_set=yes - ;; - esac], - [mssql_db=odb_test - mssql_db_set=yes]) - -if test x$mssql_db_set = xyes; then - AC_MSG_RESULT(['$mssql_db']) -else - AC_MSG_RESULT([default]) -fi - -# Server. -# -AC_MSG_CHECKING([for mssql instance address]) -AC_ARG_WITH( - [mssql-server], - [AC_HELP_STRING([--with-mssql-server=ADDR], [SQL Server instance address])], - [case $withval in - yes | no) - mssql_server_set=no - ;; - *) - mssql_server=$withval - mssql_server_set=yes - ;; - esac], - [mssql_server_set=no]) - -if test x$mssql_server_set = xyes; then - AC_MSG_RESULT(['$mssql_server']) -else - AC_MSG_RESULT([none]) - AC_MSG_ERROR([instance address not specified; SQL Server instance address is required (--with-mssql-server=ADDR)]) -fi - -# Driver. -# -AC_MSG_CHECKING([for mssql native client odbc driver]) -AC_ARG_WITH( - [mssql-driver], - [AC_HELP_STRING([--with-mssql-driver=NAME], [SQL Server Native Client ODBC driver (latest available by default)])], - [case $withval in - yes | no) - mssql_driver_set=no - ;; - *) - mssql_driver=$withval - mssql_driver_set=yes - ;; - esac], - [mssql_driver_set=no]) - -if test x$mssql_driver_set = xyes; then - AC_MSG_RESULT(['$mssql_driver']) -else - AC_MSG_RESULT([latest]) -fi - -# Create options file. -# -AC_CONFIG_COMMANDS([mssql.options], - [ - rm -f mssql.options - echo '#! /bin/sh' >mssql-driver - - echo 'opt=' >>mssql-driver - - if test x$mssql_user_set = xyes; then - echo "--user '$mssql_user'" >>mssql.options - echo 'opt="$opt -U '"$mssql_user"'"' >>mssql-driver - - echo "--password '$mssql_password'" >>mssql.options - echo 'opt="$opt -P '"$mssql_password"'"' >>mssql-driver - fi - - if test x$mssql_db_set = xyes; then - echo "--database '$mssql_db'" >>mssql.options - echo 'opt="$opt -d '"$mssql_db"'"' >>mssql-driver - fi - - echo "--server '$mssql_server'" >>mssql.options - echo 'opt="$opt -S '"$mssql_server"'"' >>mssql-driver - - if test x$mssql_driver_set = xyes; then - echo "--driver '$mssql_driver'" >>mssql.options - fi - - echo 'opt="$opt -x -r -b"' >>mssql-driver - echo 'if test x$[]1 != x; then' >>mssql-driver - echo " exec $mssql_client "'$opt -i $[]1' >>mssql-driver - echo "else" >>mssql-driver - echo " exec $mssql_client "'$opt' >>mssql-driver - echo "fi" >>mssql-driver - - chmod +x mssql-driver - ], - [ - mssql_client="$mssql_client" - mssql_user="$mssql_user" - mssql_user_set="$mssql_user_set" - mssql_password="$mssql_password" - mssql_db="$mssql_db" - mssql_db_set="$mssql_db_set" - mssql_server="$mssql_server" - mssql_driver="$mssql_driver" - mssql_driver_set="$mssql_driver_set" - ]) - -])dnl diff --git a/m4/mysql.m4 b/m4/mysql.m4 deleted file mode 100644 index 7564726..0000000 --- a/m4/mysql.m4 +++ /dev/null @@ -1,270 +0,0 @@ -dnl file : m4/mysql.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl MYSQL -dnl -AC_DEFUN([MYSQL], [ - -# Client. -# -AC_MSG_CHECKING([for mysql client program]) -AC_ARG_WITH( - [mysql-client], - [AC_HELP_STRING([--with-mysql-client=PATH], [MySQL client program path (mysql by default)])], - [case $withval in - yes) - mysql_client=mysql - ;; - no) - AC_MSG_RESULT([]) - AC_MSG_ERROR([need mysql client to run the tests]) - ;; - *) - mysql_client=$withval - ;; - esac], - [mysql_client=mysql]) - -$mysql_client --version 2>/dev/null 1>&2 - -if test x"$?" = x0; then - AC_MSG_RESULT([$mysql_client]) -else - AC_MSG_RESULT([no]) - AC_MSG_ERROR([mysql client is not found; consider using --with-mysql-client=PATH]) -fi - -# User. -# -AC_MSG_CHECKING([for mysql database user]) -AC_ARG_WITH( - [mysql-user], - [AC_HELP_STRING([--with-mysql-user=NAME], [MySQL database user (odb_test by default)])], - [case $withval in - yes) - mysql_user=odb_test - mysql_user_set=yes - ;; - no) - mysql_user_set=no - ;; - *) - mysql_user=$withval - mysql_user_set=yes - ;; - esac], - [mysql_user=odb_test - mysql_user_set=yes]) - -if test x$mysql_user_set = xyes; then - AC_MSG_RESULT(['$mysql_user']) -else - AC_MSG_RESULT([none]) -fi - -# Password. -# -AC_MSG_CHECKING([for mysql database password]) -AC_ARG_WITH( - [mysql-password], - [AC_HELP_STRING([--with-mysql-password=PASS], [MySQL database password (no password by default)])], - [case $withval in - yes) - mysql_password= - mysql_password_set=yes - ;; - no) - mysql_password_set=no - ;; - *) - mysql_password=$withval - mysql_password_set=yes - ;; - esac], - [mysql_password_set=no]) - -if test x$mysql_password_set = xyes; then - AC_MSG_RESULT(['$mysql_password']) -else - AC_MSG_RESULT([none]) -fi - -# Database name. -# -AC_MSG_CHECKING([for mysql database name]) -AC_ARG_WITH( - [mysql-db], - [AC_HELP_STRING([--with-mysql-db=NAME], [MySQL database name (odb_test by default). Note that all data in this database WILL BE LOST!])], - [case $withval in - yes) - mysql_db=odb_test - mysql_db_set=yes - ;; - no) - mysql_db_set=no - ;; - *) - mysql_db=$withval - mysql_db_set=yes - ;; - esac], - [mysql_db=odb_test - mysql_db_set=yes]) - -if test x$mysql_db_set = xyes; then - AC_MSG_RESULT(['$mysql_db']) -else - AC_MSG_RESULT([none]) -fi - -# Host. -# -AC_MSG_CHECKING([for mysql database host]) -AC_ARG_WITH( - [mysql-host], - [AC_HELP_STRING([--with-mysql-host=HOST], [MySQL database host (localhost by default)])], - [case $withval in - yes) - mysql_host=localhost - mysql_host_set=yes - ;; - no) - mysql_host_set=no - ;; - *) - mysql_host=$withval - mysql_host_set=yes - ;; - esac], - [mysql_host_set=no]) - -if test x$mysql_host_set = xyes; then - AC_MSG_RESULT(['$mysql_host']) -else - AC_MSG_RESULT([localhost]) -fi - -# Port. -# -AC_MSG_CHECKING([for mysql database port]) -AC_ARG_WITH( - [mysql-port], - [AC_HELP_STRING([--with-mysql-port=PORT], [MySQL database port (standard MySQL port by default)])], - [case $withval in - yes) - mysql_port=0 - mysql_port_set=yes - ;; - no) - mysql_port_set=no - ;; - *) - mysql_port=$withval - mysql_port_set=yes - ;; - esac], - [mysql_port_set=no]) - -if test x$mysql_port_set = xyes; then - AC_MSG_RESULT(['$mysql_port']) -else - AC_MSG_RESULT([default]) -fi - -# Socket. -# -AC_MSG_CHECKING([for mysql database socket]) -AC_ARG_WITH( - [mysql-socket], - [AC_HELP_STRING([--with-mysql-socket=SOCKET], [MySQL database socket (standard MySQL socket by default)])], - [case $withval in - yes) - mysql_socket= - mysql_socket_set=yes - ;; - no) - mysql_socket_set=no - ;; - *) - mysql_socket=$withval - mysql_socket_set=yes - ;; - esac], - [mysql_socket_set=no]) - -if test x$mysql_socket_set = xyes; then - AC_MSG_RESULT(['$mysql_socket']) -else - AC_MSG_RESULT([default]) -fi - -# Create options file. -# -AC_CONFIG_COMMANDS([mysql.options], - [ - rm -f mysql.options - echo '#! /bin/sh' >mysql-driver - - echo 'opt=' >>mysql-driver - - if test x$mysql_user_set = xyes; then - echo "--user '$mysql_user'" >>mysql.options - echo 'opt="$opt --user='"$mysql_user"'"' >>mysql-driver - fi - - if test x$mysql_password_set = xyes; then - echo "--password '$mysql_password'" >>mysql.options - echo 'opt="$opt --password='"$mysql_password"'"' >>mysql-driver - fi - - if test x$mysql_db_set = xyes; then - echo "--database '$mysql_db'" >>mysql.options - echo 'opt="$opt --database='"$mysql_db"'"' >>mysql-driver - fi - - if test x$mysql_host_set = xyes; then - echo "--host '$mysql_host'" >>mysql.options - echo 'opt="$opt --host='"$mysql_host"'"' >>mysql-driver - fi - - if test x$mysql_port_set = xyes; then - echo "--port '$mysql_port'" >>mysql.options - echo 'opt="$opt --port='"$mysql_port"'"' >>mysql-driver - fi - - if test x$mysql_socket_set = xyes; then - echo "--socket '$mysql_socket'" >>mysql.options - echo 'opt="$opt --socket='"$mysql_socket"'"' >>mysql-driver - fi - - echo 'if test x$[]1 != x; then' >>mysql-driver - echo " exec $mysql_client "'$opt <$[]1' >>mysql-driver - echo "else" >>mysql-driver - echo " exec $mysql_client "'$opt' >>mysql-driver - echo "fi" >>mysql-driver - - chmod +x mysql-driver - ], - [ - mysql_client="$mysql_client" - - mysql_user="$mysql_user" - mysql_user_set="$mysql_user_set" - - mysql_password="$mysql_password" - mysql_password_set="$mysql_password_set" - - mysql_db="$mysql_db" - mysql_db_set="$mysql_db_set" - - mysql_host="$mysql_host" - mysql_host_set="$mysql_host_set" - - mysql_port="$mysql_port" - mysql_port_set="$mysql_port_set" - - mysql_socket="$mysql_socket" - mysql_socket_set="$mysql_socket_set" - ]) - -])dnl diff --git a/m4/odb.m4 b/m4/odb.m4 deleted file mode 100644 index 3e1b19b..0000000 --- a/m4/odb.m4 +++ /dev/null @@ -1,43 +0,0 @@ -dnl file : m4/odb.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl ODB_COMPILER([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -AC_DEFUN([ODB_COMPILER], [ -odb_found=no - -AC_ARG_VAR([ODB],[ODB compiler command]) -AC_ARG_VAR([ODBFLAGS],[ODB compiler flags]) -AC_ARG_VAR([ODBCPPFLAGS],[ODB-specific C++ preprocessor flags]) - -AC_ARG_WITH( - [odb], - [AC_HELP_STRING([--with-odb=DIR],[location of odb compiler build directory])], - [odb_dir=${withval}], - [odb_dir=]) - -AC_MSG_CHECKING([for odb]) - -save_ODB="$ODB" - -if test x"$ODB" = x; then - if test x"$odb_dir" != x; then - AS_SET_CATFILE([abs_odb_dir], [$ac_pwd], [$odb_dir]) - ODB="$abs_odb_dir/odb/odb" - else - ODB=odb - fi -fi - -$ODB --version 2>/dev/null 1>&2 - -if test x"$?" = x0; then - AC_MSG_RESULT([$ODB]) - $1 -else - AC_MSG_RESULT([no]) - ODB="$save_ODB" - $2 -fi - -])dnl diff --git a/m4/oracle.m4 b/m4/oracle.m4 deleted file mode 100644 index c095214..0000000 --- a/m4/oracle.m4 +++ /dev/null @@ -1,243 +0,0 @@ -dnl file : m4/oracle.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl ORACLE -dnl -AC_DEFUN([ORACLE], [ - -# Client. -# -AC_MSG_CHECKING([for oracle client program]) -AC_ARG_WITH( - [oracle-client], - [AC_HELP_STRING([--with-oracle-client=PATH], [Oracle client program path (sqlplus by default)])], - [case $withval in - yes) - oracle_client=sqlplus - ;; - no) - AC_MSG_RESULT([]) - AC_MSG_ERROR([need oracle client to run the tests]) - ;; - *) - oracle_client=$withval - ;; - esac], - [oracle_client=sqlplus]) - -$oracle_client -V 2>/dev/null 1>&2 - -if test x"$?" = x0; then - AC_MSG_RESULT([$oracle_client]) -else - AC_MSG_RESULT([no]) - AC_MSG_ERROR([oracle client is not found; consider using --with-oracle-client=PATH]) -fi - -# User. -# -AC_MSG_CHECKING([for oracle database user]) -AC_ARG_WITH( - [oracle-user], - [AC_HELP_STRING([--with-oracle-user=NAME], [Oracle database user (odb_test by default)])], - [case $withval in - yes) - oracle_user=odb_test - oracle_user_set=yes - ;; - no) - oracle_user_set=no - ;; - *) - oracle_user=$withval - oracle_user_set=yes - ;; - esac], - [oracle_user=odb_test - oracle_user_set=yes]) - -if test x$oracle_user_set = xyes; then - AC_MSG_RESULT(['$oracle_user']) -else - AC_MSG_RESULT([none]) -fi - -# Password. -# -AC_MSG_CHECKING([for oracle database password]) -AC_ARG_WITH( - [oracle-password], - [AC_HELP_STRING([--with-oracle-password=PASS], [Oracle database password (odb_test by default)])], - [case $withval in - yes) - oracle_password=odb_test - oracle_password_set=yes - ;; - no) - oracle_password_set=no - ;; - *) - oracle_password=$withval - oracle_password_set=yes - ;; - esac], - [oracle_password_set=no]) - -if test x$oracle_password_set = xyes; then - AC_MSG_RESULT(['$oracle_password']) -elif test x$oracle_user = xodb_test; then - oracle_password=odb_test - oracle_password_set=yes - AC_MSG_RESULT(['$oracle_password']) -elif test x$oracle_user != x/; then - AC_MSG_RESULT([none]) - AC_MSG_ERROR([password not specified; Oracle requires a password (--with-oracle-password=PASS)]) -fi - -# Service name. -# -AC_MSG_CHECKING([for oracle service name]) -AC_ARG_WITH( - [oracle-service], - [AC_HELP_STRING([--with-oracle-service=NAME], [Oracle service name (default service if left empty). Note that all data associated with this user on this service WILL BE LOST!])], - [case $withval in - yes) - oracle_service= - oracle_service_set=yes - ;; - no) - oracle_service_set=no - ;; - *) - oracle_service=$withval - oracle_service_set=yes - ;; - esac], - [oracle_service_set=no]) - -if test x$oracle_service_set = xyes; then - AC_MSG_RESULT(['$oracle_service']) -else - AC_MSG_RESULT([default]) -fi - -# Host. -# -AC_MSG_CHECKING([for oracle database host]) -AC_ARG_WITH( - [oracle-host], - [AC_HELP_STRING([--with-oracle-host=HOST], [Oracle database host (localhost by default)])], - [case $withval in - yes) - oracle_host=localhost - oracle_host_set=yes - ;; - no) - oracle_host_set=no - ;; - *) - oracle_host=$withval - oracle_host_set=yes - ;; - esac], - [oracle_host_set=no]) - -if test x$oracle_host_set = xyes; then - AC_MSG_RESULT(['$oracle_host']) -else - AC_MSG_RESULT([localhost]) -fi - -# Port. -# -AC_MSG_CHECKING([for oracle database port]) -AC_ARG_WITH( - [oracle-port], - [AC_HELP_STRING([--with-oracle-port=PORT], [Oracle database port (standard Oracle port by default)])], - [case $withval in - yes) - oracle_port=1521 - oracle_port_set=yes - ;; - no) - oracle_port_set=no - ;; - *) - oracle_port=$withval - oracle_port_set=yes - ;; - esac], - [oracle_port_set=no]) - -if test x$oracle_port_set = xyes; then - AC_MSG_RESULT(['$oracle_port']) -else - AC_MSG_RESULT([default]) -fi - -# Create options file. -# -AC_CONFIG_COMMANDS([oracle.options], - [ - rm -f oracle.options - echo '#! /bin/sh' >oracle-driver - - echo 'conn_str=' >>oracle-driver - - if test x$oracle_user_set = xyes; then - echo "--user '$oracle_user'" >>oracle.options - echo 'conn_str="'"$oracle_user"'"' >>oracle-driver - fi - - if test x$oracle_password_set = xyes; then - echo "--password '$oracle_password'" >>oracle.options - echo 'conn_str="$conn_str/'"$oracle_password"'"' >>oracle-driver - fi - - if test x$oracle_host_set = xyes; then - echo "--host '$oracle_host'" >>oracle.options - echo 'conn_str="$conn_str@//'"$oracle_host"'"' >>oracle-driver - - if test x$oracle_port_set = xyes; then - echo "--port '$oracle_port'" >>oracle.options - echo 'conn_str="$conn_str:'"$oracle_port"'"' >>oracle-driver - fi - fi - - if test x$oracle_service != x; then - if test x$oracle_host_set = xno; then - echo 'conn_str="$conn_str@"' >>oracle-driver - fi - - echo "--service '$oracle_service'" >>oracle.options - echo 'conn_str="$conn_str/'"$oracle_service"'"' >>oracle-driver - fi - - echo 'if test x$[]1 != x; then' >>oracle-driver - echo " exec $oracle_client -L -S "'$conn_str @$[]1' >>oracle-driver - echo "else" >>oracle-driver - echo " exec $oracle_client -L -S "'$conn_str' >>oracle-driver - echo "fi" >>oracle-driver - - chmod +x oracle-driver - ], - [ - oracle_client="$oracle_client" - - oracle_user="$oracle_user" - oracle_user_set="$oracle_user_set" - - oracle_password="$oracle_password" - oracle_password_set="$oracle_password_set" - - oracle_service="$oracle_service" - oracle_service_set="$oracle_service_set" - - oracle_host="$oracle_host" - oracle_host_set="$oracle_host_set" - - oracle_port="$oracle_port" - oracle_port_set="$oracle_port_set" - ]) - -])dnl diff --git a/m4/pgsql.m4 b/m4/pgsql.m4 deleted file mode 100644 index eb29a62..0000000 --- a/m4/pgsql.m4 +++ /dev/null @@ -1,204 +0,0 @@ -dnl file : m4/pgsql.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl PGSQL -dnl -AC_DEFUN([PGSQL], [ - -# Client. -# -AC_MSG_CHECKING([for pgsql client program]) -AC_ARG_WITH( - [pgsql-client], - [AC_HELP_STRING([--with-pgsql-client=PATH], [PostgreSQL client program path (psql by default)])], - [case $withval in - yes) - pgsql_client=psql - ;; - no) - AC_MSG_RESULT([]) - AC_MSG_ERROR([need pgsql client to run the tests]) - ;; - *) - pgsql_client=$withval - ;; - esac], - [pgsql_client=psql]) - -$pgsql_client --version 2>/dev/null 1>&2 - -if test x"$?" = x0; then - AC_MSG_RESULT([$pgsql_client]) -else - AC_MSG_RESULT([no]) - AC_MSG_ERROR([pgsql client is not found; consider using --with-pgsql-client=PATH]) -fi - -# User. -# -AC_MSG_CHECKING([for pgsql database user]) -AC_ARG_WITH( - [pgsql-user], - [AC_HELP_STRING([--with-pgsql-user=NAME], [PostgreSQL database user (odb_test by default). The user must be able to login without specifying a password.])], - [case $withval in - yes) - pgsql_user=odb_test - pgsql_user_set=yes - ;; - no) - pgsql_user_set=no - ;; - *) - pgsql_user=$withval - pgsql_user_set=yes - ;; - esac], - [pgsql_user=odb_test - pgsql_user_set=yes]) - -if test x$pgsql_user_set = xyes; then - AC_MSG_RESULT(['$pgsql_user']) -else - AC_MSG_RESULT([none]) -fi - -# Database name. -# -AC_MSG_CHECKING([for pgsql database name]) -AC_ARG_WITH( - [pgsql-db], - [AC_HELP_STRING([--with-pgsql-db=NAME], [PostgreSQL database name (odb_test by default). Note that all data in this database WILL BE LOST!])], - [case $withval in - yes) - pgsql_db=odb_test - pgsql_db_set=yes - ;; - no) - pgsql_db_set=no - ;; - *) - pgsql_db=$withval - pgsql_db_set=yes - ;; - esac], - [pgsql_db=odb_test - pgsql_db_set=yes]) - -if test x$pgsql_db_set = xyes; then - AC_MSG_RESULT(['$pgsql_db']) -else - AC_MSG_RESULT([none]) -fi - -# Host. -# -AC_MSG_CHECKING([for pgsql database host]) -AC_ARG_WITH( - [pgsql-host], - [AC_HELP_STRING([--with-pgsql-host=HOST], [PostgreSQL database host (local host by default)])], - [case $withval in - yes) - pgsql_host= - pgsql_host_set=yes - ;; - no) - pgsql_host_set=no - ;; - *) - pgsql_host=$withval - pgsql_host_set=yes - ;; - esac], - [pgsql_host_set=no]) - -if test x$pgsql_host_set = xyes; then - AC_MSG_RESULT(['$pgsql_host']) -else - AC_MSG_RESULT([localhost]) -fi - -# Port. -# -AC_MSG_CHECKING([for pgsql database port]) -AC_ARG_WITH( - [pgsql-port], - [AC_HELP_STRING([--with-pgsql-port=PORT], [PostgreSQL database port (standard PostgreSQL port by default)])], - [case $withval in - yes) - pgsql_port=0 - pgsql_port_set=yes - ;; - no) - pgsql_port_set=no - ;; - *) - pgsql_port=$withval - pgsql_port_set=yes - ;; - esac], - [pgsql_port_set=no]) - -if test x$pgsql_port_set = xyes; then - AC_MSG_RESULT(['$pgsql_port']) -else - AC_MSG_RESULT([default]) -fi - -# Create options file. -# -AC_CONFIG_COMMANDS([pgsql.options], - [ - rm -f pgsql.options - echo '#! /bin/sh' >pgsql-driver - - echo 'opt=' >>pgsql-driver - - if test x$pgsql_user_set = xyes; then - echo "--username '$pgsql_user'" >>pgsql.options - echo 'opt="$opt --username='"$pgsql_user"'"' >>pgsql-driver - fi - - if test x$pgsql_db_set = xyes; then - echo "--dbname '$pgsql_db'" >>pgsql.options - echo 'opt="$opt --dbname='"$pgsql_db"'"' >>pgsql-driver - fi - - if test x$pgsql_host_set = xyes; then - echo "--host '$pgsql_host'" >>pgsql.options - echo 'opt="$opt --host='"$pgsql_host"'"' >>pgsql-driver - fi - - if test x$pgsql_port_set = xyes; then - echo "--port '$pgsql_port'" >>pgsql.options - echo 'opt="$opt --port='"$pgsql_port"'"' >>pgsql-driver - fi - - echo 'opt="$opt --quiet"' >>pgsql-driver - echo 'PGOPTIONS=--client-min-messages=warning' >>pgsql-driver - echo 'export PGOPTIONS' >>pgsql-driver - - echo 'if test x$[]1 != x; then' >>pgsql-driver - echo " exec $pgsql_client "'$opt --set ON_ERROR_STOP=1 -f $[]1' >>pgsql-driver - echo "else" >>pgsql-driver - echo " exec $pgsql_client "'$opt' >>pgsql-driver - echo "fi" >>pgsql-driver - - chmod +x pgsql-driver - ], - [ - pgsql_client="$pgsql_client" - - pgsql_user="$pgsql_user" - pgsql_user_set="$pgsql_user_set" - - pgsql_db="$pgsql_db" - pgsql_db_set="$pgsql_db_set" - - pgsql_host="$pgsql_host" - pgsql_host_set="$pgsql_host_set" - - pgsql_port="$pgsql_port" - pgsql_port_set="$pgsql_port_set" - ]) - -])dnl diff --git a/m4/sqlite.m4 b/m4/sqlite.m4 deleted file mode 100644 index 7c1a53e..0000000 --- a/m4/sqlite.m4 +++ /dev/null @@ -1,59 +0,0 @@ -dnl file : m4/sqlite.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl SQLITE -dnl -AC_DEFUN([SQLITE], [ - -# Database file. -# -AC_MSG_CHECKING([for sqlite database file]) -AC_ARG_WITH( - [sqlite-db], - [AC_HELP_STRING([--with-sqlite-db=FILE], [SQLite database file (odb-test.db by default). Note that all data in this database WILL BE LOST!])], - [case $withval in - yes) - sqlite_db=odb-test.db - sqlite_db_set=yes - ;; - no) - sqlite_db_set=no - ;; - *) - sqlite_db=$withval - sqlite_db_set=yes - ;; - esac], - [sqlite_db=odb-test.db - sqlite_db_set=yes]) - -if test x$sqlite_db_set = xyes; then - - # Make it an absolute path unless it is one of the special values. - # - if test x$sqlite_db != x -a x$sqlite_db != x:memory:; then - AS_SET_CATFILE([abs_sqlite_db], [$ac_pwd], [$sqlite_db]) - sqlite_db=$abs_sqlite_db - fi - - AC_MSG_RESULT(['$sqlite_db']) -else - AC_MSG_RESULT([none]) -fi - -# Create options file. -# -AC_CONFIG_COMMANDS([sqlite.options], - [ - rm -f sqlite.options - - if test x$sqlite_db_set = xyes; then - echo "--database '$sqlite_db'" >>sqlite.options - fi - ], - [ - sqlite_db="$sqlite_db" - sqlite_db_set="$sqlite_db_set" - ]) - -])dnl diff --git a/m4/static-lib.m4 b/m4/static-lib.m4 deleted file mode 100644 index 5fb1c11..0000000 --- a/m4/static-lib.m4 +++ /dev/null @@ -1,17 +0,0 @@ -dnl file : m4/static-lib.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl STATIC_LIB(MACRO, DESCRIPTION) -dnl -dnl Define MACRO if we are on MinGW and are only building static library. -dnl -AC_DEFUN([STATIC_LIB], -[ -if test x$enable_shared = xno; then - case $host_os in - mingw*) - AC_DEFINE([$1], [1], [$2]) - ;; - esac -fi -])dnl diff --git a/m4/threads.m4 b/m4/threads.m4 deleted file mode 100644 index 6f2e25f..0000000 --- a/m4/threads.m4 +++ /dev/null @@ -1,68 +0,0 @@ -dnl file : m4/threads.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -AC_DEFUN([THREADS],[ - -threads_thread_keyword=no - -AC_ARG_ENABLE( - [threads], - AS_HELP_STRING([--disable-threads], [disable threads (enabled by default)]), - [AS_IF([test x"$enableval" = xno], [threads=none], [threads=check])], - [threads=check]) - -# If thread support is not disabled by the user, figure out what we can use. -# -if test x$threads = xcheck; then - case $host_os in - windows* | mingw*) - case $host_os in - mingw*) - CXXFLAGS="$CXXFLAGS -mthreads" - ;; - esac - - # Newer versions of GCC can be configured to use either Win32 or POSIX - # threads. It appears that -mthreads should be used in both cases but - # if the model is POSIX then GCC will also link -lpthread by default. - # Use that fact to test which model we have. - # - AC_TRY_LINK([#include ], - [pthread_create(0,0,0,0);], - [threads=posix], - [threads=win32]) - ;; - *) - ACX_PTHREAD - - if test x$acx_pthread_ok = xyes; then - threads=posix - LIBS="$LIBS $PTHREAD_LIBS" - CXXFLAGS="$CXXFLAGS $PTHREAD_CXXFLAGS" - - # Check if we can use the __thread keyword. - # - AC_MSG_CHECKING([for __thread keyword]) - - CXX_LIBTOOL_LINK_IFELSE([ - AC_LANG_SOURCE([ - __thread int tls_var; - - int - main () - { - tls_var = 0; - } - ])], - [threads_thread_keyword=yes]) - - AC_MSG_RESULT([$threads_thread_keyword]) - fi - ;; - esac -fi - -if test x$threads = xcheck; then - AC_MSG_ERROR([thread support not available; use --disable-threads to force single-threaded mode]) -fi -])dnl diff --git a/m4/tr1-memory.m4 b/m4/tr1-memory.m4 deleted file mode 100644 index a70f397..0000000 --- a/m4/tr1-memory.m4 +++ /dev/null @@ -1,38 +0,0 @@ -dnl file : m4/tr1-memory.m4 -dnl license : GNU GPL v2; see accompanying LICENSE file -dnl -dnl TR1_MEMORY -dnl -dnl Check for TR1 availability. If successful, define HAVE_TR1_MEMORY -dnl as both a macro and conditional as well as set the tr1_memory variable -dnl to 'yes'. -dnl -AC_DEFUN([TR1_MEMORY], -[ -tr1_memory=no - -AC_MSG_CHECKING([for TR1 ]) - -CXX_LIBTOOL_LINK_IFELSE([ -AC_LANG_SOURCE([ -#include - -int -main () -{ - std::tr1::shared_ptr p (new int (10)); - *p = 11; -} -])], -[tr1_memory=yes]) - -if test x"$tr1_memory" = xyes; then - AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_TR1_MEMORY], [1], [Have TR1 .]) -else - AC_MSG_RESULT([no]) -fi - -AM_CONDITIONAL([HAVE_TR1_MEMORY], [test x$tr1_memory = xyes]) - -])dnl diff --git a/makefile b/makefile deleted file mode 100644 index 509e74b..0000000 --- a/makefile +++ /dev/null @@ -1,51 +0,0 @@ -# file : makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))build/bootstrap.make - -all_dirs := libcommon common evolution mysql sqlite pgsql oracle mssql boost qt -dirs := common boost qt - -# Evolution and database-specific tests are not run in the multi-database -# configuration. -# -ifneq ($(db_id),common) -dirs += evolution $(db_id) -endif - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(dirs))) - -$(dist): data_dist := GPLv2 LICENSE README INSTALL version test.bat \ -tester.bat mysql-driver.bat mysql.options sqlite-driver.bat \ -sqlite.options pgsql-driver.bat pgsql.options oracle.options \ -oracle-driver.bat mssql.options mssql-driver.bat -$(dist): exec_dist := bootstrap tester.in -$(dist): export extra_dist := $(data_dist) $(exec_dist) build.bat -$(dist): export version = $(shell cat $(src_root)/version) - -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_dirs))) - $(call dist-data,$(data_dist)) - $(call dist-exec,$(exec_dist)) - $(call dist-dir,m4) - $(call meta-vctest,libcommon/libcommon-mysql-vc10.sln,build.bat) - $(call meta-automake) - $(call meta-autoconf) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(dirs))) - -ifeq ($(db_id),common) -$(foreach d,$(databases),$(eval $(call db-test-dir,$d,$(dirs)))) -endif - -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(all_dirs))) - -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) -$(call include,$(bld_root)/meta/autoconf.make) - -ifneq ($(filter $(MAKECMDGOALS),dist clean),) -$(foreach d,$(all_dirs),$(call import,$(src_base)/$d/makefile)) -else -$(foreach d,$(dirs),$(call import,$(src_base)/$d/makefile)) -endif diff --git a/manifest b/manifest new file mode 100644 index 0000000..858baa7 --- /dev/null +++ b/manifest @@ -0,0 +1,48 @@ +: 1 +name: odb-tests +version: 2.5.0-b.26.z +project: odb +type: tests +language: c++ +summary: ODB compiler tests +license: GPL-2.0-only +description-file: README.md +url: https://www.codesynthesis.com/products/odb/ +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 ; Mailing list + +# @@ BUILD2 The odb dependency can only be built with GCC. However, shouldn't +# we test that the odb-generated mappings can be compiled by other +# compilers and properly run afterwards? +# +builds: default +builds: -( +windows -gcc ) ; Requires MinGW GCC. +builds: &gcc ; Requires GCC with plugin support enabled. +builds: &gcc-5+ ; Requires GCC 5 or later. +builds: -static ; Implementation uses plugins and requires -fPIC. + +depends: * build2 >= 0.16.0 +depends: * bpkg >= 0.16.0 + +depends: * odb [2.5.0-b.26.1 2.5.0-b.27) + +depends: libodb [2.5.0-b.26.1 2.5.0-b.27) +depends: libodb-mysql [2.5.0-b.26.1 2.5.0-b.27) ? ($mysql) +depends: libodb-sqlite [2.5.0-b.26.1 2.5.0-b.27) ? ($sqlite) +depends: libodb-pgsql [2.5.0-b.26.1 2.5.0-b.27) ? ($pgsql) +depends: libodb-oracle [2.5.0-b.26.1 2.5.0-b.27) ? ($oracle) +depends: libodb-mssql [2.5.0-b.26.1 2.5.0-b.27) ? ($mssql) + +# Reflect whether libodb-pgsql is likely to support bulk operations. This is +# normally the case on POSIX platforms if libodb-pgsql is linked against libpq +# of the version 14 or above. +# +depends: libpq >= 14.0.0 ? ($pgsql) config.odb_tests.pgsql.bulk_default=true | \ + libpq >= 7.4.0 ? ($pgsql) config.odb_tests.pgsql.bulk_default=false + +# @@ TODO/LATER: use an alternative to automatically detect whether we are +# using MySQL or MariaDB? But maybe we don't need to know? + +depends: mysql >= 5.0.3 ? ($mysql) +depends: psql >= 7.4.0 ? ($pgsql) diff --git a/mssql-driver.bat b/mssql-driver.bat deleted file mode 100644 index 174cbf0..0000000 --- a/mssql-driver.bat +++ /dev/null @@ -1,61 +0,0 @@ -@echo off -rem file : mssql-driver.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -rem -rem mssql-driver.bat sql-file -rem -rem Run the mssql client on the SQL file specified. Adjust the -rem options below to match your SQL Server setup. -rem - -setlocal - -set "options=%MSSQL_OPTIONS%" - -rem User. -rem -set "options=%options% -U odb_test" - -rem Password. -rem -set "options=%options% -P odb_test" - -rem Database name. -rem -set "options=%options% -d odb_test" - -rem SQL Server instance address. -rem -rem set "options=%options% -S host\instance" -rem set "options=%options% -S tcp:host,port" - -rem Standard options. -rem -set "options=%options% -x -r -b" - -set "mssql=%MSSQL_CLIENT%" - -if "_%mssql%_" == "__" set "mssql=sqlcmd" - -if "_%1_" == "__" ( - echo no sql file specified - goto usage -) - -%mssql% %options% -i %1 - -if errorlevel 1 goto error -goto end - -:usage -echo. -echo usage: mssql-driver.bat sql-file -echo. - -:error -endlocal -exit /b 1 - -:end -endlocal diff --git a/mssql.options b/mssql.options deleted file mode 100644 index 6e201e2..0000000 --- a/mssql.options +++ /dev/null @@ -1,10 +0,0 @@ -# Sample Microsoft SQL Server options file used to run the tests. Adjust to -# match your SQL Server setup. -# - ---user odb_test ---password odb_test ---database odb_test -# --server host\instance -# --server tcp:host,port -# --driver diff --git a/mssql/Makefile.am b/mssql/Makefile.am deleted file mode 100644 index 3df7091..0000000 --- a/mssql/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : mssql/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/mssql/custom/makefile b/mssql/custom/makefile deleted file mode 100644 index 5d8d5ae..0000000 --- a/mssql/custom/makefile +++ /dev/null @@ -1,111 +0,0 @@ -# file : mssql/custom/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx traits.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mssql --default-database \ -common --generate-schema --generate-query --hxx-prologue \ -'\#include "traits.hxx"' --hxx-prologue '\#include "query.hxx"' \ ---sql-interlude ":r $(src_base)/custom.sql" --table-prefix mssql_custom_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := traits.hxx query.hxx -$(dist): export extra_sources := $(filter-out driver.cxx,$(cxx_tun)) -$(dist): data_dist := test.std custom.sql -$(dist): export name := $(subst /,-,$(subst $(src_root)/mssql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/mssql/custom/test.std b/mssql/custom/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/mssql/database/makefile b/mssql/database/makefile deleted file mode 100644 index 58b9702..0000000 --- a/mssql/database/makefile +++ /dev/null @@ -1,83 +0,0 @@ -# file : mssql/database/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/mssql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/mssql/database/test.std b/mssql/database/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/mssql/makefile b/mssql/makefile deleted file mode 100644 index 05f25f0..0000000 --- a/mssql/makefile +++ /dev/null @@ -1,41 +0,0 @@ -# file : mssql/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make - -tests := \ -template \ -custom \ -database \ -native \ -query \ -stored-proc \ -types - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) - -$(dist): name := mssql -$(dist): export dirs := $(tests) -$(dist): export extra_dist := $(name)-vc8.sln $(name)-vc9.sln \ -$(name)-vc10.sln $(name)-vc11.sln $(name)-vc12.sln test.bat -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests))) - $(call meta-automake) - $(call meta-vc8sln1,$(name)) - $(call meta-vc9sln1,$(name)) - $(call meta-vc10sln1,$(name)) - $(call meta-vc11sln1,$(name)) - $(call meta-vc12sln1,$(name)) - $(call meta-vctest,$(name)-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/mssql/native/makefile b/mssql/native/makefile deleted file mode 100644 index ac27130..0000000 --- a/mssql/native/makefile +++ /dev/null @@ -1,83 +0,0 @@ -# file : mssql/native/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/mssql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/mssql/native/test.std b/mssql/native/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/mssql/query/makefile b/mssql/query/makefile deleted file mode 100644 index 269a7f7..0000000 --- a/mssql/query/makefile +++ /dev/null @@ -1,108 +0,0 @@ -# file : mssql/query/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mssql --default-database \ -common --generate-schema --generate-query --mssql-server-version 9.0 \ ---table-prefix mssql_query_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/mssql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/mssql/query/test.std b/mssql/query/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/mssql/stored-proc/makefile b/mssql/stored-proc/makefile deleted file mode 100644 index c787dc0..0000000 --- a/mssql/stored-proc/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : mssql/stored-proc/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mssql --default-database \ -common --generate-schema --generate-query --table-prefix mssql_stored_proc_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/mssql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/mssql/stored-proc/test.std b/mssql/stored-proc/test.std deleted file mode 100644 index 6635bcc..0000000 --- a/mssql/stored-proc/test.std +++ /dev/null @@ -1,17 +0,0 @@ -1 a -2 b -3 c - -a -b - -1 3 - -4 d - -5 e - -123 6 - -123 7 - diff --git a/mssql/template/Makefile.am b/mssql/template/Makefile.am deleted file mode 100644 index 8db5c16..0000000 --- a/mssql/template/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# file : mssql/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) m4_patsubst(__value__(odb_options), __value__(src_base), $(srcdir)) $< -) diff --git a/mssql/template/makefile b/mssql/template/makefile deleted file mode 100644 index 18a665d..0000000 --- a/mssql/template/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : mssql/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mssql --default-database \ -common --generate-schema --table-prefix mssql_template_ #@@ CHANGE THIS -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/mssql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/mssql/template/test.std b/mssql/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/mssql/test.bat b/mssql/test.bat deleted file mode 100644 index 4da8fa5..0000000 --- a/mssql/test.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -rem file : mssql/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat mssql %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/mssql/types/makefile b/mssql/types/makefile deleted file mode 100644 index 5b96d57..0000000 --- a/mssql/types/makefile +++ /dev/null @@ -1,109 +0,0 @@ -# file : mssql/types/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mssql --default-database \ -common --generate-schema --generate-query --hxx-prologue \ -'\#include "traits.hxx"' --table-prefix mssql_types_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := traits.hxx -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/mssql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/mssql/types/test.std b/mssql/types/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/mysql-driver.bat b/mysql-driver.bat deleted file mode 100644 index 8dde6f9..0000000 --- a/mysql-driver.bat +++ /dev/null @@ -1,46 +0,0 @@ -@echo off -rem file : mysql-driver.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -rem -rem mysql-driver.bat sql-file -rem -rem Run the mysql client on the SQL file specified. Adjust the -rem options below to match your MySQL setup. -rem - -setlocal - -set "options=%MYSQL_OPTIONS%" -set "options=%options% --user=odb_test" -set "options=%options% --database=odb_test" -rem set "options=%options% --password=" -rem set "options=%options% --host=" -rem set "options=%options% --port=" -rem set "options=%options% --socket=" - -set "mysql=%MYSQL_CLIENT%" - -if "_%mysql%_" == "__" set "mysql=mysql" - -if "_%1_" == "__" ( - echo no sql file specified - goto usage -) - -%mysql% %options% < %1 - -if errorlevel 1 goto error -goto end - -:usage -echo. -echo usage: mysql-driver.bat sql-file -echo. - -:error -endlocal -exit /b 1 - -:end -endlocal diff --git a/mysql-schema.testscript b/mysql-schema.testscript new file mode 100644 index 0000000..dfa7852 --- /dev/null +++ b/mysql-schema.testscript @@ -0,0 +1,9 @@ +# file : mysql-schema.testscript +# license : GNU GPL v2; see accompanying LICENSE file + +# Create the MySQL database schema creation canned command base. +# +create_schema_cmd = [cmdline] \ + $mysql_client_cmd 2>&1 | \ + sed -e "'"'s/^mysql: \[Warning\] Using a password on the command .*//'"'" | \ + sed -n -e "'"'s/(.+)/\1/p'"'" >&2 diff --git a/mysql.options b/mysql.options deleted file mode 100644 index fe79a7c..0000000 --- a/mysql.options +++ /dev/null @@ -1,10 +0,0 @@ -# Sample MySQL options file used to run the tests. Adjust to -# match your MySQL setup. -# - ---user odb_test ---database odb_test -# --password -# --host -# --port -# --socket diff --git a/mysql.testscript b/mysql.testscript new file mode 100644 index 0000000..e218ece --- /dev/null +++ b/mysql.testscript @@ -0,0 +1,12 @@ +# file : mysql.testscript +# license : GNU GPL v2; see accompanying LICENSE file + +# Create the MySQL database schema creation canned command and setup the test +# driver command line for the subsequent tests. +# +.include mysql-schema.testscript + +schema_file = [path] $out_base/"$schema"($multi ? '-mysql' : '').sql +create_schema = [cmdline] cat "'""$schema_file""'" | $create_schema_cmd + +test.arguments += ($multi ? 'mysql' : ) $mysql_options diff --git a/mysql/Makefile.am b/mysql/Makefile.am deleted file mode 100644 index 05ffc60..0000000 --- a/mysql/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : mysql/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/mysql/custom/buildfile b/mysql/custom/buildfile new file mode 100644 index 0000000..4934e7c --- /dev/null +++ b/mysql/custom/buildfile @@ -0,0 +1,37 @@ +# file : mysql/custom/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($mysql && !$multi || $build.meta_operation == 'dist') \ +"mysql should be configured via config.odb_tests.database variable as a single database" + +import libodb = libodb%lib{odb} + +import libs = libodb-mysql%lib{odb-mysql} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix mysql_custom_ \ + --generate-schema \ + --default-database common \ + --generate-query \ + --hxx-prologue '#include "traits.hxx"' \ + --hxx-prologue '#include "query.hxx"' + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{mysql-client}: include = adhoc diff --git a/mysql/custom/driver.cxx b/mysql/custom/driver.cxx index e9cc7d9..526dbdc 100644 --- a/mysql/custom/driver.cxx +++ b/mysql/custom/driver.cxx @@ -4,18 +4,20 @@ // Test custom database type mapping in MySQL. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace mysql = odb::mysql; using namespace mysql; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); object o (1); o.p = point (1.1111, 2222222222.2); @@ -48,7 +50,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); t.commit (); assert (o == *o1); @@ -101,7 +103,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); t.commit (); assert (o == *o1); diff --git a/mysql/custom/makefile b/mysql/custom/makefile deleted file mode 100644 index 575cfa6..0000000 --- a/mysql/custom/makefile +++ /dev/null @@ -1,110 +0,0 @@ -# file : mysql/custom/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mysql --default-database \ -common --generate-schema --generate-query --hxx-prologue \ -'\#include "traits.hxx"' --hxx-prologue '\#include "query.hxx"' \ ---table-prefix mysql_custom_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := traits.hxx query.hxx -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/mysql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/mysql/custom/query.hxx b/mysql/custom/query.hxx index aa0c9ed..2fa8f73 100644 --- a/mysql/custom/query.hxx +++ b/mysql/custom/query.hxx @@ -128,8 +128,8 @@ namespace odb public: query_column (const char* table, const char* column, const char* conv) : table_ (table), column_ (column), conversion_ (conv), - x_table_ ("X(" + std::string (table)), // @@ Not very clean. - y_table_ ("Y(" + std::string (table)), + x_table_ ("ST_X(" + std::string (table)), // @@ Not very clean. + y_table_ ("ST_Y(" + std::string (table)), s_column_ (std::string (column) + ")"), // X & Y column suffix. x (x_table_.c_str (), s_column_.c_str (), 0), y (y_table_.c_str (), s_column_.c_str (), 0) diff --git a/mysql/custom/test.hxx b/mysql/custom/test.hxx index b6c2c86..82cc59d 100644 --- a/mysql/custom/test.hxx +++ b/mysql/custom/test.hxx @@ -13,8 +13,8 @@ // #pragma db map type("GEOMETRY") \ as("VARCHAR(256)") \ - to("GeomFromText((?))") \ - from("AsText((?))") + to("ST_GeomFromText((?))") \ + from("ST_AsText((?))") #pragma db value type("GEOMETRY") struct point diff --git a/mysql/custom/test.std b/mysql/custom/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/mysql/custom/testscript b/mysql/custom/testscript new file mode 100644 index 0000000..9bc8839 --- /dev/null +++ b/mysql/custom/testscript @@ -0,0 +1,11 @@ +# file : mysql/custom/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../mysql.testscript + ++$create_schema + +: basics +: +$* diff --git a/mysql/custom/traits.hxx b/mysql/custom/traits.hxx index 9c9ec93..5386d86 100644 --- a/mysql/custom/traits.hxx +++ b/mysql/custom/traits.hxx @@ -16,7 +16,7 @@ namespace odb { namespace mysql { - template <> + template <> class value_traits { public: @@ -79,7 +79,7 @@ namespace odb struct conversion { - static const char* to () {return "GeomFromText((?))";} + static const char* to () {return "ST_GeomFromText((?))";} }; }; } diff --git a/mysql/database/buildfile b/mysql/database/buildfile new file mode 100644 index 0000000..304034e --- /dev/null +++ b/mysql/database/buildfile @@ -0,0 +1,11 @@ +# file : mysql/database/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($mysql && !$multi || $build.meta_operation == 'dist') \ +"mysql should be configured via config.odb_tests.database variable as a single database" + +import libs = libodb-mysql%lib{odb-mysql} + +exe{driver}: {hxx cxx}{*} $libs testscript + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/mysql/database/driver.cxx b/mysql/database/driver.cxx index aebb251..525ee87 100644 --- a/mysql/database/driver.cxx +++ b/mysql/database/driver.cxx @@ -8,6 +8,9 @@ #include +#undef NDEBUG +#include + using std::string; namespace mysql = odb::mysql; using namespace mysql; diff --git a/mysql/database/makefile b/mysql/database/makefile deleted file mode 100644 index 746fc9e..0000000 --- a/mysql/database/makefile +++ /dev/null @@ -1,83 +0,0 @@ -# file : mysql/database/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/mysql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/mysql/database/test.std b/mysql/database/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/mysql/database/testscript b/mysql/database/testscript new file mode 100644 index 0000000..c2ff256 --- /dev/null +++ b/mysql/database/testscript @@ -0,0 +1,6 @@ +# file : mysql/database/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +: basics +: +$* diff --git a/mysql/index/buildfile b/mysql/index/buildfile new file mode 100644 index 0000000..9cadce3 --- /dev/null +++ b/mysql/index/buildfile @@ -0,0 +1,34 @@ +# file : mysql/index/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($mysql && !$multi || $build.meta_operation == 'dist') \ +"mysql should be configured via config.odb_tests.database variable as a single database" + +import libodb = libodb%lib{odb} + +import libs = libodb-mysql%lib{odb-mysql} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix mysql_index_ \ + --generate-schema \ + --default-database common + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{mysql-client}: include = adhoc diff --git a/mysql/index/driver.cxx b/mysql/index/driver.cxx index 99138d3..4d0b7ad 100644 --- a/mysql/index/driver.cxx +++ b/mysql/index/driver.cxx @@ -4,18 +4,20 @@ // Test MySQL index creation. See also the common test. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace mysql = odb::mysql; using namespace mysql; @@ -27,7 +29,7 @@ main (int argc, char* argv[]) { // This is just a schema creation test. // - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); { transaction t (db->begin ()); diff --git a/mysql/index/makefile b/mysql/index/makefile deleted file mode 100644 index 4bca75c..0000000 --- a/mysql/index/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : mysql/index/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mysql --default-database \ -common --generate-schema --table-prefix mysql_index_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/mysql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/mysql/index/test.std b/mysql/index/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/mysql/index/testscript b/mysql/index/testscript new file mode 100644 index 0000000..26dfc4f --- /dev/null +++ b/mysql/index/testscript @@ -0,0 +1,11 @@ +# file : mysql/index/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../mysql.testscript + ++$create_schema + +: basics +: +$* diff --git a/mysql/makefile b/mysql/makefile deleted file mode 100644 index a4b86a0..0000000 --- a/mysql/makefile +++ /dev/null @@ -1,41 +0,0 @@ -# file : mysql/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make - -tests := \ -template \ -custom \ -database \ -index \ -native \ -truncation \ -types - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) - -$(dist): name := mysql -$(dist): export dirs := $(tests) -$(dist): export extra_dist := $(name)-vc8.sln $(name)-vc9.sln \ -$(name)-vc10.sln $(name)-vc11.sln $(name)-vc12.sln test.bat -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests))) - $(call meta-automake) - $(call meta-vc8sln1,$(name)) - $(call meta-vc9sln1,$(name)) - $(call meta-vc10sln1,$(name)) - $(call meta-vc11sln1,$(name)) - $(call meta-vc12sln1,$(name)) - $(call meta-vctest,$(name)-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/mysql/native/buildfile b/mysql/native/buildfile new file mode 100644 index 0000000..57c3c30 --- /dev/null +++ b/mysql/native/buildfile @@ -0,0 +1,16 @@ +# file : mysql/native/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($mysql && !$multi || $build.meta_operation == 'dist') \ +"mysql should be configured via config.odb_tests.database variable as a single database" + +import libs = libodb-mysql%lib{odb-mysql} +import libs += lib{common} + +exe{driver}: {hxx cxx}{*} $libs testscript + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{mysql-client}: include = adhoc diff --git a/mysql/native/driver.cxx b/mysql/native/driver.cxx index 0a7dffb..9b34fd2 100644 --- a/mysql/native/driver.cxx +++ b/mysql/native/driver.cxx @@ -4,14 +4,16 @@ // Test native SQL execution. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include + +#undef NDEBUG +#include using namespace std; namespace mysql = odb::mysql; @@ -22,7 +24,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); // Create the database schema. // diff --git a/mysql/native/makefile b/mysql/native/makefile deleted file mode 100644 index f3bf417..0000000 --- a/mysql/native/makefile +++ /dev/null @@ -1,83 +0,0 @@ -# file : mysql/native/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/mysql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/mysql/native/test.std b/mysql/native/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/mysql/native/testscript b/mysql/native/testscript new file mode 100644 index 0000000..21327ff --- /dev/null +++ b/mysql/native/testscript @@ -0,0 +1,9 @@ +# file : mysql/native/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../mysql.testscript + +: basics +: +$* diff --git a/mysql/template/Makefile.am b/mysql/template/Makefile.am deleted file mode 100644 index 2568e1e..0000000 --- a/mysql/template/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# file : mysql/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< -) diff --git a/mysql/template/driver.cxx b/mysql/template/driver.cxx deleted file mode 100644 index 7034a95..0000000 --- a/mysql/template/driver.cxx +++ /dev/null @@ -1,40 +0,0 @@ -// file : mysql/template/driver.cxx -// license : GNU GPL v2; see accompanying LICENSE file - -// PLACE TEST DESCRIPTION HERE -// - -#include // std::auto_ptr -#include -#include - -#include -#include - -#include - -#include "test.hxx" -#include "test-odb.hxx" - -using namespace std; -namespace mysql = odb::mysql; -using namespace mysql; - -int -main (int argc, char* argv[]) -{ - try - { - auto_ptr db (create_specific_database (argc, argv)); - - { - transaction t (db->begin ()); - t.commit (); - } - } - catch (const odb::exception& e) - { - cerr << e.what () << endl; - return 1; - } -} diff --git a/mysql/template/makefile b/mysql/template/makefile deleted file mode 100644 index 9ed17ca..0000000 --- a/mysql/template/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : mysql/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mysql --default-database \ -common --generate-schema --table-prefix mysql_template_ #@@ CHANGE THIS -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/mysql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/mysql/template/template-vc10.vcxproj b/mysql/template/template-vc10.vcxproj deleted file mode 100644 index 0da2efe..0000000 --- a/mysql/template/template-vc10.vcxproj +++ /dev/null @@ -1,180 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {__uuid__()} - Win32Proj - __value__(name) - - - - Application - true - Unicode - - - Application - true - Unicode - - - Application - false - true - Unicode - - - Application - false - true - Unicode - - - - - - - - - - - - - - - - - - - true - $(Configuration)\ - driver - - - true - $(Platform)\$(Configuration)\ - driver - - - false - $(Configuration)\ - driver - - - false - $(Platform)\$(Configuration)\ - driver - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common-d.lib;odb-mysql-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common-d.lib;odb-mysql-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common.lib;odb-mysql.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common.lib;odb-mysql.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - -__ifelse__(__value__(odb_options),,, -m4_dnl - -__custom_build_entry__( -test.hxx, -odb test.hxx, -odb.exe --std c++11 __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1600 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) - ) - -__ifelse__(__value__(odb_options),,, -__header_entry__(test-odb.hxx) -__header_entry__(test-odb.ixx)) -__header_entries__(extra_headers) - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - - - - - diff --git a/mysql/template/template-vc10.vcxproj.filters b/mysql/template/template-vc10.vcxproj.filters deleted file mode 100644 index 8ac18a3..0000000 --- a/mysql/template/template-vc10.vcxproj.filters +++ /dev/null @@ -1,25 +0,0 @@ - - - - - {__uuid__()} - cxx - - - {__uuid__()} - h;hxx;ixx;txx - - - -__ifelse__(__value__(odb_options),,, -__header_filter_entry__(test.hxx) -__header_filter_entry__(test-odb.hxx) -__header_filter_entry__(test-odb.ixx)) -__header_filter_entries__(extra_headers) - - -__source_filter_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_filter_entry__(test-odb.cxx)) -__source_filter_entries__(extra_sources) - - \ No newline at end of file diff --git a/mysql/template/template-vc11.vcxproj b/mysql/template/template-vc11.vcxproj deleted file mode 100644 index 5fb45bb..0000000 --- a/mysql/template/template-vc11.vcxproj +++ /dev/null @@ -1,184 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {__uuid__()} - Win32Proj - __value__(name) - - - - Application - true - v110 - Unicode - - - Application - true - v110 - Unicode - - - Application - false - v110 - true - Unicode - - - Application - false - v110 - true - Unicode - - - - - - - - - - - - - - - - - - - true - $(Configuration)\ - driver - - - true - $(Platform)\$(Configuration)\ - driver - - - false - $(Configuration)\ - driver - - - false - $(Platform)\$(Configuration)\ - driver - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common-d.lib;odb-mysql-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common-d.lib;odb-mysql-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common.lib;odb-mysql.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common.lib;odb-mysql.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - -__ifelse__(__value__(odb_options),,, -m4_dnl - -__custom_build_entry__( -test.hxx, -odb test.hxx, -odb.exe --std c++11 __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1700 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) - ) - -__ifelse__(__value__(odb_options),,, -__header_entry__(test-odb.hxx) -__header_entry__(test-odb.ixx)) -__header_entries__(extra_headers) - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - - - - - diff --git a/mysql/template/template-vc11.vcxproj.filters b/mysql/template/template-vc11.vcxproj.filters deleted file mode 100644 index 8ac18a3..0000000 --- a/mysql/template/template-vc11.vcxproj.filters +++ /dev/null @@ -1,25 +0,0 @@ - - - - - {__uuid__()} - cxx - - - {__uuid__()} - h;hxx;ixx;txx - - - -__ifelse__(__value__(odb_options),,, -__header_filter_entry__(test.hxx) -__header_filter_entry__(test-odb.hxx) -__header_filter_entry__(test-odb.ixx)) -__header_filter_entries__(extra_headers) - - -__source_filter_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_filter_entry__(test-odb.cxx)) -__source_filter_entries__(extra_sources) - - \ No newline at end of file diff --git a/mysql/template/template-vc12.vcxproj b/mysql/template/template-vc12.vcxproj deleted file mode 100644 index 32e2930..0000000 --- a/mysql/template/template-vc12.vcxproj +++ /dev/null @@ -1,188 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {__uuid__()} - Win32Proj - __value__(name) - - - - Application - true - v120 - Unicode - - - Application - true - v120 - Unicode - - - Application - false - v120 - true - Unicode - - - Application - false - v120 - true - Unicode - - - - - - - - - - - - - - - - - - - true - $(Configuration)\ - driver - - - true - $(Platform)\$(Configuration)\ - driver - - - false - $(Configuration)\ - driver - - - false - $(Platform)\$(Configuration)\ - driver - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib\common-d.lib;odb-mysql-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib64\common-d.lib;odb-mysql-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib\common.lib;odb-mysql.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib64\common.lib;odb-mysql.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - -__ifelse__(__value__(odb_options),,, -m4_dnl - -__custom_build_entry__( -test.hxx, -odb test.hxx, -odb.exe --std c++11 __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1700 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) - ) - -__ifelse__(__value__(odb_options),,, -__header_entry__(test-odb.hxx) -__header_entry__(test-odb.ixx)) -__header_entries__(extra_headers) - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - - - - - diff --git a/mysql/template/template-vc12.vcxproj.filters b/mysql/template/template-vc12.vcxproj.filters deleted file mode 100644 index 8ac18a3..0000000 --- a/mysql/template/template-vc12.vcxproj.filters +++ /dev/null @@ -1,25 +0,0 @@ - - - - - {__uuid__()} - cxx - - - {__uuid__()} - h;hxx;ixx;txx - - - -__ifelse__(__value__(odb_options),,, -__header_filter_entry__(test.hxx) -__header_filter_entry__(test-odb.hxx) -__header_filter_entry__(test-odb.ixx)) -__header_filter_entries__(extra_headers) - - -__source_filter_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_filter_entry__(test-odb.cxx)) -__source_filter_entries__(extra_sources) - - \ No newline at end of file diff --git a/mysql/template/template-vc8.vcproj b/mysql/template/template-vc8.vcproj deleted file mode 100644 index afe88c4..0000000 --- a/mysql/template/template-vc8.vcproj +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - - -__ifelse__(__value__(odb_options),,, -__file_entry_custom_build__( -test.hxx, -odb test.hxx, -odb.exe __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1400 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) -__file_entry__(test-odb.hxx) -__file_entry__(test-odb.ixx)) -__file_entries__(extra_headers) - - - - - diff --git a/mysql/template/template-vc9.vcproj b/mysql/template/template-vc9.vcproj deleted file mode 100644 index 58e1a54..0000000 --- a/mysql/template/template-vc9.vcproj +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - - -__ifelse__(__value__(odb_options),,, -__file_entry_custom_build__( -test.hxx, -odb test.hxx, -odb.exe __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1500 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) -__file_entry__(test-odb.hxx) -__file_entry__(test-odb.ixx)) -__file_entries__(extra_headers) - - - - - diff --git a/mysql/template/test.hxx b/mysql/template/test.hxx deleted file mode 100644 index 5f16f63..0000000 --- a/mysql/template/test.hxx +++ /dev/null @@ -1,25 +0,0 @@ -// file : mysql/template/test.hxx -// license : GNU GPL v2; see accompanying LICENSE file - -#ifndef TEST_HXX -#define TEST_HXX - -#include - -#pragma db object -struct object -{ - object (unsigned long id) - : id_ (id) - { - } - - object () - { - } - - #pragma db id - unsigned long id_; -}; - -#endif // TEST_HXX diff --git a/mysql/template/test.std b/mysql/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/mysql/test.bat b/mysql/test.bat deleted file mode 100644 index f9d3af0..0000000 --- a/mysql/test.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -rem file : mysql/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat mysql %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/mysql/truncation/buildfile b/mysql/truncation/buildfile new file mode 100644 index 0000000..fbd936b --- /dev/null +++ b/mysql/truncation/buildfile @@ -0,0 +1,35 @@ +# file : mysql/truncation/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($mysql && !$multi || $build.meta_operation == 'dist') \ +"mysql should be configured via config.odb_tests.database variable as a single database" + +import libodb = libodb%lib{odb} + +import libs = libodb-mysql%lib{odb-mysql} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix mysql_truncation_ \ + --generate-schema \ + --default-database common \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{mysql-client}: include = adhoc diff --git a/mysql/truncation/driver.cxx b/mysql/truncation/driver.cxx index 9f044e6..21084f5 100644 --- a/mysql/truncation/driver.cxx +++ b/mysql/truncation/driver.cxx @@ -4,19 +4,21 @@ // Test insufficient buffer/truncation handling. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace mysql = odb::mysql; using namespace mysql; @@ -34,7 +36,7 @@ main (int argc, char* argv[]) // Test basic operations. // { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); // Run persist/load so that the initial bindings are established // (version == 0). @@ -72,7 +74,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o (db->load (3)); + unique_ptr o (db->load (3)); assert (o->str_ == long_str); t.commit (); } @@ -90,7 +92,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o (db->load (3)); + unique_ptr o (db->load (3)); assert (o->str_ == longer_str); t.commit (); } @@ -102,7 +104,7 @@ main (int argc, char* argv[]) typedef mysql::query query; typedef odb::result result; - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); // Run persist/query so that the initial bindings are established // (version == 0). @@ -157,7 +159,7 @@ main (int argc, char* argv[]) // Test containers. // { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); // Use different connections to persist and load the object. // @@ -175,7 +177,7 @@ main (int argc, char* argv[]) { transaction t (c2->begin ()); - auto_ptr p (db->load (1)); + unique_ptr p (db->load (1)); t.commit (); assert (p->vec_ == o.vec_); diff --git a/mysql/truncation/makefile b/mysql/truncation/makefile deleted file mode 100644 index 358a136..0000000 --- a/mysql/truncation/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : mysql/truncation/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mysql --default-database \ -common --generate-schema --generate-query --table-prefix mysql_truncation_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/mysql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/mysql/truncation/test.std b/mysql/truncation/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/mysql/truncation/testscript b/mysql/truncation/testscript new file mode 100644 index 0000000..b9b6792 --- /dev/null +++ b/mysql/truncation/testscript @@ -0,0 +1,11 @@ +# file : mysql/truncation/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../mysql.testscript + ++$create_schema + +: basics +: +$* diff --git a/mysql/types/buildfile b/mysql/types/buildfile new file mode 100644 index 0000000..112a81f --- /dev/null +++ b/mysql/types/buildfile @@ -0,0 +1,36 @@ +# file : mysql/types/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($mysql && !$multi || $build.meta_operation == 'dist') \ +"mysql should be configured via config.odb_tests.database variable as a single database" + +import libodb = libodb%lib{odb} + +import libs = libodb-mysql%lib{odb-mysql} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix mysql_types_ \ + --generate-schema \ + --default-database common \ + --generate-query \ + --hxx-prologue '#include "traits.hxx"' + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{mysql-client}: include = adhoc diff --git a/mysql/types/driver.cxx b/mysql/types/driver.cxx index 04c8ebf..2354b04 100644 --- a/mysql/types/driver.cxx +++ b/mysql/types/driver.cxx @@ -4,18 +4,20 @@ // Test MySQL type conversion. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace mysql = odb::mysql; using namespace mysql; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); mysql_version v; { @@ -124,7 +126,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); t.commit (); assert (o == *o1); @@ -147,9 +149,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (1)); - auto_ptr p2 (db->load (2)); - auto_ptr p3 (db->load (3)); + unique_ptr p1 (db->load (1)); + unique_ptr p2 (db->load (2)); + unique_ptr p3 (db->load (3)); t.commit (); assert (o1 == *p1); diff --git a/mysql/types/makefile b/mysql/types/makefile deleted file mode 100644 index 779f9b1..0000000 --- a/mysql/types/makefile +++ /dev/null @@ -1,109 +0,0 @@ -# file : mysql/types/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mysql --default-database \ -common --generate-schema --generate-query --hxx-prologue \ -'\#include "traits.hxx"' --table-prefix mysql_types_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := traits.hxx -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/mysql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/mysql/types/test.hxx b/mysql/types/test.hxx index 12eb4e0..82f7496 100644 --- a/mysql/types/test.hxx +++ b/mysql/types/test.hxx @@ -7,7 +7,7 @@ #include #include #include -#include // std::auto_ptr +#include // std::unique_ptr #include // std::memcpy, std::str[n]cmp, std::strlen #include @@ -84,7 +84,7 @@ operator== (bitfield x, bitfield y) #pragma db value(bitfield) type ("BIT(4)") typedef std::set set; -typedef std::auto_ptr string_ptr; +typedef std::unique_ptr string_ptr; enum color {red, green, blue}; diff --git a/mysql/types/test.std b/mysql/types/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/mysql/types/testscript b/mysql/types/testscript new file mode 100644 index 0000000..2962d1c --- /dev/null +++ b/mysql/types/testscript @@ -0,0 +1,11 @@ +# file : mysql/types/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../mysql.testscript + ++$create_schema + +: basics +: +$* diff --git a/oracle-driver.bat b/oracle-driver.bat deleted file mode 100644 index cf08e46..0000000 --- a/oracle-driver.bat +++ /dev/null @@ -1,42 +0,0 @@ -@echo off -rem file : oracle-driver.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -rem -rem oracle-driver.bat sql-file -rem -rem Run the oracle client on the SQL file specified. Adjust the -rem options below to match your Oracle setup. -rem - -setlocal - -set "options=%ORACLE_OPTIONS% -L -S" -set "options=%options% odb_test/odb_test" -rem set "options=%options% odb_test/odb_test@//192.168.0.5:1521/xe" - -set "oracle=%ORACLE_CLIENT%" - -if "_%oracle%_" == "__" set "oracle=sqlplus" - -if "_%1_" == "__" ( - echo no sql file specified - goto usage -) - -%oracle% %options% @%1 - -if errorlevel 1 goto error -goto end - -:usage -echo. -echo usage: oracle-driver.bat sql-file -echo. - -:error -endlocal -exit /b 1 - -:end -endlocal diff --git a/oracle.options b/oracle.options deleted file mode 100644 index f01413e..0000000 --- a/oracle.options +++ /dev/null @@ -1,9 +0,0 @@ -# Sample Oracle options file used to run the tests. Adjust to -# match your Oracle setup. -# - ---user odb_test ---password odb_test -# --host -# --port -# --service diff --git a/oracle/Makefile.am b/oracle/Makefile.am deleted file mode 100644 index e3f50e7..0000000 --- a/oracle/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : oracle/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/oracle/custom/makefile b/oracle/custom/makefile deleted file mode 100644 index 63e3a32..0000000 --- a/oracle/custom/makefile +++ /dev/null @@ -1,110 +0,0 @@ -# file : oracle/custom/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database oracle --default-database \ -common --generate-schema --generate-query --hxx-prologue \ -'\#include "traits.hxx"' --sql-interlude "@ $(src_base)/custom.sql" \ ---table-prefix oracle_custom_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := traits.hxx -$(dist): data_dist := test.std custom.sql -$(dist): export name := $(subst /,-,$(subst $(src_root)/oracle/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/oracle/custom/test.std b/oracle/custom/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/oracle/database/makefile b/oracle/database/makefile deleted file mode 100644 index 0554681..0000000 --- a/oracle/database/makefile +++ /dev/null @@ -1,83 +0,0 @@ -# file : oracle/database/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/oracle/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/oracle/database/test.std b/oracle/database/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/oracle/makefile b/oracle/makefile deleted file mode 100644 index cb457a3..0000000 --- a/oracle/makefile +++ /dev/null @@ -1,39 +0,0 @@ -# file : oracle/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make - -tests := \ -template \ -custom \ -database \ -native \ -types - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) - -$(dist): name := oracle -$(dist): export dirs := $(tests) -$(dist): export extra_dist := $(name)-vc8.sln $(name)-vc9.sln \ -$(name)-vc10.sln $(name)-vc11.sln $(name)-vc12.sln test.bat -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests))) - $(call meta-automake) - $(call meta-vc8sln1,$(name)) - $(call meta-vc9sln1,$(name)) - $(call meta-vc10sln1,$(name)) - $(call meta-vc11sln1,$(name)) - $(call meta-vc12sln1,$(name)) - $(call meta-vctest,$(name)-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/oracle/native/makefile b/oracle/native/makefile deleted file mode 100644 index 195fb62..0000000 --- a/oracle/native/makefile +++ /dev/null @@ -1,83 +0,0 @@ -# file : oracle/native/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/oracle/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/oracle/native/test.std b/oracle/native/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/oracle/template/Makefile.am b/oracle/template/Makefile.am deleted file mode 100644 index b3b60e9..0000000 --- a/oracle/template/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# file : oracle/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) m4_patsubst(__value__(odb_options), __value__(src_base), $(srcdir)) $< -) diff --git a/oracle/template/makefile b/oracle/template/makefile deleted file mode 100644 index e2a64f7..0000000 --- a/oracle/template/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : oracle/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database oracle --default-database \ -common --generate-schema --table-prefix oracle_template_ #@@ CHANGE THIS -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/oracle/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/oracle/template/test.std b/oracle/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/oracle/test.bat b/oracle/test.bat deleted file mode 100644 index 5105054..0000000 --- a/oracle/test.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -rem file : oracle/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat oracle %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/oracle/types/makefile b/oracle/types/makefile deleted file mode 100644 index 5378617..0000000 --- a/oracle/types/makefile +++ /dev/null @@ -1,109 +0,0 @@ -# file : oracle/types/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database oracle --default-database \ -common --generate-schema --generate-query --hxx-prologue \ -'\#include "traits.hxx"' --table-prefix oracle_types_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := traits.hxx -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/oracle/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/oracle/types/test.std b/oracle/types/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/pgsql-driver.bat b/pgsql-driver.bat deleted file mode 100644 index 5240bc5..0000000 --- a/pgsql-driver.bat +++ /dev/null @@ -1,50 +0,0 @@ -@echo off -rem file : pgsql-driver.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -rem -rem pgsql-driver.bat sql-file -rem -rem Run the pgsql client on the SQL file specified. Adjust the -rem options below to match your PostgreSQL setup. -rem - -setlocal - -set "options=%PGSQL_OPTIONS%" - -rem This user must be able to login without specifying a password. -rem -set "options=%options% --username=odb_test" - -set "options=%options% --dbname=odb_test" -rem set "options=%options% --host=" -rem set "options=%options% --port=" -set "options=%options% --quiet" -set "PGOPTIONS=--client-min-messages=warning" - -set "pgsql=%PGSQL_CLIENT%" - -if "_%pgsql%_" == "__" set "pgsql=psql" - -if "_%1_" == "__" ( - echo no sql file specified - goto usage -) - -%pgsql% %options% < %1 - -if errorlevel 1 goto error -goto end - -:usage -echo. -echo usage: pgsql-driver.bat sql-file -echo. - -:error -endlocal -exit /b 1 - -:end -endlocal diff --git a/pgsql-schema.testscript b/pgsql-schema.testscript new file mode 100644 index 0000000..8659bcd --- /dev/null +++ b/pgsql-schema.testscript @@ -0,0 +1,6 @@ +# file : pgsql-schema.testscript +# license : GNU GPL v2; see accompanying LICENSE file + +# Create the PostgreSQL database schema creation canned command base. +# +create_schema_cmd = [cmdline] $pgsql_client_cmd diff --git a/pgsql.options b/pgsql.options deleted file mode 100644 index 841de56..0000000 --- a/pgsql.options +++ /dev/null @@ -1,10 +0,0 @@ -# Sample PostgreSQL options file used to run the tests. Adjust to -# match your PostgreSQL setup. -# - -# This use must be able to login without specifying a password. -# ---user odb_test ---database odb_test -# --host -# --port diff --git a/pgsql.testscript b/pgsql.testscript new file mode 100644 index 0000000..e4b4636 --- /dev/null +++ b/pgsql.testscript @@ -0,0 +1,12 @@ +# file : pgsql.testscript +# license : GNU GPL v2; see accompanying LICENSE file + +# Create the PostgreSQL database schema creation canned command and setup the +# test driver command line for the subsequent tests. +# +.include pgsql-schema.testscript + +schema_file = [path] $out_base/"$schema"($multi ? '-pgsql' : '').sql +create_schema = [cmdline] $create_schema_cmd -f $schema_file + +test.arguments += ($multi ? 'pgsql' : ) $pgsql_options diff --git a/pgsql/Makefile.am b/pgsql/Makefile.am deleted file mode 100644 index fcf14e8..0000000 --- a/pgsql/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : pgsql/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/pgsql/buildfile b/pgsql/buildfile new file mode 100644 index 0000000..c6385c0 --- /dev/null +++ b/pgsql/buildfile @@ -0,0 +1,6 @@ +# file : pgsql/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +./: {*/ -bulk/} + +./: bulk/: include = ($pgsql && !$multi && $pgsql_bulk) diff --git a/pgsql/bulk/buildfile b/pgsql/bulk/buildfile new file mode 100644 index 0000000..6984edb --- /dev/null +++ b/pgsql/bulk/buildfile @@ -0,0 +1,40 @@ +# file : pgsql/bulk/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +if ($build.meta_operation != 'dist') +{ + assert ($pgsql && !$multi) \ + "pgsql should be configured via config.odb_tests.database variable as a single database" + + assert ($pgsql_bulk) "bulk operations are disabled for pgsql" +} + +import libodb = libodb%lib{odb} + +import libs = libpq%lib{pq} +import libs += libodb-pgsql%lib{odb-pgsql} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix pgsql_bulk_ \ + --generate-schema \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{pgsql-client}: include = adhoc diff --git a/pgsql/bulk/driver.cxx b/pgsql/bulk/driver.cxx index fd629b8..ba25542 100644 --- a/pgsql/bulk/driver.cxx +++ b/pgsql/bulk/driver.cxx @@ -1,4 +1,4 @@ -// file : pgsql/savepoint/driver.cxx +// file : pgsql/bulk/driver.cxx // license : GNU GPL v2; see accompanying LICENSE file // Test transaction savepoints. @@ -10,7 +10,6 @@ #include #include #include -#include #include // Note: hack. @@ -18,6 +17,9 @@ #include #define htonll(x) ((((long long)htonl(x)) << 32) + htonl((x) >> 32)) +#undef NDEBUG +#include + static const size_t columns = 3; struct data @@ -255,20 +257,22 @@ test (PGconn* conn) } } -#include // std::auto_ptr -#include -#include - #include +#include // std::unique_ptr +#include +#include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace pgsql = odb::pgsql; using namespace pgsql; @@ -276,9 +280,26 @@ using namespace pgsql; int main (int argc, char* argv[]) { + bool fail_already_persistent (false); + + for (int i (1); i != argc; ++i) + { + if (strcmp (argv[i], "--fail-already-persistent") == 0) + { + fail_already_persistent = true; + + for (; i != argc - 1; ++i) + argv[i] = argv[i + 1]; + + --argc; + + break; + } + } + try { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); connection_ptr cn (db->connection ()); @@ -297,7 +318,7 @@ main (int argc, char* argv[]) { os.push_back (object {i, i, string (i, 'x')}); - if (i == n / 2) + if (fail_already_persistent && i == n / 2) os.push_back (object {i, i, to_string (i)}); } diff --git a/pgsql/bulk/makefile b/pgsql/bulk/makefile deleted file mode 100644 index 12f8dbb..0000000 --- a/pgsql/bulk/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : pgsql/savepoint/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database pgsql --generate-schema \ ---generate-query --table-prefix pgsql_bulk_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/pgsql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/pgsql/bulk/test.std b/pgsql/bulk/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/pgsql/bulk/testscript b/pgsql/bulk/testscript new file mode 100644 index 0000000..60b7d92 --- /dev/null +++ b/pgsql/bulk/testscript @@ -0,0 +1,18 @@ +# file : pgsql/custom/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../pgsql.testscript + ++$create_schema + +: basics +: +{ + $*; + + $* --fail-already-persistent 2>>EOE != 0 + multiple exceptions, 252 elements attempted, 1 failed, fatal: + [251] object already persistent + EOE +} diff --git a/pgsql/custom/buildfile b/pgsql/custom/buildfile new file mode 100644 index 0000000..a5c6717 --- /dev/null +++ b/pgsql/custom/buildfile @@ -0,0 +1,37 @@ +# file : pgsql/custom/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($pgsql && !$multi || $build.meta_operation == 'dist') \ +"pgsql should be configured via config.odb_tests.database variable as a single database" + +import libodb = libodb%lib{odb} + +import libs = libodb-pgsql%lib{odb-pgsql} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix pgsql_custom_ \ + --generate-schema \ + --default-database common \ + --generate-query \ + --hxx-prologue '#include "traits.hxx"' \ + --hxx-prologue '#include "query.hxx"' + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{pgsql-client}: include = adhoc diff --git a/pgsql/custom/driver.cxx b/pgsql/custom/driver.cxx index bc52674..91ff0ce 100644 --- a/pgsql/custom/driver.cxx +++ b/pgsql/custom/driver.cxx @@ -4,18 +4,20 @@ // Test custom database type mapping in PostgreSQL. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace pgsql = odb::pgsql; using namespace pgsql; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); object o (1); o.p = point (1.1111, 2222222222.2); @@ -53,7 +55,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); t.commit (); assert (o == *o1); @@ -109,7 +111,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); t.commit (); assert (o == *o1); diff --git a/pgsql/custom/makefile b/pgsql/custom/makefile deleted file mode 100644 index 18f11e6..0000000 --- a/pgsql/custom/makefile +++ /dev/null @@ -1,110 +0,0 @@ -# file : pgsql/custom/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database pgsql --default-database \ -common --generate-schema --generate-query --hxx-prologue \ -'\#include "traits.hxx"' --hxx-prologue '\#include "query.hxx"' \ ---table-prefix pgsql_custom_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := traits.hxx query.hxx -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/pgsql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/pgsql/custom/test.std b/pgsql/custom/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/pgsql/custom/testscript b/pgsql/custom/testscript new file mode 100644 index 0000000..8e1448b --- /dev/null +++ b/pgsql/custom/testscript @@ -0,0 +1,11 @@ +# file : pgsql/custom/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../pgsql.testscript + ++$create_schema + +: basics +: +$* diff --git a/pgsql/database/buildfile b/pgsql/database/buildfile new file mode 100644 index 0000000..6977ea6 --- /dev/null +++ b/pgsql/database/buildfile @@ -0,0 +1,11 @@ +# file : pgsql/database/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($pgsql && !$multi || $build.meta_operation == 'dist') \ +"pgsql should be configured via config.odb_tests.database variable as a single database" + +import libs = libodb-pgsql%lib{odb-pgsql} + +exe{driver}: {hxx cxx}{*} $libs testscript + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/pgsql/database/driver.cxx b/pgsql/database/driver.cxx index 5673caa..56bde0a 100644 --- a/pgsql/database/driver.cxx +++ b/pgsql/database/driver.cxx @@ -6,6 +6,9 @@ #include +#undef NDEBUG +#include + namespace pgsql = odb::pgsql; using namespace pgsql; diff --git a/pgsql/database/makefile b/pgsql/database/makefile deleted file mode 100644 index 2948467..0000000 --- a/pgsql/database/makefile +++ /dev/null @@ -1,79 +0,0 @@ -# file : pgsql/database/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/pgsql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) diff --git a/pgsql/database/test.std b/pgsql/database/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/pgsql/database/testscript b/pgsql/database/testscript new file mode 100644 index 0000000..f57a8e1 --- /dev/null +++ b/pgsql/database/testscript @@ -0,0 +1,6 @@ +# file : pgsql/database/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +: basics +: +$* diff --git a/pgsql/index/buildfile b/pgsql/index/buildfile new file mode 100644 index 0000000..a84ed9a --- /dev/null +++ b/pgsql/index/buildfile @@ -0,0 +1,34 @@ +# file : pgsql/index/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($pgsql && !$multi || $build.meta_operation == 'dist') \ +"pgsql should be configured via config.odb_tests.database variable as a single database" + +import libodb = libodb%lib{odb} + +import libs = libodb-pgsql%lib{odb-pgsql} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix pgsql_index_ \ + --generate-schema \ + --default-database common + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{pgsql-client}: include = adhoc diff --git a/pgsql/index/driver.cxx b/pgsql/index/driver.cxx index eb7de4b..dc4c11e 100644 --- a/pgsql/index/driver.cxx +++ b/pgsql/index/driver.cxx @@ -4,18 +4,20 @@ // Test PostgreSQL index creation. See also the common test. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace pgsql = odb::pgsql; using namespace pgsql; @@ -27,7 +29,7 @@ main (int argc, char* argv[]) { // This is just a schema creation test. // - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); { transaction t (db->begin ()); diff --git a/pgsql/index/makefile b/pgsql/index/makefile deleted file mode 100644 index 9db50ce..0000000 --- a/pgsql/index/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : pgsql/index/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database pgsql --default-database \ -common --generate-schema --table-prefix pgsql_index_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/pgsql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/pgsql/index/test.std b/pgsql/index/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/pgsql/index/testscript b/pgsql/index/testscript new file mode 100644 index 0000000..671a8c3 --- /dev/null +++ b/pgsql/index/testscript @@ -0,0 +1,11 @@ +# file : pgsql/index/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../pgsql.testscript + ++$create_schema + +: basics +: +$* diff --git a/pgsql/makefile b/pgsql/makefile deleted file mode 100644 index 91520b2..0000000 --- a/pgsql/makefile +++ /dev/null @@ -1,41 +0,0 @@ -# file : pgsql/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make - -tests := \ -template \ -custom \ -database \ -index \ -native \ -truncation \ -types - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) - -$(dist): name := pgsql -$(dist): export dirs := $(tests) -$(dist): export extra_dist := $(name)-vc8.sln $(name)-vc9.sln \ -$(name)-vc10.sln $(name)-vc11.sln $(name)-vc12.sln test.bat -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests))) - $(call meta-automake) - $(call meta-vc8sln1,$(name)) - $(call meta-vc9sln1,$(name)) - $(call meta-vc10sln1,$(name)) - $(call meta-vc11sln1,$(name)) - $(call meta-vc12sln1,$(name)) - $(call meta-vctest,$(name)-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/pgsql/native/buildfile b/pgsql/native/buildfile new file mode 100644 index 0000000..ec4c80c --- /dev/null +++ b/pgsql/native/buildfile @@ -0,0 +1,16 @@ +# file : pgsql/native/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($pgsql && !$multi || $build.meta_operation == 'dist') \ +"pgsql should be configured via config.odb_tests.database variable as a single database" + +import libs = libodb-pgsql%lib{odb-pgsql} +import libs += lib{common} + +exe{driver}: {hxx cxx}{*} $libs testscript + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{pgsql-client}: include = adhoc diff --git a/pgsql/native/driver.cxx b/pgsql/native/driver.cxx index 2cea8dd..843db41 100644 --- a/pgsql/native/driver.cxx +++ b/pgsql/native/driver.cxx @@ -4,14 +4,16 @@ // Test PostgreSQL native SQL execution. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include + +#undef NDEBUG +#include using namespace std; namespace pgsql = odb::pgsql; @@ -22,7 +24,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); // Create the database schema. // diff --git a/pgsql/native/makefile b/pgsql/native/makefile deleted file mode 100644 index f82e0fc..0000000 --- a/pgsql/native/makefile +++ /dev/null @@ -1,79 +0,0 @@ -# file : pgsql/native/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/pgsql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) diff --git a/pgsql/native/test.std b/pgsql/native/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/pgsql/native/testscript b/pgsql/native/testscript new file mode 100644 index 0000000..4fd9d2c --- /dev/null +++ b/pgsql/native/testscript @@ -0,0 +1,9 @@ +# file : pgsql/custom/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../pgsql.testscript + +: basics +: +$* diff --git a/pgsql/savepoint/driver.cxx b/pgsql/savepoint/driver.cxx deleted file mode 100644 index 7ac3df0..0000000 --- a/pgsql/savepoint/driver.cxx +++ /dev/null @@ -1,58 +0,0 @@ -// file : pgsql/savepoint/driver.cxx -// license : GNU GPL v2; see accompanying LICENSE file - -// Test transaction savepoints. -// - -#include // std::auto_ptr -#include -#include - -#include -#include - -#include - -#include "test.hxx" -#include "test-odb.hxx" - -using namespace std; -namespace pgsql = odb::pgsql; -using namespace pgsql; - -int -main (int argc, char* argv[]) -{ - try - { - auto_ptr db (create_specific_database (argc, argv)); - - { - object o1 (1); - object o2 (2); - - transaction t (db->begin ()); - db->persist (o1); - - /* - try - { - db->persist (o1); - assert (false); - } - catch (const odb::object_already_persistent&) - { - } - */ - - //db->persist (o2); - - t.commit (); - } - } - catch (const odb::exception& e) - { - cerr << e.what () << endl; - return 1; - } -} diff --git a/pgsql/savepoint/makefile b/pgsql/savepoint/makefile deleted file mode 100644 index f2046f8..0000000 --- a/pgsql/savepoint/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : pgsql/savepoint/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database pgsql --default-database \ -common --generate-schema --generate-query --table-prefix pgsql_savepoint_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/pgsql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/pgsql/savepoint/test.hxx b/pgsql/savepoint/test.hxx deleted file mode 100644 index 7e01992..0000000 --- a/pgsql/savepoint/test.hxx +++ /dev/null @@ -1,27 +0,0 @@ -// file : pgsql/savepoint/test.hxx -// license : GNU GPL v2; see accompanying LICENSE file - -#ifndef TEST_HXX -#define TEST_HXX - -#include - -#include - -#pragma db object bulk(100) -struct object -{ - object (unsigned long id) - : id_ (id) - { - } - - object () - { - } - - #pragma db id - unsigned long id_; -}; - -#endif // TEST_HXX diff --git a/pgsql/savepoint/test.std b/pgsql/savepoint/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/pgsql/template/Makefile.am b/pgsql/template/Makefile.am deleted file mode 100644 index a9c40d3..0000000 --- a/pgsql/template/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# file : pgsql/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< -) diff --git a/pgsql/template/driver.cxx b/pgsql/template/driver.cxx deleted file mode 100644 index 98ce17a..0000000 --- a/pgsql/template/driver.cxx +++ /dev/null @@ -1,40 +0,0 @@ -// file : pgsql/template/driver.cxx -// license : GNU GPL v2; see accompanying LICENSE file - -// PLACE TEST DESCRIPTION HERE -// - -#include // std::auto_ptr -#include -#include - -#include -#include - -#include - -#include "test.hxx" -#include "test-odb.hxx" - -using namespace std; -namespace pgsql = odb::pgsql; -using namespace pgsql; - -int -main (int argc, char* argv[]) -{ - try - { - auto_ptr db (create_specific_database (argc, argv)); - - { - transaction t (db->begin ()); - t.commit (); - } - } - catch (const odb::exception& e) - { - cerr << e.what () << endl; - return 1; - } -} diff --git a/pgsql/template/makefile b/pgsql/template/makefile deleted file mode 100644 index 70b23c3..0000000 --- a/pgsql/template/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : pgsql/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database pgsql --default-database \ -common --generate-schema --table-prefix pgsql_template_ #@@ CHANGE THIS -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/pgsql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/pgsql/template/template-vc10.vcxproj b/pgsql/template/template-vc10.vcxproj deleted file mode 100644 index 4bf096a..0000000 --- a/pgsql/template/template-vc10.vcxproj +++ /dev/null @@ -1,180 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {__uuid__()} - Win32Proj - __value__(name) - - - - Application - true - Unicode - - - Application - true - Unicode - - - Application - false - true - Unicode - - - Application - false - true - Unicode - - - - - - - - - - - - - - - - - - - true - $(Configuration)\ - driver - - - true - $(Platform)\$(Configuration)\ - driver - - - false - $(Configuration)\ - driver - - - false - $(Platform)\$(Configuration)\ - driver - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common-d.lib;odb-pgsql-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common-d.lib;odb-pgsql-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common.lib;odb-pgsql.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common.lib;odb-pgsql.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - -__ifelse__(__value__(odb_options),,, -m4_dnl - -__custom_build_entry__( -test.hxx, -odb test.hxx, -odb.exe --std c++11 __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1600 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) - ) - -__ifelse__(__value__(odb_options),,, -__header_entry__(test-odb.hxx) -__header_entry__(test-odb.ixx)) -__header_entries__(extra_headers) - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - - - - - diff --git a/pgsql/template/template-vc10.vcxproj.filters b/pgsql/template/template-vc10.vcxproj.filters deleted file mode 100644 index 8ac18a3..0000000 --- a/pgsql/template/template-vc10.vcxproj.filters +++ /dev/null @@ -1,25 +0,0 @@ - - - - - {__uuid__()} - cxx - - - {__uuid__()} - h;hxx;ixx;txx - - - -__ifelse__(__value__(odb_options),,, -__header_filter_entry__(test.hxx) -__header_filter_entry__(test-odb.hxx) -__header_filter_entry__(test-odb.ixx)) -__header_filter_entries__(extra_headers) - - -__source_filter_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_filter_entry__(test-odb.cxx)) -__source_filter_entries__(extra_sources) - - \ No newline at end of file diff --git a/pgsql/template/template-vc11.vcxproj b/pgsql/template/template-vc11.vcxproj deleted file mode 100644 index 9e7c682..0000000 --- a/pgsql/template/template-vc11.vcxproj +++ /dev/null @@ -1,184 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {__uuid__()} - Win32Proj - __value__(name) - - - - Application - true - v110 - Unicode - - - Application - true - v110 - Unicode - - - Application - false - v110 - true - Unicode - - - Application - false - v110 - true - Unicode - - - - - - - - - - - - - - - - - - - true - $(Configuration)\ - driver - - - true - $(Platform)\$(Configuration)\ - driver - - - false - $(Configuration)\ - driver - - - false - $(Platform)\$(Configuration)\ - driver - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common-d.lib;odb-pgsql-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common-d.lib;odb-pgsql-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common.lib;odb-pgsql.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common.lib;odb-pgsql.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - -__ifelse__(__value__(odb_options),,, -m4_dnl - -__custom_build_entry__( -test.hxx, -odb test.hxx, -odb.exe --std c++11 __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1700 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) - ) - -__ifelse__(__value__(odb_options),,, -__header_entry__(test-odb.hxx) -__header_entry__(test-odb.ixx)) -__header_entries__(extra_headers) - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - - - - - diff --git a/pgsql/template/template-vc11.vcxproj.filters b/pgsql/template/template-vc11.vcxproj.filters deleted file mode 100644 index 8ac18a3..0000000 --- a/pgsql/template/template-vc11.vcxproj.filters +++ /dev/null @@ -1,25 +0,0 @@ - - - - - {__uuid__()} - cxx - - - {__uuid__()} - h;hxx;ixx;txx - - - -__ifelse__(__value__(odb_options),,, -__header_filter_entry__(test.hxx) -__header_filter_entry__(test-odb.hxx) -__header_filter_entry__(test-odb.ixx)) -__header_filter_entries__(extra_headers) - - -__source_filter_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_filter_entry__(test-odb.cxx)) -__source_filter_entries__(extra_sources) - - \ No newline at end of file diff --git a/pgsql/template/template-vc12.vcxproj b/pgsql/template/template-vc12.vcxproj deleted file mode 100644 index 415dad4..0000000 --- a/pgsql/template/template-vc12.vcxproj +++ /dev/null @@ -1,188 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {__uuid__()} - Win32Proj - __value__(name) - - - - Application - true - v120 - Unicode - - - Application - true - v120 - Unicode - - - Application - false - v120 - true - Unicode - - - Application - false - v120 - true - Unicode - - - - - - - - - - - - - - - - - - - true - $(Configuration)\ - driver - - - true - $(Platform)\$(Configuration)\ - driver - - - false - $(Configuration)\ - driver - - - false - $(Platform)\$(Configuration)\ - driver - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib\common-d.lib;odb-pgsql-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib64\common-d.lib;odb-pgsql-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib\common.lib;odb-pgsql.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib64\common.lib;odb-pgsql.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - -__ifelse__(__value__(odb_options),,, -m4_dnl - -__custom_build_entry__( -test.hxx, -odb test.hxx, -odb.exe --std c++11 __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1700 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) - ) - -__ifelse__(__value__(odb_options),,, -__header_entry__(test-odb.hxx) -__header_entry__(test-odb.ixx)) -__header_entries__(extra_headers) - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - - - - - diff --git a/pgsql/template/template-vc12.vcxproj.filters b/pgsql/template/template-vc12.vcxproj.filters deleted file mode 100644 index 8ac18a3..0000000 --- a/pgsql/template/template-vc12.vcxproj.filters +++ /dev/null @@ -1,25 +0,0 @@ - - - - - {__uuid__()} - cxx - - - {__uuid__()} - h;hxx;ixx;txx - - - -__ifelse__(__value__(odb_options),,, -__header_filter_entry__(test.hxx) -__header_filter_entry__(test-odb.hxx) -__header_filter_entry__(test-odb.ixx)) -__header_filter_entries__(extra_headers) - - -__source_filter_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_filter_entry__(test-odb.cxx)) -__source_filter_entries__(extra_sources) - - \ No newline at end of file diff --git a/pgsql/template/template-vc8.vcproj b/pgsql/template/template-vc8.vcproj deleted file mode 100644 index 3b2bbc3..0000000 --- a/pgsql/template/template-vc8.vcproj +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - - -__ifelse__(__value__(odb_options),,, -__file_entry_custom_build__( -test.hxx, -odb test.hxx, -odb.exe __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1400 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) -__file_entry__(test-odb.hxx) -__file_entry__(test-odb.ixx)) -__file_entries__(extra_headers) - - - - - diff --git a/pgsql/template/template-vc9.vcproj b/pgsql/template/template-vc9.vcproj deleted file mode 100644 index 3a75a38..0000000 --- a/pgsql/template/template-vc9.vcproj +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - - -__ifelse__(__value__(odb_options),,, -__file_entry_custom_build__( -test.hxx, -odb test.hxx, -odb.exe __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1500 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) -__file_entry__(test-odb.hxx) -__file_entry__(test-odb.ixx)) -__file_entries__(extra_headers) - - - - - diff --git a/pgsql/template/test.hxx b/pgsql/template/test.hxx deleted file mode 100644 index 01670b1..0000000 --- a/pgsql/template/test.hxx +++ /dev/null @@ -1,25 +0,0 @@ -// file : pgsql/template/test.hxx -// license : GNU GPL v2; see accompanying LICENSE file - -#ifndef TEST_HXX -#define TEST_HXX - -#include - -#pragma db object -struct object -{ - object (unsigned long id) - : id_ (id) - { - } - - object () - { - } - - #pragma db id - unsigned long id_; -}; - -#endif // TEST_HXX diff --git a/pgsql/template/test.std b/pgsql/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/pgsql/test.bat b/pgsql/test.bat deleted file mode 100644 index 6b4dd61..0000000 --- a/pgsql/test.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -rem file : pgsql/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat pgsql %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/pgsql/truncation/buildfile b/pgsql/truncation/buildfile new file mode 100644 index 0000000..2f2f3a2 --- /dev/null +++ b/pgsql/truncation/buildfile @@ -0,0 +1,35 @@ +# file : pgsql/truncation/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($pgsql && !$multi || $build.meta_operation == 'dist') \ +"pgsql should be configured via config.odb_tests.database variable as a single database" + +import libodb = libodb%lib{odb} + +import libs = libodb-pgsql%lib{odb-pgsql} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix pgsql_truncation_ \ + --generate-schema \ + --default-database common \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{pgsql-client}: include = adhoc diff --git a/pgsql/truncation/driver.cxx b/pgsql/truncation/driver.cxx index 63135d4..337a26e 100644 --- a/pgsql/truncation/driver.cxx +++ b/pgsql/truncation/driver.cxx @@ -4,18 +4,20 @@ // Test insufficient buffer/truncation handling. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace pgsql = odb::pgsql; using namespace pgsql; @@ -33,7 +35,7 @@ main (int argc, char* argv[]) // Test basic operations. // { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); // Run persist/load so that the initial bindings are established // (version == 0). @@ -71,7 +73,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o (db->load (3)); + unique_ptr o (db->load (3)); assert (o->str_ == long_str); t.commit (); } @@ -89,7 +91,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o (db->load (3)); + unique_ptr o (db->load (3)); assert (o->str_ == longer_str); t.commit (); } @@ -101,7 +103,7 @@ main (int argc, char* argv[]) typedef pgsql::query query; typedef odb::result result; - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); // Run persist/query so that the initial bindings are established // (version == 0). diff --git a/pgsql/truncation/makefile b/pgsql/truncation/makefile deleted file mode 100644 index 9519291..0000000 --- a/pgsql/truncation/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : pgsql/truncation/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database pgsql --default-database \ -common --generate-schema --generate-query --table-prefix pgsql_truncation_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/pgsql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/pgsql/truncation/test.std b/pgsql/truncation/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/pgsql/truncation/testscript b/pgsql/truncation/testscript new file mode 100644 index 0000000..c57b723 --- /dev/null +++ b/pgsql/truncation/testscript @@ -0,0 +1,11 @@ +# file : pgsql/truncation/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../pgsql.testscript + ++$create_schema + +: basics +: +$* diff --git a/pgsql/types/buildfile b/pgsql/types/buildfile new file mode 100644 index 0000000..64f0c02 --- /dev/null +++ b/pgsql/types/buildfile @@ -0,0 +1,36 @@ +# file : pgsql/types/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($pgsql && !$multi || $build.meta_operation == 'dist') \ +"pgsql should be configured via config.odb_tests.database variable as a single database" + +import libodb = libodb%lib{odb} +import libcommon = lib{common} +import libs = libodb-pgsql%lib{odb-pgsql} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb and libcommon +# libraries are resolved for the odb_compile ad hoc rule (see build/root.build +# for details). +# +libue{test-meta}: $libodb $libcommon + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix pgsql_types_ \ + --generate-schema \ + --default-database common \ + --generate-query \ + --cxx-prologue '#include "traits.hxx"' + +cxx.poptions =+ "-I$out_base" "-I$src_base" + +# Testscript's run-time prerequisites. +# +exe{driver}: ../../alias{pgsql-client}: include = adhoc diff --git a/pgsql/types/driver.cxx b/pgsql/types/driver.cxx index c2b54be..710f601 100644 --- a/pgsql/types/driver.cxx +++ b/pgsql/types/driver.cxx @@ -4,18 +4,20 @@ // Test PostgreSQL type conversion. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace pgsql = odb::pgsql; using namespace pgsql; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); object o (1); @@ -79,7 +81,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); t.commit (); assert (o == *o1); @@ -144,9 +146,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (1)); - auto_ptr p2 (db->load (2)); - auto_ptr p3 (db->load (3)); + unique_ptr p1 (db->load (1)); + unique_ptr p2 (db->load (2)); + unique_ptr p3 (db->load (3)); t.commit (); assert (o1 == *p1); diff --git a/pgsql/types/makefile b/pgsql/types/makefile deleted file mode 100644 index c3321b7..0000000 --- a/pgsql/types/makefile +++ /dev/null @@ -1,109 +0,0 @@ -# file : pgsql/types/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database pgsql --default-database \ -common --generate-schema --generate-query --cxx-prologue \ -'\#include "traits.hxx"' --table-prefix pgsql_types_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := traits.hxx -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/pgsql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/pgsql/types/test.hxx b/pgsql/types/test.hxx index f44d73e..462ebad 100644 --- a/pgsql/types/test.hxx +++ b/pgsql/types/test.hxx @@ -7,13 +7,13 @@ #include #include #include -#include // std::auto_ptr +#include // std::unique_ptr #include // std::memcmp, std::memcpy, std::str[n]cmp, std::strlen #include // std::size_t #include -#include +#include struct bitfield { @@ -71,7 +71,7 @@ operator== (const varbit& x, const varbit& y) #pragma db value(bitfield) type ("BIT(4)") -typedef std::auto_ptr string_ptr; +typedef std::unique_ptr string_ptr; enum color {red, green, blue}; diff --git a/pgsql/types/test.std b/pgsql/types/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/pgsql/types/testscript b/pgsql/types/testscript new file mode 100644 index 0000000..57218e1 --- /dev/null +++ b/pgsql/types/testscript @@ -0,0 +1,11 @@ +# file : pgsql/types/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../pgsql.testscript + ++$create_schema + +: basics +: +$* diff --git a/qt/Makefile.am b/qt/Makefile.am deleted file mode 100644 index 7edbd44..0000000 --- a/qt/Makefile.am +++ /dev/null @@ -1,26 +0,0 @@ -# file : qt/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = common - -if DATABASE_MYSQL -SUBDIRS += mysql -endif - -if DATABASE_SQLITE -SUBDIRS += sqlite -endif - -if DATABASE_PGSQL -SUBDIRS += pgsql -endif - -if DATABASE_ORACLE -SUBDIRS += oracle -endif - -if DATABASE_MSSQL -SUBDIRS += mssql -endif - -EXTRA_DIST = __file__(extra_dist) diff --git a/qt/build.bat b/qt/build.bat deleted file mode 100644 index 97b9330..0000000 --- a/qt/build.bat +++ /dev/null @@ -1,129 +0,0 @@ -@echo off -rem file : qt/build.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -rem -rem Build Qt tests using the VC++ batch mode compilation. -rem -rem build.bat database qt-version vc-version conf plat [/Build|/Clean|/Rebuild] -rem -rem conf: {Debug,Release}|all -rem plat: {Win32,x64}|all -rem - -setlocal - -if "_%1_" == "__" ( - echo no database specified - goto usage -) - -if "_%2_" == "__" ( - echo no Qt version specified - goto usage -) - -if "_%3_" == "__" ( - echo no VC++ version specified - goto usage -) - -if "_%~4_" == "__" ( - echo no configuration specified - goto usage -) - -if "_%~5_" == "__" ( - echo no platform specified - goto usage -) - -set "failed=" - -if "_%2_" == "_4_" set "qtver=4" -if "_%2_" == "_5_" set "qtver=5" - -if "_%qtver%_" == "__" ( - echo unknown Qt version %2 - goto usage -) - -if "_%3_" == "_8_" set "vcver=8" -if "_%3_" == "_9_" set "vcver=9" -if "_%3_" == "_10_" set "vcver=10" -if "_%3_" == "_11_" set "vcver=11" -if "_%3_" == "_12_" set "vcver=12" - -if "_%vcver%_" == "__" ( - echo unknown VC++ version %3 - goto usage -) - -set "confs=%~4" -set "plats=%~5" - -if "_%confs%_" == "_all_" set "confs=Debug Release" -if "_%plats%_" == "_all_" set "plats=Win32 x64" - -set "action=%6" -if "_%action%_" == "__" set "action=/Build" - -set "devenv=%DEVENV%" -if "_%devenv%_" == "__" set "devenv=devenv.com" - -goto start - -rem -rem %1 - solution name -rem %2 - configuration to build -rem %3 - platform to build -rem -:run_build - echo. - echo building qt/%1 %3 %2 - "%devenv%" %1 %action% "%2|%3" 2>&1 - if errorlevel 1 set "failed=%failed% qt/%1\%3\%2" -goto :eof - -:start - -for %%d in (%1) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_build %%d/qt-%%d-qt%qtver%-vc%vcver%.sln %%c %%p - ) - ) -) - -for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_build common/qt-common-qt%qtver%-%1-vc%vcver%.sln %%c %%p - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL BUILDS SUCCEEDED -echo. -goto end - -:usage -echo. -echo usage: build.bat database qt-version vc-version conf plat [action] -echo valid configurations are: {Debug,Release}|all -echo valid platforms are: {Win32,x64}|all -echo valid actions are: /Build (default), /Clean, and /Rebuild -echo. - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/qt/common/Makefile.am b/qt/common/Makefile.am deleted file mode 100644 index 0093f76..0000000 --- a/qt/common/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : qt/common/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/qt/common/basic/makefile b/qt/common/basic/makefile deleted file mode 100644 index 7b604a4..0000000 --- a/qt/common/basic/makefile +++ /dev/null @@ -1,134 +0,0 @@ -# file : qt/common/basic/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l: odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libqt/core/stub.make,\ - l: qt_core.l,cpp-options: qt_core.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_qt.l) $(common.l) $(qt_core.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-query \ ---profile qt/basic --table-prefix qt_basic_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/qt/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) \ -$(call vc8projs,$(name)-qt4) \ -$(call vc9projs,$(name)-qt4) $(call vc9projs,$(name)-qt5) \ -$(call vc10projs,$(name)-qt4) $(call vc10projs,$(name)-qt5) \ -$(call vc11projs,$(name)-qt4) $(call vc11projs,$(name)-qt5) \ -$(call vc12projs,$(name)-qt4) $(call vc12projs,$(name)-qt5) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template-qt4,$(name)-qt4) - $(call meta-vc9projs,../template/template-qt4,$(name)-qt4) - $(call meta-vc9projs,../template/template-qt5,$(name)-qt5) - $(call meta-vc10projs,../template/template-qt4,$(name)-qt4) - $(call meta-vc10projs,../template/template-qt5,$(name)-qt5) - $(call meta-vc11projs,../template/template-qt4,$(name)-qt4) - $(call meta-vc12projs,../template/template-qt4,$(name)-qt4) - $(call meta-vc11projs,../template/template-qt5,$(name)-qt5) - $(call meta-vc12projs,../template/template-qt5,$(name)-qt5) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/common/basic/test.std b/qt/common/basic/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/common/containers/basics/makefile b/qt/common/containers/basics/makefile deleted file mode 100644 index efc9da1..0000000 --- a/qt/common/containers/basics/makefile +++ /dev/null @@ -1,134 +0,0 @@ -# file : qt/common/containers/basics/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l: odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libqt/core/stub.make,\ - l: qt_core.l,cpp-options: qt.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_qt.l) $(common.l) $(qt_core.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---profile qt/containers --profile qt/basic --table-prefix qt_cont_bs_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/qt/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) \ -$(call vc8projs,$(name)-qt4) \ -$(call vc9projs,$(name)-qt4) $(call vc9projs,$(name)-qt5) \ -$(call vc10projs,$(name)-qt4) $(call vc10projs,$(name)-qt5) \ -$(call vc11projs,$(name)-qt4) $(call vc11projs,$(name)-qt5) \ -$(call vc12projs,$(name)-qt4) $(call vc12projs,$(name)-qt5) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template-qt4,$(name)-qt4) - $(call meta-vc9projs,../../template/template-qt4,$(name)-qt4) - $(call meta-vc9projs,../../template/template-qt5,$(name)-qt5) - $(call meta-vc10projs,../../template/template-qt4,$(name)-qt4) - $(call meta-vc10projs,../../template/template-qt5,$(name)-qt5) - $(call meta-vc11projs,../../template/template-qt4,$(name)-qt4) - $(call meta-vc12projs,../../template/template-qt4,$(name)-qt4) - $(call meta-vc11projs,../../template/template-qt5,$(name)-qt5) - $(call meta-vc12projs,../../template/template-qt5,$(name)-qt5) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/common/containers/basics/test.std b/qt/common/containers/basics/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/common/containers/change-tracking/makefile b/qt/common/containers/change-tracking/makefile deleted file mode 100644 index 13864c5..0000000 --- a/qt/common/containers/change-tracking/makefile +++ /dev/null @@ -1,134 +0,0 @@ -# file : qt/common/containers/change-tracking/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l: odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libqt/core/stub.make,\ - l: qt_core.l,cpp-options: qt.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_qt.l) $(common.l) $(qt_core.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---profile qt/containers --profile qt/basic --table-prefix qt_cont_ct_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/qt/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) \ -$(call vc8projs,$(name)-qt4) \ -$(call vc9projs,$(name)-qt4) $(call vc9projs,$(name)-qt5) \ -$(call vc10projs,$(name)-qt4) $(call vc10projs,$(name)-qt5) \ -$(call vc11projs,$(name)-qt4) $(call vc11projs,$(name)-qt5) \ -$(call vc12projs,$(name)-qt4) $(call vc12projs,$(name)-qt5) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../../template/Makefile.am) - $(call meta-vc8projs,../../template/template-qt4,$(name)-qt4) - $(call meta-vc9projs,../../template/template-qt4,$(name)-qt4) - $(call meta-vc9projs,../../template/template-qt5,$(name)-qt5) - $(call meta-vc10projs,../../template/template-qt4,$(name)-qt4) - $(call meta-vc10projs,../../template/template-qt5,$(name)-qt5) - $(call meta-vc11projs,../../template/template-qt4,$(name)-qt4) - $(call meta-vc12projs,../../template/template-qt4,$(name)-qt4) - $(call meta-vc11projs,../../template/template-qt5,$(name)-qt5) - $(call meta-vc12projs,../../template/template-qt5,$(name)-qt5) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/common/containers/change-tracking/test.std b/qt/common/containers/change-tracking/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/common/makefile b/qt/common/makefile deleted file mode 100644 index 874b374..0000000 --- a/qt/common/makefile +++ /dev/null @@ -1,61 +0,0 @@ -# file : qt/common/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -tests := \ -basic \ -containers/basics \ -containers/change-tracking \ -smart-ptr \ -template - -all_tests := $(tests) -build_tests := $(tests) - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_tests))) - -name := qt-common -$(dist): name := $(name) -$(dist): export dirs := $(tests) -$(dist): export extra_dist := test.bat \ -$(call vc9slns,$(name)-qt4) \ -$(call vc9slns,$(name)-qt4) $(call vc9slns,$(name)-qt5) \ -$(call vc10slns,$(name)-qt4) $(call vc10slns,$(name)-qt5) \ -$(call vc11slns,$(name)-qt4) $(call vc11slns,$(name)-qt5) \ -$(call vc12slns,$(name)-qt4) $(call vc12slns,$(name)-qt5) -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_tests))) - $(call meta-automake) - $(call meta-vc8slns,$(name)-qt4,-qt4) - $(call meta-vc9slns,$(name)-qt4,-qt4) - $(call meta-vc9slns,$(name)-qt5,-qt5) - $(call meta-vc10slns,$(name)-qt4,-qt4) - $(call meta-vc10slns,$(name)-qt5,-qt5) - $(call meta-vc11slns,$(name)-qt4,-qt4) - $(call meta-vc11slns,$(name)-qt5,-qt5) - $(call meta-vc12slns,$(name)-qt4,-qt4) - $(call meta-vc12slns,$(name)-qt5,-qt5) - # Can't have Qt-version specific tests. - $(call meta-vctest,$(name)-qt4-mysql-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(build_tests))) - -ifeq ($(db_id),common) -$(foreach d,$(databases),$(eval $(call db-test-dir,$d,$(tests)))) -endif - -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(all_tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -ifneq ($(filter $(MAKECMDGOALS),dist clean),) -$(foreach t,$(all_tests),$(call import,$(src_base)/$t/makefile)) -else -$(foreach t,$(build_tests),$(call import,$(src_base)/$t/makefile)) -endif diff --git a/qt/common/smart-ptr/makefile b/qt/common/smart-ptr/makefile deleted file mode 100644 index c678001..0000000 --- a/qt/common/smart-ptr/makefile +++ /dev/null @@ -1,134 +0,0 @@ -# file : qt/common/smart-ptr/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l: odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libqt/core/stub.make,\ - l: qt_core.l,cpp-options: qt.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_qt.l) $(common.l) $(qt_core.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -DQWEAKPOINTER_ENABLE_ARROW -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema --generate-session \ ---profile qt/smart-ptr --table-prefix qt_smart_ptr_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/qt/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) \ -$(call vc8projs,$(name)-qt4) \ -$(call vc9projs,$(name)-qt4) $(call vc9projs,$(name)-qt5) \ -$(call vc10projs,$(name)-qt4) $(call vc10projs,$(name)-qt5) \ -$(call vc11projs,$(name)-qt4) $(call vc11projs,$(name)-qt5) \ -$(call vc12projs,$(name)-qt4) $(call vc12projs,$(name)-qt5) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template-qt4,$(name)-qt4) - $(call meta-vc9projs,../template/template-qt4,$(name)-qt4) - $(call meta-vc9projs,../template/template-qt5,$(name)-qt5) - $(call meta-vc10projs,../template/template-qt4,$(name)-qt4) - $(call meta-vc10projs,../template/template-qt5,$(name)-qt5) - $(call meta-vc11projs,../template/template-qt4,$(name)-qt4) - $(call meta-vc12projs,../template/template-qt4,$(name)-qt4) - $(call meta-vc11projs,../template/template-qt5,$(name)-qt5) - $(call meta-vc12projs,../template/template-qt5,$(name)-qt5) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/common/smart-ptr/test.std b/qt/common/smart-ptr/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/common/template/Makefile.am b/qt/common/template/Makefile.am deleted file mode 100644 index 75652f3..0000000 --- a/qt/common/template/Makefile.am +++ /dev/null @@ -1,31 +0,0 @@ -# file : qt/common/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) --database @database@ __value__(odb_options) $< diff --git a/qt/common/template/makefile b/qt/common/template/makefile deleted file mode 100644 index afe6b53..0000000 --- a/qt/common/template/makefile +++ /dev/null @@ -1,134 +0,0 @@ -# file : qt/common/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l: odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libqt/core/stub.make,\ - l: qt_core.l,cpp-options: qt_core.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_qt.l) $(common.l) $(qt_core.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --generate-schema \ ---profile qt/version --table-prefix qt_template_ #@@ CHANGE prefix, profile -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -ifneq ($(db_id),common) -$(gen): odb_options += --database $(db_id) -else -$(gen): odb_options += --multi-database dynamic -endif - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -name := $(subst /,-,$(subst $(src_root)/qt/common/,,$(src_base))) - -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(name) -$(dist): export extra_dist := $(data_dist) \ -$(call vc8projs,$(name)-qt4) \ -$(call vc9projs,$(name)-qt4) $(call vc9projs,$(name)-qt5) \ -$(call vc10projs,$(name)-qt4) $(call vc10projs,$(name)-qt5) \ -$(call vc11projs,$(name)-qt4) $(call vc11projs,$(name)-qt5) \ -$(call vc12projs,$(name)-qt4) $(call vc12projs,$(name)-qt5) -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8projs,../template/template-qt4,$(name)-qt4) - $(call meta-vc9projs,../template/template-qt4,$(name)-qt4) - $(call meta-vc9projs,../template/template-qt5,$(name)-qt5) - $(call meta-vc10projs,../template/template-qt4,$(name)-qt4) - $(call meta-vc10projs,../template/template-qt5,$(name)-qt5) - $(call meta-vc11projs,../template/template-qt4,$(name)-qt4) - $(call meta-vc12projs,../template/template-qt4,$(name)-qt4) - $(call meta-vc11projs,../template/template-qt5,$(name)-qt5) - $(call meta-vc12projs,../template/template-qt5,$(name)-qt5) - -# Test. -# -ifneq ($(db_id),common) -$(eval $(call test-rule)) -else -$(foreach d,$(databases),$(eval $(call test-rule,$d))) -endif - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/common/template/test.std b/qt/common/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/common/test.bat b/qt/common/test.bat deleted file mode 100644 index 100628f..0000000 --- a/qt/common/test.bat +++ /dev/null @@ -1,79 +0,0 @@ -@echo off -rem file : qt/common/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\..\.." -set "failed=" - -if "_%1_" == "__" ( - echo no database specified - goto usage -) - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem %4 - database -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat %4 %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p %1 - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:usage -echo. -echo usage: test.bat database -echo. - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/qt/makefile b/qt/makefile deleted file mode 100644 index 4575b34..0000000 --- a/qt/makefile +++ /dev/null @@ -1,38 +0,0 @@ -# file : qt/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make - -all_dirs := common mysql sqlite pgsql oracle mssql -dirs := common - -# Database-specific tests are not run in the multi-database configuration. -# -ifneq ($(db_id),common) -dirs += $(db_id) -endif - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(dirs))) - -$(dist): export extra_dist := build.bat -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_dirs))) - $(call meta-vctest,common/qt-common-qt4-mysql-vc10.sln,build.bat) - $(call meta-automake) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(dirs))) - -ifeq ($(db_id),common) -$(foreach d,$(databases),$(eval $(call db-test-dir,$d,$(dirs)))) -endif - -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(all_dirs))) - -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -ifneq ($(filter $(MAKECMDGOALS),dist clean),) -$(foreach d,$(all_dirs),$(call import,$(src_base)/$d/makefile)) -else -$(foreach d,$(dirs),$(call import,$(src_base)/$d/makefile)) -endif diff --git a/qt/mssql/Makefile.am b/qt/mssql/Makefile.am deleted file mode 100644 index 3ac285b..0000000 --- a/qt/mssql/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : qt/mssql/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/qt/mssql/basic/makefile b/qt/mssql/basic/makefile deleted file mode 100644 index c8f1725..0000000 --- a/qt/mssql/basic/makefile +++ /dev/null @@ -1,125 +0,0 @@ -# file : qt/mssql/basic/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l:odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libqt/core/stub.make,\ - l: qt_core.l,cpp-options: qt_core.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_qt.l) $(common.l) $(qt_core.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mssql --profile qt/basic \ ---generate-schema --table-prefix qt_mssql_basic_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/qt/mssql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-qt4-vc8.vcproj \ -$(name)-qt4-vc9.vcproj $(name)-qt5-vc9.vcproj \ -$(name)-qt4-vc10.vcxproj $(name)-qt4-vc10.vcxproj.filters \ -$(name)-qt5-vc10.vcxproj $(name)-qt5-vc10.vcxproj.filters \ -$(name)-qt4-vc11.vcxproj $(name)-qt4-vc11.vcxproj.filters \ -$(name)-qt5-vc11.vcxproj $(name)-qt5-vc11.vcxproj.filters \ -$(name)-qt4-vc12.vcxproj $(name)-qt4-vc12.vcxproj.filters \ -$(name)-qt5-vc12.vcxproj $(name)-qt5-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-qt4-vc8.vcproj,$(name)-qt4-vc8.vcproj) - $(call meta-vc9proj,../template/template-qt4-vc9.vcproj,$(name)-qt4-vc9.vcproj) - $(call meta-vc9proj,../template/template-qt5-vc9.vcproj,$(name)-qt5-vc9.vcproj) - $(call meta-vc10proj,../template/template-qt4-vc10.vcxproj,$(name)-qt4-vc10.vcxproj) - $(call meta-vc10proj,../template/template-qt5-vc10.vcxproj,$(name)-qt5-vc10.vcxproj) - $(call meta-vc11proj,../template/template-qt4-vc11.vcxproj,$(name)-qt4-vc11.vcxproj) - $(call meta-vc11proj,../template/template-qt5-vc11.vcxproj,$(name)-qt5-vc11.vcxproj) - $(call meta-vc12proj,../template/template-qt4-vc12.vcxproj,$(name)-qt4-vc12.vcxproj) - $(call meta-vc12proj,../template/template-qt5-vc12.vcxproj,$(name)-qt5-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/mssql/basic/test.std b/qt/mssql/basic/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/mssql/date-time/makefile b/qt/mssql/date-time/makefile deleted file mode 100644 index ff52b50..0000000 --- a/qt/mssql/date-time/makefile +++ /dev/null @@ -1,125 +0,0 @@ -# file : qt/mssql/date-time/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l: odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libqt/core/stub.make,\ - l: qt_core.l,cpp-options: qt_core.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) $(odb_qt.l) $(qt_core.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mssql --profile qt/date-time \ ---generate-schema --table-prefix qt_mssql_dt_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/qt/mssql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-qt4-vc8.vcproj \ -$(name)-qt4-vc9.vcproj $(name)-qt5-vc9.vcproj \ -$(name)-qt4-vc10.vcxproj $(name)-qt4-vc10.vcxproj.filters \ -$(name)-qt5-vc10.vcxproj $(name)-qt5-vc10.vcxproj.filters \ -$(name)-qt4-vc11.vcxproj $(name)-qt4-vc11.vcxproj.filters \ -$(name)-qt5-vc11.vcxproj $(name)-qt5-vc11.vcxproj.filters \ -$(name)-qt4-vc12.vcxproj $(name)-qt4-vc12.vcxproj.filters \ -$(name)-qt5-vc12.vcxproj $(name)-qt5-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-qt4-vc8.vcproj,$(name)-qt4-vc8.vcproj) - $(call meta-vc9proj,../template/template-qt4-vc9.vcproj,$(name)-qt4-vc9.vcproj) - $(call meta-vc9proj,../template/template-qt5-vc9.vcproj,$(name)-qt5-vc9.vcproj) - $(call meta-vc10proj,../template/template-qt4-vc10.vcxproj,$(name)-qt4-vc10.vcxproj) - $(call meta-vc10proj,../template/template-qt5-vc10.vcxproj,$(name)-qt5-vc10.vcxproj) - $(call meta-vc11proj,../template/template-qt4-vc11.vcxproj,$(name)-qt4-vc11.vcxproj) - $(call meta-vc11proj,../template/template-qt5-vc11.vcxproj,$(name)-qt5-vc11.vcxproj) - $(call meta-vc12proj,../template/template-qt4-vc12.vcxproj,$(name)-qt4-vc12.vcxproj) - $(call meta-vc12proj,../template/template-qt5-vc12.vcxproj,$(name)-qt5-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/mssql/date-time/test.std b/qt/mssql/date-time/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/mssql/makefile b/qt/mssql/makefile deleted file mode 100644 index 861cee6..0000000 --- a/qt/mssql/makefile +++ /dev/null @@ -1,46 +0,0 @@ -# file : qt/mssql/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -tests := \ -basic \ -date-time \ -template - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) - -$(dist): name := qt-mssql -$(dist): export dirs := $(tests) -$(dist): export extra_dist := test.bat \ -$(name)-qt4-vc8.sln \ -$(name)-qt4-vc9.sln $(name)-qt5-vc9.sln \ -$(name)-qt4-vc10.sln $(name)-qt5-vc10.sln \ -$(name)-qt4-vc11.sln $(name)-qt5-vc11.sln \ -$(name)-qt4-vc12.sln $(name)-qt5-vc12.sln -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests))) - $(call meta-automake) - $(call meta-vc8sln1,$(name)-qt4,-qt4) - $(call meta-vc9sln1,$(name)-qt4,-qt4) - $(call meta-vc9sln1,$(name)-qt5,-qt5) - $(call meta-vc10sln1,$(name)-qt4,-qt4) - $(call meta-vc10sln1,$(name)-qt5,-qt5) - $(call meta-vc11sln1,$(name)-qt4,-qt4) - $(call meta-vc11sln1,$(name)-qt5,-qt5) - $(call meta-vc12sln1,$(name)-qt4,-qt4) - $(call meta-vc12sln1,$(name)-qt5,-qt5) - # Can't have Qt-version specific tests. - $(call meta-vctest,$(name)-qt4-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/qt/mssql/template/Makefile.am b/qt/mssql/template/Makefile.am deleted file mode 100644 index df51831..0000000 --- a/qt/mssql/template/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# file : qt/mssql/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< -) diff --git a/qt/mssql/template/makefile b/qt/mssql/template/makefile deleted file mode 100644 index f53ed9f..0000000 --- a/qt/mssql/template/makefile +++ /dev/null @@ -1,119 +0,0 @@ -# file : qt/mssql/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l: odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -#Build. -# -$(driver): $(cxx_obj) $(odb_qt.l) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mssql --profile qt \ ---generate-schema --table-prefix qt_mssql_template_ #@@ CHANGE THIS -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/qt/mssql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-qt4-vc8.vcproj \ -$(name)-qt4-vc9.vcproj $(name)-qt5-vc9.vcproj \ -$(name)-qt4-vc10.vcxproj $(name)-qt4-vc10.vcxproj.filters \ -$(name)-qt5-vc10.vcxproj $(name)-qt5-vc10.vcxproj.filters \ -$(name)-qt4-vc11.vcxproj $(name)-qt4-vc11.vcxproj.filters \ -$(name)-qt5-vc11.vcxproj $(name)-qt5-vc11.vcxproj.filters \ -$(name)-qt4-vc12.vcxproj $(name)-qt4-vc12.vcxproj.filters \ -$(name)-qt5-vc12.vcxproj $(name)-qt5-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-qt4-vc8.vcproj,$(name)-qt4-vc8.vcproj) - $(call meta-vc9proj,../template/template-qt4-vc9.vcproj,$(name)-qt4-vc9.vcproj) - $(call meta-vc9proj,../template/template-qt5-vc9.vcproj,$(name)-qt5-vc9.vcproj) - $(call meta-vc10proj,../template/template-qt4-vc10.vcxproj,$(name)-qt4-vc10.vcxproj) - $(call meta-vc10proj,../template/template-qt5-vc10.vcxproj,$(name)-qt5-vc10.vcxproj) - $(call meta-vc11proj,../template/template-qt4-vc11.vcxproj,$(name)-qt4-vc11.vcxproj) - $(call meta-vc11proj,../template/template-qt5-vc11.vcxproj,$(name)-qt5-vc11.vcxproj) - $(call meta-vc12proj,../template/template-qt4-vc12.vcxproj,$(name)-qt4-vc12.vcxproj) - $(call meta-vc12proj,../template/template-qt5-vc12.vcxproj,$(name)-qt5-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/mssql/template/test.std b/qt/mssql/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/mssql/test.bat b/qt/mssql/test.bat deleted file mode 100644 index 6e47030..0000000 --- a/qt/mssql/test.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -rem file : qt/mssql/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\..\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat mssql %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/qt/mysql/Makefile.am b/qt/mysql/Makefile.am deleted file mode 100644 index 674dd40..0000000 --- a/qt/mysql/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : qt/mysql/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/qt/mysql/basic/makefile b/qt/mysql/basic/makefile deleted file mode 100644 index 93696ad..0000000 --- a/qt/mysql/basic/makefile +++ /dev/null @@ -1,125 +0,0 @@ -# file : qt/mysql/basic/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l:odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libqt/core/stub.make,\ - l: qt_core.l,cpp-options: qt_core.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_qt.l) $(common.l) $(qt_core.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mysql --profile qt/basic \ ---generate-schema --table-prefix qt_mysql_basic_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/qt/mysql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-qt4-vc8.vcproj \ -$(name)-qt4-vc9.vcproj $(name)-qt5-vc9.vcproj \ -$(name)-qt4-vc10.vcxproj $(name)-qt4-vc10.vcxproj.filters \ -$(name)-qt5-vc10.vcxproj $(name)-qt5-vc10.vcxproj.filters \ -$(name)-qt4-vc11.vcxproj $(name)-qt4-vc11.vcxproj.filters \ -$(name)-qt5-vc11.vcxproj $(name)-qt5-vc11.vcxproj.filters \ -$(name)-qt4-vc12.vcxproj $(name)-qt4-vc12.vcxproj.filters \ -$(name)-qt5-vc12.vcxproj $(name)-qt5-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-qt4-vc8.vcproj,$(name)-qt4-vc8.vcproj) - $(call meta-vc9proj,../template/template-qt4-vc9.vcproj,$(name)-qt4-vc9.vcproj) - $(call meta-vc9proj,../template/template-qt5-vc9.vcproj,$(name)-qt5-vc9.vcproj) - $(call meta-vc10proj,../template/template-qt4-vc10.vcxproj,$(name)-qt4-vc10.vcxproj) - $(call meta-vc10proj,../template/template-qt5-vc10.vcxproj,$(name)-qt5-vc10.vcxproj) - $(call meta-vc11proj,../template/template-qt4-vc11.vcxproj,$(name)-qt4-vc11.vcxproj) - $(call meta-vc11proj,../template/template-qt5-vc11.vcxproj,$(name)-qt5-vc11.vcxproj) - $(call meta-vc12proj,../template/template-qt4-vc12.vcxproj,$(name)-qt4-vc12.vcxproj) - $(call meta-vc12proj,../template/template-qt5-vc12.vcxproj,$(name)-qt5-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/mysql/basic/test.std b/qt/mysql/basic/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/mysql/date-time/makefile b/qt/mysql/date-time/makefile deleted file mode 100644 index 1fe52fd..0000000 --- a/qt/mysql/date-time/makefile +++ /dev/null @@ -1,125 +0,0 @@ -# file : qt/mysql/date-time/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l: odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libqt/core/stub.make,\ - l: qt_core.l,cpp-options: qt_core.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) $(odb_qt.l) $(qt_core.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mysql --generate-schema \ ---generate-query --profile qt/date-time --table-prefix qt_mysql_dt_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/qt/mysql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-qt4-vc8.vcproj \ -$(name)-qt4-vc9.vcproj $(name)-qt5-vc9.vcproj \ -$(name)-qt4-vc10.vcxproj $(name)-qt4-vc10.vcxproj.filters \ -$(name)-qt5-vc10.vcxproj $(name)-qt5-vc10.vcxproj.filters \ -$(name)-qt4-vc11.vcxproj $(name)-qt4-vc11.vcxproj.filters \ -$(name)-qt5-vc11.vcxproj $(name)-qt5-vc11.vcxproj.filters \ -$(name)-qt4-vc12.vcxproj $(name)-qt4-vc12.vcxproj.filters \ -$(name)-qt5-vc12.vcxproj $(name)-qt5-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-qt4-vc8.vcproj,$(name)-qt4-vc8.vcproj) - $(call meta-vc9proj,../template/template-qt4-vc9.vcproj,$(name)-qt4-vc9.vcproj) - $(call meta-vc9proj,../template/template-qt5-vc9.vcproj,$(name)-qt5-vc9.vcproj) - $(call meta-vc10proj,../template/template-qt4-vc10.vcxproj,$(name)-qt4-vc10.vcxproj) - $(call meta-vc10proj,../template/template-qt5-vc10.vcxproj,$(name)-qt5-vc10.vcxproj) - $(call meta-vc11proj,../template/template-qt4-vc11.vcxproj,$(name)-qt4-vc11.vcxproj) - $(call meta-vc11proj,../template/template-qt5-vc11.vcxproj,$(name)-qt5-vc11.vcxproj) - $(call meta-vc12proj,../template/template-qt4-vc12.vcxproj,$(name)-qt4-vc12.vcxproj) - $(call meta-vc12proj,../template/template-qt5-vc12.vcxproj,$(name)-qt5-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/mysql/date-time/test.std b/qt/mysql/date-time/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/mysql/makefile b/qt/mysql/makefile deleted file mode 100644 index ea036fa..0000000 --- a/qt/mysql/makefile +++ /dev/null @@ -1,46 +0,0 @@ -# file : qt/mysql/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -tests := \ -basic \ -date-time \ -template - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) - -$(dist): name := qt-mysql -$(dist): export dirs := $(tests) -$(dist): export extra_dist := test.bat \ -$(name)-qt4-vc8.sln \ -$(name)-qt4-vc9.sln $(name)-qt5-vc9.sln \ -$(name)-qt4-vc10.sln $(name)-qt5-vc10.sln \ -$(name)-qt4-vc11.sln $(name)-qt5-vc11.sln \ -$(name)-qt4-vc12.sln $(name)-qt5-vc12.sln -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests))) - $(call meta-automake) - $(call meta-vc8sln1,$(name)-qt4,-qt4) - $(call meta-vc9sln1,$(name)-qt4,-qt4) - $(call meta-vc9sln1,$(name)-qt5,-qt5) - $(call meta-vc10sln1,$(name)-qt4,-qt4) - $(call meta-vc10sln1,$(name)-qt5,-qt5) - $(call meta-vc11sln1,$(name)-qt4,-qt4) - $(call meta-vc11sln1,$(name)-qt5,-qt5) - $(call meta-vc12sln1,$(name)-qt4,-qt4) - $(call meta-vc12sln1,$(name)-qt5,-qt5) - # Can't have Qt-version specific tests. - $(call meta-vctest,$(name)-qt4-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/qt/mysql/template/Makefile.am b/qt/mysql/template/Makefile.am deleted file mode 100644 index 819fe92..0000000 --- a/qt/mysql/template/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# file : qt/mysql/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< -) diff --git a/qt/mysql/template/makefile b/qt/mysql/template/makefile deleted file mode 100644 index 267908f..0000000 --- a/qt/mysql/template/makefile +++ /dev/null @@ -1,119 +0,0 @@ -# file : qt/mysql/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l: odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -#Build. -# -$(driver): $(cxx_obj) $(odb_qt.l) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database mysql --profile qt \ ---generate-schema --table-prefix qt_mysql_template_ #@@ CHANGE THIS -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/qt/mysql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-qt4-vc8.vcproj \ -$(name)-qt4-vc9.vcproj $(name)-qt5-vc9.vcproj \ -$(name)-qt4-vc10.vcxproj $(name)-qt4-vc10.vcxproj.filters \ -$(name)-qt5-vc10.vcxproj $(name)-qt5-vc10.vcxproj.filters \ -$(name)-qt4-vc11.vcxproj $(name)-qt4-vc11.vcxproj.filters \ -$(name)-qt5-vc11.vcxproj $(name)-qt5-vc11.vcxproj.filters \ -$(name)-qt4-vc12.vcxproj $(name)-qt4-vc12.vcxproj.filters \ -$(name)-qt5-vc12.vcxproj $(name)-qt5-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-qt4-vc8.vcproj,$(name)-qt4-vc8.vcproj) - $(call meta-vc9proj,../template/template-qt4-vc9.vcproj,$(name)-qt4-vc9.vcproj) - $(call meta-vc9proj,../template/template-qt5-vc9.vcproj,$(name)-qt5-vc9.vcproj) - $(call meta-vc10proj,../template/template-qt4-vc10.vcxproj,$(name)-qt4-vc10.vcxproj) - $(call meta-vc10proj,../template/template-qt5-vc10.vcxproj,$(name)-qt5-vc10.vcxproj) - $(call meta-vc11proj,../template/template-qt4-vc11.vcxproj,$(name)-qt4-vc11.vcxproj) - $(call meta-vc11proj,../template/template-qt5-vc11.vcxproj,$(name)-qt5-vc11.vcxproj) - $(call meta-vc12proj,../template/template-qt4-vc12.vcxproj,$(name)-qt4-vc12.vcxproj) - $(call meta-vc12proj,../template/template-qt5-vc12.vcxproj,$(name)-qt5-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/mysql/template/test.std b/qt/mysql/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/mysql/test.bat b/qt/mysql/test.bat deleted file mode 100644 index e927529..0000000 --- a/qt/mysql/test.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -rem file : qt/mysql/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\..\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat mysql %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/qt/oracle/Makefile.am b/qt/oracle/Makefile.am deleted file mode 100644 index 2a46a58..0000000 --- a/qt/oracle/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : qt/oracle/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/qt/oracle/basic/makefile b/qt/oracle/basic/makefile deleted file mode 100644 index 32df442..0000000 --- a/qt/oracle/basic/makefile +++ /dev/null @@ -1,125 +0,0 @@ -# file : qt/oracle/basic/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l:odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libqt/core/stub.make,\ - l: qt_core.l,cpp-options: qt_core.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_qt.l) $(common.l) $(qt_core.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database oracle --profile qt/basic \ ---generate-schema --table-prefix qt_oracle_basic_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/qt/oracle/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-qt4-vc8.vcproj \ -$(name)-qt4-vc9.vcproj $(name)-qt5-vc9.vcproj \ -$(name)-qt4-vc10.vcxproj $(name)-qt4-vc10.vcxproj.filters \ -$(name)-qt5-vc10.vcxproj $(name)-qt5-vc10.vcxproj.filters \ -$(name)-qt4-vc11.vcxproj $(name)-qt4-vc11.vcxproj.filters \ -$(name)-qt5-vc11.vcxproj $(name)-qt5-vc11.vcxproj.filters \ -$(name)-qt4-vc12.vcxproj $(name)-qt4-vc12.vcxproj.filters \ -$(name)-qt5-vc12.vcxproj $(name)-qt5-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-qt4-vc8.vcproj,$(name)-qt4-vc8.vcproj) - $(call meta-vc9proj,../template/template-qt4-vc9.vcproj,$(name)-qt4-vc9.vcproj) - $(call meta-vc9proj,../template/template-qt5-vc9.vcproj,$(name)-qt5-vc9.vcproj) - $(call meta-vc10proj,../template/template-qt4-vc10.vcxproj,$(name)-qt4-vc10.vcxproj) - $(call meta-vc10proj,../template/template-qt5-vc10.vcxproj,$(name)-qt5-vc10.vcxproj) - $(call meta-vc11proj,../template/template-qt4-vc11.vcxproj,$(name)-qt4-vc11.vcxproj) - $(call meta-vc11proj,../template/template-qt5-vc11.vcxproj,$(name)-qt5-vc11.vcxproj) - $(call meta-vc12proj,../template/template-qt4-vc12.vcxproj,$(name)-qt4-vc12.vcxproj) - $(call meta-vc12proj,../template/template-qt5-vc12.vcxproj,$(name)-qt5-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/oracle/basic/test.std b/qt/oracle/basic/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/oracle/date-time/makefile b/qt/oracle/date-time/makefile deleted file mode 100644 index f985090..0000000 --- a/qt/oracle/date-time/makefile +++ /dev/null @@ -1,125 +0,0 @@ -# file : qt/oracle/date-time/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l: odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libqt/core/stub.make,\ - l: qt_core.l,cpp-options: qt_core.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) $(odb_qt.l) $(qt_core.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database oracle --profile qt/date-time \ ---generate-schema --table-prefix qt_oracle_dt_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/qt/oracle/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-qt4-vc8.vcproj \ -$(name)-qt4-vc9.vcproj $(name)-qt5-vc9.vcproj \ -$(name)-qt4-vc10.vcxproj $(name)-qt4-vc10.vcxproj.filters \ -$(name)-qt5-vc10.vcxproj $(name)-qt5-vc10.vcxproj.filters \ -$(name)-qt4-vc11.vcxproj $(name)-qt4-vc11.vcxproj.filters \ -$(name)-qt5-vc11.vcxproj $(name)-qt5-vc11.vcxproj.filters \ -$(name)-qt4-vc12.vcxproj $(name)-qt4-vc12.vcxproj.filters \ -$(name)-qt5-vc12.vcxproj $(name)-qt5-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-qt4-vc8.vcproj,$(name)-qt4-vc8.vcproj) - $(call meta-vc9proj,../template/template-qt4-vc9.vcproj,$(name)-qt4-vc9.vcproj) - $(call meta-vc9proj,../template/template-qt5-vc9.vcproj,$(name)-qt5-vc9.vcproj) - $(call meta-vc10proj,../template/template-qt4-vc10.vcxproj,$(name)-qt4-vc10.vcxproj) - $(call meta-vc10proj,../template/template-qt5-vc10.vcxproj,$(name)-qt5-vc10.vcxproj) - $(call meta-vc11proj,../template/template-qt4-vc11.vcxproj,$(name)-qt4-vc11.vcxproj) - $(call meta-vc11proj,../template/template-qt5-vc11.vcxproj,$(name)-qt5-vc11.vcxproj) - $(call meta-vc12proj,../template/template-qt4-vc12.vcxproj,$(name)-qt4-vc12.vcxproj) - $(call meta-vc12proj,../template/template-qt5-vc12.vcxproj,$(name)-qt5-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/oracle/date-time/test.std b/qt/oracle/date-time/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/oracle/makefile b/qt/oracle/makefile deleted file mode 100644 index 8d99559..0000000 --- a/qt/oracle/makefile +++ /dev/null @@ -1,46 +0,0 @@ -# file : qt/oracle/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -tests := \ -basic \ -date-time \ -template - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) - -$(dist): name := qt-oracle -$(dist): export dirs := $(tests) -$(dist): export extra_dist := test.bat \ -$(name)-qt4-vc8.sln \ -$(name)-qt4-vc9.sln $(name)-qt5-vc9.sln \ -$(name)-qt4-vc10.sln $(name)-qt5-vc10.sln \ -$(name)-qt4-vc11.sln $(name)-qt5-vc11.sln \ -$(name)-qt4-vc12.sln $(name)-qt5-vc12.sln -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests))) - $(call meta-automake) - $(call meta-vc8sln1,$(name)-qt4,-qt4) - $(call meta-vc9sln1,$(name)-qt4,-qt4) - $(call meta-vc9sln1,$(name)-qt5,-qt5) - $(call meta-vc10sln1,$(name)-qt4,-qt4) - $(call meta-vc10sln1,$(name)-qt5,-qt5) - $(call meta-vc11sln1,$(name)-qt4,-qt4) - $(call meta-vc11sln1,$(name)-qt5,-qt5) - $(call meta-vc12sln1,$(name)-qt4,-qt4) - $(call meta-vc12sln1,$(name)-qt5,-qt5) - # Can't have Qt-version specific tests. - $(call meta-vctest,$(name)-qt4-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/qt/oracle/template/Makefile.am b/qt/oracle/template/Makefile.am deleted file mode 100644 index 27f30c7..0000000 --- a/qt/oracle/template/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# file : qt/oracle/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< -) diff --git a/qt/oracle/template/makefile b/qt/oracle/template/makefile deleted file mode 100644 index 89d2ced..0000000 --- a/qt/oracle/template/makefile +++ /dev/null @@ -1,119 +0,0 @@ -# file : qt/oracle/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l: odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -#Build. -# -$(driver): $(cxx_obj) $(odb_qt.l) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database oracle --profile qt \ ---generate-schema --table-prefix qt_oracle_template_ #@@ CHANGE THIS -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/qt/oracle/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-qt4-vc8.vcproj \ -$(name)-qt4-vc9.vcproj $(name)-qt5-vc9.vcproj \ -$(name)-qt4-vc10.vcxproj $(name)-qt4-vc10.vcxproj.filters \ -$(name)-qt5-vc10.vcxproj $(name)-qt5-vc10.vcxproj.filters \ -$(name)-qt4-vc11.vcxproj $(name)-qt4-vc11.vcxproj.filters \ -$(name)-qt5-vc11.vcxproj $(name)-qt5-vc11.vcxproj.filters \ -$(name)-qt4-vc12.vcxproj $(name)-qt4-vc12.vcxproj.filters \ -$(name)-qt5-vc12.vcxproj $(name)-qt5-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-qt4-vc8.vcproj,$(name)-qt4-vc8.vcproj) - $(call meta-vc9proj,../template/template-qt4-vc9.vcproj,$(name)-qt4-vc9.vcproj) - $(call meta-vc9proj,../template/template-qt5-vc9.vcproj,$(name)-qt5-vc9.vcproj) - $(call meta-vc10proj,../template/template-qt4-vc10.vcxproj,$(name)-qt4-vc10.vcxproj) - $(call meta-vc10proj,../template/template-qt5-vc10.vcxproj,$(name)-qt5-vc10.vcxproj) - $(call meta-vc11proj,../template/template-qt4-vc11.vcxproj,$(name)-qt4-vc11.vcxproj) - $(call meta-vc11proj,../template/template-qt5-vc11.vcxproj,$(name)-qt5-vc11.vcxproj) - $(call meta-vc12proj,../template/template-qt4-vc12.vcxproj,$(name)-qt4-vc12.vcxproj) - $(call meta-vc12proj,../template/template-qt5-vc12.vcxproj,$(name)-qt5-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/oracle/template/test.std b/qt/oracle/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/oracle/test.bat b/qt/oracle/test.bat deleted file mode 100644 index 6a1fd48..0000000 --- a/qt/oracle/test.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -rem file : qt/oracle/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\..\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat oracle %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/qt/pgsql/Makefile.am b/qt/pgsql/Makefile.am deleted file mode 100644 index 98b1489..0000000 --- a/qt/pgsql/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : qt/pgsql/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/qt/pgsql/basic/makefile b/qt/pgsql/basic/makefile deleted file mode 100644 index df5ac74..0000000 --- a/qt/pgsql/basic/makefile +++ /dev/null @@ -1,125 +0,0 @@ -# file : qt/pgsql/basic/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l:odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libqt/core/stub.make,\ - l: qt_core.l,cpp-options: qt_core.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_qt.l) $(common.l) $(qt_core.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database pgsql --profile qt/basic \ ---generate-schema --table-prefix qt_pgsql_basic_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/qt/pgsql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-qt4-vc8.vcproj \ -$(name)-qt4-vc9.vcproj $(name)-qt5-vc9.vcproj \ -$(name)-qt4-vc10.vcxproj $(name)-qt4-vc10.vcxproj.filters \ -$(name)-qt5-vc10.vcxproj $(name)-qt5-vc10.vcxproj.filters \ -$(name)-qt4-vc11.vcxproj $(name)-qt4-vc11.vcxproj.filters \ -$(name)-qt5-vc11.vcxproj $(name)-qt5-vc11.vcxproj.filters \ -$(name)-qt4-vc12.vcxproj $(name)-qt4-vc12.vcxproj.filters \ -$(name)-qt5-vc12.vcxproj $(name)-qt5-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-qt4-vc8.vcproj,$(name)-qt4-vc8.vcproj) - $(call meta-vc9proj,../template/template-qt4-vc9.vcproj,$(name)-qt4-vc9.vcproj) - $(call meta-vc9proj,../template/template-qt5-vc9.vcproj,$(name)-qt5-vc9.vcproj) - $(call meta-vc10proj,../template/template-qt4-vc10.vcxproj,$(name)-qt4-vc10.vcxproj) - $(call meta-vc10proj,../template/template-qt5-vc10.vcxproj,$(name)-qt5-vc10.vcxproj) - $(call meta-vc11proj,../template/template-qt4-vc11.vcxproj,$(name)-qt4-vc11.vcxproj) - $(call meta-vc11proj,../template/template-qt5-vc11.vcxproj,$(name)-qt5-vc11.vcxproj) - $(call meta-vc12proj,../template/template-qt4-vc12.vcxproj,$(name)-qt4-vc12.vcxproj) - $(call meta-vc12proj,../template/template-qt5-vc12.vcxproj,$(name)-qt5-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/pgsql/basic/test.std b/qt/pgsql/basic/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/pgsql/date-time/makefile b/qt/pgsql/date-time/makefile deleted file mode 100644 index 20b5d10..0000000 --- a/qt/pgsql/date-time/makefile +++ /dev/null @@ -1,125 +0,0 @@ -# file : qt/pgsql/date-time/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l: odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libqt/core/stub.make,\ - l: qt_core.l,cpp-options: qt_core.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) $(odb_qt.l) $(qt_core.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database pgsql --profile qt/date-time \ ---generate-schema --table-prefix qt_pgsql_dt_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/qt/pgsql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-qt4-vc8.vcproj \ -$(name)-qt4-vc9.vcproj $(name)-qt5-vc9.vcproj \ -$(name)-qt4-vc10.vcxproj $(name)-qt4-vc10.vcxproj.filters \ -$(name)-qt5-vc10.vcxproj $(name)-qt5-vc10.vcxproj.filters \ -$(name)-qt4-vc11.vcxproj $(name)-qt4-vc11.vcxproj.filters \ -$(name)-qt5-vc11.vcxproj $(name)-qt5-vc11.vcxproj.filters \ -$(name)-qt4-vc12.vcxproj $(name)-qt4-vc12.vcxproj.filters \ -$(name)-qt5-vc12.vcxproj $(name)-qt5-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-qt4-vc8.vcproj,$(name)-qt4-vc8.vcproj) - $(call meta-vc9proj,../template/template-qt4-vc9.vcproj,$(name)-qt4-vc9.vcproj) - $(call meta-vc9proj,../template/template-qt5-vc9.vcproj,$(name)-qt5-vc9.vcproj) - $(call meta-vc10proj,../template/template-qt4-vc10.vcxproj,$(name)-qt4-vc10.vcxproj) - $(call meta-vc10proj,../template/template-qt5-vc10.vcxproj,$(name)-qt5-vc10.vcxproj) - $(call meta-vc11proj,../template/template-qt4-vc11.vcxproj,$(name)-qt4-vc11.vcxproj) - $(call meta-vc11proj,../template/template-qt5-vc11.vcxproj,$(name)-qt5-vc11.vcxproj) - $(call meta-vc12proj,../template/template-qt4-vc12.vcxproj,$(name)-qt4-vc12.vcxproj) - $(call meta-vc12proj,../template/template-qt5-vc12.vcxproj,$(name)-qt5-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/pgsql/date-time/test.std b/qt/pgsql/date-time/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/pgsql/makefile b/qt/pgsql/makefile deleted file mode 100644 index 9c9ba58..0000000 --- a/qt/pgsql/makefile +++ /dev/null @@ -1,46 +0,0 @@ -# file : qt/pgsql/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -tests := \ -basic \ -date-time \ -template - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) - -$(dist): name := qt-pgsql -$(dist): export dirs := $(tests) -$(dist): export extra_dist := test.bat \ -$(name)-qt4-vc8.sln \ -$(name)-qt4-vc9.sln $(name)-qt5-vc9.sln \ -$(name)-qt4-vc10.sln $(name)-qt5-vc10.sln \ -$(name)-qt4-vc11.sln $(name)-qt5-vc11.sln \ -$(name)-qt4-vc12.sln $(name)-qt5-vc12.sln -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests))) - $(call meta-automake) - $(call meta-vc8sln1,$(name)-qt4,-qt4) - $(call meta-vc9sln1,$(name)-qt4,-qt4) - $(call meta-vc9sln1,$(name)-qt5,-qt5) - $(call meta-vc10sln1,$(name)-qt4,-qt4) - $(call meta-vc10sln1,$(name)-qt5,-qt5) - $(call meta-vc11sln1,$(name)-qt4,-qt4) - $(call meta-vc11sln1,$(name)-qt5,-qt5) - $(call meta-vc12sln1,$(name)-qt4,-qt4) - $(call meta-vc12sln1,$(name)-qt5,-qt5) - # Can't have Qt-version specific tests. - $(call meta-vctest,$(name)-qt4-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/qt/pgsql/template/Makefile.am b/qt/pgsql/template/Makefile.am deleted file mode 100644 index 470ecbf..0000000 --- a/qt/pgsql/template/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# file : qt/pgsql/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< -) diff --git a/qt/pgsql/template/makefile b/qt/pgsql/template/makefile deleted file mode 100644 index 22379c4..0000000 --- a/qt/pgsql/template/makefile +++ /dev/null @@ -1,119 +0,0 @@ -# file : qt/pgsql/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l: odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -#Build. -# -$(driver): $(cxx_obj) $(odb_qt.l) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database pgsql --profile qt \ ---generate-schema --table-prefix qt_pgsql_template_ #@@ CHANGE THIS -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/qt/pgsql/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-qt4-vc8.vcproj \ -$(name)-qt4-vc9.vcproj $(name)-qt5-vc9.vcproj \ -$(name)-qt4-vc10.vcxproj $(name)-qt4-vc10.vcxproj.filters \ -$(name)-qt5-vc10.vcxproj $(name)-qt5-vc10.vcxproj.filters \ -$(name)-qt4-vc11.vcxproj $(name)-qt4-vc11.vcxproj.filters \ -$(name)-qt5-vc11.vcxproj $(name)-qt5-vc11.vcxproj.filters \ -$(name)-qt4-vc12.vcxproj $(name)-qt4-vc12.vcxproj.filters \ -$(name)-qt5-vc12.vcxproj $(name)-qt5-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-qt4-vc8.vcproj,$(name)-qt4-vc8.vcproj) - $(call meta-vc9proj,../template/template-qt4-vc9.vcproj,$(name)-qt4-vc9.vcproj) - $(call meta-vc9proj,../template/template-qt5-vc9.vcproj,$(name)-qt5-vc9.vcproj) - $(call meta-vc10proj,../template/template-qt4-vc10.vcxproj,$(name)-qt4-vc10.vcxproj) - $(call meta-vc10proj,../template/template-qt5-vc10.vcxproj,$(name)-qt5-vc10.vcxproj) - $(call meta-vc11proj,../template/template-qt4-vc11.vcxproj,$(name)-qt4-vc11.vcxproj) - $(call meta-vc11proj,../template/template-qt5-vc11.vcxproj,$(name)-qt5-vc11.vcxproj) - $(call meta-vc12proj,../template/template-qt4-vc12.vcxproj,$(name)-qt4-vc12.vcxproj) - $(call meta-vc12proj,../template/template-qt5-vc12.vcxproj,$(name)-qt5-vc12.vcxproj) - -# Test. -# -$(eval $(call test-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/pgsql/template/test.std b/qt/pgsql/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/pgsql/test.bat b/qt/pgsql/test.bat deleted file mode 100644 index 8f144f8..0000000 --- a/qt/pgsql/test.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -rem file : qt/pgsql/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\..\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat pgsql %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/qt/sqlite/Makefile.am b/qt/sqlite/Makefile.am deleted file mode 100644 index 0ddfc7d..0000000 --- a/qt/sqlite/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : qt/sqlite/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/qt/sqlite/basic/makefile b/qt/sqlite/basic/makefile deleted file mode 100644 index 3719c98..0000000 --- a/qt/sqlite/basic/makefile +++ /dev/null @@ -1,125 +0,0 @@ -# file : qt/sqlite/basic/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l:odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libqt/core/stub.make,\ - l: qt_core.l,cpp-options: qt_core.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(odb_qt.l) $(common.l) $(qt_core.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database sqlite --profile qt/basic \ ---generate-schema --table-prefix qt_sqlite_basic_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/qt/sqlite/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-qt4-vc8.vcproj \ -$(name)-qt4-vc9.vcproj $(name)-qt5-vc9.vcproj \ -$(name)-qt4-vc10.vcxproj $(name)-qt4-vc10.vcxproj.filters \ -$(name)-qt5-vc10.vcxproj $(name)-qt5-vc10.vcxproj.filters \ -$(name)-qt4-vc11.vcxproj $(name)-qt4-vc11.vcxproj.filters \ -$(name)-qt5-vc11.vcxproj $(name)-qt5-vc11.vcxproj.filters \ -$(name)-qt4-vc12.vcxproj $(name)-qt4-vc12.vcxproj.filters \ -$(name)-qt5-vc12.vcxproj $(name)-qt5-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-qt4-vc8.vcproj,$(name)-qt4-vc8.vcproj) - $(call meta-vc9proj,../template/template-qt4-vc9.vcproj,$(name)-qt4-vc9.vcproj) - $(call meta-vc9proj,../template/template-qt5-vc9.vcproj,$(name)-qt5-vc9.vcproj) - $(call meta-vc10proj,../template/template-qt4-vc10.vcxproj,$(name)-qt4-vc10.vcxproj) - $(call meta-vc10proj,../template/template-qt5-vc10.vcxproj,$(name)-qt5-vc10.vcxproj) - $(call meta-vc11proj,../template/template-qt4-vc11.vcxproj,$(name)-qt4-vc11.vcxproj) - $(call meta-vc11proj,../template/template-qt5-vc11.vcxproj,$(name)-qt5-vc11.vcxproj) - $(call meta-vc12proj,../template/template-qt4-vc12.vcxproj,$(name)-qt4-vc12.vcxproj) - $(call meta-vc12proj,../template/template-qt5-vc12.vcxproj,$(name)-qt5-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/sqlite/basic/test.std b/qt/sqlite/basic/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/sqlite/date-time/makefile b/qt/sqlite/date-time/makefile deleted file mode 100644 index ec7c0ea..0000000 --- a/qt/sqlite/date-time/makefile +++ /dev/null @@ -1,125 +0,0 @@ -# file : qt/sqlite/date-time/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l: odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libqt/core/stub.make,\ - l: qt_core.l,cpp-options: qt_core.l.cpp-options) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) $(odb_qt.l) $(qt_core.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database sqlite --profile qt/date-time \ ---generate-schema --table-prefix qt_sqlite_dt_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) \ -$(qt_core.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/qt/sqlite/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-qt4-vc8.vcproj \ -$(name)-qt4-vc9.vcproj $(name)-qt5-vc9.vcproj \ -$(name)-qt4-vc10.vcxproj $(name)-qt4-vc10.vcxproj.filters \ -$(name)-qt5-vc10.vcxproj $(name)-qt5-vc10.vcxproj.filters \ -$(name)-qt4-vc11.vcxproj $(name)-qt4-vc11.vcxproj.filters \ -$(name)-qt5-vc11.vcxproj $(name)-qt5-vc11.vcxproj.filters \ -$(name)-qt4-vc12.vcxproj $(name)-qt4-vc12.vcxproj.filters \ -$(name)-qt5-vc12.vcxproj $(name)-qt5-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-qt4-vc8.vcproj,$(name)-qt4-vc8.vcproj) - $(call meta-vc9proj,../template/template-qt4-vc9.vcproj,$(name)-qt4-vc9.vcproj) - $(call meta-vc9proj,../template/template-qt5-vc9.vcproj,$(name)-qt5-vc9.vcproj) - $(call meta-vc10proj,../template/template-qt4-vc10.vcxproj,$(name)-qt4-vc10.vcxproj) - $(call meta-vc10proj,../template/template-qt5-vc10.vcxproj,$(name)-qt5-vc10.vcxproj) - $(call meta-vc11proj,../template/template-qt4-vc11.vcxproj,$(name)-qt4-vc11.vcxproj) - $(call meta-vc11proj,../template/template-qt5-vc11.vcxproj,$(name)-qt5-vc11.vcxproj) - $(call meta-vc12proj,../template/template-qt4-vc12.vcxproj,$(name)-qt4-vc12.vcxproj) - $(call meta-vc12proj,../template/template-qt5-vc12.vcxproj,$(name)-qt5-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/sqlite/date-time/test.std b/qt/sqlite/date-time/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/sqlite/makefile b/qt/sqlite/makefile deleted file mode 100644 index db8724c..0000000 --- a/qt/sqlite/makefile +++ /dev/null @@ -1,46 +0,0 @@ -# file : qt/sqlite/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -tests := \ -basic \ -date-time \ -template - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) - -$(dist): name := qt-sqlite -$(dist): export dirs := $(tests) -$(dist): export extra_dist := test.bat \ -$(name)-qt4-vc8.sln \ -$(name)-qt4-vc9.sln $(name)-qt5-vc9.sln \ -$(name)-qt4-vc10.sln $(name)-qt5-vc10.sln \ -$(name)-qt4-vc11.sln $(name)-qt5-vc11.sln \ -$(name)-qt4-vc12.sln $(name)-qt5-vc12.sln -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests))) - $(call meta-automake) - $(call meta-vc8sln1,$(name)-qt4,-qt4) - $(call meta-vc9sln1,$(name)-qt4,-qt4) - $(call meta-vc9sln1,$(name)-qt5,-qt5) - $(call meta-vc10sln1,$(name)-qt4,-qt4) - $(call meta-vc10sln1,$(name)-qt5,-qt5) - $(call meta-vc11sln1,$(name)-qt4,-qt4) - $(call meta-vc11sln1,$(name)-qt5,-qt5) - $(call meta-vc12sln1,$(name)-qt4,-qt4) - $(call meta-vc12sln1,$(name)-qt5,-qt5) - # Can't have Qt-version specific tests. - $(call meta-vctest,$(name)-qt4-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/qt/sqlite/template/Makefile.am b/qt/sqlite/template/Makefile.am deleted file mode 100644 index d28b0d3..0000000 --- a/qt/sqlite/template/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# file : qt/sqlite/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< -) diff --git a/qt/sqlite/template/makefile b/qt/sqlite/template/makefile deleted file mode 100644 index 480429f..0000000 --- a/qt/sqlite/template/makefile +++ /dev/null @@ -1,119 +0,0 @@ -# file : qt/sqlite/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -$(call import,\ - $(scf_root)/import/libodb-qt/stub.make,\ - l: odb_qt.l,cpp-options: odb_qt.l.cpp-options) - -#Build. -# -$(driver): $(cxx_obj) $(odb_qt.l) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) $(odb_qt.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database sqlite --profile qt \ ---generate-schema --table-prefix qt_sqlite_template_ #@@ CHANGE THIS -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) $(odb_qt.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/qt/sqlite/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-qt4-vc8.vcproj \ -$(name)-qt4-vc9.vcproj $(name)-qt5-vc9.vcproj \ -$(name)-qt4-vc10.vcxproj $(name)-qt4-vc10.vcxproj.filters \ -$(name)-qt5-vc10.vcxproj $(name)-qt5-vc10.vcxproj.filters \ -$(name)-qt4-vc11.vcxproj $(name)-qt4-vc11.vcxproj.filters \ -$(name)-qt5-vc11.vcxproj $(name)-qt5-vc11.vcxproj.filters \ -$(name)-qt4-vc12.vcxproj $(name)-qt4-vc12.vcxproj.filters \ -$(name)-qt5-vc12.vcxproj $(name)-qt5-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-qt4-vc8.vcproj,$(name)-qt4-vc8.vcproj) - $(call meta-vc9proj,../template/template-qt4-vc9.vcproj,$(name)-qt4-vc9.vcproj) - $(call meta-vc9proj,../template/template-qt5-vc9.vcproj,$(name)-qt5-vc9.vcproj) - $(call meta-vc10proj,../template/template-qt4-vc10.vcxproj,$(name)-qt4-vc10.vcxproj) - $(call meta-vc10proj,../template/template-qt5-vc10.vcxproj,$(name)-qt5-vc10.vcxproj) - $(call meta-vc11proj,../template/template-qt4-vc11.vcxproj,$(name)-qt4-vc11.vcxproj) - $(call meta-vc11proj,../template/template-qt5-vc11.vcxproj,$(name)-qt5-vc11.vcxproj) - $(call meta-vc12proj,../template/template-qt4-vc12.vcxproj,$(name)-qt4-vc12.vcxproj) - $(call meta-vc12proj,../template/template-qt5-vc12.vcxproj,$(name)-qt5-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/qt/sqlite/template/test.std b/qt/sqlite/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/qt/sqlite/test.bat b/qt/sqlite/test.bat deleted file mode 100644 index 80e0f03..0000000 --- a/qt/sqlite/test.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -rem file : qt/sqlite/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\..\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat sqlite %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/repositories.manifest b/repositories.manifest new file mode 100644 index 0000000..a5b9faa --- /dev/null +++ b/repositories.manifest @@ -0,0 +1,44 @@ +: 1 +summary: ODB test suite repository + +: +role: prerequisite +location: https://git.codesynthesis.com/odb/libodb.git##HEAD + +: +role: prerequisite +location: https://git.codesynthesis.com/odb/libodb-mysql.git##HEAD + +: +role: prerequisite +location: https://git.codesynthesis.com/odb/libodb-sqlite.git##HEAD + +: +role: prerequisite +location: https://git.codesynthesis.com/odb/libodb-pgsql.git##HEAD + +: +role: prerequisite +location: https://git.codesynthesis.com/odb/libodb-oracle.git##HEAD + +: +role: prerequisite +location: https://git.codesynthesis.com/odb/libodb-mssql.git##HEAD + +: +role: prerequisite +location: https://git.codesynthesis.com/odb/odb.git##HEAD + +# @@ TMP Uncomment when mysql package is added to mysql.git repository. +# +#: +#role: prerequisite +#location: https://git.build2.org/packaging/mysql/mysql.git##HEAD + +: +role: prerequisite +location: https://git.build2.org/packaging/sqlite/sqlite.git##HEAD + +: +role: prerequisite +location: https://git.build2.org/packaging/postgresql/postgresql.git##HEAD diff --git a/sqlite-driver.bat b/sqlite-driver.bat deleted file mode 100644 index c5f1187..0000000 --- a/sqlite-driver.bat +++ /dev/null @@ -1,2 +0,0 @@ -rem Client driver is not used for SQLite so you don't need to -rem change anything here. diff --git a/sqlite.options b/sqlite.options deleted file mode 100644 index 208a7d7..0000000 --- a/sqlite.options +++ /dev/null @@ -1,5 +0,0 @@ -# Sample SQLite options file used to run the tests. Adjust to -# match your SQLite setup. -# - ---database C:\Temp\odb_test.db diff --git a/sqlite.testscript b/sqlite.testscript new file mode 100644 index 0000000..986bb37 --- /dev/null +++ b/sqlite.testscript @@ -0,0 +1,10 @@ +# file : sqlite.testscript +# license : GNU GPL v2; see accompanying LICENSE file + +# Setup the test driver command line for the subsequent SQLite tests. +# +# Note that for SQLite the schema is created implicitly by the database object +# creation function called by the test driver. +# +test.arguments += ($multi ? 'sqlite' : ) $sqlite_options +test.cleanups += &odb-test.db # See database-options.testscript for details. diff --git a/sqlite/Makefile.am b/sqlite/Makefile.am deleted file mode 100644 index 998e823..0000000 --- a/sqlite/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# file : sqlite/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -SUBDIRS = __path__(dirs) -EXTRA_DIST = __file__(extra_dist) diff --git a/sqlite/attach/buildfile b/sqlite/attach/buildfile new file mode 100644 index 0000000..959f050 --- /dev/null +++ b/sqlite/attach/buildfile @@ -0,0 +1,32 @@ +# file : sqlite/attach/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($sqlite && !$multi || $build.meta_operation == 'dist') \ +"sqlite should be configured via config.odb_tests.database variable as a single database" + +import libodb = libodb%lib{odb} + +import libs = libodb-sqlite%lib{odb-sqlite} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix sqlitex_attach_ \ + --generate-schema \ + --default-database common \ + --generate-query \ + --schema main + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/sqlite/attach/driver.cxx b/sqlite/attach/driver.cxx index 8d0672f..25d279f 100644 --- a/sqlite/attach/driver.cxx +++ b/sqlite/attach/driver.cxx @@ -4,8 +4,7 @@ // Test attached database support. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include @@ -14,11 +13,14 @@ #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace sqlite = odb::sqlite; using namespace sqlite; @@ -28,7 +30,7 @@ main (int argc, char* argv[]) { try { - auto_ptr mdb (create_specific_database (argc, argv)); + unique_ptr mdb (create_specific_database (argc, argv)); { object o ("one"); @@ -58,7 +60,7 @@ main (int argc, char* argv[]) { transaction t (c->begin ()); - auto_ptr p (adb.load (o.id)); + unique_ptr p (adb.load (o.id)); t.commit (); assert (p->str == o.str); @@ -76,7 +78,7 @@ main (int argc, char* argv[]) typedef sqlite::query query; transaction t (c->begin ()); - auto_ptr p (adb.query_one (query::str == "two")); + unique_ptr p (adb.query_one (query::str == "two")); t.commit (); assert (p->str == o.str); @@ -90,7 +92,7 @@ main (int argc, char* argv[]) { transaction t (c->begin ()); - auto_ptr p (mdb->load (o.id)); + unique_ptr p (mdb->load (o.id)); t.commit (); assert (p.get () != 0); diff --git a/sqlite/attach/makefile b/sqlite/attach/makefile deleted file mode 100644 index 1ae325d..0000000 --- a/sqlite/attach/makefile +++ /dev/null @@ -1,108 +0,0 @@ -# file : sqlite/attach/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database sqlite --default-database \ -common --generate-query --generate-schema --table-prefix sqlitex_attach_ \ ---schema main -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/sqlite/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/sqlite/attach/test.std b/sqlite/attach/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/sqlite/attach/testscript b/sqlite/attach/testscript new file mode 100644 index 0000000..db5089d --- /dev/null +++ b/sqlite/attach/testscript @@ -0,0 +1,9 @@ +# file : sqlite/attach/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../sqlite.testscript + +: basics +: +$* diff --git a/sqlite/auto/buildfile b/sqlite/auto/buildfile new file mode 100644 index 0000000..2c70b7c --- /dev/null +++ b/sqlite/auto/buildfile @@ -0,0 +1,32 @@ +# file : sqlite/auto/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($sqlite && !$multi || $build.meta_operation == 'dist') \ +"sqlite should be configured via config.odb_tests.database variable as a single database" + +import libodb = libodb%lib{odb} + +import libs = libodb-sqlite%lib{odb-sqlite} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix sqlitex_auto_ \ + --generate-schema \ + --default-database common \ + --generate-query \ + --sqlite-lax-auto-id + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/sqlite/auto/driver.cxx b/sqlite/auto/driver.cxx index 4ac29b3..bcd42c1 100644 --- a/sqlite/auto/driver.cxx +++ b/sqlite/auto/driver.cxx @@ -4,18 +4,20 @@ // Test manual/automatic id assignment. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace sqlite = odb::sqlite; using namespace sqlite; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); // object // @@ -55,9 +57,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o1 (db->load (id1)); - auto_ptr o2 (db->load (id2)); - auto_ptr o3 (db->load (id3)); + unique_ptr o1 (db->load (id1)); + unique_ptr o2 (db->load (id2)); + unique_ptr o3 (db->load (id3)); t.commit (); assert (*o1->id_ == id1 && o1->str_ == "one"); diff --git a/sqlite/auto/makefile b/sqlite/auto/makefile deleted file mode 100644 index 6da7071..0000000 --- a/sqlite/auto/makefile +++ /dev/null @@ -1,108 +0,0 @@ -# file : sqlite/auto/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database sqlite --default-database \ -common --generate-query --generate-schema --table-prefix sqlitex_auto_ \ ---sqlite-lax-auto-id -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/sqlite/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/sqlite/auto/test.std b/sqlite/auto/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/sqlite/auto/testscript b/sqlite/auto/testscript new file mode 100644 index 0000000..a5a7da5 --- /dev/null +++ b/sqlite/auto/testscript @@ -0,0 +1,9 @@ +# file : sqlite/auto/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../sqlite.testscript + +: basics +: +$* diff --git a/sqlite/custom/buildfile b/sqlite/custom/buildfile new file mode 100644 index 0000000..3325762 --- /dev/null +++ b/sqlite/custom/buildfile @@ -0,0 +1,31 @@ +# file : sqlite/custom/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($sqlite && !$multi || $build.meta_operation == 'dist') \ +"sqlite should be configured via config.odb_tests.database variable as a single database" + +import libodb = libodb%lib{odb} + +import libs = libodb-sqlite%lib{odb-sqlite} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix sqlitex_custom_ \ + --generate-schema \ + --default-database common \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/sqlite/custom/driver.cxx b/sqlite/custom/driver.cxx index b53c0f6..0627708 100644 --- a/sqlite/custom/driver.cxx +++ b/sqlite/custom/driver.cxx @@ -4,18 +4,20 @@ // Test custom database type mapping in SQLite. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace sqlite = odb::sqlite; using namespace sqlite; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); object o (1); o.nv.push_back ("123"); // INTEGER @@ -44,7 +46,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); t.commit (); assert (o == *o1); @@ -62,7 +64,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); t.commit (); assert (o == *o1); diff --git a/sqlite/custom/makefile b/sqlite/custom/makefile deleted file mode 100644 index 39f1c76..0000000 --- a/sqlite/custom/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : sqlite/custom/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database sqlite --default-database \ -common --generate-schema --generate-query --table-prefix sqlitex_custom_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/sqlite/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/sqlite/custom/test.std b/sqlite/custom/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/sqlite/custom/testscript b/sqlite/custom/testscript new file mode 100644 index 0000000..53561ae --- /dev/null +++ b/sqlite/custom/testscript @@ -0,0 +1,9 @@ +# file : sqlite/custom/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../sqlite.testscript + +: basics +: +$* diff --git a/sqlite/database/buildfile b/sqlite/database/buildfile new file mode 100644 index 0000000..e74ab1a --- /dev/null +++ b/sqlite/database/buildfile @@ -0,0 +1,11 @@ +# file : sqlite/database/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($sqlite && !$multi || $build.meta_operation == 'dist') \ +"sqlite should be configured via config.odb_tests.database variable as a single database" + +import libs = libodb-sqlite%lib{odb-sqlite} + +exe{driver}: {hxx cxx}{*} $libs testscript + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/sqlite/database/driver.cxx b/sqlite/database/driver.cxx index d0fe198..5e16653 100644 --- a/sqlite/database/driver.cxx +++ b/sqlite/database/driver.cxx @@ -4,10 +4,11 @@ // Test that database constructors are unambiguous and some other things. // -#include - #include +#undef NDEBUG +#include + namespace sqlite = odb::sqlite; using namespace sqlite; diff --git a/sqlite/database/makefile b/sqlite/database/makefile deleted file mode 100644 index 4a2a5ef..0000000 --- a/sqlite/database/makefile +++ /dev/null @@ -1,83 +0,0 @@ -# file : sqlite/database/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/sqlite/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/sqlite/database/test.std b/sqlite/database/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/sqlite/database/testscript b/sqlite/database/testscript new file mode 100644 index 0000000..b9c0f5f --- /dev/null +++ b/sqlite/database/testscript @@ -0,0 +1,6 @@ +# file : sqlite/database/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +: basics +: +$* diff --git a/sqlite/makefile b/sqlite/makefile deleted file mode 100644 index a80d464..0000000 --- a/sqlite/makefile +++ /dev/null @@ -1,44 +0,0 @@ -# file : sqlite/makefile -# license : GNU GPL; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make - -tests := \ -template \ -attach \ -auto \ -custom \ -database \ -native \ -stream \ -transaction \ -truncation \ -types - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) - -$(dist): name := sqlite -$(dist): export dirs := $(tests) -$(dist): export extra_dist := $(name)-vc8.sln $(name)-vc9.sln \ -$(name)-vc10.sln $(name)-vc11.sln $(name)-vc12.sln test.bat -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests))) - $(call meta-automake) - $(call meta-vc8sln1,$(name)) - $(call meta-vc9sln1,$(name)) - $(call meta-vc10sln1,$(name)) - $(call meta-vc11sln1,$(name)) - $(call meta-vc12sln1,$(name)) - $(call meta-vctest,$(name)-vc10.sln,test.bat) - -$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) - -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) -$(call include,$(bld_root)/meta/automake.make) - -$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/sqlite/native/buildfile b/sqlite/native/buildfile new file mode 100644 index 0000000..49aa05b --- /dev/null +++ b/sqlite/native/buildfile @@ -0,0 +1,12 @@ +# file : sqlite/native/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($sqlite && !$multi || $build.meta_operation == 'dist') \ +"sqlite should be configured via config.odb_tests.database variable as a single database" + +import libs = libodb-sqlite%lib{odb-sqlite} +import libs += lib{common} + +exe{driver}: {hxx cxx}{*} $libs testscript + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/sqlite/native/driver.cxx b/sqlite/native/driver.cxx index 10a6b05..c87aa5d 100644 --- a/sqlite/native/driver.cxx +++ b/sqlite/native/driver.cxx @@ -4,14 +4,16 @@ // Test native SQL execution. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include + +#undef NDEBUG +#include using namespace std; namespace sqlite = odb::sqlite; @@ -22,7 +24,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db ( + unique_ptr db ( create_specific_database (argc, argv, false)); // Create the database schema. diff --git a/sqlite/native/makefile b/sqlite/native/makefile deleted file mode 100644 index c5434f0..0000000 --- a/sqlite/native/makefile +++ /dev/null @@ -1,83 +0,0 @@ -# file : sqlite/native/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/sqlite/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/sqlite/native/test.std b/sqlite/native/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/sqlite/native/testscript b/sqlite/native/testscript new file mode 100644 index 0000000..16f05e0 --- /dev/null +++ b/sqlite/native/testscript @@ -0,0 +1,9 @@ +# file : sqlite/native/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../sqlite.testscript + +: basics +: +$* diff --git a/sqlite/stream/buildfile b/sqlite/stream/buildfile new file mode 100644 index 0000000..fb8f605 --- /dev/null +++ b/sqlite/stream/buildfile @@ -0,0 +1,31 @@ +# file : sqlite/stream/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($sqlite && !$multi || $build.meta_operation == 'dist') \ +"sqlite should be configured via config.odb_tests.database variable as a single database" + +import libodb = libodb%lib{odb} +import libodb_sqlite = libodb-sqlite%lib{odb-sqlite} +import libs = lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb and +# libodb-sqlite libraries are resolved for the odb_compile ad hoc rule (see +# build/root.build for details). +# +libue{test-meta}: $libodb $libodb_sqlite + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix sqlitex_stream_ \ + --generate-schema \ + --default-database common \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/sqlite/stream/driver.cxx b/sqlite/stream/driver.cxx index 7049b8b..86522ec 100644 --- a/sqlite/stream/driver.cxx +++ b/sqlite/stream/driver.cxx @@ -5,8 +5,7 @@ // #include -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include @@ -15,11 +14,14 @@ #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace sqlite = odb::sqlite; using namespace sqlite; @@ -41,7 +43,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); string txt (1024 * 1024, 't'); vector blb (1024 * 1024, 'b'); @@ -80,7 +82,7 @@ main (int argc, char* argv[]) { transaction tx (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); print (p->t); print (p->b); @@ -169,7 +171,7 @@ main (int argc, char* argv[]) { transaction tx (db->begin ()); - auto_ptr p (db->load (o.id)); + unique_ptr p (db->load (o.id)); print (p->t); print (p->b); diff --git a/sqlite/stream/makefile b/sqlite/stream/makefile deleted file mode 100644 index 1a46b62..0000000 --- a/sqlite/stream/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : sqlite/stream/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database sqlite --default-database \ -common --generate-query --generate-schema --table-prefix sqlitex_stream_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/sqlite/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/sqlite/stream/test.std b/sqlite/stream/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/sqlite/stream/testscript b/sqlite/stream/testscript new file mode 100644 index 0000000..2b9f019 --- /dev/null +++ b/sqlite/stream/testscript @@ -0,0 +1,9 @@ +# file : sqlite/stream/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../sqlite.testscript + +: basics +: +$* diff --git a/sqlite/template/Makefile.am b/sqlite/template/Makefile.am deleted file mode 100644 index b922bf1..0000000 --- a/sqlite/template/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# file : sqlite/template/Makefile.am -# license : GNU GPL v2; see accompanying LICENSE file - -EXTRA_DIST = __file__(extra_dist) - -noinst_PROGRAMS = driver -driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) -LDADD = $(top_builddir)/libcommon/common/libcommon.la -AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' -AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' - -TESTS=$(top_builddir)/tester -TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; - -__ifelse__(__value__(odb_options),,, - -# ODB compilation. -# -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - -ODB = @ODB@ -ODBFLAGS = @ODBFLAGS@ -ODBCPPFLAGS = @ODBCPPFLAGS@ - -if HAVE_CXX11 -ODBFLAGS += --std c++11 -endif - -test-odb.hxx: test.hxx - $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< -) diff --git a/sqlite/template/driver.cxx b/sqlite/template/driver.cxx deleted file mode 100644 index 95fdfb0..0000000 --- a/sqlite/template/driver.cxx +++ /dev/null @@ -1,40 +0,0 @@ -// file : sqlite/template/driver.cxx -// license : GNU GPL v2; see accompanying LICENSE file - -// PLACE TEST DESCRIPTION HERE -// - -#include // std::auto_ptr -#include -#include - -#include -#include - -#include - -#include "test.hxx" -#include "test-odb.hxx" - -using namespace std; -namespace sqlite = odb::sqlite; -using namespace sqlite; - -int -main (int argc, char* argv[]) -{ - try - { - auto_ptr db (create_specific_database (argc, argv)); - - { - transaction t (db->begin ()); - t.commit (); - } - } - catch (const odb::exception& e) - { - cerr << e.what () << endl; - return 1; - } -} diff --git a/sqlite/template/makefile b/sqlite/template/makefile deleted file mode 100644 index 45ba099..0000000 --- a/sqlite/template/makefile +++ /dev/null @@ -1,108 +0,0 @@ -# file : sqlite/template/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database sqlite --default-database \ -common --generate-schema --table-prefix sqlitex_template_ #@@ CHANGE THIS -# Note: 'x' here is not a typo. -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/sqlite/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/sqlite/template/template-vc10.vcxproj b/sqlite/template/template-vc10.vcxproj deleted file mode 100644 index 8e11aa6..0000000 --- a/sqlite/template/template-vc10.vcxproj +++ /dev/null @@ -1,180 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {__uuid__()} - Win32Proj - __value__(name) - - - - Application - true - Unicode - - - Application - true - Unicode - - - Application - false - true - Unicode - - - Application - false - true - Unicode - - - - - - - - - - - - - - - - - - - true - $(Configuration)\ - driver - - - true - $(Platform)\$(Configuration)\ - driver - - - false - $(Configuration)\ - driver - - - false - $(Platform)\$(Configuration)\ - driver - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common-d.lib;odb-sqlite-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common-d.lib;odb-sqlite-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common.lib;odb-sqlite.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common.lib;odb-sqlite.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - -__ifelse__(__value__(odb_options),,, -m4_dnl - -__custom_build_entry__( -test.hxx, -odb test.hxx, -odb.exe --std c++11 __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1600 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) - ) - -__ifelse__(__value__(odb_options),,, -__header_entry__(test-odb.hxx) -__header_entry__(test-odb.ixx)) -__header_entries__(extra_headers) - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - - - - - diff --git a/sqlite/template/template-vc10.vcxproj.filters b/sqlite/template/template-vc10.vcxproj.filters deleted file mode 100644 index 8ac18a3..0000000 --- a/sqlite/template/template-vc10.vcxproj.filters +++ /dev/null @@ -1,25 +0,0 @@ - - - - - {__uuid__()} - cxx - - - {__uuid__()} - h;hxx;ixx;txx - - - -__ifelse__(__value__(odb_options),,, -__header_filter_entry__(test.hxx) -__header_filter_entry__(test-odb.hxx) -__header_filter_entry__(test-odb.ixx)) -__header_filter_entries__(extra_headers) - - -__source_filter_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_filter_entry__(test-odb.cxx)) -__source_filter_entries__(extra_sources) - - \ No newline at end of file diff --git a/sqlite/template/template-vc11.vcxproj b/sqlite/template/template-vc11.vcxproj deleted file mode 100644 index 54fc9ef..0000000 --- a/sqlite/template/template-vc11.vcxproj +++ /dev/null @@ -1,184 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {__uuid__()} - Win32Proj - __value__(name) - - - - Application - true - v110 - Unicode - - - Application - true - v110 - Unicode - - - Application - false - v110 - true - Unicode - - - Application - false - v110 - true - Unicode - - - - - - - - - - - - - - - - - - - true - $(Configuration)\ - driver - - - true - $(Platform)\$(Configuration)\ - driver - - - false - $(Configuration)\ - driver - - - false - $(Platform)\$(Configuration)\ - driver - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common-d.lib;odb-sqlite-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common-d.lib;odb-sqlite-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib\common.lib;odb-sqlite.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - - - $(SolutionDir)\..\libcommon\lib64\common.lib;odb-sqlite.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - -__ifelse__(__value__(odb_options),,, -m4_dnl - -__custom_build_entry__( -test.hxx, -odb test.hxx, -odb.exe --std c++11 __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1700 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) - ) - -__ifelse__(__value__(odb_options),,, -__header_entry__(test-odb.hxx) -__header_entry__(test-odb.ixx)) -__header_entries__(extra_headers) - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - - - - - diff --git a/sqlite/template/template-vc11.vcxproj.filters b/sqlite/template/template-vc11.vcxproj.filters deleted file mode 100644 index 8ac18a3..0000000 --- a/sqlite/template/template-vc11.vcxproj.filters +++ /dev/null @@ -1,25 +0,0 @@ - - - - - {__uuid__()} - cxx - - - {__uuid__()} - h;hxx;ixx;txx - - - -__ifelse__(__value__(odb_options),,, -__header_filter_entry__(test.hxx) -__header_filter_entry__(test-odb.hxx) -__header_filter_entry__(test-odb.ixx)) -__header_filter_entries__(extra_headers) - - -__source_filter_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_filter_entry__(test-odb.cxx)) -__source_filter_entries__(extra_sources) - - \ No newline at end of file diff --git a/sqlite/template/template-vc12.vcxproj b/sqlite/template/template-vc12.vcxproj deleted file mode 100644 index 09beff2..0000000 --- a/sqlite/template/template-vc12.vcxproj +++ /dev/null @@ -1,188 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {__uuid__()} - Win32Proj - __value__(name) - - - - Application - true - v120 - Unicode - - - Application - true - v120 - Unicode - - - Application - false - v120 - true - Unicode - - - Application - false - v120 - true - Unicode - - - - - - - - - - - - - - - - - - - true - $(Configuration)\ - driver - - - true - $(Platform)\$(Configuration)\ - driver - - - false - $(Configuration)\ - driver - - - false - $(Platform)\$(Configuration)\ - driver - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib\common-d.lib;odb-sqlite-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib64\common-d.lib;odb-sqlite-d.lib;odb-d.lib;%(AdditionalDependencies) - Console - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib\common.lib;odb-sqlite.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions) - $(SolutionDir)\..\libcommon - 4068;4355;4800;4290;%(DisableSpecificWarnings) - true - - - $(SolutionDir)\..\libcommon\lib64\common.lib;odb-sqlite.lib;odb.lib;%(AdditionalDependencies) - Console - true - true - true - - -__ifelse__(__value__(odb_options),,, -m4_dnl - -__custom_build_entry__( -test.hxx, -odb test.hxx, -odb.exe --std c++11 __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1700 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) - ) - -__ifelse__(__value__(odb_options),,, -__header_entry__(test-odb.hxx) -__header_entry__(test-odb.ixx)) -__header_entries__(extra_headers) - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - - - - - diff --git a/sqlite/template/template-vc12.vcxproj.filters b/sqlite/template/template-vc12.vcxproj.filters deleted file mode 100644 index 8ac18a3..0000000 --- a/sqlite/template/template-vc12.vcxproj.filters +++ /dev/null @@ -1,25 +0,0 @@ - - - - - {__uuid__()} - cxx - - - {__uuid__()} - h;hxx;ixx;txx - - - -__ifelse__(__value__(odb_options),,, -__header_filter_entry__(test.hxx) -__header_filter_entry__(test-odb.hxx) -__header_filter_entry__(test-odb.ixx)) -__header_filter_entries__(extra_headers) - - -__source_filter_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_filter_entry__(test-odb.cxx)) -__source_filter_entries__(extra_sources) - - \ No newline at end of file diff --git a/sqlite/template/template-vc8.vcproj b/sqlite/template/template-vc8.vcproj deleted file mode 100644 index ef608ba..0000000 --- a/sqlite/template/template-vc8.vcproj +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - - -__ifelse__(__value__(odb_options),,, -__file_entry_custom_build__( -test.hxx, -odb test.hxx, -odb.exe __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1400 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) -__file_entry__(test-odb.hxx) -__file_entry__(test-odb.ixx)) -__file_entries__(extra_headers) - - - - - diff --git a/sqlite/template/template-vc9.vcproj b/sqlite/template/template-vc9.vcproj deleted file mode 100644 index 960f086..0000000 --- a/sqlite/template/template-vc9.vcproj +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - - -__ifelse__(__value__(odb_options),,, -__file_entry_custom_build__( -test.hxx, -odb test.hxx, -odb.exe __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1500 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) -__file_entry__(test-odb.hxx) -__file_entry__(test-odb.ixx)) -__file_entries__(extra_headers) - - - - - diff --git a/sqlite/template/test.hxx b/sqlite/template/test.hxx deleted file mode 100644 index 63e07d5..0000000 --- a/sqlite/template/test.hxx +++ /dev/null @@ -1,25 +0,0 @@ -// file : sqlite/template/test.hxx -// license : GNU GPL v2; see accompanying LICENSE file - -#ifndef TEST_HXX -#define TEST_HXX - -#include - -#pragma db object -struct object -{ - object (unsigned long id) - : id_ (id) - { - } - - object () - { - } - - #pragma db id - unsigned long id_; -}; - -#endif // TEST_HXX diff --git a/sqlite/template/test.std b/sqlite/template/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/sqlite/test.bat b/sqlite/test.bat deleted file mode 100644 index ab29f82..0000000 --- a/sqlite/test.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -rem file : sqlite/test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat sqlite %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/sqlite/transaction/buildfile b/sqlite/transaction/buildfile new file mode 100644 index 0000000..e29092d --- /dev/null +++ b/sqlite/transaction/buildfile @@ -0,0 +1,30 @@ +# file : sqlite/transaction/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($sqlite && !$multi || $build.meta_operation == 'dist') \ +"sqlite should be configured via config.odb_tests.database variable as a single database" + +import libodb = libodb%lib{odb} + +import libs = libodb-sqlite%lib{odb-sqlite} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix sqlitex_transaction_ \ + --generate-schema \ + --default-database common + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/sqlite/transaction/driver.cxx b/sqlite/transaction/driver.cxx index 8eb8f2c..80a0804 100644 --- a/sqlite/transaction/driver.cxx +++ b/sqlite/transaction/driver.cxx @@ -4,18 +4,20 @@ // Test esoteric SQLite transaction semantics aspects. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace sqlite = odb::sqlite; using namespace sqlite; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); // In SQLite, when a commit fails because of the deferred foreign // key constraint violation, the transaction is not automatically diff --git a/sqlite/transaction/makefile b/sqlite/transaction/makefile deleted file mode 100644 index 14e4ca0..0000000 --- a/sqlite/transaction/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : sqlite/transaction/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database sqlite --default-database \ -common --generate-schema --table-prefix sqlitex_transaction_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/sqlite/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/sqlite/transaction/test.std b/sqlite/transaction/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/sqlite/transaction/testscript b/sqlite/transaction/testscript new file mode 100644 index 0000000..c3388cb --- /dev/null +++ b/sqlite/transaction/testscript @@ -0,0 +1,9 @@ +# file : sqlite/transaction/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../sqlite.testscript + +: basics +: +$* diff --git a/sqlite/truncation/buildfile b/sqlite/truncation/buildfile new file mode 100644 index 0000000..9a014e6 --- /dev/null +++ b/sqlite/truncation/buildfile @@ -0,0 +1,31 @@ +# file : sqlite/truncation/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($sqlite && !$multi || $build.meta_operation == 'dist') \ +"sqlite should be configured via config.odb_tests.database variable as a single database" + +import libodb = libodb%lib{odb} + +import libs = libodb-sqlite%lib{odb-sqlite} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix sqlitex_truncation_ \ + --generate-schema \ + --default-database common \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/sqlite/truncation/driver.cxx b/sqlite/truncation/driver.cxx index 5ab6c29..a2f6d66 100644 --- a/sqlite/truncation/driver.cxx +++ b/sqlite/truncation/driver.cxx @@ -4,18 +4,20 @@ // Test insufficient buffer/truncation handling. // -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace sqlite = odb::sqlite; using namespace sqlite; @@ -33,7 +35,7 @@ main (int argc, char* argv[]) // Test basic operations. // { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); // Run persist/load so that the initial bindings are established // (version == 0). @@ -71,7 +73,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o (db->load (3)); + unique_ptr o (db->load (3)); assert (o->str_ == long_str); t.commit (); } @@ -89,7 +91,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o (db->load (3)); + unique_ptr o (db->load (3)); assert (o->str_ == longer_str); t.commit (); } @@ -98,7 +100,7 @@ main (int argc, char* argv[]) // Test query. // { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); typedef sqlite::query query; typedef odb::result result; diff --git a/sqlite/truncation/makefile b/sqlite/truncation/makefile deleted file mode 100644 index 4e7e0e3..0000000 --- a/sqlite/truncation/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : sqlite/truncation/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database sqlite --default-database \ -common --generate-schema --generate-query --table-prefix sqlitex_truncation_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/sqlite/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/sqlite/truncation/test.std b/sqlite/truncation/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/sqlite/truncation/testscript b/sqlite/truncation/testscript new file mode 100644 index 0000000..97e04f7 --- /dev/null +++ b/sqlite/truncation/testscript @@ -0,0 +1,9 @@ +# file : sqlite/truncation/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../sqlite.testscript + +: basics +: +$* diff --git a/sqlite/types/buildfile b/sqlite/types/buildfile new file mode 100644 index 0000000..1bf719d --- /dev/null +++ b/sqlite/types/buildfile @@ -0,0 +1,32 @@ +# file : sqlite/types/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +assert ($sqlite && !$multi || $build.meta_operation == 'dist') \ +"sqlite should be configured via config.odb_tests.database variable as a single database" + +import libodb = libodb%lib{odb} + +import libs = libodb-sqlite%lib{odb-sqlite} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix sqlitex_types_ \ + --generate-schema \ + --default-database common \ + --generate-query \ + --cxx-prologue '#include "traits.hxx"' + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/sqlite/types/driver.cxx b/sqlite/types/driver.cxx index 8f25330..b444d94 100644 --- a/sqlite/types/driver.cxx +++ b/sqlite/types/driver.cxx @@ -5,18 +5,20 @@ // #include // std::numeric_limits -#include // std::auto_ptr -#include +#include // std::unique_ptr #include #include #include -#include +#include #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include + using namespace std; namespace sqlite = odb::sqlite; using namespace sqlite; @@ -26,7 +28,7 @@ main (int argc, char* argv[]) { try { - auto_ptr db (create_specific_database (argc, argv)); + unique_ptr db (create_specific_database (argc, argv)); object o (1); @@ -51,7 +53,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr o1 (db->load (1)); + unique_ptr o1 (db->load (1)); t.commit (); assert (o == *o1); @@ -92,9 +94,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr p1 (db->load (1)); - auto_ptr p2 (db->load (2)); - auto_ptr p3 (db->load (3)); + unique_ptr p1 (db->load (1)); + unique_ptr p2 (db->load (2)); + unique_ptr p3 (db->load (3)); t.commit (); assert (o1 == *p1); diff --git a/sqlite/types/makefile b/sqlite/types/makefile deleted file mode 100644 index f3810b2..0000000 --- a/sqlite/types/makefile +++ /dev/null @@ -1,109 +0,0 @@ -# file : sqlite/types/makefile -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -odb_hdr := test.hxx -genf := $(call odb-gen,$(odb_hdr)) -gen := $(addprefix $(out_base)/,$(genf)) -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) $(filter %.o,$(gen:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -common.l := $(out_root)/libcommon/common/common.l -common.l.cpp-options := $(out_root)/libcommon/common/common.l.cpp-options - -# Import. -# -$(call import,\ - $(scf_root)/import/odb/stub.make,\ - odb: odb,odb-rules: odb_rules) - -# Build. -# -$(driver): $(cxx_obj) $(common.l) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): $(common.l.cpp-options) - -$(gen): $(odb) -$(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database sqlite --default-database \ -common --generate-schema --generate-query --cxx-prologue \ -'\#include "traits.hxx"' --table-prefix sqlitex_types_ -$(gen): cpp_options := -I$(src_base) -$(gen): $(common.l.cpp-options) - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Dist -# -$(dist): sources := $(cxx_tun) -$(dist): headers := $(odb_hdr) -$(dist): export extra_headers := traits.hxx -$(dist): data_dist := test.std -$(dist): export name := $(subst /,-,$(subst $(src_root)/sqlite/,,$(src_base))) -$(dist): export extra_dist := $(data_dist) \ -$(name)-vc8.vcproj $(name)-vc9.vcproj \ -$(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \ -$(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters \ -$(name)-vc12.vcxproj $(name)-vc12.vcxproj.filters -$(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj) - $(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj) - $(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj) - $(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj) - $(call meta-vc12proj,../template/template-vc12.vcxproj,$(name)-vc12.vcxproj) - -# Test. -# -$(eval $(call test-schemaless-rule)) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addsuffix .hxx.clean,$(filter %.cxx,$(gen))) - $(call message,,rm -f $(out_base)/test.out) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/dist.make) -$(call include,$(bld_root)/meta/vc8proj.make) -$(call include,$(bld_root)/meta/vc9proj.make) -$(call include,$(bld_root)/meta/vc10proj.make) -$(call include,$(bld_root)/meta/vc11proj.make) -$(call include,$(bld_root)/meta/vc12proj.make) -$(call include,$(bld_root)/meta/automake.make) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): odb_options += --std $(cxx_standard) -$(call include,$(odb_rules)) -endif - -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/o-e.make) - -# Dependencies. -# -$(call import,$(src_root)/libcommon/makefile) diff --git a/sqlite/types/test.hxx b/sqlite/types/test.hxx index f642738..fe0b274 100644 --- a/sqlite/types/test.hxx +++ b/sqlite/types/test.hxx @@ -7,7 +7,7 @@ #include #include #include -#include // std::auto_ptr +#include // std::unique_ptr #include // std::memcpy, std::str[n]cmp, std::strlen #ifdef _WIN32 @@ -16,7 +16,7 @@ #include -typedef std::auto_ptr string_ptr; +typedef std::unique_ptr string_ptr; #pragma db object struct object diff --git a/sqlite/types/test.std b/sqlite/types/test.std deleted file mode 100644 index e69de29..0000000 diff --git a/sqlite/types/testscript b/sqlite/types/testscript new file mode 100644 index 0000000..5e50d32 --- /dev/null +++ b/sqlite/types/testscript @@ -0,0 +1,9 @@ +# file : sqlite/types/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../sqlite.testscript + +: basics +: +$* diff --git a/template-vc10.sln b/template-vc10.sln deleted file mode 100644 index 9a5dc32..0000000 --- a/template-vc10.sln +++ /dev/null @@ -1,15 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -__projects__ -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution -__solution_configurations__ - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution -__project_configurations__ - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/template-vc11.sln b/template-vc11.sln deleted file mode 100644 index 436eeea..0000000 --- a/template-vc11.sln +++ /dev/null @@ -1,15 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -__projects__ -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution -__solution_configurations__ - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution -__project_configurations__ - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/template-vc12.sln b/template-vc12.sln deleted file mode 100644 index 446d701..0000000 --- a/template-vc12.sln +++ /dev/null @@ -1,17 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.21005.1 -MinimumVisualStudioVersion = 10.0.40219.1 -__projects__ -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution -__solution_configurations__ - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution -__project_configurations__ - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/template-vc8.sln b/template-vc8.sln deleted file mode 100644 index f38bad2..0000000 --- a/template-vc8.sln +++ /dev/null @@ -1,15 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -__projects__ -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution -__solution_configurations__ - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution -__project_configurations__ - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/template-vc9.sln b/template-vc9.sln deleted file mode 100644 index 2ec9432..0000000 --- a/template-vc9.sln +++ /dev/null @@ -1,15 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -__projects__ -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution -__solution_configurations__ - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution -__project_configurations__ - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/test.bat b/test.bat deleted file mode 100644 index 3be39d4..0000000 --- a/test.bat +++ /dev/null @@ -1,66 +0,0 @@ -@echo off -rem file : test.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -rem -rem test.bat database -rem -rem Run tests built with VC++. -rem - -setlocal - -set "failed=" -set "curdir=%CD%" - -if "_%1_" == "__" ( - echo no database specified - goto usage -) - - -goto start - -rem -rem %1 - directory -rem %2 - database -rem -:run_test - echo. - echo testing %1 - echo. - cd %1 - call test.bat %2 - if errorlevel 1 set "failed=%failed% %1" - cd %curdir% -goto :eof - -:start - -for %%d in (common evolution %1 boost\common boost\%1 qt\common qt\%1) do ( - call :run_test %%d %1 -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL TESTS PASSED -echo. -goto end - -:usage -echo. -echo usage: test.bat database -echo. - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/tester.bat b/tester.bat deleted file mode 100644 index d5d667a..0000000 --- a/tester.bat +++ /dev/null @@ -1,73 +0,0 @@ -@echo off -rem file : tester.bat -rem license : GNU GPL v2; see accompanying LICENSE file - -rem -rem Run an ODB test. The test directory is the current directory. -rem -rem %1 database -rem %2 configuration, for example, Debug or Release -rem %3 platform, for example Win32 or x64 -rem topdir variable containing the path to top project directory -rem - -setlocal - -set "PATH=%topdir%\libcommon\bin64;%topdir%\libcommon\bin;%PATH%" - -if "_%DIFF%_" == "__" set DIFF=fc - -if "_%3_" == "_Win32_" ( - set "dir=%2" -) else ( - set "dir=%3\%2" -) - -rem Globbing returns files in alphabetic order. -rem -if exist test*.sql ( - for %%f in (test*.sql) do ( - call %topdir%\%1-driver.bat %%f - if errorlevel 1 goto error - ) -) - -if exist test-%1.std ( - set "std=test-%1.std" -) else ( - if exist test.std ( - set "std=test.std" - ) else ( - set "std=" - ) -) - -if "_%std%" == "__" ( - - %dir%\driver.exe --options-file %topdir%\%1.options - if errorlevel 1 goto error - -) else ( - - %dir%\driver.exe --options-file %topdir%\%1.options >test.out - if errorlevel 1 goto error - %DIFF% %std% test.out - - if errorlevel 1 ( - del /f test.out - goto error - ) - - del /f test.out - goto end - -) - -goto end - -:error -endlocal -exit /b 1 - -:end -endlocal diff --git a/tester.in b/tester.in deleted file mode 100755 index a83db1b..0000000 --- a/tester.in +++ /dev/null @@ -1,51 +0,0 @@ -#! /bin/sh - -# file : tester.in -# license : GNU GPL v2; see accompanying LICENSE file - -# -# Run an ODB test. The test driver is in the current directory. The -# data files, if any, are in $srcdir. -# - -db_driver="$top_builddir/@database@-driver" -db_options="$top_builddir/@database@.options" - -# Globbing returns files in alphabetic order. -# -for f in `echo test*.sql`; do - if test -f $f; then - $db_driver $f - - if test $? -ne 0; then - exit 1 - fi - fi -done - -echo ./driver --options-file "$db_options" - -std= -if test -f "$srcdir/test-@database@.std"; then - std="$srcdir/test-@database@.std" -elif test -f "$srcdir/test.std"; then - std="$srcdir/test.std" -else - std= -fi - -if test -n "$std"; then - ./driver --options-file "$db_options" >test.out - - if test $? -ne 0; then - rm -f test.out - exit 1 - fi - - @DIFF@ @DIFFFLAGS@ "$std" test.out - r=$? - rm -f test.out - exit $r -else - ./driver --options-file "$db_options" -fi diff --git a/version b/version deleted file mode 100644 index 6bc2f39..0000000 --- a/version +++ /dev/null @@ -1 +0,0 @@ -2.5.0-b.26 -- cgit v1.1