home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / dmake40.zip / readme / unix < prev   
Text File  |  1994-10-23  |  6KB  |  162 lines

  1. UNIX specific information for dmake.  This information is provided in the
  2. hope that it makes it easier to install and recompile dmake under UNIX.
  3. I will be happy to hear of erroneous information and will make every effort
  4. to correct it.
  5.  
  6.  
  7. 1. ENVIRONMENT VARIABLE SETTINGS
  8.  
  9. There are many environment variable settings available for UNIX.  Each
  10. option is described below.
  11.  
  12.    OS - unix
  13.  
  14.    OSRELEASE - bsd43        # generic BSD 4.3
  15.          - solaris         # Solaris environments
  16.          - sysvr1        # System V R1
  17.          - sysvr3        # System V R3
  18.          - sysvr4        # System V R4
  19.          - xenix        # Xenix
  20.          - 386ix        # Sun IPX 386 boxen
  21.          - coherent        # Coherent...
  22.          - qnx        # QNX 
  23.  
  24.    OSENVIRONMENT - uw        # U of Waterloo mfcf environment for BSD4.3
  25.          - vf        # for environments needing vfprintf
  26.          - pwd        # for environments needing new pwd
  27.          - gcc        # for GCC compiles with Solaris2.3 and greater
  28.  
  29.  
  30. The table below lists valid combinations for settings of OS, OSRELEASE, and
  31. OSENVIRONMENT.
  32.  
  33.     OS        OSRELEASE        OSENVIRONMENT
  34.     --        ---------        -------------
  35.     unix        bsd43
  36.     unix        bsd43            uw
  37.     unix        bsd43            vf
  38.     unix        solaris
  39.     unix        solaris            gcc
  40.     unix        sysvr1
  41.     unix        sysvr3
  42.     unix        sysvr3            pwd
  43.     unix        sysvr4
  44.     unix        xenix
  45.     unix        xenix            pwd
  46.     unix        386ix
  47.     unix        coherent
  48.     unix        qnx
  49.  
  50. You must set OS and OSRELEASE, OSENVIRONMENT to correspond to one of the
  51. configurations in the above table.
  52.  
  53.  
  54. 2. IMPLEMENTATION NOTES
  55.  
  56. Bootstrapping the binary:
  57. -------------------------
  58.    A 'makefile' file is provided to bootstrap the binary.  The file contains
  59.    many targets for bootstrapping.  Issuing 'make' will provide the list of
  60.    possible targets that can be built.  A restricted sample is shown below:
  61.  
  62.    INDEX:  You must specify 'make target' where target is one of:
  63.    -------------
  64.       make bsd43         - Generic BSD 4.3 System
  65.       make bsd43uw       - Generic BSD 4.3 at U of Waterloo
  66.       make bsd43vf       - Generic BSD 4.3 that needs vfprintf
  67.       make sysvr4        - Generic SysV R4 UNIX System
  68.       make sysvr3        - Generic SysV R3 UNIX System
  69.       make sysvr3pwd     - Generic SysV R3 UNIX System, our PWD
  70.       make sysvr1        - Generic SysV R1 UNIX System
  71.       make dynix         - Sequent DYNIX System
  72.       make linux         - Linux
  73.       make ultrix        - Ultrix 3.0 System
  74.       make mips          - Any MIPS System
  75.       make coherent      - Any Coherent System
  76.       make hpux          - HP Unix
  77.       make 386ix         - 386/ix (SysV R3) System
  78.       make xenix         - 386 Xenix System
  79.       make xenixpwd      - 386 Xenix System, our PWD
  80.       make aix           - IBM RS6000/AIX System
  81.       make Solaris       - SUN Solaris 1.0 to 2.0
  82.       make Solaris2.1    - SUN Solaris 2.1 or greater
  83.       make gccSolaris2.1 - SUN Solaris 2.1 or greater with gcc
  84.  
  85.    The above shows only the possible builds for UNIX like operating systems.
  86.    Choose the one that best suits your needs and issue the command
  87.  
  88.       'make target'
  89.  
  90.  
  91. Using dmake to Make itself:
  92. ---------------------------
  93.    If you use dmake to make itself you must first set a number of makefile
  94.    control variables, either through the environment or on the command line.
  95.  
  96.    The following variables must be set:
  97.  
  98.     OS           - defines operating system (must be set)
  99.     OSRELEASE      - particular version of it.
  100.     OSENVIRNOMENT  - more customization
  101.  
  102.    These three variables should be defined in your environment.  Valid values
  103.    for UNIX are listed above in Section 1.  You must chose one a setting from
  104.    the table that best matches your system.
  105.  
  106.  
  107. .NAMEMAX and length fo file names:
  108. ----------------------------------
  109. dmake assumes that no file name component has a name longer than .NAMEMAX
  110. (an user-settable variable, see the man page).  Files whose basename is
  111. longer than .NAMEMAX return a timestamp of 0 when statted.  The reason for
  112. this test is to handle broken versions of stat that return non-zero times
  113. for stating files that are longer than the legal file name length but for
  114. which a file whose name is the legal maximum file name length and is a prefix
  115. of the longer name exists.  This used to cause infinite loops in the inference
  116. engine.
  117.  
  118. As a result the value of .NAMEMAX is important.  dmake attempts to determine
  119. it at from your system header files when compiled however sometimes even these
  120. may be erroneous thus as a result as of dmake 4.0 users may set the value of
  121. .NAMEMAX to any value they wish.
  122.  
  123.  
  124. Library Name Length:
  125. --------------------
  126. By default the maximum length of library member names is defined in the the
  127. ar.h header file and is usually 14.  Sun has extensions to this that allow
  128. for arbitrarily long member names.  Currently dmake does not support this
  129. extension, although it will do so in the next release.
  130.  
  131.  
  132. UNIX Sysv R3 and getcwd:
  133. ------------------------
  134. Some versions of UNIX SysV R3 and Xenix use the popen call to capture the
  135. output of pwd when invoking the C library function getcwd().  These versions
  136. of the function cause dmake to terminate with the "lost a child" message
  137. due to the fact that the parent dmake process may catch the pwd and not
  138. recognize it as a child.  For systems that have this problem use the version
  139. of dmake that supplies its own getcwd function.  The settings are:
  140.  
  141.    OS = unix
  142.    OSRELEASE = sysvr3
  143.    OSENVIRONMENT = pwd
  144.  
  145. It is directly available through the 'makefile' by typing one of:
  146.  
  147.    make sysvr3pwd
  148.    make xenixpwd
  149.  
  150. both include the getcwd code but the xenixpwd target compiles for a Xenix
  151. system.
  152.  
  153.  
  154. UNIX and "limits.h":
  155. --------------------
  156. Some compilers do not yet provide the "limits.h" file, if yours is one of
  157. these then simply copy the file "namemax.h" in the source root directory to
  158. "limits.h".  Make sure the length of a file name is correctly set in
  159. "limits.h" as it is processed prior to "namemax.h".
  160.  
  161.  
  162.