From 7bbb807fa7bb1b47bf019be4e7b111d1ae05b804 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 8 Nov 2017 10:57:07 +0200 Subject: Add support for build2 build --- .gitignore | 12 ++++++++- build/.gitignore | 1 + build/bootstrap.build | 11 +++++++++ build/root.build | 18 ++++++++++++++ buildfile | 10 ++++++++ doc/buildfile | 18 ++++++++++++++ doc/doc.sh | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++ manifest | 16 ++++++++++++ 8 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 build/.gitignore create mode 100644 build/bootstrap.build create mode 100644 build/root.build create mode 100644 buildfile create mode 100644 doc/buildfile create mode 100755 doc/doc.sh create mode 100644 manifest diff --git a/.gitignore b/.gitignore index 3b9998d..a06aa4b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,19 @@ # Compiler/linker output. # +*.d +*.ii *.o -*.o.d +*.obj *.so +*.dll *.a +*.lib +*.exp +*.exe +*.exe.dlls/ +*.exe.manifest +*.pc + *.l *.l.cpp-options diff --git a/build/.gitignore b/build/.gitignore new file mode 100644 index 0000000..225c27f --- /dev/null +++ b/build/.gitignore @@ -0,0 +1 @@ +config.build diff --git a/build/bootstrap.build b/build/bootstrap.build new file mode 100644 index 0000000..111001d --- /dev/null +++ b/build/bootstrap.build @@ -0,0 +1,11 @@ +# file : build/bootstrap.build +# copyright : Copyright (c) 2009-2017 Code Synthesis Tools CC +# license : GNU GPL v3; see accompanying LICENSE file + +project = odb + +using version +using config +using dist +using test +using install diff --git a/build/root.build b/build/root.build new file mode 100644 index 0000000..f57ba41 --- /dev/null +++ b/build/root.build @@ -0,0 +1,18 @@ +# file : build/root.build +# copyright : Copyright (c) 2009-2017 Code Synthesis Tools CC +# license : GNU GPL v3; see accompanying LICENSE file + +cxx.std = 11 + +using cxx + +hxx{*}: extension = hxx +ixx{*}: extension = ixx +txx{*}: extension = txx +cxx{*}: extension = cxx + +cxx.poptions =+ "-I$out_root" "-I$src_root" + +# Specify the test target for cross-testing. +# +test.target = $cxx.target diff --git a/buildfile b/buildfile new file mode 100644 index 0000000..9af976f --- /dev/null +++ b/buildfile @@ -0,0 +1,10 @@ +# file : buildfile +# copyright : Copyright (c) 2009-2017 Code Synthesis Tools CC +# license : GNU GPL v3; see accompanying LICENSE file + +./: {*/ -odb/ -build/ -m4/} doc{GPLv3 INSTALL LICENSE NEWS README version} \ + file{manifest} + +# Don't install the INSTALL file. +# +doc{INSTALL}@./: install = false diff --git a/doc/buildfile b/doc/buildfile new file mode 100644 index 0000000..293dfb9 --- /dev/null +++ b/doc/buildfile @@ -0,0 +1,18 @@ +# file : doc/buildfile +# copyright : Copyright (c) 2009-2017 Code Synthesis Ltd +# license : GNU GPL v3; see accompanying LICENSE file + +define css: doc +css{*}: extension = css + +define xhtml: doc +xhtml{*}: extension = xhtml + +./: css{default} + +./: {man1 xhtml}{odb} file{odb-*.1} file{odb-*.xhtml} + +./: doc{manual.xhtml odb-manual.ps odb-manual.pdf} doc{*.png} \ + file{*.svg +*.html2ps} + +./: file{doc.sh} diff --git a/doc/doc.sh b/doc/doc.sh new file mode 100755 index 0000000..a5517af --- /dev/null +++ b/doc/doc.sh @@ -0,0 +1,68 @@ +#! /usr/bin/env bash + +version=2.5.0-b.6 +date="$(date +"%B %Y")" + +trap 'exit 1' ERR +set -o errtrace # Trap in functions. + +function info () { echo "$*" 1>&2; } +function error () { info "$*"; exit 1; } + +while [ $# -gt 0 ]; do + case $1 in + --clean) + rm -f odb.xhtml odb.1 + rm -f odb-manual.ps odb-manual.pdf + exit 0 + ;; + *) + error "unexpected $1" + ;; + esac +done + +function compile () # +{ + local i=$1; shift + local o=$1; shift + + # Use a bash array to handle empty arguments. + # + local ops=() + while [ $# -gt 0 ]; do + ops=("${ops[@]}" "$1") + shift + done + + # --html-suffix .xhtml + cli -I .. -v project="odb" -v version="$version" -v date="$date" \ +"${ops[@]}" --generate-html --stdout \ +--html-prologue-file odb-prologue.xhtml \ +--html-epilogue-file odb-epilogue.xhtml \ +"../odb/$i.cli" >"$o.xhtml" + + # --man-suffix .1 + cli -I .. -v project="odb" -v version="$version" -v date="$date" \ +"${ops[@]}" --generate-man --stdout \ +--man-prologue-file odb-prologue.1 \ +--man-epilogue-file odb-epilogue.1 \ +"../odb/$i.cli" >"$o.1" +} + +compile options odb --suppress-undocumented + +# Manual. +# + +#function compile_doc () +#{ +# html2ps -f doc.html2ps:a4.html2ps -o "$n-a4.ps" "$n.xhtml" +# ps2pdf14 -sPAPERSIZE=a4 -dOptimize=true -dEmbedAllFonts=true "$n-a4.ps" "$n-a4.pdf" +# +# html2ps -f doc.html2ps:letter.html2ps -o "$n-letter.ps" "$n.xhtml" +# ps2pdf14 -sPAPERSIZE=letter -dOptimize=true -dEmbedAllFonts=true "$n-letter.ps" "$n-letter.pdf" +#} + +html2ps -f manual.html2ps -o odb-manual.ps manual.xhtml +ps2pdf14 -dOptimize=true -dEmbedAllFonts=true odb-manual.ps odb-manual.pdf diff --git a/manifest b/manifest new file mode 100644 index 0000000..1001be9 --- /dev/null +++ b/manifest @@ -0,0 +1,16 @@ +: 1 +name: odb +version: 2.5.0-b.6.z +summary: ODB compiler +license: GPLv3 +tags: c++, orm, database, relational, object, persistence, sql +description-file: README +changes-file: NEWS +url: https://www.codesynthesis.com/products/odb/ +doc-url: https://www.codesynthesis.com/products/odb/doc/manual.xhtml +src-url: https://git.codesynthesis.com/cgit/odb/odb/ +email: odb-users@codesynthesis.com +build-email: odb-builds@codesynthesis.com +requires: c++11 +depends: * build2 >= 0.6.0- +depends: * bpkg >= 0.6.0- -- cgit v1.1