]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Fri, 30 Dec 2011 01:20:16 +0000 (01:20 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Fri, 30 Dec 2011 01:20:16 +0000 (01:20 +0000)
Magick++/lib/Exception.cpp
Magick++/lib/Magick++/Exception.h
MagickCore/version.h
coders/tga.c
config/configure.xml
configure
configure.ac
m4/ax_pthread.m4

index d2e872c9f6dbde3eab77aecd67afa005436db785..27edc0455dddbcac3ed80125fedda18ac0cdd9aa 100644 (file)
@@ -25,7 +25,8 @@ Magick::Exception::Exception( const std::string& what_ )
 
 // Copy constructor
 Magick::Exception::Exception( const Magick::Exception& original_ )
-  : exception(original_), _what(original_._what)
+  : exception(original_),
+    _what(original_._what)
 {
 }
 
@@ -59,101 +60,181 @@ Magick::Warning::Warning ( const std::string& what_ )
 {
 }
 
+/*virtual*/ Magick::Warning::~Warning ( ) throw ()
+{
+}
+
 Magick::WarningUndefined::WarningUndefined ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningUndefined::~WarningUndefined ( ) throw ()
+{
+}
+
 Magick::WarningBlob::WarningBlob ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningBlob::~WarningBlob ( ) throw ()
+{
+}
+
 Magick::WarningCache::WarningCache ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningCache::~WarningCache ( ) throw ()
+{
+}
+
 Magick::WarningCoder::WarningCoder ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningCoder::~WarningCoder ( ) throw ()
+{
+}
+
 Magick::WarningConfigure::WarningConfigure ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningConfigure::~WarningConfigure ( ) throw ()
+{
+}
+
 Magick::WarningCorruptImage::WarningCorruptImage ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningCorruptImage::~WarningCorruptImage ( ) throw ()
+{
+}
+
 Magick::WarningDelegate::WarningDelegate ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningDelegate::~WarningDelegate ( ) throw ()
+{
+}
+
 Magick::WarningDraw::WarningDraw ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningDraw::~WarningDraw ( ) throw ()
+{
+}
+
 Magick::WarningFileOpen::WarningFileOpen ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningFileOpen::~WarningFileOpen ( ) throw ()
+{
+}
+
 Magick::WarningImage::WarningImage ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningImage::~WarningImage ( ) throw ()
+{
+}
+
 Magick::WarningMissingDelegate::WarningMissingDelegate ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningMissingDelegate::~WarningMissingDelegate ( ) throw ()
+{
+}
+
 Magick::WarningModule::WarningModule ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningModule::~WarningModule ( ) throw ()
+{
+}
+
 Magick::WarningMonitor::WarningMonitor ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningMonitor::~WarningMonitor ( ) throw ()
+{
+}
+
 Magick::WarningOption::WarningOption ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningOption::~WarningOption ( ) throw ()
+{
+}
+
 Magick::WarningRegistry::WarningRegistry ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningRegistry::~WarningRegistry ( ) throw ()
+{
+}
+
 Magick::WarningResourceLimit::WarningResourceLimit ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningResourceLimit::~WarningResourceLimit ( ) throw ()
+{
+}
+
 Magick::WarningStream::WarningStream ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningStream::~WarningStream ( ) throw ()
+{
+}
+
 Magick::WarningType::WarningType ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningType::~WarningType ( ) throw ()
+{
+}
+
 Magick::WarningXServer::WarningXServer ( const std::string& what_ )
   : Warning(what_)
 {
 }
 
+/*virtual*/ Magick::WarningXServer::~WarningXServer ( ) throw ()
+{
+}
+
 //
 // Errors
 //
@@ -163,101 +244,181 @@ Magick::Error::Error ( const std::string& what_ )
 {
 }
 
+/*virtual*/ Magick::Error::~Error ( ) throw ()
+{
+}
+
 Magick::ErrorUndefined::ErrorUndefined ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorUndefined::~ErrorUndefined ( ) throw ()
+{
+}
+
 Magick::ErrorBlob::ErrorBlob ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorBlob::~ErrorBlob ( ) throw ()
+{
+}
+
 Magick::ErrorCache::ErrorCache ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorCache::~ErrorCache ( ) throw ()
+{
+}
+
 Magick::ErrorCoder::ErrorCoder ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorCoder::~ErrorCoder ( ) throw ()
+{
+}
+
 Magick::ErrorConfigure::ErrorConfigure ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorConfigure::~ErrorConfigure ( ) throw ()
+{
+}
+
 Magick::ErrorCorruptImage::ErrorCorruptImage ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorCorruptImage::~ErrorCorruptImage ( ) throw ()
+{
+}
+
 Magick::ErrorDelegate::ErrorDelegate ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorDelegate::~ErrorDelegate ( ) throw ()
+{
+}
+
 Magick::ErrorDraw::ErrorDraw ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorDraw::~ErrorDraw ( ) throw ()
+{
+}
+
 Magick::ErrorFileOpen::ErrorFileOpen ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorFileOpen::~ErrorFileOpen ( ) throw ()
+{
+}
+
 Magick::ErrorImage::ErrorImage ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorImage::~ErrorImage ( ) throw ()
+{
+}
+
 Magick::ErrorMissingDelegate::ErrorMissingDelegate ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorMissingDelegate::~ErrorMissingDelegate ( ) throw ()
+{
+}
+
 Magick::ErrorModule::ErrorModule ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorModule::~ErrorModule ( ) throw ()
+{
+}
+
 Magick::ErrorMonitor::ErrorMonitor ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorMonitor::~ErrorMonitor ( ) throw ()
+{
+}
+
 Magick::ErrorOption::ErrorOption ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorOption::~ErrorOption ( ) throw ()
+{
+}
+
 Magick::ErrorRegistry::ErrorRegistry ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorRegistry::~ErrorRegistry ( ) throw ()
+{
+}
+
 Magick::ErrorResourceLimit::ErrorResourceLimit ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorResourceLimit::~ErrorResourceLimit ( ) throw ()
+{
+}
+
 Magick::ErrorStream::ErrorStream ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorStream::~ErrorStream ( ) throw ()
+{
+}
+
 Magick::ErrorType::ErrorType ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorType::~ErrorType ( ) throw ()
+{
+}
+
 Magick::ErrorXServer::ErrorXServer ( const std::string& what_ )
   : Error(what_)
 {
 }
 
+/*virtual*/ Magick::ErrorXServer::~ErrorXServer ( ) throw ()
+{
+}
+
 // Format and throw exception
 MagickPPExport void Magick::throwExceptionExplicit( const ExceptionType severity_,
                                                    const char* reason_,
index f5b33427421811872466d05297ea34f083626d5d..5019f2db6792a2c402fbe470529c3f2142ada265 100644 (file)
@@ -39,120 +39,140 @@ namespace Magick
   {
   public:
     explicit Warning ( const std::string& what_ );
+    ~Warning() throw ();
   };
   
   class MagickPPExport WarningUndefined : public Warning
   {
   public:
     explicit WarningUndefined ( const std::string& what_ );
+    ~WarningUndefined() throw ();
   };
 
   class MagickPPExport WarningBlob: public Warning
   {
   public:
     explicit WarningBlob ( const std::string& what_ );
+    ~WarningBlob() throw ();
   };
 
   class MagickPPExport WarningCache: public Warning
   {
   public:
     explicit WarningCache ( const std::string& what_ );
+    ~WarningCache() throw ();
   };
 
   class MagickPPExport WarningCoder: public Warning
   {
   public:
     explicit WarningCoder ( const std::string& what_ );
+    ~WarningCoder() throw ();
   };
 
   class MagickPPExport WarningConfigure: public Warning
   {
   public:
     explicit WarningConfigure ( const std::string& what_ );
+    ~WarningConfigure() throw ();
   };
 
   class MagickPPExport WarningCorruptImage: public Warning
   {
   public:
     explicit WarningCorruptImage ( const std::string& what_ );
+    ~WarningCorruptImage() throw ();
   };
 
   class MagickPPExport WarningDelegate : public Warning
   {
   public:
     explicit WarningDelegate ( const std::string& what_ );
+    ~WarningDelegate() throw ();
   };
 
   class MagickPPExport WarningDraw : public Warning
   {
   public:
     explicit WarningDraw ( const std::string& what_ );
+    ~WarningDraw() throw ();
   };
 
   class MagickPPExport WarningFileOpen: public Warning
   {
   public:
     explicit WarningFileOpen ( const std::string& what_ );
+    ~WarningFileOpen() throw ();
   };
 
   class MagickPPExport WarningImage: public Warning
   {
   public:
     explicit WarningImage ( const std::string& what_ );
+    ~WarningImage() throw ();
   };
 
   class MagickPPExport WarningMissingDelegate : public Warning
   {
   public:
     explicit WarningMissingDelegate ( const std::string& what_ );
+    ~WarningMissingDelegate() throw ();
   };
 
   class MagickPPExport WarningModule : public Warning
   {
   public:
     explicit WarningModule ( const std::string& what_ );
+    ~WarningModule() throw ();
   };
 
   class MagickPPExport WarningMonitor : public Warning
   {
   public:
     explicit WarningMonitor ( const std::string& what_ );
+    ~WarningMonitor() throw ();
   };
 
   class MagickPPExport WarningOption : public Warning
   {
   public:
     explicit WarningOption ( const std::string& what_ );
+    ~WarningOption() throw ();
   };
 
   class MagickPPExport WarningRegistry : public Warning
   {
   public:
     explicit WarningRegistry ( const std::string& what_ );
+    ~WarningRegistry() throw ();
   };
 
   class MagickPPExport WarningResourceLimit : public Warning
   {
   public:
     explicit WarningResourceLimit ( const std::string& what_ );
+    ~WarningResourceLimit() throw ();
   };
 
   class MagickPPExport WarningStream : public Warning
   {
   public:
     explicit WarningStream ( const std::string& what_ );
+    ~WarningStream() throw ();
   };
 
   class MagickPPExport WarningType : public Warning
   {
   public:
     explicit WarningType ( const std::string& what_ );
+    ~WarningType() throw ();
   };
 
   class MagickPPExport WarningXServer : public Warning
   {
   public:
-   explicit WarningXServer ( const std::string& what_ );
+    explicit WarningXServer ( const std::string& what_ );
+    ~WarningXServer() throw ();
   };
 
   //
@@ -163,120 +183,140 @@ namespace Magick
   {
   public:
     explicit Error ( const std::string& what_ );
+    ~Error() throw ();
   };
 
   class MagickPPExport ErrorUndefined : public Error
   {
   public:
     explicit ErrorUndefined ( const std::string& what_ );
+    ~ErrorUndefined() throw ();
   };
 
   class MagickPPExport ErrorBlob: public Error
   {
   public:
     explicit ErrorBlob ( const std::string& what_ );
+    ~ErrorBlob() throw ();
   };
 
   class MagickPPExport ErrorCache: public Error
   {
   public:
     explicit ErrorCache ( const std::string& what_ );
+    ~ErrorCache() throw ();
   };
 
   class MagickPPExport ErrorCoder: public Error
   {
   public:
     explicit ErrorCoder ( const std::string& what_ );
+    ~ErrorCoder() throw ();
   };
 
   class MagickPPExport ErrorConfigure: public Error
   {
   public:
     explicit ErrorConfigure ( const std::string& what_ );
+    ~ErrorConfigure() throw ();
   };
 
   class MagickPPExport ErrorCorruptImage: public Error
   {
   public:
     explicit ErrorCorruptImage ( const std::string& what_ );
+    ~ErrorCorruptImage() throw ();
   };
   
   class MagickPPExport ErrorDelegate : public Error
   {
   public:
     explicit ErrorDelegate ( const std::string& what_ );
+    ~ErrorDelegate() throw ();
   };
   
   class MagickPPExport ErrorDraw : public Error
   {
   public:
     explicit ErrorDraw ( const std::string& what_ );
+    ~ErrorDraw() throw ();
   };
 
   class MagickPPExport ErrorFileOpen: public Error
   {
   public:
     explicit ErrorFileOpen ( const std::string& what_ );
+    ~ErrorFileOpen() throw ();
   };
 
   class MagickPPExport ErrorImage: public Error
   {
   public:
     explicit ErrorImage ( const std::string& what_ );
+    ~ErrorImage() throw ();
   };
 
   class MagickPPExport ErrorMissingDelegate : public Error
   {
   public:
     explicit ErrorMissingDelegate ( const std::string& what_ );
+    ~ErrorMissingDelegate() throw ();
   };
 
   class MagickPPExport ErrorModule : public Error
   {
   public:
     explicit ErrorModule ( const std::string& what_ );
+    ~ErrorModule() throw ();
   };
 
   class MagickPPExport ErrorMonitor : public Error
   {
   public:
     explicit ErrorMonitor ( const std::string& what_ );
+    ~ErrorMonitor() throw ();
   };
 
   class MagickPPExport ErrorOption : public Error
   {
   public:
     explicit ErrorOption ( const std::string& what_ );
+    ~ErrorOption() throw ();
   };
 
   class MagickPPExport ErrorRegistry : public Error
   {
   public:
     explicit ErrorRegistry ( const std::string& what_ );
+    ~ErrorRegistry() throw ();
   };
 
   class MagickPPExport ErrorResourceLimit : public Error
   {
   public:
     explicit ErrorResourceLimit ( const std::string& what_ );
+    ~ErrorResourceLimit() throw ();
   };
 
   class MagickPPExport ErrorStream : public Error
   {
   public:
     explicit ErrorStream ( const std::string& what_ );
+    ~ErrorStream() throw ();
   };
 
   class MagickPPExport ErrorType : public Error
   {
   public:
     explicit ErrorType ( const std::string& what_ );
+    ~ErrorType() throw ();
   };
   
   class MagickPPExport ErrorXServer : public Error
   {
   public:
     explicit ErrorXServer ( const std::string& what_ );
+    ~ErrorXServer() throw ();
   };
 
   //
index 8a76ca3f3310b3796f59b588d331814bd72c68e8..b787f734fcf22f94a0e689944ab55b4e108a3b4f 100644 (file)
@@ -27,14 +27,14 @@ extern "C" {
 */
 #define MagickPackageName "ImageMagick"
 #define MagickCopyright  "Copyright (C) 1999-2012 ImageMagick Studio LLC"
-#define MagickSVNRevision  "6244"
+#define MagickSVNRevision  "6261"
 #define MagickLibVersion  0x700
 #define MagickLibVersionText  "7.0.0"
 #define MagickLibVersionNumber  7,0,0
 #define MagickLibAddendum  "-0"
 #define MagickLibInterface  7
 #define MagickLibMinInterface  7
-#define MagickReleaseDate  "2011-12-26"
+#define MagickReleaseDate  "2011-12-29"
 #define MagickChangeDate   "20110801"
 #define MagickAuthoritativeURL  "http://www.imagemagick.org"
 #if defined(MAGICKCORE_OPENMP_SUPPORT)
index 05c30c6da7b96e7f503c8f447d27bab7b8d7f081..692393fc261372ceb612aaef2ec2491e85937d56 100644 (file)
@@ -170,6 +170,9 @@ static Image *ReadTGAImage(const ImageInfo *image_info,ExceptionInfo *exception)
     pixels[4],
     runlength;
 
+  unsigned int
+    alpha_bits;
+
   /*
     Open image file.
   */
@@ -223,7 +226,9 @@ static Image *ReadTGAImage(const ImageInfo *image_info,ExceptionInfo *exception)
   */
   image->columns=tga_info.width;
   image->rows=tga_info.height;
-  image->matte=(tga_info.attributes & 0x0FU) != 0 ? MagickTrue : MagickFalse;
+  alpha_bits=(tga_info.attributes & 0x0FU);
+  image->matte=(alpha_bits > 0) || (tga_info.bits_per_pixel == 32) ?
+    MagickTrue : MagickFalse;
   if ((tga_info.image_type != TGAColormap) &&
       (tga_info.image_type != TGARLEColormap))
     image->depth=(size_t) ((tga_info.bits_per_pixel <= 8) ? 8 :
index f99365e7874fa5e4538dd904f8ff3af06a31e5f4..437c7ef75fd8e0a4d82326cb14b152fe602fdf35 100644 (file)
@@ -10,8 +10,8 @@
   <configure name="VERSION" value="7.0.0"/>
   <configure name="LIB_VERSION" value="0x700"/>
   <configure name="LIB_VERSION_NUMBER" value="7,0,0,0"/>
-  <configure name="SVN_REVISION" value="6244" />
-  <configure name="RELEASE_DATE" value="2011-12-26"/>
+  <configure name="SVN_REVISION" value="6261" />
+  <configure name="RELEASE_DATE" value="2011-12-29"/>
   <configure name="CONFIGURE" value="./configure "/>
   <configure name="PREFIX" value="/usr/local"/>
   <configure name="EXEC-PREFIX" value="/usr/local"/>
index 20fc7c877507d18f0763702b0b7a6f0df79d92ca..df4000c80e701ea7de3cd9f6c53d98bb0ca9cca7 100755 (executable)
--- a/configure
+++ b/configure
@@ -3610,7 +3610,7 @@ MAGICK_LIBRARY_CURRENT_MIN=`expr $MAGICK_LIBRARY_CURRENT - $MAGICK_LIBRARY_AGE`
 
 MAGICK_LIBRARY_VERSION_INFO=$MAGICK_LIBRARY_CURRENT:$MAGICK_LIBRARY_REVISION:$MAGICK_LIBRARY_AGE
 
-MAGICK_SVN_REVISION=6244
+MAGICK_SVN_REVISION=6261
 
 
 
@@ -8374,7 +8374,7 @@ fi
 # which indicates that we try without any flags at all, and "pthread-config"
 # which is a program returning the flags for the Pth emulation library.
 
-ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt lpthread pthread-config"
 
 # The ordering *is* (sometimes) important.  Some notes on the
 # individual items follow:
@@ -8858,7 +8858,7 @@ fi
 # which indicates that we try without any flags at all, and "pthread-config"
 # which is a program returning the flags for the Pth emulation library.
 
-ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt lpthread pthread-config"
 
 # The ordering *is* (sometimes) important.  Some notes on the
 # individual items follow:
@@ -26022,7 +26022,54 @@ _ACEOF
 GOMP_LIBS=''
 if test "$enable_openmp" != 'no'; then
   if test "${GCC}" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GOMP_parallel_start in -lgomp" >&5
+    # Open64 (passes for GCC but uses different OpenMP implementation)
+    if test "x$GOMP_LIBS" = x ; then
+      if $CC --version 2>&1 | grep Open64 > /dev/null ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for omp_get_num_procs in -lopenmp" >&5
+$as_echo_n "checking for omp_get_num_procs in -lopenmp... " >&6; }
+if ${ac_cv_lib_openmp_omp_get_num_procs+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lopenmp  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char omp_get_num_procs ();
+int
+main ()
+{
+return omp_get_num_procs ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_openmp_omp_get_num_procs=yes
+else
+  ac_cv_lib_openmp_omp_get_num_procs=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_openmp_omp_get_num_procs" >&5
+$as_echo "$ac_cv_lib_openmp_omp_get_num_procs" >&6; }
+if test "x$ac_cv_lib_openmp_omp_get_num_procs" = xyes; then :
+  GOMP_LIBS="-lopenmp"
+fi
+
+      fi
+    fi
+    # GCC
+    if test "x$GOMP_LIBS" = x ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GOMP_parallel_start in -lgomp" >&5
 $as_echo_n "checking for GOMP_parallel_start in -lgomp... " >&6; }
 if ${ac_cv_lib_gomp_GOMP_parallel_start+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -26061,9 +26108,12 @@ $as_echo "$ac_cv_lib_gomp_GOMP_parallel_start" >&6; }
 if test "x$ac_cv_lib_gomp_GOMP_parallel_start" = xyes; then :
   GOMP_LIBS="-lgomp"
 fi
-  # gcc
+
+    fi
   else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sunw_mp_register_warn in -lmtsk" >&5
+    # Sun CC
+    if test "x$GOMP_LIBS" = x ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sunw_mp_register_warn in -lmtsk" >&5
 $as_echo_n "checking for sunw_mp_register_warn in -lmtsk... " >&6; }
 if ${ac_cv_lib_mtsk_sunw_mp_register_warn+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -26102,7 +26152,10 @@ $as_echo "$ac_cv_lib_mtsk_sunw_mp_register_warn" >&6; }
 if test "x$ac_cv_lib_mtsk_sunw_mp_register_warn" = xyes; then :
   GOMP_LIBS="-lmtsk"
 fi
-  # solaris cc
+
+    fi
+    # AIX xlc
+    if test "x$GOMP_LIBS" = x ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _xlsmpFlush in -lxlsmp" >&5
 $as_echo_n "checking for _xlsmpFlush in -lxlsmp... " >&6; }
 if ${ac_cv_lib_xlsmp__xlsmpFlush+:} false; then :
@@ -26142,7 +26195,10 @@ $as_echo "$ac_cv_lib_xlsmp__xlsmpFlush" >&6; }
 if test "x$ac_cv_lib_xlsmp__xlsmpFlush" = xyes; then :
   GOMP_LIBS="-lxlsmp"
 fi
