diff options
241 files changed, 942 insertions, 13 deletions
diff --git a/.gitattributes b/.gitattributes index d01efdc..cf4b5ef 100644 --- a/.gitattributes +++ b/.gitattributes @@ -18,3 +18,7 @@ # #*.png binary *.lz4 binary + +libbutl-odb/odb/details/meta symlink=dir +libbutl-odb/odb/details/shared-ptr symlink=dir + diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..5f622ca --- /dev/null +++ b/.gitmodules @@ -0,0 +1,9 @@ +[submodule "upstream/odb"] + path = upstream/odb + url = https://git.codesynthesis.com/odb/odb.git +[submodule "upstream/sqlite"] + path = upstream/sqlite + url = https://git.build2.org/packaging/sqlite/sqlite.git +[submodule "upstream/libpkg-config"] + path = upstream/libpkg-config + url = https://github.com/build2/libpkg-config.git @@ -1,16 +1,33 @@ libbutl/sha1.c: -3-clause BSD License; see the file header for details. + 3-clause BSD License; see the file header for details. libbutl/{sha256c.c, strptime.c, timelocal.[hc]}: libbutl/{xxhash.[hc], lz4*.[hc]}: libbutl/mingw-*.hxx: -2-clause BSD License; see the file headers for details. + 2-clause BSD License; see the file headers for details. libbutl/json/pdjson.[hc]: -UNLICENSE (dedicated to the public domain). + UNLICENSE (dedicated to the public domain). + +libbutl-pkg-config/**.[hc]: + + ISC License (see upstream/libpkg-config/LICENSE for details). + +libbutl-odb/sqlite/*.[hc]: + + SQLite Blessing (see upstream/sqlite/ for details). + +libbutl-odb/odb/{**.h **.?xx}: + + GPLv2 with License Exception which allows the use of the original build2 + software in open source or proprietary works without imposing any additional + restrictions to the terms and conditions of the MIT license used by build2. + For details, see: + + https://git.codesynthesis.com/cgit/odb/odb-etc/tree/license-exceptions/build2-odb-license-exception.txt The rest: @@ -1,3 +1,5 @@ +Note that this repository uses git submodules. + The checked out libbutl/version.hxx will be overwritten during the build process but these changes should be ignored. To do this automatically, run: diff --git a/build/export.build b/build/export.build index 427f76b..e7dfa5b 100644 --- a/build/export.build +++ b/build/export.build @@ -1,9 +1,35 @@ # file : build/export.build # license : MIT; see accompanying LICENSE file -$out_root/ +switch $name($import.target) { - include libbutl/ -} + case 'butl-odb' + { + $out_root/ + { + include libbutl-odb/ + } + + export $out_root/libbutl-odb/$import.target + } + + case 'butl-pkg-config' + { + $out_root/ + { + include libbutl-pkg-config/ + } -export $out_root/libbutl/lib{butl} + export $out_root/libbutl-pkg-config/$import.target + } + + default + { + $out_root/ + { + include libbutl/ + } + + export $out_root/libbutl/$import.target + } +} diff --git a/build/root.build b/build/root.build index 17e42b1..274b23b 100644 --- a/build/root.build +++ b/build/root.build @@ -1,9 +1,22 @@ # file : build/root.build # license : MIT; see accompanying LICENSE file +# Ability to build with system libsqlite3. +# +# Note that unless libsqlite3 on your system was built with an increased +# SQLITE_MAX_ATTACHED value (the default is 10), you will most likely come to +# regret using the system version. +# +# Also, while most distributions have to build libsqlite3 in a multi-threaded +# configuration, we build it single-threaded (and with disabled shared cache +# support), which gives us a non-negligible performance boost. +# +config [bool, config.report=false] config.libbutl.system_libsqlite3 ?= false + cxx.std = latest using cxx +using c hxx{*}: extension = hxx ixx{*}: extension = ixx @@ -11,10 +24,10 @@ txx{*}: extension = txx cxx{*}: extension = cxx if ($cxx.target.system == 'win32-msvc') - cxx.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS + cc.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS if ($cxx.class == 'msvc') - cxx.coptions += /wd4251 /wd4275 /wd4800 + cc.coptions += /wd4251 /wd4275 /wd4800 elif ($cxx.id == 'gcc') { # See GCC bugs 100115, 98753 (attachment 50081/comment 15), and 101361. Note @@ -1,7 +1,7 @@ # file : buildfile # license : MIT; see accompanying LICENSE file -./: {*/ -build/} \ +./: {*/ -build/ -upstream/} \ doc{INSTALL NEWS README} legal{LICENSE COPYRIGHT AUTHORS} \ manifest diff --git a/libbutl-odb/README-DEV b/libbutl-odb/README-DEV new file mode 100644 index 0000000..997f5a0 --- /dev/null +++ b/libbutl-odb/README-DEV @@ -0,0 +1,41 @@ +Excluded/replaced/relocated ODB upstream files/directories: + - libodb/odb/tr1/ + - libodb/odb/buildfile + - libodb/odb/details/{condition.cxx lock.cxx mutex.cxx thread.cxx} + - libodb/odb/details/posix/ + - libodb/odb/details/win32/* except for windows.hxx + + + - libodb/odb/sqlite/buildfile + - libodb/odb/sqlite/details/.gitignore + - libodb/odb/sqlite/details/options.cli + - libodb/odb/sqlite/details/pregenerated/ -- symlink options.?xx directly in details/ + + - libodb/odb/version.hxx.in + - libodb/odb/sqlite/version.hxx.in + - libodb/odb/version.hxx -- replace with pre-generated for submodule commit + - libodb/odb/sqlite/version.hxx -- replace with pre-generated for submodule commit + +SQLite is placed into a subdirectory to support the use of external version +(in which case we omit the corresponding -I option). + +Submodule update procedure (similar to updating to a new version of a +third-party package): + +1. Update submodule: + + https://build2.org/stage/build2-toolchain/doc/build2-toolchain-packaging.xhtml#core-version-management-new-version-submodule + +2. Review upstream changes: + + https://build2.org/stage/build2-toolchain/doc/build2-toolchain-packaging.xhtml#core-version-management-new-version-review + + Look for: + + - files to add/remove (see above) + - changes to buildfiles that would need to be replicated (including to + root.build) + +3. Replace verison.hxx with pre-generated for this submodule commit. + +4. Review .gitattributes for any symlink=dir changes. diff --git a/libbutl-odb/buildfile b/libbutl-odb/buildfile new file mode 100644 index 0000000..be04ed0 --- /dev/null +++ b/libbutl-odb/buildfile @@ -0,0 +1,151 @@ +# file : libbutl-odb/buildfile +# license : MIT; see accompanying LICENSE file + +sys_sqlite = $config.libbutl.system_libsqlite3 + +intf_libs = + +if $sys_sqlite + import intf_libs += libsqlite3%lib{sqlite3} + +lib{butl-odb}: odb/{h hxx ixx txx cxx}{**} +lib{butl-odb}: sqlite/{h c}{*}: include = (!$sys_sqlite) +lib{butl-odb}: $intf_libs + +# Build options. +# +cxx.poptions =+ "-I$src_base" + +if! $sys_sqlite + cxx.poptions =+ "-I($src_base/sqlite)" + +# For now we only need single-threaded ODB and SQLite. Note that if we need to +# change that, then we will most likely need to deal with MinGW stdthread mess +# (see libbutl/buildfile for details). Also see SQLITE_THREADSAFE=0 below. +# +cxx.poptions += -DODB_THREADS_NONE + +obja{*}: cxx.poptions += -DLIBODB_STATIC_BUILD -DLIBODB_SQLITE_STATIC_BUILD +objs{*}: cxx.poptions += -DLIBODB_SHARED_BUILD -DLIBODB_SQLITE_SHARED_BUILD + +if! $sys_sqlite +{ + # Note: copy of libsqlite3/buildfile except for SQLITE_THREADSAFE=0, + # -DSQLITE_OMIT_SHARED_CACHE, and removed ENABLE_UNLOCK_NOTIFY=1. + # + # We also add -Wno-unused-variable and -Wno-unused-but-set-variable. + # + tclass = $c.target.class + + bsd = ($tclass == 'bsd') + windows = ($tclass == 'windows') + + gcc = ($c.class == 'gcc') + clang = ($c.id.type == 'clang') + clang_msvc = ($clang && $c.target.system == 'win32-msvc') + + sqlite/ + { + c.poptions += \ + -DSQLITE_ALLOW_ROWID_IN_VIEW=1 \ + -DSQLITE_ENABLE_COLUMN_METADATA=1 \ + -DSQLITE_ENABLE_DBPAGE_VTAB=1 \ + -DSQLITE_ENABLE_DBSTAT_VTAB=1 \ + -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 \ + -DSQLITE_ENABLE_FTS3=1 \ + -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 \ + -DSQLITE_ENABLE_FTS3_TOKENIZER=1 \ + -DSQLITE_ENABLE_FTS4=1 \ + -DSQLITE_ENABLE_FTS5=1 \ + -DSQLITE_ENABLE_GEOPOLY=1 \ + -DSQLITE_ENABLE_JSON1=1 \ + -DSQLITE_ENABLE_LOAD_EXTENSION=1 \ + -DSQLITE_ENABLE_MATH_FUNCTIONS=1 \ + -DSQLITE_ENABLE_PREUPDATE_HOOK=1 \ + -DSQLITE_ENABLE_RTREE=1 \ + -DSQLITE_ENABLE_SESSION=1 \ + -DSQLITE_ENABLE_STMTVTAB=1 \ + -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1 \ + -DSQLITE_LIKE_DOESNT_MATCH_BLOBS=1 \ + -DSQLITE_MAX_SCHEMA_RETRY=25 \ + -DSQLITE_MAX_VARIABLE_NUMBER=250000 \ + -DSQLITE_OMIT_LOOKASIDE=1 \ + -DSQLITE_SECURE_DELETE=1 \ + -DSQLITE_SOUNDEX=1 \ + -DSQLITE_THREADSAFE=0 \ + -DSQLITE_USE_URI=1 \ + -DSQLITE_OMIT_SHARED_CACHE=1 + + c.poptions += -DSQLITE_MAX_ATTACHED=125 + + if! $windows + c.poptions += -DHAVE_USLEEP=1 + + if $gcc + c.coptions += -fno-strict-aliasing + + if $clang_msvc + c.coptions += -Wno-deprecated-declarations + + if ($clang && $c.version.major >= 15) + c.coptions += -Wno-unused-but-set-variable + + if $gcc + c.coptions += -Wno-unused-variable -Wno-extra -Wno-error + } + + if! $windows + { + cxx.libs += -lm + + if! $bsd + cxx.libs += -ldl + } +} + +# Export options. +# +lib{butl-odb}: +{ + cxx.export.poptions = "-I$src_base" -DODB_THREADS_NONE + cxx.export.libs = $intf_libs +} + +liba{butl-odb}: cxx.export.poptions += -DLIBODB_STATIC -DLIBODB_SQLITE_STATIC +libs{butl-odb}: cxx.export.poptions += -DLIBODB_SHARED -DLIBODB_SQLITE_SHARED + +if! $sys_sqlite +{ + lib{butl-odb}: cc.export.poptions = "-I($src_base/sqlite)" + + if $windows + libs{butl-odb}: cc.export.poptions += '-DSQLITE_API=__declspec(dllimport)' +} + +# For pre-releases use the complete version to make sure they cannot be used +# in place of another pre-release or the final version. See the version module +# for details on the version.* variable values. +# +if $version.pre_release + lib{butl-odb}: bin.lib.version = @"-$version.project_id" +else + lib{butl-odb}: bin.lib.version = @"-$version.major.$version.minor" + +# Install into the libbutl/odb/ subdirectory of, say, /usr/include/. For odb/, +# recreate subdirectories (so we end up with libbutl/odb/odb/...>). For +# sqlite/, install directly into libbutl/odb/. Arrange via pkg-config to be +# able to include ODB headers as <odb/...> and SQLite as just <sqlite3.h>. +# +# The reason we add an extra odb/ subdirectory instead of installing directly +# into libbutl/ is because adding -I for libbutl/ will make all the libbutl +# headers includable without a prefix and thus prone to clashes. +# +odb/{h hxx ixx txx}{*}: +{ + install = include/libbutl/odb/odb/ + install.subdirs = true +} + +sqlite/h{*}: install = include/libbutl/odb/ + +lib{butl-odb}: cxx.pkgconfig.include = include/libbutl/odb/ diff --git a/libbutl-odb/odb/c-array-traits.hxx b/libbutl-odb/odb/c-array-traits.hxx new file mode 120000 index 0000000..112e8bc --- /dev/null +++ b/libbutl-odb/odb/c-array-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/c-array-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/cache-traits.hxx b/libbutl-odb/odb/cache-traits.hxx new file mode 120000 index 0000000..73c5fbf --- /dev/null +++ b/libbutl-odb/odb/cache-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/cache-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/callback.hxx b/libbutl-odb/odb/callback.hxx new file mode 120000 index 0000000..1144ff5 --- /dev/null +++ b/libbutl-odb/odb/callback.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/callback.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/connection.cxx b/libbutl-odb/odb/connection.cxx new file mode 120000 index 0000000..89f6c19 --- /dev/null +++ b/libbutl-odb/odb/connection.cxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/connection.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/connection.hxx b/libbutl-odb/odb/connection.hxx new file mode 120000 index 0000000..cc8a0a5 --- /dev/null +++ b/libbutl-odb/odb/connection.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/connection.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/connection.ixx b/libbutl-odb/odb/connection.ixx new file mode 120000 index 0000000..bc1cfb0 --- /dev/null +++ b/libbutl-odb/odb/connection.ixx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/connection.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/connection.txx b/libbutl-odb/odb/connection.txx new file mode 120000 index 0000000..37e8e2e --- /dev/null +++ b/libbutl-odb/odb/connection.txx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/connection.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/container-traits.hxx b/libbutl-odb/odb/container-traits.hxx new file mode 120000 index 0000000..d71c3e7 --- /dev/null +++ b/libbutl-odb/odb/container-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/container-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/core.hxx b/libbutl-odb/odb/core.hxx new file mode 120000 index 0000000..f59ab1c --- /dev/null +++ b/libbutl-odb/odb/core.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/core.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/database.cxx b/libbutl-odb/odb/database.cxx new file mode 120000 index 0000000..11e9538 --- /dev/null +++ b/libbutl-odb/odb/database.cxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/database.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/database.hxx b/libbutl-odb/odb/database.hxx new file mode 120000 index 0000000..0def196 --- /dev/null +++ b/libbutl-odb/odb/database.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/database.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/database.ixx b/libbutl-odb/odb/database.ixx new file mode 120000 index 0000000..f3a769b --- /dev/null +++ b/libbutl-odb/odb/database.ixx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/database.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/database.txx b/libbutl-odb/odb/database.txx new file mode 120000 index 0000000..9d439a5 --- /dev/null +++ b/libbutl-odb/odb/database.txx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/database.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/buffer.cxx b/libbutl-odb/odb/details/buffer.cxx new file mode 120000 index 0000000..6af5fbc --- /dev/null +++ b/libbutl-odb/odb/details/buffer.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/buffer.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/buffer.hxx b/libbutl-odb/odb/details/buffer.hxx new file mode 120000 index 0000000..a05e24f --- /dev/null +++ b/libbutl-odb/odb/details/buffer.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/buffer.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/c-string.hxx b/libbutl-odb/odb/details/c-string.hxx new file mode 120000 index 0000000..6e1cd46 --- /dev/null +++ b/libbutl-odb/odb/details/c-string.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/c-string.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/condition.hxx b/libbutl-odb/odb/details/condition.hxx new file mode 120000 index 0000000..80ddb83 --- /dev/null +++ b/libbutl-odb/odb/details/condition.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/condition.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/config-vc.h b/libbutl-odb/odb/details/config-vc.h new file mode 120000 index 0000000..2e879c9 --- /dev/null +++ b/libbutl-odb/odb/details/config-vc.h @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/config-vc.h
\ No newline at end of file diff --git a/libbutl-odb/odb/details/config.h b/libbutl-odb/odb/details/config.h new file mode 120000 index 0000000..8fc2729 --- /dev/null +++ b/libbutl-odb/odb/details/config.h @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/config.h
\ No newline at end of file diff --git a/libbutl-odb/odb/details/config.hxx b/libbutl-odb/odb/details/config.hxx new file mode 120000 index 0000000..16ad4db --- /dev/null +++ b/libbutl-odb/odb/details/config.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/config.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/exception.hxx b/libbutl-odb/odb/details/exception.hxx new file mode 120000 index 0000000..41e9c35 --- /dev/null +++ b/libbutl-odb/odb/details/exception.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/exception.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/export.hxx b/libbutl-odb/odb/details/export.hxx new file mode 120000 index 0000000..ddbd800 --- /dev/null +++ b/libbutl-odb/odb/details/export.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/export.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/function-wrapper.hxx b/libbutl-odb/odb/details/function-wrapper.hxx new file mode 120000 index 0000000..94b8f9e --- /dev/null +++ b/libbutl-odb/odb/details/function-wrapper.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/function-wrapper.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/function-wrapper.ixx b/libbutl-odb/odb/details/function-wrapper.ixx new file mode 120000 index 0000000..05ec736 --- /dev/null +++ b/libbutl-odb/odb/details/function-wrapper.ixx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/function-wrapper.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/function-wrapper.txx b/libbutl-odb/odb/details/function-wrapper.txx new file mode 120000 index 0000000..4e33625 --- /dev/null +++ b/libbutl-odb/odb/details/function-wrapper.txx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/function-wrapper.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/lock.hxx b/libbutl-odb/odb/details/lock.hxx new file mode 120000 index 0000000..4099cee --- /dev/null +++ b/libbutl-odb/odb/details/lock.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/lock.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/meta b/libbutl-odb/odb/details/meta new file mode 120000 index 0000000..c12653e --- /dev/null +++ b/libbutl-odb/odb/details/meta @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/meta
\ No newline at end of file diff --git a/libbutl-odb/odb/details/mutex.hxx b/libbutl-odb/odb/details/mutex.hxx new file mode 120000 index 0000000..7bae0aa --- /dev/null +++ b/libbutl-odb/odb/details/mutex.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/mutex.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/shared-ptr b/libbutl-odb/odb/details/shared-ptr new file mode 120000 index 0000000..591da08 --- /dev/null +++ b/libbutl-odb/odb/details/shared-ptr @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/shared-ptr
\ No newline at end of file diff --git a/libbutl-odb/odb/details/shared-ptr-fwd.hxx b/libbutl-odb/odb/details/shared-ptr-fwd.hxx new file mode 120000 index 0000000..21e771e --- /dev/null +++ b/libbutl-odb/odb/details/shared-ptr-fwd.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/shared-ptr-fwd.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/shared-ptr.hxx b/libbutl-odb/odb/details/shared-ptr.hxx new file mode 120000 index 0000000..871bd50 --- /dev/null +++ b/libbutl-odb/odb/details/shared-ptr.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/shared-ptr.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/thread.hxx b/libbutl-odb/odb/details/thread.hxx new file mode 120000 index 0000000..9e3a478 --- /dev/null +++ b/libbutl-odb/odb/details/thread.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/thread.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/tls.hxx b/libbutl-odb/odb/details/tls.hxx new file mode 120000 index 0000000..72e1d04 --- /dev/null +++ b/libbutl-odb/odb/details/tls.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/tls.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/transfer-ptr.hxx b/libbutl-odb/odb/details/transfer-ptr.hxx new file mode 120000 index 0000000..360e1b9 --- /dev/null +++ b/libbutl-odb/odb/details/transfer-ptr.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/transfer-ptr.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/type-info.hxx b/libbutl-odb/odb/details/type-info.hxx new file mode 120000 index 0000000..c0aadef --- /dev/null +++ b/libbutl-odb/odb/details/type-info.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/type-info.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/unique-ptr.hxx b/libbutl-odb/odb/details/unique-ptr.hxx new file mode 120000 index 0000000..63cf03a --- /dev/null +++ b/libbutl-odb/odb/details/unique-ptr.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/unique-ptr.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/unused.hxx b/libbutl-odb/odb/details/unused.hxx new file mode 120000 index 0000000..d2d3488 --- /dev/null +++ b/libbutl-odb/odb/details/unused.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/unused.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/win32/windows.hxx b/libbutl-odb/odb/details/win32/windows.hxx new file mode 120000 index 0000000..9c1ebea --- /dev/null +++ b/libbutl-odb/odb/details/win32/windows.hxx @@ -0,0 +1 @@ +../../../../upstream/odb/libodb/odb/details/win32/windows.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/details/wrapper-p.hxx b/libbutl-odb/odb/details/wrapper-p.hxx new file mode 120000 index 0000000..a8389ae --- /dev/null +++ b/libbutl-odb/odb/details/wrapper-p.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb/odb/details/wrapper-p.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/exception.hxx b/libbutl-odb/odb/exception.hxx new file mode 120000 index 0000000..e7f27bc --- /dev/null +++ b/libbutl-odb/odb/exception.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/exception.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/exceptions.cxx b/libbutl-odb/odb/exceptions.cxx new file mode 120000 index 0000000..7d6764e --- /dev/null +++ b/libbutl-odb/odb/exceptions.cxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/exceptions.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/exceptions.hxx b/libbutl-odb/odb/exceptions.hxx new file mode 120000 index 0000000..29476de --- /dev/null +++ b/libbutl-odb/odb/exceptions.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/exceptions.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/forward.hxx b/libbutl-odb/odb/forward.hxx new file mode 120000 index 0000000..fce7288 --- /dev/null +++ b/libbutl-odb/odb/forward.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/forward.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/function-table.hxx b/libbutl-odb/odb/function-table.hxx new file mode 120000 index 0000000..be670b3 --- /dev/null +++ b/libbutl-odb/odb/function-table.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/function-table.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/lazy-pointer-traits.hxx b/libbutl-odb/odb/lazy-pointer-traits.hxx new file mode 120000 index 0000000..40886bb --- /dev/null +++ b/libbutl-odb/odb/lazy-pointer-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/lazy-pointer-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/lazy-ptr-impl.hxx b/libbutl-odb/odb/lazy-ptr-impl.hxx new file mode 120000 index 0000000..d6ebbf9 --- /dev/null +++ b/libbutl-odb/odb/lazy-ptr-impl.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/lazy-ptr-impl.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/lazy-ptr-impl.ixx b/libbutl-odb/odb/lazy-ptr-impl.ixx new file mode 120000 index 0000000..d1e4d67 --- /dev/null +++ b/libbutl-odb/odb/lazy-ptr-impl.ixx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/lazy-ptr-impl.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/lazy-ptr-impl.txx b/libbutl-odb/odb/lazy-ptr-impl.txx new file mode 120000 index 0000000..d32a56c --- /dev/null +++ b/libbutl-odb/odb/lazy-ptr-impl.txx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/lazy-ptr-impl.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/lazy-ptr.hxx b/libbutl-odb/odb/lazy-ptr.hxx new file mode 120000 index 0000000..4ec473c --- /dev/null +++ b/libbutl-odb/odb/lazy-ptr.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/lazy-ptr.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/lazy-ptr.ixx b/libbutl-odb/odb/lazy-ptr.ixx new file mode 120000 index 0000000..990c6df --- /dev/null +++ b/libbutl-odb/odb/lazy-ptr.ixx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/lazy-ptr.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/lazy-ptr.txx b/libbutl-odb/odb/lazy-ptr.txx new file mode 120000 index 0000000..7d13166 --- /dev/null +++ b/libbutl-odb/odb/lazy-ptr.txx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/lazy-ptr.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/nested-container.hxx b/libbutl-odb/odb/nested-container.hxx new file mode 120000 index 0000000..6204ec6 --- /dev/null +++ b/libbutl-odb/odb/nested-container.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/nested-container.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/no-id-object-result.hxx b/libbutl-odb/odb/no-id-object-result.hxx new file mode 120000 index 0000000..a4feda3 --- /dev/null +++ b/libbutl-odb/odb/no-id-object-result.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/no-id-object-result.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/no-id-object-result.txx b/libbutl-odb/odb/no-id-object-result.txx new file mode 120000 index 0000000..73def1a --- /dev/null +++ b/libbutl-odb/odb/no-id-object-result.txx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/no-id-object-result.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/no-op-cache-traits.hxx b/libbutl-odb/odb/no-op-cache-traits.hxx new file mode 120000 index 0000000..c1ab173 --- /dev/null +++ b/libbutl-odb/odb/no-op-cache-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/no-op-cache-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/nullable.hxx b/libbutl-odb/odb/nullable.hxx new file mode 120000 index 0000000..be1e9ec --- /dev/null +++ b/libbutl-odb/odb/nullable.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/nullable.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/object-result.hxx b/libbutl-odb/odb/object-result.hxx new file mode 120000 index 0000000..6fc617c --- /dev/null +++ b/libbutl-odb/odb/object-result.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/object-result.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/pointer-traits.hxx b/libbutl-odb/odb/pointer-traits.hxx new file mode 120000 index 0000000..4d7924f --- /dev/null +++ b/libbutl-odb/odb/pointer-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/pointer-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/polymorphic-info.hxx b/libbutl-odb/odb/polymorphic-info.hxx new file mode 120000 index 0000000..a6d2468 --- /dev/null +++ b/libbutl-odb/odb/polymorphic-info.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/polymorphic-info.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/polymorphic-map.hxx b/libbutl-odb/odb/polymorphic-map.hxx new file mode 120000 index 0000000..b92e037 --- /dev/null +++ b/libbutl-odb/odb/polymorphic-map.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/polymorphic-map.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/polymorphic-map.ixx b/libbutl-odb/odb/polymorphic-map.ixx new file mode 120000 index 0000000..ad9ad3f --- /dev/null +++ b/libbutl-odb/odb/polymorphic-map.ixx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/polymorphic-map.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/polymorphic-map.txx b/libbutl-odb/odb/polymorphic-map.txx new file mode 120000 index 0000000..ff264dc --- /dev/null +++ b/libbutl-odb/odb/polymorphic-map.txx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/polymorphic-map.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/polymorphic-object-result.hxx b/libbutl-odb/odb/polymorphic-object-result.hxx new file mode 120000 index 0000000..5482901 --- /dev/null +++ b/libbutl-odb/odb/polymorphic-object-result.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/polymorphic-object-result.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/polymorphic-object-result.txx b/libbutl-odb/odb/polymorphic-object-result.txx new file mode 120000 index 0000000..b935bb4 --- /dev/null +++ b/libbutl-odb/odb/polymorphic-object-result.txx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/polymorphic-object-result.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/post.hxx b/libbutl-odb/odb/post.hxx new file mode 120000 index 0000000..64aba2c --- /dev/null +++ b/libbutl-odb/odb/post.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/post.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/pre.hxx b/libbutl-odb/odb/pre.hxx new file mode 120000 index 0000000..f1acec8 --- /dev/null +++ b/libbutl-odb/odb/pre.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/pre.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/prepared-query.cxx b/libbutl-odb/odb/prepared-query.cxx new file mode 120000 index 0000000..02adc31 --- /dev/null +++ b/libbutl-odb/odb/prepared-query.cxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/prepared-query.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/prepared-query.hxx b/libbutl-odb/odb/prepared-query.hxx new file mode 120000 index 0000000..a512cbb --- /dev/null +++ b/libbutl-odb/odb/prepared-query.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/prepared-query.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/query-dynamic.cxx b/libbutl-odb/odb/query-dynamic.cxx new file mode 120000 index 0000000..9d09183 --- /dev/null +++ b/libbutl-odb/odb/query-dynamic.cxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/query-dynamic.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/query-dynamic.hxx b/libbutl-odb/odb/query-dynamic.hxx new file mode 120000 index 0000000..742ee6e --- /dev/null +++ b/libbutl-odb/odb/query-dynamic.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/query-dynamic.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/query-dynamic.ixx b/libbutl-odb/odb/query-dynamic.ixx new file mode 120000 index 0000000..1857aac --- /dev/null +++ b/libbutl-odb/odb/query-dynamic.ixx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/query-dynamic.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/query-dynamic.txx b/libbutl-odb/odb/query-dynamic.txx new file mode 120000 index 0000000..6f3d196 --- /dev/null +++ b/libbutl-odb/odb/query-dynamic.txx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/query-dynamic.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/query.hxx b/libbutl-odb/odb/query.hxx new file mode 120000 index 0000000..1012caa --- /dev/null +++ b/libbutl-odb/odb/query.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/query.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/result.cxx b/libbutl-odb/odb/result.cxx new file mode 120000 index 0000000..1a4accb --- /dev/null +++ b/libbutl-odb/odb/result.cxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/result.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/result.hxx b/libbutl-odb/odb/result.hxx new file mode 120000 index 0000000..19ecb55 --- /dev/null +++ b/libbutl-odb/odb/result.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/result.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/result.txx b/libbutl-odb/odb/result.txx new file mode 120000 index 0000000..c19db9b --- /dev/null +++ b/libbutl-odb/odb/result.txx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/result.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/schema-catalog-impl.hxx b/libbutl-odb/odb/schema-catalog-impl.hxx new file mode 120000 index 0000000..46b2940 --- /dev/null +++ b/libbutl-odb/odb/schema-catalog-impl.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/schema-catalog-impl.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/schema-catalog.cxx b/libbutl-odb/odb/schema-catalog.cxx new file mode 120000 index 0000000..6489260 --- /dev/null +++ b/libbutl-odb/odb/schema-catalog.cxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/schema-catalog.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/schema-catalog.hxx b/libbutl-odb/odb/schema-catalog.hxx new file mode 120000 index 0000000..3eac326 --- /dev/null +++ b/libbutl-odb/odb/schema-catalog.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/schema-catalog.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/schema-version.hxx b/libbutl-odb/odb/schema-version.hxx new file mode 120000 index 0000000..e151791 --- /dev/null +++ b/libbutl-odb/odb/schema-version.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/schema-version.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/section.cxx b/libbutl-odb/odb/section.cxx new file mode 120000 index 0000000..554e98a --- /dev/null +++ b/libbutl-odb/odb/section.cxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/section.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/section.hxx b/libbutl-odb/odb/section.hxx new file mode 120000 index 0000000..c56cc2b --- /dev/null +++ b/libbutl-odb/odb/section.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/section.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/session.cxx b/libbutl-odb/odb/session.cxx new file mode 120000 index 0000000..4fd4e61 --- /dev/null +++ b/libbutl-odb/odb/session.cxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/session.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/session.hxx b/libbutl-odb/odb/session.hxx new file mode 120000 index 0000000..b614bf3 --- /dev/null +++ b/libbutl-odb/odb/session.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/session.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/session.ixx b/libbutl-odb/odb/session.ixx new file mode 120000 index 0000000..8301774 --- /dev/null +++ b/libbutl-odb/odb/session.ixx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/session.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/session.txx b/libbutl-odb/odb/session.txx new file mode 120000 index 0000000..78525ff --- /dev/null +++ b/libbutl-odb/odb/session.txx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/session.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/simple-object-result.hxx b/libbutl-odb/odb/simple-object-result.hxx new file mode 120000 index 0000000..75ff145 --- /dev/null +++ b/libbutl-odb/odb/simple-object-result.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/simple-object-result.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/simple-object-result.txx b/libbutl-odb/odb/simple-object-result.txx new file mode 120000 index 0000000..24a73c6 --- /dev/null +++ b/libbutl-odb/odb/simple-object-result.txx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/simple-object-result.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/auto-handle.hxx b/libbutl-odb/odb/sqlite/auto-handle.hxx new file mode 120000 index 0000000..d2beea3 --- /dev/null +++ b/libbutl-odb/odb/sqlite/auto-handle.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/auto-handle.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/binding.hxx b/libbutl-odb/odb/sqlite/binding.hxx new file mode 120000 index 0000000..368fe4f --- /dev/null +++ b/libbutl-odb/odb/sqlite/binding.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/binding.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/blob-stream.hxx b/libbutl-odb/odb/sqlite/blob-stream.hxx new file mode 120000 index 0000000..a669754 --- /dev/null +++ b/libbutl-odb/odb/sqlite/blob-stream.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/blob-stream.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/blob.hxx b/libbutl-odb/odb/sqlite/blob.hxx new file mode 120000 index 0000000..39952c3 --- /dev/null +++ b/libbutl-odb/odb/sqlite/blob.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/blob.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/connection-factory.cxx b/libbutl-odb/odb/sqlite/connection-factory.cxx new file mode 120000 index 0000000..24bc557 --- /dev/null +++ b/libbutl-odb/odb/sqlite/connection-factory.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/connection-factory.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/connection-factory.hxx b/libbutl-odb/odb/sqlite/connection-factory.hxx new file mode 120000 index 0000000..a0628ec --- /dev/null +++ b/libbutl-odb/odb/sqlite/connection-factory.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/connection-factory.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/connection.cxx b/libbutl-odb/odb/sqlite/connection.cxx new file mode 120000 index 0000000..ab9dac9 --- /dev/null +++ b/libbutl-odb/odb/sqlite/connection.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/connection.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/connection.hxx b/libbutl-odb/odb/sqlite/connection.hxx new file mode 120000 index 0000000..b191dcf --- /dev/null +++ b/libbutl-odb/odb/sqlite/connection.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/connection.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/connection.ixx b/libbutl-odb/odb/sqlite/connection.ixx new file mode 120000 index 0000000..d46f148 --- /dev/null +++ b/libbutl-odb/odb/sqlite/connection.ixx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/connection.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/container-statements.hxx b/libbutl-odb/odb/sqlite/container-statements.hxx new file mode 120000 index 0000000..bd7fe17 --- /dev/null +++ b/libbutl-odb/odb/sqlite/container-statements.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/container-statements.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/container-statements.txx b/libbutl-odb/odb/sqlite/container-statements.txx new file mode 120000 index 0000000..6fc9bef --- /dev/null +++ b/libbutl-odb/odb/sqlite/container-statements.txx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/container-statements.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/database.cxx b/libbutl-odb/odb/sqlite/database.cxx new file mode 120000 index 0000000..d8e8079 --- /dev/null +++ b/libbutl-odb/odb/sqlite/database.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/database.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/database.hxx b/libbutl-odb/odb/sqlite/database.hxx new file mode 120000 index 0000000..008d1fc --- /dev/null +++ b/libbutl-odb/odb/sqlite/database.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/database.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/database.ixx b/libbutl-odb/odb/sqlite/database.ixx new file mode 120000 index 0000000..52a723c --- /dev/null +++ b/libbutl-odb/odb/sqlite/database.ixx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/database.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/details/config.hxx b/libbutl-odb/odb/sqlite/details/config.hxx new file mode 120000 index 0000000..ba48e30 --- /dev/null +++ b/libbutl-odb/odb/sqlite/details/config.hxx @@ -0,0 +1 @@ +../../../../upstream/odb/libodb-sqlite/odb/sqlite/details/config.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/details/conversion.hxx b/libbutl-odb/odb/sqlite/details/conversion.hxx new file mode 120000 index 0000000..41e31b4 --- /dev/null +++ b/libbutl-odb/odb/sqlite/details/conversion.hxx @@ -0,0 +1 @@ +../../../../upstream/odb/libodb-sqlite/odb/sqlite/details/conversion.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/details/export.hxx b/libbutl-odb/odb/sqlite/details/export.hxx new file mode 120000 index 0000000..22a9ea3 --- /dev/null +++ b/libbutl-odb/odb/sqlite/details/export.hxx @@ -0,0 +1 @@ +../../../../upstream/odb/libodb-sqlite/odb/sqlite/details/export.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/details/options.cxx b/libbutl-odb/odb/sqlite/details/options.cxx new file mode 120000 index 0000000..61950de --- /dev/null +++ b/libbutl-odb/odb/sqlite/details/options.cxx @@ -0,0 +1 @@ +../../../../upstream/odb/libodb-sqlite/odb/sqlite/details/pregenerated/odb/sqlite/details/options.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/details/options.hxx b/libbutl-odb/odb/sqlite/details/options.hxx new file mode 120000 index 0000000..7e674dd --- /dev/null +++ b/libbutl-odb/odb/sqlite/details/options.hxx @@ -0,0 +1 @@ +../../../../upstream/odb/libodb-sqlite/odb/sqlite/details/pregenerated/odb/sqlite/details/options.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/details/options.ixx b/libbutl-odb/odb/sqlite/details/options.ixx new file mode 120000 index 0000000..f562a57 --- /dev/null +++ b/libbutl-odb/odb/sqlite/details/options.ixx @@ -0,0 +1 @@ +../../../../upstream/odb/libodb-sqlite/odb/sqlite/details/pregenerated/odb/sqlite/details/options.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/error.cxx b/libbutl-odb/odb/sqlite/error.cxx new file mode 120000 index 0000000..1bfc433 --- /dev/null +++ b/libbutl-odb/odb/sqlite/error.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/error.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/error.hxx b/libbutl-odb/odb/sqlite/error.hxx new file mode 120000 index 0000000..c82f49f --- /dev/null +++ b/libbutl-odb/odb/sqlite/error.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/error.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/exceptions.cxx b/libbutl-odb/odb/sqlite/exceptions.cxx new file mode 120000 index 0000000..b49ae98 --- /dev/null +++ b/libbutl-odb/odb/sqlite/exceptions.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/exceptions.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/exceptions.hxx b/libbutl-odb/odb/sqlite/exceptions.hxx new file mode 120000 index 0000000..ada5548 --- /dev/null +++ b/libbutl-odb/odb/sqlite/exceptions.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/exceptions.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/forward.hxx b/libbutl-odb/odb/sqlite/forward.hxx new file mode 120000 index 0000000..a9b323c --- /dev/null +++ b/libbutl-odb/odb/sqlite/forward.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/forward.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/no-id-object-result.hxx b/libbutl-odb/odb/sqlite/no-id-object-result.hxx new file mode 120000 index 0000000..07ff3bd --- /dev/null +++ b/libbutl-odb/odb/sqlite/no-id-object-result.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/no-id-object-result.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/no-id-object-result.txx b/libbutl-odb/odb/sqlite/no-id-object-result.txx new file mode 120000 index 0000000..c20e86e --- /dev/null +++ b/libbutl-odb/odb/sqlite/no-id-object-result.txx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/no-id-object-result.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/no-id-object-statements.hxx b/libbutl-odb/odb/sqlite/no-id-object-statements.hxx new file mode 120000 index 0000000..572080c --- /dev/null +++ b/libbutl-odb/odb/sqlite/no-id-object-statements.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/no-id-object-statements.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/no-id-object-statements.txx b/libbutl-odb/odb/sqlite/no-id-object-statements.txx new file mode 120000 index 0000000..51bb914 --- /dev/null +++ b/libbutl-odb/odb/sqlite/no-id-object-statements.txx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/no-id-object-statements.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/polymorphic-object-result.hxx b/libbutl-odb/odb/sqlite/polymorphic-object-result.hxx new file mode 120000 index 0000000..fe429c2 --- /dev/null +++ b/libbutl-odb/odb/sqlite/polymorphic-object-result.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/polymorphic-object-result.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/polymorphic-object-result.txx b/libbutl-odb/odb/sqlite/polymorphic-object-result.txx new file mode 120000 index 0000000..e856368 --- /dev/null +++ b/libbutl-odb/odb/sqlite/polymorphic-object-result.txx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/polymorphic-object-result.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/polymorphic-object-statements.hxx b/libbutl-odb/odb/sqlite/polymorphic-object-statements.hxx new file mode 120000 index 0000000..b3e8263 --- /dev/null +++ b/libbutl-odb/odb/sqlite/polymorphic-object-statements.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/polymorphic-object-statements.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/polymorphic-object-statements.txx b/libbutl-odb/odb/sqlite/polymorphic-object-statements.txx new file mode 120000 index 0000000..ef05814 --- /dev/null +++ b/libbutl-odb/odb/sqlite/polymorphic-object-statements.txx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/polymorphic-object-statements.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/prepared-query.cxx b/libbutl-odb/odb/sqlite/prepared-query.cxx new file mode 120000 index 0000000..3fce056 --- /dev/null +++ b/libbutl-odb/odb/sqlite/prepared-query.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/prepared-query.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/prepared-query.hxx b/libbutl-odb/odb/sqlite/prepared-query.hxx new file mode 120000 index 0000000..585424d --- /dev/null +++ b/libbutl-odb/odb/sqlite/prepared-query.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/prepared-query.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/query-const-expr.cxx b/libbutl-odb/odb/sqlite/query-const-expr.cxx new file mode 120000 index 0000000..a37dc67 --- /dev/null +++ b/libbutl-odb/odb/sqlite/query-const-expr.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/query-const-expr.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/query-dynamic.cxx b/libbutl-odb/odb/sqlite/query-dynamic.cxx new file mode 120000 index 0000000..0e7b56c --- /dev/null +++ b/libbutl-odb/odb/sqlite/query-dynamic.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/query-dynamic.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/query-dynamic.hxx b/libbutl-odb/odb/sqlite/query-dynamic.hxx new file mode 120000 index 0000000..11158d4 --- /dev/null +++ b/libbutl-odb/odb/sqlite/query-dynamic.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/query-dynamic.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/query-dynamic.ixx b/libbutl-odb/odb/sqlite/query-dynamic.ixx new file mode 120000 index 0000000..babc299 --- /dev/null +++ b/libbutl-odb/odb/sqlite/query-dynamic.ixx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/query-dynamic.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/query-dynamic.txx b/libbutl-odb/odb/sqlite/query-dynamic.txx new file mode 120000 index 0000000..6f3cb12 --- /dev/null +++ b/libbutl-odb/odb/sqlite/query-dynamic.txx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/query-dynamic.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/query.cxx b/libbutl-odb/odb/sqlite/query.cxx new file mode 120000 index 0000000..9237561 --- /dev/null +++ b/libbutl-odb/odb/sqlite/query.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/query.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/query.hxx b/libbutl-odb/odb/sqlite/query.hxx new file mode 120000 index 0000000..c0cb9b4 --- /dev/null +++ b/libbutl-odb/odb/sqlite/query.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/query.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/query.ixx b/libbutl-odb/odb/sqlite/query.ixx new file mode 120000 index 0000000..9d38832 --- /dev/null +++ b/libbutl-odb/odb/sqlite/query.ixx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/query.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/query.txx b/libbutl-odb/odb/sqlite/query.txx new file mode 120000 index 0000000..05c6033 --- /dev/null +++ b/libbutl-odb/odb/sqlite/query.txx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/query.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/section-statements.hxx b/libbutl-odb/odb/sqlite/section-statements.hxx new file mode 120000 index 0000000..6edc0d5 --- /dev/null +++ b/libbutl-odb/odb/sqlite/section-statements.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/section-statements.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/section-statements.txx b/libbutl-odb/odb/sqlite/section-statements.txx new file mode 120000 index 0000000..699c6b8 --- /dev/null +++ b/libbutl-odb/odb/sqlite/section-statements.txx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/section-statements.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/simple-object-result.hxx b/libbutl-odb/odb/sqlite/simple-object-result.hxx new file mode 120000 index 0000000..9bed959 --- /dev/null +++ b/libbutl-odb/odb/sqlite/simple-object-result.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/simple-object-result.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/simple-object-result.txx b/libbutl-odb/odb/sqlite/simple-object-result.txx new file mode 120000 index 0000000..7dbb9d1 --- /dev/null +++ b/libbutl-odb/odb/sqlite/simple-object-result.txx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/simple-object-result.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/simple-object-statements.cxx b/libbutl-odb/odb/sqlite/simple-object-statements.cxx new file mode 120000 index 0000000..fe37130 --- /dev/null +++ b/libbutl-odb/odb/sqlite/simple-object-statements.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/simple-object-statements.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/simple-object-statements.hxx b/libbutl-odb/odb/sqlite/simple-object-statements.hxx new file mode 120000 index 0000000..dbf222b --- /dev/null +++ b/libbutl-odb/odb/sqlite/simple-object-statements.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/simple-object-statements.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/simple-object-statements.ixx b/libbutl-odb/odb/sqlite/simple-object-statements.ixx new file mode 120000 index 0000000..863b920 --- /dev/null +++ b/libbutl-odb/odb/sqlite/simple-object-statements.ixx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/simple-object-statements.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/simple-object-statements.txx b/libbutl-odb/odb/sqlite/simple-object-statements.txx new file mode 120000 index 0000000..8a3bcc7 --- /dev/null +++ b/libbutl-odb/odb/sqlite/simple-object-statements.txx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/simple-object-statements.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/sqlite-types.hxx b/libbutl-odb/odb/sqlite/sqlite-types.hxx new file mode 120000 index 0000000..dda05ff --- /dev/null +++ b/libbutl-odb/odb/sqlite/sqlite-types.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/sqlite-types.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/statement-cache.hxx b/libbutl-odb/odb/sqlite/statement-cache.hxx new file mode 120000 index 0000000..0ef7a98 --- /dev/null +++ b/libbutl-odb/odb/sqlite/statement-cache.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/statement-cache.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/statement-cache.txx b/libbutl-odb/odb/sqlite/statement-cache.txx new file mode 120000 index 0000000..d945fe2 --- /dev/null +++ b/libbutl-odb/odb/sqlite/statement-cache.txx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/statement-cache.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/statement.cxx b/libbutl-odb/odb/sqlite/statement.cxx new file mode 120000 index 0000000..e84cbae --- /dev/null +++ b/libbutl-odb/odb/sqlite/statement.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/statement.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/statement.hxx b/libbutl-odb/odb/sqlite/statement.hxx new file mode 120000 index 0000000..40c7e11 --- /dev/null +++ b/libbutl-odb/odb/sqlite/statement.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/statement.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/statements-base.cxx b/libbutl-odb/odb/sqlite/statements-base.cxx new file mode 120000 index 0000000..5cbbd29 --- /dev/null +++ b/libbutl-odb/odb/sqlite/statements-base.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/statements-base.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/statements-base.hxx b/libbutl-odb/odb/sqlite/statements-base.hxx new file mode 120000 index 0000000..022238e --- /dev/null +++ b/libbutl-odb/odb/sqlite/statements-base.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/statements-base.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/stream.cxx b/libbutl-odb/odb/sqlite/stream.cxx new file mode 120000 index 0000000..43d8e7a --- /dev/null +++ b/libbutl-odb/odb/sqlite/stream.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/stream.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/stream.hxx b/libbutl-odb/odb/sqlite/stream.hxx new file mode 120000 index 0000000..4d8f752 --- /dev/null +++ b/libbutl-odb/odb/sqlite/stream.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/stream.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/text-stream.hxx b/libbutl-odb/odb/sqlite/text-stream.hxx new file mode 120000 index 0000000..5dfb71b --- /dev/null +++ b/libbutl-odb/odb/sqlite/text-stream.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/text-stream.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/text.hxx b/libbutl-odb/odb/sqlite/text.hxx new file mode 120000 index 0000000..d214506 --- /dev/null +++ b/libbutl-odb/odb/sqlite/text.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/text.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/tracer.cxx b/libbutl-odb/odb/sqlite/tracer.cxx new file mode 120000 index 0000000..eb1a179 --- /dev/null +++ b/libbutl-odb/odb/sqlite/tracer.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/tracer.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/tracer.hxx b/libbutl-odb/odb/sqlite/tracer.hxx new file mode 120000 index 0000000..1bf3209 --- /dev/null +++ b/libbutl-odb/odb/sqlite/tracer.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/tracer.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/traits-calls.hxx b/libbutl-odb/odb/sqlite/traits-calls.hxx new file mode 120000 index 0000000..d736213 --- /dev/null +++ b/libbutl-odb/odb/sqlite/traits-calls.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/traits-calls.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/traits.cxx b/libbutl-odb/odb/sqlite/traits.cxx new file mode 120000 index 0000000..71c2b15 --- /dev/null +++ b/libbutl-odb/odb/sqlite/traits.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/traits.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/traits.hxx b/libbutl-odb/odb/sqlite/traits.hxx new file mode 120000 index 0000000..0c06d44 --- /dev/null +++ b/libbutl-odb/odb/sqlite/traits.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/transaction-impl.cxx b/libbutl-odb/odb/sqlite/transaction-impl.cxx new file mode 120000 index 0000000..006fca5 --- /dev/null +++ b/libbutl-odb/odb/sqlite/transaction-impl.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/transaction-impl.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/transaction-impl.hxx b/libbutl-odb/odb/sqlite/transaction-impl.hxx new file mode 120000 index 0000000..c6b5f84 --- /dev/null +++ b/libbutl-odb/odb/sqlite/transaction-impl.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/transaction-impl.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/transaction.cxx b/libbutl-odb/odb/sqlite/transaction.cxx new file mode 120000 index 0000000..72946da --- /dev/null +++ b/libbutl-odb/odb/sqlite/transaction.cxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/transaction.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/transaction.hxx b/libbutl-odb/odb/sqlite/transaction.hxx new file mode 120000 index 0000000..1a1b354 --- /dev/null +++ b/libbutl-odb/odb/sqlite/transaction.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/transaction.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/transaction.ixx b/libbutl-odb/odb/sqlite/transaction.ixx new file mode 120000 index 0000000..67da3ef --- /dev/null +++ b/libbutl-odb/odb/sqlite/transaction.ixx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/transaction.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/version.hxx b/libbutl-odb/odb/sqlite/version.hxx new file mode 100644 index 0000000..e604c17 --- /dev/null +++ b/libbutl-odb/odb/sqlite/version.hxx @@ -0,0 +1,65 @@ +// file : odb/sqlite/version.hxx.in +// license : GNU GPL v2; see accompanying LICENSE file + +#ifndef LIBODB_SQLITE_VERSION // Note: using the version macro itself. + +// New numeric version format is AAAAABBBBBCCCCCDDDE where: +// +// AAAAA - major version number +// BBBBB - minor version number +// CCCCC - bugfix version number +// DDD - alpha / beta (DDD + 500) version number +// E - final (0) / snapshot (1) +// +// When DDDE is not 0, 1 is subtracted from AAAAABBBBBCCCCC. For example: +// +// Version AAAAABBBBBCCCCCDDDE +// +// 0.1.0 0000000001000000000 +// 0.1.2 0000000001000020000 +// 1.2.3 0000100002000030000 +// 2.2.0-a.1 0000200001999990010 +// 3.0.0-b.2 0000299999999995020 +// 2.2.0-a.1.z 0000200001999990011 +// +#define LIBODB_SQLITE_VERSION_FULL 200004999995261ULL +#define LIBODB_SQLITE_VERSION_STR "2.5.0-b.26.20240502090701.7ce5b6d18b67" +#define LIBODB_SQLITE_VERSION_ID "2.5.0-b.26.7ce5b6d18b67" + +#define LIBODB_SQLITE_VERSION_MAJOR 2 +#define LIBODB_SQLITE_VERSION_MINOR 5 +#define LIBODB_SQLITE_VERSION_PATCH 0 + +#define LIBODB_SQLITE_PRE_RELEASE true + +#define LIBODB_SQLITE_SNAPSHOT 20240502090701ULL +#define LIBODB_SQLITE_SNAPSHOT_ID "7ce5b6d18b67" + +#include <odb/version.hxx> + +#ifdef LIBODB_VERSION_FULL +# if !(LIBODB_VERSION_FULL == 200004999995261ULL && LIBODB_SNAPSHOT == 20240502090701ULL) +# error incompatible libodb version, libodb == 2.5.0-b.26.20240502090701.7ce5b6d18b67 is required +# endif +#endif + + +// Old/deprecated numeric version format is AABBCCDD where: +// +// AA - major version number +// BB - minor version number +// CC - bugfix version number +// DD - alpha / beta (DD + 50) version number +// +// When DD is not 00, 1 is subtracted from AABBCC. For example: +// +// Version AABBCCDD +// 2.0.0 02000000 +// 2.1.0 02010000 +// 2.1.1 02010100 +// 2.2.0.a1 02019901 +// 3.0.0.b2 02999952 +// +#define LIBODB_SQLITE_VERSION 2049976 + +#endif // LIBODB_SQLITE_VERSION diff --git a/libbutl-odb/odb/sqlite/view-result.hxx b/libbutl-odb/odb/sqlite/view-result.hxx new file mode 120000 index 0000000..bdd35c3 --- /dev/null +++ b/libbutl-odb/odb/sqlite/view-result.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/view-result.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/view-result.txx b/libbutl-odb/odb/sqlite/view-result.txx new file mode 120000 index 0000000..c6219bc --- /dev/null +++ b/libbutl-odb/odb/sqlite/view-result.txx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/view-result.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/view-statements.hxx b/libbutl-odb/odb/sqlite/view-statements.hxx new file mode 120000 index 0000000..d0c22cb --- /dev/null +++ b/libbutl-odb/odb/sqlite/view-statements.hxx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/view-statements.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/sqlite/view-statements.txx b/libbutl-odb/odb/sqlite/view-statements.txx new file mode 120000 index 0000000..f522d37 --- /dev/null +++ b/libbutl-odb/odb/sqlite/view-statements.txx @@ -0,0 +1 @@ +../../../upstream/odb/libodb-sqlite/odb/sqlite/view-statements.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/statement-processing-common.hxx b/libbutl-odb/odb/statement-processing-common.hxx new file mode 120000 index 0000000..2a12e3f --- /dev/null +++ b/libbutl-odb/odb/statement-processing-common.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/statement-processing-common.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/statement-processing.cxx b/libbutl-odb/odb/statement-processing.cxx new file mode 120000 index 0000000..2a4d084 --- /dev/null +++ b/libbutl-odb/odb/statement-processing.cxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/statement-processing.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/statement.cxx b/libbutl-odb/odb/statement.cxx new file mode 120000 index 0000000..057d7cf --- /dev/null +++ b/libbutl-odb/odb/statement.cxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/statement.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/statement.hxx b/libbutl-odb/odb/statement.hxx new file mode 120000 index 0000000..e92cc46 --- /dev/null +++ b/libbutl-odb/odb/statement.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/statement.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/std-array-traits.hxx b/libbutl-odb/odb/std-array-traits.hxx new file mode 120000 index 0000000..308845c --- /dev/null +++ b/libbutl-odb/odb/std-array-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/std-array-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/std-deque-traits.hxx b/libbutl-odb/odb/std-deque-traits.hxx new file mode 120000 index 0000000..7ccb3ec --- /dev/null +++ b/libbutl-odb/odb/std-deque-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/std-deque-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/std-forward-list-traits.hxx b/libbutl-odb/odb/std-forward-list-traits.hxx new file mode 120000 index 0000000..67c2b47 --- /dev/null +++ b/libbutl-odb/odb/std-forward-list-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/std-forward-list-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/std-list-traits.hxx b/libbutl-odb/odb/std-list-traits.hxx new file mode 120000 index 0000000..25e8745 --- /dev/null +++ b/libbutl-odb/odb/std-list-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/std-list-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/std-map-traits.hxx b/libbutl-odb/odb/std-map-traits.hxx new file mode 120000 index 0000000..a1d18e2 --- /dev/null +++ b/libbutl-odb/odb/std-map-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/std-map-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/std-set-traits.hxx b/libbutl-odb/odb/std-set-traits.hxx new file mode 120000 index 0000000..7106505 --- /dev/null +++ b/libbutl-odb/odb/std-set-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/std-set-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/std-unordered-map-traits.hxx b/libbutl-odb/odb/std-unordered-map-traits.hxx new file mode 120000 index 0000000..560c9ff --- /dev/null +++ b/libbutl-odb/odb/std-unordered-map-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/std-unordered-map-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/std-unordered-set-traits.hxx b/libbutl-odb/odb/std-unordered-set-traits.hxx new file mode 120000 index 0000000..7738e1a --- /dev/null +++ b/libbutl-odb/odb/std-unordered-set-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/std-unordered-set-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/std-vector-traits.hxx b/libbutl-odb/odb/std-vector-traits.hxx new file mode 120000 index 0000000..f837306 --- /dev/null +++ b/libbutl-odb/odb/std-vector-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/std-vector-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/tracer.cxx b/libbutl-odb/odb/tracer.cxx new file mode 120000 index 0000000..403561c --- /dev/null +++ b/libbutl-odb/odb/tracer.cxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/tracer.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/tracer.hxx b/libbutl-odb/odb/tracer.hxx new file mode 120000 index 0000000..c3ea47c --- /dev/null +++ b/libbutl-odb/odb/tracer.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/tracer.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/traits.hxx b/libbutl-odb/odb/traits.hxx new file mode 120000 index 0000000..d64b1c3 --- /dev/null +++ b/libbutl-odb/odb/traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/transaction.cxx b/libbutl-odb/odb/transaction.cxx new file mode 120000 index 0000000..737baca --- /dev/null +++ b/libbutl-odb/odb/transaction.cxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/transaction.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/transaction.hxx b/libbutl-odb/odb/transaction.hxx new file mode 120000 index 0000000..17d71d9 --- /dev/null +++ b/libbutl-odb/odb/transaction.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/transaction.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/transaction.ixx b/libbutl-odb/odb/transaction.ixx new file mode 120000 index 0000000..a54315d --- /dev/null +++ b/libbutl-odb/odb/transaction.ixx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/transaction.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/vector-impl.cxx b/libbutl-odb/odb/vector-impl.cxx new file mode 120000 index 0000000..666ef11 --- /dev/null +++ b/libbutl-odb/odb/vector-impl.cxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/vector-impl.cxx
\ No newline at end of file diff --git a/libbutl-odb/odb/vector-impl.hxx b/libbutl-odb/odb/vector-impl.hxx new file mode 120000 index 0000000..1a6d128 --- /dev/null +++ b/libbutl-odb/odb/vector-impl.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/vector-impl.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/vector-impl.ixx b/libbutl-odb/odb/vector-impl.ixx new file mode 120000 index 0000000..c432ff8 --- /dev/null +++ b/libbutl-odb/odb/vector-impl.ixx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/vector-impl.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/vector-traits.hxx b/libbutl-odb/odb/vector-traits.hxx new file mode 120000 index 0000000..0b52905 --- /dev/null +++ b/libbutl-odb/odb/vector-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/vector-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/vector-traits.txx b/libbutl-odb/odb/vector-traits.txx new file mode 120000 index 0000000..28991f3 --- /dev/null +++ b/libbutl-odb/odb/vector-traits.txx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/vector-traits.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/vector.hxx b/libbutl-odb/odb/vector.hxx new file mode 120000 index 0000000..7e0cb3f --- /dev/null +++ b/libbutl-odb/odb/vector.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/vector.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/vector.ixx b/libbutl-odb/odb/vector.ixx new file mode 120000 index 0000000..87593d2 --- /dev/null +++ b/libbutl-odb/odb/vector.ixx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/vector.ixx
\ No newline at end of file diff --git a/libbutl-odb/odb/version.hxx b/libbutl-odb/odb/version.hxx new file mode 100644 index 0000000..370cda1 --- /dev/null +++ b/libbutl-odb/odb/version.hxx @@ -0,0 +1,65 @@ +// file : odb/version.hxx.in +// license : GNU GPL v2; see accompanying LICENSE file + +#ifndef LIBODB_VERSION // Note: using the version macro itself. + +// New numeric version format is AAAAABBBBBCCCCCDDDE where: +// +// AAAAA - major version number +// BBBBB - minor version number +// CCCCC - bugfix version number +// DDD - alpha / beta (DDD + 500) version number +// E - final (0) / snapshot (1) +// +// When DDDE is not 0, 1 is subtracted from AAAAABBBBBCCCCC. For example: +// +// Version AAAAABBBBBCCCCCDDDE +// +// 0.1.0 0000000001000000000 +// 0.1.2 0000000001000020000 +// 1.2.3 0000100002000030000 +// 2.2.0-a.1 0000200001999990010 +// 3.0.0-b.2 0000299999999995020 +// 2.2.0-a.1.z 0000200001999990011 +// +#define LIBODB_VERSION_FULL 200004999995261ULL +#define LIBODB_VERSION_STR "2.5.0-b.26.20240502090701.7ce5b6d18b67" +#define LIBODB_VERSION_ID "2.5.0-b.26.7ce5b6d18b67" + +#define LIBODB_VERSION_MAJOR 2 +#define LIBODB_VERSION_MINOR 5 +#define LIBODB_VERSION_PATCH 0 + +#define LIBODB_PRE_RELEASE true + +#define LIBODB_SNAPSHOT 20240502090701ULL +#define LIBODB_SNAPSHOT_ID "7ce5b6d18b67" + + +// Old/deprecated numeric version format is AABBCCDD where: +// +// AA - major version number +// BB - minor version number +// CC - bugfix version number +// DD - alpha / beta (DD + 50) version number +// +// When DD is not 00, 1 is subtracted from AABBCC. For example: +// +// Version AABBCCDD +// 2.0.0 02000000 +// 2.1.0 02010000 +// 2.1.1 02010100 +// 2.2.0.a1 02019901 +// 3.0.0.b2 02999952 +// + +// ODB interface version: minor, major, and alpha/beta versions. +// +#define ODB_VERSION 20476 +#define ODB_VERSION_STR "2.5-b.26" + +// libodb version: interface version plus the bugfix version. +// +#define LIBODB_VERSION 2049976 + +#endif // LIBODB_VERSION diff --git a/libbutl-odb/odb/view-image.hxx b/libbutl-odb/odb/view-image.hxx new file mode 120000 index 0000000..8f2aec1 --- /dev/null +++ b/libbutl-odb/odb/view-image.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/view-image.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/view-result.hxx b/libbutl-odb/odb/view-result.hxx new file mode 120000 index 0000000..314e6da --- /dev/null +++ b/libbutl-odb/odb/view-result.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/view-result.hxx
\ No newline at end of file diff --git a/libbutl-odb/odb/view-result.txx b/libbutl-odb/odb/view-result.txx new file mode 120000 index 0000000..9e4a6a3 --- /dev/null +++ b/libbutl-odb/odb/view-result.txx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/view-result.txx
\ No newline at end of file diff --git a/libbutl-odb/odb/wrapper-traits.hxx b/libbutl-odb/odb/wrapper-traits.hxx new file mode 120000 index 0000000..9641baf --- /dev/null +++ b/libbutl-odb/odb/wrapper-traits.hxx @@ -0,0 +1 @@ +../../upstream/odb/libodb/odb/wrapper-traits.hxx
\ No newline at end of file diff --git a/libbutl-odb/sqlite/sqlite3.c b/libbutl-odb/sqlite/sqlite3.c new file mode 120000 index 0000000..2aaaa1a --- /dev/null +++ b/libbutl-odb/sqlite/sqlite3.c @@ -0,0 +1 @@ +../../upstream/sqlite/libsqlite3/libsqlite3/sqlite3.c
\ No newline at end of file diff --git a/libbutl-odb/sqlite/sqlite3.h b/libbutl-odb/sqlite/sqlite3.h new file mode 120000 index 0000000..0e9e0c6 --- /dev/null +++ b/libbutl-odb/sqlite/sqlite3.h @@ -0,0 +1 @@ +../../upstream/sqlite/libsqlite3/libsqlite3/sqlite3.h
\ No newline at end of file diff --git a/libbutl-pkg-config/README-DEV b/libbutl-pkg-config/README-DEV new file mode 100644 index 0000000..eba196e --- /dev/null +++ b/libbutl-pkg-config/README-DEV @@ -0,0 +1,30 @@ +Excluded/replaced/relocated upstream files/directories: + - libpkg-config/libbpkg-config/{.gitignore, buildfile} + + - libpkg-config/libbpkg-config/version.h.in + - libpkg-config/libbpkg-config/version.h -- replace with pre-generated for + submodule commit + + - libpkg-config/libbpkg-config/config.h.in + - libpkg-config/libbpkg-config/config.h -- replace with pre-generated with + empty system/default path (we + do/should not use them). + +Submodule update procedure (similar to updating to a new version of a +third-party package): + +1. Update submodule: + + https://build2.org/stage/build2-toolchain/doc/build2-toolchain-packaging.xhtml#core-version-management-new-version-submodule + +2. Review upstream changes: + + https://build2.org/stage/build2-toolchain/doc/build2-toolchain-packaging.xhtml#core-version-management-new-version-review + + Look for: + + - files to add/remove (see above) + - changes to buildfiles that would need to be replicated (including to + root.build) + +3. Replace verison.h, config.h with pre-generated for this submodule commit. diff --git a/libbutl-pkg-config/buildfile b/libbutl-pkg-config/buildfile new file mode 100644 index 0000000..27159b3 --- /dev/null +++ b/libbutl-pkg-config/buildfile @@ -0,0 +1,65 @@ +# file : libbutl-pkg-config/buildfile +# license : MIT; see accompanying LICENSE file + +windows = ($c.target.class == 'windows') + +msvc_runtime = ($c.target.system == 'win32-msvc') + +msvc = ($c.class == 'msvc') +clang_msvc = ($c.id.type == 'clang' && $msvc_runtime) + +lib{butl-pkg-config}: libpkg-config/{h c}{*} + +# Build options. +# +c.poptions =+ "-I$src_base" + +obja{*}: c.poptions += -DLIBPKG_CONFIG_STATIC_BUILD +objs{*}: c.poptions += -DLIBPKG_CONFIG_SHARED_BUILD + +# Disable warnings. +# +if $msvc + c.coptions += /wd4996 /wd4267 +elif $clang_msvc + c.coptions += -Wno-deprecated-declarations -Wno-unused-function + +if $windows + c.libs += ($msvc_runtime ? advapi32.lib : -ladvapi32) + +# Export options. +# +lib{butl-pkg-config}: c.export.poptions = "-I$src_base" +liba{butl-pkg-config}: c.export.poptions += -DLIBPKG_CONFIG_STATIC +libs{butl-pkg-config}: c.export.poptions += -DLIBPKG_CONFIG_SHARED + +# For pre-releases use the complete version to make sure they cannot be used +# in place of another pre-release or the final version. See the version module +# for details on the version.* variable values. +# +if $version.pre_release + lib{butl-pkg-config}: bin.lib.version = @"-$version.project_id" +else + lib{butl-pkg-config}: bin.lib.version = @"-$version.major.$version.minor" + +# Install into the libbutl/pkg-config/ subdirectory of, say, /usr/include +# recreate subdirectories (so we end up with +# libbutl/pkg-config/libpkg-config/...>). Arrange via pkg-config to be able to +# include headers as <libpkg-config/...>. +# +# The reason we add an extra pkg-config/ subdirectory instead of installing +# directly into libbutl/ is because adding -I for libbutl/ will make all the +# libbutl headers includable without a prefix and thus prone to clashes. +# +h{*}: +{ + install = include/libbutl/pkg-config/ + install.subdirs = true +} + +libpkg-config/ +{ + h{config}@./ h{stdinc}@./: install = false +} + +lib{butl-pkg-config}: c.pkgconfig.include = include/libbutl/pkg-config/ diff --git a/libbutl-pkg-config/libpkg-config/argvsplit.c b/libbutl-pkg-config/libpkg-config/argvsplit.c new file mode 120000 index 0000000..59f933e --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/argvsplit.c @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/libpkg-config/argvsplit.c
\ No newline at end of file diff --git a/libbutl-pkg-config/libpkg-config/bsdstubs.c b/libbutl-pkg-config/libpkg-config/bsdstubs.c new file mode 120000 index 0000000..53c3669 --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/bsdstubs.c @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/libpkg-config/bsdstubs.c
\ No newline at end of file diff --git a/libbutl-pkg-config/libpkg-config/cache.c b/libbutl-pkg-config/libpkg-config/cache.c new file mode 120000 index 0000000..04f55e2 --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/cache.c @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/libpkg-config/cache.c
\ No newline at end of file diff --git a/libbutl-pkg-config/libpkg-config/client.c b/libbutl-pkg-config/libpkg-config/client.c new file mode 120000 index 0000000..d705a55 --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/client.c @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/libpkg-config/client.c
\ No newline at end of file diff --git a/libbutl-pkg-config/libpkg-config/config.h b/libbutl-pkg-config/libpkg-config/config.h new file mode 100644 index 0000000..c1c5e8d --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/config.h @@ -0,0 +1,41 @@ +/* file : libpkg-config/config.h.in -*- C -*- + * license : ISC; see accompanying COPYING file + */ +#ifndef LIBPKG_CONFIG_CONFIG_H +#define LIBPKG_CONFIG_CONFIG_H + +#if defined(__linux__) +# include <features.h> /* __GLIBC__, __GLIBC_MINOR__ */ +#endif + +/* + * strndup() is not present on Windows while strl*() are only present on + * *BSD and MacOS. + * + */ +#if !defined(_WIN32) +# define HAVE_STRNDUP 1 +#endif + +/* + * GNU libc added strlcpy() and strlcat() in version 2.38 (in anticipation + * of their addition to POSIX). + */ +#if defined(__FreeBSD__) || \ + defined(__OpenBSD__) || \ + defined(__NetBSD__) || \ + defined(__APPLE__) || \ + (defined(__GLIBC__) && \ + defined(__GLIBC_MINOR__) && \ + (__GLIBC__ > 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ >= 38)) +# define HAVE_STRLCPY 1 +# define HAVE_STRLCAT 1 +#endif + +#define LIBPKG_CONFIG_PROJECT_URL "https://github.com/build2/libpkg-config" + +#define PKG_CONFIG_DEFAULT_PATH "" +#define SYSTEM_INCLUDEDIR "" +#define SYSTEM_LIBDIR "" + +#endif /* LIBPKG_CONFIG_CONFIG_H */ diff --git a/libbutl-pkg-config/libpkg-config/dependency.c b/libbutl-pkg-config/libpkg-config/dependency.c new file mode 120000 index 0000000..2e12a02 --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/dependency.c @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/libpkg-config/dependency.c
\ No newline at end of file diff --git a/libbutl-pkg-config/libpkg-config/export.h b/libbutl-pkg-config/libpkg-config/export.h new file mode 120000 index 0000000..d3bf554 --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/export.h @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/libpkg-config/export.h
\ No newline at end of file diff --git a/libbutl-pkg-config/libpkg-config/fileio.c b/libbutl-pkg-config/libpkg-config/fileio.c new file mode 120000 index 0000000..65935f3 --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/fileio.c @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/libpkg-config/fileio.c
\ No newline at end of file diff --git a/libbutl-pkg-config/libpkg-config/fragment.c b/libbutl-pkg-config/libpkg-config/fragment.c new file mode 120000 index 0000000..826d666 --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/fragment.c @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/libpkg-config/fragment.c
\ No newline at end of file diff --git a/libbutl-pkg-config/libpkg-config/list.h b/libbutl-pkg-config/libpkg-config/list.h new file mode 120000 index 0000000..861f4d3 --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/list.h @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/libpkg-config/list.h
\ No newline at end of file diff --git a/libbutl-pkg-config/libpkg-config/parser.c b/libbutl-pkg-config/libpkg-config/parser.c new file mode 120000 index 0000000..87c341e --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/parser.c @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/libpkg-config/parser.c
\ No newline at end of file diff --git a/libbutl-pkg-config/libpkg-config/path.c b/libbutl-pkg-config/libpkg-config/path.c new file mode 120000 index 0000000..b710dec --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/path.c @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/libpkg-config/path.c
\ No newline at end of file diff --git a/libbutl-pkg-config/libpkg-config/pkg-config.h b/libbutl-pkg-config/libpkg-config/pkg-config.h new file mode 120000 index 0000000..9a41ca6 --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/pkg-config.h @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/libpkg-config/pkg-config.h
\ No newline at end of file diff --git a/libbutl-pkg-config/libpkg-config/pkg.c b/libbutl-pkg-config/libpkg-config/pkg.c new file mode 120000 index 0000000..74f6be5 --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/pkg.c @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/libpkg-config/pkg.c
\ No newline at end of file diff --git a/libbutl-pkg-config/libpkg-config/stdinc.h b/libbutl-pkg-config/libpkg-config/stdinc.h new file mode 120000 index 0000000..f433ee0 --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/stdinc.h @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/libpkg-config/stdinc.h
\ No newline at end of file diff --git a/libbutl-pkg-config/libpkg-config/tuple.c b/libbutl-pkg-config/libpkg-config/tuple.c new file mode 120000 index 0000000..7224e23 --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/tuple.c @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/libpkg-config/tuple.c
\ No newline at end of file diff --git a/libbutl-pkg-config/libpkg-config/version.h b/libbutl-pkg-config/libpkg-config/version.h new file mode 100644 index 0000000..ef000f5 --- /dev/null +++ b/libbutl-pkg-config/libpkg-config/version.h @@ -0,0 +1,37 @@ +#ifndef LIBPKG_CONFIG_VERSION_H +#define LIBPKG_CONFIG_VERSION_H + +/* The numeric version format is AAAAABBBBBCCCCCDDDE where: + * + * AAAAA - major version number + * BBBBB - minor version number + * CCCCC - bugfix version number + * DDD - alpha / beta (DDD + 500) version number + * E - final (0) / snapshot (1) + * + * When DDDE is not 0, 1 is subtracted from AAAAABBBBBCCCCC. For example: + * + * Version AAAAABBBBBCCCCCDDDE + * + * 0.1.0 0000000001000000000 + * 0.1.2 0000000001000020000 + * 1.2.3 0000100002000030000 + * 2.2.0-a.1 0000200001999990010 + * 3.0.0-b.2 0000299999999995020 + * 2.2.0-a.1.z 0000200001999990011 + */ +#define LIBPKG_CONFIG_VERSION 1000010001ULL +#define LIBPKG_CONFIG_VERSION_STR "0.1.2-a.0.20230830042926.81bc60b38195" +#define LIBPKG_CONFIG_VERSION_ID "0.1.2-a.0.81bc60b38195" +#define LIBPKG_CONFIG_VERSION_FULL "0.1.2-a.0.20230830042926.81bc60b38195" + +#define LIBPKG_CONFIG_VERSION_MAJOR 0 +#define LIBPKG_CONFIG_VERSION_MINOR 1 +#define LIBPKG_CONFIG_VERSION_PATCH 2 + +#define LIBPKG_CONFIG_PRE_RELEASE true + +#define LIBPKG_CONFIG_SNAPSHOT_SN 20230830042926ULL +#define LIBPKG_CONFIG_SNAPSHOT_ID "81bc60b38195" + +#endif /* LIBPKG_CONFIG_VERSION_H */ diff --git a/libbutl/utility.hxx b/libbutl/utility.hxx index a129276..779a0aa 100644 --- a/libbutl/utility.hxx +++ b/libbutl/utility.hxx @@ -190,6 +190,24 @@ namespace butl // // The second version examines up to the n'th character in the string. // + // The third version, instead of skipping consecutive delimiters, treats + // them as separating empty words. The additional m variable contains an + // unspecified internal state and should be initialized to 0. Note that in + // this case you should use the (b == n) condition to detect the end. Note + // also that a leading delimiter is considered as separating an empty word + // from the rest and the trailing delimiter is considered as separating the + // rest from an empty word. For example, this is how to parse lines while + // observing blanks: + // + // for (size_t b (0), e (0), m (0), n (s.size ()); + // next_word (s, n, b, e, m, '\n', '\r'), b != n; ) + // { + // string l (s, b, e - b); + // } + // + // For string "\na\n" this code will observe the {"", "a", ""} words. And + // for just "\n" it will observe the {"", ""} words. + // std::size_t next_word (const std::string&, std::size_t& b, std::size_t& e, char d1 = ' ', char d2 = '\0'); @@ -198,6 +216,11 @@ namespace butl next_word (const std::string&, std::size_t n, std::size_t& b, std::size_t& e, char d1 = ' ', char d2 = '\0'); + std::size_t + next_word (const std::string&, std::size_t n, + std::size_t& b, std::size_t& e, std::size_t& m, + char d1 = ' ', char d2 = '\0'); + // Sanitize a string to only contain characters valid in an identifier // (ASCII alphanumeric plus `_`) replacing all others with `_`. // diff --git a/libbutl/utility.ixx b/libbutl/utility.ixx index 0ce33a7..fda1ce5 100644 --- a/libbutl/utility.ixx +++ b/libbutl/utility.ixx @@ -210,6 +210,66 @@ namespace butl return e - b; } + inline std::size_t + next_word (const std::string& s, + std::size_t n, std::size_t& b, std::size_t& e, std::size_t& m, + char d1, char d2) + { + // An empty word will necessarily be represented as b and e being the + // position of a delimiter. Consider these corner cases (in all three we + // should produce two words): + // + // \n + // a\n + // \na + // + // It feels sensible to represent an empty word as the position of the + // trailing delimiter except if it is the last character (the first two + // cases). Thus the additional m state, which, if 0 or 1 indicates the + // number of delimiters to skip before parsing the next word and 2 if + // this is a trailing delimiter for which we need to fake an empty word + // with the leading delimiter. + + if (b != e) + b = e; + + if (m > 1) + { + --m; + return 0; + } + + // Skip the leading delimiter, if any. + // + b += m; + + if (b == n) + { + e = n; + return 0; + } + + // Find first trailing delimiter. + // + m = 0; + for (e = b; e != n; ++e) + { + if (s[e] == d1 || s[e] == d2) + { + m = 1; + + // Handle the special delimiter as the last character case. + // + if (e + 1 == n) + ++m; + + break; + } + } + + return e - b; + } + inline std::string& sanitize_identifier (std::string& s) { @@ -3,7 +3,7 @@ name: libbutl version: 0.17.0-a.0.z project: build2 summary: build2 utility library -license: MIT AND BSD-3-Clause AND BSD-2-Clause ; MIT except for files from the FreeBSD, LZ4, and mingw-std-threads projects. +license: MIT AND BSD-3-Clause AND BSD-2-Clause AND ISC AND blessing; MIT except for files from other projects (all permissively licensed). topics: build toolchain description-file: README changes-file: NEWS diff --git a/tests/build/root.build b/tests/build/root.build index 515e1c9..5ce7156 100644 --- a/tests/build/root.build +++ b/tests/build/root.build @@ -4,15 +4,16 @@ cxx.std = latest using cxx +using c hxx{*}: extension = hxx cxx{*}: extension = cxx if ($cxx.target.system == 'win32-msvc') - cxx.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS + cc.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS if ($cxx.class == 'msvc') - cxx.coptions += /wd4251 /wd4275 /wd4800 + cc.coptions += /wd4251 /wd4275 /wd4800 elif ($cxx.id == 'gcc') { cxx.coptions += -Wno-maybe-uninitialized -Wno-free-nonheap-object \ diff --git a/tests/next-word/buildfile b/tests/next-word/buildfile new file mode 100644 index 0000000..e06cd88 --- /dev/null +++ b/tests/next-word/buildfile @@ -0,0 +1,6 @@ +# file : tests/next-word/buildfile +# license : MIT; see accompanying LICENSE file + +import libs = libbutl%lib{butl} + +exe{driver}: {hxx cxx}{*} $libs diff --git a/tests/next-word/driver.cxx b/tests/next-word/driver.cxx new file mode 100644 index 0000000..4ebe1a5 --- /dev/null +++ b/tests/next-word/driver.cxx @@ -0,0 +1,46 @@ +// file : tests/next-word/driver.cxx -*- C++ -*- +// license : MIT; see accompanying LICENSE file + +#include <vector> +#include <string> +//#include <iostream> + +#include <libbutl/utility.hxx> + +#undef NDEBUG +#include <cassert> + +using namespace std; +using namespace butl; + +using strings = vector<string>; + +static strings +parse_lines (const string& s) +{ + strings r; + for (size_t b (0), e (0), m (0), n (s.size ()); + next_word (s, n, b, e, m, '\n', '\r'), b != n; ) + { + //cerr << "'" << string (s, b, e - b) << "'" << endl; + r.push_back (string (s, b, e - b)); + } + return r; +} + +int +main () +{ + assert ((parse_lines("") == strings {})); + assert ((parse_lines("a") == strings {"a"})); + assert ((parse_lines("\n") == strings {"", ""})); + assert ((parse_lines("\n\n") == strings {"", "", ""})); + assert ((parse_lines("\n\n\n") == strings {"", "", "", ""})); + assert ((parse_lines("\na") == strings {"", "a"})); + assert ((parse_lines("\n\na") == strings {"", "", "a"})); + assert ((parse_lines("a\n") == strings {"a", ""})); + assert ((parse_lines("a\n\n") == strings {"a", "", ""})); + assert ((parse_lines("a\nb") == strings {"a", "b"})); + assert ((parse_lines("a\n\nb") == strings {"a", "", "b"})); + assert ((parse_lines("\na\nb\n") == strings {"", "a", "b", ""})); +} diff --git a/tests/odb/buildfile b/tests/odb/buildfile new file mode 100644 index 0000000..c59ab0f --- /dev/null +++ b/tests/odb/buildfile @@ -0,0 +1,6 @@ +# file : tests/odb/buildfile +# license : MIT; see accompanying LICENSE file + +import libs = libbutl%lib{butl-odb} + +exe{driver}: {hxx cxx}{*} $libs diff --git a/tests/odb/driver.cxx b/tests/odb/driver.cxx new file mode 120000 index 0000000..d880fda --- /dev/null +++ b/tests/odb/driver.cxx @@ -0,0 +1 @@ +../../upstream/odb/libodb-sqlite/tests/basics/driver.cxx
\ No newline at end of file diff --git a/tests/pkg-config/buildfile b/tests/pkg-config/buildfile new file mode 100644 index 0000000..896b916 --- /dev/null +++ b/tests/pkg-config/buildfile @@ -0,0 +1,6 @@ +# file : tests/pkg-config/buildfile +# license : MIT; see accompanying LICENSE file + +import libs = libbutl%lib{butl-pkg-config} + +exe{driver}: {h c}{*} $libs testscript diff --git a/tests/pkg-config/driver.c b/tests/pkg-config/driver.c new file mode 120000 index 0000000..2e6f14a --- /dev/null +++ b/tests/pkg-config/driver.c @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/tests/basic/driver.c
\ No newline at end of file diff --git a/tests/pkg-config/testscript b/tests/pkg-config/testscript new file mode 120000 index 0000000..628bd41 --- /dev/null +++ b/tests/pkg-config/testscript @@ -0,0 +1 @@ +../../upstream/libpkg-config/libpkg-config/tests/basic/testscript
\ No newline at end of file diff --git a/upstream/libpkg-config b/upstream/libpkg-config new file mode 160000 +Subproject 81bc60b381959b99cdef93d9326f3dd9522c307 diff --git a/upstream/odb b/upstream/odb new file mode 160000 +Subproject 7ce5b6d18b6753717df9cbbbf1e51a7c8012431 diff --git a/upstream/sqlite b/upstream/sqlite new file mode 160000 +Subproject 5b013b5507eb14bf51e565ec844d1fc462302f6 |