bake-toolkit 2.45.0 → 2.46.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 400957c27fbeb739bd5336401fa1b035bccd52bd
4
- data.tar.gz: c201d3549f44eebacb2cb4e2025e45195e5e58d1
3
+ metadata.gz: d21d45b4900652c338212ddd0f76da254c4a45e2
4
+ data.tar.gz: d0c410d6a94440f08108a997ed5bcad489b779e9
5
5
  SHA512:
6
- metadata.gz: 6501c573bfc1abf80ac5fc735a6471f845c46e8ad43b55a7aae46c7a0d28b37256311e2c310b7ef84248e90e7b54c3ebe0bb681e8674a79b1efa9f8cb90d3301
7
- data.tar.gz: 6c1e2c956d311b80e79c14321acd3a57f1449cd5c971989fb9e5e8fb12f732e077fa3a1cb30c15060879906d359cf3360a5c35c0609bdedab1878239f1e7a323
6
+ metadata.gz: e51a9b81676a11436b76a9264eb998405947632f3d6fbf4e4d196b7bf339d410fafe35f121ae25459c85333eab59ffaaada760114f7df78cb3bc39ce0eaba7a3
7
+ data.tar.gz: c4d113d43a34a6b9ab467fbef15af7996caca4d8efd30b3e6fd26932d0f30e5eda447de8af070d6e8f6bdec87b701376d329babb86e78349821dcc56737cd176
@@ -198,6 +198,8 @@ module Bake
198
198
  has_attr 'lib', String, :defaultValueLiteral => ""
199
199
  has_attr 'target', String, :defaultValueLiteral => ""
200
200
  has_attr 'pathTo', String, :defaultValueLiteral => ""
201
+ has_attr 'changeWorkingDir', Boolean, :defaultValueLiteral => "true"
202
+ has_attr 'noClean', Boolean, :defaultValueLiteral => "false"
201
203
  contains_many 'flags', Flags, 'parent'
202
204
  end
203
205
 
@@ -13,6 +13,7 @@ module Bake
13
13
 
14
14
  def initialize(config, referencedConfigs, block)
15
15
  @config = config
16
+ @tcs = block.tcs
16
17
  @projectDir = config.get_project_dir
17
18
  @path_to = ""
18
19
  @flags = adjustFlags("",config.flags) if config.flags
@@ -21,16 +22,42 @@ module Bake
21
22
  calcPathTo(referencedConfigs)
22
23
  calcCommandLine
23
24
  calcCleanLine
25
+ calcEnv
24
26
 
25
27
  block.lib_elements << LibElement.new(LibElement::LIB_WITH_PATH, config.lib) if config.lib != ""
26
28
  end
27
29
 
30
+ def calcEnv
31
+ @envs = {}
32
+ [:CPP, :C, :ASM].each do |type|
33
+ compiler = @tcs[:COMPILER][type]
34
+ defs = compiler[:DEFINES].map {|k| "#{compiler[:DEFINE_FLAG]}#{k}"}.join(" ")
35
+ args = [defs, compiler[:FLAGS]].reject(&:empty?).join(" ")
36
+ @envs["BAKE_#{type.to_s}_FLAGS"] = args
37
+ @envs["BAKE_#{type.to_s}_COMMAND"] = compiler[:COMMAND]
38
+ end
39
+ @envs["BAKE_AR_FLAGS"] = @tcs[:ARCHIVER][:FLAGS]
40
+ @envs["BAKE_LD_FLAGS"] = @tcs[:LINKER][:FLAGS]
41
+ @envs["BAKE_AR_COMMAND"] = @tcs[:ARCHIVER][:COMMAND]
42
+ @envs["BAKE_LD_COMMAND"] = @tcs[:LINKER][:COMMAND]
43
+ end
44
+
45
+ def fileAndDir
46
+ if @config.changeWorkingDir
47
+ return remove_empty_strings_and_join([
48
+ MAKE_DIR_FLAG, File.dirname(@makefile),
49
+ MAKE_FILE_FLAG, File.basename(@makefile)])
50
+ else
51
+ return remove_empty_strings_and_join([
52
+ MAKE_FILE_FLAG, @makefile])
53
+ end
54
+ end
55
+
28
56
  def calcCommandLine
29
57
  @commandLine = remove_empty_strings_and_join([
30
58
  MAKE_COMMAND, @target,
31
59
  @flags,
32
- MAKE_DIR_FLAG, File.dirname(@makefile),
33
- MAKE_FILE_FLAG, File.basename(@makefile),
60
+ fileAndDir,
34
61
  @path_to])
35
62
  end
36
63
 
@@ -38,8 +65,7 @@ module Bake
38
65
  @cleanLine = remove_empty_strings_and_join([
39
66
  MAKE_COMMAND, MAKE_CLEAN,
40
67
  @flags,
41
- MAKE_DIR_FLAG, File.dirname(@makefile),
42
- MAKE_FILE_FLAG, File.basename(@makefile),
68
+ fileAndDir,
43
69
  @path_to])
44
70
  end
45
71
 
@@ -76,6 +102,7 @@ module Bake
76
102
 
77
103
  def run
78
104
  return true if Bake.options.linkOnly
105
+ @envs.each { |k,v| ENV[k] = v }
79
106
  return executeCommand(@commandLine, nil, @config.validExitCodes, @config.echo)
80
107
  end
81
108
 
@@ -92,7 +119,8 @@ module Bake
92
119
  end
93
120
 
94
121
  def do_clean
95
- return true if Bake.options.linkOnly
122
+ return true if Bake.options.linkOnly || @config.noClean
123
+ @envs.each { |k,v| ENV[k] = v }
96
124
  return executeCommand(@cleanLine, "No rule to make target 'clean'.", @config.validExitCodes, @config.echo) unless Bake.options.filename
97
125
  end
98
126
 
@@ -1,7 +1,7 @@
1
1
  module Bake
2
2
  class Version
3
3
  def self.number
4
- "2.45.0"
4
+ "2.46.0"
5
5
  end
6
6
 
7
7
  def self.printBakeVersion(ry = "")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bake-toolkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.45.0
4
+ version: 2.46.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Schaal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-04 00:00:00.000000000 Z
11
+ date: 2018-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rtext