Mesa (master): build: Build etnaviv drm

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jun 5 09:26:15 UTC 2019


Module: Mesa
Branch: master
Commit: b921df352d95886213d8a5db991c785c9bf5755c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b921df352d95886213d8a5db991c785c9bf5755c

Author: Guido Günther <agx at sigxcpu.org>
Date:   Fri May 31 14:35:08 2019 +0200

build: Build etnaviv drm

Signed-off-by: Guido Günther <guido.gunther at puri.sm>
Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>

---

 meson.build                                |  8 +++--
 src/etnaviv/drm/meson.build                | 48 ++++++++++++++++++++++++++++++
 src/etnaviv/meson.build                    | 23 ++++++++++++++
 src/gallium/drivers/etnaviv/meson.build    | 15 ++++++----
 src/gallium/winsys/etnaviv/drm/meson.build |  6 ++--
 src/meson.build                            |  3 ++
 6 files changed, 93 insertions(+), 10 deletions(-)

diff --git a/meson.build b/meson.build
index 23038295a8a..f0fa57ca515 100644
--- a/meson.build
+++ b/meson.build
@@ -1163,13 +1163,11 @@ dep_m = cc.find_library('m', required : false)
 dep_libdrm_amdgpu = null_dep
 dep_libdrm_radeon = null_dep
 dep_libdrm_nouveau = null_dep
-dep_libdrm_etnaviv = null_dep
 dep_libdrm_intel = null_dep
 
 _drm_amdgpu_ver = '2.4.97'
 _drm_radeon_ver = '2.4.71'
 _drm_nouveau_ver = '2.4.66'
-_drm_etnaviv_ver = '2.4.89'
 _drm_intel_ver = '2.4.75'
 _drm_ver = '2.4.75'
 
@@ -1179,7 +1177,6 @@ _libdrm_checks = [
   ['radeon', (with_gallium_radeonsi or with_dri_r100 or with_dri_r200 or
               with_gallium_r300 or with_gallium_r600)],
   ['nouveau', (with_gallium_nouveau or with_dri_nouveau)],
-  ['etnaviv', with_gallium_etnaviv],
 ]
 
 # VC4 only needs core libdrm support of this version, not a libdrm_vc4
@@ -1188,6 +1185,11 @@ if with_gallium_vc4
   _drm_ver = '2.4.89'
 endif
 
+# etnaviv only needs core libdrm
+if with_gallium_etnaviv
+  _drm_ver = '2.4.89'
+endif
+
 # Loop over the enables versions and get the highest libdrm requirement for all
 # active drivers.
 _drm_blame = ''
diff --git a/src/etnaviv/drm/meson.build b/src/etnaviv/drm/meson.build
new file mode 100644
index 00000000000..8fb6a7ac1e8
--- /dev/null
+++ b/src/etnaviv/drm/meson.build
@@ -0,0 +1,48 @@
+# Copyright © 2019 Purism SPC
+
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+libetnaviv_drm_files = files(
+  'etnaviv_device.c',
+  'etnaviv_gpu.c',
+  'etnaviv_bo.c',
+  'etnaviv_bo_cache.c',
+  'etnaviv_perfmon.c',
+  'etnaviv_pipe.c',
+  'etnaviv_cmd_stream.c',
+  'etnaviv_drmif.h',
+  'etnaviv_priv.h',
+)
+
+libetnaviv_drm = static_library(
+  'etnaviv_drm',
+  libetnaviv_drm_files,
+  include_directories : [
+    inc_etnaviv,
+    inc_common,
+  ],
+  c_args : [c_vis_args, no_override_init_args],
+  cpp_args : [cpp_vis_args],
+  dependencies : [
+    dep_libdrm,
+    dep_valgrind,
+  ],
+  build_by_default : false,
+)
+
diff --git a/src/etnaviv/meson.build b/src/etnaviv/meson.build
new file mode 100644
index 00000000000..a3c9eafdc2d
--- /dev/null
+++ b/src/etnaviv/meson.build
@@ -0,0 +1,23 @@
+# Copyright © 2019 Purism SPC
+
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+inc_etnaviv = include_directories(['.'])
+
+subdir('drm')
diff --git a/src/gallium/drivers/etnaviv/meson.build b/src/gallium/drivers/etnaviv/meson.build
index 75ed93eccc7..c84f4449c63 100644
--- a/src/gallium/drivers/etnaviv/meson.build
+++ b/src/gallium/drivers/etnaviv/meson.build
@@ -93,18 +93,23 @@ libetnaviv = static_library(
   'etnaviv',
   files_etnaviv,
   c_args : [c_vis_args],
-  include_directories : [inc_include, inc_src, inc_gallium, inc_gallium_aux],
-  dependencies : dep_libdrm_etnaviv,
+  include_directories : [
+    inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_etnaviv,
+  ],
+  link_with: libetnaviv_drm,
+  dependencies : dep_libdrm,
 )
 
 etnaviv_compiler = executable(
   'etnaviv_compiler',
   'etnaviv_compiler_cmdline.c',
-  include_directories : [inc_include, inc_src, inc_gallium, inc_gallium_aux],
-  link_with : [libmesa_util, libgallium, libetnaviv],
-  dependencies : [dep_libdrm_etnaviv],
+  include_directories : [
+    inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_etnaviv,
+  ],
+  link_with : [libmesa_util, libgallium, libetnaviv, libetnaviv_drm],
   build_by_default : with_tools.contains('etnaviv'),
   install : with_tools.contains('etnaviv'),
+  dependencies : dep_libdrm,
 )
 
 driver_etnaviv = declare_dependency(
diff --git a/src/gallium/winsys/etnaviv/drm/meson.build b/src/gallium/winsys/etnaviv/drm/meson.build
index 21bb6f67567..f931fd39e5b 100644
--- a/src/gallium/winsys/etnaviv/drm/meson.build
+++ b/src/gallium/winsys/etnaviv/drm/meson.build
@@ -22,7 +22,9 @@ libetnavivdrm = static_library(
   'etnavivdrm',
   'etnaviv_drm_winsys.c',
   include_directories : [
-    inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_gallium_drivers
+    inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_gallium_drivers,
+    inc_etnaviv,
   ],
-  dependencies : dep_libdrm_etnaviv
+  link_with: libetnaviv_drm,
+  dependencies : [dep_libdrm],
 )
diff --git a/src/meson.build b/src/meson.build
index 6d04b5fc3b2..8b983c15b60 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -64,6 +64,9 @@ endif
 if with_gallium_vc4 or with_gallium_v3d
   subdir('broadcom')
 endif
+if with_gallium_etnaviv
+  subdir('etnaviv')
+endif
 if with_gallium_freedreno or with_freedreno_vk
   subdir('freedreno')
 endif




More information about the mesa-commit mailing list