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.
- checksums.yaml +4 -4
- data/bin/bake-doc +11 -11
- data/bin/bake-format +2 -2
- data/bin/bakeclean +32 -32
- data/bin/bakeqac +77 -6
- data/documentation/_build/html/_images/eclipse.png +0 -0
- data/documentation/_build/html/_images/emacs.png +0 -0
- data/documentation/_build/html/_images/notepad.png +0 -0
- data/documentation/_build/html/_images/vim.png +0 -0
- data/documentation/_build/html/_images/visualstudio-pro.png +0 -0
- data/documentation/_build/html/_sources/changelog.txt +10 -0
- data/documentation/_build/html/_sources/ide/ide_integrations.txt +40 -8
- data/documentation/_build/html/_sources/index.txt +1 -1
- data/documentation/_build/html/_sources/tips_and_tricks/qac.txt +159 -152
- data/documentation/_build/html/_static/eclipse.png +0 -0
- data/documentation/_build/html/_static/emacs.png +0 -0
- data/documentation/_build/html/_static/notepad.png +0 -0
- data/documentation/_build/html/_static/syntax.html +8 -1
- data/documentation/_build/html/_static/vim.png +0 -0
- data/documentation/_build/html/_static/visualstudio-pro.png +0 -0
- data/documentation/_build/html/changelog.html +12 -0
- data/documentation/_build/html/ide/ide_integrations.html +22 -20
- data/documentation/_build/html/index.html +5 -4
- data/documentation/_build/html/searchindex.js +1 -1
- data/documentation/_build/html/syntax/project_meta_syntax.html +8 -1
- data/documentation/_build/html/tips_and_tricks/qac.html +10 -3
- data/lib/bake/cache.rb +16 -28
- data/lib/bake/config/loader.rb +14 -24
- data/lib/bake/model/metamodel.rb +311 -307
- data/lib/bake/model/metamodel_ext.rb +33 -27
- data/lib/bake/subst.rb +4 -4
- data/lib/bake/toolchain/clang.rb +43 -44
- data/lib/bake/toolchain/clang_analyze.rb +30 -31
- data/lib/bake/toolchain/diab.rb +52 -53
- data/lib/bake/toolchain/gcc.rb +1 -1
- data/lib/bake/toolchain/gcc_env.rb +54 -55
- data/lib/bake/toolchain/greenhills.rb +51 -52
- data/lib/bake/toolchain/keil.rb +54 -55
- data/lib/bake/toolchain/lint.rb +19 -20
- data/lib/bake/toolchain/msvc.rb +57 -58
- data/lib/bake/toolchain/provider.rb +6 -3
- data/lib/bake/toolchain/ti.rb +50 -49
- data/lib/bakeqac/options/options.rb +2 -2
- data/lib/blocks/block.rb +4 -0
- data/lib/blocks/compile.rb +36 -19
- data/lib/common/version.rb +1 -1
- data/lib/format/bake_format.rb +1 -1
- data/lib/tocxx.rb +576 -558
- 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
|
-
|
23
|
-
end
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
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,
|
42
|
+
def self.itute(config, projName, isMainProj, toolchain, referencedConfigs, configTcMap)
|
43
43
|
@@lazy = true
|
44
44
|
@@config = config
|
45
45
|
@@toolchain = toolchain
|
46
|
-
@@
|
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 @@
|
186
|
-
configs = @@
|
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
|
data/lib/bake/toolchain/clang.rb
CHANGED
@@ -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
|
-
:
|
19
|
-
:
|
20
|
-
:
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
CLANG_CHAIN[:COMPILER][:C] =
|
25
|
-
CLANG_CHAIN[:COMPILER][:C][:
|
26
|
-
|
27
|
-
|
28
|
-
CLANG_CHAIN[:COMPILER][:ASM] =
|
29
|
-
|
30
|
-
|
31
|
-
CLANG_CHAIN[:ARCHIVER][:
|
32
|
-
CLANG_CHAIN[:ARCHIVER][:
|
33
|
-
|
34
|
-
|
35
|
-
CLANG_CHAIN[:LINKER][:
|
36
|
-
CLANG_CHAIN[:LINKER][:
|
37
|
-
CLANG_CHAIN[:LINKER][:
|
38
|
-
CLANG_CHAIN[:LINKER][:
|
39
|
-
CLANG_CHAIN[:LINKER][:
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
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
|
-
:
|
15
|
-
:
|
16
|
-
:
|
17
|
-
:
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
CLANG_ANALYZE_CHAIN[:COMPILER][:C] =
|
22
|
-
CLANG_ANALYZE_CHAIN[:COMPILER][:C][:
|
23
|
-
|
24
|
-
|
25
|
-
CLANG_ANALYZE_CHAIN[:COMPILER][:ASM] =
|
26
|
-
|
27
|
-
|
28
|
-
CLANG_ANALYZE_CHAIN[:
|
29
|
-
|
30
|
-
|
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
|
data/lib/bake/toolchain/diab.rb
CHANGED
@@ -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
|
-
:
|
18
|
-
:
|
19
|
-
:
|
20
|
-
:
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
DiabChain[:COMPILER][:CPP] =
|
25
|
-
|
26
|
-
|
27
|
-
DiabChain[:COMPILER][:ASM] =
|
28
|
-
DiabChain[:COMPILER][:ASM][:
|
29
|
-
DiabChain[:COMPILER][:ASM][:
|
30
|
-
DiabChain[:COMPILER][:ASM][:
|
31
|
-
|
32
|
-
|
33
|
-
DiabChain[:ARCHIVER][:
|
34
|
-
|
35
|
-
|
36
|
-
DiabChain[:LINKER][:
|
37
|
-
DiabChain[:LINKER][:
|
38
|
-
DiabChain[:LINKER][:
|
39
|
-
DiabChain[:LINKER][:
|
40
|
-
DiabChain[:LINKER][:
|
41
|
-
DiabChain[:LINKER][:
|
42
|
-
DiabChain[:LINKER][:
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
DiabChain[:COMPILER][:
|
47
|
-
DiabChain[:COMPILER][:
|
48
|
-
DiabChain[:
|
49
|
-
DiabChain[:
|
50
|
-
|
51
|
-
|
52
|
-
|
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
|
data/lib/bake/toolchain/gcc.rb
CHANGED
@@ -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
|
-
:
|
18
|
-
:
|
19
|
-
:
|
20
|
-
:
|
21
|
-
:
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
GCCENVChain[:COMPILER][:C] =
|
26
|
-
GCCENVChain[:COMPILER][:C][:
|
27
|
-
GCCENVChain[:COMPILER][:C][:
|
28
|
-
|
29
|
-
|
30
|
-
GCCENVChain[:COMPILER][:ASM] =
|
31
|
-
GCCENVChain[:COMPILER][:ASM][:
|
32
|
-
GCCENVChain[:COMPILER][:ASM][:
|
33
|
-
|
34
|
-
|
35
|
-
GCCENVChain[:ARCHIVER][:
|
36
|
-
GCCENVChain[:ARCHIVER][:
|
37
|
-
|
38
|
-
|
39
|
-
GCCENVChain[:LINKER][:
|
40
|
-
GCCENVChain[:LINKER][:
|
41
|
-
GCCENVChain[:LINKER][:
|
42
|
-
GCCENVChain[:LINKER][:
|
43
|
-
GCCENVChain[:LINKER][:
|
44
|
-
GCCENVChain[:LINKER][:
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
GCCENVChain[:COMPILER][:
|
49
|
-
GCCENVChain[:COMPILER][:
|
50
|
-
GCCENVChain[:
|
51
|
-
GCCENVChain[:
|
52
|
-
|
53
|
-
|
54
|
-
|
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
|