meson.build: define PATH_MAX where it's missing
PATH_MAX is not POSIX and can be missing on some systems, notably Windows (which provides MAX_PATH instead tough) and Hurd. Let's define it to a sane value where missing, i.e. the one it's defined to in limits.h. Except on Windows where we're limited to 260. Fixes https://github.com/xkbcommon/libxkbcommon/issues/180 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>master
parent
4b2a91431b
commit
4d0d509129
|
@ -124,6 +124,14 @@ else
|
||||||
endif
|
endif
|
||||||
have_getopt_long = cc.has_header_symbol('getopt.h', 'getopt_long',
|
have_getopt_long = cc.has_header_symbol('getopt.h', 'getopt_long',
|
||||||
prefix: '#define _GNU_SOURCE')
|
prefix: '#define _GNU_SOURCE')
|
||||||
|
if not cc.has_header_symbol('limits.h', 'PATH_MAX', prefix: system_ext_define)
|
||||||
|
if host_machine.system() == 'windows'
|
||||||
|
# see https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#maximum-path-length-limitation
|
||||||
|
configh_data.set('PATH_MAX', 260)
|
||||||
|
else
|
||||||
|
configh_data.set('PATH_MAX', 4096)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# Silence some security & deprecation warnings on MSVC
|
# Silence some security & deprecation warnings on MSVC
|
||||||
# for some unix/C functions we use.
|
# for some unix/C functions we use.
|
||||||
|
|
|
@ -42,9 +42,6 @@
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#include <io.h>
|
#include <io.h>
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#ifndef PATH_MAX
|
|
||||||
#define PATH_MAX MAX_PATH
|
|
||||||
#endif
|
|
||||||
#else
|
#else
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
|
|
Loading…
Reference in New Issue