Commit Graph

384 Commits

Author SHA1 Message Date
Aditya Patwardhan
3572900934 versions: Update version to 4.4.6 2023-09-26 07:11:21 +00:00
Frantisek Hrbata
53f271ce10 tools: extend information in project_description.json
This extends information provided in the project_description.json file.
Newly added information can be used in the SBOM generating tool and
also to improve hints regarding the the component dependency issues.

Added fields

version:
   This adds versioning to the project_description.json file,
   so it's easy to identify if it contains the required information.

project_version:
   Can be used as a version for the resulting binary e.g. `hello_world.bin`.

idf_path:
   This one is probably not necessary, but it allows tools to run even without
   esp-idf environment exported(e.g. export.sh).

c_compiler:
   The `CMAKE_C_COMPILER` value with full path to the compiler binary. This can
   be used to get information about toolchain, which was used to build the project.

common_component_reqs:
   List of common components as presented in cmake's __COMPONENT_REQUIRES_COMMON
   and set in tools/cmake/build.cmake:__build_init().

build_component_info:
   Detailed information about components used during build. It's a
   dictionary with the component name as a key and each component has
   a dictionary with detailed information. Following is an example for
   the efuse component.

   "efuse": {
       "alias": "idf::efuse",
       "target": "___idf_efuse",
       "prefix": "idf",
       "dir": "/home/fhrbata/work/esp-idf/components/efuse",
       "type": "LIBRARY",
       "lib": "__idf_efuse",
       "reqs": [],
       "priv_reqs": [ "bootloader_support", "soc", "spi_flash" ],
       "managed_reqs": [],
       "managed_priv_reqs": [],
       "file": "/home/fhrbata/work/blink/build/esp-idf/efuse/libefuse.a",
       "sources": [ "/home/fhrbata/work/esp-idf/components/efuse/esp32s3/esp_efuse_table.c", ... ],
       "include_dirs": [ "include", "esp32s3/include" ]
   }

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-08 18:35:00 +02:00
Frantisek Hrbata
ee505a9960 tools: fix make_json_list to return empty json list for empty cmake list
Currently make_json_list() returns '[ "" ]' for empty cmake list. Fix this
so empty json list is returned instead.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-08 15:32:36 +02:00
Marius Vikhammer
ac5d805d0e versions: Update version to 4.4.5 2023-06-08 10:16:36 +08:00
KonstantinKondrashov
a86c80e3ec all: Apply new version logic (major * 100 + minor) 2023-03-03 22:26:39 +00:00
Sergei Silnov
bb272d1b0a build & config: Check requirements of managed components of main and add interface versioning 2023-03-03 20:02:49 +01:00
Sergei Silnov
2540cee253 build & config: Don't include common components on early expansion 2023-02-27 10:06:31 +01:00
Fu Hanxi
43ad48e43f Merge branch 'bugfix/env_var_SDKCONFIG_DEFAULTS_fail_with_bootloader_subproject_v4.4' into 'release/v4.4'
build_system: stop looking for env var `SDKCONFIG_DEFAULTS` in bootloader subproject (v4.4)

See merge request espressif/esp-idf!21975
2023-02-06 10:36:56 +08:00
Xiao Xufeng
e8bdaf9198 versions: Update version to 4.4.4 2023-01-20 02:12:49 +08:00
Fu Hanxi
53f390fb62 build_system: stop looking for sdkconfig file specified by env var SDKCONFIG_DEFAULTS in bootloader subproject 2023-01-10 09:49:23 +08:00
Ivan Grokhotkov
6407ecb3f8 versions: Update version to 4.4.3 2022-11-08 16:22:14 +01:00
Ivan Grokhotkov
0e8c7284ce
build: fix excluded components being passed to component manager
`__COMPONENT_TARGETS` is evaluated very early when components and
component directories are added to the build, which means that all
components (including the ones which are in EXCLUDE_COMPONENTS) have
a build system target defined. The component manager was given the
list of all known components (derived from the list of targets), not
the list of components after EXCLUDE_COMPONENTS were processed.
Because of that, EXCLUDE_COMPONENTS didn't effectively exclude the
component from the consideration of the component manager.
2022-09-13 10:05:59 +02:00
Roland Dobai
1b16ef6cfc versions: Update version to 4.4.2 2022-08-02 14:06:15 +02:00
Omar Chebib
d5664cd7e5 Build: Xtensa assembly files are now assembled with -mlongcalls option 2022-06-21 11:20:07 +08:00
Omar Chebib
d629502586 Build: fix idf_as_lib example not building 2022-06-21 11:17:39 +08:00
Omar Chebib
8e7ee9ff26 Build: CMake compiler flags will be set, regardless of the cache status
Defining CMake variables from the command-line or from another CMake project,
such as `-DCMAKE_C_FLAGS= -DCMAKE_CXX_FLAGS=`, caused a link failure as ESP
CMake was unable to set its proper compilation flags.
Additional CMake compiler flags can now be provided by another project.

