Skip to content
Snippets Groups Projects
configure 52.8 KiB
Newer Older
# A (not so) simple configure script.
#
# Authors: Christian Holm Christensen and Fons Rademakers
#
# To help with debugging the script, some comments are preprended with
# 3 '#' echo and 3 '%' - replace that pattern with echo and 3 '%' to
# get printouts.  When done replace the pattern echo and 3 '%' with the
# original pattern of 3 '#' echo and 3 '%'.  Emacs command M-C-% does
# this easily.
#
######################################################################
#
### echo %%% Some global variables
#
found_lib=no
found_dir=no
found_hdr=no
noact="no"

enable_afs=no
enable_mysql=yes
enable_opengl=yes
enable_pgsql=yes
enable_pythia=yes
enable_pythia6=yes
enable_rfio=yes
enable_rpath=no
enable_sapdb=yes
enable_shared=yes
enable_soversion=no
enable_srp=yes
enable_table=no
enable_thread=           # must be set explicitely via --enable-thread
enable_exceptions=yes
enable_ttf=yes
enable_venus=yes
show_pkglist=no
options="enable_afs enable_cern enable_mysql enable_opengl enable_pgsql \
         enable_pythia enable_pythia6 enable_rfio enable_dcache enable_rpath \
         enable_sapdb enable_shadowpw enable_shared enable_soversion \
         enable_srp enable_table enable_thread enable_ttf enable_venus \
         enable_krb5 enable_exceptions enable_openiv enable_alien"
######################################################################
#
### echo %%% Some common functions
#
checking_msg() {
    # Write a simple "checking" message to std out.
    if test $# -lt 1 ; then
	echo "checking_msg: Too few arguments"
	return 1
    fi
    echo $ac_n "Checking for$ac_c"
    while test $# -gt 1  ; do
	echo $ac_n " $1,$ac_c"
	shift
	if test $# -eq 1 ; then
	    echo $ac_n " or$ac_c"
	fi
    done
    echo $ac_n " $1 ... $ac_c"
}
check_library() {
    # This function will try to locate a library [$1] in the specific
    # directory [$3] or in a default path [$*].  If the second argument
    # [$2] is not "no", then shared libraries are favoured.
    # The result of the search is stored in found_lib and found_dir,
    # which  should be immediately copied, since the variables value will
    # be overwritten at next invocation of this function.

    # Assert that we got enough arguments
    if test $# -lt 4 ; then
	echo "check_library: Too few arguments"
	return 1
    fi

    libdirs="$*"

    # Write a message
    checking_msg $lib

    # check if we got a specific argument as to where the library
    # is to be found
    if test ! "x$libdirl" = "x" ; then
        libdirs=$libdirl
    fi
    found_lib=no
    found_dir=no

    # Make list of libraries to search for. The .lib extension is for
    # Windoze - note $shared is always "no" on windoze, since we need
    # the .lib export library to link.
    libs=""
    for i in $lib ; do
	for ext in .a .lib ; do
	    libs="$libs $i$ext"
	done
    done
    if test ! "x$shared" = "xno" ; then
	slibs=""
	for i in $lib ; do
		slibs="$slibs $i$ext"
	    done
	done
	libs="$slibs $libs"
    fi

    # Loop over the list of possible directories, and see if we can
    # find any of the library files as determind above.
    for i in $libdirs; do
        for j in ${libs} ; do
	    # if we found the file (it's readable by user), we set the
	    # logical variables an be on our way, otherwise we continue
            if test  -r $i/$j ; then
                found_dir=$i
                found_lib=$j
                break 2
            fi
        done
    done
    echo $found_dir
    unset libs
    unset slibs
    unset libdirs

    if test "x$found_dir" = "xno" || test "$found_lib" = "xno" ; then
	found_dir=""
	found_lib=""
    else
	flib=""
	for i in $lib ; do
	    for ext in .a .lib ; do
		if test "x$found_lib" = "x$i$ext" ; then
		    flib=$i$ext
		fi
	    done
	done
	if test "x$shared" = "xno" || \
	   test "x$found_lib" = "x$flib" ; then
	    found_lib=${found_dir}/${found_lib}
	    found_dir=""
	else
	    found_lib=`echo $found_lib | sed 's|^lib\(.*\)\..*|-l\1|'`
	    found_dir=-L${found_dir}
	fi
    fi
    unset shared
    unset lib
    unset flib
}
check_header()  {
    # This function will try to locate a header [$1] in the specific
    # directory [$2] or in a default path [$*].
    # The result of the search is stored in found_hdr and found_dir,
    # which should be immediately copied, since the variables value will
    # be overwritten at next invocation of this function.

    # Assert that we got enough arguments
    if test $# -lt 3 ; then
	echo "check_header: Too few arguments"
	return 1
    fi

    # Save arguments in logical names
    hdrs=$1     ; shift
    hdrdir=$1   ; shift
    hdrdirs="$*"

    # Write a message
    checking_msg $hdrs

    # Check if we got a specific argument as to where the library
    # is to be found
    if test ! "x$hdrdir" = "x" ; then
        hdrdirs=$hdrdir
    fi
    found_hdr=no
    found_dir=no

    # Loop over the list of possible directories, and see if we can
    # find any of the library files as determind above.
    for i in $hdrdirs; do
        for j in ${hdrs} ; do
	    # if we found the file (it's readable by user), we set the
	    # logical variables and are on our way, otherwise we continue
            if test -r $i/$j ; then
                found_dir=$i
                found_hdr=$j
                break 2
            fi
        done
    done
    echo $found_dir

    if test "x$found_hdr" = "xno" || test "$found_dir" = "xno" ; then
	found_hdr=""
	found_dir=""
    fi

    # Avoid inclusion of /usr/include, which is always included anyway
    if test "x$found_dir" = "x/usr/include" ; then
	found_dir="include"
    fi

    unset hdrs
    unset hdrdirs
    unset hdrdir
}

