Commit Graph

77 Commits (61fb65b7fdada22cc60257e3533c5bee803b56dc)

Author SHA1 Message Date
Brian Daniels 40cc3eef9e Splitting the upload of tests.
Added a parameter '-l' to control how many project runs are uploaded at a
time. The default is 1000. The prevents HTTP errors when the POST request
is too large.
2016-05-23 10:51:52 -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 59f5751b6d Merge pull request #113 from theotherjimmy/error-bad-source
added a check for existance of sources
2016-05-20 16:40:52 -05: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
Jimmy Brisson f44b8fc9bf added a check for existance of sources
I ran into this earlier today and yesterday:
If you spelled something wrong/forgot to tab complete and had build succesfully before it woild silently and incorrectly build successfully
2016-05-18 17:28:33 -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
Brian Daniels 4ae7d54830 Fixing build issues for tests.
Build artifacts from previous builds were polluting the current build. Now
shared sources are built as a library, then tests are built into their own
folder.
2016-05-10 14:53:35 +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
Sam Grove fc4f1e2da3 Merge pull request #71 from bridadan/test-build
Building tests and test specs
2016-05-05 13:51:11 -05:00
Mihail Stoyanov fb03e5a2c1 Fixed parameter to match documentation (allow multiple build) 2016-05-05 19:09:58 +01:00
Brian Daniels 1d28050686 Adding test compiling and test spec generation to test.py 2016-05-05 15:37:37 +01:00
Brian Daniels 65fae781a1 Toolchain should create artifact directory for link step 2016-05-05 09:39:01 +01:00
Mihail Stoyanov 34ec8297a4 Copy .o and .ar files for when building static library (needed for uVisor for example) 2016-05-04 12:06:57 +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
Sam Grove b337c7fd00 Merge pull request #63 from bridadan/set-project-name-option
Allow the output binary of make.py to be named from the command line
2016-04-28 14:26:59 -05: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
Bogdan Marinescu 6b3d841664 Merge pull request #56 from 0xc0170/fix_generated_dir
Fix generated dir
2016-04-27 10:56:19 +03:00
Martin Kojtal 80cecbfcfb Exporters - if source, generate to projectfiles/{{ide}}
This allows to use multiple tools within a project, they don't affect
each other.

An example:
projectfiles/gcc_arm
projectfiles/uvision
projectfiles/iar
2016-04-26 11:44:26 -05:00
Brian Daniels dac491645d Allow the output binary of make.py to be named from the command line 2016-04-26 10:59:28 -05:00
Bogdan Marinescu e472a51e45 Merge pull request #64 from bridadan/add-test-discovery-tool
Adding test.py script in tools that allows you to discover tests
2016-04-25 18:17:18 +03:00
Bogdan Marinescu 22e1e9837c Merge pull request #58 from bridadan/allow-toolchain-exclude-path
Allow toolchains to exclude a path when scan for resources
2016-04-25 18:14:28 +03:00
Brian Daniels 1a8b973aab Moving test discovery logic into test_api.py. test.py is now just the CLI interface to these functions 2016-04-22 16:29:55 -05:00
Brian Daniels 9a126c4e3a Adding script in the tools directory that allows you to discover tests 2016-04-21 13:51:51 -05: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
Martin Kojtal 3e91490259 Build - raise exception if toolchain is not recognized
This sends the message that toolchain specified is not valid.
2016-04-20 13:16:37 +01:00
Martin Kojtal 227ffecb83 Make - handle invalid targets (catch KeyError) 2016-04-20 13:04:53 +01:00
Brian Daniels 8cc6a58162 Providing mechainsm for toolchains to exclude a path when scanning for resources 2016-04-19 14:53:42 -05:00
Martin Kojtal 647cf23cf1 Exporters - add relative paths handling
If we use source option, the paths should be relative to the source dir.
Otherwise, mbed export scripts copies sources to temp dir.
2016-04-19 14:55:16 +01:00
Martin Kojtal fc005d50cd Exporters - use relative project dirnames
For file like mbed-os\net\sal-stack-nanostack-private\source\BorderRouter\br_rf_interface.c,
virtual dir is: mbed-os\net\sal-stack-nanostack-private\source\BorderRouter.

This sould better organize virtual folders in IDE. The next step would be to break into
groups. For instance hal could be groped together, net together and other components.
2016-04-18 11:55:48 +01:00
Brian Daniels 5b36a4cfd0 Adding a proper exit return code on a toolchain failure 2016-04-12 18:32:33 -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