libFirm 1.20
|
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