Commit Graph

313 Commits

Author SHA1 Message Date
Renz Bagaporo
07f9978df7 cmake: add elf dir information
Solves https://www.esp32.com/viewtopic.php?f=13&t=14784&p=57557&hilit=assumes#p57557
2020-04-07 17:19:33 +08:00
Ivan Grokhotkov
e94288da31 global: use '/usr/bin/env bash' instead of '/usr/bin/bash' in shebangs
Using the method from @cemeyer
(https://github.com/espressif/esp-idf/pull/3166):

find . -name \*.sh -exec sed -i "" -e 's|^#!.*bin/bash|#!/usr/bin/env bash|' {} +

Closes https://github.com/espressif/esp-idf/pull/3166.
2020-04-03 01:10:02 +02:00
Angus Gratton
207914a13a Merge branch 'refactor/common_code_panic_handler' into 'master'
Panic handling common code refactor

See merge request espressif/esp-idf!7489
2020-03-19 11:23:57 +08:00
Renz Christian Bagaporo
2b100789b7 esp32, esp32s2: move panic handling code to new component 2020-03-10 19:56:24 +08:00
Angus Gratton
2f1815f74e Merge branch 'bugfix/cmake_issues' into 'master'
CMake bugfixes

See merge request espressif/esp-idf!7605
2020-03-06 14:36:59 +08:00
Angus Gratton
8887f79bef cmake: Add warnings that convert_to_cmake.py doesn't calculate component requirements
Any component which requires another component will need this manually
added to its CMakeLists.txt file.
2020-03-02 14:45:03 +11:00
Angus Gratton
ee8557f69d cmake: convert_to_cmake: Fix possible whitespace issues
As reported on forum:
https://esp32.com/viewtopic.php?f=2&t=13565&p=53476#p53453

split() with no arg will match any whitespace sequence not just
a single space, so takes care of case where two spaces are
inserted in the variable value.
2020-03-02 14:44:16 +11:00
Renz Christian Bagaporo
f64a3c2a66 cmake: utility to create a failing target 2020-03-02 07:18:22 +05:00
Roland Dobai
1821ee8851 tools: Add proper multi-chip support for idf_size.py 2020-02-27 19:50:05 +01:00
Renz Christian Bagaporo
ab84c73244 cmake: add subdirectory if exists utility 2020-02-18 17:16:06 +05:00
Ivan Grokhotkov
90af8531d8 esp32s2: remove -nostdlib accidentally added
-nostdlib was removed in 9a2af7a and then accidentally added
in 1c2cc54.

The issue manifested itself as a failure to link some symbols from
libgcc, even though libgcc should implicitly appear at the end of the
linker command line when -nostdlib is not given.
2020-01-23 17:00:31 +01:00
morris
e30cd361a8 global: rename esp32s2beta to esp32s2 2020-01-22 12:14:38 +08:00
Ivan Grokhotkov
c11f77cb1a Merge branch 'feature/use_underlying_cmake_targets_for_idf_py' into 'master'
CMake: Use underlying flash targets for idf.py

See merge request espressif/esp-idf!7067
2020-01-21 17:05:47 +08:00
morris
1c2cc5430e global: bring up esp32s2(not beta) 2020-01-16 17:41:31 +08:00
KonstantinKondrashov
b49a657448 build: Add CONFIG_APP_PROJECT_VER to set the project version from Kconfig 2020-01-15 11:02:27 +00:00
Renz Christian Bagaporo
38b3fbfbfb cmake: add description to add_prebuild_library utility 2020-01-15 03:36:47 +00:00
Renz Christian Bagaporo
cc8bff703e esptool_py: create flash target functions 2020-01-15 03:36:47 +00:00
Ivan Grokhotkov
5466ff3f4d global: bump version to 4.2 2020-01-15 10:22:22 +08:00
Angus Gratton
65dad0d46f build system: Remove some dependencies from esp32 & esp32s2beta
Possible now that wifi related source files are all in esp_wifi
2020-01-08 18:13:12 +11:00
Sergei Silnov
dfafa98253 Use component manager if available as python package 2019-12-19 16:48:36 +01:00
Renz Christian Bagaporo
91b421c35f cmake: implement utility to import prebuilt libraries 2019-12-10 19:22:25 +08:00
Ivan Grokhotkov
2f20ad523c Merge branch 'bugfix/menuconfig_term_warning' into 'master'
Give info and warnings about the TERM environment variable

See merge request espressif/esp-idf!6717
2019-12-09 22:38:24 +08:00
He Yin Ling
a11b15b92b CI: build system do not check submodule for CI 2019-12-08 20:32:10 +08:00
Roland Dobai
d1541c74a6 Give info and warnings about the TERM environment variable 2019-12-02 09:49:21 +01:00
Ivan Grokhotkov
a9b7f74f7f Merge branch 'bugfix/macos_link_toomany_open_files' into 'master'
build system: explicitly disable LTO plugin to reduce the number of simultaneously open files

Closes IDF-923 and IDFGH-1764

See merge request espressif/esp-idf!6776
2019-11-28 01:38:53 +08:00
Ivan Grokhotkov
f49a78d543 build system: explicitly disable LTO plugin
... to reduce the number of simultaneously open files at link time.

When plugin support is enabled in the linker, BFD's (and the
corresponding file handles) are cached for the plugin to use. This
results in quite a large number of simultaneously open files, which
hits the default limit on macOS (256 files).

