2 dnl "$Id: cups-common.m4 6689 2007-07-18 23:52:15Z mike $"
4 dnl Common configuration stuff for the Common UNIX Printing System (CUPS).
6 dnl Copyright 2007 by Apple Inc.
7 dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
9 dnl These coded instructions, statements, and computer programs are the
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/".
16 dnl We need at least autoconf 2.50...
19 dnl Set the name of the config header file...
20 AC_CONFIG_HEADER(config.h)
22 dnl Versio number information...
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'`"
29 AC_SUBST(CUPS_VERSION)
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")
34 dnl Default compiler flags...
36 CPPFLAGS="${CPPFLAGS:=}"
37 CXXFLAGS="${CXXFLAGS:=}"
38 LDFLAGS="${LDFLAGS:=}"
40 dnl Checks for programs...
46 if test "$INSTALL" = "$ac_install_sh"; then
47 # Use full path to install-sh script...
48 INSTALL="`pwd`/install-sh -c"
52 AC_PATH_PROG(HTMLDOC,htmldoc)
57 AC_PATH_PROG(RMDIR,rmdir)
59 AC_PATH_PROG(STRIP,strip)
61 if test "x$AR" = x; then
62 AC_MSG_ERROR([Unable to find required library archive command.])
64 if test "x$CC" = x; then
65 AC_MSG_ERROR([Unable to find required C compiler command.])
67 if test "x$CXX" = x; then
68 AC_MSG_ERROR([Unable to find required C++ compiler command.])
71 dnl Static library option...
73 AC_ARG_ENABLE(static, [ --enable-static install static libraries, default=no])
75 if test x$enable_static = xyes; then
76 echo Installing static libraries...
77 INSTALLSTATIC="installstatic"
80 AC_SUBST(INSTALLSTATIC)
82 dnl Check for libraries...
83 AC_SEARCH_LIBS(crypt, crypt)
84 AC_SEARCH_LIBS(getspent, sec gen)
87 AC_ARG_ENABLE(mallinfo, [ --enable-mallinfo turn on malloc debug information, default=no])
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,
95 AC_DEFINE(HAVE_MALLINFO),
102 dnl Check for libpaper support...
103 AC_ARG_ENABLE(libpaper, [ --enable-libpaper turn on libpaper support, default=no])
105 if test x$enable_libpaper = xyes; then
106 AC_CHECK_LIB(paper,systempapername,
107 AC_DEFINE(HAVE_LIBPAPER)
115 dnl Checks for header files.
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))
126 AC_CHECK_HEADER(sys/ucred.h,AC_DEFINE(HAVE_SYS_UCRED_H))
127 AC_CHECK_HEADER(scsi/sg.h,AC_DEFINE(HAVE_SCSI_SG_H))
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.
134 AC_CHECK_FUNCS(snprintf vsnprintf)
137 dnl Checks for mkstemp and mkstemps functions.
138 AC_CHECK_FUNCS(mkstemp mkstemps)
140 dnl Check for geteuid function.
141 AC_CHECK_FUNCS(geteuid)
143 dnl Check for vsyslog function.
144 AC_CHECK_FUNCS(vsyslog)
146 dnl Checks for signal functions.
149 # Do not use sigset on Linux or GNU HURD
152 # Use sigset on other platforms, if available
153 AC_CHECK_FUNCS(sigset)
157 AC_CHECK_FUNCS(sigaction)
159 dnl Checks for wait functions.
160 AC_CHECK_FUNCS(waitpid wait3)
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;],
167 AC_DEFINE(HAVE_TM_GMTOFF),
170 dnl See if we have the removefile(3) function for securely removing files
171 AC_CHECK_FUNCS(removefile)
173 dnl Flags for "ar" command...
185 dnl Extra platform-specific libraries...
189 CUPS_SYSTEM_AUTHKEY=""
191 AC_ARG_ENABLE(dbus, [ --enable-dbus enable DBUS support, default=auto])
195 LEGACY_BACKENDS="parallel scsi"
196 AC_SUBST(LEGACY_BACKENDS)
202 BACKLIBS="-framework IOKit"
203 CUPSDLIBS="-sectorder __TEXT __text cupsd.order -e start -framework IOKit -framework SystemConfiguration"
204 LIBS="-framework CoreFoundation $LIBS"
206 dnl Check for CFLocaleCreateCanonicalLocaleIdentifierFromString...
207 AC_MSG_CHECKING(for CFLocaleCreateCanonicalLocaleIdentifierFromString)
208 if test "$uname" = "Darwin" -a $uversion -ge 70; then
209 AC_DEFINE(HAVE_CF_LOCALE_ID)
215 dnl Check for framework headers...
216 AC_CHECK_HEADER(CoreFoundation/CoreFoundation.h,AC_DEFINE(HAVE_COREFOUNDATION_H))
217 AC_CHECK_HEADER(CoreFoundation/CFPriv.h,AC_DEFINE(HAVE_CFPRIV_H))
218 AC_CHECK_HEADER(CoreFoundation/CFBundlePriv.h,AC_DEFINE(HAVE_CFBUNDLEPRIV_H))
220 dnl Check for the new membership functions in MacOSX 10.4...
221 AC_CHECK_HEADER(membership.h,AC_DEFINE(HAVE_MEMBERSHIP_H))
222 AC_CHECK_HEADER(membershipPriv.h,AC_DEFINE(HAVE_MEMBERSHIPPRIV_H))
223 AC_CHECK_FUNCS(mbr_uid_to_uuid)
225 dnl Need <dlfcn.h> header...
226 AC_CHECK_HEADER(dlfcn.h,AC_DEFINE(HAVE_DLFCN_H))
228 dnl Check for notify_post support
229 AC_CHECK_HEADER(notify.h,AC_DEFINE(HAVE_NOTIFY_H))
230 AC_CHECK_FUNCS(notify_post)
232 dnl Check for Authorization Services support
233 AC_CHECK_HEADER(Security/Authorization.h, [
234 AC_DEFINE(HAVE_AUTHORIZATION_H)
235 CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey system.print.admin"])
236 AC_CHECK_HEADER(Security/SecBasePriv.h,AC_DEFINE(HAVE_SECBASEPRIV_H))
240 dnl Check for DBUS support
241 if test "x$enable_dbus" != xno; then
242 AC_PATH_PROG(PKGCONFIG, pkg-config)
243 if test "x$PKGCONFIG" != x; then
244 AC_MSG_CHECKING(for DBUS)
245 if $PKGCONFIG --exists dbus-1; then
248 CFLAGS="$CFLAGS `$PKGCONFIG --cflags dbus-1` -DDBUS_API_SUBJECT_TO_CHANGE"
249 CUPSDLIBS="`$PKGCONFIG --libs dbus-1`"
250 AC_ARG_WITH(dbusdir, [ --with-dbusdir set DBUS configuration directory ], dbusdir="$withval", dbusdir="/etc/dbus-1")
253 dbus_message_iter_init_append,
254 AC_DEFINE(HAVE_DBUS_MESSAGE_ITER_INIT_APPEND))
263 AC_SUBST(CUPS_SYSTEM_AUTHKEY)
265 dnl See if we have POSIX ACL support...
268 AC_SEARCH_LIBS(acl_init, acl, AC_DEFINE(HAVE_ACL_INIT))
269 CUPSDLIBS="$CUPSDLIBS $LIBS"
276 dnl New default port definition for IPP...
277 AC_ARG_WITH(ipp-port, [ --with-ipp-port set default port number for IPP ],
278 DEFAULT_IPP_PORT="$withval",
279 DEFAULT_IPP_PORT="631")
281 AC_SUBST(DEFAULT_IPP_PORT)
282 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT)
285 dnl End of "$Id: cups-common.m4 6689 2007-07-18 23:52:15Z mike $".