Commit Graph

438 Commits (f8cae13f331a17e08733346b95a779f0656d257d)

Author SHA1 Message Date
Martin Kojtal bdb4ab921f Merge pull request #2472 from ytsuboi/master
[TY51822r3] Added exporting support
2016-08-17 14:54:49 +01:00
Martin Kojtal 77e87179bd Merge pull request #2456 from NXPmicro/SDK2_FRDM_K66F
Add support for FRDM K66
2016-08-17 14:37:31 +01:00
Yoshihiro TSUBOI f8a6af161a [TY51822r3] Added exporting support 2016-08-17 10:58:48 +09:00
Jimmy Brisson dabd7b8d53 Made linting a recommendation and raised the bar for printing 2016-08-16 13:29:43 -05:00
Jimmy Brisson 7b7ca84ab3 Fix remaining issues in targets.py 2016-08-16 13:29:43 -05:00
Jimmy Brisson 3f9bedbdd9 Add pylint testing to Travis 2016-08-16 13:29:43 -05:00
Jimmy Brisson 33786130ae Format and document options.py 2016-08-16 13:29:43 -05:00
Jimmy Brisson 44efd92ca3 Format and document hooks.py 2016-08-16 13:29:31 -05:00
Brian Daniels 20ddba6e90 Fixing issue where GCC fails to report compile errors when non-verbose
The output of the GCC compiler is such that the toolchain regex sometimes
got hung up on the ':' charcter being printed in front of the drive letter when
running on Windows. This PR changes the matching logic to be more flexible
by using 'search' to check the entire string for a match, not just the
beginning of the string.
2016-08-16 12:34:18 -05:00
Jimmy Brisson ec1d0b5673 Format detect_targets.py 2016-08-16 11:48:46 -05:00
Jimmy Brisson 2831eee216 Format and document libraries.py 2016-08-16 11:48:45 -05:00
Jimmy Brisson acc59a1a86 Format paths python module 2016-08-16 11:48:45 -05:00
Jimmy Brisson 5fbcc25b46 Format and document colorize 2016-08-16 11:48:45 -05:00
Jimmy Brisson cb5e61028d Format and add docstrings to memmap 2016-08-16 11:48:39 -05:00
Jimmy Brisson ea63a4d9a7 Expand docstrings in build_api 2016-08-16 11:04:33 -05:00
Jimmy Brisson bb43f8d37a Format targets.py 2016-08-16 11:04:33 -05:00
Jimmy Brisson 9d09f8e049 Reveal cumulative attributes from Targets 2016-08-16 11:04:32 -05:00
Jimmy Brisson 57af5cd053 Edit the English of the docstrings 2016-08-16 11:04:32 -05:00
Jimmy Brisson acf5c40af4 Glorify config.py (passes pylint) 2016-08-16 11:04:32 -05:00
Jimmy Brisson b2156ceef5 Format bulid_api 2016-08-16 11:04:32 -05:00
Jimmy Brisson 99f1284a81 Stylize utils.py 2016-08-16 11:04:27 -05:00
Mahadevan Mahesh 0ad9220fb1 Add support for FRDM K66
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-08-15 15:37:25 -05:00
Martin Kojtal dd8060b798 Merge pull request #2433 from theotherjimmy/better-config-errors
[tools] Improve error for missing name from mbed_lib.json
2016-08-15 15:15:06 +01:00
Jimmy Brisson 71113a8820 Improve error for missing name from mbed_lib.json 2016-08-12 09:54:03 -05:00
Martin Kojtal 3d61535652 Merge pull request #2149 from jeromecoutant/PR_MBED_A27
Add MBED_A27 test in the common list
2016-08-12 10:57:06 +02:00
Jimmy Brisson 215f4259ce Remove argument from tool/project.py -b
resolves #2309
2016-08-12 08:37:52 +02:00
Jimmy Brisson abc7669eb7 Move find_tests to where it's has arguments 2016-08-11 10:03:23 -05:00
Bogdan Marinescu d471a4f019 Add config data to build_lib in build_api.py
`build_lib` wasn't aware of configuration data, so some of the source
files that depends on configuration data fail to compile. This commit
fixes that by making `build_lib` aware of configuration data.
2016-08-11 13:54:41 +03:00
Sarah Marsh 51245ceb7a Exit non-zero for invalid toolchain path 2016-08-10 12:04:11 -05:00
Sarah Marsh 1445886844 Readable error when toolchain paths not set.
Fixes #2360.

