gawk: VMS Dynamic Extensions

1 
1 B.3.2.2 Compiling 'gawk' Dynamic Extensions on VMS
1 ..................................................
1 
1 The extensions that have been ported to VMS can be built using one of
1 the following commands:
1 
1      $ MMS/DESCRIPTION=[.vms]descrip.mms extensions
1 
1 or:
1 
1      $ MMK/DESCRIPTION=[.vms]descrip.mms extensions
1 
1    'gawk' uses 'AWKLIBPATH' as either an environment variable or a
1 logical name to find the dynamic extensions.
1 
1    Dynamic extensions need to be compiled with the same compiler options
1 for floating-point, pointer size, and symbol name handling as were used
1 to compile 'gawk' itself.  Alpha and Itanium should use IEEE floating
1 point.  The pointer size is 32 bits, and the symbol name handling should
1 be exact case with CRC shortening for symbols longer than 32 bits.
1 
1    For Alpha and Itanium:
1 
1      /name=(as_is,short)
1      /float=ieee/ieee_mode=denorm_results
1 
1    For VAX:
1 
1      /name=(as_is,short)
1 
1    Compile-time macros need to be defined before the first VMS-supplied
1 header file is included, as follows:
1 
1      #if (__CRTL_VER >= 70200000) && !defined (__VAX)
1      #define _LARGEFILE 1
1      #endif
1 
1      #ifndef __VAX
1      #ifdef __CRTL_VER
1      #if __CRTL_VER >= 80200000
1      #define _USE_STD_STAT 1
1      #endif
1      #endif
1      #endif
1 
1    If you are writing your own extensions to run on VMS, you must supply
1 these definitions yourself.  The 'config.h' file created when building
1 'gawk' on VMS does this for you; if instead you use that file or a
1 similar one, then you must remember to include it before any
1 VMS-supplied header files.
1