blob: fbb8e98805f425bc222c811507c015e98cc0a534 [file] [log] [blame]
#!/usr/bin/env fuchsia-vendored-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 = {}
self.lib_name = ""
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 []