Commit Graph

137 Commits (b634ca49dd415be4fe2b68c96ad76e95b944f5fa)

Author SHA1 Message Date
Jimmy Brisson db4c380b2b Python2+3: build_travis.py and Travis tests 2018-02-05 11:07:37 -06:00
Jimmy Brisson 1dd39fbe80 Python2+3: mbed test --compile 2018-02-05 11:07:37 -06:00
Jimmy Brisson c93a2bfa4c Python2+3: Use absolute import where possible 2018-02-05 11:07:37 -06:00
Jimmy Brisson cca4425af6 Python2+3: iteritems -> items 2018-02-05 11:04:36 -06:00
Jimmy Brisson 7abeec9744 Python2+3: clean argparse 2018-02-05 11:04:35 -06:00
Jimmy Brisson 10a91216f5 Python2+3: The rest of mbed compile 2018-02-05 11:04:01 -06:00
Jimmy Brisson 380ecb1b0e Python2+3: working through many has_attr exceptions 2018-02-05 11:04:01 -06:00
Jimmy Brisson 68737f2762 Python2+3: Things import 2018-02-05 11:03:44 -06:00
Jimmy Brisson a92d0df4ae Move region adding to mbedToolchain 2018-01-31 10:04:34 -06:00
Joris Aerts d3f6ea4ed2 Fix for #5676 make.py generates duplicate file entries in link_files.txt 2017-12-21 13:53:19 +01:00
Christopher Haster 9fd6c5ae56 Fix behaviour of empty .mbedignore
Should ignore nothing, currently ignores everything
An empty .mbedignore is easy to create when tinkering with a local repo
2017-10-13 11:52:13 -05:00
Jimmy Brisson 58372d3fdf Allow ARMC6 to run post-binary-hooks marked for ARM 2017-09-13 14:50:06 -05:00
Anna Bridge 7b428916f5 Merge pull request #4949 from theotherjimmy/feature-armc5+armc6
NEW TOOLCHAIN: Add the ARMC6 Compiler
2017-09-13 10:39:15 +01:00
Jimmy Brisson e9d3166a5e Expose present get_compile_options API in Toolcahins 2017-09-11 13:20:32 -05:00
Jimmy Brisson 1fef5553b4 Parse deps the same for GCC_ARM and ARMC6 2017-09-11 13:17:54 -05:00
Jimmy Brisson 98b4768434 Initial toolchain class for ARMC6
While ARMC6 does use the same linker (armlink) as ARM Compiler 5, it
is not compatible.

The reason for this incompatibility are twofold:
 * armlink may invoke the C preprocessor by adding a shebang
   (`#!`) to the top of their input files.
 * ARMC6 and ARMC5 differ in how you invoke the preprocessor:
   * ARMC5: `#! armcc -E`
   * ARMC6: `#! armclang -E`

This forces the tools to rewrite the shebang if it's wrong.

This does not yet handle dependencies properly
2017-09-11 13:17:54 -05:00
Deepika 9422c351e4 Initial RTX and tools support for Cortex M-23/M-33 devices 2017-09-11 11:43:26 -05:00
Marcelo Salazar 5469be4de0 Fix to generate memory_usage key in report 2017-08-06 14:03:09 +01:00
Jimmy Brisson 8b31078d58 Add missing collect_include passing 2017-08-01 10:29:11 -05:00
Jimmy Brisson 2305a8c7e4 Merge pull request #4783 from theotherjimmy/refactor-exporter-ignores
Collect ignored directories in scan and use in exporters
2017-07-31 15:25:07 +00:00
Jimmy Brisson c8e6cf5bdd Collect ignores from scan resources and use in exporetrs 2017-07-26 14:31:22 -05:00
Jimmy Brisson 10a06a7083 Merge pull request #4733 from theotherjimmy/fix-old-builds
Prevent double define in very old builds
2017-07-17 11:07:59 -05:00
Martin Kojtal 441fda979d tools: fix toolchain extend inc paths
inc paths might be a list or might not be (just single string). If they don't, we are ending up with non valid include paths (one letter include paths).
This as result would not compile.
2017-07-12 16:24:06 +01:00
Jimmy Brisson d25560324c Prevent double define in very old builds
Partially reverts 2ddf4b33cb
2017-07-10 15:59:54 -05:00
Jimmy Brisson 99b37b28bb Merge pull request #4468 from moonchen/quote-include-paths
Put quotes around include files
2017-07-06 10:13:27 -05:00
Mo Chen 1b63202c27 Put quotes around include files
This fixes a problem when the path to include files have spaces.
See https://github.com/ARMmbed/mbed-os-example-uvisor/issues/31 for an
example of this problem.

