Commit 7dbe46c0 authored by Miguel Ojeda's avatar Miguel Ojeda
Browse files

rust: kbuild: add proc macro library support



Add the proc macro library rule that produces `.rlib` files to be used
by proc macros such as the `macros` crate.

Reviewed-by: default avatarGary Guo <gary@garyguo.net>
Tested-by: default avatarGary Guo <gary@garyguo.net>
Tested-by: default avatarJesung Yang <y.j3ms.n@gmail.com>
Link: https://patch.msgid.link/20251124151837.2184382-4-ojeda@kernel.org


Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
parent 1181c974
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@
*.o.*
*.patch
*.pyc
*.rlib
*.rmeta
*.rpm
*.rsi
+10 −0
Original line number Diff line number Diff line
@@ -421,6 +421,16 @@ $(obj)/exports_bindings_generated.h: $(obj)/bindings.o FORCE
$(obj)/exports_kernel_generated.h: $(obj)/kernel.o FORCE
	$(call if_changed,exports)

quiet_cmd_rustc_procmacrolibrary = $(RUSTC_OR_CLIPPY_QUIET) PL $@
      cmd_rustc_procmacrolibrary = \
	$(if $(skip_clippy),$(RUSTC),$(RUSTC_OR_CLIPPY)) \
		$(filter-out $(skip_flags),$(rust_common_flags) $(rustc_target_flags)) \
		--emit=dep-info,link --crate-type rlib -O \
		--out-dir $(objtree)/$(obj) -L$(objtree)/$(obj) \
		--crate-name $(patsubst lib%.rlib,%,$(notdir $@)) $<; \
	mv $(objtree)/$(obj)/$(patsubst lib%.rlib,%,$(notdir $@)).d $(depfile); \
	sed -i '/^\#/d' $(depfile)

quiet_cmd_rustc_procmacro = $(RUSTC_OR_CLIPPY_QUIET) P $@
      cmd_rustc_procmacro = \
	$(RUSTC_OR_CLIPPY) $(rust_common_flags) $(rustc_target_flags) \