Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ROOT-CONFIG(1)		     General Commands Manual		  ROOT-CONFIG(1)

NAME
     root-config - ROOT utility for your Makefiles

SYNOPSIS
     root-config [options]

DESCRIPTION
     root-config  is a tool that is used to configure and determine the compiler
     and linker flags that should be used to compile and link programs that  use
     ROOT.

	    CPPFLAGS  += $(shell root-config --cflags)
	    LDLIBS    += $(shell root-config --libs)
	    LDFLAGS   += $(shell root-config --ldflags)

	    %Cint.cxx:Include.h LinkDef.h
		    rootcint -f $@ -c $^

     in  your  Makefile to use the built-in rules of GNU make. For GUIs, replace
     --libs by --glibs.

     You may also find the automake(1), autoconf(1), and libtool(1)  macro  file
     /usr/share/aclocal/root.m4  useful.   If  that  macro  file isn't installed
     where aclocal will find it, copy the contents to  your  local  acinclude.m4
     file.   In the directories you use ROOT libraries, have in your Makefile.am
     file:

	    lib_LTLIBRARIES	    = libFoo.la
	    pkginclude_HEADERS	    = Foo.h
	    noinst_HEADERS	    = FooCint.h
	    libFoo_la_SOURCES	    = Foo.cxx FooCint.cxx
	    libFoo_la_LDFLAGS	    = -version-info 1:0 -R @ROOTLIBDIR@
	    libFoo_la_LDADD	    = -lCore -lCint @ROOTAUXLIBS@

	    BUILT_SOURCES	    = FooCint.cxx FooCint.h

	    AM_CPPFLAGS 	    = -I@ROOTINCDIR@
	    AM_LDFLAGS		    = -L@ROOTLIBDIR@
	    CLEANFILES		    = *Cint.cxx *Cint.h *~ core

	    %Cint.cxx %Cint.h:Include.h LinkDef.h
		    @ROOTCINT@ -f $*Cint.cxx -c $(INCLUDES) $(AM_CPPFLAGS) $^

     where you should substitute Foo with whatever,  and  list	the  appropriate
     source files in the _SOURCES variable. In you configure.in file, put:

	    AC_PROG_CC
	    AC_PROG_CXX
	    ROOT_PATH
	    AM_PROG_LIBTOOL

     along with any other macros you may need.

     Note  that  the ROOT_PATH macro takes three optional arguments: the minimal
     ROOT version to use, action if ROOT is found,  and  action  if  ROOT  isn't
     found.  Some examples are

	    ROOT_PATH(3.03/05, , AC_MSG_ERROR(Your ROOT version is too old))
	    ROOT_PATH(, AC_DEFUN(HAVE_ROOT))

     For  example,  if	you want to compile some part of your source tree condi-
     tionally on wether ROOT is present or not, you can put in your configure.in
     file

	    ROOT_PATH(,
	    [
	      AC_DEFUN(HAVE_ROOT)
	      have_root=yes
	    ])
	    AM_CONDITIONAL(GOT_ROOT, test "x$have_root" = "xyes")

     And then in some Makefile.am

	    EXTRA_SOURCES	= root_dependent_source.cc
	    if GOT_ROOT
	    LIBFOOXTRA		    = root_dependent_source.cc
	    else
	    LIBFOOXTRA		    =
	    endif

	    lib_LTLIBRARIES	    = libFoo.la
	    libFoo_la_SOURCES	= Foo.cc  $(LIBFOOXTRA)

     The full list of substitution variables are:

     ROOTCONF
	    full path to root-config

     ROOTEXEC
	    full path to root

     ROOTCINT
	    full path to rootcint

     ROOTLIBDIR
	    Where the ROOT libraries are

     ROOTINCDIR
	    Where the ROOT headers are

     ROOTCFLAGS
	    Extra compiler flags

     ROOTLIBS
	    ROOT basic libraries

     ROOTGLIBS
	    ROOT basic + GUI libraries

     ROOTAUXLIBS
	    Auxiliary libraries and linker flags for ROOT

     ROOTAUXCFLAGS
	    Auxiliary compiler flags

     ROOTRPATH
	    Same as ROOTLIBDIR

