bake-toolkit 2.24.6 → 2.25.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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/bin/bake-doc +11 -11
  3. data/bin/bake-format +2 -2
  4. data/bin/bakeclean +32 -32
  5. data/bin/bakeqac +77 -6
  6. data/documentation/_build/html/_images/eclipse.png +0 -0
  7. data/documentation/_build/html/_images/emacs.png +0 -0
  8. data/documentation/_build/html/_images/notepad.png +0 -0
  9. data/documentation/_build/html/_images/vim.png +0 -0
  10. data/documentation/_build/html/_images/visualstudio-pro.png +0 -0
  11. data/documentation/_build/html/_sources/changelog.txt +10 -0
  12. data/documentation/_build/html/_sources/ide/ide_integrations.txt +40 -8
  13. data/documentation/_build/html/_sources/index.txt +1 -1
  14. data/documentation/_build/html/_sources/tips_and_tricks/qac.txt +159 -152
  15. data/documentation/_build/html/_static/eclipse.png +0 -0
  16. data/documentation/_build/html/_static/emacs.png +0 -0
  17. data/documentation/_build/html/_static/notepad.png +0 -0
  18. data/documentation/_build/html/_static/syntax.html +8 -1
  19. data/documentation/_build/html/_static/vim.png +0 -0
  20. data/documentation/_build/html/_static/visualstudio-pro.png +0 -0
  21. data/documentation/_build/html/changelog.html +12 -0
  22. data/documentation/_build/html/ide/ide_integrations.html +22 -20
  23. data/documentation/_build/html/index.html +5 -4
  24. data/documentation/_build/html/searchindex.js +1 -1
  25. data/documentation/_build/html/syntax/project_meta_syntax.html +8 -1
  26. data/documentation/_build/html/tips_and_tricks/qac.html +10 -3
  27. data/lib/bake/cache.rb +16 -28
  28. data/lib/bake/config/loader.rb +14 -24
  29. data/lib/bake/model/metamodel.rb +311 -307
  30. data/lib/bake/model/metamodel_ext.rb +33 -27
  31. data/lib/bake/subst.rb +4 -4
  32. data/lib/bake/toolchain/clang.rb +43 -44
  33. data/lib/bake/toolchain/clang_analyze.rb +30 -31
  34. data/lib/bake/toolchain/diab.rb +52 -53
  35. data/lib/bake/toolchain/gcc.rb +1 -1
  36. data/lib/bake/toolchain/gcc_env.rb +54 -55
  37. data/lib/bake/toolchain/greenhills.rb +51 -52
  38. data/lib/bake/toolchain/keil.rb +54 -55
  39. data/lib/bake/toolchain/lint.rb +19 -20
  40. data/lib/bake/toolchain/msvc.rb +57 -58
  41. data/lib/bake/toolchain/provider.rb +6 -3
  42. data/lib/bake/toolchain/ti.rb +50 -49
  43. data/lib/bakeqac/options/options.rb +2 -2
  44. data/lib/blocks/block.rb +4 -0
  45. data/lib/blocks/compile.rb +36 -19
  46. data/lib/common/version.rb +1 -1
  47. data/lib/format/bake_format.rb +1 -1
  48. data/lib/tocxx.rb +576 -558
  49. metadata +26 -2
