source: CMT/v1r23/source/cmt_constituent.h

Last change on this file was 561, checked in by rybkin, 13 years ago

See C.L. 444

  • Property svn:eol-style set to native
File size: 2.2 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_constituent_h__
8#define __cmt_constituent_h__
9
10#include "cmt_parser.h"
11#include "cmt_system.h"
12#include "cmt_fragment.h"
13#include "cmt_group.h"
14
15class Constituent
16{
17public:
18  typedef cmt_vector<Constituent> ConstituentVector;
19  static void action (ConstituentType type,
20                      const CmtSystem::cmt_string_vector& words);
21  static Constituent* find (const cmt_string& name);
22  static Constituent* add (ConstituentType type,
23                           const cmt_string& name,
24                           const cmt_string& generator);
25  static Constituent* add_for_action (const cmt_string& name);
26  static void show (const cmt_string& name);
27  static void parse_all ();
28  static void show_all ();
29  static void show_names ();
30  static void build_all_makefiles (bool simulation);
31  static void build_all_msdev_files (bool simulation);
32  static void build_all_vsnet_files (bool simulation); 
33  static void clear_all ();
34  static ConstituentVector& constituents ();
35
36public:
37  Constituent ();
38  ~Constituent ();
39  void parse ();
40
41  virtual void clear ();
42  virtual void build_makefile (bool simulation) const;
43  virtual void build_msdev_file (bool simulation) const;
44  virtual void build_vsnet_file (bool simulation) const;
45  virtual void show (ostream& out = cout) const;
46  //  virtual void show () const;
47
48  cmt_string name;
49  cmt_string generator;
50  ConstituentType type;
51  Group* group;
52  cmt_string suffix;
53  CmtSystem::cmt_string_vector modules;
54  bool need_OS9;
55  bool windows;
56  bool no_static;
57  bool no_share;
58  bool need_prototypes;
59  bool need_check;
60  bool build_triggers;
61  bool has_target_tag;
62  CmtSystem::cmt_string_vector excludes;
63  cmt_vector<cmt_regexp> exclude_exprs;
64
65  CmtSystem::cmt_string_vector selects;
66  cmt_vector<cmt_regexp> select_exprs;
67
68  CmtSystem::cmt_string_vector includes;
69  CmtSystem::cmt_string_vector imports;
70  Variable::VariableVector variables;
71
72private:
73  CmtSystem::cmt_string_vector parameters;
74
75};
76
77#endif
Note: See TracBrowser for help on using the repository browser.