New error:
[Error] Toolchain path does not exist for IAR.
Current value: /default/path/that/doesnt/exist
(System exit before any build system calls)
2016-08-10 11:52:45 -05:00
Bogdan Marinescu 4f6eaaa8ec build_mbed_libs is now aware of the configuration
Previously, build_mbed_libs didn't take into account the configuration.
This is a problem when doing a binary release, since mbed_lib.json
contains configuration data relevant to the binary release.
2016-08-10 19:03:13 +03:00
jeromecoutant 463c7d20f0 Create MBED_A28 test in the common list
MBED_A28 test is the same as MBED_A27 test.
This is a CAN loopback test without any peripheral or wire.
It can then be added in the common list.
2016-08-10 15:09:00 +02:00
Sam Grove 9d1fbda9fe Merge pull request #2377 from sarahmarshy/flag_revision
Pass only relevant defines at each stage of compilation
2016-08-04 22:10:58 -05:00
Sarah Marsh 70890620f7 Uvision and IAR working cc and asm specific defines 2016-08-04 17:05:12 -05:00
sarahmarshy 4cef2c917f Merge pull request #1 from screamerbg/split_symbols
Differentiate ASM and CXX symbols
2016-08-04 19:17:27 +01:00
Mihail Stoyanov 88564a9ac3 Differentiate ASM and CXX symbols as they are not treated the same in ARMCC and IAR compilers 2016-08-04 18:19:08 +01:00
Sam Grove 8891ed1cac Merge pull request #2341 from screamerbg/backported-fixes
[Tools] Build system improvements
2016-08-04 12:15:06 -05:00
Sam Grove a6ffdd4e94 Merge pull request #2366 from sg-/hexiwear-fixups
Hexiwear fixups
2016-08-04 11:38:41 -05:00
Sam Grove 5dbdf934fd Merge pull request #2359 from sarahmarshy/armasm_fix
Removed preinclude config from asm flags
2016-08-04 10:57:25 -05:00
Sam Grove a2500f877b add HEXIWEAR to RTOS tests 2016-08-03 17:40:36 -07:00
Sarah Marsh b910cfe08c Removed incorrect list removal 2016-08-03 17:26:08 -05:00
Sarah Marsh 02cdaebc95 Removed preinclude config from asm flags 2016-08-03 13:49:50 -05:00
Russ Butler 7b65eb2d9e Remove NRF51_MICROBIT from 2.0 rtos testing
The micro:bit is running rtos tests, even though this is a 16K device
that should not be using multiple threads. This patch removes it from
the 2.0 RTOS tests.
2016-08-03 13:29:20 -05:00
Sam Grove 32b134e277 Merge pull request #2345 from pan-/fix_nrf51_export
Fix nrf51 export
2016-08-02 23:18:12 -05:00
Sam Grove d83157a6fa Merge pull request #2333 from bridadan/build-library-clean
Adding clean support back to build_library
2016-08-02 18:58:40 -05:00
Sam Grove e4db590789 Merge pull request #2330 from theotherjimmy/ds-5-toolchain
Add toolchain flag to DS-5 exporter
2016-08-02 17:18:35 -05:00
Sam Grove 76ea1ccb4a Merge pull request #2317 from geky/fix-ca-config-scan
[tools] Fixed infinite loop in config scan due to list comparison error
2016-08-02 17:05:13 -05:00
Vincent Coubard 80f296202c Fix goals for NRF51_DK makefile:
Now "all" depend on the project merged with the soft device,
the goal merged has been renamed into the file it generate and now depend
on the realization of $(PROJECT).hex
2016-08-02 22:55:15 +01:00
Vincent Coubard 0320f3b89e Change merged file name to $(PROJECT)-combined.hex . 2016-08-02 22:21:00 +01:00
Vincent Coubard 4223a257f9 Add the merge goal to the list dependent goals of all.
Fix import of the softdevice hex file.
2016-08-02 21:35:10 +01:00
Vincent Coubard 142e014a7f Add hex files to the exporter context. 2016-08-02 21:33:26 +01:00
Bogdan Marinescu c6c8d42b0f Merge pull request #2303 from theotherjimmy/export-asm-symbols
Add missing --preinclude and -input on assembly files
2016-08-02 20:57:39 +03:00
Jimmy Brisson 3873ccc232 Add -D options to iar assembler on export 2016-08-02 11:39:46 -05:00
Mihail Stoyanov a4c3469b7b Empty the multiprocessing queue before terminating it 2016-08-02 16:53:58 +01:00
Jimmy Brisson 965ffc3e28 Add CC_SYMBOLS to assembler invocation 2016-08-02 10:46:57 -05:00
Mihail Stoyanov 31a59c930d Allow targets to be reloaded using set_targets_json_location() 2016-08-02 11:42:21 +01:00
Brian Daniels 6df903f8a6 Adding clean support back to build_library
At some point, the actual code that did the "clean" for build_library was
removed. This also affected building and cleaning tests. This adds this
capability back to the build API.
2016-08-01 18:16:53 -05:00
Jimmy Brisson 9d0e65f47a Add toolchain flag to DS-5 exporter 2016-08-01 14:07:12 -05:00
Sam Grove c84e5d32c9 Revert "Force installation of dependencies in entry points" 2016-07-29 17:35:23 -05:00
Christopher Haster b45ec0ed76 [tools] Added specific config test for uvisor
Unlike other libraries, uvisor is currently integrated into the build
system, with special cases based on its addition as a feature. This
suggests we should also have tests for these special cases.
2016-07-29 12:31:54 -05:00
Christopher Haster 6ea4006b5a [tools] Fixed infinite loop in config scan due to list comparison error
Previously a scanning for config terminated on comparison of the feature
set, however at some point the set was changed to a list. This resulted
in non-deterministic failures based on list order.
2016-07-29 12:20:52 -05:00
Jimmy Brisson 209cf9f167 Add config file inculde directory when present 2016-07-29 11:38:38 -05:00
Jimmy Brisson fed50f8f18 Add missing --preinclude and -input on assembly files
Except for IAR, it does not support the --preinclude option for assembly
files but all of the other exporters can. It was less code to remove it
in IAR than to explicitly add it in all of the other exporters.
2016-07-29 11:02:07 -05:00
Brian Daniels 7a07c386cb Enforcing 'standard' build for mbed OS 5.0 release
This PR enforces that the default_build in a target's definition in
hal/targets.json is set to standard to be included in the version 5
release.

