]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - etc/rc.d/ldconfig
This commit was generated by cvs2svn to compensate for changes in r156066,
[FreeBSD/FreeBSD.git] / etc / rc.d / ldconfig
1 #!/bin/sh
2 #
3 # $NetBSD: ldconfig,v 1.5 2002/03/22 04:33:58 thorpej Exp $
4 # $FreeBSD$
5 #
6
7 # PROVIDE: ldconfig
8 # REQUIRE: mountcritremote cleanvar
9 # BEFORE:  DAEMON
10
11 . /etc/rc.subr
12
13 name="ldconfig"
14 ldconfig_command="/sbin/ldconfig"
15 start_cmd="ldconfig_start"
16 stop_cmd=":"
17
18 ldconfig_start()
19 {
20         _ins=
21         ldconfig=${ldconfig_command}
22         checkyesno ldconfig_insecure && _ins="-i"
23         if [ -x "${ldconfig_command}" ]; then
24                 _LDC="/lib /usr/lib"
25                 for i in ${ldconfig_local_dirs}; do
26                         if [ -d "${i}" ]; then
27                                 ldconfig_paths="${ldconfig_paths} `find ${i} -type f`"
28                         fi
29                 done
30                 for i in ${ldconfig_paths} /etc/ld-elf.so.conf; do
31                         if [ -r "${i}" ]; then
32                                 _LDC="${_LDC} ${i}"
33                         fi
34                 done
35                 echo 'ELF ldconfig path:' ${_LDC}
36                 ${ldconfig} -elf ${_ins} ${_LDC}
37
38                 case `sysctl -n hw.machine_arch` in
39                 amd64)
40                         for i in ${ldconfig_local32_dirs}; do
41                                 if [ -d "${i}" ]; then
42                                         ldconfig32_paths="${ldconfig32_paths} `find ${i} -type f`"
43                                 fi
44                         done
45                         echo '32-bit compatibility ldconfig path:' ${ldconfig32_paths}
46                         ${ldconfig} -32 -m ${_ins} ${ldconfig32_paths}
47                         ;;
48                 esac
49
50                 # Legacy aout support for i386 only
51                 case `sysctl -n hw.machine_arch` in
52                 i386)
53                         # Default the a.out ldconfig path.
54                         : ${ldconfig_paths_aout=${ldconfig_paths}}
55                         _LDC=/usr/lib/aout
56                         for i in ${ldconfig_paths_aout} /etc/ld.so.conf; do
57                                 if [ -r "${i}" ]; then
58                                         _LDC="${_LDC} ${i}"
59                                 fi
60                         done
61                         echo 'a.out ldconfig path:' ${_LDC}
62                         ${ldconfig} -aout ${_ins} ${_LDC}
63                         ;;
64                 esac
65         fi
66 }
67
68 load_rc_config $name
69 run_rc_command "$1"