From f7c7d6c88f18cfc2882aa47ae63ef255b0e7b817 Mon Sep 17 00:00:00 2001 From: jjgarcia Date: Mon, 10 Nov 2003 08:55:06 +0000 Subject: [PATCH] When the user supplies a value for LDFLAGS, include it in SHARED_LDFLAGS and BUNDLE_LDFLAGS. The GMP library and the Boehm-Weiser garbage collector need not be included in CLIBS. --- src/aclocal.m4 | 20 ++++++++++---------- src/cmp/cmpcfg.lsp.in | 2 +- src/compile.lsp.in | 2 +- src/configure | 29 ++++++++++------------------- src/configure.in | 9 --------- 5 files changed, 22 insertions(+), 40 deletions(-) diff --git a/src/aclocal.m4 b/src/aclocal.m4 index c3a17552e..9358c1561 100644 --- a/src/aclocal.m4 +++ b/src/aclocal.m4 @@ -136,30 +136,30 @@ case "${host_os}" in # libdir may have a dollar expression inside linux*) thehost='linux' - SHARED_LDFLAGS='-shared' - BUNDLE_LDFLAGS='-shared' + SHARED_LDFLAGS="-shared ${LDFLAGS}" + BUNDLE_LDFLAGS="-shared ${LDFLAGS}" LDRPATH='-Wl,--rpath,~A' CLIBS="-ldl" # Maybe CFLAGS="-D_ISOC99_SOURCE ${CFLAGS}" ??? ;; freebsd*) thehost='freebsd' - SHARED_LDFLAGS='-shared' - BUNDLE_LDFLAGS='-shared' + SHARED_LDFLAGS="-shared ${LDFLAGS}" + BUNDLE_LDFLAGS="-shared ${LDFLAGS}" LDRPATH="-Wl,--rpath,~A" CLIBS="" ;; netbsd*) thehost='netbsd' - SHARED_LDFLAGS='-shared' - BUNDLE_LDFLAGS='-shared' + SHARED_LDFLAGS="-shared ${LDFLAGS}" + BUNDLE_LDFLAGS="-shared ${LDFLAGS}" LDRPATH="-Wl,--rpath,~A" CLIBS="" ;; solaris*) thehost='sun4sol2' - SHARED_LDFLAGS='-dy -G' - BUNDLE_LDFLAGS='-dy -G' + SHARED_LDFLAGS="-dy -G ${LDFLAGS}" + BUNDLE_LDFLAGS="-dy -G ${LDFLAGS}" LDRPATH='-Wl,-R,~A' TCPLIBS='-lsocket -lnsl -lintl' CLIBS='-ldl' @@ -176,8 +176,8 @@ case "${host_os}" in shared='yes' SHAREDEXT='dylib' PICFLAG='-fPIC -fno-common' - SHARED_LDFLAGS='-dynamiclib -flat_namespace -undefined suppress' - BUNDLE_LDFLAGS='-bundle' + SHARED_LDFLAGS="-dynamiclib -flat_namespace -undefined suppress ${LDFLAGS}" + BUNDLE_LDFLAGS="-bundle ${LDFLAGS}" LDRPATH='' LDINSTALLNAME="-Wl,-install_name,${libdir}/${SHAREDPREFIX}ecl.${SHAREDEXT}" ;; diff --git a/src/cmp/cmpcfg.lsp.in b/src/cmp/cmpcfg.lsp.in index 5a921e76b..48933e22c 100644 --- a/src/cmp/cmpcfg.lsp.in +++ b/src/cmp/cmpcfg.lsp.in @@ -5,7 +5,7 @@ (in-package "COMPILER") (setq *cc* "@ECL_CC@") (setq *cc-flags* "@CFLAGS@ @LSPCFLAGS@") -(setq *ld-flags* "@LDRPATH@ @LDFLAGS@ -lecl @CLIBS@") +(setq *ld-flags* "@LDRPATH@ @LDFLAGS@ -lecl -lgmp -lgc @CLIBS@") #+dlopen (setq *ld-shared-flags* "@LDRPATH@ @SHARED_LDFLAGS@ @LDFLAGS@ -lecl @CLIBS@") #+dlopen diff --git a/src/compile.lsp.in b/src/compile.lsp.in index 9f9e4f880..9b57b1892 100644 --- a/src/compile.lsp.in +++ b/src/compile.lsp.in @@ -71,7 +71,7 @@ cd ..; rm -rf tmp/* @LIBPREFIX@{lsp,clos} ")) ;; ;; We do not need the -rpath flag for the library, nor -lecl. ;; -(let ((c::*ld-shared-flags* "@SHARED_LDFLAGS@ @CLIBS@")) +(let ((c::*ld-shared-flags* "@SHARED_LDFLAGS@ -lgmp -lgc @CLIBS@")) (c::shared-cc (compile-file-pathname "ecl" :type :dll) "c/main.@OBJEXT@" (compile-file-pathname "ecl" :type :lib) diff --git a/src/configure b/src/configure index 4ab72cf90..464fae545 100755 --- a/src/configure +++ b/src/configure @@ -3866,30 +3866,30 @@ case "${host_os}" in # libdir may have a dollar expression inside linux*) thehost='linux' - SHARED_LDFLAGS='-shared' - BUNDLE_LDFLAGS='-shared' + SHARED_LDFLAGS="-shared ${LDFLAGS}" + BUNDLE_LDFLAGS="-shared ${LDFLAGS}" LDRPATH='-Wl,--rpath,~A' CLIBS="-ldl" # Maybe CFLAGS="-D_ISOC99_SOURCE ${CFLAGS}" ??? ;; freebsd*) thehost='freebsd' - SHARED_LDFLAGS='-shared' - BUNDLE_LDFLAGS='-shared' + SHARED_LDFLAGS="-shared ${LDFLAGS}" + BUNDLE_LDFLAGS="-shared ${LDFLAGS}" LDRPATH="-Wl,--rpath,~A" CLIBS="" ;; netbsd*) thehost='netbsd' - SHARED_LDFLAGS='-shared' - BUNDLE_LDFLAGS='-shared' + SHARED_LDFLAGS="-shared ${LDFLAGS}" + BUNDLE_LDFLAGS="-shared ${LDFLAGS}" LDRPATH="-Wl,--rpath,~A" CLIBS="" ;; solaris*) thehost='sun4sol2' - SHARED_LDFLAGS='-dy -G' - BUNDLE_LDFLAGS='-dy -G' + SHARED_LDFLAGS="-dy -G ${LDFLAGS}" + BUNDLE_LDFLAGS="-dy -G ${LDFLAGS}" LDRPATH='-Wl,-R,~A' TCPLIBS='-lsocket -lnsl -lintl' CLIBS='-ldl' @@ -3906,8 +3906,8 @@ case "${host_os}" in shared='yes' SHAREDEXT='dylib' PICFLAG='-fPIC -fno-common' - SHARED_LDFLAGS='-dynamiclib -flat_namespace -undefined suppress' - BUNDLE_LDFLAGS='-bundle' + SHARED_LDFLAGS="-dynamiclib -flat_namespace -undefined suppress ${LDFLAGS}" + BUNDLE_LDFLAGS="-bundle ${LDFLAGS}" LDRPATH='' LDINSTALLNAME="-Wl,-install_name,${libdir}/${SHAREDPREFIX}ecl.${SHAREDEXT}" ;; @@ -4249,12 +4249,8 @@ else LIBRARIES="${LIBRARIES} ${LIBPREFIX}gc.${LIBEXT}" SUBDIR="${SUBDIR} gc" BOEHM_HEADERS="-I\$(top_srcdir)/gc/include" - if test ${shared} = "no"; then - CLIBS="-lgc ${CLIBS}" - fi else BOEHM_HEADERS="" - CLIBS="-lgc ${CLIBS}" fi EXTRA_OBJS="${EXTRA_OBJS} alloc_2.${OBJEXT}" cat >>confdefs.h <<\_ACEOF @@ -4274,11 +4270,6 @@ fi if test ${local_gmp} = "no" ; then LIBRARIES="${LIBRARIES} ${LIBPREFIX}gmp.${LIBEXT}" SUBDIR="${SUBDIR} gmp" - if test ${shared} = "no"; then - CLIBS="-lgmp ${CLIBS}" - fi -else - CLIBS="-lgmp ${CLIBS}" fi if test ${runtime} ; then cat >>confdefs.h <<\_ACEOF diff --git a/src/configure.in b/src/configure.in index 0f02877dd..e4761e247 100644 --- a/src/configure.in +++ b/src/configure.in @@ -179,12 +179,8 @@ else LIBRARIES="${LIBRARIES} ${LIBPREFIX}gc.${LIBEXT}" SUBDIR="${SUBDIR} gc" BOEHM_HEADERS="-I\$(top_srcdir)/gc/include" - if test ${shared} = "no"; then - CLIBS="-lgc ${CLIBS}" - fi else BOEHM_HEADERS="" - CLIBS="-lgc ${CLIBS}" fi EXTRA_OBJS="${EXTRA_OBJS} alloc_2.${OBJEXT}" AC_DEFINE(GBC_BOEHM) @@ -198,11 +194,6 @@ fi if test ${local_gmp} = "no" ; then LIBRARIES="${LIBRARIES} ${LIBPREFIX}gmp.${LIBEXT}" SUBDIR="${SUBDIR} gmp" - if test ${shared} = "no"; then - CLIBS="-lgmp ${CLIBS}" - fi -else - CLIBS="-lgmp ${CLIBS}" fi if test ${runtime} ; then AC_DEFINE(RUNTIME)