[clug] How to find Python's include file directory

Hugh Fisher hugh.fisher at anu.edu.au
Mon Sep 27 22:31:11 MDT 2010


Carlo Hamalainen wrote:
> 
> Also, which build system do the cool kids use these days? Makefiles?
> Scons? Any suggestions welcome.

Depends who is going to do the builds.

If it's just you or other developers, and the target platforms are
Linux or the few surviving other forms of Unix, then Makefiles and
foo-config works well. Much easier to understand and tweak than
autoconf.

This also works reasonably well for porting simple command line
stuff to MacOS.


If you're going to distribute to the wider Linux community, then
everybody expects configure :-( I'd do all my builds with Makefiles
as before, and only try and poke autoconf into shape when it was
ready to release. If my program was aimed at software developer
types and I wasn't going to submit it to an official repository,
I'd put in a dummy configure script that just echoes "Edit the
Makefile."


If you're going to go cross-platform to MacOS or MS Windows, I'd
recommend CMake. (Even though I also prefer Python to C++.) In my
experience autoconf requires you to drag along too much other stuff
along with it and doesn't play nice with Xcode or Visual Studio.
CMake is an easy install in itself (stand-alone binary) and can
generate projects for the aforementioned IDEs, or command line
Makefiles. (Visual Studio still comes with a CLI for building
programs with nmake, and CMake knows how to generate nmakefiles.
I figure you earn extra geek points for doing command line builds
under MS Windows.)


For Qt apps, and presumably KDE, qmake is also cross-platform. As
CMake also understands how to build Qt, I haven't bothered to learn
qmake.

Boost comes with a build system which can supposedly be used for
other purposes. Every time I've worked with Boost has ended with
me running away screaming, but hey if you actually like Boost,
maybe you could use it.


There's a build system called Ant which is popular with the Java
crowd, but I don't know much about it except there's lots of angle
brackets (XML). Anyone?

Hope this helps.

	cheers,
	Hugh


More information about the linux mailing list