Commit Graph

212 Commits (55b992f130b847d2851a978e55a53de7930d4be5)

Author SHA1 Message Date
Jimmy Brisson 86b441c5a4 Display full paths in armlink output 2017-09-22 15:15:07 +01:00
Deepika 76a0660ec6 Corrected check for ARM/ARMC6 toolchain
ARMC6 support required ARM compiler support as mandatory requirement which
should not be the case. Cortex-M23/M33 devices are not suuported by ARM compiler5

Adding ARMC6 without ARM in target.json should work now.
2017-09-19 11:36:38 +01:00
Deepika 1f48da98e4 ARMC6 support for Cortex-M23 2017-09-19 11:36:38 +01:00
Jimmy Brisson 318419a705 Allow ARMC6 to run post-binary-hooks marked for ARM 2017-09-19 11:36:38 +01: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 d56c19f253 Detect test skips with armc6 2017-09-11 13:20:33 -05:00
Jimmy Brisson 887d29372b Check for support in ARMC6 2017-09-11 13:20:33 -05:00
Jimmy Brisson f4b7d8ba77 Avoid forcing preprocessing
We avoid forcing preprocessing by not replacing the first line when it's
not a shebang (#!). Should work pretty darn well.
2017-09-11 13:20:32 -05: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 ca1f24cc0e Add -mcmse flag for GCC and improved logic for cpu core 2017-09-11 11:49:28 -05:00
Deepika 9422c351e4 Initial RTX and tools support for Cortex M-23/M-33 devices 2017-09-11 11:43:26 -05:00
Shrikant Tudavekar ddc9e0840a disable -f option for assembly files for IAR 2017-08-25 16:59:21 -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
Yuguo Zou 02687b5ec5 A fix to enum issue 2017-06-03 20:14:54 +01:00
Yuguo Zou 7867a816d7 WiFi test fix for GCC
right now still need to add flag in gcc.py, we are fixing!
2017-06-03 20:14:51 +01:00
Yuguo Zou 53e837bce2 add support for REALTEK_RTL8195AM 2017-06-03 20:14:45 +01: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
Anna Bridge ae10ca8787 Merge pull request #3895 from theotherjimmy/find-exec-in-path
Use PATH env variable when gcc found in PATH
2017-03-14 14:41:32 +00: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 a5745cadd9 Use PATH env variable when gcc found in PATH
Resolves the github issue #3790: Blinky fails to build (on Mac) after
addition of linker script preprocessing feature. Paraphrasing, this
issue is that Homebrew on mac does not install `arm-none-eabi-gcc` in
the same location as `arm-none-eabi-cpp`, the C Pre-Processor. The tools
prior to this commit, and after turning on the pre-processing of the
linker-script will fail on any Mac homebrew installed toolchains.

This commit resolves the above issue by allowing the toolchain's path to
the executable to remain empty after a call to `check_executable`. When
this path is empty, the tools will search the PATH environment variable
for the executable.
2017-03-06 15:24:58 -06:00
Sam Grove 067f5a0fef Merge pull request #3791 from theotherjimmy/remove-cr
Remove GCC_CR and refurbish LPCXpresso exporter
2017-02-22 13:33:14 -06:00