Commit 9e3bbbf5 authored by Miguel Ojeda's avatar Miguel Ojeda
Browse files

rust: warn if `srctree/` links do not exist



`srctree/` links may point to nonexistent files, e.g. due to renames
that missed to update the files or simply because of typos.

Since they can be easily checked for validity, do so and print a warning
in the file does not exist.

This found the following cases already in-tree:

    warning: srctree/ link to include/linux/blk_mq.h does not exist
    warning: srctree/ link to include/linux/drm/drm_gem.h does not exist
    warning: srctree/ link to include/linux/drm/drm_drv.h does not exist
    warning: srctree/ link to include/linux/drm/drm_ioctl.h does not exist
    warning: srctree/ link to include/linux/drm/drm_file.h does not exist
    warning: srctree/ link to include/linux/drm/drm_device.h does not exist

Inspired-by: default avatarOnur Özkan <work@onurozkan.dev>
Link: https://lore.kernel.org/rust-for-linux/CANiq72=xCYA7z7_rxpzzKkkhJs6m7L_xEaLMuArVn3ZAcyeHdA@mail.gmail.com/


Reviewed-by: default avatarOnur Özkan <work@onurozkan.dev>
Reviewed-by: default avatarDaniel Almeida <daniel.almeida@collabora.com>
Tested-by: default avatarDaniel Almeida <daniel.almeida@collabora.com>
Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
parent c2783c7c
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -98,6 +98,12 @@ quiet_cmd_rustdoc = RUSTDOC $(if $(rustdoc_host),H, ) $<
# and then retouch the generated files.
rustdoc: rustdoc-core rustdoc-macros rustdoc-compiler_builtins \
    rustdoc-kernel rustdoc-pin_init
	$(Q)grep -Ehro '<a href="srctree/([^"]+)"' $(rustdoc_output) | \
		cut -d'"' -f2 | cut -d/ -f2- | while read f; do \
			if [ ! -e "$(srctree)/$$f" ]; then \
				echo "warning: srctree/ link to $$f does not exist"; \
			fi \
		done
	$(Q)cp $(srctree)/Documentation/images/logo.svg $(rustdoc_output)/static.files/
	$(Q)cp $(srctree)/Documentation/images/COPYING-logo $(rustdoc_output)/static.files/
	$(Q)find $(rustdoc_output) -name '*.html' -type f -print0 | xargs -0 sed -Ei \