#13031: Use cythonize() from cython for Sage module building.
----------------------------------------------------+-----------------------
       Reporter:  robertwb                          |         Owner:  
GeorgSWeber                    
           Type:  enhancement                       |        Status:  closed    
                     
       Priority:  major                             |     Milestone:  sage-5.9  
                     
      Component:  build                             |    Resolution:  fixed     
                     
       Keywords:  sd40.5                            |   Work issues:            
                     
Report Upstream:  N/A                               |     Reviewers:  Jeroen 
Demeyer, R. Andrew Ohana
        Authors:  Robert Bradshaw, R. Andrew Ohana  |     Merged in:  
sage-5.9.beta4                 
   Dependencies:  #13029, #13432                    |      Stopgaps:            
                     
----------------------------------------------------+-----------------------

Comment (by leif):

 Replying to [comment:71 leif]:
 > There are also reports on sage-devel that `sage -clone` was broken in
 5.9 (and later), now rebuilding the whole Sage library.  Not sure what
 exactly introduced that though.

 Looks like just the fact that `sage-clone` doesn't copy
 `$SAGE_SRC/.cython_version` causes this...

 (where `$SAGE_SRC` is [meanwhile] `$SAGE_ROOT/devel/sage`)

 [[BR]]

 Also (but this doesn't seem to be the cause), `sage-clone` does not (or no
 longer, presumably at least since a while) copy Cython-generated ''header
 files'' (`*.h`), as these do '''not''' contain a comment on the first line
 stating that they were generated by Cython, so the following doesn't work
 for them:
 {{{
 #!python
 print "Copying over all Cython auto-generated .c, .cpp and .h files..."
 def cpdir(src, dest):
     if not os.path.isdir(dest):
         return
     for F in os.listdir(src):
         if os.path.isdir(src + '/' + F):
             cpdir(src + '/' + F, dest + '/' + F)
         else:
             ext = os.path.splitext(F)[-1]
             if ext in ['.h', '.c', '.cpp']:
                 if 'Cython' in open(src + '/' + F).readline():
                     os.link(src + '/' + F, dest + '/' +F)
                     os.utime(dest + '/' +F, None)

 cpdir(os.path.abspath('sage/sage'), os.path.abspath(branch + '/sage'))
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13031#comment:72>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to