Jivin Mike Frysinger lays it down ... > On Tuesday 03 March 2009 20:06:27 David McCullough wrote: > > Jivin Mike Frysinger lays it down ... > > > On Tuesday 03 March 2009 18:36:59 David McCullough wrote: > > > > Jivin Mike Frysinger lays it down ... > > > > > > > > > In the Blackfin dist, we generate some temp symlinks in the tools/ > > > > > subdir for utilities. The uClinux-dist doesn't use any symlinks in > > > > > this subdir, so it shouldn't affect anything there. > > > > > > > > Ok, I can't apply this one. Lots of uClinux-dist users (in particular > > > > us > > > > > > > > :-) build using sym-link trees, this will trash the good symlinks as > > > > : well > > > > > > > > as the temp ones. > > > > > > i thought i looked and there were no symlinks in tools/ ... what'd i miss > > > > A link tree is an "out of source tree build" where everything except > > directories is a symlink. > > > > For example, to make one, be sure to start with a pristine (never built > > in tree) and then do: > > > > mkdir build1 > > cd build1 > > lndir -silent /full/path/to/pristine > > make config > > make > > > > It allows you to cleanly build multiple targets from a common source tree > > at the same time. Currently build1 cannot be a directory under > > pristine. > > > > It also means a real clean can become "rm -rf build1" :-) > > is there more info on this ? we've had requests for out-of-tree builds before
Not really any more info than above. I can write something up if you like, but it will be short :-) I don't always use it, but others use it religiously. Here is an example of how to use it safely (with a cvs repo): TDIR=`pwd` cvs co -d pristine uClinux-dist mkdir target1 cd target1 lndir -silent $TDIR/pristine make Vendor1/Target1_default cd .. mkdir target2 cd target2 lndir -silent $TDIR/pristine make Vendor2/Target2_default cd .. The original pristine tree will remain largely untouched (there are a few rogue packages that still mess with autogenerated files). All the binaries, images and config etc will be in the targetX dirs. target1 and target2 can build/clean/operate completely independantly (even being built at the same time is ok IIRC). If you update your pristine dir, you may need to rerun "lndir" to ensure target1 and target2 pick up any new files that need to be linked. lndir automatically leaves out the CVS/RCS/SCCS/SVN control directories as well unless you ask it to keep them. lndir is silent unless it sees something it can't fix, like a link already exists but doesn’t point to the correct file. If it gets messy (lots of changes on a tree update), rm -rf targetX and re-link/build. I tend to use it whenever I have slow source repo access and lots of targets to manage. Is that enough to get you started ? > > > > Perhaps you can beef the tools/... Makefiles to clean specifically the > > > > symlinks they install ? > > > > > > the symlinks are arbitrarily generated > > > > If there is some pattern to it at all you may be able to avoid existing > > filenames. > > i can change things to use a dedicated dir and create more symlinks to > workaround it. Cheers, Davidm -- David McCullough, david_mccullo...@securecomputing.com, Ph:+61 734352815 McAfee - SnapGear http://www.snapgear.com http://www.uCdot.org _______________________________________________ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev