Hi

On 24 April 2024 13:36:55 CEST, Max Filippov <[email protected]> wrote:
>Make rule that announces and makes static libc archive can generate
>command line that is too long when a full path O= option is used. That
>breaks the build with the following message:
>
>  make: /bin/sh: Argument list too long
>
>Use make $(file) construct to generate file list file and use that file
>as $(AR) argument instead.


Busybox ar does not (yet)  support passing in a file containing the list of 
files, I fear?
Can you maybe add support for that, please?
thanks

>
>Signed-off-by: Max Filippov <[email protected]>
>---
> Makerules | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
>diff --git a/Makerules b/Makerules
>index fe8a7916e657..96f2a71ec49a 100644
>--- a/Makerules
>+++ b/Makerules
>@@ -276,7 +276,7 @@ cmd_compile.mi= $(cmd_compile.m:-c=-E -dD) 
>$(UCLIBC_EXTRA_CPPFLAGS)
> cmd_compile-m = $(CC) $^ -c -o $@ $(CFLAGS) $(CFLAGS-$(suffix $@)) 
> $(CFLAGS-$(notdir $(@D))) $(CFLAGS-$(notdir $@)) $(sort $(foreach 
> d,$(^:$(top_srcdir)=),$(collect_multi_flags)))
> cmd_strip     = $(STRIPTOOL) $(STRIP_FLAGS) $^
> cmd_t_strip   = $(STRIPTOOL) $(STRIP_FLAGS) $@
>-cmd_ar        = $(AR) $(ARFLAGS) $@ $(call objects_with_syms,,$^)
>+cmd_ar        = $(AR) $(ARFLAGS) $@ @[email protected]
> 
> define do_ln
>       @$(disp_ln)
>@@ -317,6 +317,7 @@ hcompile.u= @$(disp_hcompile.u); $(cmd_hcompile.u)
> hcompile.o= @$(disp_hcompile.o); $(cmd_hcompile.o)
> 
> define do_ar
>+      @$(file >[email protected],$(call objects_with_syms,,$^))
>       @$(disp_ar) ; $(cmd_ar)
>       @$(do_t_strip)
> endef

_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to