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 Workerfiles_shared_glapi = files( 5*61046927SAndroid Build Coastguard Worker '../entry.c', 6*61046927SAndroid Build Coastguard Worker '../u_current.c', 7*61046927SAndroid Build Coastguard Worker '../u_current.h', 8*61046927SAndroid Build Coastguard Worker 'glapi.c', 9*61046927SAndroid Build Coastguard Worker 'stub.c', 10*61046927SAndroid Build Coastguard Worker 'stub.h', 11*61046927SAndroid Build Coastguard Worker 'table.c', 12*61046927SAndroid Build Coastguard Worker 'table.h', 13*61046927SAndroid Build Coastguard Worker) 14*61046927SAndroid Build Coastguard Worker 15*61046927SAndroid Build Coastguard Workershared_glapi_mapi_tmp_h = custom_target( 16*61046927SAndroid Build Coastguard Worker 'shared_glapi_mapi_tmp.h', 17*61046927SAndroid Build Coastguard Worker input : [mapi_abi_py, gl_and_es_api_files], 18*61046927SAndroid Build Coastguard Worker output : 'glapi_mapi_tmp.h', 19*61046927SAndroid Build Coastguard Worker command : [prog_python, '@INPUT0@', '--printer', 'shared-glapi', '@INPUT1@'], 20*61046927SAndroid Build Coastguard Worker depend_files : api_xml_files, 21*61046927SAndroid Build Coastguard Worker capture : true, 22*61046927SAndroid Build Coastguard Worker) 23*61046927SAndroid Build Coastguard Worker 24*61046927SAndroid Build Coastguard Worker_glapi_c_args = [] 25*61046927SAndroid Build Coastguard Workerif with_platform_windows 26*61046927SAndroid Build Coastguard Worker _glapi_c_args += ['-D_GLAPI_DLL_EXPORTS'] 27*61046927SAndroid Build Coastguard Workerendif 28*61046927SAndroid Build Coastguard Worker 29*61046927SAndroid Build Coastguard Workerlibglapi = shared_library( 30*61046927SAndroid Build Coastguard Worker 'glapi', 31*61046927SAndroid Build Coastguard Worker [files_shared_glapi, shared_glapi_mapi_tmp_h], 32*61046927SAndroid Build Coastguard Worker c_args : [ 33*61046927SAndroid Build Coastguard Worker _glapi_c_args, 34*61046927SAndroid Build Coastguard Worker c_msvc_compat_args, 35*61046927SAndroid Build Coastguard Worker '-DMAPI_MODE_GLAPI', 36*61046927SAndroid Build Coastguard Worker '-DMAPI_ABI_HEADER="@0@"'.format(shared_glapi_mapi_tmp_h.full_path()), 37*61046927SAndroid Build Coastguard Worker gcc_lto_quirk, 38*61046927SAndroid Build Coastguard Worker ], 39*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 40*61046927SAndroid Build Coastguard Worker link_args : [ld_args_gc_sections], 41*61046927SAndroid Build Coastguard Worker include_directories : [inc_src, inc_include, inc_mapi], 42*61046927SAndroid Build Coastguard Worker dependencies : [dep_thread, dep_selinux, idep_mesautil], 43*61046927SAndroid Build Coastguard Worker soversion : host_machine.system() == 'windows' ? '' : '0', 44*61046927SAndroid Build Coastguard Worker version : '0.0.0', 45*61046927SAndroid Build Coastguard Worker name_prefix : host_machine.system() == 'windows' ? 'lib' : [], # always use lib, but avoid warnings on !windows 46*61046927SAndroid Build Coastguard Worker install : true, 47*61046927SAndroid Build Coastguard Worker) 48*61046927SAndroid Build Coastguard Workerlibglapi_build_dir = meson.current_build_dir() 49*61046927SAndroid Build Coastguard Worker 50*61046927SAndroid Build Coastguard Workerif with_any_opengl and with_tests 51*61046927SAndroid Build Coastguard Worker test( 52*61046927SAndroid Build Coastguard Worker 'shared-glapi-test', 53*61046927SAndroid Build Coastguard Worker executable( 54*61046927SAndroid Build Coastguard Worker ['shared-glapi-test', glapitable_h], 55*61046927SAndroid Build Coastguard Worker 'tests/check_table.cpp', 56*61046927SAndroid Build Coastguard Worker cpp_args : [cpp_msvc_compat_args], 57*61046927SAndroid Build Coastguard Worker include_directories : [inc_src, inc_include, inc_mapi], 58*61046927SAndroid Build Coastguard Worker link_with : [libglapi], 59*61046927SAndroid Build Coastguard Worker dependencies : [dep_thread, idep_gtest, idep_mesautilc11], 60*61046927SAndroid Build Coastguard Worker ), 61*61046927SAndroid Build Coastguard Worker suite : ['mapi'], 62*61046927SAndroid Build Coastguard Worker protocol : 'gtest', 63*61046927SAndroid Build Coastguard Worker ) 64*61046927SAndroid Build Coastguard Worker if with_symbols_check 65*61046927SAndroid Build Coastguard Worker test( 66*61046927SAndroid Build Coastguard Worker 'shared-glapi symbols check', 67*61046927SAndroid Build Coastguard Worker symbols_check, 68*61046927SAndroid Build Coastguard Worker args : [ 69*61046927SAndroid Build Coastguard Worker '--lib', libglapi, 70*61046927SAndroid Build Coastguard Worker '--symbols-file', files('glapi-symbols.txt'), 71*61046927SAndroid Build Coastguard Worker symbols_check_args, 72*61046927SAndroid Build Coastguard Worker ], 73*61046927SAndroid Build Coastguard Worker suite : ['mapi'], 74*61046927SAndroid Build Coastguard Worker ) 75*61046927SAndroid Build Coastguard Worker endif 76*61046927SAndroid Build Coastguard Workerendif 77