File: headers.sh

package info (click to toggle)
dialog 1.0-20060221-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 2,040 kB
  • ctags: 1,239
  • sloc: ansic: 11,308; sh: 7,591; perl: 355; makefile: 238; python: 164
file content (77 lines) | stat: -rwxr-xr-x 1,548 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#! /bin/sh
# $Id: headers.sh,v 1.1 2004/09/20 22:35:18 tom Exp $
#
# Adjust includes for header files that reside in a subdirectory of
# /usr/include, etc.
#
# Parameters (the first case creates the sed script):
#	$1 is the target directory
#	$2 is the source directory
# or (the second case does the install, using the sed script):
#	$1 is the script to use for installing
#	$2 is the target directory
#	$3 is the source directory
#	$4 is the file to install, editing source/target/etc.

PACKAGE=DIALOG
PKGNAME=DLG
CONFIGH=dlg_config.h

TMPSED=headers.sed

if test $# = 2 ; then
	rm -f $TMPSED
	DST=$1
	REF=$2
	LEAF=`basename $DST`
	case $DST in
	/*/include/$LEAF)
		END=`basename $DST`
		for i in $REF/*.h
		do
			NAME=`basename $i`
			echo "s/<$NAME>/<$END\/$NAME>/g" >> $TMPSED
		done
		;;
	*)
		echo "" >> $TMPSED
		;;
	esac
	for name in `
	egrep "#define[ 	][ 	]*[A-Z]" $REF/$CONFIGH \
		| sed	-e 's/^#define[ 	][ 	]*//' \
			-e 's/[ 	].*//' \
		| egrep -v "^GCC_" \
		| egrep -v "^${PACKAGE}_" \
		| sort -u \
		| egrep -v "^${PKGNAME}_"`
	do
		echo "s/\\<$name\\>/${PKGNAME}_$name/g" >>$TMPSED
	done
else
	PRG=""
	while test $# != 3
	do
		PRG="$PRG $1"; shift
	done

	DST=$1
	REF=$2
	SRC=$3

	SHOW=`basename $SRC`
	TMPSRC=${TMPDIR-/tmp}/${SHOW}$$

	echo "	... $SHOW"
	test -f $REF/$SRC && SRC="$REF/$SRC"

	rm -f $TMPSRC
	sed -f $TMPSED $SRC > $TMPSRC
	NAME=`basename $SRC`

	# Just in case someone gzip'd manpages, remove the conflicting copy.
	test -f $DST/$NAME.gz && rm -f $DST/$NAME.gz

	eval $PRG $TMPSRC $DST/$NAME
	rm -f $TMPSRC
fi