#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