diff --git a/configure b/configure index d8e90b30cc..40829efb68 100755 --- a/configure +++ b/configure @@ -47209,25 +47209,34 @@ if test "${wx_cv_gcc_pch_bug+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - wx_cv_gcc_pch_bug=no - echo 'const wchar_t test_var[] = L"wide string";' > conftest.h + echo '#include <stdio.h> + const wchar_t test_var[] = L"awidetest";' > conftest.h + + echo '#include "conftest.h" + int main() + { + printf("%ls\n", test_var); + return 0; + }' > conftest.cpp + + wx_cv_gcc_pch_bug="pch not supported" if $CXX conftest.h >/dev/null 2>&1 then - { - echo '#include "conftest.h"' - echo 'const wchar_t *test() { return test_var; }' - } > conftest.cpp + wx_cv_gcc_pch_bug= - if $CXX -c -o conftest.o conftest.cpp >/dev/null 2>&1 + if $CXX -o conftest conftest.cpp >/dev/null 2>&1 then - tr -dc 'a-z' < conftest.o | - grep 'widestring' >/dev/null || + if tr -dc '[a-z]' < conftest | grep awidetest >/dev/null + then + wx_cv_gcc_pch_bug=no + else wx_cv_gcc_pch_bug=yes + fi fi fi - rm -f conftest.h conftest.gch conftest.cpp conftest.o + rm -f conftest.h conftest.gch conftest.cpp conftest fi echo "$as_me:$LINENO: result: $wx_cv_gcc_pch_bug" >&5 diff --git a/configure.in b/configure.in index 6b6c71f37b..53af4d850a 100644 --- a/configure.in +++ b/configure.in @@ -7618,25 +7618,34 @@ then [for gcc precompiled header bug], [wx_cv_gcc_pch_bug], [[ - wx_cv_gcc_pch_bug=no - echo 'const wchar_t test_var[] = L"wide string";' > conftest.h + echo '#include <stdio.h> + const wchar_t test_var[] = L"awidetest";' > conftest.h + + echo '#include "conftest.h" + int main() + { + printf("%ls\n", test_var); + return 0; + }' > conftest.cpp + + wx_cv_gcc_pch_bug="pch not supported" if $CXX conftest.h >/dev/null 2>&1 then - { - echo '#include "conftest.h"' - echo 'const wchar_t *test() { return test_var; }' - } > conftest.cpp + wx_cv_gcc_pch_bug= - if $CXX -c -o conftest.o conftest.cpp >/dev/null 2>&1 + if $CXX -o conftest conftest.cpp >/dev/null 2>&1 then - tr -dc 'a-z' < conftest.o | - grep 'widestring' >/dev/null || + if tr -dc '[a-z]' < conftest | grep awidetest >/dev/null + then + wx_cv_gcc_pch_bug=no + else wx_cv_gcc_pch_bug=yes + fi fi fi - rm -f conftest.h conftest.gch conftest.cpp conftest.o + rm -f conftest.h conftest.gch conftest.cpp conftest ]]) if test "$wx_cv_gcc_pch_bug" = yes; then