bake-toolkit 2.54.3 → 2.55.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
  SHA256:
3
- metadata.gz: b660cd9c40c8aac3678294bc00bf7f797b2c4fdd024bcf329db5ea640da69223
4
- data.tar.gz: 45c476b4b32fa4990f2502f6e5f4dedc0386a3177f870fee6b25ef72cff4a437
3
+ metadata.gz: a40a0ec952c134a225a1e53450bdef8376ed73f77b60db9d41743058dbccebe9
4
+ data.tar.gz: 375a59b66acae2710691fefff1e5e2943e2709e4c4126ddcb155ede08e3cea7e
5
5
  SHA512:
6
- metadata.gz: 36a9dbdae13d2985641b0d16a213c5daaa42279e41232dc6830aa3e07eac3df51ba8050c92a6f0febf2923f47f5e79dff3ccff748b2fd90b8e3a46501cc3db71
7
- data.tar.gz: 368185045fe98fa0801f45fd268410adcf86651ac300f26015e51060196b7f7d784c17cb119219e7e6a3354ab870f36d82d66e0dfc8f5b2d8321686d030d255e
6
+ metadata.gz: '05777421187c7f4ea2e7ce5d29ef862715cef952399ad4a09a7034536f3a6593870c31a47b3a3a40ef6ddec8db8ae0ac83ab96bad9c8888a8238e949c8daaee5'
7
+ data.tar.gz: dfa5aa9606167fe6f92e6aecb59e317d6f1dfd0586dbc2da34f2dd15871ad7b9cbf0f8040eaa2cee65d708dd3b3144ed51bad19eafa3f6c222fe7ef3bf157850
data/bin/bake CHANGED
@@ -1,5 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ if RUBY_VERSION[0..1] == "1."
4
+ puts ("Error: Ruby 1.x not supported anymore. Use Ruby 2.0 or greater.")
5
+ exit 1
6
+ end
7
+
3
8
  $timeStart = Time.now
4
9
 
5
10
  $:.unshift(File.dirname(__FILE__)+"/../lib")
@@ -17,11 +22,6 @@ module Bake
17
22
 
18
23
  earlyExit = nil
19
24
  begin
20
- if RUBY_VERSION[0..1] == "1."
21
- Bake.formatter.printError("Error: Ruby 1.x not supported anymore. Use Ruby 2.0 or greater.")
22
- ExitHelper.exit(1)
23
- end
24
-
25
25
  puts "Profiling #{Time.now - $timeStart}: parse options..." if ARGV.include?("--profiling")
26
26
  Bake.options = Options.new(ARGV)
27
27
  Bake.options.parse_options
@@ -19,7 +19,7 @@ module Bake
19
19
  end
20
20
 
21
21
  class Options < Parser
22
- attr_accessor :build_config, :nocache, :analyze, :eclipseOrder, :envToolchain, :showConfigs
22
+ attr_accessor :build_config, :nocache, :analyze, :eclipseOrder, :showConfigs
23
23
  attr_reader :main_dir, :project, :filename, :main_project_name, :buildDirDelimiter, :dot, :dotFilename, :cc2j_filename # String
24
24
  attr_reader :include_filter, :exclude_filter, :adapt # String List
25
25
  attr_reader :conversion_info, :stopOnFirstError, :clean, :rebuild, :show_includes, :show_includes_and_defines, :projectPaths, :qac, :dry, :syncedOutput, :debug_threads, :skipBuildingLine # Boolean
@@ -54,7 +54,6 @@ module Bake
54
54
  @printTime = false
55
55
  @buildDirDelimiter = "/"
56
56
  @conversion_info = false
57
- @envToolchain = false
58
57
  @analyze = false
59
58
  @eclipseOrder = false
60
59
  @showConfigs = false
@@ -80,7 +79,12 @@ module Bake
80
79
  @linkOnly = false
81
80
  @compileOnly = false
82
81
  @no_autodir = false
83
- @threads = 8
82
+ if RUBY_VERSION.split(".")[0].to_i > 2 || RUBY_VERSION.split(".")[1].to_i >= 2
83
+ require 'etc'
84
+ @threads = Etc.nprocessors
85
+ else
86
+ @threads = 8
87
+ end
84
88
  @roots = []
85
89
  @socket = 0
86
90
  @include_filter = []
@@ -33,7 +33,7 @@ module Bake
33
33
  puts " --no-case-check Disables case-sensitivity-check of included header files (only relative paths on Windows are checked)."
34
34
  puts " --generate-doc Builds docu instead of compiling sources."
