1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

16 Commits

Author SHA1 Message Date
Juan Carrano
63c475cd4d toolchain/cflags: enable dwarf compression.
Use the -gz option to compress ELF sections containing DWARF information.
This saves around 50% of disk space, without any side effects.

See https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/Debugging-Options.html#Debugging-Options
for more infomation on this option.

Some platforms have an outdated toolchain that does not support -gz so
the flag is blacklisted there. Even then, the results are quite impressive.

I used @cladmi's `buildtest` branch (https://github.com/cladmi/RIOT/tree/wip/du/buildtest)
with this change and compiled the `examples/default` application:

```
$ BUILD_IN_DOCKER=1 DOCKER="sudo docker" make -C examples/default buildtest-indocker
```

The size was obtained with:

```
$ find output -name "*.bin.bindirsize" -type f -exec tail  -n1 '{}' \; | cut -f 1 | awk '{s+=$1} END {printf "%.0f", s}'
```

Results:

- Vanilla: 10328112 KB (~10GB).
- with -gz: 4982788 KB (~5GB).

This was inspired by #8496.
2019-09-02 14:43:26 +02:00
Gaëtan Harter
909552e3c0
makefiles/cflags.inc.mk: change optional CFLAGS to 'OPTIONAL_CFLAGS'
Update the optional flags to use 'OPTIONAL_CFLAGS' instead of evaluating
everytime.

They are now blacklisted by architecture/toolchain according to the
current docker reference image.
2019-08-29 17:43:54 +02:00
Gaëtan Harter
785f868ee0
makefiles/cflags.inc.mk: handle optional cflags
Handle declaring OPTIONAL_CFLAGS and blacklisting them with
OPTIONAL_CFLAGS_BLACKLIST.

This should replace checking everytime if options are supported.
2019-08-29 17:43:54 +02:00
Gaëtan Harter
a99dd332cc
cflags.inc.mk: fix cflags test for llvm
gcc does an error but not clang, so add -Werror.
2018-07-19 18:59:20 +02:00
Joakim Nohlgård
3c23c95b6f
cflags: add -Wformat=2 -Wformat-overflow -Wformat-truncation 2018-07-18 15:29:06 +02:00
Joakim Nohlgård
843cec5cbd
makefiles/cflags.inc.mk: Use a template for CFLAGS testing 2018-07-10 16:51:29 +02:00
Joakim Nohlgård
a71ef652e7
makefiles/cflags.inc.mk: move excluded patterns out of conditional
The excluded patterns can always be defined as they only set `CFLAGS` that
should not be passed to `CXX`.

This prepares for replacing the cflags support detection by a function.
2018-07-10 16:48:37 +02:00
Joakim Nohlgård
be2169d587
makefiles/cflags.inc.mk: Remove WERROR duplicate handling
WERROR already sets -Werror so this is not necessary.
2018-07-10 16:47:42 +02:00
Joakim Nohlgård
b36afc3964 make: Clean up WERROR handling 2018-06-26 12:50:02 +02:00
Gaëtan Harter
08ff1b73a2
makefiles/cflags.inc.mk: add -Wmissing-include-dirs flag
Warn if a user-supplied include directory does not exist.
2018-06-12 14:08:33 +02:00
61f1b941ce make: replace curly braces with parenthesis 2018-03-22 20:43:15 +01:00
Xavier Clive
c6af3f733d make: Do not attempt to use color if the terminal cannot support it 2017-11-16 20:04:18 +01:00
Hauke Petersen
09ab7cb0a8 make: allow for disabling colored compiler output 2017-08-07 10:20:30 +02:00
Hauke Petersen
2811adc092 cflags: add -fdiagnostics-color if supported 2017-07-10 16:32:23 +02:00
Loïc Dauphin
220ed6558e makefiles: make -Werror flags dependent of WERROR 2017-06-23 14:11:08 +02:00
Joakim Nohlgård
339a4da9dc Makefiles: move to new directory /makefiles 2017-04-04 15:11:54 +02:00