To use Kaa with a specific platform or operating system, you need to build an endpoint SDK for that platform. The endpoint SDK can be built either on Java, C++, or C, depending on the requirements and specifics of the target platform/OS.
This page provides general instructions on building endpoint SDKs for any platform/OS as well as links to the SDK build procedures for individual platforms.
Building C endpoint SDK
Before building the C endpoint SDK, ensure the following components are installed on your machine.
- C compiler supporting the C99 standard
- cmake 2.8.8 or later
To build the C endpoint SDK, do the following:
- Download and untar the Kaa C SDK archive.
Run the following commands.
Run the following platform-specific commands.
To configure the C endpoint SDK build, you can optionally specify the following parameters for the cmake command.
|KAA_MAX_LOG_LEVEL||Maximum log level used by the SDK||Accepted:|
|KAA_WITHOUT_<MODULE>||Kaa module to be omitted during the build|
Default: All modules are present in the build
SDK target platform
Before running the cmake command with the KAA_PLATFORM parameter for a platform other than supported, do the following:
1. Create a folder in $KAA_HOME/listfiles/platform/ and name it using [a-zA-z_-] symbols. You will be able to use the folder name as a value for the KAA_PLATFORM parameter.
2. Put the CMakeLists.txt file into the created folder. This file may contain specific compilation/linking flags, platform-dependent source files, third-party library dependencies, that is all information necessary for building the C endpoint SDK for this platform.
3. Optionally, specify the following parameters in the CMakeLists.txt file.
To build the Kaa SDK for the x86-64 platform, ensure that OpenSSL libraries (ssl and crypto) are installed.
In the CMakeLists.txt file:
The following example illustrates the build procedure for the debug x86-64 build with the INFO log level and the LOGGING module.
Building endpoint SDK for specific platform
Select a platform from the following list to learn how to build an endpoint SDK for this particular platform.