diff options
Diffstat (limited to 'Build/source/texk/dvipsk/vms/vms_gcc.txt')
-rw-r--r-- | Build/source/texk/dvipsk/vms/vms_gcc.txt | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/Build/source/texk/dvipsk/vms/vms_gcc.txt b/Build/source/texk/dvipsk/vms/vms_gcc.txt deleted file mode 100644 index 5159ce6ddb1..00000000000 --- a/Build/source/texk/dvipsk/vms/vms_gcc.txt +++ /dev/null @@ -1,75 +0,0 @@ - DVIPS & GNU C - -Changes that had to be made in order to compile the DVIPS program with the GNU -CC (GCC) compiler on Vax/VMS. - -(1) DVIPS.C -(a) Problem with 'include' files. The person who did the original port to VMS -used the : -#include filename -notation rather than the more traditional -#include "filename.h" -notation. With the VAX C compiler this means that the chosen header file is -extracted from the SYS$SHARE:VAXCDEF.TLB text library. Well, the GCC compiler -doesn't understand this notation. Now, I could've simply changed it so that if -the code was being compiled on a VMS machine then use the -#include "filename.h" -notation regardless of the compiler. But some sites may not have extracted the -header files from the text library when the VAX C compiler was installed. -This problem also affects the VMSCLI.C file on the [.VMS] directory. - -(b) The TFMPATH, PKPATH, etc.., definitions cannot be defined in the MAKEFILE -because the GCC.EXE program complains with the following error message... -% gcc-cpp command too long. Unable to compile. - -After removing some of the path definitions to shorten the command (just too -see roughly how big the buffer was) I eventually tricked the GCC.EXE program -into getting as far as executing the GNU_CC:[000000]GCC.COM command file but -it then complained, giving the following message... -%DCL-W-TKNOVF, command element is too long - shorten -So, I gave up and took the easy way out, i.e. put these PATH definitions back -in to a new GCC-specific PATHS.H, called VMS_GCC_PATHS.H - -(2) DOSPECIAL.C -The "tolower" macro, defined in GNU_CC:[INCLUDE]CTYPE.H, is too simple. It -doesn't check to see if the character is in the range 'A' to 'Z' therefore -we may as well use the "Tolower" function supplied in the DOSPECIAL.C file. - -(3) The MAKEFILE has been updated to handle the GCC compiler. It must be edited -by the user to select either the VAX11C or the GCC compiler. Search for the -strings VAXC or GNUC and comment out the appropriate lines. - -(4) VMS.H -The "getchar" macro is undefined if it already exists. This is just to stop the -warning message from the GCC compiler informing us that it is being redefined. -GNUC defines it in GNU_CC:[INCLUDE]STDIO.H - -(5) VAXVMS.C -Defined all the functions at the top of the file to keep the GCC compiler -quiet, since it reported the following problems... - -vaxvms.c;1: In function vms_ftell: -vaxvms.c;1:223: warning: `vms_ftell' was previously implicitly declared to return `int' -vaxvms.c;1: In function vms_ungetc: -vaxvms.c;1:296: warning: `vms_ungetc' was previously implicitly declared to return `int' -vaxvms.c;1: In function vms_getenv: - -Next, if using the GNU CC compiler then #include <stdlib.h> so that the -compiler knows all about the `strchr' and `getenv' functions, hence avoiding -the following warnings... - -vaxvms.c;1:331: warning: assignment of pointer from integer lacks a cast -vaxvms.c;1:333: warning: assignment of pointer from integer lacks a cast -vaxvms.c;1:336: warning: assignment of pointer from integer lacks a cast -vaxvms.c;1:340: warning: assignment of pointer from integer lacks a cast - -------------------------------------------------------------------------------- -These changes were tested with GCC 1.42 which is the current official release -of VMS GCC, available from any of the many GNU archive sites. These changes -were also tested with GCC 2.3.3 which is avaliable from MANGO.RSMAS.MIAMI.EDU -(pub/VMS-gcc). The problem to be aware of is that GNUC doesn't have a -CLIMSGDEF.H header file (needed for DVIPS.C). One way out it to create one by -hand from the output from ... -$ LIBRARY/MACRO/EXTRACT=$CLIMSGDEF/OUTPUT=SYS$OUTPUT SYS$LIBRARY:STARLET.MLB -The other solution is to use the more complete package of C header files -provided by Pat Rankin, also available at MANGO.RSMAS.MIAMI.EDU |