Hi Sean, Thanks for the feedback! On Fri, May 1, 2020 at 5:18 AM Sean Young <sean@xxxxxxxx> wrote: > > 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. There's a way, as follows: Meson way: $ meson -Dsystemdsystemunitdir=$my_path build/ $ meson -Dudevdir=$my_path build/ Autoconf way: $ ./configure --with-systemdsystemunitdir=$my_path $ ./configure --with-udevdir=$my_path The above will set systemd_systemdir or udevdir with the specified path. > 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. Shall we provide an option to skip installing these system files? > Lastly the meson build does not support sync-with-kernel. We can add > this at some later point, I suppose. True, that's not done yet. We should support it in the meson build in order to replace autotools completely. I'll try to tackle that down ASAP. Regards, Ariel