bake-toolkit 2.46.0 → 2.47.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.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/bin/bake +46 -46
  3. data/bin/bake-doc +1 -1
  4. data/bin/bake-format +1 -1
  5. data/bin/bakeclean +1 -1
  6. data/bin/bakeqac +9 -9
  7. data/bin/bakery +11 -11
  8. data/lib/adapt/config/loader.rb +2 -2
  9. data/lib/bake/cache.rb +5 -5
  10. data/lib/bake/config/loader.rb +3 -3
  11. data/lib/bake/mergeConfig.rb +1 -1
  12. data/lib/bake/model/language.rb +1 -4
  13. data/lib/bake/model/loader.rb +6 -6
  14. data/lib/bake/model/metamodel.rb +21 -0
  15. data/lib/bake/model/metamodel_ext.rb +2 -2
  16. data/lib/bake/options/create.rb +1 -1
  17. data/lib/bake/options/options.rb +24 -16
  18. data/lib/bake/options/showDoc.rb +1 -1
  19. data/lib/bake/options/usage.rb +3 -1
  20. data/lib/bake/subst.rb +14 -13
  21. data/lib/bake/toolchain/clang.rb +5 -5
  22. data/lib/bake/toolchain/clang_analyze.rb +2 -2
  23. data/lib/bake/toolchain/diab.rb +4 -4
  24. data/lib/bake/toolchain/errorparser/diab_compiler_error_parser.rb +1 -1
  25. data/lib/bake/toolchain/errorparser/diab_linker_error_parser.rb +1 -1
  26. data/lib/bake/toolchain/errorparser/gcc_compiler_error_parser.rb +1 -1
  27. data/lib/bake/toolchain/errorparser/gcc_linker_error_parser.rb +1 -1
  28. data/lib/bake/toolchain/errorparser/greenhills_compiler_error_parser.rb +1 -1
  29. data/lib/bake/toolchain/errorparser/greenhills_linker_error_parser.rb +1 -1
  30. data/lib/bake/toolchain/errorparser/keil_compiler_error_parser.rb +1 -1
  31. data/lib/bake/toolchain/errorparser/keil_linker_error_parser.rb +1 -1
  32. data/lib/bake/toolchain/errorparser/msvc_compiler_error_parser.rb +1 -1
  33. data/lib/bake/toolchain/errorparser/msvc_linker_error_parser.rb +1 -1
  34. data/lib/bake/toolchain/errorparser/tasking_compiler_error_parser.rb +1 -1
  35. data/lib/bake/toolchain/errorparser/tasking_linker_error_parser.rb +1 -1
  36. data/lib/bake/toolchain/errorparser/ti_compiler_error_parser.rb +1 -1
  37. data/lib/bake/toolchain/errorparser/ti_linker_error_parser.rb +1 -1
  38. data/lib/bake/toolchain/gcc.rb +9 -5
  39. data/lib/bake/toolchain/gcc_env.rb +5 -5
  40. data/lib/bake/toolchain/greenhills.rb +4 -4
  41. data/lib/bake/toolchain/keil.rb +5 -5
  42. data/lib/bake/toolchain/msvc.rb +5 -5
  43. data/lib/bake/toolchain/provider.rb +10 -10
  44. data/lib/bake/toolchain/tasking.rb +4 -4
  45. data/lib/bake/toolchain/ti.rb +5 -5
  46. data/lib/bake/util.rb +5 -6
  47. data/lib/bakeclean/options/options.rb +2 -2
  48. data/lib/bakeqac/options/options.rb +4 -4
  49. data/lib/bakery/model/language.rb +1 -1
  50. data/lib/bakery/model/loader.rb +5 -5
  51. data/lib/bakery/options/options.rb +4 -4
  52. data/lib/bakery/toBake.rb +1 -1
  53. data/lib/blocks/block.rb +4 -4
  54. data/lib/blocks/blockBase.rb +0 -11
  55. data/lib/blocks/commandLine.rb +2 -2
  56. data/lib/blocks/compile.rb +69 -29
  57. data/lib/blocks/convert.rb +1 -1
  58. data/lib/blocks/docu.rb +1 -1
  59. data/lib/blocks/executable.rb +1 -1
  60. data/lib/blocks/fileutil.rb +62 -0
  61. data/lib/blocks/library.rb +1 -1
  62. data/lib/blocks/makefile.rb +1 -1
  63. data/lib/blocks/showIncludes.rb +4 -4
  64. data/lib/blocks/sleep.rb +41 -0
  65. data/lib/common/cleanup.rb +1 -1
  66. data/lib/common/crc32.rb +1 -1
  67. data/lib/common/ext/file.rb +1 -1
  68. data/lib/common/ext/stdout.rb +1 -1
  69. data/lib/common/ide_interface.rb +2 -2
  70. data/lib/common/options/parser.rb +2 -2
  71. data/lib/common/version.rb +1 -1
  72. data/lib/multithread/job.rb +1 -1
  73. data/lib/tocxx.rb +124 -102
  74. metadata +5 -6
  75. data/bin/createVSProjects +0 -214
  76. data/lib/vs/options.rb +0 -69
