diff -C 2 -r -N /tmp/gcc-2.8.1/Makefile.in gcc-2.8.1/Makefile.in
*** /tmp/gcc-2.8.1/Makefile.in	Tue Mar  3 02:54:31 1998
--- gcc-2.8.1/Makefile.in	Thu Apr  9 17:20:23 1998
***************
*** 2176,2200 ****
  
  # Create the installation directories.
  installdirs:
! 	-if [ -d $(prefix) ] ; then true ; else mkdir $(prefix) ; chmod a+rx $(prefix) ; fi
! 	-if [ -d $(exec_prefix) ] ; then true ; else mkdir $(exec_prefix) ; chmod a+rx $(exec_prefix) ; fi
! 	-if [ -d $(libdir) ] ; then true ; else mkdir $(libdir) ; chmod a+rx $(libdir) ; fi
! 	-if [ -d $(libdir)/gcc-lib ] ; then true ; else mkdir $(libdir)/gcc-lib ; chmod a+rx $(libdir)/gcc-lib ; fi
! # This dir isn't currently searched by cpp.
! #	-if [ -d $(libdir)/gcc-lib/include ] ; then true ; else mkdir $(libdir)/gcc-lib/include ; chmod a+rx $(libdir)/gcc-lib/include ; fi
! 	-if [ -d $(libdir)/gcc-lib/$(target_alias) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target_alias) ; chmod a+rx $(libdir)/gcc-lib/$(target_alias) ; fi
! 	-if [ -d $(libdir)/gcc-lib/$(target_alias)/$(version) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target_alias)/$(version) ; chmod a+rx $(libdir)/gcc-lib/$(target_alias)/$(version) ; fi
! 	-if [ -d $(libdir)/gcc-lib/$(target_alias)/$(version)/include ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target_alias)/$(version)/include ; chmod a+rx $(libdir)/gcc-lib/$(target_alias)/$(version)/include ; fi
! 	-if [ -d $(bindir) ] ; then true ; else mkdir $(bindir) ; chmod a+rx $(bindir) ; fi
! 	-if [ -d $(includedir) ] ; then true ; else mkdir $(includedir) ; chmod a+rx $(includedir) ; fi
! 	-if [ -d $(tooldir) ] ; then true ; else mkdir $(tooldir) ; chmod a+rx $(tooldir) ; fi
! 	-if [ -d $(assertdir) ] ; then true ; else mkdir $(assertdir) ; chmod a+rx $(assertdir) ; fi
! 	-if [ -d $(infodir) ] ; then true ; else mkdir $(infodir) ; chmod a+rx $(infodir) ; fi
! # We don't use mkdir -p to create the parents of mandir,
! # because some systems don't support it.
! # Instead, we use this technique to create the immediate parent of mandir.
! 	-parent=`echo $(mandir)|sed -e 's@/[^/]*$$@@'`; \
! 	if [ -d $$parent ] ; then true ; else mkdir $$parent ; chmod a+rx $$parent ; fi
! 	-if [ -d $(mandir) ] ; then true ; else mkdir $(mandir) ; chmod a+rx $(mandir) ; fi
  
  # Install the compiler executables built during cross compilation.
--- 2176,2186 ----
  
  # Create the installation directories.
+ # Using mkdir-p is cleaner, faster, well supported on Linux and spares me
+ # from writing more of those real-ugly lines in a wasted effort to span
+ # all necessary directories - Frodo
  installdirs:
! 	mkdir -p $(libdir)/gcc-lib/$(target_alias)/$(version)/include
! 	mkdir -p $(bindir) $(includedir) $(tooldir)/bin $(assertdir) $(infodir)
! 	mkdir -p $(mandir)
  
  # Install the compiler executables built during cross compilation.
***************
*** 2227,2236 ****
  	fi
  # Install protoize if it was compiled.
  	-if [ -f protoize$(exeext) ]; \
  	then \
! 	    rm -f $(bindir)/protoize$(exeext); \
! 	    $(INSTALL_PROGRAM) protoize$(exeext) $(bindir)/protoize$(exeext); \
! 	    rm -f $(bindir)/unprotoize$(exeext); \
! 	    $(INSTALL_PROGRAM) unprotoize$(exeext) $(bindir)/unprotoize$(exeext); \
  	    rm -f $(libsubdir)/SYSCALLS.c.X; \
  	    $(INSTALL_DATA) SYSCALLS.c.X $(libsubdir)/SYSCALLS.c.X; \