###################################################################
#
### echo %%% Some skeleton and config files
#
ARCHS=config/ARCHS
MAKEIN=config/Makefile.in
MAKEOUT=config/Makefile.config
CONFIN=config/config.in
CONFOUT=include/config.h
RCONFIN=config/root-config.in
RCONFOUT=bin/root-config
ROOTRCOUT=etc/system.rootrc
MEMPROBEIN=config/memprobe.in
MEMPROBEOUT=bin/memprobe
MIMEUNIXIN=config/mimes.unix.in
MIMEWIN32IN=config/mimes.win32.in
MIMEOUT=etc/root.mimes
TMAKEIN=test/Makefile.in
TMAKEOUT=test/Makefile


######################################################################
#
### echo %%% Testing the echo features
#
if  `(echo "testing\c"; echo 1,2,3) | grep c > /dev/null` ; then
  if `(echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn > /dev/null`; then
    ac_n= ac_c='
' ac_t='	'
  else
    ac_n=-n ac_c= ac_t=
  fi
else
  ac_n= ac_c='\c' ac_t=
fi


######################################################################
#
### echo %%% Help function
#
confhelp() {
    echo "Usage:     $0 <architecture> [flag=value] "
    echo ""
    echo "   --no-create     Do not create output files, dry run"
    echo "   --prefix        Installation prefix       (/usr/local)"
    echo "   --bindir        Binary installation dir   (<prefix>/bin)"
    echo "   --libdir        Library installation dir  (<prefix>/lib/root)"
    echo "   --incdir        Header installation dir   (<prefix>/include/root)"
    echo "   --mandir        Manpages installation dir (<prefix>/share/man/man1)"
    echo "   --etcdir        Config installation dir   (/etc/root)"
    echo "   --datadir       Data installation dir     (<prefix>/share/root)"
    echo "   --proofdir      PROOF utils dir           (<datadir>/proof)"
    echo "   --macrodir      Macro installation dir    (<datadir>/macros)"
    echo "   --cintincdir    CINT interpeted headers   (<datadir>/cint)"
    echo "   --iconpath      Icon installation dir     (<datadir>/icons)"
    echo "   --srcdir        Sources installation dir  (<datadir>/src)"
    echo "   --docdir        Documentation             (<prefix>/share/doc/root)"
    echo "   --testdir       Tests                     (<docdir>/test)"
    echo "   --tutdir        Tutorials                 (<docdir>/tutorial)"
    echo "   --aclocaldir    Autoconf macro install dir(<prefix>/share/aclocal)"
    echo "   --build         Build configuration [debug, exceptions, ...],"
    echo "                   overrides the ROOTBUILD shell variable"
    echo "enable/disable options, prefix with either --enable- or --disable-"
    echo "   shared          Use shared 3rd party libraries if possible"
    echo "   rpath           Set library path on executables"
    echo "   thread          Thread support"
    echo "   table           Build libTable contrib library"
    echo "   ttf             True Type Font support, requires libtff"
    echo "   opengl          OpenGL support, requires libGL and libGLU"
    echo "   openiv          OpenInventor support, requires libInventor and libInventorXt"
    echo "   cern            CERNLIB usage, build h2root and g2root"
    echo "   mysql           MySQL support, requires libmysqlclient"
    echo "   pgsql           PostgreSQL support, requires libpq"
    echo "   sapdb           SapDB support, requires libsqlod and libsqlrte"
    echo "   rfio            SHIFT support, requires libshift from CERN"
    echo "   dcache          dCache support, requires libdcap from DESY"
    echo "   alien           AliEn support, requires libAliEn from ALICE"
    echo "   srp             SRP support, requires SRP source tree"
    echo "   afs             AFS support, requires AFS libs and objects"
    echo "   krb5            Kerberos5 support, requires Kerberos libs"
    echo "   shadowpw        Shadow password support"
    echo "   pythia          Pythia5 EG support, requires libPythia"
    echo "   pythia6         Pythia6 EG support, requires libPythia6"
    echo "   venus           Venus EG support, requires libVenus"
    echo "   soversion       Set version number in sonames"
    echo "with options, prefix with --with-, enables corresponding support"
    echo "   xpm-libdir      XPM support, path to libXpm"
    echo "   thread-libdir   Thread support, path to libpthread"
    echo "   ttf-incdir      TTF support, location of freetype.h"
    echo "   ttf-libdir      TTF support, location of libttf"
    echo "   ttf-fontdir     TTF support, location of TTF fonts"
    echo "   opengl-incdir   OpenGL support, location of GL/gl.h"
    echo "   opengl-libdir   OpenGL support, location of libGL"
    echo "   openiv-incdir   OpenInventor support, location of Inventor/SoType.h"
    echo "   openiv-libdir   OpenInventor support, location of libInventor"
    echo "   mysql-incdir    MySQL support, location of mysql.h"
    echo "   mysql-libdir    MySQL support, location of libmysqlclient"
    echo "   pgsql-incdir    PostgreSQL support, location of libpq-fe.h"
    echo "   pgsql-libdir    PostgreSQL support, location of libpq"
    echo "   sapdb-incdir    SapDB support, location of sql.h"
    echo "   sapdb-libdir    SapDB support, location of libsqlod"
    echo "   pythia-libdir   PYHTIA support, location of libPythia"
    echo "   pythia6-libdir  PYHTIA6 support, location of libPythia6"
    echo "   venus-libdir    VENUS support, location of libVenus"
    echo "   cern-libdir     HBOOK converter, location of CERNLIB libraries"
    echo "   shift-libdir    RFIO support, location of libshift"
    echo "   dcap-incdir     dCache support, location of dcap.h"
    echo "   dcap-libdir     dCache support, location of libdcap"
    echo "   alien-incdir    AliEn support, location of AliEn.h"
    echo "   alien-libdir    AliEn support, location of libAliEn"
    echo "   srp             Secure Remote Passwd support, location of SRP distribution"
    echo "   srp-incdir      SRP support, location header of t_server.h"
    echo "   srp-libdir      SRP support, location header of libsrp.a"
    echo "   afs             AFS support, location of AFS distribution"
    echo "   krb5            Kerberos5 support, location of Kerberos distribution"
######################################################################
#
### echo %%% See if we got the architecture
#
if test $# -lt 1 ; then
   echo "You must give architecture as first argument - try $0 --help"
   exit 1
else
   case $1 in
   -h|--help) confhelp ; exit 0 ;;
      if test "$arch1" = "linuxegcs" ; then
         arch1="linux"
      fi
      if `grep "^$arch1 " $ARCHS >/dev/null 2>&1` ; then
         arch=$arch1
         echo "Configuring for $arch"
         shift
      else
         echo "Invalid architecture. Try $0 --help"
         exit 1
      fi
      if test "x$arch" = "xwin32" || test "x$arch" = "xwin32gdk" ; then
         platform="win32"
      else
         platform=$arch
      fi
