1// Copyright 2020 The Marl Authors.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#ifndef marl_export_h
16#define marl_export_h
17
18#ifdef MARL_DLL
19
20#if MARL_BUILDING_DLL
21#define MARL_EXPORT __declspec(dllexport)
22#else
23#define MARL_EXPORT __declspec(dllimport)
24#endif
25
26#else // #ifdef MARL_DLL
27
28#if __GNUC__ >= 4
29#define MARL_EXPORT __attribute__((visibility("default")))
30#define MARL_NO_EXPORT __attribute__((visibility("hidden")))
31#endif
32
33#endif
34
35#ifndef MARL_EXPORT
36#define MARL_EXPORT
37#endif
38
39#ifndef MARL_NO_EXPORT
40#define MARL_NO_EXPORT
41#endif
42
43#endif // marl_export_h
44