X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=blobdiff_plain;f=src%2Fmeson.build;h=15fa52be57c4f84c081e694be8b834de5a8d43ef;hp=f980d25b7dd7b13b47e406e3c4dd29789c0e142b;hb=9d0523b569bb7208c6e74cafc0f3945415d94336;hpb=05a94a4dfc79f95d597dd6fc08eea4a947eb300c diff --git a/src/meson.build b/src/meson.build index f980d25b7dd..15fa52be57c 100644 --- a/src/meson.build +++ b/src/meson.build @@ -18,17 +18,23 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -inc_common = include_directories( - '../include', '.', 'mapi', 'mesa', 'gallium/include', 'gallium/auxiliary') +inc_common = [inc_include, include_directories( + '.', 'mapi', 'mesa', 'gallium/include', 'gallium/auxiliary')] inc_mesa = include_directories('mesa') inc_mapi = include_directories('mapi') inc_src = include_directories('.') +inc_gallium = include_directories('gallium/include') +inc_gallium_aux = include_directories('gallium/auxiliary') +inc_amd_common = include_directories('amd/common') +inc_amd_common_llvm = include_directories('amd/llvm') libglsl_util = static_library( 'glsl_util', - files('mesa/main/extensions_table.c', 'mesa/main/imports.c', - 'mesa/program/prog_parameter.c', 'mesa/program/symbol_table.c', - 'mesa/program/dummy_errors.c'), + files( + 'mesa/main/extensions_table.c', 'mesa/main/imports.c', + 'mesa/program/prog_parameter.c', 'mesa/program/symbol_table.c', + 'mesa/program/dummy_errors.c', + ), include_directories : [inc_common], c_args : [c_vis_args], build_by_default : false, @@ -37,34 +43,93 @@ libglsl_util = static_library( sha1_h = custom_target( 'git_sha1.h', output : 'git_sha1.h', - command : [prog_python2, git_sha1_gen_py, '--output', '@OUTPUT@'], + command : [prog_python, git_sha1_gen_py, '--output', '@OUTPUT@'], build_always : true, # commit sha1 can change without having touched these files ) subdir('gtest') +if cc.get_id() == 'msvc' + subdir('getopt') +else + idep_getopt = null_dep +endif subdir('util') -subdir('mapi/glapi/gen') subdir('mapi') # TODO: opengl -# TODO: osmesa subdir('compiler') -subdir('egl/wayland/wayland-drm') -subdir('vulkan') -subdir('amd') -if with_gallium_vc4 +if with_tools.contains('drm-shim') + subdir('drm-shim') +endif +subdir('imgui') +if with_platform_wayland + subdir('egl/wayland/wayland-drm') +endif +if with_any_vk + subdir('vulkan') +endif +if with_gallium_radeonsi or with_amd_vk + subdir('amd') +endif +if with_gallium_vc4 or with_gallium_v3d subdir('broadcom') endif -subdir('intel') +if with_gallium_etnaviv + subdir('etnaviv') +endif +if with_gallium_freedreno or with_freedreno_vk + subdir('freedreno') +endif +if with_gallium_panfrost or with_gallium_lima + subdir('panfrost') +endif +if with_dri_i965 or with_intel_vk or with_gallium_iris + subdir('intel') +endif subdir('mesa') subdir('loader') -subdir('glx') -if with_platform_wayland - subdir('egl/wayland/wayland-egl') +if with_platform_haiku + subdir('hgl') +endif +if with_glx == 'dri' + subdir('glx') endif if with_gbm subdir('gbm') +else + inc_gbm = [] endif if with_egl subdir('egl') endif -subdir('gallium') +if with_gallium + subdir('gallium') + # This has to be here since it requires libgallium, and subdir cannot + # contain .. + if with_tests and with_shared_glapi + subdir('mesa/state_tracker/tests') + endif +endif + +# This must be after at least mesa, glx, and gallium, since libgl will be +# defined in one of those subdirs depending on the glx provider. +if with_glx != 'disabled' and (not with_glvnd or not glvnd_has_headers_and_pc_files) + # If using glvnd the pkg-config header should not point to GL_mesa, it should + # point to GL. glvnd is only available on unix like platforms so adding -l + # should be safe here + # TODO: in the glvnd case glvnd itself should really be providing this. + if not glvnd_has_headers_and_pc_files + _gl = '-L${libdir} -lGL' + else + _gl = libgl + endif + + pkg.generate( + name : 'gl', + description : 'Mesa OpenGL Library', + version : meson.project_version(), + libraries : _gl, + libraries_private : gl_priv_libs, + requires_private : gl_priv_reqs, + variables : ['glx_tls=yes'], + ) +endif