# TAO's SSLIOP Pluggable Protocol - Installation

The first step for all platforms is to build and install the OpenSSL distribution. Then the TAO SSLIOP pluggable protocol library must be built according to the instructions below. Refer to the TAO SSLIOP usage instructions for details about how to use the SSLIOP pluggable protocol.

### UNIX

1. Make sure the OpenSSL header file directory is in your compiler's include path, and that OpenSSL libraries are in your library link/load path (e.g. LD_LIBRARY_PATH). If you installed OpenSSL into a set of directories unknown by the compiler, then set the following variables in your platform_macros.GNU file:

PLATFORM_SSL_CPPFLAGS | Platform preprocessor options for OpenSSL (e.g. -I...)
PLATFORM_SSL_LDFLAGS | Platform linker options for OpenSSL (e.g. -L...)
PLATFORM_SSL_LIBS | Platform libraries required with OpenSSL

2. Build ACE and TAO as described in the ACE installation instructions and the TAO installation instructions, respectively. When building ACE and TAO, add "ssl=1" to your make command line invocation, or add it to your platform_macros.GNU file.
3. Build the SSLIOP pluggable protocol library in the `$TAO_ROOT/orbsvcs/orbsvcs/SSLIOP` directory. (`ACE_ROOT` environment variable should be set prior to this point), by invoking make with TAO_ORBSVCS=SSLIOP.

### Microsoft Visual Studio

1. Set the OpenSSL include/header directory path under the Directories tab - Include Files setting in the Tools->Options dialog. A typical value would be something like: `openssl-0.9.6\inc32`
2. Set the OpenSSL library directory path under the Directories tab - Library Files setting in the Tools->Options dialog. A typical value would be something like: `openssl-0.9.6\out32dll`
3. Open the `TAOACE.dsw` workspace, and refer to the ACE installation and the TAO installation instructions for details on creating a `config.h` configuration header for this platform. Once the config.h file has been created, build `SSLIOP` project. All project dependencies are already set, so those projects that SSLIOP depends on will be automatically built.

### Borland C++

Note: You will need perl installed on your system and available on the path to be able to build OpenSSL.

1. Obtain and unpack OpenSSL.

2. Apply this patch.

   This will enable OpenSSL to build DLLs that can be used by ACE+TAO. If you will only be doing a static build of ACE+TAO you do not need to apply this patch.

3. Open a command prompt and change to the OpenSSL directory.
4. Configure OpenSSL to build by executing the command:

   `ms\bcb4.bat`

5. If you want to use SSL in a dynamic library build of ACE+TAO, run the command:

   `make -f bcbdll.mak`

6. If you want to use SSL in a static build of ACE+TAO, run the command:

   `make -f bcb.mak`

7. To enable SSL support in ACE+TAO you simply need to set the `SSL_ROOT` environment variable to point to the location of OpenSSL. For example:

   `set SSL_ROOT=c:\openssl-0.9.6h`

   Now build ACE+TAO as normal.