]> git.ipfire.org Git - thirdparty/cups.git/blob - config-scripts/cups-common.m4
Load cups into easysw/current.
[thirdparty/cups.git] / config-scripts / cups-common.m4
1 dnl
2 dnl "$Id: cups-common.m4 5502 2006-05-08 21:09:15Z mike $"
3 dnl
4 dnl Common configuration stuff for the Common UNIX Printing System (CUPS).
5 dnl
6 dnl Copyright 1997-2006 by Easy Software Products, all rights reserved.
7 dnl
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
13 dnl at:
14 dnl
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
19 dnl
20 dnl Voice: (301) 373-9600
21 dnl EMail: cups-info@cups.org
22 dnl WWW: http://www.cups.org
23 dnl
24
25 dnl We need at least autoconf 2.50...
26 AC_PREREQ(2.50)
27
28 dnl Set the name of the config header file...
29 AC_CONFIG_HEADER(config.h)
30
31 dnl Versio number information...
32 CUPS_VERSION="1.3svn"
33 CUPS_REVISION=""
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'`"
36 fi
37
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")
42
43 dnl Default compiler flags...
44 CFLAGS="${CFLAGS:=}"
45 CPPFLAGS="${CPPFLAGS:=}"
46 CXXFLAGS="${CXXFLAGS:=}"
47 LDFLAGS="${LDFLAGS:=}"
48
49 dnl Checks for programs...
50 AC_PROG_AWK
51 AC_PROG_CC
52 AC_PROG_CXX
53 AC_PROG_CPP
54 AC_PROG_INSTALL
55 if test "$INSTALL" = "$ac_install_sh"; then
56 # Use full path to install-sh script...
57 INSTALL="`pwd`/install-sh -c"
58 fi
59 AC_PROG_RANLIB
60 AC_PATH_PROG(AR,ar)
61 AC_PATH_PROG(HTMLDOC,htmldoc)
62 AC_PATH_PROG(LD,ld)
63 AC_PATH_PROG(LN,ln)
64 AC_PATH_PROG(MV,mv)
65 AC_PATH_PROG(RM,rm)
66 AC_PATH_PROG(RMDIR,rmdir)
67 AC_PATH_PROG(SED,sed)
68 AC_PATH_PROG(STRIP,strip)
69
70 if test "x$AR" = x; then
71 AC_MSG_ERROR([Unable to find required library archive command.])
72 fi
73 if test "x$CC" = x; then
74 AC_MSG_ERROR([Unable to find required C compiler command.])
75 fi
76 if test "x$CXX" = x; then
77 AC_MSG_ERROR([Unable to find required C++ compiler command.])
78 fi
79
80 dnl Static library option...
81 INSTALLSTATIC=""
82 AC_ARG_ENABLE(static, [ --enable-static install static libraries, default=no])
83
84 if test x$enable_static = xyes; then
85 echo Installing static libraries...
86 INSTALLSTATIC="installstatic"
87 fi
88
89 AC_SUBST(INSTALLSTATIC)
90
91 dnl Check for libraries...
92 AC_SEARCH_LIBS(crypt, crypt)
93 AC_SEARCH_LIBS(getspent, sec gen)
94
95 LIBMALLOC=""
96 AC_ARG_ENABLE(mallinfo, [ --enable-mallinfo turn on malloc debug information, default=no])
97
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,
102 LIBS="$LIBS"
103 LIBMALLOC="-lmalloc"
104 AC_DEFINE(HAVE_MALLINFO),
105 LIBS="$LIBS")
106 fi
107 fi
108
109 AC_SUBST(LIBMALLOC)
110
111 dnl Check for libpaper support...
112 AC_ARG_ENABLE(libpaper, [ --enable-libpaper turn on libpaper support, default=no])
113
114 if test x$enable_libpaper = xyes; then
115 AC_CHECK_LIB(paper,systempapername,
116 AC_DEFINE(HAVE_LIBPAPER)
117 LIBPAPER="-lpaper",
118 LIBPAPER="")
119 else
120 LIBPAPER=""
121 fi
122 AC_SUBST(LIBPAPER)
123
124 dnl Checks for header files.
125 AC_HEADER_STDC
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
136 dnl Checks for string functions.
137 AC_CHECK_FUNCS(strdup strcasecmp strncasecmp strlcat strlcpy)
138 if test "$uname" = "HP-UX" -a "$uversion" = "1020"; then
139 echo Forcing snprintf emulation for HP-UX.
140 else
141 AC_CHECK_FUNCS(snprintf vsnprintf)
142 fi
143
144 dnl Checks for mkstemp and mkstemps functions.
145 AC_CHECK_FUNCS(mkstemp mkstemps)
146
147 dnl Check for geteuid function.
148 AC_CHECK_FUNCS(geteuid)
149
150 dnl Check for vsyslog function.
151 AC_CHECK_FUNCS(vsyslog)
152
153 dnl Checks for signal functions.
154 case "$uname" in
155 Linux | GNU)
156 # Do not use sigset on Linux or GNU HURD
157 ;;
158 *)
159 # Use sigset on other platforms, if available
160 AC_CHECK_FUNCS(sigset)
161 ;;
162 esac
163
164 AC_CHECK_FUNCS(sigaction)
165
166 dnl Checks for wait functions.
167 AC_CHECK_FUNCS(waitpid)
168 AC_CHECK_FUNCS(wait3)
169
170 dnl See if the tm structure has the tm_gmtoff member...
171 AC_MSG_CHECKING(for tm_gmtoff member in tm structure)
172 AC_TRY_COMPILE([#include <time.h>],[struct tm t;
173 int o = t.tm_gmtoff;],
174 AC_MSG_RESULT(yes)
175 AC_DEFINE(HAVE_TM_GMTOFF),
176 AC_MSG_RESULT(no))
177
178 dnl Flags for "ar" command...
179 case $uname in
180 Darwin* | *BSD*)
181 ARFLAGS="-rcv"
182 ;;
183 *)
184 ARFLAGS="crvs"
185 ;;
186 esac
187
188 AC_SUBST(ARFLAGS)
189
190 dnl Extra platform-specific libraries...
191 BACKLIBS=""
192 CUPSDLIBS=""
193 DBUSDIR=""
194
195 AC_ARG_ENABLE(dbus, [ --enable-dbus enable DBUS support, default=auto])
196
197 case $uname in
198 Darwin*)
199 BACKLIBS="-framework IOKit"
200 CUPSDLIBS="-framework IOKit -framework SystemConfiguration"
201 LIBS="-framework CoreFoundation $LIBS"
202
203 dnl Check for CFLocaleCreateCanonicalLocaleIdentifierFromString...
204 AC_MSG_CHECKING(for CFLocaleCreateCanonicalLocaleIdentifierFromString)
205 if test "$uname" = "Darwin" -a $uversion -ge 70; then
206 AC_DEFINE(HAVE_CF_LOCALE_ID)
207 AC_MSG_RESULT(yes)
208 else
209 AC_MSG_RESULT(no)
210 fi
211
212 dnl Check for framework headers...
213 AC_CHECK_HEADER(CoreFoundation/CoreFoundation.h,AC_DEFINE(HAVE_COREFOUNDATION_H))
214 AC_CHECK_HEADER(CoreFoundation/CFPriv.h,AC_DEFINE(HAVE_CFPRIV_H))
215 AC_CHECK_HEADER(CoreFoundation/CFBundlePriv.h,AC_DEFINE(HAVE_CFBUNDLEPRIV_H))
216
217 dnl Check for the new membership functions in MacOSX 10.4 (Tiger)...
218 AC_CHECK_HEADER(membership.h,AC_DEFINE(HAVE_MEMBERSHIP_H))
219 AC_CHECK_FUNCS(mbr_uid_to_uuid)
220
221 dnl Check for notify_post support
222 AC_CHECK_HEADER(notify.h,AC_DEFINE(HAVE_NOTIFY_H))
223 AC_CHECK_FUNCS(notify_post)
224 ;;
225
226 Linux*)
227 dnl Check for DBUS support
228 if test "x$enable_dbus" != xno; then
229 AC_PATH_PROG(PKGCONFIG, pkg-config)
230 if test "x$PKGCONFIG" != x; then
231 AC_MSG_CHECKING(for DBUS)
232 if $PKGCONFIG --exists dbus-1; then
233 AC_MSG_RESULT(yes)
234 AC_CHECK_LIB(dbus-1,
235 dbus_message_iter_init_append,
236 AC_DEFINE(HAVE_DBUS)
237 CFLAGS="$CFLAGS `$PKGCONFIG --cflags dbus-1` -DDBUS_API_SUBJECT_TO_CHANGE"
238 CUPSDLIBS="`$PKGCONFIG --libs dbus-1`"
239 DBUSDIR="/etc/dbus-1/system.d")
240 else
241 AC_MSG_RESULT(no)
242 fi
243 fi
244 fi
245 ;;
246 esac
247
248 dnl See if we have POSIX ACL support...
249 SAVELIBS="$LIBS"
250 LIBS=""
251 AC_SEARCH_LIBS(acl_init, acl, AC_DEFINE(HAVE_ACL_INIT))
252 CUPSDLIBS="$CUPSDLIBS $LIBS"
253 LIBS="$SAVELIBS"
254
255 AC_SUBST(BACKLIBS)
256 AC_SUBST(CUPSDLIBS)
257 AC_SUBST(DBUSDIR)
258
259 dnl New default port definition for IPP...
260 AC_ARG_WITH(ipp-port, [ --with-ipp-port set default port number for IPP ],
261 DEFAULT_IPP_PORT="$withval",
262 DEFAULT_IPP_PORT="631")
263
264 AC_SUBST(DEFAULT_IPP_PORT)
265 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT)
266
267 dnl
268 dnl End of "$Id: cups-common.m4 5502 2006-05-08 21:09:15Z mike $".
269 dnl