@@ -1,27 +1,33 @@
1
- require 'bake/model/metamodel'
2
- require 'common/ext/file'
3
-
4
- module Bake
5
- module Metamodel
6
-
7
- module ModelElement::ClassModule
8
- def get_project_dir
9
- comp = self
10
- while comp.respond_to?"parent"
11
- comp = comp.parent
12
- end
13
- ::File.dirname(comp.file_name)
14
- end
15
- end
16
-
17
- module BaseConfig_INTERNAL::ClassModule
18
- def qname
19
- @qname ||= parent.name + "," + name
20
- end
21
- def dependency
22
- libStuff.find_all { |l| Dependency === l }
23
- end
24
- end
25
-
26
- end
27
- end
1
+ require 'bake/model/metamodel'
2
+ require 'common/ext/file'
3
+
4
+ module Bake
5
+ module Metamodel
6
+
7
+ module ModelElement::ClassModule
8
+ def get_project_dir
9
+ comp = self
10
+ while comp.respond_to?"parent"
11
+ comp = comp.parent
12
+ end
13
+ ::File.dirname(comp.file_name)
14
+ end
15
+ end
16
+
17
+ module BaseConfig_INTERNAL::ClassModule
18
+ def qname
19
+ @qname ||= parent.name + "," + name
20
+ end
21
+ def dependency
22
+ baseElement.find_all { |l| Dependency === l }
23
+ end
24
+ def libStuff
25
+ baseElement.find_all { |l| LibStuff === l }
26
+ end
27
+ def includeDir
28
+ baseElement.find_all { |l| IncludeDir === l }
29
+ end
30
+ end
31
+
32
+ end
33
+ end
data/lib/bake/subst.rb CHANGED
@@ -39,11 +39,11 @@ module Bake
39
39
  @@lazy = false
40
40
  end
41
41
 
42
- def self.itute(config, projName, isMainProj, toolchain, loadedConfig, configTcMap)
42
+ def self.itute(config, projName, isMainProj, toolchain, referencedConfigs, configTcMap)
43
43
  @@lazy = true
44
44
  @@config = config
45
45
  @@toolchain = toolchain
46
- @@loadedConfig = loadedConfig
46
+ @@referencedConfigs = referencedConfigs
47
47
  @@configTcMap = configTcMap
48
48
  @@toolchainName = config.defaultToolchain.basedOn if isMainProj
49
49
 
@@ -182,8 +182,8 @@ module Bake
182
182
  out_proj_name = splittedVar[1].strip
183
183
  out_conf_name = splittedVar[2].strip
184
184
  end
185
- if @@loadedConfig.referencedConfigs.has_key?out_proj_name
186
- configs = @@loadedConfig.referencedConfigs[out_proj_name]
185
+ if @@referencedConfigs.has_key?out_proj_name
186
+ configs = @@referencedConfigs[out_proj_name]
187
187
  config = configs.select {|c| c.name == out_conf_name }.first
188
188
  if config
189
189
  out_dir = nil
