Improved Winelib apps initialisation code. No longer need to link
winestub.o with Winelib apps.

diff --git a/include/callback.h b/include/callback.h
index 389bacb..75603d3 100644
--- a/include/callback.h
+++ b/include/callback.h
@@ -22,6 +22,10 @@
 typedef void (*RELAY)();
 extern FARPROC THUNK_Alloc( FARPROC16 func, RELAY relay );
 extern void THUNK_Free( FARPROC thunk );
+extern BOOL THUNK_Init(void);
+extern void THUNK_InitCallout(void);
+
+extern void CALL32_Init( void *func, void *target, void *stack ) WINE_NORETURN;
 
 typedef struct
 {
diff --git a/include/main.h b/include/main.h
index 76b920b..9341f36 100644
--- a/include/main.h
+++ b/include/main.h
@@ -9,16 +9,11 @@
 
 extern BOOL MAIN_MainInit( int argc, char *argv[], BOOL win32 );
 extern BOOL MAIN_WineInit( int argc, char *argv[] );
-extern HINSTANCE MAIN_WinelibInit( int *argc, char *argv[] );
 extern int MAIN_GetLanguageID(char*lang, char*country, char*charset, char*dialect);
 extern void MAIN_ParseDebugOptions(const char *options);
 extern void MAIN_ParseLanguageOption( const char *arg );
 
 extern BOOL RELAY_Init(void);
-extern void THUNK_InitCallout(void);
 extern int RELAY_ShowDebugmsgRelay(const char *func);
-extern void CALL32_Init( void *func, void *target, void *stack );
-
-extern BOOL THUNK_Init(void);
 
 #endif  /* __WINE_MAIN_H */
diff --git a/include/module.h b/include/module.h
index 5a62dc4..a8d6a992 100644
--- a/include/module.h
+++ b/include/module.h
@@ -184,7 +184,7 @@
 extern WINE_MODREF *MODULE_LoadLibraryExA( LPCSTR libname, HFILE hfile, DWORD flags );
 extern BOOL MODULE_FreeLibrary( WINE_MODREF *wm );
 extern WINE_MODREF *MODULE_FindModule( LPCSTR path );
-extern HMODULE MODULE_CreateDummyModule( LPCSTR filename, WORD version );
+extern HMODULE MODULE_CreateDummyModule( LPCSTR filename, HMODULE module32 );
 extern FARPROC16 WINAPI WIN32_GetProcAddress16( HMODULE hmodule, LPCSTR name );
 extern SEGPTR WINAPI HasGPHandler16( SEGPTR address );
 extern void MODULE_WalkModref( DWORD id );
@@ -234,7 +234,7 @@
 
 /* relay32/builtin.c */
 extern WINE_MODREF *BUILTIN32_LoadLibraryExA(LPCSTR name, DWORD flags);
-extern HMODULE16 BUILTIN32_LoadExeModule(void);
+extern HMODULE BUILTIN32_LoadExeModule( LPCSTR *filename );
 extern void BUILTIN32_UnloadLibrary(WINE_MODREF *wm);
 
 #endif  /* __WINE_MODULE_H */
diff --git a/include/thread.h b/include/thread.h
index 8b96738..0c709c0 100644
--- a/include/thread.h
+++ b/include/thread.h
@@ -122,6 +122,7 @@
 extern TEB *THREAD_CreateInitialThread( struct _PDB *pdb, int server_fd );
 extern TEB *THREAD_Create( struct _PDB *pdb, void *pid, void *tid, int fd,
                            DWORD stack_size, BOOL alloc_stack16 );
+extern TEB *THREAD_InitStack( TEB *teb, struct _PDB *pdb, DWORD stack_size, BOOL alloc_stack16 );
 extern BOOL THREAD_IsWin16( TEB *thdb );
 extern TEB *THREAD_IdToTEB( DWORD id );