amd64: Added Load and FrameAddr transformation. And fixed some corruption bugs w...
[libfirm] / include / libfirm / begin.h
index a1d8b0e..8a1c85d 100644 (file)
 #define FIRM_BEGIN_H
 
 /**
- * @def FIRM_DLL
+ * @def FIRM_API
  * Declaration specifier which marks a function/variable as being publicly
  * visible outside the firm library/dll
  */
-#ifdef FIRM_BUILD_DLL
-       #ifdef _WIN32
-               #define FIRM_DLL extern __declspec(dllexport)
+#ifdef FIRM_DLL
+       #ifdef FIRM_BUILD
+               #ifdef _WIN32
+                       #define FIRM_API extern __declspec(dllexport)
+               #else
+                       #define FIRM_API extern __attribute__((visibility("default")))
+               #endif
        #else
-               #define FIRM_DLL extern __attribute__((visibility("default")))
+               #ifdef _WIN32
+                       #define FIRM_API extern __declspec(dllimport)
+               #else
+                       #define FIRM_API
+               #endif
        #endif
 #else
-       #ifdef _WIN32
-               #define FIRM_DLL extern __declspec(dllimport)
-       #else
-               #define FIRM_DLL
-       #endif
+       #define  FIRM_API
 #endif
 
 /* mark declarations as C function */