Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reorganization into PDK #142

Open
wants to merge 134 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
f17a243
Suppress paranoid bug message if a TrackSegment has no prior Track.
jpc-lip6 Oct 18, 2024
62a7718
Makes block I/O pins square (wire width) to avoid GDS offgrid.
jpc-lip6 Oct 18, 2024
2a021b9
Fix in AutoSegment::updatePosition(), when du S/T exceed contact exte…
jpc-lip6 Oct 20, 2024
dd13956
Implement full support for promoteToPref.
jpc-lip6 Oct 22, 2024
92b3e4d
Fix various errors in minimal area management of segments.
jpc-lip6 Oct 24, 2024
ecaa4da
Move promoteToPref() in AutoSegment as it is sufficiently generic.
jpc-lip6 Oct 24, 2024
e3e229b
Fix comparison error in IntervalTree.
jpc-lip6 Oct 24, 2024
836d783
Removed debug printing.
jpc-lip6 Oct 27, 2024
be6d221
Add a new parameter in chip/core2chip to merge or not the vss/iovss.
jpc-lip6 Oct 30, 2024
7b09d81
Makes the jumper on IO as wide as the connecting wire.
jpc-lip6 Oct 30, 2024
91ceef2
Remove deprecated std::binary_function<>.
jpc-lip6 Oct 30, 2024
6eee8cd
Remove deprecated std::unary_function<>.
jpc-lip6 Oct 30, 2024
90f716a
Forgotten c_str() in Error() variadic CTOR call.
jpc-lip6 Oct 30, 2024
d87bf07
Add a translate(Point&) overload, cleanup of the translate() export.
jpc-lip6 Nov 1, 2024
5dcb3cd
Add a new way of mixing LEF & GDS while loading (support for "galleri…
jpc-lip6 Nov 1, 2024
52ab23d
Small aesthetical fix in LefImport.
jpc-lip6 Nov 1, 2024
8a8cd38
Forgotten to export Polygon.getPoints() to Python.
jpc-lip6 Nov 13, 2024
6d71146
Change non-convex polygon from and error to a state flag.
jpc-lip6 Nov 13, 2024
229f698
Clearly display the final die size in cumulus.chip.
jpc-lip6 Nov 13, 2024
44dbfee
In GdsStream::xyToComponent(), create Polygon for non-rectilinear sha…
jpc-lip6 Nov 13, 2024
2b3ec66
More accurate message about offgrid points in GdsStream.
jpc-lip6 Nov 13, 2024
bdc2046
Avoid cell name collision when loading LEF FOREIGN from GDS.
jpc-lip6 Nov 13, 2024
1ecbce5
Add variable names for IHP DRC scripts for KLayout.
jpc-lip6 Nov 13, 2024
3b51c52
Do not manhatanize Polygon with only 45 degree edge (native support).
jpc-lip6 Nov 16, 2024
6bc772c
Finally a correct management of MACRO ORIGIN in LefImport.
jpc-lip6 Nov 16, 2024
76b9607
Fix minimal width and distances of the vertical begin/end power lines.
jpc-lip6 Nov 16, 2024
ac8ce32
Little rework for more flexibility in the klayout wrapper.
jpc-lip6 Nov 16, 2024
e6a9a76
Expanded capabilities of the klayout doit wrapper.
jpc-lip6 Nov 18, 2024
3f73843
Display the number of diodes and success ratio in log level 1
jpc-lip6 Nov 18, 2024
b9143b3
Add PDK_ROOT, PDK, KLAYOUT_PATH & KLAOUT_HOME to static ShellEnv.
jpc-lip6 Nov 20, 2024
dbb2cb4
Do *not* use "-b" when calling klayout.
jpc-lip6 Nov 20, 2024
46e39e6
Add the possibility to use a non-default Python, add doit to venv.
jpc-lip6 Nov 20, 2024
ff9d736
Support for multiple PROPVALUE while parsing elements.
jpc-lip6 Nov 20, 2024
7db2cfc
The kite.py layout was still refering to defunct "kite".
jpc-lip6 Dec 3, 2024
f672fb1
Fix compability issues of the designflow with doit > 0.34.0.
jpc-lip6 Dec 3, 2024
faa79e0
Exclude the generated .venv from accidental commit.
jpc-lip6 Dec 3, 2024
4bdad2a
Updated gitignore.
gr0ch3 Nov 22, 2024
ecb6d6a
Do not use source cmd in non-bash shells.
gr0ch3 Nov 22, 2024
b907c83
Updated PDM project.
gr0ch3 Nov 22, 2024
82e9471
Create a Docker local development container.
gr0ch3 Nov 22, 2024
3bfbf20
Add basic Ubuntu packaging.
gr0ch3 Nov 22, 2024
85a86db
Add DoIt 0.34.2 to PDM project.
gr0ch3 Nov 26, 2024
33f973a
Update devel container for proper env variables usage.
gr0ch3 Nov 26, 2024
f94ad93
Fixed DoIt version in PDM project.
gr0ch3 Nov 28, 2024
399b297
Updated gitignore.
gr0ch3 Nov 28, 2024
18d990e
Updated the local dev container.
gr0ch3 Nov 28, 2024
15594a0
Updated main and docker README.
gr0ch3 Nov 29, 2024
cec0f5e
Updating docker README.
gr0ch3 Nov 30, 2024
d4d943a
Moved DEB pkg generation script into packaging.
gr0ch3 Nov 30, 2024
39f95d7
Fixed double virtualenv activation.
gr0ch3 Nov 30, 2024
f6d0766
Generate DEB copyright programmatically.
gr0ch3 Dec 1, 2024
ccdd63f
Updated volume based container.
gr0ch3 Dec 2, 2024
2a703a6
Fixed volume container.
gr0ch3 Dec 5, 2024
a249eb6
Volume containers gets graphic passthrough.
gr0ch3 Dec 5, 2024
649fb3d
Improved workspace config.
gr0ch3 Dec 6, 2024
c56fbdd
Add .env example.
gr0ch3 Dec 19, 2024
05af196
Updated documentation.
gr0ch3 Dec 19, 2024
700d15c
Update README.rst
gr0ch3 Dec 19, 2024
07b2258
Update README.rst
gr0ch3 Dec 19, 2024
81c397f
Update gitignore.
gr0ch3 Dec 10, 2024
4110523
Add MacOS CI.
gr0ch3 Dec 10, 2024
de6d14b
Add lsxlib cells wheel.
gr0ch3 Dec 10, 2024
2356f56
Add lsxram cells wheel.
gr0ch3 Dec 10, 2024
b311be3
Add nsxlib cells wheel.
gr0ch3 Dec 10, 2024
b9bee68
Add hibikino cells wheel.
gr0ch3 Dec 11, 2024
d85cd32
Add mpxlib cells wheel.
gr0ch3 Dec 11, 2024
2596345
Add msplib cells wheel.
gr0ch3 Dec 11, 2024
323ad5a
Add msxlib cells wheel.
gr0ch3 Dec 11, 2024
35c152e
Add niolib cells wheel.
gr0ch3 Dec 11, 2024
abd2941
Add nramlib cells wheel.
gr0ch3 Dec 11, 2024
304bb8e
Add nrf2lib cells wheel.
gr0ch3 Dec 11, 2024
8d5762a
Add nrflib cells wheel.
gr0ch3 Dec 11, 2024
abe6d81
Add nsxlib2 cells wheel.
gr0ch3 Dec 11, 2024
32e8465
Add phlib cells wheel.
gr0ch3 Dec 11, 2024
cd35a1f
Add phlib80 cells wheel.
gr0ch3 Dec 11, 2024
28a6aef
Add sky130 cells wheel.
gr0ch3 Dec 11, 2024
f6853b2
Add vsclib cells wheel.
gr0ch3 Dec 11, 2024
7fd2055
Add build makefile for cells wheels
gr0ch3 Dec 18, 2024
5134f8e
Fixed setuptool package finding.
gr0ch3 Dec 18, 2024
2af7f82
lsxram is an IP.
gr0ch3 Dec 18, 2024
af38785
Add PDK common.
gr0ch3 Dec 18, 2024
a1c40ed
Add PDK Sky130.
gr0ch3 Dec 18, 2024
3b97325
Using DoIt version 0.36.0.
gr0ch3 Dec 20, 2024
36dbb71
Add main Makefile.
gr0ch3 Dec 21, 2024
8a549e6
Renamed IP to ips.
gr0ch3 Dec 21, 2024
bd70d1e
Add sxlib cells library.
gr0ch3 Dec 23, 2024
6945b2a
Add symbolic PDK.
gr0ch3 Jan 6, 2025
f635d9d
Add CMOS PDK.
gr0ch3 Jan 10, 2025
f650885
Updated Makefiles for PDKs and IPs.
gr0ch3 Jan 10, 2025
03f815d
Add sky130_fd_pr PDK using Sky130 from Google as submodule.
gr0ch3 Jan 10, 2025
9fd57b7
Fixed typo in meson project name.
gr0ch3 Jan 10, 2025
7cb0110
Fixed environment variable access in cumulus.
gr0ch3 Jan 10, 2025
0c28bef
Moved setupCMOS from cumulus to CMOS PDK.
gr0ch3 Jan 10, 2025
ecb18a7
Removed cells, now symbolic PDK.
gr0ch3 Jan 10, 2025
5adb6a8
Reorganized symbolic PDK.
gr0ch3 Jan 10, 2025
b245372
Updated project documentation.
gr0ch3 Jan 12, 2025
f788410
Using libbfd to debug python module segfaults.
gr0ch3 Jan 13, 2025
6e254f3
Add noX11 docker container.
gr0ch3 Jan 14, 2025
ad159e1
Reorganized symbolic PDK.
gr0ch3 Jan 17, 2025
fa8b8d8
Reorganized CMOS PDK.
gr0ch3 Jan 17, 2025
69d270f
Updated PDKs Makefile.
gr0ch3 Jan 17, 2025
47e7e62
Updated symbolic PDK.
gr0ch3 Jan 17, 2025
370e4b9
Updated CMOS PDK.
gr0ch3 Jan 17, 2025
b50d2f9
Fixed cumulus technos.
gr0ch3 Jan 17, 2025
d657623
Using niolib and sxlib in setup CMOS.
gr0ch3 Jan 20, 2025
a8c3517
Removed wrong submodule.
gr0ch3 Jan 21, 2025
ccac6c4
Add sky130 pdk as submodule in PDK common.
gr0ch3 Jan 21, 2025
94af8a7
Add common PDK.
gr0ch3 Jan 21, 2025
0ca0ad0
Add GF180MCU PDK as submodule in common PDK.
gr0ch3 Jan 21, 2025
dbc8dbf
Add IHP Open PDK as submodule in common PDK.
gr0ch3 Jan 21, 2025
a094e14
Add common PDK wheel build files.
gr0ch3 Jan 21, 2025
254e61e
Add pdks Makefile.
gr0ch3 Jan 21, 2025
84d14dd
Restructured PDK sg13g2_lsx.
gr0ch3 Jan 27, 2025
a33b5f5
Add cells for nsxlib2.
gr0ch3 Jan 27, 2025
01e3a0b
Add cells for lsxlib.
gr0ch3 Jan 27, 2025
5e403f7
Add symbolic cells PDK.
gr0ch3 Jan 27, 2025
5119d66
Restructured PDK sg13g2_nsx2.
gr0ch3 Jan 27, 2025
bdd50a1
Restructured PDK sky130_nsx2.
gr0ch3 Jan 27, 2025
a72a839
Restructured PDK gf180mcu_nsx2.
gr0ch3 Jan 28, 2025
4bba8e8
Restructured PDK sky130_vsc.
gr0ch3 Jan 30, 2025
4e32345
Restructured PDK sky130_lsx.
gr0ch3 Jan 30, 2025
631a92f
Typo.
gr0ch3 Jan 30, 2025
4edf9b9
Restructured PDK scmos2m1u_nsx2.
gr0ch3 Jan 30, 2025
6d37e52
Add doc to lsxlib.
gr0ch3 Jan 30, 2025
cf0d4fc
Cleanups.
gr0ch3 Jan 30, 2025
9873927
Restructured PDK cmos_sx.
gr0ch3 Jan 30, 2025
21faee1
Add niolib cells to symbolic cells PDK.
gr0ch3 Jan 31, 2025
a3add13
Cleanups.
gr0ch3 Jan 31, 2025
cdc1a97
Symbolic cells brough into symbolic cells PDK.
gr0ch3 Jan 31, 2025
21a0e6e
Updated Makefile.
gr0ch3 Jan 31, 2025
25cea0f
Fixed typos.
gr0ch3 Jan 31, 2025
e69219f
Updated Makefile.
gr0ch3 Jan 31, 2025
9468bdb
Updated Makefiles.
gr0ch3 Jan 31, 2025
cf9a8f8
Forgot path definition in each PDK.
gr0ch3 Jan 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
22 changes: 22 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"name": "coriolis-eda",
"dockerComposeFile": "../docker/ubuntu24.04/docker-compose.yml",
"service": "coriolis-eda",
"workspaceFolder": "/home/developer/coriolis-2.x",
"customizations":{
"vscode": {
"settings":{
"terminal.integrated.shell.linux": "/bin/bash"
},
"extensions": [
"ms-python.python",
"ms-python.debugpy",
"ms-python.vscode-pylance",
"donjayamanne.python-environment-manager",
"vscode.cpptools-extension-pack",
"ms-vscode.makefile-tools",
"mrmomo.meson-build"
]
}
}
}
4 changes: 4 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
CMAKE_FRAMEWORK_PATH=/opt/homebrew/opt/qt@5/lib/cmake/
PKG_CONFIG_PATH=/opt/homebrew/opt/qt@5/lib/pkgconfig:/opt/homebrew/opt/qwt-qt5/lib/pkgconfig
PYTHON3=python3.10
VENV_PATH=${PWD}/.venv
14 changes: 12 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*.pyc
*.log
*.bak
.#*
*.log

TAGS
GTAGS
Expand All @@ -12,6 +12,7 @@ GRTAGS
.dir-locals.el
.projectile
.vscode
.venv

lefdef/src/lef/lef/lef.tab.h
lefdef/src/def/def/def.tab.h
Expand All @@ -22,10 +23,19 @@ html/
latex/

build/
install/
debug/
pkgs/
release/
dist/
venv/
coriolis.egg-info/
.venv/
.env
*.egg-info/
.pdm-python
.doit.db
.DS_Store
wheelhouse/

bootstrap/coriolis2.spec

Expand Down
9 changes: 9 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,12 @@
[submodule "documentation/pelican-plugins"]
path = documentation/pelican-plugins
url = https://github.com/getpelican/pelican-plugins
[submodule "pdks/common/libs.tech/skywater-pdk-libs-sky130_fd_pr"]
path = pdks/common/libs.tech/skywater-pdk-libs-sky130_fd_pr
url = https://github.com/google/skywater-pdk-libs-sky130_fd_pr.git
[submodule "pdks/common/libs.tech/globalfoundries-pdk-libs-gf180mcu_fd_pr"]
path = pdks/common/libs.tech/globalfoundries-pdk-libs-gf180mcu_fd_pr
url = https://github.com/google/globalfoundries-pdk-libs-gf180mcu_fd_pr.git
[submodule "pdks/common/libs.tech/IHP-Open-PDK"]
path = pdks/common/libs.tech/IHP-Open-PDK
url = https://github.com/IHP-GmbH/IHP-Open-PDK.git
70 changes: 70 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
## Main Coriolis EDA Makefile