@@ -59,7 +59,7 @@ module Bake
59
59
  @@configName = config.name
60
60
  @@projDir = config.parent.get_project_dir
61
61
  @@projName = projName
62
- @@resolvedVars = 0
62
+ @@unresolvedVars = []
63
63
  @@configFilename = config.file_name
64
64
 
65
65
  @@artifactName = ""
@@ -125,19 +125,18 @@ module Bake
125
125
 
126
126
  @@userVarMapMain = @@userVarMap.clone if isMainProj
127
127
 
128
- @@resolvedVars = 0
129
- lastFoundInVar = 0
128
+ unresolvedVarsWithoutOutputDir = []
130
129
  10.times do
130
+ @@unresolvedVars = []
131
131
  subst(config)
132
132
  substToolchain(toolchain)
133
- if @@resolvedVars == lastFoundInVar
134
- lastFoundInVar = 0
135
- break
136
- end
137
- lastFoundInVar = @@resolvedVars
133
+ unresolvedVarsWithoutOutputDir = (@@unresolvedVars - @@outputDirUnresolved)
134
+ break if unresolvedVarsWithoutOutputDir.empty?
138
135
  end
139
- if (lastFoundInVar > 0)
140
- Bake.formatter.printError("Cyclic variable substitution detected", config.file_name)
136
+ if (unresolvedVarsWithoutOutputDir.length > 0)
137
+ unresolvedVarsWithoutOutputDir.each do |elem|
138
+ Bake.formatter.printError("Could not resolve variable", elem)
139
+ end
141
140
  ExitHelper.exit(1)
142
141
  end
143
142
 
@@ -151,7 +150,10 @@ module Bake
151
150
  posStart = str.index("$(", posSubst)
152
151
  break if posStart.nil?
153
152
  posEnd = str.index(")", posStart)
154
- break if posEnd.nil?
153
+ if posEnd.nil?
154
+ Bake.formatter.printError("'$(' found but no ')'", elem)
155
+ ExitHelper.exit(1)
156
+ end
155
157
  posStartSub = str.index("$(", posStart+1)
156
158
  if (not posStartSub.nil? and posStartSub < posEnd) # = nested vars
157
159
  newStr = str[0,posStartSub] + substString(str[posStartSub..posEnd],elem)
@@ -165,7 +167,6 @@ module Bake
165
167
 
166
168
  substStr << str[posSubst..posStart-1] if posStart>0
167
169
 
168
- @@resolvedVars += 1
169
170
  var = str[posStart+2..posEnd-1]
170
171
 
171
172
  splittedVar = var.split(",").map { |v| v.strip() }
@@ -248,7 +249,6 @@ module Bake
248
249
 
249
250
  if (out_dir.include?"$(")
250
251
  substStr << str[posStart..posEnd]
251
- @@resolvedVars -= 1
252
252
  @@outputDirUnresolved << elem
