[Mesa-dev] [PATCH 6/6] meson: build classic swrast
Dylan Baker
dylan at pnwbakers.com
Wed Oct 4 00:26:49 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 | 5 +++
src/mesa/drivers/dri/{ => swrast}/meson.build | 45 +++++----------------------
4 files changed, 16 insertions(+), 38 deletions(-)
copy src/mesa/drivers/dri/{ => swrast}/meson.build (52%)
diff --git a/meson.build b/meson.build
index 185d70509c5..603bdfbdb7f 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 2306be319cc..5fdb41e6071 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -21,7 +21,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 f7403ec09fc..153aa15efb6 100644
--- a/src/mesa/drivers/dri/meson.build
+++ b/src/mesa/drivers/dri/meson.build
@@ -19,11 +19,16 @@
# SOFTWARE.
subdir('common')
+subdir('swrast')
subdir('i965')
if with_dri
dri_drivers = []
dri_link = []
+ if with_dri_swrast
+ dri_drivers += libswrast_dri
+ dri_link += 'swrast_dri.so'
+ endif
if with_dri_i965
dri_drivers += libi965
dri_link += 'i965_dri.so'
diff --git a/src/mesa/drivers/dri/meson.build b/src/mesa/drivers/dri/swrast/meson.build
similarity index 52%
copy from src/mesa/drivers/dri/meson.build
copy to src/mesa/drivers/dri/swrast/meson.build
index f7403ec09fc..1235dedbe3c 100644
--- a/src/mesa/drivers/dri/meson.build
+++ b/src/mesa/drivers/dri/swrast/meson.build
@@ -18,40 +18,11 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
-subdir('common')
-subdir('i965')
-
-if with_dri
- dri_drivers = []
- dri_link = []
- if with_dri_i965
- dri_drivers += libi965
- dri_link += 'i965_dri.so'
- endif
-
- 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(),
- with_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,
+ build_by_default : false,
+)
--
2.14.1
More information about the mesa-dev
mailing list