dnl ---------------------------------------------------------------------------* dnl PDFlib - A library for generating PDF on the fly | dnl ---------------------------------------------------------------------------+ dnl Copyright (c) 1997-2004 Thomas Merz and PDFlib GmbH. All rights reserved. | dnl ---------------------------------------------------------------------------+ dnl | dnl This software is subject to the PDFlib license. It is NOT in the | dnl public domain. Extended versions and commercial licenses are | dnl available, please check http://www.pdflib.com. | dnl | dnl --------------------------------------------------------------------------*/ dnl $Id: configure.in,v 1.1 2004/10/06 17:10:36 laplace Exp $ dnl dnl Process this file with autoconf to produce a configure script. dnl # -------------------------------------------------------------------- # PDFlib general setup # -------------------------------------------------------------------- dnl source directory sanity check using an arbitrary source file AC_INIT(libs/pdcore/pc_config.h) dnl do not change this (version.sh will do it for you :) VERSION="5.0.3" PDFLIB_MAJOR=5 PDFLIB_MINOR=0 PDFLIB_REVISION=3 AC_SUBST(PDFLIB_MAJOR) AC_SUBST(PDFLIB_MINOR) AC_SUBST(PDFLIB_REVISION) dnl Important: Interface numbers are completely independent of release dnl or version numbers! See doc/readme-source-unix.txt for details. PDFLIB_LTCURRENT=4 PDFLIB_LTREVISION=1 PDFLIB_LTAGE=2 LTVERSIONINFO="$PDFLIB_LTCURRENT:$PDFLIB_LTREVISION:$PDFLIB_LTAGE" AC_SUBST(LTVERSIONINFO) AC_SUBST(PDFLIB_LTCURRENT) AC_SUBST(PDFLIB_LTREVISION) AC_SUBST(PDFLIB_LTAGE) dnl Get the current directory, needed to feed absolut paths to linkers dnl even if called outside of our build environment (i.e. PHP). Might cause some dnl problems on exotic platforms, but we are not yet aware of problems, dnl so we use $PDFWD like $top_builddir if abspath is needed. PDFPWD=`pwd` dnl The name of the library should only be changed in very rare cases, dnl such as Digital Unix where a (completely different) libpdf already exists. dnl Note: do not include any file name suffix here. PDFLIBNAME=pdf MATHLIB="-lm" AC_ARG_WITH(pdflibname,[ --with-pdflibname=name set file name of generated library [default=pdf]],[PDFLIBNAME="$withval"]) AC_ARG_WITH(libm,[ --with-libm=name set math library option [default=-lm]],[MATHLIB="$withval"]) AC_SUBST(PDFLIBNAME) dnl install-sh will be searched (and found) here AC_CONFIG_AUX_DIR(config) builtin(include, config/aclocal.m4) dnl Check the system name AC_CANONICAL_HOST AC_MSG_CHECKING(MACHDEP) if test -z "$MACHDEP" then if test -f /usr/lib/NextStep/software_version; then set X `hostinfo | grep 'NeXT Mach.*:' | \ sed -e 's/://' -e 's/\./_/'` && \ ac_sys_system=next && ac_sys_release=$4 MACHDEP="$ac_sys_system$ac_sys_release$ac_sys_cpu" else ac_sys_system=`uname -s` if test "$ac_sys_system" = "AIX" ; then ac_sys_release=`uname -v` else ac_sys_release=`uname -r` fi ac_md_system=`echo $ac_sys_system | tr -d '[/ ]' | tr '[[A-Z]]' '[[a-z]]'` ac_md_release=`echo $ac_sys_release | tr -d '[/ ]' | sed 's/\..*//'` MACHDEP="$ac_md_system$ac_md_release" fi case MACHDEP in '') MACHDEP=unknown;; esac fi AC_MSG_RESULT($MACHDEP) dnl choose compiler AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL dnl common stuff, unlikely to be changed SHELL="/bin/sh" RM="rm -rf" dnl Default defines -- some systems may need special handling here dnl We also map some system names to a more user-friendly and well-known version INCLUDES= PLATFORM_ID=$ac_sys_system PLATFORM="-DPDF_PLATFORM=\\\"\"$ac_sys_system\"\\\"" case $ac_sys_system in dnl TODO: check if this is still true dnl Our TIFF code currently requires special handling on AIX aix*|AIX*) DEFINES="$DEFINES -DAIX";; cyg*|CYG*) DEFINES="$DEFINES -U_WIN32 -UWIN32 -U__WIN32__ -U_Windows";; dnl HP needs option for ANSI mode if the HP compiler is used instead of gcc hp*|HP*) if test "$GCC" = ""; then DEFINES="$DEFINES -Ae" fi;; dnl The OSF JNI requires libraries to be built thread-safe, which is true dnl for PDFlib osf1*|OSF1*) if test "$GCC" = ""; then DEFINES="$DEFINES -pthread" fi;; SunOS*) ac_sys_arch=`uname -p` if test "$ac_sys_arch" = "i386" ; then PLATFORM_ID="SunOS-i386" PLATFORM="-DPDF_PLATFORM=\\\"\"sunOS\"\\\"" fi if test "$GCC" = ""; then DEFINES="$DEFINES -xmemalign" fi ;; dnl MacOS X doesn't seem to like -lm, and doesn't actually need it; dnl libtool only works if --with-gnu-ld=yes is supplied, so we try dnl to set it here already. rhapsody|Rhapsody*) PLATFORM="-DPDF_PLATFORM=\\\"\"Mac OS X Server\"\\\"" with_gnu_ld=yes MATHLIB="";; darwin|Darwin*) PLATFORM="-DPDF_PLATFORM=\\\"\"Mac OS X\"\\\"" PLATFORM_ID="MacOSX" with_gnu_ld=yes MATHLIB="";; dnl TODO: add sparc, ... linux|Linux*) ac_sys_arch=`uname -m` if test "$ac_sys_arch" = "s390" ; then PLATFORM_ID="zSeries-Linux" PLATFORM="-DPDF_PLATFORM=\\\"\"ZSeries Linux\"\\\"" fi if test "$ac_sys_arch" = "ppc" ; then PLATFORM_ID="ppc-Linux" PLATFORM="-DPDF_PLATFORM=\\\"\"ppc Linux\"\\\"" fi # neccesary to be compatible with glibc 2.3.2 on RH 9 if test "$ac_sys_arch" = "i686" ; then DEFINES="$DEFINES -D__NO_CTYPE" fi if test "$ac_sys_arch" = "ia64" ; then PLATFORM_ID="Linux-ia64" PLATFORM="-DPDF_PLATFORM=\\\"\"Linux-ia64\"\\\"" fi ;; FreeBSD) tmp_vers=`uname -r` case $tmp_vers in 5.*) PLATFORM="-DPDF_PLATFORM=\\\"\"FreeBSD5\"\\\"" ;; esac ;; OpenBSD) tmp_vers=`uname -r` if test "$tmp_vers" = "3.4" ; then PLATFORM="-DPDF_PLATFORM=\\\"\"OpenBSD34\"\\\"" fi ;; dnl OS/390 specials *OS/390*) DEFINES="$DEFINES -DOS390" CC=c89 LD=c89 PLATFORM_ID=OS390 PLATFORM="-DPDF_PLATFORM=\\\"\"zSeries USS\"\\\"" # add special compile options for java2 on s390 set X `java -version 2>&1 | grep '1.3.'` && \ DEFINES="$DEFINES -W \"c,langlvl(extended)\" -W \"c,float(ieee)\"" ;; *) ;; esac GENERATED_FILES="" dnl select debugging configuration WITH_DEBUG=no dnl add special compileoptions for xplink WITH_XPLINK=no AC_ARG_ENABLE(xplink, [ --enable-xplink turn on xplink linking], if test "$enableval" = "yes" ; then WITH_XPLINK=yes fi) if test "$WITH_XPLINK" = "yes"; then case $ac_sys_system in *OS/390*) DEFINES="-W \"c,xplink\" -W \"l,xplink\" -1 -W c,expo,dll -W c,GONUM $DEFINES" ;; *) ;; esac fi dnl We hope to build shared libraries on this platform WITH_SHARED=yes WITH_PROFILE=no AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging], if test "$enableval" = "yes" ; then WITH_DEBUG=yes fi) AC_ARG_ENABLE(profile, [ --enable-profile turn on profiling], if test "$enableval" = "yes" ; then WITH_PROFILE=yes fi) AC_EXEEXT AC_OBJEXT dnl Prepare libtool dnl Required for dlopening our libraries, as done in the language interpreters. AC_LIBTOOL_DLOPEN AC_LIBTOOL_WIN32_DLL AC_PROG_LIBTOOL AC_SUBST(PLATFORM_ID) AC_SUBST(SHELL) AC_SUBST(EXEEXT) AC_SUBST(OBJEXT) AC_SUBST(VERSION) AC_SUBST(CC) AC_SUBST(RM) # -------------------------------------------------------------------- # PDFlib Java binding (JNI) # -------------------------------------------------------------------- WITH_JAVA=yes JAVAINCLUDE="" JAVAPACKAGE="" AC_ARG_WITH(java,[ --with-java=path full path of Java Developers Kit, or no],[ case $withval in no) WITH_JAVA=no ;; yes) WITH_JAVA=yes ;; *) JAVAPACKAGE=$withval ;; esac ]) if test "$WITH_JAVA" != "no" ; then WITH_JAVA=no AC_MSG_CHECKING(for Java header files) # try without any precautions AC_TRY_CPP([#include ], WITH_JAVA=yes, [ dirs="$prefix /usr/lib/java /usr/java /usr/java/jdk1.4 /usr/lib/jdk1.4 /opt/java1.4 /usr/lpp/java/J1.4 /usr/java/jdk1.4 /usr/lib/jdk1.4 /usr/jdk14 /jdk1.4 /usr/java/jdk1.3 /usr/include/java /usr/local/java /usr/local/include/kaffe /usr/lib/jdk1.3 /opt/java1.3 /usr/lpp/java/J1.3 /usr/java/jdk1.2 /usr/lib/jdk1.2.2 /usr/lib/jdk1.2.1 /usr/jdk122 /usr/lib/jdk122 /usr/lib/jdk1.2.1 /opt/java1.2 /usr/lpp/java/J1.2 /usr/lib/jdk1.1.8 /usr/jdk118 /usr/lib/jdk118 /usr/lpp/java/J1.1 /opt/java1.1 /usr /opt/local /jdk1.3 /jdk1.2.3 /jdk1.2.2 /jdk1.2.1 /System/Library/Frameworks/JavaVM.framework/Headers /usr/jdk_base/include" if test "$JAVAPACKAGE" != ""; then dirs="$JAVAPACKAGE $dirs" fi # now try to find jni.h for i in $dirs ; do if test -r $i/jni.h; then JAVAINCLUDE="$i" break elif test -r $i/include/jni.h; then JAVAINCLUDE="$i/include" break fi done ]) # now try with an include path if test "$JAVAINCLUDE" != ""; then OCPPFLAGS="$CPPFLAGS" CPPFLAGS="-I$JAVAINCLUDE $OCPPFLAGS" AC_TRY_CPP([#include ], [ WITH_JAVA=yes JAVAINCLUDE="-I$JAVAINCLUDE" ],) CPPFLAGS="$OCPPFLAGS" fi # if the above didn't work probably jni_md.h is missing if test "WITH_JAVA" != "yes" ; then if test "$JAVAINCLUDE" != ""; then subdirs="$JAVAINCLUDE $JAVAINCLUDE/$MACHDEP $JAVAINCLUDE/$ac_md_system $JAVAINCLUDE/solaris $JAVAINCLUDE/genunix $JAVAINCLUDE/alpha $JAVAINCLUDE/win32 $JAVAINCLUDE/mvs $JAVAINCLUDE/irix" for i in $subdirs ; do if test -r $i/jni_md.h; then JAVAINCLUDE="-I$JAVAINCLUDE -I$i" WITH_JAVA=yes break fi done fi fi if test "$WITH_JAVA" = "no"; then AC_MSG_RESULT(not found) else AC_MSG_RESULT($JAVAINCLUDE) AC_SUBST(JAVAINCLUDE) fi fi # ---------------------------------------------------------------- # PDFlib Perl binding # ---------------------------------------------------------------- WITH_PERL=yes PERLBIN=nope PERLINCLUDE=nope AC_ARG_WITH(perl,[ --with-perl=path full path of Perl executable, or no],[PERLBIN="$withval"],[PERLBIN=nope]) if test "$PERLBIN" = "no" ; then WITH_PERL=no fi AC_ARG_WITH(perlincl,[ --with-perlincl=path full path of Perl include directory],[PERLINCLUDE="$withval"],[PERLINCLUDE=nope]) if test "$WITH_PERL" = "yes" ; then WITH_PERL=no dnl First figure out what the name of Perl is if test "$PERLBIN" = "nope"; then AC_CHECK_PROGS(PERL, perl perl5.7.0 perl5.6.0 perl5.005 perl5.004 perl5.003 perl5.002 perl5.001 perl5, nope) else PERL="$PERLBIN" fi AC_MSG_CHECKING(for Perl header file) if test "$PERL" != "nope"; then PERL5DIR=`($PERL -e 'use Config; print $Config{archlib};') 2>/dev/null` if test "$PERL5DIR" != ""; then if test "$PERLINCLUDE" = "nope"; then if test -r "$PERL5DIR/perl.h"; then AC_MSG_RESULT(PERL5DIR/perl.h) WITH_PERL=yes PERLINCLUDE="$PERL5DIR" elif test -r "$PERL5DIR/CORE/perl.h"; then AC_MSG_RESULT($PERL5DIR/CORE/perl.h) WITH_PERL=yes PERLINCLUDE="$PERL5DIR/CORE" fi else WITH_PERL=yes AC_MSG_RESULT($PERLINCLUDE) fi if test "$PERLINCLUDE" = "nope"; then AC_MSG_RESULT(could not locate perl.h...) WITH_PERL=no fi else AC_MSG_RESULT(unable to determine Perl configuration) WITH_PERL=no fi PERLLIBDIR=`($PERL -e 'use Config; print $Config{sitearchexp};') 2>/dev/null` if test -z "$PERLLIBDIR" -o ! -d "$PERLLIBDIR"; then AC_MSG_RESULT( unable to determine perl shared library directory) fi else AC_MSG_RESULT(could not figure out how to run perl) PERLINCLUDE="/usr/local/lib/perl5/5.6.0/archname/CORE" fi dnl The Perl include files contain special handling for the bool type dnl on NeXT (sigh). We'll run into trouble if we don't work around this. case $ac_sys_system in NeXT|next) PERLBOOLDEF="";; *) PERLBOOLDEF="-Dbool=char -DHAS_BOOL";; esac dnl Some platforms require linking the perl library directly. dnl We use $PERLINCLUDE for this since it both contains the Perl library dnl _and_ the include files. Other systems don't explicitly link the dnl Perl library. dnl $MATHLIB comes from EXTERNALLIBS if needed case $ac_sys_system/$ac_sys_release in hp*|HP*) PERLLINK="";; cyg*|CYG*) PERLLINK="-L$PERLINCLUDE -lperl $PERLLINK";; aix*|AIX*) PERLLINK="-L$PERLINCLUDE -lperl $PERLLINK";; osf1*|OSF1*) PERLLINK="-L$PERLINCLUDE -lperl $PERLLINK";; darwin|Darwin*) PERLLINK="-L$PERLINCLUDE -lperl $PERLLINK";; *) ;; esac PERLINCLUDE="-I$PERLINCLUDE" AC_SUBST(PERLINCLUDE) AC_SUBST(PERLLIBDIR) AC_SUBST(PERLBOOLDEF) AC_SUBST(PERLLINK) AC_SUBST(PERL) fi # ---------------------------------------------------------------- # PDFlib Python binding # ---------------------------------------------------------------- WITH_PYTHON=yes PYINCLUDE=nope PYPACKAGE=nope AC_ARG_WITH(py,[ --with-py=path full path of Python root directory, or no],[PYPACKAGE="$withval"], [PYPACKAGE=nope]) if test "$PYPACKAGE" = "no" ; then WITH_PYTHON=no fi AC_ARG_WITH(pyincl,[ --with-pyincl=path full path of Python include directory],[PYINCLUDE="$withval"], [PYINCLUDE=nope]) if test "$PYINCLUDE" = "nope" -a "$PYPACKAGE" != "no"; then PYINCLUDE="$PYPACKAGE/include" fi if test "$WITH_PYTHON" != "no" ; then WITH_PYTHON=no AC_MSG_CHECKING(for Python header files) dirs="$PYINCLUDE \ $PYINCLUDE/python2.3 \ $prefix/include/python2.3 \ /usr/local/include/python2.3 \ /usr/include/python2.3 \ $prefix/include/python2.3 \ $PYINCLUDE/python2.2 \ $prefix/include/python2.2 \ /usr/local/include/python2.2 \ /usr/include/python2.2 \ $prefix/include/python2.2 \ $PYINCLUDE/python2.1 \ $prefix/include/python2.1 \ /usr/local/include/python2.1 \ /usr/include/python2.1 \ $prefix/include/python2.1 \ $PYINCLUDE/python2.0 \ $prefix/include/python2.0 \ /usr/local/include/python2.0 \ /usr/include/python2.0 \ $prefix/include/python2.0 \ $PYINCLUDE/python1.6 \ $prefix/include/python1.6 \ /usr/local/include/python1.6 \ /usr/include/python1.6 \ $prefix/include/python1.6 \ $PYINCLUDE/python1.5 \ $prefix/include/python1.5 \ /usr/local/include/python1.5 \ /usr/include/python1.5 \ $prefix/include/python1.5 \ $PYINCLUDE/python1.4 \ $prefix/include/python1.4 \ /usr/local/include/python1.4 \ /usr/include/python1.4 \ $prefix/include/python1.4" for i in $dirs ; do if test -r $i/Python.h; then AC_MSG_RESULT($i) PYINCLUDE="-I$i" WITH_PYTHON=yes break fi done if test "$PYINCLUDE" = "nope" -o "$PYINCLUDE" = "$PYPACKAGE/include"; then AC_MSG_RESULT(not found) WITH_PYTHON=no fi AC_SUBST(PYINCLUDE) AC_CHECK_PROGS(PYTHONBIN, python, nope) if test "$PYTHONBIN" = "nope" ; then WITH_PYTHON=no fi if test "$WITH_PYTHON" = "yes" ; then AC_MSG_CHECKING(for Python shared library path) if test "$PYTHONBIN" = "nope" ; then WITH_PYTHON=no else PYTHONLIBDIR=`cat << EOF | python import sys import string print string.join(filter(lambda x: -1 != string.find(x, 'dynload'), sys.path)) EOF ` if test "$PYTHONLIBDIR" = "" ; then PYTHONLIBDIR=/usr/lib fi AC_SUBST(PYTHONLIBDIR) fi AC_MSG_RESULT($PYTHONLIBDIR) fi fi # -------------------------------------------------------------------- # PDFlib Tcl binding # -------------------------------------------------------------------- WITH_TCL=yes TCLINCLUDE=nope TCLPACKAGEDIR=nope TCLBIN=nope AC_ARG_WITH(tcl,[ --with-tcl=path full path of Tcl executable, or no],[TCLBIN="$withval"]) if test "$TCLBIN" = "no" ; then WITH_TCL=no fi AC_ARG_WITH(tclpkg,[ --with-tclpkg=path full path of Tcl package install directory],[TCLPACKAGEDIR="$withval"],[TCLPACKAGEDIR=nope]) AC_ARG_WITH(tclincl,[ --with-tclincl=path full path of Tcl include directory],[TCLINCLUDE="$withval"],[TCLINCLUDE=nope]) if test "$WITH_TCL" = "yes" ; then WITH_TCL=no AC_MSG_CHECKING(for Tcl header files) if test "$TCLINCLUDE" = "nope"; then AC_TRY_CPP([#include ], , TCLINCLUDE="nope") if test "$TCLINCLUDE" = "nope"; then dirs="$prefix/include /usr/local/include /usr/include /opt/local/include /home/sci/local/include /usr/pkg/include /System/Library/Frameworks/Tcl.framework/Versions/8.3/Headers /System/Library/Frameworks/Tcl.framework/Versions/8.2/Headers" for i in $dirs ; do if test -r $i/tcl.h; then AC_MSG_RESULT($i) TCLINCLUDE="$i" WITH_TCL=yes break fi done fi if test "$TCLINCLUDE" = "nope"; then AC_MSG_RESULT(not found) WITH_TCL=no fi else AC_MSG_RESULT($TCLINCLUDE) fi dnl We need at least Tcl 8.0 because of its support for binary strings dnl and the object interface. if test "$TCLINCLUDE" != "nope" -a "$TCLBIN" = "nope"; then AC_CHECK_PROGS(TCL, tclsh tclsh8.4 tclsh8.3 tclsh8.2 tclsh8.1 tclsh8.0, nope) TCLBIN=$TCL fi if test "$TCLINCLUDE" = "nope" -o "$TCLBIN" = "nope"; then WITH_TCL=no else dnl Check the installed Tcl version -- must be 8.0 or higher TCLVERSION=`echo "puts [[info tclversion]]" | $TCLBIN` if test "$TCLVERSION" = "7.6" -o "$TCLVERSION" = "7.5" -o "$TCLVERSION" = "7.4" -o "$TCLVERSION" = "7.3" -o "$TCLVERSION" = "7.1" -o "$TCLVERSION" = "7.0"; then AC_MSG_RESULT([ Tcl version 8.0 or newer is required for PDFlib.]) AC_MSG_RESULT([ PDFlib support for Tcl will not be built.]) WITH_TCL=no else if test "$TCLVERSION" = "8.0" -o "$TCLVERSION" = "8.1"; then AC_MSG_RESULT([ The PDFlib build process requires Tcl 8.2 or above. Please read]) AC_MSG_RESULT([ bind/tcl/readme.txt for instructions on manually building PDFlib]) AC_MSG_RESULT([ for Tcl 8.0 or 8.1.]) fi if test "$TCLPACKAGEDIR" = "nope"; then dnl Let tcl decide where to install the package TCLPACKAGEDIR=`(echo "puts \\$auto_path" | "$TCLBIN" | awk '{print $1}') 2>/dev/null` fi if test "$TCLPACKAGEDIR" = "nope" -o -z "$TCLPACKAGEDIR" -o ! -d "$TCLPACKAGEDIR"; then AC_MSG_RESULT(unable to determine Tcl package directory) WITH_TCL=no else TCLPACKAGEDIR=$TCLPACKAGEDIR/pdflib WITH_TCL=yes fi fi fi fi TCLINCLUDE="-I$TCLINCLUDE" AC_SUBST(TCLINCLUDE) AC_SUBST(TCLPACKAGEDIR) AC_SUBST(TCLBIN) # ---------------------------------------------------------------- # PDFlib/PSP auxiliary libraries: # We support only our own copy of tifflib, libpng and zlib # pdcore is needed in all configurations # ---------------------------------------------------------------- # The list of Makefile targets for our internal libraries # pdcore is always needed PHP_PDFLIBS="$PDFPWD/libs/pdflib/p_basic.lo" PDCORELIBINC="-I\$(top_builddir)/libs/pdcore" PDCORELIBLINK="\$(top_builddir)/libs/pdcore/libpdcore\$(LA)" PHP_PDFLIBS="$PHP_PDFLIBS $PDFPWD/libs/pdcore/libpdcore.la" LIBTARGETS="$LIBTARGETS pdcore" BINDTARGETS="" PROGTARGETS="" AC_SUBST(PDCORELIBINC) AC_SUBST(PDCORELIBLINK) # zlib if test -d libs/flate ; then FLATELIBINC="-I\$(top_builddir)/libs/flate" FLATELIBLINK="\$(top_builddir)/libs/flate/libz\$(LA)" PHP_PDFLIBS="$PHP_PDFLIBS $PDFPWD/libs/flate/libz.la" LIBTARGETS="$LIBTARGETS flate" else FLATELIBINC="" FLATELIBLINK="" fi AC_SUBST(FLATELIBLINK) AC_SUBST(FLATELIBINC) # pnglib if test -d libs/png ; then PNGLIBINC="-I\$(top_builddir)/libs/png" PNGLIBLINK="\$(top_builddir)/libs/png/libpng\$(LA)" PHP_PDFLIBS="$PHP_PDFLIBS $PDFPWD/libs/png/libpng.la" LIBTARGETS="$LIBTARGETS png" else PNGLIBINC="" PNGLIBLINK="" fi AC_SUBST(PNGLIBINC) AC_SUBST(PNGLIBLINK) # tifflib if test -d libs/tiff ; then AC_C_BIGENDIAN() TIFFLIBINC="-I\$(top_builddir)/libs/tiff" TIFFLIBLINK="\$(top_builddir)/libs/tiff/libtiff\$(LA)" PHP_PDFLIBS="$PHP_PDFLIBS $PDFPWD/libs/tiff/libtiff.la" LIBTARGETS="$LIBTARGETS tiff" else TIFFLIBINC="" TIFFLIBLINK="" fi AC_SUBST(TIFFLIBINC) AC_SUBST(TIFFLIBLINK) # jpeglib #if test -d libs/jpeg6 ; then # AC_C_BIGENDIAN() # JPEGLIBINC="-I\$(top_builddir)/libs/jpeg6" # JPEGLIBLINK="\$(top_builddir)/libs/jpeg6/libjpeg\$(LA)" # PHP_PDFLIBS="$PHP_PDFLIBS $PDFPWD/libs/jpeg6/libjpeg6.la" # LIBTARGETS="$LIBTARGETS jpeg6" #else JPEGLIBINC="" JPEGLIBLINK="" #fi AC_SUBST(JPEGLIBINC) AC_SUBST(JPEGLIBLINK) # ---------------------------------------------------------------- # PDFlib auxiliary library: PDI (PDF import library) # ---------------------------------------------------------------- WITH_PDI=no AC_MSG_CHECKING(for PDF import library PDI) if test -d libs/pdi ; then WITH_PDI=yes dnl PDI must be in front because it needs zlib and pdcore PDILIBINC="-I\$(top_builddir)/libs/pdi" PDILIBLINK="\$(top_builddir)/libs/pdi/libpdi\$(LA)" PHP_PDFLIBS="$PHP_PDFLIBS $PDFPWD/libs/pdi/libpdi.la" LIBTARGETS="$LIBTARGETS pdi" PROGTARGETS="$PROGTARGETS pdi" AC_MSG_RESULT(found) else PDILIBINC="" PDILIBLINK="" AC_MSG_RESULT(not found) fi AC_SUBST(PDILIBINC) AC_SUBST(PDILIBLINK) # ---------------------------------------------------------------- # PDFlib main library: not needed for PSP # ---------------------------------------------------------------- dnl PDFLIBCONVENIENT contains all convenient libs to build shared libs dnl like PDFlib, and the wrapper libraries. dnl PDFLIBLINK contains the files needed to link a program against PDFlib dnl PDFLIB_LINK contains the files convenient lib dnl PHP_PDFLIBS contains all libs needed for linking PHP (with ABS paths) dnl EXTERNALLIBS contains extra libs to be added (i.e. -lm) EXTERNALLIBS="$MATHLIB" WITH_PDFLIB=no AC_MSG_CHECKING(for PDFlib base library pdflib) if test -d libs/pdflib ; then WITH_PDFLIB=yes PDFLIBINC="-I\$(top_builddir)/libs/pdflib" PDFLIBLINK="\$(top_builddir)/libs/pdflib/lib$PDFLIBNAME\$(LA)" PDFLIB_LINK="\$(top_builddir)/libs/pdflib/libpdf_\$(LA)" PHP_PDFLIBS="$PHP_PDFLIBS $PDFPWD/libs/pdflib/libpdf_.la" LIBTARGETS="$LIBTARGETS pdflib" BINDTARGETS="$BINDTARGETS pdflib" PROGTARGETS="$PROGTARGETS pdflib" AC_MSG_RESULT(found) else PDFLIBINC="" PDFLIBLINK="" PDFLIB_LINK="" PDFLIBCONVENIENT="" AC_MSG_RESULT(not found) fi AC_SUBST(PDFLIBCONVENIENT) AC_SUBST(PDFLIBINC) AC_SUBST(PDFLIBLINK) AC_SUBST(PDFLIB_LINK) # ---------------------------------------------------------------- # PDFlib auxiliary library: PSP (Pretty Safe PDF) # ---------------------------------------------------------------- WITH_PSP=no PSPLIBINC="" PSPLIBLINK="" PSPLIB_LINK="" AC_MSG_CHECKING(for PDFlib PSP (Pretty Safe PDF)) if test -d libs/psp ; then WITH_PSP=yes AC_ARG_WITH(PSP,[ --without-PSP don't include PSP (Pretty Safe PDF)],[WITH_PSP="$withval"]) if test "$WITH_PSP" = "yes"; then LIBTARGETS="$LIBTARGETS psp" BINDTARGETS="$BINDTARGETS psp" PROGTARGETS="$PROGTARGETS psp" PSPLIBINC="-I\$(top_builddir)/libs/psp" PSPLIBLINK="\$(top_builddir)/libs/psp/libpsp\$(LA)" PSPLIB_LINK="\$(top_builddir)/libs/psp/libpsp_\$(LA)" AC_MSG_RESULT(found) else AC_MSG_RESULT(not used) fi else AC_MSG_RESULT(not found) fi AC_SUBST(PSPLIBINC) AC_SUBST(PSPLIBLINK) AC_SUBST(PSPLIB_LINK) # ---------------------------------------------------------------- # PDFlib auxiliary library: TET # ---------------------------------------------------------------- WITH_TET=no TETLIBINC="" TETLIBLINK="" TETLIB_LINK="" AC_MSG_CHECKING(for PDFlib TET) if test -d libs/tet ; then WITH_TET=yes AC_ARG_WITH(TET,[ --without-TET don't include TET],[WITH_TET="$withval"]) if test "$WITH_TET" = "yes"; then LIBTARGETS="$LIBTARGETS tet" PROGTARGETS="$PROGTARGETS tet" TETLIBINC="-I\$(top_builddir)/libs/tet" TETLIBLINK="\$(top_builddir)/libs/tet/libtet\$(LA)" TETLIB_LINK="\$(top_builddir)/libs/tet/libtet_\$(LA)" AC_MSG_RESULT(found) else AC_MSG_RESULT(not used) fi else AC_MSG_RESULT(not found) fi AC_SUBST(TETLIBINC) AC_SUBST(TETLIBLINK) AC_SUBST(TETLIB_LINK) # ---------------------------------------------------------------- # PDFlib auxiliary library: PDU # ---------------------------------------------------------------- # WITH_PDU=no PDULIBINC="" PDULIBLINK="" AC_MSG_CHECKING(for PDFlib PDU) if test -d libs/pdu ; then WITH_PDU=yes AC_ARG_WITH(PDU,[ --without-PDU don't include PDU],[WITH_PDU="$withval"]) if test "$WITH_PDU" = "yes"; then LIBTARGETS="$LIBTARGETS pdu" PROGTARGETS="$PROGTARGETS pdu" PDULIBINC="-I\$(top_builddir)/libs/pdu" PDULIBLINK="\$(top_builddir)/libs/pdu/libpdu\$(LA)" AC_MSG_RESULT(found) else AC_MSG_RESULT(not used) fi else AC_MSG_RESULT(not found) fi AC_SUBST(PDULIBINC) AC_SUBST(PDULIBLINK) # ---------------------------------------------------------------- # PDFlib auxiliary library: PDPAGE # ---------------------------------------------------------------- WITH_PDPAGE=no AC_MSG_CHECKING(for PDFlib PDPAGE) if test -d libs/pdpage ; then if test "$WITH_TET" = "yes" ; then WITH_PDPAGE=yes fi fi if test "$WITH_PDPAGE" = "yes" ; then LIBTARGETS="$LIBTARGETS pdpage" PDPAGELIBINC="-I\$(top_builddir)/libs/pdpage" PDPAGELIBLINK="\$(top_builddir)/libs/pdpage/libpdpage\$(LA)" AC_MSG_RESULT(found) else PDPAGELIBINC="" PDPAGELIBLINK="" AC_MSG_RESULT(not found) fi AC_SUBST(PDPAGELIBINC) AC_SUBST(PDPAGELIBLINK) # ---------------------------------------------------------------- # PDFlib/PSP PHP binding # ---------------------------------------------------------------- if test -f bind/pdflib/php/Makefile.frag.in ; then GENERATED_FILES="$GENERATED_FILES bind/pdflib/php/Makefile.frag" fi if test -f bind/psp/php/Makefile.frag.in ; then GENERATED_FILES="$GENERATED_FILES bind/psp/php/Makefile.frag" fi # -------------------------------------------------------------------- # PDFlib C++ language binding # -------------------------------------------------------------------- WITH_CXX=yes STDCPP="" AC_ARG_ENABLE(cxx,[ --enable-cxx enable C++ language binding [default=no]], WITH_CXX=$enableval) if test "$WITH_CXX" = "yes"; then AC_LANG_CPLUSPLUS AC_PROG_CXX AC_MSG_CHECKING(whether the previously found C++ compiler works) AC_TRY_COMPILE(, [class a { int b; } ], WITH_CXX=yes, WITH_CXX=no) AC_LANG_C case $ac_sys_system/$ac_sys_release in osf1*|OSF1*) STDCPP="";; *) dnl don't change $WITH_CXX ;; esac dnl If working with gcc add the name of the stdc++ library if test "x$GCC" != "x"; then STDCPP="-lstdc++" fi if test "$WITH_CXX" = "yes"; then AC_SUBST(STDCPP) AC_SUBST(CXX) AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi fi # ---------------------------------------------------------------- # PDFlib wrapup # ---------------------------------------------------------------- dnl The following variables are used to tell the Makefile what to dnl actually do, depending on the available language bindings. dnl PDFlib itself will be built and installed by default, regardless dnl of the settings below. dnl PDI must be in front because it needs zlib and pdcore if test "$PLATFORM_ID" = "MacOSX"; then INCLUDES="$INCLUDES -I/Developer/Headers/FlatCarbon" LDFLAGS="$LDFLAGS -framework CoreServices -framework ApplicationServices" fi dnl pedantic warnings ?? WITHPEDANTIC=no AC_ARG_ENABLE(pedantic,[ --enable-pedantic enable pedantic warnings (gcc only)]], WITHPEDANTIC=$enableval) if test "$WITHPEDANTIC" = "yes"; then dnl If working with gcc and we want pedantic if test "x$GCC" != "x"; then PDFPEDANTIC="-Wall -pedantic -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wshadow -Wpointer-arith" AC_SUBST(PDFPEDANTIC) fi fi BINDINGS="c" PSPBINDINGS="c" if ${CONFIG_SHELL-/bin/sh} ./libtool --features | grep "disable shared" >/dev/null; then WITH_SHARED=no fi dnl Building the language wrappers based on a shared PDFlib is no longer supported! if test "$WITH_SHARED" = "no"; then WITH_JAVA=no WITH_PERL=no WITH_PYTHON=no WITH_TCL=no fi if test "$WITH_CXX" = "yes" ; then BINDINGS="$BINDINGS cpp" fi if test "$WITH_JAVA" = "yes" ; then BINDINGS="$BINDINGS java" PSPBINDINGS="$PSPBINDINGS java" fi if test "$WITH_PERL" = "yes" ; then BINDINGS="$BINDINGS perl" fi if test "$WITH_PYTHON" = "yes" ; then BINDINGS="$BINDINGS python" fi if test "$WITH_TCL" = "yes" ; then BINDINGS="$BINDINGS tcl" fi if test -f ptf/Makefile ; then PTFDIR="ptf" GENERATED_FILES="$GENERATED_FILES ptf/src/dot/dot.pl" fi if test "$WITH_DEBUG" = "yes"; then CFLAGS="$CFLAGS -DDEBUG" fi if test "$WITH_PROFILE" = "yes"; then CFLAGS="$CFLAGS -pg" LDFLAGS="$LDFLAGS -pg" fi DEFINES="$CFLAGS $DEFINES $INCLUDES $PLATFORM" dnl EXTERNALLIBS contains extra libs to be added (i.e. -lm) EXTERNALLIBS="$LDFLAGS $EXTERNALLIBS" PDFLIBCONVENIENT="$PDFLIB_LINK \$(top_builddir)/libs/pdflib/p_basic\$(LO) $PDCORELIBLINK $PNGLIBLINK $FLATELIBLINK $TIFFLIBLINK $PDILIBLINK $JPEGLIBLINK" if test "$WITH_SHARED" = "no"; then dnl We can generate a static lib only, but not a shared RPATH="" else dnl we generate both static and shared libs RPATH="-rpath \$(libdir) -version-info $LTVERSIONINFO" fi AC_SUBST(PHP_PDFLIBS) AC_SUBST(LIBTARGETS) AC_SUBST(BINDTARGETS) AC_SUBST(PROGTARGETS) AC_SUBST(BINDINGS) AC_SUBST(PSPBINDINGS) AC_SUBST(PTFDIR) AC_SUBST(WITH_PDI) AC_SUBST(LDFLAGS) AC_SUBST(EXTERNALLIBS) AC_SUBST(RPATH) AC_SUBST(MATHLIB) AC_SUBST(INCLUDES) AC_SUBST(DEFINES) AC_SUBST(DEFS) AC_SUBST(WITH_SHARED) dnl ---------- Generate the Makefiles GENERATED_FILES="$GENERATED_FILES config/mkcommon.inc config/mkprogs.inc config/mklibs.inc config/mksubdirs.inc config/mkbind.inc pdflib-config" AC_OUTPUT([$GENERATED_FILES],[ chmod +x pdflib-config ]) if test "$WITH_SHARED" = "no" ; then AC_MSG_WARN([Can't create shared PDFlib libraries on this platform.]) AC_MSG_WARN([PDFlib will work when linked to a C or C++ program,]) AC_MSG_WARN([but other language bindings will be unavailable.]) fi if test "$WITH_PSP" = "yes" ; then AC_MSG_RESULT([_____________________________________________________________]) AC_MSG_RESULT([For your convenience, here's a summary of configure's results:]) AC_MSG_RESULT([Java language binding for PSP: $WITH_JAVA]) AC_MSG_RESULT([PHP language binding for PSP: no, see bind/psp/php/readme.txt]) fi if test "$WITH_PDFLIB" = "yes" ; then AC_MSG_RESULT([_____________________________________________________________]) AC_MSG_RESULT([For your convenience, here's a summary of configure's results:]) AC_MSG_RESULT([]) AC_MSG_RESULT([Support for shared libraries: $WITH_SHARED]) AC_MSG_RESULT([C++ language binding for PDFlib: $WITH_CXX]) AC_MSG_RESULT([Java language binding for PDFlib: $WITH_JAVA]) AC_MSG_RESULT([Perl language binding for PDFlib: $WITH_PERL]) AC_MSG_RESULT([Python language binding for PDFlib: $WITH_PYTHON]) AC_MSG_RESULT([Tcl language binding for PDFlib: $WITH_TCL]) AC_MSG_RESULT([PHP language binding for PDFlib: no, see bind/pdflib/php/readme.txt]) AC_MSG_RESULT([PDF import library (PDI): $WITH_PDI]) if test "$WITH_PDI" = "no" ; then AC_MSG_RESULT([ Note: if you purchase the additional PDF import library (PDI)]) AC_MSG_RESULT([ you can also manipulate existing PDF documents with PDFlib.]) AC_MSG_RESULT([ The additional block feature can be used to personalize PDF.]) AC_MSG_RESULT([ See http://www.pdflib.com for details.]) fi fi AC_MSG_RESULT([]) AC_MSG_RESULT([Please observe the licensing terms for commercial PDFlib usage.]) AC_MSG_RESULT([PDFlib license agreement and purchase order can be found in the doc directory.]) AC_MSG_RESULT([])