### Environment variables and venv setup
PYTHON3 := python3
DIST_PATH := ./dist
VENV_PATH := .venv

venv := . ${VENV_PATH}/bin/activate;
PIP_INSTALL := $(venv) pip3 install --upgrade
PACKAGES := pip setuptools build wheel cibuildwheel

LOG_FILE := coriolis_eda-build.log

.PHONY: init venv-setup coriolis_eda

init:
@if [ ! -f .env ]; then \
echo "Missing .env file. Copying .env.example to .env"; \
cp .env.example .env; \
fi

venv-setup: init
${PYTHON3} -m venv ${VENV_PATH} 2>&1 | tee -a $(LOG_FILE)
$(foreach pkg,$(PACKAGES),$(PIP_INSTALL) $(pkg);)

### Coriolis EDA target
coriolis_eda: venv-setup
@echo "Building Coriolis EDA wheel package..." 2>&1 | tee -a $(LOG_FILE)
$(eval include .env)
@echo "CMAKE_FRAMEWORK_PATH=${CMAKE_FRAMEWORK_PATH}"
@echo "PKG_CONFIG_PATH=${PKG_CONFIG_PATH}"
$(venv) ${PYTHON3} -m build -w -o ${DIST_PATH} 2>&1 | tee -a $(LOG_FILE)

