diff options
-rw-r--r-- | .github/workflows/main.yml | 4 | ||||
-rw-r--r-- | meson.build | 12 | ||||
-rw-r--r-- | tools/Makefile.am | 18 | ||||
-rw-r--r-- | tools/libwacom-list-devices.man | 19 | ||||
-rw-r--r-- | tools/list-devices.c | 4 |
5 files changed, 50 insertions, 7 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a4180b6..b2b0a1b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -142,12 +142,12 @@ jobs: ninja_args: install ninja_precmd: sudo - name: list devices with database in /usr - run: ./builddir/list-devices --format=datafile > devicelist.default.txt + run: libwacom-list-devices --format=datafile > devicelist.default.txt - run: sudo mkdir /etc/libwacom - name: split the databases between /usr/share and /etc run: ${{matrix.command}} - name: list devices with database in /etc and /usr - run: ./builddir/list-devices --format=datafile > devicelist.modified.txt + run: libwacom-list-devices --format=datafile > devicelist.modified.txt - name: compare device database run: diff -u8 devicelist.default.txt devicelist.modified.txt diff --git a/meson.build b/meson.build index dae1162..76d2929 100644 --- a/meson.build +++ b/meson.build @@ -156,6 +156,7 @@ configure_file(input: 'tools/65-libwacom.rules.in', install: true, install_dir: join_paths(dir_udev, 'rules.d')) +# The non-installed version of list-devices uses the git tree's data files executable('list-devices', 'tools/list-devices.c', dependencies: [dep_libwacom, dep_glib], @@ -163,6 +164,13 @@ executable('list-devices', c_args: tools_cflags, install: false) +# The installed version of list-devices uses the installed data files +executable('libwacom-list-devices', + 'tools/list-devices.c', + dependencies: [dep_libwacom, dep_glib], + include_directories: [includes_src], + install: true) + executable('list-compatible-styli', 'tools/list-compatible-styli.c', dependencies: [dep_libwacom, dep_glib], @@ -174,6 +182,10 @@ install_man(configure_file(input: 'tools/libwacom-list-local-devices.man', output: '@BASENAME@.1', copy: true)) +install_man(configure_file(input: 'tools/libwacom-list-devices.man', + output: '@BASENAME@.1', + copy: true)) + showstylus_config = configuration_data() showstylus_config.set('DATADIR', dir_data) showstylus_config.set('ETCDIR', dir_etc) diff --git a/tools/Makefile.am b/tools/Makefile.am index bbecb19..239c3fc 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -1,24 +1,32 @@ -AM_CPPFLAGS=-I$(top_srcdir)/libwacom -DDATABASEPATH="\"$(abs_top_srcdir)/data\"" +AM_CPPFLAGS=-I$(top_srcdir)/libwacom + +DBPATH_CFLAGS=-DDATABASEPATH="\"$(abs_top_srcdir)/data\"" noinst_PROGRAMS = generate-hwdb list-devices list-compatible-styli generate_hwdb_SOURCES = generate-hwdb.c generate_hwdb_LDADD=$(top_builddir)/libwacom/libwacom.la $(GLIB_LIBS) -generate_hwdb_CFLAGS=$(GLIB_CFLAGS) +generate_hwdb_CFLAGS=$(GLIB_CFLAGS) $(DBPATH_CFLAGS) list_devices_SOURCES = list-devices.c list_devices_LDADD=$(top_builddir)/libwacom/libwacom.la $(GLIB_LIBS) -list_devices_CFLAGS=$(GLIB_CFLAGS) +list_devices_CFLAGS=$(GLIB_CFLAGS) $(DBPATH_CFLAGS) list_compatible_styli_SOURCES = list-compatible-styli.c list_compatible_styli_LDADD=$(top_builddir)/libwacom/libwacom.la +list_compatible_styli_CFLAGS=$(DBPATH_CFLAGS) + +bin_PROGRAMS = libwacom-list-local-devices libwacom-list-devices + +libwacom_list_devices_SOURCES = list-devices.c +libwacom_list_devices_LDADD=$(top_builddir)/libwacom/libwacom.la $(GLIB_LIBS) +libwacom_list_devices_CFLAGS=$(GLIB_CFLAGS) -bin_PROGRAMS = libwacom-list-local-devices libwacom_list_local_devices_SOURCES = list-local-devices.c libwacom_list_local_devices_LDADD=$(top_builddir)/libwacom/libwacom.la $(GLIB_LIBS) libwacom_list_local_devices_CFLAGS=$(GLIB_CFLAGS) -dist_man1_MANS = libwacom-list-local-devices.man +dist_man1_MANS = libwacom-list-local-devices.man libwacom-list-devices.man rules = 65-libwacom.rules udev_rulesdir=$(UDEV_DIR)/rules.d diff --git a/tools/libwacom-list-devices.man b/tools/libwacom-list-devices.man new file mode 100644 index 0000000..0f02063 --- /dev/null +++ b/tools/libwacom-list-devices.man @@ -0,0 +1,19 @@ +.TH libwacom-list-devices 1 + +.SH NAME +libwacom-list-devices - utility to list supported tablet devices + +.SH SYNOPSIS +.B libwacom-list-devices [--format=oneline|datafile] + +.SH DESCRIPTION +libwacom-list-devices is a debug utility to list all supported tablet +devices identified by libwacom. It is usually used to check whether a +libwacom installation is correct after adding custom data files. +.SH OPTIONS +.TP 8 +.B --format=oneline|datafile +Sets the output format to be used. If \fIoneline\fR, the output format is a +one-line format comprising the bus type, vendor and product ID and the +device name. If \fIdatafile\fR, the output format matches +the tablet data files. The default is \fIoneline\fR. diff --git a/tools/list-devices.c b/tools/list-devices.c index 16434e9..636071d 100644 --- a/tools/list-devices.c +++ b/tools/list-devices.c @@ -114,7 +114,11 @@ int main(int argc, char **argv) } g_option_context_free (context); +#ifdef DATABASEPATH db = libwacom_database_new_for_path(DATABASEPATH); +#else + db = libwacom_database_new(); +#endif list = libwacom_list_devices_from_database(db, NULL); if (!list) { |