From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id F23EE4E76B
	for <ffmpegdev@gitmailbox.com>; Sat, 15 Mar 2025 07:56:56 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 793B168E104;
	Sat, 15 Mar 2025 09:56:52 +0200 (EET)
Received: from mout-p-201.mailbox.org (mout-p-201.mailbox.org [80.241.56.171])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2DC3568DC17
 for <ffmpeg-devel@ffmpeg.org>; Sat, 15 Mar 2025 09:56:45 +0200 (EET)
Received: from smtp102.mailbox.org (smtp102.mailbox.org
 [IPv6:2001:67c:2050:b231:465::102])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by mout-p-201.mailbox.org (Postfix) with ESMTPS id 4ZFD8W1Ykrz9tBL
 for <ffmpeg-devel@ffmpeg.org>; Sat, 15 Mar 2025 08:56:43 +0100 (CET)
Message-ID: <fdf87de9-9c4a-4136-bbbc-94f23bdc396d@gyani.pro>
Date: Sat, 15 Mar 2025 13:26:39 +0530
MIME-Version: 1.0
To: ffmpeg-devel@ffmpeg.org
References: <20250313130434.60910-1-ffmpeg@gyani.pro>
Content-Language: en-US
From: Gyan Doshi <ffmpeg@gyani.pro>
In-Reply-To: <20250313130434.60910-1-ffmpeg@gyani.pro>
X-Rspamd-Queue-Id: 4ZFD8W1Ykrz9tBL
Subject: Re: [FFmpeg-devel] [PATCH v3] ffbuild: read library linker objects
 from a file
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/fdf87de9-9c4a-4136-bbbc-94f23bdc396d@gyani.pro/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>



On 2025-03-13 06:32 pm, Gyan Doshi wrote:
> The linker command can exceed the maximum argument limit on MinGW,
> especially for libavcodec.
>
> The objects list is now stored in a file and passed to the linker.
> ---
> v3:
>    for reasons unknown to me, static linking doesn't appear to
>    work on linux with escaped variables, so removed those.
>    Someone please test on linux both static and shared builds.

Both static and shared build tested on Ubuntu (WSL).
Plan to push tomorrow.

Regards,
Gyan


>
>   .gitignore          | 1 +
>   ffbuild/common.mak  | 2 +-
>   ffbuild/library.mak | 8 ++++++--
>   3 files changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/.gitignore b/.gitignore
> index 9cfc78b414..430abaf91b 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -1,5 +1,6 @@
>   *.a
>   *.o
> +*.objs
>   *.o.*
>   *.d
>   *.def
> diff --git a/ffbuild/common.mak b/ffbuild/common.mak
> index 023adb8567..ca45a0f368 100644
> --- a/ffbuild/common.mak
> +++ b/ffbuild/common.mak
> @@ -214,7 +214,7 @@ $(TOOLOBJS): | tools
>   
>   OUTDIRS := $(OUTDIRS) $(dir $(OBJS) $(HOBJS) $(HOSTOBJS) $(SLIBOBJS) $(SHLIBOBJS) $(STLIBOBJS) $(TESTOBJS))
>   
> -CLEANSUFFIXES     = *.d *.gcda *.gcno *.h.c *.ho *.map *.o *.pc *.ptx *.ptx.gz *.ptx.c *.ver *.version *$(DEFAULT_X86ASMD).asm *~ *.ilk *.pdb
> +CLEANSUFFIXES     = *.d *.gcda *.gcno *.h.c *.ho *.map *.o *.objs *.pc *.ptx *.ptx.gz *.ptx.c *.ver *.version *$(DEFAULT_X86ASMD).asm *~ *.ilk *.pdb
>   LIBSUFFIXES       = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a
>   
>   define RULES
> diff --git a/ffbuild/library.mak b/ffbuild/library.mak
> index 793e9d41fa..72e3872157 100644
> --- a/ffbuild/library.mak
> +++ b/ffbuild/library.mak
> @@ -35,8 +35,10 @@ OBJS += $(SHLIBOBJS)
>   endif
>   $(SUBDIR)$(LIBNAME): $(OBJS) $(STLIBOBJS)
>   	$(RM) $@
> -	$(AR) $(ARFLAGS) $(AR_O) $^
> +	$(Q)echo $^ > $@.objs
> +	$(AR) $(ARFLAGS) $(AR_O) @$@.objs
>   	$(RANLIB) $@
> +	-$(RM) $@.objs
>   
>   install-headers: install-lib$(NAME)-headers install-lib$(NAME)-pkgconfig
>   
> @@ -66,8 +68,10 @@ $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR)
>   
>   $(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(OBJS) $(SHLIBOBJS) $(SLIBOBJS) $(SUBDIR)lib$(NAME).ver
>   	$(SLIB_CREATE_DEF_CMD)
> -	$$(LD) $(SHFLAGS) $(LDFLAGS) $(LDSOFLAGS) $$(LD_O) $$(filter %.o,$$^) $(FFEXTRALIBS)
> +	$(Q)echo $$(filter %.o,$$^) > $$@.objs
> +	$$(LD) $(SHFLAGS) $(LDFLAGS) $(LDSOFLAGS) $$(LD_O) @$$@.objs $(FFEXTRALIBS)
>   	$(SLIB_EXTRA_CMD)
> +	-$(RM) $$@.objs
>   
>   ifdef SUBDIR
>   $(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(DEP_LIBS)

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".