2 dnl "$Id: cups-common.m4 6370 2007-03-20 14:36:12Z mike $"
4 dnl Common configuration stuff for the Common UNIX Printing System (CUPS).
6 dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
8 dnl These coded instructions, statements, and computer programs are the
9 dnl property of Easy Software Products and are protected by Federal
10 dnl copyright law. Distribution and use rights are outlined in the file
11 dnl "LICENSE.txt" which should have been included with this file. If this
12 dnl file is missing or damaged please contact Easy Software Products
15 dnl Attn: CUPS Licensing Information
16 dnl Easy Software Products
17 dnl 44141 Airport View Drive, Suite 204
18 dnl Hollywood, Maryland 20636 USA
20 dnl Voice: (301) 373-9600
21 dnl EMail: cups-info@cups.org
22 dnl WWW: http://www.cups.org
25 dnl We need at least autoconf 2.50...
28 dnl Set the name of the config header file...
29 AC_CONFIG_HEADER(config.h)
31 dnl Versio number information...
34 if test -z "$CUPS_REVISION" -a -d .svn; then
35 CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
38 AC_SUBST(CUPS_VERSION)
39 AC_SUBST(CUPS_REVISION)
40 AC_DEFINE_UNQUOTED(CUPS_SVERSION, "CUPS v$CUPS_VERSION$CUPS_REVISION")
41 AC_DEFINE_UNQUOTED(CUPS_MINIMAL, "CUPS/$CUPS_VERSION$CUPS_REVISION")
43 dnl Default compiler flags...
45 CPPFLAGS="${CPPFLAGS:=}"
46 CXXFLAGS="${CXXFLAGS:=}"
47 LDFLAGS="${LDFLAGS:=}"
49 dnl Checks for programs...
55 if test "$INSTALL" = "$ac_install_sh"; then
56 # Use full path to install-sh script...
57 INSTALL="`pwd`/install-sh -c"
61 AC_PATH_PROG(HTMLDOC,htmldoc)
66 AC_PATH_PROG(RMDIR,rmdir)
68 AC_PATH_PROG(STRIP,strip)
70 if test "x$AR" = x; then
71 AC_MSG_ERROR([Unable to find required library archive command.])
73 if test "x$CC" = x; then
74 AC_MSG_ERROR([Unable to find required C compiler command.])
76 if test "x$CXX" = x; then
77 AC_MSG_ERROR([Unable to find required C++ compiler command.])
80 dnl Static library option...
82 AC_ARG_ENABLE(static, [ --enable-static install static libraries, default=no])
84 if test x$enable_static = xyes; then
85 echo Installing static libraries...
86 INSTALLSTATIC="installstatic"
89 AC_SUBST(INSTALLSTATIC)
91 dnl Check for libraries...
92 AC_SEARCH_LIBS(crypt, crypt)
93 AC_SEARCH_LIBS(getspent, sec gen)
96 AC_ARG_ENABLE(mallinfo, [ --enable-mallinfo turn on malloc debug information, default=no])
98 if test x$enable_mallinfo = xyes; then
99 AC_CHECK_LIB(c,mallinfo,LIBS="$LIBS"; AC_DEFINE(HAVE_MALLINFO),LIBS="$LIBS")
100 if test "$ac_cv_lib_c_mallinfo" = "no"; then
101 AC_CHECK_LIB(malloc,mallinfo,
104 AC_DEFINE(HAVE_MALLINFO),
111 dnl Check for libpaper support...
112 AC_ARG_ENABLE(libpaper, [ --enable-libpaper turn on libpaper support, default=no])
114 if test x$enable_libpaper = xyes; then
115 AC_CHECK_LIB(paper,systempapername,
116 AC_DEFINE(HAVE_LIBPAPER)
124 dnl Checks for header files.
126 AC_CHECK_HEADER(crypt.h,AC_DEFINE(HAVE_CRYPT_H))
127 AC_CHECK_HEADER(langinfo.h,AC_DEFINE(HAVE_LANGINFO_H))
128 AC_CHECK_HEADER(malloc.h,AC_DEFINE(HAVE_MALLOC_H))
129 AC_CHECK_HEADER(shadow.h,AC_DEFINE(HAVE_SHADOW_H))
130 AC_CHECK_HEADER(string.h,AC_DEFINE(HAVE_STRING_H))
131 AC_CHECK_HEADER(strings.h,AC_DEFINE(HAVE_STRINGS_H))
132 AC_CHECK_HEADER(bstring.h,AC_DEFINE(HAVE_BSTRING_H))
133 AC_CHECK_HEADER(usersec.h,AC_DEFINE(HAVE_USERSEC_H))
134 AC_CHECK_HEADER(sys/ioctl.h,AC_DEFINE(HAVE_SYS_IOCTL_H))
135 AC_CHECK_HEADER(scsi/sg.h,AC_DEFINE(HAVE_SCSI_SG_H))
137 dnl Checks for string functions.
138 AC_CHECK_FUNCS(strdup strcasecmp strncasecmp strlcat strlcpy)
139 if test "$uname" = "HP-UX" -a "$uversion" = "1020"; then
140 echo Forcing snprintf emulation for HP-UX.
142 AC_CHECK_FUNCS(snprintf vsnprintf)
145 dnl Checks for mkstemp and mkstemps functions.
146 AC_CHECK_FUNCS(mkstemp mkstemps)
148 dnl Check for geteuid function.
149 AC_CHECK_FUNCS(geteuid)
151 dnl Check for vsyslog function.
152 AC_CHECK_FUNCS(vsyslog)
154 dnl Checks for signal functions.
157 # Do not use sigset on Linux or GNU HURD
160 # Use sigset on other platforms, if available
161 AC_CHECK_FUNCS(sigset)
165 AC_CHECK_FUNCS(sigaction)
167 dnl Checks for wait functions.
168 AC_CHECK_FUNCS(waitpid)
169 AC_CHECK_FUNCS(wait3)
171 dnl See if the tm structure has the tm_gmtoff member...
172 AC_MSG_CHECKING(for tm_gmtoff member in tm structure)
173 AC_TRY_COMPILE([#include <time.h>],[struct tm t;
174 int o = t.tm_gmtoff;],
176 AC_DEFINE(HAVE_TM_GMTOFF),
179 dnl Flags for "ar" command...
191 dnl Extra platform-specific libraries...
195 CUPS_SYSTEM_AUTHKEY=""
197 AC_ARG_ENABLE(dbus, [ --enable-dbus enable DBUS support, default=auto])
201 BACKLIBS="-framework IOKit"
202 CUPSDLIBS="-framework IOKit -framework SystemConfiguration"
203 LIBS="-framework CoreFoundation $LIBS"
205 dnl Check for CFLocaleCreateCanonicalLocaleIdentifierFromString...
206 AC_MSG_CHECKING(for CFLocaleCreateCanonicalLocaleIdentifierFromString)
207 if test "$uname" = "Darwin" -a $uversion -ge 70; then
208 AC_DEFINE(HAVE_CF_LOCALE_ID)
214 dnl Check for framework headers...
215 AC_CHECK_HEADER(CoreFoundation/CoreFoundation.h,AC_DEFINE(HAVE_COREFOUNDATION_H))
216 AC_CHECK_HEADER(CoreFoundation/CFPriv.h,AC_DEFINE(HAVE_CFPRIV_H))
217 AC_CHECK_HEADER(CoreFoundation/CFBundlePriv.h,AC_DEFINE(HAVE_CFBUNDLEPRIV_H))
219 dnl Check for the new membership functions in MacOSX 10.4...
220 AC_CHECK_HEADER(membership.h,AC_DEFINE(HAVE_MEMBERSHIP_H))
221 AC_CHECK_HEADER(membershipPriv.h,AC_DEFINE(HAVE_MEMBERSHIPPRIV_H))
222 AC_CHECK_FUNCS(mbr_uid_to_uuid)
224 dnl Need <dlfcn.h> header...
225 AC_CHECK_HEADER(dlfcn.h,AC_DEFINE(HAVE_DLFCN_H))
227 dnl Check for notify_post support
228 AC_CHECK_HEADER(notify.h,AC_DEFINE(HAVE_NOTIFY_H))
229 AC_CHECK_FUNCS(notify_post)
231 dnl Check for Authorization Services support
232 AC_CHECK_HEADER(Security/Authorization.h, [
233 AC_DEFINE(HAVE_AUTHORIZATION_H)
234 CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey system.preferences"])
235 AC_CHECK_HEADER(Security/SecBasePriv.h,AC_DEFINE(HAVE_SECBASEPRIV_H))
239 dnl Check for DBUS support
240 if test "x$enable_dbus" != xno; then
241 AC_PATH_PROG(PKGCONFIG, pkg-config)
242 if test "x$PKGCONFIG" != x; then
243 AC_MSG_CHECKING(for DBUS)
244 if $PKGCONFIG --exists dbus-1; then
247 CFLAGS="$CFLAGS `$PKGCONFIG --cflags dbus-1` -DDBUS_API_SUBJECT_TO_CHANGE"
248 CUPSDLIBS="`$PKGCONFIG --libs dbus-1`"
249 AC_ARG_WITH(dbusdir, [ --with-dbusdir set DBUS configuration directory ], dbusdir="$withval", dbusdir="/etc/dbus-1")
252 dbus_message_iter_init_append,
253 AC_DEFINE(HAVE_DBUS_MESSAGE_ITER_INIT_APPEND))
262 AC_SUBST(CUPS_SYSTEM_AUTHKEY)
264 dnl See if we have POSIX ACL support...
267 AC_SEARCH_LIBS(acl_init, acl, AC_DEFINE(HAVE_ACL_INIT))
268 CUPSDLIBS="$CUPSDLIBS $LIBS"
275 dnl New default port definition for IPP...
276 AC_ARG_WITH(ipp-port, [ --with-ipp-port set default port number for IPP ],
277 DEFAULT_IPP_PORT="$withval",
278 DEFAULT_IPP_PORT="631")
280 AC_SUBST(DEFAULT_IPP_PORT)
281 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT)
284 dnl End of "$Id: cups-common.m4 6370 2007-03-20 14:36:12Z mike $".