######################################################################
#
### echo %%% Some clean up
#
trap "rm -f Makefile.tmp config.tmp root-config.tmp TMakefile.tmp rootrc.tmp \
      memprobe.tmp; exit 1" 1 2 3 15
######################################################################
#
### echo %%% Command line arguments
#
if test $# -gt 0 ; then
   while test ! "x$1" = "x" ; do
      case "$1" in
      -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
      *) optarg= ;;
      esac

      case $1 in
      --help|-h) confhelp ;   exit 0 ;;
      ################################################################
      #
      # With options to specifiy third part software
      #
      --with-xpm-libdir=*)     xpmlibdir=$optarg     ;;
      --with-thread-libdir=*)  threadlibdir=$optarg  ; enable_thread="yes"  ;;
      --with-ttf-incdir=*)     ttfincdir=$optarg     ; enable_ttf="yes"     ;;
      --with-ttf-libdir=*)     ttflibdir=$optarg     ; enable_ttf="yes"     ;;
      --with-ttf-fontdir=*)    ttffontdir=$optarg    ; enable_ttf="yes"     ;;
      --with-opengl-incdir=*)  openglincdir=$optarg  ; enable_opengl="yes"  ;;
      --with-opengl-libdir=*)  opengllibdir=$optarg  ; enable_opengl="yes"  ;;
      --with-openiv-incdir=*)  openivincdir=$optarg  ; enable_openiv="yes"  ;;
      --with-openiv-libdir=*)  openivlibdir=$optarg  ; enable_openiv="yes"  ;;
      --with-mysql-incdir=*)   mysqlincdir=$optarg   ; enable_mysql="yes"   ;;
      --with-mysql-libdir=*)   mysqllibdir=$optarg   ; enable_mysql="yes"   ;;
      --with-pgsql-incdir=*)   pgsqlincdir=$optarg   ; enable_pgsql="yes"   ;;
      --with-pgsql-libdir=*)   pgsqllibdir=$optarg   ; enable_pgsql="yes"   ;;
      --with-sapdb-incdir=*)   sapdbincdir=$optarg   ; enable_sapdb="yes"   ;;
      --with-sapdb-libdir=*)   sapdblibdir=$optarg   ; enable_sapdb="yes"   ;;
      --with-pythia-libdir=*)  pythialibdir=$optarg  ; enable_pythia="yes"  ;;
      --with-pythia6-libdir=*) pythia6libdir=$optarg ; enable_pythia6="yes" ;;
      --with-venus-libdir=*)   venuslibdir=$optarg   ; enable_venus="yes"   ;;
      --with-cern-libdir=*)    cernlibdir=$optarg    ; enable_cern="yes"    ;;
      --with-shift-libdir=*)   shiftlibdir=$optarg   ; enable_rfio="yes"    ;;
      --with-dcap-incdir=*)    dcapincdir=$optarg    ; enable_dcache="yes"  ;;
      --with-dcap-libdir=*)    dcaplibdir=$optarg    ; enable_dcache="yes"  ;;
      --with-alien-incdir=*)   alienincdir=$optarg   ; enable_alien="yes"   ;;
      --with-alien-libdir=*)   alienlibdir=$optarg   ; enable_alien="yes"   ;;
      --with-srp=*)            srpdir=$optarg        ; enable_srp="yes"     ;;
      --with-srp-incdir=*)     srpincdir=$optarg     ; enable_srp="yes"     ;;
      --with-srp-libdir=*)     srplibdir=$optarg     ; enable_srp="yes"     ;;
      --with-afs=*)            afsdir=$optarg        ; enable_afs="yes"     ;;
      --with-krb5=*)           krb5dir=$optarg       ; enable_krb5="yes"    ;;
      --with-sys-iconpath=*)   extraiconpath=$optarg ;;
      ################################################################
      #
      # Enable/disable to turn on/off third party software linkage and
      # features
      #
      --enable-*)
	f=`echo $1 | sed -e 's/--//' -e 's/-/_/'`
	eval $f=yes
	for c in $options ; do
	   if test "x$c" = "x$f" ; then
	      f=""
	   fi
	done
	if test "x$f" != "x" ; then
	   echo "Invalid option '$1'. Try $0 --help" ; exit 1 ;
	fi
	;;
      --disable-*)
	f=`echo $1 | sed -e 's/--disable/enable/' -e 's/-/_/'`
	eval $f=no
	for c in $options ; do
	   if test "x$c" = "x$f" ; then
	      f=""
	   fi
	done
	if test "x$f" != "x" ; then
	   echo "Invalid option '$1'. Try $0 --help" ; exit 1 ;
	fi
	;;
      ################################################################
      #
      # Build steering option
      #
      --build=*)              rootbuild="ROOTBUILD      := $optarg"  ;;
      ################################################################
      #
      # Install path options
      #
      --prefix*)      haveconfig=-DHAVE_CONFIG ; prefix=$optarg      ;;
      --bindir=*)     haveconfig=-DHAVE_CONFIG ; bindir=$optarg      ;;
      --libdir=*)     haveconfig=-DHAVE_CONFIG ; libdir=$optarg      ;;
      --incdir=*)     haveconfig=-DHAVE_CONFIG ; incdir=$optarg      ;;
      --etcdir=*)     haveconfig=-DHAVE_CONFIG ; etcdir=$optarg      ;;
      --mandir=*)     haveconfig=-DHAVE_CONFIG ; mandir=$optarg      ;;
      --datadir=*)    haveconfig=-DHAVE_CONFIG ; datadir=$optarg     ;;
      --macrodir=*)   haveconfig=-DHAVE_CONFIG ; macrodir=$optarg    ;;
      --cintincdir=*) haveconfig=-DHAVE_CONFIG ; cintincdir=$optarg  ;;
      --iconpath=*)   haveconfig=-DHAVE_CONFIG ; iconpath=$optarg    ;;
      --srcdir=*)     haveconfig=-DHAVE_CONFIG ; srcdir=$optarg      ;;
      --docdir=*)     haveconfig=-DHAVE_CONFIG ; docdir=$optarg      ;;
      --testdir=*)    haveconfig=-DHAVE_CONFIG ; testdir=$optarg     ;;
      --tutdir=*)     haveconfig=-DHAVE_CONFIG ; tutdir=$optarg      ;;
      --aclocaldir=*) haveconfig=-DHAVE_CONFIG ; aclocaldir=$optarg  ;;
      --pkglist*)     show_pkglist="yes" ; noact="yes";;
      *)  echo "Invalid option '$1'. Try $0 --help" ; exit 1 ;;
