ldconfig revision 103436
178344Sobrien#!/bin/sh
278344Sobrien#
398184Sgordon# $NetBSD: ldconfig,v 1.5 2002/03/22 04:33:58 thorpej Exp $
498184Sgordon# $FreeBSD: head/etc/rc.d/ldconfig 103436 2002-09-17 01:49:00Z peter $
578344Sobrien#
678344Sobrien
778344Sobrien# PROVIDE: ldconfig
878344Sobrien# REQUIRE: mountall
998184Sgordon# BEFORE:  DAEMON
1098184Sgordon# KEYWORD: FreeBSD NetBSD
1178344Sobrien
1278344Sobrien. /etc/rc.subr
1378344Sobrien
1478344Sobrienname="ldconfig"
1598184Sgordonldconfig_command="/sbin/ldconfig"
1678344Sobrienstart_cmd="ldconfig_start"
1778344Sobrienstop_cmd=":"
1878344Sobrien
1978344Sobrienldconfig_start()
2078344Sobrien{
21103019Sgordon	case ${OSTYPE} in
2298184Sgordon	FreeBSD)
2398184Sgordon		ldconfig=${ldconfig_command}
2498184Sgordon		checkyesno ldconfig_insecure && ldconfig="${ldconfig} -i"
2598184Sgordon		if [ -x "${ldconfig_command}" ]; then
26103436Speter			_LDC=/usr/lib
27103436Speter			for i in ${ldconfig_paths}; do
28103436Speter				if [ -d "${i}" ]; then
29103436Speter					_LDC="${_LDC} ${i}"
30103436Speter				fi
31103436Speter			done
32103436Speter			echo 'ELF ldconfig path:' ${_LDC}
33103436Speter			${ldconfig} -elf ${_LDC}
3498184Sgordon
3598184Sgordon			# Legacy aout support for i386 only
3698184Sgordon			case `sysctl -n hw.machine_arch` in
3798184Sgordon			i386)
3898184Sgordon				# Default the a.out ldconfig path.
3998184Sgordon				: ${ldconfig_paths_aout=${ldconfig_paths}}
4098184Sgordon				_LDC=/usr/lib/aout
4198184Sgordon				for i in ${ldconfig_paths_aout}; do
4298184Sgordon					if [ -d "${i}" ]; then
4398184Sgordon						_LDC="${_LDC} ${i}"
4498184Sgordon					fi
4598184Sgordon				done
4698184Sgordon				echo 'a.out ldconfig path:' ${_LDC}
4798184Sgordon				${ldconfig} -aout ${_LDC}
4898184Sgordon				;;
4998184Sgordon			esac
5098184Sgordon		fi
5198184Sgordon		;;
5298184Sgordon	NetBSD)
5398184Sgordon		if [ -f ${ldconfig_command} ]; then
5498184Sgordon			echo "Creating a.out runtime link editor directory cache."
5598184Sgordon			${ldconfig_command}
5698184Sgordon		fi
5798184Sgordon		;;
5898184Sgordon	*)
5998184Sgordon		;;
6098184Sgordon	esac
6178344Sobrien}
6278344Sobrien
6378344Sobrienload_rc_config $name
6478344Sobrienrun_rc_command "$1"
65