Commit Graph

139 Commits (7bd9952583364a9752ce566822674381deb4c00c)

Author SHA1 Message Date
Sam Grove f7ad7d2e27 Merge pull request #2005 from screamerbg/env-var-paths
[Tools] Add environmental variables support for toolchain paths
2016-06-27 11:41:58 -05:00
Sam Grove f3e15ebfa3 Merge pull request #2020 from mbedmicro/fix_iar_asm_options
Fixed config-related options for the IAR assembler
2016-06-27 11:37:59 -05:00
Bogdan Marinescu 676cfbb695 Merge pull request #2028 from mbedmicro/add_project_folders
Change directory generation for project files.
2016-06-27 18:52:18 +03:00
Martin Kojtal 2acd3bbf2f Merge pull request #2023 from screamerbg/misc-scripts
Move non-essential scripts to tools/misc/
2016-06-27 17:51:56 +02:00
Bogdan Marinescu 2852932367 Change directory generation for project files.
Before this PR:

```
Successful exports:
  * K64F::uvision       .\projectfiles\uvision\Unnamed_Project_K64F
```

After this PR:

```
Successful exports:
  * K64F::uvision       .\projectfiles\uvision_K64F\Unnamed_Project
```

The directory name now contains <ide>_<target>, and there's a single
project per directory as a result.
2016-06-27 18:16:46 +03:00
Martin Kojtal fdb401ce4e Exporter - source_relative name fix
relative did not contain enough details what's the intention with
this flag.
2016-06-27 15:29:21 +02:00
Martin Kojtal 5800af11b3 Exporters - add source_relative flag
if we work with relative sources, the flag should be set to True, otherwise
False.

This fixes wrong paths when exporting with --source argument. The exporter would
assume sources were copied, and thus reference them all within the root of the generated
project.
2016-06-27 15:25:44 +02:00
Mihail Stoyanov 925781c6a7 Move non-essential scripts to tools/misc/ 2016-06-27 14:11:38 +01:00
Bogdan Marinescu b4e8cf655d Fixed config-related options for the IAR assembler
The IAR assembler doesn't accept '--preinclude', but it accepts -D.
This commit changes the way the config-related macros are propagated
to the IAR assembler to use '-D' instead of '--preinclude'. This is
the only change related to functionality, the others are small,
backward compatible changes to the config code to make passing arguments
to the toolchain instances easier.

