Ralf Hemmecke wrote: > > > I want build to take place in 'src' subtree. > > Looks like we have different views on how a build should work. I will > not argue much since you are the main developer, but for me it should be > possible to put a fricas checkout on a read-only medium and then start > the build from some directory outside this checkout. This is the > standard way I build fricas. My source tree is never written.
I should write "'src' subtree of build directory". I normally build outside of source tree. I build inside source tree only to check that it actially works. My point was that the 'src' subtree of build directory should have structure parallel to source tree. > > We need 'target' subtree because we run parts of system during build > > and we overwrite some of them. > > Right, I guess you mean bootstrapping algebra. For that it's OK, but > otherwise "target" is unnecessary. Furthermore, there also appears a > "build" directory, which only is filled only like this: > > find build -type f > build/x86_64-unknown-linux/bin/interpsys > build/x86_64-unknown-linux/bin/bootsys > build/x86_64-unknown-linux/bin/lisp > build/scripts/document > > We could probably generate those things to some other place and forget > about "build". 'build' is for things that we need to run during build but which do not go int the final system. > > For all other parts (except the bootstrapping) the build system should > more follow the standard autotools way. build/src distinction is a standard way: it is intended to support cross-compilation. > > IME trying to do everyting in 'target' whould cause serious > > difficulties with debugging build problems. > > Well, maybe. I'll address this some time later, I really want automake > and will some day come up with a patch. But it's not urgent. > > > Doing _part_ of build in 'target' directly would cause no problem, > > but _that_ would be unnecessary complication. We run 'htadd' in the > > target tree but this is probably the only build command run inside > > 'target' tree. > > What I don't understand is, that there is a separate "target" tree, but > actually it would be completely OK to say > > git checkout [email protected]:hemmecke/fricas-svn.git fricas > mkdir fricas-build > cd fricas-build > ../fricas/configure --prefix=/some/nice/directory > make > make install > > That actually works already today, but the fricas-build/target directory > has no corresponding source directory in the fricas tree. In fact > "target" is more like an installed directory. To some degree yes: you should be able to run FriCAS from the target tree. In fact I do almost all testing without actually installing FriCAS. Of course for such testing to be valid 'target' tree should have structure identical to the installed tree. > > > Let me put it that way: when I want to see a page there is good > > chance that I will want to see another page, but quite low that will > > want to see a viewport. > > If you want to see a page you look into "target"? Not inside the > installed tree or the very source tree? Target should be like installed tree, so argument applies to both. Of course when I want to see source I go to source tree. When I need to check 'target' I look into 'target'. > I might agree that the installed tree should look manageable, but the > (temporarily generated) build tree is not something I care much about. > Of course, I'll move viewport as to meet your suggestion, but the > installed tree is what counts, not "target". Of course since viewport are created together with pages they will be in the same place in 'src' part of build tree. But, as I wrote, 'target' should be like installed tree. -- Waldek Hebisch [email protected] -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" 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/fricas-devel?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
