Commit Graph

99 Commits (35be1051b88199dab95c757cd96e3157af14f37d)

Author SHA1 Message Date
Mihail Stoyanov 541c478dbf Remove tracking of existing mbed_config.h in the source tree 2016-06-21 23:43:09 +01:00
Mihail Stoyanov 4d68152ef1 Rename mbed_conf.h to mbed_config.h
Following the pattern device_has to DEVICE_, features to FEATURE_,
the mbed config system should map to mbed_config.h
2016-06-21 23:41:04 +01:00
Sam Grove 3a01862a4f Merge pull request #1967 from screamerbg/fix-double-ignores
Fixed double-ignored files that cause python exception
2016-06-21 17:36:01 -05:00
Mihail Stoyanov e835c48cc8 Rename ignore_ptrs to ignore_patterns
Add comments to code
2016-06-17 23:27:50 +01:00
Bogdan Marinescu 6858117ff2 Conversion of boolean configuration parameters to integers
Boolean configuration parameters will now be generated as integers (1
for True, 0 for False).
2016-06-17 12:56:10 +03:00
Bogdan Marinescu 8f8733480a Remove redundant whitespaces 2016-06-17 12:19:11 +03:00
Mihail Stoyanov fb5c4a6381 Fixed double-ignored files that cause python exception
Also simplify build scanning logic and add comments
2016-06-17 00:46:14 +01:00
Mihail Stoyanov 89bb38f683 Fixed exporters to support features
Unified how resources are loaded into the configuration system
(Config.load_resources) and applied it to build_api and exporters
2016-06-16 18:12:04 +01:00
Martin Kojtal 1e18ea230a Merge pull request #1957 from mbedmicro/config_headers
Configuration in header files - step 1
2016-06-16 18:47:15 +02:00
Bogdan Marinescu a164224acf Changed prefix file name to mbed_conf.h
Also changed some function names to make it clear that the prefix
headers feature is only used for config.
2016-06-16 17:01:41 +03:00
Bogdan Marinescu 85eca37d29 Added toolchain support for configuration in prefix headers
This commit uses the previously introduced feature of generating
configuration data as a C header file rather than as command line macro
definitions. Each toolchain was modified to use prefix headers if
requested, and build_api.py was modified to set up the toolchain's
prefix header content using the data generated by the config system.

Tested by compiling blinky for GCC and ARMCC. I'm having a few issues
with my IAR license currently, but both ARMCC and IAR use the same
`--preinclude` option for prefix headers, so this shouldn't be an issue.

Note that at the moment all exporters still use the previous
configuration data mechanism (individual macro definitions as opposed to
a prefix header). Exporters will be updated in one or more PRs that will
follow.
2016-06-16 16:13:50 +03:00
Bogdan Marinescu 80a70fcb51 Simplified string formatting expressions in get_config_data_header 2016-06-16 11:41:22 +03:00
Mihail Stoyanov e44566b319 Fix libraries being built with features support 2016-06-16 00:31:25 +01:00
Sam Grove ac1a63f1a1 Merge pull request #1956 from screamerbg/fix-features3
Fixed features not being included
2016-06-15 23:13:26 +01:00
Sam Grove 934951a002 Merge pull request #1955 from theotherjimmy/name-libs
Add -N/--artifact-name argument to parser to name libraries
2016-06-15 22:30:19 +01:00
Sam Grove 605cb86ba7 Merge pull request #1954 from 0xc0170/fix_project_report
Export - project name fix (.zip)
2016-06-15 22:29:03 +01:00
Sam Grove 44e706e5b2 Merge pull request #1948 from 0xc0170/fix_iar
iar - fix flags for cmd and exporters
2016-06-15 22:27:03 +01:00
Bogdan Marinescu ab0a5a53c2 Configuration in header files - step 1
The current implementation of the configuration system "compiles" the
configuration parameters to macros defined on the command line. This
works, but has a few limitations:

- it can bring back the maximum command line length issues in Windows.
- depending on the type of the configuration parameter, it might require
  special quoting of its value in the command line.
- various 3rd party IDE/tools seem to have some limitations regarding
  the total length of the macros that can be defined.

This commit is the first step in replacing the current mechanism with
one that generates configuration in header files that will be
automatically included, instead of command line macro definitions. The
commit only adds the method for generating the header file, it doesn't
actually change the way config is used yet (that will happen in step 2),
thus it is backwards compatible. The logic of the configuration system
itself is unchanged (in fact, the whole change (not only this commit) is
supposed to be completely transparent for the users of the configuration
system).

The commit also fixes an issue in tools/get_config.py that appeared as a
result of a recent PR: the signature of "get_config" in
tools/build_api.py changed, but tools/get_config.py was not updated.
2016-06-16 00:23:04 +03:00
Mihail Stoyanov a81746c8f6 Fix for features not being included
Also improve compile speed by not re-scanning the source locations
2016-06-15 22:21:31 +01:00
Jimmy Brisson 6de4ea7e6f Adds -N/--artifact-name argument to parser
Only makes sence for --source builds (which only work with --build)
2016-06-15 15:07:25 -05:00
0xc0170 c16c75f2af iar - fix flags for cmd and exporters
Exporters and cmd do not share all flags, some asm and c flags are not the same (cpu, fpu)
2016-06-15 21:04:48 +01:00
Martin Kojtal 7c08e36ec7 tools/project - export report fix name
Previously it was .zip always, even when using sources. This patch fixes it:`

```
Successful exports:
  * K64F::uvision       path\projectfiles\uvision\Unnamed_Project_K64F
