Migrating doc from Sphinx towards Pelican.

* Change: In documentation, now generate the overall documentation using
    Pelican instead of Sphinx. This allows to have an unified approach
    between the coriolis.lip6.fr website and the local documentation.
      So we keep using "only" two doc generators: doxygen & Pelican.
This commit is contained in:
Jean-Paul Chaput 2020-02-03 17:44:15 +01:00
parent 803c5f8ada
commit 0dc98dfce3
1382 changed files with 383322 additions and 1531 deletions

View File

@ -8,6 +8,7 @@
FindLibbfd.cmake
FindQwt.cmake
FindSphinx.cmake
FindPelican.cmake
GetGitRevisionDescription.cmake
GetGitRevisionDescription.cmake.in
)

View File

@ -0,0 +1,10 @@
find_program( PELICAN_EXECUTABLE NAMES pelican
HINTS $ENV{PELICAN_DIR}
PATH_SUFFIXES bin
DOC "Pelican blog generator"
)
include( FindPackageHandleStandardArgs )
find_package_handle_standard_args( Pelican DEFAULT_MSG PELICAN_EXECUTABLE )
mark_as_advanced( PELICAN_EXECUTABLE )

View File

@ -1,6 +1,6 @@
# -*- mode: CMAKE; explicit-buffer-name: # "CMakeLists.txt<crlcore/doc/crlcore>" -*-
set ( htmlInstallDir share/doc/coriolis2/en/html/crlcore )
set ( htmlInstallDir share/doc/coriolis2/en/html/doc/crlcore )
set ( latexInstallDir share/doc/coriolis2/en/latex/crlcore )
set ( doxExtras closed.png
open.png

View File

@ -54,7 +54,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -92,7 +92,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -59,7 +59,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -66,7 +66,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -123,7 +123,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -98,7 +98,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -60,7 +60,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -80,7 +80,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -93,7 +93,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -68,7 +68,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -64,7 +64,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -53,7 +53,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -118,7 +118,7 @@ Static Public Member Functions</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -87,7 +87,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -923,7 +923,7 @@ Static Public Member Functions</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -56,7 +56,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -175,7 +175,7 @@ Public Member Functions</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -67,7 +67,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -495,7 +495,7 @@ Public Member Functions</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -60,7 +60,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -292,7 +292,7 @@ Public Member Functions</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -71,7 +71,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -763,7 +763,7 @@ Static Public Member Functions</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -86,7 +86,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -846,7 +846,7 @@ Public Member Functions</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -96,7 +96,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -1136,7 +1136,7 @@ Public Member Functions</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -54,7 +54,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -127,7 +127,7 @@ Public Member Functions</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -68,7 +68,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -451,7 +451,7 @@ Static Public Member Functions</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -70,7 +70,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -682,7 +682,7 @@ Static Public Member Functions</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -64,7 +64,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -452,7 +452,7 @@ Static Public Member Functions</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -56,7 +56,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -190,7 +190,7 @@ Public Member Functions</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -64,7 +64,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -198,7 +198,7 @@ Static Public Member Functions</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -73,7 +73,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -53,7 +53,7 @@ Directories</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -49,7 +49,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -49,7 +49,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -61,7 +61,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -72,7 +72,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -54,7 +54,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -48,7 +48,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -68,7 +68,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -62,7 +62,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -57,7 +57,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -55,7 +55,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -91,7 +91,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -54,7 +54,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -588,7 +588,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -258,7 +258,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -54,7 +54,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -100,7 +100,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -63,7 +63,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -51,7 +51,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -48,7 +48,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -57,7 +57,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -57,7 +57,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -154,7 +154,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -51,7 +51,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -64,7 +64,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -45,7 +45,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -149,7 +149,7 @@ Typedefs</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -149,7 +149,7 @@ Enumerations</h2></td></tr>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -85,7 +85,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -52,7 +52,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -67,7 +67,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -52,7 +52,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -51,7 +51,7 @@ $(function() {
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Oct 28 2019</small></td>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>

View File

@ -34,7 +34,7 @@
\vspace*{1cm}
{\large Generated by Doxygen 1.8.14}\\
\vspace*{0.5cm}
{\small Mon Oct 28 2019 18:06:32}\\
{\small Mon Feb 3 2020 17:10:37}\\
\end{center}
\end{titlepage}

View File

@ -11,128 +11,201 @@
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
find_package(Sphinx)
#find_package(Sphinx)
find_package(Pelican)
setup_project_paths(CORIOLIS)
set_cmake_policies()
add_subdirectory(examples)
set( htmlInstallDir share/doc/coriolis2/en/html/main )
set( pdfInstallDir share/doc/coriolis2/en/pdf/main )
set( htmlInstallDir share/doc/coriolis2/en/html )
if(BUILD_DOC)
if(SPHINX_EXECUTABLE)
message(STATUS "Sphinx has been found, generate the documentation...")
set ( pythonCppRst PythonCpp/pdfHeader.rst
PythonCpp/Introduction.rst
PythonCpp/Configuration.rst
PythonCpp/DBoStandalone.rst
PythonCpp/DBoHierarchy.rst
PythonCpp/NonDBo.rst
PythonCpp/DbU.rst
PythonCpp/Name.rst )
if(PELICAN_EXECUTABLE)
message(STATUS "Pelican has been found, generate the documentation...")
set ( pythonTutorialRst PythonTutorial/pdfHeader.rst
PythonTutorial/Introduction.rst
PythonTutorial/Environment.rst
PythonTutorial/CellNetComponent.rst
PythonTutorial/Collections.rst
PythonTutorial/CgtScript.rst
PythonTutorial/Netlist.rst
PythonTutorial/RealDesigns.rst
PythonTutorial/ToolEngines.rst
PythonTutorial/AdvancedTopics.rst )
set ( pythonCppRst content/pages/python-cpp/PythonCpp_HTML.rst
content/pages/python-cpp/Introduction.rst
content/pages/python-cpp/Configuration.rst
content/pages/python-cpp/DBoStandalone.rst
content/pages/python-cpp/DBoHierarchy.rst
content/pages/python-cpp/NonDBo.rst
content/pages/python-cpp/DbU.rst
content/pages/python-cpp/Name.rst )
set ( usersGuideRst UsersGuide/pdfHeader.rst
UsersGuide/LicenseCredits.rst
UsersGuide/Releases.rst
UsersGuide/DesignFlow.rst
UsersGuide/Installation.rst
UsersGuide/Configuration.rst
UsersGuide/ViewerTools.rst
UsersGuide/ScriptsPlugins.rst )
set ( pythonTutorialRst content/pages/python-tutorial/PythonTutorial_HTML.rst
content/pages/python-tutorial/Introduction.rst
content/pages/python-tutorial/Environment.rst
content/pages/python-tutorial/CellNetComponent.rst
content/pages/python-tutorial/Collections.rst
content/pages/python-tutorial/CgtScript.rst
content/pages/python-tutorial/Netlist.rst
content/pages/python-tutorial/RealDesigns.rst
content/pages/python-tutorial/ToolEngines.rst
content/pages/python-tutorial/AdvancedTopics.rst )
set ( confTechnoRst ConfigurationTechnology/pdfHeader.rst
ConfigurationTechnology/Architecture.rst )
set ( usersGuideRst content/pages/users-guide/UsersGuide_HTML.rst
content/pages/users-guide/LicenseCredits.rst
content/pages/users-guide/Releases.rst
content/pages/users-guide/DesignFlow.rst
content/pages/users-guide/Installation.rst
content/pages/users-guide/Configuration.rst
content/pages/users-guide/ViewerTools.rst
content/pages/users-guide/ScriptsPlugins.rst )
set ( rdsRst RDS/pdfHeader.rst
RDS/RDSpage.rst )
set ( rdsRst content/pages/rds/RDS_HTML.rst
content/pages/rds/RDSpage.rst )
set (stratusRst Stratus/pdfHeader.rst
Stratus/Developper.rst
Stratus/Language.rst
Stratus/DpGen.rst
Stratus/Patterns.rst )
set ( stratusRst content/pages/stratus/Stratus_HTML.rst
content/pages/stratus/Developper.rst
content/pages/stratus/Language.rst
content/pages/stratus/DpGen.rst
content/pages/stratus/Patterns.rst )
add_custom_target ( doc_HTML ALL
cd ${DOCUMENTATION_SOURCE_DIR}
&& rm -rf _build
&& sphinx-build -b html -d _build/doctrees . _build/html
DEPENDS etc/definitions.rst
_static/SoC.css
_static/www-SoC.css
_static/SoC-ReST.css
_static/pygments.css
CrlCore/CrlCore.rst
Hurricane/Hurricane.rst
Unicorn/Unicorn.rst
Viewer/Viewer.rst
${usersGuideRst} UsersGuide/index.rst
${pythonTutorialRst} PythonTutorial/index.rst
${pythonCppRst} PythonCpp/index.rst
${rdsRst} RDS/index.rst
${stratusRst} Stratus/index.rst
)
add_custom_target ( doc_HTML ALL
cd ${DOCUMENTATION_SOURCE_DIR}
&& rm -rf output
&& ./build.py --pdfs --pelican
DEPENDS etc/definitions.rst
themes/nest-coriolis/static/css/nest.css
themes/nest-coriolis/static/css/pygment.css
themes/nest-coriolis/static/css/coriolis.css
content/pages/documentation.rst
content/pages/gitlab.rst
content/pages/homepage.rst
content/pages/symbolic-layout.rst
${usersGuideRst}
${pythonTutorialRst}
${pythonCppRst}
${rdsRst}
${stratusRst}
)
add_custom_target ( pdf_UsersGuide ALL
cd ${DOCUMENTATION_SOURCE_DIR}/UsersGuide
&& ../etc/doPdf.sh ${usersGuideRst} UsersGuide.rst
DEPENDS etc/definitions.rst
etc/SoC-ReST.tex
${usersGuideRst} )
else(PELICAN_EXECUTABLE)
message(STATUS "Pelican has *not* been found, use the git supplied documentation.")
endif(PELICAN_EXECUTABLE)
endif(BUILD_DOC)
add_custom_target ( pdf_PythonTutorial ALL
cd ${DOCUMENTATION_SOURCE_DIR}/PythonTutorial
&& ../etc/doPdf.sh ${pythonTutorialRst} PythonTutorial.rst
DEPENDS etc/definitions.rst
etc/SoC-ReST.tex
PythonTutorial/definitions.rst
${pythonTutorialRst} )
install( DIRECTORY output/ DESTINATION ${htmlInstallDir} )
add_custom_target ( pdf_Stratus ALL
cd ${DOCUMENTATION_SOURCE_DIR}/Stratus
&& ../etc/doPdf.sh ${stratusRst} Stratus.rst
DEPENDS etc/definitions.rst
etc/SoC-ReST.tex
${stratusRst} )
add_custom_target ( pdf_PythonCpp ALL
cd ${DOCUMENTATION_SOURCE_DIR}/PythonCpp
&& ../etc/doPdf.sh ${pythonCppRst} PythonCpp.rst
DEPENDS etc/definitions.rst
etc/SoC-ReST.tex
${pythonCppRst} )
# Old part for Sphinx, keep it for now.
#set( htmlInstallDir share/doc/coriolis2/en/html/main )
#set( pdfInstallDir share/doc/coriolis2/en/pdf/main )
#if(BUILD_DOC)
# if(SPHINX_EXECUTABLE)
# message(STATUS "Sphinx has been found, generate the documentation...")
# set ( pythonCppRst PythonCpp/pdfHeader.rst
# PythonCpp/Introduction.rst
# PythonCpp/Configuration.rst
# PythonCpp/DBoStandalone.rst
# PythonCpp/DBoHierarchy.rst
# PythonCpp/NonDBo.rst
# PythonCpp/DbU.rst
# PythonCpp/Name.rst )
#
# set ( pythonTutorialRst PythonTutorial/pdfHeader.rst
# PythonTutorial/Introduction.rst
# PythonTutorial/Environment.rst
# PythonTutorial/CellNetComponent.rst
# PythonTutorial/Collections.rst
# PythonTutorial/CgtScript.rst
# PythonTutorial/Netlist.rst
# PythonTutorial/RealDesigns.rst
# PythonTutorial/ToolEngines.rst
# PythonTutorial/AdvancedTopics.rst )
#
# set ( usersGuideRst UsersGuide/pdfHeader.rst
# UsersGuide/LicenseCredits.rst
# UsersGuide/Releases.rst
# UsersGuide/DesignFlow.rst
# UsersGuide/Installation.rst
# UsersGuide/Configuration.rst
# UsersGuide/ViewerTools.rst
# UsersGuide/ScriptsPlugins.rst )
#
# set ( confTechnoRst ConfigurationTechnology/pdfHeader.rst
# ConfigurationTechnology/Architecture.rst )
#
# set ( rdsRst RDS/pdfHeader.rst
# RDS/RDSpage.rst )
#
# set (stratusRst Stratus/pdfHeader.rst
# Stratus/Developper.rst
# Stratus/Language.rst
# Stratus/DpGen.rst
# Stratus/Patterns.rst )
#
# add_custom_target ( doc_HTML ALL
# cd ${DOCUMENTATION_SOURCE_DIR}
# && rm -rf _build
# && sphinx-build -b html -d _build/doctrees . _build/html
# DEPENDS etc/definitions.rst
# _static/SoC.css
# _static/www-SoC.css
# _static/SoC-ReST.css
# _static/pygments.css
# CrlCore/CrlCore.rst
# Hurricane/Hurricane.rst
# Unicorn/Unicorn.rst
# Viewer/Viewer.rst
# ${usersGuideRst} UsersGuide/index.rst
# ${pythonTutorialRst} PythonTutorial/index.rst
# ${pythonCppRst} PythonCpp/index.rst
# ${rdsRst} RDS/index.rst
# ${stratusRst} Stratus/index.rst
# )
#
# add_custom_target ( pdf_UsersGuide ALL
# cd ${DOCUMENTATION_SOURCE_DIR}/UsersGuide
# && ../etc/doPdf.sh ${usersGuideRst} UsersGuide.rst
# DEPENDS etc/definitions.rst
# etc/SoC-ReST.tex
# ${usersGuideRst} )
#
# add_custom_target ( pdf_PythonTutorial ALL
# cd ${DOCUMENTATION_SOURCE_DIR}/PythonTutorial
# && ../etc/doPdf.sh ${pythonTutorialRst} PythonTutorial.rst
# DEPENDS etc/definitions.rst
# etc/SoC-ReST.tex
# PythonTutorial/definitions.rst
# ${pythonTutorialRst} )
#
# add_custom_target ( pdf_Stratus ALL
# cd ${DOCUMENTATION_SOURCE_DIR}/Stratus
# && ../etc/doPdf.sh ${stratusRst} Stratus.rst
# DEPENDS etc/definitions.rst
# etc/SoC-ReST.tex
# ${stratusRst} )
#
# add_custom_target ( pdf_PythonCpp ALL
# cd ${DOCUMENTATION_SOURCE_DIR}/PythonCpp
# && ../etc/doPdf.sh ${pythonCppRst} PythonCpp.rst
# DEPENDS etc/definitions.rst
# etc/SoC-ReST.tex
# ${pythonCppRst} )
#
# add_custom_target ( pdf_ConfTechno ALL
# cd ${DOCUMENTATION_SOURCE_DIR}/ConfigurationTechnology
# && ../etc/doPdf.sh ${confTechnoRst} ConfigurationTechnology.rst
# DEPENDS etc/definitions.rst
# etc/SoC-ReST.tex
# ${confTechnoRst} )
add_custom_target ( pdf_RDS ALL
cd ${DOCUMENTATION_SOURCE_DIR}/RDS
&& ../etc/doPdf.sh ${rdsRst} RDS.rst
DEPENDS etc/definitions.rst
etc/SoC-ReST.tex
${rdsRst} )
else(SPHINX_EXECUTABLE)
message(STATUS "Sphinx has *not* been found, use the git supplied documentation.")
endif(SPHINX_EXECUTABLE)
endif(BUILD_DOC)
install( DIRECTORY _build/html/ DESTINATION ${htmlInstallDir} )
install( FILES RDS/RDS.pdf
PythonTutorial/PythonTutorial.pdf
PythonCpp/PythonCpp.pdf
UsersGuide/UsersGuide.pdf DESTINATION ${pdfInstallDir} )
#
# add_custom_target ( pdf_RDS ALL
# cd ${DOCUMENTATION_SOURCE_DIR}/RDS
# && ../etc/doPdf.sh ${rdsRst} RDS.rst
# DEPENDS etc/definitions.rst
# etc/SoC-ReST.tex
# ${rdsRst} )
# else(SPHINX_EXECUTABLE)
# message(STATUS "Sphinx has *not* been found, use the git supplied documentation.")
# endif(SPHINX_EXECUTABLE)
#endif(BUILD_DOC)
#
#install( DIRECTORY _build/html/ DESTINATION ${htmlInstallDir} )
#install( FILES RDS/RDS.pdf
# PythonTutorial/PythonTutorial.pdf
# PythonCpp/PythonCpp.pdf
# UsersGuide/UsersGuide.pdf DESTINATION ${pdfInstallDir} )

405
documentation/build.py Executable file
View File

@ -0,0 +1,405 @@
#!/usr/bin/env python
import re
import os
import os.path
import sys
import time
import shutil
import socket
import subprocess
import logging
import optparse
def log ( message ):
print message
logging.info( message )
return
class ErrorMessage ( Exception ):
def __init__ ( self, code, *arguments ):
self._code = code
self._errors = [ 'Malformed call to ErrorMessage()'
, '%s' % str(arguments) ]
text = None
if len(arguments) == 1:
if isinstance(arguments[0],Exception): text = str(arguments[0]).split('\n')
else:
self._errors = arguments[0]
elif len(arguments) > 1:
text = list(arguments)
if text:
self._errors = []
while len(text[0]) == 0: del text[0]
lstrip = 0
if text[0].startswith('[ERROR]'): lstrip = 8
for line in text:
if line[0:lstrip ] == ' '*lstrip or \
line[0:lstrip-1] == '[ERROR]':
self._errors += [ line[lstrip:] ]
else:
self._errors += [ line.lstrip() ]
return
def __str__ ( self ):
if not isinstance(self._errors,list):
return "[ERROR] %s" % self._errors
formatted = "\n"
for i in range(len(self._errors)):
if i == 0: formatted += "[ERROR] %s" % self._errors[i]
else: formatted += " %s" % self._errors[i]
if i+1 < len(self._errors): formatted += "\n"
return formatted
def addMessage ( self, message ):
if not isinstance(self._errors,list):
self._errors = [ self._errors ]
if isinstance(message,list):
for line in message:
self._errors += [ line ]
else:
self._errors += [ message ]
return
def terminate ( self ):
print self
sys.exit(self._code)
def _getCode ( self ): return self._code
code = property(_getCode)
class Configuration ( object ):
def __init__ ( self ):
self.onSource = False
self.onLepka = False
self.onDocker = False
hostname = socket.gethostname()
if hostname.startswith('lepka'): self.onLepka = True
else: self.onDocker = True
scriptDir = os.path.abspath(os.getcwd())
if scriptDir.endswith( 'coriolis/documentation' ):
self.onLepka = False
self.onSource = True
if self.onDocker:
log( 'Using *Docker* configuration.' )
self.pelicanDir = '/data/git/coriolis.lip6.fr/pelican'
self.apacheDir = '/var/www/html'
if self.onLepka:
log( 'Using *Lepka* configuration.' )
self.pelicanDir = os.path.join( os.environ['HOME'], 'cms/coriolis.lip6.fr/pelican' )
self.apacheDir = '/dsk/l1/httpd/coriolis'
if self.onSource:
log( 'Using *Source* configuration.' )
self.pelicanDir = scriptDir
self.apacheDir = None
self.localDocDir = '/dsk/l1/jpc/coriolis-2.x/Linux.el7_64/Release.Shared/install/share/doc/coriolis2/en/html/doc'
self.remoteDocDir = '/data'
self.remoteGitDir = '/data/git'
self.remotePelicanDir = os.path.join( self.remoteGitDir, 'coriolis.lip6.fr/pelican' )
self.pluginsDir = os.path.join( self.remoteGitDir, 'pelican-plugins' )
self.logDir = os.path.join( self.pelicanDir, 'logs' )
self.target = 'coriolis-d'
return
class Command ( object ):
def __init__ ( self, command ):
self.command = command
self.outlog = None
self.errlog = None
return
def asString ( self ):
s = ''
for i in range(len(self.command)):
if i: s += ' '
if ' ' in self.command[i]: s += '"'+self.command[i]+'"'
else: s += self.command[i]
return s
def execute ( self ):
sys.stdout.flush()
sys.stderr.flush()
log( self.asString() )
child = subprocess.Popen( self.command, stdin =subprocess.PIPE
, stdout=subprocess.PIPE
, stderr=subprocess.PIPE )
self.outlog, self.errlog = child.communicate()
if len(self.outlog): logging.info ( self.outlog )
if len(self.errlog): logging.error( self.errlog )
status = child.returncode
status >>= 8
if status != 0:
ErrorMessage( status, "%s (status:%d)."%(error,status) ).terminate()
return status
@staticmethod
def rmtree ( path ):
command = 'rm -rf %s' % path
try:
log( command )
shutil.rmtree( path )
except shutil.Error, e:
logging.error( str(e) )
return 1
return 0
@staticmethod
def copytree ( src, dst ):
command = 'cp -r %s %s' % (src,dst)
try:
log( command )
shutil.copytree( src, dst )
except OSError, e:
logging.error( e )
return 1
except shutil.Error, errors:
for error in errors:
logging.error( 'cp %s %s: %s' % error )
return 1
return 0
class SshCommand ( object ):
def __init__ ( self, scriptlet ):
self.scriptlet = scriptlet
return
def execute ( self, target ):
command = [ 'ssh', '-x', target, self.scriptlet ]
Command( command ).execute()
return
class Document ( object ):
def __init__ ( self, conf, document ):
self.conf = conf
self.document = os.path.basename( document )
self.rdir = os.path.dirname ( document )
return
def toPdf ( self ):
pdfDir = '%s/content/pdfs' % self.conf.pelicanDir
stylesheet = '%s/etc/SoC-ReST.tex' % self.conf.pelicanDir
documentPdf = '%s.pdf' % self.document
documentRst = '%s.rst' % self.document
documentTex = '%s.tex' % self.document
documentRawTex = '%s-raw.tex' % self.document
documentTmps = [ documentTex
, documentRawTex
, '%s.log' % self.document
, '%s.out' % self.document
, '%s.aux' % self.document
, '%s.toc' % self.document
]
targetPdf = os.path.join( pdfDir, documentPdf )
cwd = os.getcwd()
os.chdir( os.path.join(self.conf.pelicanDir,self.rdir) )
os.environ[ 'TEXINPUTS' ] = '%s/etc/images//:./images//:' % self.conf.pelicanDir
Command( [ 'rst2latex', '--use-latex-toc'
, '--stylesheet=%s' % stylesheet
, documentRst
, documentRawTex
] ).execute()
pMulticol = re.compile( r' \\& \\\\multicolumn\{2\}\{l\|\}\{' )
fdi = open( documentRawTex, 'r' )
fdo = open( documentTex , 'w' )
for line in fdi.readlines():
fdo.write( pMulticol.sub(' \\& \\\\multicolumn{2}{p{0.6\\\\DUtablewidth}|}{',line) )
fdi.close()
fdo.close()
Command( [ 'pdflatex', '-halt-on-error', documentTex ] ).execute()
Command( [ 'pdflatex', '-halt-on-error', documentTex ] ).execute()
for file in documentTmps: os.unlink( file )
if not os.path.isdir( pdfDir ):
log( 'mkdir %s' % pdfDir )
os.mkdir( pdfDir )
if os.path.exists( targetPdf ): os.unlink( targetPdf )
log( 'mv %s %s' % (documentPdf,pdfDir) )
shutil.move( documentPdf, pdfDir )
os.chdir( cwd )
return
class Site ( object ):
def __init__ ( self, conf ):
self.conf = conf
return
def build ( self ):
print 'cd %s' % self.conf.pelicanDir
os.chdir( self.conf.pelicanDir )
status = Command( [ 'pelican', '-vD', '--ignore-cache', 'content' ] ).execute()
if status: return status
if self.conf.onLepka:
Command.rmtree ( self.conf.apacheDir )
Command.copytree( './output', self.conf.apacheDir )
Command.copytree( self.conf.localDocDir, os.path.join(self.conf.apacheDir,'doc') )
return
def gitPush ( self ):
print 'cd %s' % self.conf.pelicanDir
os.chdir( self.conf.pelicanDir )
lines = ''
cmd = Command( ['git', 'status', 'content', 'common', 'theme'] )
cmd.execute()
if cmd.outlog: lines = cmd.outlog.split('\n')
if lines[-2] != 'nothing to commit, working directory clean':
message = [ 'There are some uncommited changes in the site contents.' ] + lines
print ErrorMessage( 1, message )
#return False
Command( ['git', 'push'] ).execute()
return True
def gitCommitPdfs ( self ):
print 'cd %s' % self.conf.pelicanDir
os.chdir( self.conf.pelicanDir )
lines = ''
cmd = Command( ['git', 'status', 'content/pdfs'] )
cmd.execute()
if cmd.outlog: lines = cmd.outlog.split('\n')
if lines[-2] != 'nothing to commit, working directory clean':
message = 'Updated PDFs, %s.' % time.strftime( '%B %d, %Y (%H:%M)' )
Command( ['git', 'add' , 'content/pdfs'] ).execute()
Command( ['git', 'commit', '-m', message ] ).execute()
return True
def remoteBuild ( self ):
Command( [ 'ssh', '-x', '-o', 'StrictHostKeyChecking no'
, self.conf.target, "echo 'Force SSH key loading.'" ] ).execute()
Command( [ 'rsync', '--rsh=/usr/bin/ssh', '-avH'
, self.conf.localDocDir
, '%s:%s' % (self.conf.target,self.conf.remoteDocDir) ] ).execute()
remoteScript = \
' if [ ! -d %(remotePelicanDir)s ]; then' \
' cd %(remoteGitDir)s;' \
' git clone gitsoc@bop-t:coriolis.lip6.fr;' \
' sudo pelican-themes -s %(remotePelicanDir)s/themes/nest-coriolis;' \
' sudo chown -R pelican:pelican /var/www/html;' \
' fi;' \
' cd %(remotePelicanDir)s;' \
' git pull;' \
' if [ ! -d %(pluginsDir)s ]; then' \
' cd %(remoteGitDir)s;' \
' git clone https://github.com/getpelican/pelican-plugins;' \
' cd pelican-plugins;' \
' patch -p1 -i %(remotePelicanDir)s/patchs/0001-bootstrap-rst.no-math.patch;' \
' fi;' \
' cd %(remotePelicanDir)s;' \
' ./build.py -p;' \
% { 'pluginsDir' : self.conf.pluginsDir
, 'remoteGitDir' : self.conf.remoteGitDir
, 'remotePelicanDir' : self.conf.remotePelicanDir
}
SshCommand( remoteScript ).execute( self.conf.target )
return
if __name__ == '__main__':
usage = \
'\n' \
'\nThe "build.py" script rebuild the "coriolis.lip6.fr" website hosted' \
'\nat the Sorbonne Universite/LIP6. It can work in the following modes:' \
'\n' \
'\n1. Fully install the website on a freshly generated docker image.' \
'\n2. Update the "coriolis.lip6.fr" website.' \
'\n3. Generate a static website on my laptop ("lepka").' \
'\n4. Generate the static documentation shipped with coriolis (in git).' \
'\n' \
'\nNOTE: About the "<-C|--coriolis> remote rebuild option."' \
'\n Your ${HOME}/.ssh/config file must contain an alias for the' \
'\n "coriolis-d" host, as shown below:' \
'\n' \
'\n Host coriolis-d' \
'\n User pelican' \
'\n HostName localhost' \
'\n HostKeyAlias coriolis-d' \
'\n Port 2250' \
'\n CheckHostIP no' \
'\n ForwardAgent yes' \
'\n ForwardX11 no' \
'\n RemoteForward 2227 localhost:2227' \
'\n' \
'\n It logs as user "pelican" using the ssh port 2250 and creates' \
'\n a tunnel between port 2227 on the remote host (the web server)' \
'\n and port 2227 on the local host (your machine). You *must* have' \
'\n an ssh tunnel between your machine and "bop" on the local port' \
'\n 2227 for this to work. The "2227" tunnel between the web server' \
'\n and "bop" is used to perform "git pull".' \
'\n' \
'\n./build.py <options>'
parser = optparse.OptionParser( usage )
parser.add_option( '-p', '--pelican' , action='store_true', dest='doPelican' , help='Run pelican.' )
parser.add_option( '-P', '--pdfs' , action='store_true', dest='doPdfs' , help='Generate the PDFs.' )
parser.add_option( '-C', '--coriolis', action='store_true', dest='doCoriolis', help='Build/update the web site on the server (docker).' )
(options, args) = parser.parse_args()
conf = Configuration()
if not os.path.isdir( conf.logDir ):
os.mkdir( conf.logDir )
logging.basicConfig( filename='logs/build-%s.log' % time.strftime( '%Y%m%d-%H%M' )
, format='%(asctime)s:%(levelname)s| %(message)s'
, level=logging.INFO
)
documents = [ Document( conf, 'content/pages/users-guide/UsersGuide' )
, Document( conf, 'content/pages/python-tutorial/PythonTutorial' )
, Document( conf, 'content/pages/python-cpp/PythonCpp' )
, Document( conf, 'content/pages/stratus/Stratus' )
, Document( conf, 'content/pages/rds/RDS' )
]
coriolis = Site( conf )
if options.doPdfs:
for document in documents: document.toPdf()
if not conf.onSource:
coriolis.gitCommitPdfs()
if options.doPelican:
coriolis.build()
if options.doCoriolis:
coriolis.gitPush()
coriolis.remoteBuild()
sys.exit( 0 )

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 698 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -0,0 +1,100 @@
.. -*- Mode: rst -*-
=============
Documentation
=============
:slug: documentation
:date: 2020-01-01 23:00
:author: Jean-Paul Chaput
:Contact: <Jean-Paul.Chaput@lip6.fr>
:Version: Jan 1, 2020 (jpc)
:status: hidden
.. include:: ../../etc/definitions.rst
Coriolis Documentation
======================
.. row::
.. column::
:width: 5
:offset: 1
`Coriolis User's Guide <{filename}/pages/users-guide/UsersGuide_HTML.rst>`_ |br|
Using the software
`Python Tutorial <{filename}/pages/python-tutorial/PythonTutorial_HTML.rst>`_ |br|
A Tutorial to use Coriolis through Python
`Python/C++ Tutorial <{filename}/pages/python-cpp/PythonCpp_HTML.rst>`_ |br|
A Tutorial to the Python/C++ interface |API|
`Stratus Language <{filename}/pages/stratus/Stratus_HTML.rst>`_ |br|
A Netlist Capture Language (on top of Python)
`DpGen Extension (Stratus) <{filename}/pages/stratus/DpGen_HTML.rst>`_ |br|
Netlist Capture extension for Datapathes
`Pattern Extension (Stratus) <{filename}/pages/stratus/Patterns_HTML.rst>`_ |br|
Patterns generation extension
`RDS documentation <{filename}/pages/rds/RDS_HTML.rst>`_ |br|
Translating symbolic layout to |GDS|.
.. column::
:width: 5
.. row::
`Hurricane Reference <../doc/hurricane/index.html>`_ |br|
|Hurricane| Netlist & Physical structure C++ |API|
`Viewer Reference <../doc/viewer/index.html>`_ |br|
Graphical interface C++ |API|
`CRL Core Reference <../doc/crlcore/index.html>`_ |br|
Parsers/Drivers and I/O C++ |API|
`Unicorn Reference <../doc/unicorn/index.html>`_ |br|
Main GUI C++ |API|
`Katabatic Reference <../doc/katabatic/index.html>`_ |br|
Articulated Segments Data-Structure
`Kite Reference <../doc/kite/index.html>`_ |br|
Digital router
`Hurricane/Analog Reference <../doc/analog/index.html>`_ |br|
About digital design
`Oroshi Reference <../doc/oroshi/index.html>`_ |br|
Analog devices generators
Third Party Documentation
=========================
.. row::
.. column::
:width: 5
:offset: 1
`LEF/DEF Language Reference <../doc/lefdef/lefdefref/lefdefrefTOC.html>`_ |br|
Cadence LEF/DEF 5.8 language reference
.. column::
:width: 5
`LEF C++ API <../doc/lefdef/lefapi/ch1Intro.html>`_ |br|
Cadence Documentation of LEF 5.8 C++ API
`DEF C++ API <../doc/lefdef/defapi/ch1Intro.html>`_ |br|
Cadence Documentation of DEF 5.8 C++ API

View File

@ -0,0 +1,28 @@
.. -*- Mode: rst -*-
===================
Gitlab Repositories
===================
:slug: gitlab
:date: 2019-12-29 16:00
:author: Jean-Paul Chaput
:Contact: <Jean-Paul.Chaput@lip6.fr>
:Version: June 4, 2019 (jpc)
:status: hidden
.. include:: ../../etc/definitions.rst
The |git| repositories of all the components of the project:
================================ =======================================================
Component Repository
================================ =======================================================
|Alliance| https://gitlab.lip6.fr/jpc/alliance.git
|Coriolis| https://gitlab.lip6.fr/jpc/coriolis.git
:cb:`Alliance Check Toolkit` https://gitlab.lip6.fr/jpc/alliance-check-toolkit.git
================================ =======================================================

View File

@ -0,0 +1,109 @@
.. -*- Mode: rst -*-
=============================
Coriolis |VLSI| Backend Tools
=============================
:slug: homepage
:date: 2019-12-20 16:00
:author: Jean-Paul Chaput
:Contact: <Jean-Paul.Chaput@lip6.fr>
:Version: June 4, 2019 (jpc)
.. include:: ../../etc/definitions.rst
.. contents::
Abstract
========
.. image:: {attach}/images/common/amd2901_chip_routed.png
:width: 50%
:align: center
:alt: Routed AM2901 layout picture.
|Alliance| is a complete toolchain for |VLSI| design. It provides a |VHDL| compiler
and simulator, logic synthetiser, automatic place & route and portable |CMOS|
library. It has been in used in research projects such as the 875K transistors
|StaCS| superscalar microprocessor or the 400K transistors |IEEE| gigabit |HSL|
router. It has been actively developped during the 1990-2000 years and is maintained
since. It's practical limit for one standard cell block (flat) is about 10K gates,
above that limit you would need to use hierarchy and manually build a floorplan.
|Alliance| is entirely written in C.
|Coriolis| was started in the year 2000 as a replacement for the place & route stage
of |Alliance|. As such it is able to handle standard cells block (flat) of at least 150K
gates. It was later extended to support analog design re-implementing the methodology
introduced by the |CIAN| team of |LIP6| / |SU| in |CAIRO| / |CAIRO+|. The tools have
been designed from the ground up to support digital only, analog only or mixed circuits.
|Coriolis| is written in a mix of C++ and |Python|.
|Alliance| / |Coriolis| is free software. All source code is realeased under the GPL_
license, except for |Hurricane| which is under LGPL_ and the Si2_ |LEF| / |DEF|
parser drivers that are under `Apache License, Version 2.0`_.
`Short introduction to Symbolic Layout. <{filename}/pages/symbolic-layout.rst>`_
Design Flow
~~~~~~~~~~~
We are also upgrading the complete design flow by replacing |Alliance| obsoleting
tools by more advanced |FOSS| alternatives:
* Yosys_ for logical synthesis.
* GHDL_ for |VHDL| simulation.
Design & Features of |Coriolis|
===============================
The |Coriolis| toolchain is build upon the |Hurricane| database.
* **Tool Integration.** To better manages the challenges arising in the
increasingly bigger designs, the various tools have to work together
as a whole, in a tight integration at runtime. The |Hurricane| database
has been develop to address this problem and as a results, all |Coriolis|
tools are built upon it and can communicate through that core database.
* **Deterministic.** The database and the tools are completely deterministics.
Two runs in *exactly* the same context gives the same result.
* **C++ & Python.** The |Hurricane| database and all tools are fully exported
in |Python| providing a seamless integration. The whole toolchain is build
as a mix of C++ for computational intensive part and |Python| scripts for
everything else. There is not even a binary, the main program *is* a
|Python| script and can be rewritten in any way you like.
* **Graphic Interface.** |Hurricane| also come with a graphical interface
allowing to display, explore or check your design. The graphic interface
can be extended (in C++) do display any custom overlay.
* **Symbolic Layout.** For digital part of the designs, we use a symbolic
layer approach. Note that |Coriolis| can make digital designs using real
technology, but it's a largely untested feature yet.
* **Analog Design.** A complete user-guided methodology for designing analog
circuits is available. It is fully integrated in all the tools and will
allow mixed design in the near future.
Disclaimer
==========
|Alliance| / |Coriolis| tools, at the time being, are not suitable for deep submicron
technological nodes (below 130nm / 180nm).
For portability across foundries, technological nodes and freedom from fondries |NDA|,
|Alliance| / |Coriolis| rely on *portable* layout (or *scalable* layout, or *symbolic* layout).
To produce a valid |GDS| file, you would need to use the |s2r| translation tool which
needs a configuration file suited for the target technology, and *that* file is under
|NDA|. So, either should be written by you, or given to you through services like
MyCMP_.

Some files were not shown because too many files have changed in this diff Show More