Since we aren't using LTO now, disable it explicitly when invoking the
linker.

Closes IDF-923
Closes IDFGH-1764
Closes https://github.com/espressif/esp-idf/issues/3989
2019-11-26 19:12:56 +01:00
Roland Dobai
bd2fc9f832 Make menuconfig colors configurable
Closes https://github.com/espressif/esp-idf/issues/4387
2019-11-26 10:40:34 +01:00
Roland Dobai
be749395c4 Menuconfig: Don't ask to save configuration when nothing has changed
Closes https://github.com/espressif/esp-idf/issues/4303
2019-11-21 06:47:11 +00:00
Angus Gratton
bc3233782b Merge branch 'feature/remove_gcc5_support' into 'master'
global: remove gcc 5.2 support

Closes IDF-1131

See merge request espressif/esp-idf!6608
2019-11-21 09:08:41 +08:00
Ivan Grokhotkov
9a2af7ae33 global: remove gcc 5.2 support 2019-11-20 11:17:27 +01:00
Roland Dobai
84d5cc1c17 Generate source files for kconfiglib from the build system 2019-11-15 15:25:09 +00:00
Angus Gratton
9efbe1bb47 Merge branch 'bugfix/support_worktree_on_cmake' into 'master'
cmake: support git worktree

See merge request espressif/esp-idf!6581
2019-11-14 16:00:47 +08:00
Angus Gratton
75488f1806 Merge branch 'bugfix/cmake_secure_boot' into 'master'
secure boot: CMake bug fixes

See merge request espressif/esp-idf!6523
2019-11-08 10:58:04 +08:00
Renz Christian Bagaporo
9d33ad5e25 cmake: support git worktree
Use rev-parse to get the HEAD directory instead of manually looking for
it. This method works in the main repository, worktrees and submodules.

Closes https://github.com/espressif/esp-idf/issues/4136
2019-11-05 15:32:35 +08:00
Renz Christian Bagaporo
42d4f39a9a cmake: consider sdkconfig defaults value from environment 2019-11-03 16:43:58 +08:00
Renz Christian Bagaporo
bf1df9b5b5 cmake: do not check if sdkconfig exists 2019-11-03 16:43:58 +08:00
Renz Christian Bagaporo
d43cc4fa4b cmake: allow multiple sdkconfig defaults to be specified 2019-11-03 16:43:58 +08:00
Roland Dobai
01887f71e7 Update kconfiglib to upstream version and replace mconf-idf
Special thanks to @ulfalizer for the helpful suggestions regarding
kconfiglib.

"rsource" option is available for relative path includes
Closes https://github.com/espressif/esp-idf/issues/4064
2019-10-29 10:40:04 +01:00
Angus Gratton
f4ea7c5a46 cmake: Set uninitialized variable warnings in ULP & bootloader subprojects
Fixes issue where PYTHON was not being expanded when running ulp_mapgen.py,
causing Windows launch setting to be used - reported here:
https://esp32.com/viewtopic.php?f=13&t=12640&p=50283#p50283
2019-10-29 05:38:39 +00:00
Angus Gratton
e8881352c5 secure boot: Fix bug where verification key was not embedded in app 2019-10-29 12:46:09 +11:00
Angus Gratton
8675a818f9 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-22 13:51:49 +11:00
Angus Gratton
496ede9bcd Merge branch 'master' into feature/esp32s2beta_merge 2019-10-15 14:59:27 +11:00
Ivan Grokhotkov
499d087c91 C++: add provisions for optional RTTI support
Ref. https://github.com/espressif/esp-idf/issues/1684

