mirror of
https://github.com/postgres/postgres.git
synced 2025-04-22 23:02:54 +03:00
Add support for building with ZSTD.
This commit doesn't actually add anything that uses ZSTD; that will be done separately. It just puts the basic infrastructure into place. Jeevan Ladhe, Robert Haas, and Michael Paquier. Reviewed by Justin Pryzby and Andres Freund. Discussion: http://postgr.es/m/CA+TgmoatQKGd+8SjcV+bzvw4XaoEwminHjU83yG12+NXtQzTTQ@mail.gmail.com
This commit is contained in:
parent
2e372869aa
commit
6c417bbcc8
265
configure
vendored
265
configure
vendored
@ -650,6 +650,7 @@ CFLAGS_ARMV8_CRC32C
|
|||||||
CFLAGS_SSE42
|
CFLAGS_SSE42
|
||||||
have_win32_dbghelp
|
have_win32_dbghelp
|
||||||
LIBOBJS
|
LIBOBJS
|
||||||
|
ZSTD
|
||||||
LZ4
|
LZ4
|
||||||
UUID_LIBS
|
UUID_LIBS
|
||||||
LDAP_LIBS_BE
|
LDAP_LIBS_BE
|
||||||
@ -700,6 +701,9 @@ with_gnu_ld
|
|||||||
LD
|
LD
|
||||||
LDFLAGS_SL
|
LDFLAGS_SL
|
||||||
LDFLAGS_EX
|
LDFLAGS_EX
|
||||||
|
ZSTD_LIBS
|
||||||
|
ZSTD_CFLAGS
|
||||||
|
with_zstd
|
||||||
LZ4_LIBS
|
LZ4_LIBS
|
||||||
LZ4_CFLAGS
|
LZ4_CFLAGS
|
||||||
with_lz4
|
with_lz4
|
||||||
@ -869,6 +873,7 @@ with_libxslt
|
|||||||
with_system_tzdata
|
with_system_tzdata
|
||||||
with_zlib
|
with_zlib
|
||||||
with_lz4
|
with_lz4
|
||||||
|
with_zstd
|
||||||
with_gnu_ld
|
with_gnu_ld
|
||||||
with_ssl
|
with_ssl
|
||||||
with_openssl
|
with_openssl
|
||||||
@ -898,6 +903,8 @@ XML2_CFLAGS
|
|||||||
XML2_LIBS
|
XML2_LIBS
|
||||||
LZ4_CFLAGS
|
LZ4_CFLAGS
|
||||||
LZ4_LIBS
|
LZ4_LIBS
|
||||||
|
ZSTD_CFLAGS
|
||||||
|
ZSTD_LIBS
|
||||||
LDFLAGS_EX
|
LDFLAGS_EX
|
||||||
LDFLAGS_SL
|
LDFLAGS_SL
|
||||||
PERL
|
PERL
|
||||||
@ -1577,6 +1584,7 @@ Optional Packages:
|
|||||||
use system time zone data in DIR
|
use system time zone data in DIR
|
||||||
--without-zlib do not use Zlib
|
--without-zlib do not use Zlib
|
||||||
--with-lz4 build with LZ4 support
|
--with-lz4 build with LZ4 support
|
||||||
|
--with-zstd build with ZSTD support
|
||||||
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
|
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
|
||||||
--with-ssl=LIB use LIB for SSL/TLS support (openssl)
|
--with-ssl=LIB use LIB for SSL/TLS support (openssl)
|
||||||
--with-openssl obsolete spelling of --with-ssl=openssl
|
--with-openssl obsolete spelling of --with-ssl=openssl
|
||||||
@ -1606,6 +1614,8 @@ Some influential environment variables:
|
|||||||
XML2_LIBS linker flags for XML2, overriding pkg-config
|
XML2_LIBS linker flags for XML2, overriding pkg-config
|
||||||
LZ4_CFLAGS C compiler flags for LZ4, overriding pkg-config
|
LZ4_CFLAGS C compiler flags for LZ4, overriding pkg-config
|
||||||
LZ4_LIBS linker flags for LZ4, overriding pkg-config
|
LZ4_LIBS linker flags for LZ4, overriding pkg-config
|
||||||
|
ZSTD_CFLAGS C compiler flags for ZSTD, overriding pkg-config
|
||||||
|
ZSTD_LIBS linker flags for ZSTD, overriding pkg-config
|
||||||
LDFLAGS_EX extra linker flags for linking executables only
|
LDFLAGS_EX extra linker flags for linking executables only
|
||||||
LDFLAGS_SL extra linker flags for linking shared libraries only
|
LDFLAGS_SL extra linker flags for linking shared libraries only
|
||||||
PERL Perl program
|
PERL Perl program
|
||||||
@ -9034,6 +9044,146 @@ fi
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# ZSTD
|
||||||
|
#
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build with ZSTD support" >&5
|
||||||
|
$as_echo_n "checking whether to build with ZSTD support... " >&6; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Check whether --with-zstd was given.
|
||||||
|
if test "${with_zstd+set}" = set; then :
|
||||||
|
withval=$with_zstd;
|
||||||
|
case $withval in
|
||||||
|
yes)
|
||||||
|
|
||||||
|
$as_echo "#define USE_ZSTD 1" >>confdefs.h
|
||||||
|
|
||||||
|
;;
|
||||||
|
no)
|
||||||
|
:
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
as_fn_error $? "no argument expected for --with-zstd option" "$LINENO" 5
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
else
|
||||||
|
with_zstd=no
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_zstd" >&5
|
||||||
|
$as_echo "$with_zstd" >&6; }
|
||||||
|
|
||||||
|
|
||||||
|
if test "$with_zstd" = yes; then
|
||||||
|
|
||||||
|
pkg_failed=no
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libzstd" >&5
|
||||||
|
$as_echo_n "checking for libzstd... " >&6; }
|
||||||
|
|
||||||
|
if test -n "$ZSTD_CFLAGS"; then
|
||||||
|
pkg_cv_ZSTD_CFLAGS="$ZSTD_CFLAGS"
|
||||||
|
elif test -n "$PKG_CONFIG"; then
|
||||||
|
if test -n "$PKG_CONFIG" && \
|
||||||
|
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libzstd\""; } >&5
|
||||||
|
($PKG_CONFIG --exists --print-errors "libzstd") 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
|
test $ac_status = 0; }; then
|
||||||
|
pkg_cv_ZSTD_CFLAGS=`$PKG_CONFIG --cflags "libzstd" 2>/dev/null`
|
||||||
|
test "x$?" != "x0" && pkg_failed=yes
|
||||||
|
else
|
||||||
|
pkg_failed=yes
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
pkg_failed=untried
|
||||||
|
fi
|
||||||
|
if test -n "$ZSTD_LIBS"; then
|
||||||
|
pkg_cv_ZSTD_LIBS="$ZSTD_LIBS"
|
||||||
|
elif test -n "$PKG_CONFIG"; then
|
||||||
|
if test -n "$PKG_CONFIG" && \
|
||||||
|
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libzstd\""; } >&5
|
||||||
|
($PKG_CONFIG --exists --print-errors "libzstd") 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
|
test $ac_status = 0; }; then
|
||||||
|
pkg_cv_ZSTD_LIBS=`$PKG_CONFIG --libs "libzstd" 2>/dev/null`
|
||||||
|
test "x$?" != "x0" && pkg_failed=yes
|
||||||
|
else
|
||||||
|
pkg_failed=yes
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
pkg_failed=untried
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if test $pkg_failed = yes; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
|
||||||
|
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
||||||
|
_pkg_short_errors_supported=yes
|
||||||
|
else
|
||||||
|
_pkg_short_errors_supported=no
|
||||||
|
fi
|
||||||
|
if test $_pkg_short_errors_supported = yes; then
|
||||||
|
ZSTD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libzstd" 2>&1`
|
||||||
|
else
|
||||||
|
ZSTD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libzstd" 2>&1`
|
||||||
|
fi
|
||||||
|
# Put the nasty error message in config.log where it belongs
|
||||||
|
echo "$ZSTD_PKG_ERRORS" >&5
|
||||||
|
|
||||||
|
as_fn_error $? "Package requirements (libzstd) were not met:
|
||||||
|
|
||||||
|
$ZSTD_PKG_ERRORS
|
||||||
|
|
||||||
|
Consider adjusting the PKG_CONFIG_PATH environment variable if you
|
||||||
|
installed software in a non-standard prefix.
|
||||||
|
|
||||||
|
Alternatively, you may set the environment variables ZSTD_CFLAGS
|
||||||
|
and ZSTD_LIBS to avoid the need to call pkg-config.
|
||||||
|
See the pkg-config man page for more details." "$LINENO" 5
|
||||||
|
elif test $pkg_failed = untried; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||||
|
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||||
|
as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
|
||||||
|
is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||||
|
path to pkg-config.
|
||||||
|
|
||||||
|
Alternatively, you may set the environment variables ZSTD_CFLAGS
|
||||||
|
and ZSTD_LIBS to avoid the need to call pkg-config.
|
||||||
|
See the pkg-config man page for more details.
|
||||||
|
|
||||||
|
To get pkg-config, see <http://pkg-config.freedesktop.org/>.
|
||||||
|
See \`config.log' for more details" "$LINENO" 5; }
|
||||||
|
else
|
||||||
|
ZSTD_CFLAGS=$pkg_cv_ZSTD_CFLAGS
|
||||||
|
ZSTD_LIBS=$pkg_cv_ZSTD_LIBS
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||||
|
$as_echo "yes" >&6; }
|
||||||
|
|
||||||
|
fi
|
||||||
|
# We only care about -I, -D, and -L switches;
|
||||||
|
# note that -lzstd will be added by AC_CHECK_LIB below.
|
||||||
|
for pgac_option in $ZSTD_CFLAGS; do
|
||||||
|
case $pgac_option in
|
||||||
|
-I*|-D*) CPPFLAGS="$CPPFLAGS $pgac_option";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
for pgac_option in $ZSTD_LIBS; do
|
||||||
|
case $pgac_option in
|
||||||
|
-L*) LDFLAGS="$LDFLAGS $pgac_option";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
#
|
#
|
||||||
# Assignments
|
# Assignments
|
||||||
#
|
#
|
||||||
@ -13130,6 +13280,56 @@ fi
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "$with_zstd" = yes ; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZSTD_compress in -lzstd" >&5
|
||||||
|
$as_echo_n "checking for ZSTD_compress in -lzstd... " >&6; }
|
||||||
|
if ${ac_cv_lib_zstd_ZSTD_compress+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
ac_check_lib_save_LIBS=$LIBS
|
||||||
|
LIBS="-lzstd $LIBS"
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
/* Override any GCC internal prototype to avoid an error.
|
||||||
|
Use char because int might match the return type of a GCC
|
||||||
|
builtin and then its argument prototype would still apply. */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
#endif
|
||||||
|
char ZSTD_compress ();
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
return ZSTD_compress ();
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
|
ac_cv_lib_zstd_ZSTD_compress=yes
|
||||||
|
else
|
||||||
|
ac_cv_lib_zstd_ZSTD_compress=no
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
LIBS=$ac_check_lib_save_LIBS
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zstd_ZSTD_compress" >&5
|
||||||
|
$as_echo "$ac_cv_lib_zstd_ZSTD_compress" >&6; }
|
||||||
|
if test "x$ac_cv_lib_zstd_ZSTD_compress" = xyes; then :
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define HAVE_LIBZSTD 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
LIBS="-lzstd $LIBS"
|
||||||
|
|
||||||
|
else
|
||||||
|
as_fn_error $? "library 'zstd' is required for ZSTD support" "$LINENO" 5
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
# Note: We can test for libldap_r only after we know PTHREAD_LIBS;
|
# Note: We can test for libldap_r only after we know PTHREAD_LIBS;
|
||||||
# also, on AIX, we may need to have openssl in LIBS for this step.
|
# also, on AIX, we may need to have openssl in LIBS for this step.
|
||||||
if test "$with_ldap" = yes ; then
|
if test "$with_ldap" = yes ; then
|
||||||
@ -13902,6 +14102,71 @@ fi
|
|||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$ZSTD"; then
|
||||||
|
for ac_prog in zstd
|
||||||
|
do
|
||||||
|
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||||
|
set dummy $ac_prog; ac_word=$2
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
|
if ${ac_cv_path_ZSTD+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
case $ZSTD in
|
||||||
|
[\\/]* | ?:[\\/]*)
|
||||||
|
ac_cv_path_ZSTD="$ZSTD" # Let the user override the test with a path.
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
for as_dir in $PATH
|
||||||
|
do
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
test -z "$as_dir" && as_dir=.
|
||||||
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
|
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||||
|
ac_cv_path_ZSTD="$as_dir/$ac_word$ac_exec_ext"
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
|
break 2
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
ZSTD=$ac_cv_path_ZSTD
|
||||||
|
if test -n "$ZSTD"; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZSTD" >&5
|
||||||
|
$as_echo "$ZSTD" >&6; }
|
||||||
|
else
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
test -n "$ZSTD" && break
|
||||||
|
done
|
||||||
|
|
||||||
|
else
|
||||||
|
# Report the value of ZSTD in configure's output in all cases.
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZSTD" >&5
|
||||||
|
$as_echo_n "checking for ZSTD... " >&6; }
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZSTD" >&5
|
||||||
|
$as_echo "$ZSTD" >&6; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$with_zstd" = yes; then
|
||||||
|
ac_fn_c_check_header_mongrel "$LINENO" "zstd.h" "ac_cv_header_zstd_h" "$ac_includes_default"
|
||||||
|
if test "x$ac_cv_header_zstd_h" = xyes; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
as_fn_error $? "zstd.h header file is required for ZSTD" "$LINENO" 5
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$with_gssapi" = yes ; then
|
if test "$with_gssapi" = yes ; then
|
||||||
|
33
configure.ac
33
configure.ac
@ -1056,6 +1056,30 @@ if test "$with_lz4" = yes; then
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# ZSTD
|
||||||
|
#
|
||||||
|
AC_MSG_CHECKING([whether to build with ZSTD support])
|
||||||
|
PGAC_ARG_BOOL(with, zstd, no, [build with ZSTD support],
|
||||||
|
[AC_DEFINE([USE_ZSTD], 1, [Define to 1 to build with ZSTD support. (--with-zstd)])])
|
||||||
|
AC_MSG_RESULT([$with_zstd])
|
||||||
|
AC_SUBST(with_zstd)
|
||||||
|
|
||||||
|
if test "$with_zstd" = yes; then
|
||||||
|
PKG_CHECK_MODULES(ZSTD, libzstd)
|
||||||
|
# We only care about -I, -D, and -L switches;
|
||||||
|
# note that -lzstd will be added by AC_CHECK_LIB below.
|
||||||
|
for pgac_option in $ZSTD_CFLAGS; do
|
||||||
|
case $pgac_option in
|
||||||
|
-I*|-D*) CPPFLAGS="$CPPFLAGS $pgac_option";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
for pgac_option in $ZSTD_LIBS; do
|
||||||
|
case $pgac_option in
|
||||||
|
-L*) LDFLAGS="$LDFLAGS $pgac_option";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
#
|
#
|
||||||
# Assignments
|
# Assignments
|
||||||
#
|
#
|
||||||
@ -1325,6 +1349,10 @@ if test "$with_lz4" = yes ; then
|
|||||||
AC_CHECK_LIB(lz4, LZ4_compress_default, [], [AC_MSG_ERROR([library 'lz4' is required for LZ4 support])])
|
AC_CHECK_LIB(lz4, LZ4_compress_default, [], [AC_MSG_ERROR([library 'lz4' is required for LZ4 support])])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "$with_zstd" = yes ; then
|
||||||
|
AC_CHECK_LIB(zstd, ZSTD_compress, [], [AC_MSG_ERROR([library 'zstd' is required for ZSTD support])])
|
||||||
|
fi
|
||||||
|
|
||||||
# Note: We can test for libldap_r only after we know PTHREAD_LIBS;
|
# Note: We can test for libldap_r only after we know PTHREAD_LIBS;
|
||||||
# also, on AIX, we may need to have openssl in LIBS for this step.
|
# also, on AIX, we may need to have openssl in LIBS for this step.
|
||||||
if test "$with_ldap" = yes ; then
|
if test "$with_ldap" = yes ; then
|
||||||
@ -1490,6 +1518,11 @@ if test "$with_lz4" = yes; then
|
|||||||
AC_CHECK_HEADERS(lz4.h, [], [AC_MSG_ERROR([lz4.h header file is required for LZ4])])
|
AC_CHECK_HEADERS(lz4.h, [], [AC_MSG_ERROR([lz4.h header file is required for LZ4])])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
PGAC_PATH_PROGS(ZSTD, zstd)
|
||||||
|
if test "$with_zstd" = yes; then
|
||||||
|
AC_CHECK_HEADER(zstd.h, [], [AC_MSG_ERROR([zstd.h header file is required for ZSTD])])
|
||||||
|
fi
|
||||||
|
|
||||||
if test "$with_gssapi" = yes ; then
|
if test "$with_gssapi" = yes ; then
|
||||||
AC_CHECK_HEADERS(gssapi/gssapi.h, [],
|
AC_CHECK_HEADERS(gssapi/gssapi.h, [],
|
||||||
[AC_CHECK_HEADERS(gssapi.h, [], [AC_MSG_ERROR([gssapi.h header file is required for GSSAPI])])])
|
[AC_CHECK_HEADERS(gssapi.h, [], [AC_MSG_ERROR([gssapi.h header file is required for GSSAPI])])])
|
||||||
|
@ -307,6 +307,15 @@ $ENV{MSBFLAGS}="/m";
|
|||||||
</para></listitem>
|
</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><productname>ZSTD</productname></term>
|
||||||
|
<listitem><para>
|
||||||
|
Required for supporting <productname>ZSTD</productname> compression
|
||||||
|
method. Binaries and source can be downloaded from
|
||||||
|
<ulink url="https://github.com/facebook/zstd/releases"></ulink>.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><productname>OpenSSL</productname></term>
|
<term><productname>OpenSSL</productname></term>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
|
@ -985,6 +985,15 @@ build-postgresql:
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--with-zstd</option></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Build with <productname>ZSTD</productname> compression support.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><option>--with-ssl=<replaceable>LIBRARY</replaceable></option>
|
<term><option>--with-ssl=<replaceable>LIBRARY</replaceable></option>
|
||||||
<indexterm>
|
<indexterm>
|
||||||
|
@ -351,6 +351,7 @@ XGETTEXT = @XGETTEXT@
|
|||||||
GZIP = gzip
|
GZIP = gzip
|
||||||
BZIP2 = bzip2
|
BZIP2 = bzip2
|
||||||
LZ4 = @LZ4@
|
LZ4 = @LZ4@
|
||||||
|
ZSTD = @ZSTD@
|
||||||
|
|
||||||
DOWNLOAD = wget -O $@ --no-use-server-timestamps
|
DOWNLOAD = wget -O $@ --no-use-server-timestamps
|
||||||
#DOWNLOAD = curl -o $@
|
#DOWNLOAD = curl -o $@
|
||||||
|
@ -352,6 +352,9 @@
|
|||||||
/* Define to 1 if you have the `z' library (-lz). */
|
/* Define to 1 if you have the `z' library (-lz). */
|
||||||
#undef HAVE_LIBZ
|
#undef HAVE_LIBZ
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `zstd' library (-lzstd). */
|
||||||
|
#undef HAVE_LIBZSTD
|
||||||
|
|
||||||
/* Define to 1 if you have the `link' function. */
|
/* Define to 1 if you have the `link' function. */
|
||||||
#undef HAVE_LINK
|
#undef HAVE_LINK
|
||||||
|
|
||||||
@ -952,6 +955,9 @@
|
|||||||
/* Define to select Win32-style shared memory. */
|
/* Define to select Win32-style shared memory. */
|
||||||
#undef USE_WIN32_SHARED_MEMORY
|
#undef USE_WIN32_SHARED_MEMORY
|
||||||
|
|
||||||
|
/* Define to 1 to build with ZSTD support. (--with-zstd) */
|
||||||
|
#undef USE_ZSTD
|
||||||
|
|
||||||
/* Define to 1 if `wcstombs_l' requires <xlocale.h>. */
|
/* Define to 1 if `wcstombs_l' requires <xlocale.h>. */
|
||||||
#undef WCSTOMBS_L_IN_XLOCALE
|
#undef WCSTOMBS_L_IN_XLOCALE
|
||||||
|
|
||||||
|
@ -311,6 +311,7 @@ sub GenerateFiles
|
|||||||
HAVE_LIBXML2 => undef,
|
HAVE_LIBXML2 => undef,
|
||||||
HAVE_LIBXSLT => undef,
|
HAVE_LIBXSLT => undef,
|
||||||
HAVE_LIBZ => $self->{options}->{zlib} ? 1 : undef,
|
HAVE_LIBZ => $self->{options}->{zlib} ? 1 : undef,
|
||||||
|
HAVE_LIBZSTD => undef,
|
||||||
HAVE_LINK => undef,
|
HAVE_LINK => undef,
|
||||||
HAVE_LOCALE_T => 1,
|
HAVE_LOCALE_T => 1,
|
||||||
HAVE_LONG_INT_64 => undef,
|
HAVE_LONG_INT_64 => undef,
|
||||||
@ -507,6 +508,7 @@ sub GenerateFiles
|
|||||||
USE_UNNAMED_POSIX_SEMAPHORES => undef,
|
USE_UNNAMED_POSIX_SEMAPHORES => undef,
|
||||||
USE_WIN32_SEMAPHORES => 1,
|
USE_WIN32_SEMAPHORES => 1,
|
||||||
USE_WIN32_SHARED_MEMORY => 1,
|
USE_WIN32_SHARED_MEMORY => 1,
|
||||||
|
USE_ZSTD => undef,
|
||||||
WCSTOMBS_L_IN_XLOCALE => undef,
|
WCSTOMBS_L_IN_XLOCALE => undef,
|
||||||
WORDS_BIGENDIAN => undef,
|
WORDS_BIGENDIAN => undef,
|
||||||
XLOG_BLCKSZ => 1024 * $self->{options}->{wal_blocksize},
|
XLOG_BLCKSZ => 1024 * $self->{options}->{wal_blocksize},
|
||||||
@ -540,6 +542,11 @@ sub GenerateFiles
|
|||||||
$define{HAVE_LZ4_H} = 1;
|
$define{HAVE_LZ4_H} = 1;
|
||||||
$define{USE_LZ4} = 1;
|
$define{USE_LZ4} = 1;
|
||||||
}
|
}
|
||||||
|
if ($self->{options}->{zstd})
|
||||||
|
{
|
||||||
|
$define{HAVE_LIBZSTD} = 1;
|
||||||
|
$define{USE_ZSTD} = 1;
|
||||||
|
}
|
||||||
if ($self->{options}->{openssl})
|
if ($self->{options}->{openssl})
|
||||||
{
|
{
|
||||||
$define{USE_OPENSSL} = 1;
|
$define{USE_OPENSSL} = 1;
|
||||||
@ -1082,6 +1089,11 @@ sub AddProject
|
|||||||
$proj->AddIncludeDir($self->{options}->{lz4} . '\include');
|
$proj->AddIncludeDir($self->{options}->{lz4} . '\include');
|
||||||
$proj->AddLibrary($self->{options}->{lz4} . '\lib\liblz4.lib');
|
$proj->AddLibrary($self->{options}->{lz4} . '\lib\liblz4.lib');
|
||||||
}
|
}
|
||||||
|
if ($self->{options}->{zstd})
|
||||||
|
{
|
||||||
|
$proj->AddIncludeDir($self->{options}->{zstd} . '\include');
|
||||||
|
$proj->AddLibrary($self->{options}->{zstd} . '\lib\libzstd.lib');
|
||||||
|
}
|
||||||
if ($self->{options}->{uuid})
|
if ($self->{options}->{uuid})
|
||||||
{
|
{
|
||||||
$proj->AddIncludeDir($self->{options}->{uuid} . '\include');
|
$proj->AddIncludeDir($self->{options}->{uuid} . '\include');
|
||||||
@ -1194,6 +1206,7 @@ sub GetFakeConfigure
|
|||||||
$cfg .= ' --with-libxml' if ($self->{options}->{xml});
|
$cfg .= ' --with-libxml' if ($self->{options}->{xml});
|
||||||
$cfg .= ' --with-libxslt' if ($self->{options}->{xslt});
|
$cfg .= ' --with-libxslt' if ($self->{options}->{xslt});
|
||||||
$cfg .= ' --with-lz4' if ($self->{options}->{lz4});
|
$cfg .= ' --with-lz4' if ($self->{options}->{lz4});
|
||||||
|
$cfg .= ' --with-zstd' if ($self->{options}->{zstd});
|
||||||
$cfg .= ' --with-gssapi' if ($self->{options}->{gss});
|
$cfg .= ' --with-gssapi' if ($self->{options}->{gss});
|
||||||
$cfg .= ' --with-icu' if ($self->{options}->{icu});
|
$cfg .= ' --with-icu' if ($self->{options}->{icu});
|
||||||
$cfg .= ' --with-tcl' if ($self->{options}->{tcl});
|
$cfg .= ' --with-tcl' if ($self->{options}->{tcl});
|
||||||
|
@ -15,6 +15,7 @@ our $config = {
|
|||||||
gss => undef, # --with-gssapi=<path>
|
gss => undef, # --with-gssapi=<path>
|
||||||
icu => undef, # --with-icu=<path>
|
icu => undef, # --with-icu=<path>
|
||||||
lz4 => undef, # --with-lz4=<path>
|
lz4 => undef, # --with-lz4=<path>
|
||||||
|
zstd => undef, # --with-zstd=<path>
|
||||||
nls => undef, # --enable-nls=<path>
|
nls => undef, # --enable-nls=<path>
|
||||||
tap_tests => undef, # --enable-tap-tests
|
tap_tests => undef, # --enable-tap-tests
|
||||||
tcl => undef, # --with-tcl=<path>
|
tcl => undef, # --with-tcl=<path>
|
||||||
|
@ -36,6 +36,7 @@ do './src/tools/msvc/config.pl' if (-f 'src/tools/msvc/config.pl');
|
|||||||
$ENV{GZIP_PROGRAM} ||= 'gzip';
|
$ENV{GZIP_PROGRAM} ||= 'gzip';
|
||||||
$ENV{LZ4} ||= 'lz4';
|
$ENV{LZ4} ||= 'lz4';
|
||||||
$ENV{TAR} ||= 'tar';
|
$ENV{TAR} ||= 'tar';
|
||||||
|
$ENV{ZSTD} ||= 'zstd';
|
||||||
|
|
||||||
# buildenv.pl is for specifying the build environment settings
|
# buildenv.pl is for specifying the build environment settings
|
||||||
# it should contain lines like:
|
# it should contain lines like:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user