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
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
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
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
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
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
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