253
253
  else
254
254
  out_dir = substString(out_dir, elem)
@@ -322,6 +322,7 @@ module Bake
322
322
  posSubst = posEnd + 1
323
323
  end
324
324
  substStr << str[posSubst..-1]
325
+ @@unresolvedVars << elem if substStr.include?("$(")
325
326
  substStr
326
327
  end
327
328
 
@@ -1,8 +1,8 @@
1
- require 'common/utils'
2
- require 'bake/toolchain/provider'
3
- require 'bake/toolchain/errorparser/error_parser'
4
- require 'bake/toolchain/errorparser/gcc_compiler_error_parser'
5
- require 'bake/toolchain/errorparser/gcc_linker_error_parser'
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
6
 
7
7
  module Bake
8
8
  module Toolchain
@@ -1,5 +1,5 @@
1
- require 'common/utils'
2
- require 'bake/toolchain/provider'
1
+ require_relative '../../common/utils'
2
+ require_relative '../toolchain/provider'
3
3
 
4
4
  module Bake
5
5
  module Toolchain
@@ -1,7 +1,7 @@
1
- require 'bake/toolchain/provider'
2
- require 'common/utils'
3
- require 'bake/toolchain/errorparser/diab_compiler_error_parser'
4
- require 'bake/toolchain/errorparser/diab_linker_error_parser'
1
+ require_relative '../toolchain/provider'
2
+ require_relative '../../common/utils'
3
+ require_relative '../toolchain/errorparser/diab_compiler_error_parser'
4
+ require_relative '../toolchain/errorparser/diab_linker_error_parser'
5
5
 
6
6
  module Bake
7
7
  module Toolchain
@@ -1,4 +1,4 @@
1
- require 'bake/toolchain/errorparser/error_parser'
1
+ require_relative 'error_parser'
2
2
 
3
3
  module Bake
4
4
  class DiabCompilerErrorParser < ErrorParser
@@ -1,4 +1,4 @@
1
- require 'bake/toolchain/errorparser/error_parser'
1
+ require_relative 'error_parser'
2
2
 
3
3
  module Bake
4
4
  class DiabLinkerErrorParser < ErrorParser
@@ -1,4 +1,4 @@
1
- require 'bake/toolchain/errorparser/error_parser'
1
+ require_relative 'error_parser'
2
2
 
3
3
  module Bake
4
4
  class GCCCompilerErrorParser < ErrorParser
@@ -1,4 +1,4 @@
1
- require 'bake/toolchain/errorparser/error_parser'
1
+ require_relative 'error_parser'
2
2
 
3
3
  module Bake
4
4
  class GCCLinkerErrorParser < ErrorParser
@@ -1,4 +1,4 @@
1
- require 'bake/toolchain/errorparser/error_parser'
1
+ require_relative 'error_parser'
2
2
 
3
3
  module Bake
4
4
  class GreenHillsCompilerErrorParser < ErrorParser
@@ -1,4 +1,4 @@
1
- require 'bake/toolchain/errorparser/error_parser'
1
+ require_relative 'error_parser'
2
2
 
3
3
  module Bake
4
4
  class GreenHillsLinkerErrorParser < ErrorParser
@@ -1,4 +1,4 @@
1
- require 'bake/toolchain/errorparser/error_parser'
1
+ require_relative 'error_parser'
2
2
 
3
3
  module Bake
4
4
  class KeilCompilerErrorParser < ErrorParser
@@ -1,4 +1,4 @@
1
- require 'bake/toolchain/errorparser/error_parser'
1
+ require_relative 'error_parser'
2
2
 
3
3
  module Bake
4
4
  class KeilLinkerErrorParser < ErrorParser
@@ -1,4 +1,4 @@
1
- require 'bake/toolchain/errorparser/error_parser'
1
+ require_relative 'error_parser'
2
2
 
3
3
  module Bake
4
4
  class MSVCCompilerErrorParser < ErrorParser
