From: Vladislav Shchapov Date: Mon, 24 Feb 2025 16:58:59 +0000 (+0500) Subject: Change flags to "-Werror=unguarded-availability", "-Werror=unguarded-availability... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=85223403d97fc6c2441ceae9d982c2471a5b28e7;p=thirdparty%2Fzlib-ng.git Change flags to "-Werror=unguarded-availability", "-Werror=unguarded-availability-new" and add it to maybe affected symbol checking Signed-off-by: Vladislav Shchapov --- diff --git a/CMakeLists.txt b/CMakeLists.txt index f1bc7ba4..73ed22a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -373,6 +373,21 @@ if(MSVC) endif() endif() +# +# Additional flags for features checking +# +set(ADDITIONAL_CHECK_FLAGS ) +if(APPLE) + check_c_compiler_flag(-Werror=unguarded-availability HAVE_W_ERROR_UNGUARDED_AVAILABILITY) + if(HAVE_W_ERROR_UNGUARDED_AVAILABILITY) + set(ADDITIONAL_CHECK_FLAGS "${ADDITIONAL_CHECK_FLAGS} -Werror=unguarded-availability") + endif() + check_c_compiler_flag(-Werror=unguarded-availability-new HAVE_W_ERROR_UNGUARDED_AVAILABILITY_NEW) + if(HAVE_W_ERROR_UNGUARDED_AVAILABILITY_NEW) + set(ADDITIONAL_CHECK_FLAGS "${ADDITIONAL_CHECK_FLAGS} -Werror=unguarded-availability-new") + endif() +endif() + # # Check for standard/system includes # @@ -418,31 +433,31 @@ set(CMAKE_REQUIRED_DEFINITIONS) # clear variable # # Check for fseeko and other optional functions # +set(CMAKE_REQUIRED_FLAGS "${ADDITIONAL_CHECK_FLAGS}") check_function_exists(fseeko HAVE_FSEEKO) if(NOT HAVE_FSEEKO) add_definitions(-DNO_FSEEKO) endif() +set(CMAKE_REQUIRED_FLAGS) +set(CMAKE_REQUIRED_FLAGS "${ADDITIONAL_CHECK_FLAGS}") check_function_exists(strerror HAVE_STRERROR) if(NOT HAVE_STRERROR) add_definitions(-DNO_STRERROR) endif() +set(CMAKE_REQUIRED_FLAGS) set(CMAKE_REQUIRED_DEFINITIONS -D_POSIX_C_SOURCE=200112L) +set(CMAKE_REQUIRED_FLAGS "${ADDITIONAL_CHECK_FLAGS}") check_symbol_exists(posix_memalign stdlib.h HAVE_POSIX_MEMALIGN) if(HAVE_POSIX_MEMALIGN) add_definitions(-DHAVE_POSIX_MEMALIGN) endif() +set(CMAKE_REQUIRED_FLAGS) set(CMAKE_REQUIRED_DEFINITIONS) set(CMAKE_REQUIRED_DEFINITIONS -D_ISOC11_SOURCE=1) -set(CMAKE_REQUIRED_FLAGS) -if(APPLE) - check_c_compiler_flag(-Wunguarded-availability-new HAVE_W_UNGUARDED_AVAILABILITY_NEW) - if(HAVE_W_UNGUARDED_AVAILABILITY_NEW) - set(CMAKE_REQUIRED_FLAGS "-Wunguarded-availability-new -Werror") - endif() -endif() +set(CMAKE_REQUIRED_FLAGS "${ADDITIONAL_CHECK_FLAGS}") check_symbol_exists(aligned_alloc stdlib.h HAVE_ALIGNED_ALLOC) if(HAVE_ALIGNED_ALLOC) add_definitions(-DHAVE_ALIGNED_ALLOC) diff --git a/configure b/configure index f68e243e..15bb5933 100755 --- a/configure +++ b/configure @@ -632,6 +632,32 @@ fi echo >> configure.log +ADDITIONAL_CHECK_FLAGS="" + +# Check for -Werror=unguarded-availability compiler support +echo "" > test.c + cat > $test.c <> configure.log 2>&1; then + echo "Checking for -Werror=unguarded-availability... Yes." | tee -a configure.log + ADDITIONAL_CHECK_FLAGS="$ADDITIONAL_CHECK_FLAGS -Werror=unguarded-availability" +else + echo "Checking for -Werror=unguarded-availability... No." | tee -a configure.log +fi + +# Check for -Werror=unguarded-availability-new compiler support +echo "" > test.c + cat > $test.c <> configure.log 2>&1; then + echo "Checking for -Werror=unguarded-availability-new... Yes." | tee -a configure.log + ADDITIONAL_CHECK_FLAGS="$ADDITIONAL_CHECK_FLAGS -Werror=unguarded-availability-new" +else + echo "Checking for -Werror=unguarded-availability-new... No." | tee -a configure.log +fi + # check for version script support cat > $test.c <> configure.log -# Check for -Wunguarded-availability-new compiler support -echo "" > test.c - cat > $test.c <> configure.log 2>&1; then - echo "Checking for -Wunguarded-availability-new... Yes." | tee -a configure.log - TEST_ALIGNED_ALLOC_FLAGS="$TEST_ALIGNED_ALLOC_FLAGS -Wunguarded-availability-new -Werror" -else - echo "Checking for -Wunguarded-availability-new... No." | tee -a configure.log -fi - cat > $test.c < @@ -740,7 +754,7 @@ int main(void) { return 0; } EOF -if try $CC $CFLAGS $TEST_ALIGNED_ALLOC_FLAGS -o $test $test.c $LDSHAREDLIBC; then +if try $CC $CFLAGS $ADDITIONAL_CHECK_FLAGS -o $test $test.c $LDSHAREDLIBC; then echo "Checking for aligned_alloc... Yes." | tee -a configure.log CFLAGS="${CFLAGS} -DHAVE_ALIGNED_ALLOC" SFLAGS="${SFLAGS} -DHAVE_ALIGNED_ALLOC" @@ -755,7 +769,7 @@ cat > $test.c < int main() { return strlen(strerror(errno)); } EOF -if try $CC $CFLAGS -o $test $test.c $LDSHAREDLIBC; then +if try $CC $CFLAGS $ADDITIONAL_CHECK_FLAGS -o $test $test.c $LDSHAREDLIBC; then echo "Checking for strerror... Yes." | tee -a configure.log else CFLAGS="${CFLAGS} -DNO_STRERROR"