When the meson build type is something other than the debug types, we don't
need the special behavior where we adjust executable paths and data dir
lookup for tools run directly from the builddir.

This avoids leaking the build dir into the final executables.

Signed-off-by: Peter Hutterer <[email protected]>
---
 meson.build             | 4 +++-
 tools/libinput-quirks.c | 5 ++++-
 tools/shared.c          | 6 +++++-
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/meson.build b/meson.build
index e10a0bc3..826b4fd0 100644
--- a/meson.build
+++ b/meson.build
@@ -31,7 +31,9 @@ add_project_arguments(cppflags, language : 'cpp')
 
 config_h = configuration_data()
 config_h.set('_GNU_SOURCE', '1')
-config_h.set_quoted('MESON_BUILD_ROOT', meson.build_root())
+if get_option('buildtype') == 'debug' or get_option('buildtype') == 
'debugoptimized'
+       config_h.set_quoted('MESON_BUILD_ROOT', meson.build_root())
+endif
 
 prefix = '''#define _GNU_SOURCE 1
 #include <assert.h>
diff --git a/tools/libinput-quirks.c b/tools/libinput-quirks.c
index 862bb0ae..fbb97dbf 100644
--- a/tools/libinput-quirks.c
+++ b/tools/libinput-quirks.c
@@ -162,13 +162,16 @@ main(int argc, char **argv)
 
        /* Overriding the data dir means no custom override file */
        if (!data_path) {
+#ifdef MESON_BUILD_ROOT
                char *builddir;
 
                builddir = tools_execdir_is_builddir();
                if (builddir) {
                        data_path = LIBINPUT_DATA_SRCDIR;
                        free(builddir);
-               } else {
+               } else
+#endif
+               {
                        data_path = LIBINPUT_DATA_DIR;
                        override_file = LIBINPUT_DATA_OVERRIDE_FILE;
                }
diff --git a/tools/shared.c b/tools/shared.c
index 776b3d3e..eef625ed 100644
--- a/tools/shared.c
+++ b/tools/shared.c
@@ -473,6 +473,8 @@ out:
 char *
 tools_execdir_is_builddir(void)
 {
+       char *dir = NULL;
+#ifdef MESON_BUILD_ROOT
        char execdir[PATH_MAX];
        char *pathsep;
        ssize_t sz;
@@ -489,7 +491,9 @@ tools_execdir_is_builddir(void)
        if (!streq(execdir, MESON_BUILD_ROOT))
                return NULL;
 
-       return safe_strdup(execdir);
+       dir = safe_strdup(execdir);
+#endif
+       return dir;
 }
 
 static inline void
-- 
2.17.1

_______________________________________________
wayland-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to