From d2630877132edac876779ff31ae61685f09199c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= Date: Fri, 15 Sep 2023 16:51:44 +0200 Subject: [PATCH] meson: don't link pthreads when internal impl is used --- meson.build | 9 ++++++--- test/meson.build | 6 +++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build index fb9ebbfae6..13f2b612b6 100644 --- a/meson.build +++ b/meson.build @@ -24,7 +24,6 @@ libswresample = dependency('libswresample', version: '>= 3.9.100') libswscale = dependency('libswscale', version: '>= 5.9.100') libass = dependency('libass', version: '>= 0.12.2') -pthreads = dependency('threads') # the dependency order of libass -> ffmpeg is necessary due to # static linking symbol resolution between fontconfig and MinGW @@ -34,8 +33,7 @@ dependencies = [libass, libavformat, libavutil, libswresample, - libswscale, - pthreads] + libswscale] # Keeps track of all enabled/disabled features features = { @@ -364,6 +362,11 @@ if features['win32-internal-pthreads'] # Hack around it by using HAVE_WIN32_INTERNAL_PTHREADS. includedir += include_directories('osdep/win32/include') sources += files('osdep/win32/pthread.c') +else + # pthreads is intentionally left undefined in win32 branch to find incorrect + # uses of it immediately + pthreads = dependency('threads') + dependencies += pthreads endif pthread_debug = get_option('pthread-debug').require( diff --git a/test/meson.build b/test/meson.build index 82e89aec52..d5d567caa1 100644 --- a/test/meson.build +++ b/test/meson.build @@ -31,6 +31,9 @@ test_utils_files = [ 'ta/ta_talloc.c', 'ta/ta_utils.c' ] + +test_utils_deps = [libavutil, libm] + # The zimg code requires using threads. On windows, threads # also requires timer code so this is added. if features['win32-internal-pthreads'] @@ -39,9 +42,10 @@ if features['win32-internal-pthreads'] 'osdep/timer-win2.c', 'osdep/win32/pthread.c', 'osdep/windows_utils.c'] +else + test_utils_deps += pthreads endif -test_utils_deps = [libavutil, libm, pthreads] if features['win32-desktop'] test_utils_deps += cc.find_library('winmm') endif