1
0
Fork 0
mirror of https://github.com/yweber/lodel2.git synced 2025-11-12 17:09:16 +01:00

Doxygen documentation update

- add some files extensions to doxyfile (*.am *.in *.ac *.patch)
- add a documentation page on autotools usage
This commit is contained in:
Yann 2016-08-31 11:58:06 +02:00
commit 0019c8ee38
2 changed files with 142 additions and 1 deletions

View file

@ -824,7 +824,12 @@ FILE_PATTERNS = *.c \
*.ucf \
*.qsf \
*.as \
*.js
*.js \
*.m4 \
*.patch \
*.ac \
*.am \
*.in
# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.

View file

@ -54,3 +54,139 @@ dyncode = None
#
#
##@defgroup lodel2_deployment Diffusion and deployment
##@page lodel2_autotools Lodel2 and autotools integration
#@ingroup lodel2_deployment
#
#Autotools provide a way to distribute a software on Posix platforms.
#
#@section lodel2_autotools_howto Howto use them
#
#Basically you have to run :
#- <code>./bootstrap.sh</code> to generate the configure script( run
#approximatly <code>aclocal; autoconf; automake</code> or
#<code>autoreconf</code> )
#- <code>./configure</code> to generate Makefile s
#- <code>make</code> to build lodel2 (actually to generate lodel/buildconf.py
#from @ref lodel/buildconf.py.in )
#
#Here is a list of most usefull targets provided by lodel2's Makefile :
#- automake targets
# - **all** compile the sources (don't do a lot for a script langage)
# - **clean** delete compiled files (don't do a lot for a script langage)
# - **distclean** enhanced comportment compared to default (delete compiled
#files and generated binary). Here it deletes everything generated by
#<code>./bootstrap.sh && ./configure && make</code>
# - **install** Install lodel2 (for the moment copy the lodel dir in
#the good path (configurable when running ./configure ) )
# - **uninstall** Remove installed files
#- lodel2 specific targets
# - **tests**, **check** and **checks** are aliases for running tests
# - **doc** generate the doxygen documentation
# - **em_test** refresh the example/em_test.pickle file using em_test.py
# - **dyncode** generate a dyncode.py file using lefactory in
#lodel/leapi/dyncode.py
#
#@section lodel2_autotools_why Why using autotools
#
#Python has a lot of packaging and distributing solutions, but none of them
#is as convinent, complete, portable as GNU autotools. For example setup.py
#with distutils has no uninstall target; pip, wheel, easy-install etc brokes
#totally your distribution packaging/upgrade system etc.
#
#Autotools are portable, integrated by debian packaging system ( see
#checkinstall) and can support multi langages.
#
#@section lodel2_autotools_whatfor For doing what
#
#Autotools are here to allow distributing and installing Lodel2 on
#Posix OS.
#
#The distribution mechanisms handles dependencies checking (NO AUTO INSTALL
#WITH BINARY BLOBS !!!), compiling .py files to pyc and pyo, and copy all files
#in the good directories (python libs, doc, scripts etc)
#
#@section lodel2_autotools_how How autotools are integrated
#
#What we call autotools is in fact a lot of software. In our case we use only
#both of them :
#<a href="https://www.gnu.org/software/autoconf/autoconf.html#documentation">
#autoconf</a> and
#<a href="https://www.gnu.org/software/automake/#documentation">automake</a>
#
#A python file is generated ( lodel/buildconf.py from
#@ref lodel/buildconf.py.in) containing various informations gathered during
#the build process (for example the presence of pymongo or the precense of
#the dependency needed by webui etc.)
#
#@subsection lodel2_autoconf Autoconf
#
#Autoconf job is to handle configure.ac file and generated the configure
#script.
#
#@par Configure script
#The configure script job is to check all dependencies fetch all
#path etc. And when runned it generates all Makefile from the Makefile.in files
#(see @ref lodel2_automake "below" )
#
#@par Autoconf macros
#We use both macro family :
#- <a href="https://www.gnu.org/software/automake/manual/html_node/Python.html">
#default autoconf python macro</a>
#- <a href="https://www.gnu.org/software/pyconfigure/manual/">
#pyconfigure autoconf macros</a>
#@see lodel2_autotools_problems
#
#@subsection lodel2_automake Automake
#
#Automake job is to transform the Makefile.am files into Makefile.in files.
#It handles all target creation for build, clean, install, uninstall etc.
#
#@section lodel2_autotools_problems Encontered problems
#
#@ref lodel2_autoconf "Autoconf" use macro "written in m4" (not sure if m4
#is the macro langage). We use two macros sources : automake default python
#support & pyconfigure automake macros.
#
#Those macros are broken with python3 (see
#<a href="https://bugs.launchpad.net/ubuntu/+source/python3-defaults/+bug/1408092">
#the python3 sysconfig bug with debian OS</a> ). There is patched version of
#these macro in the m4 directory (and the associated patches :
#@ref m4/python.m4.patch "for automake python macros patch" and
#@ref m4/python_pyconfigure.m4.patch "for pyconfigure python macros patch")
##@file m4/python.m4.patch
#@ingroup lodel2_deployment
#@brief Patch of automake python macro to solve a bug in pythondir retrieval
#on debian
#@see https://bugs.launchpad.net/ubuntu/+source/python3-defaults/+bug/1408092
##@file m4/python_pyconfigure.m4.patch
#@ingroup lodel2_deployment
#@brief Patch to solve a bug in pyconfigure ac macros in pythondir retrieval
#on debian
#@see https://bugs.launchpad.net/ubuntu/+source/python3-defaults/+bug/1408092
##@file m4/python.m4
#@ingroup lodel2_deployment
#@brief Automake macro for python (patched version)
#@see m4/python.m4.patch
##@file m4/python_pyconfigure.m4
#@brief Pyconfigure automake macro (patched version)
#@see m4/python_pyconfigure.m4.patch
##@file configure.ac
#@brief configure script model for autoconf
#@ingroup lodel2_deployment
##@file Makefile.am
#@brief Makefile model for autotools
#@ingroup lodel2_deployment
##@file lodel/Makefile.am
#@brief Makefile model for autotools
#@ingroup lodel2_deployment