//$Id: TOOLS.TXT 1.1 1997/10/27 12:27:37 ska Exp $
Some notes about the tools used to maintain & build CLib:

Revision Control System
=======================
GNU RCS version 5.6.7.4 (beta)

Used to keep track of distributed versions of CLib and each individual file.

Perl
====
This is perl, version 4.0M4
$RCSfile: TOOLS.TXT $$Revision: 1.1 $$Date: 1997/10/27 12:27:37 $
Patch level: 36

Used to manipulate text files (check out the files with "#!perl" in the
first line).

LIB
===
$Date: 1997/10/27 12:27:37 $ $State: Exp $ $Name:  $

Alternative librarian
Used to archive .OBJ into .LIB files (MS compatible formats).

Note: LIB contains a bug that causes a corruption of the control information
of the .LIB file, when the end of the library data portion falls onto a
512 byte boundary. Such a corrupted library causes TLINK to bail out with
an fatal error message like: "Bad header in module XXXX near offset YYYY".

Performing: "LIB /i <libfile>" results in an error message like:
"No end of library found" or "Library size exceeds limit".

To remove the bug: search for the function trailerSize():
	int trailerSize(struct LIB_INFO *lib)
	/* evaluate the difference to the next 512-aligned page */
	{	word topad;

		Ltell(NULL, &topad, DIR_PAGE_SIZE, lib);
		return DIR_PAGE_SIZE - topad;
	}
Modify the "return" statement as shown above.

To work-around the bug you must do something that alters the size of the
data portion of the .LIB file:
1) use a different the page size, e.g. "LIB /cp=# <libfile> + .\*.obj"
2) turn off library index alignment, e.g. "LIB /cx <libfile> + .\*.obj"
3) add/remove a .OBJ file or lines of code in a source file
4) tell the compiler to or not to put debug info into the .OBJ

C compiler
==========
Borland C++ 5.2 Copyright (c) 1987, 1997 Borland International
Mar 19 1997 17:29:40
Running in either a Win95 DOS Box (v7.10) or DOS v6.22

My implementation environment to test all the sources against.

Shell
=====
NDOS, Norton Utilities version 8.0, Copyright 1993 by Symantec Corporation

4dos clone, a more Unix-like shell.

Editor
======
Elvis v1.8pl3

An enhanced VI clone.
