LLVMBuild: Add explicit information on whether targets define an assembly printer, assembly parser, or disassembler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144344 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2011-11-11 00:23:56 +00:00
parent 0352b4679e
commit 5ed5506f18
12 changed files with 44 additions and 4 deletions

View File

@ -292,6 +292,12 @@ required_libraries = Archive BitReader Core Support TransformUtils
<p>Components with this type use the LibraryGroup properties in addition
to:</p>
<ul>
<li><i>has_asmparser</i> <b>[optional]</b> <b>[boolean]</b>
<p>Whether this target defines an assembly parser.</p></li>
<li><i>has_asmprinter</i> <b>[optional]</b> <b>[boolean]</b>
<p>Whether this target defines an assembly printer.</p></li>
<li><i>has_disassembler</i> <b>[optional]</b> <b>[boolean]</b>
<p>Whether this target defines a disassembler.</p></li>
<li><i>has_jit</i> <b>[optional]</b> <b>[boolean]</b>
<p>Whether this target supports JIT compilation.</p></li>
</ul>

View File

@ -19,6 +19,9 @@
type = TargetGroup
name = ARM
parent = Target
has_asmparser = 1
has_asmprinter = 1
has_disassembler = 1
has_jit = 1
[component_1]

View File

@ -19,6 +19,7 @@
type = TargetGroup
name = CellSPU
parent = Target
has_asmprinter = 1
[component_1]
type = Library

View File

@ -19,6 +19,9 @@
type = TargetGroup
name = MBlaze
parent = Target
has_asmparser = 1
has_asmprinter = 1
has_disassembler = 1
[component_1]
type = Library

View File

@ -19,6 +19,7 @@
type = TargetGroup
name = MSP430
parent = Target
has_asmprinter = 1
[component_1]
type = Library

View File

@ -19,6 +19,7 @@
type = TargetGroup
name = Mips
parent = Target
has_asmprinter = 1
has_jit = 1
[component_1]

View File

@ -19,6 +19,7 @@
type = TargetGroup
name = PTX
parent = Target
has_asmprinter = 1
[component_1]
type = Library

View File

@ -19,6 +19,7 @@
type = TargetGroup
name = PowerPC
parent = Target
has_asmprinter = 1
has_jit = 1
[component_1]

View File

@ -19,6 +19,7 @@
type = TargetGroup
name = Sparc
parent = Target
has_asmprinter = 1
[component_1]
type = Library

View File

@ -19,6 +19,9 @@
type = TargetGroup
name = X86
parent = Target
has_asmparser = 1
has_asmprinter = 1
has_disassembler = 1
has_jit = 1
[component_1]

View File

@ -19,6 +19,7 @@
type = TargetGroup
name = XCore
parent = Target
has_asmprinter = 1
[component_1]
type = Library

View File

@ -198,10 +198,18 @@ class TargetGroupComponentInfo(ComponentInfo):
kwargs['add_to_library_groups'] = items.get_list(
'add_to_library_groups')
kwargs['has_jit'] = items.get_optional_bool('has_jit', False)
kwargs['has_asmprinter'] = items.get_optional_bool('has_asmprinter',
False)
kwargs['has_asmparser'] = items.get_optional_bool('has_asmparser',
False)
kwargs['has_disassembler'] = items.get_optional_bool('has_disassembler',
False)
return TargetGroupComponentInfo(subpath, **kwargs)
def __init__(self, subpath, name, parent, required_libraries = [],
add_to_library_groups = [], has_jit = False):
add_to_library_groups = [], has_jit = False,
has_asmprinter = False, has_asmparser = False,
has_disassembler = False):
ComponentInfo.__init__(self, subpath, name, [], parent)
# The names of the library components which are required when linking
@ -215,6 +223,15 @@ class TargetGroupComponentInfo(ComponentInfo):
# Whether or not this target supports the JIT.
self.has_jit = bool(has_jit)
# Whether or not this target defines an assembly printer.
self.has_asmprinter = bool(has_asmprinter)
# Whether or not this target defines an assembly parser.
self.has_asmparser = bool(has_asmparser)
# Whether or not this target defines an disassembler.
self.has_disassembler = bool(has_disassembler)
# Whether or not this target is enabled. This is set in response to
# configuration parameters.
self.enabled = False
@ -238,9 +255,10 @@ class TargetGroupComponentInfo(ComponentInfo):
if self.add_to_library_groups:
print >>result, 'add_to_library_groups = %s' % ' '.join(
self.add_to_library_groups)
if self.has_jit:
print >>result, 'has_jit = %s' % ' '.join(
int(self.has_jit))
for bool_key in ('has_asmparser', 'has_asmprinter', 'has_disassembler',
'has_jit'):
if getattr(self, bool_key):
print >>result, '%s = 1' % (bool_key,)
return result.getvalue()
def get_llvmconfig_component_name(self):