35
35
  puts " --ignore-cache Rereads the original meta files - usefull if workspace structure has been changed."
36
- puts " -j <num> Set NUMBER of parallel compiled files (default is 8)."
36
+ puts " -j <num> Set NUMBER of parallel compiled files (default is number of logical processors or 8 for Ruby <= 2.1)."
37
37
  puts " -O The output will be synchronized per configuration. Note, this delays output."
38
38
  puts " -D <define> Adds this define to the compiler commands"
39
39
  puts " --socket <num> Set SOCKET for sending errors, receiving commands, etc. - used by e.g. Eclipse."
data/lib/bake/util.rb CHANGED
@@ -16,12 +16,11 @@ def adjustFlags(orgStr, flags)
16
16
  if f.overwrite != ""
17
17
  orgSplitted = Bake::Utils::flagSplit(f.overwrite, false)
18
18
  end
19
-
20
19
  if f.remove != ""
21
20
  rmSplitted = Bake::Utils::flagSplit(f.remove, false)
22
21
  orgSplitted.delete_if {|o| rmSplitted.any? { |r|
23
22
  begin
24
- o.match("\\A"+r+"\\Z")
23
+ o.match(/\A#{Regexp.escape(r)}\z/) || o.match(/\A#{r}\z/)
25
24
  rescue Exception => e
26
25
  Bake.formatter.printError(e.message, f)
27
26
  Bake::ExitHelper.exit(1)
@@ -123,3 +122,29 @@ def add_line_if_no_comment(array, str)
123
122
  s = str.split("#")[0].strip
124
123
  array << s unless s.empty?
125
124
  end
125
+
126
+ def fill_compiler_env(dt)
127
+ env = ENV["BAKE_C_COMPILER"]
128
+ dt[:COMPILER][:C][:COMMAND] = env if env && !env.empty?
129
+ env = ENV["BAKE_CPP_COMPILER"]
130
+ dt[:COMPILER][:CPP][:COMMAND] = env if env && !env.empty?
131
+ env = ENV["BAKE_ASM_COMPILER"]
132
+ dt[:COMPILER][:ASM][:COMMAND] = env if env && !env.empty?
133
+ env = ENV["BAKE_ARCHIVER"]
134
+ dt[:ARCHIVER][:COMMAND] = env if env && !env.empty?
135
+ env = ENV["BAKE_LINKER"]
136
+ dt[:LINKER][:COMMAND] = env if env && !env.empty?
137
+
138
+ env = ENV["BAKE_C_FLAGS"]
139
+ dt[:COMPILER][:C][:FLAGS] = env if env && !env.empty?
140
+ env = ENV["BAKE_CPP_FLAGS"]
141
+ dt[:COMPILER][:CPP][:FLAGS] = env if env && !env.empty?
142
+ env = ENV["BAKE_ASM_FLAGS"]
143
+ dt[:COMPILER][:ASM][:FLAGS] = env if env && !env.empty?
144
+ env = ENV["BAKE_ARCHIVER_FLAGS"]
145
+ dt[:ARCHIVER][:FLAGS] = env if env && !env.empty?
146
+ env = ENV["BAKE_LINKER_FLAGS"]
147
+ dt[:LINKER][:FLAGS] = env if env && !env.empty?
148
+
149
+ return dt
150
+ end
@@ -1,7 +1,7 @@
1
1
  module Bake
2
2
  class Version
3
3
  def self.number
4
- "2.54.3"
4
+ "2.55.0"
5
5
  end
6
6
 
7
7
  def self.printBakeVersion(ry = "")
data/lib/tocxx.rb CHANGED
@@ -667,8 +667,8 @@ module Bake
667
667
  end
668
668
 
669
669
  @defaultToolchain = Utils.deep_copy(basedOnToolchain)
670
- Bake.options.envToolchain = true if (basedOn.include?"_ENV")
671
-
670
+ @defaultToolchain = fill_compiler_env(@defaultToolchain)
671
+
672
672
  integrateToolchain(@defaultToolchain, @mainConfig.defaultToolchain)
673
673
 
674
674
  # todo: cleanup this hack
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.54.3
4
+ version: 2.55.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: 2019-11-04 00:00:00.000000000 Z
11
+ date: 2019-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rtext
@@ -267,7 +267,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
267
267
  version: '0'
268
268
  requirements: []
269
269
  rubyforge_project:
270
- rubygems_version: 2.7.6
270
+ rubygems_version: 2.7.7
271
271
  signing_key:
272
272
  specification_version: 4
273
273
  summary: Build tool to compile C/C++ projects fast and easy.