+# Check if the given program is installed. Returns 0 if it exists, 1
+# otherwise; so it can be used in if.
+installed() {
+ # Thanks to Rado in #awk on Freenode (2010-03-29 01:34) for the END tip to
+ # also work with empty stdin, and to prince_jammys in #awk on Freenode
+ # (2010-03-29 02:20) for a shorter syntax for "$0 !~".
+ which $1 2>&1 | awk '{ if (!/^\//) exit 1 }
+ END { if (NR == 0) exit 1 }'
+}
+
+# Print the current OS. The following OS are supported at the moment:
+# - Debian (debian)
+# - Gentoo (gentoo)
+# - Mac OS X (darwin)
+# - Solaris/OpenSolaris (sun)
+# If an unsupported OS is used an error is printed.
+os() {
+ if [ -f /etc/debian_version ]; then
+ echo debian
+ elif [ -f /etc/gentoo-release ]; then
+ echo gentoo
+ elif [ x`uname` = xDarwin ]; then
+ echo darwin
+ elif [ x`uname` = xSunOS ]; then
+ echo sun
+ else
+ echo unsupported OS! >&2
+ return 1
+ fi
+}