@@ -1,4 +1,4 @@
1
- require 'bake/toolchain/errorparser/error_parser'
1
+ require_relative 'error_parser'
2
2
 
3
3
  module Bake
4
4
  class MSVCLinkerErrorParser < ErrorParser
@@ -1,4 +1,4 @@
1
- require 'bake/toolchain/errorparser/error_parser'
1
+ require_relative 'error_parser'
2
2
 
3
3
  module Bake
4
4
  class TaskingCompilerErrorParser < ErrorParser
@@ -1,4 +1,4 @@
1
- require 'bake/toolchain/errorparser/error_parser'
1
+ require_relative 'error_parser'
2
2
 
3
3
  module Bake
4
4
  class TaskingLinkerErrorParser < ErrorParser
@@ -1,4 +1,4 @@
1
- require 'bake/toolchain/errorparser/error_parser'
1
+ require_relative 'error_parser'
2
2
 
3
3
  module Bake
4
4
  class TICompilerErrorParser < ErrorParser
@@ -1,4 +1,4 @@
1
- require 'bake/toolchain/errorparser/error_parser'
1
+ require_relative 'error_parser'
2
2
 
3
3
  module Bake
4
4
  class TILinkerErrorParser < ErrorParser
@@ -1,8 +1,8 @@
1
- require 'common/utils'
2
- require 'bake/toolchain/provider'
3
- require 'bake/toolchain/errorparser/error_parser'
4
- require 'bake/toolchain/errorparser/gcc_compiler_error_parser'
5
- require 'bake/toolchain/errorparser/gcc_linker_error_parser'
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
6
 
7
7
  module Bake
8
8
  module Toolchain
@@ -49,10 +49,14 @@ module Bake
49
49
 
50
50
  GCCChain[:LINKER][:COMMAND] = "g++"
51
51
  GCCChain[:LINKER][:SCRIPT] = "-T"
52
+ GCCChain[:LINKER][:SCRIPT_SPACE] = (Bake::Utils::OS.name == "Mac" ? false : true)
53
+
52
54
  GCCChain[:LINKER][:USER_LIB_FLAG] = "-l:"
53
55
  GCCChain[:LINKER][:EXE_FLAG] = "-o"
54
56
  GCCChain[:LINKER][:LIB_FLAG] = "-l"
55
57
  GCCChain[:LINKER][:LIB_PATH_FLAG] = "-L"
58
+ GCCChain[:LINKER][:MAP_FILE_FLAG] = (Bake::Utils::OS.name == "Mac" ? "-Wl,-map," : "-Wl,-Map=")
59
+ GCCChain[:LINKER][:MAP_FILE_PIPE] = false
56
60
 
57
61
  gccCompilerErrorParser = GCCCompilerErrorParser.new
58
62
  GCCChain[:COMPILER][:C][:ERROR_PARSER] = gccCompilerErrorParser
@@ -1,8 +1,8 @@
1
- require 'common/utils'
2
- require 'bake/toolchain/provider'
3
- require 'bake/toolchain/errorparser/error_parser'
4
- require 'bake/toolchain/errorparser/gcc_compiler_error_parser'
5
- require 'bake/toolchain/errorparser/gcc_linker_error_parser'
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
6
 
7
7
  module Bake
8
8
  module Toolchain
@@ -1,7 +1,7 @@
1
- require 'bake/toolchain/provider'
2
- require 'common/utils'
3
- require 'bake/toolchain/errorparser/greenhills_compiler_error_parser'
4
- require 'bake/toolchain/errorparser/greenhills_linker_error_parser'
1
+ require_relative '../toolchain/provider'
2
+ require_relative '../../common/utils'
3
+ require_relative '../toolchain/errorparser/greenhills_compiler_error_parser'
4
+ require_relative '../toolchain/errorparser/greenhills_linker_error_parser'
5
5
 
6
6
  module Bake
7
7
  module Toolchain
