]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | dnl |
2e4ff8af | 2 | dnl "$Id: cups-common.m4 6964 2007-09-17 21:33:57Z mike $" |
ef416fc2 | 3 | dnl |
4 | dnl Common configuration stuff for the Common UNIX Printing System (CUPS). | |
5 | dnl | |
5bd77a73 | 6 | dnl Copyright 2007-2008 by Apple Inc. |
f7deaa1a | 7 | dnl Copyright 1997-2007 by Easy Software Products, all rights reserved. |
ef416fc2 | 8 | dnl |
9 | dnl These coded instructions, statements, and computer programs are the | |
bc44d920 | 10 | dnl property of Apple Inc. and are protected by Federal copyright |
11 | dnl law. Distribution and use rights are outlined in the file "LICENSE.txt" | |
12 | dnl which should have been included with this file. If this file is | |
13 | dnl file is missing or damaged, see the license at "http://www.cups.org/". | |
ef416fc2 | 14 | dnl |
15 | ||
c277e2f8 MS |
16 | dnl We need at least autoconf 2.60... |
17 | AC_PREREQ(2.60) | |
ef416fc2 | 18 | |
19 | dnl Set the name of the config header file... | |
20 | AC_CONFIG_HEADER(config.h) | |
21 | ||
ac884b6a | 22 | dnl Version number information... |
2e4ff8af | 23 | CUPS_VERSION="1.4svn" |
ecdc0628 | 24 | CUPS_REVISION="" |
2e4ff8af MS |
25 | if test -z "$CUPS_REVISION" -a -d .svn; then |
26 | CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`" | |
27 | fi | |
ecdc0628 | 28 | |
ef416fc2 | 29 | AC_SUBST(CUPS_VERSION) |
ecdc0628 | 30 | AC_SUBST(CUPS_REVISION) |
31 | AC_DEFINE_UNQUOTED(CUPS_SVERSION, "CUPS v$CUPS_VERSION$CUPS_REVISION") | |
32 | AC_DEFINE_UNQUOTED(CUPS_MINIMAL, "CUPS/$CUPS_VERSION$CUPS_REVISION") | |
ef416fc2 | 33 | |
34 | dnl Default compiler flags... | |
35 | CFLAGS="${CFLAGS:=}" | |
36 | CPPFLAGS="${CPPFLAGS:=}" | |
ac884b6a | 37 | CXXFLAGS="${CXXFLAGS:=}" |
ef416fc2 | 38 | LDFLAGS="${LDFLAGS:=}" |
39 | ||
40 | dnl Checks for programs... | |
41 | AC_PROG_AWK | |
42 | AC_PROG_CC | |
ef416fc2 | 43 | AC_PROG_CPP |
ac884b6a | 44 | AC_PROG_CXX |
ef416fc2 | 45 | AC_PROG_INSTALL |
46 | if test "$INSTALL" = "$ac_install_sh"; then | |
47 | # Use full path to install-sh script... | |
48 | INSTALL="`pwd`/install-sh -c" | |
49 | fi | |
50 | AC_PROG_RANLIB | |
51 | AC_PATH_PROG(AR,ar) | |
52 | AC_PATH_PROG(HTMLDOC,htmldoc) | |
bd7854cb | 53 | AC_PATH_PROG(LD,ld) |
ef416fc2 | 54 | AC_PATH_PROG(LN,ln) |
55 | AC_PATH_PROG(MV,mv) | |
56 | AC_PATH_PROG(RM,rm) | |
e1d6a774 | 57 | AC_PATH_PROG(RMDIR,rmdir) |
ef416fc2 | 58 | AC_PATH_PROG(SED,sed) |
59 | AC_PATH_PROG(STRIP,strip) | |
60 | ||
61 | if test "x$AR" = x; then | |
62 | AC_MSG_ERROR([Unable to find required library archive command.]) | |
63 | fi | |
64 | if test "x$CC" = x; then | |
65 | AC_MSG_ERROR([Unable to find required C compiler command.]) | |
66 | fi | |
ef416fc2 | 67 | |
923edb68 | 68 | dnl Static library option... |
69 | INSTALLSTATIC="" | |
d6ae789d | 70 | AC_ARG_ENABLE(static, [ --enable-static install static libraries, default=no]) |
923edb68 | 71 | |
d6ae789d | 72 | if test x$enable_static = xyes; then |
73 | echo Installing static libraries... | |
923edb68 | 74 | INSTALLSTATIC="installstatic" |
75 | fi | |
76 | ||
77 | AC_SUBST(INSTALLSTATIC) | |
ef416fc2 | 78 | |
79 | dnl Check for libraries... | |
80 | AC_SEARCH_LIBS(crypt, crypt) | |
81 | AC_SEARCH_LIBS(getspent, sec gen) | |
82 | ||
83 | LIBMALLOC="" | |
84 | AC_ARG_ENABLE(mallinfo, [ --enable-mallinfo turn on malloc debug information, default=no]) | |
85 | ||
86 | if test x$enable_mallinfo = xyes; then | |
87 | AC_CHECK_LIB(c,mallinfo,LIBS="$LIBS"; AC_DEFINE(HAVE_MALLINFO),LIBS="$LIBS") | |
88 | if test "$ac_cv_lib_c_mallinfo" = "no"; then | |
89 | AC_CHECK_LIB(malloc,mallinfo, | |
90 | LIBS="$LIBS" | |
91 | LIBMALLOC="-lmalloc" | |
92 | AC_DEFINE(HAVE_MALLINFO), | |
93 | LIBS="$LIBS") | |
94 | fi | |
95 | fi | |
96 | ||
97 | AC_SUBST(LIBMALLOC) | |
98 | ||
99 | dnl Check for libpaper support... | |
100 | AC_ARG_ENABLE(libpaper, [ --enable-libpaper turn on libpaper support, default=no]) | |
101 | ||
102 | if test x$enable_libpaper = xyes; then | |
103 | AC_CHECK_LIB(paper,systempapername, | |
104 | AC_DEFINE(HAVE_LIBPAPER) | |
105 | LIBPAPER="-lpaper", | |
106 | LIBPAPER="") | |
107 | else | |
108 | LIBPAPER="" | |
109 | fi | |
110 | AC_SUBST(LIBPAPER) | |
111 | ||
112 | dnl Checks for header files. | |
113 | AC_HEADER_STDC | |
114 | AC_CHECK_HEADER(crypt.h,AC_DEFINE(HAVE_CRYPT_H)) | |
115 | AC_CHECK_HEADER(langinfo.h,AC_DEFINE(HAVE_LANGINFO_H)) | |
116 | AC_CHECK_HEADER(malloc.h,AC_DEFINE(HAVE_MALLOC_H)) | |
117 | AC_CHECK_HEADER(shadow.h,AC_DEFINE(HAVE_SHADOW_H)) | |
118 | AC_CHECK_HEADER(string.h,AC_DEFINE(HAVE_STRING_H)) | |
119 | AC_CHECK_HEADER(strings.h,AC_DEFINE(HAVE_STRINGS_H)) | |
120 | AC_CHECK_HEADER(bstring.h,AC_DEFINE(HAVE_BSTRING_H)) | |
121 | AC_CHECK_HEADER(usersec.h,AC_DEFINE(HAVE_USERSEC_H)) | |
122 | AC_CHECK_HEADER(sys/ioctl.h,AC_DEFINE(HAVE_SYS_IOCTL_H)) | |
db1f069b | 123 | AC_CHECK_HEADER(sys/param.h,AC_DEFINE(HAVE_SYS_PARAM_H)) |
bc44d920 | 124 | AC_CHECK_HEADER(sys/ucred.h,AC_DEFINE(HAVE_SYS_UCRED_H)) |
2abf387c | 125 | AC_CHECK_HEADER(scsi/sg.h,AC_DEFINE(HAVE_SCSI_SG_H)) |
ef416fc2 | 126 | |
127 | dnl Checks for string functions. | |
128 | AC_CHECK_FUNCS(strdup strcasecmp strncasecmp strlcat strlcpy) | |
129 | if test "$uname" = "HP-UX" -a "$uversion" = "1020"; then | |
130 | echo Forcing snprintf emulation for HP-UX. | |
131 | else | |
132 | AC_CHECK_FUNCS(snprintf vsnprintf) | |
133 | fi | |
134 | ||
ac884b6a MS |
135 | dnl Check for random number functions... |
136 | AC_CHECK_FUNCS(random mrand48 lrand48) | |
137 | ||
ef416fc2 | 138 | dnl Checks for mkstemp and mkstemps functions. |
139 | AC_CHECK_FUNCS(mkstemp mkstemps) | |
140 | ||
141 | dnl Check for geteuid function. | |
142 | AC_CHECK_FUNCS(geteuid) | |
143 | ||
144 | dnl Check for vsyslog function. | |
145 | AC_CHECK_FUNCS(vsyslog) | |
146 | ||
147 | dnl Checks for signal functions. | |
148 | case "$uname" in | |
149 | Linux | GNU) | |
150 | # Do not use sigset on Linux or GNU HURD | |
151 | ;; | |
152 | *) | |
153 | # Use sigset on other platforms, if available | |
154 | AC_CHECK_FUNCS(sigset) | |
155 | ;; | |
156 | esac | |
157 | ||
158 | AC_CHECK_FUNCS(sigaction) | |
159 | ||
160 | dnl Checks for wait functions. | |
cc0d019f | 161 | AC_CHECK_FUNCS(waitpid wait3) |
ef416fc2 | 162 | |
163 | dnl See if the tm structure has the tm_gmtoff member... | |
164 | AC_MSG_CHECKING(for tm_gmtoff member in tm structure) | |
165 | AC_TRY_COMPILE([#include <time.h>],[struct tm t; | |
166 | int o = t.tm_gmtoff;], | |
167 | AC_MSG_RESULT(yes) | |
168 | AC_DEFINE(HAVE_TM_GMTOFF), | |
169 | AC_MSG_RESULT(no)) | |
170 | ||
cc0d019f MS |
171 | dnl See if we have the removefile(3) function for securely removing files |
172 | AC_CHECK_FUNCS(removefile) | |
173 | ||
ef416fc2 | 174 | dnl Flags for "ar" command... |
175 | case $uname in | |
176 | Darwin* | *BSD*) | |
177 | ARFLAGS="-rcv" | |
178 | ;; | |
179 | *) | |
180 | ARFLAGS="crvs" | |
181 | ;; | |
182 | esac | |
183 | ||
184 | AC_SUBST(ARFLAGS) | |
185 | ||
ac884b6a | 186 | dnl Prep libraries specifically for cupsd and backends... |
bd7854cb | 187 | BACKLIBS="" |
188 | CUPSDLIBS="" | |
ac884b6a MS |
189 | AC_SUBST(BACKLIBS) |
190 | AC_SUBST(CUPSDLIBS) | |
191 | ||
192 | dnl See if we have POSIX ACL support... | |
193 | SAVELIBS="$LIBS" | |
194 | LIBS="" | |
195 | AC_SEARCH_LIBS(acl_init, acl, AC_DEFINE(HAVE_ACL_INIT)) | |
196 | CUPSDLIBS="$CUPSDLIBS $LIBS" | |
197 | LIBS="$SAVELIBS" | |
198 | ||
199 | dnl Check for DBUS support | |
200 | if test -d /etc/dbus-1; then | |
201 | DBUSDIR="/etc/dbus-1" | |
202 | else | |
203 | DBUSDIR="" | |
204 | fi | |
bd7854cb | 205 | |
ecdc0628 | 206 | AC_ARG_ENABLE(dbus, [ --enable-dbus enable DBUS support, default=auto]) |
ac884b6a MS |
207 | AC_ARG_WITH(dbusdir, [ --with-dbusdir set DBUS configuration directory ], |
208 | DBUSDIR="$withval") | |
209 | ||
210 | if test "x$enable_dbus" != xno; then | |
211 | AC_PATH_PROG(PKGCONFIG, pkg-config) | |
212 | if test "x$PKGCONFIG" != x; then | |
213 | AC_MSG_CHECKING(for DBUS) | |
214 | if $PKGCONFIG --exists dbus-1; then | |
215 | AC_MSG_RESULT(yes) | |
216 | AC_DEFINE(HAVE_DBUS) | |
217 | CFLAGS="$CFLAGS `$PKGCONFIG --cflags dbus-1` -DDBUS_API_SUBJECT_TO_CHANGE" | |
218 | CUPSDLIBS="$CUPSDLIBS `$PKGCONFIG --libs dbus-1`" | |
219 | AC_CHECK_LIB(dbus-1, | |
220 | dbus_message_iter_init_append, | |
221 | AC_DEFINE(HAVE_DBUS_MESSAGE_ITER_INIT_APPEND)) | |
222 | else | |
223 | AC_MSG_RESULT(no) | |
224 | fi | |
225 | fi | |
226 | fi | |
ecdc0628 | 227 | |
ac884b6a MS |
228 | AC_SUBST(DBUSDIR) |
229 | ||
230 | dnl Extra platform-specific libraries... | |
231 | CUPS_DEFAULT_PRINTADMIN_AUTH="@SYSTEM" | |
232 | CUPS_SYSTEM_AUTHKEY="" | |
09a101d6 | 233 | FONTS="fonts" |
09a101d6 | 234 | LEGACY_BACKENDS="parallel scsi" |
09a101d6 | 235 | |
ef416fc2 | 236 | case $uname in |
237 | Darwin*) | |
09a101d6 | 238 | FONTS="" |
239 | LEGACY_BACKENDS="" | |
ac884b6a MS |
240 | BACKLIBS="$BACKLIBS -framework IOKit" |
241 | CUPSDLIBS="$CUPSDLIBS -sectorder __TEXT __text cupsd.order -e start -framework IOKit -framework SystemConfiguration" | |
080811b1 | 242 | LIBS="-framework SystemConfiguration -framework CoreFoundation $LIBS" |
fa73b229 | 243 | |
244 | dnl Check for framework headers... | |
245 | AC_CHECK_HEADER(CoreFoundation/CoreFoundation.h,AC_DEFINE(HAVE_COREFOUNDATION_H)) | |
246 | AC_CHECK_HEADER(CoreFoundation/CFPriv.h,AC_DEFINE(HAVE_CFPRIV_H)) | |
247 | AC_CHECK_HEADER(CoreFoundation/CFBundlePriv.h,AC_DEFINE(HAVE_CFBUNDLEPRIV_H)) | |
248 | ||
7594b224 | 249 | dnl Check for the new membership functions in MacOSX 10.4... |
fa73b229 | 250 | AC_CHECK_HEADER(membership.h,AC_DEFINE(HAVE_MEMBERSHIP_H)) |
7594b224 | 251 | AC_CHECK_HEADER(membershipPriv.h,AC_DEFINE(HAVE_MEMBERSHIPPRIV_H)) |
fa73b229 | 252 | AC_CHECK_FUNCS(mbr_uid_to_uuid) |
253 | ||
7594b224 | 254 | dnl Need <dlfcn.h> header... |
255 | AC_CHECK_HEADER(dlfcn.h,AC_DEFINE(HAVE_DLFCN_H)) | |
256 | ||
fa73b229 | 257 | dnl Check for notify_post support |
258 | AC_CHECK_HEADER(notify.h,AC_DEFINE(HAVE_NOTIFY_H)) | |
259 | AC_CHECK_FUNCS(notify_post) | |
f7deaa1a | 260 | |
261 | dnl Check for Authorization Services support | |
262 | AC_CHECK_HEADER(Security/Authorization.h, [ | |
263 | AC_DEFINE(HAVE_AUTHORIZATION_H) | |
355e94dc MS |
264 | CUPS_DEFAULT_PRINTADMIN_AUTH="@AUTHKEY(system.print.admin) @admin @lpadmin" |
265 | CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey system.preferences"]) | |
f7deaa1a | 266 | AC_CHECK_HEADER(Security/SecBasePriv.h,AC_DEFINE(HAVE_SECBASEPRIV_H)) |
a4924f6c MS |
267 | |
268 | dnl Check for sandbox/Seatbelt support | |
269 | AC_CHECK_HEADER(sandbox.h,AC_DEFINE(HAVE_SANDBOX_H)) | |
ef416fc2 | 270 | ;; |
ef416fc2 | 271 | esac |
272 | ||
355e94dc MS |
273 | AC_SUBST(CUPS_DEFAULT_PRINTADMIN_AUTH) |
274 | AC_DEFINE_UNQUOTED(CUPS_DEFAULT_PRINTADMIN_AUTH, "$CUPS_DEFAULT_PRINTADMIN_AUTH") | |
f7deaa1a | 275 | AC_SUBST(CUPS_SYSTEM_AUTHKEY) |
ac884b6a MS |
276 | AC_SUBST(FONTS) |
277 | AC_SUBST(LEGACY_BACKENDS) | |
ef416fc2 | 278 | |
279 | dnl | |
2e4ff8af | 280 | dnl End of "$Id: cups-common.m4 6964 2007-09-17 21:33:57Z mike $". |
ef416fc2 | 281 | dnl |