bake-toolkit 2.24.6 → 2.25.0

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