@@ -1,44 +1,43 @@
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'
6
-
7
- module Bake
8
- module Toolchain
9
- gccCompilerErrorParser = GCCCompilerErrorParser.new
10
-
11
- CLANG_CHAIN = Provider.add("CLANG")
12
-
13
- CLANG_CHAIN[:COMPILER][:CPP].update({
14
- :COMMAND => "clang++",
15
- :DEFINE_FLAG => "-D",
16
- :OBJECT_FILE_FLAG => "-o",
17
- :OBJ_FLAG_SPACE => true,
18
- :INCLUDE_PATH_FLAG => "-I",
19
- :COMPILE_FLAGS => "-c ",
20
- :DEP_FLAGS => "-MD -MF ", # empty space at the end is important!
21
- :ERROR_PARSER => gccCompilerErrorParser
22
- })
23
-
24
- CLANG_CHAIN[:COMPILER][:C] = Utils.deep_copy(CLANG_CHAIN[:COMPILER][:CPP])
25
- CLANG_CHAIN[:COMPILER][:C][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:C][:SOURCE_FILE_ENDINGS]
26
- CLANG_CHAIN[:COMPILER][:C][:COMMAND] = "clang"
27
-
28
- CLANG_CHAIN[:COMPILER][:ASM] = Utils.deep_copy(CLANG_CHAIN[:COMPILER][:C])
29
- CLANG_CHAIN[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS]
30
-
31
- CLANG_CHAIN[:ARCHIVER][:COMMAND] = "ar"
32
- CLANG_CHAIN[:ARCHIVER][:ARCHIVE_FLAGS] = "r"
33
- CLANG_CHAIN[:ARCHIVER][:ERROR_PARSER] = gccCompilerErrorParser
34
-
35
- CLANG_CHAIN[:LINKER][:COMMAND] = "clang++"
36
- CLANG_CHAIN[:LINKER][:SCRIPT] = "-T"
37
- CLANG_CHAIN[:LINKER][:USER_LIB_FLAG] = "-l:"
38
- CLANG_CHAIN[:LINKER][:EXE_FLAG] = "-o"
39
- CLANG_CHAIN[:LINKER][:LIB_FLAG] = "-l"
40
- CLANG_CHAIN[:LINKER][:LIB_PATH_FLAG] = "-L"
41
-
42
- CLANG_CHAIN[:LINKER][:ERROR_PARSER] = GCCLinkerErrorParser.new
43
- end
44
- end
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'
6
+
7
+ module Bake
8
+ module Toolchain
9
+ gccCompilerErrorParser = GCCCompilerErrorParser.new
10
+
11
+ CLANG_CHAIN = Provider.add("CLANG")
12
+
13
+ CLANG_CHAIN[:COMPILER][:CPP].update({
14
+ :COMMAND => "clang++",
15
+ :DEFINE_FLAG => "-D",
16
+ :OBJECT_FILE_FLAG => "-o",
17
+ :OBJ_FLAG_SPACE => true,
18
+ :COMPILE_FLAGS => "-c ",
19
+ :DEP_FLAGS => "-MD -MF ", # empty space at the end is important!
20
+ :ERROR_PARSER => gccCompilerErrorParser
21
+ })
22
+
23
+ CLANG_CHAIN[:COMPILER][:C] = Utils.deep_copy(CLANG_CHAIN[:COMPILER][:CPP])
24
+ CLANG_CHAIN[:COMPILER][:C][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:C][:SOURCE_FILE_ENDINGS]
25
+ CLANG_CHAIN[:COMPILER][:C][:COMMAND] = "clang"
26
+
27
+ CLANG_CHAIN[:COMPILER][:ASM] = Utils.deep_copy(CLANG_CHAIN[:COMPILER][:C])
28
+ CLANG_CHAIN[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS]
29
+
30
+ CLANG_CHAIN[:ARCHIVER][:COMMAND] = "ar"
31
+ CLANG_CHAIN[:ARCHIVER][:ARCHIVE_FLAGS] = "r"
32
+ CLANG_CHAIN[:ARCHIVER][:ERROR_PARSER] = gccCompilerErrorParser
33
+
34
+ CLANG_CHAIN[:LINKER][:COMMAND] = "clang++"
35
+ CLANG_CHAIN[:LINKER][:SCRIPT] = "-T"
36
+ CLANG_CHAIN[:LINKER][:USER_LIB_FLAG] = "-l:"
37
+ CLANG_CHAIN[:LINKER][:EXE_FLAG] = "-o"
38
+ CLANG_CHAIN[:LINKER][:LIB_FLAG] = "-l"
39
+ CLANG_CHAIN[:LINKER][:LIB_PATH_FLAG] = "-L"
40
+
41
+ CLANG_CHAIN[:LINKER][:ERROR_PARSER] = GCCLinkerErrorParser.new
42
+ end
43
+ end
@@ -1,31 +1,30 @@
1
- require 'common/utils'
2
- require 'bake/toolchain/provider'
3
-
4
- module Bake
5
- module Toolchain
6
- CLANG_ANALYZE_CHAIN = Provider.add("CLANG_ANALYZE")
7
-
8
- CLANG_ANALYZE_CHAIN[:COMPILER][:CPP].update({
9
- :COMMAND => "clang++",
10
- :DEFINE_FLAG => "-D",
11
- :OBJECT_FILE_FLAG => "-o",
12
- :OBJ_FLAG_SPACE => true,
13
- :OBJECT_FILE_ENDING => ".plist",
14
- :INCLUDE_PATH_FLAG => "-I",
15
- :COMPILE_FLAGS => "-cc1 -analyze -analyzer-output=plist ",
16
- :DEP_FLAGS => "",
17
- :DEP_FLAGS_FILENAME => false,
18
- :ERROR_PARSER => nil
19
- })
20
-
21
- CLANG_ANALYZE_CHAIN[:COMPILER][:C] = Utils.deep_copy(CLANG_ANALYZE_CHAIN[:COMPILER][:CPP])
22
- CLANG_ANALYZE_CHAIN[:COMPILER][:C][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:C][:SOURCE_FILE_ENDINGS]
23
- CLANG_ANALYZE_CHAIN[:COMPILER][:C][:COMMAND] = "clang"
24
-
25
- CLANG_ANALYZE_CHAIN[:COMPILER][:ASM] = Utils.deep_copy(CLANG_ANALYZE_CHAIN[:COMPILER][:C])
26
- CLANG_ANALYZE_CHAIN[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS]
27
-
28
- CLANG_ANALYZE_CHAIN[:ARCHIVER][:COMMAND] = ""
29
- CLANG_ANALYZE_CHAIN[:LINKER][:COMMAND] = ""
30
- end
31
- end
1
+ require 'common/utils'
2
+ require 'bake/toolchain/provider'
3
+
4
+ module Bake
5
+ module Toolchain
6
+ CLANG_ANALYZE_CHAIN = Provider.add("CLANG_ANALYZE")
7
+
8
+ CLANG_ANALYZE_CHAIN[:COMPILER][:CPP].update({
9
+ :COMMAND => "clang++",
10
+ :DEFINE_FLAG => "-D",
11
+ :OBJECT_FILE_FLAG => "-o",
12
+ :OBJ_FLAG_SPACE => true,
13
+ :OBJECT_FILE_ENDING => ".plist",
14
+ :COMPILE_FLAGS => "-cc1 -analyze -analyzer-output=plist ",
15
+ :DEP_FLAGS => "",
16
+ :DEP_FLAGS_FILENAME => false,
17
+ :ERROR_PARSER => nil
18
+ })
19
+
20
+ CLANG_ANALYZE_CHAIN[:COMPILER][:C] = Utils.deep_copy(CLANG_ANALYZE_CHAIN[:COMPILER][:CPP])
21
+ CLANG_ANALYZE_CHAIN[:COMPILER][:C][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:C][:SOURCE_FILE_ENDINGS]
22
+ CLANG_ANALYZE_CHAIN[:COMPILER][:C][:COMMAND] = "clang"
23
+
24
+ CLANG_ANALYZE_CHAIN[:COMPILER][:ASM] = Utils.deep_copy(CLANG_ANALYZE_CHAIN[:COMPILER][:C])
25
+ CLANG_ANALYZE_CHAIN[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS]
26
+
27
+ CLANG_ANALYZE_CHAIN[:ARCHIVER][:COMMAND] = ""
28
+ CLANG_ANALYZE_CHAIN[:LINKER][:COMMAND] = ""
29
+ end
30
+ end
@@ -1,53 +1,52 @@
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'
5
-
6
- module Bake
7
- module Toolchain
8
-
9
- DiabChain = Provider.add("Diab")
10
-
11
- DiabChain[:COMPILER][:C].update({
12
- :COMMAND => "dcc",
13
- :FLAGS => "",
14
- :DEFINE_FLAG => "-D",
15
- :OBJECT_FILE_FLAG => "-o",
16
- :OBJ_FLAG_SPACE => true,
17
- :INCLUDE_PATH_FLAG => "-I",
18
- :COMPILE_FLAGS => "-c",
19
- :DEP_FLAGS => "-Xmake-dependency=5 -Xmake-dependency-savefile=",
20
- :DEP_FLAGS_SPACE => false,
21
- :PREPRO_FLAGS => "-P"
22
- })
23
-
24
- DiabChain[:COMPILER][:CPP] = Utils.deep_copy(DiabChain[:COMPILER][:C])
25
- DiabChain[:COMPILER][:CPP][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:CPP][:SOURCE_FILE_ENDINGS]
26
-
27
- DiabChain[:COMPILER][:ASM] = Utils.deep_copy(DiabChain[:COMPILER][:C])
28
- DiabChain[:COMPILER][:ASM][:COMMAND] = "das"
29
- DiabChain[:COMPILER][:ASM][:COMPILE_FLAGS] = ""
30
- DiabChain[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS]
31
- DiabChain[:COMPILER][:ASM][:PREPRO_FLAGS] = ""
32
-
33
- DiabChain[:ARCHIVER][:COMMAND] = "dar"
34
- DiabChain[:ARCHIVER][:ARCHIVE_FLAGS] = "-rc"
35
-
36
- DiabChain[:LINKER][:COMMAND] = "dcc"
37
- DiabChain[:LINKER][:SCRIPT] = "-Wm"
38
- DiabChain[:LINKER][:USER_LIB_FLAG] = "-l:"
39
- DiabChain[:LINKER][:EXE_FLAG] = "-o"
40
- DiabChain[:LINKER][:LIB_FLAG] = "-l"
41
- DiabChain[:LINKER][:LIB_PATH_FLAG] = "-L"
42
- DiabChain[:LINKER][:MAP_FILE_FLAG] = "-Wl,-m6" # no map file if this string is empty, otherwise -Wl,-m6>abc.map
43
- DiabChain[:LINKER][:OUTPUT_ENDING] = ".elf"
44
-
45
- diabCompilerErrorParser = DiabCompilerErrorParser.new
46
- DiabChain[:COMPILER][:C][:ERROR_PARSER] = diabCompilerErrorParser
47
- DiabChain[:COMPILER][:CPP][:ERROR_PARSER] = diabCompilerErrorParser
48
- DiabChain[:COMPILER][:ASM][:ERROR_PARSER] = diabCompilerErrorParser
49
- DiabChain[:ARCHIVER][:ERROR_PARSER] = diabCompilerErrorParser
50
- DiabChain[:LINKER][:ERROR_PARSER] = DiabLinkerErrorParser.new
51
-
52
- end
53
- end
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'
5
+
6
+ module Bake
7
+ module Toolchain
8
+
9
+ DiabChain = Provider.add("Diab")
10
+
11
+ DiabChain[:COMPILER][:C].update({
12
+ :COMMAND => "dcc",
13
+ :FLAGS => "",
14
+ :DEFINE_FLAG => "-D",
15
+ :OBJECT_FILE_FLAG => "-o",
16
+ :OBJ_FLAG_SPACE => true,
17
+ :COMPILE_FLAGS => "-c",
18
+ :DEP_FLAGS => "-Xmake-dependency=5 -Xmake-dependency-savefile=",
19
+ :DEP_FLAGS_SPACE => false,
20
+ :PREPRO_FLAGS => "-P"
21
+ })
22
+
23
+ DiabChain[:COMPILER][:CPP] = Utils.deep_copy(DiabChain[:COMPILER][:C])
24
+ DiabChain[:COMPILER][:CPP][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:CPP][:SOURCE_FILE_ENDINGS]
25
+
26
+ DiabChain[:COMPILER][:ASM] = Utils.deep_copy(DiabChain[:COMPILER][:C])
27
+ DiabChain[:COMPILER][:ASM][:COMMAND] = "das"
28
+ DiabChain[:COMPILER][:ASM][:COMPILE_FLAGS] = ""
29
+ DiabChain[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS]
30
+ DiabChain[:COMPILER][:ASM][:PREPRO_FLAGS] = ""
31
+
32
+ DiabChain[:ARCHIVER][:COMMAND] = "dar"
33
+ DiabChain[:ARCHIVER][:ARCHIVE_FLAGS] = "-rc"
34
+
35
+ DiabChain[:LINKER][:COMMAND] = "dcc"
36
+ DiabChain[:LINKER][:SCRIPT] = "-Wm"
37
+ DiabChain[:LINKER][:USER_LIB_FLAG] = "-l:"
38
+ DiabChain[:LINKER][:EXE_FLAG] = "-o"
39
+ DiabChain[:LINKER][:LIB_FLAG] = "-l"
40
+ DiabChain[:LINKER][:LIB_PATH_FLAG] = "-L"
41
+ DiabChain[:LINKER][:MAP_FILE_FLAG] = "-Wl,-m6" # no map file if this string is empty, otherwise -Wl,-m6>abc.map
42
+ DiabChain[:LINKER][:OUTPUT_ENDING] = ".elf"
43
+
44
+ diabCompilerErrorParser = DiabCompilerErrorParser.new
45
+ DiabChain[:COMPILER][:C][:ERROR_PARSER] = diabCompilerErrorParser
46
+ DiabChain[:COMPILER][:CPP][:ERROR_PARSER] = diabCompilerErrorParser
47
+ DiabChain[:COMPILER][:ASM][:ERROR_PARSER] = diabCompilerErrorParser
48
+ DiabChain[:ARCHIVER][:ERROR_PARSER] = diabCompilerErrorParser
49
+ DiabChain[:LINKER][:ERROR_PARSER] = DiabLinkerErrorParser.new
50
+
51
+ end
52
+ end
@@ -30,7 +30,7 @@ module Bake
30
30
  :DEFINE_FLAG => "-D",
