Home | History | Annotate | Download | only in dri
      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