bake-toolkit 2.64.2 → 2.65.2

Sign up to get free protection for your applications and to get access to all the features.
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