build: add enable-tools option
authorAlex Xu (Hello71) <alex_y_xu@yahoo.ca>
Fri, 8 Oct 2021 13:51:10 +0000 (09:51 -0400)
committerRan Benita <ran@unusedvar.com>
Sun, 5 Dec 2021 10:55:51 +0000 (12:55 +0200)
this is mainly useful for multilib, but may be useful for other users as well

Signed-off-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
meson.build
meson_options.txt

index 590cf1d..2aa74c3 100644 (file)
@@ -125,8 +125,6 @@ elif cc.has_header_symbol('stdlib.h', '__secure_getenv', prefix: system_ext_defi
 else
     message('C library does not support secure_getenv, using getenv instead')
 endif
-have_getopt_long = cc.has_header_symbol('getopt.h', 'getopt_long',
-                                        prefix: '#define _GNU_SOURCE')
 if not cc.has_header_symbol('limits.h', 'PATH_MAX', prefix: system_ext_define)
     if host_machine.system() == 'windows'
         # see https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#maximum-path-length-limitation
@@ -406,7 +404,7 @@ endif
 man_pages = []
 
 # Tools
-build_tools = have_getopt_long
+build_tools = get_option('enable-tools') and cc.has_header_symbol('getopt.h', 'getopt_long', prefix: '#define _GNU_SOURCE')
 if build_tools
     libxkbcommon_tools_internal = static_library(
         'tools-internal',
index 04982c6..69850b8 100644 (file)
@@ -44,6 +44,12 @@ option(
     description: 'Default XKB options',
 )
 option(
+    'enable-tools',
+    type: 'boolean',
+    value: true,
+    description: 'Enable building tools',
+)
+option(
     'enable-x11',
     type: 'boolean',
     value: true,
@@ -59,7 +65,7 @@ option(
     'enable-wayland',
     type: 'boolean',
     value: true,
-    description: 'Enable support for Wayland utility programs',
+    description: 'Enable support for Wayland utility programs (requires enable-tools)',
 )
 option(
     'enable-xkbregistry',