flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
build_info.cpp
Go to the documentation of this file.
1// ====================================================================
2// This file is part of FlexibleSUSY.
3//
4// FlexibleSUSY is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published
6// by the Free Software Foundation, either version 3 of the License,
7// or (at your option) any later version.
8//
9// FlexibleSUSY is distributed in the hope that it will be useful, but
10// WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12// General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with FlexibleSUSY. If not, see
16// <http://www.gnu.org/licenses/>.
17// ====================================================================
18
19#include "build_info.hpp"
20#include "config.h"
21
22#include <boost/version.hpp>
23#include <Eigen/Core>
24#include <gsl/gsl_version.h>
25
26#include <iostream>
27
28namespace flexiblesusy {
29
30void print_all_info(std::ostream& ostr)
31{
32 ostr <<
33 "Version information\n"
34 "===================\n\n";
36
37 ostr <<
38 "\n"
39 "System information\n"
40 "==================\n\n";
42
43 ostr <<
44 "\n"
45 "Build information\n"
46 "=================\n\n";
47 print_build_info(ostr);
48}
49
50void print_flexiblesusy_version(std::ostream& ostr)
51{
53}
54
55void print_version_info(std::ostream& ostr)
56{
57 const int boost_major = BOOST_VERSION / 100000;
58 const int boost_minor = (BOOST_VERSION / 100) % 1000;
59 const int boost_patch = BOOST_VERSION % 100;
60
61 ostr <<
62 "FlexibleSUSY version: " FLEXIBLESUSY_VERSION "\n"
63 "FlexibleSUSY git commit: " GIT_COMMIT "\n"
64 "SARAH version: " SARAH_VERSION "\n"
65 "Mathematica version: " << MATHEMATICA_VERSION << "\n"
66 "Boost version: "
67 << boost_major << '.' << boost_minor << '.' << boost_patch << "\n"
68 "Eigen version: " << EIGEN_WORLD_VERSION
69 << '.' << EIGEN_MAJOR_VERSION << '.' << EIGEN_MINOR_VERSION << "\n"
70 "GSL version: " << GSL_VERSION "\n"
71 "GM2Calc version: " << GM2CALC_VERSION "\n"
72 "Himalaya version: " << HIMALAYA_VERSION "\n"
73 ;
74}
75
76void print_build_info(std::ostream& ostr)
77{
78 ostr <<
79 "C++ compiler (CXX): " CXX "\n"
80 "C++ compiler flags (CXXFLAGS): " CXXFLAGS "\n"
81 "C preprocessor flags (CPPFLAGS): " CPPFLAGS "\n"
82 "COLLIER flags (COLLIERFLAGS): " COLLIERFLAGS "\n"
83 "COLLIER libraries (COLLIERLIBS): " COLLIERLIBS "\n"
84 "Fortran compiler (FC): " FC "\n"
85 "Fortran compiler flags (FFLAGS): " FFLAGS "\n"
86 "Fortran libraries (FLIBS): " FLIBS "\n"
87 "Boost flags (BOOSTFLAGS): " BOOSTFLAGS "\n"
88 "Boost libraries: " BOOSTTESTLIBS " " BOOSTTHREADLIBS "\n"
89 "Eigen flags (EIGENFLAGS): " EIGENFLAGS "\n"
90 "Himalaya flags (HIMALAYAFLAGS): " HIMALAYAFLAGS "\n"
91 "Himalaya libraries (HIMALAYALIBS): " HIMALAYALIBS "\n"
92 "GSL flags (GSLFLAGS): " GSLFLAGS "\n"
93 "GSL libraries (GSLLIBS): " GSLLIBS "\n"
94 "LibraryLink flags (LLFLAGS): " LLFLAGS "\n"
95 "LibraryLink library (LLLIBS): " LLLIBS "\n"
96 "Loop function flags (LOOPFUNCFLAGS): " LOOPFUNCFLAGS "\n"
97 "Loop function libraries (LOOPFUNCLIBS): " LOOPFUNCLIBS "\n"
98 "Additional flags (LDFLAGS): " LDFLAGS "\n"
99 "Additional libraries (LDLIBS): " LDLIBS "\n"
100 "SQLite3 flags (SQLITEFLAGS): " SQLITEFLAGS "\n"
101 "SQLite3 libraries (SQLITELIBS): " SQLITELIBS "\n"
102 "TSIL flags (TSILFLAGS): " TSILFLAGS "\n"
103 "TSIL libraries (TSILLIBS): " TSILLIBS "\n"
104 "Thread libraries (THREADLIBS): " THREADLIBS "\n"
105 "\n"
106 "Two-scale solver: "
107#ifdef ENABLE_TWO_SCALE_SOLVER
108 "enabled"
109#else
110 "disabled"
111#endif
112 "\n"
113 "Semi-analytic solver: "
114#ifdef ENABLE_SEMI_ANALYTIC_SOLVER
115 "enabled"
116#else
117 "disabled"
118#endif
119 "\n"
120 "Colored output: "
121#ifdef ENABLE_COLORS
122 "yes"
123#else
124 "no"
125#endif
126 "\n"
127 "Debug output: "
128#ifdef ENABLE_DEBUG
129 "yes"
130#else
131 "no"
132#endif
133 "\n"
134 "Silent output: "
135#ifdef ENABLE_SILENT
136 "yes"
137#else
138 "no"
139#endif
140 "\n"
141 "Verbose output: "
142#ifdef ENABLE_VERBOSE
143 "yes"
144#else
145 "no"
146#endif
147 "\n"
148 "Use Boost.Numeric.Odeint: "
149#ifdef ENABLE_ODEINT
150 "yes"
151#else
152 "no"
153#endif
154 "\n"
155 "Use FFlite: "
156#ifdef ENABLE_FFLITE
157 "yes"
158#else
159 "no"
160#endif
161 "\n"
162 "Use COLLIER: "
163#ifdef ENABLE_COLLIER
164 "yes"
165#else
166 "no"
167#endif
168 "\n"
169 "Use GM2Calc: "
170#ifdef ENABLE_GM2CALC
171 "yes"
172#else
173 "no"
174#endif
175 "\n"
176 "Use Himalaya: "
177#ifdef ENABLE_HIMALAYA
178 "yes"
179#else
180 "no"
181#endif
182 "\n"
183 "Use LibraryLink: "
184#ifdef ENABLE_LIBRARYLINK
185 "yes"
186#else
187 "no"
188#endif
189 "\n"
190 "Use LoopTools: "
191#ifdef ENABLE_LOOPTOOLS
192 "yes"
193#else
194 "no"
195#endif
196 "\n"
197 "Use multi-threading: "
198#ifdef ENABLE_THREADS
199 "yes"
200#else
201 "no"
202#endif
203 "\n"
204 "Use <random> header: "
205#ifdef ENABLE_RANDOM
206 "yes"
207#else
208 "no"
209#endif
210 "\n"
211 "Use SQLite3: "
212#ifdef ENABLE_SQLITE
213 "yes"
214#else
215 "no"
216#endif
217 "\n"
218 "Use TSIL: "
219#ifdef ENABLE_TSIL
220 "yes"
221#else
222 "no"
223#endif
224 "\n"
225 "Mass eigenvalue error check: "
226#ifdef CHECK_EIGENVALUE_ERROR
227 "yes"
228#else
229 "no"
230#endif
231 "\n"
232 ;
233}
234
235void print_system_info(std::ostream& ostr)
236{
237 ostr <<
238 "Operating system (uname -s): " OPERATING_SYSTEM "\n"
239 "Kernel version (uname -r): " KERNEL_VERSION "\n"
240 ;
241}
242
243} // namespace flexiblesusy
#define CXX
Definition: config.h:35
#define KERNEL_VERSION
Definition: config.h:28
#define BOOSTTESTLIBS
Definition: config.h:32
#define HIMALAYAFLAGS
Definition: config.h:48
#define OPERATING_SYSTEM
Definition: config.h:27
#define EIGENFLAGS
Definition: config.h:37
#define THREADLIBS
Definition: config.h:62
#define LDFLAGS
Definition: config.h:52
#define COLLIERLIBS
Definition: config.h:57
#define FC
Definition: config.h:38
#define CPPFLAGS
Definition: config.h:34
#define MATHEMATICA_VERSION
Definition: config.h:21
#define LLFLAGS
Definition: config.h:54
#define GSLFLAGS
Definition: config.h:50
#define FLIBS
Definition: config.h:40
#define BOOSTFLAGS
Definition: config.h:31
#define LLLIBS
Definition: config.h:55
#define FLEXIBLESUSY_VERSION
Definition: config.h:9
#define HIMALAYA_VERSION
Definition: config.h:24
#define LOOPFUNCLIBS
Definition: config.h:59
#define SARAH_VERSION
Definition: config.h:16
#define SQLITELIBS
Definition: config.h:60
#define TSILFLAGS
Definition: config.h:64
#define HIMALAYALIBS
Definition: config.h:49
#define LOOPFUNCFLAGS
Definition: config.h:58
#define GIT_COMMIT
Definition: config.h:14
#define GSLLIBS
Definition: config.h:51
#define BOOSTTHREADLIBS
Definition: config.h:33
#define TSILLIBS
Definition: config.h:63
#define LDLIBS
Definition: config.h:53
#define FFLAGS
Definition: config.h:39
#define COLLIERFLAGS
Definition: config.h:56
#define GM2CALC_VERSION
Definition: config.h:23
#define SQLITEFLAGS
Definition: config.h:61
#define CXXFLAGS
Definition: config.h:36
void print_flexiblesusy_version(std::ostream &ostr)
Definition: build_info.cpp:50
void print_version_info(std::ostream &ostr)
Definition: build_info.cpp:55
void print_system_info(std::ostream &ostr)
Definition: build_info.cpp:235
void print_all_info(std::ostream &ostr)
Definition: build_info.cpp:30
void print_build_info(std::ostream &ostr)
Definition: build_info.cpp:76