Martin Kojtal
a359a56655
Fix DEBUG target keyword for GCC_ARM
...
Fixes mbed-cli#402 bug. -g flag was changed to g3, thus this caused
a regression in producing TARGET_DEBUG for GCC_ARM.
2016-12-08 10:48:53 +00:00
Jimmy Brisson
c3915215e4
Allow dependency parsing to fail, gracefully continuing
2016-11-10 10:04:36 -06:00
Sam Grove
6bd44c59d3
Merge pull request #2990 from bridadan/parallel-test-build
...
[tools] Parallel building of tests
2016-10-19 05:41:24 -05:00
Russ Butler
9f6b346c88
Properly set flags for default_lib = small
...
Use newlib nano for targets which have the key "default_lib" set to
"small". Also support the legacy key of "default_build".
2016-10-12 20:36:09 -05:00
Brian Daniels
0e4b841cb3
Removing need for memap to printed through toolchains
2016-10-11 18:24:01 -05:00
Brian Daniels
655c37715c
Handling output of parallelized test building.
...
This makes use of the reports generated by the building of tests to
prevent output from interleaving when the build is parallelized. This
required some changes to memap to return a generated string from
the 'generate_output' function. I also had an option to stop the prints
from memap to prevent text from interleaving
2016-10-11 15:34:20 -05:00
Brian Daniels
14aff069b1
Modifying behavior of 'silent' option in toolchains
...
The 'silent' option has always been present in the toolchains API, however
it did not actually stop anything from being printed. Instead, it just
changed what was added to the build log. This make the 'silent' stop all
prints, but ensures that the output for the toolchain is still preserved
and accessible via the 'get_output' function.
2016-10-11 14:31:06 -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
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