Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH] configure: support msvc build inside WSL
@ 2024-04-27 13:49 Timo Rothenpieler
  2024-04-27 20:14 ` [FFmpeg-devel] [PATCH v2] " Timo Rothenpieler
  0 siblings, 1 reply; 6+ messages in thread
From: Timo Rothenpieler @ 2024-04-27 13:49 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Timo Rothenpieler

---
 configure | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 8101b4fce6..b872c37933 100755
--- a/configure
+++ b/configure
@@ -5036,7 +5036,11 @@ probe_cc(){
         else
             _ident=$($_cc --version 2>/dev/null | head -n1 | tr -d '\r')
         fi
-        _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)'
+        if [ -x "$(command -v wslpath)" ]; then
+            _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); if (!match($$0, / /)) { cmd = "wslpath -u '\'\\\'\''" $$0 "'\'\\\'\''"; cmd | getline; close(cmd); print "$@:", $$0 } }'\'' > $(@:.o=.d)'
+        else
+            _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)'
+        fi
         _DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -showIncludes -Zs'
         _cflags_speed="-O2"
         _cflags_size="-O1"
-- 
2.43.2

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [FFmpeg-devel] [PATCH v2] configure: support msvc build inside WSL
  2024-04-27 13:49 [FFmpeg-devel] [PATCH] configure: support msvc build inside WSL Timo Rothenpieler
@ 2024-04-27 20:14 ` Timo Rothenpieler
  2024-04-27 20:21   ` Sean McGovern
  2024-05-01 15:06   ` Alexander Strasser via ffmpeg-devel
  0 siblings, 2 replies; 6+ messages in thread
From: Timo Rothenpieler @ 2024-04-27 20:14 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Timo Rothenpieler

---
 configure | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 8101b4fce6..89af5f75e7 100755
--- a/configure
+++ b/configure
@@ -5036,7 +5036,12 @@ probe_cc(){
         else
             _ident=$($_cc --version 2>/dev/null | head -n1 | tr -d '\r')
         fi
-        _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)'
+        if [ -x "$(command -v wslpath)" ]; then
+            _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); if (!match($$0, / /)) { print $$0 } }'\'' | xargs -d\\n -n1 wslpath -u | awk '\''BEGIN { printf "%s:", "$@" }; { sub(/\r/,""); printf " %s", $$0 }; END { print "" }'\'' > $(@:.o=.d)'
+
+        else
+            _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)'
+        fi
         _DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -showIncludes -Zs'
         _cflags_speed="-O2"
         _cflags_size="-O1"
-- 
2.43.2

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] configure: support msvc build inside WSL
  2024-04-27 20:14 ` [FFmpeg-devel] [PATCH v2] " Timo Rothenpieler
@ 2024-04-27 20:21   ` Sean McGovern
  2024-04-27 20:47     ` Timo Rothenpieler
  2024-05-01 15:06   ` Alexander Strasser via ffmpeg-devel
  1 sibling, 1 reply; 6+ messages in thread
From: Sean McGovern @ 2024-04-27 20:21 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

On Sat, Apr 27, 2024, 16:15 Timo Rothenpieler <timo@rothenpieler.org> wrote:

