From: Vinson Lee Date: Thu, 28 Nov 2019 08:05:13 +0000 (-0800) Subject: scons: Bump C standard to gnu11 on macOS 10.15. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0d21fe5397884cd395c754141d1416e05152298c;p=mesa.git scons: Bump C standard to gnu11 on macOS 10.15. Fix build error on macOS 10.15 Catalina. src/util/u_queue.c:179:7: error: implicit declaration of function 'timespec_get' is invalid in C99 [-Werror,-Wimplicit-function-declaration] timespec_get(&ts, TIME_UTC); ^ timespec_get needs C11 starting with macOS 10.15. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/time.h 193 #if (__DARWIN_C_LEVEL >= __DARWIN_C_FULL) && \ 194 ((defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \ 195 (defined(__cplusplus) && __cplusplus >= 201703L)) 196 /* ISO/IEC 9899:201x 7.27.2.5 The timespec_get function */ 197 #define TIME_UTC 1 /* time elapsed since epoch */ 198 __API_AVAILABLE(macosx(10.15), ios(13.0), tvos(13.0), watchos(6.0)) 199 int timespec_get(struct timespec *ts, int base); 200 #endif Signed-off-by: Vinson Lee Acked-by: Eric Engestrom --- diff --git a/scons/gallium.py b/scons/gallium.py index c0f6f6c91ca..ea212d15a95 100755 --- a/scons/gallium.py +++ b/scons/gallium.py @@ -491,8 +491,11 @@ def generate(env): '-Werror=missing-prototypes', '-Werror=return-type', '-Werror=incompatible-pointer-types', - '-std=gnu99', ] + if platform == 'darwin' and host_platform.mac_ver()[0] >= '10.15': + cflags += ['-std=gnu11'] + else: + cflags += ['-std=gnu99'] if icc: cflags += [ '-std=gnu99',