From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id C352B40059 for ; Tue, 17 Feb 2026 13:30:51 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'0vXZbmjBchkhzscu6aRIoNBGoz2lvZcvdmS5rfXDmaI=', expected b'OlLqQa40T4v0P2DC7nbsyyNzFKEiLqkRwS+jTN5Puts=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1771335036; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=0vXZbmjBchkhzscu6aRIoNBGoz2lvZcvdmS5rfXDmaI=; b=j/YMCCYEokhgOzXWs+xoKpeMdMY+glb+WjsnWwTqZCk0oKVMBbUfodevx0tiUHg/XvxFQ TjIbD5R4IV0Fs/KH1aRLVwCbB/DClil6yOOgbq3BCsIah2fVQoKyt76n8qvn4CkqvqaJbxS Hpd5iuNzZE0VKC5aBEbTyJTr6DNZfdjG0Vv+5o50voW2aNb5IfBu4DO0JFX7QedzGWrHDSx RicJsnSQLyufOTh40V81IV0Gll1EKiDZ2v8r9ZHTwmNuIRvYm6Wu27ZDmbM5C08PTZSga6S C3iN7H2+TTVPdC1LJU089nZaN9rfBUXXPp4Z/SnUuZKTY4XDfaF3ZmsM9krA== Received: from [172.18.0.3] (unknown [172.18.0.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 46A1D6911BE; Tue, 17 Feb 2026 15:30:36 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1771335022; b=JjRVMMaL1KnO8+yuBlES1NwmEVV7FIN9kMhXULyypf0/eHIAsWbwjkjJrqpv9T7Vg/qA/ cXyBigMZ1vCG8gv6Z7e43jMjXxIoKu3IzfaV647RSeuDIY+cPUL8Lez6sxZA+/VmWSDXiP7 x6ucqIzpDD5fUnBaw5r2uP5Bou2fZ1/ZnBrebShNVXfOc9kgVfOICTSaMS8Plx9LfKOTt97 gScm8z3gY+JG/EgRAG9zhV17yvYyCMsIRoW9YIEVdHmV6sxz/unN3JVag2NIhnVqpRNr65k M69/MUMQBqbO55BHLLTBFtEyMA8Wrs1rjcAL1f83VygjjXoNM//ILpIhlS/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1771335022; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=REN6Ea9A6LHSpMXmv0P2wc21K0AYx15NHh5zaYWx0ME=; b=edljt0vrYwMjfKZ50qNODW+jvw9kVCysuvmOToHBzsMEIvVoBdSQEsV5zg6v3ju57zZ9h Jm893b6XBwE7cjueeQr4UvqmxSVtIe11PbbmMhT1Licobx36Ds79+tiRUWlP1oFGbrR+Kgu 9z1Cvu+6xEqG+f05G5szxVFdnTjqZDqe7mzSc2IM0NuF6qAPm0EEORYtxej2Fda37XLULJ7 acU0VX4HkBCanZo9uyAUn2xAwp/SUL2seWQTd4QR7m8hXZBpryjc3Mm/YtsYKNAeqDRqDBU d3GeSgUBkuC4hMrNbvz6EyzoAweSnqkQ2ozWwmQmFvQDj6y9HkosVxs6Pxpw== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1771335015; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=OlLqQa40T4v0P2DC7nbsyyNzFKEiLqkRwS+jTN5Puts=; b=Lg/0PuJN72rTeF1At2tPt2KQy67LuczPQhrBrRtlS9q/1yJD2eMxdxoYfI2DmafpPbKNy fNh1/1b82LzVqwLyj53ZP86/aAZ0vAcPlEltEm9wJrRDeOyhfdDCCwjYKcbqU68WP+OxZI+ 76HZfFS2hhOgGYqe/jvfic9OQE12zcree26bfpDr28zDhLwaB0rHJxWutHT3Px7Ut5B0OUI ON0d5qqRD8RH51ihrmUvLgVbgEj6ATmdNXcmbmYDDGsclyw4zvvr3V2C9opjgV3xj1PKOD8 OVtm8nUKq3bUi6r9aMbluvFrd6kbRXkzcA51F9mcoZgFx6et5cncNY/yoMjw== Received: from c8d966988b92 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id E588569110D for ; Tue, 17 Feb 2026 15:30:14 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Tue, 17 Feb 2026 13:30:14 -0000 Message-ID: <177133501510.25.3241520465582664203@29965ddac10e> Message-ID-Hash: DB6E4R2IB73L7WGGDCQ427LFT2YHJTRO X-Message-ID-Hash: DB6E4R2IB73L7WGGDCQ427LFT2YHJTRO X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PR] Cleanup OpenColorIO detection (PR #21773) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Marvin Scholz via ffmpeg-devel Cc: Marvin Scholz Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #21773 opened by Marvin Scholz (ePirat) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21773 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21773.patch Introduce a function (require_pkg_config_cxx) to properly check for C++ pkg-config dependencies with a class name and remove the confusingly named require_cpp and check_lib_cpp which were added for it before, as those have nothing to do with the C pre-processor so should be named _cxx but we already have functions for that purpose, so there is little value in keeping them. >>From f1cecb551298a373e58ee001fe2fa86c02070c16 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Sep 2024 23:18:46 +0200 Subject: [PATCH 1/4] configure: add {test,check,require}_pkg_config_cxx This is necessary to check for C++ only pkg-config dependencies --- configure | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/configure b/configure index 8a397598cd..9e2dfe4050 100755 --- a/configure +++ b/configure @@ -1642,6 +1642,26 @@ test_pkg_config_cpp(){ set_sanitized "${name}_incflags" $pkg_incflags } +test_pkg_config_cxx(){ + log test_pkg_config_cxx "$@" + name="$1" + pkg_version="$2" + pkg="${2%% *}" + headers="$3" + classes="$4" + shift 4 + disable $name + test_cmd $pkg_config --exists --print-errors $pkg_version || return + pkg_cflags=$($pkg_config --cflags $pkg_config_flags $pkg) + pkg_libs=$($pkg_config --libs $pkg_config_flags $pkg) + pkg_incdir=$($pkg_config --variable=includedir $pkg_config_flags $pkg) + check_class_headers_cxx "$headers" "$classes" $pkg_cflags $pkg_libs "-lstdc++" "$@" && + enable $name && + set_sanitized "${name}_cflags" $pkg_cflags && + set_sanitized "${name}_incdir" $pkg_incdir && + set_sanitized "${name}_extralibs" $pkg_libs "-lstdc++" +} + check_pkg_config(){ log check_pkg_config "$@" name="$1" @@ -1656,6 +1676,13 @@ check_pkg_config_cpp(){ eval add_cflags \$${name}_cflags } +check_pkg_config_cxx(){ + log check_pkg_config_cxx "$@" + name="$1" + test_pkg_config_cxx "$@" && + eval add_cxxflags \$${name}_cflags +} + check_pkg_config_header_only(){ log check_pkg_config_cpp "$@" name="$1" @@ -1809,6 +1836,12 @@ require_pkg_config_cpp(){ check_pkg_config_cpp "$@" || die "ERROR: $pkg_version not found using pkg-config$pkg_config_fail_message" } +require_pkg_config_cxx(){ + log require_pkg_config_cxx "$@" + pkg_version="$2" + check_pkg_config_cxx "$@" || die "ERROR: $pkg_version not found using pkg-config$pkg_config_fail_message" +} + test_host_cc(){ log test_host_cc "$@" cat > $TMPC -- 2.52.0 >>From 8017a0e92fbbfa8bae68a9b14f2a9707ec261fee Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 14:17:16 +0100 Subject: [PATCH 2/4] configure: do not require default-constructible class When checking for C++ classes in check_class_headers_cxx, the test code required the class to be default-constructible, which is not always the case. For the sake of the test, it is enough to check that referencing the class succeeds. --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 9e2dfe4050..063930bea8 100755 --- a/configure +++ b/configure @@ -1499,7 +1499,7 @@ check_class_headers_cxx(){ echo "int main(void) { " i=1 for class in $classes; do - echo "$class obj$i;" + echo "$class *obj$i;" i=$(expr $i + 1) done echo "return 0; }" -- 2.52.0 >>From 5fde80eda180f37760164cf6af45f701de14b8c4 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 14:25:16 +0100 Subject: [PATCH 3/4] configure: cleanup libopencolorio check Do a proper pkg-config check instead of just blindly compiling a test program even if pkg-config doesn't find anything. --- configure | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/configure b/configure index 063930bea8..35fb6ae9ee 100755 --- a/configure +++ b/configure @@ -7338,10 +7338,7 @@ enabled libopencore_amrnb && require libopencore_amrnb opencore-amrnb/interf_dec enabled libopencore_amrwb && require libopencore_amrwb opencore-amrwb/dec_if.h D_IF_init -lopencore-amrwb enabled libopencv && { check_pkg_config libopencv opencv4 opencv2/core/core_c.h cvCreateImageHeader || require libopencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } -enabled libopencolorio && add_cxxflags $(pkg-config --cflags OpenColorIO) && - OCIO_LIBS=$($pkg_config --libs OpenColorIO) && - require_cpp OpenColorIO OpenColorIO/OpenColorIO.h "namespace OCIO = OCIO_NAMESPACE; OCIO::ConfigRcPtr cfg = OCIO::Config::Create();" $OCIO_LIBS -lstdc++ && - append libopencolorio_extralibs "$OCIO_LIBS -lstdc++" +enabled libopencolorio && require_pkg_config_cxx libopencolorio "OpenColorIO" OpenColorIO/OpenColorIO.h OCIO_NAMESPACE::Config enabled libopenh264 && require_pkg_config libopenh264 "openh264 >= 1.3.0" wels/codec_api.h WelsGetCodecVersion enabled libopenjpeg && { check_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version || { require_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } } -- 2.52.0 >>From e0fdd396ecf35092d51be1dd65622b6144848941 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 14:26:25 +0100 Subject: [PATCH 4/4] configure: remove require_cpp, check_lib_cpp Remove the improperly named check functions that were added for the opencolorio detection in 677cf95ea4be805fa326adb082eff666a2e790ea. Those are not needed anymore and there are already require_cxx and check_lib_cxx for this purpose. --- configure | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/configure b/configure index 35fb6ae9ee..d226e1f5f3 100755 --- a/configure +++ b/configure @@ -1580,17 +1580,6 @@ check_lib(){ enable $name && eval ${name}_extralibs="\$@" } -check_lib_cpp(){ - log check_lib_cpp "$@" - name="$1" - headers="$2" - code="$3" - shift 3 - disable $name - test_code ld "$headers" "$code" cxx "$@" && - enable $name && eval ${name}_extralibs="\$@" -} - check_lib_cxx(){ log check_lib_cxx "$@" name="$1" @@ -1804,14 +1793,6 @@ require_cxx(){ check_lib_cxx "$name" "$@" || die "ERROR: $name_version not found" } -require_cpp(){ - log require_cpp "$@" - name_version="$1" - name="${1%% *}" - shift - check_lib_cpp "$name" "$@" || die "ERROR: $name_version not found" -} - require_headers(){ log require_headers "$@" headers="$1" -- 2.52.0 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org