]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sat, 31 Dec 2011 15:08:42 +0000 (15:08 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sat, 31 Dec 2011 15:08:42 +0000 (15:08 +0000)
Magick++/lib/Magick++/Drawable.h
Magick++/lib/Magick++/Include.h

index 6a864d2458546facb4723bd99a5a2dca8d510ac3..532d7f59be7c9f3800b0ac23d09296d53303e67d 100644 (file)
@@ -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<Magick::Coordinate> CoordinateList;
 
-#if defined(MagickDLLBuild)
+#if defined(MagickDLLExplicitTemplate)
 
   MagickDrawableExtern template class MagickPPExport
   std::allocator<Magick::Coordinate>;
@@ -90,7 +90,7 @@ namespace Magick
 //   MagickDrawableExtern template class MagickPPExport
 //   std::list<Magick::Coordinate, std::allocator<Magick::Coordinate> >;
 
-#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<Magick::Drawable> DrawableList;
 
-#if defined(MagickDLLBuild)
+#if defined(MagickDLLExplicitTemplate)
 
   MagickDrawableExtern template class MagickPPExport
   std::allocator<Magick::Drawable>;
@@ -184,7 +184,7 @@ namespace Magick
 //   MagickDrawableExtern template class MagickPPExport
 //   std::list<Magick::Drawable, std::allocator<Magick::Drawable> >;
 
-#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<Magick::VPath> VPathList;
 
-#if defined(MagickDLLBuild)
+#if defined(MagickDLLExplicitTemplate)
 
 MagickDrawableExtern template class MagickPPExport
 std::allocator<Magick::VPath>;
@@ -264,7 +264,7 @@ std::allocator<Magick::VPath>;
 // MagickDrawableExtern template class MagickPPExport
 // std::list<Magick::VPath, std::allocator<Magick::VPath> >;
 
-#endif // MagickDLLBuild
+#endif // MagickDLLExplicitTemplate
 
 //
 // Drawable Objects
@@ -2219,7 +2219,7 @@ extern MagickPPExport int operator <= ( const PathArcArgs& left_,
 
 typedef std::list<Magick::PathArcArgs> PathArcArgsList;
 
-#if defined(MagickDLLBuild)
+#if defined(MagickDLLExplicitTemplate)
 
 MagickDrawableExtern template class MagickPPExport
 std::allocator<Magick::PathArcArgs>;
@@ -2227,7 +2227,7 @@ std::allocator<Magick::PathArcArgs>;
 // MagickDrawableExtern template class MagickPPExport
 // std::list<Magick::PathArcArgs, std::allocator<Magick::PathArcArgs> >;
 
-#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<Magick::PathCurvetoArgs> PathCurveToArgsList;
 
-#if defined(MagickDLLBuild)
+#if defined(MagickDLLExplicitTemplate)
 
 MagickDrawableExtern template class MagickPPExport
 std::allocator<Magick::PathCurvetoArgs>;
@@ -2401,7 +2401,7 @@ std::allocator<Magick::PathCurvetoArgs>;
 // MagickDrawableExtern template class MagickPPExport
 // std::list<Magick::PathCurvetoArgs, std::allocator<Magick::PathCurvetoArgs> >;
 
-#endif // MagickDLLBuild
+#endif // MagickDLLExplicitTemplate
 
 class MagickPPExport PathCurvetoAbs : public VPathBase
 {
@@ -2574,7 +2574,7 @@ extern MagickPPExport int operator <= ( const PathQuadraticCurvetoArgs& left_,
 
 typedef std::list<Magick::PathQuadraticCurvetoArgs> PathQuadraticCurvetoArgsList;
 
-#if defined(MagickDLLBuild)
+#if defined(MagickDLLExplicitTemplate)
 
 MagickDrawableExtern template class MagickPPExport
 std::allocator<Magick::PathQuadraticCurvetoArgs>;
@@ -2582,7 +2582,7 @@ std::allocator<Magick::PathQuadraticCurvetoArgs>;
 // MagickDrawableExtern template class MagickPPExport
 // std::list<Magick::PathQuadraticCurvetoArgs, std::allocator<Magick::PathQuadraticCurvetoArgs> >;
 
-#endif // MagickDLLBuild
+#endif // MagickDLLExplicitTemplate
 
 class MagickPPExport PathQuadraticCurvetoAbs : public VPathBase
 {
index 9ee18f256f762915fc9b10054c3896a628c83cf8..6b6b8aa8c4bcb2202f88e0a2b2ca612009e4850c 100644 (file)
@@ -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