From: cristy Date: Sat, 31 Dec 2011 15:08:42 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~6487 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=15314e291cf505637f6c425eb2f3503714726662;p=imagemagick --- diff --git a/Magick++/lib/Magick++/Drawable.h b/Magick++/lib/Magick++/Drawable.h index 6a864d245..532d7f59b 100644 --- a/Magick++/lib/Magick++/Drawable.h +++ b/Magick++/lib/Magick++/Drawable.h @@ -26,7 +26,7 @@ #include "Magick++/Color.h" #include "Magick++/Geometry.h" -#if defined(MagickDLLBuild) +#if defined(MagickDLLExplicitTemplate) # if defined(MAGICK_PLUSPLUS_IMPLEMENTATION) # define MagickDrawableExtern # else @@ -35,7 +35,7 @@ # endif // MAGICK_PLUSPLUS_IMPLEMENTATION #else # define MagickDrawableExtern -#endif // MagickDLLBuild +#endif // MagickDLLExplicitTemplate namespace Magick { @@ -82,7 +82,7 @@ namespace Magick typedef std::list CoordinateList; -#if defined(MagickDLLBuild) +#if defined(MagickDLLExplicitTemplate) MagickDrawableExtern template class MagickPPExport std::allocator; @@ -90,7 +90,7 @@ namespace Magick // MagickDrawableExtern template class MagickPPExport // std::list >; -#endif // MagickDLLBuild +#endif // MagickDLLExplicitTemplate // Compare two Coordinate objects regardless of LHS/RHS extern MagickPPExport int operator == ( const Coordinate& left_, @@ -176,7 +176,7 @@ namespace Magick typedef std::list DrawableList; -#if defined(MagickDLLBuild) +#if defined(MagickDLLExplicitTemplate) MagickDrawableExtern template class MagickPPExport std::allocator; @@ -184,7 +184,7 @@ namespace Magick // MagickDrawableExtern template class MagickPPExport // std::list >; -#endif // MagickDLLBuild +#endif // MagickDLLExplicitTemplate // // Base class for all drawable path elements for use with @@ -256,7 +256,7 @@ extern MagickPPExport int operator <= ( const VPath& left_, typedef std::list VPathList; -#if defined(MagickDLLBuild) +#if defined(MagickDLLExplicitTemplate) MagickDrawableExtern template class MagickPPExport std::allocator; @@ -264,7 +264,7 @@ std::allocator; // MagickDrawableExtern template class MagickPPExport // std::list >; -#endif // MagickDLLBuild +#endif // MagickDLLExplicitTemplate // // Drawable Objects @@ -2219,7 +2219,7 @@ extern MagickPPExport int operator <= ( const PathArcArgs& left_, typedef std::list PathArcArgsList; -#if defined(MagickDLLBuild) +#if defined(MagickDLLExplicitTemplate) MagickDrawableExtern template class MagickPPExport std::allocator; @@ -2227,7 +2227,7 @@ std::allocator; // MagickDrawableExtern template class MagickPPExport // std::list >; -#endif // MagickDLLBuild +#endif // MagickDLLExplicitTemplate // Path Arc (Elliptical Arc) class MagickPPExport PathArcAbs : public VPathBase @@ -2393,7 +2393,7 @@ extern MagickPPExport int operator <= ( const PathCurvetoArgs& left_, typedef std::list PathCurveToArgsList; -#if defined(MagickDLLBuild) +#if defined(MagickDLLExplicitTemplate) MagickDrawableExtern template class MagickPPExport std::allocator; @@ -2401,7 +2401,7 @@ std::allocator; // MagickDrawableExtern template class MagickPPExport // std::list >; -#endif // MagickDLLBuild +#endif // MagickDLLExplicitTemplate class MagickPPExport PathCurvetoAbs : public VPathBase { @@ -2574,7 +2574,7 @@ extern MagickPPExport int operator <= ( const PathQuadraticCurvetoArgs& left_, typedef std::list PathQuadraticCurvetoArgsList; -#if defined(MagickDLLBuild) +#if defined(MagickDLLExplicitTemplate) MagickDrawableExtern template class MagickPPExport std::allocator; @@ -2582,7 +2582,7 @@ std::allocator; // MagickDrawableExtern template class MagickPPExport // std::list >; -#endif // MagickDLLBuild +#endif // MagickDLLExplicitTemplate class MagickPPExport PathQuadraticCurvetoAbs : public VPathBase { diff --git a/Magick++/lib/Magick++/Include.h b/Magick++/lib/Magick++/Include.h index 9ee18f256..6b6b8aa8c 100644 --- a/Magick++/lib/Magick++/Include.h +++ b/Magick++/lib/Magick++/Include.h @@ -68,9 +68,8 @@ namespace MagickCore // using code is dynamic, STATIC_MAGICK may be defined in the project to // override triggering dynamic library behavior. // -# define MagickDLLBuild -# define MagickPPPrivate # if defined(_VISUALC_) +# define MagickDLLExplicitTemplate # pragma warning( disable: 4273 ) /* Disable the stupid dll linkage warnings */ # pragma warning( disable: 4251 ) # endif @@ -80,19 +79,24 @@ namespace MagickCore # else # define MagickPPExport __declspec(dllimport) # endif +# define MagickPPPrivate extern __declspec(dllimport) # if defined(_VISUALC_) # pragma message( "Magick++ lib DLL import" ) # endif # else -# if defined(__BORLANDC__) +# if defined(__BORLANDC__) || defined(__MINGW32__) # define MagickPPExport __declspec(dllexport) -# pragma message( "BCBMagick++ lib DLL export" ) +# define MagickPPPrivate __declspec(dllexport) +# if defined(__BORLANDC__) +# pragma message( "BCBMagick++ lib DLL export" ) +# endif # else # if defined(__GNUC__) # define MagickPPExport __attribute__ ((dllexport)) # else # define MagickPPExport __declspec(dllexport) # endif +# define MagickPPPrivate extern __declspec(dllexport) # endif # if defined(_VISUALC_) # pragma message( "Magick++ lib DLL export" ) @@ -100,6 +104,7 @@ namespace MagickCore # endif # else # define MagickPPExport +# define MagickPPPrivate # if defined(_VISUALC_) # pragma message( "Magick++ lib static interface" ) # endif