Commit Graph

46 Commits (0549b1e7c5f9db5abb1ecda7a1ebeb43f4aad19c)

Author SHA1 Message Date
Bogdan Marinescu 031cc7fbc5 Added scanning for JSON files in the resource scanner
Also added a method to add new macros to the toolchain instance.
Both of these changes are needed by the configuration mechanism.
2016-06-02 11:32:58 +03:00
Jimmy Brisson ba29012abb check for .mbedignore in root of source folders 2016-05-27 14:01:06 -05:00
Jimmy Brisson d772ea7a00 Allowed multiple --source specifications on the export command
The project name is set to the first --source argument.
Resources (the class) is now a monoid.
2016-05-27 09:45:45 +01:00
Russ Butler bb17d6ada9 Rename disassembly file to fix testing with IAR
Disassembly files can unintentionally get picked up by the test build
system.  This patch changes the file extension on those files from
".s" to ".s.txt" so they are ignored.
2016-05-26 17:37:43 -05:00
Russ Butler 960941cb0a Add IAR support
Make the following changes for IAR support:
-define __deprecated_message for IAR
-fix python error in iar.py
-move variable length array in buffered serial from cpp file to c file.
    IAR only supports variable length arrays in c.
2016-05-24 14:37:14 -05:00
Sam Grove 6c3ce1ea64 Merge pull request #112 from SeppoTakalo/master
Implement the .mbedignore functionality.
2016-05-23 23:30:44 +08:00
Sam Grove c4ed177930 Merge pull request #68 from 0xc0170/dev_gcc_sizes
gcc - print section sizes
2016-05-20 15:49:28 -05:00
Sam Grove 373fb55441 Merge pull request #114 from c1728p9/iar_vla
Turn on variable length arrays in C for IAR
2016-05-20 15:36:21 -05:00
Russ Butler c4986eed9f Create map file when building
Add compiler flags to ARM, GCC and IAR so map files get created.
2016-05-19 15:52:02 -05:00
Russ Butler 080f9e2371 Turn on variable length arrays in C for IAR
Turn on support for variable length arrays for the IAR C compiler.
This provides greater compatibility with GCC and ARMCC.

Note: The current version of iccarm at the time of this patch
(V7.40.3.8902) does not support variable length arrays in C++.
2016-05-18 19:58:46 -05:00
Seppo Takalo 3d3b0a771f Implement the .mbedignore functionality.
Check the content of `.mbedignore` files and try to match the file
patterns against the directories and source files found while travelling
the directory structure.

Every line in `.mbedignore` file is treated as a unix style glob pattern.
Before matching, the pattern is appended with its directory location, so
it will match only folder on same level, or deeper in the directory structure.

For example:
Directory ./source/test contains .mbedignore with content:
`unittest/*`

Then everything under ./source/test/unittest/ is ignored, including the
unittest folder itself.

Another example:
When .mbedignore file contains just `*`, then everything under the folder
it is located, is ignored. It won't even be added to include paths.
2016-05-19 00:23:37 +03:00
Martin Kojtal c357216217 Add static ram/rom info
After a build has been completed print out ram and rom usage.
The sizes shown are the same as those reported by
arm-none-eabi-size.exe.  The output looks like:

