intel/perf: move free_sample_bufs into perf
[mesa.git] / src / mesa / drivers / dri / meson.build
index 9e0e9638aa4a0b6274a59471b896c3808e49366a..1614744bdc54df1f2d39300b18ae78934fa88ac2 100644 (file)
 
 subdir('common')
 
-dri_drivers = []
-dri_link = []
+_dri_drivers = []
+_dri_link = []
+if with_dri_swrast
+  subdir('swrast')
+  _dri_drivers += libswrast_dri
+  _dri_link += 'swrast_dri.so'
+endif
+if with_dri_i915
+  subdir('i915')
+  _dri_drivers += libi915
+  _dri_link += 'i915_dri.so'
+endif
 if with_dri_i965
   subdir('i965')
+  _dri_drivers += libi965
+  _dri_link += 'i965_dri.so'
+endif
+if with_dri_r100
+  subdir('radeon')
+  _dri_drivers += libr100
+  _dri_link += 'radeon_dri.so'
+endif
+if with_dri_r200
+  subdir('r200')
+  _dri_drivers += libr200
+  _dri_link += 'r200_dri.so'
+endif
+if with_dri_nouveau
+  subdir('nouveau')
+  _dri_drivers += libnouveau_vieux
+  _dri_link += 'nouveau_vieux_dri.so'
 endif
 
-if with_dri
+if _dri_drivers != []
   libmesa_dri_drivers = shared_library(
     'mesa_dri_drivers',
-    dummy_cpp,  # see meson #2180
-    link_whole : dri_drivers,
-    link_with : [libmegadriver_stub, libdricommon, libxmlconfig, libglapi,
-                 libmesa_util, libnir, libmesa_classic],
-    dependencies : [dep_selinux, dep_libdrm, dep_expat, dep_m, dep_thread,
-                    dep_dl],
-    link_args : [ld_args_bsymbolic, ld_args_gc_sections],
+    [],
+    link_whole : _dri_drivers,
+    link_with : [
+      libmegadriver_stub, libdricommon, libglapi,
+      libmesa_classic,
+    ],
+    dependencies : [
+      dep_selinux, dep_libdrm, dep_m, dep_thread, dep_dl,
+      idep_nir, idep_xmlconfig, idep_mesautil,
+    ],
+    link_args : [ld_args_build_id, ld_args_bsymbolic, ld_args_gc_sections],
+    # Will be deleted during installation, see install_megadrivers.py
+    install : true,
+    install_dir : dri_drivers_path,
+    name_suffix : 'so',
   )
 
+  meson.add_install_script(
+    prog_python.path(),
+    join_paths(meson.source_root(), 'bin/install_megadrivers.py'),
+    libmesa_dri_drivers.full_path(),
+    dri_drivers_path,
+    _dri_link,
+  )
+endif
+
+# This needs to be installed if any dri drivers (including gallium dri drivers)
+# are built.
+if with_dri
+  dri_req_private = []
+  if dep_libdrm.found()
+    dri_req_private = ['libdrm >= ' + dep_libdrm.version()]
+  endif
+
   pkg.generate(
     name : 'dri',
     filebase : 'dri',
     description : 'Direct Rendering Infrastructure',
     version : meson.project_version(),
-    requires_private : ['libdrm >= 2.4.75'],  # FIXME: don't hardcode this
-  )
-
-  meson.add_install_script(
-    join_paths(meson.source_root(), 'bin/install_megadrivers.py'),
-    libmesa_dri_drivers.full_path(),
-    dri_drivers_path,
-    dri_link,
+    variables : ['dridriverdir=' + dri_drivers_path],
+    requires_private : dri_req_private,
   )
 endif