Skip to content

Commit 55ac3ab

Browse files
authored
Merge pull request DOCGroup#172 from DOCGroup/modernization
Modernization of html documentation (and rpm script)
2 parents b810214 + a589934 commit 55ac3ab

25 files changed

+598
-513
lines changed

MPC.ico

0 Bytes
Binary file not shown.

docs/README

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
.:: 3/13/2002 ::.
44

55
The Makefile, Project and Workspace Creator.
6-
Designed by Justin Michel ([email protected]) and Chad Elliott.
7-
Implemented by Chad Elliott ([email protected]).
6+
Designed by Justin Michel and Chad Elliott.
87

98
A single tool (MPC) can be used to generate tool specific input (i.e.,
109
Makefile, dsp, vcproj, etc.) The generator takes platform and building

docs/html/CDT6.html

Lines changed: 95 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -59,149 +59,156 @@ <h3 class="Head2">Pre-requisites</h3>
5959
VM heap size is insufficient for building projects the size of
6060
ACE/TAO/CIAO. A minimum of 768Mb or more is suggested. This can be
6161
done on the command line launch of eclipse, or in the
62-
<code>eclipse.ini</code> file.</li>
62+
<em class="Code">eclipse.ini</em> file.</li>
6363

6464
</ul>
6565
</div>
6666

6767
<div>
6868
<h3 class="Head2">Usage</h3>
69-
For every <code>project <var>myprojname</var> { }</code> in mpc files, the CDT6 project type
69+
<p class="Body">
70+
For every <em class="Code">project <var>myprojname</var> { }</em> in mpc files, the CDT6 project type
7071
generates a corresponding "eclipse project" directory of the form
71-
<samp>cdt_<var>myprojname</var></samp>. The CDT6 Project Type
72+
<em class="Code">cdt_<var>myprojname</var></em>. The CDT6 Project Type
7273
uses Eclipse's <em>linked resource</em> feature to work around
7374
Eclipse's usual requirement that source files reside inside the Eclipse project
7475
directory. However, the linked resource feature also comes with
7576
restrictions; see <a href="#fullpath">the note</a> for details.
76-
77-
<h4>Generic workflow</h4>
77+
</p>
78+
<h4 class="Head5">Generic workflow</h4>
79+
<p class="Body">
7880
Presuming .mpc files already exist:
81+
</p>
7982
<ol>
80-
<li>Generate projects using <samp>-type cdt6</samp>.</li>
81-
<li>Import projects into an Eclipse workspace.</li>
83+
<li><p class="Body">Generate projects using <em class="Code">-type cdt6</em>.</p></li>
84+
<li><p class="Body">Import projects into an Eclipse workspace.</p></li>
8285
</ol>
8386

84-
<h4>Workflow for building ACE/TAO</h4>
87+
<h4 class="Head5">Workflow for building ACE/TAO</h4>
8588
<ol>
86-
<li>Check out a copy of ACE/TAO.</li>
89+
<li><p class="Body">Check out a copy of ACE/TAO.</p></li>
8790

88-
<li>Configure ACE/TAO for your target(s) by setting up
89-
<samp>config.h</samp>.
91+
<li><p class="Body">Configure ACE/TAO for your target(s) by setting up
92+
<em class="Code">config.h</em>.</p>
9093
</li>
9194

