On Wed, Apr 29, 2020 at 12:16:39PM -0300, Ariel D'Alessandro wrote: > Supports building libraries and tools found in contrib/, lib/ and > utils/ directories, along with the implemented gettext translations. > > Co-developed-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx> > Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx> > Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> > --- > .gitignore | 1 + -snip- > diff --git a/utils/keytable/meson.build b/utils/keytable/meson.build > new file mode 100644 > index 00000000..751cb702 > --- /dev/null > +++ b/utils/keytable/meson.build > @@ -0,0 +1,70 @@ > +ir_keytable_sources = files( > + 'ir-encode.c', > + 'ir-encode.h', > + 'keymap.c', > + 'keymap.h', > + 'keytable.c', > + 'parse.h', > + 'toml.c', > + 'toml.h', > +) > + > +ir_keytable_deps = [] > + > +if not get_option('bpf').disabled() and prog_clang.found() and dep_libelf.found() > + ir_keytable_sources += files( > + 'bpf.c', > + 'bpf.h', > + 'bpf_load.c', > + 'bpf_load.h', > + ) > + ir_keytable_deps += [ > + dep_libelf, > + ] > + subdir('bpf_protocols') > +endif > + > +ir_keytable_system_dir = udevdir > +ir_keytable_user_dir = get_option('sysconfdir') / 'rc_keymaps' > + > +ir_keytable_c_args = [ > + '-DIR_KEYTABLE_SYSTEM_DIR="@0@"'.format(ir_keytable_system_dir), > + '-DIR_KEYTABLE_USER_DIR="@0@"'.format(ir_keytable_user_dir), > +] > + > +ir_keytable_incdir = [ > + utils_common_incdir, > + v4l2_utils_incdir, > +] > + > +ir_keytable = executable('ir-keytable', > + sources : ir_keytable_sources, > + install : true, > + dependencies : ir_keytable_deps, > + c_args : ir_keytable_c_args, > + include_directories : ir_keytable_incdir) > + > +man_pages += [[ meson.current_source_dir(), 'ir-keytable', 1 ]] > +man_pages += [[ meson.current_source_dir(), 'rc_keymap', 5 ]] > + > +ir_keytable_sysconf_files = files( > + 'rc_maps.cfg', > +) > +install_data(ir_keytable_sysconf_files, > + install_dir : get_option('sysconfdir')) > + > +subdir('rc_keymaps') > +install_data(ir_keytable_rc_keymaps, > + install_dir : udevdir / 'rc_keymaps') > + > +ir_keytable_udev_rules = files( > + '70-infrared.rules', > +) > +install_data(ir_keytable_udev_rules, > + install_dir : udevdir / 'rules.d') > + > +ir_keytable_systemd_files = files( > + '50-rc_keymap.conf', > +) > +install_data(ir_keytable_systemd_files, > + install_dir : systemd_systemdir / 'systemd-udevd.service.d') There seems to be no way overriding systemd_systemdir or udevdir. This would be very useful. I don't think this can be done with autoconf either, so this is probably a nice to have. However with autoconf I can do "make -k install" to skip installing system udev/systemd files, but I don't know how to do with ninja. Lastly the meson build does not support sync-with-kernel. We can add this at some later point, I suppose. Sean