]> git.saurik.com Git - apple/objc4.git/blobdiff - runtime/objc-api.h
objc4-437.tar.gz
[apple/objc4.git] / runtime / objc-api.h
index 5acebfe0ecd66a228d64cdd4f79a87c8f9fd7e2c..876150914aa7412d5cd1521140bf90fd37ccb30a 100644 (file)
@@ -26,6 +26,7 @@
 #define _OBJC_OBJC_API_H_
 
 #include <AvailabilityMacros.h>
+#include <TargetConditionals.h>
 
 /*
  * OBJC_API_VERSION 0 or undef: Tiger and earlier API only
 #   endif
 #endif
 
-#if !defined(OBJC_EXPORT)
+#if !defined(OBJC_EXTERN)
 #   if defined(__cplusplus)
-#       define OBJC_EXPORT extern "C" 
+#       define OBJC_EXTERN extern "C" 
+#   else
+#       define OBJC_EXTERN extern
+#   endif
+#endif
+
+#if !defined(OBJC_EXPORT)
+#   if TARGET_OS_WIN32
+#       if defined(BUILDING_OBJC)
+#           define OBJC_EXPORT OBJC_EXTERN __declspec(dllexport)
+#       else
+#           define OBJC_EXPORT OBJC_EXTERN __declspec(dllimport)
+#       endif
 #   else
-#       define OBJC_EXPORT extern
+#       define OBJC_EXPORT OBJC_EXTERN
 #   endif
 #endif
 
 #   define OBJC_IMPORT extern
 #endif
 
+#ifndef __DARWIN_NULL
+#define __DARWIN_NULL NULL
+#endif
+
+#if !defined(OBJC_INLINE)
+#   define OBJC_INLINE __inline
+#endif
+
 #endif