diff: new environment variable GC_INCL_DIR

Zoltan Somogyi zs at cs.mu.oz.au
Thu Jan 1 15:28:25 AEDT 1998


This diff has effectively already been reviewed by Fergus.

scripts/mgnuc.in:
	Use the value of a new environment variable, MERCURY_GC_INCL_DIR,
	when invoking the C compiler. This allows the include directory
	for the garbage collector to be different from the include directory
	for the runtime system, which is useful when making incompatible
	changes to the runtime system.

	Fix a bug: the option signalling which argument passing convention
	to use was not being passed to the C compiler in all cases.

doc/user_guide.texi:
	Document the new environment variable.

Zoltan.

cvs diff: Diffing .
Index: mgnuc.in
===================================================================
RCS file: /home/mercury1/repository/mercury/scripts/mgnuc.in,v
retrieving revision 1.45
diff -u -u -r1.45 mgnuc.in
--- mgnuc.in	1997/12/05 15:58:28	1.45
+++ mgnuc.in	1998/01/01 04:10:34
@@ -54,6 +54,7 @@
 FULLARCH=@FULLARCH@
 NONSHARED_LIB_DIR=${MERCURY_NONSHARED_LIB_DIR=@NONSHARED_LIB_DIR@}
 C_INCL_DIR=${MERCURY_C_INCL_DIR=@LIBDIR@/inc}
+GC_INCL_DIR=${MERCURY_GC_INCL_DIR=@LIBDIR@/inc}
 DEFAULT_GRADE=${MERCURY_DEFAULT_GRADE=@DEFAULT_GRADE@}
 CC=${MERCURY_C_COMPILER="@CC@"}
 CFLAGS_FOR_REGS="@CFLAGS_FOR_REGS@"
@@ -342,22 +343,26 @@
 	exec $AS $AS_OPTS "$@" ;;
 esac
 
+# please keep the three long lines below in sync
 case $verbose in true)
-	echo $CC -I$C_INCL_DIR $ANSI_OPTS $CHECK_OPTS \
+	echo $CC -I$C_INCL_DIR -I$GC_INCL_DIR $ANSI_OPTS $CHECK_OPTS \
 		$GRADE_OPTS $GC_OPTS \
 		$PROF_TIME_OPTS $PROF_CALLS_OPTS $PROF_MEMORY_OPTS \
 		$INLINE_ALLOC_OPTS $TRAIL_OPTS $SPLIT_OPTS \
-		$PICREG_OPTS $ARCH_OPTS $ARG_OPTS "$@" $OVERRIDE_OPTS ;;
+		$PICREG_OPTS $ARCH_OPTS $ARG_OPTS \
+		"$@" $OVERRIDE_OPTS ;;
 esac
 case $# in
-	0) exec $CC -I$C_INCL_DIR $ANSI_OPTS $CHECK_OPTS \
+	0) exec $CC -I$C_INCL_DIR -I$GC_INCL_DIR $ANSI_OPTS $CHECK_OPTS \
 		$GRADE_OPTS $GC_OPTS \
 		$PROF_TIME_OPTS $PROF_CALLS_OPTS $PROF_MEMORY_OPTS \
 		$INLINE_ALLOC_OPTS $TRAIL_OPTS $SPLIT_OPTS \
-		$PICREG_OPTS $ARCH_OPTS $OVERRIDE_OPTS ;;
-	*) exec $CC -I$C_INCL_DIR $ANSI_OPTS $CHECK_OPTS \
+		$PICREG_OPTS $ARCH_OPTS $ARG_OPTS \
+		$OVERRIDE_OPTS ;;
+	*) exec $CC -I$C_INCL_DIR -I$GC_INCL_DIR $ANSI_OPTS $CHECK_OPTS \
 		$GRADE_OPTS $GC_OPTS \
 		$PROF_TIME_OPTS $PROF_CALLS_OPTS $PROF_MEMORY_OPTS \
 		$INLINE_ALLOC_OPTS $TRAIL_OPTS $SPLIT_OPTS \
-		$PICREG_OPTS $ARCH_OPTS $ARG_OPTS "$@" $OVERRIDE_OPTS ;;
+		$PICREG_OPTS $ARCH_OPTS $ARG_OPTS \
+		"$@" $OVERRIDE_OPTS ;;
 esac

 %-----------------------------------------------------------------------------%
Index: doc/user_guide.texi
===================================================================
RCS file: /home/mercury1/repository/mercury/doc/user_guide.texi,v
retrieving revision 1.109
diff -u -r1.109 user_guide.texi
--- user_guide.texi	1997/12/22 10:01:33	1.109
+++ user_guide.texi	1998/01/01 03:54:41
@@ -2556,7 +2561,11 @@
 
 @sp 1
 @item MERCURY_C_INCL_DIR
-Directory for the Mercury C header files (@file{*.h}).
+Directory for the C header files for the Mercury runtime system (@file{*.h}).
+
+ at sp 1
+ at item MERCURY_GC_INCL_DIR
+Directory for the C header files for the Mercury garbage collector (@file{*.h}).
 
 @sp 1
 @item MERCURY_INT_DIR



More information about the developers mailing list