diff --git a/configure b/configure index 14ad0a5006f..6b4dd7c16a1 100755 --- a/configure +++ b/configure @@ -706,6 +706,7 @@ with_lz4 with_zlib with_system_tzdata with_libxslt +XML_KEEP_BLANKS_DEPRECATED XML2_LIBS XML2_CFLAGS XML2_CONFIG @@ -14174,6 +14175,34 @@ else as_fn_error $? "header file is required for XML support" "$LINENO" 5 fi + # Check if xmlKeepBlanksDefault triggers a deprecation warning + pgac_cv_xml_keep_blanks_deprecated=no + if test "$GCC" = yes; then + { $as_echo "$as_me:${as_lineno[$LINENO]}: checking whether xmlKeepBlanksDefault is deprecated" >&5 +$as_echo_n "checking whether xmlKeepBlanksDefault is deprecated... " >&6; } + pgac_save_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -Werror=deprecated-declarations" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +xmlKeepBlanksDefault(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : +else + pgac_cv_xml_keep_blanks_deprecated=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$pgac_save_CFLAGS + { $as_echo "$as_me:${as_lineno[$LINENO]}: result: $pgac_cv_xml_keep_blanks_deprecated" >&5 +$as_echo "$pgac_cv_xml_keep_blanks_deprecated" >&6; } + fi + XML_KEEP_BLANKS_DEPRECATED=$pgac_cv_xml_keep_blanks_deprecated fi diff --git a/configure.ac b/configure.ac index 01b3bbc1be8..649d5992bf3 100644 --- a/configure.ac +++ b/configure.ac @@ -1603,6 +1603,20 @@ fi if test "$with_libxml" = yes ; then AC_CHECK_HEADER(libxml/parser.h, [], [AC_MSG_ERROR([header file is required for XML support])]) + # Check if xmlKeepBlanksDefault triggers a deprecation warning + pgac_cv_xml_keep_blanks_deprecated=no + if test "$GCC" = yes; then + AC_MSG_CHECKING([whether xmlKeepBlanksDefault is deprecated]) + pgac_save_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -Werror=deprecated-declarations" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], + [xmlKeepBlanksDefault(0);])], + [], + [pgac_cv_xml_keep_blanks_deprecated=yes]) + CFLAGS=$pgac_save_CFLAGS + AC_MSG_RESULT([$pgac_cv_xml_keep_blanks_deprecated]) + fi + AC_SUBST(XML_KEEP_BLANKS_DEPRECATED, [$pgac_cv_xml_keep_blanks_deprecated]) fi if test "$with_libxslt" = yes ; then diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 371cd7eba2c..a9f94d84cbf 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -278,6 +278,7 @@ CFLAGS_VECTORIZE = @CFLAGS_VECTORIZE@ CFLAGS_CRC = @CFLAGS_CRC@ PERMIT_DECLARATION_AFTER_STATEMENT = @PERMIT_DECLARATION_AFTER_STATEMENT@ PERMIT_MISSING_VARIABLE_DECLARATIONS = @PERMIT_MISSING_VARIABLE_DECLARATIONS@ +XML_KEEP_BLANKS_DEPRECATED = @XML_KEEP_BLANKS_DEPRECATED@ CXXFLAGS = @CXXFLAGS@ LLVM_CPPFLAGS = @LLVM_CPPFLAGS@ diff --git a/src/backend/utils/adt/Makefile b/src/backend/utils/adt/Makefile index ba40ada11ca..a25ba8b89a3 100644 --- a/src/backend/utils/adt/Makefile +++ b/src/backend/utils/adt/Makefile @@ -151,6 +151,11 @@ like.o: like.c like_match.c # Some code in numeric.c benefits from auto-vectorization numeric.o: CFLAGS += ${CFLAGS_VECTORIZE} +# Suppress deprecation warning for xmlKeepBlanksDefault +ifeq ($(XML_KEEP_BLANKS_DEPRECATED), yes) +xml.o: CFLAGS += -Wno-deprecated-declarations +endif + varlena.o: varlena.c levenshtein.c include $(top_srcdir)/src/backend/common.mk