cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: alternative VC Makefiles

From: Vincent Torri <vincent.torri_at_gmail.com>
Date: Thu, 23 Dec 2010 16:27:11 +0100

On Thu, Dec 23, 2010 at 3:06 PM, Daniel Stenberg <daniel_at_haxx.se> wrote:

> On Thu, 23 Dec 2010, Vincent Torri wrote:
>
> cmake is not an option for me: horrible syntax, no 'help' option like
>> configure, cross compilation is a real pain. I can't understand why people
>> like it. It's a matter of taster though and I just give my point of view
>> about cmake. Others like it, it seems.
>>
>
> libcurl's cmake support is also flaky, at best, and I was told the other
> day that it is broken again. We simply don't have anyone around closely
> enough to maintain the cmake build at a good quality.
>
>
if it's broken and nobody maintains it, then drop it. It's safer. And
maintaining several very different build system is very very difficult.
Autotools are a real pain for developpers, but very good for users. If you
are concerned about the beauty of the configure/Makefile's, then it's one of
the ugliest thngs ever.

>
> It's not a matter of what you use and do, it's a matter of most of Windows
>> developers use. And most of them will not use a Makefile. On the contrary,
>> most of them will use Visual Studio.
>>
>
> Yes, but we have people that know makefiles and even if the MSVC makefile
> is a bit different it is still make as we all understand it. The project
> files are weirdo XML things that we need to generate.

unfortunately, yes, they are weird XML file :/

> Can we even generate good enough project files with different options for
> what users may want to toggle in their configurations?

What I do for the libraries I maintain is the following: I write a batch
script file that checks if everything is correctly set up (directories,
flags for linker and compiler) and which starts the VS IDE. So I would say
that putting the options in that batch file is a solution. Another solution
is using a hand-made config.h. Here is what I do :

http://trac.enlightenment.org/e/browser/trunk/ecore/win32

start.bat checks stuff and launch VS IDE
common/config.h is the file generated by mingw with slight modifications if
needed.

(note that there is a mention of VS8 in start.bat. I will remove it as i
have rewritten all the VS stuff)

Anyway, maintaining the autotool, cmake, a Makefile for vc++ and a VS
solution is not an option, really. Just choose the build system you like.
You seem to like Makefile's, and Pierre has a point: the way libcurl is
built for a Windows developpers (but just a libcurl user) does not really
count (zip file is sufficient). So I would say:

 * the autotools
 * a Makefile for vc++
 * drop cmake

simple enough, and not too much work to maintain. You can even cross compile
libcurl for Windows CE with the autotools (maybe) :p

Vincent Torri

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2010-12-23