summaryrefslogtreecommitdiff
path: root/peripheral/libmraa/docs/building.md
diff options
context:
space:
mode:
Diffstat (limited to 'peripheral/libmraa/docs/building.md')
-rw-r--r--peripheral/libmraa/docs/building.md184
1 files changed, 0 insertions, 184 deletions
diff --git a/peripheral/libmraa/docs/building.md b/peripheral/libmraa/docs/building.md
deleted file mode 100644
index fbd46b8..0000000
--- a/peripheral/libmraa/docs/building.md
+++ /dev/null
@@ -1,184 +0,0 @@
-Building libmraa {#building}
-===============
-
-libmraa uses cmake in order to make compilation relatively painless. CMake runs
-build out of tree so the recommended way is to clone from git and make a `build/`
-directory inside the clone directory.
-
-## Build dependencies
-Not all these are required but if you're unsure of what you're doing this is
-what you'll need:
-* [SWIG](http://swig.org) 3.0.5+
-* [git](http://git-scm.com)
-* [python](http://python.org) 2.7 or 3.4+ (you'll need not just the interpreter but python-dev)
-* [node.js](http://nodejs.org) 0.10.x or 0.12.x (you'll need not just the interpreter but nodejs-dev)
-* [CMake](http://cmake.org) 2.8.8+ (3.1+ is recommended for node.js version 2+)
-
-For Debian-like distros the below command installs the basic set:
-
-```bash
-sudo apt-get install git build-essential swig3.0 python-dev nodejs-dev cmake
-```
-
-To build the documentation you'll also need:
-* [Doxygen](http://www.stack.nl/~dimitri/doxygen/) 1.8.9.1+
-* [Graphviz](http://graphviz.org/) 2+ (For Doxygen graph generation)
-* [Sphinx](http://sphinx-doc.org/) 1.1.3+ (For Python docs)
-
-
-## Basic build steps
-
-~~~~~~~~~~~~~{.sh}
-mkdir build
-cd build
-cmake ..
-make
-~~~~~~~~~~~~~
-
-If this goes wrong and you have all the dependencies installed, then please
-file an issue with the full output of `cmake ..` and `make` or however far you
-got.
-
-After that you can install built files (into default path) by running:
-
-
-```bash
-sudo make install
-```
-
-See flags for adjusting install paths in the section below.
-
-Currently our install logic puts Python bindings into standard paths, which
-do not work on Debian due to their
- [policy](http://www.debian.org/doc/packaging-manuals/python-policy/ch-python.html#s-paths).
-
-We are working on a permanent solution, in the meanwhile please use this command
-after `make install` to link installed modules where Debian's Python expects them:
-
-```bash
-sudo ln -s <your install prefix, e.g. /usr>/lib/python2.7/site-packages/* /usr/lib/python2.7/dist-packages
-```
-
-Same approach works for Python 3, you'll just need to adjust the version number
-in the path accordingly.
-
-## Configuration flags
-
-Our CMake configuration has a number of options, `cmake-gui` or `ccmake` (`cmake -i` is
-no longer with us :() can show you all the options. A few of the more common
-ones are listed below. Note that when the option starts with `CMAKE_` it's an
-option that is made available by CMake and will be similar in all CMake
-projects. You need to add them after `cmake` but before `..`
-
-A few recommended options:
-
-Changing install path from `/usr/local` to `/usr`:
- `-DCMAKE_INSTALL_PREFIX:PATH=/usr`
-
-Building debug build - adds `-g` and disables optimisations - this will force a
-full rebuild:
- `-DCMAKE_BUILD_TYPE=DEBUG`
-
-Using `clang` instead of `gcc`:
- `-DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++`
-
-Building with an older version of SWIG (< 3.0.2) requires the disabling of JavaScript:
- `-DBUILDSWIGNODE=OFF`
-
-Disabling Python module building:
- `-DBUILDSWIGPYTHON=OFF`
-
-Building doc, this will require [SPHINX](http://sphinx-doc.org) &
-[Doxygen](http://doxygen.org):
- `-DBUILDDOC=ON`
-
-Building with Python 3 (careful you need to clear CMake cache between Python
-version switches!)
- `-DBUILDPYTHON3=ON`
-
-Override build architecture (this is useful because on x86 ARM code is not
-compiled so use this flag to force the target arch)
- `-DBUILDARCH=arm`
-
-## Dependencies continued
-
-You'll need at least SWIG version 3.0.2 and we recommend 3.0.5 to build the
-JavaScript & Python modules. If your version of SWIG is older than this then
-please see above for disabling `SWIGNODE`. Otherwise you will get a weird build
-failure when building the JavaScript module. The Python module builds with SWIG
-2.x.
-
-During the build, we'll assume you're building from git, note that if you
-compile with `git` installed your version of mraa will be tagged `-dirty`. This
-simply means `git` wasn't installed or that you where building from a tarball.
-You can modify `build/src/version.c` before running `make` if this is incorrect.
-The instructions listed here all assume that `build/` is an empty dir that lives
-inside the cloned repository of mraa.
-
-If you have multiple versions of Python then mraa can get confused, we
-recommend using virtualenv to select which version of Python you want. We test
-2.7 the most but SWIG will generate valid 3.x Python code but we do not
-generally support building both at once.
-
-## Using a Yocto/OE toolchain
-
-In order to compile with a Yocto/OE toolchain use the following toolchain file.
-This works well on the Edison 1.7.2 SDK. First source the environment file, then
-use our CMake toolchain file.
-
-~~~~~~~~~~~~~{.sh}
-source /opt/poky-edison/1.7.2/environment-setup-core2-32-poky-linux
-mkdir build
-cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchains/oe-sdk_cross.cmake ..
-make
-~~~~~~~~~~~~~
-
-## Using Coverity
-
-Static analysis is routinely performed using Coverity on libmraa's codebase.
-This is the procedure to submit a build to Coverity. You'll need to install
-`coverity-submit` for your OS.
-
-~~~~~~~~~~~~~{.sh}
-mkdir covbuild/ && cd covbuild
-cmake -DBUILDDOC=OFF -DBUILDSWIG=OFF ..
-cov-build --dir cov-int make
-tar caf mraa.tar.bz2 cov-int
-~~~~~~~~~~~~~
-
-## Building Java bindings
-Have JAVA_HOME set to JDK install directory. Most distributions set this from `/etc/profile.d/`
- and have a way of switching between alternatives. We support both OpenJDK and Oracle's JDK.
- On Arch Linux with OpenJDK 8 you'll have to set this yourself like this:
-~~~~~~~~~~~~~{.sh}
-export JAVA_HOME=/usr/lib/jvm/default/
-~~~~~~~~~~~~~
-Then use the CMake configuration flag:
- `-DBUILDSWIGJAVA=ON`
-To compile `Example.java`
-~~~~~~~~~~~~~{.sh}
-javac -cp $DIR_WHERE_YOU_INSTALLED_MRAA/mraa.jar:. Example.java
-~~~~~~~~~~~~~
-To run, make sure `libmraajava.so` is in `LD_LIBRARY_PATH`
- ~~~~~~~~~~~~~{.sh}
-jave -cp $DIR_WHERE_YOU_INSTALLED_MRAA/mraa.jar:. Example
-~~~~~~~~~~~~~
-
-If you want to add or improve Java bindings for mraa, please follow the [Creating Java Bindings Guide](https://github.com/intel-iot-devkit/upm/blob/master/docs/creating_java_bindings.md).
-
-## Building an IPK/RPM package using `cpack`
-
-You can get `cpack` to generate an IPK or RPM package fairly easily if you have
-the correct packaging tools
-
-~~~~~~~~~~~~~{.sh}
-cmake -DIPK=ON -DCMAKE_INSTAL_PREFIX=/usr ..
-make package
-~~~~~~~~~~~~~
-
-To use RPM simply enable the RPM option. You'll need `rpmbuild` installed on your
-build machine.
-
-~~~~~~~~~~~~~{.sh}
-cmake -DRPM=ON -DCMAKE_INSTAL_PREFIX=/usr ..
-~~~~~~~~~~~~~