Ivan Grokhotkov
bcbcdf6f99
build: fix excluding source files outside of component root
...
Since !2190 , source files located outside of the component root
produce object files inside build directory. This change fixes
handling of COMPONENT_OBJEXCLUDE variable for such files. Tests are
added.
2018-04-12 14:28:54 +08:00
Angus Gratton
c626a8fe74
Merge branch 'feature/build_out_of_tree_srcs' into 'master'
...
make: Build out of tree component srcs under component build dir
See merge request idf/esp-idf!2190
2018-04-12 08:49:56 +08:00
Roland Dobai
33480d1a2c
Enable -Wwrite-strings when compiling IDF's own C files
2018-04-10 08:53:33 +02:00
ndotb
765824e1fd
make: EXCLUDE_COMPONENTS
...
Add project build variable, documentation for EXCLUDE_COMPONENTS
2018-04-08 13:07:43 -04:00
Angus Gratton
5b05a1f822
make: Build out of tree component srcs under component build dir
...
Strips leading ../ when generating object file paths, keeps these in sync with the source files
otherwise.
This prevents object files landing in other directories, including outside the build directory, if
the component_srcdirs start with ../
2018-04-06 13:10:19 +10:00
Anton Maklakov
f3d61015f7
build: Fix problems with building kconfig and generating sdkconfig
...
We had some problems:
simultaneous compiling of kconfig in the same tree;
attempt to use menuconfig in some examples and ut in batch mode (w/o interactive console)
Also increase debug abilities in CI:
force non-interactive building;
add variable DEBUG_SHELL to toggle verbosity of scripts
2018-03-28 10:39:20 +08:00
Angus Gratton
853736afe2
Toolchain: Update to version 1.22.0-80-g6c4433a
...
Includes updated prebuilt Windows MSYS2 environment.
2018-01-10 07:49:24 +00:00
Angus Gratton
ef5d6cf64a
eclipse: Add space between -I and build directory
...
See https://github.com/espressif/esp-idf/pull/1474
2018-01-09 09:27:00 +11:00
Alexander Sparkowsky
77adf85722
Add space between -I and path for CPPFLAGS
...
In order for the Eclipse CDT GCC Build Output Parser to be able to
pick up the include paths for C++/cpp files a space is required
between the compiler option (-I) and the actual path.
Merges https://github.com/espressif/esp-idf/pull/1474
2018-01-08 13:34:26 +11:00
Anton Maklakov
301751ede0
build system: Fix undefined variables
...
make/project.mk:315: warning: undefined variable `CC'
make/project.mk:316: warning: undefined variable `LD'
make/project.mk:317: warning: undefined variable `AR'
make/project.mk:62: warning: undefined variable `MAKECMDGOALS'
components/partition_table/Makefile.projbuild:24: warning: undefined variable `quote'
components/bootloader/Makefile.projbuild:123: warning: undefined variable 'BOOTLOADER_DIGEST_BIN'
components/bootloader/Makefile.projbuild:123: warning: undefined variable 'SECURE_BOOTLOADER_KEY'
2017-12-28 19:21:34 +08:00
Jeroen Domburg
1be1e747c4
Add support for Makefile.componentbuild files
2017-12-20 10:35:27 +08:00
Paul Reimer
78855211fe
build system: Add *.cc files to list of file extensions compiled by default
...
Merges https://github.com/espressif/esp-idf/pull/1318
2017-12-07 10:17:03 +11:00
Ivan Grokhotkov
0f503dee50
toolchain: update to 1.22.0-75-gbaf03c2
...
- enable condition variable support in gthread
- add provisions to allow emergency exception pool size to be configured
2017-11-21 19:30:52 +08:00
Alexey Gerenkov
692a890232
esp32: Adds Stack Smashing Protection Feature
...
These changes add posibility to enable GCC stack protector via menuconfig
for all source files in project.
2017-11-17 12:08:36 +03:00
Angus Gratton
a4cf094fd7
Merge branch 'bugfix/component_depends' into 'master'
...
build system: Fix COMPONENT_DEPENDS
See merge request !1530
2017-11-15 13:53:26 +08:00
He Yin Ling
8ed14791d0
make: add make command print_flash_cmd
2017-10-31 17:42:20 +08:00
YAMAMOTO Masaya
de61c096a1
Fix COMPONENT_DEPENDS
2017-10-31 17:29:20 +09:00
Angus Gratton
9c7477ef34
cxx: Add KConfig option for C++ exceptions, disable by default
...
Fixes https://github.com/espressif/esp-idf/issues/1072
(Additional 20KB is still used if C++ exception support is enabled in
menuconfig.)
2017-10-17 15:29:25 +08:00
Angus Gratton
63fdf998b8
Merge branch 'feature/windows_build_check_msys2' into 'master'
...
build system: Detect wrong Windows MSYSTEM version and warn
See merge request !1356
2017-10-13 08:50:09 +08:00
Angus Gratton
d98934d56b
doc: Fix mentions of Cygwin-style paths to Unix-style
...
Cygwin-style is really only /cygpath/xxx and IDF doesn't support these.
Closes https://github.com/espressif/esp-idf/pull/1033
2017-10-09 14:22:53 +11:00
Angus Gratton
fc86c71574
build system: Detect wrong Windows MSYSTEM version and warn
2017-10-06 15:57:40 +11:00
Angus Gratton
85ce07e6fd
build system: Fix bad partial builds after updates, sdkconfig changes
...
Fixes accidental regression merging 9903ea1c11
.
Add test case for this kind of rebuilding.
2017-09-20 18:11:15 +10:00
Ivan Grokhotkov
7551e1d310
make,docs: update toolchain to 1.22.0-72-g4d49225
2017-09-18 10:32:44 +08:00
Ivan Grokhotkov
dfaf166436
Merge branch 'feature/toolchain-update' into 'master'
...
Toolchain update
See merge request !1204
2017-09-13 18:05:09 +08:00
Ivan Grokhotkov
82fb2768aa
build system: trim crosstool-ng commit ID when checking version
...
Since 2.11.0, git does not default to 7 characters for short commit IDs,
instead automatically estimating the number of characters based on
repository size [1]. If the toolchain was compiled on a computer with
new version of git installed, commit ID will contain 8 characters, and
the check for the toolchain version will fail. As a workaround, trim the
commit ID to 7 characters when checking the version.
[1] e6c587c733
2017-09-13 17:27:47 +08:00
Ivan Grokhotkov
100889f124
build system: update the expected toolchain version
2017-09-13 17:27:47 +08:00
Ivan Grokhotkov
0205e5f2fc
build system: enable C++ exceptions support by default
2017-09-13 17:27:47 +08:00
Ivan Grokhotkov
b6d82eeceb
Merge branch 'feature/gcov_over_apptrace' into 'master'
...
esp32: Adds gcov over JTAG feature
See merge request !1117
2017-09-12 18:54:26 +08:00
Angus Gratton
fccb10c313
build system: Restore "make V=1" for verbose builds
...
Fix regression in 5f3cb9f9dc
2017-09-08 17:34:02 +10:00
Alexey Gerenkov
891f0db31d
esp32: Adds gcov over JTAG feature
...
Implements function to dump GCOV data to host via JTAG.
The following functionality was added:
- Host file I/O
- GCOV runtime I/O stubs
- GCOV example
2017-09-07 18:13:16 +03:00
Ivan Grokhotkov
3c3c5e69c6
build system: fix building tests specified via TEST_COMPONENTS
2017-09-05 18:07:00 +08:00
Angus Gratton
95c2aed126
build system: Remove obsolete GenerateBuildDirTarget macro eval
2017-09-05 16:28:42 +10:00
Angus Gratton
5f3cb9f9dc
build system: Document --warn-undefined-variables and add a config item for it
2017-09-05 16:11:03 +10:00
Angus Gratton
8670844acf
build system: Restore ifdef/ifndef in Makefiles, clean up examples build
2017-09-05 16:11:03 +10:00
Deomid Ryabkov
9903ea1c11
Add --warn-undefined-variables to MAKEFLAGS
...
Fix warnings where undefined vars are used.
Make Kconfig emit "FOO=" for unset bool options
To ensure make variables are always defined, even if empty.
When writing auto.conf, include symbols disabled by dependency to make sure all make variables are always defined.
Fixes espressif/esp-idf#137
Cherry-picked from https://github.com/espressif/esp-idf/pull/138
2017-09-05 16:10:46 +10:00
Angus Gratton
2806b57fc1
build system: Don't make menuconfig if "make clean" run with no sdkconfig
2017-09-04 17:40:15 +10:00
Angus Gratton
867b20837f
build system: Explicitly disallow 'clean' along with non-cleaning targets
...
Too hard to stage the dependencies so that all clean steps complete before any build steps begin. Also, using and then
deleting and then regenerating SDKCONFIG_MAKEFILE in one pass is really hard to manage successfully.
2017-09-04 17:40:15 +10:00
Angus Gratton
c275ad4ca4
build system: Add dependencies to component clean steps
...
Build directory must exist, component_project_vars.mk must be generated if it is going to be.
2017-09-04 17:40:15 +10:00
Kedar Sovani
0cc59d5f67
build: Print real paths for 'ulp' build objects as well
...
Signed-off-by: Kedar Sovani <kedars@gmail.com>
2017-08-11 14:26:44 +05:30
Kedar Sovani
b73c5ddc7d
build: Print real paths for generated build objects
2017-08-10 09:34:44 +05:30
Ivan Grokhotkov
967611cfaa
Revert "bootloader: Add option to build with Link Time Optimisation enabled"
...
This reverts commit d1b66a08c1
.
2017-07-24 05:14:31 +08:00
Angus Gratton
b88c8d19fd
Merge branch 'bugfix/project_makefile_recompile' into 'master'
...
build system: Updating project Makefile should trigger a full rebuild
See merge request !990
2017-07-20 10:10:00 +08:00
Angus Gratton
d1b66a08c1
bootloader: Add option to build with Link Time Optimisation enabled
2017-07-19 18:31:59 +10:00
Angus Gratton
d436331faf
Merge branch 'feature/component_include_order' into 'master'
...
build system: Order private include directories before public ones
See merge request !955
2017-07-19 12:58:50 +08:00
Angus Gratton
8d42fe3953
build system: Don't error out if an already-build project or IDF directory has moved
2017-07-19 09:10:48 +10:00
Angus Gratton
d664e32394
build system: Use component.mk for all components, refactor bootloader build
...
For config-only components, component.mk should now contain "COMPONENT_CONFIG_ONLY := 1"
Also refactored some of the generation of linker paths, library list. This required cleaning up the way the bootloader
project works, it's now mostly independent from the parent.
2017-07-19 09:10:48 +10:00
Angus Gratton
2571e66a29
build system: Make component searching more explicit, obsolete SRCDIRS
...
Each COMPONENT_DIRS directory can now either be a component directory, or a parent directory containing component
subdirectories.
When searching for components, skip any directory which doesn't have component.mk, Kconfig.projbuild, or
Makefile.projbuild in it. This helps with debugging, list-components output, etc.
2017-07-19 09:07:53 +10:00
Angus Gratton
2c1fe6663d
build system: Add list-components target for debugging component discovery
2017-07-19 09:07:53 +10:00
Angus Gratton
b7fc16a408
build system: Updating project Makefile should trigger a full rebuild
...
Project Makefile can set CFLAGS, macro defines, etc.
2017-07-13 10:51:24 +08:00
Angus Gratton
7b565e4b25
assertions: Add "silent" option
...
Reduces assertion codesize overhead by approximately 35%
2017-07-12 17:29:26 +08:00