From: Magnus Jacobsson Date: Thu, 22 Jul 2021 19:22:11 +0000 (+0200) Subject: pathplan: add storage-class attribute declarations in pathplan.h X-Git-Tag: 3.0.0~121^2~14 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=41f186855059e4b0c1cd11e12389725d3413555e;p=graphviz pathplan: add storage-class attribute declarations in pathplan.h This will allow removing the pathplan.h symbols from the pathplan.def file in an upcoming commit. Towards https://gitlab.com/graphviz/graphviz/-/issues/2058. --- diff --git a/lib/pathplan/pathplan.h b/lib/pathplan/pathplan.h index c2648d60a..2eaf49bb9 100644 --- a/lib/pathplan/pathplan.h +++ b/lib/pathplan/pathplan.h @@ -16,26 +16,36 @@ extern "C" { #endif +#ifdef GVDLL +#ifdef PATHPLAN_EXPORTS +#define PATHPLAN_API __declspec(dllexport) +#else +#define PATHPLAN_API __declspec(dllimport) +#endif +#endif +#ifndef PATHPLAN_API +#define PATHPLAN_API /* nothing */ +#endif /* find shortest euclidean path within a simple polygon */ - extern int Pshortestpath(Ppoly_t * boundary, Ppoint_t endpoints[2], + PATHPLAN_API int Pshortestpath(Ppoly_t * boundary, Ppoint_t endpoints[2], Ppolyline_t * output_route); /* fit a spline to an input polyline, without touching barrier segments */ - extern int Proutespline(Pedge_t * barriers, int n_barriers, + PATHPLAN_API int Proutespline(Pedge_t * barriers, int n_barriers, Ppolyline_t input_route, Pvector_t endpoint_slopes[2], Ppolyline_t * output_route); /* utility function to convert from a set of polygonal obstacles to barriers */ - extern int Ppolybarriers(Ppoly_t ** polys, int npolys, + PATHPLAN_API int Ppolybarriers(Ppoly_t ** polys, int npolys, Pedge_t ** barriers, int *n_barriers); /* function to convert a polyline into a spline representation */ - extern void make_polyline(Ppolyline_t line, Ppolyline_t* sline); + PATHPLAN_API void make_polyline(Ppolyline_t line, Ppolyline_t* sline); -#undef extern +#undef PATHPLAN_API #ifdef __cplusplus }