summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/main.yml4
-rw-r--r--meson.build12
-rw-r--r--tools/Makefile.am18
-rw-r--r--tools/libwacom-list-devices.man19
-rw-r--r--tools/list-devices.c4
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) {