source: CMT/v1r16p20040901/src/cmt.h @ 1

Last change on this file since 1 was 1, checked in by arnault, 19 years ago

Import all tags

File size: 12.0 KB
Line 
1//-----------------------------------------------------------
2// Copyright Christian Arnault LAL-Orsay CNRS
3// arnault@lal.in2p3.fr
4// See the complete license in cmt_license.txt "http://www.cecill.info".
5//-----------------------------------------------------------
6
7#ifndef __cmt_h__
8#define __cmt_h__
9
10#include "cmt_parser.h"
11#include "cmt_system.h"
12
13class Symbol;
14class Tag;
15
16class Cmt
17{
18 public:
19  static void build_config (const cmt_string& prefix, cmt_string& config);
20  static void build_makefile (const cmt_string& target);
21  static void build_msdev_file (const cmt_string& target);
22  // Visual Studio.Net Support                           
23  static void build_vsnet_file (const cmt_string& target);
24
25  static bool build_nmake ();
26  static void build_OS9_makefile (const cmt_string& target);
27  static void build_prefix (const cmt_string& package, cmt_string& prefix);
28  static void clear ();
29
30  static void configure ();
31  static void configure_cmt_path (Use* use);
32  static void configure_config_tag ();
33  static void configure_current_cmtpath ();
34  static void configure_current_dir ();
35  static void configure_current_package ();
36  static void configure_current_structuring_style ();
37  static void configure_default_path ();
38  static void configure_home (Use* use);
39  static void configure_user_context (Use* use);
40  static void configure_hosttype_tag ();
41  static void configure_site_tag (Use* use);
42  static void configure_tags (Use* use);
43  static void configure_uname_tag ();
44  static void configure_version_tag ();
45
46  static void do_awk (const CmtSystem::cmt_string_vector& arguments);
47  static void do_broadcast (const CmtSystem::cmt_string_vector& arguments,
48                            int argc,
49                            char* argv[]);
50  static void do_build_constituent_makefile (const CmtSystem::cmt_string_vector& arguments,
51                                             int argc,
52                                             char* argv[]);
53  static void do_build_constituents_makefile (const CmtSystem::cmt_string_vector& arguments,
54                                              int argc,
55                                              char* argv[]);
56  static void do_build_dependencies (const CmtSystem::cmt_string_vector& arguments,
57                                     int argc,
58                                     char* argv[]);
59  static void do_build_library_links ();
60  static void do_build_make_setup ();
61  static void do_build_msdev (const CmtSystem::cmt_string_vector& arguments);
62  static void do_build_CMT_pacman ();
63  // Visual Studio.Net Support                                               
64  static void do_build_vsnet (const CmtSystem::cmt_string_vector& arguments);
65
66  static void do_build_os9_makefile (const CmtSystem::cmt_string_vector& arguments);
67  static void do_build_prototype (const CmtSystem::cmt_string_vector& arguments);
68  static void do_build_readme (const CmtSystem::cmt_string_vector& arguments);
69  static void do_build_tag_makefile ();
70  static void do_build_temporary_name ();
71  static void do_build_triggers (const CmtSystem::cmt_string_vector& arguments);
72  static void do_build_windefs (const CmtSystem::cmt_string_vector& arguments);
73  static void do_check_configuration ();
74  static void do_check_files (const CmtSystem::cmt_string_vector& arguments);
75  static void do_check_version (const CmtSystem::cmt_string_vector& arguments);
76  static void do_checkout (const CmtSystem::cmt_string_vector& arguments);
77  static void do_cleanup (PrintMode& mode);
78  static void do_config ();
79  static void do_create (const CmtSystem::cmt_string_vector& arguments);
80  static void do_create_project (const CmtSystem::cmt_string_vector& arguments);
81  static void do_cvsbranches (const CmtSystem::cmt_string_vector& arguments);
82  static void do_cvssubpackages (const CmtSystem::cmt_string_vector& arguments);
83  static void do_cvstags (const CmtSystem::cmt_string_vector& arguments);
84  static void do_do (const CmtSystem::cmt_string_vector& arguments);
85  static void do_expand_model (const CmtSystem::cmt_string_vector& arguments);
86  static void do_filter (const CmtSystem::cmt_string_vector& arguments);
87  static void do_help (ActionType help_action = action_none);
88  static void do_lock (const cmt_string& package,
89                       const cmt_string& version,
90                       const cmt_string& path);
91  static void do_remove (const cmt_string& package,
92                         const cmt_string& version,
93                         const cmt_string& path);
94  static void do_remove_library_links ();
95  static void do_run (const CmtSystem::cmt_string_vector& arguments);
96  static void do_run_sequence (const CmtSystem::cmt_string_vector& arguments);
97
98  static void do_set_version (const CmtSystem::cmt_string_vector& arguments);
99  static void do_set_versions (const CmtSystem::cmt_string_vector& arguments);
100
101  static void do_setup (PrintMode& mode);
102  static void do_show_action (const CmtSystem::cmt_string_vector& arguments,
103                              PrintMode& mode);
104  static void do_show_action_names (const CmtSystem::cmt_string_vector& arguments,
105                                    PrintMode& mode);
106  static void do_show_action_value (const CmtSystem::cmt_string_vector& arguments,
107                                    PrintMode& mode);
108  static void do_show_actions (const CmtSystem::cmt_string_vector& arguments,
109                               PrintMode& mode);
110  static void do_show_all_tags ();
111  static void do_show_applied_patterns ();
112  static void do_show_author ();
113  static void do_show_branches (PrintMode& mode);
114  static void do_show_clients (const CmtSystem::cmt_string_vector& arguments);
115  static void do_show_cmtpath_patterns ();
116  static void do_show_constituent (const CmtSystem::cmt_string_vector& arguments);
117  static void do_show_constituent_names ();
118  static void do_show_constituents ();
119  static void do_show_cycles ();
120  static void do_show_fragment (const CmtSystem::cmt_string_vector& arguments);
121  static void do_show_fragments ();
122  static void do_show_groups ();
123  static void do_show_include_dirs ();
124  static void do_show_language (const CmtSystem::cmt_string_vector& arguments);
125  static void do_show_languages ();
126  static void do_show_macro (const CmtSystem::cmt_string_vector& arguments,
127                             PrintMode& mode);
128  static void do_show_macro_names (const CmtSystem::cmt_string_vector& arguments,
129                                   PrintMode& mode);
130  static void do_show_macro_value (const CmtSystem::cmt_string_vector& arguments,
131                                   PrintMode& mode);
132  static void do_show_macros (const CmtSystem::cmt_string_vector& arguments,
133                              PrintMode& mode);
134  static void do_show_manager ();
135  static void do_show_packages (const CmtSystem::cmt_string_vector& arguments);
136  static void do_show_path ();
137  static void do_show_pattern (const CmtSystem::cmt_string_vector& arguments);
138  static void do_show_pattern_names ();
139  static void do_show_patterns ();
140  static void do_show_projects ();
141  static void do_show_pwd ();
142  static void do_show_setup ();
143  static void do_show_set (const CmtSystem::cmt_string_vector& arguments,
144                           PrintMode& mode);
145  static void do_show_set_names (const CmtSystem::cmt_string_vector& arguments,
146                                 PrintMode& mode);
147  static void do_show_set_value (const CmtSystem::cmt_string_vector& arguments,
148                                 PrintMode& mode);
149  static void do_show_sets (const CmtSystem::cmt_string_vector& arguments,
150                            PrintMode& mode);
151  static void do_show_strategies ();
152  static void do_show_tags ();
153  static void do_show_use_paths (const CmtSystem::cmt_string_vector& arguments);
154  static void do_show_uses ();
155  static void do_show_version ();
156  static void do_show_versions (const CmtSystem::cmt_string_vector& arguments);
157  static void do_show_system ();
158  static void do_unlock (const cmt_string& package,
159                         const cmt_string& version,
160                         const cmt_string& path);
161  static void do_version ();
162
163
164  static const cmt_string& filter_dir (const cmt_string& dir);
165
166  static ActionType get_action ();
167
168  static const cmt_string& get_cmt_home ();
169  static const cmt_string& get_cmt_user_context ();
170  static const cmt_string& get_cmt_version ();
171  static const cmt_string& get_current_dir ();
172  static const cmt_string& get_current_package ();
173  static const cmt_string& get_current_cmtpath ();
174  static const cmt_string& get_current_offset ();
175  static AccessMode get_current_access ();
176  static int get_current_build_strategy ();
177  static int get_current_setup_strategy ();
178  static CmtStructuringStyle get_current_structuring_style ();
179  static CmtDirStyle get_current_style ();
180  static const cmt_string& get_current_version ();
181  static const cmt_string& get_current_target ();
182  static bool get_debug ();
183  static bool get_quiet ();
184  static bool get_recursive ();
185  static CmtScopeFilteringMode get_scope_filtering_mode ();
186
187  static void install_cleanup_scripts ();
188  static void install_setup_scripts ();
189  static void install_test_cleanup_scripts ();
190  static void install_test_setup_scripts ();
191  static bool load (const cmt_string& path,
192                    const cmt_string& package,
193                    const cmt_string& version,
194                    const cmt_string& tag_name = "");
195  static bool need_prototypes ();
196  static void parse_arguments (int argc, char* argv[],
197                               CmtSystem::cmt_string_vector& arguments,
198                               cmt_string& extra_line,
199                               cmt_string& extra_file,
200                               PrintMode& mode);
201  static int parser (const cmt_string& command_line);
202  static int parser (int argc, char* argv[]);
203  static void print (PrintMode mode);
204  static void print_clean (PrintMode mode);
205  static void print_context (Use& use, PrintMode mode, const cmt_string& tag);
206  static void print_macros (PrintMode mode, const cmt_string& pattern = "");
207  static void print_symbol_names (PrintMode mode, const cmt_string& pattern = "");
208  static void print_tabs (int tabs);
209  static int reach_current_package ();
210  static void restore_all_tags (Use* use);
211  static void set_current_access (AccessMode mode);
212  static void set_current_build_strategy (int strategy);
213  static void set_current_setup_strategy (int strategy);
214  static void set_scope_filtering_mode (CmtScopeFilteringMode mode);
215  static void set_standard_macros ();
216  static void use_cmt ();
217  static void use_home_requirements ();
218  static void use_user_context_requirements ();
219  static void use_special_requirements (const cmt_string& path, 
220                                        const cmt_string& name, 
221                                        const cmt_string& file_name);
222  static cmt_string vector_to_string (const CmtSystem::cmt_string_vector& v);
223  static void vector_to_string (const CmtSystem::cmt_string_vector& v,
224                                const cmt_string& separator,
225                                cmt_string& result);
226
227private:
228
229  /// All Attributes are private
230
231  static ActionType m_action;
232  static ActionType m_help_action;
233  static bool m_build_nmake;
234  static cmt_string m_cmt_config;
235  static cmt_string m_cmt_root;
236  static cmt_string m_cmt_home;
237  static cmt_string m_cmt_user_context;
238  static cmt_string m_cmt_site;
239  static cmt_string m_cmt_version;
240
241  static int m_current_build_strategy;
242  static int m_current_setup_strategy;
243
244  static cmt_string m_current_dir;
245  static cmt_string m_current_package;
246  static cmt_string m_current_config;
247  static cmt_string m_current_path;
248  static cmt_string m_current_prefix;
249  static cmt_string m_current_cmtpath;
250  static cmt_string m_current_offset;
251
252  static AccessMode m_current_access;
253  static CmtDirStyle m_current_style;
254  static CmtStructuringStyle m_current_structuring_style;
255
256  static cmt_string m_current_tag;
257  static cmt_string m_current_target;
258  static cmt_string m_current_version;
259
260  static cmt_string m_extra_tags;
261  static cmt_string m_configure_error;
262
263  static bool m_debug;
264
265  static cmt_string m_default_path;
266  static bool m_quiet;
267  static bool m_recursive;
268  static CmtScopeFilteringMode m_scope_filtering_mode;
269  static bool m_simulation;
270  static bool m_standard_macros_done;
271};
272
273#endif
Note: See TracBrowser for help on using the repository browser.