meson: Test for program_invocation_name
program_invocation_name and program_invocation_short_name are both GNU extensions. I don't believe one can exist without the other, so only check for program_invocation_name. Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
This commit is contained in:
@@ -1035,6 +1035,13 @@ foreach f : ['strtof', 'mkostemp', 'posix_memalign', 'timespec_get', 'memfd_crea
|
|||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
|
if cc.has_header_symbol('errno.h', 'program_invocation_name',
|
||||||
|
args : '-D_GNU_SOURCE')
|
||||||
|
pre_args += '-DHAVE_PROGRAM_INVOCATION_NAME'
|
||||||
|
elif with_tools.contains('intel')
|
||||||
|
error('Intel tools require the program_invocation_name variable')
|
||||||
|
endif
|
||||||
|
|
||||||
# strtod locale support
|
# strtod locale support
|
||||||
if cc.links('''
|
if cc.links('''
|
||||||
#define _GNU_SOURCE
|
#define _GNU_SOURCE
|
||||||
|
@@ -125,7 +125,7 @@ static int virgl_vtest_send_init(struct virgl_vtest_winsys *vws)
|
|||||||
ret = os_get_process_name(cmdline, 63);
|
ret = os_get_process_name(cmdline, 63);
|
||||||
if (ret == FALSE)
|
if (ret == FALSE)
|
||||||
strcpy(cmdline, nstr);
|
strcpy(cmdline, nstr);
|
||||||
#if defined(__GLIBC__) || defined(__CYGWIN__)
|
#if defined(HAVE_PROGRAM_INVOCATION_NAME)
|
||||||
if (!strcmp(cmdline, "shader_runner")) {
|
if (!strcmp(cmdline, "shader_runner")) {
|
||||||
const char *name;
|
const char *name;
|
||||||
/* hack to get better testname */
|
/* hack to get better testname */
|
||||||
|
@@ -32,11 +32,7 @@
|
|||||||
|
|
||||||
#undef GET_PROGRAM_NAME
|
#undef GET_PROGRAM_NAME
|
||||||
|
|
||||||
#if (defined(__GNU_LIBRARY__) || defined(__GLIBC__)) && !defined(__UCLIBC__)
|
#if defined(__linux__) && defined(HAVE_PROGRAM_INVOCATION_NAME)
|
||||||
# if !defined(__GLIBC__) || (__GLIBC__ < 2)
|
|
||||||
/* These aren't declared in any libc5 header */
|
|
||||||
extern char *program_invocation_name, *program_invocation_short_name;
|
|
||||||
# endif
|
|
||||||
static const char *
|
static const char *
|
||||||
__getProgramName()
|
__getProgramName()
|
||||||
{
|
{
|
||||||
@@ -79,7 +75,7 @@ __getProgramName()
|
|||||||
return program_invocation_name;
|
return program_invocation_name;
|
||||||
}
|
}
|
||||||
# define GET_PROGRAM_NAME() __getProgramName()
|
# define GET_PROGRAM_NAME() __getProgramName()
|
||||||
#elif defined(__CYGWIN__)
|
#elif defined(HAVE_PROGRAM_INVOCATION_NAME)
|
||||||
# define GET_PROGRAM_NAME() program_invocation_short_name
|
# define GET_PROGRAM_NAME() program_invocation_short_name
|
||||||
#elif defined(__FreeBSD__) && (__FreeBSD__ >= 2)
|
#elif defined(__FreeBSD__) && (__FreeBSD__ >= 2)
|
||||||
# include <osreldate.h>
|
# include <osreldate.h>
|
||||||
|
Reference in New Issue
Block a user