aboutsummaryrefslogtreecommitdiffstats
path: root/common/log.c
diff options
context:
space:
mode:
authorLibravatar Manuel Stoeckl <code@mstoeckl.com>2019-06-22 23:13:19 -0400
committerLibravatar Drew DeVault <sir@cmpwn.com>2019-07-15 16:35:50 -0400
commit2dc4978d8af326c310057ca8fd22a4c7f5d09335 (patch)
treee49b4d10481309d90bd5330b7bbeec588f4de88c /common/log.c
parentLayout tiled using a width/height fraction (diff)
downloadsway-2dc4978d8af326c310057ca8fd22a4c7f5d09335.tar.gz
sway-2dc4978d8af326c310057ca8fd22a4c7f5d09335.tar.zst
sway-2dc4978d8af326c310057ca8fd22a4c7f5d09335.zip
Use -fmacro-prefix-map to strip build path
Because meson does not provide a simple way to get the relative build path, it is computed with a pair of foreach loops. As meson does not have a simple way to compute string length (except via underscorify and 63 split operations), the build script uses a shell command instead. If the compiler does not suppot -fmacro-prefix-map, then fall back to passing in the relative path prefix, and use its length to offset the uses of __FILE__ in log messages so that the build path is at least still not included in the logs. This is significantly more efficient than calling _sway_strip_path.
Diffstat (limited to 'common/log.c')
-rw-r--r--common/log.c17
1 files changed, 0 insertions, 17 deletions
diff --git a/common/log.c b/common/log.c
index 669fd360..17648e44 100644
--- a/common/log.c
+++ b/common/log.c
@@ -93,20 +93,3 @@ void _sway_log(sway_log_importance_t verbosity, const char *fmt, ...) {
93 sway_log_stderr(verbosity, fmt, args); 93 sway_log_stderr(verbosity, fmt, args);
94 va_end(args); 94 va_end(args);
95} 95}
96
97// strips the path prefix from filepath
98// will try to strip SWAY_SRC_DIR as well as a relative src dir
99// e.g. '/src/build/sway/util/log.c' and
100// '../util/log.c' will both be stripped to
101// 'util/log.c'
102const char *_sway_strip_path(const char *filepath) {
103 static int srclen = sizeof(SWAY_SRC_DIR);
104 if (strstr(filepath, SWAY_SRC_DIR) == filepath) {
105 filepath += srclen;
106 } else if (*filepath == '.') {
107 while (*filepath == '.' || *filepath == '/') {
108 ++filepath;
109 }
110 }
111 return filepath;
112}