intel/decoder: Avoid duplicate symbols when expat is not available

Fixes: 0669210ef4 ("intel/decoder: Add ELK support")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12335
(cherry picked from commit 89da5a9626)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33113>
This commit is contained in:
Matt Turner
2024-12-19 21:25:26 +00:00
committed by Dylan Baker
parent 7c3ecb9c69
commit f569f7bf4b
2 changed files with 27 additions and 8 deletions

View File

@@ -2044,7 +2044,7 @@
"description": "intel/decoder: Avoid duplicate symbols when expat is not available",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "0669210ef4274bb68aaa92402ed633290edd60d7",
"notes": null

View File

@@ -13,17 +13,21 @@ if not dep_expat.found()
libintel_decoder_files += files(
'intel_batch_decoder_stub.c',
)
libintel_decoder_brw_files = files()
libintel_decoder_elk_files = files()
else
libintel_decoder_deps += dep_expat
libintel_decoder_files += files(
'intel_decoder.c',
'intel_batch_decoder.c',
)
libintel_decoder_brw_files = files('intel_batch_decoder_brw.c')
libintel_decoder_elk_files = files('intel_batch_decoder_elk.c')
endif
libintel_decoder_brw = static_library(
'intel_decoder_brw',
[libintel_decoder_files, 'intel_batch_decoder_brw.c', genX_xml_h, sha1_h],
libintel_decoder = static_library(
'intel_decoder',
[libintel_decoder_files, genX_xml_h, sha1_h],
include_directories : [inc_include, inc_src, inc_intel],
c_args : [no_override_init_args, sse2_args],
gnu_symbol_visibility : 'hidden',
@@ -31,24 +35,39 @@ libintel_decoder_brw = static_library(
build_by_default : false,
)
idep_intel_decoder = declare_dependency(
link_with : [libintel_decoder],
dependencies : libintel_decoder_deps,
)
libintel_decoder_brw = static_library(
'intel_decoder_brw',
[libintel_decoder_brw_files, genX_xml_h, sha1_h],
include_directories : [inc_include, inc_src, inc_intel],
c_args : [no_override_init_args, sse2_args],
gnu_symbol_visibility : 'hidden',
dependencies : idep_intel_decoder,
build_by_default : false,
)
idep_intel_decoder_brw = declare_dependency(
link_with : [libintel_decoder_brw],
dependencies : libintel_decoder_deps,
dependencies : idep_intel_decoder,
)
libintel_decoder_elk = static_library(
'intel_decoder_elk',
[libintel_decoder_files, 'intel_batch_decoder_elk.c', genX_xml_h, sha1_h],
[libintel_decoder_elk_files, genX_xml_h, sha1_h],
include_directories : [inc_include, inc_src, inc_intel],
c_args : [no_override_init_args, sse2_args],
gnu_symbol_visibility : 'hidden',
dependencies : libintel_decoder_deps,
dependencies : idep_intel_decoder,
build_by_default : false,
)
idep_intel_decoder_elk = declare_dependency(
link_with : [libintel_decoder_elk],
dependencies : libintel_decoder_deps,
dependencies : idep_intel_decoder,
)
if with_tests and not with_platform_android