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

Reply via email to