This change allows RTTI to be enabled in menuconfig. For full RTTI
support, libstdc++.a in the toolchain should be built without
-fno-rtti, as it is done now.

Generally if libstdc++.a is built with RTTI, applications which do not
use RTTI (and build with -fno-rtti) could still include typeinfo
structures referenced from STL classes’ vtables. This change works
around this, by moving all typeinfo structures from libstdc++.a into
a non-loadable section, placed into a non-existent memory region
starting at address 0. This can be done because when the application
is compiled with -fno-rtti, typeinfo structures are not used at run
time. This way, typeinfo structures do not contribute to the
application binary size.

If the application is build with RTTI support, typeinfo structures are
linked into the application .rodata section as usual.

Note that this commit does not actually enable RTTI support.
The respective Kconfig option is hidden, and will be made visible when
the toolchain is updated.
2019-10-13 14:46:44 +02:00
Angus Gratton
6df8658b5b Merge branch 'bugfix/fixes_from_kconfiglib_update' into 'master'
Fix of menuconfig bug for MSYS2 and a couple of cosmetic changes

See merge request espressif/esp-idf!6255
2019-10-10 11:06:29 +08:00
Ivan Grokhotkov
f8a3da024a Merge branch 'bugfix/treat_unreg_components_as_unresolved' into 'master'
CMake: Treat unregistered components as unresolved

See merge request espressif/esp-idf!5700
2019-10-09 23:53:57 +08:00
Roland Dobai
56fcafc346 Fix cmake typo 2019-10-08 08:11:53 +00:00
Ivan Grokhotkov
5830f529d8 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-02 19:01:39 +02:00
Angus Gratton
adfc06a530 Merge branch 'master' into feature/esp32s2beta_merge 2019-09-20 10:28:37 +10:00
Angus Gratton
01a8e566b8 Merge branch 'bugfix/cmake_case_insenstive_filesystem' into 'master'
cmake: Account for IDF_PATH case mismatches on case insensitive filesystems

See merge request espressif/esp-idf!6137
2019-09-19 19:33:36 +08:00
Angus Gratton
36ba5bc5ee cmake: Account for IDF_PATH case mismatches on case insensitive filesystems 2019-09-19 12:30:52 +10:00
Angus Gratton
96b96ae244 Merge branch 'bugfix/cmake_component_names' into 'master'
CMake: Component name related bugfixes

See merge request espressif/esp-idf!5921
2019-09-17 11:16:25 +08:00
Angus Gratton
438d513a95 Merge branch 'master' into feature/esp32s2beta_merge 2019-09-16 16:18:48 +10:00
Angus Gratton
b08dcefafb Merge branch 'bugfix/idf_py_ccache_options' into 'master'
idf.py: Add way to enable CCache by default, remove dead CCache options code

Closes IDF-948

See merge request espressif/esp-idf!5971
2019-09-03 12:56:20 +08:00
Angus Gratton
5b9576e282 Merge branch 'bugfix/hide_component_internal_targets' into 'master'
cmake: hide component internal targets

See merge request espressif/esp-idf!5866
2019-09-03 09:24:34 +08:00
Angus Gratton
9a7ab28cc2 idf.py: Add environment variable to enable ccache by default 2019-09-03 10:25:28 +10:00
Angus Gratton
a7e8d87d3e Merge branch 'bugfix/error_out_on_uninit_git' into 'master'
cmake: fix build failure when git repo is initialized but no first commit

Closes IDFGH-1676

See merge request espressif/esp-idf!5914
2019-08-30 16:27:28 +08:00
Renz Christian Bagaporo
ba2ec73d59 cmake: fix build failure when git repo is initialized but no first commit
Closes https://github.com/espressif/esp-idf/issues/3920
2019-08-28 09:53:37 +08:00
Per Malmberg
31cdd38744 Make sure ESP_PLATFORM is defined when processing CMake files. 2019-08-28 09:44:06 +08:00
Renz Christian Bagaporo
826568a120 cmake: introduce BUILD_COMPONENT_ALIASES
This commit makes it so that BUILD_COMPONENT holds only the component,
and a new property BUILD_COMPONENT_ALIASES hold the full name of the
component.

