Domain: dsmit.com
Stories and comments across the archive that link to dsmit.com.
Comments · 7
-
Re:GCC
Don't write Makefiles yourself. Instead write a script that translates simple build rules (foo.cpp -> foo.o -> foo.exe) into a custom Makefile for each platform. I went this route after battling for years with complex Makefile rules that never quite worked.
I'm starting to look into using Cons for a cross-platform C/C++ makefile alternative. I haven't used it in a large project yet, but I can definitely get up and running faster than with Make.
-
One problem: grep vs. CR line endings.I've been developing on it for about a month now (since C85) and I can say it is REALLY NICE. Perl, python, emacs (latest version), zsh (latest version), and so on -- all included. My Cons-based builds just work, no fuss, no muss, no bother.
One problem that continually bites me though, is the line-ending convention. Some of the system header files use CR-only line-endings. Just try grepping for something in those; grep thinks they're all one long line!
Someone needs to fix the gnu text tools to recognize a lone CR as a line ending, and then I'll be totally happy.
(OK, the NetInfo stuff is a little weird too; I'm pretty used to regular Linux/FreeBSD sys admin stuff, and it seems like they gratuitously replaced a lot of that. But no big deal.)
-
Re:while we're at it, let's burn our Makefiles too
There is also cons while you are at it.
-
Re:CVS has limitationsI know it is off topic, but you mentioned clearmake. Open source projects should really try CONS. When you use the drived object cache it will automaticly grab any objects that someone else created and you know they are right. It has automatic dependancy scanning and doesn't use file timestamps so builds are MUCH more reliable.
And when it is fully cooked, SCONS will also be a good choice.
-
CONS
Speaking of build tools, there is a really nifty one called CONS It does automatic dependecy management, interfaces to repositories, and is written in Perl! I messed around with makefiles for a long time before I found this, and it made a fairly messed up kernel tree a cinch to build.
-
Cons: another make alternative
If you're considering Jam, also take a look at Cons. It's entirely written in perl, and the "Makefiles" (called Constructs and Conscripts) are also perl, which gives incredible power and flexibility. We use it and are very happy with it. Like Jam it maintains correct dependencies automatically and it can even correctly build large projects with many interdependent subprojects.
-
FORE Systems is OSS friendlyI work for FORE Systems, and we both use and *create* OSS software. A number of people there have been using Linux on PC's to replace Sparc Solaris workstations. We use GNU tools to build many of our projects. In the past we've used BSD OS in our products.
A number of OSS projects have spawned from the company. One of them is CONS, a wonderful replacement for make that we use internally for many of our projects. Another one is the Net::SNMP Perl module.
Please note the license terms for these packages. They have the usual "use at your own risk" licenses.