Commit Graph

88 Commits (95e0bc094aeff15479b49d14f327fc95ac941153)

Author SHA1 Message Date
Jimmy Brisson c8e6cf5bdd Collect ignores from scan resources and use in exporetrs 2017-07-26 14:31:22 -05:00
lordguilly 5f22577da1 added the missing verbose=verbose to printout the command line correctly 2017-07-06 00:38:42 +01:00
Martin Kojtal 278634a1f6 tools: mbed sdk boot should be separate object file
This was probably deleted during the rebase, as mbed sdk boot needs to be
own object file due to using weak functions.
2017-06-08 17:19:58 -05:00
Jimmy Brisson 9277c6e564 Move profile processing into build_api 2017-06-02 12:05:01 +01:00
Jimmy Brisson cee0cbd900 Remove Cortex-A mbed OS 5 support 2017-06-01 13:16:09 -05:00
Jimmy Brisson d8caee9077 Disallow building of mbed OS 2 + rtos 2017-06-01 13:16:03 -05:00
Jimmy Brisson 07a6c07408 Revert "Disable Cortex-A in tooling to provide better error messages"
This reverts commit f5859b308b.
2017-05-31 13:06:30 -05:00
Jimmy Brisson f5859b308b Disable Cortex-A in tooling to provide better error messages
Disable Cortex-A in compile supported matrix
Disable Cortex-A in export supported matrix
2017-05-30 14:32:06 -05:00
Martin Kojtal 4b9b7188b8 tools: fix objects names that we need because of weak linkage
Fixing retarget and board object files, plus adding new one mbed_main.
2017-05-12 14:51:51 -05:00
Bartek Szatkowski 2ddf4b33cb CMSIS5: Remove ARM7 support and targets 2017-05-12 13:48:43 -05:00
Jimmy Brisson 7e03d8f1b4 Merge pull request #4110 from theotherjimmy/build-metadata
Add --build-data switch to mbed compile and test
2017-05-02 11:35:47 -05:00
Jimmy Brisson 2a84ddd6e4 Error when bootloader is specified but does not exist
The changes to build_api.py make the error happen when running things
like get_config.py
2017-04-20 11:23:42 -05:00
Jimmy Brisson c4c6e139b6 Add UUID to all builds 2017-04-20 11:03:15 -05:00
Jimmy Brisson 05dce1206e Change date key to UTC ISO 8601 format 2017-04-20 11:03:15 -05:00
Jimmy Brisson 6ef384b7fe Add type to build_data.json 2017-04-20 11:03:15 -05:00
Jimmy Brisson 808279911c Add --build-data flag to mbed test 2017-04-20 11:03:15 -05:00
Jimmy Brisson da9c10be48 Expand build reports in the tools 2017-04-20 11:03:15 -05:00
Jimmy Brisson 65adf446c5 Merge pull request #3993 from mbartling/supported-lists
Added list options for --supported command
2017-04-12 09:33:27 -05:00
Sam Grove e3edbabbcc Merge pull request #4107 from theotherjimmy/config-name-app
Allow configuration of artifact name in app config
2017-04-10 16:37:34 -05:00
Jimmy Brisson 6a646eb4b2 Allow configuration of artifact name in app config 2017-04-04 14:36:01 -05:00
Michael Bartling f142939937 Added ability to list targets and toolchains in a non matrix form.
This is super helpful for the tab completion generation script as we no
longer have to parse the matrix output.
2017-03-31 09:54:03 -05:00
Jimmy Brisson 8b3f08ed49 Elide adding regions to profile when empty 2017-03-29 15:49:16 -05:00
Jimmy Brisson a937ee00f2 Fix toolchain path names in Mbed 2 builds
I accidentally broke only uARM mbed 2 builds. Here is the story: When
scanning for resources, toolchains look for any `TOOLCHAIN_<classname>`
folders to include. These `<classname>`s mostly match the name passed in
on the command line with one exception: `uARM` on the command line maps
to `ARM_MICRO` the class. This would not be a problem except for the bug
that I introduced in a prior commit. The bug is that the mbed2 library
builds will use the name passed in on the command line to construct
`TOOLCHAIN_<cli-name>`. This will not match when scanning.