31
31
  :OBJECT_FILE_FLAG => "-o",
32
32
  :OBJ_FLAG_SPACE => true,
33
- :INCLUDE_PATH_FLAG => "-I",
33
+ :SYSTEM_INCLUDE_PATH_FLAG => "-isystem",
34
34
  :COMPILE_FLAGS => "-c ",
35
35
  :DEP_FLAGS => "-MD -MF",
36
36
  :DEP_FLAGS_SPACE => true,
@@ -1,55 +1,54 @@
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'
6
-
7
- module Bake
8
- module Toolchain
9
-
10
- GCCENVChain = Provider.add("GCC_ENV")
11
-
12
- GCCENVChain[:COMPILER][:CPP].update({
13
- :COMMAND => "$(CXX)",
14
- :DEFINE_FLAG => "-D",
15
- :OBJECT_FILE_FLAG => "-o",
16
- :OBJ_FLAG_SPACE => true,
17
- :INCLUDE_PATH_FLAG => "-I",
18
- :COMPILE_FLAGS => "-c ",
19
- :DEP_FLAGS => "-MD -MF",
20
- :DEP_FLAGS_SPACE => true,
21
- :PREPRO_FLAGS => "-E -P",
22
- :FLAGS => "$(CXXFLAGS)"
23
- })
24
-
25
- GCCENVChain[:COMPILER][:C] = Utils.deep_copy(GCCENVChain[:COMPILER][:CPP])
26
- GCCENVChain[:COMPILER][:C][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:C][:SOURCE_FILE_ENDINGS]
27
- GCCENVChain[:COMPILER][:C][:COMMAND] = "$(CC)"
28
- GCCENVChain[:COMPILER][:C][:FLAGS] = "$(CFLAGS)"
29
-
30
- GCCENVChain[:COMPILER][:ASM] = Utils.deep_copy(GCCENVChain[:COMPILER][:C])
31
- GCCENVChain[:COMPILER][:ASM][:COMMAND] = "$(AS)"
32
- GCCENVChain[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS]
33
- GCCENVChain[:COMPILER][:ASM][:FLAGS] = "$(ASFLAGS)"
34
-
35
- GCCENVChain[:ARCHIVER][:COMMAND] = "$(AR)"
36
- GCCENVChain[:ARCHIVER][:ARCHIVE_FLAGS] = "-rc"
37
- GCCENVChain[:ARCHIVER][:FLAGS] = "$(ARFLAGS)"
38
-
39
- GCCENVChain[:LINKER][:COMMAND] = "$(CXX)"
40
- GCCENVChain[:LINKER][:SCRIPT] = "-T"
41
- GCCENVChain[:LINKER][:USER_LIB_FLAG] = "-l:"
42
- GCCENVChain[:LINKER][:EXE_FLAG] = "-o"
43
- GCCENVChain[:LINKER][:LIB_FLAG] = "-l"
44
- GCCENVChain[:LINKER][:LIB_PATH_FLAG] = "-L"
45
- GCCENVChain[:LINKER][:FLAGS] = "$(LDFLAGS)"
46
-
47
- gccCompilerErrorParser = GCCCompilerErrorParser.new
48
- GCCENVChain[:COMPILER][:C][:ERROR_PARSER] = gccCompilerErrorParser
49
- GCCENVChain[:COMPILER][:CPP][:ERROR_PARSER] = gccCompilerErrorParser
50
- GCCENVChain[:COMPILER][:ASM][:ERROR_PARSER] = gccCompilerErrorParser
51
- GCCENVChain[:ARCHIVER][:ERROR_PARSER] = gccCompilerErrorParser
52
- GCCENVChain[:LINKER][:ERROR_PARSER] = GCCLinkerErrorParser.new
53
-
54
- end
55
- end
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'
6
+
7
+ module Bake
8
+ module Toolchain
9
+
10
+ GCCENVChain = Provider.add("GCC_ENV")
11
+
12
+ GCCENVChain[:COMPILER][:CPP].update({
13
+ :COMMAND => "$(CXX)",
14
+ :DEFINE_FLAG => "-D",
15
+ :OBJECT_FILE_FLAG => "-o",
16
+ :OBJ_FLAG_SPACE => true,
17
+ :COMPILE_FLAGS => "-c ",
18
+ :DEP_FLAGS => "-MD -MF",
19
+ :DEP_FLAGS_SPACE => true,
20
+ :PREPRO_FLAGS => "-E -P",
21
+ :FLAGS => "$(CXXFLAGS)"
22
+ })
23
+
24
+ GCCENVChain[:COMPILER][:C] = Utils.deep_copy(GCCENVChain[:COMPILER][:CPP])
25
+ GCCENVChain[:COMPILER][:C][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:C][:SOURCE_FILE_ENDINGS]
26
+ GCCENVChain[:COMPILER][:C][:COMMAND] = "$(CC)"
27
+ GCCENVChain[:COMPILER][:C][:FLAGS] = "$(CFLAGS)"
28
+
29
+ GCCENVChain[:COMPILER][:ASM] = Utils.deep_copy(GCCENVChain[:COMPILER][:C])
30
+ GCCENVChain[:COMPILER][:ASM][:COMMAND] = "$(AS)"
31
+ GCCENVChain[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS] = Provider.default[:COMPILER][:ASM][:SOURCE_FILE_ENDINGS]
32
+ GCCENVChain[:COMPILER][:ASM][:FLAGS] = "$(ASFLAGS)"
33
+
34
+ GCCENVChain[:ARCHIVER][:COMMAND] = "$(AR)"
35
+ GCCENVChain[:ARCHIVER][:ARCHIVE_FLAGS] = "-rc"
36
+ GCCENVChain[:ARCHIVER][:FLAGS] = "$(ARFLAGS)"
37
+
38
+ GCCENVChain[:LINKER][:COMMAND] = "$(CXX)"
39
+ GCCENVChain[:LINKER][:SCRIPT] = "-T"
40
+ GCCENVChain[:LINKER][:USER_LIB_FLAG] = "-l:"
41
+ GCCENVChain[:LINKER][:EXE_FLAG] = "-o"
42
+ GCCENVChain[:LINKER][:LIB_FLAG] = "-l"
43
+ GCCENVChain[:LINKER][:LIB_PATH_FLAG] = "-L"
44
+ GCCENVChain[:LINKER][:FLAGS] = "$(LDFLAGS)"
45
+
46
+ gccCompilerErrorParser = GCCCompilerErrorParser.new
47
+ GCCENVChain[:COMPILER][:C][:ERROR_PARSER] = gccCompilerErrorParser
48
+ GCCENVChain[:COMPILER][:CPP][:ERROR_PARSER] = gccCompilerErrorParser
49
+ GCCENVChain[:COMPILER][:ASM][:ERROR_PARSER] = gccCompilerErrorParser
50
+ GCCENVChain[:ARCHIVER][:ERROR_PARSER] = gccCompilerErrorParser
51
+ GCCENVChain[:LINKER][:ERROR_PARSER] = GCCLinkerErrorParser.new
52
+
53
+ end
54
+ end