summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2024-01-22 15:58:08 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2024-01-24 17:02:47 +0300
commit823026b58211a4166de06ac243d978dcb9930271 (patch)
tree97b43039cb769f8bee410e8536f9f945f2825153
parentb56b9c6796d8853758f0f5967488260d61b788e2 (diff)
Turn odb repository into muti-package repository
Also remove the autoconf/make-based build system.
-rw-r--r--.gitattributes19
-rw-r--r--.gitignore32
-rw-r--r--INSTALL81
-rw-r--r--INSTALL-GIT79
-rw-r--r--Makefile.am8
-rwxr-xr-xbootstrap16
-rw-r--r--build/bootstrap.make96
-rw-r--r--build/export/odb/stub.make11
-rw-r--r--build/hxx/hxx-cxx.make58
-rw-r--r--build/import/cli/cli-cxx.make47
-rw-r--r--build/import/cli/configuration-rules.make13
-rwxr-xr-xbuild/import/cli/configure53
-rw-r--r--build/import/cli/stub.make28
-rw-r--r--build/import/libcutl/configuration-rules.make13
-rwxr-xr-xbuild/import/libcutl/configure53
-rw-r--r--build/import/libcutl/stub.make28
-rw-r--r--build/import/odb/configuration-rules.make13
-rwxr-xr-xbuild/import/odb/configure53
-rw-r--r--build/import/odb/hxx-cxx.make127
-rw-r--r--build/import/odb/stub.make28
-rw-r--r--buildfile13
-rw-r--r--configure.ac150
-rw-r--r--doc/Makefile.am7
-rw-r--r--doc/makefile80
-rw-r--r--m4/disable-rpath.m424
-rw-r--r--m4/gcc-plugin.m4133
-rw-r--r--m4/libcutl.m481
-rw-r--r--m4/libtool-link.m445
-rw-r--r--makefile34
-rw-r--r--odb/.gitignore31
-rw-r--r--odb/GPLv3 (renamed from GPLv3)0
-rw-r--r--odb/INSTALL36
-rw-r--r--odb/LICENSE (renamed from LICENSE)0
-rw-r--r--odb/Makefile.am34
l---------odb/NEWS1
-rw-r--r--odb/README (renamed from README)0
-rw-r--r--odb/build/.gitignore (renamed from build/.gitignore)0
-rw-r--r--odb/build/bootstrap.build (renamed from build/bootstrap.build)0
-rw-r--r--odb/build/export.build (renamed from build/export.build)0
-rw-r--r--odb/build/root.build (renamed from build/root.build)0
-rw-r--r--odb/buildfile162
-rw-r--r--odb/doc/.gitignore (renamed from doc/.gitignore)0
-rw-r--r--odb/doc/buildfile (renamed from doc/buildfile)0
-rw-r--r--odb/doc/default.css (renamed from doc/default.css)0
-rw-r--r--odb/doc/manual.html2ps (renamed from doc/manual.html2ps)0
-rw-r--r--odb/doc/manual.xhtml (renamed from doc/manual.xhtml)0
-rw-r--r--odb/doc/odb-arch.png (renamed from doc/odb-arch.png)bin16883 -> 16883 bytes
-rw-r--r--odb/doc/odb-arch.svg (renamed from doc/odb-arch.svg)0
-rw-r--r--odb/doc/odb-epilogue.1 (renamed from doc/odb-epilogue.1)0
-rw-r--r--odb/doc/odb-epilogue.xhtml (renamed from doc/odb-epilogue.xhtml)0
-rw-r--r--odb/doc/odb-flow.png (renamed from doc/odb-flow.png)bin39092 -> 39092 bytes
-rw-r--r--odb/doc/odb-flow.svg (renamed from doc/odb-flow.svg)0
-rw-r--r--odb/doc/odb-prologue.1 (renamed from doc/odb-prologue.1)0
-rw-r--r--odb/doc/odb-prologue.xhtml (renamed from doc/odb-prologue.xhtml)0
-rw-r--r--odb/doc/pregenerated/odb.1 (renamed from doc/pregenerated/odb.1)2
-rw-r--r--odb/doc/pregenerated/odb.xhtml (renamed from doc/pregenerated/odb.xhtml)4
-rw-r--r--odb/makefile317
-rw-r--r--odb/manifest (renamed from manifest)0
-rw-r--r--odb/odb/.gitignore2
-rw-r--r--odb/odb/buildfile161
-rw-r--r--odb/odb/common-query.cxx (renamed from odb/common-query.cxx)0
-rw-r--r--odb/odb/common-query.hxx (renamed from odb/common-query.hxx)0
-rw-r--r--odb/odb/common.cxx (renamed from odb/common.cxx)0
-rw-r--r--odb/odb/common.hxx (renamed from odb/common.hxx)0
-rw-r--r--odb/odb/context.cxx (renamed from odb/context.cxx)0
-rw-r--r--odb/odb/context.hxx (renamed from odb/context.hxx)0
-rw-r--r--odb/odb/context.ixx (renamed from odb/context.ixx)0
-rw-r--r--odb/odb/cxx-lexer.cxx (renamed from odb/cxx-lexer.cxx)0
-rw-r--r--odb/odb/cxx-lexer.hxx (renamed from odb/cxx-lexer.hxx)0
-rw-r--r--odb/odb/cxx-token.hxx (renamed from odb/cxx-token.hxx)0
-rw-r--r--odb/odb/diagnostics.cxx (renamed from odb/diagnostics.cxx)0
-rw-r--r--odb/odb/diagnostics.hxx (renamed from odb/diagnostics.hxx)0
-rw-r--r--odb/odb/emitter.cxx (renamed from odb/emitter.cxx)0
-rw-r--r--odb/odb/emitter.hxx (renamed from odb/emitter.hxx)0
-rw-r--r--odb/odb/features.hxx (renamed from odb/features.hxx)0
-rw-r--r--odb/odb/gcc-fwd.hxx (renamed from odb/gcc-fwd.hxx)0
-rw-r--r--odb/odb/gcc.hxx (renamed from odb/gcc.hxx)0
-rw-r--r--odb/odb/generate.hxx (renamed from odb/generate.hxx)0
-rw-r--r--odb/odb/generator.cxx (renamed from odb/generator.cxx)0
-rw-r--r--odb/odb/generator.hxx (renamed from odb/generator.hxx)0
-rw-r--r--odb/odb/header.cxx (renamed from odb/header.cxx)0
-rw-r--r--odb/odb/include.cxx (renamed from odb/include.cxx)0
-rw-r--r--odb/odb/inline.cxx (renamed from odb/inline.cxx)0
-rw-r--r--odb/odb/instance.cxx (renamed from odb/instance.cxx)0
-rw-r--r--odb/odb/instance.hxx (renamed from odb/instance.hxx)0
-rw-r--r--odb/odb/location.cxx (renamed from odb/location.cxx)0
-rw-r--r--odb/odb/location.hxx (renamed from odb/location.hxx)0
-rw-r--r--odb/odb/lookup.cxx (renamed from odb/lookup.cxx)0
-rw-r--r--odb/odb/lookup.hxx (renamed from odb/lookup.hxx)0
-rw-r--r--odb/odb/odb.cxx (renamed from odb/odb.cxx)0
-rw-r--r--odb/odb/option-functions.cxx (renamed from odb/option-functions.cxx)0
-rw-r--r--odb/odb/option-functions.hxx (renamed from odb/option-functions.hxx)0
-rw-r--r--odb/odb/option-parsers.hxx (renamed from odb/option-parsers.hxx)0
-rw-r--r--odb/odb/option-types.cxx (renamed from odb/option-types.cxx)0
-rw-r--r--odb/odb/option-types.hxx (renamed from odb/option-types.hxx)0
-rw-r--r--odb/odb/options.cli (renamed from odb/options.cli)0
-rw-r--r--odb/odb/parser.cxx (renamed from odb/parser.cxx)0
-rw-r--r--odb/odb/parser.hxx (renamed from odb/parser.hxx)0
-rw-r--r--odb/odb/plugin.cxx (renamed from odb/plugin.cxx)0
-rw-r--r--odb/odb/pragma.cxx (renamed from odb/pragma.cxx)0
-rw-r--r--odb/odb/pragma.hxx (renamed from odb/pragma.hxx)0
-rw-r--r--odb/odb/pregenerated/odb/options.cxx (renamed from odb/pregenerated/odb/options.cxx)0
-rw-r--r--odb/odb/pregenerated/odb/options.hxx (renamed from odb/pregenerated/odb/options.hxx)0
-rw-r--r--odb/odb/pregenerated/odb/options.ixx (renamed from odb/pregenerated/odb/options.ixx)0
-rw-r--r--odb/odb/processor.cxx (renamed from odb/processor.cxx)0
-rw-r--r--odb/odb/processor.hxx (renamed from odb/processor.hxx)0
-rw-r--r--odb/odb/profile.cxx (renamed from odb/profile.cxx)0
-rw-r--r--odb/odb/profile.hxx (renamed from odb/profile.hxx)0
-rw-r--r--odb/odb/relational/changelog.cxx (renamed from odb/relational/changelog.cxx)0
-rw-r--r--odb/odb/relational/common-query.cxx (renamed from odb/relational/common-query.cxx)0
-rw-r--r--odb/odb/relational/common-query.hxx (renamed from odb/relational/common-query.hxx)0
-rw-r--r--odb/odb/relational/common.cxx (renamed from odb/relational/common.cxx)0
-rw-r--r--odb/odb/relational/common.hxx (renamed from odb/relational/common.hxx)0
-rw-r--r--odb/odb/relational/common.txx (renamed from odb/relational/common.txx)0
-rw-r--r--odb/odb/relational/context.cxx (renamed from odb/relational/context.cxx)0
-rw-r--r--odb/odb/relational/context.hxx (renamed from odb/relational/context.hxx)0
-rw-r--r--odb/odb/relational/context.ixx (renamed from odb/relational/context.ixx)0
-rw-r--r--odb/odb/relational/generate.hxx (renamed from odb/relational/generate.hxx)0
-rw-r--r--odb/odb/relational/header.cxx (renamed from odb/relational/header.cxx)0
-rw-r--r--odb/odb/relational/header.hxx (renamed from odb/relational/header.hxx)0
-rw-r--r--odb/odb/relational/inline.cxx (renamed from odb/relational/inline.cxx)0
-rw-r--r--odb/odb/relational/inline.hxx (renamed from odb/relational/inline.hxx)0
-rw-r--r--odb/odb/relational/model.cxx (renamed from odb/relational/model.cxx)0
-rw-r--r--odb/odb/relational/model.hxx (renamed from odb/relational/model.hxx)0
-rw-r--r--odb/odb/relational/mssql/common.cxx (renamed from odb/relational/mssql/common.cxx)0
-rw-r--r--odb/odb/relational/mssql/common.hxx (renamed from odb/relational/mssql/common.hxx)0
-rw-r--r--odb/odb/relational/mssql/context.cxx (renamed from odb/relational/mssql/context.cxx)0
-rw-r--r--odb/odb/relational/mssql/context.hxx (renamed from odb/relational/mssql/context.hxx)0
-rw-r--r--odb/odb/relational/mssql/header.cxx (renamed from odb/relational/mssql/header.cxx)0
-rw-r--r--odb/odb/relational/mssql/inline.cxx (renamed from odb/relational/mssql/inline.cxx)0
-rw-r--r--odb/odb/relational/mssql/model.cxx (renamed from odb/relational/mssql/model.cxx)0
-rw-r--r--odb/odb/relational/mssql/schema.cxx (renamed from odb/relational/mssql/schema.cxx)0
-rw-r--r--odb/odb/relational/mssql/source.cxx (renamed from odb/relational/mssql/source.cxx)0
-rw-r--r--odb/odb/relational/mysql/common.cxx (renamed from odb/relational/mysql/common.cxx)0
-rw-r--r--odb/odb/relational/mysql/common.hxx (renamed from odb/relational/mysql/common.hxx)0
-rw-r--r--odb/odb/relational/mysql/context.cxx (renamed from odb/relational/mysql/context.cxx)0
-rw-r--r--odb/odb/relational/mysql/context.hxx (renamed from odb/relational/mysql/context.hxx)0
-rw-r--r--odb/odb/relational/mysql/header.cxx (renamed from odb/relational/mysql/header.cxx)0
-rw-r--r--odb/odb/relational/mysql/inline.cxx (renamed from odb/relational/mysql/inline.cxx)0
-rw-r--r--odb/odb/relational/mysql/model.cxx (renamed from odb/relational/mysql/model.cxx)0
-rw-r--r--odb/odb/relational/mysql/schema.cxx (renamed from odb/relational/mysql/schema.cxx)0
-rw-r--r--odb/odb/relational/mysql/source.cxx (renamed from odb/relational/mysql/source.cxx)0
-rw-r--r--odb/odb/relational/oracle/common.cxx (renamed from odb/relational/oracle/common.cxx)0
-rw-r--r--odb/odb/relational/oracle/common.hxx (renamed from odb/relational/oracle/common.hxx)0
-rw-r--r--odb/odb/relational/oracle/context.cxx (renamed from odb/relational/oracle/context.cxx)0
-rw-r--r--odb/odb/relational/oracle/context.hxx (renamed from odb/relational/oracle/context.hxx)0
-rw-r--r--odb/odb/relational/oracle/header.cxx (renamed from odb/relational/oracle/header.cxx)0
-rw-r--r--odb/odb/relational/oracle/inline.cxx (renamed from odb/relational/oracle/inline.cxx)0
-rw-r--r--odb/odb/relational/oracle/model.cxx (renamed from odb/relational/oracle/model.cxx)0
-rw-r--r--odb/odb/relational/oracle/schema.cxx (renamed from odb/relational/oracle/schema.cxx)0
-rw-r--r--odb/odb/relational/oracle/source.cxx (renamed from odb/relational/oracle/source.cxx)0
-rw-r--r--odb/odb/relational/pgsql/common.cxx (renamed from odb/relational/pgsql/common.cxx)0
-rw-r--r--odb/odb/relational/pgsql/common.hxx (renamed from odb/relational/pgsql/common.hxx)0
-rw-r--r--odb/odb/relational/pgsql/context.cxx (renamed from odb/relational/pgsql/context.cxx)0
-rw-r--r--odb/odb/relational/pgsql/context.hxx (renamed from odb/relational/pgsql/context.hxx)0
-rw-r--r--odb/odb/relational/pgsql/header.cxx (renamed from odb/relational/pgsql/header.cxx)0
-rw-r--r--odb/odb/relational/pgsql/inline.cxx (renamed from odb/relational/pgsql/inline.cxx)0
-rw-r--r--odb/odb/relational/pgsql/model.cxx (renamed from odb/relational/pgsql/model.cxx)0
-rw-r--r--odb/odb/relational/pgsql/schema.cxx (renamed from odb/relational/pgsql/schema.cxx)0
-rw-r--r--odb/odb/relational/pgsql/source.cxx (renamed from odb/relational/pgsql/source.cxx)0
-rw-r--r--odb/odb/relational/processor.cxx (renamed from odb/relational/processor.cxx)0
-rw-r--r--odb/odb/relational/processor.hxx (renamed from odb/relational/processor.hxx)0
-rw-r--r--odb/odb/relational/schema-source.cxx (renamed from odb/relational/schema-source.cxx)0
-rw-r--r--odb/odb/relational/schema-source.hxx (renamed from odb/relational/schema-source.hxx)0
-rw-r--r--odb/odb/relational/schema.cxx (renamed from odb/relational/schema.cxx)0
-rw-r--r--odb/odb/relational/schema.hxx (renamed from odb/relational/schema.hxx)0
-rw-r--r--odb/odb/relational/source.cxx (renamed from odb/relational/source.cxx)0
-rw-r--r--odb/odb/relational/source.hxx (renamed from odb/relational/source.hxx)0
-rw-r--r--odb/odb/relational/sqlite/common.cxx (renamed from odb/relational/sqlite/common.cxx)0
-rw-r--r--odb/odb/relational/sqlite/common.hxx (renamed from odb/relational/sqlite/common.hxx)0
-rw-r--r--odb/odb/relational/sqlite/context.cxx (renamed from odb/relational/sqlite/context.cxx)0
-rw-r--r--odb/odb/relational/sqlite/context.hxx (renamed from odb/relational/sqlite/context.hxx)0
-rw-r--r--odb/odb/relational/sqlite/header.cxx (renamed from odb/relational/sqlite/header.cxx)0
-rw-r--r--odb/odb/relational/sqlite/inline.cxx (renamed from odb/relational/sqlite/inline.cxx)0
-rw-r--r--odb/odb/relational/sqlite/model.cxx (renamed from odb/relational/sqlite/model.cxx)0
-rw-r--r--odb/odb/relational/sqlite/schema.cxx (renamed from odb/relational/sqlite/schema.cxx)0
-rw-r--r--odb/odb/relational/sqlite/source.cxx (renamed from odb/relational/sqlite/source.cxx)0
-rw-r--r--odb/odb/relational/validator.cxx (renamed from odb/relational/validator.cxx)0
-rw-r--r--odb/odb/relational/validator.hxx (renamed from odb/relational/validator.hxx)0
-rw-r--r--odb/odb/semantics.hxx (renamed from odb/semantics.hxx)0
-rw-r--r--odb/odb/semantics/class-template.cxx (renamed from odb/semantics/class-template.cxx)0
-rw-r--r--odb/odb/semantics/class-template.hxx (renamed from odb/semantics/class-template.hxx)0
-rw-r--r--odb/odb/semantics/class.cxx (renamed from odb/semantics/class.cxx)0
-rw-r--r--odb/odb/semantics/class.hxx (renamed from odb/semantics/class.hxx)0
-rw-r--r--odb/odb/semantics/derived.cxx (renamed from odb/semantics/derived.cxx)0
-rw-r--r--odb/odb/semantics/derived.hxx (renamed from odb/semantics/derived.hxx)0
-rw-r--r--odb/odb/semantics/elements.cxx (renamed from odb/semantics/elements.cxx)0
-rw-r--r--odb/odb/semantics/elements.hxx (renamed from odb/semantics/elements.hxx)0
-rw-r--r--odb/odb/semantics/elements.ixx (renamed from odb/semantics/elements.ixx)0
-rw-r--r--odb/odb/semantics/enum.cxx (renamed from odb/semantics/enum.cxx)0
-rw-r--r--odb/odb/semantics/enum.hxx (renamed from odb/semantics/enum.hxx)0
-rw-r--r--odb/odb/semantics/fundamental.cxx (renamed from odb/semantics/fundamental.cxx)0
-rw-r--r--odb/odb/semantics/fundamental.hxx (renamed from odb/semantics/fundamental.hxx)0
-rw-r--r--odb/odb/semantics/namespace.cxx (renamed from odb/semantics/namespace.cxx)0
-rw-r--r--odb/odb/semantics/namespace.hxx (renamed from odb/semantics/namespace.hxx)0
-rw-r--r--odb/odb/semantics/relational.hxx (renamed from odb/semantics/relational.hxx)0
-rw-r--r--odb/odb/semantics/relational/changelog.cxx (renamed from odb/semantics/relational/changelog.cxx)0
-rw-r--r--odb/odb/semantics/relational/changelog.hxx (renamed from odb/semantics/relational/changelog.hxx)0
-rw-r--r--odb/odb/semantics/relational/changeset.cxx (renamed from odb/semantics/relational/changeset.cxx)0
-rw-r--r--odb/odb/semantics/relational/changeset.hxx (renamed from odb/semantics/relational/changeset.hxx)0
-rw-r--r--odb/odb/semantics/relational/column.cxx (renamed from odb/semantics/relational/column.cxx)0
-rw-r--r--odb/odb/semantics/relational/column.hxx (renamed from odb/semantics/relational/column.hxx)0
-rw-r--r--odb/odb/semantics/relational/deferrable.cxx (renamed from odb/semantics/relational/deferrable.cxx)0
-rw-r--r--odb/odb/semantics/relational/deferrable.hxx (renamed from odb/semantics/relational/deferrable.hxx)0
-rw-r--r--odb/odb/semantics/relational/elements.cxx (renamed from odb/semantics/relational/elements.cxx)0
-rw-r--r--odb/odb/semantics/relational/elements.hxx (renamed from odb/semantics/relational/elements.hxx)0
-rw-r--r--odb/odb/semantics/relational/elements.txx (renamed from odb/semantics/relational/elements.txx)0
-rw-r--r--odb/odb/semantics/relational/foreign-key.cxx (renamed from odb/semantics/relational/foreign-key.cxx)0
-rw-r--r--odb/odb/semantics/relational/foreign-key.hxx (renamed from odb/semantics/relational/foreign-key.hxx)0
-rw-r--r--odb/odb/semantics/relational/index.cxx (renamed from odb/semantics/relational/index.cxx)0
-rw-r--r--odb/odb/semantics/relational/index.hxx (renamed from odb/semantics/relational/index.hxx)0
-rw-r--r--odb/odb/semantics/relational/key.cxx (renamed from odb/semantics/relational/key.cxx)0
-rw-r--r--odb/odb/semantics/relational/key.hxx (renamed from odb/semantics/relational/key.hxx)0
-rw-r--r--odb/odb/semantics/relational/model.cxx (renamed from odb/semantics/relational/model.cxx)0
-rw-r--r--odb/odb/semantics/relational/model.hxx (renamed from odb/semantics/relational/model.hxx)0
-rw-r--r--odb/odb/semantics/relational/name.cxx (renamed from odb/semantics/relational/name.cxx)0
-rw-r--r--odb/odb/semantics/relational/name.hxx (renamed from odb/semantics/relational/name.hxx)0
-rw-r--r--odb/odb/semantics/relational/primary-key.cxx (renamed from odb/semantics/relational/primary-key.cxx)0
-rw-r--r--odb/odb/semantics/relational/primary-key.hxx (renamed from odb/semantics/relational/primary-key.hxx)0
-rw-r--r--odb/odb/semantics/relational/table.cxx (renamed from odb/semantics/relational/table.cxx)0
-rw-r--r--odb/odb/semantics/relational/table.hxx (renamed from odb/semantics/relational/table.hxx)0
-rw-r--r--odb/odb/semantics/template.cxx (renamed from odb/semantics/template.cxx)0
-rw-r--r--odb/odb/semantics/template.hxx (renamed from odb/semantics/template.hxx)0
-rw-r--r--odb/odb/semantics/union-template.cxx (renamed from odb/semantics/union-template.cxx)0
-rw-r--r--odb/odb/semantics/union-template.hxx (renamed from odb/semantics/union-template.hxx)0
-rw-r--r--odb/odb/semantics/union.cxx (renamed from odb/semantics/union.cxx)0
-rw-r--r--odb/odb/semantics/union.hxx (renamed from odb/semantics/union.hxx)0
-rw-r--r--odb/odb/semantics/unit.cxx (renamed from odb/semantics/unit.cxx)0
-rw-r--r--odb/odb/semantics/unit.hxx (renamed from odb/semantics/unit.hxx)0
-rw-r--r--odb/odb/source.cxx (renamed from odb/source.cxx)0
-rw-r--r--odb/odb/sql-lexer.cxx (renamed from odb/sql-lexer.cxx)0
-rw-r--r--odb/odb/sql-lexer.hxx (renamed from odb/sql-lexer.hxx)0
-rw-r--r--odb/odb/sql-lexer.ixx (renamed from odb/sql-lexer.ixx)0
-rw-r--r--odb/odb/sql-token.cxx (renamed from odb/sql-token.cxx)0
-rw-r--r--odb/odb/sql-token.hxx (renamed from odb/sql-token.hxx)0
-rw-r--r--odb/odb/sql-token.ixx (renamed from odb/sql-token.ixx)0
-rw-r--r--odb/odb/traversal.hxx (renamed from odb/traversal.hxx)0
-rw-r--r--odb/odb/traversal/class-template.cxx (renamed from odb/traversal/class-template.cxx)0
-rw-r--r--odb/odb/traversal/class-template.hxx (renamed from odb/traversal/class-template.hxx)0
-rw-r--r--odb/odb/traversal/class.cxx (renamed from odb/traversal/class.cxx)0
-rw-r--r--odb/odb/traversal/class.hxx (renamed from odb/traversal/class.hxx)0
-rw-r--r--odb/odb/traversal/derived.cxx (renamed from odb/traversal/derived.cxx)0
-rw-r--r--odb/odb/traversal/derived.hxx (renamed from odb/traversal/derived.hxx)0
-rw-r--r--odb/odb/traversal/elements.cxx (renamed from odb/traversal/elements.cxx)0
-rw-r--r--odb/odb/traversal/elements.hxx (renamed from odb/traversal/elements.hxx)0
-rw-r--r--odb/odb/traversal/enum.cxx (renamed from odb/traversal/enum.cxx)0
-rw-r--r--odb/odb/traversal/enum.hxx (renamed from odb/traversal/enum.hxx)0
-rw-r--r--odb/odb/traversal/fundamental.hxx (renamed from odb/traversal/fundamental.hxx)0
-rw-r--r--odb/odb/traversal/namespace.hxx (renamed from odb/traversal/namespace.hxx)0
-rw-r--r--odb/odb/traversal/relational.hxx (renamed from odb/traversal/relational.hxx)0
-rw-r--r--odb/odb/traversal/relational/changelog.cxx (renamed from odb/traversal/relational/changelog.cxx)0
-rw-r--r--odb/odb/traversal/relational/changelog.hxx (renamed from odb/traversal/relational/changelog.hxx)0
-rw-r--r--odb/odb/traversal/relational/changeset.hxx (renamed from odb/traversal/relational/changeset.hxx)0
-rw-r--r--odb/odb/traversal/relational/column.hxx (renamed from odb/traversal/relational/column.hxx)0
-rw-r--r--odb/odb/traversal/relational/elements.hxx (renamed from odb/traversal/relational/elements.hxx)0
-rw-r--r--odb/odb/traversal/relational/foreign-key.hxx (renamed from odb/traversal/relational/foreign-key.hxx)0
-rw-r--r--odb/odb/traversal/relational/index.hxx (renamed from odb/traversal/relational/index.hxx)0
-rw-r--r--odb/odb/traversal/relational/key.cxx (renamed from odb/traversal/relational/key.cxx)0
-rw-r--r--odb/odb/traversal/relational/key.hxx (renamed from odb/traversal/relational/key.hxx)0
-rw-r--r--odb/odb/traversal/relational/model.hxx (renamed from odb/traversal/relational/model.hxx)0
-rw-r--r--odb/odb/traversal/relational/primary-key.hxx (renamed from odb/traversal/relational/primary-key.hxx)0
-rw-r--r--odb/odb/traversal/relational/table.hxx (renamed from odb/traversal/relational/table.hxx)0
-rw-r--r--odb/odb/traversal/template.cxx (renamed from odb/traversal/template.cxx)0
-rw-r--r--odb/odb/traversal/template.hxx (renamed from odb/traversal/template.hxx)0
-rw-r--r--odb/odb/traversal/union-template.cxx (renamed from odb/traversal/union-template.cxx)0
-rw-r--r--odb/odb/traversal/union-template.hxx (renamed from odb/traversal/union-template.hxx)0
-rw-r--r--odb/odb/traversal/union.hxx (renamed from odb/traversal/union.hxx)0
-rw-r--r--odb/odb/traversal/unit.hxx (renamed from odb/traversal/unit.hxx)0
-rw-r--r--odb/odb/validator.cxx (renamed from odb/validator.cxx)0
-rw-r--r--odb/odb/validator.hxx (renamed from odb/validator.hxx)0
-rw-r--r--odb/odb/version.hxx (renamed from odb/version.hxx)0
-rw-r--r--odb/tests/.gitignore (renamed from tests/.gitignore)0
-rw-r--r--odb/tests/build/.gitignore (renamed from tests/build/.gitignore)0
-rw-r--r--odb/tests/build/bootstrap.build (renamed from tests/build/bootstrap.build)0
-rw-r--r--odb/tests/build/root.build (renamed from tests/build/root.build)0
-rw-r--r--odb/tests/buildfile (renamed from tests/buildfile)0
-rw-r--r--odb/tests/testscript (renamed from tests/testscript)0
-rw-r--r--packages.manifest2
-rw-r--r--version1
279 files changed, 263 insertions, 1913 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..1631641
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,19 @@
+# This is a good default: files that are auto-detected by git to be text are
+# converted to the platform-native line ending (LF on Unix, CRLF on Windows)
+# in the working tree and to LF in the repository.
+#
+* text=auto
+
+# Use `eol=crlf` for files that should have the CRLF line ending both in the
+# working tree (even on Unix) and in the repository.
+#
+#*.bat text eol=crlf
+
+# Use `eol=lf` for files that should have the LF line ending both in the
+# working tree (even on Windows) and in the repository.
+#
+#*.sh text eol=lf
+
+# Use `binary` to make sure certain files are never auto-detected as text.
+#
+#*.png binary
diff --git a/.gitignore b/.gitignore
index 6c5bf86..13d880b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,33 +1 @@
.bdep/
-
-# Compiler/linker output.
-#
-*.d
-*.t
-*.i
-*.ii
-*.o
-*.obj
-*.so
-*.dll
-*.a
-*.lib
-*.exp
-*.pdb
-*.ilk
-*.exe
-*.exe.dlls/
-*.exe.manifest
-*.pc
-
-*.l
-*.l.cpp-options
-
-# Generated documentation.
-#
-*.pdf
-*.ps
-
-# Generated build system files.
-#
-*-dynamic.make
diff --git a/INSTALL b/INSTALL
deleted file mode 100644
index e2e1b0e..0000000
--- a/INSTALL
+++ /dev/null
@@ -1,81 +0,0 @@
-Prerequisites
-=============
-
- - GNU g++ >= 4.5.0 http://gcc.gnu.org/
- - libcutl >= 1.9.0 http://www.codesynthesis.com/projects/libcutl/
-
-ODB requires the GCC compiler (g++) to be built with plugin support.
-If you are building GCC yourself, you can enable plugin support with
-the --enable-plugin configure option. If you are using a pre-packaged
-GCC (for example, as part of your distribution), then you can verify
-that GCC was built with plugin support by running g++ with the -v
-option and then making sure --enable-plugin is present in the output.
-
-Note also that for pre-packaged GCC, plugin headers are usually
-distributed in a separate package, normally called gcc-plugin-dev
-or similar. You will need to install this package in order to build
-ODB. For Debian/Ubuntu, this package is called gcc-X.Y-plugin-dev,
-for example:
-
-apt-get install gcc-4.7-plugin-dev
-
-For RedHat/Fedora, this package is called gcc-plugin-devel, for
-example:
-
-yum install gcc-plugin-devel
-
-
-Building on UNIX
-================
-
-The following build instructions are for the Linux/UNIX/Mac OS X
-operating systems.
-
-The standard autotools-based build system is used on these platforms.
-After unpacking the source code archive, change to the odb package
-directory (referred to as odb/ from now on) and run the configure
-script:
-
-./configure
-
-To see the available configuration options run configure with --help:
-
-./configure --help
-
-The configure script expects the libcutl 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 libcutl is
-installed in another directory, you can use the CPPFLAGS and LDFLAGS
-configure variables to specify its location, for example:
-
-./configure CPPFLAGS=-I/opt/libcutl/include LDFLAGS=-L/opt/libcutl/lib
-
-If libcutl is not installed and you would like to use its build
-directory instead, you can use the --with-libcutl configure option
-to specify its location, for example:
-
-./configure --with-libcutl=/tmp/libcutl
-
-As another example, the following configure command uses the specified
-GNU g++ compiler and compiles with optimization and without debug
-information:
-
-./configure CXX=g++-4.5 CXXFLAGS=-O3
-
-Once configuration is complete, run make to build odb:
-
-make
-
-Once the build is completed successfully, you can install odb using the
-install target (you may need to do this step as root depending on the
-installation directory):
-
-make install
-
-
-Building on Windows
-===================
-
-Building odb on Windows involves a custom build procedure. Consider
-using the pre-compiled binary distribution of odb for Windows or write
-to odb-users@codesynthesis.com for more information.
diff --git a/INSTALL-GIT b/INSTALL-GIT
deleted file mode 100644
index b04cf68..0000000
--- a/INSTALL-GIT
+++ /dev/null
@@ -1,79 +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/
- - cli >= latest http://www.codesynthesis.com/projects/cli/
-
-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, cli, 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 11b661c..0000000
--- a/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-# file : Makefile.am
-# license : GNU GPL v3; see accompanying LICENSE file
-
-SUBDIRS = __path__(dirs)
-dist_doc_DATA = __file__(docs)
-EXTRA_DIST = __file__(extra_dist)
-ACLOCAL_AMFLAGS = -I m4
-
diff --git a/bootstrap b/bootstrap
deleted file mode 100755
index 4f6ee07..0000000
--- a/bootstrap
+++ /dev/null
@@ -1,16 +0,0 @@
-#! /bin/sh
-
-# file : bootstrap
-# license : GNU GPL v3; 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/bootstrap.make b/build/bootstrap.make
deleted file mode 100644
index f0c56e8..0000000
--- a/build/bootstrap.make
+++ /dev/null
@@ -1,96 +0,0 @@
-# file : build/bootstrap.make
-# license : GNU GPL v3; see accompanying LICENSE file
-
-project_name := odb
-
-# 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
-
-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)
-
-# Aliases
-#
-.PHONY: $(out_base)/ \
- $(out_base)/.dist \
- $(out_base)/.clean
-
-ifdef %interactive%
-
-.PHONY: dist clean
-
-dist: $(out_base)/.dist
-clean: $(out_base)/.clean
-
-endif
-
-# Make sure the distribution prefix is set if the goal is dist.
-#
-ifneq ($(filter $(MAKECMDGOALS),dist),)
-ifeq ($(dist_prefix),)
-$(error dist_prefix is not set)
-endif
-endif
-
-ifdef cxx_id
-
-# It would be better to do these checks in the script once instead
-# of for every makefile.
-#
-ifneq ($(MAKECMDGOALS),disfigure)
-
-ifneq ($(cxx_id),gnu)
-$(error only GNU g++ can be used to build the ODB compiler)
-endif
-
-$(call include,$(bld_root)/cxx/gnu/configuration.make)
-
-ifdef cxx_gnu
-ifeq ($(shell $(cxx_gnu) -print-file-name=plugin),plugin)
-$(error $(cxx_gnu) does not support plugins)
-endif
-endif
-endif # disfigure
-
-endif # cxx_id
-
-# If we don't have dependency auto-generation then we need to manually
-# make sure that generated 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).
-#
-ifeq ($(cxx_id),generic)
-
-define include-dep
-$(if $2,$(eval $2: | $3))
-endef
-
-else
-
-define include-dep
-$(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/export/odb/stub.make b/build/export/odb/stub.make
deleted file mode 100644
index 890ae22..0000000
--- a/build/export/odb/stub.make
+++ /dev/null
@@ -1,11 +0,0 @@
-# file : build/export/odb/stub.make
-# license : GNU GPL v3; see accompanying LICENSE file
-
-$(call include-once,$(src_root)/odb/makefile,$(out_root))
-
-# Use the rules file from odb's import directory instead of the
-# importing project's one.
-#
-$(call export,\
- odb: $(out_root)/odb/odb,\
- odb-rules: $(scf_root)/import/odb/hxx-cxx.make)
diff --git a/build/hxx/hxx-cxx.make b/build/hxx/hxx-cxx.make
deleted file mode 100644
index cdd0f01..0000000
--- a/build/hxx/hxx-cxx.make
+++ /dev/null
@@ -1,58 +0,0 @@
-# file : build/hxx/hxx-cxx.make
-# license : GNU GPL v3; see accompanying LICENSE file
-
-# Get the C++ configuration (file extensions, and extra CPP options).
-#
-$(call include,$(bld_root)/cxx/configuration.make)
-
-odb_pattern := \
-$(out_base)/%-odb.$(cxx_s_suffix) \
-$(out_base)/%-odb.$(cxx_h_suffix) \
-$(out_base)/%-odb.$(cxx_i_suffix) \
-$(out_base)/%.sql
-
-$(odb_pattern): odb := odb
-$(odb_pattern): odb_options := \
---hxx-suffix .$(cxx_h_suffix) \
---ixx-suffix .$(cxx_i_suffix) \
---cxx-suffix .$(cxx_s_suffix)
-
-$(odb_pattern): odb-expand-cpp-options-impl = \
-$(if $1,$(shell sed -e 's%include: \(.*\)%\1%' -e t -e d $1))
-
-$(odb_pattern): odb-expand-cpp-options = \
-$(call odb-expand-cpp-options-impl,$(filter %.cpp-options,$1))
-
-.PRECIOUS: $(odb_pattern)
-
-ifeq ($(out_base),$(src_base))
-
-$(odb_pattern): $(src_base)/%.$(cxx_h_suffix)
- $(call message,odb $<,$(odb) $(cpp_options) \
-$(call expand-cpp-options,$^) $(cxx_pp_extra_options) $(odb_options) \
---output-dir $(dir $@) $<)
-
-else
-
-$(odb_pattern): $(src_base)/%.$(cxx_h_suffix) | $$(dir $$@).
- $(call message,odb $<,$(odb) $(cpp_options) \
-$(call expand-cpp-options,$^) $(cxx_pp_extra_options) $(odb_options) \
---output-dir $(dir $@) $<)
-
-$(odb_pattern): $(out_base)/%.$(cxx_h_suffix) | $$(dir $$@).
- $(call message,odb $<,$(odb) $(cpp_options) \
-$(call expand-cpp-options,$^) $(cxx_pp_extra_options) $(odb_options) \
---output-dir $(dir $@) $<)
-endif
-
-.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))
diff --git a/build/import/cli/cli-cxx.make b/build/import/cli/cli-cxx.make
deleted file mode 100644
index 9bdf238..0000000
--- a/build/import/cli/cli-cxx.make
+++ /dev/null
@@ -1,47 +0,0 @@
-# file : build/import/cli/cli-cxx.make
-# license : MIT; see accompanying LICENSE file
-
-# Here we are operating in the importing project's space, not in
-# cli's.
-#
-
-# Get the C++ file extensions.
-#
-$(call include,$(bld_root)/cxx/configuration-static.make)
-
-cli_pattern := \
-$(out_base)/%.$(cxx_s_suffix) \
-$(out_base)/%.$(cxx_h_suffix) \
-$(out_base)/%.$(cxx_i_suffix)
-
-$(cli_pattern): cli_options := \
---hxx-suffix .$(cxx_h_suffix) \
---ixx-suffix .$(cxx_i_suffix) \
---cxx-suffix .$(cxx_s_suffix)
-
-.PRECIOUS: $(cli_pattern)
-
-ifeq ($(out_base),$(src_base))
-
-$(cli_pattern): $(src_base)/%.cli
- $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<)
-
-else
-
-$(cli_pattern): $(src_base)/%.cli | $$(dir $$@).
- $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<)
-
-$(cli_pattern): $(out_base)/%.cli | $$(dir $$@).
- $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<)
-endif
-
-.PHONY: $(out_base)/%.cxx.cli.clean
-
-$(out_base)/%.cxx.cli.clean: cxx_s_suffix := $(cxx_s_suffix)
-$(out_base)/%.cxx.cli.clean: cxx_h_suffix := $(cxx_h_suffix)
-$(out_base)/%.cxx.cli.clean: cxx_i_suffix := $(cxx_i_suffix)
-
-$(out_base)/%.cxx.cli.clean:
- $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_s_suffix)))
- $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_h_suffix)))
- $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_i_suffix)))
diff --git a/build/import/cli/configuration-rules.make b/build/import/cli/configuration-rules.make
deleted file mode 100644
index 6355000..0000000
--- a/build/import/cli/configuration-rules.make
+++ /dev/null
@@ -1,13 +0,0 @@
-# file : build/import/cli/configuration-rules.make
-# license : MIT; see accompanying LICENSE file
-
-$(dcf_root)/import/cli/configuration-dynamic.make: | $(dcf_root)/import/cli/.
- $(call message,,$(scf_root)/import/cli/configure $@)
-
-ifndef %foreign%
-
-$(dcf_root)/.disfigure::
- $(call message,rm $(dcf_root)/import/cli/configuration-dynamic.make,\
-rm -f $(dcf_root)/import/cli/configuration-dynamic.make)
-
-endif
diff --git a/build/import/cli/configure b/build/import/cli/configure
deleted file mode 100755
index 2a1fde4..0000000
--- a/build/import/cli/configure
+++ /dev/null
@@ -1,53 +0,0 @@
-#! /usr/bin/env bash
-
-# file : build/import/cli/configure
-# license : MIT; 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 'cli' for '$project_name'."
-$echo
-
-$echo
-$echo "Would you like to configure dependency on the installed "
-$echo "version of 'cli' 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 'cli'."
-$echo
-
-src_root=`read_path --directory --exist`
-
-$echo
-$echo "Please enter the out_root for 'cli'."
-$eche
-
-out_root=`read_path --directory $src_root`
-
-fi
-
-echo cli_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/cli/stub.make b/build/import/cli/stub.make
deleted file mode 100644
index 741b371..0000000
--- a/build/import/cli/stub.make
+++ /dev/null
@@ -1,28 +0,0 @@
-# file : build/import/cli/stub.make
-# license : MIT; see accompanying LICENSE file
-
-$(call include-once,$(scf_root)/import/cli/configuration-rules.make,$(dcf_root))
-
-cli_installed :=
-
-$(call -include,$(dcf_root)/import/cli/configuration-dynamic.make)
-
-ifdef cli_installed
-
-ifeq ($(cli_installed),y)
-
-$(call export,cli: cli,cli-rules: $(scf_root)/import/cli/cli-cxx.make)
-
-else
-
-# Include export stub.
-#
-$(call include,$(scf_root)/export/cli/stub.make)
-
-endif
-
-else
-
-.NOTPARALLEL:
-
-endif
diff --git a/build/import/libcutl/configuration-rules.make b/build/import/libcutl/configuration-rules.make
deleted file mode 100644
index 4559510..0000000
--- a/build/import/libcutl/configuration-rules.make
+++ /dev/null
@@ -1,13 +0,0 @@
-# file : build/import/libcutl/configuration-rules.make
-# license : MIT; see accompanying LICENSE file
-
-$(dcf_root)/import/libcutl/configuration-dynamic.make: | $(dcf_root)/import/libcutl/.
- $(call message,,$(scf_root)/import/libcutl/configure $@)
-
-ifndef %foreign%
-
-$(dcf_root)/.disfigure::
- $(call message,rm $(dcf_root)/import/libcutl/configuration-dynamic.make,\
-rm -f $(dcf_root)/import/libcutl/configuration-dynamic.make)
-
-endif
diff --git a/build/import/libcutl/configure b/build/import/libcutl/configure
deleted file mode 100755
index 5c182e2..0000000
--- a/build/import/libcutl/configure
+++ /dev/null
@@ -1,53 +0,0 @@
-#! /usr/bin/env bash
-
-# file : build/import/libcutl/configure
-# license : MIT; 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 'libcutl' for '$project_name'."
-$echo
-
-$echo
-$echo "Would you like to configure dependency on the installed "
-$echo "version of 'libcutl' 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 'libcutl'."
-$echo
-
-src_root=`read_path --directory --exist`
-
-$echo
-$echo "Please enter the out_root for 'libcutl'."
-$echo
-
-out_root=`read_path --directory $src_root`
-
-fi
-
-echo libcutl_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/libcutl/stub.make b/build/import/libcutl/stub.make
deleted file mode 100644
index 11876f2..0000000
--- a/build/import/libcutl/stub.make
+++ /dev/null
@@ -1,28 +0,0 @@
-# file : build/import/libcutl/stub.make
-# license : MIT; see accompanying LICENSE file
-
-$(call include-once,$(scf_root)/import/libcutl/configuration-rules.make,$(dcf_root))
-
-libcutl_installed :=
-
-$(call -include,$(dcf_root)/import/libcutl/configuration-dynamic.make)
-
-ifdef libcutl_installed
-
-ifeq ($(libcutl_installed),y)
-
-$(call export,l: -lcutl,cpp-options: )
-
-else
-
-# Include export stub.
-#
-$(call include,$(scf_root)/export/libcutl/stub.make)
-
-endif
-
-else
-
-.NOTPARALLEL:
-
-endif
diff --git a/build/import/odb/configuration-rules.make b/build/import/odb/configuration-rules.make
deleted file mode 100644
index 81d21e1..0000000
--- a/build/import/odb/configuration-rules.make
+++ /dev/null
@@ -1,13 +0,0 @@
-# file : build/import/odb/configuration-rules.make
-# license : GNU GPL v3; 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 6cb5f9b..0000000
--- a/build/import/odb/configure
+++ /dev/null
@@ -1,53 +0,0 @@
-#! /usr/bin/env bash
-
-# file : build/import/odb/configure
-# license : GNU GPL v3; 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 b2fcebe..0000000
--- a/build/import/odb/stub.make
+++ /dev/null
@@ -1,28 +0,0 @@
-# file : build/import/odb/stub.make
-# license : GNU GPL v3; 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: 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/buildfile b/buildfile
index 78b5d08..c3c8909 100644
--- a/buildfile
+++ b/buildfile
@@ -1,9 +1,6 @@
-# file : buildfile
-# license : GNU GPL v3; see accompanying LICENSE file
-
-./: {*/ -build/ -m4/} doc{INSTALL NEWS README} legal{GPLv3 LICENSE} manifest
-
-# Don't install tests or the INSTALL file.
+# Glue buildfile that "pulls" all the packages in the project.
#
-tests/: install = false
-doc{INSTALL}@./: install = false
+import pkgs = [dir_paths] $process.run_regex(\
+ cat $src_root/packages.manifest, '\s*location\s*:\s*(\S+)\s*', '\1')
+
+./: $pkgs
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index 1d92980..0000000
--- a/configure.ac
+++ /dev/null
@@ -1,150 +0,0 @@
-# file : configure.ac
-# license : GNU GPL v3; see accompanying LICENSE file
-
-AC_PREREQ(2.60)
-AC_INIT([odb], [__value__(version)], [odb-users@codesynthesis.com])
-AC_CONFIG_AUX_DIR([config])
-AC_CONFIG_MACRO_DIR([m4])
-AC_CONFIG_SRCDIR([odb/version.hxx])
-
-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([disable-static])
-
-AC_CANONICAL_HOST
-
-# 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
-
-# Test for plugin support in GCC.
-#
-GCC_PLUGIN
-
-# See if we are building static plugin. Static build should only be
-# used if you are building a custom version of GCC with the ODB
-# plugin linked-in statically. This is primarily useful on Windows
-# where GCC plugins are not (yet) supported due to dynamic loading
-# limitations. In this case the headers normally come from the GCC
-# build directly via CPPFLAGS.
-#
-if test x$static_plugin = xyes; then
- AC_WARN([Building static plugin for direct linking into GCC executable!])
- AC_DEFINE([ODB_STATIC_PLUGIN], [1], [Building static plugin.])
- plugindir='$(pkglibexecdir)'
-
-# Otherwise, see if we should install the plugin into the GCC plugin dir.
-#
-elif test x$gcc_plugin_dir != xno; then
- AC_DEFINE([ODB_GCC_PLUGIN_DIR], [1], [Plugin is in GCC plugin directory.])
- plugindir=$gcc_plugin_dir
-
-# Otherwise, try to figure out a relative path from the driver (bindir) to
-# the plugin (libexecdir).
-#
-elif test x$static_plugin = xno; then
- # Get the expanded values for bindir and libexecdir.
- #
- if test x$exec_prefix = xNONE; then
- if test x$prefix = xNONE; then
- e_exec_prefix=$ac_default_prefix
- else
- e_exec_prefix=$prefix
- fi
- else
- e_exec_prefix=$exec_prefix
- fi
-
- e_pkglibexecdir=`echo "$libexecdir/$PACKAGE_NAME" | sed "s?^\\\${exec_prefix}?$e_exec_prefix?"`
- e_bindir=`echo "$bindir" | sed "s?^\\\${exec_prefix}?$e_exec_prefix?"`
-
- # Try to find a common prefix.
- #
- common=$e_bindir
- rel_plugindir=$e_pkglibexecdir
-
- while test x$common != x/; do
- suffix=`echo "$e_pkglibexecdir" | sed "s?^$common/*??"`
- if test x$suffix != x$e_pkglibexecdir; then
- # Replace all the remaining directories in bindir with ".."
- # and append the suffix.
- rel_plugindir=`echo "$e_bindir" | sed "s?^$common/*??"`
- rel_plugindir=`echo "$rel_plugindir" | sed ['s?[^/][^/]*?..?g']`
- if test x$rel_plugindir != x -a x$suffix != x; then
- rel_plugindir="$rel_plugindir/$suffix"
- else
- rel_plugindir="$rel_plugindir$suffix"
- fi
- break
- fi
- common=`AS_DIRNAME(["$common"])`
- done
- AC_DEFINE_UNQUOTED([ODB_PLUGIN_PATH], ["$rel_plugindir"], [Plugin path.])
- plugindir='$(pkglibexecdir)'
-fi
-
-AC_SUBST([plugindir])
-
-# G++ name.
-#
-AC_ARG_WITH(
- [gxx-name],
- [AC_HELP_STRING([--with-gxx-name=NAME], [g++ executable name to embed in the ODB compiler driver])],
- [case $withval in
- no)
- gxx_name=
- ;;
- yes)
- gxx_name=$CXX
- ;;
- *)
- gxx_name="$withval"
- ;;
- esac],
- [gxx_name=$CXX])
-
-AS_IF(
- [test "x$gxx_name" != x],
- [AC_DEFINE_UNQUOTED([ODB_GXX_NAME], ["$gxx_name"], [g++ binary.])])
-
-# Default options file.
-#
-AC_ARG_WITH(
- [options-file],
- [AC_HELP_STRING([--with-options-file=PATH], [default options file path to embed in the driver])],
- [case $withval in
- no)
- options_file=
- ;;
- yes)
- options_file=../etc/odb/default.options
- ;;
- *)
- options_file="$withval"
- ;;
- esac],
- [options_file=])
-
-AS_IF(
- [test "x$options_file" != x],
- [AC_DEFINE_UNQUOTED([ODB_DEFAULT_OPTIONS_FILE], ["$options_file"], [default options file path.])])
-
-# Check for libcutl.
-#
-LIBCUTL([],[AC_MSG_ERROR([libcutl is not found; consider using --with-libcutl=DIR])])
-
-# Check if we should disable rpath.
-#
-DISABLE_RPATH
-
-# Output.
-#
-AC_CONFIG_HEADERS([odb/config.h])
-AC_CONFIG_FILES([__path__(config_files)])
-AC_OUTPUT
diff --git a/doc/Makefile.am b/doc/Makefile.am
deleted file mode 100644
index f09e34b..0000000
--- a/doc/Makefile.am
+++ /dev/null
@@ -1,7 +0,0 @@
-# file : doc/Makefile.am
-# license : GNU GPL v3; see accompanying LICENSE file
-
-dist_ps_DATA = __file__(ps_docs)
-dist_pdf_DATA = __file__(pdf_docs)
-dist_html_DATA = __file__(html_docs)
-dist_man_MANS = __file__(man_docs)
diff --git a/doc/makefile b/doc/makefile
deleted file mode 100644
index 481f22d..0000000
--- a/doc/makefile
+++ /dev/null
@@ -1,80 +0,0 @@
-# file : doc/makefile
-# license : GNU GPL v3; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make
-
-default := $(out_base)/
-dist := $(out_base)/.dist
-clean := $(out_base)/.clean
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/cli/stub.make,\
- cli: cli,cli-rules: cli_rules)
-
-# Build.
-#
-$(default): \
-$(out_base)/odb.1 \
-$(out_base)/odb.xhtml \
-$(out_base)/odb-manual.ps \
-$(out_base)/odb-manual.pdf
-
-# Man/html pages.
-#
-$(out_base)/odb.xhtml $(out_base)/odb.1: cli := $(cli)
-
-$(out_base)/odb.xhtml: $(src_root)/odb/options.cli \
- $(src_base)/odb-prologue.xhtml \
- $(src_base)/odb-epilogue.xhtml | $(out_base)/.
- $(call message,cli-html $<,$(cli) --generate-html --stdout \
---suppress-undocumented \
---html-prologue-file $(src_base)/odb-prologue.xhtml \
---html-epilogue-file $(src_base)/odb-epilogue.xhtml $< >$@)
-
-$(out_base)/odb.1: $(src_root)/odb/options.cli \
- $(src_base)/odb-prologue.1 \
- $(src_base)/odb-epilogue.1 | $(out_base)/.
- $(call message,cli-man $<,$(cli) --generate-man --stdout \
---suppress-undocumented \
---man-prologue-file $(src_base)/odb-prologue.1 \
---man-epilogue-file $(src_base)/odb-epilogue.1 $< >$@)
-
-# Manual.
-#
-$(out_base)/odb-manual.ps: $(src_base)/manual.xhtml \
- $(src_base)/manual.html2ps \
- $(src_base)/odb-arch.png \
- $(src_base)/odb-flow.png | $(out_base)/.
- $(call message,html2ps $<,html2ps -f $(src_base)/manual.html2ps -o $@ $<)
-
-$(out_base)/odb-manual.pdf: $(out_base)/odb-manual.ps
- $(call message,ps2pdf $<,ps2pdf14 $< $@)
-
-# Dist.
-#
-$(dist): data_dist := default.css manual.xhtml odb-arch.png odb-flow.png
-$(dist): export ps_docs := odb-manual.ps
-$(dist): export pdf_docs := odb-manual.pdf
-$(dist): export html_docs := $(data_dist) odb.xhtml
-$(dist): export man_docs := odb.1
-$(dist): \
-$(out_base)/odb.1 \
-$(out_base)/odb.xhtml \
-$(out_base)/odb-manual.ps \
-$(out_base)/odb-manual.pdf
- $(call dist-data,$^)
- $(call dist-data,$(data_dist))
- $(call meta-automake)
-
-# Clean.
-#
-$(clean):
- $(call message,rm $$1,rm -f $$1,$(out_base)/odb.1)
- $(call message,rm $$1,rm -f $$1,$(out_base)/odb.xhtml)
- $(call message,rm $$1,rm -f $$1,$(out_base)/odb-manual.ps)
- $(call message,rm $$1,rm -f $$1,$(out_base)/odb-manual.pdf)
-
-$(call include,$(bld_root)/dist.make)
-$(call include,$(bld_root)/meta/automake.make)
diff --git a/m4/disable-rpath.m4 b/m4/disable-rpath.m4
deleted file mode 100644
index 388f685..0000000
--- a/m4/disable-rpath.m4
+++ /dev/null
@@ -1,24 +0,0 @@
-dnl file : m4/disable-rpath.m4
-dnl license : GNU GPL v3; see accompanying LICENSE file
-dnl
-AC_DEFUN([DISABLE_RPATH],[
-
-AC_MSG_CHECKING([whether to use rpath])
-AC_ARG_ENABLE(
- [rpath],
- [AC_HELP_STRING([--disable-rpath], [patch libtool to not use rpath])],
- [libtool_rpath="$enable_rpath"],
- [libtool_rpath="yes"])
-AC_MSG_RESULT($libtool_rpath)
-
-# Patch libtool to not use rpath if requested.
-#
-AC_CONFIG_COMMANDS(
- [libtool-rpath-patch],
- [if test "$libtool_use_rpath" = "no"; then
- sed < libtool > libtool-2 's/^hardcode_libdir_flag_spec.*$'/'hardcode_libdir_flag_spec=" -D__LIBTOOL_NO_RPATH__ "/'
- mv libtool-2 libtool
- chmod 755 libtool
- fi],
- [libtool_use_rpath=$libtool_rpath])
-])dnl
diff --git a/m4/gcc-plugin.m4 b/m4/gcc-plugin.m4
deleted file mode 100644
index 20a9c75..0000000
--- a/m4/gcc-plugin.m4
+++ /dev/null
@@ -1,133 +0,0 @@
-dnl file : m4/gcc-plugin.m4
-dnl license : GNU GPL v3; see accompanying LICENSE file
-dnl
-dnl GCC_PLUGIN
-dnl
-AC_DEFUN([GCC_PLUGIN], [
-static_plugin=$enable_static
-
-AC_ARG_WITH(
- [gcc-plugin-dir],
- [AC_HELP_STRING([--with-gcc-plugin-dir=DIR], [install ODB plugin into the GCC plugin directory])],
- [gcc_plugin_dir=$withval],
- [gcc_plugin_dir=test])
-
-if test x"$static_plugin" = xyes; then
- gcc_plugin_dir=no
-else
- if test x"$cross_compiling" = xyes; then
- AC_MSG_CHECKING([whether to install into default GCC plugin dir])
- case $gcc_plugin_dir in
- yes)
- AC_MSG_ERROR([GCC plugin directory must be specified explicitly when cross-compiling])
- ;;
- test)
- # We cannot detect the plugin directory since there is no way to
- # run host GCC. So assume no.
- #
- gcc_plugin_dir=no
- ;;
- no)
- ;;
- *)
- # Add the include/ subdirectory of the plugin dir to CPPFLAGS since
- # the plugin headers are normally installed there.
- #
- CPPFLAGS="$CPPFLAGS -I$gcc_plugin_dir/include"
- ;;
- esac
- else
- if test x"$GXX" != xyes; then
- AC_MSG_ERROR([$CXX is not a GNU C++ compiler])
- fi
-
- AC_MSG_CHECKING([whether $CXX supports plugins])
- dir=`$CXX -print-file-name=plugin 2>/dev/null`
-
- if test x"$dir" = xplugin; then
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([$CXX does not support plugins; reconfigure GCC with --enable-plugin])
- else
- AC_MSG_RESULT([yes])
- fi
-
- CPPFLAGS="$CPPFLAGS -I$dir/include"
-
- AC_MSG_CHECKING([whether to install ODB plugin into default GCC plugin directory])
- case $gcc_plugin_dir in
- yes)
- gcc_plugin_dir=$dir
- ;;
- test)
- # Only install into the GCC plugin dir if both GCC and ODB are
- # installed into the same prefix. Testing whether $libdir or
- # $libexecdir is a prefix of the GCC plugin dir is a good
- # approximation.
- #
-
- # Get the expanded values for libdir and libexecdir.
- #
- if test x$exec_prefix = xNONE; then
- if test x$prefix = xNONE; then
- e_exec_prefix=$ac_default_prefix
- else
- e_exec_prefix=$prefix
- fi
- else
- e_exec_prefix=$exec_prefix
- fi
-
- # On some systems GCC is installed into $prefix/lib even though
- # libdir is $prefix/lib64 and libexecdir is $prefix/libexec. To
- # cover this special case, we will also test $prefix/lib.
- #
- e_libdir=`echo "$libdir" | sed "s?^\\\${exec_prefix}?$e_exec_prefix?"`
- e_libexecdir=`echo "$libexecdir" | sed "s?^\\\${exec_prefix}?$e_exec_prefix?"`
- e_libdir32=$e_exec_prefix/lib
-
- # See if either one of them is a prefix of the plugin dir.
- #
- ld_suffix=`echo "$dir" | sed "s?^$e_libdir/*??"`
- led_suffix=`echo "$dir" | sed "s?^$e_libexecdir/*??"`
- l32d_suffix=`echo "$dir" | sed "s?^$e_libdir32/*??"`
-
- if test x$ld_suffix != x$dir -o x$led_suffix != x$dir -o x$l32d_suffix != x$dir; then
- gcc_plugin_dir=$dir
- else
- gcc_plugin_dir=no
- fi
- ;;
- *)
- ;;
- esac
- fi
-
- if test x"$gcc_plugin_dir" != xno; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- fi
-fi
-
-AC_MSG_CHECKING([for GCC plugin headers])
-
-CXX_LIBTOOL_LINK_IFELSE([
-AC_LANG_SOURCE([
-#include <bversion.h>
-
-#ifndef BUILDING_GCC_MAJOR
-# error no BUILDING_GCC_MAJOR in bversion.h
-#endif
-
-int main () {}
-])],
-[gcc_plugin_headers=yes],
-[gcc_plugin_headers=no])
-
-if test x"$gcc_plugin_headers" = xyes; then
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([GCC plugin headers not found; consider installing GCC plugin development package])
-fi
-])dnl
diff --git a/m4/libcutl.m4 b/m4/libcutl.m4
deleted file mode 100644
index 7275ba2..0000000
--- a/m4/libcutl.m4
+++ /dev/null
@@ -1,81 +0,0 @@
-dnl file : m4/libcutl.m4
-dnl license : MIT; see accompanying LICENSE file
-dnl
-dnl LIBCUTL([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
-dnl
-dnl
-AC_DEFUN([LIBCUTL], [
-libcutl_found=no
-
-AC_ARG_WITH(
- [libcutl],
- [AC_HELP_STRING([--with-libcutl=DIR],[location of libcutl build directory])],
- [libcutl_dir=${withval}],
- [libcutl_dir=])
-
-AC_MSG_CHECKING([for libcutl])
-
-# If libcutl_dir was given, add the necessary preprocessor and linker flags.
-#
-if test x"$libcutl_dir" != x; then
- save_CPPFLAGS="$CPPFLAGS"
- save_LDFLAGS="$LDFLAGS"
-
- AS_SET_CATFILE([abs_libcutl_dir], [$ac_pwd], [$libcutl_dir])
-
- CPPFLAGS="$CPPFLAGS -I$abs_libcutl_dir"
- LDFLAGS="$LDFLAGS -L$abs_libcutl_dir/cutl"
-fi
-
-save_LIBS="$LIBS"
-LIBS="-lcutl $LIBS"
-
-CXX_LIBTOOL_LINK_IFELSE([
-AC_LANG_SOURCE([
-#include <cutl/exception.hxx>
-
-void
-f ()
-{
-}
-
-const char*
-g ()
-{
- try
- {
- f ();
- }
- catch (const cutl::exception& e)
- {
- return e.what ();
- }
- return 0;
-}
-
-int
-main ()
-{
- const char* m (g ());
- return m != 0;
-}
-])],
-[libcutl_found=yes])
-
-if test x"$libcutl_found" = xno; then
- LIBS="$save_LIBS"
-
- if test x"$libcutl_dir" != x; then
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- fi
-fi
-
-if test x"$libcutl_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/makefile b/makefile
deleted file mode 100644
index 92ba3e6..0000000
--- a/makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# file : makefile
-# license : GNU GPL v3; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))build/bootstrap.make
-
-dirs := odb doc
-
-default := $(out_base)/
-dist := $(out_base)/.dist
-clean := $(out_base)/.clean
-
-$(default): $(addprefix $(out_base)/,$(addsuffix /,$(dirs)))
-
-$(dist): export dirs := $(dirs)
-$(dist): export docs := GPLv3 LICENSE README NEWS version
-$(dist): data_dist := INSTALL
-$(dist): exec_dist := bootstrap
-$(dist): export extra_dist := $(data_dist) $(exec_dist)
-$(dist): export version = $(shell cat $(src_root)/version)
-
-$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(dirs)))
- $(call dist-data,$(docs) $(data_dist))
- $(call dist-exec,$(exec_dist))
- $(call dist-dir,m4)
- $(call meta-automake)
- $(call meta-autoconf)
-
-$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(dirs)))
-
-$(call include,$(bld_root)/dist.make)
-$(call include,$(bld_root)/meta/automake.make)
-$(call include,$(bld_root)/meta/autoconf.make)
-
-$(foreach d,$(dirs),$(call import,$(src_base)/$d/makefile))
diff --git a/odb/.gitignore b/odb/.gitignore
index 4fd410e..dc37d77 100644
--- a/odb/.gitignore
+++ b/odb/.gitignore
@@ -1,2 +1,29 @@
-/odb
-/options.?xx
+# Local default options files.
+#
+.build2/local/
+
+# Compiler/linker output.
+#
+*.d
+*.t
+*.i
+*.i.*
+*.ii
+*.ii.*
+*.o
+*.obj
+*.gcm
+*.pcm
+*.ifc
+*.so
+*.dylib
+*.dll
+*.a
+*.lib
+*.exp
+*.pdb
+*.ilk
+*.exe
+*.exe.dlls/
+*.exe.manifest
+*.pc
diff --git a/GPLv3 b/odb/GPLv3
index 94a9ed0..94a9ed0 100644
--- a/GPLv3
+++ b/odb/GPLv3
diff --git a/odb/INSTALL b/odb/INSTALL
new file mode 100644
index 0000000..6bd473c
--- /dev/null
+++ b/odb/INSTALL
@@ -0,0 +1,36 @@
+Prerequisites
+=============
+
+ - GNU g++ >= 4.5.0 http://gcc.gnu.org/
+ - libcutl >= 1.9.0 http://www.codesynthesis.com/projects/libcutl/
+
+ODB requires the GCC compiler (g++) to be built with plugin support.
+If you are building GCC yourself, you can enable plugin support with
+the --enable-plugin configure option. If you are using a pre-packaged
+GCC (for example, as part of your distribution), then you can verify
+that GCC was built with plugin support by running g++ with the -v
+option and then making sure --enable-plugin is present in the output.
+
+Note also that for pre-packaged GCC, plugin headers are usually
+distributed in a separate package, normally called gcc-plugin-dev
+or similar. You will need to install this package in order to build
+ODB. For Debian/Ubuntu, this package is called gcc-X.Y-plugin-dev,
+for example:
+
+apt-get install gcc-4.7-plugin-dev
+
+For RedHat/Fedora, this package is called gcc-plugin-devel, for
+example:
+
+yum install gcc-plugin-devel
+
+
+Building
+========
+
+The easiest way to build this package is with the bpkg package manager:
+
+$ bpkg build odb
+
+But if you don't want to use the package manager, then you can also build it
+manually using the standard build2 build system.
diff --git a/LICENSE b/odb/LICENSE
index f36493e..f36493e 100644
--- a/LICENSE
+++ b/odb/LICENSE
diff --git a/odb/Makefile.am b/odb/Makefile.am
deleted file mode 100644
index 04d8ccf..0000000
--- a/odb/Makefile.am
+++ /dev/null
@@ -1,34 +0,0 @@
-# file : odb/Makefile.am
-# license : GNU GPL v3; see accompanying LICENSE file
-
-plugindir = @plugindir@
-
-bin_PROGRAMS = odb
-plugin_LTLIBRARIES = odb.la
-
-AM_CPPFLAGS = -I'$(top_builddir)' -I'$(top_srcdir)'
-
-# Note: not passed by libtool when linking odb.so. Seems to be harmless for
-# now.
-#
-AM_CXXFLAGS = -std=c++0x
-
-EXTRA_DIST = __path__(headers) __path__(extra_dist)
-
-# Plugin.
-#
-odb_la_SOURCES = __path__(plugin_sources) __path__(common_sources)
-odb_la_LDFLAGS = -module -shrext .so -avoid-version
-
-# Remove the .la file from the final install.
-#
-install-data-hook:
- rm -f '$(DESTDIR)$(plugindir)/odb.la'
-
-# Driver.
-#
-odb_SOURCES = __path__(driver_sources) __path__(common_sources)
-
-# Make sure common sources are compiled differently.
-#
-odb_CXXFLAGS = $(AM_CXXFLAGS)
diff --git a/odb/NEWS b/odb/NEWS
new file mode 120000
index 0000000..0fae0f8
--- /dev/null
+++ b/odb/NEWS
@@ -0,0 +1 @@
+../NEWS \ No newline at end of file
diff --git a/README b/odb/README
index 90078e5..90078e5 100644
--- a/README
+++ b/odb/README
diff --git a/build/.gitignore b/odb/build/.gitignore
index 4a730a3..4a730a3 100644
--- a/build/.gitignore
+++ b/odb/build/.gitignore
diff --git a/build/bootstrap.build b/odb/build/bootstrap.build
index 9e30b56..9e30b56 100644
--- a/build/bootstrap.build
+++ b/odb/build/bootstrap.build
diff --git a/build/export.build b/odb/build/export.build
index 6293a45..6293a45 100644
--- a/build/export.build
+++ b/odb/build/export.build
diff --git a/build/root.build b/odb/build/root.build
index 86a02a0..86a02a0 100644
--- a/build/root.build
+++ b/odb/build/root.build
diff --git a/odb/buildfile b/odb/buildfile
index 34a6329..78b5d08 100644
--- a/odb/buildfile
+++ b/odb/buildfile
@@ -1,161 +1,9 @@
-# file : odb/buildfile
+# file : buildfile
# license : GNU GPL v3; see accompanying LICENSE file
-define plugin: libs
+./: {*/ -build/ -m4/} doc{INSTALL NEWS README} legal{GPLv3 LICENSE} manifest
-plugin{*}:
-{
- bin.lib.prefix = # No lib prefix.
- backlink = true # Backlink in forwarded configs (next to exe).
-}
-
-# For now we use the .so extension everywhere except Windows (see
-# plugin_path() in odb.cxx for details).
-#
-if ($cxx.target.class != 'windows')
- plugin{*}: extension = so
-
-# By default install the plugin next to the driver.
-#
-# On Windows this is the only sane option where we want the plugin (odb.dll)
-# to go into bin/ since failed that we won't be able to find libraries we
-# depend on.
-#
-# On other platforms another option is to install into the GCC's plugin
-# directory. This way the same driver can be used with multiple GCC versions
-# and is something that distributions packagers sometimes want to do.
-#
-# So at some point we should also make it configurable, including support for
-# installing into GCC's plugin directory.
-#
-# NOTE: see ODB_GCC_PLUGIN_DIR when adding this support.
-#
-plugin{*}: install = bin/
-
-import libs = libcutl%lib{cutl}
-import libs += libstudxml%lib{studxml}
-
-./: exe{odb} plugin{odb}
-
-# We need to make driver depend on plugin but not link it so that when, for
-# example, driver is imported, plugin is updated as well.
-#
-# We, however, don't want to install via the driver since the same driver
-# build could be used with multiple plugin builds (e.g., for different GCC
-# versions, which is something distribution packagers sometimes want to do).
-# @@ For this we will have to wait for operation-specific values support.
-#
-exe{odb}: cxx{odb}
-exe{odb}: libus{odb}: bin.whole = false
-exe{odb}: plugin{odb}: include = adhoc
-
-# Target metadata, see also --build2-metadata in odb.cxx.
-#
-# While ODB itself doesn't use any environment variables, it uses GCC
-# underneath which does (see "Environment Variables Affecting GCC").
-#
-exe{odb}:
-{
- export.metadata = 1 odb
- odb.name = [string] odb
- odb.version = [string] $version
- odb.checksum = [string] $version
- odb.environment = [strings] CPATH CPLUS_INCLUDE_PATH GCC_EXEC_PREFIX COMPILER_PATH
-}
-
-plugin{odb}: libus{odb}
-
-switch $cxx.target.system
-{
- # On Windows we have to link the import stub.
- #
- case 'mingw32'
- plugin{odb}: cxx.libs += $plugin_dir/cc1plus.exe.a
-
- # On Mac OS we have to allow undefined symbols.
- #
- case 'darwin'
- plugin{odb}: cxx.loptions += -undefined dynamic_lookup
-}
-
-libus{odb}: {hxx ixx txx cxx}{** -odb -options -pregenerated/**} $libs
-
-# Build options.
-#
-# Note: escape backslashes in gxx_name.
-#
-cxx.poptions += "-I$plugin_dir/include"
-cxx.poptions += "-DODB_GXX_NAME=\"$regex.replace($gxx_name, '\\', '\\\\')\""
-cxx.poptions += -DODB_BUILD2 # @@ TMP while supporting other build systems.
-
-## Consumption build ($develop == false).
-#
-
-# Use pregenerated versions in the consumption build.
-#
-libus{odb}: pregenerated/{hxx ixx cxx}{**}: include = (!$develop)
-
-if! $develop
- cxx.poptions =+ "-I($src_base/pregenerated)" # Note: must come first.
-
-# Distribute pregenerated versions only in the consumption build.
-#
-pregenerated/{hxx ixx cxx}{*}: dist = (!$develop)
-
-#
-##
-
-## Development build ($develop == true).
-#
-
-libus{odb}: {hxx ixx cxx}{options}: include = $develop
-
-if $develop
- import! [metadata] cli = cli%exe{cli}
-
-# In the development build distribute regenerated {hxx ixx cxx}{options},
-# remapping their locations to the paths of the pregenerated versions (which
-# are only distributed in the consumption build; see above). This way we make
-# sure that the distributed files are always up-to-date.
-#
-<{hxx ixx cxx}{options}>: cli{options} $cli
-{
- dist = ($develop ? pregenerated/odb/ : false)
-
- # Symlink the generated code in src for convenience of development.
- #
- backlink = true
-}
-%
-if $develop
-{{
- options = --include-with-brackets --include-prefix odb --guard-prefix ODB \
- --generate-file-scanner --generate-specifier --generate-modifier \
- --generate-description --suppress-undocumented \
- --cxx-prologue '#include <odb/option-parsers.hxx>'
-
- $cli $options -o $out_base $path($<[0])
-
- # If the result differs from the pregenerated version, copy it over.
- #
- if diff $src_base/pregenerated/odb/options.hxx $path($>[0]) >- && \
- diff $src_base/pregenerated/odb/options.ixx $path($>[1]) >- && \
- diff $src_base/pregenerated/odb/options.cxx $path($>[2]) >-
- exit
- end
-
- cp $path($>[0]) $src_base/pregenerated/odb/options.hxx
- cp $path($>[1]) $src_base/pregenerated/odb/options.ixx
- cp $path($>[2]) $src_base/pregenerated/odb/options.cxx
-}}
-
-#
-##
-
-# Pass the copyright notice extracted from the LICENSE file.
-#
-obj{odb}: cxx.poptions += -DODB_COPYRIGHT=\"$copyright\"
-
-# Don't install any of the plugin's headers.
+# Don't install tests or the INSTALL file.
#
-{hxx ixx txx}{*}: install = false
+tests/: install = false
+doc{INSTALL}@./: install = false
diff --git a/doc/.gitignore b/odb/doc/.gitignore
index 9ee2af2..9ee2af2 100644
--- a/doc/.gitignore
+++ b/odb/doc/.gitignore
diff --git a/doc/buildfile b/odb/doc/buildfile
index 88f30fc..88f30fc 100644
--- a/doc/buildfile
+++ b/odb/doc/buildfile
diff --git a/doc/default.css b/odb/doc/default.css
index 889f46b..889f46b 100644
--- a/doc/default.css
+++ b/odb/doc/default.css
diff --git a/doc/manual.html2ps b/odb/doc/manual.html2ps
index 6acd29d..6acd29d 100644
--- a/doc/manual.html2ps
+++ b/odb/doc/manual.html2ps
diff --git a/doc/manual.xhtml b/odb/doc/manual.xhtml
index a308758..a308758 100644
--- a/doc/manual.xhtml
+++ b/odb/doc/manual.xhtml
diff --git a/doc/odb-arch.png b/odb/doc/odb-arch.png
index 511b198..511b198 100644
--- a/doc/odb-arch.png
+++ b/odb/doc/odb-arch.png
Binary files differ
diff --git a/doc/odb-arch.svg b/odb/doc/odb-arch.svg
index 368c223..368c223 100644
--- a/doc/odb-arch.svg
+++ b/odb/doc/odb-arch.svg
diff --git a/doc/odb-epilogue.1 b/odb/doc/odb-epilogue.1
index e331b23..e331b23 100644
--- a/doc/odb-epilogue.1
+++ b/odb/doc/odb-epilogue.1
diff --git a/doc/odb-epilogue.xhtml b/odb/doc/odb-epilogue.xhtml
index 9eba558..9eba558 100644
--- a/doc/odb-epilogue.xhtml
+++ b/odb/doc/odb-epilogue.xhtml
diff --git a/doc/odb-flow.png b/odb/doc/odb-flow.png
index 0063317..0063317 100644
--- a/doc/odb-flow.png
+++ b/odb/doc/odb-flow.png
Binary files differ
diff --git a/doc/odb-flow.svg b/odb/doc/odb-flow.svg
index 292a121..292a121 100644
--- a/doc/odb-flow.svg
+++ b/odb/doc/odb-flow.svg
diff --git a/doc/odb-prologue.1 b/odb/doc/odb-prologue.1
index 24e83f4..24e83f4 100644
--- a/doc/odb-prologue.1
+++ b/odb/doc/odb-prologue.1
diff --git a/doc/odb-prologue.xhtml b/odb/doc/odb-prologue.xhtml
index b8cc694..b8cc694 100644
--- a/doc/odb-prologue.xhtml
+++ b/odb/doc/odb-prologue.xhtml
diff --git a/doc/pregenerated/odb.1 b/odb/doc/pregenerated/odb.1
index 42d81d0..884c937 100644
--- a/doc/pregenerated/odb.1
+++ b/odb/doc/pregenerated/odb.1
@@ -790,7 +790,7 @@ Send bug reports to the odb-users@codesynthesis.com mailing list.
.\" COPYRIGHT
.\"
.SH COPYRIGHT
-Copyright (c) 2009-2023 Code Synthesis Tools CC.
+Copyright (c) 2009-2024 Code Synthesis Tools CC.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
diff --git a/doc/pregenerated/odb.xhtml b/odb/doc/pregenerated/odb.xhtml
index 0a9785c..de1a3df 100644
--- a/doc/pregenerated/odb.xhtml
+++ b/odb/doc/pregenerated/odb.xhtml
@@ -4,7 +4,7 @@
<head>
<title>ODB 2.4.0 Compiler Command Line Manual</title>
- <meta name="copyright" content="&#169; 2009-2023 Code Synthesis Tools CC"/>
+ <meta name="copyright" content="&#169; 2009-2024 Code Synthesis Tools CC"/>
<meta name="keywords" content="odb,object,relational,mapping,compiler,c++"/>
<meta name="description" content="ODB Compiler Command Line Manual"/>
@@ -963,7 +963,7 @@
</div>
<div id="footer">
- Copyright &#169; 2009-2023 Code Synthesis Tools CC.
+ Copyright &#169; 2009-2024 Code Synthesis Tools CC.
<div id="terms">
Permission is granted to copy, distribute and/or modify this
diff --git a/odb/makefile b/odb/makefile
deleted file mode 100644
index 16a3185..0000000
--- a/odb/makefile
+++ /dev/null
@@ -1,317 +0,0 @@
-# file : odb/makefile
-# license : GNU GPL v3; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make
-
-# Plugin units.
-#
-cxx_ptun := \
-cxx-lexer.cxx \
-sql-token.cxx \
-sql-lexer.cxx \
-context.cxx \
-common.cxx \
-common-query.cxx \
-location.cxx \
-diagnostics.cxx \
-emitter.cxx \
-lookup.cxx \
-instance.cxx \
-include.cxx \
-header.cxx \
-inline.cxx \
-source.cxx \
-validator.cxx \
-processor.cxx \
-generator.cxx \
-parser.cxx \
-plugin.cxx \
-pragma.cxx
-
-# Relational.
-#
-cxx_ptun += \
-relational/changelog.cxx \
-relational/common.cxx \
-relational/common-query.cxx \
-relational/context.cxx \
-relational/processor.cxx \
-relational/header.cxx \
-relational/inline.cxx \
-relational/source.cxx \
-relational/model.cxx \
-relational/schema.cxx \
-relational/schema-source.cxx \
-relational/validator.cxx
-
-# Relational/MSSQL.
-#
-cxx_ptun += \
-relational/mssql/common.cxx \
-relational/mssql/context.cxx \
-relational/mssql/header.cxx \
-relational/mssql/inline.cxx \
-relational/mssql/source.cxx \
-relational/mssql/model.cxx \
-relational/mssql/schema.cxx
-
-# Relational/MySQL.
-#
-cxx_ptun += \
-relational/mysql/common.cxx \
-relational/mysql/context.cxx \
-relational/mysql/header.cxx \
-relational/mysql/inline.cxx \
-relational/mysql/source.cxx \
-relational/mysql/model.cxx \
-relational/mysql/schema.cxx
-
-# Relational/Oracle
-#
-cxx_ptun += \
-relational/oracle/common.cxx \
-relational/oracle/context.cxx \
-relational/oracle/header.cxx \
-relational/oracle/inline.cxx \
-relational/oracle/source.cxx \
-relational/oracle/model.cxx \
-relational/oracle/schema.cxx
-
-# Relational/PostgreSQL
-#
-cxx_ptun += \
-relational/pgsql/common.cxx \
-relational/pgsql/context.cxx \
-relational/pgsql/header.cxx \
-relational/pgsql/inline.cxx \
-relational/pgsql/source.cxx \
-relational/pgsql/model.cxx \
-relational/pgsql/schema.cxx
-
-# Relational/SQLite.
-#
-cxx_ptun += \
-relational/sqlite/common.cxx \
-relational/sqlite/context.cxx \
-relational/sqlite/header.cxx \
-relational/sqlite/inline.cxx \
-relational/sqlite/source.cxx \
-relational/sqlite/model.cxx \
-relational/sqlite/schema.cxx
-
-# Semantics.
-#
-cxx_ptun += \
-semantics/class.cxx \
-semantics/class-template.cxx \
-semantics/derived.cxx \
-semantics/elements.cxx \
-semantics/enum.cxx \
-semantics/fundamental.cxx \
-semantics/namespace.cxx \
-semantics/template.cxx \
-semantics/union.cxx \
-semantics/union-template.cxx \
-semantics/unit.cxx
-
-# Semantics/Relational.
-#
-cxx_ptun += \
-semantics/relational/changelog.cxx \
-semantics/relational/changeset.cxx \
-semantics/relational/column.cxx \
-semantics/relational/elements.cxx \
-semantics/relational/foreign-key.cxx \
-semantics/relational/index.cxx \
-semantics/relational/key.cxx \
-semantics/relational/model.cxx \
-semantics/relational/primary-key.cxx \
-semantics/relational/table.cxx
-
-# Traversal.
-#
-cxx_ptun += \
-traversal/class.cxx \
-traversal/class-template.cxx \
-traversal/derived.cxx \
-traversal/elements.cxx \
-traversal/enum.cxx \
-traversal/template.cxx \
-traversal/union-template.cxx
-
-# Traversal/Relational.
-#
-cxx_ptun += \
-traversal/relational/changelog.cxx \
-traversal/relational/key.cxx
-
-# Driver units.
-#
-cxx_dtun := odb.cxx
-
-# Common units.
-#
-cxx_ctun := \
-option-types.cxx \
-option-functions.cxx \
-profile.cxx \
-semantics/relational/name.cxx \
-semantics/relational/deferrable.cxx
-
-# Options file.
-#
-cli_tun := options.cli
-
-#
-#
-cxx_pobj := $(addprefix $(out_base)/,$(cxx_ptun:.cxx=.o))
-cxx_dobj := $(addprefix $(out_base)/,$(cxx_dtun:.cxx=.o))
-cxx_cobj := $(addprefix $(out_base)/,$(cxx_ctun:.cxx=.o) $(cli_tun:.cli=.o))
-cxx_pod := $(cxx_pobj:.o=.o.d)
-cxx_dod := $(cxx_dobj:.o=.o.d)
-cxx_cod := $(cxx_cobj:.o=.o.d)
-
-
-odb := $(out_base)/odb
-odb_so := $(out_base)/odb.so
-
-# Dummy library to force driver timestamp update when the plugin DSO
-# changes.
-#
-odb.l := $(out_base)/odb.l
-clean := $(out_base)/.clean
-dist := $(out_base)/.dist
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/cli/stub.make,\
- cli: cli,cli-rules: cli_rules)
-
-$(call import,\
- $(scf_root)/import/libcutl/stub.make,\
- l: cutl.l,cpp-options: cutl.l.cpp-options)
-
-# Build.
-#
-$(odb): $(cxx_dobj) $(cxx_cobj) $(odb.l) $(cutl.l)
-$(odb_so): $(cxx_pobj) $(cxx_cobj) $(cutl.l)
-
-$(cxx_pobj) $(cxx_dobj) $(cxx_cobj) $(cxx_pod) $(cxx_dod) $(cxx_cod): \
-$(cutl.l.cpp-options)
-
-genf := $(cli_tun:.cli=.hxx) $(cli_tun:.cli=.ixx) $(cli_tun:.cli=.cxx)
-gen := $(addprefix $(out_base)/,$(genf))
-
-# Don't try to depend on the installed executable.
-#
-ifneq ($(cli),cli)
-$(gen): $(cli)
-endif
-
-$(gen): cli := $(cli)
-$(gen): cli_options += \
---generate-modifier \
---generate-specifier \
---generate-description \
---suppress-undocumented \
---generate-file-scanner \
---include-with-brackets \
---include-prefix odb \
---guard-prefix ODB \
---cxx-prologue '\#include <odb/option-parsers.hxx>'
-
-$(call include-dep,$(cxx_pod) $(cxx_dod) $(cxx_cod),\
-$(cxx_pobj) $(cxx_dobj) $(cxx_cobj),$(gen))
-
-# Alias for default target.
-#
-$(out_base)/: $(odb)
-
-# Install.
-#
-$(install): $(odb)
- $(call install-exec,$<,$(install_bin_dir)/odb)
- $(call install-exec,$<.so,$(install_bin_dir)/odb.so)
-
-# Dist.
-#
-$(dist): export plugin_sources := $(cxx_ptun)
-$(dist): export driver_sources := $(cxx_dtun)
-$(dist): common_sources_dist := $(cxx_ctun)
-$(dist): export common_sources := $(common_sources_dist) $(cli_tun:.cli=.cxx)
-$(dist): headers_dist = $(subst $(src_base)/,,$(shell find $(src_base) \
--name '*.hxx' -o -name '*.ixx' -o -name '*.txx'))
-$(dist): gen_headers := $(cli_tun:.cli=.hxx) $(cli_tun:.cli=.ixx)
-$(dist): export headers = $(sort $(headers_dist) $(gen_headers))
-$(dist): gen_dist := $(gen)
-$(dist): data_dist := $(cli_tun)
-$(dist): export extra_dist := $(data_dist)
-
-$(dist): $(gen)
- $(call dist-data,$(plugin_sources) $(driver_sources) \
-$(common_sources_dist) $(headers_dist) $(gen_dist) $(data_dist))
- $(call meta-automake)
-
-# Clean.
-#
-$(clean): \
- $(odb).o.clean \
- $(addsuffix .cxx.clean,$(cxx_pobj)) \
- $(addsuffix .cxx.clean,$(cxx_dobj)) \
- $(addsuffix .cxx.clean,$(cxx_cobj)) \
- $(addsuffix .cxx.clean,$(cxx_pod)) \
- $(addsuffix .cxx.clean,$(cxx_dod)) \
- $(addsuffix .cxx.clean,$(cxx_cod)) \
- $(addprefix $(out_base)/,$(cli_tun:.cli=.cxx.cli.clean))
- $(call message,rm $$1,rm -f $$1,$(out_base)/odb.so)
- $(call message,,rm -f $(out_base)/odb.l)
-
-# Generated .gitignore.
-#
-#ifeq ($(out_base),$(src_base))
-#$(odb): | $(out_base)/.gitignore
-#
-#$(out_base)/.gitignore: files := odb odb.so $(genf)
-#$(clean): $(out_base)/.gitignore.clean
-#
-#$(call include,$(bld_root)/git/gitignore.make)
-#endif
-
-# Rules.
-#
-$(call include,$(bld_root)/dist.make)
-$(call include,$(bld_root)/meta/automake.make)
-$(call include,$(bld_root)/install.make)
-
-$(call include,$(cli_rules))
-$(call include,$(bld_root)/cxx/cxx-d.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/o-e.make)
-
-# Custom rules for the plugin and the driver.
-#
-ifdef cxx_gnu
-
-$(odb) $(odb_so) \
-$(cxx_pobj) $(cxx_pod) \
-$(cxx_cobj) $(cxx_cod) \
-$(cxx_dobj) $(cxx_dod): cxx_extra_options += -std=c++0x
-
-$(cxx_pobj) $(cxx_pod) \
-$(cxx_cobj) $(cxx_cod): cxx_pic_options := -fPIC
-
-$(cxx_cobj) $(cxx_cod): cpp_options := -I$(src_root)
-$(cxx_dobj) $(cxx_dod): cpp_options := -I$(src_root) '-DODB_GXX_NAME="$(cxx_gnu)"'
-$(cxx_pobj) $(cxx_pod): cpp_options := -I$(src_root) \
--I$(shell $(cxx_gnu) -print-file-name=plugin)/include
-
-$(odb_so):
- $(call message,ld $@,$(ld) \
-$(cxx_extra_options) $(ld_options) $(cxx_ld_extra_options) -shared -o $@ \
-$(foreach f,$^,$(if $(patsubst %.l,,$f),$f,$(call expand-l,$f))) $(cxx_extra_libs))
-
-$(odb.l): $(odb_so)
- $(call message,,touch $@)
-
-endif
diff --git a/manifest b/odb/manifest
index adef20c..adef20c 100644
--- a/manifest
+++ b/odb/manifest
diff --git a/odb/odb/.gitignore b/odb/odb/.gitignore
new file mode 100644
index 0000000..4fd410e
--- /dev/null
+++ b/odb/odb/.gitignore
@@ -0,0 +1,2 @@
+/odb
+/options.?xx
diff --git a/odb/odb/buildfile b/odb/odb/buildfile
new file mode 100644
index 0000000..34a6329
--- /dev/null
+++ b/odb/odb/buildfile
@@ -0,0 +1,161 @@
+# file : odb/buildfile
+# license : GNU GPL v3; see accompanying LICENSE file
+
+define plugin: libs
+
+plugin{*}:
+{
+ bin.lib.prefix = # No lib prefix.
+ backlink = true # Backlink in forwarded configs (next to exe).
+}
+
+# For now we use the .so extension everywhere except Windows (see
+# plugin_path() in odb.cxx for details).
+#
+if ($cxx.target.class != 'windows')
+ plugin{*}: extension = so
+
+# By default install the plugin next to the driver.
+#
+# On Windows this is the only sane option where we want the plugin (odb.dll)
+# to go into bin/ since failed that we won't be able to find libraries we
+# depend on.
+#
+# On other platforms another option is to install into the GCC's plugin
+# directory. This way the same driver can be used with multiple GCC versions
+# and is something that distributions packagers sometimes want to do.
+#
+# So at some point we should also make it configurable, including support for
+# installing into GCC's plugin directory.
+#
+# NOTE: see ODB_GCC_PLUGIN_DIR when adding this support.
+#
+plugin{*}: install = bin/
+
+import libs = libcutl%lib{cutl}
+import libs += libstudxml%lib{studxml}
+
+./: exe{odb} plugin{odb}
+
+# We need to make driver depend on plugin but not link it so that when, for
+# example, driver is imported, plugin is updated as well.
+#
+# We, however, don't want to install via the driver since the same driver
+# build could be used with multiple plugin builds (e.g., for different GCC
+# versions, which is something distribution packagers sometimes want to do).
+# @@ For this we will have to wait for operation-specific values support.
+#
+exe{odb}: cxx{odb}
+exe{odb}: libus{odb}: bin.whole = false
+exe{odb}: plugin{odb}: include = adhoc
+
+# Target metadata, see also --build2-metadata in odb.cxx.
+#
+# While ODB itself doesn't use any environment variables, it uses GCC
+# underneath which does (see "Environment Variables Affecting GCC").
+#
+exe{odb}:
+{
+ export.metadata = 1 odb
+ odb.name = [string] odb
+ odb.version = [string] $version
+ odb.checksum = [string] $version
+ odb.environment = [strings] CPATH CPLUS_INCLUDE_PATH GCC_EXEC_PREFIX COMPILER_PATH
+}
+
+plugin{odb}: libus{odb}
+
+switch $cxx.target.system
+{
+ # On Windows we have to link the import stub.
+ #
+ case 'mingw32'
+ plugin{odb}: cxx.libs += $plugin_dir/cc1plus.exe.a
+
+ # On Mac OS we have to allow undefined symbols.
+ #
+ case 'darwin'
+ plugin{odb}: cxx.loptions += -undefined dynamic_lookup
+}
+
+libus{odb}: {hxx ixx txx cxx}{** -odb -options -pregenerated/**} $libs
+
+# Build options.
+#
+# Note: escape backslashes in gxx_name.
+#
+cxx.poptions += "-I$plugin_dir/include"
+cxx.poptions += "-DODB_GXX_NAME=\"$regex.replace($gxx_name, '\\', '\\\\')\""
+cxx.poptions += -DODB_BUILD2 # @@ TMP while supporting other build systems.
+
+## Consumption build ($develop == false).
+#
+
+# Use pregenerated versions in the consumption build.
+#
+libus{odb}: pregenerated/{hxx ixx cxx}{**}: include = (!$develop)
+
+if! $develop
+ cxx.poptions =+ "-I($src_base/pregenerated)" # Note: must come first.
+
+# Distribute pregenerated versions only in the consumption build.
+#
+pregenerated/{hxx ixx cxx}{*}: dist = (!$develop)
+
+#
+##
+
+## Development build ($develop == true).
+#
+
+libus{odb}: {hxx ixx cxx}{options}: include = $develop
+
+if $develop
+ import! [metadata] cli = cli%exe{cli}
+
+# In the development build distribute regenerated {hxx ixx cxx}{options},
+# remapping their locations to the paths of the pregenerated versions (which
+# are only distributed in the consumption build; see above). This way we make
+# sure that the distributed files are always up-to-date.
+#
+<{hxx ixx cxx}{options}>: cli{options} $cli
+{
+ dist = ($develop ? pregenerated/odb/ : false)
+
+ # Symlink the generated code in src for convenience of development.
+ #
+ backlink = true
+}
+%
+if $develop
+{{
+ options = --include-with-brackets --include-prefix odb --guard-prefix ODB \
+ --generate-file-scanner --generate-specifier --generate-modifier \
+ --generate-description --suppress-undocumented \
+ --cxx-prologue '#include <odb/option-parsers.hxx>'
+
+ $cli $options -o $out_base $path($<[0])
+
+ # If the result differs from the pregenerated version, copy it over.
+ #
+ if diff $src_base/pregenerated/odb/options.hxx $path($>[0]) >- && \
+ diff $src_base/pregenerated/odb/options.ixx $path($>[1]) >- && \
+ diff $src_base/pregenerated/odb/options.cxx $path($>[2]) >-
+ exit
+ end
+
+ cp $path($>[0]) $src_base/pregenerated/odb/options.hxx
+ cp $path($>[1]) $src_base/pregenerated/odb/options.ixx
+ cp $path($>[2]) $src_base/pregenerated/odb/options.cxx
+}}
+
+#
+##
+
+# Pass the copyright notice extracted from the LICENSE file.
+#
+obj{odb}: cxx.poptions += -DODB_COPYRIGHT=\"$copyright\"
+
+# Don't install any of the plugin's headers.
+#
+{hxx ixx txx}{*}: install = false
diff --git a/odb/common-query.cxx b/odb/odb/common-query.cxx
index 517c92c..517c92c 100644
--- a/odb/common-query.cxx
+++ b/odb/odb/common-query.cxx
diff --git a/odb/common-query.hxx b/odb/odb/common-query.hxx
index e90dd69..e90dd69 100644
--- a/odb/common-query.hxx
+++ b/odb/odb/common-query.hxx
diff --git a/odb/common.cxx b/odb/odb/common.cxx
index 63e49ad..63e49ad 100644
--- a/odb/common.cxx
+++ b/odb/odb/common.cxx
diff --git a/odb/common.hxx b/odb/odb/common.hxx
index 149def7..149def7 100644
--- a/odb/common.hxx
+++ b/odb/odb/common.hxx
diff --git a/odb/context.cxx b/odb/odb/context.cxx
index 13fc1b3..13fc1b3 100644
--- a/odb/context.cxx
+++ b/odb/odb/context.cxx
diff --git a/odb/context.hxx b/odb/odb/context.hxx
index ec4505b..ec4505b 100644
--- a/odb/context.hxx
+++ b/odb/odb/context.hxx
diff --git a/odb/context.ixx b/odb/odb/context.ixx
index 5018743..5018743 100644
--- a/odb/context.ixx
+++ b/odb/odb/context.ixx
diff --git a/odb/cxx-lexer.cxx b/odb/odb/cxx-lexer.cxx
index 67493b7..67493b7 100644
--- a/odb/cxx-lexer.cxx
+++ b/odb/odb/cxx-lexer.cxx
diff --git a/odb/cxx-lexer.hxx b/odb/odb/cxx-lexer.hxx
index ea16132..ea16132 100644
--- a/odb/cxx-lexer.hxx
+++ b/odb/odb/cxx-lexer.hxx
diff --git a/odb/cxx-token.hxx b/odb/odb/cxx-token.hxx
index 34b28d4..34b28d4 100644
--- a/odb/cxx-token.hxx
+++ b/odb/odb/cxx-token.hxx
diff --git a/odb/diagnostics.cxx b/odb/odb/diagnostics.cxx
index 57166bb..57166bb 100644
--- a/odb/diagnostics.cxx
+++ b/odb/odb/diagnostics.cxx
diff --git a/odb/diagnostics.hxx b/odb/odb/diagnostics.hxx
index 46f2272..46f2272 100644
--- a/odb/diagnostics.hxx
+++ b/odb/odb/diagnostics.hxx
diff --git a/odb/emitter.cxx b/odb/odb/emitter.cxx
index d6d8eac..d6d8eac 100644
--- a/odb/emitter.cxx
+++ b/odb/odb/emitter.cxx
diff --git a/odb/emitter.hxx b/odb/odb/emitter.hxx
index 1071dab..1071dab 100644
--- a/odb/emitter.hxx
+++ b/odb/odb/emitter.hxx
diff --git a/odb/features.hxx b/odb/odb/features.hxx
index 1093684..1093684 100644
--- a/odb/features.hxx
+++ b/odb/odb/features.hxx
diff --git a/odb/gcc-fwd.hxx b/odb/odb/gcc-fwd.hxx
index 83d3746..83d3746 100644
--- a/odb/gcc-fwd.hxx
+++ b/odb/odb/gcc-fwd.hxx
diff --git a/odb/gcc.hxx b/odb/odb/gcc.hxx
index e5fecef..e5fecef 100644
--- a/odb/gcc.hxx
+++ b/odb/odb/gcc.hxx
diff --git a/odb/generate.hxx b/odb/odb/generate.hxx
index b3b9c43..b3b9c43 100644
--- a/odb/generate.hxx
+++ b/odb/odb/generate.hxx
diff --git a/odb/generator.cxx b/odb/odb/generator.cxx
index ec0fefe..ec0fefe 100644
--- a/odb/generator.cxx
+++ b/odb/odb/generator.cxx
diff --git a/odb/generator.hxx b/odb/odb/generator.hxx
index 205043b..205043b 100644
--- a/odb/generator.hxx
+++ b/odb/odb/generator.hxx
diff --git a/odb/header.cxx b/odb/odb/header.cxx
index fad28b3..fad28b3 100644
--- a/odb/header.cxx
+++ b/odb/odb/header.cxx
diff --git a/odb/include.cxx b/odb/odb/include.cxx
index 5fda7c0..5fda7c0 100644
--- a/odb/include.cxx
+++ b/odb/odb/include.cxx
diff --git a/odb/inline.cxx b/odb/odb/inline.cxx
index 15482aa..15482aa 100644
--- a/odb/inline.cxx
+++ b/odb/odb/inline.cxx
diff --git a/odb/instance.cxx b/odb/odb/instance.cxx
index 2d10239..2d10239 100644
--- a/odb/instance.cxx
+++ b/odb/odb/instance.cxx
diff --git a/odb/instance.hxx b/odb/odb/instance.hxx
index 2b47939..2b47939 100644
--- a/odb/instance.hxx
+++ b/odb/odb/instance.hxx
diff --git a/odb/location.cxx b/odb/odb/location.cxx
index 23bd7ef..23bd7ef 100644
--- a/odb/location.cxx
+++ b/odb/odb/location.cxx
diff --git a/odb/location.hxx b/odb/odb/location.hxx
index cc59196..cc59196 100644
--- a/odb/location.hxx
+++ b/odb/odb/location.hxx
diff --git a/odb/lookup.cxx b/odb/odb/lookup.cxx
index a54ef15..a54ef15 100644
--- a/odb/lookup.cxx
+++ b/odb/odb/lookup.cxx
diff --git a/odb/lookup.hxx b/odb/odb/lookup.hxx
index 86c65b2..86c65b2 100644
--- a/odb/lookup.hxx
+++ b/odb/odb/lookup.hxx
diff --git a/odb/odb.cxx b/odb/odb/odb.cxx
index 701f6e1..701f6e1 100644
--- a/odb/odb.cxx
+++ b/odb/odb/odb.cxx
diff --git a/odb/option-functions.cxx b/odb/odb/option-functions.cxx
index 7eda934..7eda934 100644
--- a/odb/option-functions.cxx
+++ b/odb/odb/option-functions.cxx
diff --git a/odb/option-functions.hxx b/odb/odb/option-functions.hxx
index a4b072c..a4b072c 100644
--- a/odb/option-functions.hxx
+++ b/odb/odb/option-functions.hxx
diff --git a/odb/option-parsers.hxx b/odb/odb/option-parsers.hxx
index 2daa6eb..2daa6eb 100644
--- a/odb/option-parsers.hxx
+++ b/odb/odb/option-parsers.hxx
diff --git a/odb/option-types.cxx b/odb/odb/option-types.cxx
index c4a030b..c4a030b 100644
--- a/odb/option-types.cxx
+++ b/odb/odb/option-types.cxx
diff --git a/odb/option-types.hxx b/odb/odb/option-types.hxx
index 869fc83..869fc83 100644
--- a/odb/option-types.hxx
+++ b/odb/odb/option-types.hxx
diff --git a/odb/options.cli b/odb/odb/options.cli
index 17ee438..17ee438 100644
--- a/odb/options.cli
+++ b/odb/odb/options.cli
diff --git a/odb/parser.cxx b/odb/odb/parser.cxx
index c026808..c026808 100644
--- a/odb/parser.cxx
+++ b/odb/odb/parser.cxx
diff --git a/odb/parser.hxx b/odb/odb/parser.hxx
index b26c8f1..b26c8f1 100644
--- a/odb/parser.hxx
+++ b/odb/odb/parser.hxx
diff --git a/odb/plugin.cxx b/odb/odb/plugin.cxx
index c065a8a..c065a8a 100644
--- a/odb/plugin.cxx
+++ b/odb/odb/plugin.cxx
diff --git a/odb/pragma.cxx b/odb/odb/pragma.cxx
index 6668733..6668733 100644
--- a/odb/pragma.cxx
+++ b/odb/odb/pragma.cxx
diff --git a/odb/pragma.hxx b/odb/odb/pragma.hxx
index 0d4d3f1..0d4d3f1 100644
--- a/odb/pragma.hxx
+++ b/odb/odb/pragma.hxx
diff --git a/odb/pregenerated/odb/options.cxx b/odb/odb/pregenerated/odb/options.cxx
index da22570..da22570 100644
--- a/odb/pregenerated/odb/options.cxx
+++ b/odb/odb/pregenerated/odb/options.cxx
diff --git a/odb/pregenerated/odb/options.hxx b/odb/odb/pregenerated/odb/options.hxx
index 74406a0..74406a0 100644
--- a/odb/pregenerated/odb/options.hxx
+++ b/odb/odb/pregenerated/odb/options.hxx
diff --git a/odb/pregenerated/odb/options.ixx b/odb/odb/pregenerated/odb/options.ixx
index 9a78a2e..9a78a2e 100644
--- a/odb/pregenerated/odb/options.ixx
+++ b/odb/odb/pregenerated/odb/options.ixx
diff --git a/odb/processor.cxx b/odb/odb/processor.cxx
index d48baa7..d48baa7 100644
--- a/odb/processor.cxx
+++ b/odb/odb/processor.cxx
diff --git a/odb/processor.hxx b/odb/odb/processor.hxx
index 1e70cab..1e70cab 100644
--- a/odb/processor.hxx
+++ b/odb/odb/processor.hxx
diff --git a/odb/profile.cxx b/odb/odb/profile.cxx
index 1a10bfb..1a10bfb 100644
--- a/odb/profile.cxx
+++ b/odb/odb/profile.cxx
diff --git a/odb/profile.hxx b/odb/odb/profile.hxx
index b6e8e53..b6e8e53 100644
--- a/odb/profile.hxx
+++ b/odb/odb/profile.hxx
diff --git a/odb/relational/changelog.cxx b/odb/odb/relational/changelog.cxx
index 99f72da..99f72da 100644
--- a/odb/relational/changelog.cxx
+++ b/odb/odb/relational/changelog.cxx
diff --git a/odb/relational/common-query.cxx b/odb/odb/relational/common-query.cxx
index 53321ce..53321ce 100644
--- a/odb/relational/common-query.cxx
+++ b/odb/odb/relational/common-query.cxx
diff --git a/odb/relational/common-query.hxx b/odb/odb/relational/common-query.hxx
index c29df6b..c29df6b 100644
--- a/odb/relational/common-query.hxx
+++ b/odb/odb/relational/common-query.hxx
diff --git a/odb/relational/common.cxx b/odb/odb/relational/common.cxx
index 5c9126c..5c9126c 100644
--- a/odb/relational/common.cxx
+++ b/odb/odb/relational/common.cxx
diff --git a/odb/relational/common.hxx b/odb/odb/relational/common.hxx
index 01266a0..01266a0 100644
--- a/odb/relational/common.hxx
+++ b/odb/odb/relational/common.hxx
diff --git a/odb/relational/common.txx b/odb/odb/relational/common.txx
index 82a4a4a..82a4a4a 100644
--- a/odb/relational/common.txx
+++ b/odb/odb/relational/common.txx
diff --git a/odb/relational/context.cxx b/odb/odb/relational/context.cxx
index 3fba69b..3fba69b 100644
--- a/odb/relational/context.cxx
+++ b/odb/odb/relational/context.cxx
diff --git a/odb/relational/context.hxx b/odb/odb/relational/context.hxx
index db9b5be..db9b5be 100644
--- a/odb/relational/context.hxx
+++ b/odb/odb/relational/context.hxx
diff --git a/odb/relational/context.ixx b/odb/odb/relational/context.ixx
index abf1fb5..abf1fb5 100644
--- a/odb/relational/context.ixx
+++ b/odb/odb/relational/context.ixx
diff --git a/odb/relational/generate.hxx b/odb/odb/relational/generate.hxx
index e597fb8..e597fb8 100644
--- a/odb/relational/generate.hxx
+++ b/odb/odb/relational/generate.hxx
diff --git a/odb/relational/header.cxx b/odb/odb/relational/header.cxx
index 364d48e..364d48e 100644
--- a/odb/relational/header.cxx
+++ b/odb/odb/relational/header.cxx
diff --git a/odb/relational/header.hxx b/odb/odb/relational/header.hxx
index 964aff2..964aff2 100644
--- a/odb/relational/header.hxx
+++ b/odb/odb/relational/header.hxx
diff --git a/odb/relational/inline.cxx b/odb/odb/relational/inline.cxx
index 5e60705..5e60705 100644
--- a/odb/relational/inline.cxx
+++ b/odb/odb/relational/inline.cxx
diff --git a/odb/relational/inline.hxx b/odb/odb/relational/inline.hxx
index a609cc1..a609cc1 100644
--- a/odb/relational/inline.hxx
+++ b/odb/odb/relational/inline.hxx
diff --git a/odb/relational/model.cxx b/odb/odb/relational/model.cxx
index 45d555a..45d555a 100644
--- a/odb/relational/model.cxx
+++ b/odb/odb/relational/model.cxx
diff --git a/odb/relational/model.hxx b/odb/odb/relational/model.hxx
index fdfa8fd..fdfa8fd 100644
--- a/odb/relational/model.hxx
+++ b/odb/odb/relational/model.hxx
diff --git a/odb/relational/mssql/common.cxx b/odb/odb/relational/mssql/common.cxx
index 1070d21..1070d21 100644
--- a/odb/relational/mssql/common.cxx
+++ b/odb/odb/relational/mssql/common.cxx
diff --git a/odb/relational/mssql/common.hxx b/odb/odb/relational/mssql/common.hxx
index 42ea412..42ea412 100644
--- a/odb/relational/mssql/common.hxx
+++ b/odb/odb/relational/mssql/common.hxx
diff --git a/odb/relational/mssql/context.cxx b/odb/odb/relational/mssql/context.cxx
index afe1aa5..afe1aa5 100644
--- a/odb/relational/mssql/context.cxx
+++ b/odb/odb/relational/mssql/context.cxx
diff --git a/odb/relational/mssql/context.hxx b/odb/odb/relational/mssql/context.hxx
index 7701aaa..7701aaa 100644
--- a/odb/relational/mssql/context.hxx
+++ b/odb/odb/relational/mssql/context.hxx
diff --git a/odb/relational/mssql/header.cxx b/odb/odb/relational/mssql/header.cxx
index ebdc734..ebdc734 100644
--- a/odb/relational/mssql/header.cxx
+++ b/odb/odb/relational/mssql/header.cxx
diff --git a/odb/relational/mssql/inline.cxx b/odb/odb/relational/mssql/inline.cxx
index eb581d6..eb581d6 100644
--- a/odb/relational/mssql/inline.cxx
+++ b/odb/odb/relational/mssql/inline.cxx
diff --git a/odb/relational/mssql/model.cxx b/odb/odb/relational/mssql/model.cxx
index 0f5a85c..0f5a85c 100644
--- a/odb/relational/mssql/model.cxx
+++ b/odb/odb/relational/mssql/model.cxx
diff --git a/odb/relational/mssql/schema.cxx b/odb/odb/relational/mssql/schema.cxx
index c5f6bc1..c5f6bc1 100644
--- a/odb/relational/mssql/schema.cxx
+++ b/odb/odb/relational/mssql/schema.cxx
diff --git a/odb/relational/mssql/source.cxx b/odb/odb/relational/mssql/source.cxx
index 573104d..573104d 100644
--- a/odb/relational/mssql/source.cxx
+++ b/odb/odb/relational/mssql/source.cxx
diff --git a/odb/relational/mysql/common.cxx b/odb/odb/relational/mysql/common.cxx
index d049443..d049443 100644
--- a/odb/relational/mysql/common.cxx
+++ b/odb/odb/relational/mysql/common.cxx
diff --git a/odb/relational/mysql/common.hxx b/odb/odb/relational/mysql/common.hxx
index b43dc0d..b43dc0d 100644
--- a/odb/relational/mysql/common.hxx
+++ b/odb/odb/relational/mysql/common.hxx
diff --git a/odb/relational/mysql/context.cxx b/odb/odb/relational/mysql/context.cxx
index 8b3d983..8b3d983 100644
--- a/odb/relational/mysql/context.cxx
+++ b/odb/odb/relational/mysql/context.cxx
diff --git a/odb/relational/mysql/context.hxx b/odb/odb/relational/mysql/context.hxx
index 98574f2..98574f2 100644
--- a/odb/relational/mysql/context.hxx
+++ b/odb/odb/relational/mysql/context.hxx
diff --git a/odb/relational/mysql/header.cxx b/odb/odb/relational/mysql/header.cxx
index 27bae48..27bae48 100644
--- a/odb/relational/mysql/header.cxx
+++ b/odb/odb/relational/mysql/header.cxx
diff --git a/odb/relational/mysql/inline.cxx b/odb/odb/relational/mysql/inline.cxx
index bfa2c94..bfa2c94 100644
--- a/odb/relational/mysql/inline.cxx
+++ b/odb/odb/relational/mysql/inline.cxx
diff --git a/odb/relational/mysql/model.cxx b/odb/odb/relational/mysql/model.cxx
index 17ed4c0..17ed4c0 100644
--- a/odb/relational/mysql/model.cxx
+++ b/odb/odb/relational/mysql/model.cxx
diff --git a/odb/relational/mysql/schema.cxx b/odb/odb/relational/mysql/schema.cxx
index 60dc95b..60dc95b 100644
--- a/odb/relational/mysql/schema.cxx
+++ b/odb/odb/relational/mysql/schema.cxx
diff --git a/odb/relational/mysql/source.cxx b/odb/odb/relational/mysql/source.cxx
index 9131ea7..9131ea7 100644
--- a/odb/relational/mysql/source.cxx
+++ b/odb/odb/relational/mysql/source.cxx
diff --git a/odb/relational/oracle/common.cxx b/odb/odb/relational/oracle/common.cxx
index 7caafc9..7caafc9 100644
--- a/odb/relational/oracle/common.cxx
+++ b/odb/odb/relational/oracle/common.cxx
diff --git a/odb/relational/oracle/common.hxx b/odb/odb/relational/oracle/common.hxx
index 1958aab..1958aab 100644
--- a/odb/relational/oracle/common.hxx
+++ b/odb/odb/relational/oracle/common.hxx
diff --git a/odb/relational/oracle/context.cxx b/odb/odb/relational/oracle/context.cxx
index 12ce0aa..12ce0aa 100644
--- a/odb/relational/oracle/context.cxx
+++ b/odb/odb/relational/oracle/context.cxx
diff --git a/odb/relational/oracle/context.hxx b/odb/odb/relational/oracle/context.hxx
index 6c55853..6c55853 100644
--- a/odb/relational/oracle/context.hxx
+++ b/odb/odb/relational/oracle/context.hxx
diff --git a/odb/relational/oracle/header.cxx b/odb/odb/relational/oracle/header.cxx
index bf50bb2..bf50bb2 100644
--- a/odb/relational/oracle/header.cxx
+++ b/odb/odb/relational/oracle/header.cxx
diff --git a/odb/relational/oracle/inline.cxx b/odb/odb/relational/oracle/inline.cxx
index 1b6d606..1b6d606 100644
--- a/odb/relational/oracle/inline.cxx
+++ b/odb/odb/relational/oracle/inline.cxx
diff --git a/odb/relational/oracle/model.cxx b/odb/odb/relational/oracle/model.cxx
index b65e201..b65e201 100644
--- a/odb/relational/oracle/model.cxx
+++ b/odb/odb/relational/oracle/model.cxx
diff --git a/odb/relational/oracle/schema.cxx b/odb/odb/relational/oracle/schema.cxx
index 75100b1..75100b1 100644
--- a/odb/relational/oracle/schema.cxx
+++ b/odb/odb/relational/oracle/schema.cxx
diff --git a/odb/relational/oracle/source.cxx b/odb/odb/relational/oracle/source.cxx
index adf9864..adf9864 100644
--- a/odb/relational/oracle/source.cxx
+++ b/odb/odb/relational/oracle/source.cxx
diff --git a/odb/relational/pgsql/common.cxx b/odb/odb/relational/pgsql/common.cxx
index 6a59954..6a59954 100644
--- a/odb/relational/pgsql/common.cxx
+++ b/odb/odb/relational/pgsql/common.cxx
diff --git a/odb/relational/pgsql/common.hxx b/odb/odb/relational/pgsql/common.hxx
index 1d383bf..1d383bf 100644
--- a/odb/relational/pgsql/common.hxx
+++ b/odb/odb/relational/pgsql/common.hxx
diff --git a/odb/relational/pgsql/context.cxx b/odb/odb/relational/pgsql/context.cxx
index 7f99f5d..7f99f5d 100644
--- a/odb/relational/pgsql/context.cxx
+++ b/odb/odb/relational/pgsql/context.cxx
diff --git a/odb/relational/pgsql/context.hxx b/odb/odb/relational/pgsql/context.hxx
index 64e0b1a..64e0b1a 100644
--- a/odb/relational/pgsql/context.hxx
+++ b/odb/odb/relational/pgsql/context.hxx
diff --git a/odb/relational/pgsql/header.cxx b/odb/odb/relational/pgsql/header.cxx
index c3efc3e..c3efc3e 100644
--- a/odb/relational/pgsql/header.cxx
+++ b/odb/odb/relational/pgsql/header.cxx
diff --git a/odb/relational/pgsql/inline.cxx b/odb/odb/relational/pgsql/inline.cxx
index 08688c3..08688c3 100644
--- a/odb/relational/pgsql/inline.cxx
+++ b/odb/odb/relational/pgsql/inline.cxx
diff --git a/odb/relational/pgsql/model.cxx b/odb/odb/relational/pgsql/model.cxx
index 092f8bb..092f8bb 100644
--- a/odb/relational/pgsql/model.cxx
+++ b/odb/odb/relational/pgsql/model.cxx
diff --git a/odb/relational/pgsql/schema.cxx b/odb/odb/relational/pgsql/schema.cxx
index b9c3f2e..b9c3f2e 100644
--- a/odb/relational/pgsql/schema.cxx
+++ b/odb/odb/relational/pgsql/schema.cxx
diff --git a/odb/relational/pgsql/source.cxx b/odb/odb/relational/pgsql/source.cxx
index b881e48..b881e48 100644
--- a/odb/relational/pgsql/source.cxx
+++ b/odb/odb/relational/pgsql/source.cxx
diff --git a/odb/relational/processor.cxx b/odb/odb/relational/processor.cxx
index 0f60359..0f60359 100644
--- a/odb/relational/processor.cxx
+++ b/odb/odb/relational/processor.cxx
diff --git a/odb/relational/processor.hxx b/odb/odb/relational/processor.hxx
index 71b8643..71b8643 100644
--- a/odb/relational/processor.hxx
+++ b/odb/odb/relational/processor.hxx
diff --git a/odb/relational/schema-source.cxx b/odb/odb/relational/schema-source.cxx
index 5659485..5659485 100644
--- a/odb/relational/schema-source.cxx
+++ b/odb/odb/relational/schema-source.cxx
diff --git a/odb/relational/schema-source.hxx b/odb/odb/relational/schema-source.hxx
index d2235f5..d2235f5 100644
--- a/odb/relational/schema-source.hxx
+++ b/odb/odb/relational/schema-source.hxx
diff --git a/odb/relational/schema.cxx b/odb/odb/relational/schema.cxx
index dd70bfa..dd70bfa 100644
--- a/odb/relational/schema.cxx
+++ b/odb/odb/relational/schema.cxx
diff --git a/odb/relational/schema.hxx b/odb/odb/relational/schema.hxx
index cd975b7..cd975b7 100644
--- a/odb/relational/schema.hxx
+++ b/odb/odb/relational/schema.hxx
diff --git a/odb/relational/source.cxx b/odb/odb/relational/source.cxx
index e00626a..e00626a 100644
--- a/odb/relational/source.cxx
+++ b/odb/odb/relational/source.cxx
diff --git a/odb/relational/source.hxx b/odb/odb/relational/source.hxx
index 3c6f5da..3c6f5da 100644
--- a/odb/relational/source.hxx
+++ b/odb/odb/relational/source.hxx
diff --git a/odb/relational/sqlite/common.cxx b/odb/odb/relational/sqlite/common.cxx
index 03a3599..03a3599 100644
--- a/odb/relational/sqlite/common.cxx
+++ b/odb/odb/relational/sqlite/common.cxx
diff --git a/odb/relational/sqlite/common.hxx b/odb/odb/relational/sqlite/common.hxx
index 4d6089e..4d6089e 100644
--- a/odb/relational/sqlite/common.hxx
+++ b/odb/odb/relational/sqlite/common.hxx
diff --git a/odb/relational/sqlite/context.cxx b/odb/odb/relational/sqlite/context.cxx
index 9a4369f..9a4369f 100644
--- a/odb/relational/sqlite/context.cxx
+++ b/odb/odb/relational/sqlite/context.cxx
diff --git a/odb/relational/sqlite/context.hxx b/odb/odb/relational/sqlite/context.hxx
index 777998b..777998b 100644
--- a/odb/relational/sqlite/context.hxx
+++ b/odb/odb/relational/sqlite/context.hxx
diff --git a/odb/relational/sqlite/header.cxx b/odb/odb/relational/sqlite/header.cxx
index 1aafe7a..1aafe7a 100644
--- a/odb/relational/sqlite/header.cxx
+++ b/odb/odb/relational/sqlite/header.cxx
diff --git a/odb/relational/sqlite/inline.cxx b/odb/odb/relational/sqlite/inline.cxx
index dd3274f..dd3274f 100644
--- a/odb/relational/sqlite/inline.cxx
+++ b/odb/odb/relational/sqlite/inline.cxx
diff --git a/odb/relational/sqlite/model.cxx b/odb/odb/relational/sqlite/model.cxx
index da16ded..da16ded 100644
--- a/odb/relational/sqlite/model.cxx
+++ b/odb/odb/relational/sqlite/model.cxx
diff --git a/odb/relational/sqlite/schema.cxx b/odb/odb/relational/sqlite/schema.cxx
index f5549b4..f5549b4 100644
--- a/odb/relational/sqlite/schema.cxx
+++ b/odb/odb/relational/sqlite/schema.cxx
diff --git a/odb/relational/sqlite/source.cxx b/odb/odb/relational/sqlite/source.cxx
index 5a4b9d3..5a4b9d3 100644
--- a/odb/relational/sqlite/source.cxx
+++ b/odb/odb/relational/sqlite/source.cxx
diff --git a/odb/relational/validator.cxx b/odb/odb/relational/validator.cxx
index 50c887e..50c887e 100644
--- a/odb/relational/validator.cxx
+++ b/odb/odb/relational/validator.cxx
diff --git a/odb/relational/validator.hxx b/odb/odb/relational/validator.hxx
index d6602f7..d6602f7 100644
--- a/odb/relational/validator.hxx
+++ b/odb/odb/relational/validator.hxx
diff --git a/odb/semantics.hxx b/odb/odb/semantics.hxx
index 83416a6..83416a6 100644
--- a/odb/semantics.hxx
+++ b/odb/odb/semantics.hxx
diff --git a/odb/semantics/class-template.cxx b/odb/odb/semantics/class-template.cxx
index f8bbca4..f8bbca4 100644
--- a/odb/semantics/class-template.cxx
+++ b/odb/odb/semantics/class-template.cxx
diff --git a/odb/semantics/class-template.hxx b/odb/odb/semantics/class-template.hxx
index bffb3f2..bffb3f2 100644
--- a/odb/semantics/class-template.hxx
+++ b/odb/odb/semantics/class-template.hxx
diff --git a/odb/semantics/class.cxx b/odb/odb/semantics/class.cxx
index 97cf088..97cf088 100644
--- a/odb/semantics/class.cxx
+++ b/odb/odb/semantics/class.cxx
diff --git a/odb/semantics/class.hxx b/odb/odb/semantics/class.hxx
index e02337a..e02337a 100644
--- a/odb/semantics/class.hxx
+++ b/odb/odb/semantics/class.hxx
diff --git a/odb/semantics/derived.cxx b/odb/odb/semantics/derived.cxx
index 771ad21..771ad21 100644
--- a/odb/semantics/derived.cxx
+++ b/odb/odb/semantics/derived.cxx
diff --git a/odb/semantics/derived.hxx b/odb/odb/semantics/derived.hxx
index e58ec9f..e58ec9f 100644
--- a/odb/semantics/derived.hxx
+++ b/odb/odb/semantics/derived.hxx
diff --git a/odb/semantics/elements.cxx b/odb/odb/semantics/elements.cxx
index b5793d0..b5793d0 100644
--- a/odb/semantics/elements.cxx
+++ b/odb/odb/semantics/elements.cxx
diff --git a/odb/semantics/elements.hxx b/odb/odb/semantics/elements.hxx
index 699a1be..699a1be 100644
--- a/odb/semantics/elements.hxx
+++ b/odb/odb/semantics/elements.hxx
diff --git a/odb/semantics/elements.ixx b/odb/odb/semantics/elements.ixx
index 32f9ced..32f9ced 100644
--- a/odb/semantics/elements.ixx
+++ b/odb/odb/semantics/elements.ixx
diff --git a/odb/semantics/enum.cxx b/odb/odb/semantics/enum.cxx
index 6432986..6432986 100644
--- a/odb/semantics/enum.cxx
+++ b/odb/odb/semantics/enum.cxx
diff --git a/odb/semantics/enum.hxx b/odb/odb/semantics/enum.hxx
index bfcce53..bfcce53 100644
--- a/odb/semantics/enum.hxx
+++ b/odb/odb/semantics/enum.hxx
diff --git a/odb/semantics/fundamental.cxx b/odb/odb/semantics/fundamental.cxx
index ed4a67f..ed4a67f 100644
--- a/odb/semantics/fundamental.cxx
+++ b/odb/odb/semantics/fundamental.cxx
diff --git a/odb/semantics/fundamental.hxx b/odb/odb/semantics/fundamental.hxx
index 15b5cbb..15b5cbb 100644
--- a/odb/semantics/fundamental.hxx
+++ b/odb/odb/semantics/fundamental.hxx
diff --git a/odb/semantics/namespace.cxx b/odb/odb/semantics/namespace.cxx
index d9be903..d9be903 100644
--- a/odb/semantics/namespace.cxx
+++ b/odb/odb/semantics/namespace.cxx
diff --git a/odb/semantics/namespace.hxx b/odb/odb/semantics/namespace.hxx
index b025c2e..b025c2e 100644
--- a/odb/semantics/namespace.hxx
+++ b/odb/odb/semantics/namespace.hxx
diff --git a/odb/semantics/relational.hxx b/odb/odb/semantics/relational.hxx
index db08a61..db08a61 100644
--- a/odb/semantics/relational.hxx
+++ b/odb/odb/semantics/relational.hxx
diff --git a/odb/semantics/relational/changelog.cxx b/odb/odb/semantics/relational/changelog.cxx
index 353497f..353497f 100644
--- a/odb/semantics/relational/changelog.cxx
+++ b/odb/odb/semantics/relational/changelog.cxx
diff --git a/odb/semantics/relational/changelog.hxx b/odb/odb/semantics/relational/changelog.hxx
index 2398cf6..2398cf6 100644
--- a/odb/semantics/relational/changelog.hxx
+++ b/odb/odb/semantics/relational/changelog.hxx
diff --git a/odb/semantics/relational/changeset.cxx b/odb/odb/semantics/relational/changeset.cxx
index b044a0c..b044a0c 100644
--- a/odb/semantics/relational/changeset.cxx
+++ b/odb/odb/semantics/relational/changeset.cxx
diff --git a/odb/semantics/relational/changeset.hxx b/odb/odb/semantics/relational/changeset.hxx
index efe2c61..efe2c61 100644
--- a/odb/semantics/relational/changeset.hxx
+++ b/odb/odb/semantics/relational/changeset.hxx
diff --git a/odb/semantics/relational/column.cxx b/odb/odb/semantics/relational/column.cxx
index 9d4d6e5..9d4d6e5 100644
--- a/odb/semantics/relational/column.cxx
+++ b/odb/odb/semantics/relational/column.cxx
diff --git a/odb/semantics/relational/column.hxx b/odb/odb/semantics/relational/column.hxx
index b7a2c31..b7a2c31 100644
--- a/odb/semantics/relational/column.hxx
+++ b/odb/odb/semantics/relational/column.hxx
diff --git a/odb/semantics/relational/deferrable.cxx b/odb/odb/semantics/relational/deferrable.cxx
index 076ff69..076ff69 100644
--- a/odb/semantics/relational/deferrable.cxx
+++ b/odb/odb/semantics/relational/deferrable.cxx
diff --git a/odb/semantics/relational/deferrable.hxx b/odb/odb/semantics/relational/deferrable.hxx
index b2f888d..b2f888d 100644
--- a/odb/semantics/relational/deferrable.hxx
+++ b/odb/odb/semantics/relational/deferrable.hxx
diff --git a/odb/semantics/relational/elements.cxx b/odb/odb/semantics/relational/elements.cxx
index de1878a..de1878a 100644
--- a/odb/semantics/relational/elements.cxx
+++ b/odb/odb/semantics/relational/elements.cxx
diff --git a/odb/semantics/relational/elements.hxx b/odb/odb/semantics/relational/elements.hxx
index 06ec552..06ec552 100644
--- a/odb/semantics/relational/elements.hxx
+++ b/odb/odb/semantics/relational/elements.hxx
diff --git a/odb/semantics/relational/elements.txx b/odb/odb/semantics/relational/elements.txx
index 2362d48..2362d48 100644
--- a/odb/semantics/relational/elements.txx
+++ b/odb/odb/semantics/relational/elements.txx
diff --git a/odb/semantics/relational/foreign-key.cxx b/odb/odb/semantics/relational/foreign-key.cxx
index 0357d95..0357d95 100644
--- a/odb/semantics/relational/foreign-key.cxx
+++ b/odb/odb/semantics/relational/foreign-key.cxx
diff --git a/odb/semantics/relational/foreign-key.hxx b/odb/odb/semantics/relational/foreign-key.hxx
index 32179fa..32179fa 100644
--- a/odb/semantics/relational/foreign-key.hxx
+++ b/odb/odb/semantics/relational/foreign-key.hxx
diff --git a/odb/semantics/relational/index.cxx b/odb/odb/semantics/relational/index.cxx
index 2329f3a..2329f3a 100644
--- a/odb/semantics/relational/index.cxx
+++ b/odb/odb/semantics/relational/index.cxx
diff --git a/odb/semantics/relational/index.hxx b/odb/odb/semantics/relational/index.hxx
index 68648cb..68648cb 100644
--- a/odb/semantics/relational/index.hxx
+++ b/odb/odb/semantics/relational/index.hxx
diff --git a/odb/semantics/relational/key.cxx b/odb/odb/semantics/relational/key.cxx
index 3511618..3511618 100644
--- a/odb/semantics/relational/key.cxx
+++ b/odb/odb/semantics/relational/key.cxx
diff --git a/odb/semantics/relational/key.hxx b/odb/odb/semantics/relational/key.hxx
index 814d2ec..814d2ec 100644
--- a/odb/semantics/relational/key.hxx
+++ b/odb/odb/semantics/relational/key.hxx
diff --git a/odb/semantics/relational/model.cxx b/odb/odb/semantics/relational/model.cxx
index 8763045..8763045 100644
--- a/odb/semantics/relational/model.cxx
+++ b/odb/odb/semantics/relational/model.cxx
diff --git a/odb/semantics/relational/model.hxx b/odb/odb/semantics/relational/model.hxx
index 02d1863..02d1863 100644
--- a/odb/semantics/relational/model.hxx
+++ b/odb/odb/semantics/relational/model.hxx
diff --git a/odb/semantics/relational/name.cxx b/odb/odb/semantics/relational/name.cxx
index 6eb2e16..6eb2e16 100644
--- a/odb/semantics/relational/name.cxx
+++ b/odb/odb/semantics/relational/name.cxx
diff --git a/odb/semantics/relational/name.hxx b/odb/odb/semantics/relational/name.hxx
index 5268b4a..5268b4a 100644
--- a/odb/semantics/relational/name.hxx
+++ b/odb/odb/semantics/relational/name.hxx
diff --git a/odb/semantics/relational/primary-key.cxx b/odb/odb/semantics/relational/primary-key.cxx
index 235340f..235340f 100644
--- a/odb/semantics/relational/primary-key.cxx
+++ b/odb/odb/semantics/relational/primary-key.cxx
diff --git a/odb/semantics/relational/primary-key.hxx b/odb/odb/semantics/relational/primary-key.hxx
index 114f682..114f682 100644
--- a/odb/semantics/relational/primary-key.hxx
+++ b/odb/odb/semantics/relational/primary-key.hxx
diff --git a/odb/semantics/relational/table.cxx b/odb/odb/semantics/relational/table.cxx
index 3bf763d..3bf763d 100644
--- a/odb/semantics/relational/table.cxx
+++ b/odb/odb/semantics/relational/table.cxx
diff --git a/odb/semantics/relational/table.hxx b/odb/odb/semantics/relational/table.hxx
index 1c4efcf..1c4efcf 100644
--- a/odb/semantics/relational/table.hxx
+++ b/odb/odb/semantics/relational/table.hxx
diff --git a/odb/semantics/template.cxx b/odb/odb/semantics/template.cxx
index f492be0..f492be0 100644
--- a/odb/semantics/template.cxx
+++ b/odb/odb/semantics/template.cxx
diff --git a/odb/semantics/template.hxx b/odb/odb/semantics/template.hxx
index 11fe340..11fe340 100644
--- a/odb/semantics/template.hxx
+++ b/odb/odb/semantics/template.hxx
diff --git a/odb/semantics/union-template.cxx b/odb/odb/semantics/union-template.cxx
index 21fc9c0..21fc9c0 100644
--- a/odb/semantics/union-template.cxx
+++ b/odb/odb/semantics/union-template.cxx
diff --git a/odb/semantics/union-template.hxx b/odb/odb/semantics/union-template.hxx
index 3e719b7..3e719b7 100644
--- a/odb/semantics/union-template.hxx
+++ b/odb/odb/semantics/union-template.hxx
diff --git a/odb/semantics/union.cxx b/odb/odb/semantics/union.cxx
index 007ef57..007ef57 100644
--- a/odb/semantics/union.cxx
+++ b/odb/odb/semantics/union.cxx
diff --git a/odb/semantics/union.hxx b/odb/odb/semantics/union.hxx
index 79adc42..79adc42 100644
--- a/odb/semantics/union.hxx
+++ b/odb/odb/semantics/union.hxx
diff --git a/odb/semantics/unit.cxx b/odb/odb/semantics/unit.cxx
index 4f92aed..4f92aed 100644
--- a/odb/semantics/unit.cxx
+++ b/odb/odb/semantics/unit.cxx
diff --git a/odb/semantics/unit.hxx b/odb/odb/semantics/unit.hxx
index cfccbff..cfccbff 100644
--- a/odb/semantics/unit.hxx
+++ b/odb/odb/semantics/unit.hxx
diff --git a/odb/source.cxx b/odb/odb/source.cxx
index b2a39be..b2a39be 100644
--- a/odb/source.cxx
+++ b/odb/odb/source.cxx
diff --git a/odb/sql-lexer.cxx b/odb/odb/sql-lexer.cxx
index ab6f549..ab6f549 100644
--- a/odb/sql-lexer.cxx
+++ b/odb/odb/sql-lexer.cxx
diff --git a/odb/sql-lexer.hxx b/odb/odb/sql-lexer.hxx
index 9d24233..9d24233 100644
--- a/odb/sql-lexer.hxx
+++ b/odb/odb/sql-lexer.hxx
diff --git a/odb/sql-lexer.ixx b/odb/odb/sql-lexer.ixx
index 9179804..9179804 100644
--- a/odb/sql-lexer.ixx
+++ b/odb/odb/sql-lexer.ixx
diff --git a/odb/sql-token.cxx b/odb/odb/sql-token.cxx
index da9ecb2..da9ecb2 100644
--- a/odb/sql-token.cxx
+++ b/odb/odb/sql-token.cxx
diff --git a/odb/sql-token.hxx b/odb/odb/sql-token.hxx
index c34de21..c34de21 100644
--- a/odb/sql-token.hxx
+++ b/odb/odb/sql-token.hxx
diff --git a/odb/sql-token.ixx b/odb/odb/sql-token.ixx
index 5118c9f..5118c9f 100644
--- a/odb/sql-token.ixx
+++ b/odb/odb/sql-token.ixx
diff --git a/odb/traversal.hxx b/odb/odb/traversal.hxx
index 7f421b1..7f421b1 100644
--- a/odb/traversal.hxx
+++ b/odb/odb/traversal.hxx
diff --git a/odb/traversal/class-template.cxx b/odb/odb/traversal/class-template.cxx
index b04b625..b04b625 100644
--- a/odb/traversal/class-template.cxx
+++ b/odb/odb/traversal/class-template.cxx
diff --git a/odb/traversal/class-template.hxx b/odb/odb/traversal/class-template.hxx
index 18e1e5b..18e1e5b 100644
--- a/odb/traversal/class-template.hxx
+++ b/odb/odb/traversal/class-template.hxx
diff --git a/odb/traversal/class.cxx b/odb/odb/traversal/class.cxx
index 80c8b80..80c8b80 100644
--- a/odb/traversal/class.cxx
+++ b/odb/odb/traversal/class.cxx
diff --git a/odb/traversal/class.hxx b/odb/odb/traversal/class.hxx
index de86cc0..de86cc0 100644
--- a/odb/traversal/class.hxx
+++ b/odb/odb/traversal/class.hxx
diff --git a/odb/traversal/derived.cxx b/odb/odb/traversal/derived.cxx
index a0acab8..a0acab8 100644
--- a/odb/traversal/derived.cxx
+++ b/odb/odb/traversal/derived.cxx
diff --git a/odb/traversal/derived.hxx b/odb/odb/traversal/derived.hxx
index b7648aa..b7648aa 100644
--- a/odb/traversal/derived.hxx
+++ b/odb/odb/traversal/derived.hxx
diff --git a/odb/traversal/elements.cxx b/odb/odb/traversal/elements.cxx
index f95917a..f95917a 100644
--- a/odb/traversal/elements.cxx
+++ b/odb/odb/traversal/elements.cxx
diff --git a/odb/traversal/elements.hxx b/odb/odb/traversal/elements.hxx
index d67a6d8..d67a6d8 100644
--- a/odb/traversal/elements.hxx
+++ b/odb/odb/traversal/elements.hxx
diff --git a/odb/traversal/enum.cxx b/odb/odb/traversal/enum.cxx
index fa33f92..fa33f92 100644
--- a/odb/traversal/enum.cxx
+++ b/odb/odb/traversal/enum.cxx
diff --git a/odb/traversal/enum.hxx b/odb/odb/traversal/enum.hxx
index cd141f2..cd141f2 100644
--- a/odb/traversal/enum.hxx
+++ b/odb/odb/traversal/enum.hxx
diff --git a/odb/traversal/fundamental.hxx b/odb/odb/traversal/fundamental.hxx
index 974e74f..974e74f 100644
--- a/odb/traversal/fundamental.hxx
+++ b/odb/odb/traversal/fundamental.hxx
diff --git a/odb/traversal/namespace.hxx b/odb/odb/traversal/namespace.hxx
index 223322b..223322b 100644
--- a/odb/traversal/namespace.hxx
+++ b/odb/odb/traversal/namespace.hxx
diff --git a/odb/traversal/relational.hxx b/odb/odb/traversal/relational.hxx
index a78e26b..a78e26b 100644
--- a/odb/traversal/relational.hxx
+++ b/odb/odb/traversal/relational.hxx
diff --git a/odb/traversal/relational/changelog.cxx b/odb/odb/traversal/relational/changelog.cxx
index 149d93d..149d93d 100644
--- a/odb/traversal/relational/changelog.cxx
+++ b/odb/odb/traversal/relational/changelog.cxx
diff --git a/odb/traversal/relational/changelog.hxx b/odb/odb/traversal/relational/changelog.hxx
index 4b7f18f..4b7f18f 100644
--- a/odb/traversal/relational/changelog.hxx
+++ b/odb/odb/traversal/relational/changelog.hxx
diff --git a/odb/traversal/relational/changeset.hxx b/odb/odb/traversal/relational/changeset.hxx
index 3cc522a..3cc522a 100644
--- a/odb/traversal/relational/changeset.hxx
+++ b/odb/odb/traversal/relational/changeset.hxx
diff --git a/odb/traversal/relational/column.hxx b/odb/odb/traversal/relational/column.hxx
index b9c586d..b9c586d 100644
--- a/odb/traversal/relational/column.hxx
+++ b/odb/odb/traversal/relational/column.hxx
diff --git a/odb/traversal/relational/elements.hxx b/odb/odb/traversal/relational/elements.hxx
index 2b43ab0..2b43ab0 100644
--- a/odb/traversal/relational/elements.hxx
+++ b/odb/odb/traversal/relational/elements.hxx
diff --git a/odb/traversal/relational/foreign-key.hxx b/odb/odb/traversal/relational/foreign-key.hxx
index b8ccba3..b8ccba3 100644
--- a/odb/traversal/relational/foreign-key.hxx
+++ b/odb/odb/traversal/relational/foreign-key.hxx
diff --git a/odb/traversal/relational/index.hxx b/odb/odb/traversal/relational/index.hxx
index 2277fee..2277fee 100644
--- a/odb/traversal/relational/index.hxx
+++ b/odb/odb/traversal/relational/index.hxx
diff --git a/odb/traversal/relational/key.cxx b/odb/odb/traversal/relational/key.cxx
index 15a131c..15a131c 100644
--- a/odb/traversal/relational/key.cxx
+++ b/odb/odb/traversal/relational/key.cxx
diff --git a/odb/traversal/relational/key.hxx b/odb/odb/traversal/relational/key.hxx
index d0ba2d7..d0ba2d7 100644
--- a/odb/traversal/relational/key.hxx
+++ b/odb/odb/traversal/relational/key.hxx
diff --git a/odb/traversal/relational/model.hxx b/odb/odb/traversal/relational/model.hxx
index 03d70b1..03d70b1 100644
--- a/odb/traversal/relational/model.hxx
+++ b/odb/odb/traversal/relational/model.hxx
diff --git a/odb/traversal/relational/primary-key.hxx b/odb/odb/traversal/relational/primary-key.hxx
index dcefab6..dcefab6 100644
--- a/odb/traversal/relational/primary-key.hxx
+++ b/odb/odb/traversal/relational/primary-key.hxx
diff --git a/odb/traversal/relational/table.hxx b/odb/odb/traversal/relational/table.hxx
index d80e37e..d80e37e 100644
--- a/odb/traversal/relational/table.hxx
+++ b/odb/odb/traversal/relational/table.hxx
diff --git a/odb/traversal/template.cxx b/odb/odb/traversal/template.cxx
index 21a846d..21a846d 100644
--- a/odb/traversal/template.cxx
+++ b/odb/odb/traversal/template.cxx
diff --git a/odb/traversal/template.hxx b/odb/odb/traversal/template.hxx
index 28a64d5..28a64d5 100644
--- a/odb/traversal/template.hxx
+++ b/odb/odb/traversal/template.hxx
diff --git a/odb/traversal/union-template.cxx b/odb/odb/traversal/union-template.cxx
index 9d72fcd..9d72fcd 100644
--- a/odb/traversal/union-template.cxx
+++ b/odb/odb/traversal/union-template.cxx
diff --git a/odb/traversal/union-template.hxx b/odb/odb/traversal/union-template.hxx
index 10d1d49..10d1d49 100644
--- a/odb/traversal/union-template.hxx
+++ b/odb/odb/traversal/union-template.hxx
diff --git a/odb/traversal/union.hxx b/odb/odb/traversal/union.hxx
index 2d1a7af..2d1a7af 100644
--- a/odb/traversal/union.hxx
+++ b/odb/odb/traversal/union.hxx
diff --git a/odb/traversal/unit.hxx b/odb/odb/traversal/unit.hxx
index a90418a..a90418a 100644
--- a/odb/traversal/unit.hxx
+++ b/odb/odb/traversal/unit.hxx
diff --git a/odb/validator.cxx b/odb/odb/validator.cxx
index bf9aa6b..bf9aa6b 100644
--- a/odb/validator.cxx
+++ b/odb/odb/validator.cxx
diff --git a/odb/validator.hxx b/odb/odb/validator.hxx
index d0aeac9..d0aeac9 100644
--- a/odb/validator.hxx
+++ b/odb/odb/validator.hxx
diff --git a/odb/version.hxx b/odb/odb/version.hxx
index 4ad389a..4ad389a 100644
--- a/odb/version.hxx
+++ b/odb/odb/version.hxx
diff --git a/tests/.gitignore b/odb/tests/.gitignore
index 35ec43f..35ec43f 100644
--- a/tests/.gitignore
+++ b/odb/tests/.gitignore
diff --git a/tests/build/.gitignore b/odb/tests/build/.gitignore
index 4a730a3..4a730a3 100644
--- a/tests/build/.gitignore
+++ b/odb/tests/build/.gitignore
diff --git a/tests/build/bootstrap.build b/odb/tests/build/bootstrap.build
index 5e48571..5e48571 100644
--- a/tests/build/bootstrap.build
+++ b/odb/tests/build/bootstrap.build
diff --git a/tests/build/root.build b/odb/tests/build/root.build
index 0995b7b..0995b7b 100644
--- a/tests/build/root.build
+++ b/odb/tests/build/root.build
diff --git a/tests/buildfile b/odb/tests/buildfile
index 80a4e67..80a4e67 100644
--- a/tests/buildfile
+++ b/odb/tests/buildfile
diff --git a/tests/testscript b/odb/tests/testscript
index 5448eca..5448eca 100644
--- a/tests/testscript
+++ b/odb/tests/testscript
diff --git a/packages.manifest b/packages.manifest
new file mode 100644
index 0000000..411d17c
--- /dev/null
+++ b/packages.manifest
@@ -0,0 +1,2 @@
+: 1
+location: odb/
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