summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2021-03-02 04:38:07 +0100
committerSven Gothel <[email protected]>2021-03-02 04:38:07 +0100
commit8185e020ddc8d62670e4093b4656d3791df28370 (patch)
tree8a6000494a481b84548e861702a4bf25b706be3e /README.md
Initial commit - Skeleton Project
Diffstat (limited to 'README.md')
-rw-r--r--README.md89
1 files changed, 89 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..2a357ae
--- /dev/null
+++ b/README.md
@@ -0,0 +1,89 @@
+Elevator - An Update Process (C++, ...)
+========================================
+
+Goals
+============
+This project aims to provide a secure update process,
+elevating your installed firm- and software.
+
+Supported Platforms
+===================
+
+C++17 and better.
+
+Building Binaries
+=========================
+
+This project uses the following git submodules
+- [Jau Library](https://jausoft.com/cgit/jaulib.git/about/)
+- lala
+
+Installing build dependencies on Debian (10 or 11):
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.sh}
+apt install git
+apt install build-essential g++ gcc libc-dev libpthread-stubs0-dev
+apt install libunwind8 libunwind-dev
+apt install cmake cmake-extras extra-cmake-modules pkg-config
+apt install doxygen graphviz
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For a generic build use:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.sh}
+CPU_COUNT=`getconf _NPROCESSORS_ONLN`
+git clone https://jausoft.com/cgit/elevator.git
+cd elevator
+mkdir build
+cd build
+cmake -DBUILDJAVA=ON -DBUILDEXAMPLES=ON -DBUILD_TESTING=ON ..
+make -j $CPU_COUNT install test doc
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The install target of the last command will create the include/ and lib/ directories with a copy of
+the headers and library objects respectively in your build location. Note that
+doing an out-of-source build may cause issues when rebuilding later on.
+
+Our cmake configure has a number of options, *cmake-gui* or *ccmake* can show
+you all the options. The interesting ones are detailed below:
+
+Changing install path from /usr/local to /usr
+~~~~~~~~~~~~~
+-DCMAKE_INSTALL_PREFIX=/usr
+~~~~~~~~~~~~~
+Building debug build:
+~~~~~~~~~~~~~
+-DDEBUG=ON
+~~~~~~~~~~~~~
+Disable stripping native lib even in non debug build:
+~~~~~~~~~~~~~
+-DUSE_STRIP=OFF
+~~~~~~~~~~~~~
+Building debug and instrumentation (sanitizer) build:
+~~~~~~~~~~~~~
+-DDEBUG=ON -DINSTRUMENTATION=ON
+~~~~~~~~~~~~~
+Using clang instead of gcc:
+~~~~~~~~~~~~~
+-DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++
+~~~~~~~~~~~~~
+Cross-compiling on a different system:
+~~~~~~~~~~~~~
+-DCMAKE_CXX_FLAGS:STRING=-m32 -march=i586
+-DCMAKE_C_FLAGS:STRING=-m32 -march=i586
+~~~~~~~~~~~~~
+To build documentation run:
+~~~~~~~~~~~~~
+make doc
+~~~~~~~~~~~~~
+
+
+Changes
+============
+
+**1.0.0**
+
+* First stable release (TODO)
+
+**0.0.0**
+
+* Kick-off
+