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.