Tested by compiled blinky with IAR, GCC_ARM and ARM for K64F.
2016-06-27 15:54:38 +03:00
Mihail Stoyanov faa427db77 Add environmental variables support for toolchain paths
Also updated license of settings.py and default_settings.py and added
comments
2016-06-24 23:03:08 +01:00
Sam Grove 33cec194c6 Revert "Generalize flag handling" 2016-06-24 16:39:01 -05:00
Sam Grove 667d49ed8f Merge pull request #1985 from kjbracey-arm/iar_vlas
Turn on C99 VLAs in IAR
2016-06-24 16:13:22 -05:00
Sam Grove 6dd11c76e4 Merge pull request #1976 from theotherjimmy/memap-args
Generalize flag handling
2016-06-24 15:03:50 -05:00
Jimmy Brisson 7b3ef2179f Make mcu and tool arguments many and update all consumers of them 2016-06-24 14:23:19 -05:00
Jimmy Brisson d757f35d15 Update style 2016-06-24 14:23:19 -05:00
Jimmy Brisson 7e5deaa7d0 standardize on nargs="*" 2016-06-24 14:23:19 -05:00
Jimmy Brisson 3276854f49 fix parse error in test.py and make -n + -p comma separated 2016-06-24 14:23:19 -05:00
Jimmy Brisson 439d2e8539 Add -S, -L, and --source to the project.py mutually exclusive group 2016-06-24 14:23:19 -05:00
Jimmy Brisson 053efc6864 Add -S, -L, and --source to the mutually exclusive group 2016-06-24 14:23:19 -05:00
Jimmy Brisson c969a4c784 Better test completion and everything that can be is columnated 2016-06-24 14:23:17 -05:00
Jimmy Brisson 91c45a7b6f Improve test -n and -p failure messages 2016-06-24 14:22:48 -05:00
Jimmy Brisson 2fc4d64b07 Brought test_api.py and users into the new order of argument parsing 2016-06-24 14:22:48 -05:00
Jimmy Brisson 18868ff3fb Convert project.py to the new style of argument parsing 2016-06-24 14:22:47 -05:00
Jimmy Brisson c5ac2cfdec Create type combinator many 2016-06-24 14:22:47 -05:00
Jimmy Brisson e4c6bcd724 Move test parsers to tests.py 2016-06-24 14:22:47 -05:00
Jimmy Brisson b98c8c1c33 Generalize all appropriate arguments and check for file existance 2016-06-24 14:22:47 -05:00
Jimmy Brisson 43e036d6e1 Move to argparse from optparse 2016-06-24 14:22:47 -05:00
Jimmy Brisson 52a7f64d67 Generalize parsing types 2016-06-24 14:22:41 -05:00
Sam Grove 0bbac4138d Merge pull request #1999 from screamerbg/fix-ignore-root
Fixed .mbedignore logic to ignore the walk() root
2016-06-23 22:40:35 -05:00
Sam Grove d3a6ac3f5f Merge pull request #1995 from geky/fix-debug-info
[tools] Reorder option handling in toolchains
2016-06-23 22:34:18 -05:00
Mihail Stoyanov 5f92574163 Merge pull request #1986 from svastm/fix_report
Fix html report exporter row tag
2016-06-24 02:26:30 +01:00
Mihail Stoyanov 6c53baf7d2 Fixed match walk() root against the ignore list.
For example .mbedignore in tools/ contains '*' and naturally should match all files, folders including tools/ itself. Without this fix, tools/ is added to the include path
2016-06-24 01:24:09 +01:00
Jimmy Brisson ee8a02c6ab Generalize export format flag input 2016-06-23 15:45:31 -05:00
Jimmy Brisson f442fd9394 Broaden acceptable toolchain spec; improved incorrect toolchain error 2016-06-23 15:45:31 -05:00
Kevin Bracey b74546c731 Warn about or prevent VLA use in C++
ARM and GNU compilers currently are in a mode where they will accept VLAs
in C++ as an extension. IAR does not accept them in C++.

Avoid potential portability surprises by making GCC warn, and
deactivating the extension in ArmCC.
2016-06-23 09:57:05 +03:00
Kevin Bracey 80a03e1787 Turn on C99 VLAs in IAR
IAR defaults to C99 mode, but doesn't enable VLAs by default. Enable them
to make it more conformant.

We don't have much if any code using actual variable-length arrays, but
variably-modified types are occasionally used. The same switch controls
both.

(VLAs were actually already enabled in most of the project export
templates, but not the build script).
2016-06-23 09:34:12 +03:00
Christopher Haster 5a4c5df4dc [tools] Reordered option handling in toolchains
Options were parsed and logged before per-toolchain
logging was setup.

Fixes #1990
2016-06-22 09:23:33 -05:00
Bogdan Marinescu f864b8439f Merge pull request #1983 from mbedmicro/fix_config_tests
Fix K64F-based config tests
2016-06-22 16:47:32 +03:00
svastm e4f38b031f Fix html report exporter row tag 2016-06-22 11:36:22 +02:00
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
Bogdan Marinescu 20583ba172 Fix K64F-based config tests
PR #1974 added a new configuration parameter to K64F, which in turn made
some tests break, because they found an unexpected configuration
parameter. Fixed by defining a special target for the tests
(test_target) that can be used independently of the actual mbed targets.
2016-06-21 19:58:03 +03: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