]> git.ipfire.org Git - thirdparty/cups.git/blob - config-scripts/cups-defaults.m4
License change: Apache License, Version 2.0.
[thirdparty/cups.git] / config-scripts / cups-defaults.m4
1 dnl
2 dnl Default cupsd configuration settings for CUPS.
3 dnl
4 dnl Copyright 2007-2017 by Apple Inc.
5 dnl Copyright 2006-2007 by Easy Software Products, all rights reserved.
6 dnl
7 dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
8 dnl
9
10 dnl Default languages...
11 LANGUAGES="`ls -1 locale/cups_*.po 2>/dev/null | sed -e '1,$s/locale\/cups_//' -e '1,$s/\.po//' | tr '\n' ' '`"
12
13 AC_ARG_WITH(languages, [ --with-languages set installed languages, default=all ],[
14 case "$withval" in
15 none | no) LANGUAGES="" ;;
16 all) ;;
17 *) LANGUAGES="$withval" ;;
18 esac])
19 AC_SUBST(LANGUAGES)
20
21 dnl macOS bundle-based localization support
22 AC_ARG_WITH(bundledir, [ --with-bundledir set macOS localization bundle directory ],
23 CUPS_BUNDLEDIR="$withval",
24 if test "x$host_os_name" = xdarwin -a $host_os_version -ge 100; then
25 CUPS_BUNDLEDIR="/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A"
26 LANGUAGES=""
27 else
28 CUPS_BUNDLEDIR=""
29 fi)
30
31 AC_SUBST(CUPS_BUNDLEDIR)
32 if test "x$CUPS_BUNDLEDIR" != x; then
33 AC_DEFINE_UNQUOTED(CUPS_BUNDLEDIR, "$CUPS_BUNDLEDIR")
34 fi
35
36 dnl Default executable file permissions
37 AC_ARG_WITH(exe_file_perm, [ --with-exe-file-perm set default executable permissions value, default=0555],
38 CUPS_EXE_FILE_PERM="$withval",
39 [case "$host_os_name" in
40 linux* | gnu*)
41 CUPS_EXE_FILE_PERM="755"
42 ;;
43 *)
44 CUPS_EXE_FILE_PERM="555"
45 ;;
46 esac])
47 AC_SUBST(CUPS_EXE_FILE_PERM)
48
49 dnl Default ConfigFilePerm
50 AC_ARG_WITH(config_file_perm, [ --with-config-file-perm set default ConfigFilePerm value, default=0640],
51 CUPS_CONFIG_FILE_PERM="$withval",
52 [if test "x$host_os_name" = xdarwin; then
53 CUPS_CONFIG_FILE_PERM="644"
54 else
55 CUPS_CONFIG_FILE_PERM="640"
56 fi])
57 AC_SUBST(CUPS_CONFIG_FILE_PERM)
58 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_CONFIG_FILE_PERM, 0$CUPS_CONFIG_FILE_PERM)
59
60 dnl Default permissions for cupsd
61 AC_ARG_WITH(cupsd_file_perm, [ --with-cupsd-file-perm set default cupsd permissions, default=0500],
62 CUPS_CUPSD_FILE_PERM="$withval",
63 [case "$host_os_name" in
64 linux* | gnu*)
65 CUPS_CUPSD_FILE_PERM="700"
66 ;;
67 *)
68 CUPS_CUPSD_FILE_PERM="500"
69 ;;
70 esac])
71 AC_SUBST(CUPS_CUPSD_FILE_PERM)
72
73 dnl Default LogFilePerm
74 AC_ARG_WITH(log_file_perm, [ --with-log-file-perm set default LogFilePerm value, default=0644],
75 CUPS_LOG_FILE_PERM="$withval",
76 CUPS_LOG_FILE_PERM="644")
77 AC_SUBST(CUPS_LOG_FILE_PERM)
78 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LOG_FILE_PERM, 0$CUPS_LOG_FILE_PERM)
79
80 dnl Default FatalErrors
81 AC_ARG_WITH(fatal_errors, [ --with-fatal-errors set default FatalErrors value, default=config],
82 CUPS_FATAL_ERRORS="$withval",
83 CUPS_FATAL_ERRORS="config")
84 AC_SUBST(CUPS_FATAL_ERRORS)
85 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_FATAL_ERRORS, "$CUPS_FATAL_ERRORS")
86
87 dnl Default LogLevel
88 AC_ARG_WITH(log_level, [ --with-log-level set default LogLevel value, default=warn],
89 CUPS_LOG_LEVEL="$withval",
90 CUPS_LOG_LEVEL="warn")
91 AC_SUBST(CUPS_LOG_LEVEL)
92 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LOG_LEVEL, "$CUPS_LOG_LEVEL")
93
94 dnl Default AccessLogLevel
95 AC_ARG_WITH(access_log_level, [ --with-access-log-level set default AccessLogLevel value, default=none],
96 CUPS_ACCESS_LOG_LEVEL="$withval",
97 CUPS_ACCESS_LOG_LEVEL="none")
98 AC_SUBST(CUPS_ACCESS_LOG_LEVEL)
99 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_ACCESS_LOG_LEVEL, "$CUPS_ACCESS_LOG_LEVEL")
100
101 dnl Default PageLogFormat
102 AC_ARG_ENABLE(page_logging, [ --enable-page-logging enable page_log by default])
103 if test "x$enable_page_logging" = xyes; then
104 CUPS_PAGE_LOG_FORMAT=""
105 else
106 CUPS_PAGE_LOG_FORMAT="PageLogFormat"
107 fi
108 AC_SUBST(CUPS_PAGE_LOG_FORMAT)
109
110 dnl Default Browsing
111 AC_ARG_ENABLE(browsing, [ --disable-browsing disable Browsing by default])
112 if test "x$enable_browsing" = xno; then
113 CUPS_BROWSING="No"
114 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSING, 0)
115 else
116 CUPS_BROWSING="Yes"
117 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSING, 1)
118 fi
119 AC_SUBST(CUPS_BROWSING)
120
121 dnl Default BrowseLocalProtocols
122 AC_ARG_WITH(local_protocols, [ --with-local-protocols set default BrowseLocalProtocols, default=""],
123 default_local_protocols="$withval",
124 default_local_protocols="default")
125
126 if test x$with_local_protocols != xno; then
127 if test "x$default_local_protocols" = "xdefault"; then
128 if test "x$DNSSD_BACKEND" != "x"; then
129 CUPS_BROWSE_LOCAL_PROTOCOLS="dnssd"
130 else
131 CUPS_BROWSE_LOCAL_PROTOCOLS=""
132 fi
133 else
134 CUPS_BROWSE_LOCAL_PROTOCOLS="$default_local_protocols"
135 fi
136 else
137 CUPS_BROWSE_LOCAL_PROTOCOLS=""
138 fi
139
140 AC_SUBST(CUPS_BROWSE_LOCAL_PROTOCOLS)
141 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS,
142 "$CUPS_BROWSE_LOCAL_PROTOCOLS")
143
144 dnl Default DefaultShared
145 AC_ARG_ENABLE(default_shared, [ --disable-default-shared
146 disable DefaultShared by default])
147 if test "x$enable_default_shared" = xno; then
148 CUPS_DEFAULT_SHARED="No"
149 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_DEFAULT_SHARED, 0)
150 else
151 CUPS_DEFAULT_SHARED="Yes"
152 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_DEFAULT_SHARED, 1)
153 fi
154 AC_SUBST(CUPS_DEFAULT_SHARED)
155
156 dnl Determine the correct username and group for this OS...
157 AC_ARG_WITH(cups_user, [ --with-cups-user set default user for CUPS],
158 CUPS_USER="$withval",
159 AC_MSG_CHECKING(for default print user)
160 if test x$host_os_name = xdarwin; then
161 if test x`id -u _lp 2>/dev/null` = x; then
162 CUPS_USER="lp";
163 else
164 CUPS_USER="_lp";
165 fi
166 AC_MSG_RESULT($CUPS_USER)
167 elif test -f /etc/passwd; then
168 CUPS_USER=""
169 for user in lp lpd guest daemon nobody; do
170 if test "`grep \^${user}: /etc/passwd`" != ""; then
171 CUPS_USER="$user"
172 AC_MSG_RESULT($user)
173 break;
174 fi
175 done
176
177 if test x$CUPS_USER = x; then
178 CUPS_USER="nobody"
179 AC_MSG_RESULT(not found, using "$CUPS_USER")
180 fi
181 else
182 CUPS_USER="nobody"
183 AC_MSG_RESULT(no password file, using "$CUPS_USER")
184 fi)
185
186 if test "x$CUPS_USER" = "xroot" -o "x$CUPS_USER" = "x0"; then
187 AC_MSG_ERROR([The default user for CUPS cannot be root!])
188 fi
189
190 AC_ARG_WITH(cups_group, [ --with-cups-group set default group for CUPS],
191 CUPS_GROUP="$withval",
192 AC_MSG_CHECKING(for default print group)
193 if test x$host_os_name = xdarwin; then
194 if test x`id -g _lp 2>/dev/null` = x; then
195 CUPS_GROUP="lp";
196 else
197 CUPS_GROUP="_lp";
198 fi
199 AC_MSG_RESULT($CUPS_GROUP)
200 elif test -f /etc/group; then
201 GROUP_LIST="_lp lp nobody"
202 CUPS_GROUP=""
203 for group in $GROUP_LIST; do
204 if test "`grep \^${group}: /etc/group`" != ""; then
205 CUPS_GROUP="$group"
206 AC_MSG_RESULT($group)
207 break;
208 fi
209 done
210
211 if test x$CUPS_GROUP = x; then
212 CUPS_GROUP="nobody"
213 AC_MSG_RESULT(not found, using "$CUPS_GROUP")
214 fi
215 else
216 CUPS_GROUP="nobody"
217 AC_MSG_RESULT(no group file, using "$CUPS_GROUP")
218 fi)
219
220 if test "x$CUPS_GROUP" = "xroot" -o "x$CUPS_GROUP" = "xwheel" -o "x$CUPS_GROUP" = "x0"; then
221 AC_MSG_ERROR([The default group for CUPS cannot be root!])
222 fi
223
224 AC_ARG_WITH(system_groups, [ --with-system-groups set default system groups for CUPS],
225 CUPS_SYSTEM_GROUPS="$withval",
226 if test x$host_os_name = xdarwin; then
227 CUPS_SYSTEM_GROUPS="admin"
228 else
229 AC_MSG_CHECKING(for default system groups)
230 if test -f /etc/group; then
231 CUPS_SYSTEM_GROUPS=""
232 GROUP_LIST="lpadmin sys system root"
233 for group in $GROUP_LIST; do
234 if test "`grep \^${group}: /etc/group`" != ""; then
235 if test "x$CUPS_SYSTEM_GROUPS" = x; then
236 CUPS_SYSTEM_GROUPS="$group"
237 else
238 CUPS_SYSTEM_GROUPS="$CUPS_SYSTEM_GROUPS $group"
239 fi
240 fi
241 done
242
243 if test "x$CUPS_SYSTEM_GROUPS" = x; then
244 CUPS_SYSTEM_GROUPS="$GROUP_LIST"
245 AC_MSG_RESULT(no groups found, using "$CUPS_SYSTEM_GROUPS")
246 else
247 AC_MSG_RESULT("$CUPS_SYSTEM_GROUPS")
248 fi
249 else
250 CUPS_SYSTEM_GROUPS="$GROUP_LIST"
251 AC_MSG_RESULT(no group file, using "$CUPS_SYSTEM_GROUPS")
252 fi
253 fi)
254
255 CUPS_PRIMARY_SYSTEM_GROUP="`echo $CUPS_SYSTEM_GROUPS | awk '{print $1}'`"
256
257 for group in $CUPS_SYSTEM_GROUPS; do
258 if test "x$CUPS_GROUP" = "x$group"; then
259 AC_MSG_ERROR([The default system groups cannot contain the default CUPS group!])
260 fi
261 done
262
263 AC_SUBST(CUPS_USER)
264 AC_SUBST(CUPS_GROUP)
265 AC_SUBST(CUPS_SYSTEM_GROUPS)
266 AC_SUBST(CUPS_PRIMARY_SYSTEM_GROUP)
267
268 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_USER, "$CUPS_USER")
269 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_GROUP, "$CUPS_GROUP")
270 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_SYSTEM_GROUPS, "$CUPS_SYSTEM_GROUPS")
271
272 dnl Default printcap file...
273 AC_ARG_WITH(printcap, [ --with-printcap set default printcap file],
274 default_printcap="$withval",
275 default_printcap="default")
276
277 if test x$default_printcap != xno; then
278 if test "x$default_printcap" = "xdefault"; then
279 case $host_os_name in
280 darwin*)
281 if test $host_os_version -ge 90; then
282 CUPS_DEFAULT_PRINTCAP="/Library/Preferences/org.cups.printers.plist"
283 else
284 CUPS_DEFAULT_PRINTCAP="/etc/printcap"
285 fi
286 ;;
287 sunos*)
288 CUPS_DEFAULT_PRINTCAP="/etc/printers.conf"
289 ;;
290 *)
291 CUPS_DEFAULT_PRINTCAP="/etc/printcap"
292 ;;
293 esac
294 else
295 CUPS_DEFAULT_PRINTCAP="$default_printcap"
296 fi
297 else
298 CUPS_DEFAULT_PRINTCAP=""
299 fi
300
301 AC_SUBST(CUPS_DEFAULT_PRINTCAP)
302 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_PRINTCAP, "$CUPS_DEFAULT_PRINTCAP")
303
304 dnl Default LPD config file...
305 AC_ARG_WITH(lpdconfigfile, [ --with-lpdconfigfile set default LPDConfigFile URI],
306 default_lpdconfigfile="$withval",
307 default_lpdconfigfile="default")
308
309 if test x$default_lpdconfigfile != xno; then
310 if test "x$default_lpdconfigfile" = "xdefault"; then
311 case $host_os_name in
312 darwin*)
313 CUPS_DEFAULT_LPD_CONFIG_FILE="launchd:///System/Library/LaunchDaemons/org.cups.cups-lpd.plist"
314 ;;
315 *)
316 if test "x$XINETD" != x; then
317 CUPS_DEFAULT_LPD_CONFIG_FILE="xinetd://$XINETD/cups-lpd"
318 else
319 CUPS_DEFAULT_LPD_CONFIG_FILE=""
320 fi
321 ;;
322 esac
323 else
324 CUPS_DEFAULT_LPD_CONFIG_FILE="$default_lpdconfigfile"
325 fi
326 else
327 CUPS_DEFAULT_LPD_CONFIG_FILE=""
328 fi
329
330 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LPD_CONFIG_FILE, "$CUPS_DEFAULT_LPD_CONFIG_FILE")
331 AC_SUBST(CUPS_DEFAULT_LPD_CONFIG_FILE)
332
333 dnl Default SMB config file...
334 AC_ARG_WITH(smbconfigfile, [ --with-smbconfigfile set default SMBConfigFile URI],
335 default_smbconfigfile="$withval",
336 default_smbconfigfile="default")
337
338 if test x$default_smbconfigfile != xno; then
339 if test "x$default_smbconfigfile" = "xdefault"; then
340 if test -f /etc/smb.conf; then
341 CUPS_DEFAULT_SMB_CONFIG_FILE="samba:///etc/smb.conf"
342 else
343 CUPS_DEFAULT_SMB_CONFIG_FILE=""
344 fi
345 else
346 CUPS_DEFAULT_SMB_CONFIG_FILE="$default_smbconfigfile"
347 fi
348 else
349 CUPS_DEFAULT_SMB_CONFIG_FILE=""
350 fi
351
352 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_SMB_CONFIG_FILE, "$CUPS_DEFAULT_SMB_CONFIG_FILE")
353 AC_SUBST(CUPS_DEFAULT_SMB_CONFIG_FILE)
354
355 dnl Default MaxCopies value...
356 AC_ARG_WITH(max-copies, [ --with-max-copies set default max copies value, default=9999 ],
357 CUPS_MAX_COPIES="$withval",
358 CUPS_MAX_COPIES="9999")
359
360 AC_SUBST(CUPS_MAX_COPIES)
361 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_MAX_COPIES, $CUPS_MAX_COPIES)
362
363 dnl Default raw printing state
364 AC_ARG_ENABLE(raw_printing, [ --disable-raw-printing do not allow raw printing by default])
365 if test "x$enable_raw_printing" != xno; then
366 DEFAULT_RAW_PRINTING=""
367 else
368 DEFAULT_RAW_PRINTING="#"
369 fi
370 AC_SUBST(DEFAULT_RAW_PRINTING)
371
372 dnl Default SNMP options...
373 AC_ARG_WITH(snmp-address, [ --with-snmp-address set SNMP query address, default=auto ],
374 if test "x$withval" = x; then
375 CUPS_SNMP_ADDRESS=""
376 else
377 CUPS_SNMP_ADDRESS="Address $withval"
378 fi,
379 if test "x$host_os_name" = xdarwin; then
380 CUPS_SNMP_ADDRESS=""
381 else
382 CUPS_SNMP_ADDRESS="Address @LOCAL"
383 fi)
384
385 AC_ARG_WITH(snmp-community, [ --with-snmp-community set SNMP community, default=public ],
386 CUPS_SNMP_COMMUNITY="Community $withval",
387 CUPS_SNMP_COMMUNITY="Community public")
388
389 AC_SUBST(CUPS_SNMP_ADDRESS)
390 AC_SUBST(CUPS_SNMP_COMMUNITY)
391
392 dnl New default port definition for IPP...
393 AC_ARG_WITH(ipp-port, [ --with-ipp-port set port number for IPP, default=631 ],
394 DEFAULT_IPP_PORT="$withval",
395 DEFAULT_IPP_PORT="631")
396
397 AC_SUBST(DEFAULT_IPP_PORT)
398 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT)
399
400 dnl Web interface...
401 AC_ARG_ENABLE(webif, [ --enable-webif enable the web interface by default, default=no for macOS])
402 case "x$enable_webif" in
403 xno)
404 CUPS_WEBIF=No
405 CUPS_DEFAULT_WEBIF=0
406 ;;
407 xyes)
408 CUPS_WEBIF=Yes
409 CUPS_DEFAULT_WEBIF=1
410 ;;
411 *)
412 if test $host_os_name = darwin; then
413 CUPS_WEBIF=No
414 CUPS_DEFAULT_WEBIF=0
415 else
416 CUPS_WEBIF=Yes
417 CUPS_DEFAULT_WEBIF=1
418 fi
419 ;;
420 esac
421
422 AC_SUBST(CUPS_WEBIF)
423 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_WEBIF, $CUPS_DEFAULT_WEBIF)