On 09/23/2016 05:35 PM, Daniel Stenberg wrote: > On Fri, 23 Sep 2016, Brad House via c-ares wrote: > >> I'd like to re-open the discussion of the last patch I sent via this mailing >> list: "[PATCH] remove configure-time type size checks" >> >> This fixes multi-arch building for iOS and MacOSX (without requiring >> separate builds and using lipo to join them), and has been tested across a >> large number of platforms. > > Was that patch complete? I thought we still had some missing pieces. Please, > bring it back up and let's make sure we iron out any left wrinkles. I'd like > to see those configure-time checks removed as well.
As far as I'm aware it was complete, I was asking for review to ensure someone else didn't see a bug with my changes, but there are no "hanging chads" in the implementation as far as I'm aware. > >> If that patch is accepted, then I'd also like to re-proprose my CMake build >> system for c-ares as well. I do have some slight tweaks/fixes for some >> platforms (like iOS), as well as it being compatible with the aforementioned >> type size check patch. > > I'm torn on cmake. > > I personally feel completely lost with it and I experience that it takes me > much more time and effort to get anything done with it than autotools. Of > course this is mostly because I've written autoconf checks for almost 20 > years. But I also feel that in general we find fewer people with cmake skills > than autoconf skills so I've seen the cmake build lag in maintenance in other > projects I spend time in. Does cmake support all those old legacy unixes to > the same extent configure scripts do? No, CMake definitely drops basically all legacy support. I left a lot of detections in there for things that are for platforms that I'm sure Cmake does not and will never run on since I modelled it off the autotools scripts ... but if someone does ever port Cmake to those platforms, the CMake build script I wrote is ready for it. I personally find CMake easier to work with (having worked with autotools myself since about 2002), but it is its own beast for sure, it took a while to get comfortable with. I find CMake has better support for current platforms (especially windows), and you can do more with less. If you look at just the size of the CMake script I wrote, and compare it to the autoconf script (remember, you have a bunch of m4 includes, you've gotta count those!), you'll see its super tiny for the same functionality. > > Then again, the c-ares configure script is fairly simple and is probably an > ideal candidate for replacing with cmake. I'd say it is far from simple, but most of the "hard" stuff is hidden in the m4 includes. > I would like to propose that we start out with merging cmake build support in > parallel to the existing build scripts so that we all can get a feel for both > and help out making the cmake get up to par with the autoconf based one and > then at some point in the future when we think they're roughly equal > in what they support we can decide to drop the autoconf version. > > I would also *love* to hear what others have to say about this! I definitely was not proposing dropping the autotools version. The CMake stuff is fairly easy to maintain, I think parallel is the way to go, just like you have parallel systems in place, for, say MSVC nmake (ok, well, I'd say drop-kick that one and use CMake's generator instead). -Brad