X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=config-scripts%2Fcups-common.m4;h=de6996d47237c38cc5c574af344f159268f33d1d;hb=f3c17241a42a0845eae2099e6970b5aca9bbd836;hp=f04fcc5a649e928d411e0ad98d6a3ce9caccc8c7;hpb=58dc193312e27d25c0394e4fcb7a6eed7301b1ec;p=thirdparty%2Fcups.git diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4 index f04fcc5a6..de6996d47 100644 --- a/config-scripts/cups-common.m4 +++ b/config-scripts/cups-common.m4 @@ -1,9 +1,9 @@ dnl -dnl "$Id: cups-common.m4 7900 2008-09-03 13:47:57Z 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-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,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.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'`" 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,8 @@ AC_PROG_CPP 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) @@ -60,7 +67,7 @@ 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) @@ -73,7 +80,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... @@ -82,12 +89,17 @@ 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(abs, m, AC_DEFINE(HAVE_ABS)) AC_SEARCH_LIBS(crypt, crypt) +AC_SEARCH_LIBS(fmod, m) 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" @@ -100,7 +112,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, @@ -114,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)) @@ -127,8 +140,34 @@ 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 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_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) +AC_CHECK_FUNCS(strdup strlcat strlcpy) if test "$uname" = "HP-UX" -a "$uversion" = "1020"; then echo Forcing snprintf emulation for HP-UX. else @@ -136,14 +175,14 @@ 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) +dnl Check for setpgid function. +AC_CHECK_FUNCS(setpgid) + dnl Check for vsyslog function. AC_CHECK_FUNCS(vsyslog) @@ -171,32 +210,41 @@ AC_TRY_COMPILE([#include ],[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 ],[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) -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_init,[ - 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... -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) @@ -208,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*) @@ -222,17 +284,17 @@ 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_ARG_ENABLE(acl, [ --enable-acl enable POSIX ACL support, default=auto]) +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)) - CUPSDLIBS="$CUPSDLIBS $LIBS" + SERVERLIBS="$SERVERLIBS $LIBS" fi LIBS="$SAVELIBS" @@ -243,34 +305,29 @@ 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") DBUS_NOTIFIER="" DBUS_NOTIFIERLIBS="" -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`) - if $PKGCONFIG --exists glib-2.0 && $PKGCONFIG --exists dbus-glib-1; then - DBUS_NOTIFIER="dbus" - DBUS_NOTIFIERLIBS="`$PKGCONFIG --libs glib-2.0` `$PKGCONFIG --libs dbus-glib-1` `$PKGCONFIG --libs dbus-1`" - CFLAGS="$CFLAGS `$PKGCONFIG --cflags glib-2.0`" - fi - else - AC_MSG_RESULT(no) - fi +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 @@ -279,29 +336,34 @@ 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" +INSTALLXPC="" 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 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 header... AC_CHECK_HEADER(dlfcn.h,AC_DEFINE(HAVE_DLFCN_H)) @@ -316,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) @@ -329,25 +391,67 @@ 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 + 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_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) +AC_SUBST(INSTALLXPC) + +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 monitor notifier ppdc scheduler systemv conf data desktop 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 7900 2008-09-03 13:47:57Z mike $". +dnl End of "$Id: cups-common.m4 8781 2009-08-28 17:34:54Z mike $". dnl