bake-toolkit 2.43.2 → 2.44.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c22655498af78bdc67ccc09fbef5b58e487721ae
4
- data.tar.gz: 1514cc96151e219720ba14f099cae4546411eb95
3
+ metadata.gz: 3661ce41b15cb95daa7e30356c5436621bb9b9d8
4
+ data.tar.gz: 58ada38722104cc9f3a83348fa839428ffadc648
5
5
  SHA512:
6
- metadata.gz: 2d558d5127cbc6f3ef92404f1eeb07dc97dfa16b6e44b70a5f81a10ae7bf8ec925bd95f6aae4d027a8a37265e59b940e2919cfeb5534f736031e4d5276c2263b
7
- data.tar.gz: 73367bbb2a99a2d81d09770f1561df774c28ac16608e51f39884d9aa141374f80c9cd69fff0d7b02bd56724046b5f87ff0bec7eb7fca0e77b0e05090f9138a97
6
+ metadata.gz: 5a95bb26915962630ba32e6693cfb7caa611b7ff3f729f8993d5c882a51587486ffbbe8be2e6ad90aaebf86b67a9ef78ee52ddde5827720ff17f43f5bab14173
7
+ data.tar.gz: 75f577c43f0d7ffc103e425cd33d86965bf8ad138c0c5697a2e4adb85731b064f7b6aaf45567969b1bc43f96d529eaec8759b3069deee35b3f7103a0a63c26ca
@@ -7,6 +7,7 @@ require 'bake/options/usage'
7
7
  require 'bake/options/create'
8
8
  require 'common/options/finder'
9
9
  require 'common/root'
10
+ require 'common/crc32'
10
11
 
11
12
  module Bake
12
13
 
@@ -22,7 +23,7 @@ module Bake
22
23
  attr_reader :main_dir, :project, :filename, :main_project_name, :buildDirDelimiter, :dot, :cc2j_filename # String
23
24
  attr_reader :include_filter, :exclude_filter, :adapt # String List
24
25
  attr_reader :conversion_info, :stopOnFirstError, :clean, :rebuild, :show_includes, :show_includes_and_defines, :projectPaths, :qac, :dry, :syncedOutput, :debug_threads, :skipBuildingLine # Boolean
25
- attr_reader :linkOnly, :compileOnly, :no_autodir, :clobber, :docu, :debug, :prepro, :oldLinkOrder, :prebuild, :printTime, :json, :wparse # Boolean
26
+ attr_reader :linkOnly, :compileOnly, :no_autodir, :clobber, :docu, :debug, :prepro, :oldLinkOrder, :prebuild, :printTime, :json, :wparse, :caseSensitivityCheck # Boolean
26
27
  attr_reader :threads, :socket # Fixnum
27
28
  attr_reader :vars, :include_filter_args # map
28
29
  attr_reader :verbose
@@ -34,6 +35,7 @@ module Bake
34
35
  def initialize(argv)
35
36
  super(argv)
36
37
 
38
+ @caseSensitivityCheck = Bake::Utils::OS.windows?
37
39
  @skipBuildingLine = false
38
40
  @debug_threads = false
39
41
  @dry = false
@@ -115,6 +117,7 @@ module Bake
115
117
  add_option(["--debug-threads" ], lambda { @debug_threads = true })
116
118
  add_option(["--set" ], lambda { |x| set_set(x) })
117
119
  add_option(["-nb" ], lambda { @skipBuildingLine = true })
120
+ add_option(["--no-case-check" ], lambda { @caseSensitivityCheck = false })
118
121
 
119
122
  add_option(["--clobber" ], lambda { @clobber = true; @clean = true })
120
123
  add_option(["--ignore-cache", "--ignore_cache" ], lambda { @nocache = true })
@@ -141,6 +144,8 @@ module Bake
141
144
 
142
145
  add_option(["--dry" ], lambda { @dry = true })
143
146
 
147
+ add_option(["--crc32" ], lambda { |x| CRC32.printAndExit(x) })
148
+
144
149
  add_option(["--version" ], lambda { Bake::Usage.version })
145
150
  add_option(["--list", "--show_configs" ], lambda { @showConfigs = true })
146
151
  add_option(["--compilation-db" ], lambda { |x,dummy| @cc2j_filename = (x ? x : "compilation-db.json" )})
