Commit Graph

276 Commits

Author SHA1 Message Date
Roland Dobai
5a916ce126 Support ELF files loadable with gdb 2019-09-24 07:19:50 +00:00
Angus Gratton
96474f33a6 Merge branch 'bugfix/gnu_make_windows_paths' into 'master'
build: In GNU Make, use "cygpath -m" to avoid backslashes

Closes IDF-961

See merge request espressif/esp-idf!6132
2019-09-19 19:34:01 +08:00
Angus Gratton
d371605315 build: In GNU Make, use "cygpath -m" to avoid backslashes
Fixes issues where backslashes in KCONFIG paths are later expanded as shell escape sequences.
2019-09-17 13:47:05 +10:00
Andrew
4fdaeb6b6e cmake: Add new compiler optimization levels definitions
Rename and add multiple kconfig compiler options. New compiler options
COMPILER_OPTIMIZATION_PERF and COMPILER_OPTIMIZATION_NONE have been added.
Optimize "Debug" and "Release" options to "Default" and "Size" respectively.
This commit also does the following:

- The COMPILER_OPTIMIZATION_PERF option introduced multiple bug.
This commit fixes those bugs.
- build.yml also updated to test for the new optimization options.
2019-09-06 17:37:19 +08:00
Roland Dobai
8b8b2f12e4 Fix sdkconfig.rename paths for confgen.py in MSYS
Closes https://github.com/espressif/esp-idf/issues/3950
2019-08-22 11:48:19 +02:00
Ivan Grokhotkov
0a74227cfa bump version to 4.1 2019-08-13 10:09:52 +02:00
Angus Gratton
01f7e7cc16 Merge branch 'bugfix/confgen_sdkconfig_renames' into 'master'
tools: Support sdkconfig.rename files from outside IDF in confgen.py

Closes IDF-659

See merge request espressif/esp-idf!5551
2019-08-09 14:21:19 +08:00
Dmitry Plotnikov
7cb3a57b9c build_system: add -freorder-blocks option for release config 2019-07-27 09:28:19 +00: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
a60b1428d5 gnu make: Make V= behaviour consistent with V=0
Previously, V=0 would print some verbose lines but not most of them.

This meant that it was impossible to disable all verbose output
when BATCH_BUILD=1

Closes https://github.com/espressif/esp-idf/issues/3488
2019-06-24 21:01:12 +10:00
Angus Gratton
eac356ef4a Merge branch 'feature/idf_version_header' into 'master'
esp_common: add esp_idf_version.h header to define IDF version

Closes IDF-253

See merge request idf/esp-idf!4596
2019-06-13 09:41:35 +08:00
Roland Dobai
c5000c83d2 Rename Kconfig options (root) 2019-05-21 09:09:01 +02:00
Ivan Grokhotkov
6ca07eca68 esp_common: add version definitions in code and build system
Closes https://github.com/espressif/esp-idf/issues/2482
Closes IDF-253
2019-05-20 13:14:56 +08:00
Renz Christian Bagaporo
0ad13cd40f ldgen,make: simplify os check 2019-05-06 20:31:05 +08:00
V.Dudnik
f3f4e58313 project_config_mk: fix if condition 2019-05-05 19:12:33 +03:00
Renz Christian Bagaporo
4cc8b92d22 make: fix missing rule for creating ldgen_libraries file 2019-04-30 11:54:01 +08:00
Renz Christian Bagaporo
b1ecd75d83 ldgen: pass component libraries directly 2019-04-26 20:06:53 +08:00
Roland Dobai
23ee93ea76 Rename deprecated Kconfig options in a backward compatible way 2019-04-24 12:53:02 +02:00
Anton Maklakov
410f5c3f7d build: Add a standard way to use GNU extensions from libc, since we have a general configured newlib in the toolchain 2019-04-17 12:08:36 +07:00
Anton Maklakov
2e6c8cdce3 esp32: disable -Wframe-address
Since the behavior is well defined on Xtensa with Window ABI we can
suppress a frame-address warning. Also fix the CMAKE_C*_FLAGS parsing.
2019-04-10 13:52:30 +08:00
Mahavir Jain
e4d97bef3d make: use shell command to extract version string 2019-03-17 21:33:22 +08:00
Angus Gratton
87881b76ad Merge branch 'bugfix/make_gcc_version_evaluation' into 'master'
make: Ensure that component_project_vars.mk not generated before config

See merge request idf/esp-idf!4474
2019-03-15 14:30:48 +08:00
Angus Gratton
f552977309 make: Ensure that component_project_vars.mk not generated before config
* Fix the situation where component_project_vars.mk is generated before config exists
* Does not fix situation where config is changed and component_project_vars.mk contents should be
  changed. This may still require a rebuild.
2019-03-14 10:57:36 +11:00
Konstantin Kondrashov
53208f6324 make: Trim IDF_VER to fit a 32-bit field
Closes: https://github.com/espressif/esp-idf/issues/3131
2019-03-13 20:01:28 +08:00
Ivan Grokhotkov
1aa8e8d38e Merge branch 'bugfix/make_extra_component_dirs' into 'master'
make: fix issues related to EXTRA_COMPONENT_DIRS

