Open62541
An open-source communication stack implementation of OPC UA (OPC Unified Architecture) licensed under LGPL + static linking exception.

Documentation
Documentation is generated from Doxygen annotations in the source code. The current version can be accessed at http://acplt.github.io/open62541/doxygen/.
Getting dependencies
Ubuntu
Getting gcc toolchain:
sudo apt-get install build-essential subversion git autoconf libtool pkg-config texinfo
Getting python toolchain for the 62541 structures code generator:
sudo apt-get install python python-lxml
Getting additional libraries:
sudo apt-get install expat libexpat1-dev
$ svn checkout https://svn.code.sf.net/p/check/code/trunk check-code
$ cd check-code
$ autoreconf --install
$ ./configure
$ make
$ sudo make install
$ sudo ldconfig
Getting and using Doxygen
- install the needed packages
bash
sudo apt-get install graphviz doxygen
- configure autotools, clean and build:
bash
$ ./configure --enable-doxygen
$ make clean
$ make all
- the output is generated in doc/html/index.htm
- configure the output of Doxygen with doc/Doxygen.in file
Windows
Getting MinGW and MSYS:
Get Gtk+ bundle (just for m4 marcros and pkg-config):
Get expat
- start MinGW Installation Manager
- choose all Packages, mark mingw32-expat and install
Get Python and lxml:
Get git (IMPORTANT: get 1.8.4, since 1.8.5.2 has a bug):
- Open MinGW\msys\1.0\msys.bat
$ svn checkout svn://svn.code.sf.net/p/check/code/trunk check-code
$ cd check-code
$ autoreconf --install
$ ./configure
$ make
$ make install
Building
- use autogen.sh only first time and whenever aclocal.m4 or configure.ac were modified
bash
$ cd open62541
$ ./autogen.sh
$ ./configure --enable-debug=yes
$ make
$ make check
Configure Options
- --enable-debug=(yes|no|verbose) - omit/include debug code
- --enable-multithreading - enable pthreads (for examples/src/opcuaServerMT)
- --enable-doxygen - make documentation as well
- --enable-coverage - profiling with gcov,lcov, make check will generate reports in tests/coverage