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 21 subdir('common') 22 23 dri_drivers = [] 24 dri_link = [] 25 if with_dri_swrast 26 subdir('swrast') 27 endif 28 if with_dri_i915 29 subdir('i915') 30 endif 31 if with_dri_i965 32 subdir('i965') 33 endif 34 if with_dri_r100 35 subdir('radeon') 36 endif 37 if with_dri_r200 38 subdir('r200') 39 endif 40 if with_dri_nouveau 41 subdir('nouveau') 42 endif 43 44 if 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 ) 65 endif 66 67 # This needs to be installed if any dri drivers (including gallium dri drivers) 68 # are built. 69 if 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 ) 83 endif 84