1 karl 1.1 /*
2 $Log$
3 The file documents the Pegasus MOF compiler.
4 */
5
6 /** @name Pegasus MOF Compiler
7
8 The Pegasus MOF compiler is a command line utility that compiles MOF files
9 (using the MOF format defined by the DMTF CIM Specification) into a Pegasus
10 repository. It allows compiling from strucutures of MOF files using the
11 include pragma and can either compile into a Pegasus repository or simply
12 perform a syntax check on the MOF files.
13
14 In the syntax check mode, it checks each class independently and does not do
15 semantic checks between classes (ex. check for super-classes, etc.). When
16 compiling into a Pegasus repository, the compiler uses Pegasus to install the
17 classes and instances into the repository and uses the semantic checking built
18 into Pegasus.
19
20 The compiler operates standalone in the syntax checking mode but requires the
21 Pegasus libraries when compiling into a Pegasus respository.
22 karl 1.1
23 The compiler requires that the input MOF files be in the current directory
24 unless TBD
25
26 The compiler assumes that the file extension is .mof it is not specified.
27
28 The actual configuration and type of repository created depends on the characteristics of the repository implemented in Pegasus. See the description of the Pegasus repositories for more information.
29
30 <B>EXAMPLE</B>
31
32 <PRE>
33 cimmof -w -Rtestrepository -IMOF MOF/CIMSchema25.mof
34 </PRE>
35
36 Compile the mof file defined in the directory MOF with the name CIMSchema25.mof
37 and with include pragmas for other MOF files also in that directory and create
38 the repository testrepository
39
40
41 <B>NAME</B>
42
43 karl 1.1 cimmof - Compile DMTF CIM MOF
44
45 <B>SYNOPSIS</B>
46 <PRE>
47 cimmof [OPTION]... [FILE]...
48 </PRE>
49
50
51 <B>DESCRIPTION</B>
52
53 The MOF compiler TBD
54
55 <B>OPTIONS</B>
56 <UL>
57 <LI>-h, --help Print out usage message with command line definitions.
58
59
60 <LI>-E - Perform only a syntax check on the input and creates no repository. Inthis mode, the compiler does not do the sematic checks that are done when MOFis added to a repository
61
62 -w -- Suppresses ??? warnings.
63
64 karl 1.1 <LI>-R<path> - Specifies the path to the repository to be written. This is an
65 alternative to the PEGASUS_HOME environment variable. If PEGASUS_HOME is set
66 the repository gets written to $PEGASUS_HOME/repository. The -R flag one the
67 command line overrides this with <path> specified in the directive.
68
69
70 ?? relative or absolute???
71
72 <LI>--CIMRepository=<path>
73
74 <LI>-I<path> -- Specifies the path to included MOF files. If the inputmof file has include pragmas and the included files do not reside in the current directory, the -I directive must be used to specify a path to them on the compiler command line. Do this with the -I flag.
75
76 cimmof -I~/testfiles ~/testfiles/main.mof
77
78 ?? relative or absolute ??
79
80 </UL>
81
82 Limitations of the current version
83
84 <EM>See the README in the COMPILER section of the Pegasus code tree for up-to-date
85 karl 1.1 information on both the current Limitations and the current TODOs.</EM>
86
87 The compiler does not handle missing include files very sanely
88 right now. It just skips them.
89
90 TODOs
91
92 <UL>
93
94 <LI> - Parse and store references correctly
95
96 <LI> - Test parsing and storage of instances. They probably don't work now.
97
98 <LI> - Rationalize the error logging scheme. Things are spit randomly to
99 sterr now.
100
101 <LI> - Extend error detection and handling.
102
103 </UL>
104 */
105
|