aboutsummaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-11-17 16:49:03 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-01-20 15:45:45 +0200
commit04201d013c2a43d27987122e0118236d74154d77 (patch)
treef806841bec2378ca955a7bea2ca45a978ed39edb /build
parent16a4099d36ca1cdc33cf6e2b99edce796595341f (diff)
Add initial support for SQL Server test infrastructure
Diffstat (limited to 'build')
-rw-r--r--build/bootstrap.make2
-rwxr-xr-xbuild/configure3
-rw-r--r--build/import/libodb-mssql/LICENSE12
-rw-r--r--build/import/libodb-mssql/configuration-rules.make15
-rwxr-xr-xbuild/import/libodb-mssql/configure55
-rw-r--r--build/import/libodb-mssql/stub.make30
-rwxr-xr-xbuild/mssql/configure12
7 files changed, 127 insertions, 2 deletions
diff --git a/build/bootstrap.make b/build/bootstrap.make
index f59e809..d3da6dd 100644
--- a/build/bootstrap.make
+++ b/build/bootstrap.make
@@ -62,7 +62,7 @@ ifeq ($(dist_prefix),)
$(error dist_prefix is not set)
endif
-databases := mysql sqlite pgsql oracle
+databases := mysql sqlite pgsql oracle mssql
$(dist): databases := $(databases)
# $1 project template without the -vcN.vc[x]proj suffix.
diff --git a/build/configure b/build/configure
index 9aee64a..c4fb620 100755
--- a/build/configure
+++ b/build/configure
@@ -26,9 +26,10 @@ $echo "(1) MySQL"
$echo "(2) SQLite"
$echo "(3) PostgreSQL"
$echo "(4) Oracle"
+$echo "(5) Microsoft SQL Server"
$echo
-db_id=`read_option "mysql sqlite pgsql oracle"`
+db_id=`read_option "mysql sqlite pgsql oracle mssql"`
echo "db_id := $db_id" >$1
diff --git a/build/import/libodb-mssql/LICENSE b/build/import/libodb-mssql/LICENSE
new file mode 100644
index 0000000..ed9c55c
--- /dev/null
+++ b/build/import/libodb-mssql/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-mssql/configuration-rules.make b/build/import/libodb-mssql/configuration-rules.make
new file mode 100644
index 0000000..6c74f64
--- /dev/null
+++ b/build/import/libodb-mssql/configuration-rules.make
@@ -0,0 +1,15 @@
+# file : build/import/libodb-mssql/configuration-rules.make
+# author : Constantin Michael <constantin@codesynthesis.com>
+# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
+# license : ODB NCUEL; see accompanying LICENSE file
+
+$(dcf_root)/import/libodb-mssql/configuration-dynamic.make: | $(dcf_root)/import/libodb-mssql/.
+ $(call message,,$(scf_root)/import/libodb-mssql/configure $@)
+
+ifndef %foreign%
+
+$(dcf_root)/.disfigure::
+ $(call message,rm $(dcf_root)/import/libodb-mssql/configuration-dynamic.make,\
+rm -f $(dcf_root)/import/libodb-mssql/configuration-dynamic.make)
+
+endif
diff --git a/build/import/libodb-mssql/configure b/build/import/libodb-mssql/configure
new file mode 100755
index 0000000..dabc42a
--- /dev/null
+++ b/build/import/libodb-mssql/configure
@@ -0,0 +1,55 @@
+#! /usr/bin/env bash
+
+# file : build/import/libodb-mssql/configure
+# author : Constantin Michael <constantin@codesynthesis.com>
+# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
+# license : ODB NCUEL; 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-mssql' for '$project_name'."
+$echo
+
+$echo
+$echo "Would you like to configure dependency on the installed version"
+$echo "of 'libodb-mssql' 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-mssql'."
+$echo
+
+src_root=`read_path --directory --exist`
+
+$echo
+$echo "Please enter the out_root for 'libodb-mssql'."
+$echo
+
+out_root=`read_path --directory $src_root`
+
+fi
+
+echo libodb_mssql_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-mssql/stub.make b/build/import/libodb-mssql/stub.make
new file mode 100644
index 0000000..c970543
--- /dev/null
+++ b/build/import/libodb-mssql/stub.make
@@ -0,0 +1,30 @@
+# file : build/import/libodb-mssql/stub.make
+# author : Constantin Michael <constantin@codesynthesis.com>
+# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
+# license : ODB NCUEL; see accompanying LICENSE file
+
+$(call include-once,$(scf_root)/import/libodb-mssql/configuration-rules.make,$(dcf_root))
+
+libodb_mssql_installed :=
+
+$(call -include,$(dcf_root)/import/libodb-mssql/configuration-dynamic.make)
+
+ifdef libodb_mssql_installed
+
+ifeq ($(libodb_mssql_installed),y)
+
+$(call export,l: -lodb-mssql -lodb,cpp-options: )
+
+else
+
+# Include export stub.
+#
+$(call include,$(scf_root)/export/libodb-mssql/stub.make)
+
+endif
+
+else
+
+.NOTPARALLEL:
+
+endif
diff --git a/build/mssql/configure b/build/mssql/configure
new file mode 100755
index 0000000..c7d1b1b
--- /dev/null
+++ b/build/mssql/configure
@@ -0,0 +1,12 @@
+#! /usr/bin/env bash
+
+# file : build/mssql/configure
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+#
+# dcf_root - dynamic configuration root
+#
+
+#@@ TODO