diff --git a/src/configure.in b/src/configure.in index 6e8e47d85e90891e5d79cbf2318b4e5f95630479..9adff1ae090dc4333e501ead1142750da3c99656 100644 --- a/src/configure.in +++ b/src/configure.in @@ -1,4 +1,4 @@ -AC_REVISION("$Id: configure.in,v 1.278 1999/04/25 21:06:39 grubba Exp $") +AC_REVISION("$Id: configure.in,v 1.279 1999/04/29 10:48:28 mast Exp $") AC_INIT(interpret.c) AC_CONFIG_HEADER(machine.h) @@ -2781,33 +2781,41 @@ AC_MSG_RESULT($LDSHARED) # CCSHARED are the C *flags* used to create objects to go into a shared # library -- this is only needed for a few systems AC_MSG_CHECKING(CCSHARED) -if test -z "$CCSHARED" ; then - if test "$GCC" = yes ; then - case $pike_cv_sys_os in - BSD/OS*) - CCSHARED="" - ;; - Solaris*) - # The Image module runs out of symbol reference space unless we - # use the large PIC model: - # ld: fatal: too many symbols require `small' PIC references: - # have 2205, maximum 2048 -- recompile some modules -K PIC. - CCSHARED="-fPIC" - ;; - *) - CCSHARED="-fpic" - ;; - esac - else - case $pike_cv_sys_os in - hp*|HP*) CCSHARED="+z"; ;; - FreeBSD*) CCSHARED="-fpic";; - SCO_SV*) CCSHARED="-KPIC -dy -Bdynamic";; - Solaris*) CCSHARED="-KPIC -Bdynamic";; - Windows_NT*) CCSHARED="-shared" ;; - esac +AC_CACHE_VAL(pike_cv_sys_ccshared,[ + if test -z "$CCSHARED" ; then + if test "$GCC" = yes ; then + case $pike_cv_sys_os in + BSD/OS*) + CCSHARED="" + ;; + Solaris*) + # The Image module runs out of symbol reference space unless we + # use the large PIC model: + # ld: fatal: too many symbols require `small' PIC references: + # have 2205, maximum 2048 -- recompile some modules -K PIC. + CCSHARED="-fPIC" + ;; + *) + CCSHARED="-fpic" + ;; + esac + else + case $pike_cv_sys_os in + hp*|HP*) CCSHARED="+z"; ;; + FreeBSD*) CCSHARED="-fpic";; + SCO_SV*) CCSHARED="-KPIC -dy -Bdynamic";; + Solaris*) CCSHARED="-KPIC -Bdynamic";; + Windows_NT*) CCSHARED="-shared" ;; + esac + fi fi -fi + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $CCSHARED" + AC_TRY_COMPILE([], [int main() { exit(0); }], + pike_cv_sys_ccshared="$CCSHARED", pike_cv_sys_ccshared='') + CFLAGS="$OLD_CFLAGS" +]) +CCSHARED="$pike_cv_sys_ccshared" AC_MSG_RESULT($CCSHARED) AC_MSG_CHECKING(LINKFORSHARED)