######################################################################
#
### echo %%% Copy skeletons to temporary files
#
if test "x$noact" = "xno"; then
    cp -f $MAKEIN Makefile.tmp
    cp -f $CONFIN config.tmp
    cp -f $RCONFIN root-config.tmp
    cp -f $TMAKEIN TMakefile.tmp
    cp -f $ROOTRCIN rootrc.tmp
    cp -f $MEMPROBEIN memprobe.tmp
fi

######################################################################
#
### echo %%% Should sonames contain version numbers
if test "x$enable_soversion" = "xyes"; then
    major=`sed 's|\(.*\)\..*/.*|\1|' < build/version_number`
    minor=`sed 's|.*\.\(.*\)/.*|\1|' < build/version_number`
    revis=`sed 's|.*\..*/\(.*\)|\1|' < build/version_number`

    mkliboption="-v $major $minor $revis "
    unset major
    unset minor
    unset revis

######################################################################
#
### echo %%% On Windoze always set enable_shared to no; need .lib
#
if test "x$platform" = "xwin32"; then
    enable_shared="no"
fi

######################################################################
#
### echo %%% XPM Library - Mandatory lib on Unix
#
# Mandetory test, must succeed
# Check for Xpm library
#
if test ! "$platform" = "win32"; then
    check_library "libXpm" "$enable_shared" "$xpmlibdir" \
	$XPM $XPM/lib /usr/lib /usr/local/lib /usr/lib/X11 \
	/usr/local/lib/X11 /usr/X11R6/lib /use/local/X11R6/lib \
	/usr/X11/lib
    xpmlib=$found_lib
    xpmlibdir=$found_dir
    if test "x$xpmlib" = "x" ; then
	echo "`basename $0`: libXpm MUST be installed"
