lib/rscons/builders/object.rb in rscons-0.0.13 vs lib/rscons/builders/object.rb in rscons-0.0.14
- old
+ new
@@ -26,18 +26,25 @@
'CXX' => 'g++',
'CXXFLAGS' => [],
'CXXSUFFIX' => '.cc',
'CXXDEPGEN' => ['-MMD', '-MF', '$_DEPFILE'],
'CXXCOM' =>['$CXX', '-c', '-o', '$_TARGET', '$CXXDEPGEN', '-I$[CPPPATH]', '$CPPFLAGS', '$CXXFLAGS', '$_SOURCES'],
+
+ 'DC' => 'gdc',
+ 'DFLAGS' => [],
+ 'DSUFFIX' => '.d',
+ 'D_IMPORT_PATH' => [],
+ 'DCCOM' => ['$DC', '-c', '-o', '$_TARGET', '-I$[D_IMPORT_PATH]', '$DFLAGS', '$_SOURCES'],
}
end
def produces?(target, source, env)
target.has_suffix?(env['OBJSUFFIX']) and (
source.has_suffix?(env['ASSUFFIX']) or
source.has_suffix?(env['CSUFFIX']) or
- source.has_suffix?(env['CXXSUFFIX']))
+ source.has_suffix?(env['CXXSUFFIX']) or
+ source.has_suffix?(env['DSUFFIX']))
end
def run(target, sources, cache, env, vars = {})
vars = vars.merge({
'_TARGET' => target,
@@ -48,9 +55,11 @@
'AS'
elsif sources.first.has_suffix?(env['CSUFFIX'])
'CC'
elsif sources.first.has_suffix?(env['CXXSUFFIX'])
'CXX'
+ elsif sources.first.has_suffix?(env['DSUFFIX'])
+ 'DC'
else
raise "Error: unknown input file type: #{sources.first.inspect}"
end
command = env.build_command(env["#{com_prefix}COM"], vars)
unless cache.up_to_date?(target, command, sources)