home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / windows / intervie / 3613 < prev    next >
Encoding:
Text File  |  1993-01-22  |  7.9 KB  |  265 lines

  1. Newsgroups: comp.windows.interviews
  2. Path: sparky!uunet!spool.mu.edu!agate!stanford.edu!MIRKWOOD.CYGNUS.COM!mrs
  3. From: mrs@MIRKWOOD.CYGNUS.COM (Mike Stump)
  4. Subject: new release of InterViews 3.1 patch kit for g++
  5. Message-ID: <9301221157.AA06454@mirkwood.cygnus.com>
  6. Sender: news@shelby.stanford.edu (USENET News System)
  7. Organization: Internet-USENET Gateway at Stanford University
  8. Date: Fri, 22 Jan 1993 11:57:41 GMT
  9. Lines: 254
  10.  
  11. I have finally upgraded my InterViews to 3.1, ported over my patches, and
  12. verified everything works pretty well when compiled with g++.
  13.  
  14. First is the README, then the patches.
  15.  
  16.                             January 22, 1993
  17.  
  18. This file comes to you from:
  19.  
  20.     pub/contrib/g++/iv-3.1-g++-3.1.tar.Z@interviews.stanford.edu
  21.  
  22.  
  23. Here is a set of patches to help you get iv-3.1 working with a free
  24. compiler.  I am using iv-3.1 and libg++-2.2 and gcc-2.3.3 on a Sun ELC
  25. (sun4 SPARC) running SunOS 4.1.2.  Future versions of libg++ and gcc
  26. should continue to work as well as the versions describe here.
  27.  
  28. This file does not constitute a release, or a permanent migration
  29. version of iv.  In the future, I will provide ONLY diffs against
  30. virgin sources, with the specified fixes applied.
  31.  
  32. After patching, keep the patches around, because when you get the next
  33. one, you will need to UNDO these patches, or re-extract virgin 3.1.
  34. You will need to apply any fixes that you want, should any be released
  35. for InterViews 3.1, so far, none are available.
  36.  
  37. Note, these patches should now enable you to compile any interviews
  38. programs you have.  Your programs should now work.
  39.  
  40. You will need around 34 megabytes to compile g++ and 64 megabytes to
  41. compile and install InterViews.  InterViews takes up around 20
  42. megabytes when installed.  The compiler takes around 12 megabytes when
  43. installed, and libg++ takes around 3.  You might want to get gdb-4.6
  44. (or higher) from prep.ai.mit.edu to debug your InterViews programs.
  45. On quite a few machines you will either need to use gas and GNU ld, or
  46. collect (collect2) from gcc.
  47.  
  48. To build the compiler and libg++, I use something like:
  49.  
  50.     PATH="/usr/local/gcc-2.3.3/bin:$PATH"
  51.     ./configure --prefix=/usr/local/gcc-2.3.3 sun4
  52.     make -k
  53.     make -k INSTALL_HEADERS=install-fixincludes install
  54.  
  55. After extracting InterViews 3.1, you will need to patch it:
  56.  
  57.     patch -p0 <iv-3.1.diffs
  58.  
  59. In order for make depend to work, you will need to edit the gcc.def
  60. file and let it know where the include directories are.  If you
  61. configure as above, you should be pretty well set.  You will need to
  62. edit local.def (down in iv/src/config/InterViews) if your X11
  63. installation is not in /usr/local/X11R5.  You will need to edit
  64. local.def if you want InterViews installed someplace other than
  65. /usr/local/interviews-3.1-g++-2.3.3.
  66.  
  67. Then to build InterViews, I:
  68.  
  69.     make XCONFIGDIR=/usr/local/X11R5/lib/X11/config World
  70.  
  71. You might need to build tif_fax3.c in iv/src/lib/IV with /bin/cc if
  72. gcc core dumps.
  73.  
  74. Every demo program should work, including doc.  idraw might be short
  75. on one of it's menus, this is related to a bug in libg++ I think.  Let
  76. me know what works for you and what does not, and what machine you are
  77. using.  Also, if you have CFront, let me know of behavior differences
  78. between a CFront compiled InterViews and a g++ compiled InterViews.
  79.  
  80.  
  81. Machines software is known to work on:  (Please help me fill out this list)
  82.  
  83.     sun4        SunOS 4.1.2
  84.  
  85.  
  86. Here is my planning guide:
  87.  
  88. Phase One    (Completed)
  89.    Get the source files turned into .o files a quickly as possible
  90.    If this means making weird changes to IV, so be it.
  91. Phase Two    (Completed)
  92.    Get things to link
  93. Phase Three    (Completed)
  94.    Verify that the a.out's work.  Bug fix the compiler where necessary.
  95.    Bug fix IV where necessary.  (This so far has not been the case, usually)
  96.    Work-around as necessary.
  97. Phase Four    (Continuing work)
  98.    Reduce the number of #ifdef __GNUC__ in the code, by way of compiler
  99.    enhancement, to an absolute minimum.
  100. Phase Five    (Completed)
  101.    Write the missing library code for libg++ for doc.
  102. Phase Six    (In progress for InterViews, Completed for gcc 2.3.3)
  103.    Verify that author released versions of software work as well as what I
  104.    have.  If not, submit bug fixes and enhancements.
  105.  
  106.  
  107. Send any mods, additions, problems or comments to Mike Stump <mrs@cygnus.com>.
  108.  
  109.  
  110. And here are the patches:
  111.  
  112. --------------
  113. Doing diffs in iv/src:
  114. *** iv/src/config/InterViews/local.def.~1~    Tue Nov 24 12:08:51 1992
  115. --- iv/src/config/InterViews/local.def    Thu Jan 21 18:28:08 1993
  116. ***************
  117. *** 6,11 ****
  118. --- 6,19 ----
  119.   #define LanguageCCDefines -Dcplusplus_2_0
  120.   
  121.   /*
  122. +  * Build RPC classes on machines that support it.
  123. +  */
  124. + #if defined(SGIArchitecture) || defined(SunArchitecture)
  125. + #undef BuildRPCClasses
  126. + #define BuildRPCClasses YES
  127. + #endif
  128. + /*
  129.    * If you are using gcc/g++, then uncomment the include below.
  130.    */
  131.   /* #include <InterViews/gcc.def> */
  132. ***************
  133. *** 26,39 ****
  134.   #endif
  135.   
  136.   /*
  137. -  * If you are using g++, define BuildRPCClasses to NO.
  138. -  */
  139. - #if defined(SGIArchitecture) || defined(SunArchitecture)
  140. - #undef BuildRPCClasses
  141. - #define BuildRPCClasses YES
  142. - #endif
  143. - /*
  144.    * Delete this definition if your /tmp space is less than five megabytes.
  145.    */
  146.   #undef HasLargeTmp
  147. --- 34,39 ----
  148. ***************
  149. *** 68,70 ****
  150. --- 68,93 ----
  151.   #undef XLibDir
  152.   #define XLibDir /usr/X11R5/lib
  153.   */
  154. + #include <InterViews/gcc.def>
  155. + #undef InstalledRoot
  156. + #define InstalledRoot /usr/local/interviews-3.1-g++-2.3.3
  157. + /*
  158. +  * If we are going to define the above, then, we might as well have it
  159. +  * take effect. (mrs)
  160. +  */
  161. + #undef InstallRelative
  162. + #define InstallRelative         NO      /* need absolute pathnames */
  163. + #define BinDir InstalledRoot/bin
  164. + #define LibDir InstalledRoot/lib
  165. + #define LibAllDir InstalledRoot/lib
  166. + #undef XConfigDir
  167. + #define XConfigDir /usr/local/X11R5/lib/X11/config
  168. + #undef XIncDir
  169. + #define XIncDir /usr/local/X11R5/include
  170. + #undef XLibDir
  171. + #define XLibDir /usr/local/X11R5/lib
  172. *** iv/src/config/InterViews/gcc.def.~1~    Tue Sep  8 15:38:37 1992
  173. --- iv/src/config/InterViews/gcc.def    Fri Jan 22 03:14:55 1993
  174. ***************
  175. *** 9,16 ****
  176.   #define CCDriver g++
  177.   #endif
  178.   
  179.   #ifndef DependCCFlags
  180. ! #define DependCCFlags $(CCDEFINES) $(CCINCLUDES)
  181.   #endif
  182.   
  183.   #ifndef ExtraCCLdLibs
  184. --- 9,31 ----
  185.   #define CCDriver g++
  186.   #endif
  187.   
  188. + #ifndef CcCmd
  189. + #define CcCmd gcc
  190. + #endif
  191. + #if defined(SunArchitecture)
  192. + #ifndef TIFFStdCDefines
  193. + #define TIFFStdCDefines \
  194. +     -DCOLORIMETRY_SUPPORT -DYCBCR_SUPPORT \
  195. +     -DHAVE_IEEEFP=1 -DUSE_VARARGS=0 -DUSE_PROTOTYPES=1
  196. + #endif
  197. + #endif
  198. + /* The below include directories can be figured out by examining the
  199. +  * output from gcc -v ...
  200. +  */
  201.   #ifndef DependCCFlags
  202. ! #define DependCCFlags $(CCDEFINES) $(CCINCLUDES) -I/usr/local/gcc-2.3.3/lib/g++-include -I/usr/local/gcc-2.3.3/lib/gcc-lib/sun4/2.3.3/include
  203.   #endif
  204.   
  205.   #ifndef ExtraCCLdLibs
  206. ***************
  207. *** 19,21 ****
  208. --- 34,42 ----
  209.   
  210.   #undef HasSunOSSharedLibraries
  211.   #define HasSunOSSharedLibraries NO
  212. + /*
  213. +  * Right now, libg++ cannot be used to build the RPC classes.
  214. +  */
  215. + #undef BuildRPCClasses
  216. + #define BuildRPCClasses NO
  217. *** iv/src/include/InterViews/glyph.h.~1~    Mon Apr 13 09:59:05 1992
  218. --- iv/src/include/InterViews/glyph.h    Thu Jan 21 21:21:15 1993
  219. ***************
  220. *** 42,48 ****
  221.   typedef long GlyphIndex;
  222.   typedef unsigned int GlyphBreakType;
  223.   
  224. ! class Glyph : public Resource {
  225.   public:
  226.       enum { no_break, pre_break, in_break, post_break };
  227.   
  228. --- 42,48 ----
  229.   typedef long GlyphIndex;
  230.   typedef unsigned int GlyphBreakType;
  231.   
  232. ! class Glyph : virtual public Resource {
  233.   public:
  234.       enum { no_break, pre_break, in_break, post_break };
  235.   
  236. *** iv/src/include/InterViews/handler.h.~1~    Tue Feb 11 09:33:42 1992
  237. --- iv/src/include/InterViews/handler.h    Thu Jan 21 21:20:57 1993
  238. ***************
  239. *** 31,37 ****
  240.   
  241.   class Event;
  242.   
  243. ! class Handler : public Resource {
  244.   protected:
  245.       Handler();
  246.       virtual ~Handler();
  247. --- 31,37 ----
  248.   
  249.   class Event;
  250.   
  251. ! class Handler : virtual public Resource {
  252.   protected:
  253.       Handler();
  254.       virtual ~Handler();
  255.