1.0 Introduction.

This version of the compiler is capable of generating win32 programs.
There is support for console applications, GUI applications, and DLLs
This is a beta version of WIN32 support and not all features may work
correctly.

1.1 Caveats

The linker does not understand .DEF files, and the support for .RES
files has not been debugged.

There is no resource editor.

The win32 runtime libraries may be a little buggy, and non-standard features
are not yet implemented.

VALX uses borland style imports as opposed to microsoft style.  microsoft
style linkers (e.g. alink) will not work with this package.

There is no debugger for win32 programs yet (you can use TD32 off the borland
site if you need one).

2.0 Compiler support

Two new compiler directives have been added: _export and _import.  This
is sufficient to handle basic windows dynamic linking.  As an alternative 
to using the _import keyword an import library can be created with xlib,
or LoadLibrary may be used to load a dll explicitly.

_export (which is defined to EXPORT in the headers) is used by a dll to
export library functions to be linked to.  As an example:

int WINAPI EXPORT myfunc(void)
{
}

will cause the function 'myfunc' to be accessible from other programs.

_import (which is defined to IMPORT in the headers) is used by a dll to
import library functions from a dll.  For example if the previous export
was defined in a dll called mydll.dll:

int WINAPI IMPORT("mydll.dll") myfunc(void) ;

will cause the compiler and linker to generate an import reference.


2.1 XLIB support for import libraries

If you want to make an import library, XLIB now supports a minimal subset
of the .DEF files, enough to make the library.  This is how the windows
import library was created.

The syntax for a def file called mylib.def is:

LIBRARY mylib.dll

EXPORTS	
	name1		@ord1
	name2		@ord2
	name3		@ord3

and so forth.  name1 is the function name to import, and ordx is the numeric
value of its ordinal.

XLIB will automatically create import records from .DEF files it encounters
on the command line, e.g.:

xlib  myimplib +mylib.def

will create an import library for the dll mylib as specified in the .DEF 
file.

2.2 VALX support

Several new switches have been added to control output of windows programs.
The ones of most interest at this time are:

/PE - make a windows console program (implicitly sets the /32 switch)
	Entry point is main() 
/BDL - when added to /PE creates a DLL
	Entry point is DllEntryPoint()
/WIN - when added to /PE creates a GUI application
	Entry point is WinMain()

/FA - play with this to make the output files smaller (try /FA:512)

you will also need to use the /NCI switch or valx will mess up the
case sensitivity.

For example to build a console application:

valx /NCI /PE /WIN c0win.obj myfile.obj , myfile,myfile,clwin.lib climp.lib,,

3.0 win32 libraries

Several new files have been added for the runtime requirements:

C0xwin.obj - startup file for console applications
C0win.obj - startup file for GUI applications
c0dwin.obj - startup file for DLLs
clwin.lib - windows runtime library
climp.lib - windows import library
