#include "Cmm.h"
+#ifdef __PIC__
+import pthread_mutex_lock;
+import base_GHCziBase_Czh_static_info;
+import base_GHCziBase_Izh_static_info;
+#endif
+
/* ----------------------------------------------------------------------------
Support for the bytecode interpreter.
------------------------------------------------------------------------- */
replace them with references to the static objects.
------------------------------------------------------------------------- */
-#if defined(ENABLE_WIN32_DLL_SUPPORT)
+#if defined(__PIC__) && defined(mingw32_TARGET_OS)
/*
* When sticking the RTS in a DLL, we delay populating the
* Charlike and Intlike tables until load-time, which is only
* when we've got the real addresses to the C# and I# closures.
*
*/
-static INFO_TBL_CONST StgInfoTable czh_static_info;
-static INFO_TBL_CONST StgInfoTable izh_static_info;
-#define Char_hash_static_info czh_static_info
-#define Int_hash_static_info izh_static_info
+#warning Is this correct? _imp is a pointer!
+#define Char_hash_static_info _imp__base_GHCziBase_Czh_static
+#define Int_hash_static_info _imp__base_GHCziBase_Izh_static
#else
#define Char_hash_static_info base_GHCziBase_Czh_static
#define Int_hash_static_info base_GHCziBase_Izh_static