92-
<li>Set up environment variables (<var>ACE_ROOT</var>,
95+
<li><p class="Body">Set up environment variables (<var>ACE_ROOT</var>,
9396
<var>TAO_ROOT</var>, etc.), <var>PATH</var>,
94-
<var>LD_LIBRARY_PATH</var> (or similar), etc.
97+
<var>LD_LIBRARY_PATH</var> (or similar), etc.</p>
9598
</li>
9699

97-
<li>Verify settings in <samp>global.features</samp> and, if changes
100+
<li><p class="Body">Verify settings in <em class="Code">global.features</em> and, if changes
98101
are necessary, make appropriate changes in
99-
<samp>default.features</samp>.
102+
<em class="Code">default.features</em>.</p>
100103
</li>
101104

102-
<li>Generate projects using <samp>-type cdt6</samp> insuring the
103-
use of <samp>mwc.pl</samp> from within ACE, e.g.,
104-
<blockquote><pre>
105-
$ cd $TAO_ROOT
106-
$ mwc.pl -type cdt6 TAO_ACE.mwc
107-
</pre></blockquote>
108-
<samp>mwc.pl</samp> will churn for awhile.
105+
<li><p class="Body">Generate projects using <em class="Code">-type cdt6</em> insuring the
106+
use of <em class="Code">mwc.pl</em> from within ACE, e.g.,</p>
107+
<blockquote>
108+
<p class="Code">$ cd $TAO_ROOT</p>
109+
<p class="Code">$ mwc.pl -type cdt6 TAO_ACE.mwc</p>
110+
</blockquote>
111+
<p class="Body"><em class="Code">mwc.pl</em> will churn for awhile.</p>
109112
</li>
110113

111-
<li><em>Suggestion:</em> Verify that <strong>Project->Build
114+
<li><p class="Body"><em>Suggestion:</em> Verify that <strong>Project->Build
112115
Automatically</strong> is unchecked (has no checkmark to its
113116
immediate left). If this is left on, then the build will start as
114-
soon as the import in the next step begins, and it will build everything.</li>
117+
soon as the import in the next step begins, and it will build everything.</p></li>
115118

116-
<li>From within Eclipse (preferably an otherwise-empty workspace) select
117-
<strong>File->Import...</strong> and perform the following actions:
119+
<li><p class="Body">From within Eclipse (preferably an otherwise-empty workspace) select
120+
<strong>File->Import...</strong> and perform the following actions:</p>
118121
<ol type="a">
119-
<li>Choose <strong>General->Existing Projects Into
120-
Workspace</strong> and click <strong>Next</strong></li>
121-
<li>In "Select Root Directory:" text field, enter the full path
122+
<li><p class="Body">Choose <strong>General->Existing Projects Into
123+
Workspace</strong> and click <strong>Next</strong></p></li>
124+
<li><p class="Body">In "Select Root Directory:" text field, enter the full path
122125
to the directory <em>above</em> ACE, TAO, etc. (you can also use
123126
the "Browse" feature to select the directory from the GUI). For
124127
example, if you checked everything out into
125-
<samp>/home/joedeveloper/acetao</samp> and ACE and TAO are in a
128+
<em class="Code">/home/joedeveloper/acetao</em> and ACE and TAO are in a
126129
peer layout under that directory, you would enter
127-
<samp>/home/joedeveloper/acetao</samp> in the text field.
128-
</li>
129-
<li>Eclipse will scan all the subdirectories looking for existing
130+
<em class="Code">/home/joedeveloper/acetao</em> in the text field.
131+
</p></li>
132+
<li><p class="Body">Eclipse will scan all the subdirectories looking for existing
130133
projects; this can take a few minutes for something as large as
131134
TAO or CIAO. <strong>NOTE:</strong> If you have previously run
132135
MPC to generate CDT projects with one workspace
133-
(<samp>.mwc</samp> file) and then ran it later with a different
136+
(<em class="Code">.mwc</em> file) and then ran it later with a different
134137
workspace without removing the projects from the first
135138
generation, Eclipse will still find those projects for import.
136139
See <a href="#remove_projects">the note on removing generated
137-
projects</a> for information on how to do that.</li>
140+
projects</a> for information on how to do that.</p></li>
138141

139-
<li><strong>Be sure that the checkbox next to <em>Copy projects
142+
<li><p class="Body"><strong>Be sure that the checkbox next to <em>Copy projects
140143
into workspace</em> is <em>UN</em>checked.</strong> Copying projects into
141144
the workspace unnecessarily duplicates files, plus we have found
142145
that Eclipse can get confused with file paths sometimes (though
143-
sometimes it will work).</li>
146+
sometimes it will work).</p></li>
144147

145-
<li>Feel free to use <em>Working Sets</em> or not. You may also
148+
<li><p class="Body">Feel free to use <em>Working Sets</em> or not. You may also
146149
choose to import a subset of the discovered projects by
147150
manipulating them in the list, however, experience suggests that
148151
the list is ignorant of dependency interactions between projects,
149152
so you must manage that manually (<em>i.e.</em>, you could import
150153
a project, but not projects upon which the first depends, and
151-
that first project would then fail to build).</li>
154+
that first project would then fail to build).</p></li>
152155

153-
<li>Click <strong>Finish</strong> to proceed with the import.</li>
156+
<li><p class="Body">Click <strong>Finish</strong> to proceed with the import.</p></li>
154157
</ol>
158+
<p class="Body">
155159
Eclipse will now start populating the <em>Projects</em> pane with
156160
projects. If you didn't uncheck <strong>Build
157161
Automatically</strong>, then builds will start. Regardless, the
158-
C++ indexer will run in the background across the source of all projects.</li>
162+
C++ indexer will run in the background across the source of all projects.</p></li>
159163
</ol>
160164

