mrs@MX.SECS.CSUN.EDU (Mike Stump) (04/25/91)
Archive-name: x11/interface-builder/interviews-g++/1991-04-24
Archive: interviews.stanford.edu:/pub/contrib/iv-3.0-g++* [36.22.0.175]
Original-posting-by: mrs@MX.SECS.CSUN.EDU (Mike Stump)
Original-subject: GNU C++ and iv-3.0-beta, together again...
Reposted-by: emv@msen.com (Edward Vielmetti, MSEN)
Ok, It's here. It's nearly done. (I know, wishful thinking.)
One should now be able to compile all of interviews with g++. I am
looking for people to try this out if you have the time and disk space.
I would like to know if it works for you.
Here is the top part of a file called:
~ftp/pub/contrib/iv-3.0-g++-1.2.S@interviews.stanford.edu
Here are four sets of patches to help you get iv-3.0-beta working with
g++. I am using iv-3.0-beta and libg++1.39.0 and gcc-1.92 on a sun4
SPARC to cross compile to a vax running Ultrix 4.1. (It is faster
that way!)
Also, I manual do a:
for i in *.c
do
mv $i ${i}c
done
in the IV source directories on demand. Also, I have "rcp -r"ed the
whole /usr/include over to my SPARC, and then "rcp -r"ed my gcc
fixincludes directory on top of my new directory, replacing any
unneeded system headers. The script below was then run in the new include
directory:
#!/bin/sh
while read i
do
echo "doing $i"
if [ -d "$i.bak" -o -f "$i.bak" ]; then
echo "$i: already exists" >&2
else
mv "$i" "$i.bak"
sed 's/\(#[ ]*include[ ]*["<]\)/\1BASE\//' <"$i.bak" >"$i"
if cmp -s "$i" "$i.bak"; then
rm -f "$i"
mv "$i.bak" "$i"
fi
rm -f "$i.bak"
fi
done
The final step was to provide a symbolic link in the gcc-include directory
from BASE to . as in ln -s . BASE. This hackery makes it impossible for a
system headerfile to escape back into the c++ include hierarchy. Also, this
way, you can have many cross compilers install on your system and the g++
header files from libg++ will choose not the files in /usr/include, but
whatever files it should!
This file does not constitute a release, or a permanent migration
version of iv. In the future, I will provide ONLY diffs against
virgin sources.
What you get with these patches is:
ability to compile all of src/lib
ability to compile all of src/bin/alert
ability to compile all of src/bin/dclock
ability to compile most (all but 7 files) of src/bin/doc
ability to compile all of src/bin/ibuild
ability to compile all of src/bin/iclass
ability to compile all of src/bin/idraw
ability to compile all of src/bin/ifb
ability to compile all of src/bin/ifc
ability to compile all of src/bin/logo
ability to compile all of src/bin/mailbox
Note, I hand compiled src/lib/IV-X11/{xbitmap,xcanvas,xraster}.cc
without the -O flag, as it makes gcc-1.92 core dump.
After patching, keep this file around, because when you get the next one, you
will need to UNDO these patches, or re-extract virgin 3.0-beta.
Note, these patches should now enable you to compile any interviews
programs you have. If you are a new user, these are not yet for you,
don't waste your time. Also, don't expect to be able to get gcc-1.92,
use g++-1.37, or some such. There is one patch needed for the
compiler, if you don't feel like patching, building and installing it,
don't bother trying to uses these diffs. Note, I have not verified
the proper operation of ANY a.outs yet, but will be doing that
shortly. You might not be able to run a single program, but at least
you can compile them.
Send any mods, additions or problems to Mike Stump <mrs@csun.edu>.
The vax-include.diffs file is a short file containing diffs against
some standard headerfiles on ultrix that needed fixing.
-- comp.archives file verification
interviews.stanford.edu
-rw-r--r-- 1 7 22 23755 Apr 19 17:37 /pub/contrib/iv-3.0-g++-1.0.S
-rw-r--r-- 1 7 22 41400 Apr 21 06:16 /pub/contrib/iv-3.0-g++-1.1.S
-rw-r--r-- 1 7 22 81406 Apr 24 02:48 /pub/contrib/iv-3.0-g++-1.2.S
found interviews-g++ ok
interviews.stanford.edu:/pub/contrib/iv-3.0-g++*