1# Copyright © 2017 Intel Corporation 2# SPDX-License-Identifier: MIT 3 4inc_gbm = include_directories('.', 'main', 'backends/dri') 5 6files_gbm = files( 7 'main/backend.c', 8 'main/backend.h', 9 'main/gbm.c', 10 'main/gbm.h', 11 'main/gbmint.h', 12) 13args_gbm = [ 14 '-DDEFAULT_BACKENDS_PATH="@0@"'.format(gbm_backends_path), 15] 16incs_gbm = [include_directories('main'), inc_loader, inc_gallium] 17 18if with_dri2 19 subdir('backends/dri') 20endif 21 22libgbm_name = 'gbm' 23 24if with_platform_android and get_option('platform-sdk-version') >= 30 25 libgbm_name = 'gbm_mesa' 26endif 27 28libgbm = shared_library( 29 libgbm_name, 30 files_gbm, 31 include_directories : incs_gbm, 32 c_args : [args_gbm], 33 link_args : [ld_args_gc_sections], 34 link_with : [libloader], 35 dependencies : [dep_libdrm, idep_xmlconfig], 36 gnu_symbol_visibility : 'hidden', 37 version : '1.0.0', 38 install : true, 39) 40 41if with_tests 42 abi_check = executable('gbm_abi_check', 'main/gbm_abi_check.c') 43 test('gbm-abi-check', abi_check, suite : ['gbm']) 44endif 45 46install_headers('main/gbm.h') 47 48pkg.generate( 49 name : 'gbm', 50 filebase : 'gbm', 51 description : 'Mesa gbm library', 52 version : meson.project_version(), 53 libraries : libgbm, 54 libraries_private : gbm_priv_libs, 55 variables : ['gbmbackendspath=' + gbm_backends_path], 56) 57 58if with_symbols_check 59 test( 60 'gbm-symbols-check', 61 symbols_check, 62 args : [ 63 '--lib', libgbm, 64 '--symbols-file', files('gbm-symbols.txt'), 65 symbols_check_args, 66 ], 67 suite : ['gbm'], 68 ) 69endif 70