1 mike 1.1 Changes in pegasus 0.97 required to accomodate NSK/OSS platform RS 05/25/01
2 ===============================================================
3
4
5 pegasus/mak
6 ===========
7
8 1. Add conditional for OSS_NSK_GNU platform in the following files:
9 config.mak library.mak depend.mak objects.mak
10
11 2. Add platform file: platform_OSS_NSK_GNU.mak
12
13 3. Separate program.mak into:
14 program-unix.mak program-windows.mak program-oss.mak
15
16 4. Change program.mak to only contain conditionals
17
18
19 pegasus/src
20 ===========
21
22 mike 1.1 1. Add the following include files (from the Win2000 C++ environment):
23 cstring cstddef cctype cstdlib cstdio cassert malloc.h
24
25
26 pegasus/src/Pegasus/Common
27 ==========================
28
29 1. Add conditional for OSS_NSK_GNU in Config.h
30
31 2. Add file Platform_OSS_NSK_GNU.h
32
33 3. Change in FileSystem.cpp line 240 return (is != 0);
34 replace with: if (is) return true; else return false;
35 [ OSS compiler has problem with ambiguous operator ]
36
37 4. Change in Array.h: "friend CIMValue;" to "friend class CIMValue;"
38 [this will eliminate compiler warnings ]
39
40 5. Change in SystemUnix.cpp: #ifndef PEGASUS_OS_OSS around #define dfcn.h,
41 dlopen statement, and dlsym statement. Return NULL for OSS instead.
42
43 mike 1.1
44 pegasus/src/Pegasus/Compiler
45 ============================
46
47 1. cimmofRepository.h: when ftp'ed to OSS, contains extra CRs at the end of each line (^M)
48
49 2. cimmofParser.h: add "#define _OPEN_SOURCE_EXTENDED 1" to cover strdup function
50
51 3. cimmofParser.cpp: problem found in cimmofParser::setRepository. The AlreadyExists
52 exception is never caught. Because createNameSpace in NamespaceManager.cpp (Repository)
53 throws a CIMException::ALREADY_EXISTS, a general CIM Exception is detected instead.
54
55 Solution:
56
57 try {
58 _repository->createNameSpace(s);
59 } catch(AlreadyExists &) {
60 // OK, that's what we expect --> never caught
61 } catch(CIMException &e) { --> changed Exception to CIMException
62 if (e.getCode() != CIMException::ALREADY_EXISTS) { --> added this line
63 arglist.append(s);
64 mike 1.1 arglist.append(e.getMessage());
65 cimmofMessages::getMessage(message,
66 cimmofMessages::NAMESPACE_CREATE_ERROR,
67 arglist);
68 elog(message);
69 return false;
70 } } --> added closing bracket
71
72
73 pegasus/src/Pegasus/Compiler/cmdline
74 ====================================
75
76 1. Change in cmdline.cpp: line 91 change "while (ifs != 0)" to "while (ifs)"
77 [OSS compiler has problem with ambiguous operator]
78
79 2. Add "char cimmof_text[1000]" in main.cpp after #define NAMESPACE_ROOT.
80 This buffer is required by cimmof_tab.cpp. An undefined external will result
81 without it. Caution: find out first why this didn't cause a problem in the
82 Windows/Unix environments.
83
84
85 mike 1.1
86
87
88
89
90
91
92 Issues
93 ======
94
95 1. Need to find a way to produce cimmof_lex.cpp under OSS. Currently it is built under the
96 Windows environment and copied to OSS.
97
98 2. What is bison.simple used for ?
99
100
101
102
103
104
|