1# Copyright © 2017 Intel Corporation 2 3# Permission is hereby granted, free of charge, to any person obtaining a copy 4# of this software and associated documentation files (the "Software"), to deal 5# in the Software without restriction, including without limitation the rights 6# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7# copies of the Software, and to permit persons to whom the Software is 8# furnished to do so, subject to the following conditions: 9 10# The above copyright notice and this permission notice shall be included in 11# all copies or substantial portions of the Software. 12 13# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19# SOFTWARE. 20 21subdir('common') 22 23dri_drivers = [] 24dri_link = [] 25if with_dri_swrast 26 subdir('swrast') 27endif 28if with_dri_i915 29 subdir('i915') 30endif 31if with_dri_i965 32 subdir('i965') 33endif 34if with_dri_r100 35 subdir('radeon') 36endif 37if with_dri_r200 38 subdir('r200') 39endif 40if with_dri_nouveau 41 subdir('nouveau') 42endif 43 44if dri_drivers != [] 45 libmesa_dri_drivers = shared_library( 46 'mesa_dri_drivers', 47 dummy_cpp, # see meson #2180 48 link_whole : dri_drivers, 49 link_with : [ 50 libmegadriver_stub, libdricommon, libxmlconfig, libglapi, libmesa_util, 51 libmesa_classic, 52 ], 53 dependencies : [ 54 dep_selinux, dep_libdrm, dep_expat, dep_m, dep_thread, dep_dl, idep_nir, 55 ], 56 link_args : ['-Wl,--build-id=sha1', ld_args_bsymbolic, ld_args_gc_sections], 57 ) 58 59 meson.add_install_script( 60 join_paths(meson.source_root(), 'bin/install_megadrivers.py'), 61 libmesa_dri_drivers.full_path(), 62 dri_drivers_path, 63 dri_link, 64 ) 65endif 66 67# This needs to be installed if any dri drivers (including gallium dri drivers) 68# are built. 69if with_dri 70 dri_req_private = [] 71 if dep_libdrm.found() 72 dri_req_private = ['libdrm >= 2.4.75'] # FIXME: don't hardcode this 73 endif 74 75 pkg.generate( 76 name : 'dri', 77 filebase : 'dri', 78 description : 'Direct Rendering Infrastructure', 79 version : meson.project_version(), 80 variables : ['dridriverdir=${prefix}/' + dri_drivers_path], 81 requires_private : dri_req_private, 82 ) 83endif 84