Fix two bugs in my previous fix for the `-lm' portability problem:

Estimated hours taken: 0.75 (about half of it by Tyson)

configure.in:
	Fix two bugs in my previous fix for the `-lm' portability problem:
	- AC_CHECK_LIB should have been AC_HAVE_LIBRARY
	- SHARED_LIB needed to be valid as *both* Make and sh syntax.
	  To fix this one, we've added a new variable SHARED_LIB_SH
	  which has the sh-syntax version of it, while SHARED_LIB now
	  has the Make-syntax version of it.

scripts/ml.in:
	Use SHARED_LIB_SH rather than SHARED_LIB.

bindist/bindist.build_vars.in:
	Pass on the value of SHARED_LIB_SH.
This commit is contained in:
Fergus Henderson
2000-09-24 08:52:12 +00:00
parent c6661793bc
commit 0f88e6e50a
3 changed files with 10 additions and 4 deletions

View File

@@ -31,6 +31,7 @@ EXT_FOR_PIC_OBJECTS="@EXT_FOR_PIC_OBJECTS@"
EXT_FOR_SHARED_LIB="@EXT_FOR_SHARED_LIB@"
CFLAGS_FOR_PIC="@CFLAGS_FOR_PIC@"
SHARED_LIBS='@SHARED_LIBS@'
SHARED_LIBS_SH='@SHARED_LIBS_SH@'
HAVE_DELAY_SLOT="@HAVE_DELAY_SLOT@"
DEFAULT_RM_C="@DEFAULT_RM_C@"
ERROR_UNDEFINED="@ERROR_UNDEFINED@"

View File

@@ -224,7 +224,7 @@ AC_C_CROSS
AC_RETSIGTYPE
#-----------------------------------------------------------------------------#
# Check for `-lm': some systems, e.g. MacOS X (Darwin), don't have it.
AC_CHECK_LIB(m,[MATH_LIB=-lm],[MATH_LIB=])
AC_HAVE_LIBRARY(m,[MATH_LIB=-lm],[MATH_LIB=])
AC_SUBST(MATH_LIB)
#-----------------------------------------------------------------------------#
AC_MSG_CHECKING(for use of a Microsoft compiler)
@@ -2018,7 +2018,8 @@ AC_MSG_CHECKING(whether Mercury supports shared libraries on this system)
# see Mmake.common.in for documentation on the meaning of these variables
LINK_SHARED_OBJ="$CC -shared"
LINK_SHARED_OBJ_SH="$CC -shared"
SHARED_LIBS='`gcc -print-libgcc-file-name` $MATH_LIB -lc'
SHARED_LIBS='`gcc -print-libgcc-file-name` $(MATH_LIB) -lc'
SHARED_LIBS_SH='`gcc -print-libgcc-file-name` $MATH_LIB -lc'
EXE_RPATH_OPT="-Wl,-rpath,"
EXE_RPATH_SEP=" -Wl,-rpath,"
SHLIB_RPATH_OPT="-Wl,-rpath,"
@@ -2055,7 +2056,8 @@ case "$host" in
;;
sparc-sun-solaris2.*)
AC_MSG_RESULT(yes)
SHARED_LIBS="$MATH_LIB -lc" # don't link in libgcc.a
SHARED_LIBS="$(MATH_LIB) -lc" # don't link in libgcc.a
SHARED_LIBS_SH="$MATH_LIB -lc" # don't link in libgcc.a
LINK_SHARED_OBJ="$CC -G"
LINK_SHARED_OBJ_SH="$CC -G"
ERROR_UNDEFINED="-Wl,-z,defs"
@@ -2209,6 +2211,7 @@ AC_SUBST(EXT_FOR_SHARED_LIB)
AC_SUBST(EXT_FOR_EXE)
AC_SUBST(USE_DLLS)
AC_SUBST(SHARED_LIBS)
AC_SUBST(SHARED_LIBS_SH)
AC_SUBST(DEFAULT_RM_C)
AC_SUBST(LIBRARY_RM_C)
if test $USE_DLLS = "yes"; then

View File

@@ -31,9 +31,11 @@ EXT_FOR_SHARED_LIB=${MERCURY_EXT_FOR_SHARED_LIB="@EXT_FOR_SHARED_LIB@"}
LINK_SHARED_OBJ=${MERCURY_LINK_SHARED_OBJ="@LINK_SHARED_OBJ_SH@"}
SHLIB_RPATH_OPT=${MERCURY_SHLIB_RPATH_OPT="@SHLIB_RPATH_OPT@"}
SHLIB_RPATH_SEP=${MERCURY_SHLIB_RPATH_SEP="@SHLIB_RPATH_SEP@"}
SHARED_LIBS=${MERCURY_SHARED_LIBS="@SHARED_LIBS@"}
TMPDIR=${TMPDIR=/tmp}
MATH_LIB=${MERCURY_MATH_LIB="@MATH_LIB@"}
# Note: the setting of SHARED_LIBS needs to come after the setting of MATH_LIB,
# since @SHARED_LIBS_SH@ may refer to $MATH_LIB.
SHARED_LIBS=${MERCURY_SHARED_LIBS="@SHARED_LIBS_SH@"}
# When compiling in the hlc.gc grade using the Microsoft Visual C
# compiler, the default maximum stack size of 4Mb is too low for a