vcpkg/ports/gstreamer/fix-clang-cl-gstreamer.patch
Alexander Neumann 02a26abda5
[gstreamer] fix clang-cl builds (#26096)
* gstreamer fix clang-cl

* v db
2022-08-03 10:40:07 -07:00

58 lines
1.8 KiB
Diff

diff --git a/gst/parse/meson.build b/gst/parse/meson.build
index 35ed6f2f4..5e38e49ea 100644
--- a/gst/parse/meson.build
+++ b/gst/parse/meson.build
@@ -16,7 +16,7 @@ else
endif
flex_cdata.set('FLEX', flex.path())
-if cc.get_id() == 'msvc'
+if cc.get_argument_syntax() == 'msvc'
flex_cdata.set('FLEX_ARGS', '--nounistd')
else
flex_cdata.set('FLEX_ARGS', '')
diff --git a/meson.build b/meson.build
index 772809e15..70b1eafc5 100644
--- a/meson.build
+++ b/meson.build
@@ -36,7 +36,7 @@ cc = meson.get_compiler('c')
cdata = configuration_data()
-if cc.get_id() == 'msvc'
+if cc.get_argument_syntax() == 'msvc'
msvc_args = [
# Ignore several spurious warnings for things gstreamer does very commonly
# If a warning is completely useless and spammy, use '/wdXXXX' to suppress it
@@ -61,7 +61,7 @@ endif
# Symbol visibility
have_visibility_hidden = false
-if cc.get_id() == 'msvc'
+if cc.get_argument_syntax() == 'msvc'
export_define = '__declspec(dllexport) extern'
elif cc.has_argument('-fvisibility=hidden')
add_project_arguments('-fvisibility=hidden', language: 'c')
@@ -313,8 +313,10 @@ static __uint128_t v2 = 10;
static __uint128_t u;
u = v1 / v2;
}'''
-if cc.compiles(uint128_t_src, name : '__uint128_t available')
- cdata.set('HAVE_UINT128_T', 1)
+if cc.get_argument_syntax() != 'msvc'
+ if cc.compiles(uint128_t_src, name : '__uint128_t available')
+ cdata.set('HAVE_UINT128_T', 1)
+ endif
endif
# All supported platforms have long long now
@@ -322,7 +324,7 @@ cdata.set('HAVE_LONG_LONG', 1)
# We only want to use the __declspec(dllexport/import) dance in GST_EXPORT when
# building with MSVC
-if cc.get_id() == 'msvc'
+if cc.get_argument_syntax() == 'msvc'
cdata.set('GSTCONFIG_BUILT_WITH_MSVC', 1)
else
cdata.set('GSTCONFIG_BUILT_WITH_MSVC', 0)