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 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 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 available, 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).