Sam Grove
872363d809
Merge pull request #2854 from theotherjimmy/find-duplicates
...
[Tools] Find and report duplicates
2016-09-30 18:30:00 -05:00
Brian Daniels
64d09e1879
Adding uARM support default build profiles
2016-09-30 17:24:11 -05:00
Jimmy Brisson
5f8fbac56f
Add documentation of exposed functions
2016-09-30 15:14:22 -05:00
Jimmy Brisson
e012185602
Use toolchain notify for printing when finding dupes
2016-09-30 15:14:22 -05:00
Jimmy Brisson
9f7c82a37f
Deduplicate find-duplicate functionality
2016-09-30 15:13:53 -05:00
Jimmy Brisson
a85a384973
Add duplicate detection to project compilation
2016-09-30 15:13:53 -05:00
Jimmy Brisson
e2b248a4aa
Correct percent printing
2016-09-30 15:09:54 -05:00
Sam Grove
761ec4423b
Merge pull request #2856 from bridadan/fixing-missed-build-error-prints
...
[Tools] Making all toolchains print final compiler message
2016-09-30 15:01:20 -05:00
Sam Grove
1047ab4562
Merge pull request #2834 from bridadan/memap-consolidate
...
[tools] Making memap output consistent across output formats
2016-09-30 14:59:31 -05:00
Jimmy Brisson
7348b0131b
Add Debug or Release to labels depending on flags
...
This is a policy decision and it should /really/ be in the config system
ATM it's here for backward compatibility
2016-09-30 13:01:16 -05:00
Jimmy Brisson
fd04ea2125
Added property based regression test to travis
2016-09-29 10:20:05 -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
Brian Daniels
10534019b9
Making all toolchains print final compiler message.
...
This functionality was already present in the ARM toolchain script, but
this commit adds this across all toolchain scripts. Solves an issue that
cropped up where a build error wasn't being printed unless the verbose
flag was used. This should now print any existing error messages that have
been printed when the compiler output is being parsed.
2016-09-28 14:42:35 -05:00
Brian Daniels
e8b06874a3
Making memap output consistent across output formats
...
This commit fixes an issue where the output from memap.py was not
consistent across all output formats. This issue stemmed from the fact
that a few important calculations were being performed at output
generation time. This has been moved to the 'parse' function and saved for
future use by the 'generate' functions.
Because this commit saves more data to the MemapParser instance, there
were some name collisions. The public member 'mem_summary' has been
renamed to 'mem_report'. 'mem_report' contains the data structure used by
the json generator. This includes both the section data and the memory
summary. The 'mem_summary' member now just contains the summary. The
summary includes total allocated heap, total static RAM, etc.
2016-09-27 16:51:16 -05:00
Sam Grove
28f9b27918
Merge pull request #2788 from theotherjimmy/print-percent
...
Print percent complete when building
2016-09-24 16:48:03 -05:00
Sam Grove
e9c556d356
Merge pull request #2757 from theotherjimmy/non-global-config
...
Refactor Target and Config away from global variables
2016-09-22 17:23:04 -05:00
Jimmy Brisson
2fe201cf10
Print percent complete when building
2016-09-22 15:10:03 -05:00
Sam Grove
0c0455bf3f
Merge pull request #2745 from pan-/disable_global_objects_destruction
...
Disable global objects destruction
2016-09-22 00:48:08 -05:00
Jimmy Brisson
d4f9820577
Refactor Target and Config away from global variables
2016-09-20 16:09:22 -05:00
Vincent Coubard
f4f8b491d1
Override exit and atexit functions from newlib.
...
This change simplify the exit and initialization process.
It also reduce the number of hidden memory allocation made by atexit.
2016-09-19 15:17:39 +01:00
Vincent Coubard
2f0b772c77
Disable destruction of global C++ objects when IAR is used.
...
This behavior is realized by enabling the flag --no_static_destruction
when the compilerin the invoked.
2016-09-19 11:59:24 +01:00
Brian Daniels
ba5ab753b1
Fixing missing import for os.path.exists
2016-09-17 21:12:47 -05:00
Sam Grove
663fdb796f
Merge pull request #2721 from theotherjimmy/profile-documentation
...
tools - Add documentation about profiles to the toolcahins
2016-09-16 17:38:13 -05:00
Sam Grove
a6f4b58405
Merge pull request #2675 from sarahmarshy/toolchain_path_check
...
Revise checking toolchain path
2016-09-16 17:31:41 -05:00
Sam Grove
054f232431
Merge pull request #2674 from theotherjimmy/correct_repo_files
...
tools - Correct adding repo_files
2016-09-16 17:30:13 -05:00
Jimmy Brisson
924d242b39
Add documentation about profiles to the toolcahins
2016-09-15 15:03:10 -05:00
Jimmy Brisson
00d2a45b91
Generalize make exporters for all toolchains
2016-09-15 11:42:52 -05:00
Sarah Marsh
8670598115
Abstract check_executable added
2016-09-13 16:26:58 -05:00
Sarah Marsh
ab92a5ace2
Toolchain check generic in mbedToolchain
2016-09-13 13:59:11 -05:00
Sarah Marsh
8b74c5b3c7
Docstrings. Empty executable search path handling.
2016-09-13 12:06:01 -05:00
Sarah Marsh
61dee45dca
Revise checking toolchain path
2016-09-12 18:54:39 -05:00
Jimmy Brisson
f48aa248b7
Correct adding repo_files
2016-09-12 16:19:55 -05:00
Tony Wu
c50b5c6651
Tools - Fix fill section size variation
...
The linking order of object files affects the actual code placement,
which in turn affects the size of fill section due to the number of
zeros required to maintain appropriate data/code alignment may change.
This is observed when building on Mac and Linux host.
example: mbed compile -m K64F -t GCC_ARM (build 1)
+---------------------+-------+-------+-------+
| Module | .text | .data | .bss |
+---------------------+-------+-------+-------+
| Fill | 120 | 4 | 2381 |
| Misc | 28755 | 2216 | 84 |
| features/frameworks | 4236 | 52 | 744 |
| hal/common | 2745 | 4 | 325 |
| hal/targets | 12116 | 12 | 200 |
| rtos/rtos | 119 | 4 | 0 |
| rtos/rtx | 5721 | 20 | 6786 |
| Subtotals | 53812 | 2312 | 10520 |
+---------------------+-------+-------+-------+
example: mbed compile -m K64F -t GCC_ARM (build 2)
+---------------------+-------+-------+-------+
| Module | .text | .data | .bss |
+---------------------+-------+-------+-------+
| Fill | 128 | 4 | 2381 |
| Misc | 28755 | 2216 | 84 |
| features/frameworks | 4236 | 52 | 744 |
| hal/common | 2745 | 4 | 325 |
| hal/targets | 12116 | 12 | 200 |
| rtos/rtos | 119 | 4 | 0 |
| rtos/rtx | 5721 | 20 | 6786 |
| Subtotals | 53820 | 2312 | 10520 |
+---------------------+-------+-------+-------+
This patch fixes fill section size variation by sorting object
files before passing to linker.
Signed-off-by: Tony Wu <tung7970@gmail.com>
2016-09-10 08:30:01 +08: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
fe1f2b6066
Merge pull request #2563 from sarahmarshy/path_error_rev
...
Check if executble exists
2016-08-26 18:05:50 -05:00
Sarah Marsh
bd0acdc527
Check executable
2016-08-26 17:32:57 -05:00
Sam Grove
ea3526d657
Merge pull request #2418 from sarahmarshy/path_error_rev
...
Readable error when toolchain paths not set. Allow IAR and ARM toolchains to be set in user's PATH.
2016-08-26 13:10:48 -05:00
Vincent Coubard
fe322adc9c
Make selection of c library used consistent.
...
* rename "default_build" property into "default_lib"
* rename "standard" value for "default_build" into "std".
2016-08-23 16:04:56 +01:00
Vincent Coubard
73a925810c
Improve naming of the command line option which select the c library to use.
...
* rename 'small-build' into 'small-lib'
* rename 'standard-build' into 'std-lib'
2016-08-23 15:42:08 +01:00
Vincent Coubard
afde624a26
Rename big-build option into standard-build.
...
With this change, the name is more descriptive and aligned with the targets
definitions in hal/targets.json.
2016-08-23 15:38:44 +01:00
Russ Butler
6a31ffbf3e
Heap statistics
...
Keep track of the current size allocated, maximum size allocated,
number of allocations, failed allocations and total size allocated for
both GCC and ARM. Report the maximum size allocated at the end of
testing.
Also, add a test to verify heap metrics are working as expected.
2016-08-22 18:32:51 -05:00
Martin Kojtal
862db41be3
Merge pull request #2468 from bridadan/fix-gcc-diagnostic-pattern
...
Tools - Fixing issue where GCC fails to report compile errors when non-verbose
2016-08-19 13:48:54 +01:00
Sarah Marsh
cd229bacc3
Allow users to set armcc and iccarm in path.
...
Raise exceptin instead of exit.
Corrected error for arm-none-eabi-gcc/g++ set in path.
2016-08-17 09:14:05 -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
cb5e61028d
Format and add docstrings to memmap
2016-08-16 11:48:39 -05: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
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
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