diff options
Diffstat (limited to 'dmake/readme/public/unix.txt')
-rw-r--r-- | dmake/readme/public/unix.txt | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/dmake/readme/public/unix.txt b/dmake/readme/public/unix.txt deleted file mode 100644 index b50ab9afa..000000000 --- a/dmake/readme/public/unix.txt +++ /dev/null @@ -1,171 +0,0 @@ -UNIX specific information for dmake. This information is provided in the -hope that it makes it easier to install and recompile dmake under UNIX. -I will be happy to hear of erroneous information and will make every effort -to correct it. - - -1. ENVIRONMENT VARIABLE SETTINGS - -There are many environment variable settings available for UNIX. Each -option is described below. - - OS - unix - - OSRELEASE - bsd43 # generic BSD 4.3 - - solaris # Solaris environments - - sysvr1 # System V R1 - - sysvr3 # System V R3 - - sysvr4 # System V R4 - - xenix # Xenix - - 386ix # Sun IPX 386 boxen - - coherent # Coherent... - - qnx # QNX - - OSENVIRONMENT - uw # U of Waterloo mfcf environment for BSD4.3 - - vf # for environments needing vfprintf - - pwd # for environments needing new pwd - - gcc # for GCC compiles with Solaris2.3 and greater - - verxx # for specific OS versions. - - -The table below lists valid combinations for settings of OS, OSRELEASE, and -OSENVIRONMENT. - - OS OSRELEASE OSENVIRONMENT - -- --------- ------------- - unix bsd43 - unix bsd43 uw - unix bsd43 vf - unix solaris - unix solaris gcc - unix sysvr1 - unix sysvr3 - unix sysvr3 pwd - unix sysvr4 - unix xenix - unix xenix pwd - unix 386ix - unix coherent ver40 - unix coherent ver42 - -You must set OS and OSRELEASE, OSENVIRONMENT to correspond to one of the -configurations in the above table. - - -2. IMPLEMENTATION NOTES - -Bootstrapping the binary: -------------------------- - A 'makefile' file is provided to bootstrap the binary. The file contains - many targets for bootstrapping. Issuing 'make' will provide the list of - possible targets that can be built. A restricted sample is shown below: - - INDEX: You must specify 'make target' where target is one of: - ------------- - make bsd43 - Generic BSD 4.3 System - make bsd43uw - Generic BSD 4.3 at U of Waterloo - make bsd43vf - Generic BSD 4.3 that needs vfprintf - make sysvr4 - Generic SysV R4 UNIX System - make sysvr3 - Generic SysV R3 UNIX System - make sysvr3pwd - Generic SysV R3 UNIX System, our PWD - make sysvr1 - Generic SysV R1 UNIX System - make dynix - Sequent DYNIX System - make linux - Linux - make ultrix - Ultrix 3.0 System - make mips - Any MIPS System - make coherent40 - Any Coherent Version 4.0 System - make coherent42 - Any Coherent Version 4.2 or greater System - make hpux - HP Unix - make 386ix - 386/ix (SysV R3) System - make xenix - 386 Xenix System - make xenixpwd - 386 Xenix System, our PWD - make aix - IBM RS6000/AIX System - make Solaris - SUN Solaris 1.0 to 2.0 - make Solaris2.1 - SUN Solaris 2.1 or greater - make gccSolaris2.1 - SUN Solaris 2.1 or greater with gcc - - The above shows only the possible builds for UNIX like operating systems. - Choose the one that best suits your needs and issue the command - - 'make target' - - -Using dmake to Make itself: ---------------------------- - If you use dmake to make itself you must first set a number of makefile - control variables, either through the environment or on the command line. - - The following variables must be set: - - OS - defines operating system (must be set) - OSRELEASE - particular version of it. - OSENVIRNOMENT - more customization - - These three variables should be defined in your environment. Valid values - for UNIX are listed above in Section 1. You must chose one a setting from - the table that best matches your system. - - Once set simply issue the command: 'dmake' and the sources will be - automatically rebuilt. You do not need to specify a target when you - use dmake and the environment variables are correctly set. - - -.NAMEMAX and length of file names: ----------------------------------- -dmake assumes that no file name component has a name longer than .NAMEMAX -(a user-settable variable, see the man page). Files whose basename is -longer than .NAMEMAX return a timestamp of 0 when statted. The reason for -this test is to handle broken versions of stat that return non-zero times -for stating files that are longer than the legal file name length but for -which a file whose name is the legal maximum file name length and is a prefix -of the longer name exists. This used to cause infinite loops in the inference -engine. - -As a result the value of .NAMEMAX is important. dmake attempts to determine -it at from your system header files when compiled however sometimes even these -may be erroneous thus as a result as of dmake 4.0 users may set the value of -.NAMEMAX to any value they wish. - - -Library Name Length: --------------------- -By default the maximum length of library member names is defined in the the -ar.h header file and is usually 14. Elf libraries allow for a arbitrarily -long member names, if your archiver supports the elf archiver extension for -long member names then edit the file unix/arlib.c and set the CHECKELF define -to indicate that the Elf archiver extension is to be checked for. - -If Elf is not supported and your archiver truncates member names you should -set (in unix/arlib.c) the macro AR_TRUNCATE_MEMBER_NAMES. dmake will then -also truncate member names and perform a length limitted comparison when -scanning the library for matching member names. - - -UNIX Sysv R3 and getcwd: ------------------------- -Some versions of UNIX SysV R3 and Xenix use the popen call to capture the -output of pwd when invoking the C library function getcwd(). These versions -of the function cause dmake to terminate with the "lost a child" message -due to the fact that the parent dmake process may catch the pwd and not -recognize it as a child. For systems that have this problem use the version -of dmake that supplies its own getcwd function. The settings are: - - OS = unix - OSRELEASE = sysvr3 - OSENVIRONMENT = pwd - -It is directly available through the 'makefile' by typing one of: - - make sysvr3pwd - make xenixpwd - -both include the getcwd code but the xenixpwd target compiles for a Xenix -system. - - -UNIX and "limits.h": --------------------- -Some compilers do not yet provide the "limits.h" file, if yours is one of -these then simply copy the file "namemax.h" in the source root directory to -"limits.h". Make sure the length of a file name is correctly set in -"limits.h" as it is processed prior to "namemax.h". |