From 46bfc321578fbd828afbfb8f15f35fb4b45ebc70 Mon Sep 17 00:00:00 2001 From: Giulio Benetti Date: Fri, 26 Apr 2019 10:42:19 +0200 Subject: meson: check if secure_getenv() is present Not all libc make secure_getenv() available, this could lead to build failure on certain build systems. Check if secure_getenv() is available and emit #define HAVE_SECURE_GETENV to config.h Include config.h to every c/c++ file during building by adding `-include config.h` to project arguments for both c and c++. Signed-off-by: Giulio Benetti Reviewed-by: Kieran Bingham Reviewed-by: Laurent Pinchart [Kieran: Drop unnessecary meson message Update commit message] Signed-off-by: Kieran Bingham --- meson.build | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/meson.build b/meson.build index 6e68c3e3..3434dd7c 100644 --- a/meson.build +++ b/meson.build @@ -13,8 +13,17 @@ project('libcamera', 'c', 'cpp', # generated from this too. api_version = '0.1' +cc = meson.get_compiler('c') +config_h = configuration_data() + +if cc.has_header_symbol('stdlib.h', 'secure_getenv', prefix: '#define _GNU_SOURCE') + config_h.set('HAVE_SECURE_GETENV', 1) +endif +configure_file(output: 'config.h', configuration: config_h) + common_arguments = [ '-Wno-unused-parameter', + '-include', 'config.h', ] c_arguments = common_arguments -- cgit v1.2.1