Vincent Delecroix wrote:
> On 31/08/16 19:48, leif wrote:
>> leif wrote:
>>> leif wrote:
>>>> Vincent Delecroix wrote:
>>>>> Hello,
>>>>>
>>>>> In the optional package giacpy there are some extension classes that
>>>>> depend on SageObject. Hence if I do some modification to SageObject
>>>>> and
>>>>> perform "make" the giacpy package is broken. Is there a solution to
>>>>> rebuild external packages that depends on sagelib when doing "make"?
>>>>
>>>> Try adding $(SAGERUNTIME) to its dependencies file, *before* the '|'.
>>
>> Next suggestion (hopefully the last, and a working one):
>>
>> Instead of $(SAGERUNTIME), add
>>
>> $(SAGE_SRC)/build/cythonized/sage/structure/sage_object.c
>>
>> (again, *before* the pipe, but still put $(SAGERUNTIME) after it).
> 
> This might not work. giacpy depends on Integer and Rational. Hence
> indirectly from SageObject. Can I safely only set dependencies to
> $(SAGE_SRC)/build/cythonized/sage/rings/integer.c and
> $(SAGE_SRC)/build/cythonized/sage/rings/rational.c? Are these
> necessarily regenerated if SageObject get changed?

I guess integer.pyx and rational.pyx only depend on sage_object.pxd, so
cython will only regenerate the C files of the latter if the former
changed.  But that seems to be what you intend.

It's still a bit hackish, but only needed for developers anyway, as
users upgrade the whole Sage library such that in most if not all cases
"everything" will get rebuilt.

While we may integrate giacpy into the Sage library as an optional
extension (though somebody suggested to make giac standard IIRC), a more
generic solution to let (optional) packages depend on specific parts of
the Sage library would be good.

[First step would perhaps again be to let cython generate Makefiles or
Makefile snippets we could then "install" along with a package that uses
Cython and depends on the Sage library.  Then such packages could
themselves "decide" when they need to get rebuilt.  Although the latter
is not much different to manually changing the dependencies file of a
package, which after all belongs to it, not really Sage, it would be a
bit more automated and hence less tedious and error-prone.]


-leif


-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to