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 Workerinc_gbm = include_directories('.', 'main', 'backends/dri') 5*61046927SAndroid Build Coastguard Worker 6*61046927SAndroid Build Coastguard Workerfiles_gbm = files( 7*61046927SAndroid Build Coastguard Worker 'main/backend.c', 8*61046927SAndroid Build Coastguard Worker 'main/backend.h', 9*61046927SAndroid Build Coastguard Worker 'main/gbm.c', 10*61046927SAndroid Build Coastguard Worker 'main/gbm.h', 11*61046927SAndroid Build Coastguard Worker 'main/gbmint.h', 12*61046927SAndroid Build Coastguard Worker) 13*61046927SAndroid Build Coastguard Workerargs_gbm = [ 14*61046927SAndroid Build Coastguard Worker '-DDEFAULT_BACKENDS_PATH="@0@"'.format(gbm_backends_path), 15*61046927SAndroid Build Coastguard Worker] 16*61046927SAndroid Build Coastguard Workerincs_gbm = [include_directories('main'), inc_loader, inc_gallium] 17*61046927SAndroid Build Coastguard Worker 18*61046927SAndroid Build Coastguard Workerif with_dri2 19*61046927SAndroid Build Coastguard Worker subdir('backends/dri') 20*61046927SAndroid Build Coastguard Workerendif 21*61046927SAndroid Build Coastguard Worker 22*61046927SAndroid Build Coastguard Workerlibgbm_name = 'gbm' 23*61046927SAndroid Build Coastguard Worker 24*61046927SAndroid Build Coastguard Workerif with_platform_android and get_option('platform-sdk-version') >= 30 25*61046927SAndroid Build Coastguard Worker libgbm_name = 'gbm_mesa' 26*61046927SAndroid Build Coastguard Workerendif 27*61046927SAndroid Build Coastguard Worker 28*61046927SAndroid Build Coastguard Workerlibgbm = shared_library( 29*61046927SAndroid Build Coastguard Worker libgbm_name, 30*61046927SAndroid Build Coastguard Worker files_gbm, 31*61046927SAndroid Build Coastguard Worker include_directories : incs_gbm, 32*61046927SAndroid Build Coastguard Worker c_args : [args_gbm], 33*61046927SAndroid Build Coastguard Worker link_args : [ld_args_gc_sections], 34*61046927SAndroid Build Coastguard Worker link_with : [libloader], 35*61046927SAndroid Build Coastguard Worker dependencies : [dep_libdrm, idep_xmlconfig], 36*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 37*61046927SAndroid Build Coastguard Worker version : '1.0.0', 38*61046927SAndroid Build Coastguard Worker install : true, 39*61046927SAndroid Build Coastguard Worker) 40*61046927SAndroid Build Coastguard Worker 41*61046927SAndroid Build Coastguard Workerif with_tests 42*61046927SAndroid Build Coastguard Worker abi_check = executable('gbm_abi_check', 'main/gbm_abi_check.c') 43*61046927SAndroid Build Coastguard Worker test('gbm-abi-check', abi_check, suite : ['gbm']) 44*61046927SAndroid Build Coastguard Workerendif 45*61046927SAndroid Build Coastguard Worker 46*61046927SAndroid Build Coastguard Workerinstall_headers('main/gbm.h') 47*61046927SAndroid Build Coastguard Worker 48*61046927SAndroid Build Coastguard Workerpkg.generate( 49*61046927SAndroid Build Coastguard Worker name : 'gbm', 50*61046927SAndroid Build Coastguard Worker filebase : 'gbm', 51*61046927SAndroid Build Coastguard Worker description : 'Mesa gbm library', 52*61046927SAndroid Build Coastguard Worker version : meson.project_version(), 53*61046927SAndroid Build Coastguard Worker libraries : libgbm, 54*61046927SAndroid Build Coastguard Worker libraries_private : gbm_priv_libs, 55*61046927SAndroid Build Coastguard Worker variables : ['gbmbackendspath=' + gbm_backends_path], 56*61046927SAndroid Build Coastguard Worker) 57*61046927SAndroid Build Coastguard Worker 58*61046927SAndroid Build Coastguard Workerif with_symbols_check 59*61046927SAndroid Build Coastguard Worker test( 60*61046927SAndroid Build Coastguard Worker 'gbm-symbols-check', 61*61046927SAndroid Build Coastguard Worker symbols_check, 62*61046927SAndroid Build Coastguard Worker args : [ 63*61046927SAndroid Build Coastguard Worker '--lib', libgbm, 64*61046927SAndroid Build Coastguard Worker '--symbols-file', files('gbm-symbols.txt'), 65*61046927SAndroid Build Coastguard Worker symbols_check_args, 66*61046927SAndroid Build Coastguard Worker ], 67*61046927SAndroid Build Coastguard Worker suite : ['gbm'], 68*61046927SAndroid Build Coastguard Worker ) 69*61046927SAndroid Build Coastguard Workerendif 70