-  # AIX xlc
+
+    fi
+    # SGI IRIX 6.5 MIPSpro C/C++
+    if test "x$GOMP_LIBS" = x ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mp_destroy in -lmp" >&5
 $as_echo_n "checking for mp_destroy in -lmp... " >&6; }
 if ${ac_cv_lib_mp_mp_destroy+:} false; then :
@@ -26182,7 +26238,8 @@ $as_echo "$ac_cv_lib_mp_mp_destroy" >&6; }
 if test "x$ac_cv_lib_mp_mp_destroy" = xyes; then :
   GOMP_LIBS="-lmp"
 fi
-  # SGI IRIX 6.5 MIPSpro C/C++
+
+    fi
   fi
   LIBS="$GOMP_LIBS $LIBS"
 fi
index a48ad2135b842e665c6061feda0c5cc91c1b1b9d..76ea66a114d4399c9a5e3bed196a575231bf5769 100755 (executable)
@@ -1268,11 +1268,29 @@ AC_DEFINE_UNQUOTED(X11_CONFIGURE_PATH,"$X11ConfigurePath",Location of X11 config
 GOMP_LIBS=''
 if test "$enable_openmp" != 'no'; then
   if test "${GCC}" = "yes"; then
-    AC_CHECK_LIB(gomp,GOMP_parallel_start,GOMP_LIBS="-lgomp",,)  # gcc
+    # Open64 (passes for GCC but uses different OpenMP implementation)
+    if test "x$GOMP_LIBS" = x ; then
+      if $CC --version 2>&1 | grep Open64 > /dev/null ; then
+        AC_CHECK_LIB(openmp,omp_get_num_procs,GOMP_LIBS="-lopenmp",,)
+      fi
+    fi
+    # GCC
+    if test "x$GOMP_LIBS" = x ; then
+      AC_CHECK_LIB(gomp,GOMP_parallel_start,GOMP_LIBS="-lgomp",,)
+    fi
   else
-    AC_CHECK_LIB(mtsk,sunw_mp_register_warn,GOMP_LIBS="-lmtsk",,)  # solaris cc
-    AC_CHECK_LIB(xlsmp,_xlsmpFlush,GOMP_LIBS="-lxlsmp",,)  # AIX xlc
-    AC_CHECK_LIB(mp,mp_destroy,GOMP_LIBS="-lmp",,)  # SGI IRIX 6.5 MIPSpro C/C++
+    # Sun CC
+    if test "x$GOMP_LIBS" = x ; then
+      AC_CHECK_LIB(mtsk,sunw_mp_register_warn,GOMP_LIBS="-lmtsk",,)
+    fi
+    # AIX xlc
+    if test "x$GOMP_LIBS" = x ; then
+    AC_CHECK_LIB(xlsmp,_xlsmpFlush,GOMP_LIBS="-lxlsmp",,)
+    fi
+    # SGI IRIX 6.5 MIPSpro C/C++
+    if test "x$GOMP_LIBS" = x ; then
+    AC_CHECK_LIB(mp,mp_destroy,GOMP_LIBS="-lmp",,)
+    fi
   fi
   LIBS="$GOMP_LIBS $LIBS"
 fi
index a6bf596c321312d598e125f0a701d758bc4d4d3a..23a307d61b72f01c9fe876b53008a2d689d397fd 100644 (file)
@@ -123,7 +123,7 @@ fi
 # which indicates that we try without any flags at all, and "pthread-config"
 # which is a program returning the flags for the Pth emulation library.
 
-ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt lpthread pthread-config"
 
 # The ordering *is* (sometimes) important.  Some notes on the
 # individual items follow: