SDK Source Building Guide
General Build Instructions
General instructions for compiling and building ExpressPlay SDK are provided in operating system- specific documents in the following directory of the ExpressPlay SDK distribution:
$SDK_HOME/Documents/Client/Build
Required Deployment-Specific Build Modifications
Default implementations are built into ExpressPlay SDK for some replaceable functionality. This section describes how to replace implementations that are required to be replaced. Section 8.3 documents how to replace implementations that may be optionally replaced.
Replacing Default SKB API Implementation
ExpressPlay SDK uses the SKB (Secure Key Box) API for the handling of secret data, such as cryptographic keys. ExpressPlay SDK includes a generic SKB API implementation that is automatically used by default, but this implementation is insecure and must be replaced with a secure implementation of the SKB API.
In order to have a different implementation utilized, do the following. Please note: Currently, these instructions apply only to Linux systems. Here are the basic steps, followed by an example:
- Obtain a static or dynamic library containing the SKB implementation.
- Add two lines in the ExpressPlay SDK Config.scons file setting the following environment variables:
- WSB_SKB_LIB - The value of this variable should specify the name of the SKB library file, not including the lib prefix or the extension.
- WSB_SKB_LIB_ABSOLUTE_DIR - The value of this variable should specify the absolute path to the library file location.
- If the SKB library depends on other libraries, add the following to Config.scons: env['ENV']['LD_RUN_PATH'] = '/path/to/skb/lib/dependencies'
- Build in the same way as usual.
- If the SKB library is a dynamic library, configure LD_LIBRARY_PATH to refer to the directory containing the library. This step is not needed for a static library.
Optional Deployment-Specific Build Modifications
The following section covers some of the optional build modifications which are commonly used.
Replacing Default Action Result Validator
This replaceable function is declared in $SDK_HOME/Source/Config/Validator/WsbConfigActionResultValidator.h
There is a default implementation at $SDK_HOME/Source/Config/Validator/Default/WsbConfigActionResultValidator.cpp
In many deployments, it will be desirable to replace the default implementation with one that can handle more license requirements. To do so, create a new directory under Source/Config/Validator, place the appropriate implementation there, and, prior to building ExpressPlay SDK, specify that directory name of 'Default' in the following line in the Build.scons file: env['WSB_CONFIG_ACTION_RESULT_VALIDATOR'] = 'Default'
Additional deployment specific modifications are documented in a "Deployment Guide" available by request from support@expressplay.zendesk.com.