DALi Version 1.3.38
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / dali-toolkit-common.h
1 #ifndef DALI_TOOLKIT_COMMON_H
2 #define DALI_TOOLKIT_COMMON_H
3
4 /*
5  * Copyright (c) 2018 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */
20
21 // EXTERNAL INCLUDES
22 #include <dali/public-api/dali-adaptor-common.h>
23
24 /*
25  * Definitions for shared library support.
26  *
27  * If a library is configured with --enable-exportall or --enable-debug
28  * then HIDE_DALI_INTERNALS is not defined, and nothing is hidden.
29  * If it is configured without these options (the default), then HIDE_INTERNALS
30  * is defined when building the library, visibility is automatically hidden, and the explicit
31  * defines below come into use.
32  * When building a library that uses DALI, HIDE_DALI_INTERNALS.
33  */
34 #if __GNUC__ >= 4
35 #  ifndef HIDE_DALI_INTERNALS
36 #    define DALI_TOOLKIT_API
37 #  else
38 #    define DALI_TOOLKIT_API __attribute__ ((visibility ("default")))
39 #  endif
40 #else
41 /** Visibility attribute to show declarations */
42 #  define DALI_TOOLKIT_API
43 #endif
44
45 #endif // DALI_TOOLKIT_COMMON_H