# Exported variables
_dlld_list='DLLD DLLDFLAGS EXTRADLLDFLAGS DLSUFFIX soname sodest'

# Which suffix for Dynamic Lib?
# Some linkers (SunOS 4) need minor and major lib version numbers.
# Some others (SunOS 5) need a link from a .so
# Some others (HPUX 09) do not want version numbers.
DLSUFFIX=so
soname=.$soname_num
do_dll=yes
case "$osname-$arch" in
  aix-*|osf1-*|solaris-*|linux-*|freebsd-*)
    case $libpari_base in
      pari) sodest=.$version.$patch;; # released version
      *)    sodest=.$patch.0.0;;      # unstable version
    esac ;;
  sunos-*) sodest=.$VersionMajor$VersionMinor.$patch
           soname=$sodest;;
  hpux-*) soname= ; sodest= ; DLSUFFIX=sl;;
  irix-*) soname= ; sodest= ;;
  os2-*)  soname= ; sodest= ; DLSUFFIX=dll
          libpari_base=`echo "$libpari_base" | sed 's/\./_/g'` # 8.3 DLL name
       ;;
# cygwin-*)soname= ; sodest= ; DLSUFFIX=dll ;; FIXME: gp-dyn.exe crashes
  *) do_dll=no ;;
esac

# if DLLD is defined at this point, respect it, even if do_dll=no
if test $do_dll=yes -a -z "$DLLD"; then
  if test -n "$__gnuc__" -o "$osname"=solaris; then
    DLLD="$CC"
  else
    DLLD=$ld # don't take risks
  fi
fi

GNUdlld=
DLLDisGCC=
if test -n "$DLLD"; then
# Which Dynamic Lib Linker?
  if test "$fastread" != yes; then
    echo $n ..."Which linker for building dynamic libs? $c"
    dflt="$DLLD"; rep=; . ./myread
    DLLD=$ans
  fi

  if test "$DLLD" = "$CC" -a -n "$__gnuc__"; then
    DLLDisGCC=yes;
    GNUdlld=$GNULDused
  else
    case "$DLLD" in
      *ld) if ($DLLD -v 2>&1 | grep GNU > /dev/null); then GNUdlld=yes; fi;;
    esac
  fi

# Which Flags for Dynamic Lib Linker ?
  if test -n "$GNUdlld"; then
    DLLDFLAGS="-shared -soname=\$(LIBPARI_SONAME)"
  else # DLLD != GNU ld
    case "$osname" in
      aix)     DLLDFLAGS='-r' ;;
      hpux)    DLLDFLAGS='-b' ;;
      freebsd) DLLDFLAGS='-Bshareable -x' ;;
      irix)    DLLDFLAGS='-shared -elf -no_unresolved -all' ;;
      osf1)    DLLDFLAGS='-shared' ;;
      sunos)   DLLDFLAGS='-assert nodefinitions' ;;
      solaris) DLLDFLAGS="-G -h \$(LIBPARI_SONAME)" ;;
      os2)     ;; # see below
      *)         DLLD=;;
    esac
  fi
  DLLDFLAGS=`./ldflags "$DLLDisGCC" "$DLLDFLAGS"`
  case "$osname" in
    os2) DLLDFLAGS="$CFLAGS -Zdll" ;; # assume DLLD = gcc
  esac
  if test -n "$DLLDisGCC"; then
    DLLDFLAGS="-shared -mimpure-text \$(CFLAGS) $DLLDFLAGS"
  fi
  case "$osname" in
    osf1|freebsd|linux|sunos|solaris) EXTRADLLDFLAGS='-lc ${LIBS}';;
  esac

  if test "$fastread" != yes; then
    echo $n ..."Which flags for linker? $c"
    dflt=$DLLDFLAGS; rep=; . ./myread
    DLLDFLAGS=$ans
  fi
fi

if test -z "$DLLD"; then
  echo "No Dynamic Lib"
else
  echo "Dynamic Lib linker is  $DLLD  $DLLDFLAGS"
fi
