Fix #2187
This commit is contained in:
parent
e3e02c7271
commit
7bf0afa621
1
glfw/init.c
vendored
1
glfw/init.c
vendored
@ -27,7 +27,6 @@
|
|||||||
// Please use C89 style variable declarations in this file because VS 2010
|
// Please use C89 style variable declarations in this file because VS 2010
|
||||||
//========================================================================
|
//========================================================================
|
||||||
|
|
||||||
#define MONOTONIC_START_MODULE
|
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
#include "mappings.h"
|
#include "mappings.h"
|
||||||
|
|
||||||
|
|||||||
10
glfw/monotonic.c
vendored
Normal file
10
glfw/monotonic.c
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
/*
|
||||||
|
* monotonic.c
|
||||||
|
* Copyright (C) 2019 Kovid Goyal <kovid at kovidgoyal.net>
|
||||||
|
*
|
||||||
|
* Distributed under terms of the GPL3 license.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define _POSIX_C_SOURCE 200809L
|
||||||
|
#define MONOTONIC_IMPLEMENTATION
|
||||||
|
#include "../kitty/monotonic.h"
|
||||||
@ -31,6 +31,7 @@
|
|||||||
"input.c",
|
"input.c",
|
||||||
"monitor.c",
|
"monitor.c",
|
||||||
"vulkan.c",
|
"vulkan.c",
|
||||||
|
"monotonic.c",
|
||||||
"window.c"
|
"window.c"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
@ -5,7 +5,6 @@
|
|||||||
* Distributed under terms of the GPL3 license.
|
* Distributed under terms of the GPL3 license.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define MONOTONIC_START_MODULE
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
// Needed for _CS_DARWIN_USER_CACHE_DIR
|
// Needed for _CS_DARWIN_USER_CACHE_DIR
|
||||||
#define _DARWIN_C_SOURCE
|
#define _DARWIN_C_SOURCE
|
||||||
|
|||||||
10
kitty/monotonic.c
Normal file
10
kitty/monotonic.c
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
/*
|
||||||
|
* monotonic.c
|
||||||
|
* Copyright (C) 2019 Kovid Goyal <kovid at kovidgoyal.net>
|
||||||
|
*
|
||||||
|
* Distributed under terms of the GPL3 license.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define _POSIX_C_SOURCE 200809L
|
||||||
|
#define MONOTONIC_IMPLEMENTATION
|
||||||
|
#include "monotonic.h"
|
||||||
@ -61,14 +61,21 @@ static inline double monotonic_t_to_s_double(monotonic_t time) {
|
|||||||
return (double)time / 1000.0 / 1000.0 / 1000.0;
|
return (double)time / 1000.0 / 1000.0 / 1000.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef MONOTONIC_START_MODULE
|
|
||||||
monotonic_t monotonic_start_time = 0;
|
|
||||||
#else
|
|
||||||
extern monotonic_t monotonic_start_time;
|
extern monotonic_t monotonic_start_time;
|
||||||
#endif
|
extern monotonic_t monotonic_(void);
|
||||||
|
|
||||||
|
static inline monotonic_t monotonic(void) {
|
||||||
|
return monotonic_() - monotonic_start_time;
|
||||||
|
}
|
||||||
|
|
||||||
static inline monotonic_t monotonic_(void) {
|
static inline void init_monotonic(void) {
|
||||||
|
monotonic_start_time = monotonic_();
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef MONOTONIC_IMPLEMENTATION
|
||||||
|
monotonic_t monotonic_start_time = 0;
|
||||||
|
|
||||||
|
monotonic_t monotonic_(void) {
|
||||||
struct timespec ts = {0};
|
struct timespec ts = {0};
|
||||||
#ifdef CLOCK_HIGHRES
|
#ifdef CLOCK_HIGHRES
|
||||||
clock_gettime(CLOCK_HIGHRES, &ts);
|
clock_gettime(CLOCK_HIGHRES, &ts);
|
||||||
@ -79,11 +86,4 @@ static inline monotonic_t monotonic_(void) {
|
|||||||
#endif
|
#endif
|
||||||
return calc_nano_time(ts);
|
return calc_nano_time(ts);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
static inline monotonic_t monotonic(void) {
|
|
||||||
return monotonic_() - monotonic_start_time;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void init_monotonic(void) {
|
|
||||||
monotonic_start_time = monotonic_();
|
|
||||||
}
|
|
||||||
|
|||||||
3
setup.py
3
setup.py
@ -212,10 +212,9 @@ def init_env(
|
|||||||
cppflags = shlex.split(cppflags)
|
cppflags = shlex.split(cppflags)
|
||||||
for el in extra_logging:
|
for el in extra_logging:
|
||||||
cppflags.append('-DDEBUG_{}'.format(el.upper().replace('-', '_')))
|
cppflags.append('-DDEBUG_{}'.format(el.upper().replace('-', '_')))
|
||||||
# _POSIX_C_SOURCE is needed for clock_gettime() in monotonic.h
|
|
||||||
cflags = os.environ.get(
|
cflags = os.environ.get(
|
||||||
'OVERRIDE_CFLAGS', (
|
'OVERRIDE_CFLAGS', (
|
||||||
'-Wextra {} -Wno-missing-field-initializers -Wall -Wstrict-prototypes -D_POSIX_C_SOURCE=200809L -std=c11'
|
'-Wextra {} -Wno-missing-field-initializers -Wall -Wstrict-prototypes -std=c11'
|
||||||
' -pedantic-errors -Werror {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden'
|
' -pedantic-errors -Werror {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden'
|
||||||
).format(
|
).format(
|
||||||
float_conversion,
|
float_conversion,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user