summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/archdep
diff options
context:
space:
mode:
authorgordon <gordon@FreeBSD.org>2002-09-05 20:29:18 +0000
committergordon <gordon@FreeBSD.org>2002-09-05 20:29:18 +0000
commitb0ff5bb69d99fd3750297c3f567c1a5cd50782e7 (patch)
treed84e3f11a6a6bbb7bf970603d075b0fd6f863e2c /etc/rc.d/archdep
parent80704cd6a8a2a0695b39f547e7db36b0cb9f7d6f (diff)
downloadFreeBSD-src-b0ff5bb69d99fd3750297c3f567c1a5cd50782e7.zip
FreeBSD-src-b0ff5bb69d99fd3750297c3f567c1a5cd50782e7.tar.gz
Add an archdep script and hook it up to the build.
Submitted by: Mike Makonnen <makonnen@pacbell.net>
Diffstat (limited to 'etc/rc.d/archdep')
-rw-r--r--etc/rc.d/archdep81
1 files changed, 81 insertions, 0 deletions
diff --git a/etc/rc.d/archdep b/etc/rc.d/archdep
new file mode 100644
index 0000000..28bf7bc
--- /dev/null
+++ b/etc/rc.d/archdep
@@ -0,0 +1,81 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: archdep
+# REQUIRE: LOGIN
+# BEFORE: abi
+# KEYWORD: FreeBSD
+
+. /etc/rc.subr
+
+name=archdep
+load_rc_config $name
+
+# should we print out unaligned access warnings?
+#
+unaligned_warnings()
+{
+ if ! checkyesno unaligned_print ; then
+ sysctl machdep.unaligned_print=0
+ fi
+}
+
+# Alpha OSF/1 binary emulation
+#
+osf1_compat()
+{
+ if checkyesno osf1_enable ; then
+ echo -n ' OSF/1'
+ if ! kldstat -v | grep osf1_ecoff > /dev/null; then
+ kldload osf1 > /dev/null 2>&1
+ fi
+ fi
+}
+
+# SCO binary emulation
+#
+ibcs2_compat()
+{
+ if checkyesno ibcs2_enable ; then
+ echo -n ' ibcs2'
+ kldload ibcs2 > /dev/null 2>&1
+ case ${ibcs2_loaders} in
+ [Nn][Oo])
+ ;;
+ *)
+ for i in ${ibcs2_loaders}; do
+ kldload ibcs2_$i > /dev/null 2>&1
+ done
+ ;;
+ esac
+ fi
+}
+
+# X-10 Daemon
+#
+x10_daemon()
+{
+ if checkyesno xtend_enable ; then
+ echo -n ' xtend'
+ /usr/libexec/xtend
+ fi
+}
+
+_arch=`${SYSCTL_N} hw.machine`
+echo -n "Initial $_arch initialization:"
+case $_arch in
+i386)
+ ibcs2_compat
+ x10_daemon
+ ;;
+alpha)
+ osf1_compat
+ unaligned_warnings
+ ;;
+ia64)
+ unaligned_warnings
+ ;;
+esac
+echo '.'
OpenPOWER on IntegriCloud