Re: scons
On Wed, 19 Jan 2011 15:21:01 +, Nicholas Clark n...@ccl4.org wrote: On Wed, Jan 19, 2011 at 03:14:30PM +, Nicholas Clark wrote: I'm not sure whose fault this hateful incompetence is - the authors of scons, or the authors of the package's SConstruct file. But, frankly, I don't care. What is the point of having the ability to have local help information, if it's not possible to read it unless you meet the package prerequisites? Which, you know, might be why I'm looking for help. Oh yes, and there is no warning, let alone error, if you supply an unknown option. It's silently ignored. So God help you, because scons doesn't want to: $ scons --any --crap --you --like scons: *** No SConstruct file found. File /usr/lib/scons/SCons/Script/Main.py, line 825, in _main make is a steaming heap of festering hate, with putrid, hate-filled maggots writhing out of it. Everything which has tried to replicate or improve upon it makes it look attractive and appealing. Like OS X looks right up until the day you buy a mac. Matthew
Re: scons
On Fri, Jan 21, 2011 at 03:04:34PM +, Matthew King wrote: make is a steaming heap of festering hate, with putrid, hate-filled maggots writhing out of it. Everything which has tried to replicate or improve upon it makes it look attractive and appealing. Like OS X looks right up until the day you buy a mac. Indeed. Compare: $ make -f 'This file does not exist' make: This file does not exist: No such file or directory make: *** No rule to make target `This file does not exist'. Stop. $ echo $? 2 $ sed -f 'This file does not exist' sed: couldn't open file This file does not exist: No such file or directory $ echo $? 4 $ awk -f 'This file does not exist' awk: cannot open This file does not exist (No such file or directory) $ echo $? 2 $ scons -f 'This file does not exist' scons: Reading SConscript files ... scons: warning: Ignoring missing SConscript 'This file does not exist' File /usr/bin/scons, line 161, in module scons: done reading SConscript files. scons: Building targets ... scons: `.' is up to date. scons: done building targets. $ echo $? 0 Every other utility that I'm aware of, if you tell it open this file, will treat it as an error condition if said file does not exist. scons is special. Nicholas Clark
Re: scons
Hi, On Fri, Jan 21, 2011 at 03:12:23PM +, Nicholas Clark wrote: $ scons -f 'This file does not exist' scons: Reading SConscript files ... scons: warning: Ignoring missing SConscript 'This file does not exist' File /usr/bin/scons, line 161, in module scons: done reading SConscript files. scons: Building targets ... scons: `.' is up to date. scons: done building targets. $ echo $? 0 Nobdoy wants error messages or error return codes! It's way too much effort to handle those anyway! So this is a real improvement: no need to write an error handler, because there Can Not Be Errors. gert -- USENET is *not* the non-clickable part of WWW! //www.muc.de/~gert/ Gert Doering - Munich, Germany g...@greenie.muc.de fax: +49-89-35655025g...@net.informatik.tu-muenchen.de
Re: scons
On Fri, Jan 21, 2011 at 03:12:23PM +, Nicholas Clark wrote: $ make -f 'This file does not exist' make: This file does not exist: No such file or directory make: *** No rule to make target `This file does not exist'. Stop. $ echo $? 2 $ sed -f 'This file does not exist' sed: couldn't open file This file does not exist: No such file or directory $ echo $? 4 $ awk -f 'This file does not exist' awk: cannot open This file does not exist (No such file or directory) $ echo $? 2 $ scons -f 'This file does not exist' scons: Reading SConscript files ... scons: warning: Ignoring missing SConscript 'This file does not exist' File /usr/bin/scons, line 161, in module scons: done reading SConscript files. scons: Building targets ... scons: `.' is up to date. scons: done building targets. $ echo $? 0 Every other utility that I'm aware of, if you tell it open this file, will treat it as an error condition if said file does not exist. ant, for instance, wants to be absolutely sure you know it doesn't exist: $ ant -f 'This file does not exist' Buildfile: This file does not exist does not exist! Build failed OK, so the error message could be better, but even ant manages to its exit code to something nonzero: $ echo $? 1 I suppose it's too much to ask for programs to return the *same* error code (ENOENT comes to mind) when a file doesn't exist. Walt
Re: scons
On Fri, Jan 21, 2011 at 10:43:58AM -0500, Walt Mankowski wrote: [...] I suppose it's too much to ask for programs to return the *same* error code (ENOENT comes to mind) when a file doesn't exist. Why bother? It's not as if shell scripts ever bother to check for errors anyway.
Re: scons
On Fri, Jan 21, 2011 at 03:48:44PM +, Peter Corlett wrote: On Fri, Jan 21, 2011 at 10:43:58AM -0500, Walt Mankowski wrote: [...] I suppose it's too much to ask for programs to return the *same* error code (ENOENT comes to mind) when a file doesn't exist. Why bother? It's not as if shell scripts ever bother to check for errors anyway. Yeah, but with scons I can't even write a shell script to Mumble Grumble... [which would be creating more software] It's making me want to head down the pub and stay there. [which doesn't cause the creation of more software] Mmmm, maybe scons is beneficial to the overall amount of software hate, by being so effective at the prevention of the creation of software. Nicholas Clark
Re: scons
On Wed, Jan 19, 2011 at 03:14:30PM +, Nicholas Clark wrote: I'm not sure whose fault this hateful incompetence is - the authors of scons, or the authors of the package's SConstruct file. But, frankly, I don't care. What is the point of having the ability to have local help information, if it's not possible to read it unless you meet the package prerequisites? Which, you know, might be why I'm looking for help. Oh yes, and there is no warning, let alone error, if you supply an unknown option. It's silently ignored. So God help you, because scons doesn't want to: $ scons --any --crap --you --like scons: *** No SConstruct file found. File /usr/lib/scons/SCons/Script/Main.py, line 825, in _main Nicholas Clark