From 8cbb94ca931dfdcbedae9206e09711d874d9b220 Mon Sep 17 00:00:00 2001 From: Wim Lewis Date: Wed, 7 Jan 2004 00:46:10 +0000 Subject: [PATCH] Fixed shell quoting of the inline-asm tests so that they work properly with the pdksh that ships with OpenBSD. --- configure | 165 +++++++++++++++++++++++++++++++++++++++++------------------ configure.ac | 41 ++++++--------- 2 files changed, 129 insertions(+), 77 deletions(-) diff --git a/configure b/configure index 8e5deaa640b..9048b943f72 100755 --- a/configure +++ b/configure @@ -12749,8 +12749,8 @@ _ACEOF fi -echo "$as_me:$LINENO: checking whether assembler accepts .string" >&5 -echo $ECHO_N "checking whether assembler accepts .string... $ECHO_C" >&6 +echo "$as_me:$LINENO: checking for assembler keyword for ASCII strings" >&5 +echo $ECHO_N "checking for assembler keyword for ASCII strings... $ECHO_C" >&6 if test "${ac_cv_c_asm_string+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -12760,7 +12760,7 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -void ac_asm(void) { asm(".data\n\t.string \"test\"\n\t.text"); } +void ac_asm(void) { asm(".data\\n\\t.string \\"test\\"\\n\\t.text"); } int main () @@ -12791,38 +12791,60 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_c_asm_string="yes" + ac_cv_c_asm_string=".string" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_c_asm_string="no" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_c_asm_string" >&5 -echo "${ECHO_T}$ac_cv_c_asm_string" >&6 -if test "$ac_cv_c_asm_string" = "yes" -then - -cat >>confdefs.h <<\_ACEOF -#define __ASM_STRING ".string" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +void ac_asm(void) { asm(".data\\n\\t.asciz \\"test\\"\\n\\t.text"); } +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_asm_string=".asciz" else - echo "$as_me:$LINENO: checking whether assembler accepts .asciz" >&5 -echo $ECHO_N "checking whether assembler accepts .asciz... $ECHO_C" >&6 -if test "${ac_cv_c_asm_asciz+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -void ac_asm(void) { asm(".data\n\t.asciz \"test\"\n\t.text"); } +void ac_asm(void) { asm(".data\\n\\t.ascii \\"test\\"\\n\\t.text"); } int main () @@ -12853,35 +12875,36 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_c_asm_asciz="yes" + ac_cv_c_asm_string=".ascii" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_c_asm_asciz="no" +{ { echo "$as_me:$LINENO: error: could not discover how to produce C strings with assembler." >&5 +echo "$as_me: error: could not discover how to produce C strings with assembler." >&2;} + { (exit 1); exit 1; }; } fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_c_asm_asciz" >&5 -echo "${ECHO_T}$ac_cv_c_asm_asciz" >&6 - if test "$ac_cv_c_asm_asciz" = "yes" - then - cat >>confdefs.h <<\_ACEOF -#define __ASM_STRING ".asciz" -_ACEOF +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_c_asm_string" >&5 +echo "${ECHO_T}$ac_cv_c_asm_string" >&6 - else - cat >>confdefs.h <<\_ACEOF -#define __ASM_STRING ".ascii" + +cat >>confdefs.h <<_ACEOF +#define __ASM_STRING "$ac_cv_c_asm_string" _ACEOF - fi -fi -echo "$as_me:$LINENO: checking whether assembler accepts .short" >&5 -echo $ECHO_N "checking whether assembler accepts .short... $ECHO_C" >&6 +echo "$as_me:$LINENO: checking for assembler keyword for word values" >&5 +echo $ECHO_N "checking for assembler keyword for word values... $ECHO_C" >&6 if test "${ac_cv_c_asm_short+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -12891,7 +12914,49 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -void ac_asm(void) { asm(".data\n\t.short 1\n\t.text"); } +void ac_asm(void) { asm(".data\\n\\t.short 1\\n\\t.text"); } + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_asm_short=".short" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +void ac_asm(void) { asm(".data\\n\\t.half 1\\n\\t.text"); } int main () @@ -12922,31 +12987,29 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_c_asm_short="yes" + ac_cv_c_asm_short=".half" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_c_asm_short="no" +{ { echo "$as_me:$LINENO: error: could not discover how to specify word values with assembler." >&5 +echo "$as_me: error: could not discover how to specify word values with assembler." >&2;} + { (exit 1); exit 1; }; } +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_c_asm_short" >&5 echo "${ECHO_T}$ac_cv_c_asm_short" >&6 -if test "$ac_cv_c_asm_short" = "yes" -then -cat >>confdefs.h <<\_ACEOF -#define __ASM_SHORT ".short" -_ACEOF -else - cat >>confdefs.h <<\_ACEOF -#define __ASM_SHORT ".half" +cat >>confdefs.h <<_ACEOF +#define __ASM_SHORT "$ac_cv_c_asm_short" _ACEOF -fi DLLEXT="" diff --git a/configure.ac b/configure.ac index c7ec9cc2bbb..066cf7ca56f 100644 --- a/configure.ac +++ b/configure.ac @@ -811,35 +811,24 @@ fi dnl **** Check how to do strings in assembler **** -AC_CACHE_CHECK([whether assembler accepts .string], ac_cv_c_asm_string, - WINE_TRY_ASM_LINK([".data\n\t.string \"test\"\n\t.text"],,, - ac_cv_c_asm_string="yes",ac_cv_c_asm_string="no")) -if test "$ac_cv_c_asm_string" = "yes" -then - AC_DEFINE(__ASM_STRING, [".string"], [Define to the assembler keyword used to specify an ASCII string]) -else - AC_CACHE_CHECK([whether assembler accepts .asciz], ac_cv_c_asm_asciz, - WINE_TRY_ASM_LINK([".data\n\t.asciz \"test\"\n\t.text"],,, - ac_cv_c_asm_asciz="yes",ac_cv_c_asm_asciz="no")) - if test "$ac_cv_c_asm_asciz" = "yes" - then - AC_DEFINE(__ASM_STRING, [".asciz"]) - else - AC_DEFINE(__ASM_STRING, [".ascii"]) - fi -fi +AC_CACHE_CHECK([for assembler keyword for ASCII strings], ac_cv_c_asm_string, + WINE_TRY_ASM_LINK([".data\\n\\t.string \\"test\\"\\n\\t.text"],,,ac_cv_c_asm_string=".string", + WINE_TRY_ASM_LINK([".data\\n\\t.asciz \\"test\\"\\n\\t.text"],,,ac_cv_c_asm_string=".asciz", + WINE_TRY_ASM_LINK([".data\\n\\t.ascii \\"test\\"\\n\\t.text"],,,ac_cv_c_asm_string=".ascii", + AC_MSG_ERROR([could not discover how to produce C strings with assembler.]))))) + +AC_DEFINE_UNQUOTED(__ASM_STRING, ["$ac_cv_c_asm_string"], + [Define to the assembler keyword used to specify an ASCII string]) dnl **** Check for .short in assembler **** -AC_CACHE_CHECK([whether assembler accepts .short], ac_cv_c_asm_short, - WINE_TRY_ASM_LINK([".data\n\t.short 1\n\t.text"],,, - ac_cv_c_asm_short="yes",ac_cv_c_asm_short="no")) -if test "$ac_cv_c_asm_short" = "yes" -then - AC_DEFINE(__ASM_SHORT, [".short"], [Define to the assembler keyword used to specify a word value]) -else - AC_DEFINE(__ASM_SHORT, [".half"]) -fi +AC_CACHE_CHECK([for assembler keyword for word values], ac_cv_c_asm_short, + WINE_TRY_ASM_LINK([".data\\n\\t.short 1\\n\\t.text"],,,ac_cv_c_asm_short=".short", + WINE_TRY_ASM_LINK([".data\\n\\t.half 1\\n\\t.text"],,,ac_cv_c_asm_short=".half", + AC_MSG_ERROR([could not discover how to specify word values with assembler.])))) + +AC_DEFINE_UNQUOTED(__ASM_SHORT, ["$ac_cv_c_asm_short"], + [Define to the assembler keyword used to specify a word value]) dnl **** Check for working dll **** -- 2.11.4.GIT