bake-toolkit 2.64.2 → 2.65.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1241aa9fcd9ce24d5761701ddd95271bed509b193893143c277796f2d5ba5507
4
- data.tar.gz: 7935527ed54346bca16a792df57c7933418c3072d19ac226b4dfbc3553e280ab
3
+ metadata.gz: e7940840d0fb9f3cc5a45d0445ccb05f7b1c18391a7dcc0ae48b1fb90c3e5915
4
+ data.tar.gz: 5298ad5317ae06506708e9db31bdc10e7ac98d1f56b98f078656f78cf67f299e
5
5
  SHA512:
6
- metadata.gz: c7a8521d57d7e25c52a84a18114fed44d7c64e817f16850727579e511b38cf46ddd05f87d9d74f0f37f44422e800c845055d27e64236714f0885d50d78a1e2cf
7
- data.tar.gz: 45099b859072ff9dab75f24ee74680b6c69b157844a1143a5bb9c7bfb028683ba9379591430435e7efe535a983b2a818e9168a83cb3ff069b0047623dec7ef9c
6
+ metadata.gz: ffefb7d0b223fb47ece543a0dab7ff405b845b9c5fb4bc5d281e79de23a85a91f8b5f79bce8868de8361ebf5a9571dfdd3adb345f8bacf6958a9f4179f27bd58
7
+ data.tar.gz: 578bdae05e43d4cde5c4e5443123850a014373a8e27ed7f225e1f0ed7a749e9c04d65c440715b6255c87123094863df1e242ae523f31a6acace005eb36b3bc1a
@@ -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 = @mainProjectName if adapt.mainProject == "__THIS__"
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|
@@ -113,7 +113,8 @@ module Bake
113
113
  applyFilterOnElement(elem)
114
114
  end
115
115
  end
116
- toRemove.each { |r| r.parent = nil }
116
+ toRemove.each { |r| r.parent = nil if r.respond_to?(:parent=) }
117
+ return toRemove
117
118
  end
118
119
 
119
120
  def applyFilterOnElement(elem)
@@ -167,7 +168,8 @@ module Bake
167
168
  ExitHelper.exit(1)
168
169
  end
169
170
 
170
- applyFilterOnArray(frag.root_elements)
171
+ tor = applyFilterOnArray(frag.root_elements)
172
+ frag.root_elements.delete_if {|re| tor.include?(re)}
171
173
 
172
174
  return frag
173
175
 
@@ -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'
@@ -2,6 +2,7 @@ require_relative '../bake/libElement'
2
2
  require_relative '../bake/model/metamodel'
3
3
  require_relative '../common/abortException'
4
4
  require_relative "../multithread/job"
5
+ gem "thwait", "0.1.0"
5
6
  require "thwait"
6
7
 
7
8
  module Bake
@@ -37,7 +37,7 @@ begin
37
37
  x = longname(shortname(file))
38
38
  end
39
39
 
40
- rescue Fiddle::DLError
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[0..-3] + ".cmdline", @projectDir)
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[0..-3] + ".d"
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)
@@ -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}.a"
27
+ baseFilename = "lib#{@projectName}#{fileEnding}"
25
28
  end
26
29
  if !@config.artifactExtension.nil? && @config.artifactExtension.name != "default"
27
30
  extension = ".#{@config.artifactExtension.name}"
@@ -1,7 +1,7 @@
1
1
  module Bake
2
2
  class Version
3
3
  def self.number
4
- "2.64.2"
4
+ "2.65.2"
5
5
  end
6
6
 
7
7
  def self.printBakeVersion(ry = "")
@@ -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,11 +890,13 @@ 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.objects.each do |o|
894
- dep_filename = b.calcDepFile(o, type)
895
- dep_filename_conv = b.calcDepFileConv(dep_filename)
896
- File.readlines(File.expand_path(dep_filename_conv, b.projectDir)).map{|line| line.strip}.each do |dep|
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
+ fname = File.expand_path(dep_filename_conv, b.projectDir)
898
+ if File.exist?(fname)
899
+ File.readlines(fname).map{|line| line.strip}.each do |dep|
897
900
  header = File.expand_path(dep, b.projectDir)
898
901
  if File.exist?(header)
899
902
  inCompilation << header
@@ -905,6 +908,7 @@ module Bake
905
908
  end
906
909
  end
907
910
  end
911
+
908
912
  pnPwd = Pathname.new(Dir.pwd)
909
913
  ccNotIncluded = (ccIncludes - inCompilation).to_a
910
914
  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.64.2
4
+ version: 2.65.2
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-24 00:00:00.000000000 Z
11
+ date: 2020-09-18 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: '0'
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: '0'
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