vulkan: Track dependencies of Python imports
The meson.build was unaware of transitive dependencies introduced by Python imports. Android still needs fixing. But I did not update the Android files lest I break the build. Ideally, we would fix this by using a Python runner that generates a depfile, similar to how meson creates depfiles for C files by passing flags -MD -MQ -MF to gcc. But this patch gets the job done, without stalling on the ideal general solution, by manually tracking the Python imports in new 'foo_depend_files' variables. CC: mesa-stable@lists.freedesktop.org Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1466>
This commit is contained in:
@@ -27,6 +27,7 @@ radv_entrypoints = custom_target(
|
||||
'--out-h', '@OUTPUT0@', '--out-c', '@OUTPUT1@', '--prefix', 'radv',
|
||||
'--device-prefix', 'sqtt',
|
||||
],
|
||||
depend_files : vk_entrypoints_gen_depend_files,
|
||||
)
|
||||
|
||||
libradv_files = files(
|
||||
|
@@ -26,6 +26,7 @@ v3dv_entrypoints = custom_target(
|
||||
prog_python, '@INPUT0@', '--xml', '@INPUT1@', '--proto', '--weak',
|
||||
'--out-h', '@OUTPUT0@', '--out-c', '@OUTPUT1@', '--prefix', 'v3dv',
|
||||
],
|
||||
depend_files : vk_entrypoints_gen_depend_files,
|
||||
)
|
||||
|
||||
v3dv_extensions_c = custom_target(
|
||||
|
@@ -26,6 +26,7 @@ tu_entrypoints = custom_target(
|
||||
prog_python, '@INPUT0@', '--xml', '@INPUT1@', '--proto', '--weak',
|
||||
'--out-h', '@OUTPUT0@', '--out-c', '@OUTPUT1@', '--prefix', 'tu',
|
||||
],
|
||||
depend_files : vk_entrypoints_gen_depend_files,
|
||||
)
|
||||
|
||||
tu_extensions_c = custom_target(
|
||||
|
@@ -7,6 +7,7 @@ lvp_entrypoints = custom_target(
|
||||
prog_python, '@INPUT0@', '--xml', '@INPUT1@', '--proto', '--weak',
|
||||
'--out-h', '@OUTPUT0@', '--out-c', '@OUTPUT1@', '--prefix', 'lvp',
|
||||
],
|
||||
depend_files : vk_entrypoints_gen_depend_files,
|
||||
)
|
||||
|
||||
liblvp_files = files(
|
||||
|
@@ -30,6 +30,7 @@ anv_entrypoints = custom_target(
|
||||
'--device-prefix', 'gfx11', '--device-prefix', 'gfx12',
|
||||
'--device-prefix', 'gfx125',
|
||||
],
|
||||
depend_files : vk_entrypoints_gen_depend_files,
|
||||
)
|
||||
|
||||
intel_icd = custom_target(
|
||||
|
@@ -18,6 +18,23 @@
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
|
||||
# Mesa-local imports in the Python files must be declared here for correct
|
||||
# dependency tracking.
|
||||
vk_extensions_depend_files = [
|
||||
]
|
||||
vk_extensions_gen_depend_files = [
|
||||
files('vk_extensions.py'),
|
||||
vk_extensions_depend_files,
|
||||
]
|
||||
vk_dispatch_table_gen_depend_files = [
|
||||
files('vk_extensions.py'),
|
||||
vk_extensions_depend_files,
|
||||
]
|
||||
vk_entrypoints_gen_depend_files = [
|
||||
files('vk_dispatch_table_gen.py'),
|
||||
vk_dispatch_table_gen_depend_files,
|
||||
]
|
||||
|
||||
vk_entrypoints_gen = files('vk_entrypoints_gen.py')
|
||||
vk_extensions_gen = files('vk_extensions_gen.py')
|
||||
vk_icd_gen = files('vk_icd_gen.py')
|
||||
@@ -55,6 +72,7 @@ vk_common_entrypoints = custom_target(
|
||||
prog_python, '@INPUT0@', '--xml', '@INPUT1@', '--proto', '--weak',
|
||||
'--out-h', '@OUTPUT0@', '--out-c', '@OUTPUT1@', '--prefix', 'vk_common',
|
||||
],
|
||||
depend_files : vk_entrypoints_gen_depend_files,
|
||||
)
|
||||
|
||||
vk_dispatch_table = custom_target(
|
||||
@@ -65,6 +83,7 @@ vk_dispatch_table = custom_target(
|
||||
prog_python, '@INPUT0@', '--xml', '@INPUT1@',
|
||||
'--out-c', '@OUTPUT0@', '--out-h', '@OUTPUT1@'
|
||||
],
|
||||
depend_files : vk_dispatch_table_gen_depend_files,
|
||||
)
|
||||
|
||||
vk_enum_to_str = custom_target(
|
||||
@@ -85,7 +104,7 @@ vk_extensions = custom_target(
|
||||
prog_python, '@INPUT0@', '--xml', '@INPUT1@',
|
||||
'--out-c', '@OUTPUT0@', '--out-h', '@OUTPUT1@'
|
||||
],
|
||||
depend_files : files('vk_extensions.py'),
|
||||
depend_files : vk_extensions_gen_depend_files,
|
||||
)
|
||||
|
||||
libvulkan_util = static_library(
|
||||
|
@@ -33,6 +33,8 @@ import xml.etree.ElementTree as et
|
||||
from collections import OrderedDict, namedtuple
|
||||
from mako.template import Template
|
||||
|
||||
# Mesa-local imports must be declared in meson variable
|
||||
# '{file_without_suffix}_depend_files'.
|
||||
from vk_extensions import *
|
||||
|
||||
# We generate a static hash table for entry point lookup
|
||||
|
@@ -28,6 +28,8 @@ import os
|
||||
|
||||
from mako.template import Template
|
||||
|
||||
# Mesa-local imports must be declared in meson variable
|
||||
# '{file_without_suffix}_depend_files'.
|
||||
from vk_dispatch_table_gen import get_entrypoints_from_xml
|
||||
|
||||
TEMPLATE_H = Template(COPYRIGHT + """\
|
||||
|
@@ -28,6 +28,8 @@ import xml.etree.ElementTree as et
|
||||
|
||||
from mako.template import Template
|
||||
|
||||
# Mesa-local imports must be declared in meson variable
|
||||
# '{file_without_suffix}_depend_files'.
|
||||
from vk_extensions import *
|
||||
|
||||
_TEMPLATE_H = Template(COPYRIGHT + """
|
||||
|
Reference in New Issue
Block a user