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).
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
--
Kind regards,
Dmitriy Kuminov
CPO of bww bitwise works GmbH
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel