From: Craig A. Berry Date: Sun, 2 Oct 2005 21:45:20 +0000 (+0000) Subject: assorted blead build help for VMS (mostly ithreads-related) X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=9fa802f37581490059c6502e317e982c6a4bb4ad;p=p5sagit%2Fp5-mst-13.2.git assorted blead build help for VMS (mostly ithreads-related) p4raw-id: //depot/perl@25680 --- diff --git a/configure.com b/configure.com index 65b8fa3..f53a6bd 100644 --- a/configure.com +++ b/configure.com @@ -4885,6 +4885,13 @@ $ echo4 "You did not specify that, so I am disabling symbolic link support $ ENDIF $ ENDIF $! +$! +$! Check for grp.h -- should be 7.3 and later, but test to be sure +$! +$ tmp = "grp.h" +$ GOSUB inhdr +$ i_grp = tmp +$! $! VMS V7.3-2 powered options $! We know that it is only available for V7.3-2 and later on 64 bit platforms. $! Only implementing right now on 8.2 because that is what I am testing. @@ -4895,6 +4902,8 @@ $ d_getgrnam_r = "undef" $ getgrnam_r_proto = "0" $ d_getpgid = "undef" $ d_getpgrp = "undef" +$! N.B. We already have home-grown thread-safe versions of +$! getpwnam and getpwuid -- no need to use CRTL versions $ d_getpwnam_r = "undef" $ getpwnam_r_proto = "0" $ d_getpwuid_r = "undef" @@ -4916,10 +4925,6 @@ $! FIXME: Need to find how to activate this. $! d_getpgid = "define" $! d_getpgrp = "define" $ endif -$ d_getpwnam_r = "define" -$ getpwnam_r_proto = "1" -$ d_getpwuid_r = "define" -$ getpwuid_r_proto = "1" $ d_setgrent = "define" $ d_ttyname_r = "define" $ ttyname_r_proto = "1" @@ -6038,7 +6043,7 @@ $ WC "i_fcntl='" + i_fcntl + "'" $ WC "i_float='define'" $ WC "i_fp='undef'" $ WC "i_fp_class='undef'" -$ WC "i_grp='undef'" +$ WC "i_grp='" + i_grp + "'" $ WC "i_ieeefp='undef'" $ WC "i_inttypes='" + i_inttypes + "'" $ WC "i_langinfo='" + i_langinfo + "'" diff --git a/pp_sys.c b/pp_sys.c index 12d2ac6..363c93b 100644 --- a/pp_sys.c +++ b/pp_sys.c @@ -87,7 +87,7 @@ extern int h_errno; #ifndef getpwent struct passwd *getpwent (void); #elif defined (VMS) && defined (my_getpwent) - struct passwd *Perl_my_getpwent (void); + struct passwd *Perl_my_getpwent (pTHX); #endif # endif #endif diff --git a/vms/gen_shrfls.pl b/vms/gen_shrfls.pl index 6fb1bb9..2a94014 100644 --- a/vms/gen_shrfls.pl +++ b/vms/gen_shrfls.pl @@ -153,7 +153,7 @@ sub scan_func { if ( $line =~ /(\w+)\s*\(/ ) { print "\troutine name is \\$1\\\n" if $debug > 1; if ($1 eq 'main' || $1 eq 'perl_init_ext' || $1 eq '__attribute__format__' - || (($1 eq 'Perl_stashpv_hvname_match') && ! $use_threads)) { + || $1 eq 'sizeof' || (($1 eq 'Perl_stashpv_hvname_match') && ! $use_threads)) { print "\tskipped\n" if $debug > 1; } else { $fcns{$1}++ } @@ -182,7 +182,7 @@ if ($docc) { else { open(CPP,"$cpp_file") or die "$0: Can't read preprocessed file $cpp_file: $!\n"; } -%checkh = map { $_,1 } qw( thread bytecode byterun proto perlio perlvars intrpvar thrdvar ); +%checkh = map { $_,1 } qw( thread bytecode byterun proto perlapi perlio perlvars intrpvar thrdvar ); $ckfunc = 0; LINE: while () { while (/^#.*vmsish\.h/i .. /^#.*perl\.h/i) { diff --git a/vms/vmsish.h b/vms/vmsish.h index e4e9595..41b2bb2 100644 --- a/vms/vmsish.h +++ b/vms/vmsish.h @@ -208,8 +208,8 @@ #define my_fdopen Perl_my_fdopen #define my_fclose Perl_my_fclose #define my_fwrite Perl_my_fwrite -#define my_getpwent Perl_my_getpwent -#define my_endpwent Perl_my_endpwent +#define my_getpwent() Perl_my_getpwent(aTHX) +#define my_endpwent() Perl_my_endpwent(aTHX) #define my_getlogin Perl_my_getlogin #define init_os_extras Perl_init_os_extras @@ -862,7 +862,7 @@ int my_fwrite (const void *, size_t, size_t, FILE *); int Perl_my_flush (pTHX_ FILE *); struct passwd * Perl_my_getpwnam (pTHX_ const char *name); struct passwd * Perl_my_getpwuid (pTHX_ Uid_t uid); -void my_endpwent (pTHX); +void Perl_my_endpwent (pTHX); char * my_getlogin (void); typedef char __VMS_SEPYTOTORP__; /* prototype section end marker; `typedef' passes through cpp */