ldconfig revision 124618
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 124618 2004-01-17 10:40:45Z mtm $
578344Sobrien#
678344Sobrien
778344Sobrien# PROVIDE: ldconfig
8114278Smtm# REQUIRE: mountall mountcritremote
998184Sgordon# BEFORE:  DAEMON
10124616Smtm# KEYWORD: FreeBSD
1178344Sobrien
1278344Sobrien. /etc/rc.subr
1378344Sobrien
1478344Sobrienname="ldconfig"
1598184Sgordonldconfig_command="/sbin/ldconfig"
1678344Sobrienstart_cmd="ldconfig_start"
1778344Sobrienstop_cmd=":"
1878344Sobrien
1978344Sobrienldconfig_start()
2078344Sobrien{
21124618Smtm	_ins=
22124618Smtm	ldconfig=${ldconfig_command}
23124618Smtm	checkyesno ldconfig_insecure && _ins="-i"
24124618Smtm	if [ -x "${ldconfig_command}" ]; then
25124618Smtm		_LDC="/lib /usr/lib"
26124618Smtm		for i in ${ldconfig_paths} /etc/ld-elf.so.conf; do
27124618Smtm			if [ -r "${i}" ]; then
28124618Smtm				_LDC="${_LDC} ${i}"
29124618Smtm			fi
30124618Smtm		done
31124618Smtm		echo 'ELF ldconfig path:' ${_LDC}
32124618Smtm		${ldconfig} -elf ${_ins} ${_LDC}
33124618Smtm
34124618Smtm		# Legacy aout support for i386 only
35124618Smtm		case `sysctl -n hw.machine_arch` in
36124618Smtm		i386)
37124618Smtm			# Default the a.out ldconfig path.
38124618Smtm			: ${ldconfig_paths_aout=${ldconfig_paths}}
39124618Smtm			_LDC=/usr/lib/aout
40124618Smtm			for i in ${ldconfig_paths_aout} /etc/ld.so.conf; do
41117077Strhodes				if [ -r "${i}" ]; then
42103436Speter					_LDC="${_LDC} ${i}"
43103436Speter				fi
44103436Speter			done
45124618Smtm			echo 'a.out ldconfig path:' ${_LDC}
46124618Smtm			${ldconfig} -aout ${_ins} ${_LDC}
47124618Smtm			;;
48124618Smtm		esac
49124618Smtm	fi
5078344Sobrien}
5178344Sobrien
5278344Sobrienload_rc_config $name
5378344Sobrienrun_rc_command "$1"
54