bake-toolkit 2.14.0 → 2.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/bin/bakery +3 -1
  3. data/documentation/_build/html/_sources/changelog.txt +8 -1
  4. data/documentation/_build/html/_sources/index.txt +1 -1
  5. data/documentation/_build/html/_sources/syntax/derive_configs.txt +13 -0
  6. data/documentation/_build/html/_static/syntax.html +5 -5
  7. data/documentation/_build/html/changelog.html +13 -4
  8. data/documentation/_build/html/commandline/commandline.html +3 -3
  9. data/documentation/_build/html/concepts/build_hierarchy.html +3 -3
  10. data/documentation/_build/html/concepts/concepts.html +3 -3
  11. data/documentation/_build/html/concepts/the_main_project.html +3 -3
  12. data/documentation/_build/html/concepts/the_project_meta_file.html +3 -3
  13. data/documentation/_build/html/genindex.html +3 -3
  14. data/documentation/_build/html/ide/eclipse/eclipse.html +3 -3
  15. data/documentation/_build/html/ide/eclipse/how_to_convert_existing_cdt_workspace.html +3 -3
  16. data/documentation/_build/html/ide/eclipse/how_to_create_a_new_project_in_eclipse.html +3 -3
  17. data/documentation/_build/html/ide/eclipse/how_to_create_a_workspace_in_eclipse.html +3 -3
  18. data/documentation/_build/html/ide/eclipse/how_to_install_eclipse_plugin.html +3 -3
  19. data/documentation/_build/html/ide/eclipse/how_to_use_bake_in_eclipse.html +3 -3
  20. data/documentation/_build/html/ide/ide_integrations.html +3 -3
  21. data/documentation/_build/html/ide/vs/how_to_create_vs_projects.html +3 -3
  22. data/documentation/_build/html/ide/vs/how_to_debug_in_vs.html +3 -3
  23. data/documentation/_build/html/ide/vs/how_to_used_bake_in_vs.html +3 -3
  24. data/documentation/_build/html/ide/vs/vs.html +3 -3
  25. data/documentation/_build/html/ide/vs/vs_install.html +3 -3
  26. data/documentation/_build/html/index.html +6 -6
  27. data/documentation/_build/html/install/install_bake.html +3 -3
  28. data/documentation/_build/html/internal.html +3 -3
  29. data/documentation/_build/html/known_issues.html +3 -3
  30. data/documentation/_build/html/license.html +3 -3
  31. data/documentation/_build/html/performance/performance.html +3 -3
  32. data/documentation/_build/html/quickstart/quickstart.html +3 -3
  33. data/documentation/_build/html/search.html +3 -3
  34. data/documentation/_build/html/searchindex.js +1 -1
  35. data/documentation/_build/html/syntax/adapt_configs.html +3 -3
  36. data/documentation/_build/html/syntax/derive_configs.html +14 -3
  37. data/documentation/_build/html/syntax/project_meta_syntax.html +8 -8
  38. data/documentation/_build/html/syntax/syntax.html +4 -3
  39. data/documentation/_build/html/syntax/variable_substitutions.html +3 -3
  40. data/documentation/_build/html/tips_and_tricks/how_to_use_bake_with_cygwin.html +3 -3
  41. data/documentation/_build/html/tips_and_tricks/static_code_analysis.html +3 -3
  42. data/documentation/_build/html/tips_and_tricks/the_bakery.html +3 -3
  43. data/documentation/_build/html/tips_and_tricks/the_clang.html +3 -3
  44. data/documentation/_build/html/tips_and_tricks/tips_and_tricks.html +3 -3
  45. data/documentation/_build/html/why_bake/why_bake.html +5 -5
  46. data/lib/bake/config/loader.rb +6 -2
  47. data/lib/bake/mergeConfig.rb +9 -9
  48. data/lib/bake/model/metamodel.rb +2 -2
  49. data/lib/bake/options/options.rb +1 -1
  50. data/lib/bake/subst.rb +6 -5
  51. data/lib/bakery/options/options.rb +2 -2
  52. data/lib/blocks/block.rb +12 -7
  53. data/lib/blocks/compile.rb +12 -3
  54. data/lib/blocks/library.rb +17 -10
  55. data/lib/common/options/parser.rb +29 -7
  56. data/lib/common/version.rb +1 -1
  57. data/lib/vs/options.rb +1 -1
  58. metadata +2 -2
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>Derive configs &mdash; bake 2.14.0 documentation</title>
8
+ <title>Derive configs &mdash; bake 2.15.0 documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.14.0',
18
+ VERSION: '2.15.0',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,7 +29,7 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
32
+ <link rel="top" title="bake 2.15.0 documentation" href="../index.html" />
33
33
  <link rel="up" title="Syntax" href="syntax.html" />
