diff options
author | 2023-07-02 22:19:48 -0300 | |
---|---|---|
committer | 2024-01-19 11:40:34 -0300 | |
commit | 5b1bd33c7dc1b96cc27e4e52e8bdfe63268887e9 (patch) | |
tree | 9b9920abdf4c4881bf85ae2d08a44ed097f9209b /src/include | |
parent | modif: Change errExit msg format to match assert (diff) | |
download | firejail-5b1bd33c7dc1b96cc27e4e52e8bdfe63268887e9.tar.gz firejail-5b1bd33c7dc1b96cc27e4e52e8bdfe63268887e9.tar.zst firejail-5b1bd33c7dc1b96cc27e4e52e8bdfe63268887e9.zip |
build: use full paths on compile/link targets
This makes the compile commands clearer when building in parallel (with
`make -j`) and ensures that `__FILE__` includes the full build-time path
(relative to the root of the repository) whenever it is referenced, such
as in failed assert() messages (currently the full path is only shown in
errExit() messages). Example:
Before:
firejail: main.c:100: main: Assertion `1 == 2' failed.
Error src/firecfg/main.c:100: main: malloc: Cannot allocate memory
After:
firejail: ../../src/firejail/main.c:100: main: Assertion `1 == 2' failed.
Error ../../src/firecfg/main.c:100: main: malloc: Cannot allocate memory
Commands used to search and replace:
$ git grep -Ilz '^MOD_DIR =' -- '*Makefile' | xargs -0 -I '{}' \
sh -c "printf '%s\n' \"\$(sed -E \
-e 's|^MOD_DIR = src/(.*)|MOD = \\1\\nMOD_DIR = \$(ROOT)/src/\$(MOD)|' \
-e 's:^(PROG|SO) = [^.]+(\.so)?$:\\1 = \$(MOD_DIR)/\$(MOD)\2:' \
'{}')\" >'{}'"
$ git grep -Ilz '^HDRS :=' -- '*.mk' | xargs -0 -I '{}' \
sh -c "printf '%s\n' \"\$(sed -E \
-e 's|wildcard (\*\..)|wildcard \$(MOD_DIR)/\\1|' '{}')\" >'{}'"
Note: config.mk.in, src/fnettrace/Makefile and src/include/common.h were
edited manually.
This is a follow-up to #5871.
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/common.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/include/common.h b/src/include/common.h index 03a71967b..5f09fe3e2 100644 --- a/src/include/common.h +++ b/src/include/common.h | |||
@@ -41,8 +41,8 @@ | |||
41 | 41 | ||
42 | #define errExit(msg) do { \ | 42 | #define errExit(msg) do { \ |
43 | char msgout[500]; \ | 43 | char msgout[500]; \ |
44 | snprintf(msgout, 500, "Error %s/%s:%d: %s: %s", \ | 44 | snprintf(msgout, 500, "Error %s:%d: %s: %s", \ |
45 | MOD_DIR, __FILE__, __LINE__, __func__, msg); \ | 45 | __FILE__, __LINE__, __func__, msg); \ |
46 | perror(msgout); \ | 46 | perror(msgout); \ |
47 | exit(1); \ | 47 | exit(1); \ |
48 | } while (0) | 48 | } while (0) |