Git Product home page Git Product logo

capicxx-dbus-runtime's Introduction

CommonAPI C++ D-Bus Runtime

Copyright

Copyright (C) 2016-2020, Bayerische Motoren Werke Aktiengesellschaft (BMW AG). Copyright (C) 2016-2020, GENIVI Alliance, Inc.

This file is part of GENIVI Project IPC Common API C++. Contributions are licensed to the GENIVI Alliance under one or more Contribution License Agreements or MPL 2.0.

License

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, you can obtain one at http://mozilla.org/MPL/2.0/.

CommonAPI D-Bus C++ User Guide

The user guide can be found in the documentation directory of the CommonAPI-D-Bus-Tools project as AsciiDoc document. A pdf version can be found at https://github.com/GENIVI/capicxx-dbus-tools/releases.

Further information

https://genivi.github.io/capicxx-core-tools/

Build Instructions for Linux
Patching libdbus

CommonAPI-D-Bus needs some api functions of libdbus which are not available in actual libdbus versions. For these additional api functions it is necessary to patch the required libdbus version with all the patches in the directory src/dbus-patches. Use autotools to build libdbus.

$ wget http://dbus.freedesktop.org/releases/dbus/dbus-<VERSION>.tar.gz
$ tar -xzf dbus-<VERSION>.tar.gz
$ cd dbus-<VERSION>
$ patch -p1 < </path/to/CommonAPI-D-Bus/src/dbus-patches/patch-names>.patch 
$ ./configure --prefix=</path to your preferred installation folder for patched libdbus>
$ make -C dbus 
$ make -C dbus install
$ make install-pkgconfigDATA

You can change the installation directory by the prefix option or you can let it uninstalled (skip the make install commands). WARNING: Installing the patched libdbus to /usr/local can prevent your system from booting correctly at the next reboot.

Build CommonAPI-D-Bus Runtime

In order to build the CommonAPI-D-Bus Runtime library the pkgconfig files of the patched libdbus library must be added to the PKG_CONFIG_PATH.

For example, if the patched libdbus library is available in /usr/local, set the PKG_CONFIG_PATH variable as follows:

$ export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH" 

Now use CMake to build the CommonAPI D-Bus runtime library. We assume that your source directory is common-api-dbus-runtime:

$ cd common-api-dbus-runtime
$ mkdir build
$ cd build
$ cmake -D USE_INSTALLED_COMMONAPI=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
$ make
$ make install

You can change the installation directory by the CMake variable CMAKE_INSTALL_PREFIX or you can let it uninstalled (skip the make install command). If you want to use the uninstalled version of CommonAPI set the CMake variable USE_INSTALLED_COMMONAPI to OFF.

For further build instructions (build for windows, build documentation, tests etc.) please refer to the CommonAPI D-Bus tutorial.

capicxx-dbus-runtime's People

Contributors

dhuss avatar juergengehring avatar lutzbichler avatar mbathelt avatar rauwolf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.