meson: auto-detect execvpe on FreeBSD

0667d0e0e3
This commit is contained in:
Jan Beich 2024-05-25 14:40:25 +02:00 committed by Daniel Eklöf
parent bb2e0d64e1
commit f67449700b
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 8 additions and 3 deletions

View file

@ -16,6 +16,11 @@ if cc.has_function('memfd_create')
add_project_arguments('-DMEMFD_CREATE', language: 'c')
endif
# Missing on DragonFly, FreeBSD < 14.1
if cc.has_function('execvpe')
add_project_arguments('-DEXECVPE', language: 'c')
endif
utmp_backend = get_option('utmp-backend')
if utmp_backend == 'auto'
host_os = host_machine.system()

View file

@ -31,7 +31,7 @@ struct environ {
char **envp;
};
#if defined(__FreeBSD__)
#if !defined(EXECVPE)
static char *
find_file_in_path(const char *file)
{
@ -82,11 +82,11 @@ foot_execvpe(const char *file, char *const argv[], char *const envp[])
return ret;
}
#else /* !__FreeBSD__ */
#else /* EXECVPE */
#define foot_execvpe(file, argv, envp) execvpe(file, argv, envp)
#endif /* !__FreeBSD__ */
#endif /* EXECVPE */
static bool
is_valid_shell(const char *shell)