On Monday, February 28, 2005, at 02:58PM, John E. Malmberg <[EMAIL PROTECTED]> wrote:
>The perl hack to produce a consistent dev_t st_dev will proably not work >on symbolic links and mount points. > >So to support them I will have to make sure that the modules are built >with the correct structure sizes. > >As the _USE_STD_STAT is likely to have the same order issues as _LARGEFILE >did, it needs to be defined in the MMS files. > >Also, support for getpgid() will require that the feature macro >__USE_LONG_GID_T be defined. > >It therefore looks like a change is needed to allow the configure script >to pass a list of macros to be appended to a /define=() switch on the >C compiler. > >If a harmless macro is specified in the MMS file for the cases where >there are no extra macros to be defined, this would simplify the coding >required to make this change > >That way the Configure script can do something that results in: > >BUILD_MACROS=,_LARGEFILE=1,_USE_STD_STAT=1,__USE_LONG_GID_T I think CCDEFINES might be a better name, and I would prefer to make it a variable substitution on [.vms]descrip_mms.template rather than producing a long, complicated macro string that someone has to pass exactly right to MM(S|K). >And where it is used: > > /MACRO=(VMS_NULL_ARG($)BUILD_MACROS) > /MACRO=(X2SUBP($)BULD_MACROS) > >As I noted in my IEEE posting, I know how to make it work for the >descrip_mms.tempate, but not the other generated descrip.mms files. If you modify the ccflags symbol appropriately (see what I did for uselargefiles), MakeMaker should pick it up from Config and use it to build extensions correctly.