From f1f39911e0d2d88c98eae96a3eb14a53c664206f Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Sat, 30 Nov 2019 22:37:25 +0300 Subject: Upgrade to 12.1 --- libpq/buildfile | 188 ++------------------------------------------------------ 1 file changed, 5 insertions(+), 183 deletions(-) (limited to 'libpq/buildfile') diff --git a/libpq/buildfile b/libpq/buildfile index 5a1732b..e2ceea2 100644 --- a/libpq/buildfile +++ b/libpq/buildfile @@ -1,188 +1,10 @@ -# file : libpq/buildfile +# file : buildfile # copyright : Copyright (c) 2016-2019 Code Synthesis Ltd # license : PostgreSQL Licenes; see accompanying COPYRIGHT file -# Headers other than these are not installed so treat them as files. -# -# @@ Make it postgresql/{postgres_ext.h pg_config_ext.h} when name pattern can -# be represented with a reversible name. -# -# @@ TODO: we should be able to redo it with install=true/false -# -h = version.h libpq-fe.h libpq-events.h \ - postgresql/postgres_ext.h postgresql/pg_config_ext.h - -lib{pq}: c{*} h{$h} file{**.h -{$h}} def{win32/libpqdll} \ - file{pg_service.conf.sample} - -tclass = $c.target.class - -bsd = ($tclass == 'bsd') -macos = ($tclass == 'macos') -windows = ($tclass == 'windows') - -msvc_runtime = ($c.target.system == 'win32-msvc') - -gcc = ($c.class == 'gcc') -msvc = ($c.class == 'msvc') - -lib{pq}: win32/c{*}: include = $windows -lib{pq}: non-bsd/c{*}: include = (($bsd || $macos) == false) +./: {*/ -build/} doc{COPYRIGHT INSTALL README} manifest -# The version file is an internal one (it is only included from -# postgresql/pg_config.h) so we don't distribute nor install it (see below). +# Don't install tests or the INSTALL file. # -h{version}: in{version} $src_root/manifest - -# Build options. -# -c.poptions += -DFRONTEND -DUNSAFE_STAT_OK -DSO_MAJOR_VERSION=$abi_major - -if! $windows - # Note that the original package uses -pthread compiler/linker option. It is - # currently unsupported by build2, so we use -D_REENTRANT and -lpthread - # preprocessor/linker options instead. We also omit -D_THREAD_SAFE (synonym - # for -D_REENTRANT) and Solaris-specific -D_POSIX_PTHREAD_SEMANTICS. - # - # @@ Maybe makes sense to support -pthread in build2, adding -lpthread - # to pkg-config's Libs.private and to cc.export.libs? - # - c.poptions += -D_REENTRANT -D_GNU_SOURCE -else - # Note that the original package defines the WIN32 macro for VC only, relying - # on the fact that MinGW GCC defines it by default. However, the macro - # disappears from the default ones if to compile with -std=c9x (as we do). So - # we define it for both VC and MinGW GCC. - # - # It's tempting to move this definition to libpq/postgresql/pg_config.h. - # However this header is not included into all files that use the macro, for - # example, libpq/win32/open.c. - # - c.poptions += -DWIN32 - -port_dir = ($windows ? "win32" : \ - $macos ? "darwin" : \ - $tclass) - -# Note that we add "-I$src_root" for the headers auto-generating machinery to -# work properly. -# -c.poptions =+ "-I$out_root" "-I$src_root" "-I$src_base" \ - "-I$src_base/postgresql/port/$port_dir" \ - "-I$src_base/postgresql" - -if $windows - c.poptions =+ "-I$src_base/win32" - -if $msvc_runtime -{ - c.poptions =+ "-I$src_base/postgresql/port/win32_msvc" - - c.poptions += -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE - - # Disable warnings that pop up with /W3. - # - if $msvc - c.coptions += /wd4018 /wd4244 /wd4267 -} -elif $gcc -{ - # Omit -fexcess-precision=standard as -std=9x implies it. - # - c.coptions += -fno-strict-aliasing -fwrapv - - # Disable warnings that pop up with -Wall -Wextra. Upstream doesn't seem to - # care about these and it is not easy to disable specific warnings in a way - # that works across compilers/version (some -Wno-* options are only - # recognized in newer versions). - # - c.coptions += -Wno-all -Wno-extra -} - -# Define SYSCONFDIR macro. This path is used as a last resort for the -# pg_service.conf file search (see libpq/fe-connect.c for details). -# -# The whole idea feels utterly broken (hello cross-compilation) so we will -# just do bare minimum and wait and see. -# -# @@ We should probably allow to configure this macros via configuration -# variable config.libpq.sysconfdir. -# -if! $windows -{ - # For the original package if the resulted sysconfdir path doesn't contain - # the 'postgres' or 'pgsql' substring then the '/postgresql' suffix is - # automatically appended (see the original INSTALL file for details). Note - # that the same rule is applied for the datadir and docdir paths. Also if - # the root directory is /usr, then the resulting sysconfdir path is - # /etc/postgresql (rather than /usr/etc/postgresql). - # - # Let's do the same for the sysconfdir to increase the chance that libpq - # will find the configuration file. Note that we don't install anything at - # this path and don't amend the install.data and install.doc path variables. - # We also use the same default path as the original package. - # - if ($install.root != [null]) - { - root = $install.resolve($install.root) - sysconfdir = ($root != /usr ? $root/etc : /etc) - - if! $regex.match("$sysconfdir", '.*(pgsql|postgresql).*') - sysconfdir = $sysconfdir/postgresql - } - else - sysconfdir = /usr/local/pgsql/etc -} -else -{ - # win32.mak from the original package does this. - # - sysconfdir = "" -} - -# If we ever enable National Language Support (ENABLE_NLS macro) then we will -# need to define the LOCALEDIR macro as well. It refers to the locale data -# directory and should be $install.data/locale by default. We will also need -# to install this directory (see configure script --enable-nls options and the -# src/interfaces/libpq/po directory in the original package for details). -# -obj{fe-connect}: c.poptions += -DSYSCONFDIR="\"$sysconfdir\"" - -if! $windows - c.libs += -lpthread -else - # The original package also adds the resource file to the library. The file - # contains only the version information. First, libpq.rc is produced from - # libpq.rc.in with the following command: - # - # sed -e 's/\(VERSION.*\),0 *$/\1,'`date '+%y%j' | \ - # sed 's/^0*//'`'/' libpq.rc.in >libpq.rc - # - # Then libpq.rc is compiled with: - # - # windres -i libpq.rc -o libpqrc.o - # - # Afterwards libpqrc.o is linked to the library. - # - # @@ Currently we don't have support for the first two steps. - # - c.libs += $regex.apply(secur32 ws2_32 advapi32, \ - '(.+)', \ - $msvc_runtime ? '\1.lib' : '-l\1') - -# Export options. -# -lib{pq}: cc.export.poptions = "-I$src_base" "-I$src_base/postgresql" - -# See bootstrap.build for details. -# -if $version.pre_release - lib{pq}: bin.lib.version = @"-$version.project_id" -else - lib{pq}: bin.lib.version = @"-$abi_version" - -# Internal header (see above). -# -h{version}: install = false - -file{pg_service.conf.sample}@./: install = data/ +tests/: install = false +doc{INSTALL}@./: install = false -- cgit v1.1