libFirm
begin.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
3  *
4  * This file is part of libFirm.
5  *
6  * This file may be distributed and/or modified under the terms of the
7  * GNU General Public License version 2 as published by the Free Software
8  * Foundation and appearing in the file LICENSE.GPL included in the
9  * packaging of this file.
10  *
11  * Licensees holding valid libFirm Professional Edition licenses may use
12  * this file in accordance with the libFirm Commercial License.
13  * Agreement provided with the Software.
14  *
15  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17  * PURPOSE.
18  */
19 
25 #ifndef FIRM_BEGIN_H
26 #define FIRM_BEGIN_H
27 
33 #ifdef FIRM_DLL
34  #ifdef FIRM_BUILD
35  #ifdef _WIN32
36  #define FIRM_API extern __declspec(dllexport)
37  #else
38  #define FIRM_API extern __attribute__((visibility("default")))
39  #endif
40  #else
41  #ifdef _WIN32
42  #define FIRM_API extern __declspec(dllimport)
43  #else
44  #define FIRM_API extern
45  #endif
46  #endif
47 #else
48  #define FIRM_API extern
49 #endif
50 
51 #endif
52 
53 /* mark declarations as C function (note that we always need this,
54  * so don't put it in the include guard) */
55 #ifdef __cplusplus
56 extern "C" {
57 #endif