| # Copyright 2021 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. |
| |
| c_args = [] |
| cpp_args = [ '-DMAGMA_DEBUG_INTERNAL_USE_ONLY' ] |
| |
| prog_python = import('python').find_installation('python3') |
| magma_json = files('include/magma/magma.json') |
| |
| inc_configuration = include_directories(['.', 'src']) |
| inc_magma = include_directories('include/magma') |
| inc_virtio = include_directories('include/virtio') |
| inc_platform = include_directories('src/magma_util/platform') |
| inc_magma_util = include_directories('src/magma_util') |
| inc_msd_intel_gen = include_directories('../../drivers/msd-intel-gen/include') |
| |
| # Generate virtio_magma.h in the proper location |
| subdir('include/virtio') |
| |
| magma_manual = 'src/libmagma_linux/magma.cc' |
| |
| magma_generic_cc = custom_target( |
| 'magma_generic.cc', |
| input : ['src/libmagma_linux/magma_generic_cc_gen.py', magma_json, magma_manual], |
| output: 'magma_generic.cc', |
| command: [prog_python, '@INPUT@', '@OUTPUT@'] |
| ) |
| |
| files_libmagma_linux = files( |
| magma_manual, |
| 'src/magma_util/platform/linux/linux_platform_logger.cc', |
| ) |
| |
| thread_dep = dependency('threads') |
| |
| libmagma_linux = static_library( |
| 'magma_linux', |
| sources: [files_libmagma_linux, magma_generic_cc, virtio_magma_h], |
| cpp_args: cpp_args, |
| c_args: c_args, |
| include_directories : [inc_top, inc_configuration, inc_magma, inc_virtio, |
| inc_platform, inc_magma_util], |
| dependencies: thread_dep |
| ) |
| |
| dep_magma = declare_dependency( |
| include_directories : [inc_magma, inc_msd_intel_gen], |
| link_with : libmagma_linux) |
| |
| if get_option('with_tests') |
| subdir('tests') |
| endif |