Browse Source

Add new meson options to suppress compilation of daemon and examples

This makes it quicker and easier to build multilib + multiarch variants
of the library without having to compile the larget host-arch specific
daemon. This is required for using the automatic LD_PRELOAD module with
older 32-bit games on a 64-bit host, to ensure they all have access to
the library.

Signed-off-by: Ikey Doherty <ikey@solus-project.com>
Ikey Doherty 7 years ago
parent
commit
cc931a6237
2 changed files with 27 additions and 3 deletions
  1. 25 3
      meson.build
  2. 2 0
      meson_options.txt

+ 25 - 3
meson.build

@@ -28,10 +28,26 @@ if path_systemd_unit_dir == ''
     path_systemd_unit_dir = pkgconfig_systemd.get_pkgconfig_variable('systemduserunitdir')
 endif
 
+with_daemon = get_option('with-daemon')
+with_examples = get_option('with-examples')
+
+# Library is always required
 subdir('lib')
-subdir('daemon')
-subdir('example')
-subdir('data')
+
+# The daemon can be disabled if necessary, allowing multilib builds of the
+# main library
+if with_daemon == true
+    subdir('daemon')
+
+    # All installed data is currently daemon specific
+    subdir('data')
+endif
+
+# Optionally allow building of examples
+if with_examples == true
+    subdir('example')
+endif
+
 
 report = [
     '    Build configuration:',
@@ -43,6 +59,12 @@ report = [
     '    libdir:                                 @0@'.format(path_libdir),
     '    includedir:                             @0@'.format(path_includedir),
     '    systemd user unit directory:            @0@'.format(path_systemd_unit_dir),
+    '',
+    '    Options:',
+    '    ========',
+    '',
+    '    daemon:                                 @0@'.format(with_daemon),
+    '    examples:                               @0@'.format(with_examples),
 ]
 
 # Output some stuff to validate the build config

+ 2 - 0
meson_options.txt

@@ -1 +1,3 @@
 option('with-systemd-user-unit-dir', type: 'string', description: 'Explicitly set the systemd user unit directory')
+option('with-examples', type: 'boolean', description: 'Build sample programs', value: 'true')
+option('with-daemon', type: 'boolean', description: 'Build the daemon', value: 'true')