]> git.saurik.com Git - wxWidgets.git/commitdiff
Workarounds for old versions of gcc on hpux: define __STDC_EXT__ when it is
authorMichael Wetherell <mike.wetherell@ntlworld.com>
Wed, 24 Aug 2005 00:23:21 +0000 (00:23 +0000)
committerMichael Wetherell <mike.wetherell@ntlworld.com>
Wed, 24 Aug 2005 00:23:21 +0000 (00:23 +0000)
need and use -lpthread instead of -pthread when the latter is not supported.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35293 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

configure
configure.in

index 60d4d6e8cd11b6e3d1af1f469058a324aca05945..ce43f9f53592a4508f22663d11b41c5311173a61 100755 (executable)
--- a/configure
+++ b/configure
 if test "x$wx_largefile" = "xyes"; then
     if test "x$ac_cv_sys_file_offset_bits" = "x64"; then
         WX_LARGEFILE_FLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGE_FILES"
+
+                                                        if test "$USE_HPUX" = 1 -a "$GXX" = "yes"; then
+            echo "$as_me:$LINENO: checking if -D__STDC_EXT__ is required" >&5
+echo $ECHO_N "checking if -D__STDC_EXT__ is required... $ECHO_C" >&6
+if test "${wx_cv_STDC_EXT_required+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+
+                    ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+                    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+                            #ifndef __STDC_EXT__
+                                choke me
+                            #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 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_cxx_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_objext'
+  { (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
+  wx_cv_STDC_EXT_required=no
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+wx_cv_STDC_EXT_required=yes
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+                    ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+fi
+echo "$as_me:$LINENO: result: $wx_cv_STDC_EXT_required" >&5
+echo "${ECHO_T}$wx_cv_STDC_EXT_required" >&6
+            if test "x$wx_cv_STDC_EXT_required" = "xyes"; then
+                CXXFLAGS="$CXXFLAGS -D__STDC_EXT__"
+            fi
+        fi
     else
         WX_LARGEFILE_FLAGS="-D_LARGE_FILES"
     fi
@@ -34835,7 +34915,10 @@ echo "$as_me: WARNING: BeOS threads are not yet supported... disabled" >&2;}
                                 THREAD_OPTS="pthreads"
                 ;;
           *-hp-hpux* )
-                if test "x$GCC" != "xyes"; then
+                if test "x$GCC" = "xyes"; then
+                                        $CXX -dumpspecs | grep 'pthread:' >/dev/null ||
+                        THREAD_OPTS=""
+                else
                                                                                 THREAD_OPTS=""
                 fi
                 ;;
index aaa5976fc5061bccf348fba92359f04b885b118a..48e3f3edac7b0d00c60f78fa887713ca5b3ed300 100644 (file)
@@ -1872,6 +1872,37 @@ dnl problems
 if test "x$wx_largefile" = "xyes"; then
     if test "x$ac_cv_sys_file_offset_bits" = "x64"; then
         WX_LARGEFILE_FLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGE_FILES"
+
+        dnl We get "Large Files (ILP32) not supported in strict ANSI mode."
+        dnl #error from HP standard headers unless __STDC_EXT__ is defined.
+        dnl The compiler should define it automatically, but some old g++
+        dnl versions don't define it, so test and add it if necessary. AFAIK
+        dnl the problem only affects the C++ compiler so it is added to
+        dnl CXXFLAGS only.
+        if test "$USE_HPUX" = 1 -a "$GXX" = "yes"; then
+            AC_CACHE_CHECK(
+                [if -D__STDC_EXT__ is required],
+                wx_cv_STDC_EXT_required,
+                [
+                    AC_LANG_SAVE
+                    AC_LANG_CPLUSPLUS
+                    AC_TRY_COMPILE(
+                        [],
+                        [
+                            #ifndef __STDC_EXT__
+                                choke me
+                            #endif
+                        ],
+                        wx_cv_STDC_EXT_required=no,
+                        wx_cv_STDC_EXT_required=yes
+                    )
+                    AC_LANG_RESTORE
+                ]
+            )
+            if test "x$wx_cv_STDC_EXT_required" = "xyes"; then
+                CXXFLAGS="$CXXFLAGS -D__STDC_EXT__"
+            fi
+        fi
     else
         WX_LARGEFILE_FLAGS="-D_LARGE_FILES"
     fi
@@ -4465,7 +4496,11 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
                 THREAD_OPTS="pthreads"
                 ;;
           *-hp-hpux* )
-                if test "x$GCC" != "xyes"; then
+                if test "x$GCC" = "xyes"; then
+                    dnl g++ versions before 3.3.2 don't support -pthread.
+                    $CXX -dumpspecs | grep 'pthread:' >/dev/null ||
+                        THREAD_OPTS="" 
+                else
                     dnl HP-UX aCC only gives a warning, not an error about
                     dnl -pthread but it doesn't work and we have to use
                     dnl -lpthread there