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