1#!/bin/sh
2# usage:
3#  .../install-wrap $(PYTHON_PATH) install <options-to-install> <src>... <dest>
4# where
5#  PYTHON_PATH is what to put after #! and may be `/usr/bin/env python'
6#
7# Used via $(INSTALL_PYTHON_PROG) in Rules.mk; PYTHON_PATH comes from $(PYTHON)
8
9set -e
10if test $# -lt 2; then
11	echo >&2 "${0##*/}: too few arguments"
12	exit 1
13fi
14
15pythonpath="$1"
16shift
17
18install="$1"
19shift
20srcs=""
21
22while [ $# != 0 ]; do
23	case "$1" in
24	-|--)	install=`echo "${install} $1"`
25		shift
26		break
27		;;
28	-*)	install=`echo "${install} $1"`
29		shift
30		;;
31	*)	break
32		;;
33	esac
34done
35
36while test $# -gt 1; do
37	srcs=`echo "${srcs} $1"`
38	shift
39done
40
41dest="$1"
42shift
43
44destf="$dest"
45for srcf in ${srcs}; do
46	if test -d "$dest"; then
47		destf="$dest/${srcf##*/}"
48	fi
49	org="$(sed -n '2q; /^#! *\/usr\/bin\/env python *$/p' $srcf)"
50	if test "x$org" = x; then
51		eval "${install} $srcf $destf"
52		continue
53	fi
54	tmpf="$destf.tmp"
55	eval "${install} $srcf $tmpf"
56	printf >"$tmpf" "#!%s\n" "$pythonpath"
57	sed -e 1d "$srcf" >>"$tmpf"
58	mv -f "$tmpf" "$destf"
59done
60exit 0
61