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