Opened 10 years ago

Closed 4 years ago

#7987 closed enhancement (fixed)

Most extensions don't need to be listed in module_list

Reported by: robertwb Owned by: GeorgSWeber
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: build Keywords:
Cc: was, mhansen, jason, leif Merged in:
Authors: Reviewers: Jeroen Demeyer
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description (last modified by jdemeyer)

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 robertwb 10 years ago.

Download all attachments as: .zip

Change History (20)

comment:1 Changed 10 years ago by robertwb

  • Status changed from new to needs_review

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

Changed 10 years ago by robertwb

comment:2 Changed 10 years ago by robertwb

  • Cc was mhansen added

comment:3 Changed 10 years ago by robertwb

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 10 years ago by jason

  • Cc jason added

comment:5 Changed 10 years ago by robertwb

  • 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 10 years ago by leif

  • Cc leif added

comment:7 follow-up: Changed 10 years ago by leif

  • Status changed from needs_review to needs_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 ; follow-up: Changed 10 years ago by 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).

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 10 years ago by leif

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 7 years ago by leif

  • Status changed from needs_work to needs_info

comment:11 Changed 6 years ago by jdemeyer

  • Milestone changed from sage-5.11 to sage-5.12

comment:12 Changed 6 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:13 Changed 6 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:14 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

comment:15 Changed 5 years ago by jdemeyer

  • Description modified (diff)
  • Status changed from needs_info to needs_work

comment:16 in reply to: ↑ description Changed 5 years ago by leif

  • Milestone changed from sage-6.4 to sage-6.6
  • Type changed from defect to enhancement

Replying to jdemeyer:

See also #15140.

Sure?

comment:17 Changed 5 years ago by jdemeyer

  • Description modified (diff)

comment:18 Changed 4 years ago by jdemeyer

  • Milestone changed from sage-6.6 to sage-duplicate/invalid/wontfix
  • Reviewers set to Jeroen Demeyer
  • Status changed from needs_work to positive_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 4 years ago by vbraun

  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.