summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Paquier2021-05-11 01:43:05 +0000
committerMichael Paquier2021-05-11 01:43:05 +0000
commit9ca40dcd4d0cad43d95a9a253fafaa9a9ba7de24 (patch)
treee932ede76cffbade7cbb43c2528377878f15ec24
parent049e1e2edb06854d7cd9460c22516efaa165fbf8 (diff)
Add support for LZ4 build in MSVC scripts
Since its introduction in bbe0a81, compression of table data supports LZ4, but nothing had been done within the MSVC scripts to allow users to build the code with this library. This commit closes the gap by extending the MSVC scripts to be able to build optionally with LZ4. Getting libraries that can be used for compilation and execution is possible as LZ4 can be compiled down to MSVC 2010 using its source tarball. MinGW may require extra efforts to be able to work, and I have been able to test this only with MSVC, still this is better than nothing to give users a way to test the feature on Windows. Author: Dilip Kumar Reviewed-by: Michael Paquier Discussion: https://postgr.es/m/[email protected]
-rw-r--r--doc/src/sgml/install-windows.sgml10
-rw-r--r--src/tools/msvc/Solution.pm12
-rw-r--r--src/tools/msvc/config_default.pl1
3 files changed, 23 insertions, 0 deletions
diff --git a/doc/src/sgml/install-windows.sgml b/doc/src/sgml/install-windows.sgml
index 64687b12e6..92087dba68 100644
--- a/doc/src/sgml/install-windows.sgml
+++ b/doc/src/sgml/install-windows.sgml
@@ -305,6 +305,16 @@ $ENV{MSBFLAGS}="/m";
</varlistentry>
<varlistentry>
+ <term><productname>LZ4</productname></term>
+ <listitem><para>
+ Required for supporting <productname>LZ4</productname> compression
+ method for compressing the table data. Binaries and source can be
+ downloaded from
+ <ulink url="https://github.com/lz4/lz4/releases"></ulink>.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><productname>OpenSSL</productname></term>
<listitem><para>
Required for SSL support. Binaries can be downloaded from
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index 459579d312..85af28fe0b 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -535,6 +535,12 @@ sub GenerateFiles
$define{HAVE_LIBXSLT} = 1;
$define{USE_LIBXSLT} = 1;
}
+ if ($self->{options}->{lz4})
+ {
+ $define{HAVE_LIBLZ4} = 1;
+ $define{HAVE_LZ4_H} = 1;
+ $define{USE_LZ4} = 1;
+ }
if ($self->{options}->{openssl})
{
$define{USE_OPENSSL} = 1;
@@ -1054,6 +1060,11 @@ sub AddProject
$proj->AddIncludeDir($self->{options}->{xslt} . '\include');
$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');
+ }
if ($self->{options}->{uuid})
{
$proj->AddIncludeDir($self->{options}->{uuid} . '\include');
@@ -1165,6 +1176,7 @@ sub GetFakeConfigure
$cfg .= ' --with-uuid' if ($self->{options}->{uuid});
$cfg .= ' --with-libxml' if ($self->{options}->{xml});
$cfg .= ' --with-libxslt' if ($self->{options}->{xslt});
+ $cfg .= ' --with-lz4' if ($self->{options}->{lz4});
$cfg .= ' --with-gssapi' if ($self->{options}->{gss});
$cfg .= ' --with-icu' if ($self->{options}->{icu});
$cfg .= ' --with-tcl' if ($self->{options}->{tcl});
diff --git a/src/tools/msvc/config_default.pl b/src/tools/msvc/config_default.pl
index 256878f582..460c0375d4 100644
--- a/src/tools/msvc/config_default.pl
+++ b/src/tools/msvc/config_default.pl
@@ -14,6 +14,7 @@ our $config = {
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>