[FFmpeg-devel] [PATCH 1/3] configure: Support backslashes in TMPDIR on OS/2.

KO Myung-Hun komh78 at gmail.com
Sun Apr 17 06:57:09 CEST 2016



Dmitriy Kuminov wrote:
> On 2016-04-16 04:39:44 +0000, KO Myung-Hun said:
> 
>>> diff --git a/configure b/configure
>>> index 0ff1b9d..ff80aee 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -734,7 +734,12 @@ check_deps(){
>>>
>>> print_config(){
>>> pfx=$1
>>> -    files=$2
>>> +    if test "$host_os" = "os/2"; then
>>> +        # awk treats \ as escape chars, convert them to / in paths
>>> +        files=`echo "$2" | tr '\\\' /`
>>
>> echoing back-slashes with echo is not portable. For example, on
>> ksh-compatible shells such as pdksh and mksh, back-slashes are escaped
>> by echo. Please use expr.
> 
> Ok, I checked that. Indeed, ksh and friends do escaping for the echo
> built-in by default (while e.g. ash and bash, as well as the external
> echo command don't). Expr looks like a nice alternative to echo but it's
> an external command... There is a way to avoid expr by doing something like
> 
>        files=$(tr \\\\ / <<EOF
> $2
> EOF
> )
> 
> but that looks like a mouthful.
> 
> After some more thinking, I think this patch should be discarded at all.
> Backslases in paths in the Unix-like environment is a generic problem on
> OS/2. I'm pretty sure FFmpeg configure contains more places that use
> echo for path-like strings and therefore will produce incorrect results
> for paths with backslashes. I think that a proper solution is to patch
> shells to replace backslashes in path-like environment variables at the
> very beginnig of their execution. I will do that for ash and dash (that
> I maintain, see http://trac.netlabs.org/ports/ticket/104 for details).
> 

Good decision. This was done already in latest pdksh and mksh.

> As a temporary solution, one may do this in their enviroment before
> starting configure:
> 
> for v in PATH TEMP TMPDIR ; do
>  eval "export $v=\$(expr \"\$$v\" | tr '\\\' /)"
> done
> 

TEMP is not needed, I think.

-- 
KO Myung-Hun

Using Mozilla SeaMonkey 2.7.2
Under OS/2 Warp 4 for Korean with FixPak #15
In VirtualBox v4.1.32 on Intel Core i7-3615QM 2.30GHz with 8GB RAM

Korean OS/2 User Community : http://www.ecomstation.co.kr



More information about the ffmpeg-devel mailing list