161-
<h4>Building A Project</h4>
165+
<h4 class="Head5">Building A Project</h4>
166+
<p class="Body">
162167
To build a project or set of projects, select the project (or
163168
projects) in the <em>Project</em> pane, then select
164169
<strong>Project->Build Project</strong>. Eclipse will evaluate
165170
<em>ALL</em> dependencies automatically, though not necessarily
166171
quickly.
167-
<p>
172+
</p>
173+
<p class="Body">
168174
<em>Hint:</em> a good choice to get all of ACE/TAO built is to
169175
choose the <em>Naming Service</em> project.
170-
176+
</p>
171177
</div>
172178

173179
<div>
174180
<h3 class="Head2">Multiple Platforms</h3>
181+
<p class="Body">
175182
Just as a project created within CDT can be set up to support
176183
multiple platforms, so too can projects generated via MPC. To the
177184
extent possible, the platforms are represented in generated projects
178185
in the same way as they are in "native" projects (though there will
179186
be some differences).
180-
181-
<h4>Generating Projects with Multiple Platform Support</h4>
182-
<p>
183-
Platforms are named in a list called <samp>platforms</samp> in the
187+
</p>
188+
<h4 class="Head5">Generating Projects with Multiple Platform Support</h4>
189+
<p class="Body">
190+
Platforms are named in a list called <em class="Code">platforms</em> in the
184191
CDT6 template (much like other MPC templates). The list defaults to
185-
the platform on which <samp>mwc.pl</samp> is run. To generate for
192+
the platform on which <em class="Code">mwc.pl</em> is run. To generate for
186193
another platforms, or for additional platforms, you must provide
187-
<samp>platforms</samp> with the list of platforms to generate.
194+
<em class="Code">platforms</em> with the list of platforms to generate.
188195
</p>
189-
<p>
196+
<p class="Body">
190197
Generate projects using a similar incantation to the default (from
191-
above) using <samp>-type cdt6</samp> and <samp>-value_template
192-
platform="&lt;platform_list&gt;"</samp>, insuring the
193-
use of <samp>mwc.pl</samp> from within ACE, e.g.,
194-
<blockquote><pre>
195-
$ cd $TAO_ROOT
196-
$ mwc.pl -type cdt6 -value_template platforms="linux cellppu" TAO_ACE.mwc
197-
</pre></blockquote>
198+
above) using <em class="Code">-type cdt6</em> and <em class="Code">-value_template
199+
platform="&lt;platform_list&gt;"</em>, insuring the
200+
use of <em class="Code">mwc.pl</em> from within ACE, e.g.,
201+
<blockquote>
202+
<p class="Code">$ cd $TAO_ROOT</p>
203+
<p class="Code">$ mwc.pl -type cdt6 -value_template platforms="linux cellppu" TAO_ACE.mwc</p>
204+
</blockquote>
198205
</p>
199-
<p>
206+
<p class="Body">
200207
Platforms are defined as scopes in <tt>templates/cdt6platforms.mpt</tt>.
201208
</p>
202209

