]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - config-scripts/cups-common.m4
Merge changes from CUPS 1.6svn-r10437.
[thirdparty/cups.git] / config-scripts / cups-common.m4
index e1b6fc6f5d8436d0cf9e40d4e0f3cabfa6c7547a..de6996d47237c38cc5c574af344f159268f33d1d 100644 (file)
@@ -3,7 +3,7 @@ dnl "$Id: cups-common.m4 8781 2009-08-28 17:34:54Z mike $"
 dnl
 dnl   Common configuration stuff for CUPS.
 dnl
-dnl   Copyright 2007-2011 by Apple Inc.
+dnl   Copyright 2007-2012 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
@@ -20,7 +20,7 @@ dnl Set the name of the config header file...
 AC_CONFIG_HEADER(config.h)
 
 dnl Version number information...
-CUPS_VERSION="1.5svn"
+CUPS_VERSION="1.6svn"
 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'`"
@@ -50,6 +50,7 @@ AC_PROG_CXX
 AC_PROG_RANLIB
 AC_PATH_PROG(AR,ar)
 AC_PATH_PROG(CHMOD,chmod)
+AC_PATH_PROG(GZIP,gzip)
 AC_PATH_PROG(HTMLDOC,htmldoc)
 AC_PATH_PROG(LD,ld)
 AC_PATH_PROG(LN,ln)
@@ -92,7 +93,9 @@ dnl Check for pkg-config, which is used for some other tests later on...
 AC_PATH_PROG(PKGCONFIG, pkg-config)
 
 dnl Check for libraries...
+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=""
@@ -123,6 +126,7 @@ AC_SUBST(LIBPAPER)
 
 dnl Checks for header files.
 AC_HEADER_STDC
+AC_CHECK_HEADER(stdlib.h,AC_DEFINE(HAVE_STDLIB_H))
 AC_CHECK_HEADER(crypt.h,AC_DEFINE(HAVE_CRYPT_H))
 AC_CHECK_HEADER(langinfo.h,AC_DEFINE(HAVE_LANGINFO_H))
 AC_CHECK_HEADER(malloc.h,AC_DEFINE(HAVE_MALLOC_H))
@@ -145,6 +149,16 @@ AC_CHECK_HEADER(iconv.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))
@@ -153,7 +167,7 @@ AC_CHECK_HEADER(sys/vfs.h,AC_DEFINE(HAVE_SYS_VFS_H))
 AC_CHECK_FUNCS(statfs statvfs)
 
 dnl Checks for string functions.
-AC_CHECK_FUNCS(strdup strcasecmp strncasecmp strlcat strlcpy)
+AC_CHECK_FUNCS(strdup strlcat strlcpy)
 if test "$uname" = "HP-UX" -a "$uversion" = "1020"; then
        echo Forcing snprintf emulation for HP-UX.
 else
@@ -166,6 +180,9 @@ AC_CHECK_FUNCS(random lrand48 arc4random)
 dnl Check for geteuid function.
 AC_CHECK_FUNCS(geteuid)
 
+dnl Check for setpgid function.
+AC_CHECK_FUNCS(setpgid)
+
 dnl Check for vsyslog function.
 AC_CHECK_FUNCS(vsyslog)
 
@@ -210,19 +227,20 @@ AC_ARG_ENABLE(libusb, [  --enable-libusb         use libusb for USB printing])
 LIBUSB=""
 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")])
+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`"
+               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...
@@ -238,6 +256,20 @@ if test x$enable_tcp_wrappers = xyes; then
                        LIBWRAP="-lwrap")])
 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"
+       if test "x$GZIP" != z; then
+               INSTALL_GZIP="-z"
+       fi))
+AC_SUBST(INSTALL_GZIP)
+AC_SUBST(LIBZ)
+
 dnl Flags for "ar" command...
 case $uname in
         Darwin* | *BSD*)
@@ -306,11 +338,10 @@ AC_SUBST(DBUS_NOTIFIERLIBS)
 dnl Extra platform-specific libraries...
 CUPS_DEFAULT_PRINTOPERATOR_AUTH="@SYSTEM"
 CUPS_SYSTEM_AUTHKEY=""
-LEGACY_BACKENDS="parallel"
+INSTALLXPC=""
 
 case $uname in
         Darwin*)
-               LEGACY_BACKENDS=""
                 BACKLIBS="$BACKLIBS -framework IOKit"
                 SERVERLIBS="$SERVERLIBS -framework IOKit -weak_framework ApplicationServices"
                 LIBS="-framework SystemConfiguration -framework CoreFoundation -framework Security $LIBS"
@@ -320,16 +351,11 @@ case $uname in
                AC_CHECK_HEADER(CoreFoundation/CoreFoundation.h,AC_DEFINE(HAVE_COREFOUNDATION_H))
                AC_CHECK_HEADER(CoreFoundation/CFPriv.h,AC_DEFINE(HAVE_CFPRIV_H))
                AC_CHECK_HEADER(CoreFoundation/CFBundlePriv.h,AC_DEFINE(HAVE_CFBUNDLEPRIV_H))
+               AC_CHECK_HEADER(IOKit/pwr_mgt/IOPMLibPrivate.h,AC_DEFINE(HAVE_IOKIT_PWR_MGT_IOPMLIBPRIVATE_H))
 
                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))
@@ -352,7 +378,7 @@ case $uname in
                AC_ARG_WITH(operkey, [  --with-operkey          set the default operator @AUTHKEY value],
                        default_operkey="$withval",
                        default_operkey="default")
+
                AC_CHECK_HEADER(Security/Authorization.h, [
                        AC_DEFINE(HAVE_AUTHORIZATION_H)
 
@@ -375,15 +401,32 @@ case $uname in
 
                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; then
+                       # Broken public headers in 10.7...
+                       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_SUBST(CUPS_SYSTEM_AUTHKEY)
-AC_SUBST(LEGACY_BACKENDS)
+AC_SUBST(INSTALLXPC)
 
 dnl Check for build components
 COMPONENTS="all"
@@ -395,7 +438,7 @@ AC_ARG_WITH(components, [  --with-components       set components to build:
 
 case "$COMPONENTS" in
        all)
-               BUILDDIRS="filter backend berkeley cgi-bin driver monitor notifier ppdc scheduler systemv conf data locale man doc examples templates"
+               BUILDDIRS="filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates"
                ;;
 
        core)