```
2016-06-15 18:54:17 +01:00
Sam Grove 7e0e6854b9 Merge pull request #1940 from geky/fix-features
[build tools] Added better support for features and recursive configs
2016-06-15 18:46:38 +01:00
Christopher Haster 0d9d4639cd [build tools] Added proper namespace for features
per @bogdanm
2016-06-15 10:34:32 -05:00
Mihail Stoyanov 99ed4e03f1 Restore original compile sources routine 2016-06-15 17:18:40 +01:00
Sam Grove fd983d1c6c Merge pull request #1937 from bridadan/fix-tests-softdevices
Fixing test builds for devices with softdevices.
2016-06-15 15:25:51 +01:00
Brian Daniels 5a46ac773b Fixing test builds for devices with softdevices.
Previously, .hex files were not copied when building source as a library.
This prevents builds that pre compile source as a library and then
includes the build directory as the only source (because there is no
softdevice present). This PR copies hex files when compiling source
as a library.
2016-06-15 15:21:16 +01:00
Christopher Haster 41daccf8d9 [build tools] Fixed masked out configuration error 2016-06-15 08:38:20 -05:00
Christopher Haster f45dc15aa8 [build tools] Added test for configurations set from same level as feature 2016-06-15 08:38:20 -05:00
Christopher Haster e70efe3a41 [build tools] Made config settings compatible with features system
per @screamerbg
2016-06-15 08:38:20 -05:00
Christopher Haster 6da324fa3f [build tools] Added test coverage for config features feature 2016-06-15 08:38:20 -05:00
Christopher Haster d9749b0447 [build tools] Added list of supported features
per @screamerbg
2016-06-15 08:38:20 -05:00
Christopher Haster ce0606a756 [build tools] Added better support for features and recursive configs
per @screamerbg
2016-06-15 08:38:20 -05:00
Sam Grove 2a4a02caa7 Merge pull request #1944 from mbedmicro/ctrl-c-traceback
Fixes the python traceback when the user does ctrl+c during compilation
2016-06-15 12:29:21 +01:00
Mihail Stoyanov edc1fa1865 Fixes the python traceback when the user does ctrl+c during compilation 2016-06-15 01:08:35 +01:00
Mihail Stoyanov d0db5c94e5 Removed IAR --vla flag which breaks compatibility with IAR Workbench 2016-06-15 00:06:43 +01:00
Sam Grove 7d0060aa7b Revert "Fix iar exporter - flags duplication and consolidations" 2016-06-14 23:31:57 +01:00
0xc0170 dea0b1d598 iar template - disable vla 2016-06-14 21:39:02 +01:00
Martin Kojtal 9b5adb8cd1 Merge pull request #1752 from svastm/add_nucleo_l011k4
Add NUCLEO_L011K4
2016-06-14 22:00:28 +02:00
Martin Kojtal ba69e82fc7 Merge pull request #1850 from LMESTM/dev_new_serial_complete_test
Add a serial transmission complete test
2016-06-14 21:54:48 +02:00
Martin Kojtal 1f9d28346f Merge pull request #1924 from 0xc0170/fix_armcc
Fix armcc ulib template - removal
2016-06-14 20:06:26 +02:00
Martin Kojtal cfa4d0c855 Merge pull request #1938 from 0xc0170/fix_iar
Fix iar exporter - flags duplication and consolidations
2016-06-14 18:45:16 +02:00
0xc0170 69c3da581d iar - flags consolidation
- vla flag is not compatible with c++ (not supported), it generates an error
in the IDE. Therefore we remove it
- common flags - add dlib and thum to the common flags.
- cpu flag is for only runtime cmd, IDE sets it via defined MCU, not required.
2016-06-14 16:19:39 +01:00
Mihail Stoyanov ffa45c9935 Merge pull request #1932 from geky/fix-dup-feature-defines
Removed duplicate feature declarations
2016-06-14 15:59:47 +01:00
0xc0170 bf6b88aa62 iar template - fix output obj - generate a binary 2016-06-14 14:37:04 +01:00
Olaf Hagendorf e829d8b34d [uviosn5] some fixes for PR #1933
- one missing import
- typo: uvision instead of uvision5 used
2016-06-14 14:53:22 +02:00
0xc0170 58aa227a8c armcc - fix libpath - windows spaces 2016-06-14 13:03:15 +01:00
Martin Kojtal 262b2e4a46 Merge pull request #1933 from 0xc0170/fix_uvision_cpp
uvision - remove --cpp flag from exporters
2016-06-14 13:43:02 +02:00
0xc0170 a3e1143317 uvision - remove --cpp flag from exporters
The cpp files are by default compiled with --cpp. Including this flag, causing
C files compiled as C++ files. Thus we remove them. We could potentionally
remove it from cxx flags as well.
2016-06-14 12:33:26 +01:00
Laurent Meunier 8cb46bc602 Add a serial transmission complete test
This automated test makes sure that the serial
syncrhonous API ensures a full transmission before
the function returns. The complete string sent by
printf shall be completely transferred before printf
returns and the sleep modes are called.

mbed Issue #1849
2016-06-14 12:03:22 +02:00