SumoRunner
SumoRunner

Reputation: 157

Multi-language build tools

I have a build process for a large enterprise system comprising several dozen separate EXEs and DLLs. These use multiple languages, C, C++, Fortran, Python, Awk and a couple more. The build scripts are 4DOS batch processes which evolved over 4 decades. They are large and unwieldy and need constant care and feeding.

I must keep the Visual Studio solution and project files as the basic compile/link entities. What's the best tool for wrapping these disparate languages all together. 4DOS is very old and cumbersome.

EDIT:

Thanks gang. I think I'll try SCONS first because it's Python. We have plenty of people well versed in Python to be able to update and maintain it. I'm 61 now and it's not going to be me supporting this in the long term. I don't like anything requiring JAVA or XML because those are not languages already in our product mix and we have enough in play.

Those blog posts were good. He concluded that SCONS was best but simply too slow for his purposes. I'm not looking for speed in nightly builds. It's got until 7 AM. I want readability and maintainability.

Upvotes: 0

Views: 905

Answers (8)

alex
alex

Reputation:

ANT + terp for the C++ portions. terp plays nicely with VisualStudio as well as with many other C++ compilers on many platforms. ANT requires Java though, if only as the hosting technology. I don't know whether that is a no-no with your requirements or whether you just don't want to start writing Java code.

Upvotes: 0

falstro
falstro

Reputation: 35667

I know Maven isn't known to focus on anything but Java, but perhaps it might at least be worth mentioning. There have been some work towards enabling at least C/C++. When comparing to Ant, it's pluggable in a similar fashion, but it's declarative rather than imperative, with standardized dependency management, and a build result repository which may even be distributed.

Upvotes: 0

Rook
Rook

Reputation: 62538

Scons definitely. It plays with fortran and C naturally, and it is python based so it shouldn't have any problem with that one either (never used it for py though, so can't tell from experience). Also, much more readable than the majority of them out there.

Upvotes: 0

Paulius
Paulius

Reputation: 5870

These may be a little a outdated - the build systems might have evolved quite a bit, but this should at least give you a better idea on what to expect:

Personally, I never needed anything special, that couldn't be achieved with VS project/solution files, makefile's and BATCH'es, so I won't be recommending anything in particular.

Upvotes: 0

Laserallan
Laserallan

Reputation: 11312

Scons perhaps?

Upvotes: 0

Soltys
Soltys

Reputation: 41

I think the best choice is NAnt and MSBulid

Upvotes: 0

Jeffrey Fredrick
Jeffrey Fredrick

Reputation: 4503

Ant is a good choice. I would also be tempted to try Rake.

Upvotes: 0

vartec
vartec

Reputation: 134601

For example Apache Ant

Upvotes: 2

Related Questions