#!/bin/sh -f

#set -x

lib=$1

d=`/bin/pwd`
a=`basename $d`
if test "${a}" = "shlib" ; then
  cd ..
fi

if test `uname` = "HP-UX" ; then
  mkdir -p shlib
  /bin/rm -f shlib/*

  /bin/rm -f lib${lib}.sl
  
  cd shlib
  ar x ../lib${lib}.a
#####   ld -b -a shared -o ../lib${lib}.sl `ls` $2
  aCC -Wl,-a,shared -b +Z -q -Wl,+s -Wl,+vallcompatwarnings -o ../lib${lib}.sl `ls` $2

  cd ../

  /bin/rm -rf shlib

fi

if test `uname` = "OSF1" ; then
  /bin/rm -f lib${lib}.so
  ld -expect_unresolved '*' -shared -o lib${lib}.so -all lib${lib}.a \
    $2 -rpath `/bin/pwd`
fi

if test `uname` = "Linux" ; then
  echo "BUILDING SHARED LIBRARY ${lib}"
# ATTEMPT 2: temp for sharedlin force
#   cp lib${lib}.a lib${lib}.so

# ATTEMPT 1:
#  mkdir -p tmpShlib
#  cd tmpShlib
#  /bin/rm -f lib${lib}.so
#
#  ld -shared -o lib${lib}.so --whole-archive ../lib${lib}.a $2 -rpath `/bin/pwd`
#  mv lib${lib}.so ..
#  cd ../
#  /bin/rm -rf tmpShlib

# ATTEMPT 3: (Time consummibg but seems to work...)
# CMT should do this differently!!!!
  /bin/rm -f lib${lib}.so
  mkdir -p tmpShlib
  cd tmpShlib
  ar x ../lib${lib}.a

#  ld -shared -o lib${lib}.so `ls` $2 -rpath `/bin/pwd`
  g++ -shared `ls` $2 -o lib${lib}.so 
  mv lib${lib}.so ..
  cd ../
  /bin/rm -rf tmpShlib

fi

if test `uname` = "SunOS" ; then
  echo 'not yet implemented on SunOS'
#  objs=`ls *.o`
#  if test ! "$objs" = "" ; then
#    /bin/rm -f *.o
#  endif
#  ar x ../lib${lib}.a
#  $CILINK -o lib${lib}.so *.o $2 -lc
#  /bin/rm -f *.o
fi


