]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - config-scripts/cups-common.m4
Merge changes from CUPS 1.5svn-r9641
[thirdparty/cups.git] / config-scripts / cups-common.m4
index 16e6b2b0e6732d563021012da580afab239b29bf..5d4fe5bd6b15c9ee773a43878e22dc66695b6944 100644 (file)
@@ -1,9 +1,9 @@
 dnl
-dnl "$Id: cups-common.m4 7695 2008-06-26 00:46:24Z mike $"
+dnl "$Id: cups-common.m4 8781 2009-08-28 17:34:54Z mike $"
 dnl
-dnl   Common configuration stuff for the Common UNIX Printing System (CUPS).
+dnl   Common configuration stuff for CUPS.
 dnl
-dnl   Copyright 2007-2008 by Apple Inc.
+dnl   Copyright 2007-2011 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,14 +20,19 @@ dnl Set the name of the config header file...
 AC_CONFIG_HEADER(config.h)
 
 dnl Version number information...
-CUPS_VERSION="1.4svn"
+CUPS_VERSION="1.5svn"
 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'`"
 fi
+CUPS_BUILD="cups-$CUPS_VERSION"
+
+AC_ARG_WITH(cups_build, [  --with-cups-build       set "cups-config --build" string ],
+       CUPS_BUILD="$withval")
 
 AC_SUBST(CUPS_VERSION)
 AC_SUBST(CUPS_REVISION)
+AC_SUBST(CUPS_BUILD)
 AC_DEFINE_UNQUOTED(CUPS_SVERSION, "CUPS v$CUPS_VERSION$CUPS_REVISION")
 AC_DEFINE_UNQUOTED(CUPS_MINIMAL, "CUPS/$CUPS_VERSION$CUPS_REVISION")
 
@@ -44,6 +49,7 @@ AC_PROG_CPP
 AC_PROG_CXX
 AC_PROG_RANLIB
 AC_PATH_PROG(AR,ar)
+AC_PATH_PROG(CHMOD,chmod)
 AC_PATH_PROG(HTMLDOC,htmldoc)
 AC_PATH_PROG(LD,ld)
 AC_PATH_PROG(LN,ln)
@@ -51,9 +57,16 @@ AC_PATH_PROG(MV,mv)
 AC_PATH_PROG(RM,rm)
 AC_PATH_PROG(RMDIR,rmdir)
 AC_PATH_PROG(SED,sed)
+AC_PATH_PROG(XDGOPEN,xdg-open)
+if test "x$XDGOPEN" = x; then
+       CUPS_HTMLVIEW="htmlview"
+else
+       CUPS_HTMLVIEW="$XDGOPEN"
+fi
+AC_SUBST(CUPS_HTMLVIEW)
 
 AC_MSG_CHECKING(for install-sh script)
-INSTALL="`pwd`/install-sh -c"
+INSTALL="`pwd`/install-sh"
 AC_SUBST(INSTALL)
 AC_MSG_RESULT(using $INSTALL)
 
@@ -66,7 +79,7 @@ fi
 
 dnl Static library option...
 INSTALLSTATIC=""
-AC_ARG_ENABLE(static, [  --enable-static         install static libraries, default=no])
+AC_ARG_ENABLE(static, [  --enable-static         install static libraries])
 
 if test x$enable_static = xyes; then
        echo Installing static libraries...
@@ -75,12 +88,15 @@ fi
 
 AC_SUBST(INSTALLSTATIC)
 
+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(crypt, crypt)
 AC_SEARCH_LIBS(getspent, sec gen)
 
 LIBMALLOC=""
-AC_ARG_ENABLE(mallinfo, [  --enable-mallinfo       turn on malloc debug information, default=no])
+AC_ARG_ENABLE(mallinfo, [  --enable-mallinfo       build with malloc debug logging])
 
 if test x$enable_mallinfo = xyes; then
        SAVELIBS="$LIBS"
@@ -93,7 +109,7 @@ fi
 AC_SUBST(LIBMALLOC)
 
 dnl Check for libpaper support...
