rscons 0.0.13 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
@@ -28,6 +28,12 @@ module Rscons
28
28
  'CXXSUFFIX' => '.cc',
29
29
  'CXXDEPGEN' => ['-MMD', '-MF', '$_DEPFILE'],
30
30
  'CXXCOM' =>['$CXX', '-c', '-o', '$_TARGET', '$CXXDEPGEN', '-I$[CPPPATH]', '$CPPFLAGS', '$CXXFLAGS', '$_SOURCES'],
31
+
32
+ 'DC' => 'gdc',
33
+ 'DFLAGS' => [],
34
+ 'DSUFFIX' => '.d',
35
+ 'D_IMPORT_PATH' => [],
36
+ 'DCCOM' => ['$DC', '-c', '-o', '$_TARGET', '-I$[D_IMPORT_PATH]', '$DFLAGS', '$_SOURCES'],
31
37
  }
32
38
  end
33
39
 
@@ -35,7 +41,8 @@ module Rscons
35
41
  target.has_suffix?(env['OBJSUFFIX']) and (
36
42
  source.has_suffix?(env['ASSUFFIX']) or
37
43
  source.has_suffix?(env['CSUFFIX']) or
38
- source.has_suffix?(env['CXXSUFFIX']))
44
+ source.has_suffix?(env['CXXSUFFIX']) or
45
+ source.has_suffix?(env['DSUFFIX']))
39
46
  end
40
47
 
41
48
  def run(target, sources, cache, env, vars = {})
@@ -50,6 +57,8 @@ module Rscons
50
57
  'CC'
51
58
  elsif sources.first.has_suffix?(env['CXXSUFFIX'])
52
59
  'CXX'
60
+ elsif sources.first.has_suffix?(env['DSUFFIX'])
61
+ 'DC'
53
62
  else
54
63
  raise "Error: unknown input file type: #{sources.first.inspect}"
55
64
  end
@@ -18,14 +18,19 @@ module Rscons
18
18
  # build sources to linkable objects
19
19
  objects = env.build_sources(sources, [env['OBJSUFFIX'], env['LIBSUFFIX']].flatten, cache, vars)
20
20
  if objects
21
- use_cxx = sources.map do |s|
22
- s.has_suffix?(env['CXXSUFFIX'])
23
- end.any?
24
- ld_alt = use_cxx ? env['CXX'] : env['CC']
21
+ ld = if env["LD"]
22
+ env["LD"]
23
+ elsif sources.find {|s| s.has_suffix?(env["DSUFFIX"])}
24
+ env["DC"]
25
+ elsif sources.find {|s| s.has_suffix?(env["CXXSUFFIX"])}
26
+ env["CXX"]
27
+ else
28
+ env["CC"]
29
+ end
25
30
  vars = vars.merge({
26
31
  '_TARGET' => target,
27
32
  '_SOURCES' => objects,
28
- 'LD' => env['LD'] || ld_alt,
33
+ 'LD' => ld,
29
34
  })
30
35
  command = env.build_command(env['LDCOM'], vars)
31
36
  standard_build("LD #{target}", target, command, objects, env, cache)
@@ -1,4 +1,4 @@
1
1
  module Rscons
2
2
  # gem version
3
- VERSION = "0.0.13"
3
+ VERSION = "0.0.14"
4
4
  end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rscons
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Josh Holtrop
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-10-15 00:00:00.000000000 Z
12
+ date: 2013-10-29 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: rspec-core
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ! '>='
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :development
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ! '>='
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: rspec-mocks
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ! '>='
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :development
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ! '>='
39
44
  - !ruby/object:Gem::Version
@@ -41,6 +46,7 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: rspec-expectations
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - ! '>='
46
52
  - !ruby/object:Gem::Version
@@ -48,6 +54,7 @@ dependencies:
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - ! '>='
53
60
  - !ruby/object:Gem::Version
@@ -55,6 +62,7 @@ dependencies:
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: rspec
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
67
  - - ! '>='
60
68
  - !ruby/object:Gem::Version
@@ -62,6 +70,7 @@ dependencies:
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
75
  - - ! '>='
67
76
  - !ruby/object:Gem::Version
@@ -69,6 +78,7 @@ dependencies:
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: rake
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
83
  - - ! '>='
74
84
  - !ruby/object:Gem::Version
@@ -76,6 +86,7 @@ dependencies:
76
86
  type: :development
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
91
  - - ! '>='
