1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
BUILDING CIAO
========================
* Supported platform:
We have tried CIAO examples on Win32 using MSVC 7.1 and above and on
Linux.
* Documentation:
Various documents are available under $(CIAO_ROOT)/docs/
Commments and suggestions for improving these documents are
extremely welcome.
* Preparation - Compiling ACE and TAO:
*************************************************
There has been some big changes in MPC and
a few "problems" are being sorted out before
ACE/TAO switched to use MPC generated Makefile
projects files exclusively. CIAO only uses
MPC. MPC, however, assumes a slightly different
directory structure than the stock, old ACE
Makefile/project files. Therefore, it is
a bit adventurous to compile CIAO at this time
of transition. Here are some hints that you
can try to make this work a bit easier.
1. Make sure to add $ACE_ROOT/lib into your
PATH, or LD_LIBRARY_PATH (before
$ACE_ROOT/bin)
2. Make sure you don't have old CIAO libraries
DLL and so files) hanging around.
3. If prefered, you can re-generate the Makefile,
project files for all/core ACE/TAO libraries.
(e.g., using $ACE_ROOT/TAO/TAOACE.mwc.)
*************************************************
CIAO depends on many CORBA features to function properly so you need
to compile them first. Here is a non-exhaustive list:
ACEXML_Parser,
Valuetype
IORInterceptor
ObjRefTemplate
Security
PortableServer
IFR_Client
RTPortableServer
RTCORBA
and also the libraries they depends on.
- On Linux, try defining these in the platform_macros.GNU
exceptions=1
interface_repo=1
ssl=1
* Compiling CIAO core libraries and tools:
Assuming CIAO_ROOT = ACE_wrappers/TAO/CIAO/
Compile the following directories:
$CIAO_ROOT/ciao/
$CIAO_ROOT/tools/XML_Helpers
$CIAO_ROOT/tools/ComponentServer
$CIAO_ROOT/tools/ServerActivator
$CIAO_ROOT/tools/Assembly_Deployer
$CIAO_ROOT/tools/Daemon
You need to creating the Makefile of your choice..
For example, for unix makefile:
$ cd $CIAO_ROOT/ciao/
$ $(ACE_ROOT)/bin/mwc.pl
$ make
To regenerate VC7.1.NET project files, do:
> cd $CIAO_ROOT/ciao
> $(ACE_ROOT)/bin/mwc.pl -type vc71
* You also need to build the CIDL compiler before trying out any
examples. The CIDL compiler, CIDLC, compiles your component
implementation definition and generates the necessary glue code for
developing and deploying components. Pleas see
$CIAO_ROOT/CIDLC/README.html for instructions on how to build and
use CIDLC.
* Now you can play with the examples:
- $CIAO_ROOT/examples/Hello
This is a single component example. Check out run_test.pl to see
how you can instantiate a single component using CIAO.
- $CIAO_ROOT/examples/OEP/Display
This is a multiple-component example. RateGen component
subdirectory contains a run_test.pl that you can use to
instantiate a component instance, like you would do with the
Hello example. The other components require collaboration with
other components and I don't have client programs to test them
out individually.
This example also lets you compose all the components into a
distributed application using the Assembly_Deployer. Change
directory to
$CIAO_ROOT/examples/OEP/Display/descriptors
and take a look at the file: NOTE.txt. This file describes the
steps to compose the application using various different
configurations and composition specs.
- $CIAO_ROOT/examples/OEP/BasicSP
This is a new multi-component example. It has the similar
struture as the Dsiplay example above.
* If you can not find the
Makefiles for unix platform you are using, you can use mwc to create
them. For examples, to compile the multi-component example, use the
following:
$ cd $CIAO_ROOT/examples/Display
$ $(ACE_ROOT)/bin/mwc.pl
$ make
To regenerate VC6 dsp files, do:
> cd $CIAO_ROOT/examples/Display
> $(ACE_ROOT)/bin/mwc.pl -type vc6
Likewise, to regenerate VC7.NET project files, do:
> cd $CIAO_ROOT/examples/Display
> $(ACE_ROOT)/bin/mwc.pl -type vc7
|