I fixed it by translating the `<cli-name>` into the `<classname>`.
2017-03-10 11:08:56 -06:00
Jimmy Brisson d20bcba89b Remove static analysis scan
An earlier patch in this series relies on the assumption that all
toolchain construction goes through `prepare_toolchain`. This is still
not the case. The only remaining user of the `mbedToolchain` object that
does not go through `prepare_toolchain` is the static analysis scanner.
It's basically dead-code at this point. I say we remove it. So this
patch removes it.
2017-03-06 18:29:46 -06:00
Jimmy Brisson 51aa3330dd Re-factor mbed2 lib builds to use prepare_toolchain
The prior patch in this series makes the assumption that any building
will go through `build_api.prepare_toolchain`. This was not a valid
assumption for the mbed2 build process. So, instead of maintaining 2
ways of using the toolchain classes, I elected to unify on
`prepare_toolchain`.
2017-03-06 18:23:16 -06:00
Jimmy Brisson fbb6f71be8 Ignore build directory from scan resources
This is a bug fix for the following bug (Github issue #437):

If two builds were run specifying a non-default build folder, the second
build would fail to link with duplicate symbols and may not fit on the
device. The root of this problem is that these non-default build folders
are not ignored by scan-resources, and therefore included in the build.

We fix this bug by ignoring the build directory passed into the tools.
2017-03-06 17:10:57 -06:00
Jimmy Brisson 9a63bfb1fb Enable boot-loader builds
To enable a boot-loader style application, override
"targets.bootloader_exec" or "targets.restrict_size" on a particular
target. These parameters are a bin or hex file, and an integer, in bytes,
respectively. If either override is present, then an application region
is created after the boot-loader region, when "targets.bootloader_exec"
is present, and before post-application, when "targets.restric_size" is
present. The size of the boot-loader region is read from the file
provided in the configuration.
2017-02-22 18:20:26 -06:00
Brian Daniels 088566b33e Correctly casting toolchain features to a set.
Before, the get_config function was checking the equality of a set and a
list. However the list's equality depends on order, so this change casts
it to set to prevent an infinite loop.
2016-11-10 15:20:30 -06:00
Brian Daniels 39086722e8 Removing dependency on StringIO, only change return type of table export 2016-10-11 18:38:52 -05:00
Brian Daniels 0e4b841cb3 Removing need for memap to printed through toolchains 2016-10-11 18:24:01 -05:00
Christopher Haster 2a58befd15 restructure - Fixed missing include paths in mbed 2 project builds 2016-10-05 11:06:27 -05:00
Christopher Haster 2be7207388 restructure - Fixed missing symbols in generation of mbed 2 cmsis library 2016-10-04 17:51:44 -05:00
Christopher Haster 96b4ff3358 restructure - Updated mbed 2 build to respect the new cmsis directory 2016-10-04 17:51:44 -05:00
Christopher Haster b8fb7a6e3c restructure - Changed legacy build_lib to respect lib name in path 2016-10-01 19:43:22 -05:00
Christopher Haster a7ddc46caf restructure - Added single-nested inc_dir support to legacy build_lib
Added single-nested include directories to libraries built with the
legacy build_lib function. Unfortunately, to get this working without
a significant rewrite of the legacy build tools, library header files
are just duplicated in the precompile stage.
2016-10-01 14:58:13 -05:00
Christopher Haster 960d69f081 restructure - Updated tools to point to restructured modules
MBED_HAL       /hal/hal      x
MBED_API       /hal/api      x
MBED_COMMON    /hal/common   x
MBED_TARGETS   /hal/targets  ->  /targets
MBED_DRIVERS                  +  /drivers
MBED_PLATFORM                 +  /platform
MBED_HEADER                   +  /mbed.h
2016-09-30 19:18:09 -05:00
Sam Grove 872363d809 Merge pull request #2854 from theotherjimmy/find-duplicates
[Tools] Find and report duplicates
2016-09-30 18:30:00 -05:00
Jimmy Brisson e012185602 Use toolchain notify for printing when finding dupes 2016-09-30 15:14:22 -05:00
Jimmy Brisson a85a384973 Add duplicate detection to project compilation 2016-09-30 15:13:53 -05:00
Jimmy Brisson 9d905a2914 Add regression test for correct percent emitting 2016-09-30 15:09:54 -05:00
Sam Grove dd54f7bf43 Merge pull request #2868 from bridadan/copy-config-json-mbed-lib
[Tools] Copying main config json file for mbed lib builds
2016-09-30 15:03:38 -05:00
Brian Daniels 69448d7d8d Copying main config json file for mbed lib builds 2016-09-29 16:08:16 -05:00
Jimmy Brisson d88852d150 Replace -o with profiles 2016-09-29 10:20:05 -05:00
Jimmy Brisson ceda396e18 Add simple build profiles to toolchains 2016-09-28 17:25:24 -05:00
Jimmy Brisson d4f9820577 Refactor Target and Config away from global variables 2016-09-20 16:09:22 -05:00
Conor Keegan 7c72a22508 Add test command switch for app config file 2016-09-10 15:29:19 +01:00
Jimmy Brisson 7e2ca0115b Update copyright 2016-09-06 14:24:04 -05:00
Sarah Marsh f6a15fd3c8 Refactor export subsystem
Makes several broad changes:
 - removes dead code that dealt with the online build system
 - replaces export function with a much simpler one that:
   - does not copy any sources
   - the zip file hits the disk
   - the mbed_config.h hits the disk
   - the project files hit the disk
   - nothing else hits the disk
 - exporters use Resource object scanned with a toolchain
 - progen exporters don't optionally build a project instead they have a
   build function that may be called afterwards
 - much of the code passes pylint (have a score of 9 or above):
   - project.py
   - project_api.py
   - export/__init__.py
   - export/exporters.py
   - test/export/build_test.py
2016-09-06 14:24:00 -05:00
Sam Grove f147f6f3f2 Merge pull request #2471 from bridadan/copy-config-library
Copying JSON files to pick up config for built libraries
2016-08-26 09:38:35 -05:00
Brian Daniels 33672b483f Copying JSON files to pick up config for built libraries
This came up when building tests, but affects any library that's built
that uses config and included as "source" with the mbed tools.
JSON files are not copied by default when building a library, so when this
is built it loses the config data associated with the library. This commit
copies all JSON files into the build directory when building libraries.

This leads to two mbed_config.h files existing if the build directories
are different between the library and application build. This is the case
when building tests, so an option build_library was added to remove the
mbed_config.h file when compilation is done. This disabled by default when
building libraries, but it is enabled when building tests.
2016-08-23 16:42:05 -05:00