1Alien::ROOT(3pm) User Contributed Perl Documentation Alien::ROOT(3pm)
2
3
4
6 Alien::ROOT - Utility package to install and locate CERN's ROOT library
7
9 use Alien::ROOT;
10
11 my $aroot = Alien::ROOT->new;
12
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
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
122 Steffen Mueller <smueller@cpan.org>
123
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
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
149 You can access the most recent development version of this module at:
150
151 <git://github.com/tsee/ROOT.git>
152
154 SOOT, the Perl-ROOT wrapper.
155
156 SOOT::App, the SOOT shell.
157
158 Alien, the Alien manifesto.
159
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.38.0 2023-07-20 Alien::ROOT(3pm)