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:
parent
b5a6adc3a8
commit
0019c8ee38
2 changed files with 142 additions and 1 deletions
7
Doxyfile
7
Doxyfile
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue