From ebefee0b7ddaf42d02ee4963b4a3d90d97ea5c8b Mon Sep 17 00:00:00 2001 From: Mac Malone Date: Mon, 11 Mar 2024 12:14:24 -0400 Subject: [PATCH] chore: response file to avoid arg limits in lean static lib build (#3612) --- src/lean.mk.in | 9 +++++++++ stage0/src/lean.mk.in | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/src/lean.mk.in b/src/lean.mk.in index d6ed3e021a..60fc1241a6 100644 --- a/src/lean.mk.in +++ b/src/lean.mk.in @@ -123,9 +123,18 @@ else $(LEANC) -o "$@" $^ $(LEANC_OPTS) $(LINK_OPTS) endif +ifeq (@CMAKE_SYSTEM_NAME@, Windows) $(LIB_OUT)/$(STATIC_LIB_NAME): $(addprefix $(TEMP_OUT)/,$(REL_OS)) | $(LIB_OUT) @rm -f $@ + $(file >$@.in) $(foreach O,$^,$(file >>$@.in,"$O")) + @$(LEAN_AR) rcs $@ @$@.in + @rm -f $@.in +else +$(LIB_OUT)/$(STATIC_LIB_NAME): $(addprefix $(TEMP_OUT)/,$(REL_OS)) | $(LIB_OUT) + @rm -f $@ +# no response file support on macOS, but also no need for them @$(LEAN_AR) rcs $@ $^ +endif clean: rm -rf $(OUT) diff --git a/stage0/src/lean.mk.in b/stage0/src/lean.mk.in index d6ed3e021a..60fc1241a6 100644 --- a/stage0/src/lean.mk.in +++ b/stage0/src/lean.mk.in @@ -123,9 +123,18 @@ else $(LEANC) -o "$@" $^ $(LEANC_OPTS) $(LINK_OPTS) endif +ifeq (@CMAKE_SYSTEM_NAME@, Windows) $(LIB_OUT)/$(STATIC_LIB_NAME): $(addprefix $(TEMP_OUT)/,$(REL_OS)) | $(LIB_OUT) @rm -f $@ + $(file >$@.in) $(foreach O,$^,$(file >>$@.in,"$O")) + @$(LEAN_AR) rcs $@ @$@.in + @rm -f $@.in +else +$(LIB_OUT)/$(STATIC_LIB_NAME): $(addprefix $(TEMP_OUT)/,$(REL_OS)) | $(LIB_OUT) + @rm -f $@ +# no response file support on macOS, but also no need for them @$(LEAN_AR) rcs $@ $^ +endif clean: rm -rf $(OUT)