]> granicus.if.org Git - esp-idf/commit
Merge branch 'feature/release_build' into 'master'
authorIvan Grokhotkov <ivan@espressif.com>
Fri, 21 Oct 2016 02:56:03 +0000 (10:56 +0800)
committerIvan Grokhotkov <ivan@espressif.com>
Fri, 21 Oct 2016 02:56:03 +0000 (10:56 +0800)
commit4f704ac2fe7f206e0c74e5ed6942be27314b0ca1
treed250c7501c99aac2aeba98a8065341194f4e298d
parent0704deca638ebd0cbbf5e0c2fefc36068d4a70db
parentdfe0dcaed477023443bda6fa2319132b1f5bf20f
Merge branch 'feature/release_build' into 'master'

Add menuconfig setting for optimization level

This change adds two options (Debug/Release) for optimization level.
- Debug (default) enables -O0
- Release enables -Os and adds `-DNDEBUG`, which removes all assert() statements

These options may be overriden at project level by adding necessary flags to CFLAGS/CXXFLAGS.

Debugging symbols are kept in both cases, although we may add an option to strip output file if necessary.

Also we used to define all common compiler flags in CPPFLAGS, and then prepended them to CFLAGS/CXXFLAGS.
It made it impossible to add preprocessor macros to CPPFLAGS at component level (one had to use CFLAGS/CXXFLAGS instead).
Some third party libraries are not compatible with this approach. Changed to the more common way of using these variables.

CI will build both debug (default) and release.

See merge request !138
make/project.mk