bake-toolkit 2.45.0 → 2.46.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.
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