bake-toolkit 2.46.0 → 2.47.0

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