home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / windows / x / 15709 < prev    next >
Encoding:
Internet Message Format  |  1992-08-27  |  37.8 KB

  1. Xref: sparky comp.windows.x:15709 comp.unix.solaris:188 comp.sys.sun.misc:3961
  2. Path: sparky!uunet!cis.ohio-state.edu!sample.eng.ohio-state.edu!purdue!mentor.cc.purdue.edu!noose.ecn.purdue.edu!harbor.ecn.purdue.edu!davy
  3. From: davy@harbor.ecn.purdue.edu (Dave Curry)
  4. Newsgroups: comp.windows.x,comp.unix.solaris,comp.sys.sun.misc
  5. Subject: Solaris 2.0 diffs for MIT X11R5
  6. Message-ID: <1992Aug27.144421.22400@noose.ecn.purdue.edu>
  7. Date: 27 Aug 92 14:44:21 GMT
  8. Sender: news@noose.ecn.purdue.edu (USENET news)
  9. Organization: Purdue University Engineering Computer Network
  10. Lines: 1220
  11.  
  12.  
  13. Enclosed are my diffs to the MIT X11R5 sources to make them work under
  14. Solaris 2.0.  I have gotten the clients and libraries to work; the
  15. server compiles but still does not work.  I am using the clients and
  16. libraries with the OpenWindows server, and it seems to work just fine.
  17.  
  18. Dave Curry
  19. davy@ecn.purdue.edu
  20.  
  21. #! /bin/sh
  22. # This is a shell archive, meaning:
  23. # 1. Remove everything above the #! /bin/sh line.
  24. # 2. Save the resulting text in a file.
  25. # 3. Execute the file with /bin/sh (not csh) to create the files:
  26. #    solaris-x
  27. # This archive created: Thu Aug 27 09:40:51 1992
  28. export PATH; PATH=/bin:$PATH
  29. if test ! -d 'solaris-x'
  30. then
  31.     echo shar: creating directory "'solaris-x'"
  32.     mkdir 'solaris-x'
  33. fi
  34. echo shar: entering directory "'solaris-x'"
  35. cd 'solaris-x'
  36. echo shar: extracting "'NOTES.X11.CLIENTS'" '(2148 characters)'
  37. if test -f 'NOTES.X11.CLIENTS'
  38. then
  39.     echo shar: will not over-write existing file "'NOTES.X11.CLIENTS'"
  40. else
  41. sed 's/^X//' << \SHAR_EOF > 'NOTES.X11.CLIENTS'
  42. XNotes for building MIT X11 Release 5 libraries and clients under Solaris 2.0:
  43. X
  44. X- Change config/sun.cf:
  45. X    - Operating system version:
  46. X    #define OSName        Solaris 2.0/SunOS 5.0
  47. X    #define OSMajorVersion    5
  48. X    #define OSMinorVersion    0
  49. X    #define OSTeenyVersion    0
  50. X    - Shared library support:
  51. X    #if OSMajorVersion > 4
  52. X    #include <sv4Lib.rules>
  53. X    #else
  54. X    #include <sunLib.rules>
  55. X    #endif
  56. X    - Change DefaultCCOptions:
  57. X    #ifdef mc68000
  58. X    #define DefaultCCOptions -f68881 -pipe
  59. X    #else
  60. X    #if OSMajorVersion > 4
  61. X    #define DefaultCCOptions    -Xc -Dsun -Dsparc    
  62. X    #else
  63. X    #define DefaultCCOptions -pipe
  64. X    #endif
  65. X    #endif
  66. X    - Location of C preprocessor:
  67. X        #if OSMajorVersion > 4
  68. X    #define CppCmd    /usr/ccs/lib/cpp
  69. X    #endif
  70. X    - Other miscellaneous options:
  71. X        #if OSMajorVersion > 4
  72. X    #define SystemV4        YES
  73. X    #define HasSockets        YES
  74. X    #define BootstrapCFlags        -Dsun -Dsparc
  75. X    #endif
  76. X
  77. X- Change config/site.def (ECN only):
  78. X    - Install location:
  79. X        #define ProjectRoot    /usr/local/X11R5
  80. X
  81. X- Add to config/imakemdep.h in the appropriate places:
  82. X    #if defined(sun) && defined(SUNOS5)
  83. X    #define imake_ccflags   "-Xc -DSVR4"
  84. X    #endif
  85. X
  86. X    #if defined(sun) && defined(SUNOS5)
  87. X    #define DEFAULT_CPP     "/usr/ccs/lib/cpp"
  88. X    #endif
  89. X
  90. X- Change clients/xinit/xinit.c:
  91. X    - Use fork(), not vfork().  You can't reset signal handlers in vfork()
  92. X      children; it affects the parent.
  93. X
  94. X- Change clients/xmag/xmag.c:
  95. X    - Replace variable name "select" with "zselect" to avoid conflicts.
  96. X
  97. X- Change clients/xterm/main.c, clients/xterm/resize.c, clients/xterm/screen.c:
  98. X    - Change "#ifdef sun" to "#if defined(sun) && !defined(SVR4)" around
  99. X      all the TIOCSWINSZ code.  We want to use TIOCSWINSZ, not TIOCSSIZE.
  100. X
  101. X- Change clients/xterm/main.c and clients/xconsole/xconsole.c:
  102. X    - Change to use the SRIOCSREDIR method of obtaining console output.
  103. X
  104. X- Build with:
  105. X    % make World "BOOTSTRAPCFLAGS=-Dsun -Dsparc -DSUNOS5"
  106. X
  107. X- Make symbolic links:
  108. X    - /usr/local/bin/X11R5 -> /usr/local/X11R5/bin
  109. X    - /usr/local/lib/X11R5 -> /usr/local/X11R5/lib
  110. X    - /usr/local/include/X11R5 -> /usr/local/X11R5/include
  111. X    - for i in /usr/local/X11R5/lib/lib*
  112. X      do
  113. X      ln -s $i /usr/lib/`basename $i`
  114. X      done
  115. SHAR_EOF
  116. if test 2148 -ne "`wc -c < 'NOTES.X11.CLIENTS'`"
  117. then
  118.     echo shar: error transmitting "'NOTES.X11.CLIENTS'" '(should have been 2148 characters)'
  119. fi
  120. fi # end of overwriting check
  121. echo shar: extracting "'NOTES.X11.SERVER'" '(3566 characters)'
  122. if test -f 'NOTES.X11.SERVER'
  123. then
  124.     echo shar: will not over-write existing file "'NOTES.X11.SERVER'"
  125. else
  126. sed 's/^X//' << \SHAR_EOF > 'NOTES.X11.SERVER'
  127. XNotes for building MIT X11 Release 5 server under Solaris 2.0:
  128. X
  129. X- Make the changes to config/sun.cf, config/site.def, and config/imakemdep.h
  130. X  as described in the libraries and clients note.
  131. X
  132. X- Change fonts/lib/font/util/Imakefile:
  133. X    - Use "ufontutil.[co]" instead of "fontutil.[co]" because of Solaris 2.0
  134. X      bogosity in the loader.
  135. X    - Move fontutil.c in this directory to ufontutil.c for same reason.
  136. X
  137. X- Change server/Imakefile:
  138. X    - "SYSLIBS=-lm -lnisdb /usr/ucblib/libucb.a"
  139. X
  140. X- Change ddx/cfb/stipsparc.s and ddx/cfb/stipsparcte.s:
  141. X    - Subroutine names no longer have an underscore in front of their names.
  142. X
  143. X- Change server/ddx/sun/sun.h:
  144. X    - All #includes of "<sundev/anything.h>" or "<sun/anything.h>" should now
  145. X      be "<sys/anything.h>".
  146. X    - Add #include <unistd.h>.
  147. X    - Add "#define on_exit(a, b) atexit(a)".
  148. X    - Add definition of sigmask() macro.
  149. X
  150. X- Change server/ddx/sun/kbd_mode.c:
  151. X    - All #includes of "<sundev/anything.h>" or "<sun/anything.h>" should now
  152. X      be "<sys/anything.h>".
  153. X    - Add include of <fcntl.h> where O_RDONLY, etc. are now defined.
  154. X
  155. X- Change server/ddx/sun/constype.c:
  156. X    - All #includes of "<sundev/anything.h>" or "<sun/anything.h>" should now
  157. X      be "<sys/anything.h>".
  158. X    - Change <strings.h> to <string.h>.
  159. X    - Add include of <fcntl.h> where O_RDONLY, etc. are now defined.
  160. X
  161. X- Change server/ddx/sunInit.c:
  162. X    - Delete references to "struct sigcontext *scp" around line 105.
  163. X
  164. X- Change server/ddx/sun/sunBW2.c:
  165. X    - All #includes of "<sundev/anything.h>" or "<sun/anything.h>" should now
  166. X      be "<sys/anything.h>".
  167. X
  168. X- Change server/ddx/sun/sunKbd.c:
  169. X    - Add "#define BSD_COMP" before include of <sys/ioctl.h> to get FIONREAD.
  170. X    - Comment out the fcntl(..., F_SETOWN) call; F_SETOWN is gone.
  171. X
  172. X- Change server/ddx/sun/sunMouse.c:
  173. X    - Comment out the fcntl(..., F_SETOWN) call; F_SETOWN is gone.
  174. X
  175. X- Change server/ddx/sun/sunCG.c:
  176. X    - All #includes of "<pixrect/anything.h>" should now be "<sys/anything.h>".
  177. X    - Add contents of SunOS 4.1.1 <struct.h> to top of file.
  178. X
  179. X- Change server/ddx/sun/sunCG2C.c:
  180. X    - All #includes of "<pixrect/anything.h>" should now be "<sys/anything.h>".
  181. X    - Add contents of SunOS 4.1.1 <struct.h> to top of file.
  182. X
  183. X- Change server/ddx/sun/sunCG2M.c:
  184. X    - All #includes of "<pixrect/anything.h>" should now be "<sys/anything.h>".
  185. X    - Add contents of SunOS 4.1.1 <struct.h> to top of file.
  186. X
  187. X- Change server/ddx/sun/sunCG3C.c:
  188. X    - All #includes of "<pixrect/anything.h>" should now be "<sys/anything.h>".
  189. X    - Add contents of SunOS 4.1.1 <struct.h> to top of file.
  190. X
  191. X- Change server/ddx/sun/sunCG4C.c:
  192. X    - All #includes of "<pixrect/anything.h>" should now be "<sys/anything.h>".
  193. X    - All #includes of "<sundev/anything.h>" should now be "<sys/anything.h>".
  194. X    - Add contents of SunOS 4.1.1 <struct.h> to top of file.
  195. X
  196. X- Change server/ddx/sun/sunCG6C.c:
  197. X    - All #includes of "<pixrect/anything.h>" should now be "<sys/anything.h>".
  198. X    - Add contents of SunOS 4.1.1 <struct.h> to top of file.
  199. X    - #ifdef out the call to sunGXInit, since it's distributed object-only.
  200. X
  201. X- Build with:
  202. X    % make World "BOOTSTRAPCFLAGS=-Dsun -Dsparc -DSUNOS5"
  203. X
  204. XThe server now compiles and loads, but it doesn't work.  It dies with the
  205. Xerror
  206. X
  207. X    failed to initialize core devices
  208. X
  209. XAs near as I can tell, this is referring to either the keyboard or the mouse,
  210. Xbut when I try to add printfs, the thing doesn't link anymore.  I think the
  211. Xserver is suffering too much from OS-dependent features, and have little hope
  212. Xthat it'll ever be easy to make it work.  So I've given up.
  213. SHAR_EOF
  214. if test 3566 -ne "`wc -c < 'NOTES.X11.SERVER'`"
  215. then
  216.     echo shar: error transmitting "'NOTES.X11.SERVER'" '(should have been 3566 characters)'
  217. fi
  218. fi # end of overwriting check
  219. if test ! -d 'mit'
  220. then
  221.     echo shar: creating directory "'mit'"
  222.     mkdir 'mit'
  223. fi
  224. echo shar: entering directory "'mit'"
  225. cd 'mit'
  226. if test ! -d 'clients'
  227. then
  228.     echo shar: creating directory "'clients'"
  229.     mkdir 'clients'
  230. fi
  231. echo shar: entering directory "'clients'"
  232. cd 'clients'
  233. if test ! -d 'xinit'
  234. then
  235.     echo shar: creating directory "'xinit'"
  236.     mkdir 'xinit'
  237. fi
  238. echo shar: entering directory "'xinit'"
  239. cd 'xinit'
  240. echo shar: extracting "'xinit.c-diffs'" '(475 characters)'
  241. if test -f 'xinit.c-diffs'
  242. then
  243.     echo shar: will not over-write existing file "'xinit.c-diffs'"
  244. else
  245. sed 's/^X//' << \SHAR_EOF > 'xinit.c-diffs'
  246. X*** old/mit/clients/xinit/xinit.c    Mon Aug 17 10:24:05 1992
  247. X--- new/mit/clients/xinit/xinit.c    Tue Aug 25 09:54:49 1992
  248. X***************
  249. X*** 47,52 ****
  250. X--- 47,56 ----
  251. X  #define vfork() fork()
  252. X  #endif /* SYSV and not hpux */
  253. X  
  254. X+ #if defined(sun) && defined(SVR4)
  255. X+ #define vfork()    fork()
  256. X+ #endif /* sun and SVR4 */
  257. X+ 
  258. X  /* A/UX setpgid incorrectly removes the controlling terminal.
  259. X     Per Posix, only setsid should do that. */
  260. X  #if !defined(X_NOT_POSIX) && !defined(macII)
  261. SHAR_EOF
  262. if test 475 -ne "`wc -c < 'xinit.c-diffs'`"
  263. then
  264.     echo shar: error transmitting "'xinit.c-diffs'" '(should have been 475 characters)'
  265. fi
  266. fi # end of overwriting check
  267. echo shar: done with directory "'xinit'"
  268. cd ..
  269. if test ! -d 'xmag'
  270. then
  271.     echo shar: creating directory "'xmag'"
  272.     mkdir 'xmag'
  273. fi
  274. echo shar: entering directory "'xmag'"
  275. cd 'xmag'
  276. echo shar: extracting "'xmag.c-diffs'" '(1519 characters)'
  277. if test -f 'xmag.c-diffs'
  278. then
  279.     echo shar: will not over-write existing file "'xmag.c-diffs'"
  280. else
  281. sed 's/^X//' << \SHAR_EOF > 'xmag.c-diffs'
  282. X*** old/mit/clients/xmag/xmag.c    Thu Sep 26 12:32:41 1991
  283. X--- new/mit/clients/xmag/xmag.c    Mon Aug 24 09:20:21 1992
  284. X***************
  285. X*** 888,894 ****
  286. X  
  287. X  
  288. X  
  289. X! static Widget pane1, pane2, pane3, cclose, replace, new, select, paste, label;
  290. X  
  291. X  /*
  292. X   * PopupNewScale() -- Create and popup a new scale composite.
  293. X--- 888,894 ----
  294. X  
  295. X  
  296. X  
  297. X! static Widget pane1, pane2, pane3, cclose, replace, new, zselect, paste, label;
  298. X  
  299. X  /*
  300. X   * PopupNewScale() -- Create and popup a new scale composite.
  301. X***************
  302. X*** 917,925 ****
  303. X    new = XtCreateManagedWidget("new", commandWidgetClass, pane2,
  304. X                    (Arg *) NULL, 0);
  305. X    XtAddCallback(new, XtNcallback, NewCB, (XtPointer)NULL);
  306. X!   select = XtCreateManagedWidget("select", commandWidgetClass, pane2,
  307. X                    (Arg *) NULL, 0);
  308. X!   XtAddCallback(select, XtNcallback, SelectCB, (XtPointer)data);
  309. X    paste = XtCreateManagedWidget("paste", commandWidgetClass, pane2,
  310. X                    (Arg *) NULL, 0);
  311. X    XtAddCallback(paste, XtNcallback, PasteCB, (XtPointer)data);
  312. X--- 917,925 ----
  313. X    new = XtCreateManagedWidget("new", commandWidgetClass, pane2,
  314. X                    (Arg *) NULL, 0);
  315. X    XtAddCallback(new, XtNcallback, NewCB, (XtPointer)NULL);
  316. X!   zselect = XtCreateManagedWidget("select", commandWidgetClass, pane2,
  317. X                    (Arg *) NULL, 0);
  318. X!   XtAddCallback(zselect, XtNcallback, SelectCB, (XtPointer)data);
  319. X    paste = XtCreateManagedWidget("paste", commandWidgetClass, pane2,
  320. X                    (Arg *) NULL, 0);
  321. X    XtAddCallback(paste, XtNcallback, PasteCB, (XtPointer)data);
  322. SHAR_EOF
  323. if test 1519 -ne "`wc -c < 'xmag.c-diffs'`"
  324. then
  325.     echo shar: error transmitting "'xmag.c-diffs'" '(should have been 1519 characters)'
  326. fi
  327. fi # end of overwriting check
  328. echo shar: done with directory "'xmag'"
  329. cd ..
  330. if test ! -d 'xterm'
  331. then
  332.     echo shar: creating directory "'xterm'"
  333.     mkdir 'xterm'
  334. fi
  335. echo shar: entering directory "'xterm'"
  336. cd 'xterm'
  337. echo shar: extracting "'main.c-diffs'" '(4877 characters)'
  338. if test -f 'main.c-diffs'
  339. then
  340.     echo shar: will not over-write existing file "'main.c-diffs'"
  341. else
  342. sed 's/^X//' << \SHAR_EOF > 'main.c-diffs'
  343. X*** old/mit/clients/xterm/main.c    Mon Aug 17 10:53:52 1992
  344. X--- new/mit/clients/xterm/main.c    Tue Aug 25 10:23:52 1992
  345. X***************
  346. X*** 56,61 ****
  347. X--- 56,65 ----
  348. X  #include <pwd.h>
  349. X  #include <ctype.h>
  350. X  
  351. X+ #if defined(sun) && defined(SVR4)
  352. X+ #include <sys/strredir.h>
  353. X+ #endif
  354. X+ 
  355. X  #ifdef att
  356. X  #define ATT
  357. X  #endif
  358. X***************
  359. X*** 398,404 ****
  360. X  static int inhibit;
  361. X  static char passedPty[2];    /* name if pty if slave */
  362. X  
  363. X! #ifdef TIOCCONS
  364. X  static int Console;
  365. X  #include <X11/Xmu/SysUtil.h>    /* XmuGetHostname */
  366. X  #define MIT_CONSOLE_LEN    12
  367. X--- 402,408 ----
  368. X  static int inhibit;
  369. X  static char passedPty[2];    /* name if pty if slave */
  370. X  
  371. X! #if defined(TIOCCONS) || defined(SRIOCSREDIR)
  372. X  static int Console;
  373. X  #include <X11/Xmu/SysUtil.h>    /* XmuGetHostname */
  374. X  #define MIT_CONSOLE_LEN    12
  375. X***************
  376. X*** 598,604 ****
  377. X  { "#geom",                 "icon window geometry" },
  378. X  { "-T string",             "title name for window" },
  379. X  { "-n string",             "icon name for window" },
  380. X! #ifdef TIOCCONS
  381. X  { "-C",                    "intercept console messages" },
  382. X  #else
  383. X  { "-C",                    "intercept console messages (not supported)" },
  384. X--- 602,608 ----
  385. X  { "#geom",                 "icon window geometry" },
  386. X  { "-T string",             "title name for window" },
  387. X  { "-n string",             "icon name for window" },
  388. X! #if defined(TIOCCONS) || defined(SRIOCSREDIR)
  389. X  { "-C",                    "intercept console messages" },
  390. X  #else
  391. X  { "-C",                    "intercept console messages (not supported)" },
  392. X***************
  393. X*** 663,669 ****
  394. X      exit (0);
  395. X  }
  396. X  
  397. X! #ifdef TIOCCONS
  398. X  /* ARGSUSED */
  399. X  static Boolean
  400. X  ConvertConsoleSelection(w, selection, target, type, value, length, format)
  401. X--- 667,673 ----
  402. X      exit (0);
  403. X  }
  404. X  
  405. X! #if defined(TIOCCONS) || defined(SRIOCSREDIR)
  406. X  /* ARGSUSED */
  407. X  static Boolean
  408. X  ConvertConsoleSelection(w, selection, target, type, value, length, format)
  409. X***************
  410. X*** 929,935 ****
  411. X          Help ();
  412. X          /* NOTREACHED */
  413. X           case 'C':
  414. X! #ifdef TIOCCONS
  415. X          {
  416. X              struct stat sbuf;
  417. X  
  418. X--- 933,939 ----
  419. X          Help ();
  420. X          /* NOTREACHED */
  421. X           case 'C':
  422. X! #if defined(TIOCCONS) || defined(SRIOCSREDIR)
  423. X          {
  424. X              struct stat sbuf;
  425. X  
  426. X***************
  427. X*** 1504,1510 ****
  428. X      char buf[64];
  429. X      char *TermName = NULL;
  430. X      int ldisc = 0;
  431. X! #ifdef sun
  432. X  #ifdef TIOCSSIZE
  433. X      struct ttysize ts;
  434. X  #endif    /* TIOCSSIZE */
  435. X--- 1508,1514 ----
  436. X      char buf[64];
  437. X      char *TermName = NULL;
  438. X      int ldisc = 0;
  439. X! #if defined(sun) && !defined(SVR4)
  440. X  #ifdef TIOCSSIZE
  441. X      struct ttysize ts;
  442. X  #endif    /* TIOCSSIZE */
  443. X***************
  444. X*** 1661,1667 ****
  445. X                         False);
  446. X      if (!screen->TekEmu)
  447. X          VTInit();        /* realize now so know window size for tty driver */
  448. X! #ifdef TIOCCONS
  449. X      if (Console) {
  450. X          /*
  451. X           * Inform any running xconsole program
  452. X--- 1665,1671 ----
  453. X                         False);
  454. X      if (!screen->TekEmu)
  455. X          VTInit();        /* realize now so know window size for tty driver */
  456. X! #if defined(TIOCCONS) || defined(SRIOCSREDIR)
  457. X      if (Console) {
  458. X          /*
  459. X           * Inform any running xconsole program
  460. X***************
  461. X*** 1710,1716 ****
  462. X          }
  463. X      }
  464. X  
  465. X! #ifdef sun
  466. X  #ifdef TIOCSSIZE
  467. X      /* tell tty how big window is */
  468. X      if(screen->TekEmu) {
  469. X--- 1714,1720 ----
  470. X          }
  471. X      }
  472. X  
  473. X! #if defined(sun) && !defined(SVR4)
  474. X  #ifdef TIOCSSIZE
  475. X      /* tell tty how big window is */
  476. X      if(screen->TekEmu) {
  477. X***************
  478. X*** 2084,2089 ****
  479. X--- 2088,2108 ----
  480. X                      xterm_name);
  481. X              }
  482. X  #endif    /* TIOCCONS */
  483. X+ #ifdef SRIOCSREDIR
  484. X+             if (Console) {
  485. X+             int consfd;
  486. X+             if ((consfd = open("/dev/console", O_RDWR)) < 0) {
  487. X+                 fprintf(stderr, "%s: cannot open console\n",
  488. X+                     xterm_name);
  489. X+             }
  490. X+             else {
  491. X+                 if (ioctl(consfd, SRIOCSREDIR, tty) < 0) {
  492. X+                 fprintf(stderr, "%s: cannot redirect console\n",
  493. X+                     xterm_name);
  494. X+                 }
  495. X+             }
  496. X+             }
  497. X+ #endif /* SRIOCSREDIR */
  498. X          }
  499. X  
  500. X          signal (SIGCHLD, SIG_DFL);
  501. X***************
  502. X*** 2354,2360 ****
  503. X              if(handshake.rows > 0 && handshake.cols > 0) {
  504. X              screen->max_row = handshake.rows;
  505. X              screen->max_col = handshake.cols;
  506. X! #ifdef sun
  507. X  #ifdef TIOCSSIZE
  508. X              ts.ts_lines = screen->max_row + 1;
  509. X              ts.ts_cols = screen->max_col + 1;
  510. X--- 2373,2379 ----
  511. X              if(handshake.rows > 0 && handshake.cols > 0) {
  512. X              screen->max_row = handshake.rows;
  513. X              screen->max_col = handshake.cols;
  514. X! #if defined(sun) && !defined(SVR4)
  515. X  #ifdef TIOCSSIZE
  516. X              ts.ts_lines = screen->max_row + 1;
  517. X              ts.ts_cols = screen->max_col + 1;
  518. X***************
  519. X*** 2410,2416 ****
  520. X  
  521. X  
  522. X          /* need to reset after all the ioctl bashing we did above */
  523. X! #ifdef sun
  524. X  #ifdef TIOCSSIZE
  525. X          ioctl  (0, TIOCSSIZE, &ts);
  526. X  #endif    /* TIOCSSIZE */
  527. X--- 2429,2435 ----
  528. X  
  529. X  
  530. X          /* need to reset after all the ioctl bashing we did above */
  531. X! #if defined(sun) && !defined(SVR4)
  532. X  #ifdef TIOCSSIZE
  533. X          ioctl  (0, TIOCSSIZE, &ts);
  534. X  #endif    /* TIOCSSIZE */
  535. SHAR_EOF
  536. if test 4877 -ne "`wc -c < 'main.c-diffs'`"
  537. then
  538.     echo shar: error transmitting "'main.c-diffs'" '(should have been 4877 characters)'
  539. fi
  540. fi # end of overwriting check
  541. echo shar: extracting "'resize.c-diffs'" '(1662 characters)'
  542. if test -f 'resize.c-diffs'
  543. then
  544.     echo shar: will not over-write existing file "'resize.c-diffs'"
  545. else
  546. sed 's/^X//' << \SHAR_EOF > 'resize.c-diffs'
  547. X*** old/mit/clients/xterm/resize.c    Tue Jul 23 10:12:14 1991
  548. X--- new/mit/clients/xterm/resize.c    Tue Aug 25 09:51:14 1992
  549. X***************
  550. X*** 130,136 ****
  551. X      "\0337\033[r\033[999;999H\033[6n",
  552. X      "\033[18t",
  553. X  };
  554. X! #ifndef sun
  555. X  #ifdef TIOCSWINSZ
  556. X  char *getwsize[EMULATIONS] = {    /* size in pixels */
  557. X      0,
  558. X--- 130,136 ----
  559. X      "\0337\033[r\033[999;999H\033[6n",
  560. X      "\033[18t",
  561. X  };
  562. X! #if !defined(sun) || defined(SVR4)
  563. X  #ifdef TIOCSWINSZ
  564. X  char *getwsize[EMULATIONS] = {    /* size in pixels */
  565. X      0,
  566. X***************
  567. X*** 159,165 ****
  568. X  char sunname[] = "sunsize";
  569. X  int tty;
  570. X  FILE *ttyfp;
  571. X! #ifndef sun
  572. X  #ifdef TIOCSWINSZ
  573. X  char *wsize[EMULATIONS] = {
  574. X      0,
  575. X--- 159,165 ----
  576. X  char sunname[] = "sunsize";
  577. X  int tty;
  578. X  FILE *ttyfp;
  579. X! #if !defined(sun) || defined(SVR4)
  580. X  #ifdef TIOCSWINSZ
  581. X  char *wsize[EMULATIONS] = {
  582. X      0,
  583. X***************
  584. X*** 195,201 ****
  585. X      char newtc [1024];
  586. X  #endif /* USE_TERMCAP */
  587. X      char buf[BUFSIZ];
  588. X! #ifdef sun
  589. X  #ifdef TIOCSSIZE
  590. X      struct ttysize ts;
  591. X  #endif    /* TIOCSSIZE */
  592. X--- 195,201 ----
  593. X      char newtc [1024];
  594. X  #endif /* USE_TERMCAP */
  595. X      char buf[BUFSIZ];
  596. X! #if defined(sun) && !defined(SVR4)
  597. X  #ifdef TIOCSSIZE
  598. X      struct ttysize ts;
  599. X  #endif    /* TIOCSSIZE */
  600. X***************
  601. X*** 335,341 ****
  602. X      }
  603. X      if(restore[emu])
  604. X          write(tty, restore[emu], strlen(restore[emu]));
  605. X! #ifdef sun
  606. X  #ifdef TIOCGSIZE
  607. X      /* finally, set the tty's window size */
  608. X      if (ioctl (tty, TIOCGSIZE, &ts) != -1) {
  609. X--- 335,341 ----
  610. X      }
  611. X      if(restore[emu])
  612. X          write(tty, restore[emu], strlen(restore[emu]));
  613. X! #if defined(sun) && !defined(SVR4)
  614. X  #ifdef TIOCGSIZE
  615. X      /* finally, set the tty's window size */
  616. X      if (ioctl (tty, TIOCGSIZE, &ts) != -1) {
  617. SHAR_EOF
  618. if test 1662 -ne "`wc -c < 'resize.c-diffs'`"
  619. then
  620.     echo shar: error transmitting "'resize.c-diffs'" '(should have been 1662 characters)'
  621. fi
  622. fi # end of overwriting check
  623. echo shar: extracting "'screen.c-diffs'" '(1008 characters)'
  624. if test -f 'screen.c-diffs'
  625. then
  626.     echo shar: will not over-write existing file "'screen.c-diffs'"
  627. else
  628. sed 's/^X//' << \SHAR_EOF > 'screen.c-diffs'
  629. X*** old/mit/clients/xterm/screen.c    Thu Aug 22 15:30:38 1991
  630. X--- new/mit/clients/xterm/screen.c    Tue Aug 25 09:07:59 1992
  631. X***************
  632. X*** 485,491 ****
  633. X      int rows, cols;
  634. X      int border = 2 * screen->border;
  635. X      int move_down_by;
  636. X! #ifdef sun
  637. X  #ifdef TIOCSSIZE
  638. X      struct ttysize ts;
  639. X  #endif    /* TIOCSSIZE */
  640. X--- 485,491 ----
  641. X      int rows, cols;
  642. X      int border = 2 * screen->border;
  643. X      int move_down_by;
  644. X! #if defined(sun) && !defined(SVR4)
  645. X  #ifdef TIOCSSIZE
  646. X      struct ttysize ts;
  647. X  #endif    /* TIOCSSIZE */
  648. X***************
  649. X*** 579,585 ****
  650. X      screen->fullVwin.fullheight = height;
  651. X      screen->fullVwin.fullwidth = width;
  652. X      ResizeSelection (screen, rows, cols);
  653. X! #ifdef sun
  654. X  #ifdef TIOCSSIZE
  655. X      /* Set tty's idea of window size */
  656. X      ts.ts_lines = rows;
  657. X--- 579,585 ----
  658. X      screen->fullVwin.fullheight = height;
  659. X      screen->fullVwin.fullwidth = width;
  660. X      ResizeSelection (screen, rows, cols);
  661. X! #if defined(sun) && !defined(SVR4)
  662. X  #ifdef TIOCSSIZE
  663. X      /* Set tty's idea of window size */
  664. X      ts.ts_lines = rows;
  665. SHAR_EOF
  666. if test 1008 -ne "`wc -c < 'screen.c-diffs'`"
  667. then
  668.     echo shar: error transmitting "'screen.c-diffs'" '(should have been 1008 characters)'
  669. fi
  670. fi # end of overwriting check
  671. echo shar: done with directory "'xterm'"
  672. cd ..
  673. if test ! -d 'xconsole'
  674. then
  675.     echo shar: creating directory "'xconsole'"
  676.     mkdir 'xconsole'
  677. fi
  678. echo shar: entering directory "'xconsole'"
  679. cd 'xconsole'
  680. echo shar: extracting "'xconsole.c-diffs'" '(1502 characters)'
  681. if test -f 'xconsole.c-diffs'
  682. then
  683.     echo shar: will not over-write existing file "'xconsole.c-diffs'"
  684. else
  685. sed 's/^X//' << \SHAR_EOF > 'xconsole.c-diffs'
  686. X*** old/mit/clients/xconsole/xconsole.c    Thu Jul 25 13:24:34 1991
  687. X--- new/mit/clients/xconsole/xconsole.c    Tue Aug 25 10:32:58 1992
  688. X***************
  689. X*** 46,51 ****
  690. X--- 46,55 ----
  691. X  #include <stdio.h>
  692. X  #include <ctype.h>
  693. X  
  694. X+ #if defined(sun) && defined(SVR4)
  695. X+ #include <sys/strredir.h>
  696. X+ #endif
  697. X+ 
  698. X  /* Fix ISC brain damage.  When using gcc fdopen isn't declared in <stdio.h>. */
  699. X  #if defined(SYSV) && defined(SYSV386) && defined(__STDC__) && defined(ISC)
  700. X  extern FILE *fdopen(int, char const *);
  701. X***************
  702. X*** 117,123 ****
  703. X  #include    <sys/stropts.h>        /* for I_PUSH */
  704. X  #endif
  705. X  
  706. X! #ifdef TIOCCONS
  707. X  #define USE_PTY
  708. X  static int  tty_fd, pty_fd;
  709. X  static char ttydev[64], ptydev[64];
  710. X--- 121,127 ----
  711. X  #include    <sys/stropts.h>        /* for I_PUSH */
  712. X  #endif
  713. X  
  714. X! #if defined(TIOCCONS) || defined(SRIOCSREDIR)
  715. X  #define USE_PTY
  716. X  static int  tty_fd, pty_fd;
  717. X  static char ttydev[64], ptydev[64];
  718. X***************
  719. X*** 150,160 ****
  720. X--- 154,176 ----
  721. X  #ifdef USE_PTY
  722. X          int    on = 1;
  723. X  
  724. X+ #ifdef TIOCCONS
  725. X          if (get_pty (&pty_fd, &tty_fd, ttydev, ptydev) == 0 &&
  726. X              ioctl (tty_fd, TIOCCONS, (char *) &on) != -1)
  727. X          {
  728. X              input = fdopen (pty_fd, "r");
  729. X          }
  730. X+ #endif
  731. X+ #ifdef SRIOCSREDIR
  732. X+         if (get_pty (&pty_fd, &tty_fd, ttydev, ptydev) == 0) {
  733. X+             int consfd;
  734. X+             if ((consfd = open("/dev/console", O_RDWR)) != -1 &&
  735. X+                 ioctl(consfd, SRIOCSREDIR, tty_fd) != -1)
  736. X+             {
  737. X+             input = fdopen (pty_fd, "r");
  738. X+             }
  739. X+         }
  740. X+ #endif
  741. X  #endif
  742. X          }
  743. X  #ifdef USE_OSM
  744. SHAR_EOF
  745. if test 1502 -ne "`wc -c < 'xconsole.c-diffs'`"
  746. then
  747.     echo shar: error transmitting "'xconsole.c-diffs'" '(should have been 1502 characters)'
  748. fi
  749. fi # end of overwriting check
  750. echo shar: done with directory "'xconsole'"
  751. cd ..
  752. echo shar: done with directory "'clients'"
  753. cd ..
  754. if test ! -d 'config'
  755. then
  756.     echo shar: creating directory "'config'"
  757.     mkdir 'config'
  758. fi
  759. echo shar: entering directory "'config'"
  760. cd 'config'
  761. echo shar: extracting "'sun.cf-diffs'" '(1864 characters)'
  762. if test -f 'sun.cf-diffs'
  763. then
  764.     echo shar: will not over-write existing file "'sun.cf-diffs'"
  765. else
  766. sed 's/^X//' << \SHAR_EOF > 'sun.cf-diffs'
  767. X*** old/mit/config/sun.cf    Mon Aug 17 10:52:38 1992
  768. X--- new/mit/config/sun.cf    Fri Aug 21 10:01:08 1992
  769. X***************
  770. X*** 1,10 ****
  771. X  XCOMM platform:  $XConsortium: sun.cf,v 1.72.1.1 92/03/18 13:13:37 rws Exp $
  772. X  
  773. X! #define OSName            SunOS 4.1.1
  774. X  XCOMM operating system:  OSName
  775. X! #define OSMajorVersion    4
  776. X! #define OSMinorVersion    1
  777. X! #define OSTeenyVersion    1
  778. X  
  779. X  #if OSMajorVersion < 4 || (OSMajorVersion == 4 && OSMinorVersion < 1)
  780. X  /* We do not guarantee this will work */
  781. X--- 1,10 ----
  782. X  XCOMM platform:  $XConsortium: sun.cf,v 1.72.1.1 92/03/18 13:13:37 rws Exp $
  783. X  
  784. X! #define OSName            Solaris 2.0/SunOS 5.0
  785. X  XCOMM operating system:  OSName
  786. X! #define OSMajorVersion    5
  787. X! #define OSMinorVersion    0
  788. X! #define OSTeenyVersion    0
  789. X  
  790. X  #if OSMajorVersion < 4 || (OSMajorVersion == 4 && OSMinorVersion < 1)
  791. X  /* We do not guarantee this will work */
  792. X***************
  793. X*** 17,22 ****
  794. X--- 17,32 ----
  795. X  #define SunPost411FCSLd      YES
  796. X  #endif
  797. X  
  798. X+ #if OSMajorVersion > 4
  799. X+ #define CppCmd        /usr/ccs/lib/cpp
  800. X+ #endif
  801. X+ 
  802. X+ #if OSMajorVersion > 4
  803. X+ #define SystemV4      YES
  804. X+ #define HasSockets      YES
  805. X+ #define BootstrapCFLags      -Dsun -Dsparc
  806. X+ #endif
  807. X+ 
  808. X  #define HasSaberC      YES
  809. X  #define HasNdbm          YES
  810. X  #define HasShm          YES
  811. X***************
  812. X*** 37,43 ****
  813. X--- 47,57 ----
  814. X  #define i386Architecture
  815. X  #endif
  816. X  
  817. X+ #if OSMajorVersion > 4
  818. X+ #include <sv4Lib.rules>
  819. X+ #else
  820. X  #include <sunLib.rules>
  821. X+ #endif
  822. X  
  823. X  #if HasGcc
  824. X  
  825. X***************
  826. X*** 55,62 ****
  827. X--- 69,80 ----
  828. X  #ifdef mc68000
  829. X  #define DefaultCCOptions -f68881 -pipe
  830. X  #else
  831. X+ #if OSMajorVersion > 4
  832. X+ #define DefaultCCOptions  -Xc -Dsun -Dsparc
  833. X+ #else
  834. X  #define DefaultCCOptions -pipe
  835. X  #endif
  836. X+ #endif
  837. X  
  838. X  #define PexCCOptions DefaultCCOptions
  839. X  
  840. X***************
  841. X*** 76,78 ****
  842. X--- 94,97 ----
  843. X  #endif
  844. X  
  845. X  #define ServerOSDefines SunWindowsDefines AllocateLocalDefines
  846. X+ 
  847. SHAR_EOF
  848. if test 1864 -ne "`wc -c < 'sun.cf-diffs'`"
  849. then
  850.     echo shar: error transmitting "'sun.cf-diffs'" '(should have been 1864 characters)'
  851. fi
  852. fi # end of overwriting check
  853. echo shar: extracting "'imakemdep.h-diffs'" '(681 characters)'
  854. if test -f 'imakemdep.h-diffs'
  855. then
  856.     echo shar: will not over-write existing file "'imakemdep.h-diffs'"
  857. else
  858. sed 's/^X//' << \SHAR_EOF > 'imakemdep.h-diffs'
  859. X*** old/mit/config/imakemdep.h    Sun Aug 25 14:39:59 1991
  860. X--- new/mit/config/imakemdep.h    Fri Aug 21 10:13:57 1992
  861. X***************
  862. X*** 46,51 ****
  863. X--- 46,55 ----
  864. X  #endif
  865. X  #endif
  866. X  
  867. X+ #if defined(sun) && defined(SUNOS5)
  868. X+ #define imake_ccflags    "-Xc -DSVR4"
  869. X+ #endif
  870. X+ 
  871. X  #ifdef CRAY
  872. X  /* -DX_NOT_STDC_ENV is just so we can bootstrap with cc instead of scc */
  873. X  #define imake_ccflags "-DSYSV -DUSG -DX_NOT_STDC_ENV"
  874. X***************
  875. X*** 125,130 ****
  876. X--- 129,137 ----
  877. X  #endif
  878. X  #if defined(_IBMR2) && !defined(DEFAULT_CPP)
  879. X  #define DEFAULT_CPP "/usr/lpp/X11/Xamples/util/cpp/cpp"
  880. X+ #endif
  881. X+ #if defined(sun) && defined(SUNOS5)
  882. X+ #define DEFAULT_CPP "/usr/ccs/lib/cpp"
  883. X  #endif
  884. X  
  885. X  /*
  886. SHAR_EOF
  887. if test 681 -ne "`wc -c < 'imakemdep.h-diffs'`"
  888. then
  889.     echo shar: error transmitting "'imakemdep.h-diffs'" '(should have been 681 characters)'
  890. fi
  891. fi # end of overwriting check
  892. echo shar: extracting "'sun.cf'" '(2206 characters)'
  893. if test -f 'sun.cf'
  894. then
  895.     echo shar: will not over-write existing file "'sun.cf'"
  896. else
  897. sed 's/^X//' << \SHAR_EOF > 'sun.cf'
  898. XXCOMM platform:  $XConsortium: sun.cf,v 1.72.1.1 92/03/18 13:13:37 rws Exp $
  899. X
  900. X#define OSName            Solaris 2.0/SunOS 5.0
  901. XXCOMM operating system:  OSName
  902. X#define OSMajorVersion    5
  903. X#define OSMinorVersion    0
  904. X#define OSTeenyVersion    0
  905. X
  906. X#if OSMajorVersion < 4 || (OSMajorVersion == 4 && OSMinorVersion < 1)
  907. X/* We do not guarantee this will work */
  908. X#define BootstrapCFlags   -DNOSTDHDRS
  909. X#define StandardDefines   -DNOSTDHDRS
  910. X#endif
  911. X
  912. X/* You ALSO need this if you have Sun ld patch 100170-06 or later to 4.1.1 */
  913. X#if OSMajorVersion == 4 && (OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1))
  914. X#define SunPost411FCSLd      YES
  915. X#endif
  916. X
  917. X#if OSMajorVersion > 4
  918. X#define CppCmd        /usr/ccs/lib/cpp
  919. X#endif
  920. X
  921. X#if OSMajorVersion > 4
  922. X#define SystemV4      YES
  923. X#define HasSockets      YES
  924. X#define BootstrapCFLags      -Dsun -Dsparc
  925. X#endif
  926. X
  927. X#define HasSaberC      YES
  928. X#define HasNdbm          YES
  929. X#define HasShm          YES
  930. X#define HasSecureRPC      YES
  931. X#define SetTtyGroup      YES
  932. X#define HasPutenv      YES
  933. X#define XsunServer      YES        /* has color and mono support */
  934. X#define XsunMonoServer      YES        /* monochrome only */
  935. X#define BuildPexExt      XsunServer
  936. X#define InstKmemFlags      -g kmem -m 2755
  937. X
  938. X#ifdef sparc
  939. X#undef sparc
  940. X#define SparcArchitecture
  941. X#endif
  942. X#ifdef sun386
  943. X#undef sun386
  944. X#define i386Architecture
  945. X#endif
  946. X
  947. X#if OSMajorVersion > 4
  948. X#include <sv4Lib.rules>
  949. X#else
  950. X#include <sunLib.rules>
  951. X#endif
  952. X
  953. X#if HasGcc
  954. X
  955. X#define SharedLibraryCcCmd cc
  956. X#define ExtraLoadFlags -B/usr/bin/
  957. X#define AllocateLocalDefines /**/
  958. X
  959. X.c.o:
  960. X    $(CC) -c $(CFLAGS) $*.c
  961. X
  962. X#else
  963. X
  964. X#define AllocateLocalDefines -DINCLUDE_ALLOCA_H
  965. X
  966. X#ifdef mc68000
  967. X#define DefaultCCOptions -f68881 -pipe
  968. X#else
  969. X#if OSMajorVersion > 4
  970. X#define DefaultCCOptions  -Xc -Dsun -Dsparc
  971. X#else
  972. X#define DefaultCCOptions -pipe
  973. X#endif
  974. X#endif
  975. X
  976. X#define PexCCOptions DefaultCCOptions
  977. X
  978. X#endif
  979. X
  980. X#define SharedAllocateLocalDefines -DINCLUDE_ALLOCA_H
  981. X#define LibraryCCOptions /* don't want special floating point */
  982. X
  983. X#ifndef UseSunWindowsInServer
  984. X#define UseSunWindowsInServer    NO    /* link in SunWindows support? */
  985. X#endif
  986. X
  987. X#if UseSunWindowsInServer
  988. X#define SunWindowsDefines -DSUN_WINDOWS
  989. X#else
  990. X#define SunWindowsDefines /* as nothing */
  991. X#endif
  992. X
  993. X#define ServerOSDefines SunWindowsDefines AllocateLocalDefines
  994. X
  995. SHAR_EOF
  996. if test 2206 -ne "`wc -c < 'sun.cf'`"
  997. then
  998.     echo shar: error transmitting "'sun.cf'" '(should have been 2206 characters)'
  999. fi
  1000. fi # end of overwriting check
  1001. echo shar: extracting "'site.def'" '(2406 characters)'
  1002. if test -f 'site.def'
  1003. then
  1004.     echo shar: will not over-write existing file "'site.def'"
  1005. else
  1006. sed 's/^X//' << \SHAR_EOF > 'site.def'
  1007. XXCOMM site:  $XConsortium: site.def,v 1.2 91/07/30 20:26:44 rws Exp $
  1008. X
  1009. X/*****************************************************************************
  1010. X *                                                                           *
  1011. X *               SITE-SPECIFIC DEFINITIONS                         *
  1012. X *                                                                           *
  1013. X * This file contains two halves, one included before the vendor-specific    *
  1014. X * configuration file (.cf file), and one included after the .cf file.       *
  1015. X * The before-half should be protected by #ifdef BeforeVendorCF, and the     *
  1016. X * after-half should be protected by #ifdef AfterVendorCF.                   *
  1017. X *                                                                           *
  1018. X * The before-half should only set things that the .cf file depends on.      *
  1019. X * For the .cf files shipped in this release, the main variable in this      *
  1020. X * category is HasGcc.                                                       *
  1021. X *                                                                           *
  1022. X * The after-half should contain all other definitions.  For example,        *
  1023. X * place your ProjectRoot definition here.  Beware that several of the       *
  1024. X * .cf files supplied by vendors have a ProjectRoot already defined, so      *
  1025. X * you may need to #undef it first.                                          *
  1026. X *                                                                           *
  1027. X * OS Major and Minor version numbers should be changed directly in the .cf  *
  1028. X * file, not overridden in site.def.                                         *
  1029. X *                                                                           *
  1030. X *****************************************************************************/
  1031. X
  1032. X#ifdef BeforeVendorCF
  1033. X
  1034. X/* #define HasGcc YES */
  1035. X
  1036. X#endif /* BeforeVendorCF */
  1037. X
  1038. X#ifdef AfterVendorCF
  1039. X
  1040. X#ifdef ProjectRoot
  1041. X#undef ProjectRoot
  1042. X#endif
  1043. X#define ProjectRoot    /usr/local/X11R5
  1044. X
  1045. X#ifdef InstallFSConfig
  1046. X#undef InstallFSConfig
  1047. X#endif InstallFSConfig
  1048. X#define InstallFSConfig YES
  1049. X
  1050. X#ifdef MotifBC
  1051. X#undef MotifBC
  1052. X#endif MotifBC
  1053. X#define MotifBC YES
  1054. X
  1055. X#if defined(SunArchitecture)&& defined(mc68000)
  1056. X#undef LibraryCCOptions
  1057. X#define SharedLibraryCCOptions -f68881 -pipe
  1058. X#endif
  1059. X
  1060. X/*
  1061. X * We DON'T want SecureRPC!
  1062. X */
  1063. X#undef HasSecureRPC
  1064. X#define HasSecureRPC      NO
  1065. X
  1066. X#define SunPost411FCSLd   NO
  1067. X
  1068. X#endif /* AfterVendorCF */
  1069. SHAR_EOF
  1070. if test 2406 -ne "`wc -c < 'site.def'`"
  1071. then
  1072.     echo shar: error transmitting "'site.def'" '(should have been 2406 characters)'
  1073. fi
  1074. fi # end of overwriting check
  1075. echo shar: done with directory "'config'"
  1076. cd ..
  1077. echo shar: done with directory "'mit'"
  1078. cd ..
  1079. echo shar: extracting "'README'" '(6122 characters)'
  1080. if test -f 'README'
  1081. then
  1082.     echo shar: will not over-write existing file "'README'"
  1083. else
  1084. sed 's/^X//' << \SHAR_EOF > 'README'
  1085. X
  1086. XContained in this shar file are my diffs to the MIT X11R5 sources to make
  1087. Xthem compile and run under Solaris 2.0/SunOS 5.0.  Kudos go to the MIT X
  1088. Xfolks for making this stuff as portable as it is; with the exception of the
  1089. Xserver, everything was really simple.
  1090. X
  1091. XThe files contained in this shar file are:
  1092. X
  1093. X  NOTES.X11.CLIENTS
  1094. X    My notes as I was doing things; this explains what files I changed and
  1095. X    why.  The diffs for the files described here are included in this shar
  1096. X    file.
  1097. X
  1098. X  NOTES.X11.SERVER
  1099. X    My notes as I was doing things trying to make the server work; it
  1100. X    explains what files I changed and why.  I have not included the diffs
  1101. X    for these files; they're mostly minor, and since the server still
  1102. X    doesn't work, they aren't too useful.
  1103. X
  1104. X  mit/config/sun.cf-diffs
  1105. X    Diffs to the "sun.cf" configuration file for Solaris 2.0.
  1106. X
  1107. X  mit/config/sun.cf
  1108. X    A copy of the "sun.cf" configuration file I used to build the release.
  1109. X
  1110. X  mit/config/site.def
  1111. X    A copy of our "site.def" file, for reference.
  1112. X
  1113. X  mit/config/imakemdep.h-diffs
  1114. X    Diffs to "imakemdep.h" to get imake to compile and work properly (mostly
  1115. X    it's to define a few things, and note the new location of the C
  1116. X    preprocessor).
  1117. X
  1118. X  mit/clients/xconsole/xconsole.c-diffs
  1119. X  mit/clients/xinit/xinit.c-diffs
  1120. X  mit/clients/xmag/xmag.c-diffs
  1121. X  mit/clients/xterm/main.c-diffs
  1122. X  mit/clients/xterm/resize.c-diffs
  1123. X  mit/clients/xterm/screen.c-diffs
  1124. X    Diffs to various pieces of clients that are needed to make them work
  1125. X    properly under Solaris 2.0.  The diffs to xmag make it compile, the
  1126. X    diffs to xinit keep it from dumping core, the diffs to xconsole and
  1127. X    xterm make them work for grabbing the console, and make window sizes
  1128. X    work under xterm.
  1129. X
  1130. XI have gotten the libraries and MIT clients to work; the server compiles and
  1131. Xloads, but does not work.  I do not plan to continue work on the server; I
  1132. Xam currently using the OpenWindows 3.0.1 server with these MIT X11R5 clients
  1133. Xand libraries, and this works satisfactorily.  See the file NOTES.X11.SERVER
  1134. Xif you want some starting points for how to make it compile; maybe you can
  1135. Xfigure out what's wrong with it.
  1136. X
  1137. XI used the SunPro C compiler and tools when doing this.  I don't know if GCC
  1138. Xwill work with these patches (and I don't care, either :-).
  1139. X
  1140. XEverything was compiled using the "-Xc" (strict ANSI C) option to the
  1141. Xcompiler.  Because under "-Xc" there are no pre-defined symbols, you have to
  1142. Xset things up to pass "-Dsun" through; I also put in "-Dsparc" for good
  1143. Xmeasure, although it probably wasn't necessary.  By defining "SystemV4" in
  1144. Xthe "sun.cf" file, imake will also give you "-DSVR4".  I usually used
  1145. Xsomething along the lines of "#if defined(sun) && defined(SVR4)" when
  1146. Xmaking Solaris 2.0-specific changes.
  1147. X
  1148. XSince Solaris 2.0/SunOS 5.0 is System V Release 4, changing the shared
  1149. Xlibrary rules from the Sun rules to the SVR4 rules (provided with X11R5)
  1150. Xsolves the problem of getting shared libraries.  There is one problem -- the
  1151. Xrun-time loader no longer searches /usr/local/lib; it only searches
  1152. X/usr/lib.  So, if you install the X11R5 libraries in /usr/local or someplace
  1153. Xother than /usr/lib, you need to make symbolic links from /usr/lib to the
  1154. Xlibraries to get things like xterm to work (since LD_LIBRARY_PATH is not
  1155. Xeffective for setuid programs).  It may be possible to get around this by
  1156. Xusing the "-R" option to the loader, but I have not tried it.
  1157. X
  1158. XAfter applying the diffs, when you run "make World", you should give
  1159. XBOOTSTRAPCFLAGS as:
  1160. X
  1161. X    % make World "BOOTSTRAPCFLAGS=-Xc -Dsun -Dsparc -DSUNOS5"
  1162. X
  1163. XAnyway, I got the entire contents of the "mit" tree to compile, and as far
  1164. Xas I know, the server is the only thing that does not work.  You may want to
  1165. Xjust not bother even building the server; this will certainly save you
  1166. Xconsiderable time, and will save disk space by not installing all the fonts,
  1167. Xetc.  I have actually used and tested the following clients:
  1168. X
  1169. X    bitmap            xhost
  1170. X    constype        xinit
  1171. X    imake            xlsfonts
  1172. X    mkdirhier        xmkmf
  1173. X    mkfontdir        xrdb
  1174. X    xbiff            xset
  1175. X    xclock            xterm
  1176. X    xconsole        xwininfo
  1177. X    xeyes
  1178. X
  1179. XIn addition, I have built the following clients that are not "mit" clients.
  1180. XI have not included diffs for these, and don't plan to make them available,
  1181. Xsince in some cases, I did not save the original versison of the sources.
  1182. XAll the changes are realtively minor, and are all straightforward.
  1183. X
  1184. X    ghostscript 2.5        - builds and runs, no problems
  1185. X    ghostview 1.3        - builds and runs, no problems
  1186. X    xfig 2.1.4        - builds and runs, no problems
  1187. X    xlock            - had to build in Berkeley source compat
  1188. X                  mode (/usr/ucb/cc), works fine
  1189. X    xmessage        - builds and runs, no problems
  1190. X    xpostit            - builds and runs, no problems
  1191. X    xpipeman        - builds and runs, no problems
  1192. X    xrn 6.17        - takes some changes for timezone and stuff,
  1193. X                  pretty easy, works fine
  1194. X    xtetris            - builds and runs, no problems
  1195. X    xtroff            - builds and runs, no problems
  1196. X    xv 2.2            - had to build in Berkeley source compat
  1197. X                  mode (/usr/ucb/cc), works fine
  1198. X
  1199. XThe most annying thing about building the clients is that everyone uses
  1200. X"static char" to hold bitmaps, instead of "static unsigned char".  The
  1201. XSunPro C compiler prints a warning message for every single character in a
  1202. Xbitmap that has the eighth bit set!  (This is truly stupid, I agree, but
  1203. Xthey do it.)  It's usually easier to edit all the bitmaps and change them to
  1204. Xunsigned chars, rather than watch all the warning messages.  Yeeesh.  The
  1205. Xother recurring problem was the usual BSD->SysV problem of converting
  1206. Xbcopy/bzero/bcmp to memcpy/memset/memcmp.
  1207. X
  1208. XAnyway, this should be enough to get you most of the way to having X11R5 on
  1209. XSolaris 2.0.  If anyone figures out how to make the server work, I'd really
  1210. Xlike to hear about it.  I don't have the motivation to do it, for three
  1211. Xreasons: (1) X11R6 is supposedly coming out Real Soon Now, and I'm hoping it
  1212. Xwill support Solaris 2.0, (2) supposedly the next release of OpenWindows
  1213. Xwill have NeWS ripped out of the server, and (3) the current OpenWindows
  1214. Xserver runs just fine with the R5 clients and libraries.
  1215. X
  1216. XEnjoy,
  1217. X
  1218. XDave Curry
  1219. XPurdue University
  1220. XEngineering Computer Network
  1221. Xdavy@ecn.purdue.edu
  1222. SHAR_EOF
  1223. if test 6122 -ne "`wc -c < 'README'`"
  1224. then
  1225.     echo shar: error transmitting "'README'" '(should have been 6122 characters)'
  1226. fi
  1227. fi # end of overwriting check
  1228. echo shar: done with directory "'solaris-x'"
  1229. cd ..
  1230. #    End of shell archive
  1231. exit 0
  1232.