Richard Haney wrote:
There are lots of unanswered questions I have about GiNaC and its build process. Here are a few of the seemingly more important ones:
Why is it necessary to specify the installation root directory at the time of running configure? Why can't that be done _simply_ at the actual time of doing the installation?
Because the trinity of configure / make / make install is standard with GNU tools and well-known by most people who take delight in the luxury of compiling their software from sources. ;-) We don't want to reinvent the wheel in an area where we aren't experts. Anyway, specifying --prefix at configuration time makes sense since in some cases it is necessary to insert the prefix into non-source files (e.g. manpages) and specifying the prefix at the make install step may be too late. For the purpose of copying files from the built-area into their final places you are right, of course. Actually, you *can* specify the prefix at the make install step by saying make install prefix=/path/to/whereever. Surprise! But all this is rather off-topic.
Why is it necessary to use libtool? Is libtool a "fixed", universal product? Or is it simply something that is tailored specifically to the particular build process, in this case GiNaC's.
<http://www.gnu.org/software/libtool/>
Why is it necessary to compile each library module twice? (I suppose the idea is that two different versions are needed for the two different potential forms of the library: "static" and "shared". Is this true?)
Yes, this is true.
If a .dll version is not possible, can all the excess machinations be eliminated by declaring "--disable-shared" on the configure command line?
Yes, it can.
Shouldn't a comment to this effect be put in the installation documentation so that mingw-users don't needlessly go through the excess machinations in the hopes of getting a .dll?
I'm not so sure. I am quite happy that the details of building libraries are factored out and maintained separately. Doesn't your configure output list a line like "checking whether the gcc linker supports shared libraries..."? If that answer at the end of that line is no and it still builds every object twice, then you may wish to report that as a bug to the libtool maintainers. Regards -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>