Commit 9a8c3a65 authored by Jean-Claude Beaudoin's avatar Jean-Claude Beaudoin
Browse files

Upgrade GC to bdwgc 7.4.

parent 22280688
......@@ -49,7 +49,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_LIBRARY = $(INSTALL_SCRIPT)
INSTALL_DATA = @INSTALL_DATA@
mkinstalldirs = $(SHELL) ./gc/mkinstalldirs
mkinstalldirs = $(SHELL) ./util/mkinstalldirs
# Files
......
......@@ -915,7 +915,9 @@ static void (*old_MK_GC_start_call_back)(void);
extern void (*MK_GC_start_call_back)(void); /* Internal and private to Boehm's GC. */ /* Not thread protected! */
static void mkcl_GC_abort(const char * const msg);
#if MKCL_GC_7_2d
static void mkcl_GC_exit(const int status);
#endif
static void * customize_GC(void * client_data)
{
......@@ -924,7 +926,11 @@ static void * customize_GC(void * client_data)
old_MK_GC_start_call_back = MK_GC_start_call_back;
MK_GC_start_call_back = mkcl_count_GC_collections; /* We should do proper chaining of GC start callbacks! */
#if MKCL_GC_7_2d
MK_GC_java_finalization = 1; /* not thread-safe! Ok as long as nobody want that topological sort stuff. */
#else
MK_GC_set_java_finalization(TRUE);
#endif
{
int old_finalize_on_demand = MK_GC_get_finalize_on_demand();
......@@ -933,7 +939,9 @@ static void * customize_GC(void * client_data)
}
MK_GC_set_abort_func(mkcl_GC_abort);
#if MKCL_GC_7_2d
MK_GC_set_exit_func(mkcl_GC_exit);
#endif
}
static int alloc_initialized = FALSE;
......@@ -993,7 +1001,11 @@ mkcl_init_alloc(void)
}
MK_GC_set_suspend_signal(gc_thread_suspend_sig);
MK_GC_set_thread_restart_signal(gc_thread_restart_sig);
#if MKCL_GC_7_2d
MK_GC_set_thread_restart_signal(gc_thread_restart_sig);
#else
MK_GC_set_thr_restart_signal(gc_thread_restart_sig);
#endif
#endif /* __linux */
MK_GC_init();
......@@ -1474,6 +1486,7 @@ static void mkcl_GC_abort(const char * const msg)
mkcl_thread_exit(env, MKCL_GC_ABORT); /* This one should never be called unless we're really confused. */
}
#if MKCL_GC_7_2d
static void mkcl_GC_exit(const int status)
{
mkcl_env env = MKCL_ENV();
......@@ -1487,7 +1500,7 @@ static void mkcl_GC_exit(const int status)
else
mkcl_thread_exit(env, MKCL_GC_EXIT); /* This one should never be called unless we're really confused. */
}
#endif
/******************************************************************************************/
......
......@@ -49,12 +49,12 @@ typedef void (*mkcl_sighandler_t)(int, siginfo_t *, void *);
#ifdef __linux
# if 0
# define MK_GC_SIG_SUSPEND SIGPWR /* should we include gc.h instead of this rogue def? */
# define MK_GC_SIG_THR_RESTART SIGXCPU /* should we include gc.h instead of this rogue def? */
# else
# if MKCL_GC_7_2d
# define MK_GC_SIG_SUSPEND MK_GC_suspend_signal()
# define MK_GC_SIG_THR_RESTART MK_GC_thread_restart_signal()
# else
# define MK_GC_SIG_SUSPEND MK_GC_get_suspend_signal()
# define MK_GC_SIG_THR_RESTART MK_GC_get_thr_restart_signal()
# endif
#if 0
......@@ -1910,8 +1910,13 @@ void mkcl_init_early_unixint(MKCL)
void mkcl_init_late_unixint(MKCL)
{
#if defined(__linux)
#if MKCL_GC_7_2d
int gc_thread_suspend_sig = MK_GC_suspend_signal();
int gc_thread_restart_sig = MK_GC_thread_restart_signal();
#else
int gc_thread_suspend_sig = MK_GC_get_suspend_signal();
int gc_thread_restart_sig = MK_GC_get_thr_restart_signal();
#endif
int i;
install_lisp_terminal_signal_handler(env);
......
This is an attempt to acknowledge early contributions to the garbage
collector. Later contributions should be also mentioned in "git log".
HISTORY -
Early versions of this collector were developed as a part of research
projects supported in part by the National Science Foundation
and the Defense Advance Research Projects Agency.
The garbage collector originated as part of the run-time system for
the Russell programming language implementation. The first version of the
garbage collector was written primarily by Al Demers. It was then refined
and mostly rewritten, primarily by Hans-J. Boehm, at Cornell U.,
the University of Washington, Rice University (where it was first used for
C and assembly code), Xerox PARC, SGI, and HP Labs. However, significant
contributions have also been made by many others.
Other contributors (my apologies for any omissions):
Adam Megacz <adam@megac.com>
Adnan Ali
Adrian Bunk
Akira Tagoh
Alain Novak
Alan Dosser <dosser@src.dec.com>
Alan J. Demers <ademers@cs.cornell.edu>
Aleksey Demakov
Alexander Belchenko <bialix@ukr.net>
Alexander Gavrilov <angavrilov@gmail.com>
Alexander Herz <alexander.herz@mytum.de>
Alexandr Petrosian
Alexandr Shadchin <ShadchinAV@mail.ru>
Alistair G. Crooks <agc@uts.amdahl.com>
Allan Hsu <allan@counterpop.net>
Andre Leiradella
Andreas Farber <afaerber@mono-cvs.ximian.com>
Andreas Jaeger
Andreas Tobler <a.tobler@schweiz.org>
Andrei Polushin
Andrej Cedilnik <acedil1@csee.umbc.edu>
Andrew Begel
Andrew Haley
Andrew Pinski
Andrew Stitcher
Andrew Stone
Andy Wingo <wingo@pobox.com>
Anselm Baird-Smith <Anselm.BairdSmith@inria.fr>
Anthony Green
Ari Huttunen <Ari.Huttunen@hut.fi>
Arrigo Triulzi <arrigo@ic.ac.uk>
Ashley Bone
Assar Westerlund <assar@sics.se>
Barry DeFreese
Ben A. Mesander <ben@piglet.cr.usgs.gov>
Ben Cottrell
Ben Hutchings
Ben Maurer <benm@mono-cvs.ximian.com>
Bernie Solomon
Bill Janssen <janssen@parc.xerox.com>
Bo Thorsen
Bradley D. LaRonde <brad@ltc.com>
Bradley Smith <brad@brad-smith.co.uk>
Brent Benson <brent@jade.ssd.csd.harris.com>
Brian Alliet <brian@brianweb.net>
Brian Beuning <bbeuning@corecard.com>
Brian Burton
Brian D. Carlstrom <bdc@clark.lcs.mit.edu>
Brian F. Dennis <xjam@cork.cs.berkeley.edu>
Brian Lewis <btlewis@eng.sun.com>
Bruce Hoult <bruce@hoult.org>
Bruce Mitchener <bruce.mitchener@gmail.com>
Bryce McKinley
Burkhard Linke <blinke@cebitec.uni-bielefeld.de>
Cesar Eduardo Barros
Charles Mills
Chris Dodd
Chris Lingard
Christian Joensson
Christian Limpach
Christian Thalinger
Christoffe Raffali
Clay Spence <cds@peanut.sarnoff.com>
Colin LeMahieu <clemahieu@gmail.com>
Craig McDaniel
Dai Sato
Dan Bonachea
Dan Fandrich
Dan Sullivan
Daniel R. Grayson <dan@math.uiuc.edu>
Danny Smith
Darrell Schiebel
Dave Barrett <barrett@asgard.cs.colorado.edu>
Dave Detlefs <detlefs@src.dec.com>
Dave Grove
Dave Korn <dave.korn.cygwin@googlemail.com>
Dave Love
David Ayers
David Daney <ddaney@avtrex.com>
David Leonard
David Miller
David Mossberger
David Peroutka
David Pickens
David Stes
Davide Angelocola
Dick Porter
Dietmar Planitzer <dave.pl@ping.at>
Dimitris Vyzovitis
Dimitry Andric
Djamel Magri <djamel.magri@googlemail.com>
Doug Kaufman
Douglas Steel <doug@wg.icl.co.uk>
Elijah Taylor <elijahtaylor@google.com>
Elvenlord Elrond <elrond@samba-tng.org>
Emmanual Stumpf
Eric Holk <eric.holk@gmail.com>
Fabian Thylman
Fergus Henderson
Franklin Chen <chen@adi.com>
Fred Stearns
Friedrich Dominicus <friedrichdominicus@googlemail.com>
Gary Leavens <leavens@eecs.ucf.edu>
Geoff Norton <grompf@sublimeintervention.com>
George Talbot <Gtalbot@ansarisbio.com>
Gerard A Allan
Glauco Masotti
Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Grzegorz Jakacki <jakacki@acm.org>
Gustavo Rodriguez-Rivera
H.J. Lu <hjl.tools@gmail.com>
Hanno Boeck
Hans Boehm <hans.boehm@hp.com>
Hans-Peter Nilsson <hp@gcc.gnu.org>
Harris NightHawk
Henning Makholm <Henning@octoshape.com>
Henrik Theiling
Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
Hiroshi Kawashima
Iain Sandoe <developer@sandoe-acoustics.co.uk>
Ian Piumarta
Ian Searle
Igor Khavkine
Ivan Demakov <ivan@tgrad.nsk.su>
Ivan Maidanski <ivmai@mail.ru>
Jaap Boender
Jack Andrews <effbiae@gmail.com>
Jack Howarth <howarth@bromo.med.uc.edu>
Jacob Navia
Jakub Jelinek
James Clark <jjc@jclark.com>
James Dominy
Jan Wielemaker <J.Wielemaker@cs.vu.nl>
Jani Kajala
Jean-Baptiste Nivois
Jean-Claude Beaudoin <jean.claude.beaudoin@gmail.com>
Jean-Daniel Fekete
Jeff Sturm
Jeffrey Hsu <hsu@soda.berkeley.edu>
Jeffrey Mark Siskind
Jeffrey Stedfast <fejj@gnome.org>
Jeremy Fitzhardinge
Jesper Peterson <jep@mtiame.mtia.oz.au>
Jesse Hull
Jesse Jones
Jesse Rosenstock
Ji-Yong Chung
Jie Liu <lj8175@gmail.com>
Jim Marshall <jim.marshall@wbemsolutions.com>
Jim Meyering <jim@meyering.net>
Joerg Sonnenberger
Johannes Schmidt
Johannes Totz <jtotz@ic.ac.uk>
John Bowman
John Clements
John Ellis
John Merryweather Cooper
Jon Moore
Jonathan Bachrach <jonathan@harlequin.com>
Jonathan Chambers <joncham@gmail.com>
Jonathan Clark
Jonathan Pryor <jpryor@novell.com>
Juan Jose Garcia-Ripoll <juanjose.garciaripoll@googlemail.com>
Kai Tietz <ktietz70@googlemail.com>
Kazu Hirata
Kazuhiro Inaoka
Keith Seitz <keiths@redhat.com>
Kenjiro Taura
Kenneth Schalk
Kevin Kenny <kenny@m.cs.uiuc.edu>
Kevin Tew <tewk@racket-lang.org>
Kjetil S. Matheussen <ksvalast@ifi.uio.no>
Klaus Treichel <ktreichel@web.de>
Knut Tvedten <knuttv@ifi.uio.no>
Kornel Pal <kornelpal@gmail.com>
Koushik Dutta <koushd@gmail.com>
Krister Walfridsson
Kristian Kristensen
Kurt Miller <kurt@intricatesoftware.com>
Lars Farm <lars.farm@ite.mh.se>
Laurent Morichetti
Linas Vepstas <linasvepstas@gmail.com>
Loren J. Rittle <rittle@latour.labs.mot.com>
Louis Zhuang <louis.zhuang@acm.org>
Ludovic Courtes <ludo@gnu.org>
Manuel Serrano <serrano@cornas.inria.fr>
Marc Recht
Marco Maggi
Marcos Dione
Marcus Herbert
Marek Safar <marek.safar@gmail.com>
Margaret Fleck <mfleck@illinois.edu>
Mark Boulter <mboulter@vnet.ibm.com>
Mark Mitchell
Mark Probst <mark.probst@gmail.com>
Mark Reichert
Mark Sibly
Mark Weiser <weiser@ubiq.com>
Martin Baulig <martin@novell.com>
Martin Tauchmann <martintauchmann@bigfoot.com>
Massimiliano Mantione <massi@mono-cvs.ximian.com>
Matt Austern
Matthew Flatt
Matthias Andree
Matthias Drochner
Maurizio Vairani
Michael Arnoldus <chime@proinf.dk>
Michael Smith
Michael Spertus
Michel Schinz <schinz@alphanet.ch>
Miguel de Icaza <miguel@gnome.org>
Mike Gran <spk121@yahoo.com>
Mike McGaughey <mmcg@cs.monash.edu.au>
Mike Stump <mrs@windriver.com>
Mitch Harris <maharri@uiuc.edu>
Mohan Embar
Nathanael Nerode
Neale Ferguson <neale@mono-cvs.ximian.com>
Neil Sharman <neil@cs.mu.oz.au>
Nicolas Cannasse
Niibe Yutaka <gniibe@fsij.org>
Niklas Therning <niklas@therning.org>
Noah Lavine <noah.b.lavine@gmail.com>
Oliver Kurth <oliver.kurth@innominate.com>
Ondrej Bilka <neleai@seznam.cz>
Paolo Molaro <lupus@ximian.com>
Parag Patel <parag@netcom.com>
Patrick Bridges
Patrick C. Beard <beard@netscape.com>
Patrick Doyle
Patrick Marlier <patrick.marlier@gmail.com>
Paul Brook
Peter Chubb
Peter Colson
Peter Housel
Peter Monks
Peter Ross
Peter Seebach <seebs@taniemarie.solon.com>
Peter Wang
Petr Krajca <krajcap@inf.upol.cz>
Petr Salinger
Petter Urkedal <paurkedal@gmail.com>
Philipp Tomsich
Philippe Queinnec
Phillip Musumeci
Philp Brown
Pierre de Rop
Radek Polak
Rainer Orth <ro@cebitec.uni-bielefeld.de>
Raja R Harinath <harinath@hurrynot.org>
Rauli Ruohonen
Regis Cridlig <Regis.Cridlig@cl.cam.ac.uk>
Reimer Behrends <behrends@gmail.com>
Renaud Blanch <renaud.blanch@lri.fr>
Rene Girard
Rex Dieter <rdieter@math.unl.edu>
Reza Shahidi
Richard Earnshaw
Richard Sandiford <rsandifo@nildram.co.uk>
Rob Haack <rhaack@polaris.unm.edu>
Robert Brazile <brazile@diamond.bbn.com>
Robert Jordan <robertj@gmx.net>
Robert Nagy <robert@openbsd.org>
Rodrigo Kumpera <kumpera@gmail.com>
Roger Sayle
Roman Hodek
Romano Paolo Tenca <rotenca@telvia.it>
Russell Ruby <russ@sludge.net>
Rutger Ovidus
Ryan Murray
Salvador Eduardo Tropea
Samuel Thibault
Scott Ananian
Scott Schwartz <schwartz@groucho.cse.psu.edu>
Sebastien Pouliot <sebastien@ximian.com>
Shawn Wagner
Simon Posnjak
Slava Sysoltev
Stefan Ring
Stefano Rivera <stefano@rivera.za.net>
Sugioka Toshinobu
Suzuki Toshiya
Sven Hartrumpf
Sven Verdoolaege
Tagliapietra Tommaso
Takis Psarogiannakopoulos <takis@xfree86.org>
Tatsuya Bizenn
Thiemo Seufer <ths@networkno.de>
Thomas Funke <thf@zelator.in-berlin.de>
Thomas Klausner <tk@giga.or.at>
Thomas Maier
Thorsten Glaser <tg@debian.org>
Tilman Vogel <Tilman.Vogel@web.de>
Tim Bingham
Timothy N. Newsham
Todd Berman <tberman@mono-cvs.ximian.com>
Tom Tromey <tromey@cygnus.com>
Toralf Foerster
Toshio Endo
Tsugutomo Enami <tsugutomo.enami@jp.sony.com>
Tum Nguyen
Tyson Dowd
Uchiyama Yasushi
Ulrich Drepper
Ulrich Weigand
Uros Bizjak <ubizjak@gmail.com>
Victor Ivrii
Vitaly Magerya <vmagerya@gmail.com>
Vladimir Tsichevski
Walter Bright
Walter Underwood
Wilson Ho
Wink Saville
Xi Wang <xi.wang@gmail.com>
Xiaokun Zhu <xiaokun@aero.gla.ac.uk>
Yannis Bres
Yvan Roux <yvan.roux@linaro.org>
Zach Saw <zach.saw@gmail.com>
Zhong Shao
Zoltan Varga <vargaz@gmail.com>
......@@ -14,7 +14,7 @@ rc= $(bcbin)\brc32
lib= $(bcbin)\tlib
link= $(bcbin)\ilink32
cflags= -O2 -R -v- -vi -H -H=gc.csm -I$(bcinclude);$(gcinclude1);$(gcinclude2) -L$(bclib) \
-w-pro -w-aus -w-par -w-ccc -w-rch -a4 -D__STDC__=0
-w-pro -w-aus -w-par -w-ccc -w-rch -a4
defines= -DALL_INTERIOR_POINTERS -DUSE_GENERIC -DNO_GETENV -DJAVA_FINALIZATION -DGC_OPERATOR_NEW_ARRAY
.c.obj:
......@@ -34,7 +34,8 @@ XXXOBJS= XXXalloc.obj XXXreclaim.obj XXXallchblk.obj XXXmisc.obj \
XXXmach_dep.obj XXXos_dep.obj XXXmark_rts.obj XXXheaders.obj XXXmark.obj \
XXXobj_map.obj XXXblacklst.obj XXXfinalize.obj XXXnew_hblk.obj \
XXXdbg_mlc.obj XXXmalloc.obj XXXstubborn.obj XXXdyn_load.obj \
XXXtypd_mlc.obj XXXptr_chck.obj XXXgc_cpp.obj XXXmallocx.obj
XXXtypd_mlc.obj XXXptr_chck.obj XXXgc_cpp.obj XXXmallocx.obj \
XXXfnlz_mlc.obj
OBJS= $(XXXOBJS:XXX=)
......@@ -53,16 +54,16 @@ gctest.exe: tests\test.obj gc.lib
$(cflags) -W -e$* tests\test.obj gc.lib
|
cord\de.obj cord\de_win.obj: include\cord.h include\private\cord_pos.h cord\de_win.h \
cord\de_cmds.h
cord\tests\de.obj cord\tests\de_win.obj: include\cord.h \
include\cord_pos.h cord\tests\de_win.h cord\tests\de_cmds.h
cord\de.exe: cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj \
cord\de_win.res gc.lib
cord\de.exe: cord\cordbscs.obj cord\cordxtra.obj cord\tests\de.obj \
cord\tests\de_win.obj cord\tests\de_win.res gc.lib
$(cc) @&&|
$(cflags) -W -e$* cord\cordbscs.obj cord\cordxtra.obj \
cord\de.obj cord\de_win.obj gc.lib
cord\tests\de.obj cord\tests\de_win.obj gc.lib
|
$(rc) cord\de_win.res cord\de.exe
$(rc) cord\tests\de_win.res cord\de.exe
gc_cpp.obj: include\gc_cpp.h include\gc.h
......@@ -84,4 +85,3 @@ clean:
del gc.lib
del *.obj
del tests\test.obj
......@@ -28,9 +28,7 @@ PROJECT(gc)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
ADD_DEFINITIONS("-D_CRT_SECURE_NO_DEPRECATE
-DALL_INTERIOR_POINTERS
-DGC_BUILD
")
-DALL_INTERIOR_POINTERS")
IF(APPLE)
SET(CMAKE_OSX_ARCHITECTURES "ppc;i386;x86_64" CACHE STRING "Build architectures for Mac OS X" FORCE)
......@@ -114,7 +112,6 @@ IF(CMAKE_USE_PTHREADS_INIT)
ENDIF()
IF ( "HOST" MATCHES .*-.*-openbsd.*)
ADD_DEFINITIONS("-DGC_OPENBSD_THREADS")
#FIXME openbsd_threads=true
ENDIF()
IF ( "HOST" MATCHES .*-.*-freebsd.*)
MESSAGE("FreeBSD does not yet fully support threads with Boehm GC.")
......@@ -203,7 +200,6 @@ ENDIF(CMAKE_USE_WIN32_THREADS_INIT)
OPTION(enable_gcj_support "Support for gcj" NO)
IF(enable_gcj_support)
#TODO AM_CONDITIONAL(ENABLE_GCJ_SUPPORT, [test x"$enable_gcj_support" != xno])
ADD_DEFINITIONS("-DGC_GCJ_SUPPORT")
ENDIF(enable_gcj_support)
......@@ -220,7 +216,8 @@ SET_TARGET_PROPERTIES(gcmt-lib PROPERTIES
ADD_LIBRARY( gcmt-dll SHARED ${SRC})
IF(WIN32)
ADD_EXECUTABLE(cord cord/cordbscs.c cord/cordxtra.c cord/de.c cord/de_win.c)
ADD_EXECUTABLE(cord cord/cordbscs.c cord/cordxtra.c
cord/tests/de.c cord/tests/de_win.c)
SET_TARGET_PROPERTIES(cord PROPERTIES WIN32_EXECUTABLE TRUE)
SET_TARGET_PROPERTIES(cord PROPERTIES
COMPILE_DEFINITIONS GC_NOT_DLL)
......
This diff is collapsed.
......@@ -21,24 +21,6 @@ CXX=g++
CFLAGS= -O -DALL_INTERIOR_POINTERS
# Setjmp_test may yield overly optimistic results when compiled
# without optimization.
# -DCHECKSUMS reports on erroneously clear dirty bits, and unexpectedly
# altered stubborn objects, at substantial performance cost.
# -DFIND_LEAK causes the collector to assume that all inaccessible
# objects should have been explicitly deallocated, and reports exceptions
# -DSOLARIS_THREADS enables support for Solaris (thr_) threads.
# (Clients should also define SOLARIS_THREADS and then include
# gc.h before performing thr_ or GC_ operations.)
# -DALL_INTERIOR_POINTERS allows all pointers to the interior
# of objects to be recognized. (See gc_private.h for consequences.)
# -DSMALL_CONFIG tries to tune the collector for small heap sizes,
# usually causing it to use less space in such situations.
# Incremental collection no longer works in this case.
# -DDONT_ADD_BYTE_AT_END is meaningful only with
# -DALL_INTERIOR_POINTERS. Normally -DALL_INTERIOR_POINTERS
# causes all objects to be padded so that pointers just past the end of
# an object can be recognized. This can be expensive. (The padding
# is normally more than one byte due to alignment constraints.)
# -DDONT_ADD_BYTE_AT_END disables the padding.
AR= ar
RANLIB= ar s
......@@ -48,9 +30,9 @@ RANLIB= ar s
srcdir = .
VPATH = $(srcdir)
OBJS= alloc.o reclaim.o allchblk.o misc.o mach_dep.o os_dep.o mark_rts.o headers.o mark.o obj_map.o blacklst.o finalize.o new_hblk.o dyn_load.o dbg_mlc.o malloc.o stubborn.o checksums.o typd_mlc.o ptr_chck.o mallocx.o
OBJS= alloc.o reclaim.o allchblk.o misc.o mach_dep.o os_dep.o mark_rts.o headers.o mark.o obj_map.o blacklst.o finalize.o new_hblk.o dyn_load.o dbg_mlc.o fnlz_mlc.o malloc.o stubborn.o checksums.o typd_mlc.o ptr_chck.o mallocx.o
CORD_OBJS= cord/cordbscs.o cord/cordxtra.o cord/cordprnt.o
CORD_OBJS= cord/cordbscs.o cord/cordxtra.o cord/cordprnt.o
CORD_INCLUDE_FILES= $(srcdir)/gc.h $(srcdir)/cord/cord.h $(srcdir)/cord/ec.h \
$(srcdir)/cord/cord_pos.h
......@@ -63,7 +45,7 @@ CURSES= -lcurses -ltermlib
# the SHELL environment variable.
SHELL= bash
SPECIALCFLAGS =
SPECIALCFLAGS =
# Alternative flags to the C compiler for mach_dep.c.
# Mach_dep.c often doesn't like optimization, and it's
# not time-critical anyway.
......@@ -91,11 +73,11 @@ cords: $(CORD_OBJS) cord/cordtest.exe
gc_cpp.o: $(srcdir)/gc_cpp.cc $(srcdir)/gc_cpp.h
$(CXX) -c -O $(srcdir)/gc_cpp.cc
c++: gc_cpp.o $(srcdir)/gc_cpp.h
$(AR) ru gc.a gc_cpp.o
$(RANLIB) gc.a
cp $(srcdir)/gc_cpp.h include/gc_cpp.h
cp $(srcdir)/gc_cpp.h include/gc_cpp.h
mach_dep.o: $(srcdir)/mach_dep.c
$(CC) -o mach_dep.o -c $(SPECIALCFLAGS) $(srcdir)/mach_dep.c
......@@ -112,13 +94,13 @@ cord/cordxtra.o: $(srcdir)/cord/cordxtra.c $(CORD_INCLUDE_FILES)
cord/cordprnt.o: $(srcdir)/cord/cordprnt.c $(CORD_INCLUDE_FILES)
$(CC) $(CFLAGS) -c $(srcdir)/cord/cordprnt.c -o cord/cordprnt.o
cord/cordtest.exe: $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a
$(CC) $(CFLAGS) -o cord/cordtest.exe $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a
cord/cordtest.exe: $(srcdir)/cord/tests/cordtest.c $(CORD_OBJS) gc.a
$(CC) $(CFLAGS) -o cord/cordtest.exe $(srcdir)/cord/tests/cordtest.c $(CORD_OBJS) gc.a
cord/de.exe: $(srcdir)/cord/de.c $(srcdir)/cord/cordbscs.o $(srcdir)/cord/cordxtra.o gc.a
$(CC) $(CFLAGS) -o cord/de.exe $(srcdir)/cord/de.c $(srcdir)/cord/cordbscs.o $(srcdir)/cord/cordxtra.o gc.a $(CURSES)
cord/de.exe: $(srcdir)/cord/tests/de.c $(srcdir)/cord/cordbscs.o $(srcdir)/cord/cordxtra.o gc.a
$(CC) $(CFLAGS) -o cord/de.exe $(srcdir)/cord/tests/de.c $(srcdir)/cord/cordbscs.o $(srcdir)/cord/cordxtra.o gc.a $(CURSES)
clean:
clean:
rm -f gc.a tests/test.o gctest.exe output-local output-diff $(OBJS) \
setjmp_test mon.out gmon.out a.out core \
$(CORD_OBJS) cord/cordtest.exe cord/de.exe
......@@ -130,8 +112,8 @@ gctest.exe: tests/test.o gc.a
# If an optimized setjmp_test generates a segmentation fault,
# odds are your compiler is broken. Gctest may still work.
# Try compiling setjmp_t.c unoptimized.
setjmp_test.exe: $(srcdir)/extra/setjmp_t.c $(srcdir)/gc.h
$(CC) $(CFLAGS) -o setjmp_test.exe $(srcdir)/extra/setjmp_t.c
setjmp_test.exe: $(srcdir)/tools/setjmp_t.c $(srcdir)/gc.h
$(CC) $(CFLAGS) -o setjmp_test.exe $(srcdir)/tools/setjmp_t.c
test: setjmp_test.exe gctest.exe
./setjmp_test
......
This diff is collapsed.
/*
MacOS_Test_config.h
Configuration flags for Macintosh development systems.
Test version.
<Revision History>
11/16/95 pcb Updated compilation flags to reflect latest 4.6 Makefile.
by Patrick C. Beard.
*/
/* Boehm, November 17, 1995 12:05 pm PST */
#ifdef __MWERKS__
// for CodeWarrior Pro with Metrowerks Standard Library (MSL).
// #define MSL_USE_PRECOMPILED_HEADERS 0
#include <ansi_prefix.mac.h>
#ifndef __STDC__
#define __STDC__ 0
#endif
#endif
// these are defined again in gc_priv.h.
#undef TRUE
#undef FALSE
#define ALL_INTERIOR_POINTERS // follows interior pointers.
//#define SILENT // want collection messages.
//#define DONT_ADD_BYTE_AT_END // no padding.
//#define SMALL_CONFIG // whether to a smaller heap.
#define NO_SIGNALS // signals aren't real on the Macintosh.
#define USE_TEMPORARY_MEMORY // use Macintosh temporary memory.
// CFLAGS= -O -DNO_SIGNALS -DALL_INTERIOR_POINTERS -DSILENT
//
//LIBGC_CFLAGS= -O -DNO_SIGNALS -DSILENT \
// -DREDIRECT_MALLOC=GC_malloc_uncollectable \
// -DDONT_ADD_BYTE_AT_END -DALL_INTERIOR_POINTERS
// Flags for building libgc.a -- the last two are required.