-AC_ARG_ENABLE(libpaper, [  --enable-libpaper       turn on libpaper support, default=no])
+AC_ARG_ENABLE(libpaper, [  --enable-libpaper       build with libpaper support])
 
 if test x$enable_libpaper = xyes; then
        AC_CHECK_LIB(paper,systempapername,
@@ -120,6 +136,22 @@ AC_CHECK_HEADER(sys/param.h,AC_DEFINE(HAVE_SYS_PARAM_H))
 AC_CHECK_HEADER(sys/ucred.h,AC_DEFINE(HAVE_SYS_UCRED_H))
 AC_CHECK_HEADER(scsi/sg.h,AC_DEFINE(HAVE_SCSI_SG_H))
 
+dnl Checks for iconv.h and iconv_open
+AC_CHECK_HEADER(iconv.h,
+       SAVELIBS="$LIBS"
+       LIBS=""
+       AC_SEARCH_LIBS(iconv_open,iconv,
+               AC_DEFINE(HAVE_ICONV_H)
+               SAVELIBS="$SAVELIBS $LIBS")
+       LIBS="$SAVELIBS")
+
+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_CHECK_HEADER(sys/statvfs.h,AC_DEFINE(HAVE_SYS_STATVFS_H))
+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)
 if test "$uname" = "HP-UX" -a "$uversion" = "1020"; then
@@ -129,10 +161,7 @@ else
 fi
 
 dnl Check for random number functions...
-AC_CHECK_FUNCS(random mrand48 lrand48)
-
-dnl Checks for mkstemp and mkstemps functions.
-AC_CHECK_FUNCS(mkstemp mkstemps)
+AC_CHECK_FUNCS(random lrand48 arc4random)
 
 dnl Check for geteuid function.
 AC_CHECK_FUNCS(geteuid)
