Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!simtel!news.kei.com!bloom-beacon.mit.edu!senator-bedfellow.mit.edu!zygorthian-space-raiders.MIT.EDU!ghudson From: ghudson@mit.edu (Greg Hudson) Newsgroups: comp.unix.bsd.netbsd.misc,comp.os.linux.advocacy Subject: Re: DEBATE: BSD vs. Linux Followup-To: comp.unix.bsd.netbsd.misc,comp.os.linux.advocacy Date: 10 Sep 1995 00:18:46 GMT Organization: Massachvsetts Institvte of Technology Lines: 29 Message-ID: <42tat6$l72@senator-bedfellow.MIT.EDU> References: <4233kp$t8p@hilly.apci.net> <42dp79$bv5@wolfe.wimsey.com> <42gnkt$9ji@klaava.helsinki.fi> <42j4js$lu9@wolfe.wimsey.com> <42m0pg$2lv@klaava.helsinki.fi> NNTP-Posting-Host: zygorthian-space-raiders.mit.edu X-Newsreader: TIN [version 1.2 PL2] Xref: euryale.cc.adfa.oz.au comp.unix.bsd.netbsd.misc:1026 comp.os.linux.advocacy:20953 Linus Torvalds (torvalds@cc.Helsinki.FI) wrote: : Forget complex makefiles: try "man lndir". And the nice thing about : using lndir is that it works for _any_ project, not just your pet : project that happens to be set up with VPATH etc. lndir does not work all of the time. A good many projects like to write to their source tree during builds, which makes parallel builds fail. lndir also fails to handle source trees containing symlinks to directories. Finally, if any new files or directories are added to your source tree, the build tree is essentially invalidated and can't be fixed incrementally. In general, I find it easiest to build packages which do a careful job of separating out build configuration information from the source files, and which use a read-only source tree. I maintain a lot of software at MIT (for six platforms, sometimes more), and I find it takes virtually zero effort to build or upgrade software packaged by the FSF (which is usually sensitive to such concerns) or by people who follow their guidelines. By contrast, building Linux or other products whose maintainers took a "who cares?" attitude to packaging takes hours of work to build for many platforms, and I can never be sure that the result was built properly. Random user-level programs can be packaged for parallel build trees easily: all you need to do is use autoconf, set VPATH in your Makefiles, and not be too clever. Operating system software doesn't get to take advantage of the same set of pre-fab tools, but it's still not very hard.