Skip to content

Commit f29e65d

Browse files
authored
Build doc pelican (lip6#11)
* Switch back to a generated version of the documentation. Dependencies for the documentation generation have been added to poetry. As Pelican is a Python tool, that makes sense. Note to myself: To generate the doc with ccb.py we *need* to be inside the Python virtual env generated by Poetry. Instead of relying of a default one, provide one of our own (coriolis-venv) and make poetry run in it. * Top builder.py now generated the doc. * Forgot to remove generated PDFs in the documentation. * A bit of cleanup on the README.rst * Forgot the logo. Try to use code-block directive in README. * Still typo in the logo path. * One more trial at setting the image position. * OK. That's enough for the logo. * Problems with code-block. * Voila! * Build inside a venv and use poetry in the top level Makefile. * Remove doxygen generated docs. * More doc cleanup in oroshi.
1 parent ae084b7 commit f29e65d

File tree

1,699 files changed

+373
-524078
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,699 files changed

+373
-524078
lines changed

.gitignore

+6
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,14 @@ rtf/
1818
html/
1919
latex/
2020

21+
build/
22+
coriolis-venv/
23+
coriolis.egg-info/
24+
2125
bootstrap/coriolis2.spec
2226

27+
documentation/output
28+
documentation/content/pdfs/*.pdf
2329
documentation/UsersGuide/UsersGuide-raw.tex
2430
documentation/UsersGuide/UsersGuide.tex
2531
documentation/UsersGuide/UsersGuide.aux

Makefile

+13-2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
endif
1515
endif
1616

17+
venv = source ./venv/bin/activate
18+
1719
SMP_FLAGS =
1820
ifneq ($(shell which nproc 2> /dev/null),)
1921
SMP_FLAGS = -j$(shell nproc)
@@ -55,8 +57,17 @@ check_dir:
5557
fi
5658

5759

58-
install: check_dir
59-
@./bootstrap/ccb.py $(DEVTOOLSET_OPTION) --project=support --project=coriolis --make="$(SMP_FLAGS) install"
60+
check_venv:
61+
@if [ ! -d "./venv" ]; then python3 -m venv venv; fi
62+
63+
64+
poetry_deps: check_venv
65+
@$(venv); poetry install --no-root
66+
67+
68+
install: check_dir poetry_deps
69+
@$(venv); ./bootstrap/ccb.py $(DEVTOOLSET_OPTION) --project=coriolis \
70+
--make="$(SMP_FLAGS) --doc install"
6071
@echo ""; \
6172
echo "============================================================================"; \
6273
echo "Coriolis has been successfully built"; \

README.rst

+59-44
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,39 @@
55
.. |Python wheel builds| image:: https://github.com/lip6/coriolis/actions/workflows/wheels.yml/badge.svg
66
:target: https://github.com/lip6/coriolis/actions/workflows/wheels.yml
77

8+
.. image:: documentation/content/images/common/Coriolis-logo-blue-4.png
9+
:alt: Coriolis Logo
10+
:align: center
11+
:width: 10%
812

9-
===============
10-
Coriolis README
11-
===============
1213

13-
Coriolis is a free database, placement tool and routing tool for VLSI design.
14+
======================
15+
Coriolis Open EDA Tool
16+
======================
17+
18+
Coriolis is a free database, placement and routing tool for VLSI design.
1419

1520
This project is hosted at: https://github.com/lip6/coriolis
1621

22+
Main documentation is available at: https://coriolis.lip6.fr/
23+
1724
Development discussion can be found `on our Matrix Channel <https://matrix.to/#/#coriolis:matrix.org>`_ and in our `GitHub Discussions <https://github.com/lip6/coriolis/discussions>`_.
1825

26+
Coriolis is part of a set of three repositories that are closely relateds.
27+
28+
* Alliance
29+
30+
A venerable EDA toolchain, working only on symbolic layout. Some of it's
31+
checking tools (LVS, DRC) are used for the regression tests in Alliance Check Toolkit.
32+
33+
https://github.com/lip6/alliance
34+
35+
* Alliance Check Toolkit
36+
37+
A wide set of examples of designs and scripts to use by Coriolis.
38+
39+
https://github.com/lip6/alliance-check-toolkit
40+
1941

2042
Purpose
2143
=======
@@ -25,75 +47,68 @@ main components are the Hurricane database, the Etesian placer and the Katana
2547
router, but other tools can use the Hurricane database and the parsers
2648
provided.
2749

28-
The user interface <cgt> is the prefered way to use Coriolis, but all
50+
The user interface ``cgt`` is the prefered way to run Coriolis, but all
2951
Coriolis tools are Python modules and thus scriptable.
3052

3153

32-
Documentation
33-
=============
34-
35-
The complete documentation is available here, both in pdf & html:
36-
37-
./documentation/output/html
38-
./documentation/UsersGuide/UsersGuide.pdf
39-
40-
The documentation of the latest *stable* version is also
41-
available online. It may be quite outdated from the *devel*
42-
version.
43-
44-
https://www-soc.lip6.fr/sesi-docs/coriolis2-docs/coriolis2/en/latex/users-guide/UsersGuide.pdf
45-
46-
4754
Building Coriolis
4855
=================
4956

5057
To build Coriolis, ensure the following prerequisites are met:
5158

52-
* Python 3,
53-
* cmake,
54-
* boost,
55-
* bison & flex,
56-
* Qt 4 or 5,
57-
* libxml2,
58-
* RapidJSON,
5959
* A C++11 compliant compiler.
60+
* Python 3.
61+
* make or ninja.
62+
* cmake.
63+
* bzip2
64+
* boost.
65+
* bison & flex.
66+
* Qt 5 & Qt 5 Svg.
67+
* Qwt
68+
* libxml2.
69+
* RapidJSON, http://rapidjson.org/ .
70+
* Eigen 3, http://eigen.tuxfamily.org .
71+
* Lemon, http://lemon.cs.elte.hu/trac/lemon .
72+
* doxygen
73+
* pelican
6074

6175
The build system relies on a fixed directory tree from the root
6276
of the user currently building it. Thus first step is to get a clone of
63-
the repository in the right place. Proceed as follow: ::
77+
the repository in the right place. Proceed as follow:
78+
79+
.. code-block:: bash
6480
6581
ego@home:~$ mkdir -p ~/coriolis-2.x/src/
6682
ego@home:~$ cd ~/coriolis-2.x/src
67-
ego@home:src$ git clone https://github.com/lip6/coriolis
83+
ego@home:src$ git clone --recurse-submodules https://github.com/lip6/coriolis
6884
ego@home:src$ cd coriolis
6985
70-
Then, build the tool: ::
86+
Then, build the tool:
87+
88+
.. code-block:: bash
7189
72-
ego@home:coriolis$ make install
90+
ego@home:coriolis$ make install
7391
74-
If you encounter issues, please consult SUPPORT.rst for tips.
7592
Coriolis gets installed at the root of the following tree: ::
7693

77-
~/coriolis-2.x/<OS>.<DISTRIB>/Release.Shared/install/
94+
~/coriolis-2.x/OS.DISTRIB/Release.Shared/install/
7895

79-
Where ``<OS>`` is the name of your operating system and ``<DISTRIB>`` your
80-
distribution.
96+
Where ``OS`` is the name of your operating system and ``DISTRIB`` your
97+
distribution (mileage may vary).
8198

8299

83100
Using Coriolis
84101
==============
85102

86-
The Coriolis main interface can be launched with the command: ::
103+
Prior to using Coriolis, you need to setup your UNIX environment by running
104+
the following command:
87105

88-
ego@home:~: ~/coriolis-2.x/<OS>.<DISTRIB>/Release.Shared/install/bin/coriolis
106+
.. code-block:: bash
89107
90-
The ``coriolis`` script detects its location and setups the UNIX
91-
environment appropriately, then lauches ``cgt`` (or *any* command, with the
92-
``--run=<COMMAND>`` option).
108+
ego@home:~$ eval `~/coriolis-2.x/OS.DISTRIB/Release.Shared/install/etc/coriolis2/coriolisEnv.py`
93109
94-
Conversely, you can setup the current shell environment for Coriolis by
95-
using the helper ``coriolisEnv.py``, then run any Coriolis tool: ::
110+
Then you can launch the GUI:
96111

97-
ego@home:~$ eval `~/coriolis-2.x/src/coriolis/bootstrap/coriolisEnv.py`
98-
ego@home:~$ cgt -V
112+
.. code-block:: bash
99113
114+
ego@home:~$ cgt -V

builder.py

+1
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ def build_cmake_extension(self, ext: CMakeExtension) -> None:
9393

9494
cmake_args += ["-DPOETRY=1"]
9595
cmake_args += ["-DWITH_QT5=1"]
96+
cmake_args += ["-DBUILD_DOC=TRUE"]
9697
cmake_args += ["-DCMAKE_BUILD_RPATH_USE_ORIGIN=1"]
9798
cmake_args += ["-DCMAKE_SKIP_BUILD_RPATH=FALSE"]
9899
cmake_args += ["-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"]

crlcore/doc/crlcore/html/AcmSigda_8h_source.html

-110
This file was deleted.

0 commit comments

Comments
 (0)