diff options
author | Joelle van Dyne | 2021-01-26 02:24:51 +0100 |
---|---|---|
committer | Peter Maydell | 2021-01-29 11:47:28 +0100 |
commit | 1ad27f7d93f1a0f76b9cdad1bea01bcebfc130bc (patch) | |
tree | c3db458332d4f14d3b784de690b69f67044f7763 | |
parent | configure: cross-compiling with empty cross_prefix (diff) | |
download | qemu-1ad27f7d93f1a0f76b9cdad1bea01bcebfc130bc.tar.gz qemu-1ad27f7d93f1a0f76b9cdad1bea01bcebfc130bc.tar.xz qemu-1ad27f7d93f1a0f76b9cdad1bea01bcebfc130bc.zip |
osdep: build with non-working system() function
Build without error on hosts without a working system(). If system()
is called, return -1 with ENOSYS.
Signed-off-by: Joelle van Dyne <j@getutm.app>
Message-id: 20210126012457.39046-6-j@getutm.app
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | include/qemu/osdep.h | 12 | ||||
-rw-r--r-- | meson.build | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index b6ffdc15bf..ba15be9c56 100644 --- a/include/qemu/osdep.h +++ b/include/qemu/osdep.h @@ -710,4 +710,16 @@ static inline void qemu_thread_jit_write(void) {} static inline void qemu_thread_jit_execute(void) {} #endif +/** + * Platforms which do not support system() return ENOSYS + */ +#ifndef HAVE_SYSTEM_FUNCTION +#define system platform_does_not_support_system +static inline int platform_does_not_support_system(const char *command) +{ + errno = ENOSYS; + return -1; +} +#endif /* !HAVE_SYSTEM_FUNCTION */ + #endif diff --git a/meson.build b/meson.build index 27c31caa2d..9ecb09dfe2 100644 --- a/meson.build +++ b/meson.build @@ -1127,6 +1127,7 @@ config_host_data.set('HAVE_DRM_H', cc.has_header('libdrm/drm.h')) config_host_data.set('HAVE_PTY_H', cc.has_header('pty.h')) config_host_data.set('HAVE_SYS_IOCCOM_H', cc.has_header('sys/ioccom.h')) config_host_data.set('HAVE_SYS_KCOV_H', cc.has_header('sys/kcov.h')) +config_host_data.set('HAVE_SYSTEM_FUNCTION', cc.has_function('system', prefix: '#include <stdlib.h>')) config_host_data.set('CONFIG_PREADV', cc.has_function('preadv', prefix: '#include <sys/uio.h>')) |