dnl
-dnl "$Id: cups-defaults.m4 7959 2008-09-17 19:30:58Z mike $"
+dnl Default cupsd configuration settings for CUPS.
dnl
-dnl Default cupsd configuration settings for the Common UNIX Printing System
-dnl (CUPS).
+dnl Copyright © 2007-2018 by Apple Inc.
+dnl Copyright © 2006-2007 by Easy Software Products, all rights reserved.
dnl
-dnl Copyright 2007-2008 by Apple Inc.
-dnl Copyright 2006-2007 by Easy Software Products, all rights reserved.
-dnl
-dnl These coded instructions, statements, and computer programs are the
-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 Licensed under Apache License v2.0. See the file "LICENSE" for more
+dnl information.
dnl
dnl Default languages...
-LANGUAGES="`ls -1 locale/cups_*.po | sed -e '1,$s/locale\/cups_//' -e '1,$s/\.po//' | tr '\n' ' '`"
+LANGUAGES="`ls -1 locale/cups_*.po 2>/dev/null | sed -e '1,$s/locale\/cups_//' -e '1,$s/\.po//' | tr '\n' ' '`"
AC_ARG_WITH(languages, [ --with-languages set installed languages, default=all ],[
case "$withval" in
esac])
AC_SUBST(LANGUAGES)
+dnl macOS bundle-based localization support
+AC_ARG_WITH(bundledir, [ --with-bundledir set macOS localization bundle directory ],
+ CUPS_BUNDLEDIR="$withval",[
+ if test "x$host_os_name" = xdarwin -a $host_os_version -ge 100; then
+ CUPS_BUNDLEDIR="/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A"
+ LANGUAGES=""
+ else
+ CUPS_BUNDLEDIR=""
+ fi])
+
+AC_SUBST(CUPS_BUNDLEDIR)
+if test "x$CUPS_BUNDLEDIR" != x; then
+ AC_DEFINE_UNQUOTED(CUPS_BUNDLEDIR, "$CUPS_BUNDLEDIR")
+
+ if test $host_os_version -ge 190; then
+ CUPS_RESOURCEDIR="$CUPS_BUNDLEDIR/Resources/en.lproj"
+ else
+ CUPS_RESOURCEDIR="$CUPS_BUNDLEDIR/Resources/English.lproj"
+ fi
+else
+ CUPS_RESOURCEDIR=""
+fi
+AC_SUBST(CUPS_RESOURCEDIR)
+
+dnl Default executable file permissions
+AC_ARG_WITH(exe_file_perm, [ --with-exe-file-perm set default executable permissions value, default=0555],
+ CUPS_EXE_FILE_PERM="$withval",
+ [case "$host_os_name" in
+ linux* | gnu*)
+ CUPS_EXE_FILE_PERM="755"
+ ;;
+ *)
+ CUPS_EXE_FILE_PERM="555"
+ ;;
+ esac])
+AC_SUBST(CUPS_EXE_FILE_PERM)
+
dnl Default ConfigFilePerm
AC_ARG_WITH(config_file_perm, [ --with-config-file-perm set default ConfigFilePerm value, default=0640],
CUPS_CONFIG_FILE_PERM="$withval",
- CUPS_CONFIG_FILE_PERM="640")
+ [if test "x$host_os_name" = xdarwin; then
+ CUPS_CONFIG_FILE_PERM="644"
+ else
+ CUPS_CONFIG_FILE_PERM="640"
+ fi])
AC_SUBST(CUPS_CONFIG_FILE_PERM)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_CONFIG_FILE_PERM, 0$CUPS_CONFIG_FILE_PERM)
+dnl Default permissions for cupsd
+AC_ARG_WITH(cupsd_file_perm, [ --with-cupsd-file-perm set default cupsd permissions, default=0500],
+ CUPS_CUPSD_FILE_PERM="$withval",
+ [case "$host_os_name" in
+ linux* | gnu*)
+ CUPS_CUPSD_FILE_PERM="700"
+ ;;
+ *)
+ CUPS_CUPSD_FILE_PERM="500"
+ ;;
+ esac])
+AC_SUBST(CUPS_CUPSD_FILE_PERM)
+
dnl Default LogFilePerm
AC_ARG_WITH(log_file_perm, [ --with-log-file-perm set default LogFilePerm value, default=0644],
CUPS_LOG_FILE_PERM="$withval",
AC_SUBST(CUPS_FATAL_ERRORS)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_FATAL_ERRORS, "$CUPS_FATAL_ERRORS")
-
dnl Default LogLevel
AC_ARG_WITH(log_level, [ --with-log-level set default LogLevel value, default=warn],
CUPS_LOG_LEVEL="$withval",
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LOG_LEVEL, "$CUPS_LOG_LEVEL")
dnl Default AccessLogLevel
-AC_ARG_WITH(access_log_level, [ --with-access-log-level set default AccessLogLevel value, default=actions],
+AC_ARG_WITH(access_log_level, [ --with-access-log-level set default AccessLogLevel value, default=none],
CUPS_ACCESS_LOG_LEVEL="$withval",
- CUPS_ACCESS_LOG_LEVEL="actions")
+ CUPS_ACCESS_LOG_LEVEL="none")
AC_SUBST(CUPS_ACCESS_LOG_LEVEL)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_ACCESS_LOG_LEVEL, "$CUPS_ACCESS_LOG_LEVEL")
+dnl Default PageLogFormat
+AC_ARG_ENABLE(page_logging, [ --enable-page-logging enable page_log by default])
+if test "x$enable_page_logging" = xyes; then
+ CUPS_PAGE_LOG_FORMAT=""
+else
+ CUPS_PAGE_LOG_FORMAT="PageLogFormat"
+fi
+AC_SUBST(CUPS_PAGE_LOG_FORMAT)
+
dnl Default Browsing
-AC_ARG_ENABLE(browsing, [ --enable-browsing enable Browsing by default, default=yes])
+AC_ARG_ENABLE(browsing, [ --disable-browsing disable Browsing by default])
if test "x$enable_browsing" = xno; then
CUPS_BROWSING="No"
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSING, 0)
AC_SUBST(CUPS_BROWSING)
dnl Default BrowseLocalProtocols
-AC_ARG_WITH(local_protocols, [ --with-local-protocols set default BrowseLocalProtocols, default="CUPS"],
+AC_ARG_WITH(local_protocols, [ --with-local-protocols set default BrowseLocalProtocols, default=""],
default_local_protocols="$withval",
default_local_protocols="default")
if test x$with_local_protocols != xno; then
if test "x$default_local_protocols" = "xdefault"; then
- if test "x$DNSSDLIBS" != "x"; then
- CUPS_BROWSE_LOCAL_PROTOCOLS="CUPS dnssd"
- else
- CUPS_BROWSE_LOCAL_PROTOCOLS="CUPS"
+ if test "x$DNSSD_BACKEND" != "x"; then
+ CUPS_BROWSE_LOCAL_PROTOCOLS="dnssd"
+ else
+ CUPS_BROWSE_LOCAL_PROTOCOLS=""
fi
else
CUPS_BROWSE_LOCAL_PROTOCOLS="$default_local_protocols"
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS,
"$CUPS_BROWSE_LOCAL_PROTOCOLS")
-dnl Default BrowseRemoteProtocols
-AC_ARG_WITH(remote_protocols, [ --with-remote-protocols set default BrowseRemoteProtocols, default="CUPS"],
- default_remote_protocols="$withval",
- default_remote_protocols="default")
-
-if test x$with_remote_protocols != xno; then
- if test "x$default_remote_protocols" = "xdefault"; then
- if test "$uname" = "Darwin" -a $uversion -ge 90; then
- CUPS_BROWSE_REMOTE_PROTOCOLS=""
- else
- CUPS_BROWSE_REMOTE_PROTOCOLS="CUPS"
- fi
- else
- CUPS_BROWSE_REMOTE_PROTOCOLS="$default_remote_protocols"
- fi
-else
- CUPS_BROWSE_REMOTE_PROTOCOLS=""
-fi
-
-AC_SUBST(CUPS_BROWSE_REMOTE_PROTOCOLS)
-AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS,
- "$CUPS_BROWSE_REMOTE_PROTOCOLS")
-
-dnl Default BrowseShortNames
-AC_ARG_ENABLE(browse_short, [ --enable-browse-short-names
- enable BrowseShortNames by default, default=yes])
-if test "x$enable_browse_short" = xno; then
- CUPS_BROWSE_SHORT_NAMES="No"
- AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_SHORT_NAMES, 0)
-else
- CUPS_BROWSE_SHORT_NAMES="Yes"
- AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_SHORT_NAMES, 1)
-fi
-AC_SUBST(CUPS_BROWSE_SHORT_NAMES)
-
dnl Default DefaultShared
-AC_ARG_ENABLE(default_shared, [ --enable-default-shared enable DefaultShared by default, default=yes])
+AC_ARG_ENABLE(default_shared, [ --disable-default-shared
+ disable DefaultShared by default])
if test "x$enable_default_shared" = xno; then
CUPS_DEFAULT_SHARED="No"
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_DEFAULT_SHARED, 0)
fi
AC_SUBST(CUPS_DEFAULT_SHARED)
-dnl Default ImplicitClasses
-AC_ARG_ENABLE(implicit, [ --enable-implicit-classes
- enable ImplicitClasses by default, default=yes])
-if test "x$enable_implicit" = xno; then
- CUPS_IMPLICIT_CLASSES="No"
- AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IMPLICIT_CLASSES, 0)
-else
- CUPS_IMPLICIT_CLASSES="Yes"
- AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IMPLICIT_CLASSES, 1)
-fi
-AC_SUBST(CUPS_IMPLICIT_CLASSES)
-
-dnl Default UseNetworkDefault
-AC_ARG_ENABLE(use_network_default, [ --enable-use-network-default
- enable UseNetworkDefault by default, default=auto])
-if test "x$enable_use_network_default" != xno; then
- AC_MSG_CHECKING(whether to use network default printers)
- if test "x$enable_use_network_default" = xyes -o $uname != Darwin; then
- CUPS_USE_NETWORK_DEFAULT="Yes"
- AC_DEFINE_UNQUOTED(CUPS_DEFAULT_USE_NETWORK_DEFAULT, 1)
- AC_MSG_RESULT(yes)
- else
- CUPS_USE_NETWORK_DEFAULT="No"
- AC_DEFINE_UNQUOTED(CUPS_DEFAULT_USE_NETWORK_DEFAULT, 0)
- AC_MSG_RESULT(no)
- fi
-else
- CUPS_USE_NETWORK_DEFAULT="No"
- AC_DEFINE_UNQUOTED(CUPS_DEFAULT_USE_NETWORK_DEFAULT, 0)
-fi
-AC_SUBST(CUPS_USE_NETWORK_DEFAULT)
-
dnl Determine the correct username and group for this OS...
AC_ARG_WITH(cups_user, [ --with-cups-user set default user for CUPS],
CUPS_USER="$withval",
AC_MSG_CHECKING(for default print user)
- if test x$uname = xDarwin; then
+ if test x$host_os_name = xdarwin; then
if test x`id -u _lp 2>/dev/null` = x; then
CUPS_USER="lp";
else
AC_MSG_RESULT(no password file, using "$CUPS_USER")
fi)
+if test "x$CUPS_USER" = "xroot" -o "x$CUPS_USER" = "x0"; then
+ AC_MSG_ERROR([The default user for CUPS cannot be root!])
+fi
+
AC_ARG_WITH(cups_group, [ --with-cups-group set default group for CUPS],
CUPS_GROUP="$withval",
AC_MSG_CHECKING(for default print group)
- if test x$uname = xDarwin; then
+ if test x$host_os_name = xdarwin; then
if test x`id -g _lp 2>/dev/null` = x; then
CUPS_GROUP="lp";
else
AC_MSG_RESULT(no group file, using "$CUPS_GROUP")
fi)
+if test "x$CUPS_GROUP" = "xroot" -o "x$CUPS_GROUP" = "xwheel" -o "x$CUPS_GROUP" = "x0"; then
+ AC_MSG_ERROR([The default group for CUPS cannot be root!])
+fi
+
AC_ARG_WITH(system_groups, [ --with-system-groups set default system groups for CUPS],
CUPS_SYSTEM_GROUPS="$withval",
- if test x$uname = xDarwin; then
+ if test x$host_os_name = xdarwin; then
CUPS_SYSTEM_GROUPS="admin"
else
AC_MSG_CHECKING(for default system groups)
fi
fi)
-
CUPS_PRIMARY_SYSTEM_GROUP="`echo $CUPS_SYSTEM_GROUPS | awk '{print $1}'`"
+for group in $CUPS_SYSTEM_GROUPS; do
+ if test "x$CUPS_GROUP" = "x$group"; then
+ AC_MSG_ERROR([The default system groups cannot contain the default CUPS group!])
+ fi
+done
+
AC_SUBST(CUPS_USER)
AC_SUBST(CUPS_GROUP)
AC_SUBST(CUPS_SYSTEM_GROUPS)
if test x$default_printcap != xno; then
if test "x$default_printcap" = "xdefault"; then
- case $uname in
- Darwin*)
- if test $uversion -ge 90; then
+ case $host_os_name in
+ darwin*)
+ if test $host_os_version -ge 90; then
CUPS_DEFAULT_PRINTCAP="/Library/Preferences/org.cups.printers.plist"
else
CUPS_DEFAULT_PRINTCAP="/etc/printcap"
fi
;;
- SunOS*)
+ sunos*)
CUPS_DEFAULT_PRINTCAP="/etc/printers.conf"
;;
*)
if test x$default_lpdconfigfile != xno; then
if test "x$default_lpdconfigfile" = "xdefault"; then
- case $uname in
- Darwin*)
+ case $host_os_name in
+ darwin*)
CUPS_DEFAULT_LPD_CONFIG_FILE="launchd:///System/Library/LaunchDaemons/org.cups.cups-lpd.plist"
;;
*)
- if test -d /etc/xinetd.d; then
- CUPS_DEFAULT_LPD_CONFIG_FILE="xinetd:///etc/xinetd.d/cups-lpd"
+ if test "x$XINETD" != x; then
+ CUPS_DEFAULT_LPD_CONFIG_FILE="xinetd://$XINETD/cups-lpd"
else
CUPS_DEFAULT_LPD_CONFIG_FILE=""
fi
fi
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LPD_CONFIG_FILE, "$CUPS_DEFAULT_LPD_CONFIG_FILE")
+AC_SUBST(CUPS_DEFAULT_LPD_CONFIG_FILE)
dnl Default SMB config file...
AC_ARG_WITH(smbconfigfile, [ --with-smbconfigfile set default SMBConfigFile URI],
fi
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_SMB_CONFIG_FILE, "$CUPS_DEFAULT_SMB_CONFIG_FILE")
+AC_SUBST(CUPS_DEFAULT_SMB_CONFIG_FILE)
dnl Default MaxCopies value...
-AC_ARG_WITH(max-copies, [ --with-max-copies set default max copies value, default=auto ],
+AC_ARG_WITH(max-copies, [ --with-max-copies set default max copies value, default=9999 ],
CUPS_MAX_COPIES="$withval",
- if test "x$uname" = xDarwin; then
- CUPS_MAX_COPIES="9999"
- else
- CUPS_MAX_COPIES="100"
- fi)
+ CUPS_MAX_COPIES="9999")
AC_SUBST(CUPS_MAX_COPIES)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_MAX_COPIES, $CUPS_MAX_COPIES)
dnl Default raw printing state
-AC_ARG_ENABLE(raw_printing, [ --enable-raw-printing enable raw printing by default, default=auto])
+AC_ARG_ENABLE(raw_printing, [ --disable-raw-printing do not allow raw printing by default])
if test "x$enable_raw_printing" != xno; then
- AC_MSG_CHECKING(whether to enable raw printing)
- if test "x$enable_raw_printing" = xyes -o $uname = Darwin; then
- DEFAULT_RAW_PRINTING=""
- AC_MSG_RESULT(yes)
- else
- DEFAULT_RAW_PRINTING="#"
- AC_MSG_RESULT(no)
- fi
+ DEFAULT_RAW_PRINTING=""
else
DEFAULT_RAW_PRINTING="#"
fi
else
CUPS_SNMP_ADDRESS="Address $withval"
fi,
- if test "x$uname" = xDarwin; then
+ if test "x$host_os_name" = xdarwin; then
CUPS_SNMP_ADDRESS=""
else
CUPS_SNMP_ADDRESS="Address @LOCAL"
AC_SUBST(CUPS_SNMP_COMMUNITY)
dnl New default port definition for IPP...
-AC_ARG_WITH(ipp-port, [ --with-ipp-port set default port number for IPP ],
+AC_ARG_WITH(ipp-port, [ --with-ipp-port set port number for IPP, default=631 ],
DEFAULT_IPP_PORT="$withval",
DEFAULT_IPP_PORT="631")
AC_SUBST(DEFAULT_IPP_PORT)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT)
-dnl
-dnl End of "$Id: cups-defaults.m4 7959 2008-09-17 19:30:58Z mike $".
-dnl
+dnl Web interface...
+AC_ARG_ENABLE(webif, [ --enable-webif enable the web interface by default, default=no for macOS])
+case "x$enable_webif" in
+ xno)
+ CUPS_WEBIF=No
+ CUPS_DEFAULT_WEBIF=0
+ ;;
+ xyes)
+ CUPS_WEBIF=Yes
+ CUPS_DEFAULT_WEBIF=1
+ ;;
+ *)
+ if test $host_os_name = darwin; then
+ CUPS_WEBIF=No
+ CUPS_DEFAULT_WEBIF=0
+ else
+ CUPS_WEBIF=Yes
+ CUPS_DEFAULT_WEBIF=1
+ fi
+ ;;
+esac
+
+AC_SUBST(CUPS_WEBIF)
+AC_DEFINE_UNQUOTED(CUPS_DEFAULT_WEBIF, $CUPS_DEFAULT_WEBIF)