######################################################################
#
### echo %%% Exceptions - compiler feature
#
if test "x$EXCEPTIONS" = "xno" ; then
    enable_exceptions=no
fi
e=`echo $rootbuild | sed 's/.*exceptions.*/1/'`
if test "x$e" = "x1" ; then
    enable_exceptions=no
fi

######################################################################
#
### echo %%% Posix Thread Library
linux|linuxdeb|linuxicc|linuxecc)
    if test "x$enable_thread" = "x"; then
        enable_thread="yes"
    fi
    ;;
esac
if test "x$enable_thread" = "xyes" && test ! "$platform" = "win32" ; then
    check_library "libpthread" "$enable_shared" "$threadlibdir" \
	$THREAD $THREAD/lib /usr/lib32 /usr/lib /usr/local/lib /usr/lib/X11 \
	/usr/local/lib/X11 /usr/X11R6/lib /usr/local/X11R6/lib \
	/usr/X11/lib /usr/shlib
    threadlib=$found_lib
    threadlibdir=$found_dir

    if test "x$threadlib" = "x" ; then
######################################################################
#
### echo %%% FreeType Support - Third party libraries
if test ! "x$enable_ttf" = "xno" && test ! "$platform" = "win32"; then
    # Check for FreeType TTF include, library and fonts
    check_header "freetype.h" "$ttfincdir" $TTF $TTF/include \
	/usr/include /usr/local/include /usr/include/freetype \
	/usr/local/include/freetype /usr/freetype/include \
	/usr/local/freetype/include /usr/freetype \
	/usr/local/freetype /opt/freetype /opt/freetype/include \
	/usr/local/ttf/include /opt/ttf/include \
	/usr/include/freetype1/freetype
    ttfinc=$found_hdr
    ttfincdir=$found_dir

    check_library "libttf" "$enable_shared" "$ttflibdir"  \
	$TTF $TTF/lib /usr/lib /usr/local/lib /usr/lib/freetype \
	/usr/local/lib/freetype /usr/freetype/lib \
	/usr/local/freetype/lib /usr/freetype \
	/usr/local/freetype /opt/freetype /opt/freetype/lib \
        /usr/local/ttf/lib /opt/ttf/lib
    ttflib=$found_lib
    ttflibdir=$found_dir

    check_header "arial.ttf" "$ttffontdir" $TTF $TTF/fonts /usr/lib/X11/fonts \
	/usr/lib/X11/fonts/ttf /usr/share /usr/share/fonts \
	/usr/share/fonts/ttf /usr/share/ttf /usr/local/share \
	/usr/local/share/fonts /usr/local/share/fonts/ttf \
	/usr/local/share/ttf /opt/fonts /opt/fonts/ttf \
	/opt/ttf /opt/ttf/fonts /usr/local/ttf/fonts \
	/usr/X11R6/lib/X11/fonts/truetype /usr/X11R6/lib/X11/fonts/TrueType
    ttffontdir=$found_dir
    # Note that we no longer require the actual fonts at compile time
    # since they are strictlu not needed until run time; as long
    # as the freetype library and headers are present we can compile
    # libGX11TTF.so.  Hence, individuals that do not particular want
    # the Microsoft fonts (for whatever reason) can still build the
    # library.
    if test "x$ttflib" = "x" || test "x$ttfincdir" = "x" ; then

