Fix local server for multiple applications
[anna.git] / README.md
index 11d1a2b..b9bc6ae 100644 (file)
--- a/README.md
+++ b/README.md
-ANNA
-====
-ANNA is the acronym for "ANNA is not 'N' anymore", a complete suite of tools and resources to build proffesional applications with minimum cost.
-
-Revision control
-================
-Based on GIT, hosted on www.bitbucket.org.
-Copy or link 'pre-commit.sh' to '.git/hooks/pre-commit' if you want to do some basic checkings (i.e. astyle code processing)
-
-Documentation
-=============
-Execute 'scons doc'
-
-Unit tests
-==========
-Execute 'scons test'
-
-Examples
-========
-Execute 'scons examples' to generate example binaries
-
-Install
-=======
-Execute 'scons install'
-(install-include-and-lib and install-example, are another aliases for selective installation)
-
-Uninstall
-=========
-Execute 'scons uninstall'
+# ANNA
+
+Multi-purpose C++ development suite, focused on Telco resources (communications, protocols and tools).
+ANNA is acronym for "Anna is not nothingness anymore", that is to say: "Anna is something to take into
+account" (like a SONaTINA).
+
+ANNA is a complete suite of tools and resources to build proffesional applications with minimum cost.
+
+## Revision control
+
+Based on GIT, hosted on http://redmine.teslayout.com
+
+You could use my pre-commit specific template if you want to do some basic checkings (i.e.
+ astyle code processing): Execute './scripts/git/use-pre-commit.sh'
+
+
+## Build project
+
+### With docker
+
+Architectures 'x86_64' and 'armv7l' are supported. Execute:
+
+     > tools/build-with-docker [variant: [Release]|Debug]
+
+Note: database resources building is unsupported at the moment using docker.
+
+### Natively
+
+This is a CMake based building suite.
+Install cmake:
+
+     > sudo apt-get install cmake
+
+And then generate the makefiles from project root directory:
+
+     > cmake .
+
+You could specify type of build, 'Debug' or 'Release', for example:
+
+     > cmake -DCMAKE_BUILD_TYPE=Debug .
+     > cmake -DCMAKE_BUILD_TYPE=Release .
+
+You could avoid database resources compilation to ease the add of requirements:
+
+     > cmake -DSKIP_DATABASE_BUILD=1 .
+
+## Clean project
+
+     > make clean
+
+## Change the compilers
+
+     > cmake -DCMAKE_CXX_COMPILER=/usr/bin/g++     -DCMAKE_C_COMPILER=/usr/bin/gcc
+     or
+     > cmake -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_C_COMPILER=/usr/bin/clang
+
+## Some basic ubuntu requirements
+
+### OpenSSL:
+     > sudo apt-get install libssl-dev
+
+### Gnome XML:
+     > sudo apt-get install libxml2-dev
+
+### OpenLDAP:
+     > sudo apt-get install libldap2-dev
+
+### Pcap:
+     > sudo apt-get install libpcap-dev
+
+### MySql:
+     > sudo apt-get install libmysqlclient-dev
+
+### Oracle:
+     Go to https://help.ubuntu.com/community/Oracle%20Instant%20Client and download development packages:
+
+     For example:
+
+        > wget https://download.oracle.com/otn_software/linux/instantclient/19600/oracle-instantclient19.6-devel-19.6.0.0.0-1.x86_64.rpm
+        > sudo alien -i oracle-instantclient19.6-devel-19.6.0.0.0-1.x86_64.rpm
+
+        (probably basic & sqlplus is also needed)
+
+     Edit CMakeLists.txt and update oracle includes, for example:
+
+        > include_directories(/usr/include/oracle/<version>/client64/include)
+
+### Oracle-OpenLDAP conflict:
+     as usual, Oracle is doing things very bad. Move the ldap.h from oracle includes, i.e.:
+
+        > cd /usr/include/oracle/12.1/client64
+        > sudo mv ldap.h ldap.h.orig
+
+### Google Test Framework:
+
+     > sudo apt-get install libgtest-dev
+
+     Note that this package only install source files. You have to compile the
+     code yourself to create the necessary library files. These source files
+     should be located at /usr/src/gtest. Browse to this folder and use cmake
+     to compile the library:
+
+     > cd /usr/src/gtest
+     > sudo cmake CMakeLists.txt
+     > sudo make
+
+     Copy or symlink libgtest.a and libgtest_main.a to your /usr/lib folder:
+     > sudo cp *.a /usr/lib
+
+## Documentation
+
+Execute 'make doc'
+
+     > cd docs/doxygen
+     > tree -L 1
+
+     .
+     ├── Doxyfile
+     ├── html
+     ├── latex
+     └── man
+
+
+## Unit tests
+
+Execute 'make test'
+
+## Install
+
+To install headers, libraries, and examples, execute:
+
+     > sudo make install
+
+Optionally you could specify another prefix for installation:
+
+     > cmake -DMY_OWN_INSTALL_PREFIX=$HOME/anna-deploy
+     > make install
+
+## Uninstall
+
+     > cat install_manifest.txt | sudo xargs rm
+
+## AOTS (Agents-Oriented Testing Setup)
+
+See INSTALL_AOTS.md
+