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>merge-requests/1490/head
@@ -1035,6 +1035,13 @@ foreach f : ['strtof', 'mkostemp', 'posix_memalign', 'timespec_get', 'memfd_crea | |||
endif | |||
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 | |||
if cc.links(''' | |||
#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); | |||
if (ret == FALSE) | |||
strcpy(cmdline, nstr); | |||
#if defined(__GLIBC__) || defined(__CYGWIN__) | |||
#if defined(HAVE_PROGRAM_INVOCATION_NAME) | |||
if (!strcmp(cmdline, "shader_runner")) { | |||
const char *name; | |||
/* hack to get better testname */ |
@@ -32,11 +32,7 @@ | |||
#undef GET_PROGRAM_NAME | |||
#if (defined(__GNU_LIBRARY__) || defined(__GLIBC__)) && !defined(__UCLIBC__) | |||
# if !defined(__GLIBC__) || (__GLIBC__ < 2) | |||
/* These aren't declared in any libc5 header */ | |||
extern char *program_invocation_name, *program_invocation_short_name; | |||
# endif | |||
#if defined(__linux__) && defined(HAVE_PROGRAM_INVOCATION_NAME) | |||
static const char * | |||
__getProgramName() | |||
{ | |||
@@ -79,7 +75,7 @@ __getProgramName() | |||
return program_invocation_name; | |||
} | |||
# define GET_PROGRAM_NAME() __getProgramName() | |||
#elif defined(__CYGWIN__) | |||
#elif defined(HAVE_PROGRAM_INVOCATION_NAME) | |||
# define GET_PROGRAM_NAME() program_invocation_short_name | |||
#elif defined(__FreeBSD__) && (__FreeBSD__ >= 2) | |||
# include <osreldate.h> |