This subdirectory contains a batch file used to postprocess libgcc created
during pgcc/egcs build process. During build step only single-threaded version
with exception support of libgcc is built; for full support we need:

  - single-threaded libgcc without exception support (for plain C)
  - single-threaded libgcc with exception support (for C++)
  - multi-threaded libgcc without exception support (for plain C)
  - multi-threaded libgcc with exception support (for C++)

To build them, place gcc.a and gcc_p.a in this directory, set the "pgccpath"
variable near the start of make_gpp.cmd batch file to the right path and
run it. If you did everything correctly, you should get:

  st/gcc.a   - the single-threaded C runtime
  st/gcc_p.a - the single-threaded C runtime with profiling
  st/gpp.a   - the single-threaded C++ runtime
  st/gpp_p.a - the single-threaded C++ runtime with profiling
  mt/gcc.a   - the multi-threaded C runtime
  mt/gcc_p.a - the multi-threaded C runtime with profiling
  mt/gpp.a   - the multi-threaded C++ runtime
  mt/gpp_p.a - the multi-threaded C++ runtime with profiling

The batch file will also build the dynamic version of libgcc, usually it is
called gccXXXX.dll and gccXXXX.a, where XXXX is the full version number
(which you can see if you run "gcc -v", for example:

  [F:\home\andy\distr\_]gcc -v
  Using builtin specs.
  gcc version pgcc-2.91.66 19990314 (egcs-1.1.2 release)

In above example the version number is "29166"). The dynamic version of libgcc
is built from multithreaded C++ library (mt/gpp.a); it will work also for plain
C and for single-threaded programs. The penalty for single-threaded vs
multi-threaded libraries are some code size (_very_ little) and speed
(again _very_ little, Eberhard Mattes' excellent smutex semaphores are very
fast). The penalty for exceptions vs non-exceptions is code size (about 10K);
however if you use the DLL the size penalty is entirely within that DLL.
