mirror of
https://github.com/curl/curl.git
synced 2026-01-26 15:03:21 +00:00
Drop separate `TrackMemory` (aka `CURLDEBUG`) debug feature. After recent changes (thread-safety, 193cb00ce9b47e75d42157c650cc3de3fd96d35d, and updates leading up to it), `TrackMemory` is unlikely to cause build or runtime issues. To simplify builds and debug options, enable `TrackMemory` unconditionally for debug-enabled (aka `DEBUGBUILD`) builds. Before this patch, this was already the default, with an option to disable it, or enable it in non-debug-enabled builds. Note, in practice these two debug options already went hand in hand. It was not possible to toggle them separately for a long time due to bugs, before 59dc9f7e69c399102e9ebe3670360ef52706ff23 (2024-05-28) fixed it. This patch also removes/deprecates separate knobs and feature flags for `TrackMemory`: - autotools: `--enable-curldebug`/`--disable-curldebug` - cmake: `-DENABLE_CURLDEBUG=ON`/`OFF` - C macro: `CURLDEBUG` - libcurl: `CURL_VERSION_CURLDEBUG` symbol deprecated in favor of `CURL_VERSION_DEBUG`. They always return the same value after this patch. Also: - drop `TrackMemory` from `curl -V` output. - rename internal `CURLDEBUG` macro to `CURL_MEMDEBUG` internally. To avoid confusion with `DEBUGBUILD`, but to keep guarding `TrackMemory`-related internals for readability. - runtests: bind `TrackMemory` to debug feature. Keep it a separate test feature requirement, for clarity. - CI: drop test builds for combinations of the two options. - GHA/linux: no longer disable TrackMemory in the TSAN job. Ref: https://github.com/curl/curl/pull/20328#issuecomment-3754528407 Closes #20331
185 lines
5.9 KiB
YAML
185 lines
5.9 KiB
YAML
#***************************************************************************
|
|
# _ _ ____ _
|
|
# Project ___| | | | _ \| |
|
|
# / __| | | | |_) | |
|
|
# | (__| |_| | _ <| |___
|
|
# \___|\___/|_| \_\_____|
|
|
#
|
|
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
#
|
|
# This software is licensed as described in the file COPYING, which
|
|
# you should have received as part of this distribution. The terms
|
|
# are also available at https://curl.se/docs/copyright.html.
|
|
#
|
|
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
# copies of the Software, and permit persons to whom the Software is
|
|
# furnished to do so, under the terms of the COPYING file.
|
|
#
|
|
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
# KIND, either express or implied.
|
|
#
|
|
# SPDX-License-Identifier: curl
|
|
#
|
|
###########################################################################
|
|
|
|
# https://ci.appveyor.com/project/curlorg/curl/history
|
|
# AppVeyor configuration:
|
|
# https://www.appveyor.com/docs/appveyor-yml/
|
|
# AppVeyor worker images:
|
|
# https://www.appveyor.com/docs/windows-images-software/
|
|
|
|
version: 7.50.0.{build}
|
|
|
|
environment:
|
|
BUILD_SYSTEM: CMake
|
|
UNITY: 'ON'
|
|
OPENSSL: 'OFF'
|
|
SCHANNEL: 'OFF'
|
|
ENABLE_UNICODE: 'OFF'
|
|
DEBUG: 'ON'
|
|
SHARED: 'OFF'
|
|
HTTP_ONLY: 'OFF'
|
|
TFLAGS: 'skiprun'
|
|
EXAMPLES: 'OFF'
|
|
|
|
matrix:
|
|
|
|
# generated CMake-based Visual Studio builds
|
|
|
|
- job_name: 'CM VS2022, Release, x64, OpenSSL 3.5, Shared, Build-tests'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
|
|
PRJ_GEN: 'Visual Studio 17 2022'
|
|
TARGET: '-A x64'
|
|
PRJ_CFG: Release
|
|
OPENSSL: 'ON'
|
|
SHARED: 'ON'
|
|
- job_name: 'CM VS2022, Release, arm64, Schannel, Static, no-DEBUGBUILD, Build-tests'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
|
|
PRJ_GEN: 'Visual Studio 17 2022'
|
|
TARGET: '-A ARM64'
|
|
PRJ_CFG: Release
|
|
SCHANNEL: 'ON'
|
|
DEBUG: 'OFF'
|
|
- job_name: 'CM VS2010, Debug, x64, Schannel, Shared, Build-tests & examples'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2013'
|
|
PRJ_GEN: 'Visual Studio 10 2010'
|
|
TARGET: '-A x64'
|
|
PRJ_CFG: Debug
|
|
SCHANNEL: 'ON'
|
|
SHARED: 'ON'
|
|
EXAMPLES: 'ON'
|
|
- job_name: 'CM VS2012, Release, x86, Schannel, Shared, Build-tests'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
|
|
PRJ_GEN: 'Visual Studio 11 2012'
|
|
TARGET: '-A Win32'
|
|
PRJ_CFG: Release
|
|
SCHANNEL: 'ON'
|
|
SHARED: 'ON'
|
|
- job_name: 'CM VS2013, Debug, x64, Schannel, Shared, Build-only'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
|
|
CMAKE_VERSION: '3.18.4'
|
|
PRJ_GEN: 'Visual Studio 12 2013'
|
|
TARGET: '-A x64'
|
|
PRJ_CFG: Debug
|
|
SCHANNEL: 'ON'
|
|
SHARED: 'ON'
|
|
TFLAGS: 'skipall'
|
|
- job_name: 'CM VS2015, Debug, x64, Schannel, Static, Build-only'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
|
|
CMAKE_VERSION: '3.19.8'
|
|
PRJ_GEN: 'Visual Studio 14 2015'
|
|
TARGET: '-A x64'
|
|
PRJ_CFG: Debug
|
|
SCHANNEL: 'ON'
|
|
TFLAGS: 'skipall'
|
|
- job_name: 'CM VS2017, Debug, x64, Schannel, Shared, Build-only'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
|
|
CMAKE_VERSION: '3.20.6'
|
|
PRJ_GEN: 'Visual Studio 15 2017'
|
|
TARGET: '-A x64'
|
|
PRJ_CFG: Debug
|
|
SCHANNEL: 'ON'
|
|
SHARED: 'ON'
|
|
TFLAGS: 'skipall'
|
|
- job_name: 'CM VS2019, Debug, x64, OpenSSL 3.0 + Schannel, Shared, Build-tests'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2019'
|
|
PRJ_GEN: 'Visual Studio 16 2019'
|
|
TARGET: '-A x64'
|
|
PRJ_CFG: Debug
|
|
OPENSSL: 'ON'
|
|
SCHANNEL: 'ON'
|
|
SHARED: 'ON'
|
|
- job_name: 'CM VS2022, Debug, x64, OpenSSL 3.5 + Schannel, Static, Unicode, Build-tests & examples, clang-cl'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
|
|
PRJ_GEN: 'Visual Studio 17 2022'
|
|
TARGET: '-A x64'
|
|
PRJ_CFG: Debug
|
|
OPENSSL: 'ON'
|
|
SCHANNEL: 'ON'
|
|
ENABLE_UNICODE: 'ON'
|
|
EXAMPLES: 'ON'
|
|
TOOLSET: 'ClangCl'
|
|
- job_name: 'CM VS2022, Release, x64, Schannel, Shared, Unicode, no-DEBUGBUILD, Build-tests'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
|
|
PRJ_GEN: 'Visual Studio 17 2022'
|
|
TARGET: '-A x64'
|
|
PRJ_CFG: Release
|
|
SCHANNEL: 'ON'
|
|
ENABLE_UNICODE: 'ON'
|
|
SHARED: 'ON'
|
|
DEBUG: 'OFF'
|
|
- job_name: 'CM VS2022, Debug, x64, no SSL, Static, Build-tests'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
|
|
PRJ_GEN: 'Visual Studio 17 2022'
|
|
TARGET: '-A x64'
|
|
PRJ_CFG: Debug
|
|
- job_name: 'CM VS2022, Debug, x64, no SSL, Static, HTTP only, Build-tests'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
|
|
PRJ_GEN: 'Visual Studio 17 2022'
|
|
TARGET: '-A x64'
|
|
PRJ_CFG: Debug
|
|
HTTP_ONLY: 'ON'
|
|
|
|
# generated VisualStudioSolution-based builds
|
|
|
|
- job_name: 'VisualStudioSolution VS2010, Release, x86, Schannel, Build-only'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2013'
|
|
BUILD_SYSTEM: VisualStudioSolution
|
|
PRJ_CFG: 'DLL Release - DLL Windows SSPI - DLL WinIDN'
|
|
PLAT: 'Win32'
|
|
VC_VERSION: VC10
|
|
- job_name: 'VisualStudioSolution VS2013, Debug, x64, Schannel, Build-only'
|
|
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
|
|
BUILD_SYSTEM: VisualStudioSolution
|
|
PRJ_CFG: 'DLL Debug - DLL Windows SSPI - DLL WinIDN'
|
|
PLAT: 'x64'
|
|
VC_VERSION: VC12
|
|
|
|
install:
|
|
- ps: $env:PATH = "C:/msys64/usr/bin;$env:PATH"
|
|
|
|
build_script:
|
|
- cmd: sh -c ./appveyor.sh
|
|
|
|
clone_depth: 10
|
|
|
|
# select branches to avoid testing feature branches twice (as branch and as pull request)
|
|
branches:
|
|
only:
|
|
- master
|
|
- /\/ci$/
|
|
|
|
skip_commits:
|
|
files:
|
|
- '.circleci/*'
|
|
- '.github/**/*'
|
|
- 'Dockerfile'
|
|
- 'projects/OS400/*'
|
|
- 'projects/vms/*'
|
|
|
|
#artifacts:
|
|
# - path: '**/curl.exe'
|
|
# name: curl
|
|
# - path: '**/*.dll'
|
|
# name: libcurl dll
|