summaryrefslogtreecommitdiff
path: root/LICENSE
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2021-11-23 10:36:56 +0300
committerIvan Maidanski <ivmai@mail.ru>2021-11-23 17:37:52 +0300
commiteb20384b1985eaf1711ae07d8558a58e9cfbe28e (patch)
tree64c54a49f71b1510fb715a5d6b303b038b07df95 /LICENSE
parentdf69c3f4ceb6f80b2dfc59070f55ada1264cf708 (diff)
downloadbdwgc-eb20384b1985eaf1711ae07d8558a58e9cfbe28e.tar.gz
Rename README.QUICK to LICENSE and install it by default
README.QUICK contains the package copyright and licensing terms, it is more natural to name the file as LICENSE. * CMakeLists.txt [enable_docs] (install): Add LICENSE for $CMAKE_INSTALL_DOCDIR; remove note that README.QUICK is not installed. * README.QUICK: Rename to LICENSE. * Makefile.am (EXTRA_DIST): Do not add README.QUICK. * README.md (Copyright & Warranty, Contributors): Rename README.QUICK to LICENSE. * doc/README.DGUX386: Refer to README.md instead of README.QUICK. * doc/doc.am [ENABLE_DOCS] (dist_doc_DATA): Add LICENSE.
Diffstat (limited to 'LICENSE')
-rw-r--r--LICENSE98
1 files changed, 98 insertions, 0 deletions
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 00000000..00d52163
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,98 @@
+Copyright (c) 1988-1989 Hans-J. Boehm, Alan J. Demers
+Copyright (c) 1991-1996 by Xerox Corporation. All rights reserved.
+Copyright (c) 1996-1999 by Silicon Graphics. All rights reserved.
+Copyright (c) 1998 by Fergus Henderson. All rights reserved.
+Copyright (c) 1999-2001 by Red Hat, Inc. All rights reserved.
+Copyright (c) 1999-2011 Hewlett-Packard Development Company, L.P.
+Copyright (c) 2004-2005 Andrei Polushin
+Copyright (c) 2007 Free Software Foundation, Inc.
+Copyright (c) 2008-2021 Ivan Maidanski
+Copyright (c) 2011 Ludovic Courtes
+Copyright (c) 2018 Petter A. Urkedal
+
+THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
+OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
+
+Permission is hereby granted to use or copy this program
+for any purpose, provided the above notices are retained on all copies.
+Permission to modify the code and to distribute modified code is granted,
+provided the above notices are retained, and a notice that the code was
+modified is included with the above copyright notice.
+
+Several files (include/gc_allocator.h, extra/msvc_dbg.c) come with slightly
+different licenses, though they are all similar in spirit (the exact
+licensing terms are given at the beginning of the corresponding source file).
+
+A few of the files needed
+to use the GNU-style build procedure come with a modified GPL license
+that appears not to significantly restrict use of the collector, though
+use of those files for a purpose other than building the collector may
+require the resulting code to be covered by the GPL.
+
+For more details and the names of other contributors, see the README.md,
+doc/README.*, AUTHORS and include/gc.h files. These files describe typical
+use of the collector on a machine that is already supported.
+
+For the version number, see README.md or include/gc_version.h files.
+
+INSTALLATION:
+Under UN*X, Linux, Cygwin:
+Alternative 1 (the old way): type "make -f Makefile.direct check".
+ Link against libgc.a.
+
+Alternative 2 (the new way): type
+ "./configure --prefix=<dir>; make; make check; make install".
+ Link against <dir>/lib/libgc.a or <dir>/lib/libgc.so.
+ See doc/README.autoconf for details.
+
+Alternative 3 (another new way): type
+ "mkdir out; cd out; cmake ..; cmake --build ."
+ See doc/README.cmake for details.
+
+Under Windows 95, 98, Me, NT, or 2000:
+copy the appropriate makefile to MAKEFILE, read it, and type "nmake check".
+(Under Windows, this assumes you have Microsoft command-line tools
+installed, and suitably configured.)
+Read the machine specific README.XXX in the doc directory if one exists.
+
+If you need thread support, you should define GC_THREADS as described in
+doc/README.macros (configure defines this implicitly unless --disable-threads
+option is given).
+
+If you wish to use the cord (structured string) library with the stand-alone
+Makefile.direct, type "make -f Makefile.direct cords". (You may need to
+override CC specified in the Makefile. The CORD_printf implementation in
+cordprnt.c is known to be less than perfectly portable. The rest of the
+package should still work.) See include/cord.h for the API.
+
+If you wish to use the collector from C++, type "make c++", or use
+--enable-cplusplus with the configure script. This creates libgccpp.a and
+libgctba.a files, or their shared library equivalents (libgccpp.so and
+libgctba.so). You should link with either the first or the second one, but
+not both. See include/gc_cpp.h and doc/gcinterface.md.
+
+TYPICAL USE:
+Include "gc.h" from the include subdirectory. Link against the
+appropriate library ("libgc.a" under UN*X). Replace calls to malloc
+by calls to GC_MALLOC, and calls to realloc by calls to GC_REALLOC.
+If the object is known to never contain pointers, use GC_MALLOC_ATOMIC
+instead of GC_MALLOC.
+
+Define GC_DEBUG before including gc.h for additional checking.
+
+More documentation on the collector interface can be found in README.md,
+doc/gcinterface.md, include/gc.h, and other files in the doc directory.
+
+WARNINGS:
+
+Do not store the only pointer to an object in memory allocated
+with system malloc, since the collector usually does not scan
+memory allocated in this way.
+
+Use with threads may be supported on your system, but requires the collector
+to be built with thread support. See Makefile.am or Makefile.direct.
+The collector does not guarantee to scan thread-local storage (e.g. of the
+kind accessed with pthread_getspecific()). The collector does scan
+thread stacks though, so generally the best solution is to ensure that
+any pointers stored in thread-local storage are also stored on the
+thread's stack for the duration of their lifetime.