See merge request idf/esp-idf!4253
2019-02-22 16:00:31 +08:00
Renz Christian Bagaporo
24284b3afd ldgen: remove resolution of template includes 2019-02-22 08:25:56 +08:00
Renz Christian Bagaporo
6b7f4bc72f make: remove unecessary inclusion of ldgen.mk 2019-02-14 18:58:48 +08:00
Renz Christian Bagaporo
acd0be8239 cmake,make: add dependencies on template included scripts 2019-02-14 18:58:48 +08:00
Ivan Grokhotkov
7df598a062 make: fix issues related to EXTRA_COMPONENT_DIRS
1. When one of the COMPONENT_DIRS points to a component directory
(i.e. a directory containing component.mk, not a directory of multiple
components), and there is a subdirectory in it which also contains
a component, the subdirectory was mistakenly added to the list of
components and compiled.

For example:

    main/
        component.mk
        main.c
        test/
            component.mk
            test_main.c

Would compile test_main.c and link libtest.a.

2. When one of the COMPONENT_DIRS points to a component directory, and
the parent directory contained a directory with the same name as
another component, that directory would be mistakenly added to the
COMPONENT_PATHS.

For example:

    esp/
        esp-idf/
        esp32/
            (random stuff)
        mycomponent/
            component.mk
            mycomponent.c
        myproject/
            main/
            Makefile

and Makefile sets EXTRA_COMPONENT_DIRS=$(realpath ../mycomponent),
then "esp32" directory which is at the same level as mycomponent
was added to COMPONENT_PATHS.

3. If EXTRA_COMPONENT_DIRS pointed to a directory with a list of
components, and one of the subdirectories was not a component, but
had the same name as another component, than that directory would be
mistakenly added to COMPONENT_PATHS instead of the real esp32
component directory.

For example:

    my_components/
        my_component/
            component.mk
            my_component.c
        esp32/
            (some random stuff)

and EXTRA_COMPONENT_DIRS would point to my_components/, then "esp32"
directory would be added to COMPONENT_PATHS instead of the real esp32
component directory.
2019-02-13 16:34:50 +08:00
Renz Christian Bagaporo
af5cff0589 cmake: fix regression with linux make builds
Closes https://github.com/espressif/esp-idf/issues/2839
2018-12-17 14:04:49 +08:00
Renz Christian Bagaporo
d3938c8a66 ldgen: fix issue when not built in msys2
Closes https://github.com/espressif/esp-idf/issues/2812
2018-12-13 20:44:29 +08:00
Anton Maklakov
812a49bd0d Merge branch 'bugfix/shell_exit' into 'master'
scripts: Fix shell exit

See merge request idf/esp-idf!3908
2018-12-07 00:49:52 +08:00
Angus Gratton
8ab2f20c3a ldgen make: Use "sed -E" for extended POSIX regular expression syntax w/ BSD sed 2018-12-06 15:28:18 +11:00
Angus Gratton
ef4a4105f4 make/ldgen: Fix generation of ldgen.section_infos file when shell is bash
bash doesn't escape by default from "echo", so use "printf"

Closes https://github.com/espressif/esp-idf/pull/2797
Closes https://github.com/espressif/esp-idf/issues/2796
2018-12-06 10:20:35 +11:00
Anton Maklakov
34109c4171 scripts: Fix shell exit. Really exit from current process, not from child process 2018-12-05 21:25:16 +08:00
Ivan Grokhotkov
8a7b46aa90 Merge branch 'feature/anti_rollback_exp' into 'master'
esp32: Add firmware version to app

See merge request idf/esp-idf!3461
2018-12-05 11:10:04 +08:00
Konstantin Kondrashov
3b9cb25fe1 esp32: Add firmware version to app
Added a new structure esp_app_desc_t. It has info about firmware:
version, secure_version, project_name, time/date build and IDF version.
Added the ability to add a custom structure with a description of the firmware.

The esp_app_desc_t is located in fixed place in start of ROM secotor. It is located after structures esp_image_header_t and esp_image_segment_header_t.

app_version is filed from PROJECT_VER variable (if set in custom make file) or PROJECT_PATH/version.txt or git repo (git describe).

Add API to get app_desc from partition.
2018-12-03 16:52:04 +08:00
Renz Christian Bagaporo
a7a1c32a8e cmake, make: fix long cmd line args for ldgen 2018-12-03 12:26:38 +08:00
Angus Gratton
a34a27010b Merge branch 'feature/partition_tools' into 'master'
Partition level tools

See merge request idf/esp-idf!3355
2018-11-30 14:15:51 +08:00
Renz Christian Bagaporo
a2f63c09bf make, ldgen: remove uncessary passed target env variable 2018-11-29 13:21:31 +08:00
Renz Christian Bagaporo
5e08698039 make: use otatool and parttool for build 2018-11-28 15:57:20 +08:00
Angus Gratton
4f4edcf676 ldgen: Fix ENOENT errors on Windows with MSYS2 and GNU Make 2018-11-20 17:25:20 +11:00
Ivan Grokhotkov
99dd08943c make/ldgen: fix line continuation 2018-11-20 01:27:25 +08:00
Renz Bagaporo
63411fc556 tools: implement linker script generation 2018-11-16 12:42:02 +08:00
Ivan Grokhotkov
ccfa134533 build system: support for multiple targets 2018-11-11 21:46:02 +08:00
Anton Maklakov
1658833470 build system: Fix checking the toolchain version on Windows 2018-09-26 14:42:01 +08:00
Anton Maklakov
9a55557ad8 build system: Add a compatible old GCC flag 2018-09-20 18:53:14 +08:00
Anton Maklakov
10ec85f848 build system: and gcc8 warnings compatibility option 2018-09-20 18:53:14 +08:00
Anton Maklakov
cce02e45f1 build system: print some information about the compiler 2018-09-20 18:53:14 +08:00
Anton Maklakov
ab21644df4 toolchain: Set the supported toolchain version in a separate file 2018-09-20 18:53:13 +08:00