Commit Graph

132 Commits

Author SHA1 Message Date
Ivan Grokhotkov
b3b90d6a85 ci: disable ccache when running CMake build system tests
Some tests check if certain files are rebuilt when source files are
'touch'ed. With ccache, 'touch'ing source files doesn't cause a
rebuild, hence the test fails. In case IDF_CCACHE_ENABLE was set in
the environment, unset it before starting the tests.
2021-12-22 00:36:00 +01:00
Roland Dobai
b886dc6998 Merge branch 'feature/idf_py_savedefconfig' into 'master'
Tools: Add "idf.py save-defconfig" command to generate sdkconfig.defaults based on current sdkconfig

Closes IDF-2970

See merge request espressif/esp-idf!16409
2021-12-20 08:23:43 +00:00
Roland Dobai
5118dd7cf3 Tools: Add "idf.py save-defconfig" command to generate sdkconfig.defaults 2021-12-15 17:15:31 +01:00
Ivan Grokhotkov
09e50b27ed cmake: handling of space-separated EXTRA_COMPONENT_DIRS
COMPONENT_DIRS and EXTRA_COMPONENT_DIRS should be defined as CMake
lists, using 'set' or 'list' commands. Some applications written
for earlier versions of ESP-IDF used to define these variables as
space separated strings.

For example, the following is correct:

  set(EXTRA_COMPONENT_DIRS path/to/components path/to/more/components)

The following is not correct:

  set(EXTRA_COMPONENT_DIRS "${EXTRA_COMPONENT_DIRS} component1")
  set(EXTRA_COMPONENT_DIRS "${EXTRA_COMPONENT_DIRS} component2")

The string "component1 component2" may indicate a single directory
name with a space, or two directory names separated by space.

However due to the fact that such way of defining EXTRA_COMPONENT_DIRS
was supported in IDF 4.3 and earlier, we need to provide backward
compatibility for it.

This commit introduces a new script, split_paths_by_spaces.py, which
is invoked if EXTRA_COMPONENT_DIRS or COMPONENT_DIRS variable contains
spaces. The script tries to determine if each space should be
interpreted as a separator or as part of the directory name.

When this cannot be done unambiguously, the script reports an error.

In all cases when space separators are detected, the script reports
a warning, and prints instructions for fixing the CMakeLists.txt.

Breaking change in this commit: specifying non-existent directories
in COMPONENT_DIRS or EXTRA_COMPONENT_DIRS is no longer allowed.
2021-12-14 19:17:53 +01:00
Omar Chebib
0baf2c43cc 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
2021-11-29 09:48:13 +00:00
Anton Maklakov
a72893760a ci: Fix build system tests to clean the dir 2021-11-26 10:25:21 +01:00
Sergei Silnov
84cb207931 ci: Remove component manager test from build system tests
Component manager itself has a set of integration tests
that run against different ESP-IDF versions
2021-11-24 12:32:22 +01:00
Roland Dobai
9c1d4f5b54 Build & config: Remove the "make" build system
The "make" build system was deprecated in v4.0 in favor of idf.py
(cmake). The remaining support is removed in v5.0.
2021-11-10 09:53:53 +01:00
Sudeep Mohanty
4846222102 freertos: update freertos folder structure to match upstream
The following changes have been made:
1. All FreeRTOS kernel source files are now placed in the
   freertos/FreeRTOS-Kernel folder to match with the upstream folder structure.
2. All kernel include files are now placed in freertos/FreeRTOS-Kernel/include.
3. All port files are now placed in freertos/FreeRTOS-Kernel/portable.
4. All additions/customizations are placed in freertos/esp_additions.
5. All other miscellaneous files (README, License files etc.) are moved to
   freertos/FreeRTOS-Kernel folder to match with the upstream.
6. Updated esp-cryptoauthlib to latest commit to resolve FreeRTOS
   include dependencies.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-10-29 12:05:13 +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
Jakob Hasse
81e9266204 [examples]: removed hyphens
Replaced hyphens with underscores in examples
project definition for all examples which had
hyphens in their project name. dpp-enrollee is
an exceptions because the name matches the
project directory name while the project
directory also contains hyphens.
2021-10-09 13:58:24 +08: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
Sergei Silnov
c6f6bd6a42 Add idf-component-manager python dependency 2021-08-30 13:23:23 +02:00
Renz Bagaporo
b06dba7823 esp32: move app linker scripts 2021-07-16 20:14:27 +08:00
Simon
0b9afa509f tools: Add docs subcommand docs which opens browser with documentation for current version of idf and model of your target
Add docs subcommand with options:
--no-browser - Prints url for current documentation instead of opens browser with documentation
--language - Select documentation language
--starting-page - Choice section of documentation to open
--version - Choice version of esp-idf
--target - Choice model of your target
2021-07-12 10:56:37 +02:00
Angus Gratton
6b57f33858 Merge branch 'refactor/movements_from_target_components' into 'master'
Movement from target components 1

