[master] e41b6ca0d build: Better handle zlib-specific C flags
Dridi Boukelmoune
dridi.boukelmoune at gmail.com
Mon Jan 30 10:59:05 UTC 2023
commit e41b6ca0da5fff01a854aaddebf217158bad12ec
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date: Mon Jan 30 11:27:57 2023 +0100
build: Better handle zlib-specific C flags
There are two warnings that we enforce for our own code that zlib does
not. There's also the visibility attribute that we check at configure
time. And regarding the visibility attribute, zlib no longer relies on
a NO_VIZ macro and aligned with the autoconf naming convention and wants
HAVE_HIDDEN instead.
diff --git a/configure.ac b/configure.ac
index dcaffeb5e..93c92e29b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -255,27 +255,25 @@ else
CFLAGS="${CFLAGS} -Werror"
fi
-# Support for visibility attribute
-save_CFLAGS="${CFLAGS}"
+# zlib-specific flags
+libvgz_extra_cflags="-Wno-error=strict-prototypes"
+
+dnl https://github.com/madler/zlib/issues/633
+libvgz_extra_cflags="$libvgz_extra_cflags -Wno-error=deprecated-non-prototype"
+
+AC_SUBST(libvgz_extra_cflags)
+
+# Support for visibility attribute (zlib)
AC_CACHE_CHECK([whether we have support for visibility attributes],
[ac_cv_have_viz],
- [AC_RUN_IFELSE(
+ [AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
- #if ((__GNUC__-0) * 10 + __GNUC_MINOR__-0 >= 33 || defined(__SUNPRO_C))
- # define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
- #else
- # define ZLIB_INTERNAL
- #endif
- int ZLIB_INTERNAL foo;
+ int __attribute__((visibility ("hidden"))) foo;
]],[])],
- [ac_cv_have_viz=yes],
- [ac_cv_have_viz=no])
+ [AC_DEFINE([HAVE_HIDDEN], [1],
+ [Define to 1 if visibility attribute hidden is available.])
+ ])
])
-if test "$ac_cv_have_viz" = no; then
- libvgz_extra_cflags="-DNO_VIZ"
- AC_SUBST(libvgz_extra_cflags)
-fi
-CFLAGS="${save_CFLAGS}"
AC_ARG_ENABLE(ubsan,
AS_HELP_STRING([--enable-ubsan],
diff --git a/lib/libvgz/Makefile.am b/lib/libvgz/Makefile.am
index 52fd2f0fb..929646ad5 100644
--- a/lib/libvgz/Makefile.am
+++ b/lib/libvgz/Makefile.am
@@ -1,11 +1,13 @@
#
-AM_LDFLAGS = $(AM_LT_LDFLAGS)
+AM_CFLAGS = $(AM_LT_CFLAGS) \
+ -D_LARGEFILE64_SOURCE=1 \
+ -DZLIB_CONST \
+ $(libvgz_extra_cflags)
-noinst_LTLIBRARIES = libvgz.la
+AM_LDFLAGS = $(AM_LT_LDFLAGS)
-libvgz_la_CFLAGS = -D_LARGEFILE64_SOURCE=1 -DZLIB_CONST \
- $(libvgz_extra_cflags)
+noinst_LTLIBRARIES = libvgz.la
libvgz_la_SOURCES = \
adler32.c \
More information about the varnish-commit
mailing list