• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2     Copyright (C) 2009-2010 ProFUSION embedded systems
3     Copyright (C) 2009-2010 Samsung Electronics
4 
5     This library is free software; you can redistribute it and/or
6     modify it under the terms of the GNU Library General Public
7     License as published by the Free Software Foundation; either
8     version 2 of the License, or (at your option) any later version.
9 
10     This library is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13     Library General Public License for more details.
14 
15     You should have received a copy of the GNU Library General Public License
16     along with this library; see the file COPYING.LIB.  If not, write to
17     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18     Boston, MA 02110-1301, USA.
19 */
20 
21 /**
22  * @file    ewk_eapi.h
23  * @brief   Defines EAPI macro.
24  *
25  * The macro must be used in declaration of public functions.
26  * Functions without EAPI macro have hidden most of symbols and
27  * they are not visible for target applications.
28  */
29 
30 #ifndef ewk_eapi_h
31 #define ewk_eapi_h
32 
33 #ifdef EAPI
34 # undef EAPI
35 #endif
36 
37 #ifdef _WIN32
38 # ifdef BUILDING_WEBKIT
39 #  ifdef DLL_EXPORT
40 #   define EAPI __declspec(dllexport)
41 #  else
42 #   define EAPI
43 #  endif /* ! DLL_EXPORT */
44 # else
45 #  define EAPI __declspec(dllimport)
46 # endif /* ! EFL_EINA_BUILD */
47 #else
48 # ifdef __GNUC__
49 #  if __GNUC__ >= 4
50 #   define EAPI __attribute__ ((visibility("default")))
51 #  else
52 #   define EAPI
53 #  endif
54 # else
55 #  define EAPI
56 # endif
57 #endif
58 
59 #endif // ewk_eapi_h
60