summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiulio Benetti <giulio.benetti@micronovasrl.com>2019-04-26 10:42:19 +0200
committerKieran Bingham <kieran.bingham@ideasonboard.com>2019-04-26 14:31:09 +0200
commit46bfc321578fbd828afbfb8f15f35fb4b45ebc70 (patch)
tree09d7ef6274beb2589a5e59092ea08f582ecfdc25
parenta10fbfcaaa531e67229ad6d43eea0ad8ec3e75f5 (diff)
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 <giulio.benetti@micronovasrl.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> [Kieran: Drop unnessecary meson message Update commit message] Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r--meson.build9
1 files changed, 9 insertions, 0 deletions
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