Hrm, I thought my mail program was set to reply to all people in email - fixed now. At the moment, I've checked out the CMake-HEAD code, and I'm figuring out how this will be done in specific.
My intent here is not to start a flamewar between autotools and cmake, In some cases, autotools is the proper tool vs cmake due to cross-compiling (which will hopefully fixed) and the fact that you need the cmake executable to build any CMake package. autotools configure script merely needs a shell interpreter, and if your compiling on an extreme obscure platform, autotools might be the better choice. Anyway, I'm not going to continue comparing autotools and cmake since that will get anyone anywhere, and I'll only be referring autotools on how it performs cross-compilation, and problems with said system.
Anyway, I'm going through the code in Eclipse right now, and I'm working out my angle of attack and how I should do this specifically. The biggest problem is loading two platforms at the same time (the target and the host) but I can't find the code where this is handled to see specifically what is going to be required. I'm also having locating the code to generate the actual makefiles, although I'll probably find this with a little more search.
Hi Michael:
To give you some background for Robert's e-mail to you, PLplot is mostly done
converting to a CMake build system from autotools. Everybody who has tried
the new system really likes it because of its speed, easy-to-understand syntax,
and ability to provide builds on both Unix and windows platforms. However,
our autotools based build system and our cmake-based build system can nicely
coexist so we will probably keep our autotools based build system for at
least a year before we abandon it.
Robert is the only PLplot user so far that still objects to the new build
system. He hasn't actually tried our new build system yet, but on the other
hand, he appears to have some legitimate cross-compilation concerns so that
is why I suggested he get in contact with you after I saw your post on the
CMake mailing list.
Robert, it appears your e-mail is full of useful suggestions, but part of it
also attempts to start a theoretical discussion of autotools versus cmake
pros and cons, but until you have direct well-documented comparisons (as
opposed to anecedotal reports) such discussions are a complete waste of time
(IMNSHO).
Thus, I urge Michael not to answer that part of Robert's e-mail. Instead,
let's take it as given that CMake support of cross-compilation will improve,
and the only real question is how to get there and whether Robert wants to
help with any part of that process beyond the suggestions he has made already.
In other words, there is nothing like concrete code, examples, and tests to
make progress. When I first brought the idea of a new build system to the
PLplot list, I also had to contend with such negative theoretical
discussions (one of them Robert's but to be fair, others did the same as
well who have since so much liked our new build system that they have helped
to improve it). I eventually decided to ignore the negative comments, and I
just went ahead and started implementing the new build system. Within a
week it started catching on amongst our active developers, and the result is
going to be extremely good for PLplot because of the outstanding qualities
of the new build system that I mentioned above.
Michael, that's it on the background behind Robert's e-mail to you.
That said, I hope Robert can clarify his cross-compilation PLplot needs with
you by providing extensive testing for the PLplot case so that cmake in
general and PLplot's new build system in specific will end up with kick-ass
cross-compilation support.
Whether or not Robert participates any further, I can help by making changes
to the PLplot CMake build system so it takes advantage of your new
cross-compilation support once you complete that. Also, I can help to a
small extent with the testing for PLplot since I have access to two minor
platform variations. (One Debian stable pentium-4 2.4GHz box, and one
Ubuntu Dapper classical Athlon (600MHz) box.) It would be nice to
cross-compile for the 600MHz box on the 2.4GHz box. Note, I have never done
cross-compilation before, even though it is apparently possible with the
older PLplot autotools-based build system.
Alan
__________________________
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the Yorick front-end to PLplot (yplot.sf.net); the
Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________
Linux-powered Science
__________________________