[BACK]Return to README.QUICK CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / gc

Annotation of OpenXM_contrib2/asir2000/gc/README.QUICK, Revision 1.5

1.1       noro        1: Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
1.2       noro        2: Copyright (c) 1991-1995 by Xerox Corporation.  All rights reserved.
                      3: Copyright (c) 1996-1999 by Silicon Graphics.  All rights reserved.
1.5     ! noro        4: Copyright (c) 1999-2001 by Hewlett-Packard. All rights reserved.
1.1       noro        5:
                      6: THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
                      7: OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
                      8:
                      9: Permission is hereby granted to use or copy this program
                     10: for any purpose,  provided the above notices are retained on all copies.
                     11: Permission to modify the code and to distribute modified code is granted,
                     12: provided the above notices are retained, and a notice that the code was
                     13: modified is included with the above copyright notice.
                     14:
1.5     ! noro       15: A few files have other copyright holders. A few of the files needed
        !            16: to use the GNU-style build procedure come with a modified GPL license
        !            17: that appears not to significantly restrict use of the collector, though
        !            18: use of those files for a purpose other than building the collector may
        !            19: require the resulting code to be covered by the GPL.
        !            20:
1.1       noro       21: For more details and the names of other contributors, see the
1.3       noro       22: doc/README* files and include/gc.h.  This file describes typical use of
1.1       noro       23: the collector on a machine that is already supported.
                     24:
1.3       noro       25: For the version number, see doc/README or version.h.
                     26:
1.1       noro       27: INSTALLATION:
1.5     ! noro       28: Under UN*X, Linux:
        !            29: Alternative 1 (the old way): type "make test" in this directory.
        !            30:        Link against gc.a.
        !            31:
        !            32: Alternative 2 (the new way): type
        !            33:        "./configure --prefix=<dir>; make; make check; make install".
        !            34:        Link against <dir>/lib/libgc.a or <dir>/lib/libgc.so.
        !            35:        See README.autoconf for details
        !            36:
        !            37: Under OS/2 or Windows 95, 98, Me, NT, or 2000:
1.3       noro       38: copy the appropriate makefile to MAKEFILE, read it, and type "nmake test".
                     39: (Under Windows, this assumes you have Microsoft command-line tools
                     40: installed, and have DOS configured with enough environment space to run them.)
                     41: Read the machine specific README in the doc directory if one exists.
                     42: The only way to develop code with the collector for Windows 3.1 is
                     43: to develop under Windows NT or 95+, and then to use win32S.
                     44:
                     45: If you need thread support, you will need to either follow the special
                     46: platform-dependent instructions (win32), or add a suitable define
                     47: option as described in Makefile.
1.1       noro       48:
1.3       noro       49: If you wish to use the cord (structured string) library, type
1.1       noro       50: "make cords". (This requires an ANSI C compiler.  You may need
1.3       noro       51: to redefine CC in the Makefile. The CORD_printf implementation in
                     52: cordprnt.c is known to be less than perfectly portable.  The rest
                     53: of the package should still work.)
1.1       noro       54:
                     55: If you wish to use the collector from C++, type
                     56: "make c++".  These add further files to gc.a and to the include
1.3       noro       57: subdirectory.  See cord/cord.h and include/gc_cpp.h.
1.1       noro       58:
                     59: TYPICAL USE:
1.3       noro       60: Include "gc.h" from the include subdirectory.  Link against the
                     61: appropriate library ("gc.a" under UN*X).  Replace calls to malloc
                     62: by calls to GC_MALLOC, and calls to realloc by calls to GC_REALLOC.
                     63: If the object is known to never contain pointers, use GC_MALLOC_ATOMIC
                     64: instead of GC_MALLOC.
1.1       noro       65:
                     66: Define GC_DEBUG before including gc.h for additional checking.
1.3       noro       67:
                     68: More documentation on the collector interface can be found at
                     69: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcinterface.html,
                     70: in doc/README, and in include/gc.h .
                     71:
                     72: WARNINGS:
                     73:
                     74: Do not store the only pointer to an object in memory allocated
                     75: with system malloc, since the collector usually does not scan
                     76: memory allocated in this way.
                     77:
                     78: Use with threads may be supported on your system, but requires the
                     79: collector to be built with thread support.  See Makefile.  The collector
                     80: does not guarantee to scan thread-local storage (e.g. of the kind
                     81: accessed with pthread_getspecific()).  The collector does scan
                     82: thread stacks though, so generally the best solution is to ensure that
                     83: any pointers stored in thread-local storage are also stored on the
                     84: thread's stack for the duration of their lifetime.
1.1       noro       85:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>