Skip to content

./configure --enable-editable #31377

@mkoeppe

Description

@mkoeppe

This configure switch will install sagelib in "develop" ("editable", "in-place") mode instead of using sagelib's custom incremental build system.

This will clutter the source directory with build artifacts (which are .gitignore'd, of course) but it has the benefit that for changes to Python files, one does not need to run ./sage -b; restarting Sage is enough.

It may also have benefits in certain develop environments that get confused by sagelib's nonstandard build system.

This ticket is based on a subset of the changes in #30371, which developed a version of setup.py suitable for the in-place build. This version is src/setup.py and distinct from build/pkgs/sagelib/src/setup.py.
The configure switch switches to this version of the build system.

To test:

./bootstrap
./configure --enable-editable
make build

Then use and test as normal. Verify that local/lib/...site-packages/ no longer contains a copy of sage - instead there is an "egg-link" back to the source directory.

Switching to a standard build system (getting rid of the sage-specific "installation cleaner") will also simplify the next step of the modularization effort (#29705).

Depends on #30770
Depends on #30912
Depends on #31357
Depends on #31365
Depends on #31389
Depends on #31390

CC: @tobiasdiez @jhpalmieri @fchapoton @videlec @isuruf @kliem @tscrim

Component: build

Author: Tobias Diez, Matthias Koeppe

Branch: 8b3f390

Reviewer: Matthias Koeppe, Tobias Diez, Jonathan Kliem

Issue created by migration from https://trac.sagemath.org/ticket/31377

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions