From: <ai...@us...> - 2009-04-24 06:54:56
|
Revision: 9843 http://plplot.svn.sourceforge.net/plplot/?rev=9843&view=rev Author: airwin Date: 2009-04-24 06:54:55 +0000 (Fri, 24 Apr 2009) Log Message: ----------- Convert pldll.h to a file which is configured from pldll.h.in. This change is necessary since some of the visibility logic depends on the configured value of LIB_TAG. Modified Paths: -------------- trunk/include/CMakeLists.txt Added Paths: ----------- trunk/include/pldll.h.in Removed Paths: ------------- trunk/include/pldll.h Modified: trunk/include/CMakeLists.txt =================================================================== --- trunk/include/CMakeLists.txt 2009-04-24 05:39:57 UTC (rev 9842) +++ trunk/include/CMakeLists.txt 2009-04-24 06:54:55 UTC (rev 9843) @@ -29,6 +29,11 @@ ${CMAKE_CURRENT_BINARY_DIR}/plDevs.h ) +configure_file( +${CMAKE_CURRENT_SOURCE_DIR}/pldll.h.in +${CMAKE_CURRENT_BINARY_DIR}/pldll.h +) + set(plhershey-unicode-gen_SRCS ${CMAKE_SOURCE_DIR}/fonts/plhershey-unicode-gen.c ) @@ -65,7 +70,7 @@ drivers.h pdf.h pldebug.h -pldll.h +${CMAKE_CURRENT_BINARY_DIR}/pldll.h plevent.h plplot.h plplotP.h Deleted: trunk/include/pldll.h =================================================================== --- trunk/include/pldll.h 2009-04-24 05:39:57 UTC (rev 9842) +++ trunk/include/pldll.h 2009-04-24 06:54:55 UTC (rev 9843) @@ -1,142 +0,0 @@ -#ifndef __PL_DLL_H -#define __PL_DLL_H - -#ifdef USINGDLL - #if defined(WIN32) - /* Visual C/C++, Borland, MinGW and Watcom */ - #if defined(__VISUALC__) || defined(_MSC_VER) || defined(__BORLANDC__) || defined(__GNUC__) || defined(__WATCOMC__) - #define PLDLLEXPORT __declspec(dllexport) - #define PLDLLIMPORT __declspec(dllimport) - #else - #define PLDLLEXPORT - #define PLDLLIMPORT - #endif - #elif defined(__CYGWIN__) - #define PLDLLEXPORT __declspec(dllexport) - #define PLDLLIMPORT __declspec(dllimport) - #elif defined(__GNUC__) && __GNUC__ > 3 - /* Follow ideas in http://gcc.gnu.org/wiki/Visibility for GCC version 4.x - * The following forces exported symbols specifically designated with - * PLDLLEXPORT to be visible. */ - #define PLDLLEXPORT __attribute__ ((visibility("default"))) - #define PLDLLIMPORT - #endif -#endif - -/* For an unknown compiler or static built we clear the macros */ -#ifndef PLDLLEXPORT - #define PLDLLEXPORT - #define PLDLLIMPORT -#endif - -/* The IMPEXP macros will always be set to DLLIMPORT (even for - the static library, but DLLIMPORT is empty in this case), if - cmake didn't set the corresponding macro xxxx_EXPORTS when the - corresponding library is built (DLLIMPEXP is set to DLLEXPORT - then) */ -#if defined(plplotd_EXPORTS) - #define PLDLLIMPEXP PLDLLEXPORT - #define PLDLLIMPEXP_DATA(type) PLDLLEXPORT type -#else - #define PLDLLIMPEXP PLDLLIMPORT - #define PLDLLIMPEXP_DATA(type) PLDLLIMPORT type -#endif - -/* for dynamic drivers set the macros correctly. If a shared library is built, - but dyanmic drivers disabled, the driver dll macros are the same as the - plplot dll macros */ -#ifdef ENABLE_DYNDRIVERS - #if defined(aqt_EXPORTS) || defined(cairo_EXPORTS) || defined(cgm_EXPORTS) || \ - defined(dg300_EXPORTS) || defined(gd_EXPORTS) || defined(gcw_EXPORTS) || \ - defined(hpgl_EXPORTS) || defined(impress_EXPORTS) || defined(linuxvga_EXPORTS) || \ - defined(ljii_EXPORTS) || defined(ljiip_EXPORTS) || defined(mem_EXPORTS) || \ - defined(ntk_EXPORTS) || defined(null_EXPORTS) || defined(pbm_EXPORTS) || \ - defined(pdf_EXPORTS) || defined(plmeta_EXPORTS) || defined(ps_EXPORTS) || \ - defined(pstex_EXPORTS) || defined(psttf_EXPORTS) || defined(svg_EXPORTS) || \ - defined(tek_EXPORTS) || defined(tk_EXPORTS) || defined(tkwin_EXPORTS) || \ - defined(wingcc_EXPORTS) || defined(wxwidgets_EXPORTS) || defined(xfig_EXPORTS) || \ - defined(xwin_EXPORTS) || defined(qt_EXPORTS) - #define PLDLLIMPEXP_DRIVER PLDLLEXPORT - #define PLDLLIMPEXP_DRIVER_DATA(type) PLDLLEXPORT type - #else - #define PLDLLIMPEXP_DRIVER PLDLLIMPORT - #define PLDLLIMPEXP_DRIVER_DATA(type) PLDLLIMPORT type - #endif -#else - #define PLDLLIMPEXP_DRIVER PLDLLIMPEXP - #define PLDLLIMPEXP_DRIVER_DATA(type) PLDLLIMPEXP_DATA(type) -#endif - -#if defined(plplotcxxd_EXPORTS) - #define PLDLLIMPEXP_CXX PLDLLEXPORT - #define PLDLLIMPEXP_CXX_DATA(type) PLDLLEXPORT type -#else - #define PLDLLIMPEXP_CXX PLDLLIMPORT - #define PLDLLIMPEXP_CXX_DATA(type) PLDLLIMPORT type -#endif - -#if defined(plplotf77cd_EXPORTS) - #define PLDLLIMPEXP_F77C PLDLLEXPORT - #define PLDLLIMPEXP_F77C_DATA(type) PLDLLEXPORT type -#else - #define PLDLLIMPEXP_F77C PLDLLIMPORT - #define PLDLLIMPEXP_F77C_DATA(type) PLDLLIMPORT type -#endif - -#if defined(plplotf95cd_EXPORTS) - #define PLDLLIMPEXP_F95C PLDLLEXPORT - #define PLDLLIMPEXP_F95C_DATA(type) PLDLLEXPORT type -#else - #define PLDLLIMPEXP_F95C PLDLLIMPORT - #define PLDLLIMPEXP_F95C_DATA(type) PLDLLIMPORT type -#endif - -#if defined(plplotwxwidgetsd_EXPORTS) - #define PLDLLIMPEXP_WX PLDLLEXPORT - #define PLDLLIMPEXP_WX_DATA(type) PLDLLEXPORT type -#else - #define PLDLLIMPEXP_WX PLDLLIMPORT - #define PLDLLIMPEXP_WX_DATA(type) PLDLLIMPORT type -#endif - -#if defined(tclmatrixd_EXPORTS) - #define PLDLLIMPEXP_TCLMAT PLDLLEXPORT - #define PLDLLIMPEXP_TCLMAT_DATA(type) PLDLLEXPORT type -#else - #define PLDLLIMPEXP_TCLMAT PLDLLIMPORT - #define PLDLLIMPEXP_TCLMAT_DATA(type) PLDLLIMPORT type -#endif - -#if defined(plplottcltkd_EXPORTS) - #define PLDLLIMPEXP_TCLTK PLDLLEXPORT - #define PLDLLIMPEXP_TCLTK_DATA(type) PLDLLEXPORT type -#else - #define PLDLLIMPEXP_TCLTK PLDLLIMPORT - #define PLDLLIMPEXP_TCLTK_DATA(type) PLDLLIMPORT type -#endif - -#if defined(plplotgnome2d_EXPORTS) - #define PLDLLIMPEXP_GNOME2 PLDLLEXPORT - #define PLDLLIMPEXP_GNOME2_DATA(type) PLDLLEXPORT type -#else - #define PLDLLIMPEXP_GNOME2 PLDLLIMPORT - #define PLDLLIMPEXP_GNOME2_DATA(type) PLDLLIMPORT type -#endif - -#if defined(cplplotcanvasmodule_EXPORTS) - #define PLDLLIMPEXP_CPLPLOTCANVASMODULE PLDLLEXPORT - #define PLDLLIMPEXP_CPLPLOTCANVASMODULE_DATA(type) PLDLLEXPORT type -#else - #define PLDLLIMPEXP_CPLPLOTCANVASMODULE PLDLLIMPORT - #define PLDLLIMPEXP_CPLPLOTCANVASMODULE_DATA(type) PLDLLIMPORT type -#endif - -#if defined(plplot_widgetmodule_EXPORTS) - #define PLDLLIMPEXP_PLPLOT_WIDGETMODULE PLDLLEXPORT - #define PLDLLIMPEXP_PLPLOT_MODULE_DATA(type) PLDLLEXPORT type -#else - #define PLDLLIMPEXP_PLPLOT_MODULE PLDLLIMPORT - #define PLDLLIMPEXP_PLPLOT_MODULE_DATA(type) PLDLLIMPORT type -#endif - -#endif /* __PL_DLL_H */ Copied: trunk/include/pldll.h.in (from rev 9841, trunk/include/pldll.h) =================================================================== --- trunk/include/pldll.h.in (rev 0) +++ trunk/include/pldll.h.in 2009-04-24 06:54:55 UTC (rev 9843) @@ -0,0 +1,142 @@ +#ifndef __PL_DLL_H +#define __PL_DLL_H + +#ifdef USINGDLL + #if defined(WIN32) + /* Visual C/C++, Borland, MinGW and Watcom */ + #if defined(__VISUALC__) || defined(_MSC_VER) || defined(__BORLANDC__) || defined(__GNUC__) || defined(__WATCOMC__) + #define PLDLLEXPORT __declspec(dllexport) + #define PLDLLIMPORT __declspec(dllimport) + #else + #define PLDLLEXPORT + #define PLDLLIMPORT + #endif + #elif defined(__CYGWIN__) + #define PLDLLEXPORT __declspec(dllexport) + #define PLDLLIMPORT __declspec(dllimport) + #elif defined(__GNUC__) && __GNUC__ > 3 + /* Follow ideas in http://gcc.gnu.org/wiki/Visibility for GCC version 4.x + * The following forces exported symbols specifically designated with + * PLDLLEXPORT to be visible. */ + #define PLDLLEXPORT __attribute__ ((visibility("default"))) + #define PLDLLIMPORT + #endif +#endif + +/* For an unknown compiler or static built we clear the macros */ +#ifndef PLDLLEXPORT + #define PLDLLEXPORT + #define PLDLLIMPORT +#endif + +/* The IMPEXP macros will always be set to DLLIMPORT (even for + the static library, but DLLIMPORT is empty in this case), if + cmake didn't set the corresponding macro xxxx_EXPORTS when the + corresponding library is built (DLLIMPEXP is set to DLLEXPORT + then) */ +#if defined(plplot${LIB_TAG}_EXPORTS) + #define PLDLLIMPEXP PLDLLEXPORT + #define PLDLLIMPEXP_DATA(type) PLDLLEXPORT type +#else + #define PLDLLIMPEXP PLDLLIMPORT + #define PLDLLIMPEXP_DATA(type) PLDLLIMPORT type +#endif + +/* for dynamic drivers set the macros correctly. If a shared library is built, + but dyanmic drivers disabled, the driver dll macros are the same as the + plplot dll macros */ +#ifdef ENABLE_DYNDRIVERS + #if defined(aqt_EXPORTS) || defined(cairo_EXPORTS) || defined(cgm_EXPORTS) || \ + defined(dg300_EXPORTS) || defined(gd_EXPORTS) || defined(gcw_EXPORTS) || \ + defined(hpgl_EXPORTS) || defined(impress_EXPORTS) || defined(linuxvga_EXPORTS) || \ + defined(ljii_EXPORTS) || defined(ljiip_EXPORTS) || defined(mem_EXPORTS) || \ + defined(ntk_EXPORTS) || defined(null_EXPORTS) || defined(pbm_EXPORTS) || \ + defined(pdf_EXPORTS) || defined(plmeta_EXPORTS) || defined(ps_EXPORTS) || \ + defined(pstex_EXPORTS) || defined(psttf_EXPORTS) || defined(svg_EXPORTS) || \ + defined(tek_EXPORTS) || defined(tk_EXPORTS) || defined(tkwin_EXPORTS) || \ + defined(wingcc_EXPORTS) || defined(wxwidgets_EXPORTS) || defined(xfig_EXPORTS) || \ + defined(xwin_EXPORTS) || defined(qt_EXPORTS) + #define PLDLLIMPEXP_DRIVER PLDLLEXPORT + #define PLDLLIMPEXP_DRIVER_DATA(type) PLDLLEXPORT type + #else + #define PLDLLIMPEXP_DRIVER PLDLLIMPORT + #define PLDLLIMPEXP_DRIVER_DATA(type) PLDLLIMPORT type + #endif +#else + #define PLDLLIMPEXP_DRIVER PLDLLIMPEXP + #define PLDLLIMPEXP_DRIVER_DATA(type) PLDLLIMPEXP_DATA(type) +#endif + +#if defined(plplotcxx${LIB_TAG}_EXPORTS) + #define PLDLLIMPEXP_CXX PLDLLEXPORT + #define PLDLLIMPEXP_CXX_DATA(type) PLDLLEXPORT type +#else + #define PLDLLIMPEXP_CXX PLDLLIMPORT + #define PLDLLIMPEXP_CXX_DATA(type) PLDLLIMPORT type +#endif + +#if defined(plplotf77c${LIB_TAG}_EXPORTS) + #define PLDLLIMPEXP_F77C PLDLLEXPORT + #define PLDLLIMPEXP_F77C_DATA(type) PLDLLEXPORT type +#else + #define PLDLLIMPEXP_F77C PLDLLIMPORT + #define PLDLLIMPEXP_F77C_DATA(type) PLDLLIMPORT type +#endif + +#if defined(plplotf95c${LIB_TAG}_EXPORTS) + #define PLDLLIMPEXP_F95C PLDLLEXPORT + #define PLDLLIMPEXP_F95C_DATA(type) PLDLLEXPORT type +#else + #define PLDLLIMPEXP_F95C PLDLLIMPORT + #define PLDLLIMPEXP_F95C_DATA(type) PLDLLIMPORT type +#endif + +#if defined(plplotwxwidgets${LIB_TAG}_EXPORTS) + #define PLDLLIMPEXP_WX PLDLLEXPORT + #define PLDLLIMPEXP_WX_DATA(type) PLDLLEXPORT type +#else + #define PLDLLIMPEXP_WX PLDLLIMPORT + #define PLDLLIMPEXP_WX_DATA(type) PLDLLIMPORT type +#endif + +#if defined(tclmatrix${LIB_TAG}_EXPORTS) + #define PLDLLIMPEXP_TCLMAT PLDLLEXPORT + #define PLDLLIMPEXP_TCLMAT_DATA(type) PLDLLEXPORT type +#else + #define PLDLLIMPEXP_TCLMAT PLDLLIMPORT + #define PLDLLIMPEXP_TCLMAT_DATA(type) PLDLLIMPORT type +#endif + +#if defined(plplottcltk${LIB_TAG}_EXPORTS) + #define PLDLLIMPEXP_TCLTK PLDLLEXPORT + #define PLDLLIMPEXP_TCLTK_DATA(type) PLDLLEXPORT type +#else + #define PLDLLIMPEXP_TCLTK PLDLLIMPORT + #define PLDLLIMPEXP_TCLTK_DATA(type) PLDLLIMPORT type +#endif + +#if defined(plplotgnome2${LIB_TAG}_EXPORTS) + #define PLDLLIMPEXP_GNOME2 PLDLLEXPORT + #define PLDLLIMPEXP_GNOME2_DATA(type) PLDLLEXPORT type +#else + #define PLDLLIMPEXP_GNOME2 PLDLLIMPORT + #define PLDLLIMPEXP_GNOME2_DATA(type) PLDLLIMPORT type +#endif + +#if defined(cplplotcanvasmodule_EXPORTS) + #define PLDLLIMPEXP_CPLPLOTCANVASMODULE PLDLLEXPORT + #define PLDLLIMPEXP_CPLPLOTCANVASMODULE_DATA(type) PLDLLEXPORT type +#else + #define PLDLLIMPEXP_CPLPLOTCANVASMODULE PLDLLIMPORT + #define PLDLLIMPEXP_CPLPLOTCANVASMODULE_DATA(type) PLDLLIMPORT type +#endif + +#if defined(plplot_widgetmodule_EXPORTS) + #define PLDLLIMPEXP_PLPLOT_WIDGETMODULE PLDLLEXPORT + #define PLDLLIMPEXP_PLPLOT_MODULE_DATA(type) PLDLLEXPORT type +#else + #define PLDLLIMPEXP_PLPLOT_MODULE PLDLLIMPORT + #define PLDLLIMPEXP_PLPLOT_MODULE_DATA(type) PLDLLIMPORT type +#endif + +#endif /* __PL_DLL_H */ Property changes on: trunk/include/pldll.h.in ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:mergeinfo + Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |