]> granicus.if.org Git - graphviz/commitdiff
Correct MSVC storage-class in gvpr.h. Removes one warning
authorMagnus Jacobsson <Magnus.Jacobsson@berotec.se>
Mon, 19 Apr 2021 20:35:42 +0000 (22:35 +0200)
committerMagnus Jacobsson <Magnus.Jacobsson@berotec.se>
Wed, 19 May 2021 19:00:49 +0000 (21:00 +0200)
Only set __declspec(dllexport) or __declspec(dllimport) when the gvpr
library is dynamically linked. This is defined by GVDLL which is set
in the Windows MSBuild builds which use dynamic linking, but unset in
the Windows CMake builds which use static linking.

Removes the following warning from the Windows CMake builds:

C:\GitLab-Runner\builds\graphviz\graphviz\lib\gvpr\gvpr.c(931,1): warning C4273: 'gvpr': inconsistent dll linkage [C:\GitLab-Runner\builds\graphviz\graphviz\build\lib\gvpr\gvpr.vcxproj]

lib/gvpr/gvpr.h

index 7a42f0188a17faeda19aaca127a23a5ee8386830..922016b4d641b0965fc38c31a5d6e617520669c1 100644 (file)
@@ -16,13 +16,17 @@ extern "C" {
 #define GVPR_H
 
 #ifdef _WIN32
-#   ifdef EXPORT_GVPR
-#       define GVPR_API __declspec(dllexport)
-#   else
-#       define GVPR_API __declspec(dllimport)
+#   ifdef GVDLL
+#       ifdef EXPORT_GVPR
+#           define GVPR_API __declspec(dllexport)
+#       else
+#           define GVPR_API __declspec(dllimport)
+#       endif
 #   endif
-#else
-#   define GVPR_API extern
+#endif
+
+#ifndef GVPR_API
+#   define GVPR_API /* nothing */
 #endif
 
 #include "cgraph.h"
@@ -61,7 +65,7 @@ typedef struct {
     gvprbinding* bindings;    /* array of bindings, terminated with {NULL,NULL} */
 } gvpropts;
 
-GVPR_API int gvpr (int argc, char *argv[], gvpropts* opts);
+GVPR_API extern int gvpr (int argc, char *argv[], gvpropts* opts);
 
 #endif