Skip to content

Commit 96c22ad

Browse files
Merge pull request #4139 from iguessthislldo/igtd/sphinx-docs
Documentation Restructuring
2 parents 803438f + 4e511ed commit 96c22ad

37 files changed

+3039
-2272
lines changed

INSTALL.md

Lines changed: 4 additions & 188 deletions
Original file line numberDiff line numberDiff line change
@@ -1,191 +1,7 @@
11
# Building and Installing OpenDDS
22

3-
**Table of Contents:**
3+
The content from this file has been moved into the main documention:
44

5-
- [Building and Installing OpenDDS](#building-and-installing-opendds)
6-
- [Java](#java)
7-
- [Supported Platforms](#supported-platforms)
8-
- [Compiling](#compiling)
9-
- [Test](#test)
10-
- [Installation](#installation)
11-
- [Application Development with an Installed OpenDDS](#application-development-with-an-installed-opendds)
12-
- [Cross Compiling](#cross-compiling)
13-
- [Raspberry Pi](#raspberry-pi)
14-
- [Android](#android)
15-
- [Apple iOS](#apple-ios)
16-
- [Building Your Own Applications](#building-your-own-applications)
17-
18-
## Java
19-
20-
If you're building OpenDDS for use by Java applications, please see the file
21-
[java/INSTALL](java/INSTALL) instead of this one.
22-
23-
## Supported Platforms
24-
25-
We have built OpenDDS on number of different platforms and compilers. See
26-
[README.md](README.md#supported-platforms) for a complete description of
27-
supported platforms.
28-
29-
## Compiling
30-
31-
OpenDDS has a "configure" script to automate all steps required before
32-
actually compiling source code. This script requires Perl 5.10 or newer to be
33-
installed and available on the system PATH. Perl 5.8 may be sufficient on
34-
Unix systems. [Strawberry Perl](https://www.strawberryperl.com)
35-
is recommended on Windows.
36-
To start the script simply change to the directory containing this INSTALL
37-
file, and run:
38-
39-
**For Unixes (Linux, macOS, BSDs, etc):**
40-
41-
```
42-
./configure
43-
```
44-
45-
**For Windows (in a Visual Studio Command Prompt):**
46-
47-
```
48-
configure
49-
```
50-
51-
Optionally add `--help` to the command line to see the advanced options
52-
available for this script. The configure script will download ACE+TAO and
53-
configure it for your platform. To use an existing ACE+TAO installation,
54-
either set the `ACE_ROOT` and `TAO_ROOT` environment variables or pass the `--ace`
55-
and `--tao` (if TAO is not at `$ACE_ROOT/TAO`) options to configure.
56-
If configure runs successfully it will end with a message about the next
57-
steps for compiling OpenDDS.
58-
59-
OpenDDS supports parallel builds to speed up the build when using Make. To
60-
use this pass `-j N` where `N` the max number of parallel jobs to run. If not
61-
sure `N` should be, use the number of cores on the machine.
62-
63-
The configure script creates an environment setup file called setenv (actually
64-
named `setenv.sh` or `setenv.cmd` depending on platform) that restores all the
65-
environment variables the build and test steps rely on.
66-
The main makefile for non-Windows builds temporarily sets the environment as
67-
well, so `setenv.sh` is not needed when running `make` from the top level.
68-
On Windows, the configure script modifies the environment of the command
69-
prompt that ran it. If using a new environment, use `setenv.cmd` to set the
70-
required environment variables before running Visual Studio.
71-
72-
## Test
73-
74-
**NOTE: Tests are not built by default, `--tests` must be passed to the
75-
configure script.**
76-
77-
Optionally, you can run the entire OpenDDS regression test suite with one
78-
Perl command.
79-
80-
**NOTE:** Make sure your environment is set by checking the variable `DDS_ROOT`.
81-
Run setenv if it is not set.
82-
83-
**For Unixes (Linux, macOS, BSDs, etc):**
84-
85-
```
86-
bin/auto_run_tests.pl
87-
```
88-
89-
**For Windows:**
90-
91-
```
92-
bin\auto_run_tests.pl
93-
```
94-
95-
If you built static libraries, add `-Config STATIC` to this command.
96-
To test RTPS features (uses multicast) add `-Config RTPS` to this command.
97-
On Windows if you build Release mode add `-ExeSubDir Release`.
98-
On Windows if you build static libraries add `-ExeSubDir Static_Debug`
99-
or `-ExeSubDir Static_Release`.
100-
101-
102-
## Installation
103-
104-
When OpenDDS is built using `make`, if the configure script was run with an
105-
argument of `--prefix=<prefix>` the `make install` target is available.
106-
107-
After running `make` (and before `make install`) you have one completely ready
108-
and usable OpenDDS. Its `DDS_ROOT` is the top of the source tree -- the same
109-
directory from which you ran configure and make. That `DDS_ROOT` should work
110-
for building application code, and some users may prefer using it this way.
111-
112-
After `make install` there is a second completely ready and usable OpenDDS
113-
that's under the installation prefix directory. It contains the required
114-
libraries, code generators, header files, IDL files, and associated scripts
115-
and documentation.
116-
117-
**NOTE:** If configured with RapidJSON, OpenDDS will install the headers for
118-
RapidJSON, which might conflict with an existing installation.
119-
120-
### Application Development with an Installed OpenDDS
121-
122-
After `make install` completes, the shell script in
123-
`<prefix>/share/dds/dds-devel.sh` is used to set the `DDS_ROOT` environment
124-
variable. The analogous files for ACE and TAO are
125-
`<prefix>/share/ace/ace-devel.sh` and `<prefix>/share/tao/tao-devel.sh`.
126-
127-
The `<prefix>` tree does not contain a tool for makefile generation. To use
128-
MPC to generate application makefiles, the `MPC_ROOT` subdirectory from the
129-
OpenDDS source tree can be used either in-place or copied elsewhere.
130-
To use CMake to generate application makefiles,
131-
see [`docs/cmake.md`](docs/cmake.md).
132-
133-
134-
## Cross Compiling
135-
136-
Use the configure script, and set the target platform to one different than
137-
the host. For example:
138-
139-
```
140-
./configure --target=lynxos-178
141-
```
142-
143-
Run configure with `--target-help` for details on the supported targets.
144-
In this setup, configure will clone the OpenDDS and ACE+TAO source trees for
145-
host and target builds. It will do a static build of the host tools (such as
146-
`opendds_idl` and `tao_idl`) in the host environment, and a full build in the
147-
target environment. Most parameters to configure are then assumed to be
148-
target parameters.
149-
150-
Any testing has to be done manually.
151-
152-
153-
### Raspberry Pi
154-
155-
The instructions for building for the Raspberry Pi are on
156-
[`opendds.org`](http://opendds.org/quickstart/GettingStartedPi.html).
157-
158-
### Android
159-
160-
Android support is documented in [`docs/android.md`](docs/android.md).
161-
162-
### Apple iOS
163-
164-
Apple iOS support is documented in [`docs/ios.md`](docs/ios.md).
165-
166-
167-
## Building Your Own Applications
168-
169-
See the [OpenDDS Developer's Guide](
170-
http://download.ociweb.com/OpenDDS/OpenDDS-latest.pdf)
171-
and run the Developer's Guide Example program:
172-
173-
**For Unixes (Linux, macOS, BSDs, etc):**
174-
175-
```
176-
cd $DDS_ROOT/DevGuideExamples/DCPS/Messenger
177-
./run_test.pl
178-
```
179-
180-
**For Windows:**
181-
182-
```
183-
cd %DDS_ROOT%\DevGuideExamples\DCPS\Messenger
184-
perl run_test.pl
185-
```
186-
187-
The Perl script will start 3 processes, the DCPSInfoRepo, one publisher, and
188-
one subscriber. Note that the command lines used to spawn these processes
189-
are echoed back to standard output. The options and config files used here
190-
are helpful starting points for developing and running your own OpenDDS
191-
applications.
5+
- [Read the Docs (latest release)](https://opendds.readthedocs.io/en/latest-release/building/index.html)
6+
- [Read the Docs (master branch)](https://opendds.readthedocs.io/en/master/building/index.html)
7+
- [`docs/building/index.rst` (raw file)](docs/building/index.rst)

README.md

Lines changed: 9 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -83,46 +83,24 @@ formal/2019-04-03 (version 2.3)](https://www.omg.org/spec/DDSI-RTPS/2.3). See
8383
the OpenDDS Developer's Guide and the file [docs/design/RTPS](docs/design/RTPS)
8484
for more details on RTPS.
8585

86-
See the [Developer's Guide](http://download.objectcomputing.com/OpenDDS) for
86+
See the [Developer's Guide](https://opendds.readthedocs.io/en/latest-release/building/introduction.html) for
8787
information on OpenDDS compliance with the DDS specification. If you would like
88-
to contribute a feature or sponsor the developers to add a feature please see
88+
to contribute a feature or sponsor the developers to add a feature please see
8989
the Support section above for contact information.
9090

9191
## Dependencies
9292

93-
For a complete detailed list of dependencies, see
94-
[`docs/dependencies.md`](docs/dependencies.md).
93+
These are just the required dependencies. For a complete detailed list of
94+
dependencies, including optional ones, see
95+
https://opendds.readthedocs.io/en/master/building/dependencies.html.
9596

9697
### ACE/TAO
9798

9899
OpenDDS requires TAO for both IDL compilation as well as interaction with the
99100
DCPSInfoRepo. ACE is also required, but it is always included with TAO. If you
100-
will be using the `configure` script for OpenDDS (see the
101-
[`INSTALL.md`](INSTALL.md) file for details), you do not need to download TAO
101+
will be using the `configure` script for OpenDDS, you do not need to download TAO
102102
first -- the `configure` script will download it for you.
103103

104-
There are two distributions of ACE/TAO that can be used with OpenDDS:
105-
106-
* DOC Group ACE 6.5.19 / TAO 2.5.19 or later in the ACE 6.x / TAO 2.x series
107-
* When using the configure script, DOC Group ACE/TAO can be downloaded using
108-
one of these arguments:
109-
* `--doc-group` for the latest release. This is the default when
110-
using the configure script.
111-
* `--ace-github-latest` to use the `ace6tao2` branch of ACE/TAO as is. This
112-
also downloads the `master` branch of MPC as is.
113-
* Can be manually downloaded from:
114-
* https://github.com/DOCGroup/ACE_TAO/releases/tag/ACE%2BTAO-6_5_19
115-
* DOC Group ACE 7.1.0 / TAO 3.1.0 or later in the ACE 7.x / TAO 3.x series.
116-
This distribution requires a C++14 capable compiler
117-
* When using the configure script, DOC Group ACE/TAO can be downloaded using:
118-
* `--doc-group3` for the latest release
119-
* Can be manually downloaded from:
120-
* https://github.com/DOCGroup/ACE_TAO/releases/tag/ACE%2BTAO-7_1_0
121-
122-
The TAO Developer's Guide book can be requested for free from
123-
https://objectcomputing.com/products/tao/tao-developers-guide and the CORBA Programmers
124-
Guide can be downloaded for free from https://www.remedy.nl/opensource/corbapg.html.
125-
126104
### Perl
127105

128106
Perl is used for the configure script, running the automated tests and examples
@@ -131,21 +109,6 @@ files.
131109

132110
On Windows we recommend the use of [Strawberry Perl](https://strawberryperl.com).
133111

134-
### Optional Dependencies
135-
136-
* [Google Test](docs/dependencies.md#google-test), for various tests.
137-
* Google Test is required for OpenDDS tests. If tests are not built, Google Test is not needed.
138-
* [CMake](docs/dependencies.md#cmake), for building Google Test and the OpenDDS
139-
CMake module.
140-
* [Java](docs/dependencies.md#java), for Java bindings.
141-
* [Qt](docs/dependencies.md#qt), for Monitor application and ishapes demo.
142-
* [Wireshark](docs/dependencies.md#wireshark), for the OpenDDS DCPS Wireshark
143-
dissector.
144-
* [RapidJSON](docs/dependencies.md#rapidjson), for optional dissector sample
145-
dissection support and JSON typesupport.
146-
* [Xerces-C++](docs/dependencies.md#xerces), for XML QoS and DDS Security.
147-
* [OpenSSL](docs/dependencies.md#openssl), for DDS Security.
148-
149112
## Supported Platforms
150113

151114
### Operating Systems
@@ -171,7 +134,7 @@ Embedded/Mobile/IoT:
171134
* LynxOS-178 (OpenDDS Safety Profile)
172135
* VxWorks 6.9, 7, 21.03 (see below)
173136
* [Linux on Raspberry Pi](https://opendds.org/quickstart/GettingStartedPi.html)
174-
* [Android 9.0 "Pie" (API Level 28) NDK r18b](docs/android.md)
137+
* [Android 9.0 "Pie" (API Level 28) NDK r18b](https://opendds.readthedocs.io/en/latest-release/building/android.html)
175138

176139
We have built OpenDDS for VxWorks 6.9, 7, and 21.03 and have run basic
177140
system and performance tests (but not the entire regression test suite).
@@ -200,8 +163,8 @@ This release of OpenDDS has been tested using the following compilers:
200163

201164
## Building and Installing
202165

203-
For building and installation instructions see the [`INSTALL.md`](INSTALL.md)
204-
file in this directory.
166+
For building and installation instructions see
167+
https://opendds.readthedocs.io/en/latest-release/building/index.html
205168

206169
## Quick Start with Docker
207170

configure

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,6 @@ my %platforminfo =
129129
"Use --macros=android_sdk=<SDK_PATH> and",
130130
"--macros=android_target_api=<API_NUMBER> to specify",
131131
"where to find android.jar.",
132-
"See docs/android.md for details.",
133132
],
134133
'needs_i2jrt_corba' => 1,
135134
'java_platform' => 'android',

docs/README.md

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
# OpenDDS Documentation
22

3-
OpenDDS Documentation that doesn't belong in other places, like the Doxygen
4-
comments in the code or the OpenDDS Developer's Guide.
5-
6-
- [Changelogs](history)
7-
- [Detailed List of OpenDDS Dependencies](dependencies.md)
8-
- [Using OpenDDS in a CMake Project](cmake.md)
9-
- [Building OpenDDS for Android](android.md)
10-
- [Building Qt Applications included with OpenDDS](qt.md)
11-
- [Design Files for OpenDDS](design)
12-
13-
## Sphinx Documentation
14-
153
The [Sphinx](https://www.sphinx-doc.org/en/master/)-based documentation is
164
hosted on [Read the Docs](readthedocs.org) located
17-
[here](https://opendds.readthedocs.io/en/master/). It can also be built
5+
[here](https://opendds.readthedocs.io). It can also be built
186
locally. Instructions for this are in [`internal/docs.rst`](internal/docs.rst)
197
or [on Read the Docs (master branch)](https://opendds.readthedocs.io/en/master/internal/docs.html).
8+
9+
## Other Documentation
10+
11+
- [Building Qt Applications Included with OpenDDS](qt.md)
12+
- [Changelogs and Old NEWS Files](history)
13+
- [Design Documents for OpenDDS](design)
14+
- [Migrating to Topic Type Annotations](migrating_to_topic_type_annotations.md)
15+
- [OpenDDS 3.0 Migration Notes](OpenDDS_3.0_Transition.txt)
16+
- [Using Multiple InfoRepos Separately](multirepo.md)

0 commit comments

Comments
 (0)