]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | dnl |
355e94dc | 2 | dnl "$Id: cups-common.m4 6720 2007-07-25 00:40:03Z mike $" |
ef416fc2 | 3 | dnl |
4 | dnl Common configuration stuff for the Common UNIX Printing System (CUPS). | |
5 | dnl | |
bc44d920 | 6 | dnl Copyright 2007 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 | ||
16 | dnl We need at least autoconf 2.50... | |
17 | AC_PREREQ(2.50) | |
18 | ||
19 | dnl Set the name of the config header file... | |
20 | AC_CONFIG_HEADER(config.h) | |
21 | ||
f7deaa1a | 22 | dnl Versio number information... |
355e94dc | 23 | CUPS_VERSION="1.3rc1" |
ecdc0628 | 24 | CUPS_REVISION="" |
bc44d920 | 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:=}" | |
37 | CXXFLAGS="${CXXFLAGS:=}" | |
38 | LDFLAGS="${LDFLAGS:=}" | |
39 | ||
40 | dnl Checks for programs... | |
41 | AC_PROG_AWK | |
42 | AC_PROG_CC | |
43 | AC_PROG_CXX | |
44 | AC_PROG_CPP | |
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 | |
67 | if test "x$CXX" = x; then | |
68 | AC_MSG_ERROR([Unable to find required C++ compiler command.]) | |
69 | fi | |
70 | ||
923edb68 | 71 | dnl Static library option... |
72 | INSTALLSTATIC="" | |
d6ae789d | 73 | AC_ARG_ENABLE(static, [ --enable-static install static libraries, default=no]) |
923edb68 | 74 | |
d6ae789d | 75 | if test x$enable_static = xyes; then |
76 | echo Installing static libraries... | |
923edb68 | 77 | INSTALLSTATIC="installstatic" |
78 | fi | |
79 | ||
80 | AC_SUBST(INSTALLSTATIC) | |
ef416fc2 | 81 | |
82 | dnl Check for libraries... | |
83 | AC_SEARCH_LIBS(crypt, crypt) | |
84 | AC_SEARCH_LIBS(getspent, sec gen) | |
85 | ||
86 | LIBMALLOC="" | |
87 | AC_ARG_ENABLE(mallinfo, [ --enable-mallinfo turn on malloc debug information, default=no]) | |
88 | ||
89 | if test x$enable_mallinfo = xyes; then | |
90 | AC_CHECK_LIB(c,mallinfo,LIBS="$LIBS"; AC_DEFINE(HAVE_MALLINFO),LIBS="$LIBS") | |
91 | if test "$ac_cv_lib_c_mallinfo" = "no"; then | |
92 | AC_CHECK_LIB(malloc,mallinfo, | |
93 | LIBS="$LIBS" | |
94 | LIBMALLOC="-lmalloc" | |
95 | AC_DEFINE(HAVE_MALLINFO), | |
96 | LIBS="$LIBS") | |
97 | fi | |
98 | fi | |
99 | ||
100 | AC_SUBST(LIBMALLOC) | |
101 | ||
102 | dnl Check for libpaper support... | |
103 | AC_ARG_ENABLE(libpaper, [ --enable-libpaper turn on libpaper support, default=no]) | |
104 | ||
105 | if test x$enable_libpaper = xyes; then | |
106 | AC_CHECK_LIB(paper,systempapername, | |
107 | AC_DEFINE(HAVE_LIBPAPER) | |
108 | LIBPAPER="-lpaper", | |
109 | LIBPAPER="") | |
110 | else | |
111 | LIBPAPER="" | |
112 | fi | |
113 | AC_SUBST(LIBPAPER) | |
114 | ||
115 | dnl Checks for header files. | |
116 | AC_HEADER_STDC | |
117 | AC_CHECK_HEADER(crypt.h,AC_DEFINE(HAVE_CRYPT_H)) | |
118 | AC_CHECK_HEADER(langinfo.h,AC_DEFINE(HAVE_LANGINFO_H)) | |
119 | AC_CHECK_HEADER(malloc.h,AC_DEFINE(HAVE_MALLOC_H)) | |
120 | AC_CHECK_HEADER(shadow.h,AC_DEFINE(HAVE_SHADOW_H)) | |
121 | AC_CHECK_HEADER(string.h,AC_DEFINE(HAVE_STRING_H)) | |
122 | AC_CHECK_HEADER(strings.h,AC_DEFINE(HAVE_STRINGS_H)) | |
123 | AC_CHECK_HEADER(bstring.h,AC_DEFINE(HAVE_BSTRING_H)) | |
124 | AC_CHECK_HEADER(usersec.h,AC_DEFINE(HAVE_USERSEC_H)) | |
125 | AC_CHECK_HEADER(sys/ioctl.h,AC_DEFINE(HAVE_SYS_IOCTL_H)) | |
bc44d920 | 126 | AC_CHECK_HEADER(sys/ucred.h,AC_DEFINE(HAVE_SYS_UCRED_H)) |
2abf387c | 127 | AC_CHECK_HEADER(scsi/sg.h,AC_DEFINE(HAVE_SCSI_SG_H)) |
ef416fc2 | 128 | |
129 | dnl Checks for string functions. | |
130 | AC_CHECK_FUNCS(strdup strcasecmp strncasecmp strlcat strlcpy) | |
131 | if test "$uname" = "HP-UX" -a "$uversion" = "1020"; then | |
132 | echo Forcing snprintf emulation for HP-UX. | |
133 | else | |
134 | AC_CHECK_FUNCS(snprintf vsnprintf) | |
135 | fi | |
136 | ||
137 | dnl Checks for mkstemp and mkstemps functions. | |
138 | AC_CHECK_FUNCS(mkstemp mkstemps) | |
139 | ||
140 | dnl Check for geteuid function. | |
141 | AC_CHECK_FUNCS(geteuid) | |
142 | ||
143 | dnl Check for vsyslog function. | |
144 | AC_CHECK_FUNCS(vsyslog) | |
145 | ||
146 | dnl Checks for signal functions. | |
147 | case "$uname" in | |
148 | Linux | GNU) | |
149 | # Do not use sigset on Linux or GNU HURD | |
150 | ;; | |
151 | *) | |
152 | # Use sigset on other platforms, if available | |
153 | AC_CHECK_FUNCS(sigset) | |
154 | ;; | |
155 | esac | |
156 | ||
157 | AC_CHECK_FUNCS(sigaction) | |
158 | ||
159 | dnl Checks for wait functions. | |
cc0d019f | 160 | AC_CHECK_FUNCS(waitpid wait3) |
ef416fc2 | 161 | |
162 | dnl See if the tm structure has the tm_gmtoff member... | |
163 | AC_MSG_CHECKING(for tm_gmtoff member in tm structure) | |
164 | AC_TRY_COMPILE([#include <time.h>],[struct tm t; | |
165 | int o = t.tm_gmtoff;], | |
166 | AC_MSG_RESULT(yes) | |
167 | AC_DEFINE(HAVE_TM_GMTOFF), | |
168 | AC_MSG_RESULT(no)) | |
169 | ||
cc0d019f MS |
170 | dnl See if we have the removefile(3) function for securely removing files |
171 | AC_CHECK_FUNCS(removefile) | |
172 | ||
ef416fc2 | 173 | dnl Flags for "ar" command... |
174 | case $uname in | |
175 | Darwin* | *BSD*) | |
176 | ARFLAGS="-rcv" | |
177 | ;; | |
178 | *) | |
179 | ARFLAGS="crvs" | |
180 | ;; | |
181 | esac | |
182 | ||
183 | AC_SUBST(ARFLAGS) | |
184 | ||
185 | dnl Extra platform-specific libraries... | |
bd7854cb | 186 | BACKLIBS="" |
187 | CUPSDLIBS="" | |
188 | DBUSDIR="" | |
355e94dc | 189 | CUPS_DEFAULT_PRINTADMIN_AUTH="@SYSTEM" |
f7deaa1a | 190 | CUPS_SYSTEM_AUTHKEY="" |
bd7854cb | 191 | |
ecdc0628 | 192 | AC_ARG_ENABLE(dbus, [ --enable-dbus enable DBUS support, default=auto]) |
193 | ||
09a101d6 | 194 | FONTS="fonts" |
195 | AC_SUBST(FONTS) | |
196 | LEGACY_BACKENDS="parallel scsi" | |
197 | AC_SUBST(LEGACY_BACKENDS) | |
198 | ||
ef416fc2 | 199 | case $uname in |
200 | Darwin*) | |
09a101d6 | 201 | FONTS="" |
202 | LEGACY_BACKENDS="" | |
ef416fc2 | 203 | BACKLIBS="-framework IOKit" |
09a101d6 | 204 | CUPSDLIBS="-sectorder __TEXT __text cupsd.order -e start -framework IOKit -framework SystemConfiguration" |
ef416fc2 | 205 | LIBS="-framework CoreFoundation $LIBS" |
fa73b229 | 206 | |
207 | dnl Check for CFLocaleCreateCanonicalLocaleIdentifierFromString... | |
208 | AC_MSG_CHECKING(for CFLocaleCreateCanonicalLocaleIdentifierFromString) | |
209 | if test "$uname" = "Darwin" -a $uversion -ge 70; then | |
210 | AC_DEFINE(HAVE_CF_LOCALE_ID) | |
211 | AC_MSG_RESULT(yes) | |
212 | else | |
213 | AC_MSG_RESULT(no) | |
214 | fi | |
215 | ||
216 | dnl Check for framework headers... | |
217 | AC_CHECK_HEADER(CoreFoundation/CoreFoundation.h,AC_DEFINE(HAVE_COREFOUNDATION_H)) | |
218 | AC_CHECK_HEADER(CoreFoundation/CFPriv.h,AC_DEFINE(HAVE_CFPRIV_H)) | |
219 | AC_CHECK_HEADER(CoreFoundation/CFBundlePriv.h,AC_DEFINE(HAVE_CFBUNDLEPRIV_H)) | |
220 | ||
7594b224 | 221 | dnl Check for the new membership functions in MacOSX 10.4... |
fa73b229 | 222 | AC_CHECK_HEADER(membership.h,AC_DEFINE(HAVE_MEMBERSHIP_H)) |
7594b224 | 223 | AC_CHECK_HEADER(membershipPriv.h,AC_DEFINE(HAVE_MEMBERSHIPPRIV_H)) |
fa73b229 | 224 | AC_CHECK_FUNCS(mbr_uid_to_uuid) |
225 | ||
7594b224 | 226 | dnl Need <dlfcn.h> header... |
227 | AC_CHECK_HEADER(dlfcn.h,AC_DEFINE(HAVE_DLFCN_H)) | |
228 | ||
fa73b229 | 229 | dnl Check for notify_post support |
230 | AC_CHECK_HEADER(notify.h,AC_DEFINE(HAVE_NOTIFY_H)) | |
231 | AC_CHECK_FUNCS(notify_post) | |
f7deaa1a | 232 | |
233 | dnl Check for Authorization Services support | |
234 | AC_CHECK_HEADER(Security/Authorization.h, [ | |
235 | AC_DEFINE(HAVE_AUTHORIZATION_H) | |
355e94dc MS |
236 | CUPS_DEFAULT_PRINTADMIN_AUTH="@AUTHKEY(system.print.admin) @admin @lpadmin" |
237 | CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey system.preferences"]) | |
f7deaa1a | 238 | AC_CHECK_HEADER(Security/SecBasePriv.h,AC_DEFINE(HAVE_SECBASEPRIV_H)) |
ef416fc2 | 239 | ;; |
e00b005a | 240 | |
241 | Linux*) | |
242 | dnl Check for DBUS support | |
ecdc0628 | 243 | if test "x$enable_dbus" != xno; then |
244 | AC_PATH_PROG(PKGCONFIG, pkg-config) | |
245 | if test "x$PKGCONFIG" != x; then | |
246 | AC_MSG_CHECKING(for DBUS) | |
247 | if $PKGCONFIG --exists dbus-1; then | |
248 | AC_MSG_RESULT(yes) | |
2abf387c | 249 | AC_DEFINE(HAVE_DBUS) |
250 | CFLAGS="$CFLAGS `$PKGCONFIG --cflags dbus-1` -DDBUS_API_SUBJECT_TO_CHANGE" | |
251 | CUPSDLIBS="`$PKGCONFIG --libs dbus-1`" | |
f7deaa1a | 252 | AC_ARG_WITH(dbusdir, [ --with-dbusdir set DBUS configuration directory ], dbusdir="$withval", dbusdir="/etc/dbus-1") |
253 | DBUSDIR="$dbusdir" | |
ecdc0628 | 254 | AC_CHECK_LIB(dbus-1, |
255 | dbus_message_iter_init_append, | |
2abf387c | 256 | AC_DEFINE(HAVE_DBUS_MESSAGE_ITER_INIT_APPEND)) |
ecdc0628 | 257 | else |
258 | AC_MSG_RESULT(no) | |
259 | fi | |
e00b005a | 260 | fi |
261 | fi | |
262 | ;; | |
ef416fc2 | 263 | esac |
264 | ||
355e94dc MS |
265 | AC_SUBST(CUPS_DEFAULT_PRINTADMIN_AUTH) |
266 | AC_DEFINE_UNQUOTED(CUPS_DEFAULT_PRINTADMIN_AUTH, "$CUPS_DEFAULT_PRINTADMIN_AUTH") | |
f7deaa1a | 267 | AC_SUBST(CUPS_SYSTEM_AUTHKEY) |
268 | ||
bd7854cb | 269 | dnl See if we have POSIX ACL support... |
270 | SAVELIBS="$LIBS" | |
271 | LIBS="" | |
272 | AC_SEARCH_LIBS(acl_init, acl, AC_DEFINE(HAVE_ACL_INIT)) | |
273 | CUPSDLIBS="$CUPSDLIBS $LIBS" | |
274 | LIBS="$SAVELIBS" | |
275 | ||
ef416fc2 | 276 | AC_SUBST(BACKLIBS) |
09ec0018 | 277 | AC_SUBST(CUPSDLIBS) |
bd7854cb | 278 | AC_SUBST(DBUSDIR) |
ef416fc2 | 279 | |
280 | dnl New default port definition for IPP... | |
281 | AC_ARG_WITH(ipp-port, [ --with-ipp-port set default port number for IPP ], | |
282 | DEFAULT_IPP_PORT="$withval", | |
283 | DEFAULT_IPP_PORT="631") | |
284 | ||
285 | AC_SUBST(DEFAULT_IPP_PORT) | |
286 | AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT) | |
287 | ||
288 | dnl | |
355e94dc | 289 | dnl End of "$Id: cups-common.m4 6720 2007-07-25 00:40:03Z mike $". |
ef416fc2 | 290 | dnl |