From 15f7aba2dae1514d4584812b38d5ab91251fe58b Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Mon, 9 Oct 2023 21:40:21 +0000 Subject: [PATCH] test cmake pre-fill detections 1 --- _build.sh | 30 ++++++++++++++++++++++++++++++ brotli.sh | 2 +- cares.sh | 2 +- nghttp2.sh | 2 +- nghttp3.sh | 2 +- ngtcp2.sh | 2 +- zstd.sh | 2 +- 7 files changed, 36 insertions(+), 6 deletions(-) diff --git a/_build.sh b/_build.sh index 75f810f2a..e87ebda7e 100755 --- a/_build.sh +++ b/_build.sh @@ -1019,6 +1019,36 @@ build_single_target() { [ "${_CC}" = 'llvm' ] && _CFLAGS_GLOBAL_WPICKY="${_CFLAGS_GLOBAL_WPICKY} -Wassign-enum -Wcomma -Wextra-semi-stmt -Wshift-sign-overflow -Wshorten-64-to-32" [ "${_CC}" = 'gcc' ] && _CFLAGS_GLOBAL_WPICKY="${_CFLAGS_GLOBAL_WPICKY} -Walloc-zero -Warith-conversion -Warray-bounds=2 -Wduplicated-branches -Wduplicated-cond -Wformat-overflow=2 -Wformat-truncation=1 -Wformat=2 -Wmissing-parameter-type -Wno-pedantic-ms-format -Wnull-dereference -Wold-style-declaration -Wrestrict -Wshift-negative-value -Wshift-overflow=2 -Wstrict-aliasing=3 -fdelete-null-pointer-checks -ftree-vrp" + # fast-track well-known auto-detection results to speed up CMake configuration stages: + export _CMAKE_HAVE='' + + if true; then + # C89 standard headers + _CMAKE_HAVE="${_CMAKE_HAVE} -DHAVE_LIMITS_H=1 -DHAVE_LOCALE_H=1 -DHAVE_STDDEF_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_TIME_H=1" + + # C99 standard headers, available + _CMAKE_HAVE="${_CMAKE_HAVE} -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1" + # POSIX headers, available + _CMAKE_HAVE="${_CMAKE_HAVE} -DHAVE_FCNTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TYPES_H=1" + + if [ "${_OS}" = 'win' ]; then + # POSIX headers, missing + _CMAKE_HAVE="${_CMAKE_HAVE} -DHAVE_NETDB_H=0 -DHAVE_PWD_H=0 -DHAVE_SYSLOG_H=0 -DHAVE_ARPA_INET_H=0 -DHAVE_NETINET_IN_H=0 -DHAVE_NETINET_IP_H=0 -DHAVE_SYS_SOCKET_H=0" + # non-standard headers, missing + _CMAKE_HAVE="${_CMAKE_HAVE} -DHAVE_BYTESWAP_H=0 -DHAVE_ENDIAN_H=0 -DHAVE_SYS_ENDIAN_H=0 -DHAVE_ASM_TYPES_H=0 -DHAVE_LINUX_RTNETLINK_H=0 -DHAVE_LINUX_NETLINK_H=0" + # functions, available + _CMAKE_HAVE="${_CMAKE_HAVE} -DHAVE_LOG2=1" + # functions, missing + _CMAKE_HAVE="${_CMAKE_HAVE} -DHAVE_ACCEPT4=0 -DHAVE_BSWAP_64=0 -DHAVE_INITGROUPS=0 -DHAVE_MKOSTEMP=0" + fi + + if [ "${_OS}" = 'mac' ]; then + _CMAKE_HAVE="${_CMAKE_HAVE} -DHAVE_MACH_ABSOLUTE_TIME=1" + else + _CMAKE_HAVE="${_CMAKE_HAVE} -DHAVE_MACH_ABSOLUTE_TIME=0" + fi + fi + # for boringssl export _STRIP_BINUTILS='' if [ "${_OS}" = 'win' ] && [ "${_CC}" = 'llvm' ]; then diff --git a/brotli.sh b/brotli.sh index 5a090d5cc..86aa6640b 100755 --- a/brotli.sh +++ b/brotli.sh @@ -17,7 +17,7 @@ _VER="$1" rm -r -f "${_PKGDIR:?}" "${_BLDDIR:?}" # shellcheck disable=SC2086 - cmake -B "${_BLDDIR}" ${_CMAKE_GLOBAL} \ + cmake -B "${_BLDDIR}" ${_CMAKE_GLOBAL} ${_CMAKE_HAVE} \ '-DBUILD_SHARED_LIBS=OFF' \ '-DBROTLI_DISABLE_TESTS=ON' \ "-DCMAKE_C_FLAGS=${_CFLAGS_GLOBAL_CMAKE} ${_CFLAGS_GLOBAL} ${_CPPFLAGS_GLOBAL} ${_LDFLAGS_GLOBAL} ${_LIBS_GLOBAL}" diff --git a/cares.sh b/cares.sh index efe2510d2..0f4b23d35 100755 --- a/cares.sh +++ b/cares.sh @@ -17,7 +17,7 @@ _VER="$1" rm -r -f "${_PKGDIR:?}" "${_BLDDIR:?}" # shellcheck disable=SC2086 - cmake -B "${_BLDDIR}" ${_CMAKE_GLOBAL} \ + cmake -B "${_BLDDIR}" ${_CMAKE_GLOBAL} ${_CMAKE_HAVE} \ '-DCARES_STATIC=ON' \ '-DCARES_STATIC_PIC=ON' \ '-DCARES_SHARED=OFF' \ diff --git a/nghttp2.sh b/nghttp2.sh index f57014eae..836ef8b91 100755 --- a/nghttp2.sh +++ b/nghttp2.sh @@ -23,7 +23,7 @@ _VER="$1" options="${options} -DOPENSSL_INCLUDE_DIR= -DLIBCARES_INCLUDE_DIR= -DLIBEV_INCLUDE_DIR= -DLIBXML2_INCLUDE_DIR=" # shellcheck disable=SC2086 - cmake -B "${_BLDDIR}" ${_CMAKE_GLOBAL} ${_CMAKE_CXX_GLOBAL} ${options} \ + cmake -B "${_BLDDIR}" ${_CMAKE_GLOBAL} ${_CMAKE_CXX_GLOBAL} ${_CMAKE_HAVE} ${options} \ '-DENABLE_LIB_ONLY=ON' \ '-DENABLE_STATIC_LIB=ON' \ '-DENABLE_SHARED_LIB=OFF' \ diff --git a/nghttp3.sh b/nghttp3.sh index b9c191026..20cbef189 100755 --- a/nghttp3.sh +++ b/nghttp3.sh @@ -19,7 +19,7 @@ _VER="$1" CPPFLAGS='-DNDEBUG' # shellcheck disable=SC2086 - cmake -B "${_BLDDIR}" ${_CMAKE_GLOBAL} ${_CMAKE_CXX_GLOBAL} \ + cmake -B "${_BLDDIR}" ${_CMAKE_GLOBAL} ${_CMAKE_CXX_GLOBAL} ${_CMAKE_HAVE} \ '-DENABLE_LIB_ONLY=ON' \ '-DENABLE_STATIC_LIB=ON' \ '-DENABLE_SHARED_LIB=OFF' \ diff --git a/ngtcp2.sh b/ngtcp2.sh index 49223215f..c6599ec5a 100755 --- a/ngtcp2.sh +++ b/ngtcp2.sh @@ -55,7 +55,7 @@ _VER="$1" fi # shellcheck disable=SC2086 - cmake -B "${_BLDDIR}" ${_CMAKE_GLOBAL} ${_CMAKE_CXX_GLOBAL} ${options} \ + cmake -B "${_BLDDIR}" ${_CMAKE_GLOBAL} ${_CMAKE_CXX_GLOBAL} ${_CMAKE_HAVE} ${options} \ '-DENABLE_STATIC_LIB=ON' \ '-DENABLE_SHARED_LIB=OFF' \ "-DCMAKE_C_FLAGS=${_CFLAGS_GLOBAL_CMAKE} ${_CFLAGS_GLOBAL} ${_CPPFLAGS_GLOBAL} ${CPPFLAGS} ${_LDFLAGS_GLOBAL} ${LDFLAGS} ${_LIBS_GLOBAL} ${LIBS}" \ diff --git a/zstd.sh b/zstd.sh index 52e93b013..24730476f 100755 --- a/zstd.sh +++ b/zstd.sh @@ -17,7 +17,7 @@ _VER="$1" rm -r -f "${_PKGDIR:?}" "${_BLDDIR:?}" # shellcheck disable=SC2086 - cmake build/cmake -B "${_BLDDIR}" ${_CMAKE_GLOBAL} ${_CMAKE_CXX_GLOBAL} \ + cmake build/cmake -B "${_BLDDIR}" ${_CMAKE_GLOBAL} ${_CMAKE_CXX_GLOBAL} ${_CMAKE_HAVE} \ '-DZSTD_BUILD_CONTRIB=OFF' \ '-DZSTD_BUILD_TESTS=OFF' \ '-DZSTD_LEGACY_SUPPORT=OFF' \