]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - config-scripts/cups-directories.m4
Support for GNU/kFreeBSD (STR #2367)
[thirdparty/cups.git] / config-scripts / cups-directories.m4
index dec850f6e3e136838b8547c1169230b283e2c797..1babc48a75ab820d8fa613268e3ed2c7115de432 100644 (file)
@@ -3,23 +3,14 @@ dnl "$Id$"
 dnl
 dnl   Directory stuff for the Common UNIX Printing System (CUPS).
 dnl
-dnl   Copyright 1997-2005 by Easy Software Products, all rights reserved.
+dnl   Copyright 2007 by Apple Inc.
+dnl   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
-dnl   property of Easy Software Products and are protected by Federal
-dnl   copyright law.  Distribution and use rights are outlined in the file
-dnl   "LICENSE.txt" which should have been included with this file.  If this
-dnl   file is missing or damaged please contact Easy Software Products
-dnl   at:
-dnl
-dnl       Attn: CUPS Licensing Information
-dnl       Easy Software Products
-dnl       44141 Airport View Drive, Suite 204
-dnl       Hollywood, Maryland 20636 USA
-dnl
-dnl       Voice: (301) 373-9600
-dnl       EMail: cups-info@cups.org
-dnl         WWW: http://www.cups.org
+dnl   property of Apple Inc. and are protected by Federal copyright
+dnl   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+dnl   which should have been included with this file.  If this file is
+dnl   file is missing or damaged, see the license at "http://www.cups.org/".
 dnl
 
 AC_PREFIX_DEFAULT(/)
@@ -38,11 +29,34 @@ if test "$exec_prefix" = "NONE"; then
        fi
 fi
 
+dnl Fix "bindir" variable...
+if test "$bindir" = "\${exec_prefix}/bin"; then
+       bindir="$exec_prefix/bin"
+fi
+
+AC_DEFINE_UNQUOTED(CUPS_BINDIR, "$bindir")
+
+dnl Fix "sbindir" variable...
+if test "$sbindir" = "\${exec_prefix}/sbin"; then
+       sbindir="$exec_prefix/sbin"
+fi
+
+AC_DEFINE_UNQUOTED(CUPS_SBINDIR, "$sbindir")
+
 dnl Fix "sharedstatedir" variable if it hasn't been specified...
 if test "$sharedstatedir" = "\${prefix}/com" -a "$prefix" = "/"; then
        sharedstatedir="/usr/com"
 fi
 
+dnl Fix "datarootdir" variable if it hasn't been specified...
+if test "$datarootdir" = "\${prefix}/share"; then
+       if test "$prefix" = "/"; then
+               datarootdir="/usr/share"
+       else
+               datarootdir="$prefix/share"
+       fi
+fi
+
 dnl Fix "datadir" variable if it hasn't been specified...
 if test "$datadir" = "\${prefix}/share"; then
        if test "$prefix" = "/"; then
@@ -50,6 +64,8 @@ if test "$datadir" = "\${prefix}/share"; then
        else
                datadir="$prefix/share"
        fi
+elif test "$datadir" = "\${datarootdir}"; then
+       datadir="$datarootdir"
 fi
 
 dnl Fix "includedir" variable if it hasn't been specified...
@@ -60,7 +76,11 @@ fi
 dnl Fix "localstatedir" variable if it hasn't been specified...
 if test "$localstatedir" = "\${prefix}/var"; then
        if test "$prefix" = "/"; then
-               localstatedir="/var"
+               if test "$uname" = Darwin; then
+                       localstatedir="/private/var"
+               else
+                       localstatedir="/var"
+               fi
        else
                localstatedir="$prefix/var"
        fi
@@ -69,7 +89,11 @@ fi
 dnl Fix "sysconfdir" variable if it hasn't been specified...
 if test "$sysconfdir" = "\${prefix}/etc"; then
        if test "$prefix" = "/"; then
-               sysconfdir="/etc"
+               if test "$uname" = Darwin; then
+                       sysconfdir="/private/etc"
+               else
+                       sysconfdir="/etc"
+               fi
        else
                sysconfdir="$prefix/etc"
        fi
@@ -77,85 +101,138 @@ fi
 
 dnl Fix "libdir" variable for IRIX 6.x...
 if test "$libdir" = "\${exec_prefix}/lib"; then
-       if test "$uname" = "IRIX" -a $uversion -ge 62; then
+       if test "$uname" = "IRIX"; then
                libdir="$exec_prefix/lib32"
        else
-               libdir="$exec_prefix/lib"
+               if test "$uname" = Linux -a -d /usr/lib64; then
+                       libdir="$exec_prefix/lib64"
+               else
+                       libdir="$exec_prefix/lib"
+               fi
        fi
 fi
 
 dnl Setup init.d locations...
 AC_ARG_WITH(rcdir, [  --with-rcdir            set path for rc scripts],rcdir="$withval",rcdir="")
+AC_ARG_WITH(rclevels, [  --with-rclevels         set run levels for rc scripts],rclevels="$withval",rclevels="2 3 5")
+AC_ARG_WITH(rcstart, [  --with-rcstart          set start number for rc scripts],rcstart="$withval",rcstart="99")
+AC_ARG_WITH(rcstop, [  --with-rcstop           set stop number for rc scripts],rcstop="$withval",rcstop="00")
+
+INITDIR=""
+INITDDIR=""
+RCLEVELS="$rclevels"
+RCSTART="$rcstart"
+RCSTOP="$rcstop"
 
 if test x$rcdir = x; then
        case "$uname" in
-               FreeBSD* | OpenBSD*)
+               AIX*)
+                       INITDIR="/etc/rc.d"
+                       ;;
+
+               Darwin*)
+                       # Darwin and MacOS X...
+                       if test -x /sbin/launchd; then
+                               INITDDIR="/System/Library/LaunchDaemons"
+                       else 
+                               INITDDIR="/System/Library/StartupItems/PrintingServices"
+                       fi
+                       ;;
+
+               FreeBSD* | OpenBSD* | MirBSD* | ekkoBSD*)
                        # FreeBSD and OpenBSD