This is being enforced because small builds do not support
multi-threading. This makes the capabilities more consistent across all
boards in the version 5 release.

NOTE: This removes the MOTE_L152RC and the LPC11U68
from the version 5 release list because the 'default_build' for these
targets is currently set to 'small'.
2016-07-28 18:47:49 -05:00
Bogdan Marinescu 36468c9acb Merge pull request #2281 from geky/tools-ca-set-arith-fix
[tools] Fix precedence issue in cumulative attribute set-arithmetic
2016-07-28 16:23:17 +03:00
Christopher Haster 63f9b03e35 [tools] Added test for removing features 2016-07-27 18:01:33 -05:00
Sam Grove 5df79393fc Merge pull request #2257 from theotherjimmy/install-deps
Force installation of dependencies in entry points
2016-07-27 16:49:12 -05:00
Christopher Haster f3c0ea3664 [tools] Fixed precedence issue in cumulative attribute set-arithmetic
Basically this:
a | b - c  !=  (a | b) - c
2016-07-27 16:47:23 -05:00
Brian Daniels 0e4b78f840 Changing 'release' key to 'release_versions'.
The key 'release' in hal/targets.json is ambiguous. This changes the key
to 'release_versions' to emphasize that the entries should be version
numbers/strings and that it should be an array, not a singular value.
2016-07-27 13:38:02 -05:00
Brian Daniels 45cb6c6bd0 MCU-Toolchain matrix: release versions and default to mbed OS 5
This modifies the behavior of 'mcu_toolchain_matrix' in build_api.py. It
now prints release version support in the matrix. It also defaults to only
showing targets in mbed OS 5. You can still show older release versions by
modifying the 'release_version' parameter of the function.
2016-07-27 13:36:53 -05:00
Brian Daniels edc580758e Adding concept of release versions for targets.
Previously, the condition for including a target in a release was decided
by a 'release' key being set to 'true' in hal/targets.json. This doesn't
have enough granularity when we release multiple versions of mbed. This PR
changes the 'release' key to an array of strings, where each member is a
version that the target supports. Currently the valid versions are '2' and
'5'.

