Skip to content

Add --with-system-<spkg> options to configure #27567

Closed
@embray

Description

As discussed in other tickets, such as #27373 and #26899, it would sometimes be useful to be able to explicitly specify, at configure-time, whether or not a system package can be used to fulfill some SPKG dependency.

With the work being done for #27330, it is currently the case that if an SPKG has a spkg-configure.m4, and the checks performed for the system package succeed, then the system package will always be used whether you want to or not.

This is a problem because even of the configure-time checks succeed, there could be previously unknown or unanticipated problems with using a particular version of the system package or some package+platform combination.

Therefore it is useful (if unfortunate) to be able to force use of the SPKG and disable checking for the system package. In principle we would want to react to the broken package+platform combination as well, either by fixing it somehow or blacklisting that particular combination at configure-time. However, by providing this option, we at least don't have to react immediately to such problems if/when they arise (e.g. #26899).

This ticket adds a --with-system-<spkg> flag to configure; e.g. --with-system-zlib. By default this is enabled (the current behavior), but by passing --with-system-zlib=no or --without-system-zlib then the SPKG will be installed without checking the system for the dependency.

This also adds the option to pass --with-system-zlib=force meaning that if the dependency cannot be found on the system then configure will abort with an error message.

This would effectively replace #21538.

CC: @dimpase @jdemeyer @jhpalmieri

Component: build: configure

Author: Erik Bray

Branch/Commit: b6aa97f

Reviewer: Dima Pasechnik

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

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions