#!/bin/sh
# Emulate cp -s for systems without coreutils

if test -z "$1" || test -z "$2" ; then
	echo "usage: ${0} srcdir destdir" >&2
	exit 1
fi

# Portability notes:
# - Avoid set -e given its ambiguous interaction with subshells.
# - Not all shells update $PWD as required by POSIX.
#   Use the pwd builtin instead.
# - Command substitution strips all trailing newlines.
#   Preserve trailing newlines by appending a safety character and then
#   removing it with parameter substitution, along with the newline
#   appended by pwd itself.

mkdir -p "$2" &&
destdir=`cd "$2" && pwd && echo x` &&
destdir=${destdir%??} &&

cd "$1" &&
srcdir=`pwd && echo x` &&
srcdir=${srcdir%??} &&
find . -type d -exec mkdir -p "${destdir}/{}" \; &&
find . -type f -exec ln -sf "${srcdir}/{}" "${destdir}/{}" \;
