2004-01-19 20:44:47 +03:00
|
|
|
//
|
2009-05-27 00:49:35 +04:00
|
|
|
// Copyright (c) 2004-2009 The Trustees of Indiana University and Indiana
|
2005-11-05 22:57:48 +03:00
|
|
|
// University Research and Technology
|
|
|
|
// Corporation. All rights reserved.
|
|
|
|
// Copyright (c) 2004-2005 The University of Tennessee and The University
|
|
|
|
// of Tennessee Research Foundation. All rights
|
|
|
|
// reserved.
|
2004-11-28 23:09:25 +03:00
|
|
|
// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
|
|
// University of Stuttgart. All rights reserved.
|
2005-03-24 15:43:37 +03:00
|
|
|
// Copyright (c) 2004-2005 The Regents of the University of California.
|
|
|
|
// All rights reserved.
|
2009-05-27 00:49:35 +04:00
|
|
|
// Copyright (c) 2007-2009 Cisco Systems, Inc. All rights reserved.
|
2004-11-22 04:38:40 +03:00
|
|
|
// $COPYRIGHT$
|
|
|
|
//
|
|
|
|
// Additional copyrights may follow
|
|
|
|
//
|
2004-01-19 20:44:47 +03:00
|
|
|
// $HEADER$
|
|
|
|
//
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
#ifndef OMPI_INFO_H
|
|
|
|
#define OMPI_INFO_H
|
2004-01-19 20:44:47 +03:00
|
|
|
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
#include <map>
|
|
|
|
|
2005-07-03 20:22:16 +04:00
|
|
|
#include "opal/class/opal_list.h"
|
2005-07-04 04:13:44 +04:00
|
|
|
#include "opal/util/cmd_line.h"
|
2006-02-12 04:33:29 +03:00
|
|
|
#include "opal/mca/mca.h"
|
2004-01-19 20:44:47 +03:00
|
|
|
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
namespace ompi_info {
|
2004-01-19 20:44:47 +03:00
|
|
|
|
|
|
|
//
|
|
|
|
// Globals
|
|
|
|
//
|
|
|
|
|
2004-01-30 01:10:58 +03:00
|
|
|
typedef std::vector<std::string> type_vector_t;
|
2004-01-19 20:44:47 +03:00
|
|
|
|
|
|
|
extern bool pretty;
|
2005-07-04 04:13:44 +04:00
|
|
|
extern opal_cmd_line_t *cmd_line;
|
2004-01-19 20:44:47 +03:00
|
|
|
|
|
|
|
extern const std::string type_all;
|
2004-06-07 19:33:53 +04:00
|
|
|
extern const std::string type_ompi;
|
Major simplifications to component versioning:
- After long discussions and ruminations on how we run components in
LAM/MPI, made the decision that, by default, all components included
in Open MPI will use the version number of their parent project
(i.e., OMPI or ORTE). They are certaint free to use a different
number, but this simplification makes the common cases easy:
- components are only released when the parent project is released
- it is easy (trivial?) to distinguish which version component goes
with with version of the parent project
- removed all autogen/configure code for templating the version .h
file in components
- made all ORTE components use ORTE_*_VERSION for version numbers
- made all OMPI components use OMPI_*_VERSION for version numbers
- removed all VERSION files from components
- configure now displays OPAL, ORTE, and OMPI version numbers
- ditto for ompi_info
- right now, faking it -- OPAL and ORTE and OMPI will always have the
same version number (i.e., they all come from the same top-level
VERSION file). But this paves the way for the Great Configure
Reorganization, where, among other things, each project will have
its own version number.
So all in all, we went from a boatload of version numbers to
[effectively] three. That's pretty good. :-)
This commit was SVN r6344.
2005-07-05 00:12:36 +04:00
|
|
|
extern const std::string type_orte;
|
|
|
|
extern const std::string type_opal;
|
2004-01-19 20:44:47 +03:00
|
|
|
extern const std::string type_base;
|
2004-01-30 01:10:58 +03:00
|
|
|
extern type_vector_t mca_types;
|
2004-01-19 20:44:47 +03:00
|
|
|
|
|
|
|
//
|
|
|
|
// Version-related strings and functions
|
|
|
|
//
|
|
|
|
|
|
|
|
extern const std::string ver_full;
|
|
|
|
extern const std::string ver_major;
|
|
|
|
extern const std::string ver_minor;
|
|
|
|
extern const std::string ver_release;
|
2005-09-27 06:06:05 +04:00
|
|
|
extern const std::string ver_greek;
|
2004-03-19 09:05:27 +03:00
|
|
|
extern const std::string ver_svn;
|
2004-01-19 20:44:47 +03:00
|
|
|
|
2005-07-04 04:13:44 +04:00
|
|
|
void do_version(bool want_all, opal_cmd_line_t *cmd_line);
|
2004-06-07 19:33:53 +04:00
|
|
|
void show_ompi_version(const std::string& scope);
|
2004-07-14 00:25:12 +04:00
|
|
|
void show_component_version(const std::string& type_name,
|
|
|
|
const std::string& component_name,
|
2004-01-29 05:51:20 +03:00
|
|
|
const std::string& scope,
|
|
|
|
const std::string& ver_type);
|
2004-01-19 20:44:47 +03:00
|
|
|
|
|
|
|
//
|
|
|
|
// Parameter/configuration-related functions
|
|
|
|
//
|
|
|
|
|
2008-05-19 21:44:56 +04:00
|
|
|
extern const std::string component_all;
|
|
|
|
extern const std::string param_all;
|
|
|
|
|
|
|
|
extern const std::string path_prefix;
|
|
|
|
extern const std::string path_bindir;
|
|
|
|
extern const std::string path_libdir;
|
|
|
|
extern const std::string path_incdir;
|
|
|
|
extern const std::string path_mandir;
|
|
|
|
extern const std::string path_pkglibdir;
|
|
|
|
extern const std::string path_sysconfdir;
|
|
|
|
extern const std::string path_exec_prefix;
|
|
|
|
extern const std::string path_sbindir;
|
|
|
|
extern const std::string path_libexecdir;
|
|
|
|
extern const std::string path_datarootdir;
|
|
|
|
extern const std::string path_datadir;
|
|
|
|
extern const std::string path_sharedstatedir;
|
|
|
|
extern const std::string path_localstatedir;
|
|
|
|
extern const std::string path_infodir;
|
|
|
|
extern const std::string path_pkgdatadir;
|
|
|
|
extern const std::string path_pkgincludedir;
|
2004-01-19 20:44:47 +03:00
|
|
|
|
2005-02-10 07:37:13 +03:00
|
|
|
void do_params(bool want_all, bool want_internal);
|
2008-07-10 05:44:51 +04:00
|
|
|
void show_mca_params(opal_list_t *info,
|
|
|
|
const std::string& type, const std::string& component,
|
2005-08-02 02:38:17 +04:00
|
|
|
bool want_internal);
|
2004-01-19 20:44:47 +03:00
|
|
|
|
2005-07-04 04:13:44 +04:00
|
|
|
void do_path(bool want_all, opal_cmd_line_t *cmd_line);
|
2004-01-19 20:44:47 +03:00
|
|
|
void show_path(const std::string& type, const std::string& value);
|
|
|
|
|
2007-07-02 10:12:02 +04:00
|
|
|
void do_arch();
|
|
|
|
void do_hostname();
|
2004-01-19 20:44:47 +03:00
|
|
|
void do_config(bool want_all);
|
|
|
|
|
|
|
|
//
|
|
|
|
// Output-related functions
|
|
|
|
//
|
|
|
|
void out(const std::string& pretty_message,
|
|
|
|
const std::string &plain_message,
|
|
|
|
int value);
|
|
|
|
void out(const std::string& pretty_message,
|
|
|
|
const std::string &plain_message,
|
2009-05-27 00:49:35 +04:00
|
|
|
const std::string& value,
|
|
|
|
bool strip_leading_whitespace = true,
|
|
|
|
bool strip_trailing_whitespace = true);
|
2004-01-19 20:44:47 +03:00
|
|
|
|
|
|
|
//
|
2004-07-14 00:25:12 +04:00
|
|
|
// Component-related functions
|
2004-01-19 20:44:47 +03:00
|
|
|
//
|
|
|
|
|
2005-07-03 20:22:16 +04:00
|
|
|
typedef std::map<std::string, opal_list_t *> component_map_t;
|
2004-01-19 20:44:47 +03:00
|
|
|
|
2004-07-14 00:25:12 +04:00
|
|
|
extern component_map_t component_map;
|
2004-01-19 20:44:47 +03:00
|
|
|
|
2004-07-14 00:25:12 +04:00
|
|
|
void open_components();
|
|
|
|
void close_components();
|
2004-01-19 20:44:47 +03:00
|
|
|
|
|
|
|
}
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
#endif /* OMPI_INFO_H */
|