mrs@MX.SECS.CSUN.EDU (Mike Stump) (04/24/91)
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.