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