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
Angus Gratton
6d6fd1deda
Merge branch 'feature/split_compiler_optimisations' into 'master'
...
build system: Split setting of compiler optimisation level from assertions on/off
See merge request !886
2017-07-06 10:47:07 +08:00
Angus Gratton
0881ba83ff
build system: Order private include directories before public ones
...
This allows the component to override a header in a public include
directory, when only its own source files are being compiled.
2017-07-05 11:56:41 +08:00
Anton Maklakov
35609de417
CI: Move the ci-related staff to a separate directory
2017-06-30 11:57:07 +08:00
Angus Gratton
2e49249a71
build system: Split setting of compiler optimisation level from assertions on/off
2017-06-30 09:01:33 +10:00
Angus Gratton
5055290baf
build system: Add idf_size.py tool for better "make size" output & analysis
...
Add new "make size_components" and "make size_files" targets for analysing makeup of the ELF file.
Plain "make size" output now looks like this:
Total sizes:
DRAM .data size: 11156 bytes
DRAM .bss size: 22304 bytes
Used static DRAM: 33460 bytes ( 294220 available, 10.2% used)
Used static IRAM: 80480 bytes ( 50592 available, 61.4% used)
Flash code: 421463 bytes
Flash rodata: 103824 bytes
Total image size:~ 616923 bytes (.bin may be padded larger)
2017-06-21 15:43:22 +10:00
Anton Maklakov
c5b5dd88f9
CI: Build examples in parallel
...
Now you can create several 'build_examples_N' jobs
in the .gitlab-ci.yaml and get parallel execution.
2017-06-09 14:15:43 +08:00
Anton Maklakov
6606c51728
CI: Fix build_examples to cover the deep hierarchy examples
...
Now we have 57 building examples against 49 before.
Also, a short message prints at the end of the job for found warnings.
2017-06-09 13:24:39 +08:00
Angus Gratton
ae05787a51
Merge branch 'bugfix/make_srcdirs_order' into 'master'
...
build system: Fix bug where component src subdirs needed listing before parent source dirs
See merge request !778
2017-06-06 14:37:21 +08:00
jack
fc130fba86
fix bug that files missing commit in MR 773
2017-05-31 19:37:39 +08:00
Angus Gratton
99771a255f
build system: Fix bug where component src subdirs needed listing before parent source dirs
...
Triggered on make 3.81, happens sometimes on Linux and always(?) on macOS. May depend on the order the OS' filesystem
resolves wildcards in.
Includes a revert to the LWIP component to verify this is properly fixed.
See also https://github.com/espressif/esp-idf/issues/632
2017-05-22 11:45:55 +10:00