smith@origin.life.uiuc.edu (Steven Smith) (10/24/89)
Hello again X11 fans, Last week I posted a request for information about using X11/XView with SunOS 3.5. I received a few responses from people who had successfully moved the XView and OpenLook window manager from expo.lcs.mit.edu onto their Suns. Unfortunately, most were using 4.0.3. But I did manage to get the show rolling after a bit of playing. I also received one very helpful message from Tom Jacobs (but it was a bit too late [thanks anyway Tom ;) ]) For those of you interested, have a clean X11 distribution source tree to work with, because the installation uses imake and all of its supporting files. Don't trust any of the default directories, as they are guarenteed to be incorrect. There are a few defines that are needed to get the code to compile under 3.5. These just so happen to be the same defines needed to compile the code under Ultrix, so a hack to the ultrix_cpt.h file will fix that. Included is the modified version from Tom as his is much cleaner than the kluge that I did. For those of you who are interested, we have moved to 4.0.3. We are only doing it on our developmental machines, and only with 8meg or more of memory. The main reason is for the shared libraries. But also, we will probably use the NeWS/X11 merge for performance reasons (But just wait until R4!). Hope this helps, Steve Smith (smith@origin.life.uiuc.edu) -8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<- |From: tomj@snowking.EBay.Sun.COM (Tom Jacobs) |To: sun-spots@sun.EBay.Sun.COM |Subject: Re: XView from expo.mit Building XView on SunOS3.5 is much like compiling it on a Vax running Ultrix. You'll need to define the symbol "vax" in your makefile (-Dvax) so that the missing 4.3BSD/SunOS4.x are defined. Should be pretty straight forward. However, by going to 4.0.3 you'll also get shared libraries, which is worth it by itself. Tom Jacobs Sun Microsystems, Inc. tomj@sun.com -or- ..!sun!tomj -:---:---:---:---:---:---:---:---:---:---:---:---:---:---:-- |From: tomj@Sun.COM (Tom Jacobs) |Subject: Re: XView from expo.mit Here is the newer version of a file called ultrix_cpt.h which is exactly what you need. Replace you're old ultrix_cpt.h from MIT and define the symbol "OLD_BSD_FDSETS" instead of "vax" and you'll be set. Let us know how it goes and remember to report your bugs to xviewbugs@sun.com ------------------CUT HERE---------------------------- /* @(#)ultrix_cpt.h 1.7 89/09/14 SMI */ /* * Ultrix 2.X, SunOS 3.X, BSD 4.2 Compatibility Header File * * This file provides a limited compatibility with older BSD variants * that do not provide macros for dealing with fd sets. * * BIG NOTE!!! This will only allow fd_sets of N bits , where N is * the size of an int. * */ #ifndef xview_ultrix_compat_DEFINED #define xview_ultrix_compat_DEFINED #ifdef OLD_BSD_FDSETS #ifndef NBBY #define NBBY 8 /* number of bits in a byte */ #endif #ifndef NFDBITS #define NFDBITS (sizeof(int) * NBBY) #define I_DEFINED_NFDBITS /* register the fact that I defined this */ #endif #ifndef FD_SETSIZE #define FD_SETSIZE NFDBITS #define I_DEFINED_FDSETSIZE /* register the fact that I defined this */ #endif /* * Here we assume that the only use of howmany(x, y) is * howmany(FD_SETSIZE, NFDBITS). If we defined both FD_SETSIZE and * NFDBITS, then we already know what howmany(x, y) will be: 1. * If we did not define FD_SETSIZE and NFDBITS, then we'll have * to calculate the value of howmany(x, y). */ #if defined(I_DEFINED_FDSETSIZE) && defined(I_DEFINED_NFDBITS) #define howmany(x, y) 1 #else #define howmany(x, y) (((x)+((y)-1))/(y)) #endif #define FD_SET(n, p) ((p)->fds_bits[0] |= (1 << ((n) % NFDBITS))) #define FD_CLR(n, p) ((p)->fds_bits[0] &= ~(1 << ((n) % NFDBITS))) #define FD_ISSET(n, p) ((p)->fds_bits[0] & (1 << ((n) % NFDBITS))) #define FD_ZERO(p) ((p)->fds_bits[0] = 0) #endif OLD_BSD_FDSETS #endif ~xview_ultrix_compat_DEFINED