Craig Berry wrote:
On Monday, February 28, 2005, at 02:58PM, John E. Malmberg 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).

Annother option is to use the /FIRST_INCLUDE option.

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.

If I understand your uselargefiles change, you used a variable substitution for ~LARGEFILES~ and passed it as a parameter to the script that built the outer descrip.mms. I did not see a ccflags change, but I will look for it tomorrow.


Did you get a chance to look at the hard link support modifications that I posted about? I am not sure how to resolve the issue on the test that fails. I think it is wrong for a test script to assume that the default protection would be PROT=(O:RWD, G:RWD, W:RWD).

-John
[EMAIL PROTECTED]
Personal Opinion Only

Reply via email to