diff --git a/Makefile.am b/Makefile.am index faefc679..14f2d516 100644 --- a/Makefile.am +++ b/Makefile.am @@ -94,7 +94,8 @@ libvkd3d_la_SOURCES = \ libs/vkd3d/vkd3d.map \ libs/vkd3d/vkd3d_main.c \ libs/vkd3d/vkd3d_private.h \ - libs/vkd3d/vulkan_procs.h + libs/vkd3d/vulkan_procs.h \ + libs/vkd3d_version.c libvkd3d_la_LDFLAGS = -version-info 1:0:0 libvkd3d_la_LIBADD = libvkd3d-common.la libvkd3d-shader.la @DL_LIBS@ @PTHREAD_LIBS@ if HAVE_LD_VERSION_SCRIPT @@ -173,6 +174,14 @@ libvkd3d.pc: $(srcdir)/libs/vkd3d/libvkd3d.pc.in -e 's![@]PACKAGE_VERSION[@]!$(PACKAGE_VERSION)!g' \ $< > $@ +libs/vkd3d_version.c: dummy-vkd3d-version + version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "vkd3d-$(PACKAGE_VERSION)") | sed -n -e '$$s/\(.*\)/const char vkd3d_build[] = "\1";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1) +.SILENT: libs/vkd3d_version.c +CLEANFILES += libs/vkd3d_version.c + +.PHONY: dummy-vkd3d-version +dummy-vkd3d-version: + ## Cross-compile tests cross_implibs = crosslibs/d3d12 CROSS_CPPFLAGS = -I$(srcdir)/include -I$(srcdir)/include/private -I$(builddir)/include diff --git a/libs/.gitignore b/libs/.gitignore new file mode 100644 index 00000000..b4fc05a2 --- /dev/null +++ b/libs/.gitignore @@ -0,0 +1 @@ +vkd3d_version.c diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index e4c4d521..fb57d76b 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -284,6 +284,8 @@ static HRESULT vkd3d_instance_init(struct vkd3d_instance *instance, VkResult vr; HRESULT hr; + TRACE("Build: %s.\n", vkd3d_build); + if (!create_info->pfn_signal_event) { ERR("Invalid signal event function pointer.\n"); diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h index 29611b8c..68582595 100644 --- a/libs/vkd3d/vkd3d_private.h +++ b/libs/vkd3d/vkd3d_private.h @@ -794,4 +794,6 @@ HRESULT vkd3d_load_vk_instance_procs(struct vkd3d_vk_instance_procs *procs, HRESULT vkd3d_load_vk_device_procs(struct vkd3d_vk_device_procs *procs, const struct vkd3d_vk_instance_procs *parent_procs, VkDevice device) DECLSPEC_HIDDEN; +extern const char vkd3d_build[]; + #endif /* __VKD3D_PRIVATE_H */