######################################################################
#
### echo %%% OpenGL Support - Third party libraries
if test ! "x$enable_opengl" = "xno" && test ! "$platform" = "win32" ; then
    # Check for OpenGL compatible include and library
    check_header "GL/gl.h" "$openglincdir" $OPENGL $OPENGL/include \
	/usr/include /usr/include/X11 /usr/X11/include \
	/usr/X11R6/include /usr/local/include/X11 \
	/usr/local/X11R6/include /usr/local/include \
	/usr/include/Mesa /usr/local/include/Mesa /usr/Mesa/include \
	/usr/local/Mesa/include /usr/Mesa /usr/local/Mesa /opt/Mesa \
	/opt/Mesa/include /opt/graphics/OpenGL/include
    openglinc=$found_hdr
    openglincdir=$found_dir

    opengllibdirs="$OPENGL $OPENGL/lib /usr/lib /usr/local/lib /usr/lib/X11 \
	/usr/X11R6/lib /usr/local/lib/X11 /usr/local/X11R6/lib \
        /usr/X11/lib /usr/lib/Mesa /usr/local/lib/Mesa /usr/Mesa/lib \
	/usr/local/Mesa/lib /usr/Mesa /usr/local/Mesa /opt/Mesa \
	/opt/Mesa/lib /opt/graphics/OpenGL/lib/hpux64 /opt/graphics/OpenGL/lib"

    keep=$opengllibdir
    check_library "libGL libMesaGL" "$enable_shared" \
	"$opengllibdir" $opengllibdirs
    opengllib=$found_lib
    opengllibdir=$found_dir

    check_library "libGLU libMesaGLU" "$enable_shared" \
	"$keep" $opengllibdirs
    openglulib=$found_lib
    openglulibdir=$found_dir

    if test "x$openglincdir" = "x" || \
       test "x$opengllib" = "x" || \
       test "x$openglulib" = "x" ; then
######################################################################
#
### echo %%% OpenInventor Support - Third party libraries
#
# (see http://oss.sgi.com/projects/inventor/)
#
if test "x$enable_opengl" = "xno" ; then
if test ! "x$enable_openiv" = "xno" && test ! "$platform" = "win32" ; then
    # Check for OpenInventor compatible include and library
    check_header "Inventor/SoType.h" "$openivincdir" $IVROOT $IVROOT/include \
	$IVROOT/usr/include /usr/include /usr/include/X11 /usr/X11/include \
	/usr/X11R6/include /usr/local/include/X11 \
	/usr/local/X11R6/include /usr/local/include \
	/usr/include/inventor /usr/local/include/inventor \
	/usr/inventor/include /usr/local/inventor/include \
	/usr/inventor/usr/include /usr/local/inventor/usr/include \
	/usr/local/inventor /opt/inventor /opt/inventor/include \
	/opt/inventor/usr/include
    openivinc=$found_hdr
    openivincdir=$found_dir

    openivlibdirs="$IVROOT $IVROOT/lib $IVROOT/usr/lib /usr/lib /usr/local/lib \
	/usr/lib/X11 /usr/X11R6/lib /usr/local/lib/X11 /usr/local/X11R6/lib \
        /usr/X11/lib /usr/lib/inventor /usr/local/lib/inventor \
	/usr/inventor/lib /usr/inventor/usr/lib /usr/local/inventor/lib \
	/usr/local/inventor/usr/lib /usr/inventor /usr/local/inventor \
	/opt/inventor /opt/inventor/lib /opt/inventor/usr/lib"

    keep=$openivlibdir
    check_library "libInventor" "$enable_shared" \
	"$openivlibdir" $openivlibdirs
    openivlib=$found_lib
    openivlibdir=$found_dir

    check_library "libInventorXt" "$enable_shared" \
	"$keep" $openivlibdirs
    openivlib="$openivlib $found_lib"
    openivlibdir="$openivlibdir $found_dir"

    if test "x$openivincdir" = "x" || \
       test "x$openivlib" = "x" ; then
        enable_openiv="no"
    fi
