mbed-os/tools
0xc0170 f95265f38d Exporters - progen TARGETS lazy evaluated
To speed up project.py, use @property for TARGETS.
When exporters are used, it would ask progen for all targets support
(number of tools x number of targets), this takes a lot of  time, thus
lazily evaluated, and TARGETS are for backaward compatibility, not currently
used by project.py but by other scripts to check if a target is supported.

Profiling:
```
python tools\project.py -m K64F -i uvision -n MBED_10 -b

Before the change:
       1    0.000    0.000    0.010    0.010 definitions.py:113(get_tool_definition)
      824    0.004    0.000    2.990    0.004 definitions.py:124(is_supported)
        1    0.000    0.000    0.000    0.000 definitions.py:145(get_debugger)
        1    0.002    0.002    0.044    0.044 definitions.py:15(<module>)
      384    0.002    0.000    2.986    0.008 definitions.py:26(_load_record)
        1    0.000    0.000    0.000    0.000 definitions.py:32(ProGenMcus)
      992    0.055    0.000    1.959    0.002 definitions.py:34(__init__)
     1376    0.002    0.000    0.003    0.000 definitions.py:40(get_mcus)
      384    0.001    0.000    1.070    0.003 definitions.py:43(get_mcu_record)
        1    0.000    0.000    0.000    0.000 definitions.py:50(ProGenTargets)
      992    0.000    0.000    0.000    0.000 definitions.py:52(__init__)
     1196    0.002    0.000    0.004    0.000 definitions.py:55(get_targets)
      204    0.001    0.000    1.922    0.009 definitions.py:58(get_mcu_record)
        1    0.000    0.000    0.000    0.000 definitions.py:67(get_debugger)
        1    0.000    0.000    0.000    0.000 definitions.py:74(ProGenDef)
      992    0.008    0.000    1.973    0.002 definitions.py:83(__init__)

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 4
Milliseconds      : 723
Ticks             : 47237302
TotalDays         : 5.46728032407407E-05
TotalHours        : 0.00131214727777778
TotalMinutes      : 0.0787288366666667
TotalSeconds      : 4.7237302
TotalMilliseconds : 4723.7302

After the change:

        1    0.000    0.000    0.010    0.010 definitions.py:113(get_tool_definition)
        2    0.000    0.000    0.025    0.012 definitions.py:124(is_supported)
        1    0.000    0.000    0.000    0.000 definitions.py:145(get_debugger)
        1    0.002    0.002    0.042    0.042 definitions.py:15(<module>)
        3    0.000    0.000    0.035    0.012 definitions.py:26(_load_record)
        1    0.000    0.000    0.000    0.000 definitions.py:32(ProGenMcus)
        2    0.000    0.000    0.005    0.002 definitions.py:34(__init__)
        5    0.000    0.000    0.000    0.000 definitions.py:40(get_mcus)
        3    0.000    0.000    0.000    0.000 definitions.py:43(get_mcu_record)
        1    0.000    0.000    0.000    0.000 definitions.py:50(ProGenTargets)
        2    0.000    0.000    0.000    0.000 definitions.py:52(__init__)
        5    0.000    0.000    0.000    0.000 definitions.py:55(get_targets)
        3    0.000    0.000    0.035    0.012 definitions.py:58(get_mcu_record)
        1    0.000    0.000    0.000    0.000 definitions.py:67(get_debugger)
        1    0.000    0.000    0.000    0.000 definitions.py:74(ProGenDef)
        2    0.000    0.000    0.005    0.003 definitions.py:83(__init__)

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 1
Milliseconds      : 178
Ticks             : 11780618
TotalDays         : 1.3634974537037E-05
TotalHours        : 0.000327239388888889
TotalMinutes      : 0.0196343633333333
TotalSeconds      : 1.1780618
TotalMilliseconds : 1178.0618
```
2016-07-15 14:02:57 +01:00
..
bootloaders Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
buildbot Move private_settings.py to root mbed_settings.py. Various updates to reflect the path changes 2016-06-09 22:24:05 +01:00
ci_templates Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
compliance Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
data Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
dev Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
export Exporters - progen TARGETS lazy evaluated 2016-07-15 14:02:57 +01:00
host_tests Squash weird import bug 2016-07-07 15:29:36 -05:00
misc Move non-essential scripts to tools/misc/ 2016-06-27 14:11:38 +01:00
test/config_test Fix K64F-based config tests 2016-06-21 19:58:03 +03:00
toolchains Add summary for test building 2016-07-07 08:35:20 +01:00
.mbedignore Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
__init__.py Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
build.py Remove checking for existance of build directory 2016-07-07 15:29:36 -05:00
build_api.py Add summary for test building 2016-07-07 08:35:20 +01:00
build_everything.py Add tests to the config system. Add GCC flags to support uVisor 2016-06-12 19:04:41 +01:00
build_release.py Build release - use target.release to produce release tuple 2016-07-05 10:50:29 +01:00
build_travis.py [STM32F4xx] Add support for NUCLEO_F429ZI 2016-07-04 14:00:41 +02:00
config.py Fixed config-related options for the IAR assembler 2016-06-27 15:54:38 +03:00
default_settings.py Add environmental variables support for toolchain paths 2016-06-24 23:03:08 +01:00
detect_targets.py Revert "Revert "Generalize flag handling"" 2016-07-07 15:29:36 -05:00
export_test.py [STM32F4xx][NUCLEO_F429ZI] Add on for NUCLEO_F429ZI export and tests 2016-07-04 15:20:12 +02:00
get_config.py Ignore extra MCUs and toolchains in get_config.py 2016-07-07 15:29:36 -05:00
hooks.py Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
libraries.py Update project generator script to allow working with any source 2016-06-10 02:24:27 +01:00
make.py Allow make.py to accpet just --source 2016-07-07 15:29:36 -05:00
memap.py Argument error when memap's input file does not exist 2016-07-07 15:29:36 -05:00
options.py nargs="*" -> action="append" 2016-07-07 15:29:36 -05:00
patch.py Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
paths.py Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
project.py nargs="*" -> action="append" 2016-07-07 15:29:36 -05:00
settings.py Add MBED_ prefix to compilers environment variables 2016-06-27 23:27:43 +01:00
singletest.py Revert "Revert "Generalize flag handling"" 2016-07-07 15:29:36 -05:00
size.py Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
synch.py Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
targets.py fpu with single/double precision - removing redundancy 2016-07-04 22:08:31 +02:00
test.py nargs="*" -> action="append" 2016-07-07 15:29:36 -05:00
test_api.py Revert "Revert "Generalize flag handling"" 2016-07-07 15:29:36 -05:00
test_db.py Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
test_exporters.py Merge pull request #1873 from theotherjimmy/file-reporter 2016-07-06 16:45:43 -05:00
test_mysql.py Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
test_webapi.py Revert "Revert "Generalize flag handling"" 2016-07-07 15:29:36 -05:00
tests.py Correct test_name_known, now use argparse_many for lists 2016-07-07 15:29:36 -05:00
upload_results.py Ported updates to targets, utils and settings scripts 2016-06-09 22:05:35 +01:00
utils.py Rework the force types to match case 2016-07-07 15:29:36 -05:00