#!/bin/sh -e
# Public domain.

umask 022
test -d package -a -d src -a -d conf-compile || { echo 'Wrong working directory.' 1>&2 ; exit 100 ; }

version=`cat compile/export/conf-version`
major=`echo $version | cut -d. -f1`
minor=`echo $version | cut -d. -f2`

if test -r package/command ; then
  mkdir -p command
  echo 'Copying commands into ./command...'
  cat package/command | while read a b ; do
    chmod "$b" "compile/export/$a"
    rm -f "command/$a"'{new}'
    cp -Hp "compile/export/$a" "command/$a"'{new}'
    mv -f "command/$a"'{new}' "command/$a"
  done
fi

if test -r package/library ; then
  mkdir -p library
  echo 'Copying libraries into ./library...'
  for i in `cat package/library` ; do
    rm -f "library/$i"'{new}'
    cp -Hp "compile/export/$i" "library/$i"'{new}'
    mv -f "library/$i"'{new}' "library/$i"
  done
fi

if test -r package/library.so -a ! -r conf-compile/flag-allstatic ; then
  mkdir -p library.so
  echo 'Copying shared libraries into ./library.so...'
  for i in `cat package/library.so` ; do
    rm -f "library.so/$i.$version"'{new}' "library.so/$i.$major.$minor"'{new}' "library.so/$i.$major"'{new}' "library.so/$i"'{new}'
    cp -Hp "compile/export/$i.$version" "library.so/$i.$version"'{new}'
    mv -f "library.so/$i.$version"'{new}' "library.so/$i.$version"
    if test "$version" != "$major.$minor" ; then
      ln -s "$i.$version" "library.so/$i.$major.$minor"'{new}'
      mv -f "library.so/$i.$major.$minor"'{new}' "library.so/$i.$major.$minor"
    fi
    ln -s "$i.$major.$minor" "library.so/$i.$major"'{new}'
    mv -f "library.so/$i.$major"'{new}' "library.so/$i.$major"
    ln -s "$i.$major" "library.so/$i"'{new}'
    mv -f "library.so/$i"'{new}' "library.so/$i"
  done
fi

if test -r package/include ; then
  mkdir -p include
  echo 'Copying header files into ./include...'
  for i in `cat package/include` ; do
    rm -f "include/$i"'{new}'
    cp -Hp "compile/export/$i" "include/$i"'{new}'
    mv -f "include/$i"'{new}' "include/$i"
  done
fi

if test -r package/man ; then
  mkdir -p man
  echo 'Copying manual pages into ./man...'
  for i in `cat package/man` ; do
    rm -f "man/$i"'{new}'
    cp -Hp "compile/export/$i" "man/$i"'{new}'
    mv -f "man/$i"'{new}' "man/$i"
  done
fi

if test -r package/sysdeps ; then
  mkdir -p sysdeps
  echo 'Copying sysdeps files into ./sysdeps...'
  for i in `cat package/sysdeps` ; do
    rm -f "sysdeps/$i"'{new}'
    cp -Hp "compile/export/$i" "sysdeps/$i"'{new}'
    mv -f "sysdeps/$i"'{new}' "sysdeps/$i"
  done
fi

echo
