The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Any build system friendly to multi-programming lang projects?

I'm curious.

Are there any build systems out there made specifically for projects utilizing multiple programming languages or do you have to hack your own?  Do any of you have experiences with any of these?
Crimson Send private email
Thursday, March 29, 2007
 
 
If by "build systems" you mean something like Ant & NANT, etc.  There's FinalBuilder & Visual Build Pro - they support multiple compilers, custom tasks, etc.  They're not free, but I've used both and they're absolutely worth it.
GiorgioG Send private email
Thursday, March 29, 2007
 
 
Yes, GirogioG.  Didn't want to name any specific ones lest I narrow the discussion too much. 

Also, do FinalBuilder, etc work on Linux?
Crimson Send private email
Thursday, March 29, 2007
 
 
Um, what's wrong with 'make' (aside from tabs, cryptic syntax, distinct execution domains per action line, brain damages variable expansion syntax, etc.)?
Jeff Dutky Send private email
Thursday, March 29, 2007
 
 
"Um, what's wrong with 'make' (aside from tabs, cryptic syntax, distinct execution domains per action line, brain damages variable expansion syntax, etc.)?"

Nothing. Other than that, it'll do exactly what the OP wants.
clcr
Thursday, March 29, 2007
 
 
You might be looking for something like autoconf, if you were looking for a deployment oriented tool rather than a build oriented tool.

I think it's fallen out of use, but autoconf combined with source code would basically look at the target system, determine that certain binaries and libraries existed, and compile and install the correct source needed. If they could not find what it wanted, it'd make recommendations.

For example, some Linux and UNIX distributions use Bison instead of Yak as their lexical parser (I think, it's been a while). So if autoconf found Bison installed, it'll compile Bison-dependent.c and deploy the resulting binary. If it found Yak, it could compile Yak-dependent.cpp instead and deploy that. If it couldn't find either (or couldn't find gcc in the first case or gpp in the second case), it would tell you to go download Bison and gcc.

It was the forerunner of RPM files and files for get-app, but a bit more powerful in that you could tie together any combination of compilers, linkers, loaders, source files, libraries, etc etc, and decide at the destination just how you wanted to build the application. (As opposed to building locally, deploy and config remotely.)

It fell out of use because it was also extremely complicated to script, difficult keeping up with all the permutations and overkill when make (and its derivatives) was perfectly adequate 99% of the time.
TheDavid
Thursday, March 29, 2007
 
 
I should clear up something real quick before I get flammed.  Autoconf runs on top of make, but it can call Ant, Nant, whatever as needed.  It's more of a discovery tool than an actual build tool.
TheDavid
Thursday, March 29, 2007
 
 
Thanks for the responses guys.  Sadly, this is one of those times where I wish my knowledge was *not* state-of-the-art (i.e., I'd hoped something better had been developed since the last time I ran across this).
Crimson Send private email
Friday, March 30, 2007
 
 
I know that everybody says that Linux users don't want to pay for software, but I can't imagine an automated build tool wouldn't sell.

Just keep the price low enough that buying it is less costly than the home-built hack.
*myName
Friday, March 30, 2007
 
 
SCons ( http://www.scons.org ) is pretty nice for this. It's a make replacement, but without a lot of the strangeness. Also, the 'config' files are Python programs, so they're not limited like makefiles.
Exception guy Send private email
Friday, March 30, 2007
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz