hummel@m.cs.uiuc.edu (08/06/89)
README - Some remarks and words of advice on using PDC ------------------------------------------------------ The major pieces of this distribution are the compiler (PDC), the assembler (A68k), the linker (BLink), and the libraries and header files. Tying everything together is a "front-end" program (CCX), which takes care of a lot of the drudgery behind creating an executable program. Things to do before invoking CCX -------------------------------- CCX makes use of the following environment variables: PDCLibs - Lists the libraries with which to link PDCLibDirs - Lists the directories to search for libraries PDCIncDirs - Lists the directories to search for include files Multiple entries for an environment variable are delimited by semicolons. See the file s/start on this disk and the documentation to CCX in the doc directory on this disk for examples of how to use the environment variables. As for your search path, at the very least you ought to have in it the directory containg CCX, PDC, A68k, and BLink. This is necessary if you plan to use CCX. Stack size for running PDC should be above the CLI's default of 4K. 20000 bytes has been sufficient for the compiler to handle everything I've given it. To be safe it is best to put the command "Stack 20000" in your startup-sequence, because forgetting later on usually results in a visit from the Guru. In summary: - Set the environment variables PDCLibs, PDCLibDirs, and PDCIncDirs. - CCX requires that PDC, A68k, and Blink be in your search path. - PDC needs at least 20K of stack space to run safely. Headers, Libraries, and Startup code ------------------------------------ Standard C headers can be found in the directory "include" on this disk. See below for more information on Amiga-specific headers. The PDC Software Distribution includes the three library files necessary to compile programs written for the Amiga. Here are some short descriptions of them: * Amiga.lib Amiga.lib contains the hundereds of assembly language stubs, or "stub-routines", that allow programs written in C to call the Amiga's standard set of shared libraries. It also contains a few functions to aid in the construction and destruction of some common entities (eg, CreateTask, DeletePort, NewList, etc.). The version of Amiga.lib included with PDC can be built automatically by invoking the makefile contained in the "lib/src" directory on this disk and providing your Workbench 1.3 Extras disk. * PDC.lib: PDC.lib contains a large subset of the ANSI C functions, as well as some runtime support functions and other extensions. A (currently, partial) list of the functions provided in PDC.lib and Math.lib can be found in the file MANIFEST in the LibSrc directory on the Libs and Utils disk. * Math.lib: Math.lib contains library and runtime support functions for performing floating point math. Currently, PDC supports only IEEE double precision math via the Amiga's shared libraries, ieeedoubbas.library and ieeedoubtrans.library. As you may realize, this default requires that Workbench 1.3 be available at runtime in order use the transcendental functions. The source code for the transcendental functions is provided, though, if you care to use it. Most programs written specifically for the Amiga, including much source code to this distribution, require the Amiga header files in order to compile. Those who also own one of the commercial C compilers can generally get away with using the headers that come with those compilers [1]. In any case, I recommend that you obtain the Native Developer Update (NDU) from Commodore-Amiga Technical Support (CATS). The NDU includes commented and stripped versions of the Amiga C and assembly language headers, the fabled Autodocs, a healthy batch of README files, and Commodore's standard libraries and utilities. Altogether, you get four disks for US$20; an excellent deal. To receive your own copy of the Native Developer Update, send to the following address a check for $20 (US) made payable to Commodore Business Machines: CATS - Orders 1200 Wilson Drive West Chester, PA 19382 [1] However, beware of conflicts! You should set up your PDCIncDirs environment variable so that it reads the PDC headers first, lest you wind up with the wrong version of stdio.h or some other such problem. Although the PDC Software Distribution is freely distributable, and we wish it to remain as much so as possible, there is a considerable amount of time involved in maintaining and improving the software and documentation. If it proves financially feasible, Paul Petersen and I would like to continue improving PDC at a more rapid pace, and still maintain its status as a freely distributable package. The bottom line is, your donation of $10, or whatever PDC is worth to you, is an excellent way to reward our work and encourage further development. Furthermore, if you wish to receive the most current release of PDC directly from us, just send in a donation of $15 or more and we'll mail out the three-disk set right away. If you have access to Usenet, you can participate in discussion on PDC by subscribing to the info-pdc mailing list. You can do this by sending email to pdc-request@cs.uiuc.edu (uunet!uiucdcs!pdc-request). Or, if you have something you wish to discuss with us directly, you can reach us by email: hummel@cs.uiuc.edu or, on BIX: lhummel petersen@uicsrd.csrd.uiuc.edu Enjoy, Lionel Hummel Paul Petersen PDC Software Distribution P.O. Box 4006 Urbana, IL 61801-8801