This also removes erroneous check for duplicate components, as this can
never happen:

(1) if two components have the same name but different prefixes,
the internal names are still unique between them

(2)if two components happen to have the same name and same prefix, the
latter would override the former
2019-08-27 20:40:29 +08:00
Renz Christian Bagaporo
88320062b8 cmake: make build components available before immediately
Previous implementation only builds list of components included in the
build during component registration.

Since the build components is known as the requirements expansion is
ongoing, update the list here instead.
2019-08-27 15:24:31 +08:00
Mahavir Jain
8e7c71a1a0 Merge branch 'bugfix/cmake_src_exclude_issue' into 'master'
cmake: fix issue with handling of EXCLUDE_SRCS

See merge request espressif/esp-idf!5869
2019-08-23 14:21:16 +08:00
Mahavir Jain
1248f17749 cmake: fix issue with handling of EXCLUDE_SRCS 2019-08-22 13:17:44 +05:30
Angus Gratton
f85ba3516f Merge branch 'bugfix/fix_project_ver_issue' into 'master'
CMake: fix retrieving PROJECT_VER

See merge request espressif/esp-idf!5842
2019-08-22 10:47:06 +08:00
Renz Christian Bagaporo
72ddc940e0 cmake: hide internal targets
Use imported library, which does not create additional rules, but still
allows attaching arbitraty properties instead of custom targets. This
allows the targets to not appear in the target list of IDEs such as
CLion.
2019-08-22 09:39:24 +08:00
Angus Gratton
5a3bad6119 Merge branch 'feature/freebsd_build_system' into 'master'
build systems: Changes to work on FreeBSD

Closes IDFGH-1657

See merge request espressif/esp-idf!5821
2019-08-21 16:18:47 +08:00
Renz Christian Bagaporo
4690152eca cmake: make default version 1 2019-08-21 12:46:38 +08:00
Renz Christian Bagaporo
3eecd43b31 cmake: fix issue with checking build process args 2019-08-21 12:20:46 +08:00
Angus Gratton
60eec0e969 Merge branch 'bugfix/set_mconf_idf_build_dir' into 'master'
cmake: set build dir for mconf-idf

See merge request espressif/esp-idf!5819
2019-08-20 13:10:36 +08:00
Angus Gratton
0a0bb09585 Merge 'master' into feature/esp32s2beta_update 2019-08-20 13:55:23 +10:00
Tomoyuki Sakurai
d296aad2a9 build systems: Changes to work on FreeBSD
Merges https://github.com/espressif/esp-idf/pull/2029
2019-08-19 15:33:55 +10:00
Angus Gratton
6990a7cd54 Merge branch 'master' into feature/esp32s2beta_update 2019-08-19 15:03:43 +10:00
Renz Christian Bagaporo
ded0ac352d cmake: set build dir for mconf-idf
Fixes an issue where if idf_build_process is called in a CMake
subdirectory, menuconfig looks for the mconf-idf binary in the wrong
place (in the subdirectory build dir instead of root binary dir).
2019-08-16 17:46:50 +08:00
Ivan Grokhotkov
74fe282b73 cmake: check mconf-idf binary version
Print a warning if an outdated version of mconf-idf is found in
the PATH.
2019-08-15 17:25:26 +02:00
Ivan Grokhotkov
0a74227cfa bump version to 4.1 2019-08-13 10:09:52 +02:00
Angus Gratton
5e39718c22 Merge branch 'bugfix/component_set_properties' into 'master'
CMake: Set component properties

See merge request espressif/esp-idf!5738
2019-08-13 10:23:30 +08:00
Angus Gratton
b0ef3cdc9f Merge branch 'bugfix/check_include_dirs' into 'master'
CMake: Check if component include dirs are directories

See merge request espressif/esp-idf!5701
2019-08-12 12:45:11 +08:00
Renz Christian Bagaporo
87ebdaa74e cmake: set component properties 2019-08-09 20:51:20 +08:00
Renz Christian Bagaporo
08de39c226 cmake: check include directories 2019-08-09 08:40:17 +08:00
Angus Gratton
24d26fccde Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 13:44:24 +10:00
Renz Christian Bagaporo
4df98b5489 cmake: treat unregistered components as unresolved 2019-08-06 11:14:44 +08:00
Roland Dobai
bd21960955 tools: Support sdkconfig.rename files from outside IDF in confgen.py 2019-07-16 20:18:19 +02:00
Angus Gratton
56afdedf7c Merge branch 'bugfix/do_not_require_new_target_link_library_signature' into 'master'
CMake: Do not force use of new target_link_libraries signature