--- 2213,2230 ----
  	fi
  # Install protoize if it was compiled.
+ # Install it in $(tooldir)/bin if cross-compiling - Frodo
  	-if [ -f protoize$(exeext) ]; \
  	then \
! 	   if [ -f gcc-cross$(exeext) ] ; then \
! 	       rm -f $(tooldir)/bin/protoize$(exeext); \
! 	       $(INSTALL_PROGRAM) protoize$(exeext) $(tooldir)/bin/protoize$(exeext); \
! 	       rm -f $(tooldir)/bin/unprotoize$(exeext); \
! 	       $(INSTALL_PROGRAM) unprotoize$(exeext) $(tooldir)/bin/unprotoize$(exeext); \
! 	   else \
! 	       rm -f $(bindir)/protoize$(exeext); \
! 	       $(INSTALL_PROGRAM) protoize$(exeext) $(bindir)/protoize$(exeext); \
! 	       rm -f $(bindir)/unprotoize$(exeext); \
! 	       $(INSTALL_PROGRAM) unprotoize$(exeext) $(bindir)/unprotoize$(exeext); \
! 	    fi; \
  	    rm -f $(libsubdir)/SYSCALLS.c.X; \
  	    $(INSTALL_DATA) SYSCALLS.c.X $(libsubdir)/SYSCALLS.c.X; \
***************
*** 2240,2256 ****
  	$(INSTALL_PROGRAM) cpp$(exeext) $(libsubdir)/cpp$(exeext)
  # Install gcov if it was compiled.
  	-if [ -f gcov$(exeext) ]; \
  	then \
  	    rm -f $(bindir)/gcov$(exeext); \
  	    $(INSTALL_PROGRAM) gcov$(exeext) $(bindir)/gcov$(exeext); \
  	    chmod a+x $(bindir)/gcov$(exeext); \
  	fi
  
! # Install the driver program as $(target_alias)-gcc
! # and also as either gcc (if native) or $(tooldir)/bin/gcc.
  install-driver: xgcc
  	-if [ -f gcc-cross$(exeext) ] ; then \
- 	  rm -f $(bindir)/$(GCC_CROSS_NAME)$(exeext); \
- 	  $(INSTALL_PROGRAM) gcc-cross$(exeext) $(bindir)/$(GCC_CROSS_NAME)$(exeext); \
  	  if [ -d $(tooldir)/bin/. ] ; then \
  	    rm -f $(tooldir)/bin/gcc$(exeext); \
--- 2234,2250 ----
  	$(INSTALL_PROGRAM) cpp$(exeext) $(libsubdir)/cpp$(exeext)
  # Install gcov if it was compiled.
+ # Only if not cross-compiling - Frodo
  	-if [ -f gcov$(exeext) ]; \
  	then \
+ 	  if [ ! -f gcc-cross$(exeext) ] ; then \
  	    rm -f $(bindir)/gcov$(exeext); \
  	    $(INSTALL_PROGRAM) gcov$(exeext) $(bindir)/gcov$(exeext); \
  	    chmod a+x $(bindir)/gcov$(exeext); \
+ 	  fi; \
  	fi
  
! # Install the driver program either as gcc (if native) or $(tooldir)/bin/gcc.
  install-driver: xgcc
  	-if [ -f gcc-cross$(exeext) ] ; then \
  	  if [ -d $(tooldir)/bin/. ] ; then \
  	    rm -f $(tooldir)/bin/gcc$(exeext); \
***************
*** 2260,2295 ****
  	  rm -f $(bindir)/$(GCC_INSTALL_NAME)$(exeext); \
  	  $(INSTALL_PROGRAM) xgcc$(exeext) $(bindir)/$(GCC_INSTALL_NAME)$(exeext); \
- 	  rm -f $(bindir)/$(target_alias)-gcc-1$(exeext); \
- 	  ln $(bindir)/$(GCC_INSTALL_NAME)$(exeext) $(bindir)/$(target_alias)-gcc-1$(exeext) \
- 	    > /dev/null 2>&1 \
- 	    || cp $(bindir)/$(GCC_INSTALL_NAME)$(exeext) $(bindir)/$(target_alias)-gcc-1$(exeext); \
- 	  mv $(bindir)/$(target_alias)-gcc-1$(exeext) $(bindir)/$(target_alias)-gcc$(exeext); \
  	fi
  
  # Install the info files.
  # $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir
  # to do the install.  The sed rule was copied from stmp-int-hdrs.
  install-info: doc installdirs lang.install-info
