1Alien::ROOT(3)        User Contributed Perl Documentation       Alien::ROOT(3)
2
3
4

NAME

6       Alien::ROOT - Utility package to install and locate CERN's ROOT library
7

SYNOPSIS

9         use Alien::ROOT;
10
11         my $aroot = Alien::ROOT->new;
12

DESCRIPTION

14       Installs or detects CERN's ROOT library.
15
16       This version of "Alien::ROOT" will download and install "ROOT v5.30.0"
17       if necessary. If an existing (and compatible) installation of ROOT was
18       detected, the module will not download/compile/install a new version of
19       ROOT.
20

METHODS

22   Alien::ROOT->new
23       Creates a new "Alien::ROOT" object, which essentially just has a few
24       convenience methods providing useful information like the path to the
25       ROOT installation ("ROOTSYS" environment variable) and the path to the
26       root-config utility.
27
28   $aroot->installed
29       Determine if a valid installation of ROOT has been detected in the
30       system.  This method will return a true value if it is, or undef
31       otherwise.
32
33       Example code:
34
35         print "okay\n" if $aroot->installed;
36
37   $aroot->run
38       Sets up the ROOT environment (see "setup_environment") and then invokes
39       the ROOT shell by simply calling "root".
40
41   $aroot->setup_environment
42       Sets up the "PATH" and "LD_LIBRARY_PATH" environment variables to point
43       at the correct paths for ROOT.
44
45       Throws an exception if ROOT was not found, so wrap this in an "eval" or
46       check "$aroot->installed" before using this.
47
48   $aroot->version
49       Determine the installed version of ROOT, as a string.
50
51       Example code:
52
53         my $version = $aroot->version;
54
55   $aroot->ldflags
56   $aroot->linker_flags
57       This returns the flags required to link C code with the local
58       installation of ROOT.
59
60       Example code:
61
62         my $ldflags = $aroot->ldflags;
63
64   $aroot->cflags
65   $aroot->compiler_flags
66       This method returns the compiler option flags to compile C++ code which
67       uses the ROOT library (typically in the CFLAGS variable).
68
69       Example code:
70
71         my $cflags = $aroot->cflags;
72
73   $aroot->features
74       This method returns a string of ROOT features that were enabled when
75       ROOT was compiled.
76
77       Example code:
78
79         my $features = $aroot->features;
80         if ($features !~ /\bexplicitlink\b/) {
81           warn "ROOT was built without the --explicitlink option";
82         }
83
84   $aroot->bindir
85       This method returns the path to the executable directory of ROOT.
86
87       Example code:
88
89         my $dir = $aroot->bindir;
90         system(File::Spec->catfile($dir, 'root'));
91
92   $aroot->libdir
93       This method returns the path to the library (lib/) directory of ROOT.
94
95       Example code:
96
97         my $dir = $aroot->libdir;
98
99   $aroot->incdir
100       This method returns the path to the include directory of ROOT.
101
102       Example code:
103
104         my $dir = $aroot->incdir;
105
106   $aroot->etcdir
107       This method returns the path to the 'etc' directory of ROOT.
108
109       Example code:
110
111         my $dir = $aroot->etcdir;
112
113   $aroot->private_root
114       This method returns true if the copy of ROOT that is being used was
115       installed by "Alien::ROOT" and is considered private.
116
117       Example code:
118
119         my $is_private = $aroot->private_root;
120

AUTHOR

122       Steffen Mueller <smueller@cpan.org>
123

ACKNOWLEDGMENTS

125       This package is based upon Jonathan Yu's Alien::libjio and Mattia
126       Barbon's Alien::wxWidgets.  They kindly allowed me to use their work as
127       a starting point.
128

SUPPORT

130       You can find documentation for this module with the perldoc command.
131
132           perldoc Alien::ROOT
133
134       You can also look for information at:
135
136       •   Search CPAN
137
138           <http://search.cpan.org/dist/Alien-ROOT>
139
140       •   CPAN Request Tracker
141
142           <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Alien-ROOT>
143
144       •   CPAN Testers Platform Compatibility Matrix
145
146           <http://cpantesters.org/show/Alien-ROOT.html>
147

REPOSITORY

149       You can access the most recent development version of this module at:
150
151       <git://github.com/tsee/ROOT.git>
152

SEE ALSO

154       SOOT, the Perl-ROOT wrapper.
155
156       SOOT::App, the SOOT shell.
157
158       Alien, the Alien manifesto.
159

LICENSE

161       This module is licensed under the GNU General Public License 2.0 or at
162       your discretion, any newer version of the GPL. You can find a copy of
163       the license in the LICENSE file of this package or at
164       <http://www.opensource.org/licenses/gpl-2.0.php>
165
166
167
168perl v5.36.0                      2023-01-19                    Alien::ROOT(3)
Impressum