34
34
  <link rel="next" title="Adapt configs" href="adapt_configs.html" />
35
35
  <link rel="prev" title="Variables in Project.meta" href="variable_substitutions.html" />
@@ -99,6 +99,7 @@
99
99
  <li><a class="reference internal" href="#">Derive configs</a><ul>
100
100
  <li><a class="reference internal" href="#deriving-a-config">Deriving a config</a></li>
101
101
  <li><a class="reference internal" href="#inheritance-implications">Inheritance implications</a></li>
102
+ <li><a class="reference internal" href="#multiple-inheritance">Multiple inheritance</a></li>
102
103
  </ul>
103
104
  </li>
104
105
  </ul>
@@ -214,6 +215,16 @@ ExecutableConfig B, extends: A {
214
215
  </pre></div>
215
216
  </div>
216
217
  </div>
218
+ <div class="section" id="multiple-inheritance">
219
+ <h2>Multiple inheritance<a class="headerlink" href="#multiple-inheritance" title="Permalink to this headline">¶</a></h2>
220
+ <p>It is possible to derive from several projects:</p>
221
+ <div class="highlight-text"><div class="highlight"><pre>ExecutableConfig A
222
+ LibraryConfig B
223
+ ExecutableConfig C, extends: &quot;A, B&quot;
224
+ </pre></div>
225
+ </div>
226
+ <p>&#8220;extends&#8221; defines a comma separated list. The merge will be performed with all parent configs.</p>
227
+ </div>
217
228
  </div>
218
229
 
219
230
 
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>The Syntax of the Project.meta file &mdash; bake 2.14.0 documentation</title>
8
+ <title>The Syntax of the Project.meta file &mdash; bake 2.15.0 documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.14.0',
18
+ VERSION: '2.15.0',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,7 +29,7 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
32
+ <link rel="top" title="bake 2.15.0 documentation" href="../index.html" />
33
33
  <link rel="up" title="Syntax" href="syntax.html" />
34
34
  <link rel="next" title="Variables in Project.meta" href="variable_substitutions.html" />
35
35
  <link rel="prev" title="Syntax" href="syntax.html" />
@@ -216,7 +216,7 @@ z-index: 100;
216
216
  &nbsp; <span class="mycomment"># 0..n configs</span><br>
217
217
  &nbsp; <span class="showRadio" onMouseover="showExecutableConfig()" onMouseout="notip()" id="executableConfig">ExecutableConfig</span> |
218
218
  <span class="hideRadio" onMouseover="showLibraryConfig()" onMouseout="notip()" id="libraryConfig">LibraryConfig</span> |
219
- <span class="hideRadio" onMouseover="showCustomConfig()" onMouseout="notip()" id="customConfig">CustomConfig</span> &#60;name&#62;, <span class="help" onMouseover="showExtends()" onMouseout="notip()">extends</span>: &#60;parent&#62; {<br><br>
219
+ <span class="hideRadio" onMouseover="showCustomConfig()" onMouseout="notip()" id="customConfig">CustomConfig</span> &#60;name&#62;, <span class="help" onMouseover="showExtends()" onMouseout="notip()">extends</span>: &#60;parent(s)&#62; {<br><br>
220
220
 
221
221
  <span><span style="background-color:#EEEEEE;" class="show">
222
222
  &nbsp; &nbsp; <span class="mycomment"># Valid for all config types</span><br><br>
@@ -304,14 +304,14 @@ z-index: 100;
304
304
  &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showFilesDefine()" onMouseout="notip()">Define</span> &#60;define&#62;<br>
305
305
  &nbsp; &nbsp; }<br>
306
306
  &nbsp; &nbsp; <span class="help" onMouseover="showExcludeFiles()" onMouseout="notip()">ExcludeFiles</span> &#60;pattern&#62;<br>