! 	-rm -f $(infodir)/cpp.info* $(infodir)/gcc.info*
! 	for f in $(srcdir)/cpp.info* $(srcdir)/gcc.info*; do \
! 	    realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
! 	    $(INSTALL_DATA) $$f $(infodir)/$$realfile; \
! 	done
! 	-chmod a-x $(infodir)/cpp.info* $(infodir)/gcc.info*
  
  # Install the man pages.
  install-man: installdirs $(srcdir)/gcc.1 $(srcdir)/cccp.1 lang.install-man
! 	-if [ -f gcc-cross$(exeext) ] ; then \
! 	  rm -f $(mandir)/$(GCC_CROSS_NAME)$(manext); \
! 	  $(INSTALL_DATA) $(srcdir)/gcc.1 $(mandir)/$(GCC_CROSS_NAME)$(manext); \
! 	  chmod a-x $(mandir)/$(GCC_CROSS_NAME)$(manext); \
! 	else \
  	  rm -f $(mandir)/$(GCC_INSTALL_NAME)$(manext); \
  	  $(INSTALL_DATA) $(srcdir)/gcc.1 $(mandir)/$(GCC_INSTALL_NAME)$(manext); \
  	  chmod a-x $(mandir)/$(GCC_INSTALL_NAME)$(manext); \
  	fi
- 	-rm -f $(mandir)/cccp$(manext)
- 	-$(INSTALL_DATA) $(srcdir)/cccp.1 $(mandir)/cccp$(manext)
- 	-chmod a-x $(mandir)/cccp$(manext)
  
  # Install the library.
--- 2254,2286 ----
  	  rm -f $(bindir)/$(GCC_INSTALL_NAME)$(exeext); \
  	  $(INSTALL_PROGRAM) xgcc$(exeext) $(bindir)/$(GCC_INSTALL_NAME)$(exeext); \
  	fi
+ # We don't want renamed gcc versions floating around - Frodo
  
  # Install the info files.
  # $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir
  # to do the install.  The sed rule was copied from stmp-int-hdrs.
+ # 
  install-info: doc installdirs lang.install-info
! 	-if [ ! -f gcc-cross$(exeext) ] ; then \
! 	  rm -f $(infodir)/cpp.info* $(infodir)/gcc.info*; \
! 	  for f in $(srcdir)/cpp.info* $(srcdir)/gcc.info*; do \
! 	      realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
! 	      $(INSTALL_DATA) $$f $(infodir)/$$realfile; \
! 	  done; \
! 	  chmod a-x $(infodir)/cpp.info* $(infodir)/gcc.info*; \
! 	fi
  
  # Install the man pages.
+ # We only install them if not cross-compiling, and use cpp.1 instead of
+ # cccp.1 - Frodo
  install-man: installdirs $(srcdir)/gcc.1 $(srcdir)/cccp.1 lang.install-man
! 	-if [ ! -f gcc-cross$(exeext) ] ; then \
  	  rm -f $(mandir)/$(GCC_INSTALL_NAME)$(manext); \
  	  $(INSTALL_DATA) $(srcdir)/gcc.1 $(mandir)/$(GCC_INSTALL_NAME)$(manext); \
  	  chmod a-x $(mandir)/$(GCC_INSTALL_NAME)$(manext); \
+ 	  rm -f $(mandir)/cpp$(manext); \
+ 	  $(INSTALL_DATA) $(srcdir)/cccp.1 $(mandir)/cpp$(manext); \
+ 	  chmod a-x $(mandir)/cpp$(manext) ; \
  	fi
  
  # Install the library.
diff -C 2 -r -N /tmp/gcc-2.8.1/cp/Make-lang.in gcc-2.8.1/cp/Make-lang.in
*** /tmp/gcc-2.8.1/cp/Make-lang.in	Sun Feb 15 00:24:07 1998
--- gcc-2.8.1/cp/Make-lang.in	Thu Apr  2 17:54:37 1998
***************
*** 195,205 ****
  	-if [ -f cc1plus$(exeext) ] ; then \
  	  if [ -f g++-cross$(exeext) ] ; then \
