From: cristy Date: Fri, 30 Dec 2011 01:20:16 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~6491 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=18307f17b92df2cdaefc13f8ea486b16da9d0d2d;p=imagemagick --- diff --git a/Magick++/lib/Exception.cpp b/Magick++/lib/Exception.cpp index d2e872c9f..27edc0455 100644 --- a/Magick++/lib/Exception.cpp +++ b/Magick++/lib/Exception.cpp @@ -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_, diff --git a/Magick++/lib/Magick++/Exception.h b/Magick++/lib/Magick++/Exception.h index f5b334274..5019f2db6 100644 --- a/Magick++/lib/Magick++/Exception.h +++ b/Magick++/lib/Magick++/Exception.h @@ -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 (); }; // diff --git a/MagickCore/version.h b/MagickCore/version.h index 8a76ca3f3..b787f734f 100644 --- a/MagickCore/version.h +++ b/MagickCore/version.h @@ -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) diff --git a/coders/tga.c b/coders/tga.c index 05c30c6da..692393fc2 100644 --- a/coders/tga.c +++ b/coders/tga.c @@ -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 : diff --git a/config/configure.xml b/config/configure.xml index f99365e78..437c7ef75 100644 --- a/config/configure.xml +++ b/config/configure.xml @@ -10,8 +10,8 @@ - - + + diff --git a/configure b/configure index 20fc7c877..df4000c80 100755 --- 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 diff --git a/configure.ac b/configure.ac index a48ad2135..76ea66a11 100755 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/m4/ax_pthread.m4 b/m4/ax_pthread.m4 index a6bf596c3..23a307d61 100644 --- a/m4/ax_pthread.m4 +++ b/m4/ax_pthread.m4 @@ -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: