aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build/import/cli/LICENSE21
-rw-r--r--build/import/cli/cli-cxx.make45
-rw-r--r--build/import/cli/configuration-rules.make15
-rwxr-xr-xbuild/import/cli/configure55
-rw-r--r--build/import/cli/stub.make30
-rw-r--r--build/import/libodb-mysql/LICENSE12
-rw-r--r--build/import/libodb-mysql/configuration-rules.make15
-rwxr-xr-xbuild/import/libodb-mysql/configure55
-rw-r--r--build/import/libodb-mysql/stub.make30
-rw-r--r--build/import/libodb-tracer/LICENSE12
-rw-r--r--build/import/libodb-tracer/configuration-rules.make15
-rwxr-xr-xbuild/import/libodb-tracer/configure55
-rw-r--r--build/import/libodb-tracer/stub.make30
-rw-r--r--build/import/libodb/LICENSE12
-rw-r--r--build/import/libodb/configuration-rules.make15
-rwxr-xr-xbuild/import/libodb/configure55
-rw-r--r--build/import/libodb/stub.make30
-rw-r--r--build/import/odb/LICENSE12
-rw-r--r--build/import/odb/configuration-rules.make15
-rwxr-xr-xbuild/import/odb/configure55
-rw-r--r--build/import/odb/hxx-cxx.make58
-rw-r--r--build/import/odb/stub.make30
22 files changed, 672 insertions, 0 deletions
diff --git a/build/import/cli/LICENSE b/build/import/cli/LICENSE
new file mode 100644
index 0000000..db16aa3
--- /dev/null
+++ b/build/import/cli/LICENSE
@@ -0,0 +1,21 @@
+Copyright (c) 2009-2010 Code Synthesis Tools CC.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
diff --git a/build/import/cli/cli-cxx.make b/build/import/cli/cli-cxx.make
new file mode 100644
index 0000000..cb60d37
--- /dev/null
+++ b/build/import/cli/cli-cxx.make
@@ -0,0 +1,45 @@
+# file : build/import/cli/cli-cxx.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : MIT; see accompanying LICENSE file
+
+# Here we are operating in the importing project's space, not in
+# cli's.
+#
+
+# Get the C++ file extensions.
+#
+$(call include,$(bld_root)/cxx/configuration-static.make)
+
+cli_pattern := \
+$(out_base)/%.$(cxx_s_suffix) \
+$(out_base)/%.$(cxx_h_suffix) \
+$(out_base)/%.$(cxx_i_suffix)
+
+$(cli_pattern): cli_options := \
+--hxx-suffix .$(cxx_h_suffix) \
+--ixx-suffix .$(cxx_i_suffix) \
+--cxx-suffix .$(cxx_s_suffix)
+
+.PRECIOUS: $(cli_pattern)
+
+ifeq ($(out_base),$(src_base))
+
+$(cli_pattern): $(src_base)/%.cli
+ $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<)
+
+else
+
+$(cli_pattern): $(src_base)/%.cli | $$(dir $$@).
+ $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<)
+
+$(cli_pattern): $(out_base)/%.cli | $$(dir $$@).
+ $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<)
+endif
+
+.PHONY: $(out_base)/%.cxx.cli.clean
+
+$(out_base)/%.cxx.cli.clean:
+ $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_s_suffix)))
+ $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_h_suffix)))
+ $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_i_suffix)))
diff --git a/build/import/cli/configuration-rules.make b/build/import/cli/configuration-rules.make
new file mode 100644
index 0000000..52c334d
--- /dev/null
+++ b/build/import/cli/configuration-rules.make
@@ -0,0 +1,15 @@
+# file : build/import/cli/configuration-rules.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : MIT; see accompanying LICENSE file
+
+$(dcf_root)/import/cli/configuration-dynamic.make: | $(dcf_root)/import/cli/.
+ $(call message,,$(scf_root)/import/cli/configure $@)
+
+ifndef %foreign%
+
+$(dcf_root)/.disfigure::
+ $(call message,rm $(dcf_root)/import/cli/configuration-dynamic.make,\
+rm -f $(dcf_root)/import/cli/configuration-dynamic.make)
+
+endif
diff --git a/build/import/cli/configure b/build/import/cli/configure
new file mode 100755
index 0000000..21a09c5
--- /dev/null
+++ b/build/import/cli/configure
@@ -0,0 +1,55 @@
+#! /usr/bin/env bash
+
+# file : build/import/cli/configure
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : MIT; see accompanying LICENSE file
+
+
+# $1 - out file
+#
+# bld_root - build root
+# project_name - project name
+#
+
+source $bld_root/dialog.bash
+
+
+$echo
+$echo "Configuring external dependency on 'cli' for '$project_name'."
+$echo
+
+$echo
+$echo "Would you like to configure dependency on the installed "
+$echo "version of 'cli' as opposed to the development build?"
+$echo
+
+installed=`read_y_n y`
+
+path=
+
+if [ "$installed" = "n" ]; then
+
+$echo
+$echo "Please enter the src_root for 'cli'."
+$echo
+
+src_root=`read_path --directory --exist`
+
+$echo
+$echo "Please enter the out_root for 'cli'."
+$eche
+
+out_root=`read_path --directory $src_root`
+
+fi
+
+echo cli_installed := $installed >$1
+
+if [ "$installed" = "n" ]; then
+
+echo src_root := $src_root >>$1
+echo scf_root := \$\(src_root\)/build >>$1
+echo out_root := $out_root >>$1
+
+fi
diff --git a/build/import/cli/stub.make b/build/import/cli/stub.make
new file mode 100644
index 0000000..250a5ee
--- /dev/null
+++ b/build/import/cli/stub.make
@@ -0,0 +1,30 @@
+# file : build/import/cli/stub.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : MIT; see accompanying LICENSE file
+
+$(call include-once,$(scf_root)/import/cli/configuration-rules.make,$(dcf_root))
+
+cli_installed :=
+
+$(call -include,$(dcf_root)/import/cli/configuration-dynamic.make)
+
+ifdef cli_installed
+
+ifeq ($(cli_installed),y)
+
+$(call export,cli: cli,cli-rules: $(scf_root)/import/cli/cli-cxx.make)
+
+else
+
+# Include export stub.
+#
+$(call include,$(scf_root)/export/cli/stub.make)
+
+endif
+
+else
+
+.NOTPARALLEL:
+
+endif
diff --git a/build/import/libodb-mysql/LICENSE b/build/import/libodb-mysql/LICENSE
new file mode 100644
index 0000000..ed9c55c
--- /dev/null
+++ b/build/import/libodb-mysql/LICENSE
@@ -0,0 +1,12 @@
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License version 2 as
+published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
diff --git a/build/import/libodb-mysql/configuration-rules.make b/build/import/libodb-mysql/configuration-rules.make
new file mode 100644
index 0000000..b57907c
--- /dev/null
+++ b/build/import/libodb-mysql/configuration-rules.make
@@ -0,0 +1,15 @@
+# file : build/import/libodb-mysql/configuration-rules.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+$(dcf_root)/import/libodb-mysql/configuration-dynamic.make: | $(dcf_root)/import/libodb-mysql/.
+ $(call message,,$(scf_root)/import/libodb-mysql/configure $@)
+
+ifndef %foreign%
+
+$(dcf_root)/.disfigure::
+ $(call message,rm $(dcf_root)/import/libodb-mysql/configuration-dynamic.make,\
+rm -f $(dcf_root)/import/libodb-mysql/configuration-dynamic.make)
+
+endif
diff --git a/build/import/libodb-mysql/configure b/build/import/libodb-mysql/configure
new file mode 100755
index 0000000..b16cabe
--- /dev/null
+++ b/build/import/libodb-mysql/configure
@@ -0,0 +1,55 @@
+#! /usr/bin/env bash
+
+# file : build/import/libodb-mysql/configure
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+
+# $1 - out file
+#
+# bld_root - build root
+# project_name - project name
+#
+
+source $bld_root/dialog.bash
+
+
+$echo
+$echo "Configuring external dependency on 'libodb-mysql' for '$project_name'."
+$echo
+
+$echo
+$echo "Would you like to configure dependency on the installed version"
+$echo "of 'libodb-mysql' as opposed to the development build?"
+$echo
+
+installed=`read_y_n y`
+
+path=
+
+if [ "$installed" = "n" ]; then
+
+$echo
+$echo "Please enter the src_root for 'libodb-mysql'."
+$echo
+
+src_root=`read_path --directory --exist`
+
+$echo
+$echo "Please enter the out_root for 'libodb-mysql'."
+$echo
+
+out_root=`read_path --directory $src_root`
+
+fi
+
+echo libodb_mysql_installed := $installed >$1
+
+if [ "$installed" = "n" ]; then
+
+echo src_root := $src_root >>$1
+echo scf_root := \$\(src_root\)/build >>$1
+echo out_root := $out_root >>$1
+
+fi
diff --git a/build/import/libodb-mysql/stub.make b/build/import/libodb-mysql/stub.make
new file mode 100644
index 0000000..259f1a1
--- /dev/null
+++ b/build/import/libodb-mysql/stub.make
@@ -0,0 +1,30 @@
+# file : build/import/libodb-mysql/stub.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+$(call include-once,$(scf_root)/import/libodb-mysql/configuration-rules.make,$(dcf_root))
+
+libodb_mysql_installed :=
+
+$(call -include,$(dcf_root)/import/libodb-mysql/configuration-dynamic.make)
+
+ifdef libodb_mysql_installed
+
+ifeq ($(libodb_mysql_installed),y)
+
+$(call export,l: -lodb-mysql -lodb -lmysqlclient,cpp-options: )
+
+else
+
+# Include export stub.
+#
+$(call include,$(scf_root)/export/libodb-mysql/stub.make)
+
+endif
+
+else
+
+.NOTPARALLEL:
+
+endif
diff --git a/build/import/libodb-tracer/LICENSE b/build/import/libodb-tracer/LICENSE
new file mode 100644
index 0000000..ed9c55c
--- /dev/null
+++ b/build/import/libodb-tracer/LICENSE
@@ -0,0 +1,12 @@
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License version 2 as
+published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
diff --git a/build/import/libodb-tracer/configuration-rules.make b/build/import/libodb-tracer/configuration-rules.make
new file mode 100644
index 0000000..d5d2c21
--- /dev/null
+++ b/build/import/libodb-tracer/configuration-rules.make
@@ -0,0 +1,15 @@
+# file : build/import/libodb-tracer/configuration-rules.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+$(dcf_root)/import/libodb-tracer/configuration-dynamic.make: | $(dcf_root)/import/libodb-tracer/.
+ $(call message,,$(scf_root)/import/libodb-tracer/configure $@)
+
+ifndef %foreign%
+
+$(dcf_root)/.disfigure::
+ $(call message,rm $(dcf_root)/import/libodb-tracer/configuration-dynamic.make,\
+rm -f $(dcf_root)/import/libodb-tracer/configuration-dynamic.make)
+
+endif
diff --git a/build/import/libodb-tracer/configure b/build/import/libodb-tracer/configure
new file mode 100755
index 0000000..d02d7d6
--- /dev/null
+++ b/build/import/libodb-tracer/configure
@@ -0,0 +1,55 @@
+#! /usr/bin/env bash
+
+# file : build/import/libodb-tracer/configure
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+
+# $1 - out file
+#
+# bld_root - build root
+# project_name - project name
+#
+
+source $bld_root/dialog.bash
+
+
+$echo
+$echo "Configuring external dependency on 'libodb-tracer' for '$project_name'."
+$echo
+
+$echo
+$echo "Would you like to configure dependency on the installed version"
+$echo "of 'libodb-tracer' as opposed to the development build?"
+$echo
+
+installed=`read_y_n y`
+
+path=
+
+if [ "$installed" = "n" ]; then
+
+$echo
+$echo "Please enter the src_root for 'libodb-tracer'."
+$echo
+
+src_root=`read_path --directory --exist`
+
+$echo
+$echo "Please enter the out_root for 'libodb-tracer'."
+$echo
+
+out_root=`read_path --directory $src_root`
+
+fi
+
+echo libodb_tracer_installed := $installed >$1
+
+if [ "$installed" = "n" ]; then
+
+echo src_root := $src_root >>$1
+echo scf_root := \$\(src_root\)/build >>$1
+echo out_root := $out_root >>$1
+
+fi
diff --git a/build/import/libodb-tracer/stub.make b/build/import/libodb-tracer/stub.make
new file mode 100644
index 0000000..a2c1798
--- /dev/null
+++ b/build/import/libodb-tracer/stub.make
@@ -0,0 +1,30 @@
+# file : build/import/libodb-tracer/stub.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+$(call include-once,$(scf_root)/import/libodb-tracer/configuration-rules.make,$(dcf_root))
+
+libodb_tracer_installed :=
+
+$(call -include,$(dcf_root)/import/libodb-tracer/configuration-dynamic.make)
+
+ifdef libodb_tracer_installed
+
+ifeq ($(libodb_tracer_installed),y)
+
+$(call export,l: -lodb-tracer -lodb,cpp-options: )
+
+else
+
+# Include export stub.
+#
+$(call include,$(scf_root)/export/libodb-tracer/stub.make)
+
+endif
+
+else
+
+.NOTPARALLEL:
+
+endif
diff --git a/build/import/libodb/LICENSE b/build/import/libodb/LICENSE
new file mode 100644
index 0000000..ed9c55c
--- /dev/null
+++ b/build/import/libodb/LICENSE
@@ -0,0 +1,12 @@
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License version 2 as
+published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
diff --git a/build/import/libodb/configuration-rules.make b/build/import/libodb/configuration-rules.make
new file mode 100644
index 0000000..2c30e7f
--- /dev/null
+++ b/build/import/libodb/configuration-rules.make
@@ -0,0 +1,15 @@
+# file : build/import/libodb/configuration-rules.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+$(dcf_root)/import/libodb/configuration-dynamic.make: | $(dcf_root)/import/libodb/.
+ $(call message,,$(scf_root)/import/libodb/configure $@)
+
+ifndef %foreign%
+
+$(dcf_root)/.disfigure::
+ $(call message,rm $(dcf_root)/import/libodb/configuration-dynamic.make,\
+rm -f $(dcf_root)/import/libodb/configuration-dynamic.make)
+
+endif
diff --git a/build/import/libodb/configure b/build/import/libodb/configure
new file mode 100755
index 0000000..792bb80
--- /dev/null
+++ b/build/import/libodb/configure
@@ -0,0 +1,55 @@
+#! /usr/bin/env bash
+
+# file : build/import/libodb/configure
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+
+# $1 - out file
+#
+# bld_root - build root
+# project_name - project name
+#
+
+source $bld_root/dialog.bash
+
+
+$echo
+$echo "Configuring external dependency on 'libodb' for '$project_name'."
+$echo
+
+$echo
+$echo "Would you like to configure dependency on the installed "
+$echo "version of 'libodb' as opposed to the development build?"
+$echo
+
+installed=`read_y_n y`
+
+path=
+
+if [ "$installed" = "n" ]; then
+
+$echo
+$echo "Please enter the src_root for 'libodb'."
+$echo
+
+src_root=`read_path --directory --exist`
+
+$echo
+$echo "Please enter the out_root for 'libodb'."
+$echo
+
+out_root=`read_path --directory $src_root`
+
+fi
+
+echo libodb_installed := $installed >$1
+
+if [ "$installed" = "n" ]; then
+
+echo src_root := $src_root >>$1
+echo scf_root := \$\(src_root\)/build >>$1
+echo out_root := $out_root >>$1
+
+fi
diff --git a/build/import/libodb/stub.make b/build/import/libodb/stub.make
new file mode 100644
index 0000000..9196552
--- /dev/null
+++ b/build/import/libodb/stub.make
@@ -0,0 +1,30 @@
+# file : build/import/libodb/stub.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+$(call include-once,$(scf_root)/import/libodb/configuration-rules.make,$(dcf_root))
+
+libodb_installed :=
+
+$(call -include,$(dcf_root)/import/libodb/configuration-dynamic.make)
+
+ifdef libodb_installed
+
+ifeq ($(libodb_installed),y)
+
+$(call export,l: -lodb,cpp-options: )
+
+else
+
+# Include export stub.
+#
+$(call include,$(scf_root)/export/libodb/stub.make)
+
+endif
+
+else
+
+.NOTPARALLEL:
+
+endif
diff --git a/build/import/odb/LICENSE b/build/import/odb/LICENSE
new file mode 100644
index 0000000..ed9c55c
--- /dev/null
+++ b/build/import/odb/LICENSE
@@ -0,0 +1,12 @@
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License version 2 as
+published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
diff --git a/build/import/odb/configuration-rules.make b/build/import/odb/configuration-rules.make
new file mode 100644
index 0000000..817f1b1
--- /dev/null
+++ b/build/import/odb/configuration-rules.make
@@ -0,0 +1,15 @@
+# file : build/import/odb/configuration-rules.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+$(dcf_root)/import/odb/configuration-dynamic.make: | $(dcf_root)/import/odb/.
+ $(call message,,$(scf_root)/import/odb/configure $@)
+
+ifndef %foreign%
+
+$(dcf_root)/.disfigure::
+ $(call message,rm $(dcf_root)/import/odb/configuration-dynamic.make,\
+rm -f $(dcf_root)/import/odb/configuration-dynamic.make)
+
+endif
diff --git a/build/import/odb/configure b/build/import/odb/configure
new file mode 100755
index 0000000..1ba2f09
--- /dev/null
+++ b/build/import/odb/configure
@@ -0,0 +1,55 @@
+#! /usr/bin/env bash
+
+# file : build/import/odb/configure
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+
+# $1 - out file
+#
+# bld_root - build root
+# project_name - project name
+#
+
+source $bld_root/dialog.bash
+
+
+$echo
+$echo "Configuring external dependency on 'odb' for '$project_name'."
+$echo
+
+$echo
+$echo "Would you like to configure dependency on the installed "
+$echo "version of 'odb' as opposed to the development build?"
+$echo
+
+installed=`read_y_n y`
+
+path=
+
+if [ "$installed" = "n" ]; then
+
+$echo
+$echo "Please enter the src_root for 'odb'."
+$echo
+
+src_root=`read_path --directory --exist`
+
+$echo
+$echo "Please enter the out_root for 'odb'."
+$eche
+
+out_root=`read_path --directory $src_root`
+
+fi
+
+echo odb_installed := $installed >$1
+
+if [ "$installed" = "n" ]; then
+
+echo src_root := $src_root >>$1
+echo scf_root := \$\(src_root\)/build >>$1
+echo out_root := $out_root >>$1
+
+fi
diff --git a/build/import/odb/hxx-cxx.make b/build/import/odb/hxx-cxx.make
new file mode 100644
index 0000000..4d16e5a
--- /dev/null
+++ b/build/import/odb/hxx-cxx.make
@@ -0,0 +1,58 @@
+# file : build/import/odb/hxx-cxx.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+# Here we are operating in the importing project's space, not in odb's.
+#
+
+# Get the C++ configuration (file extensions, and extra CPP options).
+#
+$(call include,$(bld_root)/cxx/configuration.make)
+
+odb_pattern := \
+$(out_base)/%-odb.$(cxx_s_suffix) \
+$(out_base)/%-odb.$(cxx_h_suffix) \
+$(out_base)/%-odb.$(cxx_i_suffix) \
+$(out_base)/%.sql
+
+$(odb_pattern): odb_options := \
+--hxx-suffix .$(cxx_h_suffix) \
+--ixx-suffix .$(cxx_i_suffix) \
+--cxx-suffix .$(cxx_s_suffix)
+
+$(odb_pattern): odb-expand-cpp-options-impl = \
+$(if $1,$(shell sed -e 's%include: \(.*\)%\1%' -e t -e d $1))
+
+$(odb_pattern): odb-expand-cpp-options = \
+$(call odb-expand-cpp-options-impl,$(filter %.cpp-options,$1))
+
+.PRECIOUS: $(odb_pattern)
+
+ifeq ($(out_base),$(src_base))
+
+$(odb_pattern): $(src_base)/%.$(cxx_h_suffix)
+ $(call message,odb $<,$(odb) $(cpp_options) \
+$(call expand-cpp-options,$^) $(cxx_pp_extra_options) $(odb_options) \
+--output-dir $(dir $@) $<)
+
+else
+
+$(odb_pattern): $(src_base)/%.$(cxx_h_suffix) | $$(dir $$@).
+ $(call message,odb $<,$(odb) $(cpp_options) \
+$(call expand-cpp-options,$^) $(cxx_pp_extra_options) $(odb_options) \
+--output-dir $(dir $@) $<)
+
+$(odb_pattern): $(out_base)/%.$(cxx_h_suffix) | $$(dir $$@).
+ $(call message,odb $<,$(odb) $(cpp_options) \
+$(call expand-cpp-options,$^) $(cxx_pp_extra_options) $(odb_options) \
+--output-dir $(dir $@) $<)
+endif
+
+.PHONY: $(out_base)/%-odb.cxx.hxx.clean
+
+$(out_base)/%-odb.cxx.hxx.clean:
+ $(call message,rm $$1,rm -f $$1,$(@:.cxx.hxx.clean=.$(cxx_s_suffix)))
+ $(call message,rm $$1,rm -f $$1,$(@:.cxx.hxx.clean=.$(cxx_h_suffix)))
+ $(call message,rm $$1,rm -f $$1,$(@:.cxx.hxx.clean=.$(cxx_i_suffix)))
+ $(call message,rm $$1,rm -f $$1,$(@:-odb.cxx.hxx.clean=.sql))
diff --git a/build/import/odb/stub.make b/build/import/odb/stub.make
new file mode 100644
index 0000000..48585f0
--- /dev/null
+++ b/build/import/odb/stub.make
@@ -0,0 +1,30 @@
+# file : build/import/odb/stub.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+$(call include-once,$(scf_root)/import/odb/configuration-rules.make,$(dcf_root))
+
+odb_installed :=
+
+$(call -include,$(dcf_root)/import/odb/configuration-dynamic.make)
+
+ifdef odb_installed
+
+ifeq ($(odb_installed),y)
+
+$(call export,odb: odb,odb-rules: $(scf_root)/import/odb/hxx-cxx.make)
+
+else
+
+# Include export stub.
+#
+$(call include,$(scf_root)/export/odb/stub.make)
+
+endif
+
+else
+
+.NOTPARALLEL:
+
+endif