[m-rev.] diff: fix boehm_gc (again)

Zoltan Somogyi zs at cs.mu.OZ.AU
Wed May 7 15:47:04 AEST 2003


Can we please adopt a convention that changes to boehm_gc need to be tested
not just by bootchecking, which wouldn't have found this problem, but also by
doing a trial install, and compiling a workspace with that install.
The boehm_gc install procedures are just too fragile for anything less.

Zoltan.

boehm_gc/Mmakefile:
	Fix an omission in Pete's change that caused new installations to
	be unable to compile any Mercury program in a .gc grade.

	The currently broken installations must be fixed by manually copying
	boehm_gc/include/gc_config_macros.h to /home/<machine>/public/
	mercury-latest/<arch>/lib/mercury/inc. I have done this for aral;
	fjh should do it for the other machines (since he owns the
	relevant directories).

cvs diff: Diffing .
Index: Mmakefile
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/boehm_gc/Mmakefile,v
retrieving revision 1.24
diff -u -b -r1.24 Mmakefile
--- Mmakefile	28 Oct 2002 13:44:51 -0000	1.24
+++ Mmakefile	7 May 2003 02:18:08 -0000
@@ -85,11 +85,27 @@
 # gc_local_alloc.h), we also install gc_inl.h (and hence gc_priv.h, gc_mark.h,
 # gc_hdrs.h, gc_locks.h, and gcconfig.h), for use with `-DINLINE_ALLOC'.
 # If we're using DLLs, we also want libgc_dll.h and libgc_globals.h.
+#
+# IMPORTANT NOTE: the following two lists must include all the header files
+# in the boehm_gc system that gc.h includes, directly or indirectly, with
+# the settings we use. If such a header file is missing from both these lists,
+# then it won't be installed, and Mercury programs compiled in .gc grades will
+# all get an error from the C compiler when it can't find the file while
+# processing gc.h.
 
-HEADERS=include/gc.h include/gc_pthread_redirects.h include/gc_local_alloc.h \
-	include/gc_inl.h include/gc_mark.h $(LIBGC_DLL_H) $(LIBGC_GLOBALS_H)
-PRIVATE_HEADERS=include/private/gc_priv.h include/private/gc_hdrs.h \
-	include/private/gc_locks.h include/private/gcconfig.h
+HEADERS= \
+	include/gc.h  \
+	include/gc_config_macros.h \
+	include/gc_pthread_redirects.h \
+	include/gc_local_alloc.h \
+	include/gc_inl.h \
+	include/gc_mark.h \
+	$(LIBGC_DLL_H) $(LIBGC_GLOBALS_H)
+PRIVATE_HEADERS= \
+	include/private/gc_priv.h \
+	include/private/gc_hdrs.h \
+	include/private/gc_locks.h \
+	include/private/gcconfig.h
 
 ifeq ($(USE_DLLS),yes)
 
cvs diff: Diffing Mac_files
cvs diff: Diffing cord
cvs diff: Diffing cord/private
cvs diff: Diffing doc
cvs diff: Diffing include
cvs diff: Diffing include/private
cvs diff: Diffing tests
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list