@@ -1,8 +1,8 @@
1
- require 'common/utils'
2
- require 'bake/toolchain/provider'
3
- require 'bake/toolchain/errorparser/error_parser'
4
- require 'bake/toolchain/errorparser/keil_compiler_error_parser'
5
- require 'bake/toolchain/errorparser/keil_linker_error_parser'
1
+ require_relative '../../common/utils'
2
+ require_relative '../toolchain/provider'
3
+ require_relative '../toolchain/errorparser/error_parser'
4
+ require_relative '../toolchain/errorparser/keil_compiler_error_parser'
5
+ require_relative '../toolchain/errorparser/keil_linker_error_parser'
6
6
 
7
7
  module Bake
8
8
  module Toolchain
@@ -1,8 +1,8 @@
1
- require 'common/utils'
2
- require 'bake/toolchain/provider'
3
- require 'bake/toolchain/errorparser/error_parser'
4
- require 'bake/toolchain/errorparser/msvc_compiler_error_parser'
5
- require 'bake/toolchain/errorparser/msvc_linker_error_parser'
1
+ require_relative '../../common/utils'
2
+ require_relative '../toolchain/provider'
3
+ require_relative '../toolchain/errorparser/error_parser'
4
+ require_relative '../toolchain/errorparser/msvc_compiler_error_parser'
5
+ require_relative '../toolchain/errorparser/msvc_linker_error_parser'
6
6
 
7
7
  module Bake
8
8
  module Toolchain
@@ -151,13 +151,13 @@ module Bake
151
151
  end
152
152
  end
153
153
 
154
- require 'bake/toolchain/diab'
155
- require 'bake/toolchain/gcc'
156
- require 'bake/toolchain/clang'
157
- require 'bake/toolchain/clang_analyze'
158
- require 'bake/toolchain/ti'
159
- require 'bake/toolchain/greenhills'
160
- require 'bake/toolchain/keil'
161
- require 'bake/toolchain/msvc'
162
- require 'bake/toolchain/gcc_env'
163
- require 'bake/toolchain/tasking'
154
+ require_relative '../toolchain/diab'
155
+ require_relative '../toolchain/gcc'
156
+ require_relative '../toolchain/clang'
157
+ require_relative '../toolchain/clang_analyze'
158
+ require_relative '../toolchain/ti'
159
+ require_relative '../toolchain/greenhills'
160
+ require_relative '../toolchain/keil'
161
+ require_relative '../toolchain/msvc'
162
+ require_relative '../toolchain/gcc_env'
163
+ require_relative '../toolchain/tasking'
@@ -1,7 +1,7 @@
1
- require 'bake/toolchain/provider'
2
- require 'common/utils'
3
- require 'bake/toolchain/errorparser/tasking_compiler_error_parser'
4
- require 'bake/toolchain/errorparser/tasking_linker_error_parser'
1
+ require_relative '../toolchain/provider'
2
+ require_relative '../../common/utils'
3
+ require_relative '../toolchain/errorparser/tasking_compiler_error_parser'
4
+ require_relative '../toolchain/errorparser/tasking_linker_error_parser'
5
5
 
6
6
  module Bake
7
7
  module Toolchain
@@ -1,8 +1,8 @@
1
- require 'common/utils'
2
- require 'bake/toolchain/provider'
3
- require 'bake/toolchain/errorparser/error_parser'
4
- require 'bake/toolchain/errorparser/ti_compiler_error_parser'
5
- require 'bake/toolchain/errorparser/ti_linker_error_parser'
1
+ require_relative '../../common/utils'
2
+ require_relative '../toolchain/provider'
3
+ require_relative '../toolchain/errorparser/error_parser'
4
+ require_relative '../toolchain/errorparser/ti_compiler_error_parser'
5
+ require_relative '../toolchain/errorparser/ti_linker_error_parser'
6
6
 
7
7
  module Bake
8
8
  module Toolchain
@@ -1,10 +1,9 @@
1
- require 'bake/model/metamodel_ext'
2
- require 'bake/model/metamodel'
1
+ require_relative 'model/metamodel_ext'
2
+ require_relative 'model/metamodel'
3
3
  require 'set'
