Skip to content

Commit abbe945

Browse files
tamirdojeda
authored andcommitted
rust: kbuild: deduplicate pin-init flags
Extract `pin_init{,_internal}-{cfgs,flags}` to reduce duplication. [ The new variables will be used later on to easily pass them to the `scripts/generate_rust_analyzer.py` script. - Miguel ] Acked-by: Benno Lossin <lossin@kernel.org> Signed-off-by: Tamir Duberstein <tamird@kernel.org> Link: https://patch.msgid.link/20260127-rust-analyzer-pin-init-duplication-v3-1-118c48c35e88@kernel.org [ Rebased. Moved new variables above. Reworded title. - Miguel ] Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
1 parent 9b89cea commit abbe945

1 file changed

Lines changed: 26 additions & 13 deletions

File tree

rust/Makefile

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,23 @@ syn-flags := \
117117
--extern quote \
118118
$(call cfgs-to-flags,$(syn-cfgs))
119119

120+
pin_init_internal-cfgs := \
121+
kernel
122+
123+
pin_init_internal-flags := \
124+
--extern proc_macro2 \
125+
--extern quote \
126+
--extern syn \
127+
$(call cfgs-to-flags,$(pin_init_internal-cfgs))
128+
129+
pin_init-cfgs := \
130+
kernel
131+
132+
pin_init-flags := \
133+
--extern pin_init_internal \
134+
--extern macros \
135+
$(call cfgs-to-flags,$(pin_init-cfgs))
136+
120137
# `rustdoc` did not save the target modifiers, thus workaround for
121138
# the time being (https://github.com/rust-lang/rust/issues/144521).
122139
rustdoc_modifiers_workaround := $(if $(call rustc-min-version,108800),-Cunsafe-allow-abi-mismatch=fixed-x18)
@@ -211,16 +228,15 @@ rustdoc-ffi: $(src)/ffi.rs rustdoc-core FORCE
211228
+$(call if_changed,rustdoc)
212229

213230
rustdoc-pin_init_internal: private rustdoc_host = yes
214-
rustdoc-pin_init_internal: private rustc_target_flags = --cfg kernel \
215-
--extern proc_macro --extern proc_macro2 --extern quote --extern syn \
216-
--crate-type proc-macro
231+
rustdoc-pin_init_internal: private rustc_target_flags = $(pin_init_internal-flags) \
232+
--extern proc_macro --crate-type proc-macro
217233
rustdoc-pin_init_internal: $(src)/pin-init/internal/src/lib.rs \
218234
rustdoc-clean rustdoc-proc_macro2 rustdoc-quote rustdoc-syn FORCE
219235
+$(call if_changed,rustdoc)
220236

221237
rustdoc-pin_init: private rustdoc_host = yes
222-
rustdoc-pin_init: private rustc_target_flags = --extern pin_init_internal \
223-
--extern macros --extern alloc --cfg kernel --cfg feature=\"alloc\"
238+
rustdoc-pin_init: private rustc_target_flags = $(pin_init-flags) \
239+
--extern alloc --cfg feature=\"alloc\"
224240
rustdoc-pin_init: $(src)/pin-init/src/lib.rs rustdoc-pin_init_internal \
225241
rustdoc-macros FORCE
226242
+$(call if_changed,rustdoc)
@@ -273,15 +289,14 @@ rusttestlib-macros: $(src)/macros/lib.rs \
273289
rusttestlib-proc_macro2 rusttestlib-quote rusttestlib-syn FORCE
274290
+$(call if_changed,rustc_test_library)
275291

276-
rusttestlib-pin_init_internal: private rustc_target_flags = --cfg kernel \
277-
--extern proc_macro --extern proc_macro2 --extern quote --extern syn
292+
rusttestlib-pin_init_internal: private rustc_target_flags = $(pin_init_internal-flags) \
293+
--extern proc_macro
278294
rusttestlib-pin_init_internal: private rustc_test_library_proc = yes
279295
rusttestlib-pin_init_internal: $(src)/pin-init/internal/src/lib.rs \
280296
rusttestlib-proc_macro2 rusttestlib-quote rusttestlib-syn FORCE
281297
+$(call if_changed,rustc_test_library)
282298

283-
rusttestlib-pin_init: private rustc_target_flags = --extern pin_init_internal \
284-
--extern macros --cfg kernel
299+
rusttestlib-pin_init: private rustc_target_flags = $(pin_init-flags)
285300
rusttestlib-pin_init: $(src)/pin-init/src/lib.rs rusttestlib-macros \
286301
rusttestlib-pin_init_internal $(obj)/$(libpin_init_internal_name) FORCE
287302
+$(call if_changed,rustc_test_library)
@@ -549,8 +564,7 @@ $(obj)/$(libmacros_name): $(src)/macros/lib.rs $(obj)/libproc_macro2.rlib \
549564
$(obj)/libquote.rlib $(obj)/libsyn.rlib FORCE
550565
+$(call if_changed_dep,rustc_procmacro)
551566

552-
$(obj)/$(libpin_init_internal_name): private rustc_target_flags = --cfg kernel \
553-
--extern proc_macro2 --extern quote --extern syn
567+
$(obj)/$(libpin_init_internal_name): private rustc_target_flags = $(pin_init_internal-flags)
554568
$(obj)/$(libpin_init_internal_name): $(src)/pin-init/internal/src/lib.rs \
555569
$(obj)/libproc_macro2.rlib $(obj)/libquote.rlib $(obj)/libsyn.rlib FORCE
556570
+$(call if_changed_dep,rustc_procmacro)
@@ -646,8 +660,7 @@ $(obj)/compiler_builtins.o: $(src)/compiler_builtins.rs $(obj)/core.o FORCE
646660
+$(call if_changed_rule,rustc_library)
647661

648662
$(obj)/pin_init.o: private skip_gendwarfksyms = 1
649-
$(obj)/pin_init.o: private rustc_target_flags = --extern pin_init_internal \
650-
--extern macros --cfg kernel
663+
$(obj)/pin_init.o: private rustc_target_flags = $(pin_init-flags)
651664
$(obj)/pin_init.o: $(src)/pin-init/src/lib.rs $(obj)/compiler_builtins.o \
652665
$(obj)/$(libpin_init_internal_name) $(obj)/$(libmacros_name) FORCE
653666
+$(call if_changed_rule,rustc_library)

0 commit comments

Comments
 (0)