early-access version 2853
This commit is contained in:
37
externals/vcpkg/ports/libpq/Makefile
vendored
Executable file
37
externals/vcpkg/ports/libpq/Makefile
vendored
Executable file
@@ -0,0 +1,37 @@
|
||||
subdir = .
|
||||
top_builddir = .
|
||||
include src/Makefile.global
|
||||
|
||||
.NOTPARALLEL:
|
||||
|
||||
ifeq ($(LIBPQ_LIBRARY_TYPE), static)
|
||||
LIBPQ_INSTALL_LIBS = install-stlib
|
||||
endif
|
||||
|
||||
ifeq ($(LIBPQ_LIBRARY_TYPE), shared)
|
||||
ifeq ($(USING_MINGW), yes)
|
||||
# The import library name is the same as the static library name
|
||||
EXTRA_TARGET = install-lib-static
|
||||
endif
|
||||
endif
|
||||
|
||||
.PHONY: all
|
||||
all:
|
||||
$(MAKE) -C src/include MAKELEVEL=0
|
||||
$(MAKE) -C src/common MAKELEVEL=0
|
||||
$(MAKE) -C src/port MAKELEVEL=0
|
||||
$(MAKE) -C src/interfaces/libpq MAKELEVEL=0 all-$(LIBPQ_LIBRARY_TYPE)-lib
|
||||
$(MAKE) -C src/bin/pg_config MAKELEVEL=0
|
||||
|
||||
.PHONY: install-stlib
|
||||
install-stlib:
|
||||
$(MAKE) -C src/common MAKELEVEL=0 install -o all
|
||||
rm -f '$(DESTDIR)$(libdir)/libpgcommon_shlib.a'
|
||||
$(MAKE) -C src/port MAKELEVEL=0 install -o all
|
||||
rm -f '$(DESTDIR)$(libdir)/libpgport_shlib.a'
|
||||
|
||||
.PHONY: install
|
||||
install: $(LIBPQ_INSTALL_LIBS)
|
||||
$(MAKE) -C src/include MAKELEVEL=0 install
|
||||
$(MAKE) -C src/interfaces/libpq MAKELEVEL=0 $(EXTRA_TARGET) install-lib-$(LIBPQ_LIBRARY_TYPE) install-lib-pc install -o all -o install-lib
|
||||
$(MAKE) -C src/bin/pg_config MAKELEVEL=0 install
|
||||
28
externals/vcpkg/ports/libpq/config.pl
vendored
Executable file
28
externals/vcpkg/ports/libpq/config.pl
vendored
Executable file
@@ -0,0 +1,28 @@
|
||||
our $config = {
|
||||
asserts => 0, # --enable-cassert
|
||||
# float4byval=>1, # --disable-float4-byval, on by default
|
||||
|
||||
# float8byval=> $platformbits == 64, # --disable-float8-byval,
|
||||
# off by default on 32 bit platforms, on by default on 64 bit platforms
|
||||
|
||||
# blocksize => 8, # --with-blocksize, 8kB by default
|
||||
# wal_blocksize => 8, # --with-wal-blocksize, 8kB by default
|
||||
ldap => undef, # --with-ldap
|
||||
extraver => undef, # --with-extra-version=<string>
|
||||
gss => undef, # --with-gssapi=<path>
|
||||
icu => undef, # --with-icu=<path>
|
||||
lz4 => undef, # --with-lz4=<path>
|
||||
nls => undef, # --enable-nls=<path>
|
||||
tap_tests => undef, # --enable-tap-tests
|
||||
tcl => undef, # --with-tcl=<path>
|
||||
perl => undef, # --with-perl
|
||||
python => undef, # --with-python=<path>
|
||||
openssl => undef, # --with-openssl=<path>
|
||||
uuid => undef, # --with-ossp-uuid
|
||||
xml => undef, # --with-libxml=<path>
|
||||
xslt => undef, # --with-libxslt=<path>
|
||||
iconv => undef, # (not in configure, path to iconv)
|
||||
zlib => undef # --with-zlib=<path>
|
||||
};
|
||||
|
||||
1;
|
||||
72
externals/vcpkg/ports/libpq/patches/fix-configure.patch
vendored
Executable file
72
externals/vcpkg/ports/libpq/patches/fix-configure.patch
vendored
Executable file
@@ -0,0 +1,72 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index fba79ee..4fadb94 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -19,7 +19,7 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
|
||||
|
||||
AC_INIT([PostgreSQL], [14.1], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
|
||||
|
||||
-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
|
||||
+m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_warn([unsupported],[Autoconf version 2.69 is required.
|
||||
Untested combinations of 'autoconf' and PostgreSQL versions are not
|
||||
recommended. You can remove the check from 'configure.ac' but it is then
|
||||
your responsibility whether the result works or not.])])
|
||||
@@ -1184,7 +1184,8 @@ if test "$enable_thread_safety" = yes; then
|
||||
fi
|
||||
|
||||
if test "$with_readline" = yes; then
|
||||
- PGAC_CHECK_READLINE
|
||||
+ PKG_CHECK_MODULES([READLINE], [readline], [HAVE_LIBREADLINE=1], [pgac_cv_check_readline=no])
|
||||
+ LIBS="$READLINE_LIBS $LIBS"
|
||||
if test x"$pgac_cv_check_readline" = x"no"; then
|
||||
AC_MSG_ERROR([readline library not found
|
||||
If you have readline already installed, see config.log for details on the
|
||||
@@ -1194,7 +1195,7 @@ Use --without-readline to disable readline support.])
|
||||
fi
|
||||
|
||||
if test "$with_zlib" = yes; then
|
||||
- AC_CHECK_LIB(z, inflate, [],
|
||||
+ PKG_CHECK_MODULES([ZLIB], [zlib], [LIBS="$ZLIB_LIBS $LIBS"],
|
||||
[AC_MSG_ERROR([zlib library not found
|
||||
If you have zlib already installed, see config.log for details on the
|
||||
failure. It is possible the compiler isn't looking in the proper directory.
|
||||
@@ -1243,6 +1244,9 @@ if test "$with_ssl" = openssl ; then
|
||||
# Minimum required OpenSSL version is 1.0.1
|
||||
AC_DEFINE(OPENSSL_API_COMPAT, [0x10001000L],
|
||||
[Define to the OpenSSL API version in use. This avoids deprecation warnings from newer OpenSSL versions.])
|
||||
+ PKG_CHECK_MODULES([CRYPTO_new_ex_data], [libcrypto], [LIBS="$CRYPTO_new_ex_data_LIBS $LIBS"], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])])
|
||||
+ PKG_CHECK_MODULES([SSL_new], [libssl], [LIBS="$SSL_new_LIBS $LIBS"], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])])
|
||||
+ if false ; then
|
||||
if test "$PORTNAME" != "win32"; then
|
||||
AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])])
|
||||
AC_CHECK_LIB(ssl, SSL_new, [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])])
|
||||
@@ -1250,6 +1254,7 @@ if test "$with_ssl" = openssl ; then
|
||||
AC_SEARCH_LIBS(CRYPTO_new_ex_data, [eay32 crypto], [], [AC_MSG_ERROR([library 'eay32' or 'crypto' is required for OpenSSL])])
|
||||
AC_SEARCH_LIBS(SSL_new, [ssleay32 ssl], [], [AC_MSG_ERROR([library 'ssleay32' or 'ssl' is required for OpenSSL])])
|
||||
fi
|
||||
+ fi
|
||||
# Function introduced in OpenSSL 1.0.2.
|
||||
AC_CHECK_FUNCS([X509_get_signature_nid])
|
||||
# Functions introduced in OpenSSL 1.1.0. We used to check for
|
||||
@@ -1273,15 +1278,18 @@ if test "$with_pam" = yes ; then
|
||||
fi
|
||||
|
||||
if test "$with_libxml" = yes ; then
|
||||
- AC_CHECK_LIB(xml2, xmlSaveToBuffer, [], [AC_MSG_ERROR([library 'xml2' (version >= 2.6.23) is required for XML support])])
|
||||
+ PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= 2.6.23], [AC_DEFINE(HAVE_LIBXML2,1,[Define to 1 if with xml2])], [AC_MSG_ERROR([library 'xml2' (version >= 2.6.23) is required for XML support])])
|
||||
+ LIBS="$LIBXML2_LIBS $LIBS"
|
||||
fi
|
||||
|
||||
if test "$with_libxslt" = yes ; then
|
||||
- AC_CHECK_LIB(xslt, xsltCleanupGlobals, [], [AC_MSG_ERROR([library 'xslt' is required for XSLT support])])
|
||||
+ PKG_CHECK_MODULES([LIBXSLT], [libxslt], [AC_DEFINE(HAVE_LIBXSLT,1,[Define to 1 if with xslt])], [AC_MSG_ERROR([library 'xslt' is required for XSLT support])])
|
||||
+ LIBS="$LIBXSLT_LIBS $LIBS"
|
||||
fi
|
||||
|
||||
if test "$with_lz4" = yes ; then
|
||||
- AC_CHECK_LIB(lz4, LZ4_compress_default, [], [AC_MSG_ERROR([library 'lz4' is required for LZ4 support])])
|
||||
+ PKG_CHECK_MODULES([LZ4], [liblz4], [AC_DEFINE(HAVE_LIBLZ4,1,[Define to 1 if with lz4])], [AC_MSG_ERROR([library 'lz4' is required for LZ4 support])])
|
||||
+ LIBS="$LZ4_LIBS $LIBS"
|
||||
fi
|
||||
|
||||
# Note: We can test for libldap_r only after we know PTHREAD_LIBS;
|
||||
23
externals/vcpkg/ports/libpq/patches/windows/MSBuildProject-static-crt.patch
vendored
Executable file
23
externals/vcpkg/ports/libpq/patches/windows/MSBuildProject-static-crt.patch
vendored
Executable file
@@ -0,0 +1,23 @@
|
||||
diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm
|
||||
index 823357c02..faa3e336f 100644
|
||||
--- a/src/tools/msvc/MSBuildProject.pm
|
||||
+++ b/src/tools/msvc/MSBuildProject.pm
|
||||
@@ -84,16 +84,16 @@ EOF
|
||||
defs => "_DEBUG;DEBUG=1",
|
||||
opt => 'Disabled',
|
||||
strpool => 'false',
|
||||
- runtime => 'MultiThreadedDebugDLL'
|
||||
+ runtime => 'MultiThreadedDebug'
|
||||
});
|
||||
$self->WriteItemDefinitionGroup(
|
||||
$f,
|
||||
'Release',
|
||||
{
|
||||
defs => "",
|
||||
opt => 'Full',
|
||||
strpool => 'true',
|
||||
- runtime => 'MultiThreadedDLL'
|
||||
+ runtime => 'MultiThreaded'
|
||||
});
|
||||
return;
|
||||
}
|
||||
13
externals/vcpkg/ports/libpq/patches/windows/MSBuildProject-static-lib.patch
vendored
Executable file
13
externals/vcpkg/ports/libpq/patches/windows/MSBuildProject-static-lib.patch
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm
|
||||
index 823357c02..e1dc59aa7 100644
|
||||
--- a/src/tools/msvc/MSBuildProject.pm
|
||||
+++ b/src/tools/msvc/MSBuildProject.pm
|
||||
@@ -265,7 +265,7 @@ sub WriteConfigurationPropertyGroup
|
||||
my $cfgtype =
|
||||
($self->{type} eq "exe")
|
||||
? 'Application'
|
||||
- : ($self->{type} eq "dll" ? 'DynamicLibrary' : 'StaticLibrary');
|
||||
+ : ($self->{type} eq "dll" ? 'StaticLibrary' : 'StaticLibrary');
|
||||
|
||||
print $f <<EOF;
|
||||
<PropertyGroup Condition="'\$(Configuration)|\$(Platform)'=='$cfgname|$self->{platform}'" Label="Configuration">
|
||||
13
externals/vcpkg/ports/libpq/patches/windows/MSBuildProject_fix_gendef_perl.patch
vendored
Executable file
13
externals/vcpkg/ports/libpq/patches/windows/MSBuildProject_fix_gendef_perl.patch
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm
|
||||
index 823357c02..b93992f22 100644
|
||||
--- a/src/tools/msvc/MSBuildProject.pm
|
||||
+++ b/src/tools/msvc/MSBuildProject.pm
|
||||
@@ -384,7 +384,7 @@ EOF
|
||||
print $f <<EOF;
|
||||
<PreLinkEvent>
|
||||
<Message>Generate DEF file</Message>
|
||||
- <Command>perl src\\tools\\msvc\\gendef.pl $cfgname\\$self->{name} $self->{platform}</Command>
|
||||
+ <Command>perl "src\\tools\\msvc\\gendef.pl" $cfgname\\$self->{name} $self->{platform}</Command>
|
||||
</PreLinkEvent>
|
||||
EOF
|
||||
}
|
||||
13
externals/vcpkg/ports/libpq/patches/windows/Mkvcbuild-static-lib.patch
vendored
Executable file
13
externals/vcpkg/ports/libpq/patches/windows/Mkvcbuild-static-lib.patch
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
|
||||
index 99f39caa5..4f51c12f2 100644
|
||||
--- a/src/tools/msvc/Mkvcbuild.pm
|
||||
+++ b/src/tools/msvc/Mkvcbuild.pm
|
||||
@@ -199,7 +199,7 @@ sub mkvcbuild
|
||||
'syncrep_gram.y');
|
||||
$postgres->AddFiles('src/backend/utils/adt', 'jsonpath_scan.l',
|
||||
'jsonpath_gram.y');
|
||||
- $postgres->AddDefine('BUILDING_DLL');
|
||||
+ # $postgres->AddDefine('BUILDING_DLL');
|
||||
$postgres->AddLibrary('secur32.lib');
|
||||
$postgres->AddLibrary('ws2_32.lib');
|
||||
$postgres->AddLibrary('wldap32.lib') if ($solution->{options}->{ldap});
|
||||
45
externals/vcpkg/ports/libpq/patches/windows/Solution.patch
vendored
Executable file
45
externals/vcpkg/ports/libpq/patches/windows/Solution.patch
vendored
Executable file
@@ -0,0 +1,45 @@
|
||||
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
|
||||
index 51711c2bf..d33fdc3b0 100644
|
||||
--- a/src/tools/msvc/Solution.pm
|
||||
+++ b/src/tools/msvc/Solution.pm
|
||||
@@ -63,17 +63,21 @@ sub DeterminePlatform
|
||||
my $self = shift;
|
||||
|
||||
if ($^O eq "MSWin32")
|
||||
{
|
||||
# Examine CL help output to determine if we are in 32 or 64-bit mode.
|
||||
my $output = `cl /help 2>&1`;
|
||||
$? >> 8 == 0 or die "cl command not found";
|
||||
- $self->{platform} =
|
||||
- ($output =~ /^\/favor:<.+AMD64/m) ? 'x64' : 'Win32';
|
||||
+ if ($output =~ m/x64\n/) { $self->{platform} = 'x64';
|
||||
+ } elsif ($output =~ m/x86\n/) { $self->{platform} = 'Win32';
|
||||
+ } elsif ($output =~ m/ARM64\n/) { $self->{platform} = 'ARM64';
|
||||
+ } elsif ($output =~ m/ARM\n/) { $self->{platform} = 'ARM';
|
||||
+ } else { $self->{platform} = 'Unknown'
|
||||
+ }
|
||||
}
|
||||
else
|
||||
{
|
||||
$self->{platform} = 'FAKE';
|
||||
}
|
||||
print "Detected hardware platform: $self->{platform}\n";
|
||||
return;
|
||||
}
|
||||
@@ -757,14 +757,14 @@ EOF
|
||||
|| confess "Could not open pg_config_paths.h";
|
||||
print $o <<EOF;
|
||||
#define PGBINDIR "/bin"
|
||||
-#define PGSHAREDIR "/share"
|
||||
+#define PGSHAREDIR "/share/libpq"
|
||||
#define SYSCONFDIR "/etc"
|
||||
#define INCLUDEDIR "/include"
|
||||
#define PKGINCLUDEDIR "/include"
|
||||
#define INCLUDEDIRSERVER "/include/server"
|
||||
#define LIBDIR "/lib"
|
||||
#define PKGLIBDIR "/lib"
|
||||
-#define LOCALEDIR "/share/locale"
|
||||
+#define LOCALEDIR "/share/libpq/locale"
|
||||
#define DOCDIR "/doc"
|
||||
#define HTMLDIR "/doc"
|
||||
#define MANDIR "/man"
|
||||
92
externals/vcpkg/ports/libpq/patches/windows/Solution_DEBUG.patch
vendored
Executable file
92
externals/vcpkg/ports/libpq/patches/windows/Solution_DEBUG.patch
vendored
Executable file
@@ -0,0 +1,92 @@
|
||||
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
|
||||
index 2820ace22..7fddbf0fb 100644
|
||||
--- a/src/tools/msvc/Solution.pm
|
||||
+++ b/src/tools/msvc/Solution.pm
|
||||
@@ -948,7 +948,7 @@ sub AddProject
|
||||
if ($self->{options}->{zlib})
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{zlib} . '\include');
|
||||
- $proj->AddLibrary($self->{options}->{zlib} . '\lib\zdll.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{zlib} . '\debug\lib\zlibd.lib');
|
||||
}
|
||||
if ($self->{options}->{openssl})
|
||||
{
|
||||
@@ -989,8 +989,11 @@ sub AddProject
|
||||
# On both Win32 and Win64 the same library
|
||||
# names are used without a debugging context.
|
||||
$dbgsuffix = 0;
|
||||
- $libsslpath = '\lib\libssl.lib';
|
||||
- $libcryptopath = '\lib\libcrypto.lib';
|
||||
+ $libsslpath = '\debug\lib\libssl.lib'; #
|
||||
+ $libcryptopath = '\debug\lib\libcrypto.lib'; #
|
||||
+ $proj->AddLibrary('crypt32.lib');
|
||||
+ $proj->AddLibrary('ws2_32.lib');
|
||||
+ $proj->AddLibrary('secur32.lib');
|
||||
}
|
||||
|
||||
$proj->AddLibrary($self->{options}->{openssl} . $libsslpath,
|
||||
@@ -1024,7 +1024,7 @@ sub AddProject
|
||||
if ($self->{options}->{nls})
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{nls} . '\include');
|
||||
- $proj->AddLibrary($self->{options}->{nls} . '\lib\libintl.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{nls} . '\debug\lib\intl.lib'); #
|
||||
}
|
||||
if ($self->{options}->{gss})
|
||||
{
|
||||
@@ -1051,21 +1051,21 @@ sub AddProject
|
||||
}
|
||||
if ($self->{options}->{iconv})
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{iconv} . '\include');
|
||||
- $proj->AddLibrary($self->{options}->{iconv} . '\lib\iconv.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{iconv} . '\debug\lib\iconv.lib'); #
|
||||
}
|
||||
if ($self->{options}->{icu})
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{icu} . '\include');
|
||||
if ($self->{platform} eq 'Win32')
|
||||
{
|
||||
- $proj->AddLibrary($self->{options}->{icu} . '\lib\icuin.lib');
|
||||
- $proj->AddLibrary($self->{options}->{icu} . '\lib\icuuc.lib');
|
||||
- $proj->AddLibrary($self->{options}->{icu} . '\lib\icudt.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icuind.lib'); #
|
||||
+ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icuucd.lib'); #
|
||||
+ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icudtd.lib'); #
|
||||
}
|
||||
else
|
||||
{
|
||||
- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icuin.lib');
|
||||
- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icuuc.lib');
|
||||
- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icudt.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icuind.lib'); #
|
||||
+ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icuucd.lib'); #
|
||||
+ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icudtd.lib'); #
|
||||
}
|
||||
@@ -1074,22 +1074,22 @@ sub AddProject
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{xml} . '\include');
|
||||
$proj->AddIncludeDir($self->{options}->{xml} . '\include\libxml2');
|
||||
- $proj->AddLibrary($self->{options}->{xml} . '\lib\libxml2.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{xml} . '\debug\lib\libxml2.lib'); #
|
||||
}
|
||||
if ($self->{options}->{xslt})
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{xslt} . '\include');
|
||||
- $proj->AddLibrary($self->{options}->{xslt} . '\lib\libxslt.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{xslt} . '\debug\lib\libxslt.lib'); #
|
||||
}
|
||||
if ($self->{options}->{lz4})
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{lz4} . '\include');
|
||||
- $proj->AddLibrary($self->{options}->{lz4} . '\lib\liblz4.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{lz4} . '\debug\lib\lz4d.lib'); #
|
||||
}
|
||||
if ($self->{options}->{uuid})
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{uuid} . '\include');
|
||||
- $proj->AddLibrary($self->{options}->{uuid} . '\lib\uuid.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{uuid} . '\debug\lib\uuid.lib'); #
|
||||
}
|
||||
return $proj;
|
||||
}
|
||||
92
externals/vcpkg/ports/libpq/patches/windows/Solution_RELEASE.patch
vendored
Executable file
92
externals/vcpkg/ports/libpq/patches/windows/Solution_RELEASE.patch
vendored
Executable file
@@ -0,0 +1,92 @@
|
||||
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
|
||||
index 2820ace22..7fddbf0fb 100644
|
||||
--- a/src/tools/msvc/Solution.pm
|
||||
+++ b/src/tools/msvc/Solution.pm
|
||||
@@ -948,7 +948,7 @@ sub AddProject
|
||||
if ($self->{options}->{zlib})
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{zlib} . '\include');
|
||||
- $proj->AddLibrary($self->{options}->{zlib} . '\lib\zdll.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{zlib} . '\lib\zlib.lib');
|
||||
}
|
||||
if ($self->{options}->{openssl})
|
||||
{
|
||||
@@ -989,8 +989,11 @@ sub AddProject
|
||||
# On both Win32 and Win64 the same library
|
||||
# names are used without a debugging context.
|
||||
$dbgsuffix = 0;
|
||||
- $libsslpath = '\lib\libssl.lib';
|
||||
- $libcryptopath = '\lib\libcrypto.lib';
|
||||
+ $libsslpath = '\lib\libssl.lib'; #
|
||||
+ $libcryptopath = '\lib\libcrypto.lib'; #
|
||||
+ $proj->AddLibrary('crypt32.lib');
|
||||
+ $proj->AddLibrary('ws2_32.lib');
|
||||
+ $proj->AddLibrary('secur32.lib');
|
||||
}
|
||||
|
||||
$proj->AddLibrary($self->{options}->{openssl} . $libsslpath,
|
||||
@@ -1024,7 +1024,7 @@ sub AddProject
|
||||
if ($self->{options}->{nls})
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{nls} . '\include');
|
||||
- $proj->AddLibrary($self->{options}->{nls} . '\lib\libintl.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{nls} . '\lib\intl.lib'); #
|
||||
}
|
||||
if ($self->{options}->{gss})
|
||||
{
|
||||
@@ -1051,21 +1051,21 @@ sub AddProject
|
||||
}
|
||||
if ($self->{options}->{iconv})
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{iconv} . '\include');
|
||||
- $proj->AddLibrary($self->{options}->{iconv} . '\lib\iconv.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{iconv} . '\lib\iconv.lib'); #
|
||||
}
|
||||
if ($self->{options}->{icu})
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{icu} . '\include');
|
||||
if ($self->{platform} eq 'Win32')
|
||||
{
|
||||
- $proj->AddLibrary($self->{options}->{icu} . '\lib\icuin.lib');
|
||||
- $proj->AddLibrary($self->{options}->{icu} . '\lib\icuuc.lib');
|
||||
- $proj->AddLibrary($self->{options}->{icu} . '\lib\icudt.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{icu} . '\lib\icuin.lib'); #
|
||||
+ $proj->AddLibrary($self->{options}->{icu} . '\lib\icuuc.lib'); #
|
||||
+ $proj->AddLibrary($self->{options}->{icu} . '\lib\icudt.lib'); #
|
||||
}
|
||||
else
|
||||
{
|
||||
- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icuin.lib');
|
||||
- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icuuc.lib');
|
||||
- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icudt.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{icu} . '\lib\icuin.lib'); #
|
||||
+ $proj->AddLibrary($self->{options}->{icu} . '\lib\icuuc.lib'); #
|
||||
+ $proj->AddLibrary($self->{options}->{icu} . '\lib\icudt.lib'); #
|
||||
}
|
||||
@@ -1074,22 +1074,22 @@ sub AddProject
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{xml} . '\include');
|
||||
$proj->AddIncludeDir($self->{options}->{xml} . '\include\libxml2');
|
||||
- $proj->AddLibrary($self->{options}->{xml} . '\lib\libxml2.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{xml} . '\lib\libxml2.lib'); #
|
||||
}
|
||||
if ($self->{options}->{xslt})
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{xslt} . '\include');
|
||||
- $proj->AddLibrary($self->{options}->{xslt} . '\lib\libxslt.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{xslt} . '\lib\libxslt.lib'); #
|
||||
}
|
||||
if ($self->{options}->{lz4})
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{lz4} . '\include');
|
||||
- $proj->AddLibrary($self->{options}->{lz4} . '\lib\liblz4.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{lz4} . '\lib\lz4.lib'); #
|
||||
}
|
||||
if ($self->{options}->{uuid})
|
||||
{
|
||||
$proj->AddIncludeDir($self->{options}->{uuid} . '\include');
|
||||
- $proj->AddLibrary($self->{options}->{uuid} . '\lib\uuid.lib');
|
||||
+ $proj->AddLibrary($self->{options}->{uuid} . '\lib\uuid.lib'); #
|
||||
}
|
||||
return $proj;
|
||||
}
|
||||
39
externals/vcpkg/ports/libpq/patches/windows/arm.patch
vendored
Executable file
39
externals/vcpkg/ports/libpq/patches/windows/arm.patch
vendored
Executable file
@@ -0,0 +1,39 @@
|
||||
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
|
||||
index 99f39caa5..4f51c12f2 100644
|
||||
--- a/src/tools/msvc/Mkvcbuild.pm
|
||||
+++ b/src/tools/msvc/Mkvcbuild.pm
|
||||
@@ -110,8 +110,8 @@ sub mkvcbuild
|
||||
|
||||
if ($vsVersion >= '9.00')
|
||||
{
|
||||
- push(@pgportfiles, 'pg_crc32c_sse42_choose.c');
|
||||
- push(@pgportfiles, 'pg_crc32c_sse42.c');
|
||||
+ #push(@pgportfiles, 'pg_crc32c_sse42_choose.c');
|
||||
+ #push(@pgportfiles, 'pg_crc32c_sse42.c');
|
||||
push(@pgportfiles, 'pg_crc32c_sb8.c');
|
||||
}
|
||||
else
|
||||
diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm
|
||||
index 823357c02..625f32bf8 100644
|
||||
--- a/src/tools/msvc/MSBuildProject.pm
|
||||
+++ b/src/tools/msvc/MSBuildProject.pm
|
||||
@@ -307,9 +307,8 @@ sub WriteItemDefinitionGroup
|
||||
: ($self->{type} eq "dll" ? 'DynamicLibrary' : 'StaticLibrary');
|
||||
my $libs = $self->GetAdditionalLinkerDependencies($cfgname, ';');
|
||||
|
||||
- my $targetmachine =
|
||||
- $self->{platform} eq 'Win32' ? 'MachineX86' : 'MachineX64';
|
||||
-
|
||||
+ my $targetmachine = $self->{platform} eq 'ARM64' ? 'MachineARM64' : 'MachineARM';
|
||||
+
|
||||
my $includes = $self->{includes};
|
||||
unless ($includes eq '' or $includes =~ /;$/)
|
||||
{
|
||||
@@ -347,7 +349,6 @@ sub WriteItemDefinitionGroup
|
||||
<ProgramDatabaseFile>.\\$cfgname\\$self->{name}\\$self->{name}.pdb</ProgramDatabaseFile>
|
||||
<GenerateMapFile>false</GenerateMapFile>
|
||||
<MapFileName>.\\$cfgname\\$self->{name}\\$self->{name}.map</MapFileName>
|
||||
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<!-- Permit links to MinGW-built, 32-bit DLLs (default before VS2012). -->
|
||||
<ImageHasSafeExceptionHandlers/>
|
||||
<SubSystem>Console</SubSystem>
|
||||
33
externals/vcpkg/ports/libpq/patches/windows/fix-compile-flag-Zi.patch
vendored
Executable file
33
externals/vcpkg/ports/libpq/patches/windows/fix-compile-flag-Zi.patch
vendored
Executable file
@@ -0,0 +1,33 @@
|
||||
diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm
|
||||
index b93992f..2397511 100644
|
||||
--- a/src/tools/msvc/MSBuildProject.pm
|
||||
+++ b/src/tools/msvc/MSBuildProject.pm
|
||||
@@ -336,7 +336,7 @@ sub WriteItemDefinitionGroup
|
||||
<BrowseInformation>false</BrowseInformation>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
+ <DebugInformationFormat>OldStyle</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm
|
||||
index e0c9a88..98f9e67 100644
|
||||
--- a/src/tools/msvc/Install.pm
|
||||
+++ b/src/tools/msvc/Install.pm
|
||||
@@ -352,9 +352,12 @@ sub CopySolutionOutput
|
||||
|| croak "Could not copy $pf.$ext\n";
|
||||
}
|
||||
}
|
||||
- lcopy("$conf\\$pf\\$pf.pdb", "$target\\bin\\$pf.pdb")
|
||||
- || croak "Could not copy $pf.pdb\n";
|
||||
- print ".";
|
||||
+ if ($1 eq 'DynamicLibrary')
|
||||
+ {
|
||||
+ lcopy("$conf\\$pf\\$pf.pdb", "$target\\bin\\$pf.pdb")
|
||||
+ || croak "Could not copy $pf.pdb\n";
|
||||
+ print ".";
|
||||
+ }
|
||||
}
|
||||
print "\n";
|
||||
return;
|
||||
38
externals/vcpkg/ports/libpq/patches/windows/host_skip_openssl.patch
vendored
Executable file
38
externals/vcpkg/ports/libpq/patches/windows/host_skip_openssl.patch
vendored
Executable file
@@ -0,0 +1,38 @@
|
||||
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
|
||||
index 25a549015..9018270ab 100644
|
||||
--- a/src/tools/msvc/Solution.pm
|
||||
+++ b/src/tools/msvc/Solution.pm
|
||||
@@ -132,21 +132,21 @@ sub GetOpenSSLVersion
|
||||
# Attempt to get OpenSSL version and location. This assumes that
|
||||
# openssl.exe is in the specified directory.
|
||||
# Quote the .exe name in case it has spaces
|
||||
- my $opensslcmd =
|
||||
- qq("openssl.exe" version 2>&1);
|
||||
- my $sslout = `$opensslcmd`;
|
||||
+ #my $opensslcmd =
|
||||
+ # qq("openssl.exe" version 2>&1);
|
||||
+ #my $sslout = `$opensslcmd`;
|
||||
|
||||
- $? >> 8 == 0
|
||||
- or croak
|
||||
- "Unable to determine OpenSSL version: The openssl.exe command wasn't found.";
|
||||
+ #$? >> 8 == 0
|
||||
+ # or croak
|
||||
+ # "Unable to determine OpenSSL version: The openssl.exe command wasn't found.";
|
||||
|
||||
- if ($sslout =~ /(\d+)\.(\d+)\.(\d+)(\D)/m)
|
||||
- {
|
||||
- return ($1, $2, $3);
|
||||
- }
|
||||
+ #if ($sslout =~ /(\d+)\.(\d+)\.(\d+)(\D)/m)
|
||||
+ #{
|
||||
+ return (1, 1, 1);
|
||||
+ #}
|
||||
|
||||
- croak
|
||||
- "Unable to determine OpenSSL version: The openssl.exe version could not be determined.";
|
||||
+ #croak
|
||||
+ # "Unable to determine OpenSSL version: The openssl.exe version could not be determined.";
|
||||
}
|
||||
|
||||
sub GenerateFiles
|
||||
223
externals/vcpkg/ports/libpq/patches/windows/install.patch
vendored
Executable file
223
externals/vcpkg/ports/libpq/patches/windows/install.patch
vendored
Executable file
@@ -0,0 +1,223 @@
|
||||
diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm
|
||||
index d109b2c90..75c7446e6 100644
|
||||
--- a/src/tools/msvc/Install.pm
|
||||
+++ b/src/tools/msvc/Install.pm
|
||||
@@ -89,10 +89,10 @@ sub Install
|
||||
my $majorver = DetermineMajorVersion();
|
||||
print "Installing version $majorver for $conf in $target\n";
|
||||
|
||||
- my @client_dirs = ('bin', 'lib', 'share', 'symbols');
|
||||
+ my @client_dirs = ('bin', 'lib', 'share', 'tools', 'share/libpq', 'tools/libpq');
|
||||
my @all_dirs = (
|
||||
- @client_dirs, 'doc', 'doc/contrib', 'doc/extension', 'share/contrib',
|
||||
- 'share/extension', 'share/timezonesets', 'share/tsearch_data');
|
||||
+ @client_dirs, 'doc', 'doc/libpq', 'doc/libpq/contrib', 'doc/libpq/extension', 'share/libpq/contrib',
|
||||
+ 'share/libpq/extension', 'share/libpq/timezonesets', 'share/libpq/tsearch_data');
|
||||
if ($insttype eq "client")
|
||||
{
|
||||
EnsureDirectories($target, @client_dirs);
|
||||
@@ -117,7 +117,7 @@ sub Install
|
||||
}
|
||||
},
|
||||
@top_dir);
|
||||
- CopySetOfFiles('config files', $sample_files, $target . '/share/');
|
||||
+ CopySetOfFiles('config files', $sample_files, $target . '/share/libpq/');
|
||||
CopyFiles(
|
||||
'Import libraries',
|
||||
$target . '/lib/',
|
||||
@@ -131,35 +131,35 @@ sub Install
|
||||
CopySetOfFiles(
|
||||
'timezone names',
|
||||
[ glob('src\timezone\tznames\*.txt') ],
|
||||
- $target . '/share/timezonesets/');
|
||||
+ $target . '/share/libpq/timezonesets/');
|
||||
CopyFiles(
|
||||
'timezone sets',
|
||||
- $target . '/share/timezonesets/',
|
||||
+ $target . '/share/libpq/timezonesets/',
|
||||
'src/timezone/tznames/', 'Default', 'Australia', 'India');
|
||||
CopySetOfFiles(
|
||||
'BKI files',
|
||||
[ glob("src\\backend\\catalog\\postgres.*") ],
|
||||
- $target . '/share/');
|
||||
+ $target . '/share/libpq/');
|
||||
CopySetOfFiles(
|
||||
'SQL files',
|
||||
[ glob("src\\backend\\catalog\\*.sql") ],
|
||||
- $target . '/share/');
|
||||
+ $target . '/share/libpq/');
|
||||
CopyFiles(
|
||||
- 'Information schema data', $target . '/share/',
|
||||
+ 'Information schema data', $target . '/share/libpq/',
|
||||
'src/backend/catalog/', 'sql_features.txt');
|
||||
CopyFiles(
|
||||
- 'Error code data', $target . '/share/',
|
||||
+ 'Error code data', $target . '/share/libpq/',
|
||||
'src/backend/utils/', 'errcodes.txt');
|
||||
GenerateTimezoneFiles($target, $conf);
|
||||
GenerateTsearchFiles($target);
|
||||
CopySetOfFiles(
|
||||
'Stopword files',
|
||||
[ glob("src\\backend\\snowball\\stopwords\\*.stop") ],
|
||||
- $target . '/share/tsearch_data/');
|
||||
+ $target . '/share/libpq/tsearch_data/');
|
||||
CopySetOfFiles(
|
||||
'Dictionaries sample files',
|
||||
[ glob("src\\backend\\tsearch\\dicts\\*_sample*") ],
|
||||
- $target . '/share/tsearch_data/');
|
||||
+ $target . '/share/libpq/tsearch_data/');
|
||||
|
||||
my $pl_extension_files = [];
|
||||
my @pldirs = ('src/pl/plpgsql/src');
|
||||
@@ -178,7 +178,7 @@ sub Install
|
||||
},
|
||||
@pldirs);
|
||||
CopySetOfFiles('PL Extension files',
|
||||
- $pl_extension_files, $target . '/share/extension/');
|
||||
+ $pl_extension_files, $target . '/share/libpq/extension/');
|
||||
}
|
||||
|
||||
GenerateNLSFiles($target, $config->{nls}, $majorver) if ($config->{nls});
|
||||
@@ -293,23 +293,26 @@ sub CopySolutionOutput
|
||||
{
|
||||
if ($1 == 1)
|
||||
{
|
||||
- push(@{ $install_list{'bin'} }, "exe");
|
||||
+ push(@{ $install_list{'tools\\libpq'} }, "exe");
|
||||
}
|
||||
elsif ($1 == 2)
|
||||
{
|
||||
- push(@{ $install_list{'lib'} }, "dll");
|
||||
+ push(@{ $install_list{'bin'} }, "dll");
|
||||
if ($is_sharedlib)
|
||||
{
|
||||
push(@{ $install_list{'bin'} }, "dll");
|
||||
push(@{ $install_list{'lib'} }, "lib");
|
||||
}
|
||||
+ else
|
||||
+ {
|
||||
+ push(@{ $install_list{'lib'} }, "lib");
|
||||
+ }
|
||||
}
|
||||
else
|
||||
{
|
||||
-
|
||||
+ push(@{ $install_list{'lib'} }, "lib");
|
||||
# Static libraries, such as libpgport, only used internally
|
||||
# during build, don't install.
|
||||
- next;
|
||||
}
|
||||
}
|
||||
elsif ($vcproj eq 'vcxproj'
|
||||
@@ -320,11 +320,11 @@ sub CopySolutionOutput
|
||||
{
|
||||
if ($1 eq 'Application')
|
||||
{
|
||||
- push(@{ $install_list{'bin'} }, "exe");
|
||||
+ push(@{ $install_list{'tools\\libpq'} }, "exe");
|
||||
}
|
||||
elsif ($1 eq 'DynamicLibrary')
|
||||
{
|
||||
- push(@{ $install_list{'lib'} }, "dll");
|
||||
+ push(@{ $install_list{'bin'} }, "dll");
|
||||
if ($is_sharedlib)
|
||||
{
|
||||
push(@{ $install_list{'bin'} }, "dll");
|
||||
@@ -333,10 +333,9 @@ sub CopySolutionOutput
|
||||
}
|
||||
else # 'StaticLibrary'
|
||||
{
|
||||
-
|
||||
+ push(@{ $install_list{'lib'} }, "lib");
|
||||
# Static lib, such as libpgport, only used internally
|
||||
# during build, don't install.
|
||||
- next;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -352,7 +352,7 @@ sub CopySolutionOutput
|
||||
|| croak "Could not copy $pf.$ext\n";
|
||||
}
|
||||
}
|
||||
- lcopy("$conf\\$pf\\$pf.pdb", "$target\\symbols\\$pf.pdb")
|
||||
+ lcopy("$conf\\$pf\\$pf.pdb", "$target\\bin\\$pf.pdb")
|
||||
|| croak "Could not copy $pf.pdb\n";
|
||||
print ".";
|
||||
}
|
||||
@@ -374,5 +374,5 @@ sub GenerateTimezoneFiles
|
||||
print "Generating timezone files...";
|
||||
|
||||
- my @args = ("$conf/zic/zic", '-d', "$target/share/timezone");
|
||||
+ my @args = ("$conf/zic/zic", '-d', "$target/share/libpq/timezone");
|
||||
foreach (@tzfiles)
|
||||
{
|
||||
@@ -398,7 +398,7 @@ sub GenerateTsearchFiles
|
||||
$mf =~ /^LANGUAGES\s*=\s*(.*)$/m
|
||||
|| die "Could not find LANGUAGES line in snowball Makefile\n";
|
||||
my @pieces = split /\s+/, $1;
|
||||
- open($F, '>', "$target/share/snowball_create.sql")
|
||||
+ open($F, '>', "$target/share/libpq/snowball_create.sql")
|
||||
|| die "Could not write snowball_create.sql";
|
||||
print $F read_file('src/backend/snowball/snowball_func.sql.in');
|
||||
|
||||
@@ -483,7 +483,7 @@ sub CopySubdirFiles
|
||||
foreach my $f (split /\s+/, $flist)
|
||||
{
|
||||
lcopy("$subdir/$module/$f.control",
|
||||
- "$target/share/extension/$f.control")
|
||||
+ "$target/share/libpq/extension/$f.control")
|
||||
|| croak("Could not copy file $f.control in contrib $module");
|
||||
print '.';
|
||||
}
|
||||
@@ -501,7 +501,7 @@ sub CopySubdirFiles
|
||||
foreach my $f (split /\s+/, $flist)
|
||||
{
|
||||
lcopy("$subdir/$module/$f",
|
||||
- "$target/share/$moduledir/" . basename($f))
|
||||
+ "$target/share/libpq/$moduledir/" . basename($f))
|
||||
|| croak("Could not copy file $f in contrib $module");
|
||||
print '.';
|
||||
}
|
||||
@@ -516,7 +516,7 @@ sub CopySubdirFiles
|
||||
foreach my $f (split /\s+/, $flist)
|
||||
{
|
||||
lcopy("$subdir/$module/$f",
|
||||
- "$target/share/tsearch_data/" . basename($f))
|
||||
+ "$target/share/libpq/tsearch_data/" . basename($f))
|
||||
|| croak("Could not copy file $f in $subdir $module");
|
||||
print '.';
|
||||
}
|
||||
@@ -579,7 +579,7 @@ sub CopySubdirFiles
|
||||
if ($module eq 'spi');
|
||||
foreach my $f (split /\s+/, $flist)
|
||||
{
|
||||
- lcopy("$subdir/$module/$f", "$target/doc/$moduledir/$f")
|
||||
+ lcopy("$subdir/$module/$f", "$target/doc/libpq/$moduledir/$f")
|
||||
|| croak("Could not copy file $f in contrib $module");
|
||||
print '.';
|
||||
}
|
||||
@@ -708,7 +708,7 @@ sub GenerateNLSFiles
|
||||
my $majorver = shift;
|
||||
|
||||
print "Installing NLS files...";
|
||||
- EnsureDirectories($target, "share/locale");
|
||||
+ EnsureDirectories($target, "share/libpq/locale");
|
||||
my @flist;
|
||||
File::Find::find(
|
||||
{
|
||||
@@ -730,12 +730,12 @@ sub GenerateNLSFiles
|
||||
next unless /([^\/]+)\.po/;
|
||||
$lang = $1;
|
||||
|
||||
- EnsureDirectories($target, "share/locale/$lang",
|
||||
- "share/locale/$lang/LC_MESSAGES");
|
||||
+ EnsureDirectories($target, "share/libpq/locale/$lang",
|
||||
+ "share/libpq/locale/$lang/LC_MESSAGES");
|
||||
my @args = (
|
||||
"$nlspath\\bin\\msgfmt",
|
||||
'-o',
|
||||
- "$target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo",
|
||||
+ "$target\\share\\libpq\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo",
|
||||
$_);
|
||||
system(@args) && croak("Could not run msgfmt on $dir\\$_");
|
||||
print ".";
|
||||
35
externals/vcpkg/ports/libpq/patches/windows/minimize_install.patch
vendored
Executable file
35
externals/vcpkg/ports/libpq/patches/windows/minimize_install.patch
vendored
Executable file
@@ -0,0 +1,35 @@
|
||||
diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm
|
||||
index d109b2c90..75c7446e6 100644
|
||||
--- a/src/tools/msvc/Install.pm
|
||||
+++ b/src/tools/msvc/Install.pm
|
||||
@@ -22,13 +22,13 @@ our (@ISA, @EXPORT_OK);
|
||||
|
||||
my $insttype;
|
||||
my @client_contribs = ('oid2name', 'pgbench', 'vacuumlo');
|
||||
-my @client_program_files = (
|
||||
- 'clusterdb', 'createdb', 'createuser', 'dropdb',
|
||||
- 'dropuser', 'ecpg', 'libecpg', 'libecpg_compat',
|
||||
- 'libpgtypes', 'libpq', 'pg_amcheck', 'pg_basebackup',
|
||||
- 'pg_config', 'pg_dump', 'pg_dumpall', 'pg_isready',
|
||||
- 'pg_receivewal', 'pg_recvlogical', 'pg_restore', 'psql',
|
||||
- 'reindexdb', 'vacuumdb', @client_contribs);
|
||||
+my @client_program_files = ( 'libecpg','libecpg_compat', 'libpgtypes', 'libpq' );
|
||||
+ #'clusterdb', 'createdb', 'createuser', 'dropdb',
|
||||
+ #'dropuser', 'ecpg', 'libecpg', 'libecpg_compat',
|
||||
+ #'libpgtypes', 'libpq', 'pg_amcheck', 'pg_basebackup',
|
||||
+ #'pg_config', 'pg_dump', 'pg_dumpall', 'pg_isready',
|
||||
+ #'pg_receivewal', 'pg_recvlogical', 'pg_restore', 'psql',
|
||||
+ #'reindexdb', 'vacuumdb', @client_contribs);
|
||||
|
||||
sub lcopy
|
||||
{
|
||||
@@ -121,7 +121,7 @@ sub Install
|
||||
CopyFiles(
|
||||
'Import libraries',
|
||||
$target . '/lib/',
|
||||
- "$conf\\", "postgres\\postgres.lib", "libpgcommon\\libpgcommon.lib",
|
||||
+ "$conf\\", "libpgcommon\\libpgcommon.lib",
|
||||
"libpgport\\libpgport.lib");
|
||||
CopyContribFiles($config, $target);
|
||||
CopyIncludeFiles($target);
|
||||
|
||||
13
externals/vcpkg/ports/libpq/patches/windows/msgfmt.patch
vendored
Executable file
13
externals/vcpkg/ports/libpq/patches/windows/msgfmt.patch
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm
|
||||
index 66c0c3483..2154c6cf6 100644
|
||||
--- a/src/tools/msvc/Install.pm
|
||||
+++ b/src/tools/msvc/Install.pm
|
||||
@@ -733,7 +733,7 @@ sub GenerateNLSFiles
|
||||
EnsureDirectories($target, "share/libpq/locale/$lang",
|
||||
"share/libpq/locale/$lang/LC_MESSAGES");
|
||||
my @args = (
|
||||
- "$nlspath\\bin\\msgfmt",
|
||||
+ "msgfmt.exe",
|
||||
'-o',
|
||||
"$target\\share\\libpq\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo",
|
||||
$_);
|
||||
13
externals/vcpkg/ports/libpq/patches/windows/openssl_exe_path.patch
vendored
Executable file
13
externals/vcpkg/ports/libpq/patches/windows/openssl_exe_path.patch
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
|
||||
index 51711c2bf..d33fdc3b0 100644
|
||||
--- a/src/tools/msvc/Solution.pm
|
||||
+++ b/src/tools/msvc/Solution.pm
|
||||
@@ -129,7 +129,7 @@ sub GetOpenSSLVersion
|
||||
# openssl.exe is in the specified directory.
|
||||
# Quote the .exe name in case it has spaces
|
||||
my $opensslcmd =
|
||||
- qq("$self->{options}->{openssl}\\bin\\openssl.exe" version 2>&1);
|
||||
+ qq("openssl.exe" version 2>&1);
|
||||
my $sslout = `$opensslcmd`;
|
||||
|
||||
$? >> 8 == 0
|
||||
40
externals/vcpkg/ports/libpq/patches/windows/python3_build_DEBUG.patch
vendored
Executable file
40
externals/vcpkg/ports/libpq/patches/windows/python3_build_DEBUG.patch
vendored
Executable file
@@ -0,0 +1,40 @@
|
||||
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
|
||||
index 99f39caa5..21b5559d6 100644
|
||||
--- a/src/tools/msvc/Mkvcbuild.pm
|
||||
+++ b/src/tools/msvc/Mkvcbuild.pm
|
||||
@@ -494,14 +494,15 @@ sub mkvcbuild
|
||||
|
||||
# Attempt to get python version and location.
|
||||
# Assume python.exe in specified dir.
|
||||
- my $pythonprog = "import sys;print(sys.prefix);"
|
||||
- . "print(str(sys.version_info[0])+str(sys.version_info[1]))";
|
||||
- my $prefixcmd =
|
||||
- qq("$solution->{options}->{python}\\python" -c "$pythonprog");
|
||||
- my $pyout = `$prefixcmd`;
|
||||
- die "Could not query for python version!\n" if $?;
|
||||
- my ($pyprefix, $pyver) = split(/\r?\n/, $pyout);
|
||||
-
|
||||
+ #my $pythonprog = "import sys;print(sys.prefix);"
|
||||
+ # . "print(str(sys.version_info[0])+str(sys.version_info[1]))";
|
||||
+ #my $prefixcmd =
|
||||
+ # qq("$solution->{options}->{python}\\python" -c "$pythonprog");
|
||||
+ #my $pyout = `$prefixcmd`;
|
||||
+ #die "Could not query for python version!\n" if $?;
|
||||
+ #my ($pyprefix, $pyver) = split(/\r?\n/, $pyout);
|
||||
+ my $pyprefix = $solution->{options}->{python};
|
||||
+ my $pyver = 310;
|
||||
# Sometimes (always?) if python is not present, the execution
|
||||
# appears to work, but gives no data...
|
||||
die "Failed to query python for version information\n"
|
||||
@@ -510,8 +511,9 @@ sub mkvcbuild
|
||||
my $pymajorver = substr($pyver, 0, 1);
|
||||
my $plpython = $solution->AddProject('plpython' . $pymajorver,
|
||||
'dll', 'PLs', 'src/pl/plpython');
|
||||
- $plpython->AddIncludeDir($pyprefix . '/include');
|
||||
- $plpython->AddLibrary($pyprefix . "/Libs/python$pyver.lib");
|
||||
+ $plpython->AddIncludeDir($pyprefix . '/include/python3.10');
|
||||
+ $plpython->AddDefine('_DEBUG'); # required for python autolink linking correctly!
|
||||
+ $plpython->AddLibrary($pyprefix . "/debug/lib/python$pyver" . "_d.lib");
|
||||
$plpython->AddReference($postgres);
|
||||
|
||||
# Add transform modules dependent on plpython
|
||||
39
externals/vcpkg/ports/libpq/patches/windows/python3_build_RELEASE.patch
vendored
Executable file
39
externals/vcpkg/ports/libpq/patches/windows/python3_build_RELEASE.patch
vendored
Executable file
@@ -0,0 +1,39 @@
|
||||
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
|
||||
index 99f39caa5..21b5559d6 100644
|
||||
--- a/src/tools/msvc/Mkvcbuild.pm
|
||||
+++ b/src/tools/msvc/Mkvcbuild.pm
|
||||
@@ -494,14 +494,15 @@ sub mkvcbuild
|
||||
|
||||
# Attempt to get python version and location.
|
||||
# Assume python.exe in specified dir.
|
||||
- my $pythonprog = "import sys;print(sys.prefix);"
|
||||
- . "print(str(sys.version_info[0])+str(sys.version_info[1]))";
|
||||
- my $prefixcmd =
|
||||
- qq("$solution->{options}->{python}\\python" -c "$pythonprog");
|
||||
- my $pyout = `$prefixcmd`;
|
||||
- die "Could not query for python version!\n" if $?;
|
||||
- my ($pyprefix, $pyver) = split(/\r?\n/, $pyout);
|
||||
-
|
||||
+ #my $pythonprog = "import sys;print(sys.prefix);"
|
||||
+ # . "print(str(sys.version_info[0])+str(sys.version_info[1]))";
|
||||
+ #my $prefixcmd =
|
||||
+ # qq("$solution->{options}->{python}\\python" -c "$pythonprog");
|
||||
+ #my $pyout = `$prefixcmd`;
|
||||
+ #die "Could not query for python version!\n" if $?;
|
||||
+ #my ($pyprefix, $pyver) = split(/\r?\n/, $pyout);
|
||||
+ my $pyprefix = $solution->{options}->{python};
|
||||
+ my $pyver = 310;
|
||||
# Sometimes (always?) if python is not present, the execution
|
||||
# appears to work, but gives no data...
|
||||
die "Failed to query python for version information\n"
|
||||
@@ -510,8 +511,8 @@ sub mkvcbuild
|
||||
my $pymajorver = substr($pyver, 0, 1);
|
||||
my $plpython = $solution->AddProject('plpython' . $pymajorver,
|
||||
'dll', 'PLs', 'src/pl/plpython');
|
||||
- $plpython->AddIncludeDir($pyprefix . '/include');
|
||||
- $plpython->AddLibrary($pyprefix . "/Libs/python$pyver.lib");
|
||||
+ $plpython->AddIncludeDir($pyprefix . '/include/python3.10');
|
||||
+ $plpython->AddLibrary($pyprefix . "/lib/python$pyver.lib");
|
||||
$plpython->AddReference($postgres);
|
||||
|
||||
# Add transform modules dependent on plpython
|
||||
17
externals/vcpkg/ports/libpq/patches/windows/python_lib.patch
vendored
Executable file
17
externals/vcpkg/ports/libpq/patches/windows/python_lib.patch
vendored
Executable file
@@ -0,0 +1,17 @@
|
||||
diff --git a/src/pl/plpython/plpython.h b/src/pl/plpython/plpython.h
|
||||
index 3a1f0d56d..6a8a09a20 100644
|
||||
--- a/src/pl/plpython/plpython.h
|
||||
+++ b/src/pl/plpython/plpython.h
|
||||
@@ -45,12 +45,10 @@
|
||||
#if defined(_MSC_VER) && defined(_DEBUG)
|
||||
/* Python uses #pragma to bring in a non-default libpython on VC++ if
|
||||
* _DEBUG is defined */
|
||||
-#undef _DEBUG
|
||||
/* Also hide away errcode, since we load Python.h before postgres.h */
|
||||
#define errcode __msvc_errcode
|
||||
#include <Python.h>
|
||||
#undef errcode
|
||||
-#define _DEBUG
|
||||
#elif defined (_MSC_VER)
|
||||
#define errcode __msvc_errcode
|
||||
#include <Python.h>
|
||||
13
externals/vcpkg/ports/libpq/patches/windows/tcl_version.patch
vendored
Executable file
13
externals/vcpkg/ports/libpq/patches/windows/tcl_version.patch
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
|
||||
index e2fbe95..8c4f279 100644
|
||||
--- a/src/tools/msvc/Mkvcbuild.pm
|
||||
+++ b/src/tools/msvc/Mkvcbuild.pm
|
||||
@@ -226,7 +226,7 @@ sub mkvcbuild
|
||||
$pltcl->AddIncludeDir($solution->{options}->{tcl} . '/include');
|
||||
$pltcl->AddReference($postgres);
|
||||
|
||||
- for my $tclver (qw(86t 86 85 84))
|
||||
+ for my $tclver (qw(90 90g 90s 90sg))
|
||||
{
|
||||
my $tcllib = $solution->{options}->{tcl} . "/lib/tcl$tclver.lib";
|
||||
if (-e $tcllib)
|
||||
43
externals/vcpkg/ports/libpq/patches/windows/win_bison_flex.patch
vendored
Executable file
43
externals/vcpkg/ports/libpq/patches/windows/win_bison_flex.patch
vendored
Executable file
@@ -0,0 +1,43 @@
|
||||
diff --git a/src/tools/msvc/pgflex.pl b/src/tools/msvc/pgflex.pl
|
||||
index aceed5ffd..f6ed215e8 100644
|
||||
--- a/src/tools/msvc/pgflex.pl
|
||||
+++ b/src/tools/msvc/pgflex.pl
|
||||
@@ -16,7 +16,7 @@ $ENV{CYGWIN} = 'nodosfilewarning';
|
||||
|
||||
do './src/tools/msvc/buildenv.pl' if -e 'src/tools/msvc/buildenv.pl';
|
||||
|
||||
-my ($flexver) = `flex -V`; # grab first line
|
||||
+my ($flexver) = `win_flex -V`; # grab first line
|
||||
$flexver = (split(/\s+/, $flexver))[1];
|
||||
$flexver =~ s/[^0-9.]//g;
|
||||
my @verparts = split(/\./, $flexver);
|
||||
@@ -52,7 +52,7 @@ close($mf);
|
||||
my $basetarg = basename($output);
|
||||
my $flexflags = ($make =~ /^$basetarg:\s*FLEXFLAGS\s*=\s*(\S.*)/m ? $1 : '');
|
||||
|
||||
-system("flex $flexflags -o$output $input");
|
||||
+system("win_flex $flexflags -o$output $input");
|
||||
if ($? == 0)
|
||||
{
|
||||
|
||||
diff --git a/src/tools/msvc/pgbison.pl b/src/tools/msvc/pgbison.pl
|
||||
index 895e398c0..f5b524a5d 100644
|
||||
--- a/src/tools/msvc/pgbison.pl
|
||||
+++ b/src/tools/msvc/pgbison.pl
|
||||
@@ -13,7 +13,7 @@ use File::Basename;
|
||||
|
||||
do './src/tools/msvc/buildenv.pl' if -e 'src/tools/msvc/buildenv.pl';
|
||||
|
||||
-my ($bisonver) = `bison -V`; # grab first line
|
||||
+my ($bisonver) = `win_bison -V`; # grab first line
|
||||
$bisonver = (split(/\s+/, $bisonver))[3]; # grab version number
|
||||
|
||||
unless ($bisonver eq '1.875' || $bisonver ge '2.2')
|
||||
@@ -51,5 +51,5 @@ close($mf);
|
||||
|
||||
my $nodep = $bisonver ge '3.0' ? "-Wno-deprecated" : "";
|
||||
|
||||
-system("bison $nodep $headerflag $input -o $output");
|
||||
+system("win_bison $nodep $headerflag $input -o $output");
|
||||
exit $? >> 8;
|
||||
|
||||
343
externals/vcpkg/ports/libpq/portfile.cmake
vendored
Executable file
343
externals/vcpkg/ports/libpq/portfile.cmake
vendored
Executable file
@@ -0,0 +1,343 @@
|
||||
set(PORT_VERSION 14.1)
|
||||
# NOTE: the python patches must be regenerated on version update
|
||||
|
||||
## Download and extract sources
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
URLS "https://ftp.postgresql.org/pub/source/v${PORT_VERSION}/postgresql-${PORT_VERSION}.tar.bz2"
|
||||
FILENAME "postgresql-${PORT_VERSION}.tar.bz2"
|
||||
SHA512 4a0bec157d5464bb9e5f5c0eb0efdede55526e03f6f4d660b87d161a47705eb152fa0878960b1581bce42a5ed28a1f457825ea54e8d22e34b5b8eb36473ceefd
|
||||
)
|
||||
|
||||
set(PATCHES
|
||||
patches/windows/install.patch
|
||||
patches/windows/win_bison_flex.patch
|
||||
patches/windows/openssl_exe_path.patch
|
||||
patches/windows/Solution.patch
|
||||
patches/windows/MSBuildProject_fix_gendef_perl.patch
|
||||
patches/windows/msgfmt.patch
|
||||
patches/windows/python_lib.patch
|
||||
patches/windows/fix-compile-flag-Zi.patch
|
||||
patches/windows/tcl_version.patch
|
||||
patches/fix-configure.patch
|
||||
)
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
list(APPEND PATCHES patches/windows/MSBuildProject-static-lib.patch)
|
||||
list(APPEND PATCHES patches/windows/Mkvcbuild-static-lib.patch)
|
||||
endif()
|
||||
if(VCPKG_CRT_LINKAGE STREQUAL "static")
|
||||
list(APPEND PATCHES patches/windows/MSBuildProject-static-crt.patch)
|
||||
endif()
|
||||
if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm")
|
||||
list(APPEND PATCHES patches/windows/arm.patch)
|
||||
list(APPEND PATCHES patches/windows/host_skip_openssl.patch) # Skip openssl.exe version check since it cannot be executed by the host
|
||||
endif()
|
||||
if(NOT "${FEATURES}" MATCHES "client")
|
||||
list(APPEND PATCHES patches/windows/minimize_install.patch)
|
||||
else()
|
||||
set(HAS_TOOLS TRUE)
|
||||
endif()
|
||||
vcpkg_extract_source_archive_ex(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
ARCHIVE "${ARCHIVE}"
|
||||
PATCHES ${PATCHES}
|
||||
)
|
||||
unset(buildenv_contents)
|
||||
# Get paths to required programs
|
||||
set(REQUIRED_PROGRAMS PERL)
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
list(APPEND REQUIRED_PROGRAMS BISON FLEX)
|
||||
endif()
|
||||
foreach(program_name ${REQUIRED_PROGRAMS})
|
||||
# Need to rename win_bison and win_flex to just bison and flex
|
||||
vcpkg_find_acquire_program(${program_name})
|
||||
get_filename_component(${program_name}_EXE_PATH ${${program_name}} DIRECTORY)
|
||||
vcpkg_add_to_path(PREPEND "${${program_name}_EXE_PATH}")
|
||||
set(buildenv_contents "${buildenv_contents}\n\$ENV{'PATH'}=\$ENV{'PATH'} . ';${${program_name}_EXE_PATH}';")
|
||||
endforeach()
|
||||
|
||||
## Setup build types
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE MATCHES "[Rr][Ee][Ll][Ee][Aa][Ss][Ee]")
|
||||
set(_buildtype RELEASE)
|
||||
set(_short rel)
|
||||
list(APPEND port_config_list ${_buildtype})
|
||||
set(INSTALL_PATH_SUFFIX_${_buildtype} "")
|
||||
set(BUILDPATH_${_buildtype} "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${_short}")
|
||||
file(REMOVE_RECURSE "${BUILDPATH_${_buildtype}}") #Clean old builds
|
||||
set(PACKAGE_DIR_${_buildtype} ${CURRENT_PACKAGES_DIR})
|
||||
unset(_short)
|
||||
unset(_buildtype)
|
||||
endif()
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE MATCHES "[Dd][Ee][Bb][Uu][Gg]")
|
||||
set(_buildtype DEBUG)
|
||||
set(_short dbg)
|
||||
list(APPEND port_config_list ${_buildtype})
|
||||
set(INSTALL_PATH_SUFFIX_${_buildtype} "/debug")
|
||||
set(BUILDPATH_${_buildtype} "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${_short}")
|
||||
file(REMOVE_RECURSE "${BUILDPATH_${_buildtype}}") #Clean old builds
|
||||
set(PACKAGE_DIR_${_buildtype} "${CURRENT_PACKAGES_DIR}${INSTALL_PATH_SUFFIX_${_buildtype}}")
|
||||
unset(_short)
|
||||
unset(_buildtype)
|
||||
endif()
|
||||
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
|
||||
## Do the build
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
file(GLOB SOURCE_FILES ${SOURCE_PATH}/*)
|
||||
foreach(_buildtype ${port_config_list})
|
||||
# Copy libpq sources.
|
||||
message(STATUS "Copying libpq source files to ${BUILDPATH_${_buildtype}}...")
|
||||
foreach(SOURCE_FILE ${SOURCE_FILES})
|
||||
file(COPY ${SOURCE_FILE} DESTINATION "${BUILDPATH_${_buildtype}}")
|
||||
endforeach()
|
||||
message(STATUS "Copying libpq source files... done")
|
||||
|
||||
vcpkg_apply_patches(
|
||||
SOURCE_PATH "${BUILDPATH_${_buildtype}}"
|
||||
PATCHES patches/windows/Solution_${_buildtype}.patch
|
||||
patches/windows/python3_build_${_buildtype}.patch
|
||||
)
|
||||
message(STATUS "Patches applied!")
|
||||
file(COPY "${CURRENT_PORT_DIR}/config.pl" DESTINATION "${BUILDPATH_${_buildtype}}/src/tools/msvc")
|
||||
|
||||
set(MSPROJ_PERL "${BUILDPATH_${_buildtype}}/src/tools/msvc/MSBuildProject.pm")
|
||||
file(READ "${MSPROJ_PERL}" _contents)
|
||||
string(REPLACE "perl" "\"${PERL}\"" _contents "${_contents}")
|
||||
file(WRITE "${MSPROJ_PERL}" "${_contents}")
|
||||
|
||||
set(CONFIG_FILE "${BUILDPATH_${_buildtype}}/src/tools/msvc/config.pl")
|
||||
file(READ "${CONFIG_FILE}" _contents)
|
||||
|
||||
## ldap => undef, # --with-ldap
|
||||
## extraver => undef, # --with-extra-version=<string>
|
||||
## gss => undef, # --with-gssapi=<path>
|
||||
## icu => undef, # --with-icu=<path> ##done
|
||||
## nls => undef, # --enable-nls=<path> ##done
|
||||
## tap_tests => undef, # --enable-tap-tests
|
||||
## tcl => undef, # --with-tcl=<path> #done
|
||||
## perl => undef, # --with-perl
|
||||
## python => undef, # --with-python=<path> ##done
|
||||
## openssl => undef, # --with-openssl=<path> ##done
|
||||
## uuid => undef, # --with-ossp-uuid
|
||||
## xml => undef, # --with-libxml=<path> ##done
|
||||
## xslt => undef, # --with-libxslt=<path> ##done
|
||||
## iconv => undef, # (not in configure, path to iconv) ##done (needed by xml)
|
||||
## zlib => undef # --with-zlib=<path> ##done
|
||||
|
||||
## Setup external dependencies
|
||||
##"-DFEATURES=core;openssl;zlib" "-DALL_FEATURES=openssl;zlib;readline;libedit;python;tcl;nls;systemd;llvm;icu;bonjour;uuid;xml;xslt;"
|
||||
if("${FEATURES}" MATCHES "icu")
|
||||
string(REPLACE "icu => undef" "icu => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}")
|
||||
endif()
|
||||
if("${FEATURES}" MATCHES "nls")
|
||||
string(REPLACE "nls => undef" "nls => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}")
|
||||
vcpkg_acquire_msys(MSYS_ROOT PACKAGES gettext)
|
||||
vcpkg_add_to_path("${MSYS_ROOT}/usr/bin")
|
||||
endif()
|
||||
if("${FEATURES}" MATCHES "openssl")
|
||||
set(buildenv_contents "${buildenv_contents}\n\$ENV{'PATH'}=\$ENV{'PATH'} . ';${CURRENT_INSTALLED_DIR}/tools/openssl';")
|
||||
#set(_contents "${_contents}\n\$ENV{PATH}=\$ENV{PATH} . ';${CURRENT_INSTALLED_DIR}/tools/openssl';")
|
||||
string(REPLACE "openssl => undef" "openssl => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}")
|
||||
endif()
|
||||
if("${FEATURES}" MATCHES "python")
|
||||
#vcpkg_find_acquire_program(PYTHON3)
|
||||
#get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY)
|
||||
#vcpkg_add_to_path("${PYTHON3_EXE_PATH}")
|
||||
string(REPLACE "python => undef" "python => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}")
|
||||
endif()
|
||||
if("${FEATURES}" MATCHES "tcl")
|
||||
string(REPLACE "tcl => undef" "tcl => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}")
|
||||
endif()
|
||||
if("${FEATURES}" MATCHES "xml")
|
||||
string(REPLACE "xml => undef" "xml => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}")
|
||||
string(REPLACE "iconv => undef" "iconv => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}")
|
||||
endif()
|
||||
if("${FEATURES}" MATCHES "xslt")
|
||||
string(REPLACE "xslt => undef" "xslt => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}")
|
||||
endif()
|
||||
if("${FEATURES}" MATCHES "zlib")
|
||||
string(REPLACE "zlib => undef" "zlib => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}")
|
||||
endif()
|
||||
if("${FEATURES}" MATCHES "lz4")
|
||||
string(REPLACE "lz4 => undef" "lz4 => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}")
|
||||
endif()
|
||||
|
||||
file(WRITE "${CONFIG_FILE}" "${_contents}")
|
||||
file(WRITE "${BUILDPATH_${_buildtype}}/src/tools/msvc/buildenv.pl" "${buildenv_contents}")
|
||||
vcpkg_get_windows_sdk(VCPKG_TARGET_PLATFORM_VERSION)
|
||||
set(ENV{MSBFLAGS} "/p:PlatformToolset=${VCPKG_PLATFORM_TOOLSET}
|
||||
/p:VCPkgLocalAppDataDisabled=true
|
||||
/p:UseIntelMKL=No
|
||||
/p:WindowsTargetPlatformVersion=${VCPKG_TARGET_PLATFORM_VERSION}
|
||||
/m
|
||||
/p:ForceImportBeforeCppTargets=\"${SCRIPTS}/buildsystems/msbuild/vcpkg.targets\"
|
||||
/p:VcpkgTriplet=${TARGET_TRIPLET}
|
||||
/p:VcpkgCurrentInstalledDir=\"${CURRENT_INSTALLED_DIR}\""
|
||||
)
|
||||
if(HAS_TOOLS)
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86)
|
||||
set(ENV{MSBFLAGS} "$ENV{MSBFLAGS} /p:Platform=Win32")
|
||||
endif()
|
||||
message(STATUS "Building libpq ${TARGET_TRIPLET}-${_buildtype}...")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${PERL} build.pl ${_buildtype}
|
||||
WORKING_DIRECTORY "${BUILDPATH_${_buildtype}}/src/tools/msvc"
|
||||
LOGNAME "build-${TARGET_TRIPLET}-${_buildtype}"
|
||||
)
|
||||
message(STATUS "Building libpq ${TARGET_TRIPLET}-${_buildtype}... done")
|
||||
else()
|
||||
set(build_libs libpq libecpg_compat)
|
||||
foreach(build_lib ${build_libs})
|
||||
message(STATUS "Building ${build_lib} ${TARGET_TRIPLET}-${_buildtype}...")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${PERL} build.pl ${_buildtype} ${build_lib}
|
||||
WORKING_DIRECTORY "${BUILDPATH_${_buildtype}}/src/tools/msvc"
|
||||
LOGNAME "build-${build_lib}-${TARGET_TRIPLET}-${_buildtype}"
|
||||
)
|
||||
message(STATUS "Building ${build_lib} ${TARGET_TRIPLET}-${_buildtype}... done")
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
message(STATUS "Installing libpq ${TARGET_TRIPLET}-${_buildtype}...")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${PERL} install.pl "${CURRENT_PACKAGES_DIR}${INSTALL_PATH_SUFFIX_${_buildtype}}" client
|
||||
WORKING_DIRECTORY "${BUILDPATH_${_buildtype}}/src/tools/msvc"
|
||||
LOGNAME "install-${TARGET_TRIPLET}-${_buildtype}"
|
||||
)
|
||||
message(STATUS "Installing libpq ${TARGET_TRIPLET}-${_buildtype}... done")
|
||||
endforeach()
|
||||
|
||||
|
||||
message(STATUS "Cleanup libpq ${TARGET_TRIPLET}...")
|
||||
#Cleanup
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/doc")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/tools")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/symbols")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/symbols")
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
|
||||
endif()
|
||||
|
||||
if(NOT HAS_TOOLS)
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools")
|
||||
else()
|
||||
vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}")
|
||||
endif()
|
||||
|
||||
message(STATUS "Cleanup libpq ${TARGET_TRIPLET}... - done")
|
||||
set(USE_DL OFF)
|
||||
else()
|
||||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/Makefile" DESTINATION "${SOURCE_PATH}")
|
||||
|
||||
if("nls" IN_LIST FEATURES)
|
||||
list(APPEND BUILD_OPTS --enable-nls)
|
||||
set(ENV{MSGFMT} "${CURRENT_HOST_INSTALLED_DIR}/tools/gettext/bin/msgfmt${VCPKG_HOST_EXECUTABLE_SUFFIX}")
|
||||
else()
|
||||
list(APPEND BUILD_OPTS --disable-nls)
|
||||
endif()
|
||||
if("openssl" IN_LIST FEATURES)
|
||||
list(APPEND BUILD_OPTS --with-openssl)
|
||||
else()
|
||||
list(APPEND BUILD_OPTS --without-openssl)
|
||||
endif()
|
||||
if("zlib" IN_LIST FEATURES)
|
||||
list(APPEND BUILD_OPTS --with-zlib)
|
||||
else()
|
||||
list(APPEND BUILD_OPTS --without-zlib)
|
||||
endif()
|
||||
if("icu" IN_LIST FEATURES)
|
||||
list(APPEND BUILD_OPTS --with-icu)
|
||||
else()
|
||||
list(APPEND BUILD_OPTS --without-icu)
|
||||
endif()
|
||||
if("lz4" IN_LIST FEATURES)
|
||||
list(APPEND BUILD_OPTS --with-lz4)
|
||||
else()
|
||||
list(APPEND BUILD_OPTS --without-lz4)
|
||||
endif()
|
||||
if("readline" IN_LIST FEATURES)
|
||||
list(APPEND BUILD_OPTS --with-readline)
|
||||
else()
|
||||
list(APPEND BUILD_OPTS --without-readline)
|
||||
endif()
|
||||
if("xml" IN_LIST FEATURES)
|
||||
list(APPEND BUILD_OPTS --with-libxml)
|
||||
else()
|
||||
list(APPEND BUILD_OPTS --without-libxml)
|
||||
endif()
|
||||
if("xslt" IN_LIST FEATURES)
|
||||
list(APPEND BUILD_OPTS --with-libxslt)
|
||||
else()
|
||||
list(APPEND BUILD_OPTS --without-libxslt)
|
||||
endif()
|
||||
if("python" IN_LIST FEATURES)
|
||||
list(APPEND BUILD_OPTS --with-python)
|
||||
else()
|
||||
list(APPEND BUILD_OPTS --without-python)
|
||||
endif()
|
||||
if(VCPKG_TARGET_IS_ANDROID) # AND CMAKE_SYSTEM_VERSION LESS 26)
|
||||
list(APPEND BUILD_OPTS ac_cv_header_langinfo_h=no)
|
||||
endif()
|
||||
if(VCPKG_OSX_SYSROOT)
|
||||
list(APPEND BUILD_OPTS "PG_SYSROOT=${VCPKG_OSX_SYSROOT}")
|
||||
endif()
|
||||
vcpkg_configure_make(
|
||||
AUTOCONFIG
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
COPY_SOURCE
|
||||
DETERMINE_BUILD_TRIPLET
|
||||
OPTIONS
|
||||
${BUILD_OPTS}
|
||||
OPTIONS_DEBUG
|
||||
--enable-debug
|
||||
)
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
set(ENV{LIBPQ_LIBRARY_TYPE} shared)
|
||||
else()
|
||||
set(ENV{LIBPQ_LIBRARY_TYPE} static)
|
||||
endif()
|
||||
if(VCPKG_TARGET_IS_MINGW)
|
||||
set(ENV{USING_MINGW} yes)
|
||||
endif()
|
||||
vcpkg_install_make()
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
if(NOT HAS_TOOLS)
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin")
|
||||
else()
|
||||
vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug")
|
||||
endif()
|
||||
if(VCPKG_TARGET_IS_MINGW AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin")
|
||||
file(RENAME "${CURRENT_PACKAGES_DIR}/lib/libpq.a" "${CURRENT_PACKAGES_DIR}/lib/libpq.dll.a")
|
||||
file(RENAME "${CURRENT_PACKAGES_DIR}/lib/libpq.dll" "${CURRENT_PACKAGES_DIR}/bin/libpq.dll")
|
||||
endif()
|
||||
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin")
|
||||
file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/libpq.a" "${CURRENT_PACKAGES_DIR}/debug/lib/libpq.dll.a")
|
||||
file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/libpq.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/libpq.dll")
|
||||
endif()
|
||||
endif()
|
||||
if(VCPKG_TARGET_IS_MINGW)
|
||||
set(USE_DL OFF)
|
||||
else()
|
||||
set(USE_DL ON)
|
||||
endif()
|
||||
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/postgresql/server/pg_config.h" "#define CONFIGURE_ARGS" "// #define CONFIGURE_ARGS")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/pg_config.h" "#define CONFIGURE_ARGS" "// #define CONFIGURE_ARGS")
|
||||
endif()
|
||||
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/postgresql/vcpkg-cmake-wrapper.cmake" @ONLY)
|
||||
file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
file(INSTALL "${SOURCE_PATH}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
vcpkg_fixup_pkgconfig()
|
||||
4
externals/vcpkg/ports/libpq/usage
vendored
Executable file
4
externals/vcpkg/ports/libpq/usage
vendored
Executable file
@@ -0,0 +1,4 @@
|
||||
The package libpq provides CMake integration:
|
||||
|
||||
find_package(PostgreSQL REQUIRED)
|
||||
target_link_libraries(main PRIVATE PostgreSQL::PostgreSQL)
|
||||
66
externals/vcpkg/ports/libpq/vcpkg-cmake-wrapper.cmake
vendored
Executable file
66
externals/vcpkg/ports/libpq/vcpkg-cmake-wrapper.cmake
vendored
Executable file
@@ -0,0 +1,66 @@
|
||||
# Give the CMake module a little bit of help to find the debug libraries
|
||||
find_library(PostgreSQL_LIBRARY_DEBUG
|
||||
NAMES pq
|
||||
PATHS
|
||||
"${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
_find_package(${ARGS})
|
||||
if(PostgreSQL_FOUND AND @USE_DL@)
|
||||
find_library(PostgreSQL_DL_LIBRARY NAMES dl)
|
||||
if(PostgreSQL_DL_LIBRARY)
|
||||
list(APPEND PostgreSQL_LIBRARIES "dl")
|
||||
if(TARGET PostgreSQL::PostgreSQL)
|
||||
set_property(TARGET PostgreSQL::PostgreSQL APPEND PROPERTY INTERFACE_LINK_LIBRARIES "dl")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
if(PostgreSQL_FOUND AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static")
|
||||
include(SelectLibraryConfigurations)
|
||||
foreach(LIB_ITEM libpgport libpgcommon pgport pgcommon)
|
||||
find_library(PostgreSQL_${LIB_ITEM}_LIBRARY_RELEASE
|
||||
NAMES ${LIB_ITEM}
|
||||
PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH
|
||||
)
|
||||
if(TARGET PostgreSQL::PostgreSQL AND PostgreSQL_${LIB_ITEM}_LIBRARY_RELEASE)
|
||||
set_property(
|
||||
TARGET PostgreSQL::PostgreSQL
|
||||
APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$<\$<NOT:\$<CONFIG:DEBUG>>:${PostgreSQL_${LIB_ITEM}_LIBRARY_RELEASE}>"
|
||||
)
|
||||
endif()
|
||||
|
||||
find_library(PostgreSQL_${LIB_ITEM}_LIBRARY_DEBUG
|
||||
NAMES ${LIB_ITEM}
|
||||
PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH
|
||||
)
|
||||
if(TARGET PostgreSQL::PostgreSQL AND PostgreSQL_${LIB_ITEM}_LIBRARY_DEBUG)
|
||||
set_property(
|
||||
TARGET PostgreSQL::PostgreSQL
|
||||
APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$<\$<CONFIG:DEBUG>:${PostgreSQL_${LIB_ITEM}_LIBRARY_DEBUG}>"
|
||||
)
|
||||
endif()
|
||||
|
||||
if (PostgreSQL_${LIB_ITEM}_LIBRARY_RELEASE OR PostgreSQL_${LIB_ITEM}_LIBRARY_DEBUG)
|
||||
select_library_configurations(PostgreSQL_${LIB_ITEM})
|
||||
list(APPEND PostgreSQL_LIBRARIES ${PostgreSQL_${LIB_ITEM}_LIBRARY})
|
||||
endif()
|
||||
endforeach()
|
||||
if(WIN32)
|
||||
if(TARGET PostgreSQL::PostgreSQL)
|
||||
set_property(TARGET PostgreSQL::PostgreSQL APPEND PROPERTY INTERFACE_LINK_LIBRARIES "Secur32.lib")
|
||||
endif()
|
||||
list(APPEND PostgreSQL_LIBRARIES Secur32.lib)
|
||||
endif()
|
||||
cmake_policy(PUSH)
|
||||
cmake_policy(SET CMP0057 NEW)
|
||||
set(Z_VCPKG_PORT_FEATURES "@FEATURES@")
|
||||
if("openssl" IN_LIST Z_VCPKG_PORT_FEATURES)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
if(TARGET PostgreSQL::PostgreSQL)
|
||||
set_property(TARGET PostgreSQL::PostgreSQL APPEND PROPERTY INTERFACE_LINK_LIBRARIES "OpenSSL::SSL")
|
||||
endif()
|
||||
list(APPEND PostgreSQL_LIBRARIES OpenSSL::SSL)
|
||||
endif()
|
||||
unset(Z_VCPKG_PORT_FEATURES)
|
||||
cmake_policy(POP)
|
||||
endif()
|
||||
125
externals/vcpkg/ports/libpq/vcpkg.json
vendored
Executable file
125
externals/vcpkg/ports/libpq/vcpkg.json
vendored
Executable file
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"name": "libpq",
|
||||
"version": "14.1",
|
||||
"port-version": 2,
|
||||
"description": "The official database access API of postgresql",
|
||||
"homepage": "https://www.postgresql.org/",
|
||||
"license": "PostgreSQL",
|
||||
"supports": "!uwp",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "libpq",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"bonjour"
|
||||
],
|
||||
"platform": "osx"
|
||||
}
|
||||
],
|
||||
"default-features": [
|
||||
"lz4",
|
||||
"openssl",
|
||||
"zlib"
|
||||
],
|
||||
"features": {
|
||||
"bonjour": {
|
||||
"description": "Build with Bonjour support (--with-bonjour)",
|
||||
"supports": "osx"
|
||||
},
|
||||
"client": {
|
||||
"description": "Build all client tools and libraries (dynamic only?)",
|
||||
"supports": "!(windows & !mingw & static)"
|
||||
},
|
||||
"icu": {
|
||||
"description": "Build with support for the ICU library (--with-icu)",
|
||||
"dependencies": [
|
||||
"icu"
|
||||
]
|
||||
},
|
||||
"lz4": {
|
||||
"description": "Use lz4 (else --without-lz4)",
|
||||
"dependencies": [
|
||||
"lz4"
|
||||
]
|
||||
},
|
||||
"nls": {
|
||||
"description": "Native Language Support (--enable-nls[=LANGUAGES])",
|
||||
"dependencies": [
|
||||
"gettext",
|
||||
{
|
||||
"name": "gettext",
|
||||
"host": true,
|
||||
"features": [
|
||||
"tools"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"openssl": {
|
||||
"description": "support for encrypted client connections and random number generation on platforms that do not have \"/dev/urandom\" (except windows) (--with-openssl)",
|
||||
"dependencies": [
|
||||
"openssl"
|
||||
]
|
||||
},
|
||||
"python": {
|
||||
"description": "build the PL/Python server programming language (dynamic only?) (--with-python)",
|
||||
"supports": "!(windows & (static | mingw))",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "libpq",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"client"
|
||||
]
|
||||
},
|
||||
"python3"
|
||||
]
|
||||
},
|
||||
"readline": {
|
||||
"description": "Use readline (else --without-readline)",
|
||||
"supports": "!windows, mingw",
|
||||
"dependencies": [
|
||||
"readline"
|
||||
]
|
||||
},
|
||||
"tcl": {
|
||||
"description": "build the PL/Tcl procedural language(dynamic only?) (--with-tcl)",
|
||||
"supports": "!(windows & (static | mingw))",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "libpq",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"client"
|
||||
]
|
||||
},
|
||||
"tcl"
|
||||
]
|
||||
},
|
||||
"xml": {
|
||||
"description": "Build with libxml (--with-libxml)",
|
||||
"dependencies": [
|
||||
"libxml2"
|
||||
]
|
||||
},
|
||||
"xslt": {
|
||||
"description": "Build with libxslt (--with-libxslt)",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "libpq",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"xml"
|
||||
]
|
||||
},
|
||||
"libxslt"
|
||||
]
|
||||
},
|
||||
"zlib": {
|
||||
"description": "Use zlib (else --without-zlib)",
|
||||
"dependencies": [
|
||||
"zlib"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user