[comp.windows.x] Multiple architecture's compiled out of a single source tree-- how

jason@tfs.COM (Jason P. Venner) (05/29/91)

Is anyone compiling multiple architectures out of a single source
tree?

if so, what are you doing?

Thanx -- Jason

dana@dino.bellcore.com (Dana A. Chee) (05/29/91)

In article <9105282237.AA11404@teccb1.TFS>, jason@tfs.COM (Jason P. Venner) writes:
|> 
|> Is anyone compiling multiple architectures out of a single source
|> tree?
|> 
|> if so, what are you doing?
|> 
|> Thanx -- Jason

Yes, we have one source tree, and build for 3 architectures from it
(Sun 4s, Sun 3s, and Dec 5000s).  This is what we do.

1) We allocated a disk for the job.

2) We made subdirectories called Src, S44_B, S34_B, and 5000_B, where
the _B stands for build.

3) Go into each _B directory and use lndir (a script provided in
mit/util/scripts/lndir.sh) to link in the sources from Src.

4) Now go to a machine of the correct type, and type make World (after
fixing up the stuff in mit/config if necessary).

5) We go one step further, since we don't install in /usr/lib and
/usr/bin/X11, we also have directories called S44, S34, and 5000.
Each machine type has /usr/local/pkg/X11 pointing to the appropriate
one, so when we do the make install, things go in the proper place.

This may not be the clearest explaination, if you have any questions,
let me know.  We've built R2, R3, and now R4 this way (and each time,
it gets cleaner).

-- 
+*************************************************************************+
*  Dana Chee				(201) 829-4488			  *
*  Bellcore								  *
*  Room 2Q-250								  *
*  445 South Street			ARPA: dana@bellcore.com		  *
*  Morristown,  NJ  07960-1910		UUCP: {gateways}!bellcore!dana	  *
+*************************************************************************+

cek@wsc-sun.boeing.com (Conrad Kimball) (06/04/91)

In article <9105282237.AA11404@teccb1.TFS>, jason@tfs.COM (Jason P. Venner) writes:
|> 
|> Is anyone compiling multiple architectures out of a single source
|> tree?
|> 
|> if so, what are you doing?

Depending on what you mean by a single source tree, yes I am doing what
you describe.  I keep a single tree of the source files (with file
permissions set to 444 and directory permissions set to 555, to prevent
inadvertent damage).  When I wish to build for a particular architecture
(currently I build for sun3, sun4, DEC Vaxstation and DECstation
architectures) I create a parallel "shadow" tree of links (either symbolic
or hard) into the "true" source tree.

Then I apply any architecture-specific patches and what-not to the shadow
tree and build within the shadow tree, from which I also install the
built software as well.   When I'm all done and want to clean up, its a
simple "rm -fr" on the shadow tree.

This works well for me since the source tree is available to all my
architectures via NFS.  Depending on disk space availability, I often
build 2 or more architectures simultaneously.

The R4 release materials contain a script to create shadow trees:
mit/util/scripts/lndir.sh.  I used this for a while, but then I generalized
and extended it for general purpose personal use in my other work.

--
Conrad Kimball 		 Boeing Computer Services     (206) 865-6410   
Email: cek@wsc-sun.boeing.com or cek%wsc-sun@atc.boeing.com
UUCP:  uw-beaver!bcsaic!wsc-sun!cek