This is a fork of open62541, https://github.com/open62541/open62541

Stasik0 8046001cac a better way to count commits před 10 roky
doc 9549a87c62 changes over the weekend před 10 roky
examples 3b9218def8 hard remove of all _print functions if DEBUG is not set, @jpfr or @uleon: who does own ua_xml.c? Please review changes there, I fear i was too hard. Relates to #101 před 10 roky
schema 0af770f6fa refactoring .. bigger than expected před 10 roky
src e13e96edd9 declaring the borrowed vtable at runtme in the ua_application.c před 10 roky
tests b1a8c01209 simplify decoding před 10 roky
tools 8046001cac a better way to count commits před 10 roky
wrappers a29e7aba18 add missing include to expat to python wrapper před 10 roky
.gitignore 596f70813a Merge of branch namespace_generation před 10 roky
.travis.yml 3b9218def8 hard remove of all _print functions if DEBUG is not set, @jpfr or @uleon: who does own ua_xml.c? Please review changes there, I fear i was too hard. Relates to #101 před 10 roky
LICENSE 9310d323c9 changed .gitignore again před 10 roky
Makefile.am c013684b1e remove not-needed compiler flags před 10 roky
README.md c50e4b791d fixes #97 před 10 roky
autogen.sh 418b701da0 create empty files for automake on the fly před 10 roky
configure.ac e2e903d1f9 python wrapper now contains nearly everything před 10 roky

README.md

open62541

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

Ohloh Project Status Build Status Coverage Status Coverity Scan Build Status

Documentation

Documentation is generated from Doxygen annotations in the source code. The current version can be accessed at http://open62541.org/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
Getting and installing check as unit test framework (http://check.sourceforge.net/):
$ 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
  • Open MinGW\msys\1.0\msys.bat bash $ mingw-get install libexpat
Get Python and lxml:
  • download Python (Windows x86 MSI Installer) at https://python.org/downloads (necessary version: 2.7.x)
  • install the executable
  • add the install directory (e. g. "c:\python27") to your windows path variable [Selectable in the setup-options]
  • restart mingw console
  • install lxml by either downloading and installing http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml (choose the version which fits to your python installation (x86 version)) or by following the instructions given here: http://lxml.de/installation.html
  • add ("C:\Python27\Tools\Scripts") to your windows path variable
Get git (IMPORTANT: get 1.8.4, since 1.8.5.2 has a bug):
SVN:
Getting and installing check as unit testing framework (http://check.sourceforge.net/):
  • 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
Adjusting MinGW
  • open the file c:\MinGW\include\io.h and replace every off64_t with _off64_t (4x should off64_t appear)
  • open the file c:\MinGW\include\unistd.h and replace every off_t with _off_t (2x should off_t appear)
  • download the queue.h header @ http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/sys/queue.h and copy it to c:\MinGW\include\sys

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