hpp-bezier-com-traj  4.9.0
Multi contact trajectory generation for the COM using Bezier curves
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