From e241c2d3aac91c6845fe33df0630fd7294be72ce Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Sat, 4 Apr 2020 22:58:47 +0300 Subject: Make use of project configuration variable for specifying database client library --- build/root.build | 26 ++++++++++++++++++++++++++ odb/mysql/buildfile | 10 +++------- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/build/root.build b/build/root.build index ba74c09..49d1911 100644 --- a/build/root.build +++ b/build/root.build @@ -1,6 +1,32 @@ # file : build/root.build # license : GNU GPL v2; see accompanying LICENSE file +# Configure which database client library to use for build2 versions greater +# than 0.12.0 and always use MySQL client library otherwise (due to the lack +# of the project configuration variables support). +# +if ($build.version.number > 12000000000) +{ + # Whether to use the MySQL or MariaDB client library. + # + config [string] config.libodb_mysql.client_lib ?= 'mysql' + + # Verify the config.libodb_mysql.client_lib configuration variable value and + # provide the short alias for it. + # + switch $config.libodb_mysql.client_lib + { + case 'mysql' + case 'mariadb' + client_lib = $config.libodb_mysql.client_lib + + default + fail "invalid config.libodb_mysql.client_lib value '$config.libodb_mysql.client_lib'" + } +} +else + client_lib = 'mysql' + cxx.std = latest using cxx diff --git a/odb/mysql/buildfile b/odb/mysql/buildfile index 556caf1..2796103 100644 --- a/odb/mysql/buildfile +++ b/odb/mysql/buildfile @@ -1,15 +1,11 @@ # file : odb/mysql/buildfile # license : GNU GPL v2; see accompanying LICENSE file -client_lib = 'mysql' -#client_lib = 'mariadb' - import int_libs = libodb%lib{odb} -if ($client_lib == 'mysql') - import int_libs += libmysqlclient%lib{mysqlclient} -else - import int_libs += libmariadb%lib{mariadb} +import int_libs += ($client_lib == 'mysql' \ + ? libmysqlclient%lib{mysqlclient} \ + : libmariadb%lib{mariadb}) lib{odb-mysql}: {hxx ixx txx cxx}{* -version-build2} {hxx}{version-build2} \ details/{hxx ixx txx cxx}{* -options} details/{hxx ixx cxx}{options} \ -- cgit v1.1