From: John Ellson Date: Fri, 17 Aug 2012 09:28:37 +0000 (-0400) Subject: declspec pacth from Kasper Hansen - modified to use MINGW conditionals X-Git-Tag: LAST_LIBGRAPH~32^2~334 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=743aa696dda36227bbc2b535bb4c1763f99fe8a4;p=graphviz declspec pacth from Kasper Hansen - modified to use MINGW conditionals --- diff --git a/lib/cdt/cdt.h b/lib/cdt/cdt.h index 3c2586c93..ee4f6ca95 100644 --- a/lib/cdt/cdt.h +++ b/lib/cdt/cdt.h @@ -25,12 +25,13 @@ #define _END_EXTERNS_ #endif -#ifdef WIN32 -#define __EXPORT__ __declspec (dllexport) -#define __IMPORT__ __declspec (dllimport) +#if !defined(__MINGW32__) && !defined(__MINGW64__) +# ifdef WIN32 +# define __EXPORT__ __declspec (dllexport) +# define __IMPORT__ __declspec (dllimport) +# endif #endif - #if !_DLL_BLD && _dll_import #define __EXTERN__(T,obj) extern T obj; T* _imp__ ## obj = &obj #define __DEFINE__(T,obj,val) T obj = val; T* _imp__ ## obj = &obj diff --git a/lib/cgraph/cgraph.h b/lib/cgraph/cgraph.h index 7e68126e1..cc5876bc2 100644 --- a/lib/cgraph/cgraph.h +++ b/lib/cgraph/cgraph.h @@ -180,17 +180,19 @@ struct Agdisc_s { /* user's discipline */ }; /* default resource disciplines */ -#if !defined(_BLD_cgraph) && defined(GVDLL) -#define extern __declspec(dllimport) -#endif +#if !defined(__MINGW32__) && !defined(__MINGW64__) +# if !defined(_BLD_cgraph) && defined(GVDLL) +# define extern __declspec(dllimport) +# endif /*visual studio*/ -#ifdef WIN32_DLL -#ifndef CGRAPH_EXPORTS -#define extern __declspec(dllimport) -#endif -#endif +# ifdef WIN32_DLL +# ifndef CGRAPH_EXPORTS +# define extern __declspec(dllimport) +# endif +# endif /*end visual studio*/ +#endif extern Agmemdisc_t AgMemDisc; extern Agiddisc_t AgIdDisc; diff --git a/lib/common/geomprocs.h b/lib/common/geomprocs.h index 5ebbe9916..c241eae55 100644 --- a/lib/common/geomprocs.h +++ b/lib/common/geomprocs.h @@ -24,12 +24,14 @@ extern "C" { #include "geom.h" -#ifdef WIN32 -#ifdef GVDLL -#define extern __declspec(dllexport) -#else -#define extern __declspec(dllimport) -#endif +#if !defined(__MINGW32__) && !defined(__MINGW64__) +# ifdef WIN32 +# ifdef GVDLL +# define extern __declspec(dllexport) +# else +# define extern __declspec(dllimport) +# endif +# endif #endif extern box mkbox(point p, point q); diff --git a/lib/common/globals.h b/lib/common/globals.h index cd6c7b89e..6f6aa01cd 100644 --- a/lib/common/globals.h +++ b/lib/common/globals.h @@ -34,6 +34,7 @@ #if !defined(_BLD_dotneato) && defined(__IMPORT__) # define external __IMPORT__ #endif + #if defined(GVDLL) #if !defined(_BLD_gvc) #define extern __declspec(dllimport) @@ -42,13 +43,16 @@ #endif #endif #endif -/*visual studio*/ -#ifdef WIN32_DLL -#ifndef GVC_EXPORTS -#define extern __declspec(dllimport) -#endif + +#if !defined(__MINGW32__) && !defined(__MINGW64__) + /*visual studio*/ +# ifdef WIN32_DLL +# ifndef GVC_EXPORTS +# define extern __declspec(dllimport) +# endif +# endif + /*end visual studio*/ #endif -/*end visual studio*/ #ifndef external # define external extern diff --git a/lib/common/memory.h b/lib/common/memory.h index a194585b3..eb98a3ed3 100644 --- a/lib/common/memory.h +++ b/lib/common/memory.h @@ -42,15 +42,17 @@ extern "C" { #define RALLOC(size,ptr,type) ((type*)grealloc(ptr,(size)*sizeof(type))) #define ZALLOC(size,ptr,type,osize) (ptr? (type*)zrealloc(ptr,size,sizeof(type),osize):(type*)zmalloc((size)*sizeof(type))) #endif -#ifdef GVDLL -#define extern __declspec(dllexport) -#else -#ifdef WIN32_DLL -#ifndef GVC_EXPORTS -#define extern __declspec(dllimport) -#endif -#endif +#if !defined(__MINGW32__) && !defined(__MINGW64__) +# ifdef GVDLL +# define extern __declspec(dllexport) +# else +# ifdef WIN32_DLL +# ifndef GVC_EXPORTS +# define extern __declspec(dllimport) +# endif +# endif +# endif #endif extern void *zmalloc(size_t); diff --git a/lib/common/pointset.h b/lib/common/pointset.h index 34e09d24f..9c1e1f50d 100644 --- a/lib/common/pointset.h +++ b/lib/common/pointset.h @@ -23,19 +23,22 @@ extern "C" { typedef Dict_t PointSet; typedef Dict_t PointMap; -#ifdef GVDLL -#define extern __declspec(dllexport) -#else -#define extern -#endif -/*visual studio*/ -#ifdef WIN32_DLL -#ifndef GVC_EXPORTS -#define extern __declspec(dllimport) -#endif +#if !defined(__MINGW32__) && !defined(__MINGW64__) +# ifdef GVDLL +# define extern __declspec(dllexport) +# else +# define extern +# endif + + /*visual studio*/ +# ifdef WIN32_DLL +# ifndef GVC_EXPORTS +# define extern __declspec(dllimport) +# endif +# endif + /*end visual studio*/ #endif -/*end visual studio*/ extern PointSet *newPS(void); extern void freePS(PointSet *); diff --git a/lib/common/render.h b/lib/common/render.h index a8e2d7157..580894985 100644 --- a/lib/common/render.h +++ b/lib/common/render.h @@ -57,19 +57,22 @@ extern "C" { } epsf_t; typedef void (*nodesizefn_t) (Agnode_t *, boolean); -#ifdef GVDLL -#define extern __declspec(dllexport) -#else -#define extern -#endif -/*visual studio*/ -#ifdef WIN32_DLL -#ifndef GVC_EXPORTS -#define extern __declspec(dllimport) -#endif +#if !defined(__MINGW32__) && !defined(__MINGW64__) +# ifdef GVDLL +# define extern __declspec(dllexport) +# else +# define extern +# endif + + /*visual studio*/ +# ifdef WIN32_DLL +# ifndef GVC_EXPORTS +# define extern __declspec(dllimport) +# endif +# endif + /*end visual studio*/ #endif -/*end visual studio*/ extern void add_box(path *, boxf); extern void arrow_flags(Agedge_t * e, int *sflag, int *eflag); diff --git a/lib/common/utils.h b/lib/common/utils.h index 544012507..8836480fa 100644 --- a/lib/common/utils.h +++ b/lib/common/utils.h @@ -19,19 +19,21 @@ extern "C" { #endif -#ifdef GVDLL -#define extern __declspec(dllexport) -#else -#define extern -#endif - -/*visual studio*/ -#ifdef WIN32_DLL -#ifndef GVC_EXPORTS -#define extern __declspec(dllimport) -#endif +#if !defined(__MINGW32__) && !defined(__MINGW64__) +# ifdef GVDLL +# define extern __declspec(dllexport) +# else +# define extern +# endif + + /*visual studio*/ +# ifdef WIN32_DLL +# ifndef GVC_EXPORTS +# define extern __declspec(dllimport) +# endif +# endif + /*end visual studio*/ #endif -/*end visual studio*/ #ifndef HAVE_STRCASECMP extern int strcasecmp(const char *s1, const char *s2); diff --git a/lib/graph/graph.h b/lib/graph/graph.h index 9b788fba2..2ad7e63c6 100644 --- a/lib/graph/graph.h +++ b/lib/graph/graph.h @@ -12,7 +12,6 @@ *************************************************************************/ - #ifndef _GRAPH_H #define _GRAPH_H 1 @@ -131,16 +130,19 @@ extern "C" { #define extern __IMPORT__ #endif #endif -/*visual studio*/ -#ifdef WIN32_DLL -#ifndef GRAPH_EXPORTS -#define extern __declspec(dllimport) -#else -#define extern __declspec(dllexport) -#endif +#if !defined(__MINGW32__) && !defined(__MINGW64__) + /*visual studio*/ +# ifdef WIN32_DLL +# ifndef GRAPH_EXPORTS +# define extern __declspec(dllimport) +# else +# define extern __declspec(dllexport) +# endif +# endif + /*end visual studio*/ #endif -/*end visual studio*/ + extern char *agstrcanon(char *, char *); extern char *agcanonical(char *); extern char *agcanon(char *);