Having to maintain two workspaces for each bug or feature you're working
on is painful, error-prone and a waste of time. If I try to build for
x86 in a suitably auto-mounted ws in which a previous sparc build was done
(using "t" in the flags: compile & use tools from the ws):
/net/kriek/export/ws/jgh/1222490/usr/src/cmd/lp/model/netpr
sleazy --> serial
install -s -d -m 755 -u root -g bin /net/kriek/export/ws/jgh/1222490/proto/root_i386/usr/lib/lp/bin
sleazy --> serial
install -s -m 04511 -u root -g bin -f /net/kriek/export/ws/jgh/1222490/proto/root_i386/usr/lib/lp/bin netpr
`install' is up to date.
`install' is up to date.
`install' is up to date.
ld: fatal: file ../common/glob.o: wrong ELF machine type: EM_SPARC
ld: fatal: File processing errors. No output written to dpost
*** Error code 1
[...]
Current working directory /net/kriek/export/ws/jgh/1222490/usr/src/cmd/lp/filter/postscript/dpost
Complete nightly.log attached.
Work Around
Peter Memishian offered this, paraphrased by me:
/ws/on10-patch-clone
^
|
/ws/yourws
^
|
/ \
/ \
/ \
/ws/x86-buildws /ws/sparc-buildws
Whereby you bringover from your local clone to your own master
workspace. Within your master workspace (yourws) you make any changes
and 'sccs delget' or 'sccs create' as needed. To build the workspace
take a child of your workspace per architecture (x86-buildws &
sparc-buildws in the example above). Note that your changes must be
checked in to your master workspace (yourws) for bringover to copy the
changes to your child workspace.
Once the project is completed you will need to collapse your SCCS
deltas in your workspace (yourws) for putback; use 'wx redelget'.
Remove your child workspaces and take fresh ones for the final
nightly.
Be careful to remove the children and not your master ;-)
Another model (which expands easily to multiple-people projects) is:
onwhatever-clone
|
|
myproject-gate
/ | \
/ | \
build-x86 | \
build-sparc \
myproject-ws
do all of your work in myproject-ws, putback to myproject-gate whenever you want to
do a build, bringover to the two build-* workspaces and build.