]> 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 5288 2006-03-14 02:38:07Z 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.2svn"
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(install_static, [ --enable-static install static libraries, default=no])
83
84 if test x$enable_install_static = xyes; then
85 INSTALLSTATIC="installstatic"
86 fi
87
88 AC_SUBST(INSTALLSTATIC)
89
90 dnl Check for libraries...
91 AC_SEARCH_LIBS(crypt, crypt)
92 AC_SEARCH_LIBS(getspent, sec gen)
93
94 LIBMALLOC=""
95 AC_ARG_ENABLE(mallinfo, [ --enable-mallinfo turn on malloc debug information, default=no])
96
97 if test x$enable_mallinfo = xyes; then
98 AC_CHECK_LIB(c,mallinfo,LIBS="$LIBS"; AC_DEFINE(HAVE_MALLINFO),LIBS="$LIBS")
99 if test "$ac_cv_lib_c_mallinfo" = "no"; then
100 AC_CHECK_LIB(malloc,mallinfo,
101 LIBS="$LIBS"
102 LIBMALLOC="-lmalloc"
103 AC_DEFINE(HAVE_MALLINFO),
104 LIBS="$LIBS")
105 fi
106 fi
107
108 AC_SUBST(LIBMALLOC)
109
110 dnl Check for libpaper support...
111 AC_ARG_ENABLE(libpaper, [ --enable-libpaper turn on libpaper support, default=no])
112
113 if test x$enable_libpaper = xyes; then
114 AC_CHECK_LIB(paper,systempapername,
115 AC_DEFINE(HAVE_LIBPAPER)
116 LIBPAPER="-lpaper",
117 LIBPAPER="")
118 else
119 LIBPAPER=""
120 fi
121 AC_SUBST(LIBPAPER)
122
123 dnl Checks for header files.
124 AC_HEADER_STDC
125 AC_CHECK_HEADER(crypt.h,AC_DEFINE(HAVE_CRYPT_H))
126 AC_CHECK_HEADER(langinfo.h,AC_DEFINE(HAVE_LANGINFO_H))
127 AC_CHECK_HEADER(malloc.h,AC_DEFINE(HAVE_MALLOC_H))
128 AC_CHECK_HEADER(shadow.h,AC_DEFINE(HAVE_SHADOW_H))
129 AC_CHECK_HEADER(string.h,AC_DEFINE(HAVE_STRING_H))
130 AC_CHECK_HEADER(strings.h,AC_DEFINE(HAVE_STRINGS_H))
131 AC_CHECK_HEADER(bstring.h,AC_DEFINE(HAVE_BSTRING_H))
132 AC_CHECK_HEADER(usersec.h,AC_DEFINE(HAVE_USERSEC_H))
133 AC_CHECK_HEADER(sys/ioctl.h,AC_DEFINE(HAVE_SYS_IOCTL_H))
134
135 dnl Checks for string functions.
136 AC_CHECK_FUNCS(strdup strcasecmp strncasecmp strlcat strlcpy)
137 if test "$uname" = "HP-UX" -a "$uversion" = "1020"; then
138 echo Forcing snprintf emulation for HP-UX.
139 else
140 AC_CHECK_FUNCS(snprintf vsnprintf)
141 fi
142
143 dnl Checks for mkstemp and mkstemps functions.
144 AC_CHECK_FUNCS(mkstemp mkstemps)
145
146 dnl Check for geteuid function.
147 AC_CHECK_FUNCS(geteuid)
148
149 dnl Check for vsyslog function.
150 AC_CHECK_FUNCS(vsyslog)
151
152 dnl Checks for signal functions.
153 case "$uname" in
154 Linux | GNU)
155 # Do not use sigset on Linux or GNU HURD
156 ;;
157 *)
158 # Use sigset on other platforms, if available
159 AC_CHECK_FUNCS(sigset)
160 ;;
161 esac
162
163 AC_CHECK_FUNCS(sigaction)
164
165 dnl Checks for wait functions.
166 AC_CHECK_FUNCS(waitpid)
167 AC_CHECK_FUNCS(wait3)
168
169 dnl See if the tm structure has the tm_gmtoff member...
170 AC_MSG_CHECKING(for tm_gmtoff member in tm structure)
171 AC_TRY_COMPILE([#include <time.h>],[struct tm t;
172 int o = t.tm_gmtoff;],
173 AC_MSG_RESULT(yes)
174 AC_DEFINE(HAVE_TM_GMTOFF),
175 AC_MSG_RESULT(no))
176
177 dnl Flags for "ar" command...
178 case $uname in
179 Darwin* | *BSD*)
180 ARFLAGS="-rcv"
181 ;;
182 *)
183 ARFLAGS="crvs"
184 ;;
185 esac
186
187 AC_SUBST(ARFLAGS)
188
189 dnl Extra platform-specific libraries...
190 BACKLIBS=""
191 CUPSDLIBS=""
192 DBUSDIR=""
193
194 AC_ARG_ENABLE(dbus, [ --enable-dbus enable DBUS support, default=auto])
195
196 case $uname in
197 Darwin*)
198 BACKLIBS="-framework IOKit"
199 CUPSDLIBS="-framework IOKit -framework SystemConfiguration"
200 LIBS="-framework CoreFoundation $LIBS"
201
202 dnl Check for CFLocaleCreateCanonicalLocaleIdentifierFromString...
203 AC_MSG_CHECKING(for CFLocaleCreateCanonicalLocaleIdentifierFromString)
204 if test "$uname" = "Darwin" -a $uversion -ge 70; then
205 AC_DEFINE(HAVE_CF_LOCALE_ID)
206 AC_MSG_RESULT(yes)
207 else
208 AC_MSG_RESULT(no)
209 fi
210
211 dnl Check for framework headers...
212 AC_CHECK_HEADER(CoreFoundation/CoreFoundation.h,AC_DEFINE(HAVE_COREFOUNDATION_H))
213 AC_CHECK_HEADER(CoreFoundation/CFPriv.h,AC_DEFINE(HAVE_CFPRIV_H))
214 AC_CHECK_HEADER(CoreFoundation/CFBundlePriv.h,AC_DEFINE(HAVE_CFBUNDLEPRIV_H))
215
216 dnl Check for the new membership functions in MacOSX 10.4 (Tiger)...
217 AC_CHECK_HEADER(membership.h,AC_DEFINE(HAVE_MEMBERSHIP_H))
218 AC_CHECK_FUNCS(mbr_uid_to_uuid)
219
220 dnl Check for notify_post support
221 AC_CHECK_HEADER(notify.h,AC_DEFINE(HAVE_NOTIFY_H))
222 AC_CHECK_FUNCS(notify_post)
223 ;;
224
225 Linux*)
226 dnl Check for DBUS support
227 if test "x$enable_dbus" != xno; then
228 AC_PATH_PROG(PKGCONFIG, pkg-config)
229 if test "x$PKGCONFIG" != x; then
230 AC_MSG_CHECKING(for DBUS)
231 if $PKGCONFIG --exists dbus-1; then
232 AC_MSG_RESULT(yes)
233 AC_CHECK_LIB(dbus-1,
234 dbus_message_iter_init_append,
235 AC_DEFINE(HAVE_DBUS)
236 CFLAGS="$CFLAGS `$PKGCONFIG --cflags dbus-1` -DDBUS_API_SUBJECT_TO_CHANGE"
237 CUPSDLIBS="`$PKGCONFIG --libs dbus-1`"
238 DBUSDIR="/etc/dbus-1/system.d")
239 else
240 AC_MSG_RESULT(no)
241 fi
242 fi
243 fi
244 ;;
245 esac
246
247 dnl See if we have POSIX ACL support...
248 SAVELIBS="$LIBS"
249 LIBS=""
250 AC_SEARCH_LIBS(acl_init, acl, AC_DEFINE(HAVE_ACL_INIT))
251 CUPSDLIBS="$CUPSDLIBS $LIBS"
252 LIBS="$SAVELIBS"
253
254 AC_SUBST(BACKLIBS)
255 AC_SUBST(CUPSDLIBS)
256 AC_SUBST(DBUSDIR)
257
258 dnl New default port definition for IPP...
259 AC_ARG_WITH(ipp-port, [ --with-ipp-port set default port number for IPP ],
260 DEFAULT_IPP_PORT="$withval",
261 DEFAULT_IPP_PORT="631")
262
263 AC_SUBST(DEFAULT_IPP_PORT)
264 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT)
265
266 dnl
267 dnl End of "$Id: cups-common.m4 5288 2006-03-14 02:38:07Z mike $".
268 dnl