Dear developers,

I am excited to announce that SageMath now supports the Meson build system! 
This modern alternative to Autotools brings several key advantages:

   - *Faster Builds* – Meson significantly reduces configuration and 
   compilation time due to better parallelism (some benchmark claim up to 20% 
   reduction of compilation time; in my experience it was closer to 10%)
   - *Better Incremental Builds* – Only necessary files are recompiled, 
   speeding up development. In particular, Meson will automatically recompile 
   Cython files when they change - without the need to run `sage -b` or 
   similar commands. The workflow is thus the same as for Python files: a) 
   make the necessary changes b) save the file c) run the tests (which then 
   automatically use the freshly recompiled version)
   - *Easier Installation* – Meson works smoothly with the standard Python 
   packaging systems, so that the installation of Sagemath using Meson is a 
   simple `pip install .`; no more bootstrap + configure + make.
   - *Cross-Platform * –One of the biggest advantages of Meson is that it 
   natively supports Windows (in addition to Linux and MacOS, of course). This 
   opens up a direct road to natively use Sage on Windows; in fact, 
   https://github.com/sagemath/sage/pull/38872 is the first step towards this 
   goal.
   - *Easier Dependency Management* – External dependencies / system 
   packages are detected more reliably (caveat: some of the extra feature 
   checks are not yet reimplemented in Meson).
   
*Quick Start* 

To build SageMath with Meson, install the required dependencies (either 
using your system package manager or conda), then use:
`pip install --no-build-isolation --editable .` 

Start Sage with `./sage` and run tests using `./sage -t`, as usually.

For more details, check out the SageMath Meson Guide 
<https://doc.sagemath.org/html/en/installation/meson.html>.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sage-devel/6aef0674-5f4a-4576-85e8-f80506ea232fn%40googlegroups.com.

Reply via email to