tools: fake-build the measure touch-pressure/size sources

This way we can make them execute the list-quirks from the builddir. And it
makes it easier to run these tools from the git directory on machines where we
have libinput without the quirks.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Peter Hutterer 2018-06-21 14:38:55 +10:00
parent 5ca1862bde
commit b049d6696d
3 changed files with 38 additions and 8 deletions

View file

@ -541,16 +541,34 @@ configure_file(input : 'tools/libinput-measure-touchpad-tap.man',
install_dir : join_paths(get_option('mandir'), 'man1')
)
config_builddir = configuration_data()
config_builddir.set('BUILDDIR', meson.build_root())
# libinput-measure-touchpad-pressure gets built but we install_data the
# source instead. The built file is the one that uses the local list-quirks
# and should be used for debugging.
install_data('tools/libinput-measure-touchpad-pressure',
install_dir : libinput_tool_path)
configure_file(input: 'tools/libinput-measure-touchpad-pressure',
output: 'libinput-measure-touchpad-pressure',
configuration : config_builddir
)
configure_file(input : 'tools/libinput-measure-touchpad-pressure.man',
output : 'libinput-measure-touchpad-pressure.1',
configuration : man_config,
install : true,
install_dir : join_paths(get_option('mandir'), 'man1')
)
# libinput-measure-touch-size gets built but we install_data the source
# instead. The built file is the one that uses the local list-quirks and
# should be used for debugging.
install_data('tools/libinput-measure-touch-size',
install_dir : libinput_tool_path)
configure_file(input: 'tools/libinput-measure-touch-size',
output: 'libinput-measure-touch-size',
configuration : config_builddir
)
configure_file(input : 'tools/libinput-measure-touch-size.man',
output : 'libinput-measure-touch-size.1',
configuration : man_config,

View file

@ -24,6 +24,7 @@
# DEALINGS IN THE SOFTWARE.
#
import os
import sys
import subprocess
import argparse
@ -221,10 +222,15 @@ class Device(object):
sys.exit(1)
def _init_thresholds_from_quirks(self):
# FIXME: this uses the system-installed version
# but we should really auto-detect when this is started
# from the builddir
command = ['libinput', 'list-quirks', self.path]
# This is replaced for the version in builddir but left as-is for
# the installed version. For the builddir one we need to run the
# builddir list-quirks
builddir = '@BUILDDIR@'
if builddir != '@' + 'BUILDDIR' + '@':
command = [os.path.join(builddir, 'libinput-list-quirks')]
else:
command = ['libinput', 'list-quirks']
command.append(self.path)
cmd = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if cmd.returncode != 0:
print("Error querying quirks: {}".format(cmd.stderr.decode('utf-8')), file=sys.stderr)

View file

@ -24,6 +24,7 @@
# DEALINGS IN THE SOFTWARE.
#
import os
import sys
import subprocess
import argparse
@ -199,10 +200,15 @@ class Device(object):
sys.exit(1)
def _init_thresholds_from_quirks(self):
# FIXME: this uses the system-installed version
# but we should really auto-detect when this is started
# from the builddir
command = ['libinput', 'list-quirks', self.path]
# This is replaced for the version in builddir but left as-is for
# the installed version. For the builddir one we need to run the
# builddir list-quirks
builddir = '@BUILDDIR@'
if builddir != '@' + 'BUILDDIR' + '@':
command = [os.path.join(builddir, 'libinput-list-quirks')]
else:
command = ['libinput', 'list-quirks']
command.append(self.path)
cmd = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if cmd.returncode != 0:
print("Error querying quirks: {}".format(cmd.stderr.decode('utf-8')), file=sys.stderr)