4
- require 'bake/toolchain/colorizing_formatter'
5
- require 'common/exit_helper'
6
- require 'common/utils'
7
-
4
+ require_relative 'toolchain/colorizing_formatter'
5
+ require_relative '../common/exit_helper'
6
+ require_relative '../common/utils'
8
7
 
9
8
  def remove_empty_strings_and_join(a, j=' ')
10
9
  return a.reject{|e|e.to_s.empty?}.join(j)
@@ -1,5 +1,5 @@
1
- require 'common/options/parser'
2
- require 'common/version'
1
+ require_relative '../../common/options/parser'
2
+ require_relative '../../common/version'
3
3
 
4
4
  module Bake
5
5
 
@@ -1,7 +1,7 @@
1
- require 'bake/toolchain/colorizing_formatter'
2
- require 'common/options/parser'
3
- require 'bake/toolchain/gcc'
4
- require 'common/options/finder'
1
+ require_relative '../../bake/toolchain/colorizing_formatter'
2
+ require_relative '../../common/options/parser'
3
+ require_relative '../../bake/toolchain/gcc'
4
+ require_relative '../../common/options/finder'
5
5
 
6
6
  module Bake
7
7
 
@@ -1,4 +1,4 @@
1
- require 'bake/model/metamodel'
1
+ require_relative '../../bake/model/metamodel'
2
2
  require 'rtext/language'
3
3
 
4
4
  module Bake
@@ -1,14 +1,14 @@
1
- require 'bakery/model/metamodel'
2
- require 'bakery/model/language'
3
- require 'common/version'
1
+ require_relative 'metamodel'
2
+ require_relative 'language'
3
+ require_relative '../../common/version'
4
4
 
5
5
  require 'rgen/environment'
6
6
  require 'rgen/fragment/fragmented_model'
7
7
 
8
8
  require 'rtext/default_loader'
9
9
 
10
- require 'common/exit_helper'
11
- require 'bake/toolchain/colorizing_formatter'
10
+ require_relative '../../common/exit_helper'
11
+ require_relative '../../bake/toolchain/colorizing_formatter'
12
12
 
13
13
  module Bake
14
14
 
@@ -1,7 +1,7 @@
1
- require 'bake/toolchain/colorizing_formatter'
2
- require 'common/options/parser'
3
- require 'common/options/finder'
4
- require 'common/root'
1
+ require_relative '../../bake/toolchain/colorizing_formatter'
2
+ require_relative '../../common/options/parser'
3
+ require_relative '../../common/options/finder'
4
+ require_relative '../../common/root'
5
5
 
6
6
  module Bake
7
7
 
@@ -1,4 +1,4 @@
1
- require "bakery/buildPattern"
1
+ require_relative "buildPattern"
2
2
 
3
3
  module Bake
4
4
 
@@ -1,7 +1,7 @@
1
- require 'bake/libElement'
2
- require 'bake/model/metamodel'
3
- require 'common/abortException'
4
- require "multithread/job"
1
+ require_relative '../bake/libElement'
2
+ require_relative '../bake/model/metamodel'
3
+ require_relative '../common/abortException'
4
+ require_relative "../multithread/job"
5
5
  require "thwait"
6
6
 
7
7
  module Bake
@@ -132,17 +132,6 @@ module Bake
132
132
  console_output = x[0]
133
133
  console_output = console_output_full if Bake.options.consoleOutput_fullnames
134
134
 
135
- if Bake.options.consoleOutput_visualStudio
136
- console_output_VS = ""
137
- descCounter = 0
138
- console_output.each_line do |l|
139
- d = error_descs[descCounter]
140
- console_output_VS << error_parser.makeVsError(l.rstrip, d) << "\n"
141
- descCounter = descCounter + 1
142
- end
143
- console_output = console_output_VS
144
- end
145
-
146
135
  ret = error_descs.any? { |e| e.severity == ErrorParser::SEVERITY_ERROR }
147
136
 
148
137
  console_output.gsub!(/[\r]/, "")