[Mesa-dev] [PATCH v2 10/12] meson: build classic swrast
Dylan Baker
dylan at pnwbakers.com
Thu Oct 5 17:12:28 UTC 2017
This adds support for building the classic swrast implementation. This
driver has been tested with glxinfo and glxgears.
Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
---
meson.build | 2 ++
meson_options.txt | 2 +-
src/mesa/drivers/dri/meson.build | 3 ++
src/mesa/drivers/dri/{ => swrast}/meson.build | 45 ++++++---------------------
4 files changed, 16 insertions(+), 36 deletions(-)
copy src/mesa/drivers/dri/{ => swrast}/meson.build (53%)
diff --git a/meson.build b/meson.build
index 79ee1a33459..bff40f697d3 100644
--- a/meson.build
+++ b/meson.build
@@ -73,10 +73,12 @@ endif
with_dri = false
with_dri_i965 = false
+with_dri_swrast = false
_drivers = get_option('dri-drivers')
if _drivers != ''
_split = _drivers.split(',')
with_dri_i965 = _split.contains('i965')
+ with_dri_swrast = _split.contains('swrast')
with_dri = true
endif
diff --git a/meson_options.txt b/meson_options.txt
index 6dde267de95..029626d69a4 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -22,7 +22,7 @@ option('platforms', type : 'string', value : 'x11,wayland',
description : 'comma separated list of window systems to support. wayland, x11, surfaceless, drm, etc.')
option('dri3', type : 'combo', value : 'auto', choices : ['auto', 'yes', 'no'],
description : 'enable support for dri3')
-option('dri-drivers', type : 'string', value : 'i965',
+option('dri-drivers', type : 'string', value : 'swrast,i965',
description : 'comma separated list of dri drivers to build.')
option('dri-drivers-path', type : 'string', value : '',
description : 'Location of dri drivers. Default: $libdir/dri.')
diff --git a/src/mesa/drivers/dri/meson.build b/src/mesa/drivers/dri/meson.build
index 9e0e9638aa4..cc2272eff6d 100644
--- a/src/mesa/drivers/dri/meson.build
+++ b/src/mesa/drivers/dri/meson.build
@@ -22,6 +22,9 @@ subdir('common')
dri_drivers = []
dri_link = []
+if with_dri_swrast
+ subdir('swrast')
+endif
if with_dri_i965
subdir('i965')
endif
diff --git a/src/mesa/drivers/dri/meson.build b/src/mesa/drivers/dri/swrast/meson.build
similarity index 53%
copy from src/mesa/drivers/dri/meson.build
copy to src/mesa/drivers/dri/swrast/meson.build
index 9e0e9638aa4..5ceb1e33e3e 100644
--- a/src/mesa/drivers/dri/meson.build
+++ b/src/mesa/drivers/dri/swrast/meson.build
@@ -18,38 +18,13 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
-subdir('common')
-
-dri_drivers = []
-dri_link = []
-if with_dri_i965
- subdir('i965')
-endif
-
-if with_dri
- 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],
- )
-
- 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,
- )
-endif
+libswrast_dri = static_library(
+ 'swrast_dri',
+ files('swrast.c', 'swrast_priv.h'),
+ c_args : [c_vis_args],
+ include_directories : [inc_common, inc_dri_common],
+ dependencies : dep_libdrm,
+)
+
+dri_drivers += libswrast_dri
+dri_link += 'swrast_dri.so'
--
2.14.1
More information about the mesa-dev
mailing list