summaryrefslogtreecommitdiffstats
path: root/hwdb.d/meson.build
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:49:52 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:49:52 +0000
commit55944e5e40b1be2afc4855d8d2baf4b73d1876b5 (patch)
tree33f869f55a1b149e9b7c2b7e201867ca5dd52992 /hwdb.d/meson.build
parentInitial commit. (diff)
downloadsystemd-55944e5e40b1be2afc4855d8d2baf4b73d1876b5.tar.xz
systemd-55944e5e40b1be2afc4855d8d2baf4b73d1876b5.zip
Adding upstream version 255.4.upstream/255.4
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'hwdb.d/meson.build')
-rw-r--r--hwdb.d/meson.build79
1 files changed, 79 insertions, 0 deletions
diff --git a/hwdb.d/meson.build b/hwdb.d/meson.build
new file mode 100644
index 0000000..32e6505
--- /dev/null
+++ b/hwdb.d/meson.build
@@ -0,0 +1,79 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+# Those files right now are not supported by the grammar. Also,
+# they are very long but quite repetitive and the parser is not very fast.
+# So we don't "test" them.
+hwdb_files_notest = files(
+ 'README',
+ '20-dmi-id.hwdb',
+ '20-pci-vendor-model.hwdb',
+ '20-pci-classes.hwdb',
+ '20-usb-vendor-model.hwdb',
+ '20-usb-classes.hwdb',
+ '20-sdio-vendor-model.hwdb',
+ '20-sdio-classes.hwdb',
+ '20-bluetooth-vendor-product.hwdb',
+ '20-acpi-vendor.hwdb',
+ '20-OUI.hwdb',
+ '20-net-ifname.hwdb',
+ '20-vmbus-class.hwdb')
+
+hwdb_files_test = files(
+ '60-autosuspend.hwdb',
+ '60-autosuspend-fingerprint-reader.hwdb',
+ '60-evdev.hwdb',
+ '60-input-id.hwdb',
+ '60-keyboard.hwdb',
+ '60-seat.hwdb',
+ '60-sensor.hwdb',
+ '70-analyzers.hwdb',
+ '70-av-production.hwdb',
+ '70-cameras.hwdb',
+ '70-joystick.hwdb',
+ '70-mouse.hwdb',
+ '70-pda.hwdb',
+ '70-pointingstick.hwdb',
+ '70-sound-card.hwdb',
+ '70-touchpad.hwdb',
+ '80-ieee1394-unit-function.hwdb')
+
+if conf.get('ENABLE_HWDB') == 1
+ auto_suspend_rules = custom_target(
+ '60-autosuspend-chromiumos.hwdb',
+ output : '60-autosuspend-chromiumos.hwdb',
+ command : make_autosuspend_rules_py,
+ capture : true,
+ install : true,
+ install_dir: udevhwdbdir)
+
+ install_data(hwdb_files_notest,
+ hwdb_files_test,
+ install_dir : udevhwdbdir)
+
+ if install_sysconfdir
+ install_emptydir(sysconfdir / 'udev/hwdb.d')
+
+ meson.add_install_script(sh, '-c',
+ 'test -n "$DESTDIR" || @0@/systemd-hwdb update'.format(bindir))
+ endif
+
+ if want_tests != 'false'
+ parse_hwdb_py = find_program('parse_hwdb.py')
+ test('parse-hwdb',
+ parse_hwdb_py,
+ suite : 'dist',
+ args : [hwdb_files_test,
+ auto_suspend_rules],
+ timeout : 90)
+ endif
+endif
+
+############################################################
+
+run_target(
+ 'update-hwdb',
+ command : [update_hwdb_sh, meson.current_source_dir()])
+
+run_target(
+ 'update-hwdb-autosuspend',
+ command : [update_hwdb_autosuspend_sh, project_source_root])