This PR also adds more robust checking for invalid target configurations
in a release. This is enforced whenever the release list is built from the
data, preventing invalid targets from coming into the release.

Finally, it updates the build_release.py script to use the new api for
fetching release targets.
2016-07-27 13:36:52 -05:00
Sam Grove b171a9c4b8 Merge pull request #2202 from 0xc0170/dev_progen_improvements
Export - define ProGenDef outside of the loop
2016-07-27 02:46:56 -05:00
Simon Hughes c2d849133f Adding mbed-os/features/storage to mbed/features/storage/FEATURE_STORAGE (before deleting mbed-os/features/storage). 2016-07-26 23:07:24 -05:00
Sam Grove 64928b02df Merge pull request #2244 from bridadan/test-discovery-refactor
Test discovery refactor
2016-07-26 15:45:41 -05:00
Sam Grove 5d7317626c Merge pull request #2249 from c1728p9/client_nanostack_and_seperated
Client nanostack and seperated
2016-07-26 14:30:33 -05:00
Jimmy Brisson 0a2c35c62b Force installation of dependencies in entry points 2016-07-26 14:08:26 -05:00
Sam Grove f9d38bff37 Merge pull request #2062 from bridadan/shorten-test-binary-name
Changing name of test binaries to just test case folder name.
2016-07-26 00:24:08 -05:00
Sam Grove 381b352df5 Merge pull request #2168 from c1728p9/remove_float_printf
Remove floating point formatting in newlib nano
2016-07-26 00:20:45 -05:00
Russ Butler cef844f6bf Break apart client and nanostack dependencies
Move the library files used by both nanostack and client into a common
location.  This allows both client and nanostack to be built stand-alone.

The patch moves the following libraries into a common location:
-mbed-client-c
-mbed-client-randlib
-mbed-trace
-nanostack-hal-mbed-cmsis-rtos
-nanostack-libservice
-sal-stack-nanostack-eventloop

And moves the library 'coap-service' from client into nanostack.
2016-07-26 00:00:20 -05:00
Brian Daniels 7b20b0f8f7 Making mcu and toolchain required parameters for test.py
Also renaming 'target' variable to 'mcu' to match make.py
2016-07-25 14:44:09 -05:00
Brian Daniels 1618e608e7 Test discovery now uses build and toolchain logic
Previously, test discovery throught test.py used its own logic to find
tests. This was mostly a subset of the rules used during the build
process. It respected .mbedignore files, but it did not respect TARGET_,
TOOLCHAIN_, and FEATURES_ directories. This change now uses the same logic
used during building to respect these folders. Tests under these folders
that are not being pulled in for the given target will be ignored.
2016-07-25 14:43:52 -05:00
Sam Grove 03e99031e7 Merge pull request #2225 from theotherjimmy/fix-project-args-traceback
Fix #2223
2016-07-22 18:03:25 -05:00
Brian Daniels 51c575dcc6 Fixed traceback in build_api (typo of resources variable in build_library) 2016-07-22 17:49:54 -05:00
Sam Grove aec3695cc5 Merge pull request #2188 from screamerbg/build-common
[Tools] Unify common routines in build_api.py
2016-07-22 17:04:25 -05:00
Mihail Stoyanov ac86584c42 Unify common routines in build_api.py
Introduce prepare_toolchain() which handles:
 * deduplication of src_paths
 * config initialization
 * toolchain initialization
 * toolchain flags
 * returns toolchain
