#!/usr/bin/env bash
# -*- sh-indentation: 3 -*-
# This script returns the machine dependent compile options needed
# to compile and link applications using the ROOT libraries.
#
# Author: Fons Rademakers, 06/06/99

readlink=readlink
if [ `uname` = "AIX" ]; then
   readlink=echo
fi

# work around readlink versions not having -f option
fullpath1=`$readlink $0`
if [ "$?" -ne "0" ]; then
   fullpath1=$0
else
   if [ ${fullpath1##/} = $fullpath1 ] && [ ${fullpath1##~} = $fullpath1 ]; then
      # relative path, prepend directory where executable was found
      lpath=`dirname $0`
      fullpath1=$lpath/$fullpath1
   fi
fi
progdir=`dirname $fullpath1`
runningdir=`pwd`
if [ ${progdir##/} != $progdir ] || [ ${progdir##~} != $progdir ]; then
   # absolute path
   fullpath=$progdir
else
   # relative path
   if [ $progdir != "." ]; then
      fullpath=$runningdir/$progdir
   else
      fullpath=$runningdir
   fi
fi
# work around readlink versions not having -f option
fullpath1=`$readlink $fullpath`
if [ "$?" -ne "0" ]; then
   fullpath1=$fullpath
fi
ROOTSYS=`dirname $fullpath1`

arch=linuxx8664gcc
platform=linux
cxxversion=cxx11
bindir=$ROOTSYS/bin
libdir=$ROOTSYS/lib
incdir=$ROOTSYS/include
etcdir=$ROOTSYS/etc
features=" asimage astiff builtin_afterimage builtin_fftw3 builtin_freetype builtin_ftgl builtin_gl2ps builtin_glew builtin_gsl builtin_llvm builtin_lzma builtin_pcre builtin_tbb builtin_unuran cling cxx11 exceptions explicitlink fftw3 fortran gdml genvector http imt krb5 mathmore memstat minuit2 opengl pch pythia8 python roofit shadowpw shared ssl table thread tmva unuran x11 xft xml xrootd"
configargs="BLAS_atlas_LIBRARY=/usr/lib/libatlas.so BLAS_f77blas_LIBRARY=/usr/lib/libf77blas.so COMERR_LIBRARY=/usr/lib/x86_64-linux-gnu/libcom_err.so JPEG_INCLUDE_DIR=/usr/include JPEG_LIBRARY=/usr/lib/x86_64-linux-gnu/libjpeg.so KRB5_INCLUDE_DIR=/usr/include/krb5 KRB5_LIBRARY=/usr/lib/x86_64-linux-gnu/libkrb5.so KRB5_MIT_LIBRARY=/usr/lib/x86_64-linux-gnu/libk5crypto.so LIBXML2_INCLUDE_DIR=/usr/include/libxml2 LIBXML2_LIBRARIES=/usr/lib/x86_64-linux-gnu/libxml2.so OPENGL_INCLUDE_DIR=/usr/include OPENGL_gl_LIBRARY=/usr/lib/x86_64-linux-gnu/libGL.so OPENGL_glu_LIBRARY=/usr/lib/x86_64-linux-gnu/libGLU.so OPENSSL_CRYPTO_LIBRARY=/usr/lib/x86_64-linux-gnu/libcrypto.so OPENSSL_INCLUDE_DIR=/usr/include OPENSSL_SSL_LIBRARY=/usr/lib/x86_64-linux-gnu/libssl.so PC_LIBXML_INCLUDEDIR=/usr/include PC_LIBXML_INCLUDE_DIRS=/usr/include/libxml2 PC_LIBXML_LIBRARIES=xml2 PC_LIBXML_STATIC_INCLUDE_DIRS=/usr/include/libxml2 PNG_LIBRARY=/usr/lib/x86_64-linux-gnu/libpng.so PNG_LIBRARY_RELEASE=/usr/lib/x86_64-linux-gnu/libpng.so PNG_PNG_INCLUDE_DIR=/usr/include PYTHIA8_INCLUDE_DIR=/opt/pythia8/include PYTHIA8_LIBRARY=/opt/pythia8/lib/libpythia8.so PYTHIA8_lhapdfdummy_LIBRARY=/opt/pythia8/lib/liblhapdfdummy.so PYTHON_INCLUDE_DIR=/usr/include/python2.7 PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so PYTHON_LIBRARY_RELEASE=/usr/lib/x86_64-linux-gnu/libpython2.7.so TIFF_INCLUDE_DIR=/usr/include/x86_64-linux-gnu TIFF_LIBRARY=/usr/lib/x86_64-linux-gnu/libtiff.so TIFF_LIBRARY_RELEASE=/usr/lib/x86_64-linux-gnu/libtiff.so X11_ICE_INCLUDE_PATH=/usr/include X11_SM_INCLUDE_PATH=/usr/include X11_X11_INCLUDE_PATH=/usr/include X11_XShm_INCLUDE_PATH=/usr/include X11_XSync_INCLUDE_PATH=/usr/include X11_XTest_INCLUDE_PATH=/usr/include X11_Xaccessstr_INCLUDE_PATH=/usr/include X11_Xau_INCLUDE_PATH=/usr/include X11_Xcomposite_INCLUDE_PATH=/usr/include X11_Xcursor_INCLUDE_PATH=/usr/include X11_Xdamage_INCLUDE_PATH=/usr/include X11_Xdmcp_INCLUDE_PATH=/usr/include X11_Xfixes_INCLUDE_PATH=/usr/include X11_Xft_INCLUDE_PATH=/usr/include X11_Xi_INCLUDE_PATH=/usr/include X11_Xinput_INCLUDE_PATH=/usr/include X11_Xkb_INCLUDE_PATH=/usr/include X11_Xkblib_INCLUDE_PATH=/usr/include X11_Xlib_INCLUDE_PATH=/usr/include X11_Xmu_INCLUDE_PATH=/usr/include X11_Xpm_INCLUDE_PATH=/usr/include X11_Xrandr_INCLUDE_PATH=/usr/include X11_Xrender_INCLUDE_PATH=/usr/include X11_Xscreensaver_INCLUDE_PATH=/usr/include X11_Xshape_INCLUDE_PATH=/usr/include X11_Xt_INCLUDE_PATH=/usr/include X11_Xutil_INCLUDE_PATH=/usr/include X11_dpms_INCLUDE_PATH=/usr/include X11_xf86vmode_INCLUDE_PATH=/usr/include XROOTD_INCLUDE_DIR=/opt/xrootd/include/xrootd XROOTD_XrdCl_LIBRARY=/opt/xrootd/lib/libXrdCl.so XROOTD_XrdClient_LIBRARY=/opt/xrootd/lib/libXrdClient.so XROOTD_XrdUtils_LIBRARY=/opt/xrootd/lib/libXrdUtils.so ZLIB_INCLUDE_DIR=/usr/include ZLIB_LIBRARY_RELEASE=/usr/lib/x86_64-linux-gnu/libz.so "
altcc="cc"
altcxx="c++"
altf77="f95"
altld="c++"

if test "$platform" = "win32"; then
   if [ "x$ROOTSYS" != "x" ]; then
      unixROOTSYS=`cygpath -u $ROOTSYS`
   else
      unixROOTSYS=.
   fi
   bindir=$unixROOTSYS/bin
   libdir=$unixROOTSYS/lib
   incdir=$unixROOTSYS/include
   etcdir=$unixROOTSYS/etc
fi

### ROOT libraries ###

if test "$platform" = "ios"; then
   newlib=
   rootglibs=
   rootevelibs=
   rootlibs="-lRoota"
else
   newlib="-lNew"
   rootglibs="-lGui"
   rootevelibs="-lEve -lEG -lGeom -lGed -lRGL"
   rootlibs="-lCore -lImt -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lTreePlayer\
             -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread\
             -lMultiProc"
fi

if test "$platform" = "win32"; then
   rootulibs="-include:_G__cpp_setupG__Net        \
              -include:_G__cpp_setupG__IO         \
              -include:_G__cpp_setupG__Hist       \
              -include:_G__cpp_setupG__Graf       \
              -include:_G__cpp_setupG__G3D        \
              -include:_G__cpp_setupG__GPad       \
              -include:_G__cpp_setupG__Tree       \
              -include:_G__cpp_setupG__TreePlayer \
              -include:_G__cpp_setupG__Thread     \
              -include:_G__cpp_setupG__Rint       \
              -include:_G__cpp_setupG__PostScript \
              -include:_G__cpp_setupG__Matrix     \
              -include:_G__cpp_setupG__Physics"
   rootuglibs="-include:_G__cpp_setupG__Gui1"
   rootuevelibs="-include:_G__cpp_setupG__EG         \
                 -include:_G__cpp_setupG__Geom1      \
                 -include:_G__cpp_setupG__Ged        \
                 -include:_G__cpp_setupG__GL         \
                 -include:_G__cpp_setupG__Eve1"
elif test "$platform" = "aix5"; then
   rootulibs="-Wl,-u,.G__cpp_setupG__Net        \
              -Wl,-u,.G__cpp_setupG__IO         \
              -Wl,-u,.G__cpp_setupG__Hist       \
              -Wl,-u,.G__cpp_setupG__Graf       \
              -Wl,-u,.G__cpp_setupG__G3D        \
              -Wl,-u,.G__cpp_setupG__GPad       \
              -Wl,-u,.G__cpp_setupG__Tree       \
              -Wl,-u,.G__cpp_setupG__TreePlayer \
              -Wl,-u,.G__cpp_setupG__Thread     \
              -Wl,-u,.G__cpp_setupG__Rint       \
              -Wl,-u,.G__cpp_setupG__PostScript \
              -Wl,-u,.G__cpp_setupG__Matrix     \
              -Wl,-u,.G__cpp_setupG__Physics"
   rootuglibs="-Wl,-u,.G__cpp_setupG__Gui1"
   rootuevelibs="-Wl,-u,.G__cpp_setupG__EG         \
                 -Wl,-u,.G__cpp_setupG__Geom1      \
                 -Wl,-u,.G__cpp_setupG__Ged        \
                 -Wl,-u,.G__cpp_setupG__GL         \
                 -Wl,-u,.G__cpp_setupG__Eve1"
else
   rootulibs="-Wl,-u,_G__cpp_setupG__Net        \
              -Wl,-u,_G__cpp_setupG__IO         \
              -Wl,-u,_G__cpp_setupG__Hist       \
              -Wl,-u,_G__cpp_setupG__Graf       \
              -Wl,-u,_G__cpp_setupG__G3D        \
              -Wl,-u,_G__cpp_setupG__GPad       \
              -Wl,-u,_G__cpp_setupG__Tree       \
              -Wl,-u,_G__cpp_setupG__TreePlayer \
              -Wl,-u,_G__cpp_setupG__Thread     \
              -Wl,-u,_G__cpp_setupG__Rint       \
              -Wl,-u,_G__cpp_setupG__PostScript \
              -Wl,-u,_G__cpp_setupG__Matrix     \
              -Wl,-u,_G__cpp_setupG__Physics"
   rootuglibs="-Wl,-u,_G__cpp_setupG__Gui1"
   rootuevelibs="-Wl,-u,_G__cpp_setupG__EG         \
                 -Wl,-u,_G__cpp_setupG__Geom1      \
                 -Wl,-u,_G__cpp_setupG__Ged        \
                 -Wl,-u,_G__cpp_setupG__GL         \
                 -Wl,-u,_G__cpp_setupG__Eve1"
fi

### machine dependent settings ###

case "$cxxversion" in
  cxx17) cxxversionflag="-std=c++1z " ;;
  cxx14) cxxversionflag="-std=c++1y " ;;
  *)     cxxversionflag="-std=c++11 " ;;
esac

case $arch in
aix5)
   # IBM AIX
   auxcflags="-qnoro -qnoroconst -qmaxmem=-1 -qrtti=all"
   auxlibs=
   #forcelibs=$rootulibs
   #forceglibs=$rootuglibs
   #forceevelibs=$rootuevelibs
   ;;