-                       INITDIR=""
-                       INITDDIR=""
                        ;;
 
-               NetBSD*)
-                       # NetBSD
-                       INITDIR=""
-                       INITDDIR="/etc/rc.d"
+               HP-UX*)
+                       INITDIR="/sbin"
+                       RCLEVELS="2"
+                       RCSTART="620"
+                       RCSTOP="380"
                        ;;
 
-               Darwin*)
-                       # Darwin and MacOS X...
-                       INITDIR=""
-                       INITDDIR="/System/Library/StartupItems/PrintingServices"
+               IRIX*)
+                       # IRIX
+                       INITDIR="/etc"
+                       RCSTART="60"
+                       RCSTOP="25"
                        ;;
 
-               Linux | GNU)
+               Linux | GNU | GNU/k*BSD*)
                        # Linux/HURD seems to choose an init.d directory at random...
                        if test -d /sbin/init.d; then
                                # SuSE
                                INITDIR="/sbin/init.d"
-                               INITDDIR=".."
                        else
                                if test -d /etc/init.d; then
                                        # Others
                                        INITDIR="/etc"
-                                       INITDDIR="../init.d"
                                else
                                        # RedHat
                                        INITDIR="/etc/rc.d"
-                                       INITDDIR="../init.d"
                                fi
                        fi
+                       RCSTART="81"
+                       RCSTOP="36"
+                       ;;
+
+               NetBSD*)
+                       # NetBSD
+                       INITDDIR="/etc/rc.d"
                        ;;
 
-               OSF1* | HP-UX*)
+               OSF1*)
                        INITDIR="/sbin"
-                       INITDDIR="../init.d"
                        ;;
 
-               AIX*)
-                       INITDIR="/etc/rc.d"
-                       INITDDIR=".."
+               SunOS*)
+                       # Solaris
+                       INITDIR="/etc"
+                       RCSTART="81"
                        ;;
 
                *)
                        INITDIR="/etc"
-                       INITDDIR="../init.d"
                        ;;
 
        esac
 else
-       INITDIR=""
-       INITDDIR="$rcdir"
+       if test "x$rclevels" = x; then
+               INITDDIR="$rcdir"
+       else
+               INITDIR="$rcdir"
+       fi
 fi
 
 AC_SUBST(INITDIR)
 AC_SUBST(INITDDIR)
