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