bake-toolkit 1.7.0 → 1.8.0.1
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.
- checksums.yaml +4 -4
- data/doc/further/change.html +8 -6
- data/doc/further/issues.html +0 -1
- data/doc/further/wish.html +0 -1
- data/doc/index.html +1 -1
- data/doc/syntax/syntax.html +10 -0
- data/lib/bake/model/metamodel.rb +10 -1
- data/lib/bake/options.rb +18 -7
- data/lib/bake/subst.rb +5 -3
- data/lib/bake/util.rb +5 -0
- data/lib/bake/version.rb +2 -2
- data/lib/tocxx.rb +78 -9
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9335abf32a9aa13ca68eb2985babba8ff8a02236
|
|
4
|
+
data.tar.gz: f40783c3c427e83722fb01d319c5b8deb6fe529b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 89cf35c7cb654d3a58ac1a280163f6c8d07d607697f1cb1bca838b0fe08878619a6add1440b6301033246114af61a0b8d5687aff903108cf765ef9d173b153a5
|
|
7
|
+
data.tar.gz: cf084b8ef730e2a792993f5b941c46308eef3e8c7401718cf5d0496978b25c6d88d660bcb2ec6e27e987381cd8dc812f7c2d96512f37ece7061baa1877633173
|
data/doc/further/change.html
CHANGED
|
@@ -7,19 +7,25 @@
|
|
|
7
7
|
<body>
|
|
8
8
|
<h1>Changelog</h1>
|
|
9
9
|
|
|
10
|
+
November 7, 2014 - bake-toolkit 1.8.0, Eclipse plugin 1.1.0<br>
|
|
11
|
+
<ul>
|
|
12
|
+
<li><b>Added: InternalIncludes and InternalDefines in DefaultToolchain, which are forwarded to the IDE.</b>
|
|
13
|
+
<li><b>Changed: No default options for PC-lint in combination with GCC will be provided anymore.
|
|
14
|
+
Use the official way, see co-gcc.lnt in PC-lint installation.</b>
|
|
15
|
+
<li><b>Bugfix: verbose output for replacing non-existing environment variables broken.</b>
|
|
16
|
+
</ul>
|
|
17
|
+
|
|
10
18
|
November 4, 2014 - bake-toolkit 1.7.0<br>
|
|
11
19
|
<ul>
|
|
12
20
|
<li><b>Added: Option to define output directory relative/absolute for each project or for all projects.</b>
|
|
13
21
|
<li><b>Added: --set command line option to set variables</b>
|
|
14
22
|
<li><b>Added: Optional "Description" tag for projects in Project.meta</b>
|
|
15
23
|
<li><b>Changed: Variables in DefaultToolchain will be substituted separately for each project.</b>
|
|
16
|
-
</b>
|
|
17
24
|
</ul>
|
|
18
25
|
|
|
19
26
|
August 8, 2014 - bake-toolkit 1.6.3<br>
|
|
20
27
|
<ul>
|
|
21
28
|
<li><b>Fixed: possible uninitialized variable could lead to crash bake</b>
|
|
22
|
-
</b>
|
|
23
29
|
</ul>
|
|
24
30
|
|
|
25
31
|
August 6, 2014 - bake-toolkit 1.6.2<br>
|
|
@@ -27,7 +33,6 @@ August 6, 2014 - bake-toolkit 1.6.2<br>
|
|
|
27
33
|
<li><b>Fixed: clear clearn- and clobber-lists at startup</b>
|
|
28
34
|
<li><b>Fixed: Variables not substituted in ArtifactName and ArtifactNameBase</b>
|
|
29
35
|
<li><b>Added: Cyclic variable substitution</b>
|
|
30
|
-
</b>
|
|
31
36
|
</ul>
|
|
32
37
|
|
|
33
38
|
August 5, 2014 - bake-toolkit 1.6.1<br>
|
|
@@ -39,21 +44,18 @@ August 5, 2014 - bake-toolkit 1.6.1<br>
|
|
|
39
44
|
August 1, 2014 - bake-toolkit 1.6.0<br>
|
|
40
45
|
<ul>
|
|
41
46
|
<li><b>Added: The value of a variable can be the result of a command line</b>
|
|
42
|
-
</b>
|
|
43
47
|
</ul>
|
|
44
48
|
|
|
45
49
|
July 18, 2014 - bake-toolkit 1.5.0<br>
|
|
46
50
|
<ul>
|
|
47
51
|
<li><b>Added: Dependencies can be overwritten in inherited projects</b>
|
|
48
52
|
<li><b>Removed: defines cannot be filtered anymore via command line</b>
|
|
49
|
-
</b>
|
|
50
53
|
</ul>
|
|
51
54
|
|
|
52
55
|
June 6, 2014 - bake-toolkit 1.4.0<br>
|
|
53
56
|
<ul>
|
|
54
57
|
<li><b>Bugfix: variables can be used in "Set" now</b>
|
|
55
58
|
<li><b>Added: variable "MainProjectDir"
|
|
56
|
-
</b>
|
|
57
59
|
</ul>
|
|
58
60
|
|
|
59
61
|
May 23, 2014 - bake-toolkit 1.3.0<br>
|
data/doc/further/issues.html
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
<b>Workaround 1</b>: Clean the project.<br>
|
|
12
12
|
<b>Workaround 2</b>: Delete the archive/executable manually.<br>
|
|
13
13
|
<b>Workaround 3</b>: Touch, edit, create another source file.<br>
|
|
14
|
-
<li>Pathes given to lint may be unit pathes, must be converted (will be fixed soon).
|
|
15
14
|
</ul>
|
|
16
15
|
|
|
17
16
|
|
data/doc/further/wish.html
CHANGED
|
@@ -30,7 +30,6 @@ Reason: require statements take round about two seconds before the build can be
|
|
|
30
30
|
<li>Better annotations undefined symbol errors (if e.g. filename is given in error message)
|
|
31
31
|
<li>Doxygen parameter to generate Doxygen, maybe with AutoOpen from Eclipse?
|
|
32
32
|
<li>Even shorter command line options
|
|
33
|
-
<li>Export defines to Eclipse
|
|
34
33
|
<li>Better error log in Eclipse if plugin does not work
|
|
35
34
|
<li>Doxygen support or even better generic docu support
|
|
36
35
|
</ul>
|
data/doc/index.html
CHANGED
|
@@ -72,7 +72,7 @@ bake is used to build software <font color="#009900"><b>fast</b></font> and <fon
|
|
|
72
72
|
|
|
73
73
|
<p>
|
|
74
74
|
<hr>
|
|
75
|
-
<table width="100%" border="0"><tr><td align="left">Described bake-toolkit version: 1.
|
|
75
|
+
<table width="100%" border="0"><tr><td align="left">Described bake-toolkit version: 1.8.0</td><td align="right">November 7, 2014</td></tr></table>
|
|
76
76
|
|
|
77
77
|
</body>
|
|
78
78
|
|
data/doc/syntax/syntax.html
CHANGED
|
@@ -109,6 +109,7 @@ z-index: 100;
|
|
|
109
109
|
<span class="help" onMouseover="showCommand()" onMouseout="notip()">command</span>: <cmd> {</i><br>
|
|
110
110
|
<span class="help" onMouseover="showDefaultFlags()" onMouseout="notip()">Flags</span> <flags><br>
|
|
111
111
|
<span class="help" onMouseover="showDefaultDefine()" onMouseout="notip()">Define</span> <define><br>
|
|
112
|
+
<span class="help" onMouseover="showInternalDefines()" onMouseout="notip()">InternalDefines</span> <file><br>
|
|
112
113
|
}<br>
|
|
113
114
|
<span class="help" onMouseover="showDefaultArchiver()" onMouseout="notip()">Archiver</span>
|
|
114
115
|
<span class="help" onMouseover="showCommand()" onMouseout="notip()">command</span>: <cmd> {</i><br>
|
|
@@ -120,6 +121,7 @@ z-index: 100;
|
|
|
120
121
|
<span class="help" onMouseover="showLibPrefixFlags()" onMouseout="notip()">LibPrefixFlags</span> <flags><br>
|
|
121
122
|
<span class="help" onMouseover="showLibPostfixFlags()" onMouseout="notip()">LibPostfixFlags</span> <flags><br>
|
|
122
123
|
}<br>
|
|
124
|
+
<span class="help" onMouseover="showInternalIncludes()" onMouseout="notip()">InternalIncludes</span> <file><br>
|
|
123
125
|
<span class="help" onMouseover="showDefaultLintPolicy()" onMouseout="notip()">LintPolicy</span> <policy><br>
|
|
124
126
|
}<br></span><br></span>
|
|
125
127
|
|
|
@@ -525,6 +527,14 @@ function showDefaultDefine() {
|
|
|
525
527
|
ddrivetip("Define", "No","0..n","-","Defines which are valid for all files.")
|
|
526
528
|
}
|
|
527
529
|
|
|
530
|
+
function showInternalDefines() {
|
|
531
|
+
ddrivetip("InternalDefines", "No","0..1","-","File with list of compiler internal defines.<br>One define per line.<br>Empty lines and comments with # are allowed.")
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
function showInternalIncludes() {
|
|
535
|
+
ddrivetip("InternalIncludes", "No","0..1","-","File with list of compiler internal include folders.<br>One folder per line.<br>Empty lines and comments with # are allowed.")
|
|
536
|
+
}
|
|
537
|
+
|
|
528
538
|
function showDefaultCompiler() {
|
|
529
539
|
ddrivetip("Compiler", "No","0..3 (for each compiler type: ASM, CPP, C)","-","Default compiler settings.")
|
|
530
540
|
}
|
data/lib/bake/model/metamodel.rb
CHANGED
|
@@ -46,7 +46,14 @@ module Cxxproject
|
|
|
46
46
|
has_attr 'str', String, :defaultValueLiteral => ""
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
class InternalIncludes < ModelElement
|
|
50
|
+
has_attr 'name', String, :defaultValueLiteral => ""
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
class InternalDefines < ModelElement
|
|
54
|
+
has_attr 'name', String, :defaultValueLiteral => ""
|
|
55
|
+
end
|
|
56
|
+
|
|
50
57
|
class Archiver < ModelElement
|
|
51
58
|
has_attr 'command', String, :defaultValueLiteral => ""
|
|
52
59
|
contains_many 'flags', Flags, 'parent'
|
|
@@ -64,6 +71,7 @@ module Cxxproject
|
|
|
64
71
|
has_attr 'command', String, :defaultValueLiteral => ""
|
|
65
72
|
contains_many 'define', Define, 'parent'
|
|
66
73
|
contains_many 'flags', Flags, 'parent'
|
|
74
|
+
contains_one 'internalDefines', InternalDefines, 'parent'
|
|
67
75
|
end
|
|
68
76
|
|
|
69
77
|
class LintPolicy < ModelElement
|
|
@@ -77,6 +85,7 @@ module Cxxproject
|
|
|
77
85
|
contains_one 'archiver', Archiver, 'parent'
|
|
78
86
|
contains_one 'linker', Linker, 'parent'
|
|
79
87
|
contains_many 'lintPolicy', LintPolicy, 'parent'
|
|
88
|
+
contains_one 'internalIncludes', InternalIncludes, 'parent'
|
|
80
89
|
end
|
|
81
90
|
|
|
82
91
|
class Toolchain < ModelElement
|
data/lib/bake/options.rb
CHANGED
|
@@ -8,7 +8,7 @@ module Cxxproject
|
|
|
8
8
|
class Options < Parser
|
|
9
9
|
attr_reader :build_config, :main_dir, :project, :filename, :eclipse_version, :alias_filename # String
|
|
10
10
|
attr_reader :roots, :include_filter, :exclude_filter # String List
|
|
11
|
-
attr_reader :clean, :rebuild, :single, :verbose, :nocache, :color, :show_includes, :linkOnly, :check_uninc, :printLess, :no_autodir, :clobber, :lint, :debug, :cmake # Boolean
|
|
11
|
+
attr_reader :clean, :rebuild, :single, :verbose, :nocache, :color, :show_includes, :show_includes_and_defines, :linkOnly, :check_uninc, :printLess, :no_autodir, :clobber, :lint, :debug, :cmake # Boolean
|
|
12
12
|
attr_reader :threads, :socket, :lint_min, :lint_max # Fixnum
|
|
13
13
|
attr_reader :vars # map
|
|
14
14
|
|
|
@@ -31,6 +31,7 @@ module Cxxproject
|
|
|
31
31
|
@check_uninc = false
|
|
32
32
|
@color = false
|
|
33
33
|
@show_includes = false
|
|
34
|
+
@show_includes_and_defines = false
|
|
34
35
|
@linkOnly = false
|
|
35
36
|
@printLess = false
|
|
36
37
|
@no_autodir = false
|
|
@@ -85,6 +86,7 @@ module Cxxproject
|
|
|
85
86
|
add_option(Option.new("-h",false) { usage; ExitHelper.exit(0) })
|
|
86
87
|
add_option(Option.new("--help",false) { usage; ExitHelper.exit(0) })
|
|
87
88
|
add_option(Option.new("--show_include_paths",false) { set_show_inc })
|
|
89
|
+
add_option(Option.new("--show_incs_and_defs",false) { set_show_inc_def })
|
|
88
90
|
add_option(Option.new("--eclipse_version",true) { |x| set_eclipse_version(x) })
|
|
89
91
|
add_option(Option.new("--show_license",false) { show_license })
|
|
90
92
|
add_option(Option.new("--version",false) { ExitHelper.exit(0) })
|
|
@@ -282,14 +284,19 @@ module Cxxproject
|
|
|
282
284
|
end
|
|
283
285
|
|
|
284
286
|
def set_color(x)
|
|
285
|
-
if (x != "black" and x != "white")
|
|
287
|
+
if (x != "black" and x != "white" and x != "none")
|
|
286
288
|
Printer.printError "Error: color scheme must be 'black' or 'white'"
|
|
287
289
|
ExitHelper.exit(1)
|
|
288
290
|
end
|
|
289
|
-
begin
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
291
|
+
begin
|
|
292
|
+
if (x == "none")
|
|
293
|
+
@color = false
|
|
294
|
+
ColorizingFormatter.enabled = false
|
|
295
|
+
else
|
|
296
|
+
ColorizingFormatter::setColorScheme(x.to_sym)
|
|
297
|
+
@color = true
|
|
298
|
+
ColorizingFormatter.enabled = true
|
|
299
|
+
end
|
|
293
300
|
rescue Exception => e
|
|
294
301
|
Printer.printError "Error: colored gem not installed (#{e.message})"
|
|
295
302
|
puts e.backtrace if @verbose
|
|
@@ -308,7 +315,11 @@ module Cxxproject
|
|
|
308
315
|
def set_show_inc
|
|
309
316
|
@show_includes = true
|
|
310
317
|
end
|
|
311
|
-
|
|
318
|
+
|
|
319
|
+
def set_show_inc_def
|
|
320
|
+
@show_includes_and_defines = true
|
|
321
|
+
end
|
|
322
|
+
|
|
312
323
|
def set_show_fullnames
|
|
313
324
|
Rake::application.consoleOutput_fullnames = true
|
|
314
325
|
end
|
data/lib/bake/subst.rb
CHANGED
|
@@ -10,6 +10,7 @@ module Cxxproject
|
|
|
10
10
|
@@options = options
|
|
11
11
|
@@mainProjectName = File::basename(options.main_dir)
|
|
12
12
|
@@resolvedVars = 0
|
|
13
|
+
@@configFilename = config.file_name
|
|
13
14
|
|
|
14
15
|
@@artifactName = ""
|
|
15
16
|
if Metamodel::ExecutableConfig === config
|
|
@@ -42,7 +43,7 @@ module Cxxproject
|
|
|
42
43
|
cmd_result = false
|
|
43
44
|
begin
|
|
44
45
|
rd, wr = IO.pipe
|
|
45
|
-
cmd = [s.cmd]
|
|
46
|
+
cmd = [substString(s.cmd)]
|
|
46
47
|
cmd << {
|
|
47
48
|
:err=>wr,
|
|
48
49
|
:out=>wr
|
|
@@ -138,7 +139,7 @@ module Cxxproject
|
|
|
138
139
|
substStr << ENV[var]
|
|
139
140
|
else
|
|
140
141
|
if @@options.verbose
|
|
141
|
-
Printer.printInfo "Info: #{
|
|
142
|
+
Printer.printInfo "Info: #{@@configFilename}: substitute variable '$(#{var})' with empty string"
|
|
142
143
|
end
|
|
143
144
|
substStr << ""
|
|
144
145
|
end
|
|
@@ -177,4 +178,5 @@ module Cxxproject
|
|
|
177
178
|
|
|
178
179
|
end
|
|
179
180
|
|
|
180
|
-
end
|
|
181
|
+
end
|
|
182
|
+
|
data/lib/bake/util.rb
CHANGED
data/lib/bake/version.rb
CHANGED
data/lib/tocxx.rb
CHANGED
|
@@ -346,6 +346,15 @@ module Cxxproject
|
|
|
346
346
|
end
|
|
347
347
|
end
|
|
348
348
|
|
|
349
|
+
if config.respond_to?("toolchain") and config.toolchain
|
|
350
|
+
config.toolchain.compiler.each do |c|
|
|
351
|
+
if not c.internalDefines.nil? and c.internalDefines != ""
|
|
352
|
+
Printer.printError "Error: #{c.file_name}(#{c.internalDefines.line_number}): InternalDefines only allowed in DefaultToolchain'"
|
|
353
|
+
ExitHelper.exit(1)
|
|
354
|
+
end
|
|
355
|
+
end
|
|
356
|
+
end
|
|
357
|
+
|
|
349
358
|
config.dependency.each do |d|
|
|
350
359
|
pname = d.name
|
|
351
360
|
cname = d.config
|
|
@@ -807,17 +816,77 @@ module Cxxproject
|
|
|
807
816
|
@num_modules = calc_needed_bbs(startBBName, @bbs)
|
|
808
817
|
end
|
|
809
818
|
|
|
810
|
-
|
|
811
|
-
@
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
819
|
+
begin # show incs and stuff
|
|
820
|
+
if @options.show_includes
|
|
821
|
+
@bbs.each do |bb|
|
|
822
|
+
if HasIncludes === bb
|
|
823
|
+
print bb.name
|
|
824
|
+
li = bb.local_includes
|
|
825
|
+
li.each { |i| print "##{i}" }
|
|
826
|
+
print "\n"
|
|
827
|
+
end
|
|
817
828
|
end
|
|
829
|
+
ExitHelper.exit(0)
|
|
818
830
|
end
|
|
819
|
-
|
|
820
|
-
|
|
831
|
+
|
|
832
|
+
if @options.show_includes_and_defines
|
|
833
|
+
intIncs = []
|
|
834
|
+
intDefs = {:CPP => [], :C => [], :ASM => []}
|
|
835
|
+
Dir.chdir(@options.main_dir) do
|
|
836
|
+
|
|
837
|
+
if (@mainConfig.defaultToolchain.internalIncludes)
|
|
838
|
+
iname = convPath(@mainConfig.defaultToolchain.internalIncludes.name, @mainConfig)
|
|
839
|
+
if iname != ""
|
|
840
|
+
if not File.exists?(iname)
|
|
841
|
+
Printer.printError "Error: InternalIncludes file #{iname} does not exist"
|
|
842
|
+
ExitHelper.exit(1)
|
|
843
|
+
end
|
|
844
|
+
IO.foreach(iname) {|x| add_line_if_no_comment(intIncs,x) }
|
|
845
|
+
end
|
|
846
|
+
end
|
|
847
|
+
|
|
848
|
+
@mainConfig.defaultToolchain.compiler.each do |c|
|
|
849
|
+
if (c.internalDefines)
|
|
850
|
+
dname = convPath(c.internalDefines.name, @mainConfig)
|
|
851
|
+
if dname != ""
|
|
852
|
+
if not File.exists?(dname)
|
|
853
|
+
Printer.printError "Error: InternalDefines file #{dname} does not exist"
|
|
854
|
+
ExitHelper.exit(1)
|
|
855
|
+
end
|
|
856
|
+
IO.foreach(dname) {|x| add_line_if_no_comment(intDefs[c.ctype],x) }
|
|
857
|
+
end
|
|
858
|
+
end
|
|
859
|
+
end
|
|
860
|
+
|
|
861
|
+
end
|
|
862
|
+
|
|
863
|
+
|
|
864
|
+
@bbs.each do |bb|
|
|
865
|
+
if HasIncludes === bb
|
|
866
|
+
puts bb.name
|
|
867
|
+
|
|
868
|
+
puts " includes"
|
|
869
|
+
(bb.local_includes + intIncs).each { |i| puts " #{i}" }
|
|
870
|
+
|
|
871
|
+
[:CPP, :C, :ASM].each do |type|
|
|
872
|
+
puts " #{type} defines"
|
|
873
|
+
(bb.tcs[:COMPILER][type][:DEFINES] + intDefs[type]).each { |d| puts " #{d}" }
|
|
874
|
+
end
|
|
875
|
+
puts " done"
|
|
876
|
+
end
|
|
877
|
+
end
|
|
878
|
+
ExitHelper.exit(0)
|
|
879
|
+
end
|
|
880
|
+
rescue Exception => e
|
|
881
|
+
if (not SystemExit === e)
|
|
882
|
+
puts e
|
|
883
|
+
puts e.backtrace
|
|
884
|
+
ExitHelper.exit(1)
|
|
885
|
+
else
|
|
886
|
+
raise e
|
|
887
|
+
end
|
|
888
|
+
end
|
|
889
|
+
|
|
821
890
|
|
|
822
891
|
theExeBB = nil
|
|
823
892
|
@bbs.each do |bb|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bake-toolkit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.8.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alexander Schaal
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-11-
|
|
11
|
+
date: 2014-11-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cxxproject
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - '='
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.5.
|
|
19
|
+
version: 0.5.76
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - '='
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 0.5.
|
|
26
|
+
version: 0.5.76
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rtext
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|