Changed the Win32 dll descriptor to be in IMAGE_NT_HEADERS format.
Generate the import table directly in PE format.
Added gui/cuiexe_no_main modes in EXE spec files, and use this for the
main wine binary.

diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h
index ac62ec4..622fb24 100644
--- a/tools/winebuild/build.h
+++ b/tools/winebuild/build.h
@@ -61,7 +61,9 @@
 {
     SPEC_MODE_DLL,
     SPEC_MODE_GUIEXE,
-    SPEC_MODE_CUIEXE
+    SPEC_MODE_CUIEXE,
+    SPEC_MODE_GUIEXE_NO_MAIN,
+    SPEC_MODE_CUIEXE_NO_MAIN
 } SPEC_MODE;
 
 typedef struct
@@ -126,7 +128,6 @@
 
 
 #define MAX_ORDINALS	2048
-#define MAX_IMPORTS       16
 
 /* global functions */
 
@@ -135,7 +136,11 @@
 extern char *xstrdup( const char *str );
 extern char *strupper(char *s);
 extern void fatal_error( const char *msg, ... );
+extern void warning( const char *msg, ... );
 extern void dump_bytes( FILE *outfile, const unsigned char *data, int len, const char *label );
+extern void add_import_dll( const char *name );
+extern void resolve_imports( FILE *outfile );
+extern int output_imports( FILE *outfile );
 
 extern void BuildGlue( FILE *outfile, FILE *infile );
 extern void BuildRelays( FILE *outfile );
@@ -148,7 +153,6 @@
 extern int current_line;
 extern int nb_entry_points;
 extern int nb_names;
-extern int nb_imports;
 extern int Base;
 extern int Limit;
 extern int DLLHeapSize;
@@ -163,7 +167,6 @@
 extern char DLLInitFunc[80];
 extern char rsrc_name[80];
 extern char owner_name[80];
-extern char *DLLImports[MAX_IMPORTS];
 extern const char *input_file_name;
 extern const char *output_file_name;