+AC_SUBST(RCLEVELS)
+AC_SUBST(RCSTART)
+AC_SUBST(RCSTOP)
+
+dnl Xinetd support...
+AC_ARG_WITH(xinetd, [  --with-xinetd           set path for xinetd config files],XINETD="$withval",XINETD="")
+
+if test "x$XINETD" = x -a ! -x /sbin/launchd; then
+       for dir in /private/etc/xinetd.d /etc/xinetd.d /usr/local/etc/xinetd.d; do
+               if test -d $dir; then
+                       XINETD="$dir"
+                       break
+               fi
+       done
+fi
+
+AC_SUBST(XINETD)
 
 dnl Setup default locations...
 # Cache data...
 AC_ARG_WITH(cachedir, [  --with-cachedir         set path for cache files],cachedir="$withval",cachedir="")
 
 if test x$cachedir = x; then
-       CUPS_CACHEDIR="$localstatedir/cache/cups"
+       if test "x$uname" = xDarwin; then
+               CUPS_CACHEDIR="$localstatedir/spool/cups/cache"
+       else
+               CUPS_CACHEDIR="$localstatedir/cache/cups"
+       fi
 else
        CUPS_CACHEDIR="$cachedir"
 fi
@@ -167,6 +244,28 @@ CUPS_DATADIR="$datadir/cups"
 AC_DEFINE_UNQUOTED(CUPS_DATADIR, "$datadir/cups")
 AC_SUBST(CUPS_DATADIR)
 
+# Icon directory
+AC_ARG_WITH(icondir, [  --with-icondir          set path for application icons],icondir="$withval",icondir="")
+
+if test "x$icondir" = x -a -d /usr/share/icons; then
+       ICONDIR="/usr/share/icons"
+else
+       ICONDIR="$icondir"
+fi
+
+AC_SUBST(ICONDIR)
+
+# Menu directory
+AC_ARG_WITH(menudir, [  --with-menudir          set path for application menus],menudir="$withval",menudir="")
+
+if test "x$menudir" = x -a -d /usr/share/applications; then
+       MENUDIR="/usr/share/applications"
+else
+       MENUDIR="$menudir"
+fi
+
+AC_SUBST(MENUDIR)
+
 # Documentation files
 AC_ARG_WITH(docdir, [  --with-docdir           set path for documentation],docdir="$withval",docdir="")
 
@@ -190,25 +289,29 @@ else
 fi
 
 AC_SUBST(CUPS_FONTPATH)
-AC_DEFINE_UNQUOTED(CUPS_FONTPATH, "$fontpath")
+AC_DEFINE_UNQUOTED(CUPS_FONTPATH, "$CUPS_FONTPATH")
 
 # Locale data
-case "$uname" in
-       Linux | GNU | *BSD* | Darwin*)
-               CUPS_LOCALEDIR="$datadir/locale"
-               ;;
+if test "$localedir" = "\${datarootdir}/locale"; then
+       case "$uname" in
+               Linux | GNU | *BSD* | Darwin*)
+                       CUPS_LOCALEDIR="$datarootdir/locale"
+                       ;;
 
-       OSF1* | AIX*)
-               CUPS_LOCALEDIR="$exec_prefix/lib/nls/msg"
-               ;;
+               OSF1* | AIX*)
+                       CUPS_LOCALEDIR="$exec_prefix/lib/nls/msg"
+                       ;;
 
-       *)
-               # This is the standard System V location...
-               CUPS_LOCALEDIR="$exec_prefix/lib/locale"
-               ;;
-esac
+               *)
+                       # This is the standard System V location...
+                       CUPS_LOCALEDIR="$exec_prefix/lib/locale"
+                       ;;
+       esac
+else
+       CUPS_LOCALEDIR="$localedir"
+fi
 
-AC_DEFINE_UNQUOTED(CUPS_LOCALEDIR, "$CUPS_LOCALDIR")
+AC_DEFINE_UNQUOTED(CUPS_LOCALEDIR, "$CUPS_LOCALEDIR")
 AC_SUBST(CUPS_LOCALEDIR)
 
 # Log files...
@@ -238,7 +341,7 @@ case "$uname" in
        *)
                # All others
                INSTALL_SYSV="install-sysv"
-               CUPS_SERVERBIN="$libdir/cups"
+               CUPS_SERVERBIN="$exec_prefix/lib/cups"
                ;;
 esac