fi

######################################################################
#
### echo %%% OpenGL support on Windoze
#
# On win32 we always have OpenGL available (is this true?)
#
if test "$platform" = "win32"; then
   enable_opengl="yes"
   openglincdir="include"
######################################################################
#
### echo %%% MySQL Support - Third party libraries
#
# (See mysql.org)
#
# If the user has set the flags "--disable-mysql", we don't check for
# MySQL at all.
if test ! "x$enable_mysql" = "xno"; then
    check_header "mysql.h" "$mysqlincdir" \
	$MYSQL $MYSQL/include /usr/include /usr/local/include \
	/usr/include/mysql /usr/local/include/mysql \
	/usr/mysql/include /usr/local/mysql/include /usr/mysql \
        /usr/local/mysql /opt/mysql /opt/mysql/include
    mysqlinc=$found_hdr
    mysqlincdir=$found_dir

    check_library "libmysqlclient" "$enable_shared" "$mysqllibdir" \
	$MYSQL $MYSQL/lib /usr/lib /usr/local/lib /usr/lib/mysql \
	/usr/local/lib/mysql /usr/mysql/lib /usr/local/mysql/lib \
	/usr/mysql /usr/local/mysql /opt/mysql /opt/mysql/lib
    mysqllib=$found_lib
    mysqllibdir=$found_dir

    # on linux, but maybe also other systems, explicitely add libz
    # (formally only needed when linking against the static libmysqlclient.a)
    if test ! "x$mysqllib" = "x" ; then
	case $arch in
	    linux*) mysqllib="$mysqllib -lz" ;;
	esac
    fi

    if test "x$mysqlincdir" = "x" || test "x$mysqllib" = "x"; then
######################################################################
#
### echo %%% PostgreSQL Support - Third party libraries
#
# (See postgresql.org)
#
# If the user has set the flags "--disable-pgsql", we don't check for
# PostgreSQL at all.
if test ! "x$enable_pgsql" = "xno"; then
# Check for PgSQL include and library
    check_header "libpq-fe.h" "$pgsqlincdir" $PGSQL $PGSQL/include \
	/usr/include /usr/local/include /usr/local/pgsql/include \
        /usr/include/pgsql /usr/include/postgresql /usr/pgsql/include \
        /usr/local/include/pgsql /usr/local/include/postgresql \
	/usr/pgsql /usr/local/pgsql /opt/pgsql /opt/pgsql/include
    pgsqlinc=$found_hdr
    pgsqlincdir=$found_dir

    check_library "libpq" "$enable_shared" "$pgsqllibdir" \
	$PGSQL $PGSQL/lib /usr/local/pgsql/lib /usr/local/lib \
	/usr/lib/pgsql /usr/local/lib/pgsql /usr/pgsql/lib /usr/lib \
	/usr/pgsql /usr/local/pgsql /opt/pgsql /opt/pgsql/lib
    pgsqllib=$found_lib
    pgsqllibdir=$found_dir

    if test "x$pgsqlincdir" = "x" || test "x$pgsqllib" = "x"; then
######################################################################
#
### echo %%% SapDB Support - Third party libraries
#
# (See www.sapdb.org)
#
# If the user has set the flags "--disable-sapdb", we don't check for
# SapDB at all.
#
if test ! "x$enable_sapdb" = "xno"; then
# Check for SapDB include and library
    check_header "sql.h" "$sapdbincdir" $SAPDB $SAPDB/include \
	/opt/sapdb/interfaces/odbc/incl /usr/sapdb/interfaces/odbc/incl \
	/usr/sapdb/include /usr/local/sapdb/interfaces/odbc/incl \
	/usr/sapdb/web/incl /usr/include/sapdb /usr/local/include/sapdb \
	/usr/local/sapdb/include /usr/local/sapdb/web/incl /usr/sapdb \
	/usr/local/sapdb /opt/sapdb /opt/sapdb/include /opt/sapdb/web/incl
    sapdbinc=$found_hdr
    sapdbincdir=$found_dir

    check_library "libsqlod" "$enable_shared" "$sapdblibdir" \
	$SAPDB $SAPDB/lib /opt/sapdb/interfaces/odbc/lib \
	/usr/sapdb/interfaces/odbc/lib /usr/spadb/lib \
	/usr/local/sapdb/interfaces/odbc/lib /usr/local/sapdb/lib \
	/usr/lib/sapdb /usr/local/lib/sapdb /usr/sapdb/lib \
	/usr/local/sapdb/lib /usr/sapdb /usr/local/sapdb \
	/opt/sapdb /opt/sapdb/lib /usr/sapdb/web/lib \
	/usr/local/sapdb/web/lib /opt/sapdb/web/lib
    sapdblib=$found_lib
    sapdblibdir=$found_dir
    if test "x$sapdbincdir" = "x" || test "x$sapdblib" = "x"; then
        enable_sapdb="no"
    fi