> ---
>  configure | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index 8101b4fce6..89af5f75e7 100755
> --- a/configure
> +++ b/configure
> @@ -5036,7 +5036,12 @@ probe_cc(){
>          else
>              _ident=$($_cc --version 2>/dev/null | head -n1 | tr -d '\r')
>          fi
> -        _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 |
> awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if
> (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)'
> +        if [ -x "$(command -v wslpath)" ]; then
> +            _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1
> | awk '\''/including/ { sub(/^.*file: */, ""); if (!match($$0, / /)) {
> print $$0 } }'\'' | xargs -d\\n -n1 wslpath -u | awk '\''BEGIN { printf
> "%s:", "$@" }; { sub(/\r/,""); printf " %s", $$0 }; END { print "" }'\'' >
> $(@:.o=.d)'
> +
> +        else
> +            _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1
> | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if
> (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)'
> +        fi
>          _DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -showIncludes -Zs'
>          _cflags_speed="-O2"
>          _cflags_size="-O1"
> --
> 2.43.2
>
> _______________________________________________
> 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".
>

Aside: We are now that much closer to summoning a demon inside 'configure'
*laughs*.

-- Sean McGovern

>
_______________________________________________
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".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] configure: support msvc build inside WSL
  2024-04-27 20:21   ` Sean McGovern
@ 2024-04-27 20:47     ` Timo Rothenpieler
  0 siblings, 0 replies; 6+ messages in thread
From: Timo Rothenpieler @ 2024-04-27 20:47 UTC (permalink / raw)
  To: ffmpeg-devel

On 27.04.2024 22:21, Sean McGovern wrote:
> Aside: We are now that much closer to summoning a demon inside 'configure'
> *laughs*.

The reasoning behind this complexification in v2 is that v1 put the 
string returned by cl.exe into a shell, allowing potential injection 
vectors.

Granted, the injection would come from inside ffmpeg code, so probably 
all would be lost at that point anyway, but at the very least, this 
approach avoids spawning a bunch of subshells we don't need, though is 
quite a bit uglier.
_______________________________________________
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".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] configure: support msvc build inside WSL
  2024-04-27 20:14 ` [FFmpeg-devel] [PATCH v2] " Timo Rothenpieler
  2024-04-27 20:21   ` Sean McGovern
@ 2024-05-01 15:06   ` Alexander Strasser via ffmpeg-devel
  2024-05-01 16:54     ` Timo Rothenpieler
  1 sibling, 1 reply; 6+ messages in thread
From: Alexander Strasser via ffmpeg-devel @ 2024-05-01 15:06 UTC (permalink / raw)
  To: FFmpeg development discussions and patches; +Cc: Alexander Strasser

On 2024-04-27 22:14 +0200, Timo Rothenpieler wrote:
> ---
>  configure | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index 8101b4fce6..89af5f75e7 100755
> --- a/configure
> +++ b/configure
> @@ -5036,7 +5036,12 @@ probe_cc(){
>          else
>              _ident=$($_cc --version 2>/dev/null | head -n1 | tr -d '\r')
>          fi
> -        _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)'
> +        if [ -x "$(command -v wslpath)" ]; then
> +            _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); if (!match($$0, / /)) { print $$0 } }'\'' | xargs -d\\n -n1 wslpath -u | awk '\''BEGIN { printf "%s:", "$@" }; { sub(/\r/,""); printf " %s", $$0 }; END { print "" }'\'' > $(@:.o=.d)'
> +
> +        else
> +            _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)'
> +        fi
>          _DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -showIncludes -Zs'
>          _cflags_speed="-O2"
>          _cflags_size="-O1"
> --

Should be good enough if it doesn't break MSVC builds outside of WSL.


  Alexander
_______________________________________________
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".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] configure: support msvc build inside WSL
  2024-05-01 15:06   ` Alexander Strasser via ffmpeg-devel
@ 2024-05-01 16:54     ` Timo Rothenpieler
  0 siblings, 0 replies; 6+ messages in thread
From: Timo Rothenpieler @ 2024-05-01 16:54 UTC (permalink / raw)
  To: ffmpeg-devel

On 01.05.2024 17:06, Alexander Strasser via ffmpeg-devel wrote:
> On 2024-04-27 22:14 +0200, Timo Rothenpieler wrote:
>> ---
>>   configure | 7 ++++++-
>>   1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/configure b/configure
>> index 8101b4fce6..89af5f75e7 100755
>> --- a/configure
>> +++ b/configure
>> @@ -5036,7 +5036,12 @@ probe_cc(){
>>           else
>>               _ident=$($_cc --version 2>/dev/null | head -n1 | tr -d '\r')
>>           fi
>> -        _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)'
>> +        if [ -x "$(command -v wslpath)" ]; then
>> +            _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); if (!match($$0, / /)) { print $$0 } }'\'' | xargs -d\\n -n1 wslpath -u | awk '\''BEGIN { printf "%s:", "$@" }; { sub(/\r/,""); printf " %s", $$0 }; END { print "" }'\'' > $(@:.o=.d)'
>> +
>> +        else
>> +            _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)'
>> +        fi
>>           _DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -showIncludes -Zs'
>>           _cflags_speed="-O2"
>>           _cflags_size="-O1"
>> --
> 
> Should be good enough if it doesn't break MSVC builds outside of WSL.

Unless there for some reason is a wslpath binary on the path, that won't 
be an issue.
Will apply shortly
_______________________________________________
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".

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-05-01 16:54 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-27 13:49 [FFmpeg-devel] [PATCH] configure: support msvc build inside WSL Timo Rothenpieler
2024-04-27 20:14 ` [FFmpeg-devel] [PATCH v2] " Timo Rothenpieler
2024-04-27 20:21   ` Sean McGovern
2024-04-27 20:47     ` Timo Rothenpieler
2024-05-01 15:06   ` Alexander Strasser via ffmpeg-devel
2024-05-01 16:54     ` Timo Rothenpieler

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