ldconfig revision 103019
1259698Sdim#!/bin/sh
2259698Sdim#
3259698Sdim# $NetBSD: ldconfig,v 1.5 2002/03/22 04:33:58 thorpej Exp $
4259698Sdim# $FreeBSD: head/etc/rc.d/ldconfig 103019 2002-09-06 16:18:05Z gordon $
5259698Sdim#
6259698Sdim
7259698Sdim# PROVIDE: ldconfig
8259698Sdim# REQUIRE: mountall
9259698Sdim# BEFORE:  DAEMON
10259698Sdim# KEYWORD: FreeBSD NetBSD
11259698Sdim
12259698Sdim. /etc/rc.subr
13259698Sdim
14259698Sdimname="ldconfig"
15259698Sdimldconfig_command="/sbin/ldconfig"
16259698Sdimstart_cmd="ldconfig_start"
17259698Sdimstop_cmd=":"
18259698Sdim
19259698Sdimldconfig_start()
20259698Sdim{
21259698Sdim	case ${OSTYPE} in
22259698Sdim	FreeBSD)
23259698Sdim		ldconfig=${ldconfig_command}
24259698Sdim		checkyesno ldconfig_insecure && ldconfig="${ldconfig} -i"
25259698Sdim		if [ -x "${ldconfig_command}" ]; then
26259698Sdim			case `/usr/bin/objformat` in
27259698Sdim			elf)
28259698Sdim				_LDC=/usr/lib
29259698Sdim				for i in ${ldconfig_paths}; do
30259698Sdim					if [ -d "${i}" ]; then
31259698Sdim						_LDC="${_LDC} ${i}"
32259698Sdim					fi
33259698Sdim				done
34259698Sdim				echo 'ELF ldconfig path:' ${_LDC}
35259698Sdim				${ldconfig} -elf ${_LDC}
36259698Sdim				;;
37259698Sdim			esac
38259698Sdim
39259698Sdim			# Legacy aout support for i386 only
40259698Sdim			case `sysctl -n hw.machine_arch` in
41259698Sdim			i386)
42259698Sdim				# Default the a.out ldconfig path.
43259698Sdim				: ${ldconfig_paths_aout=${ldconfig_paths}}
44259698Sdim				_LDC=/usr/lib/aout
45259698Sdim				for i in ${ldconfig_paths_aout}; do
46					if [ -d "${i}" ]; then
47						_LDC="${_LDC} ${i}"
48					fi
49				done
50				echo 'a.out ldconfig path:' ${_LDC}
51				${ldconfig} -aout ${_LDC}
52				;;
53			esac
54		fi
55		;;
56	NetBSD)
57		if [ -f ${ldconfig_command} ]; then
58			echo "Creating a.out runtime link editor directory cache."
59			${ldconfig_command}
60		fi
61		;;
62	*)
63		;;
64	esac
65}
66
67load_rc_config $name
68run_rc_command "$1"
69