From: Robert Roebling Date: Wed, 29 Jun 2005 19:02:19 +0000 (+0000) Subject: define NO_GCC_PRAGMA if X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/87ae5038ef4b1a731e1d09943ff0584a0af195e9 define NO_GCC_PRAGMA if - PCH - GCC >= 4.0 - certain cases like Apple GCC, Mingw32 with certain other option git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34775 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/configure b/configure index 722afc8a30..577030143d 100755 --- a/configure +++ b/configure @@ -44238,12 +44238,12 @@ PCH_FLAGS="" if test $GCC_PCH = 1 ; then PCH_FLAGS="-DWX_PRECOMP" -fi - -if test "$GCC" = yes; then - echo "$as_me:$LINENO: checking if this GCC version is >= 4.0 and needs -DNO_GCC_PRAGMA" >&5 + GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" +else + if test "$GCC" = yes; then + echo "$as_me:$LINENO: checking if this GCC version is >= 4.0 and needs -DNO_GCC_PRAGMA" >&5 echo $ECHO_N "checking if this GCC version is >= 4.0 and needs -DNO_GCC_PRAGMA... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -44254,8 +44254,8 @@ int main () { #if (__GNUC__ < 4) - #error "Not GCC 4.0 or greater" - #endif + #error "Not GCC 4.0 or greater" + #endif ; return 0; @@ -44284,7 +44284,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" - echo "$as_me:$LINENO: result: yes" >&5 + echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else echo "$as_me: failed program was:" >&5 @@ -44292,20 +44292,17 @@ sed 's/^/| /' conftest.$ac_ext >&5 echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -else - case "${host}" in - powerpc-*-darwin* ) - GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" - ;; - *-*-mingw32* ) - if test "$wxUSE_STL" = "yes" -o \ + case "${host}" in + powerpc-*-darwin* ) + GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" + ;; + *-*-mingw32* ) + if test "$wxUSE_STL" = "yes" -o \ "$wxUSE_NO_EXCEPTIONS" != "yes" -o \ "$wxUSE_NO_RTTI" != "yes"; then - echo "$as_me:$LINENO: checking if this MinGW version needs -DNO_GCC_PRAGMA" >&5 + echo "$as_me:$LINENO: checking if this MinGW version needs -DNO_GCC_PRAGMA" >&5 echo $ECHO_N "checking if this MinGW version needs -DNO_GCC_PRAGMA... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -44316,8 +44313,8 @@ int main () { #if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)) - #error "Not GCC 3.2 or greater" - #endif + #error "Not GCC 3.2 or greater" + #endif ; return 0; @@ -44346,7 +44343,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" - echo "$as_me:$LINENO: result: yes" >&5 + echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else echo "$as_me: failed program was:" >&5 @@ -44356,13 +44353,13 @@ echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - ;; - *-pc-os2_emx | *-pc-os2-emx ) - if test "$wxUSE_STL" = "yes"; then - echo "$as_me:$LINENO: checking if this gcc version needs -DNO_GCC_PRAGMA" >&5 + fi + ;; + *-pc-os2_emx | *-pc-os2-emx ) + if test "$wxUSE_STL" = "yes"; then + echo "$as_me:$LINENO: checking if this gcc version needs -DNO_GCC_PRAGMA" >&5 echo $ECHO_N "checking if this gcc version needs -DNO_GCC_PRAGMA... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -44373,8 +44370,8 @@ int main () { #if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)) - #error "Not GCC 3.2 or greater" - #endif + #error "Not GCC 3.2 or greater" + #endif ; return 0; @@ -44403,7 +44400,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" - echo "$as_me:$LINENO: result: yes" >&5 + echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else echo "$as_me: failed program was:" >&5 @@ -44413,9 +44410,13 @@ echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - ;; - esac + fi + ;; + esac + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + fi fi CPPFLAGS="$PCH_FLAGS $GCC_PRAGMA_FLAGS $CPPFLAGS" diff --git a/configure.in b/configure.in index 636e84e5ce..670d40af8a 100644 --- a/configure.in +++ b/configure.in @@ -6698,67 +6698,69 @@ dnl be in wx-config output. Not doing so could result in link problems. GCC_PRAGMA_FLAGS="" PCH_FLAGS="" -dnl Find out if we have to define WX_PRECOMP: +dnl Find out if we have to define WX_PRECOMP (and thus NO_GCC_PRAGMA) if test $GCC_PCH = 1 ; then PCH_FLAGS="-DWX_PRECOMP" -fi - -dnl Find out if we have to define NO_GCC_PRAGMA -if test "$GCC" = yes; then - AC_MSG_CHECKING([if this GCC version is >= 4.0 and needs -DNO_GCC_PRAGMA]) - AC_TRY_COMPILE([], - [#if (__GNUC__ < 4) - #error "Not GCC 4.0 or greater" - #endif - ], - [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" - AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no])]) + GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" else - case "${host}" in - powerpc-*-darwin* ) - dnl Some Apple's GCC version are broken and can't handle the - dnl pragmas: - GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" - ;; - *-*-mingw32* ) - dnl MinGW GCC versions > 3.2 have problems with - dnl static member of classes derived from templates - dnl in combination with #pragma interface/implementation - dnl (the test case uses 4 files) - dnl ... and with exceptions handling (undefined symbols needed - dnl to correctly calls dtors when unwinding) as well - if test "$wxUSE_STL" = "yes" -o \ + dnl Find out if we have to define NO_GCC_PRAGMA + if test "$GCC" = yes; then + AC_MSG_CHECKING([if this GCC version is >= 4.0 and needs -DNO_GCC_PRAGMA]) + AC_TRY_COMPILE([], + [#if (__GNUC__ < 4) + #error "Not GCC 4.0 or greater" + #endif + ], + [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + case "${host}" in + powerpc-*-darwin* ) + dnl Some Apple's GCC version are broken and can't handle the + dnl pragmas: + GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" + ;; + *-*-mingw32* ) + dnl MinGW GCC versions > 3.2 have problems with + dnl static member of classes derived from templates + dnl in combination with #pragma interface/implementation + dnl (the test case uses 4 files) + dnl ... and with exceptions handling (undefined symbols needed + dnl to correctly calls dtors when unwinding) as well + if test "$wxUSE_STL" = "yes" -o \ "$wxUSE_NO_EXCEPTIONS" != "yes" -o \ "$wxUSE_NO_RTTI" != "yes"; then - AC_MSG_CHECKING([if this MinGW version needs -DNO_GCC_PRAGMA]) - AC_TRY_COMPILE([], - [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)) - #error "Not GCC 3.2 or greater" - #endif - ], - [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" - AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no])]) - fi - ;; - *-pc-os2_emx | *-pc-os2-emx ) - dnl GCC versions ported to OS/2 have similar problems with - dnl static member of classes in combination with STL and - dnl pragma interface/implementation - if test "$wxUSE_STL" = "yes"; then - AC_MSG_CHECKING([if this gcc version needs -DNO_GCC_PRAGMA]) - AC_TRY_COMPILE([], - [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)) - #error "Not GCC 3.2 or greater" - #endif - ], - [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" - AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no])]) - fi - ;; - esac + AC_MSG_CHECKING([if this MinGW version needs -DNO_GCC_PRAGMA]) + AC_TRY_COMPILE([], + [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)) + #error "Not GCC 3.2 or greater" + #endif + ], + [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no])]) + fi + ;; + *-pc-os2_emx | *-pc-os2-emx ) + dnl GCC versions ported to OS/2 have similar problems with + dnl static member of classes in combination with STL and + dnl pragma interface/implementation + if test "$wxUSE_STL" = "yes"; then + AC_MSG_CHECKING([if this gcc version needs -DNO_GCC_PRAGMA]) + AC_TRY_COMPILE([], + [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)) + #error "Not GCC 3.2 or greater" + #endif + ], + [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no])]) + fi + ;; + esac +dnl closing bracket of if GCC < 4.0 + ] ) + fi fi CPPFLAGS="$PCH_FLAGS $GCC_PRAGMA_FLAGS $CPPFLAGS"