Signed-off-by: Mo Chen <mo.chen@arm.com>
2017-06-20 14:00:38 -05:00
Jimmy Brisson bf1a69b9be Fill out remainder of LazyDict dict compatibility 2017-06-16 15:52:30 -05:00
Jimmy Brisson 7513d4f897 Correct len and iter operators for LazyDict 2017-06-16 15:28:10 -05:00
Jimmy Brisson 27c55d5c8d Delay relative_to and win_to_unix operations over features 2017-06-16 15:16:24 -05:00
Jimmy Brisson 85748dbd21 Delay feature scan until it's rquired 2017-06-16 14:58:58 -05:00
Jimmy Brisson 55801b619d Improve speed of .mbedignore processing 2017-06-16 13:36:56 -05:00
Jimmy Brisson 4806229090 Fix bug in dependency handling 2017-05-31 09:54:09 -05:00
Jimmy Brisson 3123a1d394 Switch dependencies to their respective CIL flags 2017-05-19 16:30:49 -05:00
Jimmy Brisson 5152c1c7ac Make object files depend on compiler flags 2017-05-19 16:29:55 -05:00
Sam Grove 94b67de439 Merge pull request #4202 from theotherjimmy/rom-size-injection
Add support for Unmanaged Bootloader
2017-05-18 09:34:13 -05:00
Sam Grove 943ef8648b Merge pull request #4325 from theotherjimmy/fix-unicode
Decode STDERR from compiler
2017-05-18 09:26:06 -05:00
Jimmy Brisson 4ed87e2f3c Decode STDERR from compiler 2017-05-15 14:13:50 -05:00
Bartek Szatkowski 2ddf4b33cb CMSIS5: Remove ARM7 support and targets 2017-05-12 13:48:43 -05:00
Jimmy Brisson 58167a2071 All C files depend on mbed_app.json 2017-05-11 14:20:09 -05:00
Jimmy Brisson bbde3797cb Make binary depend on config directly 2017-05-08 13:33:37 -05:00
Jimmy Brisson da9c10be48 Expand build reports in the tools 2017-04-20 11:03:15 -05:00
Jimmy Brisson 7c40343e74 Fix include paths for Windows builds 2017-04-11 14:26:14 -05:00
Sam Grove cef31a7fa6 Merge pull request #4106 from theotherjimmy/fix-typo-toolchain
Fix a scoping typo in toolchains
2017-04-10 10:51:07 -05:00
Jimmy Brisson d5ecd7adf8 Fix a scoping typo in toolchains 2017-04-03 15:43:22 -05:00
Jimmy Brisson 09afe23762 Upgrade OUTPUT_EXT and use it to pick binary type
targets.json contained a key for some targets, `OUTPUT_EXT`, which I
moved to `Target`, the root of all targets. Following on that, the tools
now use this extension provided by `OUTPUT_EXT` to determine the file
type of the output executable.
2017-03-29 16:46:21 -05: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 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 1d95604275 Remove GCC_CR
It has not worked since the introduction of build profiles
2017-02-16 15:03:24 -06:00
Jimmy Brisson c0f27597ec Add redirect support to toolchains
We create an API for generating the linker flags needed to redirect
functions in an application
2017-02-08 17:34:35 -06:00
Martin Kojtal 7316b89c1d Merge pull request #3600 from theotherjimmy/refactor-sys-libs
[toolchains] Refactor sys libs
2017-01-26 10:30:27 +02:00