summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/rts/Linker.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/includes/rts/Linker.h b/includes/rts/Linker.h
index f7c8ce9c4b..e900e858c1 100644
--- a/includes/rts/Linker.h
+++ b/includes/rts/Linker.h
@@ -14,31 +14,37 @@
#ifndef RTS_LINKER_H
#define RTS_LINKER_H
+#if defined(mingw32_HOST_OS)
+typedef wchar_t pathchar;
+#else
+typedef char pathchar;
+#endif
+
/* initialize the object linker */
void initLinker( void );
/* insert a stable symbol in the hash table */
-void insertStableSymbol(char* obj_name, char* key, StgPtr data);
+void insertStableSymbol(pathchar* obj_name, char* key, StgPtr data);
/* insert a symbol in the hash table */
-void insertSymbol(char* obj_name, char* key, void* data);
+void insertSymbol(pathchar* obj_name, char* key, void* data);
/* lookup a symbol in the hash table */
void *lookupSymbol( char *lbl );
/* delete an object from the pool */
-HsInt unloadObj( char *path );
+HsInt unloadObj( pathchar *path );
/* add an obj (populate the global symbol table, but don't resolve yet) */
-HsInt loadObj( char *path );
+HsInt loadObj( pathchar *path );
/* add an arch (populate the global symbol table, but don't resolve yet) */
-HsInt loadArchive( char *path );
+HsInt loadArchive( pathchar *path );
/* resolve all the currently unlinked objects in memory */
HsInt resolveObjs( void );
/* load a dynamic library */
-const char *addDLL( char* dll_name );
+const char *addDLL( pathchar* dll_name );
#endif /* RTS_LINKER_H */