bake-toolkit 2.54.3 → 2.55.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
  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.