@@ -164,11 +193,19 @@ AC_TRY_COMPILE([#include <time.h>],[struct tm t;
        AC_DEFINE(HAVE_TM_GMTOFF),
        AC_MSG_RESULT(no))
 
+dnl See if the stat structure has the st_gen member...
+AC_MSG_CHECKING(for st_gen member in stat structure)
+AC_TRY_COMPILE([#include <sys/stat.h>],[struct stat t;
+       int o = t.st_gen;],
+       AC_MSG_RESULT(yes)
+       AC_DEFINE(HAVE_ST_GEN),
+       AC_MSG_RESULT(no))
+
 dnl See if we have the removefile(3) function for securely removing files
 AC_CHECK_FUNCS(removefile)
 
 dnl See if we have libusb...
-AC_ARG_ENABLE(libusb, [  --enable-libusb         use libusb for USB printing, default=auto])
+AC_ARG_ENABLE(libusb, [  --enable-libusb         use libusb for USB printing])
 
 LIBUSB=""
 AC_SUBST(LIBUSB)
@@ -182,14 +219,14 @@ else
 fi
 
 if test $check_libusb = yes; then
-       AC_CHECK_LIB(usb, usb_init,[
+       AC_CHECK_LIB(usb, usb_get_string_simple,[
                AC_CHECK_HEADER(usb.h,
                        AC_DEFINE(HAVE_USB_H)
                        LIBUSB="-lusb")])
 fi
 
 dnl See if we have libwrap for TCP wrappers support...
-AC_ARG_ENABLE(tcp_wrappers, [  --enable-tcp-wrappers   use libwrap for TCP wrappers support, default=no])
+AC_ARG_ENABLE(tcp_wrappers, [  --enable-tcp-wrappers   use libwrap for TCP wrappers support])
 
 LIBWRAP=""
 AC_SUBST(LIBWRAP)
@@ -215,15 +252,18 @@ AC_SUBST(ARFLAGS)
 
 dnl Prep libraries specifically for cupsd and backends...
 BACKLIBS=""
-CUPSDLIBS=""
+SERVERLIBS=""
 AC_SUBST(BACKLIBS)
-AC_SUBST(CUPSDLIBS)
+AC_SUBST(SERVERLIBS)
 
 dnl See if we have POSIX ACL support...
 SAVELIBS="$LIBS"
 LIBS=""
-AC_SEARCH_LIBS(acl_init, acl, AC_DEFINE(HAVE_ACL_INIT))
-CUPSDLIBS="$CUPSDLIBS $LIBS"
+AC_ARG_ENABLE(acl, [  --enable-acl            build with POSIX ACL support])
+if test "x$enable_acl" != xno; then
+       AC_SEARCH_LIBS(acl_init, acl, AC_DEFINE(HAVE_ACL_INIT))
+       SERVERLIBS="$SERVERLIBS $LIBS"
+fi
 LIBS="$SAVELIBS"
 
 dnl Check for DBUS support
@@ -233,55 +273,72 @@ else
        DBUSDIR=""
 fi
 
-AC_ARG_ENABLE(dbus, [  --enable-dbus           enable DBUS support, default=auto])
+AC_ARG_ENABLE(dbus, [  --enable-dbus           build with DBUS support])
 AC_ARG_WITH(dbusdir, [  --with-dbusdir          set DBUS configuration directory ],
        DBUSDIR="$withval")
 
-if test "x$enable_dbus" != xno; then
-       AC_PATH_PROG(PKGCONFIG, pkg-config)
-       if test "x$PKGCONFIG" != x; then
-               AC_MSG_CHECKING(for DBUS)
-               if $PKGCONFIG --exists dbus-1; then
-                       AC_MSG_RESULT(yes)
-                       AC_DEFINE(HAVE_DBUS)
-                       CFLAGS="$CFLAGS `$PKGCONFIG --cflags dbus-1` -DDBUS_API_SUBJECT_TO_CHANGE"
-                       CUPSDLIBS="$CUPSDLIBS `$PKGCONFIG --libs dbus-1`"
-                       AC_CHECK_LIB(dbus-1,
-                           dbus_message_iter_init_append,
-                           AC_DEFINE(HAVE_DBUS_MESSAGE_ITER_INIT_APPEND),,
-                           `$PKGCONFIG --libs dbus-1`)
-               else
-                       AC_MSG_RESULT(no)
-               fi
+DBUS_NOTIFIER=""
+DBUS_NOTIFIERLIBS=""
+
+if test "x$enable_dbus" != xno -a "x$PKGCONFIG" != x; then
+       AC_MSG_CHECKING(for DBUS)
+       if $PKGCONFIG --exists dbus-1; then
+               AC_MSG_RESULT(yes)
+               AC_DEFINE(HAVE_DBUS)
+               CFLAGS="$CFLAGS `$PKGCONFIG --cflags dbus-1` -DDBUS_API_SUBJECT_TO_CHANGE"
+               SERVERLIBS="$SERVERLIBS `$PKGCONFIG --libs dbus-1`"
+               DBUS_NOTIFIER="dbus"
+               DBUS_NOTIFIERLIBS="`$PKGCONFIG --libs dbus-1`"
+               SAVELIBS="$LIBS"
+               LIBS="$LIBS $DBUS_NOTIFIERLIBS"
+               AC_CHECK_FUNC(dbus_message_iter_init_append,
+                             AC_DEFINE(HAVE_DBUS_MESSAGE_ITER_INIT_APPEND))
+               LIBS="$SAVELIBS"
+       else
+               AC_MSG_RESULT(no)
        fi
 fi
 
 AC_SUBST(DBUSDIR)
+AC_SUBST(DBUS_NOTIFIER)
+AC_SUBST(DBUS_NOTIFIERLIBS)
 
 dnl Extra platform-specific libraries...
-CUPS_DEFAULT_PRINTADMIN_AUTH="@SYSTEM"
+CUPS_DEFAULT_PRINTOPERATOR_AUTH="@SYSTEM"
 CUPS_SYSTEM_AUTHKEY=""
-FONTS="fonts"
-LEGACY_BACKENDS="parallel scsi"
+LEGACY_BACKENDS="parallel"
 
 case $uname in
         Darwin*)
-               FONTS=""
                LEGACY_BACKENDS=""
                 BACKLIBS="$BACKLIBS -framework IOKit"
-                CUPSDLIBS="$CUPSDLIBS -sectorder __TEXT __text cupsd.order -e start -framework IOKit -framework SystemConfiguration -weak_framework ApplicationServices"
-                LIBS="-framework SystemConfiguration -framework CoreFoundation $LIBS"
+                SERVERLIBS="$SERVERLIBS -framework IOKit -weak_framework ApplicationServices"
+                LIBS="-framework SystemConfiguration -framework CoreFoundation -framework Security $LIBS"
 
                dnl Check for framework headers...
+               AC_CHECK_HEADER(ApplicationServices/ApplicationServices.h,AC_DEFINE(HAVE_APPLICATIONSERVICES_H))
                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))
                AC_CHECK_FUNCS(mbr_uid_to_uuid)
 
