diff options
author | Dylan Baker <[email protected]> | 2017-11-15 10:43:20 -0800 |
---|---|---|
committer | Dylan Baker <[email protected]> | 2017-12-04 14:35:36 -0800 |
commit | 0bbecc5a8548883f76a7147ac7879f05a01770dc (patch) | |
tree | 1cc27fafd7566515e33ae4f6b63a4224b16ef436 /src/gallium/drivers | |
parent | 831d2fb01260016d5c253ab516ad7a2b844bb249 (diff) |
meson: define driver dependencies
This allow us to encapsulate the compiler and linkage requirements of
each driver in a reusable way. The result will be that each target that
needs a specific driver can simply add `driver_<name>` to its
dependencies line and the necessary libraries and compiler args will be
added. This will allow for a lot of code de-duplication between gallium
targets.
Signed-off-by: Dylan Baker <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/etnaviv/meson.build | 5 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/meson.build | 5 | ||||
-rw-r--r-- | src/gallium/drivers/i915/meson.build | 5 | ||||
-rw-r--r-- | src/gallium/drivers/llvmpipe/meson.build | 8 | ||||
-rw-r--r-- | src/gallium/drivers/nouveau/meson.build | 5 | ||||
-rw-r--r-- | src/gallium/drivers/r300/meson.build | 5 | ||||
-rw-r--r-- | src/gallium/drivers/r600/meson.build | 5 | ||||
-rw-r--r-- | src/gallium/drivers/radeonsi/meson.build | 9 | ||||
-rw-r--r-- | src/gallium/drivers/softpipe/meson.build | 5 | ||||
-rw-r--r-- | src/gallium/drivers/svga/meson.build | 5 | ||||
-rw-r--r-- | src/gallium/drivers/vc4/meson.build | 5 | ||||
-rw-r--r-- | src/gallium/drivers/vc5/meson.build | 5 | ||||
-rw-r--r-- | src/gallium/drivers/virgl/meson.build | 5 |
13 files changed, 72 insertions, 0 deletions
diff --git a/src/gallium/drivers/etnaviv/meson.build b/src/gallium/drivers/etnaviv/meson.build index 01cb45240fc..0c7dbe29a74 100644 --- a/src/gallium/drivers/etnaviv/meson.build +++ b/src/gallium/drivers/etnaviv/meson.build @@ -100,3 +100,8 @@ etnaviv_compiler = executable( dependencies : [dep_libdrm_etnaviv, dep_lmsensors], build_by_default : false, ) + +driver_etnaviv = declare_dependency( + compile_args : '-DGALLIUM_ETNAVIV', + link_with : [libetnaviv, libetnavivdrm], +) diff --git a/src/gallium/drivers/freedreno/meson.build b/src/gallium/drivers/freedreno/meson.build index 444e6234f38..daae8efdd66 100644 --- a/src/gallium/drivers/freedreno/meson.build +++ b/src/gallium/drivers/freedreno/meson.build @@ -220,6 +220,11 @@ libfreedreno = static_library( dependencies : [dep_libdrm, dep_libdrm_freedreno], ) +driver_freedreno = declare_dependency( + compile_args : '-DGALLIUM_FREEDRENO', + link_with : [libfreedrenowinsys, libfreedreno], +) + ir3_compiler = executable( 'ir3_compiler', 'ir3/ir3_cmdline.c', diff --git a/src/gallium/drivers/i915/meson.build b/src/gallium/drivers/i915/meson.build index 17f0f6adf8f..77f44a979dc 100644 --- a/src/gallium/drivers/i915/meson.build +++ b/src/gallium/drivers/i915/meson.build @@ -68,3 +68,8 @@ libi915 = static_library( c_args : [c_vis_args], include_directories : [inc_include, inc_src, inc_gallium, inc_gallium_aux], ) + +driver_i915 = declare_dependency( + compile_args : '-DGALLIUM_I915', + link_with : [libi915, libi915drm], +) diff --git a/src/gallium/drivers/llvmpipe/meson.build b/src/gallium/drivers/llvmpipe/meson.build index 9d0edb0ac33..597245ee814 100644 --- a/src/gallium/drivers/llvmpipe/meson.build +++ b/src/gallium/drivers/llvmpipe/meson.build @@ -100,6 +100,14 @@ libllvmpipe = static_library( dependencies : dep_llvm, ) +# This overwrites the softpipe driver dependency, but itself depends on the +# softpipe dependency. +driver_swrast = declare_dependency( + compile_args : '-DGALLIUM_LLVMPIPE', + link_with : libllvmpipe, + dependencies : driver_swrast, +) + if with_tests and with_gallium_softpipe and with_llvm foreach t : ['lp_test_format', 'lp_test_arit', 'lp_test_blend', 'lp_test_conv', 'lp_test_printf'] diff --git a/src/gallium/drivers/nouveau/meson.build b/src/gallium/drivers/nouveau/meson.build index b62494b2966..5d679e1c5a6 100644 --- a/src/gallium/drivers/nouveau/meson.build +++ b/src/gallium/drivers/nouveau/meson.build @@ -221,3 +221,8 @@ nouveau_compiler = executable( link_with : [libnouveau, libgallium, libmesa_util], build_by_default : false, ) + +driver_nouveau = declare_dependency( + compile_args : '-DGALLIUM_NOUVEAU', + link_with : [libnouveauwinsys, libnouveau], +) diff --git a/src/gallium/drivers/r300/meson.build b/src/gallium/drivers/r300/meson.build index dac0bc833e5..90fa5949fa4 100644 --- a/src/gallium/drivers/r300/meson.build +++ b/src/gallium/drivers/r300/meson.build @@ -129,6 +129,11 @@ libr300 = static_library( dependencies : [dep_libdrm_radeon, dep_llvm], ) +driver_r300 = declare_dependency( + compile_args : '-DGALLIUM_R300', + link_with : [libr300, libradeonwinsys], +) + if with_tests test('r300_compiler_test', executable( 'r300_compiler_test', diff --git a/src/gallium/drivers/r600/meson.build b/src/gallium/drivers/r600/meson.build index 411b550331d..2132dbb33ad 100644 --- a/src/gallium/drivers/r600/meson.build +++ b/src/gallium/drivers/r600/meson.build @@ -126,3 +126,8 @@ libr600 = static_library( ], dependencies: [dep_libdrm_radeon, dep_elf, dep_llvm], ) + +driver_r600 = declare_dependency( + compile_args : '-DGALLIUM_R600', + link_with : [libr600, libradeonwinsys], +) diff --git a/src/gallium/drivers/radeonsi/meson.build b/src/gallium/drivers/radeonsi/meson.build index c4915d06086..58132bf0720 100644 --- a/src/gallium/drivers/radeonsi/meson.build +++ b/src/gallium/drivers/radeonsi/meson.build @@ -79,3 +79,12 @@ libradeonsi = static_library( cpp_args : [cpp_vis_args], dependencies : dep_llvm, ) + +driver_radeonsi = declare_dependency( + compile_args : '-DGALLIUM_RADEONSI', + sources : si_driinfo_h, + link_with : [ + libradeonsi, libradeon, libradeonwinsys, libamdgpuwinsys, libamd_common, + libnir, + ], +) diff --git a/src/gallium/drivers/softpipe/meson.build b/src/gallium/drivers/softpipe/meson.build index df23533c72c..a345ff62ec9 100644 --- a/src/gallium/drivers/softpipe/meson.build +++ b/src/gallium/drivers/softpipe/meson.build @@ -82,3 +82,8 @@ libsoftpipe = static_library( include_directories : [inc_gallium_aux, inc_gallium, inc_include, inc_src], c_args : [c_vis_args, c_msvc_compat_args], ) + +driver_swrast = declare_dependency( + compile_args : '-DGALLIUM_SOFTPIPE', + link_with : libsoftpipe +) diff --git a/src/gallium/drivers/svga/meson.build b/src/gallium/drivers/svga/meson.build index d9a7da95a33..2976212fdfb 100644 --- a/src/gallium/drivers/svga/meson.build +++ b/src/gallium/drivers/svga/meson.build @@ -86,3 +86,8 @@ libsvga = static_library( include_directories('include') ], ) + +driver_svga = declare_dependency( + compile_args : '-DGALLIUM_VMWGFX', + link_with : [libsvga, libsvgadrm], +) diff --git a/src/gallium/drivers/vc4/meson.build b/src/gallium/drivers/vc4/meson.build index 572d4b4fa9a..9b816cc8fd5 100644 --- a/src/gallium/drivers/vc4/meson.build +++ b/src/gallium/drivers/vc4/meson.build @@ -112,3 +112,8 @@ libvc4 = static_library( dependencies : [dep_simpenrose, dep_libdrm, dep_valgrind], build_by_default : false, ) + +driver_vc4 = declare_dependency( + compile_args : '-DGALLIUM_VC4', + link_with : [libvc4, libvc4winsys, libbroadcom_cle, libnir], +) diff --git a/src/gallium/drivers/vc5/meson.build b/src/gallium/drivers/vc5/meson.build index 61059a15560..c09fcde5b45 100644 --- a/src/gallium/drivers/vc5/meson.build +++ b/src/gallium/drivers/vc5/meson.build @@ -62,3 +62,8 @@ libvc5 = static_library( cpp_args : [cpp_vis_args], dependencies : [dep_v3dv3, dep_libdrm, dep_valgrind], ) + +driver_vc5 = declare_dependency( + compile_args : '-DGALLIUM_VC5', + link_with : [libvc5, libvc5winsys, libbroadcom_cle, libbroadcom_vc5, libnir], +) diff --git a/src/gallium/drivers/virgl/meson.build b/src/gallium/drivers/virgl/meson.build index 8284f548927..16d185c5723 100644 --- a/src/gallium/drivers/virgl/meson.build +++ b/src/gallium/drivers/virgl/meson.build @@ -37,3 +37,8 @@ libvirgl = static_library( include_directories : inc_common, dependencies : dep_libdrm, ) + +driver_virgl = declare_dependency( + compile_args : '-DGALLIUM_VIRGL', + link_with : [libvirgl, libvirgldrm, libvirglvtest], +) |