mcbuild 0.0.20 → 0.0.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mcbuild.rb +44 -5
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0b80f613f68e560197d7899581224a133e145e72
4
- data.tar.gz: f0a804299d1c9638b16bea67f6727ea12feee00b
3
+ metadata.gz: 599ebcf5fb1a22decc4ed9c16cb970ab6a5a7196
4
+ data.tar.gz: 3f32fed9a52705a080ee18d5083c37b9d3242154
5
5
  SHA512:
6
- metadata.gz: 515d1ca6c34105a29e9726efe680170262914ec662c2a7835394721382c11a48e306de88a3963f02c540844eb225a3da56d7f46a3e687831b13ba69cb21f593b
7
- data.tar.gz: 999cd1576866712678a0b8d993dd53be25fbcbbf94ff9e6a36b8c654d0835a67b3aee1ae197ae60b7333c2544025b59c0fe646466496975714325a0ad0bd5575
6
+ metadata.gz: de764a8d147f0fdc176bb18796e9192639210d4e254314b93ab21db18561894f9aa1fa0e97108a1a50c483ec61be9b1e5d6f45ca84be6438a5f08b6a2e7d672c
7
+ data.tar.gz: 9b5ea6411442dcb062f0624bd63e48b3f4d5804a7df0756e21ead6dc200bc932d4d01bf985c8101557bd9507d127730665a7b15bff72f3e45929b07363a284c7
data/lib/mcbuild.rb CHANGED
@@ -2,6 +2,17 @@
2
2
  require 'find'
3
3
  require 'fileutils'
4
4
 
5
+ class MCTarget
6
+ def self.RaspberryPi2
7
+ #'armv7l-unknown-linux-gnueabihf'
8
+ 'arm-eabi -marm -mfpu=vfp -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=hard'
9
+ end
10
+
11
+ def self.MacOS
12
+ 'x86_64-apple-darwin'
13
+ end
14
+ end
15
+
5
16
  class MCConfig
6
17
  def self.support_machines
7
18
  ['x86_64', 'armv6', 'armv7', 'armv7s', 'arm64']
@@ -107,7 +118,8 @@ class MCBuild
107
118
  end
108
119
 
109
120
  def initialize(dir)
110
- @mach = MCBuild.detect_machine
121
+ @target = ''
122
+ @mach = ''
111
123
  @flags = MCBuild.detect_machine_macro
112
124
 
113
125
  @d = remove_slash(dir)
@@ -168,6 +180,11 @@ class MCBuild
168
180
  self
169
181
  end
170
182
 
183
+ def set_target(target)
184
+ @target = target
185
+ self
186
+ end
187
+
171
188
  def set_arch(arch)
172
189
  @mach = arch
173
190
  self
@@ -196,7 +213,7 @@ class MCBuild
196
213
  def info
197
214
  puts "Monk-C compiler use settings:"
198
215
  puts "--------------------------------"
199
- puts " CPU Arch -> #{@mach}"
216
+ puts " CPU target -> #{@target}"
200
217
  puts " C standard -> #{@std}"
201
218
  puts " name -> #{@name}"
202
219
  puts " filename extension -> #{@fext}"
@@ -286,14 +303,35 @@ class MCBuild
286
303
  self
287
304
  end
288
305
 
289
- def compile_file(file)
290
- base = File.basename(file, ".c")
306
+ def compiler_command
291
307
  cmd = "cc"
308
+ if @target != ''
309
+ cmd += " -target #{@target}"
310
+ end
292
311
  if @mach != ''
293
312
  cmd += " -arch #{@mach}"
294
313
  end
295
314
  cmd += " -std=#{@std}"
296
315
  cmd += " #{@flags}"
316
+ cmd
317
+ end
318
+
319
+ def linker_command
320
+ cmd = "cc"
321
+ if @target != ''
322
+ cmd += " -target #{@target}"
323
+ end
324
+ if @mach != ''
325
+ cmd += " -arch #{@mach}"
326
+ end
327
+ #cmd += " -std=#{@std}"
328
+ #cmd += " #{@flags}"
329
+ cmd
330
+ end
331
+
332
+ def compile_file(file)
333
+ base = File.basename(file, ".c")
334
+ cmd = compiler_command
297
335
  cmd += " -c -o #{@d}/#{@outpath}/#{base}#{@oext} #{file} #{@compile_arg}"
298
336
  puts(cmd)
299
337
  system(cmd)
@@ -329,7 +367,8 @@ class MCBuild
329
367
  end
330
368
 
331
369
  def archive_exe
332
- cmd = "cc -o #{@d}/#{@outpath}/archive/#{@name} #{@d}/#{@outpath}/*#{@oext} #{@link_arg}"
370
+ cmd = linker_command
371
+ cmd += " -o #{@d}/#{@outpath}/archive/#{@name} #{@d}/#{@outpath}/*#{@oext} #{@link_arg}"
333
372
  puts(cmd)
334
373
  system(cmd)
335
374
  self
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mcbuild
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.0.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sun Yuli