307
-
307
+ &nbsp; &nbsp; <span class="help" onMouseover="showArtifactName()" onMouseout="notip()">ArtifactName</span> &#60;name&#62;<br>
308
308
  </span><br></span>
309
309
 
310
310
  <span id="exe_part"><span class="show" style="background-color:#EEEEEE;">
311
311
  &nbsp; &nbsp; <span class="mycomment"># Valid for ExecutableConfig</span><br><br>
312
312
  &nbsp; &nbsp; <span class="help" onMouseover="showLinkerScript()" onMouseout="notip()">LinkerScript</span> &#60;script&#62;<br>
313
313
  &nbsp; &nbsp; <span class="help" onMouseover="showMapFile()" onMouseout="notip()">MapFile</span> &#60;name&#62;<br>
314
- &nbsp; &nbsp; <span class="help" onMouseover="showArtifactName()" onMouseout="notip()">ArtifactName</span> &#60;name&#62;<br></span><br></span>
314
+ </span><br></span>
315
315
 
316
316
  <span id="custom_part" class="hide"><span style="background-color:#EEEEEE;" class="show">
317
317
  &nbsp; &nbsp; <span class="mycomment"># Valid for CustomConfig</span><br><br>
@@ -574,7 +574,7 @@ function showOutputDir() {
574
574
  }
575
575
 
576
576
  function showExtends() {
577
- ddrivetip("extends", "No","0..1","-","Inherit settings from a parent config.<br>For more information see docu page 'Derive configs'.")
577
+ ddrivetip("extends", "No","0..1","-","Inherit settings from parent config(s).<br>For more information see docu page 'Derive configs'.")
578
578
  }
579
579
 