@@ -30,6 +30,7 @@ module Bake
30
30
  puts " --link-only Only link executables - doesn't update objects and archives or start PreSteps and PostSteps."
31
31
  puts " Forces executables to be relinked."
32
32
  puts " --compile-only Only the compile steps are executed, equivalent to -f '.'"
33
+ puts " --no-case-check Disables case-sensitivity-check of included header files (only relative paths on Windows are checked)."
33
34
  puts " --generate-doc Builds docu instead of compiling sources."
34
35
  puts " --ignore-cache Rereads the original meta files - usefull if workspace structure has been changed."
35
36
  puts " -j <num> Set NUMBER of parallel compiled files (default is 8)."
@@ -57,6 +58,7 @@ module Bake
57
58
  puts " --compilation-db [<fn>] Writes compilation information into filename fn in json format, default for fn is compilation-db.json"
58
59
  puts " --create exe|lib|custom Creates a project with exe, lib or custom template"
59
60
  puts " --nb Suppresses the lines \"**** Building x of y: name (config) ****"
61
+ puts " --crc32 <string> Calulates the CRC32 of string (0x4C11DB7, init 0, final xor 0, input and result not reflected), used for Uid variable calculation"
60
62
  puts " --link-2-17 DEPRECATED: Using link order of libraries which was used until bake 2.17"
61
63
  puts " --build_ DEPRECATED: build directories will be build_<name> instead of build/<name>"
62
64
  puts " --version Print version."
data/lib/bake/subst.rb CHANGED
@@ -188,6 +188,16 @@ module Bake
188
188
  substStr << @@configName
189
189
  elsif var == "ToolchainName" and defined?@@toolchainName
190
190
  substStr << @@toolchainName
191
+ # elsif var == "PathToMainProject"
192
+ # substStr << File.rel_from_to_project(@@config.parent.get_project_dir, Bake.options.main_dir, false)
193
+ # elsif var == "PathToMainProjectSanitized"
194
+ # path = File.rel_from_to_project(@@config.parent.get_project_dir, Bake.options.main_dir, false).gsub(/\.\./,"__").gsub(/:/,"")
195
+ # path = path[1..-1] if path.start_with?("/")
196
+ # substStr << path
197
+ # elsif var == "UidNoMainConfigName"
198
+ # substStr << CRC32.calc(File.rel_from_to_project(@@config.parent.get_project_dir, Bake.options.main_dir, false))
199
+ elsif var == "Uid"
200
+ substStr << CRC32.calc(File.rel_from_to_project(@@config.parent.get_project_dir, Bake.options.main_dir, false) + "," + Bake.options.build_config)
191
201
  elsif var == "ProjectName"
192
202
  substStr << @@projName
193
203
  elsif var == "FilterArguments" or (splittedVar.length == 2 and splittedVar[0] == "FilterArguments")
@@ -15,7 +15,7 @@ module Bake
15
15
  gccVersionStr = getGccRawVersionInfo()
16
16
  splitted = gccVersionStr.split("\n")[0].split(" ")
17
17
  vSubstr = splitted[splitted.length-1]
18
- vSubstr = splitted[splitted.length-2] if ((!vSubstr.include?".") && (splitted.length >= 2))
18
+ vSubstr = splitted[splitted.length-2] if ((!vSubstr.include?(".") || vSubstr.match(/[a-z\-]/)) && (splitted.length >= 2))
19
19
  return vSubstr.split(".").map { |v| v.to_i }
20
20
  end
21
21
 
data/lib/blocks/block.rb CHANGED
@@ -201,14 +201,14 @@ module Bake
201
201
  return true if @config.step
202
202
  else
203
203
  return true if @config.files.length > 0
