bake-toolkit 2.64.1 → 2.65.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/lib/bake/config/loader.rb +1 -1
- data/lib/bake/toolchain/clang_bitcode.rb +34 -0
- data/lib/bake/toolchain/provider.rb +2 -0
- data/lib/blocks/block.rb +1 -0
- data/lib/blocks/compile.rb +9 -5
- data/lib/blocks/executable.rb +9 -3
- data/lib/blocks/library.rb +4 -1
- data/lib/common/version.rb +1 -1
- data/lib/tocxx.rb +10 -9
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 02d88a06a0d80fbac0d25a134ad432e52cd63ba7f99ba89f4623704a84be2abf
|
4
|
+
data.tar.gz: 35954f6e1a375a04c8959a9fbd67fc372208b5e79d159ea369260a6753e94e14
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94ff89a2f8b098e2ff5ac7c2b6737f9379bc499444ade76aee30829b06975093831b619e8b729f58ce62424f005b10ad9366c7039641e5fce0876f9fa460d6c1
|
7
|
+
data.tar.gz: 490fd16f8285638f1a882af9e74f3efda987a4c2cda40a22a45f0e428c571a63ba7c70f91291e0ee77668b60b1e341a04ea25e8b0153f864d2e47e7f9afa81ed
|
data/lib/bake/config/loader.rb
CHANGED
@@ -237,7 +237,7 @@ module Bake
|
|
237
237
|
if adaptRoots.length > 0
|
238
238
|
adaptRoots.each do |adapt|
|
239
239
|
Bake::Config::checkVer(adapt.requiredBakeVersion)
|
240
|
-
adapt.mainProject =
|
240
|
+
adapt.mainProject = proj.name if adapt.mainProject == "__THIS__"
|
241
241
|
adaptConfigs = adapt.getConfig
|
242
242
|
AdaptConfig.checkSyntax(adaptConfigs, filename, true)
|
243
243
|
adaptConfigs.each do |ac|
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require_relative'../../common/utils'
|
2
|
+
require_relative '../toolchain/provider'
|
3
|
+
require_relative '../toolchain/errorparser/error_parser'
|
4
|
+
require_relative '../toolchain/errorparser/gcc_compiler_error_parser'
|
5
|
+
require_relative '../toolchain/errorparser/gcc_linker_error_parser'
|
6
|
+
|
7
|
+
module Bake
|
8
|
+
module Toolchain
|
9
|
+
CLANG_BITCODE_CHAIN = Provider.add("CLANG_BITCODE")
|
10
|
+
|
11
|
+
CLANG_BITCODE_CHAIN[:COMPILER][:CPP].update({
|
12
|
+
:COMMAND => "clang++",
|
13
|
+
:DEFINE_FLAG => "-D",
|
14
|
+
:OBJECT_FILE_FLAG => "-o",
|
15
|
+
:OBJ_FLAG_SPACE => true,
|
16
|
+
:OBJECT_FILE_ENDING => ".bc",
|
17
|
+
:COMPILE_FLAGS => "-emit-llvm -c ",
|
18
|
+
:ERROR_PARSER => nil,
|
19
|
+
:DEP_FLAGS => "-MD -MF",
|
20
|
+
:DEP_FLAGS_SPACE => true,
|
21
|
+
})
|
22
|
+
|
23
|
+
CLANG_BITCODE_CHAIN[:COMPILER][:C] = Utils.deep_copy(CLANG_BITCODE_CHAIN[:COMPILER][:CPP])
|
24
|
+
CLANG_BITCODE_CHAIN[:COMPILER][:C][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:C][:SOURCE_FILE_ENDINGS]
|
25
|
+
CLANG_BITCODE_CHAIN[:COMPILER][:C][:COMMAND] = "clang"
|
26
|
+
|
27
|
+
CLANG_BITCODE_CHAIN[:ARCHIVER][:COMMAND] = "llvm-link"
|
28
|
+
CLANG_BITCODE_CHAIN[:ARCHIVER][:ARCHIVE_FLAGS] = "-o"
|
29
|
+
CLANG_BITCODE_CHAIN[:ARCHIVER][:ARCHIVE_FILE_ENDING] = ".bc"
|
30
|
+
|
31
|
+
CLANG_BITCODE_CHAIN[:LINKER][:COMMAND] = "llvm-link"
|
32
|
+
CLANG_BITCODE_CHAIN[:LINKER][:EXE_FLAG] = "-o"
|
33
|
+
end
|
34
|
+
end
|
@@ -88,6 +88,7 @@ module Bake
|
|
88
88
|
:PREFIX => "$(ArchiverPrefix)",
|
89
89
|
:ARCHIVE_FLAGS => "",
|
90
90
|
:ARCHIVE_FLAGS_SPACE => true,
|
91
|
+
:ARCHIVE_FILE_ENDING => ".a",
|
91
92
|
:FLAGS => "",
|
92
93
|
:ERROR_PARSER => nil,
|
93
94
|
:FILE_COMMAND => ""
|
@@ -163,6 +164,7 @@ require_relative '../toolchain/diab'
|
|
163
164
|
require_relative '../toolchain/gcc'
|
164
165
|
require_relative '../toolchain/clang'
|
165
166
|
require_relative '../toolchain/clang_analyze'
|
167
|
+
require_relative '../toolchain/clang_bitcode'
|
166
168
|
require_relative '../toolchain/ti'
|
167
169
|
require_relative '../toolchain/greenhills'
|
168
170
|
require_relative '../toolchain/keil'
|
data/lib/blocks/block.rb
CHANGED
data/lib/blocks/compile.rb
CHANGED
@@ -37,7 +37,7 @@ begin
|
|
37
37
|
x = longname(shortname(file))
|
38
38
|
end
|
39
39
|
|
40
|
-
rescue
|
40
|
+
rescue Exception
|
41
41
|
|
42
42
|
def realname file
|
43
43
|
file
|
@@ -52,7 +52,7 @@ module Bake
|
|
52
52
|
|
53
53
|
class Compile < BlockBase
|
54
54
|
|
55
|
-
attr_reader :objects, :source_files, :source_files_compiled, :include_list, :source_files_ignored_in_lib, :object_files_ignored_in_lib
|
55
|
+
attr_reader :objects, :source_files, :source_files_compiled, :include_list, :source_files_ignored_in_lib, :object_files_ignored_in_lib, :object_files
|
56
56
|
|
57
57
|
def mutex
|
58
58
|
@mutex ||= Mutex.new
|
@@ -133,14 +133,18 @@ module Bake
|
|
133
133
|
return false
|
134
134
|
end
|
135
135
|
|
136
|
+
def calcObjectBasename(object)
|
137
|
+
object.chomp(File.extname(object))
|
138
|
+
end
|
139
|
+
|
136
140
|
def calcCmdlineFile(object)
|
137
|
-
File.expand_path(object
|
141
|
+
File.expand_path(calcObjectBasename(object) + ".cmdline", @projectDir)
|
138
142
|
end
|
139
143
|
|
140
144
|
def calcDepFile(object, type)
|
141
145
|
dep_filename = nil
|
142
146
|
if type != :ASM
|
143
|
-
dep_filename = object
|
147
|
+
dep_filename = calcObjectBasename(object) + ".d"
|
144
148
|
end
|
145
149
|
dep_filename
|
146
150
|
end
|
@@ -561,7 +565,7 @@ module Bake
|
|
561
565
|
pr = sources.name
|
562
566
|
pr = pr[2..-1] if pr.start_with?"./"
|
563
567
|
|
564
|
-
res = Dir.glob_dir(pr, @projectDir).sort
|
568
|
+
res = Dir.glob_dir(pr, @projectDir).select {|f| !get_source_type(f).nil?}.sort
|
565
569
|
if res.length == 0 and cleaning == false
|
566
570
|
if not pr.include?"*" and not pr.include?"?"
|
567
571
|
Bake.formatter.printError("Source file '#{pr}' not found", sources)
|
data/lib/blocks/executable.rb
CHANGED
@@ -190,9 +190,15 @@ module Bake
|
|
190
190
|
BlockBase.writeCmdLineFile(cmd, cmdLineFile)
|
191
191
|
success = true
|
192
192
|
consoleOutput = ""
|
193
|
-
|
194
|
-
|
195
|
-
|
193
|
+
retry_linking = Bake.options.dev_features.include?("retry-linking") ? 5 : 1
|
194
|
+
begin
|
195
|
+
success, consoleOutput = ProcessHelper.run(realCmd, false, false, outPipe) if !Bake.options.dry
|
196
|
+
process_result(cmdLinePrint, consoleOutput, linker[:ERROR_PARSER], nil, reason, success)
|
197
|
+
rescue Exception
|
198
|
+
retry_linking -= 1
|
199
|
+
retry if !success && retry_linking > 0
|
200
|
+
raise
|
201
|
+
end
|
196
202
|
check_config_file()
|
197
203
|
end
|
198
204
|
|
data/lib/blocks/library.rb
CHANGED
@@ -18,10 +18,13 @@ module Bake
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def calcArtifactName
|
21
|
+
archiver = @block.tcs[:ARCHIVER]
|
22
|
+
fileEnding = archiver[:ARCHIVE_FILE_ENDING]
|
23
|
+
|
21
24
|
if not @config.artifactName.nil? and @config.artifactName.name != ""
|
22
25
|
baseFilename = @config.artifactName.name
|
23
26
|
else
|
24
|
-
baseFilename = "lib#{@projectName}
|
27
|
+
baseFilename = "lib#{@projectName}#{fileEnding}"
|
25
28
|
end
|
26
29
|
if !@config.artifactExtension.nil? && @config.artifactExtension.name != "default"
|
27
30
|
extension = ".#{@config.artifactExtension.name}"
|
data/lib/common/version.rb
CHANGED
data/lib/tocxx.rb
CHANGED
@@ -859,6 +859,7 @@ module Bake
|
|
859
859
|
!Bake.options.linkOnly &&
|
860
860
|
!Bake.options.prepro &&
|
861
861
|
!Bake.options.compileOnly &&
|
862
|
+
!Bake.options.dry &&
|
862
863
|
!Bake.options.clean
|
863
864
|
|
864
865
|
ccChecks = []
|
@@ -889,15 +890,14 @@ module Bake
|
|
889
890
|
b.source_files_compiled.each do |s|
|
890
891
|
inCompilation << File.expand_path(s, b.projectDir)
|
891
892
|
type = b.get_source_type(s)
|
892
|
-
if type != :ASM
|
893
|
-
b.
|
894
|
-
|
895
|
-
|
896
|
-
|
897
|
-
|
898
|
-
|
899
|
-
|
900
|
-
end
|
893
|
+
if type != :ASM && b.object_files && b.object_files.has_key?(s)
|
894
|
+
o = b.object_files[s]
|
895
|
+
dep_filename = b.calcDepFile(o, type)
|
896
|
+
dep_filename_conv = b.calcDepFileConv(dep_filename)
|
897
|
+
File.readlines(File.expand_path(dep_filename_conv, b.projectDir)).map{|line| line.strip}.each do |dep|
|
898
|
+
header = File.expand_path(dep, b.projectDir)
|
899
|
+
if File.exist?(header)
|
900
|
+
inCompilation << header
|
901
901
|
end
|
902
902
|
end
|
903
903
|
end
|
@@ -905,6 +905,7 @@ module Bake
|
|
905
905
|
end
|
906
906
|
end
|
907
907
|
end
|
908
|
+
|
908
909
|
pnPwd = Pathname.new(Dir.pwd)
|
909
910
|
ccNotIncluded = (ccIncludes - inCompilation).to_a
|
910
911
|
ccNotExcluded = inCompilation.select {|i| ccExcludes.include?(i) }
|
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: 2.
|
4
|
+
version: 2.65.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: 2020-07
|
11
|
+
date: 2020-09-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rtext
|
@@ -84,16 +84,16 @@ dependencies:
|
|
84
84
|
name: thwait
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - '='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 0.1.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - '='
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: 0.1.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: e2mmap
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -204,6 +204,7 @@ files:
|
|
204
204
|
- lib/bake/subst.rb
|
205
205
|
- lib/bake/toolchain/clang.rb
|
206
206
|
- lib/bake/toolchain/clang_analyze.rb
|
207
|
+
- lib/bake/toolchain/clang_bitcode.rb
|
207
208
|
- lib/bake/toolchain/colorizing_formatter.rb
|
208
209
|
- lib/bake/toolchain/diab.rb
|
209
210
|
- lib/bake/toolchain/errorparser/diab_compiler_error_parser.rb
|