head	1.1;
access;
symbols;
locks; strict;
comment	@# @;


1.1
date	96.06.01.06.35.12;	author morgan;	state Exp;
branches;
next	;


desc
@@


1.1
log
@Initial revision
@
text
@#!/bin/bash

if [ `basename $PWD` != "modules" ]; then
	echo "$0 must be run from the .../modules directory"
	exit 1
fi

merge_line ()
{
	if [ $# != 3 ]; then
		echo "usage: merge_line token filename 'new line'"
	fi
	if [ -f $2 ]; then
# remove any existing entry...
		grep -v "$1" $2 > tmp.$2
		rm -f $2
		mv {tmp.,}$2
	fi
	cat << EOT >> $2
$3
EOT

}


if [ $# -ne 2 ]; then

	cat << EOT 2>&1
$0:	this script takes TWO arguments:
	the 'alphanumeric label' of the module and the location of
	its object file from the .../modules/ directory
EOT
	exit 1

else
	echo "
 *> registering static module: $1 ($2) <*
"
	merge_line "$1" _static_module_list "\
extern struct pam_module _$1_modstruct;"

	merge_line "$1" _static_module_entry "    &_$1_modstruct,"
	if [ -n "$2" ]; then
		merge_line "$2" _static_module_objects "../modules/$2"
	fi

fi

exit 0
@
