From a391d6067bee66344f0e705c147c9f54c9a52844 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 6 Mar 2019 01:14:26 +0300 Subject: Release version 5.7.20+5 --- manifest | 9 ++--- mysql/buildfile | 111 ++++++++++++++++++++++++++++++++------------------------ 2 files changed, 68 insertions(+), 52 deletions(-) diff --git a/manifest b/manifest index 6b4df6c..ead822d 100644 --- a/manifest +++ b/manifest @@ -3,7 +3,7 @@ name: libmysqlclient # Note: remember to update doc-url below! # -version: 5.7.20+4 +version: 5.7.20+5 project: mysql summary: MySQL C API client library @@ -17,7 +17,6 @@ package-url: https://git.build2.org/cgit/packaging/mysql/ email: mysql@lists.mysql.com ; Mailing list. package-email: packaging@build2.org ; Mailing list. build-error-email: builds@build2.org -#builds: all : -( +windows &gcc ) ; MinGW GCC is not supported. -build-exclude: **/**-mingw32 ; MinGW GCC is not supported. -depends: * build2 >= 0.8.0- -depends: * bpkg >= 0.8.0- +builds: all : -( +windows &gcc ) ; MinGW GCC is not supported. +depends: * build2 >= 0.9.0 +depends: * bpkg >= 0.9.0 diff --git a/mysql/buildfile b/mysql/buildfile index 744366b..513eda9 100644 --- a/mysql/buildfile +++ b/mysql/buildfile @@ -28,8 +28,12 @@ tclass = $c.target.class tsys = $c.target.system linux = ($tclass == 'linux') +bsd = ($tclass == 'bsd') windows = ($tclass == 'windows') +gcc = ($c.class == 'gcc') +msvc = ($c.class == 'msvc') + lib{mysqlclient}: mysys/c{posix_timers}: include = $linux lib{mysqlclient}: mysys/{ c }{$mysys_win32} \ @@ -43,13 +47,6 @@ lib{mysqlclient}: zlib/file{README* } \ extra/yassl/file{README COPYING FLOSS-EXCEPTIONS} \ extra/yassl/taocrypt/file{README COPYING } -# See bootstrap.build for details. -# -if $version.pre_release - lib{mysqlclient}: bin.lib.version = @"-$version.project_id" -else - lib{mysqlclient}: bin.lib.version = @"-$abi_version" - # Include the generated version header into the distribution (so that we # don't pick up an installed one) and don't remove it when cleaning in src (so # that clean results in a state identical to distributed). @@ -63,41 +60,53 @@ else # Source package: /tmp/mysql.sock # h{version}: in{version} $src_root/manifest +h{version}: +{ + dist = true + clean = ($src_root != $out_root) + + in.symbol = '@' + + PROTOCOL_VERSION = $protocol_version + VERSION = $version.project + MYSQL_BASE_VERSION = "$version.major.$version.minor" + MYSQL_VERSION_MAJOR = $version.major + MYSQL_VERSION_MINOR = $version.minor + MYSQL_SERVER_SUFFIX = '' + DOT_FRM_VERSION = 6 # File format (server-related). + + MYSQL_VERSION_ID = \ + "\(10000 * $version.major + 100 * $version.minor + $version.patch\)" + + MYSQL_TCP_PORT = 3306 + MYSQL_TCP_PORT_DEFAULT = 0 + MYSQL_UNIX_ADDR = ($windows ? '' : /tmp/mysql.sock) + COMPILATION_COMMENT = 'Source distribution' + SYS_SCHEMA_VERSION = '1.5.1' # Server-related. + MACHINE_TYPE = $c.target.cpu + SYSTEM_TYPE = $tsys + + DEFAULT_BASEDIR = ($install.root != [null] \ + ? $regex.replace("$install.resolve($install.root)", \ + '\\', \ + '/') \ + : '') + + PLUGINDIR = ($install.root != [null] \ + ? $regex.replace($install.resolve($install.lib)/mysql/plugin, \ + '\\', \ + '/') \ + : '') + + SHAREDIR = ($install.root != [null] \ + ? $regex.replace($install.resolve($install.data_root)/share/mysql, \ + '\\', \ + '/') \ + : '') +} -h{version}: dist = true -h{version}: clean = ($src_root != $out_root) -h{version}: in.symbol = '@' - -h{version}: PROTOCOL_VERSION = $protocol_version -h{version}: VERSION = $version.project -h{version}: MYSQL_BASE_VERSION = "$version.major.$version.minor" -h{version}: MYSQL_VERSION_MAJOR = $version.major -h{version}: MYSQL_VERSION_MINOR = $version.minor -h{version}: MYSQL_SERVER_SUFFIX = '' -h{version}: DOT_FRM_VERSION = 6 # File format (server-related). -h{version}: MYSQL_VERSION_ID = \ - "\(10000 * $version.major + 100 * $version.minor + $version.patch\)" -h{version}: MYSQL_TCP_PORT = 3306 -h{version}: MYSQL_TCP_PORT_DEFAULT = 0 -h{version}: MYSQL_UNIX_ADDR = ($windows ? '' : /tmp/mysql.sock) -h{version}: COMPILATION_COMMENT = 'Source distribution' -h{version}: SYS_SCHEMA_VERSION = '1.5.1' # Server-related. -h{version}: MACHINE_TYPE = $c.target.cpu -h{version}: SYSTEM_TYPE = $tsys -h{version}: DEFAULT_BASEDIR = \ - ($install.root != [null] \ - ? $regex.replace("$install.resolve($install.root)", '\\', '/') \ - : '') -h{version}: PLUGINDIR = \ - ($install.root != [null] \ - ? $regex.replace($install.resolve($install.lib)/mysql/plugin, '\\', '/') \ - : '') -h{version}: SHAREDIR = \ - ($install.root != [null] \ - ? $regex.replace($install.resolve($install.data_root)/share/mysql, \ - '\\', '/') \ - : '') - +# Build options. +# # We have dropped the macro definitions that are not used in the package code: # # -DHAVE_LIBEVENT1 @@ -180,13 +189,13 @@ libmysql/ cc.poptions += $sql_poptions if $windows libmysql/authentication_win/ cc.poptions += -DSECURITY_WIN32 -if ($c.class == 'msvc') +if $msvc { # Disable warnings that pop up with /W3. # cc.coptions += /wd4311 /wd4113 /wd4996 /wd4244 /wd4267 /wd4334 /wd4800 /wd4091 } -elif ($c.class == 'gcc') +elif $gcc { # We don't care about C++ ABI specification conformance, especially given # that only C functions are exported. So we omit -fabi-version=2. @@ -216,7 +225,7 @@ if! $windows libs{mysqlclient}: cc.loptions += -Wl,--no-undefined } - cc.libs += ($tclass == 'bsd' ? -lexecinfo : -ldl) -lpthread -lm + cc.libs += ($bsd ? -lexecinfo : -ldl) -lpthread -lm if $linux cc.libs += -lrt # Posix timers. @@ -224,16 +233,27 @@ if! $windows else cc.libs += advapi32.lib +# Export options. +# # The library clients must include the API header as . # lib{mysqlclient}: cc.export.poptions = "-I$out_root" "-I$src_root" +# See bootstrap.build for details. +# +if $version.pre_release + lib{mysqlclient}: bin.lib.version = @"-$version.project_id" +else + lib{mysqlclient}: bin.lib.version = @"-$abi_version" + # Let's install the bare minimum of headers: mysql.h, errmsg.h, mysqld_error.h # and headers they recursively include. # h{*}: install = false hxx{*}: install = false +# Install into the mysql/ subdirectory of, say, /usr/include/. +# # @@ Fix once LHS pair generation is implemented. # for h: mysql errmsg mysqld_error mysql_time mysql_version mysql_com \ @@ -244,9 +264,6 @@ for h: mysql errmsg mysqld_error mysql_time mysql_version mysql_com \ d = $path.directory($h) h{$h}@./$d: install = include/mysql/$d - h{$h}@./$d: install.subdirs = true } -# Install into the mysql/ subdirectory of, say, /usr/include. -# h{version}: install = include/mysql/ -- cgit v1.1