! 	    rm -f $(bindir)/$(GXX_CROSS_NAME)$(exeext); \
! 	    $(INSTALL_PROGRAM) g++-cross$(exeext) $(bindir)/$(GXX_CROSS_NAME)$(exeext); \
! 	    chmod a+x $(bindir)/$(GXX_CROSS_NAME)$(exeext); \
! 	    rm -f $(bindir)/$(CXX_CROSS_NAME)$(exeext); \
! 	    ln $(bindir)/$(GXX_CROSS_NAME)$(exeext) $(bindir)/$(CXX_CROSS_NAME)$(exeext) \
  	      > /dev/null 2>&1 \
! 	      || cp $(bindir)/$(GXX_CROSS_NAME)$(exeext) $(bindir)/$(CXX_CROSS_NAME)$(exeext) ; \
  	  else \
  	    rm -f $(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
--- 195,205 ----
  	-if [ -f cc1plus$(exeext) ] ; then \
  	  if [ -f g++-cross$(exeext) ] ; then \
! 	    rm -f $(tooldir)/bin/$(GXX_INSTALL_NAME)$(exeext); \
! 	    $(INSTALL_PROGRAM) g++-cross$(exeext) $(tooldir)/bin/$(GXX_INSTALL_NAME)$(exeext); \
! 	    chmod a+x $(tooldir)/bin/$(GXX_INSTALL_NAME)$(exeext); \
! 	    rm -f $(tooldir)/bin/$(CXX_INSTALL_NAME)$(exeext); \
! 	    ln -sfn $(GXX_INSTALL_NAME)$(exeext) $(tooldir)/bin/$(CXX_INSTALL_NAME)$(exeext) \
  	      > /dev/null 2>&1 \
! 	      || cp $(tooldir)/bin/$(GXX_INSTALL_NAME)$(exeext) $(tooldir)/bin/$(CXX_INSTALL_NAME)$(exeext) ; \
  	  else \
  	    rm -f $(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
***************
*** 207,211 ****
  	    chmod a+x $(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
  	    rm -f $(bindir)/$(CXX_INSTALL_NAME)$(exeext); \
! 	    ln $(bindir)/$(GXX_INSTALL_NAME)$(exeext) $(bindir)/$(CXX_INSTALL_NAME)$(exeext) \
  	      > /dev/null 2>&1 \
  	      || cp $(bindir)/$(GXX_INSTALL_NAME)$(exeext) $(bindir)/$(CXX_INSTALL_NAME)$(exeext) ; \
--- 207,211 ----
  	    chmod a+x $(bindir)/$(GXX_INSTALL_NAME)$(exeext); \
  	    rm -f $(bindir)/$(CXX_INSTALL_NAME)$(exeext); \
! 	    ln -sfn $(GXX_INSTALL_NAME)$(exeext) $(bindir)/$(CXX_INSTALL_NAME)$(exeext) \
  	      > /dev/null 2>&1 \
  	      || cp $(bindir)/$(GXX_INSTALL_NAME)$(exeext) $(bindir)/$(CXX_INSTALL_NAME)$(exeext) ; \
***************
*** 217,225 ****
  c++.install-man: $(srcdir)/cp/g++.1
  	-if [ -f cc1plus$(exeext) ] ; then \
! 	  if [ -f g++-cross$(exeext) ] ; then \
! 	    rm -f $(mandir)/$(GXX_CROSS_NAME)$(manext); \
! 	    $(INSTALL_DATA) $(srcdir)/cp/g++.1 $(mandir)/$(GXX_CROSS_NAME)$(manext); \
! 	    chmod a-x $(mandir)/$(GXX_CROSS_NAME)$(manext); \
! 	  else \
  	    rm -f $(mandir)/$(GXX_INSTALL_NAME)$(manext); \
  	    $(INSTALL_DATA) $(srcdir)/cp/g++.1 $(mandir)/$(GXX_INSTALL_NAME)$(manext); \
--- 217,221 ----
  c++.install-man: $(srcdir)/cp/g++.1
  	-if [ -f cc1plus$(exeext) ] ; then \
! 	  if [ ! -f g++-cross$(exeext) ] ; then \
  	    rm -f $(mandir)/$(GXX_INSTALL_NAME)$(manext); \
  	    $(INSTALL_DATA) $(srcdir)/cp/g++.1 $(mandir)/$(GXX_INSTALL_NAME)$(manext); \