203-
<h4>Cross-Compilation</h4>
204-
<p>
210+
<h4 class="Head5">Cross-Compilation</h4>
211+
<p class="Body">
205212
Cross-compilation is handled the same as a platform; the target is
206213
the platform. If you want to generate for cross-compilation, the
207214
cross-compiler information must be defined in a scope (typically
@@ -210,77 +217,74 @@ <h4>Cross-Compilation</h4>
210217
the target, follow <a href="#addplatform">the instructions for adding
211218
a new platform.</a>
212219
</p>
213-
<p>
214-
In the example given above, <samp>cellppu</samp> is the name of the
220+
<p class="Body">
221+
In the example given above, <em class="Code">cellppu</em> is the name of the
215222
platform for cross-compilation.
216223
</p>
217224

218-
<h4>Adding a New Platform<a name="addplatform"></a></h4>
225+
<h4 class="Head5">Adding a New Platform<a name="addplatform"></a></h4>
226+
<p class="Body">
219227
To add a new platform, particularly one for cross-compilation, it's
220228
probably easiest to start from an existing scope, e.g.,
221-
<samp>cellppu</samp>. For cross-compilation where the cross-compiler
229+
<em class="Code">cellppu</em>. For cross-compilation where the cross-compiler
222230
toolchain is GNU Compiler-based, you will need to provide the names
223231
of the various executables in the toolchain in the values
224-
<samp>as</samp>, <samp>ar</samp>, <samp>cc</samp>, and
225-
<samp>cxx</samp>. And, optionally, <samp>ccld</samp> and/or
226-
<samp>cxxld</samp> if the linker used for linking C and C++
232+
<em class="Code">as</em>, <em class="Code">ar</em>, <em class="Code">cc</em>, and
233+
<em class="Code">cxx</em>. And, optionally, <em class="Code">ccld</em> and/or
234+
<em class="Code">cxxld</em> if the linker used for linking C and C++
227235
executables, respectively, is different from the respective
228236
compiler. CDT expects these to be in the path.
229-
237+
</p>
230238
</div>
231239
<div>
232240
<h3 class="Head2">Notes</h3>
233241
<ol>
234-
<li>
242+
<li><p class="Body">
235243
There is no generated workspace. Eclipse's concept of workspace is
236244
very different from MPC's, and there is no way to generate a
237245
workspace. Eclipse's workspace concept doesn't permit sharing
238246
among machines or developers or even checking a workspace into
239247
version control.
240-
</li>
248+
</p></li>
241249

242-
<li>The Eclipse "workspace" and MPC project + source must not be in the
250+
<li><p class="Body">The Eclipse "workspace" and MPC project + source must not be in the
243251
same directory hierarchy. For example, if you chose to have
244252
Eclipse store its workspace in
245-
<samp>/home/joedeveloper/workspace</samp>, you may not put your
253+
<em class="Code">/home/joedeveloper/workspace</em>, you may not put your
246254
MPC project+source under that directory. However, putting the
247-
MPC project+source under <samp>/home/joedeveloper/acetao</samp>
255+
MPC project+source under <em class="Code">/home/joedeveloper/acetao</em>
248256
or similar, <em>i.e.</em>, as a <em>peer</em> to the workspace
249257
directory, is fine.
250-
</li>
258+
</p></li>
251259

252-
<li><a name="fullpath"></a>CDT6 uses Eclipse's <em>linked
260+
<li><p class="Body"><a name="fullpath"></a>CDT6 uses Eclipse's <em>linked
253261
resource</em> feature to work around the usual requirement that
254262
all source code reside in Eclipse project directories. These
255263
act similar to Unix symbolic links. While convenient so that a
256264
developer is not required to conform to Eclipse's directory
257265
layout, it comes at a price: the target of the link must be
258266
specified as a full path. The consequence of this restriction is
259267
that, once the CDT6 projects get generated, the source should
260-
not move in the filesystem.</li>
268+
not move in the filesystem.</p></li>
261269

262-
<li><a name="remove_projects"></a>MPC's CDT Project Generator
263-
creates directories named <samp>cdt_*</samp> for projects, similar
270+
<li><p class="Body"><a name="remove_projects"></a>MPC's CDT Project Generator
271+
creates directories named <em class="Code">cdt_*</em> for projects, similar
264272
to how the GNUACE generator generates makefiles of the form
265-
<samp>GNUmakefile.*</samp>. To remove all CDT projects from a
266-
directory hierarchy, on Linux you can use a command such as:
267-
<pre>
268-
$ find . -name 'cdt_*' -print | xargs rm -rf
269-
</pre>
273+
<em class="Code">GNUmakefile.*</em>. To remove all CDT projects from a
274+
directory hierarchy, on Linux you can use a command such as:</p>
275+
<blockquote>
276+
<p class="Code">$ find . -name 'cdt_*' -print | xargs rm -rf</p>
277+
</blockquote>
270278
</li>
271279

272-
<li>Perfect hash generation using the IDL compiler is not
280+
<li><p class="Body">Perfect hash generation using the IDL compiler is not
273281
currently working because the IDL compiler cannot find the
274-
<samp>gperf</samp> executable. This may be a <code>PATH</code>
282+
<em class="Code">gperf</em> executable. This may be a <em class="Code">PATH</em>
275283
issue, "installation" issue, or an mpc file dependency issue. The
276-
IDL compiler works but does not generate perfect hash lookups.</li>
284+
IDL compiler works but does not generate perfect hash lookups.</p></li>
277285
</ol>
278286
</div>
279287

280288
</div>
281289

282-
283-
<hr>
284-
<address></address>
285-
<!-- hhmts start --> Last modified: Thu Jul 22 11:14:15 CDT 2010 <!-- hhmts end -->
286290
</body> </html>

0 commit comments

Comments
 (0)