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