Memory sections sizes:
text                 37244
data                 60
bss                  7800
2016-05-18 15:55:10 -05:00
Mihail Stoyanov faa9ce76af Removed fixes intended for different PR 2016-05-17 19:46:42 +01:00
Mihail Stoyanov b57fbf4c68 Exclude folders from build that contain .buildignore file (part of de-fork of mbed HAL+RTOS) 2016-05-16 13:06:54 +01:00
Bogdan Marinescu 904ea446eb Merge pull request #84 from screamerbg/compile-response-files
Response files for includes, de-duplicate includes and more
2016-05-10 12:05:16 +03:00
Mihail Stoyanov 7e3b69ec13 Add dot to include response file name, which follows the naming convention with .link_totals.txt and .link_files.txt 2016-05-09 19:08:56 +01:00
Mihail Stoyanov d33f890fdd Minor code cleanup 2016-05-09 19:08:56 +01:00
Mihail Stoyanov 7e11174a00 Calculate md5 of all include paths in compile_sources() and remove calculation from <toolchaon>get_compile_options(), thus significantly reduce repetitive md5 calculations
Unify handling of the include response file in mbedToolchain::get_inc_file()
Sanitize obsolete no-longer needed methods
2016-05-09 19:08:56 +01:00
Mihail Stoyanov f01e1363d1 De-duplicate the include paths. Without this all compiles are passed include paths twice 2016-05-09 19:08:56 +01:00
Mihail Stoyanov 868942a148 Build system response files for all macros and includes. This also allows developers to check the response file after/during compile for the list of all macros and includes being used. 2016-05-09 19:08:56 +01:00
Mihail Stoyanov ecb9651873 Unified command-line handling of defines and includes with response files for all toolchains (ARM, GCC, IAR)
Capture system/OS error during command execution and report the command
Report command before executing it in default_cmd()
2016-05-09 19:08:56 +01:00
Mihail Stoyanov 2be0385f73 Response files for includes during assemble() and compile()
Moved unified compile to toolchains to enable specific toolchain support for response files
2016-05-09 19:08:55 +01:00
Brian Daniels 65fae781a1 Toolchain should create artifact directory for link step 2016-05-05 09:39:01 +01:00
Mihail Stoyanov ba31ed0550 Support for response files for ARMCC, GCC and IAR archiving (static library)
Support for compiling static libraries via build.py
Support for build.py --no-archive flag which compiles static library as multiple objects
Change default number of jobs when compiling to 0 (auto)
Fix for relative path issue when compiling, which flattened the output whenever absolute path is passed to --build (make.py and build.py)
Fix for temporary files when pre-processing of assembler files with ARMCC
Fix issue with response files where one of the elements is empty string
2016-04-30 00:32:26 +01:00
Marcus Shawcroft bd37e5ac0a Merge pull request #65 from geky/make-follow-symlinks
Add support for following symlinks in make.py
2016-04-28 16:03:40 +01:00
Christopher Haster 1fdb86eda7 Add support for following symlinks in make.py 2016-04-20 21:08:47 -05:00
Brian Daniels bbc6e2aba3 Allowing a list of exclude paths to be passed 2016-04-20 10:56:33 -05:00
Brian Daniels 8cc6a58162 Providing mechainsm for toolchains to exclude a path when scanning for resources 2016-04-19 14:53:42 -05:00
Bogdan Marinescu 7996649d96 Merge pull request #43 from screamerbg/master
Add reponse files for GCC, ARMCC and IAR linking
2016-04-12 14:17:30 +03:00
Mihail Stoyanov 76f6374f4a Merge pull request #42 from meriac/mainline
Fix check on UVISOR_PRESENT=1 macro
2016-04-12 12:15:10 +01:00
Mihail Stoyanov 61298334c2 Introduce response file for linking with IAR toolchain 2016-04-12 12:11:22 +01:00
Mihail Stoyanov 40fc10401b Merge https://github.com/screamerbg/mbed-os 2016-04-12 11:37:43 +01:00
Mihail Stoyanov 927caca09f Introduce response files for ARMCC and GCC toolchains and also document code 2016-04-12 11:37:15 +01:00
Alessandro Angelino ec0e403bf9 Fix check on UVISOR_PRESENT=1 macro 2016-04-12 11:11:02 +01:00
Martin Kojtal 75d04a3903 Add debug symbols to all builds (release/debug)
All toolchains affected. Fixes #39.
2016-04-12 09:35:55 +01:00
Marcus Shawcroft e3afc94f65 Merge pull request #30 from screamerbg/master
Update GCC toolchain to support the new format for the first line of …
2016-04-07 18:00:57 +01:00
Mihail Stoyanov fe75990e4c Update GCC toolchain to support the new format for the first line of .d files 2016-04-07 17:49:05 +01:00
screamer ab0fc59e52 Add support for project naming based on current directory Cleanup print output 2016-04-06 16:08:11 +01:00
screamer 228d83193c Properly support relative and absolute paths for source and build dirs 2016-04-06 16:08:07 +01:00
screamer 5094b10964 Add exception for TESTS folders to be excluded from the builds 2016-04-06 16:08:02 +01:00
screamer 1b4d69aa8f The build system respects -DUVISOR_PRESENT and dynamically disables floating point support 2016-04-06 16:04:35 +01:00
Marcus Shawcroft f2ddf68b80 Increase iteration count on toolchain wait loop 2016-04-05 16:40:50 +01:00
Marcus Shawcroft d54b280afe Support debug-info in build. 2016-04-05 16:40:16 +01:00
Marcus Shawcroft 1a7efa8787 Define __CMSIS_RTOS 2016-04-05 16:39:24 +01:00
Marcus Shawcroft 3b2b06197a move workspace to tools 2016-04-05 16:30:51 +01:00
Bogdan Marinescu dca69e022b Preparing new layout - moved ./workspace_tools to ./tools 2016-04-05 16:26:31 +01:00