OPTIONS
     --help
	    Give a short list of options available, and exit

     --version
	    Report the version number of installed ROOT, and exit.

     --prefix=<prefix>
	    If no arguments are given, reports where ROOT is installed. With  an
	    argument  of  =<prefix>,  set  the base of the subsequent options to
	    <prefix>. If \--exec-prefix is passed with an argument, it overrides
	    the argument given to \--prefix for the library path.

     --exec-prefix=<prefix>
	    If no argument is given, report where the libraries  are  installed.
	    If an argument is given, use that as the installation base directory
	    for the libraries. This option does not affect the include path.

     --libdir
	    Print the directory where the ROOT libraries are installed.

     --incdir
	    Print the directory where the ROOT headers are installed.

     --libs
	    Output  a  line  suitable for linking a program against the ROOT li-
	    braries. No graphics libraries are included.

     --glibs
	    As above, but also output for the graphics (GUI) libraries.

     --evelibs
	    As above, but also output for the graphics	libraries  and	Eve  li-
	    braries.

     --cflags
	    Output  a line suitable for compiling a source file against the ROOT
	    header (class declararion) files.

     --new  Put the libNew.so library in the library lists.  This option must be
	    given before options --libs and --glibs.

     --nonew
	    Compatiblity option, does nothing.

     --auxlibs
	    Print auxiliary libraries and/or system linker flags.

     --noauxlibs
	    Do not print auxiliary libraries and/or system linker flags  in  the
	    output  of --libs and --glibs.  --auxcflags Print auxiliary compiler
	    flags.

     --noauxcflags
	    Do not print auxiliary compiler flags in the output of --cflags.

     --noldflags
	    Do not print library path link option in output of --libs, --evelibs
	    and --glibs.

     --ldflags
	    Print additional linker flags (eg. -m64)

     --arch
	    Print the architecture (compiler/OS)

     --platform
	    Print the platform (OS)

     --bindir
	    Print the binary directory of the root installation (location of the
	    root executable)

     --etcdir
	    Print the configuration  directory	(place	of  system.rootrc,  mime
	    type, valgrind suppression files and .desktop files)

     --config
	    Print  arguments  used  for  ./configure as used when building root.
	    These cannot be used for ./configure if root was built with CMake.

     --git-revision
	    Print the ROOT git revision number from which root was built.

     --has-<feature>
	    Test if <feature> has been enabled in the build process.

     --features
	    Print list of all supported features

     --ncpu
	    Print number of available (hyperthreaded) cores

     --python-version
	    Print the Python version used by ROOT

     --cc   Print alternative C compiler specified when ROOT was built

     --cxx  Print alternative C++ compiler specified when ROOT was built

     --f77  Print alternative Fortran compiler specified when ROOT was built

     --ld   Print alternative Linker specified when ROOT was built

SEE ALSO
     root(1), root-cint(1)

     See also the ROOT webpages: http://root.cern

ORIGINAL AUTHORS
     The ROOT team (see web page above):
	    Rene Brun and Fons Rademakers

COPYRIGHT
     This library is free software; you can redistribute it and/or modify it un-
     der the terms of the GNU Lesser General Public License as published by  the
     Free  Software  Foundation;  either version 2.1 of the License, or (at your
     option) any later version.

     This library is distributed in the hope that it will be useful, but WITHOUT
     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or  FIT-
     NESS  FOR	A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
     for more details.

     You should have received a copy of the GNU Lesser	General  Public  License
     along  with  this	library;  if not, write to the Free Software Foundation,
     Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301	USA

AUTHOR
     This manual page was written by Christian Holm Christensen  <cholm@nbi.dk>,
     for the Debian GNU/Linux system (but may be used by others).

ROOT				    Version 3			  ROOT-CONFIG(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=root-config&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help