blob: 89dc5be92b8dd3761f7acc3b7ac05a50c6b88c4b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
#! /usr/bin/env bash
trap 'exit 1' ERR
odb=odb
inc=()
if test -d ../.bdep; then
if [ -n "$1" ]; then
cfg="$1"
else
# Use default configuration for headers.
#
cfg="$(bdep config list -d .. | \
sed -r -ne 's#^(@[^ ]+ )?([^ ]+)/ .*default.*$#\2#p')"
fi
# Note: here we use libodb*, not libbutl-odb.
#
inc+=("-I$(echo "$cfg"/libodb-[1-9]*/)")
inc+=("-I$(echo "$cfg"/libodb-pgsql-[1-9]*/)")
inc+=("-I$cfg/libbutl")
inc+=("-I../../libbutl")
inc+=("-I$cfg/libbpkg")
inc+=("-I../../libbpkg")
inc+=("-I$cfg/libbbot")
inc+=("-I../../libbbot")
inc+=("-I$cfg/brep")
inc+=("-I..")
else
# Feels like this case should not be necessary (unlike in bpkg/bdep).
#
echo "not bdep-initialized" 1>&2
exit 1
inc+=("-I$HOME/work/odb/builds/default/libodb-pgsql-default")
inc+=("-I$HOME/work/odb/libodb-pgsql")
inc+=("-I$HOME/work/odb/builds/default/libodb-default")
inc+=("-I$HOME/work/odb/libodb")
inc+=(-I.. -I../../libbbot -I../../libbpkg -I../../libbutl)
fi
rm -f {package,build}-???-{pre,post}.sql
$odb "${inc[@]}" -d pgsql --std c++14 --generate-query \
--odb-epilogue '#include <libbutl/small-vector-odb.hxx>' \
--odb-epilogue '#include <libbrep/wrapper-traits.hxx>' \
--hxx-prologue '#include <libbutl/small-vector-odb.hxx>' \
--hxx-prologue '#include <libbrep/wrapper-traits.hxx>' \
--hxx-prologue '#include <libbrep/common-traits.hxx>' \
-DLIBODB_BUILD2 -DLIBODB_PGSQL_BUILD2 \
--include-with-brackets --include-prefix libbrep \
--guard-prefix LIBBREP \
common.hxx
$odb "${inc[@]}" -d pgsql --std c++14 --generate-query --generate-schema \
--schema-format sql --schema-format embedded --schema-name package \
--odb-epilogue '#include <libbutl/small-vector-odb.hxx>' \
--odb-epilogue '#include <libbrep/wrapper-traits.hxx>' \
--hxx-prologue '#include <libbrep/package-traits.hxx>' \
--generate-prepared -DLIBODB_BUILD2 -DLIBODB_PGSQL_BUILD2 \
--include-with-brackets --include-prefix libbrep \
--guard-prefix LIBBREP \
package.hxx
xxd -i <package-extra.sql >package-extra.hxx
$odb "${inc[@]}" -d pgsql --std c++14 --generate-query --generate-schema \
--schema-format sql --schema-format embedded --schema-name build \
--odb-epilogue '#include <libbutl/small-vector-odb.hxx>' \
--odb-epilogue '#include <libbrep/wrapper-traits.hxx>' \
--generate-prepared -DLIBODB_BUILD2 -DLIBODB_PGSQL_BUILD2 \
--include-with-brackets --include-prefix libbrep \
--guard-prefix LIBBREP \
build.hxx
$odb "${inc[@]}" -d pgsql --std c++14 --generate-query \
--odb-epilogue '#include <libbutl/small-vector-odb.hxx>' \
--odb-epilogue '#include <libbrep/wrapper-traits.hxx>' \
--generate-prepared -DLIBODB_BUILD2 -DLIBODB_PGSQL_BUILD2 \
--include-with-brackets --include-prefix libbrep \
--guard-prefix LIBBREP \
build-package.hxx
xxd -i <build-extra.sql >build-extra.hxx
|