1dnl Process this file with autoconf to produce a configure script. 2AC_PREREQ([2.52]) 3AC_INIT([foomatic-db-engine], 4.0.13) 4AC_CONFIG_SRCDIR(foomatic-perl-data.c) 5 6# If the user didn't specify the $sysconfdir on the command line, let it 7# be /etc, not /usr/local/etc or /usr/etc 8if [[ x$sysconfdir = 'x${prefix}/etc' ]]; then 9 sysconfdir=/etc 10fi 11 12# Checks for programs. 13AC_PROG_CC 14AC_PROG_INSTALL 15AC_PROG_LN_S 16AC_PROG_MAKE_SET 17 18dnl # Checks for libraries. 19dnl AC_PATH_XTRA 20dnl LIBS="$LIBS" 21 22# 23# Test for libxml 24# 25xml_version= 26AC_PATH_PROG(XML2_CONFIG, xml2-config) 27if test ! -z "$XML2_CONFIG"; then 28 xml_version=libxml2 29 XML_CFLAGS=`$XML2_CONFIG --cflags` 30 XML_LIBS=`$XML2_CONFIG --libs` 31fi 32if test -z "$xml_version"; then 33 AC_PATH_PROG(XML_CONFIG, xml-config) 34 if test ! -z "$XML_CONFIG"; then 35 xml_version=libxml 36 XML_CFLAGS=`$XML_CONFIG --cflags` 37 XML_LIBS=`$XML_CONFIG --libs` 38 fi 39fi 40AC_SUBST(XML_CFLAGS) 41AC_SUBST(XML_LIBS) 42 43# Checks for header files. 44AC_HEADER_DIRENT 45AC_HEADER_STDC 46dnl AC_CHECK_HEADERS(libxml/xmlmemory.h libxml/parser.h) 47 48# Checks for typedefs, structures, and compiler characteristics. 49AC_C_CONST 50 51# Checks for library functions. 52AC_CHECK_FUNCS(strdup strspn strstr) 53 54# 55# augment CFLAGS and LIBS temporarily while searching for the xml* functions 56# 57save_CFLAGS="$CFLAGS" 58save_LIBS="$LIBS" 59CFLAGS="$XML_CFLAGS $CFLAGS" 60LIBS="$XML_LIBS $LIBS" 61AC_CHECK_FUNCS(xmlParseFile xmlCreatePushParserCtxt xmlParseChunk xmlFreeParserCtxt xmlFreeDoc xmlDocGetRootElement xmlNodeListGetString) 62CFLAGS="$save_CFLAGS" 63LIBS="$save_LIBS" 64 65# Checks for programs/directories which are used by Foomtic 66 67SPOOLSEARCHPATH=/var/spool:/usr/spool/:/usr/local/spool:/usr/local/var/spool:/var/local/spool:/var/local 68LOGSEARCHPATH=/var/log:/usr/log:/usr/local/log:/usr/local/var/log:/var/local/log:/var/local 69SYSCONFSEARCHPATH=/etc:/usr/etc:/usr/local/etc:/var/etc 70SBINSEARCHPATH=/usr/sbin:/sbin:/usr/local/sbin:/etc/sbin 71BINSEARCHPATH=/usr/bin:/bin:/usr/local/bin 72DATASEARCHPATH=/usr/share:/usr/local/share:$libdir:/usr/local/lib:/opt 73LIBSEARCHPATH=$libdir:/lib:/usr/local/lib:/usr/local/libexec:/opt 74PTALPIPESSEARCHPATH=/var/run:/var:/var/ptal:/usr/var/run:/usr/var:/usr/var/ptal:/usr/local/var/run:/usr/local/var:/usr/local/var/ptal:/dev:/dev/ptal 75MTINKPIPESSEARCHPATH=/var:/var/run:/usr/var/:/usr/var/run:/usr/local/var:/usr/local/var/run:/dev 76 77# There is a bug in some versions of autoconf that causes 78# bad expansion of paths in the AC_PATH_* macros. This is very annoying 79 80BSB=$BINSEARCHPATH:$SBINSEARCHPATH 81SBB=$SBINSEARCHPATH:$BINSEARCHPATH 82SYS_LIB_PATH=$SYSCONFSEARCHPATH:$LIBSEARCHPATH 83 84# Get the operating system and version number... 85uname=`uname` 86uversion=`uname -r | sed -e '1,$s/[[^0-9]]//g'` 87if test x$uname = xIRIX64; then 88 uname="IRIX" 89fi 90 91if test x$uname = xIRIX; then 92 SPOOLSEARCHPATH="/usr/freeware/var/spool:$SPOOLSEARCHPATH" 93 LOGSEARCHPATH="/usr/freeware/var/log:$LOGSEARCHPATH" 94 SYSCONFSEARCHPATH="/usr/freeware/etc:$SYSCONFSEARCHPATH" 95 BINSEARCHPATH="/usr/freeware/bin:$BINSEARCHPATH" 96 SBINSEARCHPATH="/usr/freeware/sbin:$BINSEARCHPATH" 97 DATASEARCHPATH="/usr/freeware/share:$DATASEARCHPATH" 98 LIBSEARCHPATH="/usr/freeware/lib32:/usr/freeware/lib:$LIBSEARCHPATH" 99 PTALPIPESSEARCHPATH="/usr/freeware/var/run:$PTALPIPESSEARCHPATH" 100 MTINKPIPESSEARCHPATH="/usr/freeware/var/run:$MTINKPIPESSEARCHPATH" 101fi 102 103v="cannot open"; 104AC_PATH_PROG(FILEUTIL,file,FILE_UTILITY_NOT_FOUND,$BSB)dnl 105if test "$FILEUTIL" != "FILE_UTILITY_NOT_FOUND" ; then 106 v=`${FILEUTIL} - </etc/passwd 2>/dev/null`; 107fi 108if expr "$v" : ".*cannot open.*" >/dev/null; then 109 echo "Please use a file utility that handles 'file - 'correctly"; 110 echo "You can obtain one from: ftp://ftp.astron.com/pub/file/"; 111 echo " or ftp://ftp.lprng.com/pub/LPRng/UNIXTOOLS/file/"; 112 echo "if necessary, use the FILEUTIL environment variable to specify the path" 113 exit 1 114fi 115 116AC_PATH_PROG(CAT,cat,CAT_NOT_FOUND,$BSB) 117AC_PATH_PROG(GS,gs,GHOSTSCRIPT_NOT_FOUND,$BSB) 118AC_PATH_PROG(A2PS,a2ps,A2PS_NOT_FOUND,$BSB) 119AC_PATH_PROG(WGET,wget,$BSB) 120AC_PATH_PROG(CURL,curl,$BSB) 121if test -z "$CURL" -a -z "$CURL" ; then 122 AC_MSG_ERROR("cannot find wget and curl. You need to install at least one"); 123fi 124AC_PATH_PROG(PRINTF,printf,$BSB)dnl 125 126# disable ghostscript check 127AC_MSG_CHECKING(Ghostscript check) 128AC_ARG_ENABLE( gscheck, 129[ --disable-gscheck disable checking Ghostscript for security flaw], 130[ 131if test "$enableval" = "yes" ; then 132 GSCHECK=yes; 133else 134 GSCHECK=no; 135fi 136], 137[ 138 GSCHECK=no; 139], 140) 141AC_MSG_RESULT($GSCHECK) 142AC_SUBST(GSCHECK) 143 144echo GS "$GS" 145if test "$GS" != "GHOSTSCRIPT_NOT_FOUND" -a "$GSCHECK" != "no" ; then 146 AC_MSG_CHECKING(Ghostscript -dSAFER and -dPARANOIDSAFER option) 147 if $GS -q -dBATCH -dNOPAUSE -dSAFER -dPARANOIDSAFER -sDEVICE=nullpage -sOutputFile=- $srcdir/gsQuit ; then 148 if $GS -q -dBATCH -dNOPAUSE -dSAFER -dPARANOIDSAFER -sDEVICE=nullpage -sOutputFile=- $srcdir/gsTest 1>/dev/null 2>/dev/null ; then 149 AC_MSG_WARN( [ 150WARNING: '($GS) -dSAFER -dPARANOIDSAFER ' allows files to be read 151Please read README.GhostscriptSecurityProblem 152and fix your distribution of Ghostscript 153OR use: 154configure --disable-gscheck 155] ) 156 AC_MSG_ERROR(Ghostscript security hole found!) 157 else 158 AC_MSG_RESULT(no Ghostscript security hole found) 159 fi 160 else 161 AC_MSG_ERROR(Error with: $GS -q -dSAFER -dPARANOIDSAFER -sDEVICE=nullpage -sOutputFile=- ) 162 fi 163fi 164 165 166AC_MSG_CHECKING(how to redirect Ghostscript output to fd 3) 167if test "$DEVFD3" = "" ; then 168 v=`( if test -d /dev/fd ; then echo 3 >/dev/fd/3; fi) 3>&1 1>&2` 169 if test "$v" != "" ; then 170 DEVFD3=/dev/fd/3 171 DEVFD0=/dev/fd/0 172 else 173 DEVFD3="|$CAT >&3" 174 DEVFD0=- 175 fi 176 if test "$GS" != "GHOSTSCRIPT_NOT_FOUND" -a "$GSCHECK" != "no" ; then 177 rm -f gs_out 178 gs -q -dBATCH -dNOPAUSE -dSAFER -dPARANOIDSAFER -sDEVICE=laserjet "-sOutputFile=$DEVFD3" ${srcdir}/gsPrint 3>gs_out 179 if test "!" -s gs_out ; then 180 AC_MSG_ERROR("ERROR - gs cannot handle -sOutputFile=$OUT" ) 181 fi 182 fi 183fi 184AC_MSG_RESULT(using $DEVFD3) 185AC_SUBST(DEVFD3) 186AC_SUBST(DEVFD0) 187 188# Check for Perl 189AC_PATH_PROGS(PERL,perl,/usr/bin/perl,$BINSEARCHPATH) 190 191# Check whether Perl libraries will be found when installed with current 192# $prefix, if not, try to fall back to /usr/local at first, then to /usr 193if test x$prefix = xNONE; then 194 PREFIX=$ac_default_prefix 195else 196 PREFIX=$prefix 197fi 198echo -n Checking where Perl will find its libraries... 199if test "$PERLPREFIX" = "" ; then 200 eval `${PERL} -V:installprefix` 201 PERLPREFIX=`echo $installprefix` 202 if test -n "$PERLPREFIX"; then 203 echo " $PERLPREFIX" 204 else 205 PERLPREFIX=/usr 206 echo " not found, installing the Perl libraries with prefix /usr." 207 fi 208else 209 echo " $PERLPREFIX" 210fi 211AC_SUBST(PERLPREFIX) 212 213# Perl installation directories 214 215dnl This works only with autoconf 2.52 or newer 216AC_ARG_VAR(PERL_INSTALLDIRS, [Where should the Perl libraries be installed (Default: site, Choices: perl, site, vendor)?]) 217if test -z "$PERL_INSTALLDIRS"; then 218 PERL_INSTALLDIRS=site 219fi 220 221dnl This works also with autoconf 2.13 222dnl PERL_INSTALLDIRS=site 223dnl AC_SUBST(PERL_INSTALLDIRS) 224 225# Check for bourne shell 226AC_PATH_PROGS(SH,bash sh,/bin/sh,$BINSEARCHPATH) 227 228# Paths for LPD and LPRng (without magicfilter) 229FM_PATH_DIRS(LPD_SPOOL,lpd,/var/spool/lpd,$SPOOLSEARCHPATH) 230AC_PATH_PROGS(LPD_LOG,lp-errs,/var/log/lp-errs,$LOGSEARCHPATH) 231AC_PATH_PROGS(LPD_BIN,lpd,/usr/sbin/lpd,$SBINSEARCHPATH) 232AC_PATH_PROGS(PRINTCAP,printcap,/etc/printcap,$SYSCONFSEARCHPATH) 233AC_PATH_PROGS(LPRNG_CONF,lpd.conf,/etc/lpd.conf,$SYSCONFSEARCHPATH) 234AC_PATH_PROGS(LPD_LPR,lpr-lpd lpr-lprng lpr-lpr lpr,/usr/bin/lpr,$BINSEARCHPATH) 235AC_PATH_PROGS(LPD_LPQ,lpq-lpd lpq-lprng lpq-lpr lpq,/usr/bin/lpq,$BINSEARCHPATH) 236AC_PATH_PROGS(LPD_LPRM,lprm-lpd lprm-lprng lprm-lpr lprm,/usr/bin/lprm,$BINSEARCHPATH) 237AC_PATH_PROGS(LPD_LPC,lpc-lpd lpc-lprng lpc-lpr lpc,/usr/sbin/lpc,$SBB) 238AC_PATH_PROGS(LPRNG_CHECKPC,checkpc,/usr/sbin/checkpc,$SBINSEARCHPATH) 239 240# Paths and other settings for CUPS 241FM_PATH_DIRS(CUPS_ETC,cups,/etc/cups,$SYSCONFSEARCHPATH) 242AC_PATH_PROGS(CUPS_ADMIN,lpadmin,/usr/sbin/lpadmin,$SBINSEARCHPATH) 243AC_PATH_PROGS(CUPS_LPSTAT,lpstat,/usr/bin/lpstat,$BINSEARCHPATH) 244FM_PATH_DIRS(CUPS_PPDS,cups/model,/usr/share/cups/model,$DATASEARCHPATH) 245FM_PATH_DIRS(CUPS_FILTERS,cups/filter,/usr/lib/cups/filter,$DATASEARCHPATH) 246FM_PATH_DIRS(CUPS_BACKENDS,cups/backend,/usr/lib/cups/backend,$DATASEARCHPATH) 247FM_PATH_DIRS(LIB_CUPS,cups,/usr/lib/cups,$LIBSEARCHPATH) 248AC_PATH_PROGS(CUPS_PCONF,cups/printers.conf,$CUPS_ETC/printers.conf,$SYSCONFSEARCHPATH) 249AC_PATH_PROGS(CUPS_LPR,lpr-cups lpr,/usr/bin/lpr,$BINSEARCHPATH) 250AC_PATH_PROGS(CUPS_LPQ,lpq-cups lpq,/usr/bin/lpq,$BINSEARCHPATH) 251AC_PATH_PROGS(CUPS_LPRM,lprm-cups lprm,/usr/bin/lprm,$BINSEARCHPATH) 252AC_PATH_PROGS(CUPS_LPC,lpc-cups lpc,/usr/sbin/lpc,$SBB) 253AC_PATH_PROGS(CUPS_LP,lp-cups lp,/usr/bin/lp,$BINSEARCHPATH) 254AC_PATH_PROGS(CUPS_CANCEL,cancel-cups cancel,/usr/bin/cancel,$BSB) 255AC_PATH_PROGS(CUPS_ENABLE,enable,/usr/bin/enable,$BSB) 256AC_PATH_PROGS(CUPS_DISABLE,disable,/usr/bin/disable,$BSB) 257AC_PATH_PROGS(CUPS_ACCEPT,accept,/usr/sbin/accept,$SBB) 258AC_PATH_PROGS(CUPS_REJECT,reject,/usr/sbin/reject,$SBB) 259AC_PATH_PROGS(CUPS_LPMOVE,lpmove,/usr/sbin/lpmove,$SBB) 260AC_PATH_PROGS(CUPS_LPOPTIONS,lpoptions,/usr/bin/lpoptions,$BINSEARCHPATH) 261AC_PATH_PROGS(CUPS_LPINFO,lpinfo,/usr/sbin/lpinfo,$SBINSEARCHPATH) 262 263# Paths for PDQ 264FM_PATH_DIRS(PDQ_CONF,pdq,$libdir/pdq,$SYS_LIB_PATH) 265AC_PATH_PROGS(PDQ_PRINTRC,pdq/printrc,$PDQ_CONF/printrc,$SYS_LIB_PATH) 266dnl PDQ_FOOMATIC=$PDQ_CONF/drivers/foomatic 267AC_PATH_PROGS(PDQ_PRINT,pdq lpr-pdq,/usr/bin/pdq,$BINSEARCHPATH) 268dnl PDQ_JOBDIR=~/.printjobs 269 270# Paths for PPR 271AC_PATH_PROGS(PPR_PPRD,ppr/bin/pprd,$libdir/ppr/bin/pprd,$LIBSEARCHPATH) 272FM_PATH_DIRS(PPR_INTERFACES,ppr/interfaces,$libdir/ppr/interfaces,$LIBSEARCHPATH) 273FM_PATH_DIRS(PPR_PPDFILES,ppr/PPDFiles,/usr/share/ppr/PPDFiles,$DATASEARCHPATH) 274FM_PATH_DIRS(PPR_ETC,ppr,/etc/ppr,$SYSCONFSEARCHPATH) 275AC_PATH_PROGS(PPR_PPR,ppr lpr-ppr,/usr/bin/ppr,$BINSEARCHPATH) 276AC_PATH_PROGS(PPR_PPAD,ppad,/usr/bin/ppad,$BSB) 277AC_PATH_PROGS(PPR_PPOP,ppop,/usr/bin/ppop,$BSB) 278 279dnl # Paths for direct, spoolerless printing 280dnl DIRECT_ETC=/etc/foomatic/direct 281dnl DIRECT_CONFIG=$(DIRECT_ETC)/.config 282 283# Other paths 284AC_PATH_PROGS(NC,nc netcat,/usr/bin/nc,$BSB) 285AC_PATH_PROGS(RLPR,rlpr,/usr/bin/rlpr,$BSB) 286AC_PATH_PROGS(SMBCLIENT,smbclient,/usr/bin/smbclient,$BSB) 287AC_PATH_PROGS(NPRINT,nprint,/usr/bin/nprint,$BSB) 288AC_PATH_PROGS(PTAL_CONNECT,ptal-connect,/usr/bin/ptal-connect,$BSB) 289FM_PATH_DIRS(PTAL_PIPES,ptal-printd,/var/run/ptal-printd,$PTALPIPESSEARCHPATH) 290FM_PATH_DIRS(MTINK_PIPES,mtink,/var/mtink,$MTINKPIPESSEARCHPATH) 291AC_PATH_PROGS(GZIP,gzip,/bin/gzip,$BSB) 292 293# Path for Foomatic XML database (foomatic-db) 294FM_PATH_DIRS(LIBDIR,foomatic/db/source,/usr/share/foomatic/db/source,$DATASEARCHPATH) 295LIBDIR=`echo $LIBDIR | sed -e "s:/db/source$::"` 296FM_PATH_DIRS(LOCAL_LIBDIR,db/source,../foomatic-db/db/source,.:./foomatic-db:./foomatic-db*:../foomatic-db:../foomatic-db*) 297LOCAL_LIBDIR=`echo $LOCAL_LIBDIR | sed -e "s:/db/source$::"` 298 299# Path for foomatic-rip (from foomatic-filters) 300AC_PATH_PROGS(FOOMATIC_RIP,foomatic-rip,/usr/bin/foomatic-rip,$BSB) 301AC_PATH_PROGS(LOCAL_FOOMATIC_RIP,foomatic-rip,../foomatic-filters/foomatic-rip,.:./foomatic-filters:./foomatic-filters*:../foomatic-filters:../foomatic-filters*) 302 303AC_CONFIG_FILES(Makefile makeDefaults makeMan 304foomatic-configure foomatic-printjob foomatic-kitload 305foomatic-ppdfile foomatic-preferred-driver foomatic-cleanupdrivers 306foomatic-getpjloptions foomatic-addpjloptions 307foomatic-compiledb foomatic-fix-xml 308foomatic-nonumericalids foomatic-replaceoldprinterids 309foomatic-ppd-options foomatic-printermap-to-gutenprint-xml 310foomatic-extract-text foomatic-searchprinter foomatic-ppd-to-xml 311) 312AC_OUTPUT 313 314# Finished 315echo "Finished configuring." 316echo "Type 'make' to build the package" 317echo "then 'make install' to install it." 318