On Tue, Jan 11, 2011, Shlomi Fish wrote about "Re: Die GNU autotools": > Actually, CMake is not "imake done right", but actually is a better Autoconf. > One can write build-time tests with it to test for features and configure the > build accordingly, just like you can with Autoconf, only in a cleaner and
I stand corrected. I have to admit that whenever somebody pointed me to CMake and I looked at its documentation, I never saw any mention of the ability to do these tests. Now that I looked again (after your post), I did saw some test functions mentioned deep inside the documentation, but am still missing the big picture - what kind of tests can CMake do - is it just a few common tests, or a huge variety of tests plus a general scripting capability to test anything, like autoconf can do? Second, *when* does cmake do these tests - every time? Just once? (in autoconf, "configure" and "make" are two separate steps). > Autoconf, aclocal, acinclude, autoscan, autoheader, libtool, intltool, > automake, and lots of other technologies in a complex dependency graph: In my view, as I explained in my previous message, "autoconf" is the only one of those who are really vital. All the rest are fluff... (well, maybe libtool is also important, but I don't like it - I can't even explain why). > > m4/aclocal - I use it as part of the autoconf generation, but have never > > bothered to learn it properly. > > m4 is very vile. I agree that m4 was a really odd choice to use in autoconf - it's not like it ever was a popular language outside the circle of Vax assembly-language coders in Bell Labs... Personally I would have loved to see an autoconf alternative with a saner input language, which still generates a shell script (unlike cmake). If I would write it myself, the language I would choose is Tcl - because of its "{ ... }" quoting making it easy to include verbatim shell blurbs. > Furthermore, while you already know Autotools, remember that you need to keep > this knowledge resident in your memory, and that other people who wish to > contribute to your projects will have to learn GNU Autotools up to the same > level that your configuration files were written in (and to be able to handle > other problems that crop). You don't need to have the knowledge resident in your memory - to continue your virtual-memory metaphore, only the working set (i.e., the script you already wrote) needs to be resident, and all the rest can be demand-paged from storage (i.e., the autoconf documentation) ;-) -- Nadav Har'El | Tuesday, Jan 11 2011, 6 Shevat 5771 n...@math.technion.ac.il |----------------------------------------- Phone +972-523-790466, ICQ 13349191 |We are Microsoft. You will be http://nadav.harel.org.il |assimilated. Resistance is futile. _______________________________________________ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il