Native extension are application and libraries natively compiled for your platform. This article explains how to manage, configure and build those extensions.
There are ports and serializer that require native extensions.
A native extension is required if a port, a serializer or any other impulse extension need:
The external applications/libraries/sources may be part of an impulse deployment (plug-in) or a requirement that need to be downloaded from external sites and installed.
Native extension usually support the following platforms:
Additional platforms may be supported if users re-configure and re-compile a given native
External applications for serializers can be configured using the serializers preference page.
In case of ports you will find a specific native extension preference page (impulse->Native Extensions).
To embed the functionality of the external libraries, impulse uses extension applications only,
JNI/JNA DLLs/shared libraries are not used intentionally.
Reason for this is that shared libraries may influence the runtime engine and therefor the whole eclipse IDE.
These extension applications are simple console application, interfacing with the java domain via stdin/stdout or a tcp port.
Re-compilation is easy by using the native extension preference pages.
If the extension required external libraries/source, the preference page starts with entry fields for binaries and sources/headers.
In the below fields you can configure the make process by setting the make command, the make target and additional flags and libs.
In the the button row below you find command buttons to compile and clean. Additionally you can open and modify the converter sources (all extension applications are open-source) as well the Makefile.
All native extension with signal streaming are using flux as interface between the extension
application and impulse.
impulse uses the GNU tool-chain (make, gcc, g++) for compilation on all platform.