* Closes https://github.com/espressif/esp-idf/issues/7507
2022-06-21 11:07:50 +08:00
Roland Dobai
72dcce1ec2 Merge branch 'bugfix/return_idf_component_manager_build_property_v4.4' into 'release/v4.4'
build & config: Add IDF_COMPONENT_MANAGER build property (v4.4)

See merge request espressif/esp-idf!18286
2022-05-28 13:59:17 +08:00
radim.karnis
f40b88e866 mkdfu.py: Support setting flash parameters 2022-05-27 16:24:13 +02:00
Sergei Silnov
c3969b789e build & config: Add IDF_COMPONENT_MANAGER build property 2022-05-27 12:57:00 +02:00
Sergei Silnov
66f60095c2 tools: Enable the component manager by default in CMake 2022-05-16 17:10:07 +02:00
Michael (XIAO Xufeng)
1329b19fe4 versions: Update version to 4.4.1 2022-04-16 09:43:14 +08:00
Marek Fiala
ff18a96f7d tools: replace _ with - in idf.py
Closes https://github.com/espressif/esp-idf/issues/5126
2021-10-13 17:30:38 +08:00
Roland Dobai
e55b4ff8e6 Merge branch 'feature/esp32s3_dfu' into 'master'
docs, cmake: updates for ESP32-S3 DFU support

Closes IDF-3534

See merge request espressif/esp-idf!15348
2021-10-12 15:44:02 +00:00
Ivan Grokhotkov
347884aff5 docs, cmake: updates for ESP32-S3 DFU support 2021-10-08 18:24:20 +02:00
Ivan Grokhotkov
4f3cc319af cmake: kconfig: sort results of new glob expressions
Similar to 2f811b79, see that commit for the explanation.
2021-10-06 10:16:44 +02:00
Ivan Grokhotkov
4ae1b06082 cmake: kconfig: don't add empty entries to kconfigs list 2021-10-06 10:16:35 +02:00
Ivan Grokhotkov
0ad89536ce build system: quote values in __build_write_properties 2021-10-06 10:15:10 +02:00
Ivan Grokhotkov
5a6e27b8a1 build system: quote values in __component_write_properties 2021-10-06 10:15:02 +02:00
Ivan Grokhotkov
e39d3b2160 build system: project: quote linker map file argument 2021-10-06 10:14:55 +02:00
Ivan Grokhotkov
83a7ecc7c3 build system: quote LD script search paths in target_linker_script 2021-10-06 10:14:46 +02:00
morris
0f7b90d205 cmake: don't treat the readme file as a component 2021-09-24 10:56:58 +08:00
Ivan Grokhotkov
8f0ee18931 Merge branch 'feature/clang_toolchain_compat' into 'master'
Build system: minimal changes for clang compatibility

