mcbuild 0.0.20 → 0.0.25
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 +4 -4
- data/lib/mcbuild.rb +44 -5
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 599ebcf5fb1a22decc4ed9c16cb970ab6a5a7196
|
4
|
+
data.tar.gz: 3f32fed9a52705a080ee18d5083c37b9d3242154
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
@
|
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 "
|
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
|
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 =
|
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
|