quote ' inside '...' and make sure shell isn't eating \ by using perl here.
authorBjörn Jacke <bj@sernet.de>
Fri, 9 Jan 2009 11:05:55 +0000 (12:05 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 29 Jan 2009 14:03:53 +0000 (15:03 +0100)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
source4/build/m4/public.m4

index ffd112f5f173448e842ffbc6a59ce19158ac9b34..1823f1ba97989f1997b5a187d48d68b200e33b18 100644 (file)
@@ -201,11 +201,9 @@ CEOF
 
 for ac_var in $ac_subst_vars
 do
-    eval ac_val=\$$ac_var
-       if test "$ac_var" != "ECHO_C" 
-       then
-               echo "$ac_var => '$ac_val'," >> $1
-       fi
+       eval ac_val=\$$ac_var
+       # quote ' (\x27) inside '...' and make sure \ isn't eaten by shells, so use perl:
+       QAC_VAL=$ac_val QAC_VAR=$ac_var perl -e '$myval="$ENV{QAC_VAL}"; $myval =~ s/\x27/\\\x27/g ; print $ENV{QAC_VAR}." => \x27$myval\x27,\n"' >> $1
 done
 
 cat >>$1<<CEOF