From: Gyan Doshi <ffmpeg@gyani.pro>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [FFmpeg-cvslog] ffbuild: use response files only if ar accepts them
Date: Thu, 20 Mar 2025 17:14:00 +0530
Message-ID: <0bd7bbd9-8d64-4cf5-b317-ba084d58fc1b@gyani.pro> (raw)
In-Reply-To: <CALweWgC=ovGs6QU911ZsQXC6m--4KBAM0SFmTfpcc5NQyOh5TA@mail.gmail.com>
On 2025-03-20 05:39 am, Ramiro Polla wrote:
> On Tue, Mar 18, 2025 at 11:06 AM Gyan Doshi<git@videolan.org> wrote:
>> ffmpeg | branch: master | Gyan Doshi<ffmpeg@gyani.pro> | Mon Mar 17 20:57:28 2025 +0530| [740d4009656abeb006e2d43001b59d875c1a7a6a] | committer: Gyan Doshi
>>
>> ffbuild: use response files only if ar accepts them
> Sorry to come in late to the discussion...
>
> I'm not a big fan of response files, because they make troubleshooting
> more annoying (I like copying the command that failed and running it
> again on its own with all arguments). IMO this shouldn't be the
> default, but only used on systems where this could be a problem (i.e.:
> Windows). Also, only based on host systems, so not while
> cross-compiling from Linux.
I don't think most users want to log a ~30K character command for debugging.
How about an option, choices : yes, no, auto(default)?
> I was wondering why ld.exe/ar.exe fail with a long argument list, but
> echo doesn't. After a bit of investigation, it seems that cygwin/msys2
> pass arguments through STARTUPINFO::lpReserved2 and shared memory. But
> only programs built for cygwin/msys2 can make use of that, otherwise
> the parameters from CreateProcess() are used. So echo is a
> cygwin/msys2 program, but ld.exe/ar.exe are not. If, by any chance,
> you have a non-cygwin/msys2 echo.exe on your path, this will fail
> again.
I think this permutation of tools is low-probability but I have a
workaround in mind, so I'll send that.
>> @@ -68,8 +72,12 @@ $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR)
>>
>> $(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(OBJS) $(SHLIBOBJS) $(SLIBOBJS) $(SUBDIR)lib$(NAME).ver
>> $(SLIB_CREATE_DEF_CMD)
>> +ifeq ($(AR_OBJS),true)
>> $(Q)echo $$(filter %.o,$$^) > $$@.objs
>> $$(LD) $(SHFLAGS) $(LDFLAGS) $(LDSOFLAGS) $$(LD_O) @$$@.objs $(FFEXTRALIBS)
>> +else
>> + $$(LD) $(SHFLAGS) $(LDFLAGS) $(LDSOFLAGS) $$(LD_O) $$(filter %.o,$$^) $(FFEXTRALIBS)
>> +endif
>> $(SLIB_EXTRA_CMD)
>> -$(RM) $$@.objs
> Is there any reason why we don't ifeq the removal of the response file as well?
The command result won't abort the script so I avoided inserting more
guards.
Regards,
Gyan
_______________________________________________
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".
prev parent reply other threads:[~2025-03-20 11:44 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20250318100614.51261412756@natalya.videolan.org>
2025-03-20 0:09 ` Ramiro Polla
2025-03-20 10:59 ` Martin Storsjö
2025-03-20 11:44 ` Gyan Doshi [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0bd7bbd9-8d64-4cf5-b317-ba084d58fc1b@gyani.pro \
--to=ffmpeg@gyani.pro \
--cc=ffmpeg-devel@ffmpeg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git