| 1 | Installation of the `QuickThreads' threads-building toolkit. |
| 2 | |
| 3 | * Notice |
| 4 | |
| 5 | QuickThreads -- Threads-building toolkit. |
| 6 | Copyright (c) 1993 by David Keppel |
| 7 | |
| 8 | Permission to use, copy, modify and distribute this software and |
| 9 | its documentation for any purpose and without fee is hereby |
| 10 | granted, provided that the above copyright notice and this notice |
| 11 | appear in all copies. This software is provided as a |
| 12 | proof-of-concept and for demonstration purposes; there is no |
| 13 | representation about the suitability of this software for any |
| 14 | purpose. |
| 15 | |
| 16 | |
| 17 | * Configuration |
| 18 | |
| 19 | Configure with |
| 20 | |
| 21 | ./config *machtype* |
| 22 | |
| 23 | where "*machtype*" is one of the supported target machines. As of |
| 24 | October 1994, the supported machines (targets) are: |
| 25 | |
| 26 | axp -- All Digital Equipment Corporation AXP (DEC Alpha) |
| 27 | processors, compile with GNU CC |
| 28 | axp-osf1 -- AXP running OSF 1.x |
| 29 | axp-osf2 -- AXP running OSF 2.x |
| 30 | hppa -- HP's PA-RISC 1.1 processor |
| 31 | hppa-cnx-spp -- Convex SPP (PA-RISC 1.1 processor) |
| 32 | iX86 -- 80386, 80486, and 80586-compatible processors |
| 33 | See notes below for OS/2. |
| 34 | iX86-ss -- 'iX86 for assemblers that use slash-slash ('//') |
| 35 | comments. |
| 36 | ksr1 -- All KSR processors |
| 37 | m88k -- All members of the Motorola 88000 family |
| 38 | mips -- MIPS R2000 and R3000 processors |
| 39 | mips-irix5 -- Irix 5.xx (use `mips' for Irix 4.xx) |
| 40 | sparc-os1 -- V8-compliant SPARC processors using compilers |
| 41 | that prefix labels (e.g. "foo" appears as "_foo") |
| 42 | Includes Solaris 1 (SunOS 4.X). |
| 43 | sparc-os2 -- V8-compliant SPARC processors using compilers |
| 44 | that do not prefix labels. Includes Solaris 2. |
| 45 | vax -- All VAX processors |
| 46 | |
| 47 | In addition, the target `clean' will deconfigure QuickThreads. |
| 48 | |
| 49 | Note that a given machine target may not work on all instances of that |
| 50 | machine because e.g., the assembler syntax varies from machine to |
| 51 | machine. |
| 52 | |
| 53 | Note also that additions to a processor family may require a new |
| 54 | target. So, for example, the `vax' target might not work for all |
| 55 | future VAX processors if, say, new VAX processors are introduced and |
| 56 | they use separate floating-point registers. |
| 57 | |
| 58 | For OS/2, change `ranlib' to `ar -s', `configure' to `configure.cmd' |
| 59 | (or was that `config' to `config.cmd'?), and replace the soft links |
| 60 | (`ln -s') with plain copies. |
| 61 | |
| 62 | |
| 63 | * Build |
| 64 | |
| 65 | To build the QuickThreads library, first configure (see above) then |
| 66 | type `make libqt.a' in the top-level directory. |
| 67 | |
| 68 | To build the demonstration threads package, SimpleThreads, type |
| 69 | `make libstp.a' in the top-level directory. |
| 70 | |
| 71 | To build an executable ``stress-test'' and measurement program, type |
| 72 | `make run' in the top-level directory. Run `time/raw' to run the |
| 73 | stress tests. |
| 74 | |
| 75 | |
| 76 | * Installation |
| 77 | |
| 78 | Build the QuickThreads library (see above) and then copy `libqt.a' to |
| 79 | the installation library directory (e.g., /usr/local/lib) and `qt.h' |
| 80 | and `qtmd.h' to the installation include directory (e.g., |
| 81 | /usr/local/include). |