blob: 2cad4e0ea3aec31ff44775aac96603e1d273f66f [file] [log] [blame]
#!/usr/bin/env python
# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
'''A collection of storage classes to use with Mako templates.'''
ARCH_MAP = {
'arm64': 'aarch64',
'x64': 'x86_64',
}
class _CppLibrary(object):
def __init__(self, name):
self.name = name
self.hdrs = []
self.deps = []
self.includes = ''
class CppSourceLibrary(_CppLibrary):
def __init__(self, name):
super(CppSourceLibrary, self).__init__(name)
self.srcs = []
class CppPrebuiltSet(object):
def __init__(self, link):
self.link_lib = link
self.dist_lib = ''
self.dist_path = ''
class CppPrebuiltLibrary(_CppLibrary):
def __init__(self, name):
super(CppPrebuiltLibrary, self).__init__(name)
self.prebuilt = ""
self.is_static = False
self.packaged_files = {}
self.prebuilts = {}
class FidlLibrary(object):
def __init__(self, name, library):
self.name = name
self.library = library
self.srcs = []
self.deps = []
self.with_cc = False
self.with_dart = False
class Arch(object):
def __init__(self, short, long):
self.short_name = short
self.long_name = long
class Crosstool(object):
def __init__(self, arches=[]):
self.arches = []
for arch in arches:
if arch in ARCH_MAP:
self.arches.append(Arch(arch, ARCH_MAP[arch]))
else:
print('Unknown target arch: %s' % arch)
class DartLibrary(object):
def __init__(self, name, package):
self.name = name
self.package_name = package
self.deps = []
class Images(object):
def __init__(self, arches):
self.arches = arches
class TestWorkspace(object):
def __init__(self, sdk_path, with_cc, with_dart):
self.sdk_path = sdk_path
self.with_cc = with_cc
self.with_dart = with_dart