This is the base for building/using U++ outside TheIDE.
Note: assumed OS is Windows. If you have a different OS, apply necessary corrections.

Currently, the only prerequisites are the pkggen program, pkggen packages list and U++ source tree.
To create the files in this folder, you need to place pkggen.exe and pkggen.txt into the source tree root,
and execute it with the desired flags. "pkggen.exe WIN32" should be sufficient.
These flags determine packages' dependencies and are added to the generated include file.

After execution of pkggen, you'll see the following additions to the source tree:

UppLib folder - this folder contains many .cpp files and a header - UppLib.h.
	In case you want to build U++ static library, all you need to do is add all files
	from this folder to your project and build.

UppPkg folder - this folder contains headers for U++ packages.

UppBase.cpp file - this file is the SCU for U++. Copy it into your project's directory
	when you want to use U++. It shouldn't be modified.

UppBase.h file - this is the include file for U++ in SCU mode. Copy it into your project's directory
	when you want to use U++. Uncomment packages you intend to use, and add any flags you need.

SCU works like this: in UppPkg folder there are headers for every package. These headers take care of
	the package and its dependencies, by including the main header of the package and all source files.
	UppBase.h includes all the main headers of all selected (uncommented) packages.
	UppBase.cpp includes all sources of packages included by UppBase.h.

If you want to use a lib instead of SCU, the only necessary change should be removing UppBase.cpp
and adding U++ library to linker.

pkggen.txt currently defines only the working packages. Packages prefixed by / have their headers generated,
yet they aren't included in UppLib and UppBase. Packages prefixed by // are ignored. You could also add a header
to the list, it would be assumed to be the main / precompiled header, and used in UppLib.

To create a U++ project, create a basic Win32 GUI project, and add UppBase.h and UppBase.cpp / U++ lib.
Uncomment packages you need in UppBase.h and add necessary libraries to linker.
For MSVC that would be winmm.lib, for MinGW - comdlg32, ole32, uuid, winmm.

Known issues:
	MSVC cannot build U++ projects using SCU in release (compiler / linker bug)
		-> Use lib in release, or disable optimizations (/O1 or /O2 imply /Og, which triggers the bug).
		If you want optimizations with SCU, select Custom and add to command line: /Ob2 /Gs /GF /Gy /Oi /Ot /Oy 
	EXE size of projects using SCU is larger than EXE size of projects using lib
		-> Use lib in release
	MinGW build time of U++ lib is huge
		-> use Core/Core.h as a precompiled header
	MinGW produces buggy EXEs in debug with certain packages included
		-> reason unknown, under investigation
	Not all packages work in SCU mode
		-> use packages that currently work. Some plugins (bz2, pcre, tif) should be easily modified to work.

