meson: disallow Venus debug + LTO build via GCC

This is likely a GCC issue per below (always succeed with clang):

|with gcc                  |optimization   |-Db_lto=true|
|-                         |-              |-           |
|-Dbuildtype=plain         |plain (default)|fail        |
|-Dbuildtype=debug         |0 (default)    |fail        |
|-Dbuildtype=debugoptimized|2 (default)    |succeed     |
|-Dbuildtype=release       |3 (default)    |succeed     |
|-Dbuildtype=minsize       |s (default)    |succeed     |
|-Dbuildtype=custom        |plain          |fail        |
|-Dbuildtype=custom        |0              |fail        |
|-Dbuildtype=custom        |g              |succeed     |
|-Dbuildtype=custom        |1              |succeed     |
|-Dbuildtype=custom        |2              |succeed     |
|-Dbuildtype=custom        |3              |succeed     |
|-Dbuildtype=custom        |s              |succeed     |

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28729>
This commit is contained in:
Yiwei Zhang 2024-05-06 22:25:34 -07:00 committed by Marge Bot
parent be7c137229
commit 423ba5d1c7
1 changed files with 6 additions and 0 deletions

View File

@ -2265,6 +2265,12 @@ endif
# as GCC LTO drops them. See: https://bugs.freedesktop.org/show_bug.cgi?id=109391
gcc_lto_quirk = (cc.get_id() == 'gcc') ? ['-fno-lto'] : []
# As of GCC 13.2.1, Venus build with optimization level plain/0 and LTO does not
# compile properly: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11006
if with_virtio_vk and cc.get_id() == 'gcc' and (get_option('optimization') == '0' or get_option('optimization') == 'plain') and get_option('b_lto') == true
error('Venus does not compile properly with GCC + optimization level plain/0 + LTO.')
endif
devenv = environment()
dir_compiler_nir = join_paths(meson.current_source_dir(), 'src/compiler/nir/')