Matthew Talbert wrote: > gnome-autogen.sh is the autogen.sh used for GNOME software.
OK. Unless I am misunderstanding you, that is clearly not the same command as autogen.sh. The two are different filenames. They are spelled differently... unlike say, ./configure which is very consistent across many many projects (and so is well worth remembering, and tends to become "wired in" to ones brain and fingers over time). Having to read a README or INSTALL and then remember, for each project, the name of the script or command that is used to rebuild *this* build system, does not seem an efficient use of (usually limited!) developer memory. > I would say that your comments are only based in your experience, not > in fact. Perhaps. Hard facts on this are not all that easy to come by. But I think you perhaps just made my point above by mentioning a gnome-autogen.sh. There is no standard name for such files. Well, there may be ... but it's not a standard I have read, or even read about. So, speaking of hard facts: do you have a link to such a standard, official or unofficial? Does GNOME document its standard for this somewhere? gnome-autogen.sh appears to be a part of gnome-common, but a few Google searches did not find me much about its use as a standard approach. If this hypothetical standard does things that autoreconf does not do, or it has wider application than just autotools-based projects, then it might well be a good idea! You mentioned basing this on facts. If we can't find a standard, let's try to look for numbers instead. How many projects other than SWORD are there that have a file named autogen.sh (not some variation on that, but exactly autogen.sh) in the top level directory, which rebuilds their build system, doing no more and no less than the one in SWORD does? And are there that use plain Autotools (and therefore, if their configure.ac and Makefile.am files are correct, either do use or can use) autoreconf, doing no more and no less that autoreconf does when run on the (patched) SWORD source tree)? There is a project called buildconf that seems to suggest Autoconf users can gain some portability benefits by using a script called autogen.sh. But that is not (I am fairly sure) the script SWORD is using, because SWORD's script is tiny and has been customized specifically for SWORD, and (unless someone can actually explain more about what it does) SWORD's autogen.sh does not appear to do any of the things that the buildconf project claims *its* autogen.sh does! SWORD's little script does (as far as I can see) pretty much what autoreconf does, only rather less generically. The buildconf web page lists exactly 3 projects that use it (a number, but not a very impressive number). I'll download their tarball and take a look. The resulting buildconf autogen.sh script is 1491 lines long... clearly very different from the SWORD one at 23 lines, and from the swfdec one at 3 lines. I really think that Dmitrij had the right idea about a common way to do things, when he suggested: ./autogen && ./configure && make && sudo make install" -- but there is no standard name for the "./autogen" (or even ./autogen.sh ) script, nor, as far as I can see, even a clear definition of what it does, at least if we compare what the buildconf one says it does with what the SWORD and swfdec ones do. Here is what a comment inside the buildconf autogen.sh file says: # Basically, if everything is set up and installed correctly, the # script will validate that minimum versions of the GNU Build System # tools are installed, account for several common configuration # issues, and then simply run autoreconf for you. It goes on to indicate what it does when autoreconf fails. So that autogen.sh *is* a (large) wrapper around/reimplementation of autoreconf, meaning that all projects using it are, in some fashion, using autoreconf :) Likewise the swfdec one just calls autoreconf and then ./configure :) Looking for "facts": I'm downloading about a sample of about one thousand source packages now (all the source packages in the Ubuntu universe repo that start with the letter s -- well, unless the partition I am dowloading to fills up first). By not using g or k as the initial letter (the archive tree uses initial letter as one level of its hierarchy) I hope to avoid bias towards Gnome or KDE. With that sample on hand, I can get a quick estimate of what percentage of them have a file in them called autogen.sh, and what percentage contain a file called configure.ac (which would indicate use of autotools and hence capability of using autoreconf for what the SWORD autogen.sh does). I can probably get a number for projects having a gnome-autogen.sh file too, if you like. Seeing how many of all these files call autoreconf could be done, too. I hope to have a rather "fact-based" number once that is completed. If you have a way to check on (and so provide stats for) a wider sample of software than this, go for it :) [ So far the stats are 196 (25%) configure.ac and 80 autogen.sh (10%) out of 780 tarballs - a higher amount of autogen.sh files that I expected ] I *really* didn't expect my trying to figure out why a small shell script in SWORD doesn't use autoreconf (but apparently does the same work as autoreconf does) would generate this much discussion -- I thought I might get more of an "OK, let's try that" response, or else a "we can't use autoreconf for SWORD because it does XYZ" ... so much for that kind of simplicity :) Jonathan _______________________________________________ sword-devel mailing list: [email protected] http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page
