Man Linux: Main Page and Category List

NAME

       root-config - ROOT utility for your Makefiles

SYNOPSIS

       root-config [options]

DESCRIPTION

       Put lines like

              CFLAGS = $(shell root-config --cflags)
              LIBS   = $(shell root-config --libs)
              GLIBS  = $(shell root-config --glibs)

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

       in you Makefile.

       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 Iaclocal 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 appropiate
       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
       conditionally  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_depenent_source.cc
              if GOT_ROOT
              LIBFOOXTRA              = root_depenent_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
              Auxilary libraries and linker flags for ROOT

       ROOTAUXCFLAGS
              Auxilary compiler flags

       ROOTRPATH
              Same as ROOTLIBDIR

OPTIONS

       --help Gives a short list of options avaliable, and exit

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

       --prefix=<prefix>
              If no arguments is given, reports where ROOT is installed.  With
              an argument of =<prefix>, set the base of the subsequent options
              to <prefix>. If \--exec-prefix is passedwith an  argument,  that
              argument  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 agains the ROOT
              libraries. No graphics libraries are output.

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

       --cflags
              Output a line suitable for compiling a source  file  againd  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 and
              --glibs.

SEE ALSO

       root(1), root-cint(1)

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

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
       under  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  FITNESS  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).