fi

######################################################################
#
### echo %%% CERNLIB Usage - Third party libraries
# Check for CERN libs (libpacklib and libkernlib)
if test ! "x$enable_cern" = "xno"; then
    cernlibdirs="$CERNLIB $CERNLIB/lib ${CERN}/${CERN_LEVEL}/lib  \
	/cern/pro/lib /cern/new/lib /cern/new/lib /opt/cern/pro/lib \
	/opt/cern/new/lib /opt/cern/new/lib /usr/local/cern/pro/lib \
	/usr/local/cern/new/lib /usr/local/cern/old/lib /usr/lib \
	/usr/lib/cern"
    check_library "libpacklib packlib" "$enable_shared" "${cernlibdir}" \
	$cernlibdirs
    packlib=$found_lib
    packlibdir=$found_dir

    check_library "libkernlib kernlib" "$enable_shared" "${cernlibdir}" \
	$cernlibdirs
    kernlib=$found_lib
    kernlibdir=$found_dir

    if test "x$packlib" = "x" || test "x$kernlib" = "x"; then
     else
        cernlib="$packlib $kernlib"
        cernlibdir="$packlibdir $kernlibdir"
######################################################################
#
### echo %%% Pythia5 Usage - Third party libraries
if test ! "x$enable_pythia" = "xno"; then
    check_library "libPythia" "$enable_shared" "$pythialibdir" \
	$PYTHIA $PYTHIA/lib /cern/pro/lib /opt/pythia /opt/pythia5 \
        /usr/lib/pythia /usr/local/lib/pythia /usr/lib/pythia5 \
	/usr/local/lib/pythia5 /usr/lib /usr/local/lib
    pythialib=$found_lib
    pythialibdir=$found_dir
    if test "x$pythialib" = "x"; then
######################################################################
#
### echo %%% Pythia6  Usage - Third party libraries
if test ! "x$enable_pythia6" = "xno" ; then
    check_library "libPythia6" "$enable_shared" "$pythia6libdir" \
	$PYTHIA6 $PYTHIA6/lib /cern/pro/lib /opt/pythia /opt/pythia6 \
        /usr/lib/pythia /usr/local/lib/pythia /usr/lib/pythia6 \
	/usr/local/lib/pythia6 /usr/lib /usr/local/lib
    pythia6lib=$found_lib
    pythia6libdir=$found_dir
    if test "x$pythia6lib" = "x" ; then
######################################################################
#
### echo %%% Venus  Usage - Third party libraries
if test ! "x$enable_venus" = "xno" ; then
    check_library "libVenus" "$enable_shared" "$venuslibdir" \
	$VENUS $VENUS/lib /cern/pro/lib /opt/venus /usr/lib/venus \
	/usr/local/lib/venus /usr/lib /usr/local/lib
    venuslib=$found_lib
    venuslibdir=$found_dir
    if test "x$venuslib" = "x" ; then
######################################################################
#
### echo %%% SHIFT Support - Third party libraries
if test ! "x$enable_rfio" = "xno" ; then
    check_library "libshift shift" "$enable_shared" "$shiftlibdir" \
	$RFIO $RFIO/lib /cern/pro/lib /cern/new/lib /cern/old/lib \
	/opt/shift/lib /usr/local/shift/lib /usr/lib/shift \
	/usr/local/lib/shift /usr/lib /usr/local/lib
    shiftlib=$found_lib
    shiftlibdir=$found_dir
    if test "x$shiftlib" = "x"; then
######################################################################
#
### echo %%% dCache Support - Third party libraries
#
# (See http://www-dcache.desy.de)
#
# Check for libdcap
#
if test ! "x$enable_dcache" = "xno" ; then
    check_header "dcap.h" "$dcapincdir" /products/dcache/include \
	/opt/dcache/include /usr/include /usr/local/include
    check_library "libdcap" "$enable_shared" "$dcaplibdir" \
	/products/dcache/lib /opt/dcache/lib /usr/lib /usr/local/lib
    if test "x$dcapincdir" = "x" || test "x$dcaplib" = "x"; then
######################################################################
#
### echo %%% AliEn Support - Third party libraries
#
# (See http://alien.cern.ch)
#
# Check for libAliEn
#
if test ! "x$enable_alien" = "xno" ; then
    check_header "AliEn.h" "$alienincdir" $ALIEN $ALIEN/include \
	/opt/alien/include /usr/local/alien/include /usr/include \
	/usr/local/include
    alienincdir=$found_dir