pkg/cii -- created Mon Dec 12 11:21:16 EST 1994 by drh current owner drh This hierarchy contains all the source code in the forthcoming book `C Interfaces and Implementations' by David Hanson. For more information, see World-Wide Web page at http://www.cs.princeton.edu/software/cii/. Contents ~~~~~~~~ The C Interfaces and Implementation (CII) distribution includes the following files and directories. README this file. CPYRIGHT copyright statement. history.txt describes the distribution's revision history; an ASCII version of http://www.cs.princeton.edu/software/cii/history.html. src source and header files for the CII library. These directories hold the examples from the chapters indicated: double 1/Introduction wf 8/Tables xref 9/Sets ids 15/Low-Level Strings calc 18/Arbitrary Precision Arithmetic mpcalc 19/Multiple Precision Arithmetic sieve 20/Threads sort 20/Threads spin 20/Threads Installation ~~~~~~~~~~~~ To build and install libcii.a on a UNIX system, type cd src make CC="lcc -A" INCLUDEDIR=/cmnusr/local/include/cii LIBDIR=/usr/local/lib install The assignments show the defaults. If you don't have lcc, use another ANSI C compiler, e.g., CC=cc or CC=gcc. The other two assignments show the default directories for the header files and for libcii.a; the assignments can be omitted if you use the defaults. There should be no errors or warnings, except for src/thread.c on some systems. You should be able to gnore the warnings. src/thread.c compiles only on SPARCs under SunOS 4.1.3 and on MIPSes under ULTRIX V4.3 or IRIX 5.3. "make clean" cleans up, but does not remove libcii.a; "make clobber" cleans up and removes libcii.a. The examples can be built by simply compiling them with compiler options that specify the location of the header files and the library, e.g., if libcii.a has been installed in /usr/local/lib, wf can be build with the commands cd wf lcc -o wf -I/cmnusr/local/include/cii *.c -lcii Some compilation systems accept a -L option to specify the location of additional libraries, e.g., cd sieve gcc -o sieve -I/cmnusr/local/include/cii *.c -L/usr/local/lib -lcii Reporting Bugs ~~~~~~~~~~~~~~ Devise the shortest possible example program that elicits the bug. Prune your example until it can be pruned no more without sending the error into hiding. I prune most error demonstrations to only a few lines. Annotate your example with C comments that describe the bug and your suggested fix, if you have one. If the example crashes, please report the last part of the call chain if you can. Send your example by electronic mail to cii-bugs@cs.princeton.edu and to drh@cs.princeton.edu. Please send only valid C programs; put all remarks in C comments so that I can process reports semiautomatically. Keeping in Touch ~~~~~~~~~~~~~~~~ There is a mailing list for general information about C Interfaces and Implementation. To join the list, send a message with the 1-line body subscribe cii to majordomo@cs.princeton.edu. This line must appear in the message body; `Subject:' lines are ignored. Mail sent to cii@cs.princeton.edu is forwarded to everyone on the mailing list. There is also an cii-bugs mailing list for reporting bugs; subscribe to it by sending a message with the 1-line body "subscribe cii-bugs" to majordomo@cs.princeton.edu. Mail addressed to cii-bugs@cs.princeton.edu is forwarded to everyone on this list. To unsubscribe, send "unsubscribe cii" or "unsubscribe cii-bugs" to majordomo@cs.princeton.edu. To learn more about mailing lists served by majordomo, send a message with the 1-word body "help" to majordomo@cs.princeton.edu. David R. Hanson / drh@cs.princeton.edu modified Fri Feb 2 11:17:51 PST 1996 by drh modified Thu Oct 12 16:30:56 PDT 1995 by drh modified Thu May 11 16:27:21 EDT 1995 by drh created Mon Dec 12 15:48:30 EST 1994 by drh