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

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

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

exportit()
{
  dir="$1"
  if test -f "package/$dir.exported" ; then
    echo "Making links in $spr/$dir..."
    mkdir -p "$spr/$dir"
    for i in `cat "package/$dir.exported"`
    do
      rm -f "$spr/$dir/$i"'{new}'
      ln -s "../package/$category/$name/$dir/$i" "$spr/$dir/$i"'{new}'
      mv -f "$spr/$dir/$i"'{new}' "$spr/$dir/$i"
    done
  fi
}

exportdynlibs()
{
  dir="$1"
  if test -f "package/$dir.exported" ; then
    echo "Making links in $spr/$dir..."
    mkdir -p "$spr/$dir"
    for i in `cat "package/$dir.exported"`
    do
      rm -f "$spr/$dir/$i.$version"{new} "$spr/$dir/$i.$major.$minor"{new} "$spr/$dir/$i.$major"{new} "$spr/$dir/$i"{new}
      ln -s "../package/$category/$name/$dir/$i.$version" "$spr/$dir/$i.$version"{new}
      mv -f "$spr/$dir/$i.$version"{new} "$spr/$dir/$i.$version"
      if test "$version" != "$major.$minor" ; then
        ln -s "$i.$version" "$spr/$dir/$i.$major.$minor"{new}
        mv -f "$spr/$dir/$i.$major.$minor"{new} "$spr/$dir/$i.$major.$minor"
      fi
      ln -s "$i.$major.$minor" "$spr/$dir/$i.$major"{new}
      mv -f "$spr/$dir/$i.$major"{new} "$spr/$dir/$i.$major"
      ln -s "$i.$major" "$spr/$dir/$i"{new}
      mv -f "$spr/$dir/$i"{new} "$spr/$dir/$i"
    done
  fi
}

exportit command
exportit library
test -r conf-compile/flag-allstatic || exportdynlibs library.so
exportit include
exportit man
exportit doc
