libFirm 1.20
libfirm/begin.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
00003  *
00004  * This file is part of libFirm.
00005  *
00006  * This file may be distributed and/or modified under the terms of the
00007  * GNU General Public License version 2 as published by the Free Software
00008  * Foundation and appearing in the file LICENSE.GPL included in the
00009  * packaging of this file.
00010  *
00011  * Licensees holding valid libFirm Professional Edition licenses may use
00012  * this file in accordance with the libFirm Commercial License.
00013  * Agreement provided with the Software.
00014  *
00015  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00016  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017  * PURPOSE.
00018  */
00019 
00025 #ifndef FIRM_BEGIN_H
00026 #define FIRM_BEGIN_H
00027 
00033 #ifdef FIRM_DLL
00034     #ifdef FIRM_BUILD
00035         #ifdef _WIN32
00036             #define FIRM_API extern __declspec(dllexport)
00037         #else
00038             #define FIRM_API extern __attribute__((visibility("default")))
00039         #endif
00040     #else
00041         #ifdef _WIN32
00042             #define FIRM_API extern __declspec(dllimport)
00043         #else
00044             #define FIRM_API extern
00045         #endif
00046     #endif
00047 #else
00048     #define  FIRM_API extern
00049 #endif
00050 
00051 #endif
00052 
00053 /* mark declarations as C function (note that we always need this,
00054  * so don't put it in the include guard) */
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif