• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2022 Android Open Source Project
2# SPDX-License-Identifier: MIT
3
4project('gfxstream', 'cpp', 'c',
5         version : '0.0.1',
6         license : 'MIT OR Apache-2.0',
7         default_options : ['cpp_std=gnu++17'])
8
9cc = meson.get_compiler('cpp')
10prog_python = import('python').find_installation('python3')
11
12#===============#
13# Options       #
14#===============#
15
16with_vulkan_icd_dir = get_option('vulkan-icd-dir')
17if with_vulkan_icd_dir == ''
18  with_vulkan_icd_dir = join_paths(get_option('datadir'), 'vulkan/icd.d')
19endif
20
21#===============#
22# Configuration #
23#===============#
24c_args = []
25cpp_args = []
26
27# Paravirtualization moving towards virtio
28cpp_args += '-DVIRTIO_GPU'
29# Gfxstream
30cpp_args += '-DGFXSTREAM'
31# Our internal guest build
32cpp_args += '-DLINUX_GUEST_BUILD'
33# Don't want to goldfish OpenGL
34cpp_args += '-DGOLDFISH_NO_GL'
35# This is a good number for PAGE_SIZE
36# But we should really do getpagesize(..).
37cpp_args += '-DPAGE_SIZE=4096'
38# This should just be called NO_TRACE eventually
39cpp_args += '-DFUCHSIA_NO_TRACE'
40# Include the gfxstream private VkStructureType definitions
41cpp_args += '-DVK_GFXSTREAM_STRUCTURE_TYPE_EXT'
42
43#===============#
44# Dependencies  #
45#===============#
46
47dl_dep = cc.find_library('dl', required: false)
48drm_dep = dependency('libdrm')
49thread_dep = dependency('threads')
50
51#===============#
52# Includes      #
53#===============#
54
55inc_android_emu = include_directories('android-emu')
56inc_host = include_directories('host/include/libOpenglRender')
57inc_system = include_directories('system/include')
58
59#================#
60# Subdirectories #
61#================#
62
63subdir('third-party')
64subdir('fuchsia')
65subdir('platform')
66subdir('android-emu/aemu/base')
67subdir('shared')
68subdir('system')
69