diff options
author | Michael Paquier | 2021-05-11 01:43:05 +0000 |
---|---|---|
committer | Michael Paquier | 2021-05-11 01:43:05 +0000 |
commit | 9ca40dcd4d0cad43d95a9a253fafaa9a9ba7de24 (patch) | |
tree | e932ede76cffbade7cbb43c2528377878f15ec24 | |
parent | 049e1e2edb06854d7cd9460c22516efaa165fbf8 (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.sgml | 10 | ||||
-rw-r--r-- | src/tools/msvc/Solution.pm | 12 | ||||
-rw-r--r-- | src/tools/msvc/config_default.pl | 1 |
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> |