aixgcc)
   # IBM AIX with g++
   auxcflags="${cxxversionflag} -fsigned-char"
   auxlibs=
   #forcelibs=$rootulibs
   #forceglibs=$rootuglibs
   #forceevelibs=$rootuevelibs
   ;;
solarisgcc)
   # Solaris g++ 2.8.x
   auxcflags="${cxxversionflag}"
   auxlibs="-L/usr/ccs/lib -lm -lsocket -lgen -ldl"
   ;;
solarisCC5)
   # Solaris CC 5.0
   if [ `uname -p` = "i386" ]; then
      auxcflags="${cxxversionflag} -library=stlport4"
      auxldflags="-library=stlport4"
   else
      auxcflags="${cxxversionflag}"
      auxldflags=
   fi
   auxlibs="-lm -ldl -lnsl -lsocket"
   ;;
solaris64CC5)
   # Solaris CC 5.0 x86-64
   auxcflags="${cxxversionflag} -m64 -library=stlport4"
   auxldflags="-m64 -library=stlport4"
   auxlibs="-lm -ldl -lnsl -lsocket"
   ;;
linux)
   # Linux with gcc >= 3.x
   auxcflags="${cxxversionflag} -m32 -msse -mfpmath=sse "
   auxldflags="-m32 -msse -mfpmath=sse "
   auxlibs="-lm -ldl -rdynamic"
   ;;
linuxicc)
   # Linux with the Intel icc compiler
   auxcflags="${cxxversionflag}"
   auxlibs="-limf -lm -ldl"
   ;;
linuxppcgcc)
   # PPC Linux with gcc
   auxcflags="${cxxversionflag} -m32 -fsigned-char"
   auxldflags="-m32"
   auxlibs="-lm -ldl -rdynamic"
   ;;
linuxppc64gcc)
   # PPC64/PPC64LE (64 bit mode) Linux with gcc
   auxcflags="${cxxversionflag} -m64 -fsigned-char"
   auxldflags="-m64"
   auxlibs="-lm -ldl -rdynamic"
   ;;
linuxx8664gcc)
   # AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
   auxcflags="${cxxversionflag} -m64"
   auxldflags="-m64"
   auxlibs="-lm -ldl -rdynamic"
   ;;
linuxx8664icc)
   # AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc
   auxcflags="${cxxversionflag}"
   auxlibs="-limf -lm -ldl"
   ;;
linuxx8664k1omicc)
   # Intel Many Integrated Cores Architecture (Knights Corner) Linux with Intel icc
   auxcflags="${cxxversionflag} -mmic -I/usr/include"
   auxlibs="-limf -lm -ldl"
   ;;
linuxx32gcc)
   # x32 ABI (64 bit mode with 32 bit pointers) Linux with gcc > 4.7
   auxcflags="${cxxversionflag} -mx32"
   auxldflags="-mx32"
   auxlibs="-lm -ldl -rdynamic"
   ;;
linuxarm)
   # ARM Linux with gcc
   auxcflags="${cxxversionflag} -fsigned-char"
   auxlibs="-lm -ldl -rdynamic"
   ;;
linuxarm64)
   # ARMv8-A (AArch64) Linux with gcc
   auxcflags="${cxxversionflag} -fsigned-char"
   auxlibs="-lm -ldl -rdynamic"
   ;;
linuxs390gcc)
   # s390 (31 bit mode) Linux with gcc
   auxcflags="${cxxversionflag} -m31 -fsigned-char"
   auxldflags="-m31"
   auxlibs="-lm -ldl -rdynamic"
   ;;
linuxs390xgcc)
   # s390x (64 bit mode) Linux with gcc
   auxcflags="${cxxversionflag} -m64 -fsigned-char"
   auxldflags="-m64"
   auxlibs="-lm -ldl -rdynamic"
   ;;
freebsd)
   # FreeBSD with libc5
   auxcflags="${cxxversionflag}"
   auxlibs="-lm -lg++"
   ;;
freebsd4)
   # FreeBSD 4 with glibc
   auxcflags="${cxxversionflag}"
   auxlibs="-lm -lstdc++"
   ;;
freebsd5|freebsd7)
   # FreeBSD 5/7 with glibc
   auxcflags="${cxxversionflag}"
   auxlibs="-lm -lstdc++"
   ;;
openbsd)
   # OpenBSD with libc
   auxcflags="${cxxversionflag}"
   auxlibs="-lm -lstdc++"
   ;;
macosx)
   # MacOS X with gcc (GNU cc v3.1) and possible fink (fink.sf.net)
   macosx_minor=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2`
   # cannot find the one linked to libGraf if relocated after built
   if [ $macosx_minor -le 4 ]; then
      rootlibs="$rootlibs -lfreetype"
   fi
   if [ $macosx_minor -le 3 ]; then
      finkdir=`which fink 2>&1 | sed -ne "s/\/bin\/fink//p"`
      auxcflags=`[ -d ${finkdir}/include ] && echo -I${finkdir}/include`
      auxcflags="-Wno-long-double $auxcflags"
      auxlibs="-lm `[ -d ${finkdir}/lib ] && echo -L${finkdir}/lib` -ldl"
      forcelibs=$rootulibs
      forceglibs=$rootuglibs
      forceevelibs=$rootuevelibs
   else
      auxcflags="${cxxversionflag} -m32"
      auxldflags="-m32"
      auxlibs="-lm -ldl"
   fi
   ;;
macosxicc)
   # MacOS X with Intel icc compiler
   macosx_minor=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2`
   # cannot find the one linked to libGraf if relocated after built
   if [ $macosx_minor -le 4 ]; then
      rootlibs="$rootlibs -lfreetype"
   fi
   auxcflags="${cxxversionflag}"
   auxlibs="-lm -ldl"
   ;;