See merge request espressif/esp-idf!15168
2021-09-23 08:19:09 +00:00
simon.chupin
844dd5075f Tools: make idf_size work with overflow
Closes https://github.com/espressif/esp-idf/issues/6914
closes https://github.com/espressif/esp-idf/issues/4234
2021-09-16 14:12:46 +02:00
Ivan Grokhotkov
6bba3ea034 cmake: only add GCC-specific flags when building with GCC
There are probably more GCC-specific flags in component CMakeLists.txt
files; these are just the one being added for all the files.
2021-09-16 11:07:54 +02:00
Ivan Grokhotkov
06c0b8a5d0 cmake: don't search for toolchain files in component directory
This feature was added when we thought that target components might be
added out of IDF tree. That never became possible, and with recent
changes in IDF architecture it is unlikely that this feature will be
necessary any time soon. Remove it, simplifying the code.
2021-09-16 10:54:27 +02:00
Ivan Grokhotkov
14e600801e cmake: allow selection of clang based toolchain
This is an experimental feature intended at the moment for ESP-IDF
developers only.

If IDF_TOOLCHAIN=clang environment variable or CMake variable is set,
use toolchain-clang-esp32xx.cmake instead of toolchain-esp32xx.cmake.

These changes aren't sufficient to actually build any IDF project with
clang; subsequent commits add a few workarounds required to do this.

Toolchain files are added for esp32 and esp32s2, which are the targets
supported in our llvm-project fork at the moment.
2021-09-16 10:54:27 +02:00
Sergei Silnov
37b791e242 Build System: Don't track dependencies.lock 2021-08-30 13:23:23 +02:00
Jakob Hasse
376559d14c [cmake]: fixed FPGA setting during early build 2021-08-26 10:11:56 +08:00
Jakob Hasse
b3271a51af Merge branch 'bugfix/common_components_linux' into 'master'
[build system]: Fixed common requirement for Linux target

Closes IDF-3638

See merge request espressif/esp-idf!14743
2021-08-17 08:48:38 +00:00
Zim Kalinowski
1c690aa5d2 Merge branch 'feature/bootloader_components_kconfig_in_menuconfig' into 'master'
bootloader: Kconfig files in bootloader_components is now part of menuconfig

Closes IDF-3696

See merge request espressif/esp-idf!14740
2021-08-16 06:01:50 +00:00
Jakob Hasse
7029f0537e [build system]: Fixed common requirement for Linux 2021-08-13 16:50:29 +08:00
Jakob Hasse
dd3f43ca2d [build system]: add ruby check before mocking 2021-08-13 14:31:44 +08:00
Omar Chebib
339454ff19 bootloader: Kconfig files in bootloader_components is now part of menuconfig
It is now possible to configure the options (Kconfig) of bootloader components
directly from the menuconfig
2021-08-12 10:43:00 +08:00
Jakob Hasse
e8082ed6c7 [cmake]: fix idf_component_mock requirement macro 2021-07-28 18:50:43 +08:00
Martina
1e5a2f92c3 feature/update_cmake: Update of outdated CMake version 3.16.4->3.20.3 and CCache version 3.7->4.3 in tools.json
Closes https://github.com/espressif/esp-idf/issues/7083
2021-07-26 21:30:59 +08:00
Fu Hanxi
69650e0c18 Merge branch 'feature/espcoredump_test_refactor' into 'master'
Feature: espcoredump test refactor

See merge request espressif/esp-idf!13092
2021-07-22 04:35:58 +00:00
Fu Hanxi
a6068ef259 Merge branch 'feature/pass_idf_version_to_component_manager' into 'master'
feat: pass idf version to component manager

See merge request espressif/esp-idf!14343
2021-07-22 04:04:19 +00:00
Ivan Grokhotkov
2f811b7975 cmake: sort lists obtained from file(GLOB)
CMake sorts result of file(GLOB) command since version 3.6.0:
https://gitlab.kitware.com/cmake/cmake/-/commit/edcccde7d

Since ESP-IDF sets cmake_minimum_required version to 3.5, and version
3.5.1 is used in CI, sort file lists obtained from file(GLOB)
manually.

This helps obtain reproducible order of libraries passed to the linker
and to ldgen.
2021-07-22 10:14:33 +08:00
Jakob Hasse
366ede3ffb [cmake]: Fixed mock register function
* REQUIRES was missing from multi value args
2021-07-19 13:57:19 +08:00
Fu Hanxi
b26b6d7dc9 feat: set IDF_VERSION to environment variable 2021-07-16 12:01:57 +08:00