Commit Graph

15 Commits (e1890c92842e42b73a7edf78bb073e94d078f220)

Author SHA1 Message Date
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
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 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
Bogdan Marinescu 80a70fcb51 Simplified string formatting expressions in get_config_data_header 2016-06-16 11:41:22 +03: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
Christopher Haster 0d9d4639cd [build tools] Added proper namespace for features
per @bogdanm
2016-06-15 10:34:32 -05:00
Christopher Haster 41daccf8d9 [build tools] Fixed masked out configuration error 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 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
Christopher Haster 2d38065e1f [build tools] Added support for completely overriding cumulative attributes 2016-06-11 15:45:11 -05:00
Christopher Haster 36904fad1f [build tools] Moved cumulative attributes into target overrides
Attributes now get the filtering provided by target_overrides:
{
    "name": "cmsis-nodejs-SQL-x86",
    "target_overrides": {
        "*": {
            "device_has": ["SILLY_STRING", "FIRE"]
        },
        "SHOE": {
            "features_add": ["SMELLS_FUNNY"],
            "features_remove": ["SMELLS_NICE"],
        }
    }
}

per @screamerbg
2016-06-11 15:30:26 -05:00
Christopher Haster e3bde44b87 [build tools] Added support for cumulative attributes in configs directly
in mbed_lib.json:
{
    "name": "cmsis-nodejs-SQL-x86",
    "features_add": ["SMELLS_FUNNY"],
    "features_remove": ["SMELLS_NICE"],
    "device_has": ["SILLY_STRING", "FIRE"]
}
2016-06-11 14:44:59 -05:00
Mihail Stoyanov c2e3001739 Add config system, memap, updates to build_api and toolchains 2016-06-09 23:50:03 +01:00