Opened 13 years ago

Closed 7 years ago

#7987 closed enhancement (fixed)

Most extensions don't need to be listed in module_list

Reported by: Robert Bradshaw Owned by: Georg S. Weber
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: build Keywords:
Cc: William Stein, Mike Hansen, Jason Grout, Leif Leonhardy Merged in:
Authors: Reviewers: Jeroen Demeyer
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by Jeroen Demeyer)

Unless special libraries or C flags are needed, we can auto-generate almost this whole list, which simplifies the making of new .pyx files in the standard library.

I am sure this needs rebasing WRT any new modules that have been added.

See also #15410.

Attachments (1)

7987-module_list-cleanup.patch (98.2 KB) - added by Robert Bradshaw 13 years ago.

Download all attachments as: .zip

Change History (20)

comment:1 Changed 13 years ago by Robert Bradshaw

Status: newneeds_review

Eventually, the library, include, and language information should be able to be pulled out of the files themselves by Cython...

Changed 13 years ago by Robert Bradshaw

comment:2 Changed 13 years ago by Robert Bradshaw

Cc: William Stein Mike Hansen added

comment:3 Changed 13 years ago by Robert Bradshaw

Eventually, this should be part of Cython. Also, clang, clib, etc. should be allowed in .pxd files and be transitive (for example, everything using Pynac or NTL would automatically be C++ and get the right library).

comment:4 Changed 13 years ago by Jason Grout

Cc: Jason Grout added

comment:5 Changed 13 years ago by Robert Bradshaw

Description: modified (diff)

I will probably implement something like this in Cython directly, though of course heavily inspired by what we want for Sage.

comment:6 Changed 13 years ago by Leif Leonhardy

Cc: Leif Leonhardy added

comment:7 Changed 13 years ago by Leif Leonhardy

Status: needs_reviewneeds_work

Not surprising (see ticket description), the patches need to be rebased.

The merged Cygwin patch involved many changes to module_list.py, too.

Btw, IMHO libcsage and libstdcxx should not be "linked" unconditionally (especially regardless of the module's language) to each and every module. (I recently started sorting out which modules really directly use libcsage, and did add "stdcxx" to libraries only if language=="c++". Currently suspended work in progress...)

comment:8 in reply to:  7 ; Changed 13 years ago by Robert Bradshaw

Replying to leif:

Btw, IMHO libcsage and libstdcxx should not be "linked" unconditionally (especially regardless of the module's language) to each and every module. (I recently started sorting out which modules really directly use libcsage, and did add "stdcxx" to libraries only if language=="c++". Currently suspended work in progress...)

For sure, but I figured it'd be better to refractor and clean things up in separate steps (in case one or the other has unintended consequences).

For the record, I plan to add this functionality to Cython soon (including transitivity of library dependance), so that may make this patch invalid. Sorting what modules actually need what will be very useful though.

comment:9 in reply to:  8 Changed 13 years ago by Leif Leonhardy

Replying to robertwb:

Replying to leif:

Btw, IMHO libcsage and libstdcxx should not be "linked" unconditionally (especially regardless of the module's language) to each and every module. (I recently started sorting out which modules really directly use libcsage, and did add "stdcxx" to libraries only if language=="c++". Currently suspended work in progress...)

For sure, but I figured it'd be better to refractor and clean things up in separate steps (in case one or the other has unintended consequences).

Yes. The unconditional inclusion is anyhow performed in setup.py.

For the record, I plan to add this functionality to Cython soon (including transitivity of library dependance), so that may make this patch invalid. Sorting what modules actually need what will be very useful though.

I just wanted to decrease the number of tickets needing review. ;-)

P.S.: s/stdcxx/stdc++/

comment:10 Changed 10 years ago by Leif Leonhardy

Status: needs_workneeds_info

comment:11 Changed 9 years ago by Jeroen Demeyer

Milestone: sage-5.11sage-5.12

comment:12 Changed 9 years ago by For batch modifications

Milestone: sage-6.1sage-6.2

comment:13 Changed 9 years ago by For batch modifications

Milestone: sage-6.2sage-6.3

comment:14 Changed 8 years ago by For batch modifications

Milestone: sage-6.3sage-6.4

comment:15 Changed 8 years ago by Jeroen Demeyer

Description: modified (diff)
Status: needs_infoneeds_work

comment:16 in reply to:  description Changed 8 years ago by Leif Leonhardy

Milestone: sage-6.4sage-6.6
Type: defectenhancement

Replying to jdemeyer:

See also #15140.

Sure?

comment:17 Changed 8 years ago by Jeroen Demeyer

Description: modified (diff)

comment:18 Changed 7 years ago by Jeroen Demeyer

Milestone: sage-6.6sage-duplicate/invalid/wontfix
Reviewers: Jeroen Demeyer
Status: needs_workpositive_review

This is way too outdated to apply, it also incorrectly adds the libraries to .pyx files instead of .pxd files (see #18450) and several parts of this have already been done.

comment:19 Changed 7 years ago by Volker Braun

Resolution: fixed
Status: positive_reviewclosed
Note: See TracTickets for help on using tickets.