On Tue, Oct 13, 2009 at 6:40 PM, Dr. David Kirkby <david.kir...@onetel.net> wrote: > > William Stein wrote: > >>> To be honest, if we have a configure script at the top level, we might >>> as well move the stuff from prereq into it. It would look a lot more >>> 'normal' if someone see the configure script was checking for the >>> compilers, checking for perl etc. Just do not let the configure script >>> create the makefile in the normal way, but instead create the exact same >>> makefile we have. >> >> We could do that to look more normal. But keep in mind that prereq >> doesn't really *do* anything for the Sage install. It is merely a >> check. And I don't think we should force it to *have* to be autoconf, >> which your suggestion would do (i.e., who knows, maybe someday our >> students rewrite the prereq script in Python or something...). Also, >> prereq leaves no data laying around that is used in any way by the >> rest of Sage. But I agree, it would looked "normal". >> >> -- William > > I'm not saying the top level configure script needs to be created by > autoconf, though it would look more 'normal' if it was, as 95% of > 'configure' scripts are created using autoconf. > > But given we have prereq working with autoconf and nobody has yet > re-written it in python, it would seem sensible to me to just move the > functionality to a top-level configure script. If as some later date, > someone want to rewrite it in python, then they can. > > The idea of copying the Makefile from some other location sounds good. > Much better than my idea of echo statements, as it could be changed > quickly, without having to run autoconf. > > Ideally 'make clean' or 'make distclean' would actually remove the > makefile too. (BTW, the .BUILDSTART file should be added to the list of > things that gets removed with a 'make clean').
If we move prereq into configure, then the current workflow which people are used to with sage -- namely "just type make" -- will no longer work. We should keep in mind the pain for some people when we make backwards incompatible changes that make things more complicated for people. There has to be a significant benefit. Keep in mind that a *lot* of Sage users -- probably most -- are not UNIX hackers, and would consider the second version below more complicated with no gain at all: TO BUILD SAGE: 1. Type "make" vs TO BUILD SAGE: 1. Type "./configure" 2. Type make Obviously *I* could personally get quickly get used to the second option, and in fact as I mentioned earlier I'm annoyed that Sage's build system is a little different than most UNIX software (I.e., skipping the ./configure step). But I have to balance this with concern for the vast majority of people that build Sage from source. (Last month we had *no* sage releases and there were over 500 source downloads.) Wow, it has been a full 2 months since a Sage release. Big complaint to Harald Schilly: How do I find source code for old releases of SAGE!? 1. If I go to http://sagemath.org/src/ there is only the last release. 2. If I click on "up one directory level", I'm just dumped to http://sagemath.org, which makes no sense. 3. Clicking on changelogs gives http://sagemath.org/src/changelogs/index.html which does indeed list changelogs. But it also lists a file "OLD_VERSIONS_HERE.txt", randomly right in the middle. Looking at that file I find the completely wrong statement: "These are archived old versions. For the new versions see the main SAGE website. http://modular.ucsd.edu/sage". 4. There is a random "README.txt" for no reason also in the middle of http://sagemath.org/src/changelogs/ 5. Finally, logging into the server I find that http://sagemath.org/src-old/ has the old versions. But how could I find that otherwise? Also, the description at the top of src-old doesn't explain what it is accurately. It would be better to say "Here you can download the source code for any past version of Sage so you can build it from source." 6. This listing at http://sagemath.org/src-old/ also has various random files like README.txt.in and install.html mixed in. If you don't have time to fix the above, just say so, since I'm sure somebody does. In many talks, etc., I have made a big stink about how every released version of Sage is available, so if a paper uses sage-x.y.z, then it is possible to get sage-x.y.z and try out the computation (unlike the situation with magma, say). So I think making the old source easy to find is important. William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---