### PDKs target
pdks: coriolis_eda
@make -C ./pdks all
@echo "Built all PDKs wheel packages" 2>&1 | tee -a $(LOG_FILE)

### IPs target
ips: coriolis_eda
@make -C ./ips all
@echo "Built all IPs wheel packages" 2>&1 | tee -a $(LOG_FILE)

### All target
all: pdks ips
@echo "Built all wheel packages" 2>&1 | tee -a $(LOG_FILE)

### Install target
install: all
@echo "Installing all Coriolis wheel packages in ${VENV_PATH} ..." 2>&1 | tee -a $(LOG_FILE)
$(venv) pip3 install --upgrade --force-reinstall ${DIST_PATH}/*.whl
@echo "Installed all Coriolis wheel packages" 2>&1 | tee -a $(LOG_FILE)

## Uninstall target
uninstall:
@make -C ./pdks uninstall
$(venv) pip3 uninstall -y coriolis_eda
@echo "Uninstalled all Coriolis wheel packages" 2>&1 | tee -a $(LOG_FILE)

### Clean target
clean:
@echo "Cleaning up..."
@rm -rf ./{build,*.egg-info}
@rm -f $(LOG_FILE)

### MrProper target
mrproper: clean
@rm -rf ${DIST_PATH}
@make -C ./pdks clean
@make -C ./ips clean
14 changes: 11 additions & 3 deletions Makefile.LIP6
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@


venv = source .venv/bin/activate;
venv = . .venv/bin/activate;

REGRESSION_DIR =
ifneq ($(findstring nightly,$(shell pwd)),)
Expand All @@ -16,6 +16,8 @@
endif
ifeq ($(findstring abuild/rpmbuild,$(shell pwd)),)
$(info Using LIP6 build directory tree scheme)
# PYTHON_BIN = /usr/bin/python3.11
PYTHON_BIN = python3
SRC_DIR = ${HOME}$(REGRESSION_DIR)/coriolis-2.x/src
CORIOLIS_SRC = ${SRC_DIR}/coriolis
ALLIANCE_SRC = ${SRC_DIR}/alliance/alliance/src
Expand All @@ -24,6 +26,7 @@
PREFIX = ${HOME}$(REGRESSION_DIR)/coriolis-2.x/$(BUILDTYPE)/install
else
$(info Using rpmbuild directory tree scheme)
PYTHON_BIN = python3
SRC_DIR = ${HOME}/rpmbuild/BUILD
CORIOLIS_SRC = ${SRC_DIR}/coriolis-eda-2.5.5
ALLIANCE_SRC = ${SRC_DIR}/alliance/alliance/src
Expand All @@ -33,6 +36,7 @@
PDM_BIN = $(CORIOLIS_SRC)/.venv/bin/pdm
MESON_BIN = $(CORIOLIS_SRC)/.venv/bin/meson
PELICAN_BIN = $(CORIOLIS_SRC)/.venv/bin/pelican
DOIT_BIN = $(CORIOLIS_SRC)/.venv/bin/doit



Expand Down Expand Up @@ -71,7 +75,7 @@ check_dir:


$(CORIOLIS_SRC)/.venv:
python3 -m venv .venv
$(PYTHON_BIN) -m venv .venv


$(MESON_BIN): $(CORIOLIS_SRC)/.venv
Expand All @@ -82,13 +86,17 @@ $(PELICAN_BIN): $(CORIOLIS_SRC)/.venv
$(venv) if [ ! -x "$(PELICAN_BIN)" ]; then pip install pelican; fi


$(DOIT_BIN): $(CORIOLIS_SRC)/.venv
$(venv) if [ ! -x "$(DOIT_BIN)" ]; then pip install doit==0.33.1; fi


ifeq ($(USE_SYSTEM_PDM),)

$(PDM_BIN): $(CORIOLIS_SRC)/.venv
$(venv) if [ ! -x "$(PDM_BIN)" ]; then pip install pdm; pdm install --no-self -d --plugins; fi


install_venv: $(PDM_BIN) $(MESON_BIN) $(PELICAN_BIN)
install_venv: $(PDM_BIN) $(MESON_BIN) $(PELICAN_BIN) #$(DOIT_BIN)

else

Expand Down
55 changes: 38 additions & 17 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
:align: center
:width: 10%


======================
Coriolis Open EDA Tool
======================
Expand All @@ -23,7 +22,7 @@ Main documentation is available at: https://coriolis.lip6.fr/

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>`_.

Coriolis is part of a set of three repositories that are closely relateds.
Coriolis is one of a three repositories set that are closely related:

* Alliance

Expand All @@ -38,7 +37,6 @@ Coriolis is part of a set of three repositories that are closely relateds.

https://github.com/lip6/alliance-check-toolkit


Purpose
=======

Expand All @@ -47,7 +45,7 @@ main components are the Hurricane database, the Etesian placer and the Katana
router, but other tools can use the Hurricane database and the parsers
provided.

Coriolus can be used via both the ```cgt`` graphical tool <http://coriolis.lip6.fr/pages/users-guide.html#id24>`_ and via the `rich Python API <http://coriolis.lip6.fr/pages/python-tutorial.html>`_.
Coriolus can be used via both the ``cgt`` graphical tool <http://coriolis.lip6.fr/pages/users-guide.html#id24>`_ and via the `rich Python API <http://coriolis.lip6.fr/pages/python-tutorial.html>`_.

Installation
============
Expand All @@ -66,10 +64,17 @@ Building Coriolis

Most folk will only need to install using pip, but if you want to develop or need to build from scratch, read on!

Docker
======

A development container is provided for both development and Linux distributions specific packaging purposes.
Check out the *docker* folder and its documentation.
It gathers all three Coriolis, Alliance and Alliance Check Toolkit repositories in one comprehensive workspace.

Ubuntu/Windows WSL2 Build Environment
=====================================

If you haven't already got them, install `build-essential` and `git`
If you haven't already, install `build-essential` and `git`:

.. code-block:: bash

Expand All @@ -92,11 +97,10 @@ Install the build dependencies:
qtbase5-dev libqt5svg5-dev libqwt-qt5-dev libbz2-dev \
rapidjson-dev libboost-all-dev libeigen3-dev libxml2-dev


Mac OSX Build Environment
=========================

To build on Mac, first install _Homebrew: https://brew.sh. Be sure to follow all the instructions it gives after install so HOMEBREW_PREFIX gets set!
To build on Mac, first install _Homebrew: https://brew.sh. Be sure to follow all the instructions it gives after install so HOMEBREW_PREFIX gets set!

Clone the repo:

Expand All @@ -110,9 +114,32 @@ To install the prereqisites:

.. code-block:: bash

brew install ccache doxygen pelican qt@5 qwt-qt5 rapidjson boost eigen
brew install --cask mactex
brew install ccache doxygen pelican qt@5 qwt-qt5 rapidjson boost eigen binutils
brew install --cask mactex

If required for debug, install binutils. Under MacOS > 12, libiberty is to be installed explicitly.
Modify the Brew formulae:

.. code-block:: bash

export HOMEBREW_NO_INSTALL_FROM_API=1
brew tap --force homebrew/core
brew edit binutils

Add "--enable-install-libiberty" to configuration args. Then reinstall binutils:

.. code-block:: bash

brew reinstall -s binutils

Both libbfd, libiberty are installed in $HOMEBREW_PREFIX/opt/binutils/bin.

Also install X11 dependencies, we suggest using XQuartz as X11 is no longer included in MacOS:

.. code-block:: bash

brew install automake libtool libx11 openmotif
brew install --cask xquartz

We need to set some environment variables for finding the cask only components. We use dotenv to set these in the PDM venv (see below)

Expand All @@ -122,8 +149,6 @@ We need to set some environment variables for finding the cask only components.
dotenv set CMAKE_FRAMEWORK_PATH "$HOMEBREW_PREFIX/opt/qt@5/lib/cmake/"
dotenv set PKG_CONFIG_PATH "$HOMEBREW_PREFIX/opt/qt@5/lib/pkgconfig:$HOMEBREW_PREFIX/opt/qwt-qt5/lib/pkgconfig"



Building Coriolis
=================

Expand All @@ -149,6 +174,8 @@ Development environment

For day-to-day development, its currently best to use meson and ninja directly. Currently there are `issues with using a Python editable install`_.

An automated deployment and setup of the workspace is provided, refer to the docker development container.
Manual configuration is described in the rest of this section.

We use PDM_ to manage our development environment, which uses Python's venv_ system.

Expand Down Expand Up @@ -186,14 +213,12 @@ You can also install locally using:
pdm run meson setup builddir -Dpython.install_env=system
pdm run ninja -C builddir install


For more configuration and install options, see:

.. code-block:: bash

pdm run meson configure


.. _issues with using a Python editable install: https://github.com/lip6/coriolis/issues/67
.. _venv: https://www.dataquest.io/blog/a-complete-guide-to-python-virtual-environments/#how-to-use-python-environments
.. _shell completion: https://pdm.fming.dev/latest/#shell-completion
Expand Down Expand Up @@ -226,11 +251,7 @@ You'll need the following prerequisites:
* pelican
* latex




Documentation
=============

The full documentation for Coriolis can be found at http://coriolis.lip6.fr/pages/documentation.html

6 changes: 3 additions & 3 deletions anabatic/src/AntennaProtect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1158,9 +1158,9 @@ namespace Anabatic {
cmess2 << Dots::asString ( " - Antenna gate maximum WL" , DbU::getValueString(etesian->getAntennaGateMaxWL()) ) << endl;
cmess2 << Dots::asString ( " - Antenna diode maximum WL" , DbU::getValueString(etesian->getAntennaDiodeMaxWL()) ) << endl;
cmess2 << Dots::asString ( " - Antenna segment maximum WL", DbU::getValueString(segmentMaxWL) ) << endl;
cmess2 << Dots::asInt ( " - Total needed diodes", total ) << endl;
cmess2 << Dots::asInt ( " - Failed to allocate" , failed ) << endl;
cmess2 << Dots::asPercentage( " - Success ratio" , (float)(total-failed)/(float)total ) << endl;
cmess1 << Dots::asInt ( " - Total needed diodes", total ) << endl;
cmess1 << Dots::asInt ( " - Failed to allocate" , failed ) << endl;
cmess1 << Dots::asPercentage( " - Success ratio" , (float)(total-failed)/(float)total ) << endl;

stopMeasures();
printMeasures( "antennas" );
Expand Down
Loading