]> git.ipfire.org Git - thirdparty/cups.git/blame_incremental - config-scripts/cups-common.m4
Merge changes from r6781 to r6792 (CUPS 1.3.0)
[thirdparty/cups.git] / config-scripts / cups-common.m4
... / ...
CommitLineData
1dnl
2dnl "$Id: cups-common.m4 6749 2007-07-31 00:00:21Z mike $"
3dnl
4dnl Common configuration stuff for the Common UNIX Printing System (CUPS).
5dnl
6dnl Copyright 2007 by Apple Inc.
7dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
8dnl
9dnl These coded instructions, statements, and computer programs are the
10dnl property of Apple Inc. and are protected by Federal copyright
11dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
12dnl which should have been included with this file. If this file is
13dnl file is missing or damaged, see the license at "http://www.cups.org/".
14dnl
15
16dnl We need at least autoconf 2.50...
17AC_PREREQ(2.50)
18
19dnl Set the name of the config header file...
20AC_CONFIG_HEADER(config.h)
21
22dnl Versio number information...
23CUPS_VERSION="1.3.0"
24CUPS_REVISION=""
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
28
29AC_SUBST(CUPS_VERSION)
30AC_SUBST(CUPS_REVISION)
31AC_DEFINE_UNQUOTED(CUPS_SVERSION, "CUPS v$CUPS_VERSION$CUPS_REVISION")
32AC_DEFINE_UNQUOTED(CUPS_MINIMAL, "CUPS/$CUPS_VERSION$CUPS_REVISION")
33
34dnl Default compiler flags...
35CFLAGS="${CFLAGS:=}"
36CPPFLAGS="${CPPFLAGS:=}"
37CXXFLAGS="${CXXFLAGS:=}"
38LDFLAGS="${LDFLAGS:=}"
39
40dnl Checks for programs...
41AC_PROG_AWK
42AC_PROG_CC
43AC_PROG_CXX
44AC_PROG_CPP
45AC_PROG_INSTALL
46if test "$INSTALL" = "$ac_install_sh"; then
47 # Use full path to install-sh script...
48 INSTALL="`pwd`/install-sh -c"
49fi
50AC_PROG_RANLIB
51AC_PATH_PROG(AR,ar)
52AC_PATH_PROG(HTMLDOC,htmldoc)
53AC_PATH_PROG(LD,ld)
54AC_PATH_PROG(LN,ln)
55AC_PATH_PROG(MV,mv)
56AC_PATH_PROG(RM,rm)
57AC_PATH_PROG(RMDIR,rmdir)
58AC_PATH_PROG(SED,sed)
59AC_PATH_PROG(STRIP,strip)
60
61if test "x$AR" = x; then
62 AC_MSG_ERROR([Unable to find required library archive command.])
63fi
64if test "x$CC" = x; then
65 AC_MSG_ERROR([Unable to find required C compiler command.])
66fi
67if test "x$CXX" = x; then
68 AC_MSG_ERROR([Unable to find required C++ compiler command.])
69fi
70
71dnl Static library option...
72INSTALLSTATIC=""
73AC_ARG_ENABLE(static, [ --enable-static install static libraries, default=no])
74
75if test x$enable_static = xyes; then
76 echo Installing static libraries...
77 INSTALLSTATIC="installstatic"
78fi
79
80AC_SUBST(INSTALLSTATIC)
81
82dnl Check for libraries...
83AC_SEARCH_LIBS(crypt, crypt)
84AC_SEARCH_LIBS(getspent, sec gen)
85
86LIBMALLOC=""
87AC_ARG_ENABLE(mallinfo, [ --enable-mallinfo turn on malloc debug information, default=no])
88
89if 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
98fi
99
100AC_SUBST(LIBMALLOC)
101
102dnl Check for libpaper support...
103AC_ARG_ENABLE(libpaper, [ --enable-libpaper turn on libpaper support, default=no])
104
105if test x$enable_libpaper = xyes; then
106 AC_CHECK_LIB(paper,systempapername,
107 AC_DEFINE(HAVE_LIBPAPER)
108 LIBPAPER="-lpaper",
109 LIBPAPER="")
110else
111 LIBPAPER=""
112fi
113AC_SUBST(LIBPAPER)
114
115dnl Checks for header files.
116AC_HEADER_STDC
117AC_CHECK_HEADER(crypt.h,AC_DEFINE(HAVE_CRYPT_H))
118AC_CHECK_HEADER(langinfo.h,AC_DEFINE(HAVE_LANGINFO_H))
119AC_CHECK_HEADER(malloc.h,AC_DEFINE(HAVE_MALLOC_H))
120AC_CHECK_HEADER(shadow.h,AC_DEFINE(HAVE_SHADOW_H))
121AC_CHECK_HEADER(string.h,AC_DEFINE(HAVE_STRING_H))
122AC_CHECK_HEADER(strings.h,AC_DEFINE(HAVE_STRINGS_H))
123AC_CHECK_HEADER(bstring.h,AC_DEFINE(HAVE_BSTRING_H))
124AC_CHECK_HEADER(usersec.h,AC_DEFINE(HAVE_USERSEC_H))
125AC_CHECK_HEADER(sys/ioctl.h,AC_DEFINE(HAVE_SYS_IOCTL_H))
126AC_CHECK_HEADER(sys/ucred.h,AC_DEFINE(HAVE_SYS_UCRED_H))
127AC_CHECK_HEADER(scsi/sg.h,AC_DEFINE(HAVE_SCSI_SG_H))
128
129dnl Checks for string functions.
130AC_CHECK_FUNCS(strdup strcasecmp strncasecmp strlcat strlcpy)
131if test "$uname" = "HP-UX" -a "$uversion" = "1020"; then
132 echo Forcing snprintf emulation for HP-UX.
133else
134 AC_CHECK_FUNCS(snprintf vsnprintf)
135fi
136
137dnl Checks for mkstemp and mkstemps functions.
138AC_CHECK_FUNCS(mkstemp mkstemps)
139
140dnl Check for geteuid function.
141AC_CHECK_FUNCS(geteuid)
142
143dnl Check for vsyslog function.
144AC_CHECK_FUNCS(vsyslog)
145
146dnl Checks for signal functions.
147case "$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 ;;
155esac
156
157AC_CHECK_FUNCS(sigaction)
158
159dnl Checks for wait functions.
160AC_CHECK_FUNCS(waitpid wait3)
161
162dnl See if the tm structure has the tm_gmtoff member...
163AC_MSG_CHECKING(for tm_gmtoff member in tm structure)
164AC_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
170dnl See if we have the removefile(3) function for securely removing files
171AC_CHECK_FUNCS(removefile)
172
173dnl Flags for "ar" command...
174case $uname in
175 Darwin* | *BSD*)
176 ARFLAGS="-rcv"
177 ;;
178 *)
179 ARFLAGS="crvs"
180 ;;
181esac
182
183AC_SUBST(ARFLAGS)
184
185dnl Extra platform-specific libraries...
186BACKLIBS=""
187CUPSDLIBS=""
188DBUSDIR=""
189CUPS_DEFAULT_PRINTADMIN_AUTH="@SYSTEM"
190CUPS_SYSTEM_AUTHKEY=""
191
192AC_ARG_ENABLE(dbus, [ --enable-dbus enable DBUS support, default=auto])
193
194FONTS="fonts"
195AC_SUBST(FONTS)
196LEGACY_BACKENDS="parallel scsi"
197AC_SUBST(LEGACY_BACKENDS)
198
199case $uname in
200 Darwin*)
201 FONTS=""
202 LEGACY_BACKENDS=""
203 BACKLIBS="-framework IOKit"
204 CUPSDLIBS="-sectorder __TEXT __text cupsd.order -e start -framework IOKit -framework SystemConfiguration"
205 LIBS="-framework CoreFoundation $LIBS"
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
221 dnl Check for the new membership functions in MacOSX 10.4...
222 AC_CHECK_HEADER(membership.h,AC_DEFINE(HAVE_MEMBERSHIP_H))
223 AC_CHECK_HEADER(membershipPriv.h,AC_DEFINE(HAVE_MEMBERSHIPPRIV_H))
224 AC_CHECK_FUNCS(mbr_uid_to_uuid)
225
226 dnl Need <dlfcn.h> header...
227 AC_CHECK_HEADER(dlfcn.h,AC_DEFINE(HAVE_DLFCN_H))
228
229 dnl Check for notify_post support
230 AC_CHECK_HEADER(notify.h,AC_DEFINE(HAVE_NOTIFY_H))
231 AC_CHECK_FUNCS(notify_post)
232
233 dnl Check for Authorization Services support
234 AC_CHECK_HEADER(Security/Authorization.h, [
235 AC_DEFINE(HAVE_AUTHORIZATION_H)
236 CUPS_DEFAULT_PRINTADMIN_AUTH="@AUTHKEY(system.print.admin) @admin @lpadmin"
237 CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey system.preferences"])
238 AC_CHECK_HEADER(Security/SecBasePriv.h,AC_DEFINE(HAVE_SECBASEPRIV_H))
239 ;;
240
241 Linux*)
242 dnl Check for DBUS support
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)
249 AC_DEFINE(HAVE_DBUS)
250 CFLAGS="$CFLAGS `$PKGCONFIG --cflags dbus-1` -DDBUS_API_SUBJECT_TO_CHANGE"
251 CUPSDLIBS="`$PKGCONFIG --libs dbus-1`"
252 AC_ARG_WITH(dbusdir, [ --with-dbusdir set DBUS configuration directory ], dbusdir="$withval", dbusdir="/etc/dbus-1")
253 DBUSDIR="$dbusdir"
254 AC_CHECK_LIB(dbus-1,
255 dbus_message_iter_init_append,
256 AC_DEFINE(HAVE_DBUS_MESSAGE_ITER_INIT_APPEND))
257 else
258 AC_MSG_RESULT(no)
259 fi
260 fi
261 fi
262 ;;
263esac
264
265AC_SUBST(CUPS_DEFAULT_PRINTADMIN_AUTH)
266AC_DEFINE_UNQUOTED(CUPS_DEFAULT_PRINTADMIN_AUTH, "$CUPS_DEFAULT_PRINTADMIN_AUTH")
267AC_SUBST(CUPS_SYSTEM_AUTHKEY)
268
269dnl See if we have POSIX ACL support...
270SAVELIBS="$LIBS"
271LIBS=""
272AC_SEARCH_LIBS(acl_init, acl, AC_DEFINE(HAVE_ACL_INIT))
273CUPSDLIBS="$CUPSDLIBS $LIBS"
274LIBS="$SAVELIBS"
275
276AC_SUBST(BACKLIBS)
277AC_SUBST(CUPSDLIBS)
278AC_SUBST(DBUSDIR)
279
280dnl New default port definition for IPP...
281AC_ARG_WITH(ipp-port, [ --with-ipp-port set default port number for IPP ],
282 DEFAULT_IPP_PORT="$withval",
283 DEFAULT_IPP_PORT="631")
284
285AC_SUBST(DEFAULT_IPP_PORT)
286AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT)
287
288dnl
289dnl End of "$Id: cups-common.m4 6749 2007-07-31 00:00:21Z mike $".
290dnl