580
580
  function showFiles() {
@@ -660,7 +660,7 @@ function showMapFile() {
660
660
  function showArtifactName() {
661
661
  str = 'The artifact name inclusive file ending.<br>'+
662
662
  'The artifact will be placed in the output directory.'
663
- ddrivetip("ArtifactName","No","0..1","The project name and as file ending the default linker file ending.",str)
663
+ ddrivetip("ArtifactName","No","0..1","Executable: project name + toolchain dependent file ending. Library: 'lib' + project name + '.a'",str)
664
664
  }
665
665
 
666
666
  function showMakefileCustom() {
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>Syntax &mdash; bake 2.14.0 documentation</title>
8
+ <title>Syntax &mdash; bake 2.15.0 documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.14.0',
18
+ VERSION: '2.15.0',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,7 +29,7 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
32
+ <link rel="top" title="bake 2.15.0 documentation" href="../index.html" />
33
33
  <link rel="next" title="The Syntax of the Project.meta file" href="project_meta_syntax.html" />
34
34
  <link rel="prev" title="The build hierarchy" href="../concepts/build_hierarchy.html" />
35
35
  <meta charset='utf-8'>
@@ -155,6 +155,7 @@
155
155
  <li class="toctree-l1"><a class="reference internal" href="derive_configs.html">Derive configs</a><ul>
156
156
  <li class="toctree-l2"><a class="reference internal" href="derive_configs.html#deriving-a-config">Deriving a config</a></li>
157
157
  <li class="toctree-l2"><a class="reference internal" href="derive_configs.html#inheritance-implications">Inheritance implications</a></li>
158
+ <li class="toctree-l2"><a class="reference internal" href="derive_configs.html#multiple-inheritance">Multiple inheritance</a></li>
158
159
  </ul>
159
160
  </li>
160
161
  <li class="toctree-l1"><a class="reference internal" href="adapt_configs.html">Adapt configs</a><ul>
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>Variables in Project.meta &mdash; bake 2.14.0 documentation</title>
8
+ <title>Variables in Project.meta &mdash; bake 2.15.0 documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.14.0',
18
+ VERSION: '2.15.0',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,7 +29,7 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
32
+ <link rel="top" title="bake 2.15.0 documentation" href="../index.html" />
33
33
  <link rel="up" title="Syntax" href="syntax.html" />
34
34
  <link rel="next" title="Derive configs" href="derive_configs.html" />
35
35
  <link rel="prev" title="The Syntax of the Project.meta file" href="project_meta_syntax.html" />
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>How to use bake with cygwin &mdash; bake 2.14.0 documentation</title>
8
+ <title>How to use bake with cygwin &mdash; bake 2.15.0 documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.14.0',
18
+ VERSION: '2.15.0',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,7 +29,7 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
32
+ <link rel="top" title="bake 2.15.0 documentation" href="../index.html" />
33
33
  <link rel="up" title="Tips and Tricks" href="tips_and_tricks.html" />
34
34
  <link rel="next" title="Clang Analyze" href="the_clang.html" />
35
35
  <link rel="prev" title="Static Code Analysis" href="static_code_analysis.html" />
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>Static Code Analysis &mdash; bake 2.14.0 documentation</title>
8
+ <title>Static Code Analysis &mdash; bake 2.15.0 documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.14.0',
18
+ VERSION: '2.15.0',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,7 +29,7 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
32
+ <link rel="top" title="bake 2.15.0 documentation" href="../index.html" />
33
33
  <link rel="up" title="Tips and Tricks" href="tips_and_tricks.html" />
34
34
  <link rel="next" title="How to use bake with cygwin" href="how_to_use_bake_with_cygwin.html" />
35
35
  <link rel="prev" title="The Bakery" href="the_bakery.html" />
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>The Bakery &mdash; bake 2.14.0 documentation</title>
8
+ <title>The Bakery &mdash; bake 2.15.0 documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.14.0',
18
+ VERSION: '2.15.0',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,7 +29,7 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
32
+ <link rel="top" title="bake 2.15.0 documentation" href="../index.html" />
33
33
  <link rel="up" title="Tips and Tricks" href="tips_and_tricks.html" />
34
34
  <link rel="next" title="Static Code Analysis" href="static_code_analysis.html" />
35
35
  <link rel="prev" title="Tips and Tricks" href="tips_and_tricks.html" />
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>Clang Analyze &mdash; bake 2.14.0 documentation</title>
8
+ <title>Clang Analyze &mdash; bake 2.15.0 documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.14.0',
18
+ VERSION: '2.15.0',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,7 +29,7 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
32
+ <link rel="top" title="bake 2.15.0 documentation" href="../index.html" />
33
33
  <link rel="up" title="Tips and Tricks" href="tips_and_tricks.html" />
34
34
  <link rel="next" title="Performance" href="../performance/performance.html" />
35
35
  <link rel="prev" title="How to use bake with cygwin" href="how_to_use_bake_with_cygwin.html" />
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>Tips and Tricks &mdash; bake 2.14.0 documentation</title>
8
+ <title>Tips and Tricks &mdash; bake 2.15.0 documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.14.0',
18
+ VERSION: '2.15.0',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,7 +29,7 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
32
+ <link rel="top" title="bake 2.15.0 documentation" href="../index.html" />
33
33
  <link rel="next" title="The Bakery" href="the_bakery.html" />
34
34
  <link rel="prev" title="How to Debug in Visual Studio" href="../ide/vs/how_to_debug_in_vs.html" />
35
35
  <meta charset='utf-8'>
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>Why you should use bake &mdash; bake 2.14.0 documentation</title>
8
+ <title>Why you should use bake &mdash; bake 2.15.0 documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.14.0',
18
+ VERSION: '2.15.0',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,9 +29,9 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
32
+ <link rel="top" title="bake 2.15.0 documentation" href="../index.html" />
33
33
  <link rel="next" title="Install bake" href="../install/install_bake.html" />
34
- <link rel="prev" title="bake 2.14.0" href="../index.html" />
34
+ <link rel="prev" title="bake 2.15.0" href="../index.html" />
35
35
  <meta charset='utf-8'>
36
36
  <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
37
37
  <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
@@ -108,7 +108,7 @@
108
108
 
109
109
 
110
110
  <li>
111
- <a href="../index.html" title="Previous Chapter: bake 2.14.0"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; bake 2.14.0</span>
111
+ <a href="../index.html" title="Previous Chapter: bake 2.15.0"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; bake 2.15.0</span>
112
112
  </a>
113
113
  </li>
114
114
  <li>
@@ -34,8 +34,12 @@ module Bake
34
34
  end
35
35
 
36
36
  if config.extends != ""
37
- parent,parentConfigName = getFullProjectInternal(configs, config.extends, isMain)
38
- MergeConfig.new(config, parent).merge(:merge)
37
+ config.extends.split(",").map {|ex| ex.strip}.reverse.each do |ex|
38
+ if (ex != "")
39
+ parent,parentConfigName = getFullProjectInternal(configs, ex, isMain)
40
+ MergeConfig.new(config, parent).merge(:merge)
41
+ end
42
+ end
39
43
  end
40
44
 
41
45
  [config, configname]
@@ -169,14 +169,14 @@ module Bake
169
169
  end
170
170
 
171
171
  def merge(type)
172
- #s = StringIO.new
173
- #ser = RText::Serializer.new(Language)
172
+ s = StringIO.new
173
+ ser = RText::Serializer.new(Language)
174
174
 
175
175
  if Bake.options.debug
176
- #s.puts "\n>>>> child <<<<"
177
- #ser.serialize(@child, s)
178
- #s.puts "\n>>>> parent <<<<"
179
- #ser.serialize(@parent, s)
176
+ s.puts "\n>>>> child <<<<"
177
+ ser.serialize(@child, s)
178
+ s.puts "\n>>>> parent <<<<"
179
+ ser.serialize(@parent, s)
180
180
  end
181
181
 
182
182
  if (type == :remove)
@@ -192,9 +192,9 @@ module Bake
192
192
  end
193
193
 
194
194
  if Bake.options.debug
195
- #s.puts "\n>>>> #{type.to_s} <<<<"
196
- #ser.serialize(type == :merge ? @child : @parent, s)
197
- #puts "#{s.string}"
195
+ s.puts "\n>>>> result of #{type.to_s} <<<<"
196
+ ser.serialize(type == :merge ? @child : @parent, s)
197
+ puts "#{s.string}"
198
198
  end
199
199
 
200
200
 
@@ -26,7 +26,7 @@ module Bake
26
26
  end
27
27
  end
28
28
 
29
- CompilerType = RGen::MetamodelBuilder::DataTypes::Enum.new([:CPP, :C, :ASM])
29
+ CompilerType = RGen::MetamodelBuilder::DataTypes::Enum.new( :name => "CompilerType", :literals => [:CPP, :C, :ASM])
30
30
 
31
31
  class Flags < ModelElement
32
32
  has_attr 'overwrite', String, :defaultValueLiteral => ""
@@ -240,11 +240,11 @@ module Bake
240
240
  class BuildConfig_INTERNAL < BaseConfig_INTERNAL
241
241
  contains_many 'files', Files, 'parent'
242
242
  contains_many 'excludeFiles', ExcludeFiles, 'parent'
243
+ contains_one 'artifactName', ArtifactName, 'parent'
243
244
  end
244
245
 
245
246
  class ExecutableConfig < BuildConfig_INTERNAL
246
247
  contains_one 'linkerScript', LinkerScript, 'parent'
247
- contains_one 'artifactName', ArtifactName, 'parent'
248
248
  contains_one 'mapFile', MapFile, 'parent'
249
249
  end
250
250
 
@@ -128,7 +128,7 @@ module Bake
128
128
  end
129
129
 
130
130
  def parse_options()
131
- parse_internal()
131
+ parse_internal(false)
132
132
  set_main_dir(Dir.pwd) if @main_dir.nil?
133
133
  @roots = @def_roots if @roots.length == 0
134
134
  @roots.uniq!
data/lib/bake/subst.rb CHANGED
@@ -53,13 +53,14 @@ module Bake
53
53
  @@configFilename = config.file_name
54
54
 
55
55
  @@artifactName = ""
56
- if Metamodel::ExecutableConfig === config
56
+ if Metamodel::ExecutableConfig === config || Metamodel::LibraryConfig === config
57
57
  if not config.artifactName.nil?
58
58
  @@artifactName = config.artifactName.name
59
- elsif config.defaultToolchain != nil
60
- basedOnToolchain = Bake::Toolchain::Provider[config.defaultToolchain.basedOn]
61
- if basedOnToolchain != nil
62
- @@artifactName = projName+basedOnToolchain[:LINKER][:OUTPUT_ENDING]
59
+ else
60
+ if Metamodel::ExecutableConfig === config
61
+ @@artifactName = projName+toolchain[:LINKER][:OUTPUT_ENDING]
62
+ elsif Metamodel::LibraryConfig === config
63
+ @@artifactName = "lib#{projName}.a"
63
64
  end
64
65
  end
65
66
  end