7 Compiling XFree86 under 3.2.2

Contents of this section

Currently XFree86 is configured to install under /usr/X11R6. The binary distribution will be configured to go into this directory. If you are compiling your own XFree86 there is no reason why this cannot be changed. Check in the X11 config/README on how to change your ProjectRoot.

The defaults are set such that you should only require minimal changes to the site.def or the xf85site.def file. The BOOTSTRAPCFLAGS do most of the work for you. The defaults will use gcc 2 or above and they also compile for shared libraries and setup formatted man pages using compression. The most likely Parameters you will be interested in changing are:

  1. What Fonts etc get compiled.
  2. What gets installed (XdmConfig, FSConfig, ...)
Use gcc, preferably 2.5.8 or later but an earlier version may still do the job. Configure it with "./configure i386-*-sco".

Make sure you do the fixincludes for gcc.

In order to compile the current XFree86 version for SCO you will have to create the following header files in the appropriate places.

A) create a /usr/include/sys/uio.h containing the following:
    #ifndef _XFREE86_UIO_
    #define _XFREE86_UIO_ 1

    #ifndef __IOVEC__
    #define __IOVEC__ 1
    typedef struct iovec {
        caddr_t iov_base;
        int iov_len;
    } iovec_t;
    #endif /* __IOVEC__ */

    #endif /* _XFREE86_UIO_ */
B) create a /usr/include/net/errno.h containing
    
    #ifndef _XFREE86_ERRNO_
    #define _XFREE86_ERRNO_ 1
    #include <errno.h>
    #endif /* _XFREE86_ERRNO_ */
C) create a /usr/include/sys/bsdtypes.h which is empty for now.

D) create a < sys/time.h > under the gnu include directory containing the following (this protects the system header file from multiple inclusions) You do not have to change the system header file!

    #ifndef _SYS_TIME_H_
    #define _SYS_TIME_H_ 1
    #include < /usr/include/sys/time.h >    #endif /* _SYS_TIME_H_ */

You also need to obtain a copy of libcrypt or the international crypt supplement from SCO. The supplement is available on the SCO ftp site, sosco.sco.com (The name may have changed) as an SLS, lng225. This is required for the correct compilation of "xdm".

To compile from here, follow the XFree86 README, basically after obtaining X11r5, applying the XFree86 patches and completing the above changes you should only need to run:

    make BOOTSTRAPCFLAGS="-DSYSV -Di386 -DSCO" World
The install script mit/util/scripts/bsdinst.sh will not set 's' bit permissions when installing over the top of a previously installed XFree86. To fix this apply the following patch from the directory containing the 'mit' directory. This is personal taste only, if you are installing through symbolic links then leave this one alone.
----------8<-----------------8<------------------------------------
*** mit/util/scripts/bsdinst.sh%	Tue Mar  2 14:27:16 1993
--- mit/util/scripts/bsdinst.sh	Tue Mar  2 14:27:17 1993
***************
*** 150,154 ****
  # This rm is commented out because some people want to be able to
  # install through symbolic links.  Uncomment it if it offends you.
! # rm -f $dst/$srcbase
  (cd $srcdir ; $installcmd -f $dst $flags $src)
  
--- 150,154 ----
  # This rm is commented out because some people want to be able to
  # install through symbolic links.  Uncomment it if it offends you.
! rm -f $dst/$srcbase
  (cd $srcdir ; $installcmd -f $dst $flags $src)
----------8<-----------------8<------------------------------------

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter