#!/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=@architecture@ platform=@platform@ bindir=@bindir@ libdir=@libdir@ incdir=@incdir@ etcdir=@etcdir@ tutdir=@tutdir@ all_features="@all_features@" features="@features@" configargs="@configargs@" altcc="@altcc@" altcxx="@altcxx@" altf77="@altf77@" altld="@altld@" 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 ### newlib="-lNew" rootglibs="-lGui" rootevelibs="-lEve -lEG -lGeom -lGed -lRGL" rootlibs="-lCore -lImt -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lROOTVecOps -lTree -lTreePlayer\ -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread" # MultiProc is not supported on Windows if test "$platform" != "win32"; then rootlibs="$rootlibs -lMultiProc" fi if echo "${features}" | grep -q "dataframe"; then rootlibs="$rootlibs -lROOTDataFrame" 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 ### # Set the C++ standard version cxxversionflag="@configstd@ " 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" ;; linuxriscv64) # RISC-V Linux auxlibs="-lm -ldl -rdynamic" ;; freebsd*) # FreeBSD auxcflags="${cxxversionflag}" auxlibs="-lm" ;; 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_major=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 1 | sed -e 's/^[[:space:]]*//'` 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_major -eq 10 -a $macosx_minor -le 4 ]; then rootlibs="$rootlibs -lfreetype" fi if [ $macosx_major -eq 10 -a $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_major=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 1 | sed -e 's/^[[:space:]]*//'` 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_major -eq 10 -a $macosx_minor -le 4 ]; then rootlibs="$rootlibs -lfreetype" fi auxcflags="${cxxversionflag}" auxlibs="-lm -ldl" ;; macosx64|macosxarm64) # MacOS X with gcc (GNU cc v4.x) in 64 bit mode macosx_major=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 1 | sed -e 's/^[[:space:]]*//'` 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_major -eq 10 -a $macosx_minor -le 4 ]; then rootlibs="$rootlibs -lfreetype" fi auxcflags="${cxxversionflag} -m64" auxldflags="-m64" auxlibs="-lm -ldl" ;; hiux) # Hitachi HIUX auxcflags= auxlibs="-lm -ldld" ;; win32) # Win32 auxcflags="-MD" if test "x@winrtdebug@" = "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++14" 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*) auxcflags="-pthread $auxcflags" auxlibs="-pthread $auxlibs" for f in $features ; do 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 ;; openbsd* | linux*) auxcflags="-pthread $auxcflags" auxlibs="-pthread $auxlibs" for f in $features ; do 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*) if [ \( $macosx_major -eq 10 -a $macosx_minor -ge 5 \) -o $macosx_major -gt 10 ]; then auxcflags="-pthread $auxcflags" auxlibs="-lpthread $auxlibs" else auxlibs="-lpthread $auxlibs" fi for f in $features ; do if test "x$f" = "xrpath" ; then if [ \( $macosx_major -eq 10 -a $macosx_minor -ge 5 \) -o $macosx_major -gt 10 ]; 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) auxcflags="-mt $auxcflags" auxlibs="-mt $auxlibs" ;; win32) ;; *) auxlibs="-lpthread $auxlibs" ;; esac # allocator must be last in auxlibs for f in $features ; do if test "x$f" = "xalloc" ; then auxlibs="$auxlibs @alloclibdir@ @alloclib@" fi done auxcflags="$auxcflags @usercflags@" ### end of machine and compiler dependent settings ### srcdir=@top_srcdir@ prefix=@prefix@ 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] [--tutdir] [--srcdir]\ [--noauxcflags] [--noauxlibs] [--noldflags] [--has-] [--arch]\ [--platform] [--config] [--features] [--ncpu] [--git-revision]\ [--python-version] [--python2-version] [--python3-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 target=`echo $1 | sed 's/--has-//'` found="" for feature in $features ; do if test "$target" = "" ; then feature="" errors="${errors}--has-: feature name is required!\n" break fi if test "$feature" = "$target" ; then out="$out yes" break fi feature="" done if test "$feature" = "" ; then for feature in $all_features ; do if test "$feature" = "$target" ; then found="$feature" break fi done if test "$found" = "" ; then errors="${errors}--has-$target: unknown feature!\n" else out="$out no" fi 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) out="$out @ROOT_VERSION@" ;; --git-revision) ### Output the git revision. Give up if gitinfo.txt can not be found. if test -r "${etcdir}/gitinfo.txt"; then out="$out `head -n 2 \"${etcdir}/gitinfo.txt\" | tail -n 1`" else echo "cannot read ${etcdir}/gitinfo.txt" exit 1 fi ;; --python-version) out="$out @pythonvers@" ;; --python2-version) out="$out @python2vers@" ;; --python3-version) out="$out @python3vers@" ;; --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" ;; --tutdir) ### output the tutorials directory out="$out $tutdir" ;; --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 openbsd* | linux*) ncpu=$(awk '/^processor/ {++n} END {print n}' /proc/cpuinfo) ;; freebsd*) ncpu=$(sysctl -n hw.ncpu) ;; 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 " --tutdir Print the tutorials 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 configuration with CMake" echo " --features Print list of all supported features" echo " --has- Test if 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 " --python2-version Print the Python2 version used by PyROOT" echo " --python3-version Print the Python3 version used by PyROOT" 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 if test "$errors" != "" ; then echo -en "$errors" exit 1 fi