+                dnl Check for the vproc_transaction_begin/end stuff...
+               AC_CHECK_FUNCS(vproc_transaction_begin)
+
                dnl Need <dlfcn.h> header...
                AC_CHECK_HEADER(dlfcn.h,AC_DEFINE(HAVE_DLFCN_H))
 
@@ -309,25 +366,50 @@ case $uname in
                        fi
 
                        if test "x$default_operkey" != xdefault; then
-                               CUPS_DEFAULT_PRINTADMIN_AUTH="@AUTHKEY($default_operkey) @admin @lpadmin"
+                               CUPS_DEFAULT_PRINTOPERATOR_AUTH="@AUTHKEY($default_operkey) @admin @lpadmin"
                        elif grep -q system.print.operator /etc/authorization; then
-                               CUPS_DEFAULT_PRINTADMIN_AUTH="@AUTHKEY(system.print.operator) @admin @lpadmin"
+                               CUPS_DEFAULT_PRINTOPERATOR_AUTH="@AUTHKEY(system.print.operator) @admin @lpadmin"
                        else
-                               CUPS_DEFAULT_PRINTADMIN_AUTH="@AUTHKEY(system.print.admin) @admin @lpadmin"
+                               CUPS_DEFAULT_PRINTOPERATOR_AUTH="@AUTHKEY(system.print.admin) @admin @lpadmin"
                        fi])
                AC_CHECK_HEADER(Security/SecBasePriv.h,AC_DEFINE(HAVE_SECBASEPRIV_H))
 
                dnl Check for sandbox/Seatbelt support
-               AC_CHECK_HEADER(sandbox.h,AC_DEFINE(HAVE_SANDBOX_H))
+               if test $uversion -ge 100; then
+                   AC_CHECK_HEADER(sandbox.h,AC_DEFINE(HAVE_SANDBOX_H))
+               fi
                 ;;
 esac
 
-AC_SUBST(CUPS_DEFAULT_PRINTADMIN_AUTH)
-AC_DEFINE_UNQUOTED(CUPS_DEFAULT_PRINTADMIN_AUTH, "$CUPS_DEFAULT_PRINTADMIN_AUTH")
+AC_SUBST(CUPS_DEFAULT_PRINTOPERATOR_AUTH)
+AC_DEFINE_UNQUOTED(CUPS_DEFAULT_PRINTOPERATOR_AUTH, "$CUPS_DEFAULT_PRINTOPERATOR_AUTH")
 AC_SUBST(CUPS_SYSTEM_AUTHKEY)
-AC_SUBST(FONTS)
 AC_SUBST(LEGACY_BACKENDS)
 
+dnl Check for build components
+COMPONENTS="all"
+
+AC_ARG_WITH(components, [  --with-components       set components to build:
+                           - "all" (default) builds everything
+                           - "core" builds libcups and ipptool],
+       COMPONENTS="$withval")
+
+case "$COMPONENTS" in
+       all)
+               BUILDDIRS="filter backend berkeley cgi-bin driver monitor notifier ppdc scheduler systemv conf data locale man doc examples templates"
+               ;;
+
+       core)
+               BUILDDIRS="data locale"
+               ;;
+
+       *)
+               AC_MSG_ERROR([Bad build component "$COMPONENT" specified!])
+               ;;
+esac
+
+AC_SUBST(BUILDDIRS)
+
 dnl
-dnl End of "$Id: cups-common.m4 7695 2008-06-26 00:46:24Z mike $".
+dnl End of "$Id: cups-common.m4 8781 2009-08-28 17:34:54Z mike $".
 dnl