dnl
dnl Common configuration stuff for CUPS.
dnl
-dnl Copyright 2007-2011 by Apple Inc.
+dnl Copyright 2007-2013 by Apple Inc.
dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
AC_CONFIG_HEADER(config.h)
dnl Version number information...
-CUPS_VERSION="1.6svn"
+CUPS_VERSION="2.0svn"
CUPS_REVISION=""
if test -z "$CUPS_REVISION" -a -d .svn; then
CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
dnl Checks for programs...
AC_PROG_AWK
-AC_PROG_CC
+AC_PROG_CC(clang cc gcc)
AC_PROG_CPP
-AC_PROG_CXX
+AC_PROG_CXX(clang++ c++ g++)
AC_PROG_RANLIB
AC_PATH_PROG(AR,ar)
AC_PATH_PROG(CHMOD,chmod)
-AC_PATH_PROG(HTMLDOC,htmldoc)
+AC_PATH_PROG(GZIP,gzip)
AC_PATH_PROG(LD,ld)
AC_PATH_PROG(LN,ln)
AC_PATH_PROG(MV,mv)
AC_PATH_PROG(PKGCONFIG, pkg-config)
dnl Check for libraries...
-AC_SEARCH_LIBS(fmod, m)
+AC_SEARCH_LIBS(abs, m, AC_DEFINE(HAVE_ABS))
AC_SEARCH_LIBS(crypt, crypt)
+AC_SEARCH_LIBS(fmod, m)
AC_SEARCH_LIBS(getspent, sec gen)
LIBMALLOC=""
AC_CHECK_HEADER(langinfo.h,AC_DEFINE(HAVE_LANGINFO_H))
AC_CHECK_HEADER(malloc.h,AC_DEFINE(HAVE_MALLOC_H))
AC_CHECK_HEADER(shadow.h,AC_DEFINE(HAVE_SHADOW_H))
+AC_CHECK_HEADER(stdint.h,AC_DEFINE(HAVE_STDINT_H))
AC_CHECK_HEADER(string.h,AC_DEFINE(HAVE_STRING_H))
AC_CHECK_HEADER(strings.h,AC_DEFINE(HAVE_STRINGS_H))
AC_CHECK_HEADER(bstring.h,AC_DEFINE(HAVE_BSTRING_H))
SAVELIBS="$SAVELIBS $LIBS")
LIBS="$SAVELIBS")
+dnl Checks for Mini-XML (www.minixml.org)...
+LIBMXML=""
+AC_CHECK_HEADER(mxml.h,
+ SAVELIBS="$LIBS"
+ AC_SEARCH_LIBS(mmxlNewElement,mxml,
+ AC_DEFINE(HAVE_MXML_H)
+ LIBMXML="-lmxml")
+ LIBS="$SAVELIBS")
+AC_SUBST(LIBMXML)
+
dnl Checks for statfs and its many headers...
AC_CHECK_HEADER(sys/mount.h,AC_DEFINE(HAVE_SYS_MOUNT_H))
AC_CHECK_HEADER(sys/statfs.h,AC_DEFINE(HAVE_SYS_STATFS_H))
AC_ARG_ENABLE(libusb, [ --enable-libusb use libusb for USB printing])
LIBUSB=""
+USBQUIRKS=""
AC_SUBST(LIBUSB)
-
-if test x$enable_libusb = xyes; then
- check_libusb=yes
-elif test x$enable_libusb != xno -a $uname != Darwin; then
- check_libusb=yes
-else
- check_libusb=no
-fi
-
-if test $check_libusb = yes; then
- AC_CHECK_LIB(usb, usb_get_string_simple,[
- AC_CHECK_HEADER(usb.h,
- AC_DEFINE(HAVE_USB_H)
- LIBUSB="-lusb")])
+AC_SUBST(USBQUIRKS)
+
+if test "x$PKGCONFIG" != x; then
+ if test x$enable_libusb = xyes -o $uname != Darwin; then
+ AC_MSG_CHECKING(for libusb-1.0)
+ if $PKGCONFIG --exists libusb-1.0; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_LIBUSB)
+ CFLAGS="$CFLAGS `$PKGCONFIG --cflags libusb-1.0`"
+ LIBUSB="`$PKGCONFIG --libs libusb-1.0`"
+ USBQUIRKS="\$(DATADIR)/usb"
+ else
+ AC_MSG_RESULT(no)
+ fi
+ fi
+elif test x$enable_libusb = xyes; then
+ AC_MSG_ERROR(Need pkg-config to enable libusb support.)
fi
dnl See if we have libwrap for TCP wrappers support...
fi
dnl ZLIB
+INSTALL_GZIP=""
LIBZ=""
AC_CHECK_HEADER(zlib.h,
AC_CHECK_LIB(z, gzgets,
AC_DEFINE(HAVE_LIBZ)
LIBZ="-lz"
- LIBS="$LIBS -lz"))
+ LIBS="$LIBS -lz"
+ AC_CHECK_LIB(z, inflateCopy, AC_DEFINE(HAVE_INFLATECOPY))
+ if test "x$GZIP" != z; then
+ INSTALL_GZIP="-z"
+ fi))
+AC_SUBST(INSTALL_GZIP)
AC_SUBST(LIBZ)
dnl Flags for "ar" command...
DBUSDIR=""
fi
-AC_ARG_ENABLE(dbus, [ --enable-dbus build with DBUS support])
+AC_ARG_ENABLE(dbus, [ --disable-dbus build without DBUS support])
AC_ARG_WITH(dbusdir, [ --with-dbusdir set DBUS configuration directory ],
DBUSDIR="$withval")
dnl Extra platform-specific libraries...
CUPS_DEFAULT_PRINTOPERATOR_AUTH="@SYSTEM"
+CUPS_DEFAULT_SYSTEM_AUTHKEY=""
CUPS_SYSTEM_AUTHKEY=""
INSTALLXPC=""
dnl Check for dynamic store function...
AC_CHECK_FUNCS(SCDynamicStoreCopyComputerName)
- dnl Check for new ColorSync APIs...
- SAVELIBS="$LIBS"
- LIBS="$LIBS -framework ApplicationServices"
- AC_CHECK_FUNCS(ColorSyncRegisterDevice)
- LIBS="$SAVELIBS"
-
dnl Check for the new membership functions in MacOSX 10.4...
AC_CHECK_HEADER(membership.h,AC_DEFINE(HAVE_MEMBERSHIP_H))
AC_CHECK_HEADER(membershipPriv.h,AC_DEFINE(HAVE_MEMBERSHIPPRIV_H))
if test "x$default_adminkey" != xdefault; then
CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey $default_adminkey"
+ CUPS_DEFAULT_SYSTEM_AUTHKEY="$default_adminkey"
elif grep -q system.print.operator /etc/authorization; then
CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey system.print.admin"
+ CUPS_DEFAULT_SYSTEM_AUTHKEY="system.print.admin"
else
CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey system.preferences"
+ CUPS_DEFAULT_SYSTEM_AUTHKEY="system.preferences"
fi
if test "x$default_operkey" != xdefault; then
dnl Check for sandbox/Seatbelt support
if test $uversion -ge 100; then
- AC_CHECK_HEADER(sandbox.h,AC_DEFINE(HAVE_SANDBOX_H))
+ AC_CHECK_HEADER(sandbox.h,AC_DEFINE(HAVE_SANDBOX_H))
+ fi
+ if test $uversion -ge 110 -a $uversion -lt 120; then
+ # Broken public headers in 10.7.x...
+ AC_MSG_CHECKING(for sandbox/private.h presence)
+ if test -f /usr/local/include/sandbox/private.h; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR(Run 'sudo mkdir -p /usr/local/include/sandbox' and 'sudo touch /usr/local/include/sandbox/private.h' to build CUPS.)
+ fi
fi
dnl Check for XPC support
AC_CHECK_HEADER(xpc/xpc.h,
AC_DEFINE(HAVE_XPC)
INSTALLXPC="install-xpc")
+ AC_CHECK_HEADER(xpc/private.h,
+ AC_DEFINE(HAVE_XPC_PRIVATE_H))
;;
esac
AC_SUBST(CUPS_DEFAULT_PRINTOPERATOR_AUTH)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_PRINTOPERATOR_AUTH, "$CUPS_DEFAULT_PRINTOPERATOR_AUTH")
+AC_DEFINE_UNQUOTED(CUPS_DEFAULT_SYSTEM_AUTHKEY, "$CUPS_DEFAULT_SYSTEM_AUTHKEY")
AC_SUBST(CUPS_SYSTEM_AUTHKEY)
AC_SUBST(INSTALLXPC)