Introduce scan_resources() which handles:
 * scanning of sources
 * scanning of include dirs
 * inclusion of addition include dirs
 * returns resources
2016-07-22 22:21:39 +01:00
Sam Grove 1880daef0d Merge pull request #2215 from geky/tools-cumulative-overrides
[tools] Modified config to aggregate cumulative overrides against targets
2016-07-22 16:16:41 -05:00
Jimmy Brisson a603bb0e01 Fix "project.py --help - typerror type argument unexpected" (#2223) 2016-07-22 12:59:57 -05:00
Christopher Haster a5ea143c77 Updated config tests to match change in error message 2016-07-22 00:35:13 -05:00
Christopher Haster 9bd7a2fe72 Added proper support for the extra_labels target override
Due to dependencies between the config/target systems, the config
has been modified to preparse the mbed_app.json for overrides.
This means that attributes with dependencies in the targets are
only valid at the application level. A hard error has been
added for these attributes if they are supplied at the library
level.
2016-07-22 00:35:13 -05:00
Christopher Haster f2051b217a Modified config to explicitly update cumulative attributes in targets
Modified '_process_config_and_overrides' to update cumulative
attributes based on cumulative overrides found during walking config
files.

This should remove most of the disparity between the config target
cumulative overrides and cumulative attributes set in targets.json.
These cumulative overrides are updated after the global target
instantiation though, which may cause internal build tool state
dependent on cumulative attributes to not correctly reflect all
cumulative overrides.
2016-07-22 00:35:13 -05:00
Christopher Haster 0fcb20e8c1 Generalized handling of cumulative attributes in target overrides
In tools/config.py, Config now aggregates all cumulative attributes in
target overrides.

{
  "target_overrides": {
    "K64F": {
      "target.features_add": ["UVISOR"],
      "target.extra_labels_add": ["UVISOR_SUPPORTED"],
      "target.macros_add": ["UVISOR_MACRO"],
      "target.device_has_add": ["UVISOR_HAS"]
    }
  }
}

Note: no action is performed on overrides yet
2016-07-22 00:35:13 -05:00
Sam Grove f817ec136c Merge pull request #2142 from theotherjimmy/anti-remove-repo
[tools-build,make,test] Disallow parent of repo as --build args
2016-07-21 22:11:28 -05:00
Sam Grove b10276cbef Merge pull request #2173 from theotherjimmy/abstract-base-class
[toolchains]Abstractify the mbedToolchain base class.
2016-07-21 22:10:49 -05:00
Sam Grove 702707dee7 Merge pull request #2166 from theotherjimmy/prevent-traceback-during-export
Preventing a traceback when a library is not built during export
2016-07-21 22:09:52 -05:00
Martin Kojtal dd010097ba Merge pull request #2159 from jeromecoutant/PR_dev_NUCLEO_F207ZG
New STM32 board : NUCLEO_F207ZG
2016-07-21 11:13:33 +01:00
0xc0170 3f5c794b6c Export - define ProGenDef outside of the loop
This saves ~329 calls.
2016-07-21 09:41:38 +01:00
Bogdan Marinescu 51540d08d5 Merge pull request #2177 from mbedmicro/build_on_config_change
Rebuild sources if configuration is changed
2016-07-20 14:52:08 +03:00
Jimmy Brisson 9759382166 prevent test form removeing the root dir 2016-07-19 09:33:03 -05:00
Jimmy Brisson 52855b53cf [tools-build,make,project] Disallow parent of repo as --build args
Resolves #2081
2016-07-19 09:32:44 -05:00
Jimmy Brisson 684644b1b1 [project.py] Preventing a traceback when a library is not built during export 2016-07-19 08:58:24 -05:00