1*61046927SAndroid Build Coastguard Worker# Copyright © 2017 Intel Corporation 2*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT 3*61046927SAndroid Build Coastguard Worker 4*61046927SAndroid Build Coastguard Workerosmesa_link_with = [] 5*61046927SAndroid Build Coastguard Workerosmesa_link_args = [] 6*61046927SAndroid Build Coastguard Workerosmesa_link_deps = [] 7*61046927SAndroid Build Coastguard Worker 8*61046927SAndroid Build Coastguard Workerif with_shared_glapi 9*61046927SAndroid Build Coastguard Worker osmesa_link_with += libglapi 10*61046927SAndroid Build Coastguard Workerendif 11*61046927SAndroid Build Coastguard Workerif with_ld_version_script 12*61046927SAndroid Build Coastguard Worker osmesa_link_args += [ 13*61046927SAndroid Build Coastguard Worker '-Wl,--version-script', join_paths(meson.current_source_dir(), 'osmesa.sym') 14*61046927SAndroid Build Coastguard Worker ] 15*61046927SAndroid Build Coastguard Worker osmesa_link_deps += files('osmesa.sym') 16*61046927SAndroid Build Coastguard Workerendif 17*61046927SAndroid Build Coastguard Worker 18*61046927SAndroid Build Coastguard Workerosmesa_def = custom_target( 19*61046927SAndroid Build Coastguard Worker 'osmesa.def', 20*61046927SAndroid Build Coastguard Worker input: 'osmesa.def.in', 21*61046927SAndroid Build Coastguard Worker output : 'osmesa.def', 22*61046927SAndroid Build Coastguard Worker command : gen_vs_module_defs_normal_command, 23*61046927SAndroid Build Coastguard Worker) 24*61046927SAndroid Build Coastguard Worker 25*61046927SAndroid Build Coastguard Workerlibosmesa = shared_library( 26*61046927SAndroid Build Coastguard Worker osmesa_lib_name, 27*61046927SAndroid Build Coastguard Worker 'osmesa_target.c', 28*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 29*61046927SAndroid Build Coastguard Worker link_args : [ld_args_gc_sections, osmesa_link_args], 30*61046927SAndroid Build Coastguard Worker vs_module_defs : osmesa_def, 31*61046927SAndroid Build Coastguard Worker include_directories : [ 32*61046927SAndroid Build Coastguard Worker inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_gallium_winsys, 33*61046927SAndroid Build Coastguard Worker inc_gallium_drivers, 34*61046927SAndroid Build Coastguard Worker ], 35*61046927SAndroid Build Coastguard Worker link_depends : osmesa_link_deps, 36*61046927SAndroid Build Coastguard Worker link_whole : [libosmesa_st, libglapi_static], 37*61046927SAndroid Build Coastguard Worker link_with : [ 38*61046927SAndroid Build Coastguard Worker libmesa, libgallium, libws_null, osmesa_link_with, 39*61046927SAndroid Build Coastguard Worker ], 40*61046927SAndroid Build Coastguard Worker dependencies : [ 41*61046927SAndroid Build Coastguard Worker dep_ws2_32, dep_selinux, dep_thread, dep_clock, dep_unwind, driver_swrast, idep_mesautil, 42*61046927SAndroid Build Coastguard Worker ], 43*61046927SAndroid Build Coastguard Worker name_prefix : host_machine.system() == 'windows' ? '' : [], # otherwise mingw will create libosmesa.dll 44*61046927SAndroid Build Coastguard Worker soversion : host_machine.system() == 'windows' ? '' : '8', 45*61046927SAndroid Build Coastguard Worker version : '8.0.0', 46*61046927SAndroid Build Coastguard Worker darwin_versions : '9.0.0', 47*61046927SAndroid Build Coastguard Worker install : true, 48*61046927SAndroid Build Coastguard Worker) 49*61046927SAndroid Build Coastguard Worker 50*61046927SAndroid Build Coastguard Workerif with_symbols_check 51*61046927SAndroid Build Coastguard Worker test('osmesa-symbols-check', 52*61046927SAndroid Build Coastguard Worker symbols_check, 53*61046927SAndroid Build Coastguard Worker args : [ 54*61046927SAndroid Build Coastguard Worker '--lib', libosmesa, 55*61046927SAndroid Build Coastguard Worker '--symbols-file', files('osmesa-symbols.txt'), 56*61046927SAndroid Build Coastguard Worker symbols_check_args, 57*61046927SAndroid Build Coastguard Worker ], 58*61046927SAndroid Build Coastguard Worker suite : ['gallium'], 59*61046927SAndroid Build Coastguard Worker ) 60*61046927SAndroid Build Coastguard Workerendif 61*61046927SAndroid Build Coastguard Worker 62*61046927SAndroid Build Coastguard Workerpkg.generate( 63*61046927SAndroid Build Coastguard Worker name : 'osmesa', 64*61046927SAndroid Build Coastguard Worker description : 'Mesa Off-screen Rendering Library', 65*61046927SAndroid Build Coastguard Worker version : '8.0.0', 66*61046927SAndroid Build Coastguard Worker libraries : libosmesa, 67*61046927SAndroid Build Coastguard Worker libraries_private : gl_priv_libs, 68*61046927SAndroid Build Coastguard Worker) 69*61046927SAndroid Build Coastguard Worker 70*61046927SAndroid Build Coastguard Workerif with_tests 71*61046927SAndroid Build Coastguard Worker test('osmesa-render', 72*61046927SAndroid Build Coastguard Worker executable( 73*61046927SAndroid Build Coastguard Worker 'osmesa-render', 74*61046927SAndroid Build Coastguard Worker 'test-render.cpp', 75*61046927SAndroid Build Coastguard Worker include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], 76*61046927SAndroid Build Coastguard Worker link_with: libosmesa, 77*61046927SAndroid Build Coastguard Worker dependencies : [idep_gtest, idep_mesautil], 78*61046927SAndroid Build Coastguard Worker ), 79*61046927SAndroid Build Coastguard Worker suite: 'gallium', 80*61046927SAndroid Build Coastguard Worker protocol : 'gtest', 81*61046927SAndroid Build Coastguard Worker ) 82*61046927SAndroid Build Coastguard Workerendif 83