204
- if ((@config.startupSteps && @config.startupSteps.step.length > 0) ||
204
+ end
205
+ if ((@config.startupSteps && @config.startupSteps.step.length > 0) ||
205
206
  (@config.preSteps && @config.preSteps.step.length > 0) ||
206
207
  (@config.postSteps && @config.postSteps.step.length > 0) ||
207
208
  (@config.exitSteps && @config.exitSteps.step.length > 0) ||
208
209
  (@config.cleanSteps && @config.cleanSteps.step.length > 0) ||
209
210
  (@config.preSteps && @config.preSteps.step.length > 0))
210
211
  return true
211
- end
212
212
  end
213
213
  return false
214
214
  end
@@ -280,7 +280,7 @@ module Bake
280
280
  depResult = true
281
281
  dependencies.each do |dep|
282
282
  depResult = (ALL_BLOCKS[dep].send(method) and depResult)
283
- break if not depResult and Bake.options.stopOnFirstError
283
+ break if (!depResult) && Bake.options.stopOnFirstError
284
284
  end
285
285
  return depResult
286
286
  end
@@ -303,10 +303,9 @@ module Bake
303
303
  return if blockAbort?(true)
304
304
 
305
305
  tmpstdout = Thread.current[:tmpStdout].nil? ? nil : Thread.current[:tmpStdout].dup
306
- @@threads << Thread.new(Thread.current[:stdout], Thread.current[:errorStream], tmpstdout, steps) { |outStr, errStr, tmpStdout, steps|
306
+ @@threads << Thread.new(Thread.current[:stdout], tmpstdout, steps) { |outStr, tmpStdout, steps|
307
307
  STDOUT.puts "DEBUG_THREADS: Started: #{Thread.current.object_id} (#{@projectName}, #{@config.name})" if Bake.options.debug_threads
308
308
  Thread.current[:stdout] = outStr
309
- Thread.current[:errorStream] = errStr
310
309
  Thread.current[:tmpStdout] = tmpStdout
311
310
  Thread.current[:steps] = steps
312
311
  exceptionOccured = false
@@ -352,11 +351,9 @@ module Bake
352
351
  def callSteps(method)
353
352
  @config.writeEnvVars()
354
353
  Thread.current[:lastCommand] = nil
355
-
356
354
  allSteps = (preSteps + mainSteps + postSteps)
357
355
 
358
356
  # check if we have to delay the output (if the last step of this block is not in a thread)
359
- # todo: sync output if commandline and makefile!!!!!!!!!!!!!!!!!!!
360
357
  @outputStep = nil
361
358
  allSteps.each { |step| @outputStep = independent?(method, step) ? step : nil }
362
359
  while !allSteps.empty?
@@ -379,13 +376,14 @@ module Bake
379
376
  break if blockAbort?(@result)
380
377
  end
381
378
  ensure
382
- SyncOut.stopStream(@result) if lastStep == @outputStep if Bake.options.syncedOutput
379
+ SyncOut.stopStream() if lastStep == @outputStep if Bake.options.syncedOutput
383
380
  end
384
381
  }
385
382
  else
386
383
  step = allSteps.shift
387
384
  Blocks::Block::waitForAllThreads()
388
385
  @result = executeStep(step, method) if @result
386
+ @outputStep = nil if !@result && blockAbort?(@result)
389
387
  end
390
388
  return @result if blockAbort?(@result)
391
389
  end
@@ -412,7 +410,6 @@ module Bake
412
410
  return @result && depResult if blockAbort?(depResult)
413
411
 
414
412
  Bake::IDEInterface.instance.set_build_info(@projectName, @configName)
415
-
416
413
  begin
417
414
  SyncOut.mutex.synchronize do
418
415
  @outputStep = nil
@@ -440,14 +437,14 @@ module Bake
440
437
  ensure
441
438
  if Bake.options.syncedOutput
442
439
  if !@outputStep
443
- SyncOut.stopStream(@result)
440
+ SyncOut.stopStream()
444
441
  else
445
442
  SyncOut.discardStreams()
446
443
  end
447
444
  end
448
445
  end
449
446
 
450
- return (depResult && @result)# && @@delayed_result)
447
+ return (depResult && @result)
451
448
  end
452
449
 
453
450
  def clean
@@ -7,6 +7,41 @@ require 'common/utils'
7
7
  require 'bake/toolchain/colorizing_formatter'
8
8
  require 'bake/config/loader'
9
9
 
10
+
11
+ begin
12
+ require 'Win32API'
13
+
14
+ def longname short_name
15
+ max_path = 1024
16
+ long_name = " " * max_path
17
+ lfn_size = Win32API.new("kernel32", "GetLongPathName", ['P','P','L'],'L').call(short_name, long_name, max_path)
18
+ return long_name[0..lfn_size-1]
19
+ end
20
+
21
+ def shortname long_name
22
+ max_path = 1024
23
+ short_name = " " * max_path
24
+ lfn_size = Win32API.new("kernel32", "GetShortPathName", ['P','P','L'],'L').call(long_name, short_name, max_path)
25
+ return short_name[0..lfn_size-1]
26
+ end
27
+
28
+ def realname file
29
+ longname(shortname(file))
30
+ end
31
+
32
+ rescue LoadError
33
+
34
+ def realname file
35
+ file
36
+ end
37
+
38
+ end
39
+
40
+
41
+
42
+
43
+
44
+
10
45
  module Bake
11
46
 
12
47
  module Blocks
@@ -220,7 +255,7 @@ module Bake
220
255
  Dir.mutex.synchronize do
221
256
  Dir.chdir(@projectDir) do
222
257
  incList = Compile.read_depfile(dep_filename, @projectDir, @block.tcs[:COMPILER][:DEP_FILE_SINGLE_LINE]) if incList.nil?
223
- Compile.write_depfile(incList, dep_filename_conv, @projectDir)
258
+ Compile.write_depfile(source, incList, dep_filename_conv, @projectDir)
224
259
  end
225
260
  end
226
261
 
@@ -274,18 +309,34 @@ module Bake
274
309
  end
275
310
 
276
311
  # todo: move to toolchain util file
277
- def self.write_depfile(deps, dep_filename_conv, projDir)
312
+ def self.write_depfile(source, deps, dep_filename_conv, projDir)
278
313
  if deps && !Bake.options.dry
314
+ wrongCase = false
279
315
  begin
280
316
  File.open(dep_filename_conv, 'wb') do |f|
281
317
  deps.each do |dep|
282
318
  f.puts(dep)
319
+
320
+ if (Bake.options.caseSensitivityCheck)
321
+ if dep.length<2 || dep[1] != ":"
322
+ real = realname(dep)
323
+ if dep != real && dep.upcase == real.upcase
324
+ Bake.formatter.printError("Case sensitivity error in #{source}:\n included: #{dep}\n realname: #{real}")
325
+ wrongCase = true
326
+ end
327
+ end
328
+ end
329
+
283
330
  end
284
331
  end
285
332
  rescue Exception
286
333
  Bake.formatter.printWarning("Could not write '#{dep_filename_conv}'", projDir)
287
334
  return nil
288
335
  end
336
+ if wrongCase
337
+ FileUtils.rm_f(dep_filename_conv)
338
+ raise SystemCommandFailed.new
339
+ end
289
340
  end
290
341
  end
291
342
 
@@ -301,12 +352,11 @@ module Bake
301
352
  compileJobs = Multithread::Jobs.new(@source_files) do |jobs|
302
353
  while source = jobs.get_next_or_nil do
303
354
 
304
- if ((jobs.failed || !Blocks::Block.delayed_result) and Bake.options.stopOnFirstError) or Bake::IDEInterface.instance.get_abort
355
+ if (jobs.failed && Bake.options.stopOnFirstError) or Bake::IDEInterface.instance.get_abort
305
356
  break
306
357
  end
307
358
 
308
359
  SyncOut.startStream()
309
- SyncOut.reset_errors()
310
360
  begin
311
361
  Thread.current[:filelist] = Set.new if Bake.options.filelist
312
362
  Thread.current[:lastCommand] = nil
@@ -326,8 +376,7 @@ module Bake
326
376
 
327
377
  jobs.set_failed if not result
328
378
  ensure
329
- SyncOut.stopStream(result)
330
- SyncOut.flush_errors()
379
+ SyncOut.stopStream()
331
380
  end
332
381
  self.mutex.synchronize do
333
382
  fileListBlock.merge(Thread.current[:filelist]) if Bake.options.filelist
@@ -417,22 +466,22 @@ module Bake
417
466
  @source_files = []
418
467
 
419
468
  exclude_files = Set.new
420
- @config.excludeFiles.each do |p|
421
- Dir.glob_dir(p.name, @projectDir).each {|f| exclude_files << f}
469
+ @config.excludeFiles.each do |pr|
470
+ Dir.glob_dir(pr.name, @projectDir).each {|f| exclude_files << f}
422
471
  end
423
472
 
424
473
  source_files = Set.new
425
474
  @config.files.each do |sources|
426
- p = sources.name
427
- p = p[2..-1] if p.start_with?"./"
475
+ pr = sources.name
476
+ pr = pr[2..-1] if pr.start_with?"./"
428
477
 
429
- res = Dir.glob_dir(p, @projectDir).sort
478
+ res = Dir.glob_dir(pr, @projectDir).sort
430
479
  if res.length == 0 and cleaning == false
431
- if not p.include?"*" and not p.include?"?"
432
- Bake.formatter.printError("Source file '#{p}' not found", sources)
480
+ if not pr.include?"*" and not pr.include?"?"
481
+ Bake.formatter.printError("Source file '#{pr}' not found", sources)
433
482
  raise SystemCommandFailed.new
434
483
  elsif Bake.options.verbose >= 1
435
- Bake.formatter.printInfo("Source file pattern '#{p}' does not match to any file", sources)
484
+ Bake.formatter.printInfo("Source file pattern '#{pr}' does not match to any file", sources)
436
485
  end
437
486
  end
438
487
  res.each do |f|
@@ -125,7 +125,7 @@ module Bake
125
125
 
126
126
  check_config_file()
127
127
  ensure
128
- SyncOut.stopStream(success)
128
+ SyncOut.stopStream()
129
129
  end
130
130
  end
131
131
 
@@ -0,0 +1,57 @@
1
+ require 'common/exit_helper'
2
+
3
+ module Bake
4
+
5
+ class CRC32
6
+ TABLE = [
7
+ 0x00000000, 0x04C11DB7, 0x09823B6E, 0x0D4326D9, 0x130476DC, 0x17C56B6B, 0x1A864DB2, 0x1E475005,
8
+ 0x2608EDB8, 0x22C9F00F, 0x2F8AD6D6, 0x2B4BCB61, 0x350C9B64, 0x31CD86D3, 0x3C8EA00A, 0x384FBDBD,
9
+ 0x4C11DB70, 0x48D0C6C7, 0x4593E01E, 0x4152FDA9, 0x5F15ADAC, 0x5BD4B01B, 0x569796C2, 0x52568B75,
10
+ 0x6A1936C8, 0x6ED82B7F, 0x639B0DA6, 0x675A1011, 0x791D4014, 0x7DDC5DA3, 0x709F7B7A, 0x745E66CD,
11
+ 0x9823B6E0, 0x9CE2AB57, 0x91A18D8E, 0x95609039, 0x8B27C03C, 0x8FE6DD8B, 0x82A5FB52, 0x8664E6E5,
12
+ 0xBE2B5B58, 0xBAEA46EF, 0xB7A96036, 0xB3687D81, 0xAD2F2D84, 0xA9EE3033, 0xA4AD16EA, 0xA06C0B5D,
13
+ 0xD4326D90, 0xD0F37027, 0xDDB056FE, 0xD9714B49, 0xC7361B4C, 0xC3F706FB, 0xCEB42022, 0xCA753D95,
14
+ 0xF23A8028, 0xF6FB9D9F, 0xFBB8BB46, 0xFF79A6F1, 0xE13EF6F4, 0xE5FFEB43, 0xE8BCCD9A, 0xEC7DD02D,
15
+ 0x34867077, 0x30476DC0, 0x3D044B19, 0x39C556AE, 0x278206AB, 0x23431B1C, 0x2E003DC5, 0x2AC12072,
16
+ 0x128E9DCF, 0x164F8078, 0x1B0CA6A1, 0x1FCDBB16, 0x018AEB13, 0x054BF6A4, 0x0808D07D, 0x0CC9CDCA,
17
+ 0x7897AB07, 0x7C56B6B0, 0x71159069, 0x75D48DDE, 0x6B93DDDB, 0x6F52C06C, 0x6211E6B5, 0x66D0FB02,
18
+ 0x5E9F46BF, 0x5A5E5B08, 0x571D7DD1, 0x53DC6066, 0x4D9B3063, 0x495A2DD4, 0x44190B0D, 0x40D816BA,
19
+ 0xACA5C697, 0xA864DB20, 0xA527FDF9, 0xA1E6E04E, 0xBFA1B04B, 0xBB60ADFC, 0xB6238B25, 0xB2E29692,
20
+ 0x8AAD2B2F, 0x8E6C3698, 0x832F1041, 0x87EE0DF6, 0x99A95DF3, 0x9D684044, 0x902B669D, 0x94EA7B2A,
21
+ 0xE0B41DE7, 0xE4750050, 0xE9362689, 0xEDF73B3E, 0xF3B06B3B, 0xF771768C, 0xFA325055, 0xFEF34DE2,
22
+ 0xC6BCF05F, 0xC27DEDE8, 0xCF3ECB31, 0xCBFFD686, 0xD5B88683, 0xD1799B34, 0xDC3ABDED, 0xD8FBA05A,
23
+ 0x690CE0EE, 0x6DCDFD59, 0x608EDB80, 0x644FC637, 0x7A089632, 0x7EC98B85, 0x738AAD5C, 0x774BB0EB,
24
+ 0x4F040D56, 0x4BC510E1, 0x46863638, 0x42472B8F, 0x5C007B8A, 0x58C1663D, 0x558240E4, 0x51435D53,
25
+ 0x251D3B9E, 0x21DC2629, 0x2C9F00F0, 0x285E1D47, 0x36194D42, 0x32D850F5, 0x3F9B762C, 0x3B5A6B9B,
26
+ 0x0315D626, 0x07D4CB91, 0x0A97ED48, 0x0E56F0FF, 0x1011A0FA, 0x14D0BD4D, 0x19939B94, 0x1D528623,
27
+ 0xF12F560E, 0xF5EE4BB9, 0xF8AD6D60, 0xFC6C70D7, 0xE22B20D2, 0xE6EA3D65, 0xEBA91BBC, 0xEF68060B,
28
+ 0xD727BBB6, 0xD3E6A601, 0xDEA580D8, 0xDA649D6F, 0xC423CD6A, 0xC0E2D0DD, 0xCDA1F604, 0xC960EBB3,
29
+ 0xBD3E8D7E, 0xB9FF90C9, 0xB4BCB610, 0xB07DABA7, 0xAE3AFBA2, 0xAAFBE615, 0xA7B8C0CC, 0xA379DD7B,
30
+ 0x9B3660C6, 0x9FF77D71, 0x92B45BA8, 0x9675461F, 0x8832161A, 0x8CF30BAD, 0x81B02D74, 0x857130C3,
31
+ 0x5D8A9099, 0x594B8D2E, 0x5408ABF7, 0x50C9B640, 0x4E8EE645, 0x4A4FFBF2, 0x470CDD2B, 0x43CDC09C,
32
+ 0x7B827D21, 0x7F436096, 0x7200464F, 0x76C15BF8, 0x68860BFD, 0x6C47164A, 0x61043093, 0x65C52D24,
33
+ 0x119B4BE9, 0x155A565E, 0x18197087, 0x1CD86D30, 0x029F3D35, 0x065E2082, 0x0B1D065B, 0x0FDC1BEC,
34
+ 0x3793A651, 0x3352BBE6, 0x3E119D3F, 0x3AD08088, 0x2497D08D, 0x2056CD3A, 0x2D15EBE3, 0x29D4F654,
35
+ 0xC5A92679, 0xC1683BCE, 0xCC2B1D17, 0xC8EA00A0, 0xD6AD50A5, 0xD26C4D12, 0xDF2F6BCB, 0xDBEE767C,
36
+ 0xE3A1CBC1, 0xE760D676, 0xEA23F0AF, 0xEEE2ED18, 0xF0A5BD1D, 0xF464A0AA, 0xF9278673, 0xFDE69BC4,
37
+ 0x89B8FD09, 0x8D79E0BE, 0x803AC667, 0x84FBDBD0, 0x9ABC8BD5, 0x9E7D9662, 0x933EB0BB, 0x97FFAD0C,
38
+ 0xAFB010B1, 0xAB710D06, 0xA6322BDF, 0xA2F33668, 0xBCB4666D, 0xB8757BDA, 0xB5365D03, 0xB1F740B4
39
+ ].freeze()
40
+
41
+ def self.calc(str)
42
+ res = 0
43
+ str.each_char do |c|
44
+ lookupTableIndex = c[0].ord ^ (res >> 24)
45
+ res = TABLE[lookupTableIndex] ^ (res << 8) % 0x100000000
46
+ end
47
+ return sprintf("%08X", res)
48
+ end
49
+
50
+ def self.printAndExit(str)
51
+ puts calc(str)
52
+ ExitHelper.exit(0)
53
+ end
54
+
55
+ end
56
+
57
+ end
@@ -97,42 +97,29 @@ class SyncOut
97
97
  end
98
98
  end
99
99
 
100
- def self.stopStream(result=true)
101
- s = Thread.current[:stdout]
102
- return if s.nil?
103
- Thread.current[:stdout] = Thread.current[:tmpStdout] ? Thread.current[:tmpStdout].pop : nil
104
-
105
- if s.string.length > 0
106
- mutex.synchronize do
107
- if !result && Bake.options.stopOnFirstError
108
- Thread.current[:errorStream] << s.string
109
- else
110
- convertConfNum(s.string)
111
- puts s.string
112
- end
100
+ def self.stopStream()
101
+ mutex.synchronize do
102
+
103
+ s = Thread.current[:stdout]
104
+ return if s.nil?
105
+ Thread.current[:stdout] = Thread.current[:tmpStdout] ? Thread.current[:tmpStdout].pop : nil
106
+
107
+ if s.string.length > 0
108
+ convertConfNum(s.string)
109
+ puts s.string
110
+ s.reopen("")
113
111
  end
114
- s.reopen("")
112
+
115
113
  end
114
+
116
115
  end
117
116
 
118
117
 
119
118
  def self.discardStreams()
120
- Thread.current[:stdout] = Thread.current[:tmpStdout] ? Thread.current[:tmpStdout].pop : nil
121
- end
122
-
123
- def self.flush_errors
124
- if !Thread.current[:errorStream].empty?
125
- mutex.synchronize do
126
- convertConfNum(Thread.current[:errorStream])
127
- puts Thread.current[:errorStream]
128
- reset_errors
129
- end
119
+ mutex.synchronize do
120
+ Thread.current[:stdout] = Thread.current[:tmpStdout] ? Thread.current[:tmpStdout].pop : nil
130
121
  end
131
122
  end
132
123
 
133
- def self.reset_errors
134
- Thread.current[:errorStream] = ""
135
- end
136
-
137
124
  end
138
125
 
@@ -1,7 +1,7 @@
1
1
  module Bake
2
2
  class Version
3
3
  def self.number
4
- "2.43.2"
4
+ "2.44.0"
5
5
  end
6
6
 
7
7
  def self.printBakeVersion(ry = "")
@@ -24,9 +24,8 @@ module Bake
24
24
  @jobs = jobs
25
25
  @threads = []
26
26
  nr_of_threads.times do
27
- @threads << ::Thread.new(Thread.current[:stdout], Thread.current[:errorStream]) do |outStr, errStr|
27
+ @threads << ::Thread.new(Thread.current[:stdout]) do |outStr|
28
28
  Thread.current[:stdout] = outStr
29
- Thread.current[:errorStream] = errStr
30
29
  begin
31
30
  Jobs.incThread()
32
31
  block.call(self)
data/lib/tocxx.rb CHANGED
@@ -371,7 +371,6 @@ module Bake
371
371
  result = true
372
372
  startBlocks.each do |block|
373
373
  begin
374
- SyncOut.reset_errors
375
374
  result = callBlock(block, method) && result
376
375
  ensure
377
376
  Blocks::Block::waitForAllThreads()
@@ -554,7 +553,6 @@ module Bake
554
553
  rescue AbortException
555
554
  ideAbort = true
556
555
  end
557
- SyncOut.flush_errors
558
556
  result = callBlocks(startBlocks, :exits, true) && result
559
557
 
560
558
  if ideAbort || Bake::IDEInterface.instance.get_abort
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.43.2
4
+ version: 2.44.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Schaal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-15 00:00:00.000000000 Z
11
+ date: 2018-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rtext
@@ -225,6 +225,7 @@ files:
225
225
  - lib/blocks/showIncludes.rb
226
226
  - lib/common/abortException.rb
227
227
  - lib/common/cleanup.rb
228
+ - lib/common/crc32.rb
228
229
  - lib/common/exit_helper.rb
229
230
  - lib/common/ext/dir.rb
230
231
  - lib/common/ext/file.rb