81
92
  - !ruby/object:Gem::Version
@@ -83,6 +94,7 @@ dependencies:
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: simplecov
85
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
86
98
  requirements:
87
99
  - - ! '>='
88
100
  - !ruby/object:Gem::Version
@@ -90,6 +102,7 @@ dependencies:
90
102
  type: :development
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
93
106
  requirements:
94
107
  - - ! '>='
95
108
  - !ruby/object:Gem::Version
@@ -97,6 +110,7 @@ dependencies:
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: json
99
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
100
114
  requirements:
101
115
  - - ! '>='
102
116
  - !ruby/object:Gem::Version
@@ -104,6 +118,7 @@ dependencies:
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
107
122
  requirements:
108
123
  - - ! '>='
109
124
  - !ruby/object:Gem::Version
@@ -111,6 +126,7 @@ dependencies:
111
126
  - !ruby/object:Gem::Dependency
112
127
  name: rdoc
113
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
114
130
  requirements:
115
131
  - - ! '>='
116
132
  - !ruby/object:Gem::Version
@@ -118,6 +134,7 @@ dependencies:
118
134
  type: :development
119
135
  prerelease: false
120
136
  version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
121
138
  requirements:
122
139
  - - ! '>='
123
140
  - !ruby/object:Gem::Version
@@ -125,6 +142,7 @@ dependencies:
125
142
  - !ruby/object:Gem::Dependency
126
143
  name: yard
127
144
  requirement: !ruby/object:Gem::Requirement
145
+ none: false
128
146
  requirements:
129
147
  - - ! '>='
130
148
  - !ruby/object:Gem::Version
@@ -132,6 +150,7 @@ dependencies:
132
150
  type: :development
133
151
  prerelease: false
134
152
  version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
135
154
  requirements:
136
155
  - - ! '>='
137
156
  - !ruby/object:Gem::Version
@@ -192,26 +211,33 @@ files:
192
211
  homepage: https://github.com/holtrop/rscons
193
212
  licenses:
194
213
  - MIT
195
- metadata: {}
196
214
  post_install_message:
197
215
  rdoc_options: []
198
216
  require_paths:
199
217
  - lib
200
218
  required_ruby_version: !ruby/object:Gem::Requirement
219
+ none: false
201
220
  requirements:
202
221
  - - ! '>='
203
222
  - !ruby/object:Gem::Version
204
223
  version: '0'
224
+ segments:
225
+ - 0
226
+ hash: 982055185
205
227
  required_rubygems_version: !ruby/object:Gem::Requirement
228
+ none: false
206
229
  requirements:
207
230
  - - ! '>='
208
231
  - !ruby/object:Gem::Version
209
232
  version: '0'
233
+ segments:
234
+ - 0
235
+ hash: 982055185
210
236
  requirements: []
211
237
  rubyforge_project:
212
- rubygems_version: 2.0.3
238
+ rubygems_version: 1.8.23
213
239
  signing_key:
214
- specification_version: 4
240
+ specification_version: 3
215
241
  summary: Software construction library inspired by SCons and implemented in Ruby
216
242
  test_files:
217
243
  - spec/build_tests_spec.rb
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NjE2OGU4MDZjYTk0MDhkYWU2NzgxZGJjYjgzZmIxYTI0NTk4YzU2Zg==
5
- data.tar.gz: !binary |-
6
- OTkwYjJhODI0NjgzZTc2NDg3MGNmMDlhNmE2MjgxOWNmNWY4YjE3ZQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- NTQzMjdjYzkxODUwNjIzNTg0NDI2ZmIxM2QzZTllNWJhNjRiOWRmMDc0OTUz
10
- ZDJjMmI0MDMxMGE3NWRmZTFmZjA3NmE0YWNkNWYzNmVkY2VmZTIyNTEwOTZl
11
- YTBkNGZlZjRhYjZlNjgxNDIyZTJlNWJkZjhkMjgwY2E2YTA4Mzc=
12
- data.tar.gz: !binary |-
13
- MjM1ZTY0YmZlNDcwMGRiNTU3ZDQyZWVjMGMwYmM1MGM2YjlmODk0MGRmMjNm
14
- NjVmOWI5MjUxMTI0ZDA0ZjZhMWU1OWRhOWNjZDMxZjYwMzAyNDQ3ZTY3NDA2
15
- YzIxYTAwMjExNzMwYjgxMmYxYmEyMTUwZDdhOWNjNTEyNmY3Y2E=