]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
meson: Add build-enosys option
authorJordan Williams <jordan@jwillikers.com>
Tue, 23 Apr 2024 12:43:00 +0000 (07:43 -0500)
committerJordan Williams <jordan@jwillikers.com>
Wed, 24 Apr 2024 20:30:31 +0000 (15:30 -0500)
Add a check to ensure that the linux/audit.h header exists for enosys.

Signed-off-by: Jordan Williams <jordan@jwillikers.com>
meson.build
meson_options.txt

index 31bd60a2a763358cab2dd07b5cfe70be1f4dd418..119b35562f85669fb12fbc5e283bb59dd3e1b227 100644 (file)
@@ -3167,19 +3167,22 @@ syscalls_h = custom_target('syscalls.h',
              cc.cmd_array(), get_option('c_args')],
 )
 
-if cc.compiles(fs.read('include/audit-arch.h'), name : 'has AUDIT_ARCH_NATIVE')
-  exe = executable(
-    'enosys',
-    'misc-utils/enosys.c', syscalls_h, errnos_h,
-    include_directories : includes,
-    link_with : [lib_common],
-    install_dir : usrbin_exec_dir,
-    install : true)
-  if not is_disabler(exe)
-    exes += exe
-    manadocs += ['misc-utils/enosys.1.adoc']
-    bashcompletions += ['enosys']
-  endif
+have_linux_audit_h = cc.has_header('linux/audit.h')
+have_audit_arch_native = cc.compiles(fs.read('include/audit-arch.h'), name : 'has AUDIT_ARCH_NATIVE')
+
+opt = get_option('build-enosys').require(have_linux_audit_h and have_audit_arch_native).allowed()
+exe = executable(
+  'enosys',
+  'misc-utils/enosys.c', syscalls_h, errnos_h,
+  include_directories : includes,
+  link_with : [lib_common],
+  install_dir : usrbin_exec_dir,
+  install : opt,
+  build_by_default : opt)
+if opt and not is_disabler(exe)
+  exes += exe
+  manadocs += ['misc-utils/enosys.1.adoc']
+  bashcompletions += ['enosys']
 endif
 
 exe = executable(
index 17f5c59c135c460d91d1c2be78ec969ad07cc95d..226721ad8d8a19536241f2de75b5c205e9ed58e3 100644 (file)
@@ -203,6 +203,8 @@ option('build-pipesz', type : 'feature',
        description : 'build pipesz')
 option('build-fadvise', type : 'feature',
        description : 'build fadvise')
+option('build-enosys', type : 'feature',
+       description : 'build enosys')
 option('build-setterm', type : 'feature',
        description : 'build setterm')
 option('build-schedutils', type : 'feature',