hpp-bezier-com-traj 6.0.0
Multi contact trajectory generation for the COM using Bezier curves
Loading...
Searching...
No Matches
local_config.hh
Go to the documentation of this file.
1/*
2 * Copyright 2017, LAAS-CNRS
3 * Author: Steve Tonneau
4 */
5
6#ifndef _BEZIER_COM_TRAJ_LIB_CONFIG_HH
7#define _BEZIER_COM_TRAJ_LIB_CONFIG_HH
8
9// Package version (header).
10#define BEZIER_COM_TRAJ_VERSION "UNKNOWN"
11
12// Handle portable symbol export.
13// Defining manually which symbol should be exported is required
14// under Windows whether MinGW or MSVC is used.
15//
16// The headers then have to be able to work in two different modes:
17// - dllexport when one is building the library,
18// - dllimport for clients using the library.
19//
20// On Linux, set the visibility accordingly. If C++ symbol visibility
21// is handled by the compiler, see: http://gcc.gnu.org/wiki/Visibility
22#if defined _WIN32 || defined __CYGWIN__
23// On Microsoft Windows, use dllimport and dllexport to tag symbols.
24#define BEZIER_COM_TRAJ_DLLIMPORT __declspec(dllimport)
25#define BEZIER_COM_TRAJ_DLLEXPORT __declspec(dllexport)
26#define BEZIER_COM_TRAJ_DLLLOCAL
27#else
28// On Linux, for GCC >= 4, tag symbols using GCC extension.
29#if __GNUC__ >= 4
30#define BEZIER_COM_TRAJ_DLLIMPORT __attribute__((visibility("default")))
31#define BEZIER_COM_TRAJ_DLLEXPORT __attribute__((visibility("default")))
32#define BEZIER_COM_TRAJ_DLLLOCAL __attribute__((visibility("hidden")))
33#else
34// Otherwise (GCC < 4 or another compiler is used), export everything.
35#define BEZIER_COM_TRAJ_DLLIMPORT
36#define BEZIER_COM_TRAJ_DLLEXPORT
37#define BEZIER_COM_TRAJ_DLLLOCAL
38#endif // __GNUC__ >= 4
39#endif // defined _WIN32 || defined __CYGWIN__
40
41#ifdef BEZIER_COM_TRAJ_STATIC
42// If one is using the library statically, get rid of
43// extra information.
44#define BEZIER_COM_TRAJ_DLLAPI
45#define BEZIER_COM_TRAJ_LOCAL
46#else
47// Depending on whether one is building or using the
48// library define DLLAPI to import or export.
49#ifdef BEZIER_COM_TRAJ_EXPORTS
50#define BEZIER_COM_TRAJ_DLLAPI BEZIER_COM_TRAJ_DLLEXPORT
51#else
52#define BEZIER_COM_TRAJ_DLLAPI BEZIER_COM_TRAJ_DLLIMPORT
53#endif // BEZIER_COM_TRAJ_EXPORTS
54#define BEZIER_COM_TRAJ_LOCAL BEZIER_COM_TRAJ_DLLLOCAL
55#endif // BEZIER_COM_TRAJ_STATIC
56
57#endif //_BEZIER_COM_TRAJ_LIB_CONFIG_HH