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