From 19fcec84d8d7d21e796c7624e521b60d28ee21ed Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 20:45:59 +0200 Subject: Adding upstream version 16.2.11+ds. Signed-off-by: Daniel Baumann --- src/civetweb/.travis.yml | 694 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 694 insertions(+) create mode 100644 src/civetweb/.travis.yml (limited to 'src/civetweb/.travis.yml') diff --git a/src/civetweb/.travis.yml b/src/civetweb/.travis.yml new file mode 100644 index 000000000..2dd926cff --- /dev/null +++ b/src/civetweb/.travis.yml @@ -0,0 +1,694 @@ +############################################################################## +# Travis version specific build environment specification +############################################################################## + +# The "precise" build environment on Travis is in the process of being decommissioned +# see https://blog.travis-ci.com/2017-08-31-trusty-as-default-status +# The "precise=true"+"sudo=required" environment seems to lack IPv6 support. +# According to some tests, all "sudo=required" environments do not support IPv6, see +# https://github.com/travis-ci/travis-ci/issues/8361#issuecomment-328263113 +# The container environments for "sudo=false" support IPv6 localhost [::1] +# connections for server/client test. Thus, all tests with ENABLE_IPV6=YES +# + + +############################################################################## +# Project specific settings +############################################################################## + +language: c + +cache: + directories: + - $HOME/third-party + +osx_image: xcode8 + +addons: + apt: + packages: + - cmake + - openssl + - libssl-dev + sources: + - kubuntu-backports + + +before_install: + - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then + mkdir $HOME/usr; + export PATH="$HOME/usr/bin:$PATH"; + wget https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.sh --no-check-certificate; + chmod +x cmake-3.7.2-Linux-x86_64.sh; + ./cmake-3.7.2-Linux-x86_64.sh --prefix=$HOME/usr --exclude-subdir --skip-license; + fi + - cmake --version + + +install: + - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then + PATH=~/.local/bin:${PATH}; + pip install --user --upgrade pip; + pip install --user cpp-coveralls; + fi + +before_script: + # Check some settings of the build server (operating system, IPv6 availability, directory) + - uname -a + - ifconfig + - pwd + - ls -la + - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then + apt-cache search gcc | grep "GNU C compiler"; + apt-cache search clang | grep compiler; + fi + - if [[ "${BUILD_TYPE}" == "OSX_OPENSSL_1_1" ]]; then brew install openssl@1.1 ;fi + # Generate the build scripts with CMake + - mkdir output + - gcc test/cgi_test.c -o output/cgi_test.cgi + - cd output + - cmake --version + - cmake + -G "Unix Makefiles" + -DCMAKE_BUILD_TYPE=${BUILD_TYPE} + -DBUILD_SHARED_LIBS=${BUILD_SHARED} + "-DCIVETWEB_THIRD_PARTY_DIR=${HOME}/third-party" + -DCIVETWEB_ENABLE_THIRD_PARTY_OUTPUT=YES + -DCIVETWEB_ENABLE_SSL=${ENABLE_SSL} + -DCIVETWEB_DISABLE_CGI=${NO_CGI} + -DCIVETWEB_SERVE_NO_FILES=${NO_FILES} + -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=${ENABLE_SSL_DYNAMIC_LOADING} + -DCIVETWEB_SSL_OPENSSL_API_1_1=${OPENSSL_1_1} + -DCIVETWEB_ENABLE_WEBSOCKETS=${ENABLE_WEBSOCKETS} + -DCIVETWEB_ENABLE_CXX=${ENABLE_CXX} + -DCIVETWEB_ENABLE_IPV6=${ENABLE_IPV6} + -DCIVETWEB_ENABLE_SERVER_STATS=${ENABLE_SERVER_STATS} + -DCIVETWEB_ENABLE_LUA=${ENABLE_LUA} + -DCIVETWEB_ENABLE_LUA_SHARED=${ENABLE_LUA_SHARED} + -DCIVETWEB_ENABLE_DUKTAPE=${ENABLE_DUKTAPE} + -DCIVETWEB_DISABLE_CACHING=${NO_CACHING} + -DCIVETWEB_C_STANDARD=${C_STANDARD} + -DCIVETWEB_CXX_STANDARD=${CXX_STANDARD} + -DCIVETWEB_ALLOW_WARNINGS=${ALLOW_WARNINGS} + ${ADDITIONAL_CMAKE_ARGS} + .. + - ls -la + +script: + - if [ "${MACOSX_PACKAGE}" == "1" ]; then + cd "${TRAVIS_BUILD_DIR}"; + make -f Makefile.osx package; + else + CTEST_OUTPUT_ON_FAILURE=1 make all test; + fi + +# Coveralls options: https://github.com/eddyxu/cpp-coveralls/blob/master/README.md +after_success: + - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then + coveralls --include src --exclude src/main.c --exclude src/third_party --include include --gcov-options '\-lp' --root .. --build-root .; + bash <(curl -s https://codecov.io/bash); + fi + + +############################################################################## +# build matrix (auto generated) +############################################################################## + + +matrix: + fast_finish: false + include: + + - dist: trusty + sudo: false + os: linux + compiler: clang + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + packages: + - clang-3.8 + env: + idx=1 + N=Clang3.8-Linux-Minimal-Debug + MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" + BUILD_TYPE=Debug + ENABLE_SSL_DYNAMIC_LOADING=YES + OPENSSL_1_1=NO + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=0 + BUILD_SHARED=NO + NO_FILES=YES + ENABLE_SSL=NO + NO_CGI=YES + ENABLE_IPV6=NO + ENABLE_WEBSOCKETS=NO + ENABLE_SERVER_STATS=NO + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=NO + ALLOW_WARNINGS=YES + + - dist: trusty + sudo: false + os: linux + compiler: clang + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + packages: + - clang-3.8 + env: + idx=2 + N=Clang3.8-Linux-Default-Release + MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" + BUILD_TYPE=Release + ENABLE_SSL_DYNAMIC_LOADING=YES + OPENSSL_1_1=NO + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=7 + BUILD_SHARED=NO + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=NO + ENABLE_WEBSOCKETS=NO + ENABLE_SERVER_STATS=NO + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=NO + NO_CACHING=NO + ALLOW_WARNINGS=YES + + - dist: trusty + sudo: false + os: linux + compiler: clang + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + packages: + - clang-3.8 + env: + idx=3 + N=Clang3.8-Linux-Default-Release + MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" + BUILD_TYPE=Release + ENABLE_SSL_DYNAMIC_LOADING=YES + OPENSSL_1_1=NO + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=7 + BUILD_SHARED=NO + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=NO + ENABLE_WEBSOCKETS=NO + ENABLE_SERVER_STATS=NO + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=NO + ALLOW_WARNINGS=YES + + - dist: trusty + sudo: false + os: linux + compiler: clang + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + packages: + - clang-3.8 + env: + idx=4 + N=Clang3.8-Linux-Complete-NoLua-Release + MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" + BUILD_TYPE=Release + ENABLE_SSL_DYNAMIC_LOADING=YES + OPENSSL_1_1=NO + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=31 + BUILD_SHARED=NO + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=YES + ENABLE_WEBSOCKETS=YES + ENABLE_SERVER_STATS=YES + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=YES + ALLOW_WARNINGS=YES + + + - dist: trusty + sudo: false + os: linux + compiler: gcc + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-5 + env: + idx=5 + N=GCC5-Linux-Complete-NoLua-Release + MATRIX_EVAL="CC=gcc-5 && CXX=g++-5" + BUILD_TYPE=Release + ENABLE_SSL_DYNAMIC_LOADING=YES + OPENSSL_1_1=NO + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=31 + BUILD_SHARED=NO + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=YES + ENABLE_WEBSOCKETS=YES + ENABLE_SERVER_STATS=YES + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=YES + ALLOW_WARNINGS=YES + + - os: linux + compiler: gcc + env: + idx=6 + N=GCCAnyVersion-Linux-Coverage + BUILD_TYPE=Coverage + ENABLE_SSL_DYNAMIC_LOADING=YES + OPENSSL_1_1=NO + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=31 + BUILD_SHARED=NO + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=YES + ENABLE_WEBSOCKETS=YES + ENABLE_SERVER_STATS=YES + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=NO + ALLOW_WARNINGS=YES + + - os: osx + compiler: clang + env: + idx=7 + N=Clang-OSX-Complete-NoLua-Release + BUILD_TYPE=Release + ENABLE_SSL_DYNAMIC_LOADING=YES + OPENSSL_1_1=NO + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=31 + BUILD_SHARED=NO + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=YES + ENABLE_WEBSOCKETS=YES + ENABLE_SERVER_STATS=YES + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=YES + ALLOW_WARNINGS=YES + + - + os: osx + compiler: clang + env: + idx=8 + N=Clang-OSX-Complete-NoLua-Release-OpenSSL_1_1_NoDynLoad + BUILD_TYPE=OSX_OPENSSL_1_1 + ENABLE_SSL_DYNAMIC_LOADING=NO + OPENSSL_1_1=YES + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=31 + BUILD_SHARED=NO + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=YES + ENABLE_WEBSOCKETS=YES + ENABLE_SERVER_STATS=YES + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=YES + ALLOW_WARNINGS=YES + OPENSSL_ROOT_DIR="/usr/local/opt/openssl@1.1" + LDFLAGS="-L${OPENSSL_ROOT_DIR}/lib" + CFLAGS="-I${OPENSSL_ROOT_DIR}/include" + ADDITIONAL_CMAKE_ARGS="-DCMAKE_SHARED_LINKER_FLAGS=${LDFLAGS} -DCMAKE_C_FLAGS=${CFLAGS}" + PATH="${OPENSSL_ROOT_DIR}/bin:$PATH" + DYLD_LIBRARY_PATH="${OPENSSL_ROOT_DIR}/lib:${DYLD_LIBRARY_PATH}" + + - dist: trusty + sudo: false + os: linux + compiler: clang + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-5.0 + packages: + - clang-5.0 + env: + idx=9 + N=Clang50-Linux-Default-Shared + BUILD_TYPE=Debug + ENABLE_SSL_DYNAMIC_LOADING=YES + OPENSSL_1_1=NO + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=7 + BUILD_SHARED=YES + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=NO + ENABLE_WEBSOCKETS=NO + ENABLE_SERVER_STATS=NO + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=NO + ALLOW_WARNINGS=YES + MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" + + - + os: linux + dist: precise + sudo: required + compiler: clang + env: + idx=10 + N=Precise-Clang-Linux-Default + BUILD_TYPE=Debug + ENABLE_SSL_DYNAMIC_LOADING=YES + OPENSSL_1_1=NO + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=7 + BUILD_SHARED=NO + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=NO + ENABLE_WEBSOCKETS=NO + ENABLE_SERVER_STATS=NO + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=NO + ALLOW_WARNINGS=YES + + - + os: osx + compiler: clang + env: + idx=11 + N=OSX-Package + BUILD_TYPE=Release + ENABLE_SSL_DYNAMIC_LOADING=YES + OPENSSL_1_1=NO + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=31 + BUILD_SHARED=NO + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=YES + ENABLE_WEBSOCKETS=YES + ENABLE_SERVER_STATS=NO + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=NO + ALLOW_WARNINGS=YES + MACOSX_PACKAGE=1 + + - dist: trusty + sudo: false + os: linux + compiler: clang + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-3.8 + packages: + - clang-3.8 + env: + idx=12 + N=Clang-Linux-32bit-Complete-NoLua-Release + ARCH=x86 + BUILD_TYPE=Release + ENABLE_SSL_DYNAMIC_LOADING=YES + OPENSSL_1_1=NO + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=31 + BUILD_SHARED=NO + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=YES + ENABLE_WEBSOCKETS=YES + ENABLE_SERVER_STATS=YES + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=YES + ALLOW_WARNINGS=YES + MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" + + +### Test all build types: +# According to CMakeLists, options are: +# None Debug Release RelWithDebInfo MinSizeRel Coverage + + - + os: linux + compiler: clang + env: + idx=13 + N=NoSslDynamicLoading + BUILD_TYPE=Release + ENABLE_SSL_DYNAMIC_LOADING=NO + OPENSSL_1_1=NO + ENABLE_CXX=NO + C_STANDARD=auto + CXX_STANDARD=auto + ENABLE_LUA_SHARED=NO + FEATURES=31 + BUILD_SHARED=NO + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=YES + ENABLE_WEBSOCKETS=YES + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=NO + ALLOW_WARNINGS=YES + MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" + + - + os: linux + compiler: gcc + env: + idx=14 + N=GCCLinuxDefault_Debug + BUILD_TYPE=Debug + ENABLE_SSL_DYNAMIC_LOADING=YES + OPENSSL_1_1=NO + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=7 + BUILD_SHARED=NO + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=NO + ENABLE_WEBSOCKETS=NO + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=NO + ALLOW_WARNINGS=YES + + - + os: linux + compiler: gcc + env: + idx=15 + N=GCCLinuxDefault_RelWithDebInfo + BUILD_TYPE=RelWithDebInfo + ENABLE_SSL_DYNAMIC_LOADING=YES + OPENSSL_1_1=NO + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=7 + BUILD_SHARED=NO + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=NO + ENABLE_WEBSOCKETS=NO + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=NO + ALLOW_WARNINGS=YES + + - + os: linux + compiler: gcc + env: + idx=16 + N=GCCLinuxDefault_MinSizeRel + BUILD_TYPE=MinSizeRel + ENABLE_SSL_DYNAMIC_LOADING=YES + OPENSSL_1_1=NO + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=7 + BUILD_SHARED=NO + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=NO + ENABLE_WEBSOCKETS=NO + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=NO + ALLOW_WARNINGS=YES + + - + os: linux + compiler: gcc + env: + idx=17 + N=GCCLinuxDefault_None + BUILD_TYPE=None + ENABLE_SSL_DYNAMIC_LOADING=YES + OPENSSL_1_1=NO + ENABLE_CXX=NO + ENABLE_LUA_SHARED=NO + C_STANDARD=auto + CXX_STANDARD=auto + FEATURES=7 + BUILD_SHARED=NO + NO_FILES=NO + ENABLE_SSL=YES + NO_CGI=NO + ENABLE_IPV6=NO + ENABLE_WEBSOCKETS=NO + ENABLE_LUA=NO + ENABLE_DUKTAPE=NO + NO_CACHING=NO + ALLOW_WARNINGS=YES + + +#### Now all define combinations, but only for Linux clang +##### Generated with Lua: +# +# function YN(i,b) +# local bits = {} +# while (i > 0.5) do +# i = math.floor(i) +# bits[#bits+1] = (math.mod(i, 2) == 1) +# i = i/2 +# end +# if (bits[b]) then +# return "YES" +# end +# return "NO" +# end +# function INV(t) +# if t=="YES" then +# return "NO" +# elseif t=="NO" then +# return "YES" +# else +# assert("ERROR in INV!") +# end +# end +# for i=0,511 do +# if (YN(i, 6)=="NO") and (YN(i, 7)=="NO") then +# print(" -") +# print(" os: linux") +# print(" compiler: clang") +# print(" env:") +# print(" N=C" .. tostring(i) .. "_") +# print(" BUILD_TYPE=Release") +# print(" ENABLE_SSL_DYNAMIC_LOADING=YES") +# print(" OPENSSL_1_1=NO") +# print(" ENABLE_CXX=NO") +# print(" C_STANDARD=auto") +# print(" CXX_STANDARD=auto") +# print(" ENABLE_LUA_SHARED=NO") +# print(" FEATURES=" .. tostring(i)) +# print(" BUILD_SHARED=NO") +# print(" NO_FILES=" .. INV(YN(i, 1))) +# print(" ENABLE_SSL=" .. YN(i, 2)) +# print(" NO_CGI=" .. INV(YN(i, 3))) +# print(" ENABLE_IPV6=" .. YN(i, 4)) +# print(" ENABLE_WEBSOCKETS=" .. YN(i, 5)) +# print(" ENABLE_LUA=" .. YN(i, 6)) +# print(" ENABLE_DUKTAPE=" .. YN(i, 7)) +# print(" NO_CACHING=" .. INV(YN(i, 8))) +# print(" ENABLE_SERVER_STATS=" .. YN(i, 9)) +# print("") +# end +# end +# + +# TODO: Regenerate this matrix, once a stable Travis build is re-established + + -- cgit v1.2.3