See merge request espressif/esp-idf!12482
2021-04-05 02:37:21 +00:00
Renz Bagaporo
bbc599493e esp32: move common fragment definitions 2021-03-31 19:17:33 +08:00
Renz Bagaporo
b5c3d4f615 cmake: swap priority between EXTRA_COMPONENT_DIRS and project components 2021-03-22 19:01:33 +08:00
Omar Chebib
5371231935 build: fix linker scripts edition not triggering a rebuild
Fix the dependencies in CMakeLists files for triggering a relink
when linker script file is modified.
2021-03-12 07:48:32 +00:00
Roland Dobai
da8e3e5607 CI: Fix git tag in cmake build tests where email address cannot be autodetected 2021-03-11 17:18:26 +00:00
Roland Dobai
464b3d814e CI: Use temporary git configs in the tests 2021-03-05 11:54:11 +01:00
Roland Dobai
48488f1683 tools: Use git describe --match for filtering out internal names 2021-02-23 06:55:21 +00:00
Sergei Silnov
99bf2ed61d idf.py: remove mentions of idf_project.yml and update tests 2021-01-29 23:08:47 +01:00
Angus Gratton
60ec13b122 Merge branch 'feature/make_uf2' into 'master'
tools: Wrap flash binaries into a UF2 file for flashing through USB MSC

See merge request espressif/esp-idf!11587
2021-01-05 07:17:27 +08:00
Marius Vikhammer
3458469204 newlib: Update esp32c3 ROM support, use single init function 2020-12-31 09:27:37 +11:00
Roland Dobai
548ea1bdd5 tools: Wrap flash binaries into a UF2 file for flashing through USB MSC
@mmoskal This commit adds basic support for UF2 into ESP-IDF.
2020-12-29 18:14:47 +01:00
Ivan Grokhotkov
19498791a5 cmake: set IDF_VERSION_* variables at requirement expansion stage
Currently IDF_VERSION_* variables are not available to the component
CMakeLists.txt files at the requirements expansion stage. This makes
it harder to write component CMakeLists files compatible with
different IDF versions.

Include version.cmake from the requirements expansion script, add a
build system test.
2020-12-15 20:53:19 +01:00
Angus Gratton
87e13baaf1 freertos: Add RISC-V port
Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11:00
Angus Gratton
c90d6ae9af examples: Move idf_as_lib sdkconfig file to the project directory
Also add some explanation about configuring the project in the README

Previously with the default build-esp32.sh script, the build directory was
deleted and recreated so the project would always be built with default config.
2020-10-14 19:30:30 +11:00
martin.gano
b599f127b5 add new command to idf 2020-09-21 23:38:52 +02:00
Ivan Grokhotkov
5aae08e6b4 Merge branch 'feature/pyc_clean' into 'master'
tools/idf.py: Clean Python bytecode files

Closes IDFGH-3368

See merge request espressif/esp-idf!8907
2020-06-22 15:53:41 +08:00
Renz Bagaporo
3386316f81 docs: fix build issue requiring new location of cpu_start.c 2020-06-19 18:40:10 +10:00
Renz Bagaporo
fe12997a07 ci: update build system tests 2020-06-19 18:40:10 +10:00
Renz Bagaporo
9950c7f21d ci: add test for component override features 2020-06-16 20:42:47 +08:00
Roland Dobai
9930060ea8 tools/idf.py: Clean Python bytecode files 2020-06-03 12:29:25 +02:00
Renz Christian Bagaporo
13cd832b0c ci: pushd and cd in one go in idf_build_process defaults test 2020-05-14 14:59:26 +00:00
Renz Bagaporo
0f6308d69c ci: test idf_build_process defaults set properly 2020-05-14 14:59:26 +00:00
Fu Hanxi
195eb883b4 Add idf_as_lib/build.sh to build_system_test 2020-05-07 10:09:54 +08:00
Ivan Grokhotkov
255dd63122 ci: add loadable ELF build system test 2020-05-04 19:15:43 +02:00
Angus Gratton
f9552baf97 Merge branch 'feature/dfu_build_flash_s2' into 'master'
Add build system support for programming ESP32-S2 using DFU utils

Closes IDF-579

See merge request espressif/esp-idf!8294
2020-05-04 14:57:51 +08:00
Roland Dobai
ab9f714248 Add build system support for programming ESP32-S2 using DFU utils 2020-04-30 07:59:18 +02:00
Ivan Grokhotkov
7b79b52062 tools: allow alternative spellings of target name (ESP32-S2, ESP32S2)
by ignoring character case and hyphens in target name.
2020-04-29 23:42:18 +02:00
Sergei Silnov
44d77c7100 Fix cmake component management test on shell runners 2020-04-20 09:25:03 +02:00
Ivan Grokhotkov
98185db8ad ci: use default Bash version in macOS test 2020-04-07 09:50:59 +02: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
Jeroen Domburg
419848549e Add fixes for gcc8 psram fix improvement 2020-03-27 20:04:47 +07:00
morris
46ea7d815d parttool: don't print target name 2020-03-09 15:05:04 +08:00
Roland Dobai
c35538ecee tools: fix idf.py to be able to select a generator for build 2020-03-06 10:41:09 +01:00
Renz Bagaporo
b239070442 ci: add test for partition_table target 2020-03-05 11:04:09 +08:00
Ivan Grokhotkov
b97b9418f8 Merge branch 'bugfix/improve_component_manager_test_output' into 'master'
Improve message for component manager tests

See merge request espressif/esp-idf!7765
2020-03-03 19:02:31 +08:00