On Wed, May 25, 2022 at 11:05:39AM +0000, Matt Oliver wrote: > From: Matt Oliver > > Was "[PATCH] libx264: Do not explicitly set X264_API_IMPORTS" > > Setting X264_API_IMPORTS only affects msvc builds and it breaks > linking to static builds (although is required for shared builds). > This flag is set by x264 in its pkgconfig as required since build > 158 (a615f027ed172e2dd5380e736d487aa858a0c4ff) from July 2019. > So this patch updates configure to require a newer x264 build that > correctly sets the imports flag. > > The requirement for 158 is applied for msvc builds only, > no change is made for all other cases. > > Co-authored-by: softworkz > Signed-off-by: softworkz > Signed-off-by: Matt Oliver > --- > libx264: Set min build version to 158 > > I'm submitting this patch on behalf of Matt with his permission. > > There was agreement that the >= 158 version requirement should be > applied to MSVC builds only. > > v2: restrict the version requirement to msvc builds > v3: fix unintended author change > v4: add missing braces > > Published-As: https://github.com/ffstaging/FFmpeg/releases/tag/pr-ffstaging-30%2Fsoftworkz%2Fsubmit_x264_api_imports_matt-v4 > Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg pr-ffstaging-30/softworkz/submit_x264_api_imports_matt-v4 > Pull-Request: https://github.com/ffstaging/FFmpeg/pull/30 > > Range-diff vs v3: > > 1: 374130a09e ! 1: 0d1bee35b0 libx264: Set min build version to 158 > @@ configure: enabled libvpx && { > - require_cpp_condition libx264 x264.h "X264_BUILD >= 118" && > - check_cpp_condition libx262 x264.h "X264_MPEG2" > +enabled libx264 && check_pkg_config libx264 x264 "stdint.h x264.h" x264_encoder_encode && > -+ require_cpp_condition libx264 x264.h "X264_BUILD >= 158" || > -+ { "$toolchain" != msvc && require_cpp_condition libx264 x264.h "X264_BUILD >= 118"; } > ++ { require_cpp_condition libx264 x264.h "X264_BUILD >= 158" || > ++ { "$toolchain" != msvc && require_cpp_condition libx264 x264.h "X264_BUILD >= 118"; }; } > enabled libx265 && require_pkg_config libx265 x265 x265.h x265_api_get && > require_cpp_condition libx265 x265.h "X265_BUILD >= 70" > enabled libxavs && require libxavs "stdint.h xavs.h" xavs_encoder_encode "-lxavs $pthreads_extralibs $libm_extralibs" > > > configure | 8 +++----- > libavcodec/libx264.c | 4 ---- > 2 files changed, 3 insertions(+), 9 deletions(-) > > diff --git a/configure b/configure > index f115b21064..129473c75c 100755 > --- a/configure > +++ b/configure > @@ -6656,11 +6656,9 @@ enabled libvpx && { > enabled libwebp && { > enabled libwebp_encoder && require_pkg_config libwebp "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion > enabled libwebp_anim_encoder && check_pkg_config libwebp_anim_encoder "libwebpmux >= 0.4.0" webp/mux.h WebPAnimEncoderOptionsInit; } > -enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x264_encoder_encode || > - { require libx264 "stdint.h x264.h" x264_encoder_encode "-lx264 $pthreads_extralibs $libm_extralibs" && > - warn "using libx264 without pkg-config"; } } && > - require_cpp_condition libx264 x264.h "X264_BUILD >= 118" && > - check_cpp_condition libx262 x264.h "X264_MPEG2" > +enabled libx264 && check_pkg_config libx264 x264 "stdint.h x264.h" x264_encoder_encode && > + { require_cpp_condition libx264 x264.h "X264_BUILD >= 158" || > + { "$toolchain" != msvc && require_cpp_condition libx264 x264.h "X264_BUILD >= 118"; }; } On ubuntu LTS: ERROR: X264_BUILD >= 158 not satisfied If you think configure made a mistake, make sure you are using the latest version from Git. If the latest version fails, report the problem to the ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.libera.chat. Include the log file "ffbuild/config.log" produced by configure as this will help solve the problem. [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Nations do behave wisely once they have exhausted all other alternatives. -- Abba Eban