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 com-
       piler 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,  re-
       place --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  in-
       stalled where aclocal will find it, copy	the contents to	your local ac-
       include.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 mini-
       mal 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 con-
       ditionally on wether ROOT is present or not, you	can put	in  your  con-
       figure.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  in-
	      stalled.	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
	      libraries. 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 <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
       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  MER-
       CHANTABILITY  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  Li-
       cense along with	this library; if not, write to the Free	Software Foun-
       dation, 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+14.3.quarterly>

home | help