Commit 9fd0366f authored by ita1024's avatar ita1024

Merge branch 'gccdeps' into 'master'

gccdeps: Add support for gas

See merge request !2278
parents 780a2abf 44bb31da
......@@ -4,7 +4,7 @@
import sys
def configure(conf):
conf.load('gcc gas')
conf.load('gcc gas gccdeps')
try:
size = sys.maxint
except AttributeError:
......
......@@ -27,7 +27,7 @@ if not c_preproc.go_absolute:
gccdeps_flags = ['-MMD']
# Third-party tools are allowed to add extra names in here with append()
supported_compilers = ['gcc', 'icc', 'clang']
supported_compilers = ['gas', 'gcc', 'icc', 'clang']
def scan(self):
if not self.__class__.__name__ in self.env.ENABLE_GCCDEPS:
......@@ -175,14 +175,14 @@ def wrap_compiled_task(classname):
derived_class.scan = scan
derived_class.sig_implicit_deps = sig_implicit_deps
for k in ('c', 'cxx'):
for k in ('asm', 'c', 'cxx'):
if k in Task.classes:
wrap_compiled_task(k)
@before_method('process_source')
@feature('force_gccdeps')
def force_gccdeps(self):
self.env.ENABLE_GCCDEPS = ['c', 'cxx']
self.env.ENABLE_GCCDEPS = ['asm', 'c', 'cxx']
def configure(conf):
# in case someone provides a --enable-gccdeps command-line option
......@@ -191,6 +191,15 @@ def configure(conf):
global gccdeps_flags
flags = conf.env.GCCDEPS_FLAGS or gccdeps_flags
if conf.env.ASM_NAME in supported_compilers:
try:
conf.check(fragment='', features='asm force_gccdeps', asflags=flags, compile_filename='test.S', msg='Checking for asm flags %r' % ''.join(flags))
except Errors.ConfigurationError:
pass
else:
conf.env.append_value('ASFLAGS', flags)
conf.env.append_unique('ENABLE_GCCDEPS', 'asm')
if conf.env.CC_NAME in supported_compilers:
try:
conf.check(fragment='int main() { return 0; }', features='c force_gccdeps', cflags=flags, msg='Checking for c flags %r' % ''.join(flags))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment