blob: 9f00a048be94860164aa7c2b058f3078fd42a4e0 [file] [log] [blame]
#!/usr/bin/env python2.7
# 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 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
class VulkanLibrary(object):
def __init__(self):
self.layers = []
class VulkanLayer(object):
def __init__(self, name, config, binary, data_deps=None):
self.name = name
self.config = config
self.binary = binary
self.data_deps = data_deps if data_deps is not None else []