macosx64)
   # MacOS X with gcc (GNU cc v4.x) in 64 bit mode
   macosx_minor=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2`
   # cannot find the one linked to libGraf if relocated after built
   if [ $macosx_minor -le 4 ]; then
      rootlibs="$rootlibs -lfreetype"
   fi
   auxcflags="${cxxversionflag} -m64"
   auxldflags="-m64"
   auxlibs="-lm -ldl"
   ;;
ios*)
   auxcflags="${cxxversionflag} -m32"
   auxldflags="-m32"
   auxlibs="-lm -ldl"
   ;;
hiux)
   # Hitachi HIUX
   auxcflags=
   auxlibs="-lm -ldld"
   ;;
win32)
   # Win32
   auxcflags="-MD"
   if test "xno" = "xyes"; then
      auxcflags="-MDd"
   fi
   VC_MAJOR=`unset VS_UNICODE_OUTPUT; cl.exe 2>&1 | awk '{ if (NR==1) print $(NF-2) }' | cut -d'.' -f1`
   if test "$VC_MAJOR" != "" && test $VC_MAJOR -gt 13; then
      auxcflags="$auxcflags -EHs -GR"
   else
      auxcflags="$auxcflags -GR -GX -G5"
   fi
   auxlibs=
   forcelibs=$rootulibs
   forceglibs=$rootuglibs
   forceevelibs=$rootuevelibs
   ;;
win32gcc | win64gcc)
   # Windows (32 or 64) with cygwin gcc
   auxcflags="-std=gnu++11"
   auxlibs=
   forcelibs=$rootulibs
   forceglibs=$rootuglibs
   forceevelibs=$rootuevelibs
   ;;
*)
   echo "root-config: \"$arch\" invalid architecture"
   echo "Please report to rootdev@cern.ch"
   exit 1
   ;;
esac


### compiler dependent settings ###

case $arch in
freebsd* | openbsd* | linux*)
   for f in $features ; do
      if test "x$f" = "xthread" ; then
         auxcflags="-pthread $auxcflags"
         auxlibs="-pthread $auxlibs"
      fi
      if test "x$f" = "xrpath" ; then
         auxlibs="-Wl,-rpath,$libdir $auxlibs"
      fi
      if test "x$f" = "xlibcxx" ; then
         auxcflags="-stdlib=libc++ $auxcflags"
         auxlibs="-stdlib=libc++ $auxlibs"
      fi
   done
   ;;
macosx*)
   for f in $features ; do
      if test "x$f" = "xthread" ; then
         if [ $macosx_minor -ge 5 ]; then
            auxcflags="-pthread $auxcflags"
            auxlibs="-lpthread $auxlibs"
         else
            auxcflags="-D_REENTRANT $auxcflags"
            auxlibs="-lpthread $auxlibs"
         fi
      fi
      if test "x$f" = "xrpath" ; then
         if [ $macosx_minor -ge 5 ]; then
            auxlibs="-Wl,-rpath,$libdir $auxlibs"
         fi
      fi
      if test "x$f" = "xlibcxx" ; then
         auxcflags="-stdlib=libc++ $auxcflags"
         auxlibs="-stdlib=libc++ $auxlibs"
      fi
   done
   ;;
hpuxacc | hpuxia64acc)
   for f in $features ; do
      if test "x$f" = "xthread" ; then
         auxcflags="-mt $auxcflags"
         auxlibs="-mt $auxlibs"
      fi
   done
   ;;
win32)
   ;;
*)
   for f in $features ; do
      if test "x$f" = "xthread" ; then
         auxcflags="-D_REENTRANT $auxcflags"
         auxlibs="-lpthread $auxlibs"
      fi
   done
   ;;
esac

# allocator must be last in auxlibs
for f in $features ; do
   if test "x$f" = "xalloc" ; then
      auxlibs="$auxlibs  "
   fi
done

auxcflags="$auxcflags -msse4.2"

### end of machine and compiler dependent settings ###

srcdir=/mnt/build/workspace/root-release-6.10/BUILDTYPE/Release/COMPILER/native/LABEL/ubuntu16/sources/root_v6.10.06/root-6.10.06
prefix=$ROOTSYS
if test "$platform" = "win32" && test "$prefix" != ""; then
   prefix=`cygpath -u $prefix`
fi
exec_prefix=${prefix}
exec_prefix_set=no
new_set=no
libsout=no
glibsout=no
noauxlibs=no
noauxcflags=no
noldflags=no

usage="\
Usage: root-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version]\
 [--cflags] [--auxcflags] [--ldflags] [--new] [--nonew] [--libs] [--glibs]\
 [--evelibs] [--bindir] [--libdir] [--incdir] [--etcdir] [--srcdir]\
 [--noauxcflags] [--noauxlibs] [--noldflags] [--has-<feature>] [--arch]\
 [--platform] [--config] [--features] [--ncpu] [--git-revision]\
 [--python-version] [--cc] [--cxx] [--f77] [--ld ] [--help]"

if test $# -eq 0; then
   echo "${usage}" 1>&2
   exit 1
fi

out=""

while test $# -gt 0; do
  case "$1" in
  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  *)    optarg= ;;
  esac

  case $1 in
    --arch)
      ### Output the arcitecture (compiler/OS combination)
      out="$out $arch"
      ;;
    --platform)
      ### Output the platform (OS)
      out="$out $platform"
      ;;
    --has-*)
      ### Check for feature
      f=`echo $1 | sed 's/--has-//'`
      for c in $features ; do
         if test "x$c" = "x$f" ; then
            out="$out yes"
            break
         fi
         c=""
      done
      if test "x$c" = "x" ; then
         out="$out no"
      fi
      ;;
    --prefix=*)
      ### Set the prefix
      if test "$platform" = "win32"; then
         ### We need to expand the path to backslash seperated path
         optarg=`cygpath -u $optarg`
      fi
      prefix=$optarg
      bindir=${prefix}/bin
      libdir=${prefix}/lib
      incdir=${prefix}/include
      if test $exec_prefix_set = no ; then
         exec_prefix=$optarg
      fi
      ;;
    --prefix)
      ### Output the prefix
      out="$out $prefix"
      ;;
    --exec-prefix=*)
      ### Set the exec-prefix
      if test "$platform" = "win32"; then
      ### We need to expand the path to backslash seperated path
         optarg=`cygpath -u $optarg`
      fi
      exec_prefix=$optarg
      exec_prefix_set=yes
      bindir=${exec_prefix}/bin
      libdir=${exec_prefix}/lib
      ;;
    --exec-prefix)
      ### Output the exec-prefix
      out="$out $prefix"
      ;;
    --nonew)
      ### Don't use the libNew library
      new_set="no"
      ;;
    --new)
      ### Use the libNew library
      new_set="yes"
      ;;
    --noauxlibs)
      noauxlibs="yes"
      ;;
    --noauxcflags)
      noauxcflags="yes"
      ;;
    --noldflags)
      noldflags="yes"
      ;;
    --version)
      ### Output the version number.  If RVersion.h can not be found, give up.
      if test -r ${incdir}/RVersion.h; then
         out="$out `sed -n 's,.*ROOT_RELEASE *\"\(.*\)\".*,\1,p' < ${incdir}/RVersion.h`"
      else
         echo "cannot read ${incdir}/RVersion.h"
         exit 1
      fi
      ;;
    --git-revision)
      ### Output the git revision number.  If RGitCommit.h can not be found, give up.
      if test -r ${incdir}/RGitCommit.h; then
         out="$out `sed -n 's,.*ROOT_GIT_COMMIT *\"\(.*\)\".*,\1,p' < ${incdir}/RGitCommit.h`"
      else
         echo "cannot read ${incdir}/RGitCommit.h"
         exit 1
      fi
      ;;
    --python-version)
      out="$out 2.7"
      ;;
    --cflags)
      ### Output the compiler flags
      if test ${incdir} != /usr/include; then
         ### In case we're on a Win32 system, we need to expand the
         ### path to a backslash seperated path
         if test "$platform" = "win32"; then
            includes=-I\'`cygpath -w ${incdir}`\'
         else
            includes=-I${incdir}
         fi
      fi
      if test "x$noauxcflags" = "xyes" ; then
         out="$out $includes"
      else
         out="$out ${auxcflags} $includes"
      fi
      ;;
   --auxcflags)
      ### Output auxiliary compiler flags
      out="$out $auxcflags"
      ;;
    --ldflags)
      ### Output linker flags
      out="$out $auxldflags"
      ;;
    --libs)
      ### Output regular ROOT libraries.  If the user said --glibs --libs,
      ### we've already output the libraries, so we skip this section
      if test "x$libsout" = "xyes" ; then
         shift
         continue
      fi
      ### Set the flag
      libsout="yes"
      ### See if we need the new library
      if test "x$new_set" = "xyes"; then
         libs="${newlib} ${rootlibs}"
      else
         libs=${rootlibs}
      fi
      ### If we're on a win32 system, we need to change the -l prefix
      ### into a .lib suffix, and expand the paths to a backslash
      ### separated path.
      if test "$platform" = "win32"; then
         nlibs=`echo $libs | sed "s@-l\([a-zA-Z0-9]*\)@${libdir}/lib\1.lib@g"`
         libs=
         for i in $nlibs; do
            libs="$libs '`cygpath -w $i`'"
         done
      else
         if test "x$noldflags" = "xno" ; then
            out="$out -L${libdir}"
         fi
      fi
      if test "x$noauxlibs" = "xyes" ; then
         out="$out $forcelibs $libs"
      else
         out="$out $forcelibs $libs ${auxlibs}"
      fi
      ;;
    --glibs)
      ### Output graphics and normal libraries.
      ### If the user said --evelibs --glibs,
      ### we've already output the libraries, so we skip this section
      if test "x$glibsout" = "xyes" ; then
         shift
         continue
      fi
      ### Set the flag
      glibsout="yes"
      ### If the user said --libs --glibs, we don't need to add the
      ### regular ROOT libraries.
      glibsonly="no"
      if test "x$libsout" = "xno" ; then
         ### Set the flag
         libsout="yes"
         if test "x$new_set" = "xyes" ; then
            glibs="${newlib} ${rootglibs} ${rootlibs}"
         else
            glibs="${rootglibs} ${rootlibs}"
         fi
      else
         glibs="${rootglibs}"
         glibsonly="yes"
      fi
      ### If we're on a win32 system, we need to change the -l prefix
      ### into a .lib suffix, and expand the paths to a backslash
      ### separated path.
      if test "$platform" = "win32"; then
         nlibs=`echo $glibs | sed "s@-l\([a-zA-Z0-9]*\)@${libdir}/lib\1.lib@g"`
         glibs=
         for i in $nlibs; do
            glibs="$glibs '`cygpath -w $i`'"
         done
      else
        if test "x$noldflags" = "xno" ; then
           out="$out -L${libdir}"
        fi
      fi
      if test "x$glibsonly" = "xyes" ; then
         out="$out $forceglibs $glibs"
      else
         if test "x$noauxlibs" = "xyes" ; then
            out="$out $forcelibs $forceglibs $glibs"
         else
            out="$out $forcelibs $forceglibs $glibs ${auxlibs}"
         fi
      fi
      ;;
    --evelibs)
      ### Output eve, graphics and normal libraries.
      ### we've already output the libraries, so we skip this section
      if test "x$evelibsout" = "xyes" ; then
         shift
         continue
      fi
      ### Set the flag
      evelibsout="yes"
      ### If the user said --libs --glibs --evelibs, we don't need to add the
      ### regular and glib ROOT libraries.
      evelibsonly="no"
      eveandglibsonly="no"
      if test "x$libsout" = "xno" ; then
         ### Set the flag
         libsout="yes"
         if test "x$new_set" = "xyes" ; then
            evelibs="${newlib} ${rootevelibs} ${rootglibs} ${rootlibs}"
         else
            evelibs="${rootevelibs} ${rootglibs} ${rootlibs}"
         fi
      elif test "x$glibsout" = "xno" ; then
         ### Set the flag
         glibsout="yes"
         evelibs="${rootevelibs} ${rootglibs}"
         eveandglibsonly="yes"
      else
         evelibs="${rootevelibs}"
         evelibsonly="yes"
      fi
      ### If we're on a win32 system, we need to change the -l prefix
      ### into a .lib suffix, and expand the paths to a backslash
      ### separated path.
      if test "$platform" = "win32"; then
         nlibs=`echo $evelibs | sed "s@-l\([a-zA-Z0-9]*\)@${libdir}/lib\1.lib@g"`
         evelibs=
         for i in $nlibs; do
            evelibs="$evelibs '`cygpath -w $i`'"
         done
      else
        if test "x$noldflags" = "xno" ; then
           out="$out -L${libdir}"
        fi
      fi
      if test "x$evelibsonly" = "xyes" ; then
         out="$out $forceevelibs $evelibs"
      elif test "x$eveandglibsonly" = "xyes" ; then
         out="$out $forceglibs $forceevelibs $evelibs"
      else
         if test "x$noauxlibs" = "xyes" ; then
            out="$out $forcelibs $forceglibs $forceevelibs $evelibs"
         else
            out="$out $forcelibs $forceglibs $forceevelibs $evelibs ${auxlibs}"
         fi
      fi
      ;;
    --auxlibs)
      ### output the auxiliary libraries
      out="$out $auxlibs"
      ;;
    --bindir)
      ### output the executable directory
      out="$out $bindir"
      ;;
    --libdir)
      ### output the library directory
      out="$out $libdir"
      ;;
    --incdir)
      ### output the header directory
      out="$out $incdir"
      ;;
    --etcdir)
      ### output the etc directory
      out="$out $etcdir"
      ;;
    --srcdir)
      ### output the src directory
      out="$out $srcdir"
      ;;
    --config)
      ### output the configure arguments
      out="$out $configargs"
      ;;
    --features)
      ### output all supported features
      out="$out$features"  # no space, features starts with space
      ;;
    --ncpu)
      ### number of available cores
      ncpu=1
      case $arch in
      freebsd* | openbsd* | linux*)
         ncpu=$(awk '/^processor/ {++n} END {print n}' /proc/cpuinfo)
         ;;
      macosx*)
         ncpu=$(sysctl -n hw.ncpu)
         ;;
      aix*)
         ncpu=$(prtconf | grep 'Number Of Processors' | awk '{ print $4 }')
         ;;
      solaris*)
         ncpu=$(kstat cpu_info | grep core_id | awk '{ print $2}' | uniq | wc -l)
         ;;
      win32)
         ;;
      *)
         ;;
      esac
      out="$out $ncpu"
      ;;
    --cc)
      ### output used C compiler
      out="$out $altcc"
      ;;
    --cxx)
      ### output used C++ compiler
      out="$out $altcxx"
      ;;
    --f77)
      ### output used Fortran compiler
      out="$out $altf77"
      ;;
    --ld)
      ### output used Linker
      out="$out $altld"
      ;;
    --help)
      ### Print a help message
      echo "Usage: `basename $0` [options]"
      echo ""
      echo "  --arch                Print the architecture (compiler/OS)"
      echo "  --platform            Print the platform (OS)"
      echo "  --prefix[=dir]        Print or set prefix"
      echo "  --exec-prefix[=dir]   Print or set execution prefix"
      echo "  --libs                Print regular ROOT libraries"
      echo "  --glibs               Print regular + GUI ROOT libraries"
      echo "  --evelibs             Print regular + GUI + Eve libraries"
      echo "  --cflags              Print compiler flags and header path"
      echo "  --ldflags             Print linker flags"
      echo "  --bindir              Print the executable directory"
      echo "  --libdir              Print the library directory"
      echo "  --incdir              Print the header directory"
      echo "  --etcdir              Print the configuration directory"
      echo "  --srcdir              Print the top of the original source directory"
      echo "  --auxlibs             Print auxiliary libraries"
      echo "  --auxcflags           Print auxiliary compiler flags"
      echo "  --[no]new             Turn on[off] use of libNew.so"
      echo "  --noauxlibs           Do not print auxiliary/system libraries"
      echo "  --noauxcflags         Do not print auxiliary compiler flags"
      echo "  --noldflags           Do not print linker flags"
      echo "  --config              Print arguments used for ./configure"
      echo "  --features            Print list of all supported features"
      echo "  --has-<feature>       Test if <feature> is compiled in"
      echo "  --version             Print the ROOT version"
      echo "  --git-revision        Print the ROOT git revision number"
      echo "  --python-version      Print the Python version used by ROOT"
      echo "  --ncpu                Print number of available (hyperthreaded) cores"
      echo "  --cc                  Print alternative C compiler specified when ROOT was built"
      echo "  --cxx                 Print alternative C++ compiler specified when ROOT was built"
      echo "  --f77                 Print alternative Fortran compiler specified when ROOT was built"
      echo "  --ld                  Print alternative Linker specified when ROOT was built"
      echo "  --help                Print this message"
      exit 0
      ;;
    *)
      ### Give an error
      echo "Unknown argument \"$1\"!" 1>&2
      echo "${usage}" 1>&2
      exit 1
      ;;
  esac
  shift
done

### Output the stuff
echo $out
