mirror of
https://github.com/mpv-player/mpv
synced 2024-12-26 00:42:57 +00:00
build: fix compilation with mingw-w64/Clang
This fixes the build in mingw-w64/Clang on MSYS2. It also disables the use of gnu_printf in Clang, which was what was causing most of the warnings. The Clang-compiled mpv binary appears to work, but there are no guarantees yet, since until now mpv has only been tested with mingw-w64/GCC on Windows. Fixes #3800
This commit is contained in:
parent
a3c27786c6
commit
40b626fd9b
@ -10,7 +10,7 @@
|
|||||||
/** Use gcc attribute to check printf fns. a1 is the 1-based index of
|
/** Use gcc attribute to check printf fns. a1 is the 1-based index of
|
||||||
* the parameter containing the format, and a2 the index of the first
|
* the parameter containing the format, and a2 the index of the first
|
||||||
* argument. **/
|
* argument. **/
|
||||||
#ifdef __MINGW32__
|
#if defined(__MINGW32__) && !defined(__clang__)
|
||||||
// MinGW maps "printf" to the non-standard MSVCRT functions, even if
|
// MinGW maps "printf" to the non-standard MSVCRT functions, even if
|
||||||
// __USE_MINGW_ANSI_STDIO is defined and set to 1. We need to use "gnu_printf",
|
// __USE_MINGW_ANSI_STDIO is defined and set to 1. We need to use "gnu_printf",
|
||||||
// which isn't necessarily available on other GCC compatible compilers.
|
// which isn't necessarily available on other GCC compatible compilers.
|
||||||
|
2
ta/ta.h
2
ta/ta.h
@ -27,7 +27,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Broken crap with __USE_MINGW_ANSI_STDIO
|
// Broken crap with __USE_MINGW_ANSI_STDIO
|
||||||
#ifdef __MINGW32__
|
#if defined(__MINGW32__) && defined(__GNUC__) && !defined(__clang__)
|
||||||
#undef TA_PRF
|
#undef TA_PRF
|
||||||
#define TA_PRF(a1, a2) __attribute__ ((format (gnu_printf, a1, a2)))
|
#define TA_PRF(a1, a2) __attribute__ ((format (gnu_printf, a1, a2)))
|
||||||
#endif
|
#endif
|
||||||
|
2
wscript
2
wscript
@ -119,7 +119,7 @@ main_dependencies = [
|
|||||||
'name': 'mingw',
|
'name': 'mingw',
|
||||||
'desc': 'MinGW',
|
'desc': 'MinGW',
|
||||||
'deps': [ 'os-win32' ],
|
'deps': [ 'os-win32' ],
|
||||||
'func': check_statement('stddef.h', 'int x = __MINGW32__;'
|
'func': check_statement('stdlib.h', 'int x = __MINGW32__;'
|
||||||
'int y = __MINGW64_VERSION_MAJOR'),
|
'int y = __MINGW64_VERSION_MAJOR'),
|
||||||
}, {
|
}, {
|
||||||
'name': 'posix',
|
'name': 'posix',
|
||||||
|
Loading…
Reference in New Issue
Block a user