]> git.ipfire.org Git - thirdparty/cups.git/blame - config-scripts/cups-common.m4
Merge changes from CUPS trunk, r6739.
[thirdparty/cups.git] / config-scripts / cups-common.m4
CommitLineData
ef416fc2 1dnl
355e94dc 2dnl "$Id: cups-common.m4 6720 2007-07-25 00:40:03Z mike $"
ef416fc2 3dnl
4dnl Common configuration stuff for the Common UNIX Printing System (CUPS).
5dnl
bc44d920 6dnl Copyright 2007 by Apple Inc.
f7deaa1a 7dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
ef416fc2 8dnl
9dnl These coded instructions, statements, and computer programs are the
bc44d920 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/".
ef416fc2 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
f7deaa1a 22dnl Versio number information...
355e94dc 23CUPS_VERSION="1.3rc1"
ecdc0628 24CUPS_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 29AC_SUBST(CUPS_VERSION)
ecdc0628 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")
ef416fc2 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)
bd7854cb 53AC_PATH_PROG(LD,ld)
ef416fc2 54AC_PATH_PROG(LN,ln)
55AC_PATH_PROG(MV,mv)
56AC_PATH_PROG(RM,rm)
e1d6a774 57AC_PATH_PROG(RMDIR,rmdir)
ef416fc2 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
923edb68 71dnl Static library option...
72INSTALLSTATIC=""
d6ae789d 73AC_ARG_ENABLE(static, [ --enable-static install static libraries, default=no])
923edb68 74
d6ae789d 75if test x$enable_static = xyes; then
76 echo Installing static libraries...
923edb68 77 INSTALLSTATIC="installstatic"
78fi
79
80AC_SUBST(INSTALLSTATIC)
ef416fc2 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))
bc44d920 126AC_CHECK_HEADER(sys/ucred.h,AC_DEFINE(HAVE_SYS_UCRED_H))
2abf387c 127AC_CHECK_HEADER(scsi/sg.h,AC_DEFINE(HAVE_SCSI_SG_H))
ef416fc2 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.
cc0d019f 160AC_CHECK_FUNCS(waitpid wait3)
ef416fc2 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
cc0d019f
MS
170dnl See if we have the removefile(3) function for securely removing files
171AC_CHECK_FUNCS(removefile)
172
ef416fc2 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...
bd7854cb 186BACKLIBS=""
187CUPSDLIBS=""
188DBUSDIR=""
355e94dc 189CUPS_DEFAULT_PRINTADMIN_AUTH="@SYSTEM"
f7deaa1a 190CUPS_SYSTEM_AUTHKEY=""
bd7854cb 191
ecdc0628 192AC_ARG_ENABLE(dbus, [ --enable-dbus enable DBUS support, default=auto])
193
09a101d6 194FONTS="fonts"
195AC_SUBST(FONTS)
196LEGACY_BACKENDS="parallel scsi"
197AC_SUBST(LEGACY_BACKENDS)
198
ef416fc2 199case $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 263esac
264
355e94dc
MS
265AC_SUBST(CUPS_DEFAULT_PRINTADMIN_AUTH)
266AC_DEFINE_UNQUOTED(CUPS_DEFAULT_PRINTADMIN_AUTH, "$CUPS_DEFAULT_PRINTADMIN_AUTH")
f7deaa1a 267AC_SUBST(CUPS_SYSTEM_AUTHKEY)
268
bd7854cb 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
ef416fc2 276AC_SUBST(BACKLIBS)
09ec0018 277AC_SUBST(CUPSDLIBS)
bd7854cb 278AC_SUBST(DBUSDIR)
ef416fc2 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
355e94dc 289dnl End of "$Id: cups-common.m4 6720 2007-07-25 00:40:03Z mike $".
ef416fc2 290dnl