See merge request espressif/esp-idf!5471
2019-07-16 13:36:35 +08:00
Renz Christian Bagaporo
d3e814fe19 cmake: set COMPONENT_DIR in early expansion
Gives same treatment to COMPONENT_DIR as COMPONENT_PATH in
https://gitlab.espressif.cn:6688/espressif/esp-idf/merge_requests/4557

Closes https://github.com/espressif/esp-idf/issues/3771
2019-07-12 16:22:18 +08:00
Angus Gratton
6410f7a259 cmake: Fix some bugs building mconf-idf from scratch
- Makefile didn't quite work with out-of-tree build unless there was already an in-tree build done.
- CMake needs to delete some of the in-tree build artifacts or they're used instead of the correct
 files.
2019-07-09 20:02:44 +08:00
Renz Christian Bagaporo
2a5b02097b cmake: do not force use of new signature for target_link_libraries 2019-07-08 19:43:57 +08:00
Angus Gratton
2639d5b6c3 cmake: Fix some bugs building mconf-idf from scratch
- Makefile didn't quite work with out-of-tree build unless there was already an in-tree build done.
- CMake needs to delete some of the in-tree build artifacts or they're used instead of the correct
 files.
2019-07-03 18:40:55 +10:00
Angus Gratton
9ef37270f6 Merge branch 'bugfix/make_ccache_opt_in' into 'master'
cmake: make use of ccache opt-in

See merge request idf/esp-idf!5368
2019-07-01 15:48:31 +08:00
Angus Gratton
f1e07663c4 cmake: Use environment variables file for all config binaries 2019-07-01 15:54:27 +10:00
Angus Gratton
26db058339 cmake kconfig: Pass environment variables to confgen.py via a file
Works around "command line too long" errors when using Windows
and CMake < 3.11

Closes IDF-711
2019-07-01 15:54:10 +10:00
Renz Christian Bagaporo
72a5762525 cmake: make use of ccache opt-in 2019-06-29 00:22:57 +00:00
Angus Gratton
265d7dc4e5 Merge branch 'bugfix/fix_secure_boot_support' into 'master'
Fixes to secure boot support in CMake

See merge request idf/esp-idf!4977
2019-06-28 15:38:59 +08:00
Angus Gratton
d9ca915fa4 Merge branch 'bugfix/cmake_project_vars_not_set_by_redefinition' into 'master'
cmake: set variables set by project call

See merge request idf/esp-idf!5187
2019-06-28 15:31:10 +08:00
Renz Christian Bagaporo
e4a4063e4c cmake: fix issue with fail at build time
Fix issue that next build retry does not succeed once the requirement is
satisfied.
2019-06-28 10:54:21 +08:00
Angus Gratton
9a412d3a08 Merge branch 'feature/use_new_component_registration_apis' into 'master'
Use new component registration API

See merge request idf/esp-idf!4898
2019-06-25 10:24:11 +08:00
Angus Gratton
396131433a Merge branch 'feature/idf_size_json' into 'master'
idf_size: Support JSON output

Closes IDF-264

See merge request idf/esp-idf!4987
2019-06-24 19:06:12 +08:00
Renz Christian Bagaporo
047cf71c01 tools: update make converter to use new component registration api 2019-06-21 19:53:29 +08:00
Renz Christian Bagaporo
11924d76cb cmake: clarify build trimming docs
How idf_build_component and the COMPONENTS argument to idf_build_process
interact is not clear/misleading. Clarify their interaction in the docs.

Closes: https://github.com/espressif/esp-idf/issues/3630
2019-06-20 16:02:22 +08:00
Renz Christian Bagaporo
64d37f5cb9 cmake: fix issues with build process
Fix issue when COMPONENTS are is not specified for idf_build_process,
no component is included in the build.
2019-06-20 16:02:22 +08:00
Renz Christian Bagaporo
2fff500a1c cmake: export IDF_TARGET to menuconfig
Pass value of IDF_TARGET to menuconfig invocation.
2019-06-20 16:02:22 +08:00
Renz Christian Bagaporo
8424822150 cmake: set CONFIG_DIR build property
Add CONFIG_DIR as a build property, so that components don't have to
derive it from one of the generated config files.
2019-06-20 16:02:22 +08:00