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

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

here=`pwd`
parent=`dirname "$here"`
name=`head -n 1 package/name`
version=`head -n 1 package/version`

echo "Creating symlink $name -> $name-$version..."
rm -f "$name"
ln -s "$name-$version" "$name"
mv -f "$name" ..

test -f package/command.exported &&
{
  echo 'Making command links in /command...'
  mkdir -p /command
  for i in `cat package/command.exported`
  do
    rm -f "/command/$i"'{new}'
    ln -s "$parent/$name/command/$i" "/command/$i"'{new}'
    mv -f "/command/$i"'{new}' "/command/$i"
  done
} || true

test -f package/library.exported &&
{
  echo 'Making library links in /library...'
  mkdir -p /library
  for i in `cat package/library.exported`
  do
    rm -f "/library/$i"'{new}'
    ln -s "$parent/$name/library/$i" "/library/$i"'{new}'
    mv -f "/library/$i"'{new}' "/library/$i"
  done
} || true

test -f package/library.so.exported &&
{
  echo 'Making shared library links in /library.so...'
  mkdir -p /library.so
  for i in `cat package/library.so.exported`
  do
    rm -f "/library.so/$i"'{new}'
    ln -s "$parent/$name/library.so/$i" "/library.so/$i"'{new}'
    mv -f "/library.so/$i"'{new}' "/library.so/$i"
  done
} || true

test -f package/include.exported &&
{
  echo 'Making header links in /include...'
  mkdir -p /include
  for i in `cat package/include.exported`
  do
    rm -f "/include/$i"'{new}'
    ln -s "$parent/$name/include/$i" "/include/$i"'{new}'
    mv -f "/include/$i"'{new}' "/include/$i"
  done
} || true

test -f package/man.exported &&
{
  echo 'Making header links in /man...'
  mkdir -p /man
  for i in `cat package/man.exported`
  do
    rm -f "/man/$i"'{new}'
    ln -s "$parent/$name/man/$i" "/man/$i"'{new}'
    mv -f "/man/$i"'{new}' "/man/$i"
  done
} || true

test -f package/doc.exported &&
{
  echo 'Making header links in /doc...'
  mkdir -p /doc
  for i in `cat package/doc.exported`
  do
    rm -f "/doc/$i"'{new}'
    ln -s "$parent/$name/doc/$i" "/doc/$i"'{new}'
    mv -f "/doc/$i"'{new}' "/doc/$i"
  done
} || true
