diff: separate system and Mercury library variables

Fergus Henderson fjh at cs.mu.OZ.AU
Wed Apr 7 04:27:04 AEST 1999


On 05-Apr-1999, Tyson Dowd <trd at cs.mu.OZ.AU> wrote:
> Bootstrapping was a problem on my machine at home -- kept getting
> linking errors with the debugging tests.
> 
> scripts/ml.in:
> 	Separate the variables for Mercury libraries from those
> 	with system libraries.  When bootstrapping we want to
> 	override the Mercury libraries to use the stage 2 version,
> 	but we don't want to override other library options such as -ldl
> 	and -lreadline, because they are system specific while the
> 	bootstrapping script is general.

Estimated hours taken: 0.25

scripts/ml.in:
	A couple of fixes to trd's previous change:
	- the libraries in TRACE_LIBS_SYSTEM should come before STDLIBS,
	  since the former might refer to the latter
	  (this is important with static linking and with DLLs,
	  since in both those situations you only get single-pass
	  linking unless you name the libraries multiple times on
	  the command line)
	- TRACE_LIBS_SYSTEM needs to be included even in the
	  `--mercury-libs none' case, otherwise compiler/Mmakefile
	  breaks.

Index: scripts/ml.in
===================================================================
RCS file: /home/mercury1/repository/mercury/scripts/ml.in,v
retrieving revision 1.59
diff -u -r1.59 ml.in
--- ml.in	1999/04/05 15:05:28	1.59
+++ ml.in	1999/04/06 18:20:22
@@ -441,7 +441,7 @@
 case $mercury_libs in
 	shared)
 		MERCURY_LIBS=${MERCURY_LIBS="$TRACE_LIBS -l$STD_LIB_NAME -l$RT_LIB_NAME $LIBGC"}
-		LIBS=${LIBS="$MERCURY_LIBS $STDLIBS $TRACE_LIBS_SYSTEM"}
+		LIBS=${LIBS="$MERCURY_LIBS $TRACE_LIBS_SYSTEM $STDLIBS"}
 		merc_shlib_dirs="$merc_shlib_dirs $LIBDIR/$GRADE/$FULLARCH"
 		merc_shlib_dirs="$merc_shlib_dirs $LIBDIR/$FULLARCH"
 		;;
@@ -450,10 +450,10 @@
 			$LIBDIR/$GRADE/$FULLARCH/lib$STD_LIB_NAME.a \
 			$LIBDIR/$GRADE/$FULLARCH/lib$RT_LIB_NAME.a \
 			$LIBGC_STATIC"}
-		LIBS=${LIBS="$MERCURY_LIBS $STDLIBS $TRACE_LIBS_SYSTEM"}
+		LIBS=${LIBS="$MERCURY_LIBS $TRACE_LIBS_SYSTEM $STDLIBS"}
 		merc_shlib_dirs=""
 		;;
-	none)	LIBS="$STDLIBS"
+	none)	LIBS="$TRACE_LIBS_SYSTEM $STDLIBS"
 		LIBDIR_OPTS="$user_libdir_opts"
 		merc_shlib_dirs=""
 		;;

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3        |     -- the last words of T. S. Garp.



More information about the developers mailing list