From: Jarkko Hietaniemi Date: Mon, 11 Jun 2001 14:39:05 +0000 (+0000) Subject: VOS updates from Paul Green for @10476. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=0d6ca59a79657354b4438c5024ce2aa3d9375c81;p=p5sagit%2Fp5-mst-13.2.git VOS updates from Paul Green for @10476. p4raw-link: @10476 on //depot/perl: 3e1b48791d54e7c6043211159cffdebed97f0943 p4raw-id: //depot/perl@10515 --- diff --git a/README.vos b/README.vos index 5a4cb78..06fe061 100644 --- a/README.vos +++ b/README.vos @@ -46,8 +46,11 @@ following additional items. =item 1 -The VOS Standard C Compiler and Runtime, or the VOS Standard C -Cross-Compiler. This is a standard Stratus product. +The VOS Standard C Compiler (or the VOS Standard C +Cross-Compiler) and the VOS C Runtime. If you are using +the generally-available version of POSIX support, you may +instead use the the VOS GNU C/C++ Compiler. These are +standard Stratus products. =item 2 @@ -72,10 +75,11 @@ your web browser. Instructions for unbundling this file are at ftp://ftp.stratus.com/pub/vos/utility/utility.html. This is not a standard Stratus product. -The generally-available version of POSIX.1 support is -bundled with the VOS Standard C compiler and Runtime (or -Cross-Compiler) in VOS Release 14.3.0 or higher. This is a -standard Stratus product. +In VOS Release 14.3.0, the generally-available version of +POSIX.1 support is bundled with the VOS Standard C compiler +(or Standard C Cross-Compiler). In VOS Release 14.4.0 or +higher, it is also bundled with the VOS C Runtime. These +are standard Stratus products. =item 4 @@ -85,6 +89,15 @@ contain more than 32,767 source lines. Due to VOS release-compatibility rules, this port of perl may not execute on VOS Release 12 or earlier. +=item 5 + +If you are using the generally-available version of VOS +POSIX support, then you should also acquire the VOS GNU +C/C++ Compiler and GNU Tools product. When perl is built +with this version of POSIX support, it assumes that it can +find "bash", "sed" and other POSIX-compatible commands in +the directory /system/gnu_library/bin. + =back To build perl 5, change to the "vos" subdirectory and type the @@ -93,6 +106,16 @@ type (mc68020, i80860, pa7100, pa8000) that you wish to use. Note that the generally-available version of POSIX.1 support is not available for the mc68020 or i80860 processors. +Use the "-version alpha" control argument to build perl with +the alpha version of POSIX support, and use the "-version +ga" control argument to build it with the +generally-available version of POSIX. The default is "ga". + +Use the "-compiler cc" control argument to build perl with +the VOS Standard C compiler. Use the "-compiler gcc" +control argument to build it with the GNU GCC compiler. The +default is "cc". + You must have purchased the VOS Standard C Cross Compiler in order to compile perl for a processor type that is different from the processor type of the module. @@ -213,6 +236,6 @@ Paul Green (Paul_Green@stratus.com) =head1 LAST UPDATE -October 24, 2000 +June 11, 2001 =cut diff --git a/vos/Changes b/vos/Changes index ba0856a..6a39bcd 100644 --- a/vos/Changes +++ b/vos/Changes @@ -1,6 +1,16 @@ This file documents the changes made to port Perl to the Stratus VOS operating system. +For 5.7.1: + Updated "build.cm" and "compile_perl.cm" to build perl using + either cc or gcc. + Brought "config.alpha.def" and "config.ga.def" up-to-date. + Updated "configure_perl.cm" to rebuild the header file even if + the date of the definitions file is equal to the date of + the header, because the perl distribution resets all dates + to the same value. + Update "Changes". + For 5.7: Updated "build.cm" to build perl using either the alpha or GA version of POSIX. diff --git a/vos/build.cm b/vos/build.cm index f749538..ec9e589 100644 --- a/vos/build.cm +++ b/vos/build.cm @@ -4,6 +4,7 @@ rebind switch(-rebind),=1 tgt_mod option(-target_module)module_name,='(current_module)' version option(-version)name,allow(alpha,ga),=ga + compiler option(-compiler)name,allow(cc,gcc)=cc &end_parameters &echo command_lines & @@ -46,7 +47,15 @@ &then &set_string obj2 .68k &else &set_string obj2 &obj& & +&if &compiler& = cc +&then &do &set_string cpu -processor &cpu& +&set_string s .obj +&end +&else &do +&set_string cpu '' +&set_string s .o +&end & & If requested, compile the source code. & @@ -66,38 +75,45 @@ & Suppress several harmless compiler warning and advice messages. & Use -list -show_include all -show_macros both_ways when debugging. & -&set_string cflags '-u -O4 -D_POSIX_C_SOURCE=199506L -DPERL_CORE' +&if &compiler& = cc +&then &set_string cflags '-O4 -D_POSIX_C_SOURCE=199506L -DPERL_CORE -u' +&else &set_string cflags '-O4 -D_POSIX_C_SOURCE=199506L -DPERL_CORE -c' & & The following is a work-around for stcp-1437,8,9 & &if &version& = ga &then &set_string cflags &cflags& -D_BSD_SOURCE & -!cc < 0 & (module_info os_release) < 'VOS Release 14.1.0' -&then !cc <bsd &+ &posix_objlib& &+ &c_objlib& &objlib& -&if &version& = alpha -&then !bind -control tcp_runtime &tcp_objlib&>tcp_gethost &+ &cpu& -target_module &tgt_mod& -map -&else !bind -control - * and there I_SYSUIO. - */ -/*#define HAS_READV /**/ - -/* HAS_RECVMSG: - * This symbol, if defined, indicates that the recvmsg routine is - * available to send structured socket messages. - */ -/*#define HAS_RECVMSG /**/ - /* HAS_RENAME: * This symbol, if defined, indicates that the rename routine is available * to rename files. Otherwise you should do the unlink(), link(), unlink() @@ -614,12 +581,6 @@ */ #define HAS_STRTOL /**/ -/* HAS_STRTOUL: - * This symbol, if defined, indicates that the strtoul routine is - * available to provide conversion of strings to unsigned long. - */ -#define HAS_STRTOUL /**/ - /* HAS_STRXFRM: * This symbol, if defined, indicates that the strxfrm() routine is * available to transform strings. @@ -856,7 +817,12 @@ * This symbol, if defined, indicates that exists and should * be included. Otherwise, include or . */ +/* I_SYS_SOCKIO: + * This symbol, if defined, indicates the should be included + * to get socket ioctl options, like SIOCATMARK. + */ #define I_SYS_IOCTL /**/ +/*#define I_SYS_SOCKIO /**/ /* I_SYS_NDIR: * This symbol, if defined, indicates to the C program that it should @@ -996,12 +962,6 @@ */ #define SH_PATH "/bin/sh" /**/ -/* STDCHAR: - * This symbol is defined to be the type of char used in stdio.h. - * It has the values "unsigned char" or "char". - */ -#define STDCHAR unsigned char /**/ - /* CROSSCOMPILE: * This symbol, if defined, signifies that we our * build process is a cross-compilation. @@ -1078,7 +1038,13 @@ * by Configure. You shouldn't rely on it too much; the specific * feature tests from Configure are generally more reliable. */ +/* OSVERS: + * This symbol contains the version of the operating system, as determined + * by Configure. You shouldn't rely on it too much; the specific + * feature tests from Configure are generally more reliable. + */ #define OSNAME "VOS" /**/ +#define OSVERS "VOS" /**/ /* MEM_ALIGNBYTES: * This symbol contains the number of bytes required to align a @@ -1243,6 +1209,12 @@ #define CPPRUN "cc -E -" #define CPPLAST "-" +/* HAS__FWALK: + * This symbol, if defined, indicates that the _fwalk system call is + * available to apply a function to all the file handles. + */ +/*#define HAS__FWALK /**/ + /* HAS_ACCESS: * This manifest constant lets the C program know that the access() * system call is available to check for accessibility using real UID/GID. @@ -1281,7 +1253,7 @@ * This symbol, if defined, indicates that the struct cmsghdr * is supported. */ -/*#define HAS_STRUCT_CMSGHDR / **/ +/*#define HAS_STRUCT_CMSGHDR /**/ /* HAS_CSH: * This symbol, if defined, indicates that the C-shell exists. @@ -1346,6 +1318,13 @@ */ #define HAS_ENDSERVENT /**/ +/* FCNTL_CAN_LOCK: + * This symbol, if defined, indicates that fcntl() can be used + * for file locking. Normally on Unix systems this is defined. + * It may be undefined on VMS. + */ +#define FCNTL_CAN_LOCK /**/ + /* HAS_FD_SET: * This symbol, when defined, indicates presence of the fd_set typedef * in @@ -1541,12 +1520,30 @@ */ #define HAS_GETNET_PROTOS /**/ +/* HAS_GETPAGESIZE: + * This symbol, if defined, indicates that the getpagesize system call + * is available to get system page size, which is the granularity of + * many memory management calls. + */ +/*#define HAS_GETPAGESIZE /**/ + /* HAS_GETPROTOENT: * This symbol, if defined, indicates that the getprotoent() routine is * available to look up protocols in some data base or another. */ #define HAS_GETPROTOENT /**/ +/* HAS_GETPGRP: + * This symbol, if defined, indicates that the getpgrp routine is + * available to get the current process group. + */ +/* USE_BSD_GETPGRP: + * This symbol, if defined, indicates that getpgrp needs one + * arguments whereas USG one needs none. + */ +#define HAS_GETPGRP /**/ +/*#define USE_BSD_GETPGRP /**/ + /* HAS_GETPROTOBYNAME: * This symbol, if defined, indicates that the getprotobyname() * routine is available to look up protocols by their name. @@ -1797,7 +1794,7 @@ * This symbol, if defined, indicates that the struct msghdr * is supported. */ -/*#define HAS_STRUCT_MSGHDR / **/ +/*#define HAS_STRUCT_MSGHDR /**/ /* HAS_OFF64_T: * This symbol will be defined if the C compiler supports off64_t. @@ -1839,6 +1836,19 @@ #define SCHED_YIELD /**/ /*#define HAS_SCHED_YIELD /**/ +/* HAS_READV: + * This symbol, if defined, indicates that the readv routine is + * available to do gather reads. You will also need + * and there I_SYSUIO. + */ +/*#define HAS_READV /**/ + +/* HAS_RECVMSG: + * This symbol, if defined, indicates that the recvmsg routine is + * available to send structured socket messages. + */ +/*#define HAS_RECVMSG /**/ + /* HAS_SAFE_BCOPY: * This symbol, if defined, indicates that the bcopy routine is available * to copy potentially overlapping memory blocks. Otherwise you should @@ -1869,7 +1879,7 @@ * extern void* sbrk _((int)); * extern void* sbrk _((size_t)); */ -/*#define HAS_SBRK_PROTO / **/ +/*#define HAS_SBRK_PROTO /**/ /* HAS_SEM: * This symbol, if defined, indicates that the entire sem*(2) library is @@ -1920,6 +1930,18 @@ */ #define HAS_SETPROTOENT /**/ +/* HAS_SETPGRP: + * This symbol, if defined, indicates that the setpgrp routine is + * available to set the current process group. + */ +/* USE_BSD_SETPGRP: + * This symbol, if defined, indicates that setpgrp needs two + * arguments whereas USG one needs none. See also HAS_SETPGID + * for a POSIX interface. + */ +/*#define HAS_SETPGRP /**/ +/*#define USE_BSD_SETPGRP /**/ + /* HAS_SETPROCTITLE: * This symbol, if defined, indicates that the setproctitle routine is * available to set process title. @@ -1963,13 +1985,6 @@ */ /*#define HAS_SIGACTION /**/ -/* HAS_SIGPROCMASK: - * This symbol, if defined, indicates that sigprocmask - * system call is available to examine or change the signal mask - * of the calling process. - */ -/*#define HAS_SIGPROCMASK /**/ - /* HAS_SIGSETJMP: * This variable indicates to the C program that the sigsetjmp() * routine is available to save the calling process's registers @@ -2193,16 +2208,16 @@ /*#define HAS_STRTOLL /**/ /* HAS_STRTOQ: - * This symbol, if defined, indicates that the strtouq routine is + * This symbol, if defined, indicates that the strtoq routine is * available to convert strings to long longs (quads). */ /*#define HAS_STRTOQ /**/ -/* HAS_STRTOQ: - * This symbol, if defined, indicates that the strtouq routine is - * available to convert strings to long longs (quads). +/* HAS_STRTOUL: + * This symbol, if defined, indicates that the strtoul routine is + * available to provide conversion of strings to unsigned long. */ -/*#define HAS_STRTOQ /**/ +#define HAS_STRTOUL /**/ /* HAS_STRTOULL: * This symbol, if defined, indicates that the strtoull routine is @@ -2392,8 +2407,25 @@ * in the header file. In older versions of DB, it was * int, while in newer ones it is size_t. */ +/* DB_VERSION_MAJOR_CFG: + * This symbol, if defined, defines the major version number of + * Berkeley DB found in the header when Perl was configured. + */ +/* DB_VERSION_MINOR_CFG: + * This symbol, if defined, defines the minor version number of + * Berkeley DB found in the header when Perl was configured. + * For DB version 1 this is always 0. + */ +/* DB_VERSION_PATCH_CFG: + * This symbol, if defined, defines the patch version number of + * Berkeley DB found in the header when Perl was configured. + * For DB version 1 this is always 0. + */ #define DB_Hash_t int /**/ #define DB_Prefix_t int /**/ +#define DB_VERSION_MAJOR_CFG undef /**/ +#define DB_VERSION_MINOR_CFG undef /**/ +#define DB_VERSION_PATCH_CFG undef /**/ /* I_GRP: * This symbol, if defined, indicates to the C program that it should @@ -2706,6 +2738,17 @@ #define RD_NODATA -1 #define EOF_NONBLOCK +/* NEED_VA_COPY: + * This symbol, if defined, indicates that the system stores + * the variable argument list datatype, va_list, in a format + * that cannot be copied by simple assignment, so that some + * other means must be used when copying is required. + * As such systems vary in their provision (or non-provision) + * of copying mechanisms, handy.h defines a platform- + * independent macro, Perl_va_copy(src, dst), to do the job. + */ +/*#define NEED_VA_COPY /**/ + /* Netdb_host_t: * This symbol holds the type used for the 1st argument * to gethostbyaddr(). @@ -2857,8 +2900,8 @@ * as an unsigned hexadecimal integer in lowercase abcdef. */ /* UVXf: - * This symbol defines the format string used for printing a Perl UV - * as an unsigned hexadecimal integer in uppercase ABCDEF. + * This symbol defines the format string used for printing a Perl UV + * as an unsigned hexadecimal integer in uppercase ABCDEF. */ /* NVef: * This symbol defines the format string used for printing a Perl NV @@ -3065,6 +3108,12 @@ */ #define STARTPERL "!perl.pm" /**/ +/* STDCHAR: + * This symbol is defined to be the type of char used in stdio.h. + * It has the values "unsigned char" or "char". + */ +#define STDCHAR unsigned char /**/ + /* HAS_STDIO_STREAM_ARRAY: * This symbol, if defined, tells that there is an array * holding the stdio streams. @@ -3283,51 +3332,64 @@ #define PERL_XS_APIVERSION "5.00563" #define PERL_PM_APIVERSION "5.005" -/* HAS_GETPGRP: - * This symbol, if defined, indicates that the getpgrp routine is - * available to get the current process group. - */ -/* USE_BSD_GETPGRP: - * This symbol, if defined, indicates that getpgrp needs one - * arguments whereas USG one needs none. +/* HAS_DBMINIT_PROTO: + * This symbol, if defined, indicates that the system provides + * a prototype for the dbminit() function. Otherwise, it is up + * to the program to supply one. A good guess is + * extern int dbminit(char *); */ -#define HAS_GETPGRP /**/ -/*#define USE_BSD_GETPGRP /**/ +/*#define HAS_DBMINIT_PROTO /**/ -/* HAS_SETPGRP: - * This symbol, if defined, indicates that the setpgrp routine is - * available to set the current process group. +/* HAS_FLOCK_PROTO: + * This symbol, if defined, indicates that the system provides + * a prototype for the flock() function. Otherwise, it is up + * to the program to supply one. A good guess is + * extern int flock(int, int); */ -/* USE_BSD_SETPGRP: - * This symbol, if defined, indicates that setpgrp needs two - * arguments whereas USG one needs none. See also HAS_SETPGID - * for a POSIX interface. +/*#define HAS_FLOCK_PROTO /**/ + +/* HAS_REALPATH: + * This symbol, if defined, indicates that the realpath routine is + * available to do resolve paths. */ -/*#define HAS_SETPGRP /**/ -/*#define USE_BSD_SETPGRP /**/ +/*#define HAS_REALPATH /**/ -/* NEED_VA_COPY: - * This symbol, if defined, indicates that the system stores - * the variable argument list datatype, va_list, in a format - * that cannot be copied by simple assignment, so that some - * other means must be used when copying is required. - * As such systems vary in their provision (or non-provision) - * of copying mechanisms, handy.h defines a platform- - * independent macro, Perl_va_copy(src, dst), to do the job. +/* HAS_SIGPROCMASK: + * This symbol, if defined, indicates that the sigprocmask + * system call is available to examine or change the signal mask + * of the calling process. */ -/*#define NEED_VA_COPY / **/ +/*#define HAS_SIGPROCMASK /**/ /* HAS_SOCKATMARK: * This symbol, if defined, indicates that the sockatmark routine is * available to test whether a socket is at the out-of-band mark. */ -/*#define HAS_SOCKATMARK / **/ +/*#define HAS_SOCKATMARK /**/ -/* U32_ALIGNMENT_REQUIRED: - * This symbol, if defined, indicates that you must access - * character data through U32-aligned pointers. +/* HAS_SOCKATMARK_PROTO: + * This symbol, if defined, indicates that the system provides + * a prototype for the sockatmark() function. Otherwise, it is up + * to the program to supply one. A good guess is + * extern int sockatmark _((int)); */ -#define U32_ALIGNMENT_REQUIRED /**/ +/*#define HAS_SOCKATMARK_PROTO /**/ + +/* HAS_SETRESGID_PROTO: + * This symbol, if defined, indicates that the system provides + * a prototype for the setresgid() function. Otherwise, it is up + * to the program to supply one. Good guesses are + * extern int setresgid(uid_t ruid, uid_t euid, uid_t suid); + */ +/*#define HAS_SETRESGID_PROTO /**/ + +/* HAS_SETRESUID_PROTO: + * This symbol, if defined, indicates that the system provides + * a prototype for the setresuid() function. Otherwise, it is up + * to the program to supply one. Good guesses are + * extern int setresuid(uid_t ruid, uid_t euid, uid_t suid); + */ +/*#define HAS_SETRESUID_PROTO /**/ /* HAS_STRFTIME: * This symbol, if defined, indicates that the strftime routine is @@ -3335,4 +3397,27 @@ */ #define HAS_STRFTIME /**/ +/* HAS_SYSCALL_PROTO: + * This symbol, if defined, indicates that the system provides + * a prototype for the syscall() function. Otherwise, it is up + * to the program to supply one. Good guesses are + * extern int syscall(int, ...); + * extern int syscall(long, ...); + */ +/*#define HAS_SYSCALL_PROTO /**/ + +/* U32_ALIGNMENT_REQUIRED: + * This symbol, if defined, indicates that you must access + * character data through U32-aligned pointers. + */ +#define U32_ALIGNMENT_REQUIRED /**/ + +/* HAS_USLEEP_PROTO: + * This symbol, if defined, indicates that the system provides + * a prototype for the usleep() function. Otherwise, it is up + * to the program to supply one. A good guess is + * extern int usleep(useconds_t); + */ +/*#define HAS_USLEEP_PROTO /**/ + #endif diff --git a/vos/config.ga.def b/vos/config.ga.def index 823bdb0..cfede44 100644 --- a/vos/config.ga.def +++ b/vos/config.ga.def @@ -3,12 +3,12 @@ $aphostname='' $archlib='' $archlibexp='' $archname='vos' -$bin='/system/ported/command_library' -$binexp='/system/ported/command_library' +$bin='/system/gnu_library/bin' +$binexp='/system/gnu_library/bin' $byteorder='4321' $castflags='0' $cf_by='Paul_Green@stratus.com' -$cf_time='2000-10-24 15:35 UCT' +$cf_time='2001-06-11 02:46 UCT' $CONFIG_SH='config.sh' $cpp_stuff='42' $cpplast='-' @@ -195,6 +195,7 @@ $d_quad='undef' $d_readdir='define' $d_readlink='define' $d_readv='undef' +$d_realpath='undef' $d_recvmsg='undef' $d_rename='define' $d_rewinddir='define' @@ -216,6 +217,7 @@ $d_seteuid='define' $d_setgrent='undef' $d_setgrps='undef' $d_sethent='define' +$d_setitimer='undef' $d_setlinebuf='define' $d_setlocale='define' $d_setnent='define' @@ -247,6 +249,8 @@ $d_socket='define' $d_sockpair='undef' $d_socks5_init='undef' $d_sqrtl='undef' +$d_sresgproto='undef' +$d_sresuproto='undef' $d_statblks='undef' $d_statfs_f_flags='undef' $d_statfs_s='undef' @@ -307,6 +311,9 @@ $d_wctomb='define' $d_writev='undef' $db_hashtype='int' $db_prefixtype='int' +$db_version_major='undef' +$db_version_minor='undef' +$db_version_patch='undef' $defvoidused='15' $direntrytype='struct dirent' $doublesize='8' @@ -317,8 +324,8 @@ $fflushall='undef' $fflushNULL='define' $fpostype='fpos_t' $freetype='void' -$full_csh='/system/ported/command_library/bash.pm' -$full_sed='/system/ported/command_library/sed.pm' +$full_csh='/system/gnu_library/bin/bash.pm' +$full_sed='/system/gnu_library/bin/sed.pm' $gidformat='"d"' $gidsize='4' $gidsign='-1' @@ -432,6 +439,7 @@ $nvtype='double' $o_nonblock='O_NONBLOCK' $old_pthread_create_joinable='' $osname='VOS' +$osvers='VOS' $otherlibdirs='' $package='perl5' $pidtype='pid_t' @@ -449,7 +457,7 @@ $sched_yield='' $seedfunc='srand' $selectminbits='1' $selecttype='fd_set *' -$sh='/system/ported/command_library/bash.pm' +$sh='/system/gnu_library/bin/bash.pm' $shmattype='void *' $shortsize='2' $sig_name_init='"ZERO","ABRT","FPE","ILL","INT","SEGV","TERM","USR1","USR2","IO","HUP","URG","ALRM","CHLD","CONT","KILL","STOP","PIPE","QUIT","BUS","TRAP","TSTP","TTIN","TTOU","RT1","RT2","RT3","RT4","RT5","RT6","RT7","RT8",0' diff --git a/vos/config.ga.h b/vos/config.ga.h index da40b86..5d0680e 100644 --- a/vos/config.ga.h +++ b/vos/config.ga.h @@ -13,7 +13,7 @@ /* * Package name : perl5 * Source directory : /vos_ftp_site/pub/vos/posix/(alpha|ga)/perl - * Configuration time: 2000-10-24 15:35 UCT + * Configuration time: 2001-06-11 02:46 UCT * Configured by : Paul_Green@stratus.com * Target system : VOS */ @@ -24,7 +24,7 @@ /* LOC_SED: * This symbol holds the complete pathname to the sed program. */ -#define LOC_SED "/system/ported/command_library/sed.pm" /**/ +#define LOC_SED "/system/gnu_library/bin/sed.pm" /**/ /* HAS_ALARM: * This symbol, if defined, indicates that the alarm routine is @@ -165,19 +165,6 @@ */ #define HAS_FCNTL /**/ -/* HAS__FWALK: - * This symbol, if defined, indicates that the _fwalk system call is - * available to apply a function to all the file handles. - */ -/*#define HAS__FWALK / **/ - -/* FCNTL_CAN_LOCK: - * This symbol, if defined, indicates that fcntl() can be used - * for file locking. Normally on Unix systems this is defined. - * It may be undefined on VMS. - */ -#define FCNTL_CAN_LOCK /**/ - /* HAS_FGETPOS: * This symbol, if defined, indicates that the fgetpos routine is * available to get the file position indicator, similar to ftell(). @@ -226,13 +213,6 @@ */ #define HAS_GETLOGIN /**/ -/* HAS_GETPAGESIZE: - * This symbol, if defined, indicates that the getpagesize system call - * is available to get system page size, which is the granularity of - * many memory management calls. - */ -/*#define HAS_GETPAGESIZE /**/ - /* HAS_GETPGID: * This symbol, if defined, indicates to the C program that * the getpgid(pid) function is available to get the @@ -442,19 +422,6 @@ */ #define HAS_READLINK /**/ -/* HAS_READV: - * This symbol, if defined, indicates that the readv routine is - * available to do gather reads. You will also need - * and there I_SYSUIO. - */ -/*#define HAS_READV /**/ - -/* HAS_RECVMSG: - * This symbol, if defined, indicates that the recvmsg routine is - * available to send structured socket messages. - */ -/*#define HAS_RECVMSG /**/ - /* HAS_RENAME: * This symbol, if defined, indicates that the rename routine is available * to rename files. Otherwise you should do the unlink(), link(), unlink() @@ -614,24 +581,6 @@ */ #define HAS_STRTOL /**/ -/* HAS_STRTOQ: - * This symbol, if defined, indicates that the strtouq routine is - * available to convert strings to long longs (quads). - */ -/*#define HAS_STRTOQ /**/ - -/* HAS_STRTOQ: - * This symbol, if defined, indicates that the strtouq routine is - * available to convert strings to long longs (quads). - */ -/*#define HAS_STRTOQ /**/ - -/* HAS_STRTOUL: - * This symbol, if defined, indicates that the strtoul routine is - * available to provide conversion of strings to unsigned long. - */ -#define HAS_STRTOUL /**/ - /* HAS_STRXFRM: * This symbol, if defined, indicates that the strxfrm() routine is * available to transform strings. @@ -868,7 +817,12 @@ * This symbol, if defined, indicates that exists and should * be included. Otherwise, include or . */ +/* I_SYS_SOCKIO: + * This symbol, if defined, indicates the should be included + * to get socket ioctl options, like SIOCATMARK. + */ #define I_SYS_IOCTL /**/ +/*#define I_SYS_SOCKIO /**/ /* I_SYS_NDIR: * This symbol, if defined, indicates to the C program that it should @@ -1006,13 +960,7 @@ * /bin/pdksh, /bin/ash, /bin/bash, or even something such as * D:/bin/sh.exe. */ -#define SH_PATH "/system/ported/command_library/bash.pm" /**/ - -/* STDCHAR: - * This symbol is defined to be the type of char used in stdio.h. - * It has the values "unsigned char" or "char". - */ -#define STDCHAR unsigned char /**/ +#define SH_PATH "/system/gnu_library/bin/bash.pm" /**/ /* CROSSCOMPILE: * This symbol, if defined, signifies that we our @@ -1090,7 +1038,13 @@ * by Configure. You shouldn't rely on it too much; the specific * feature tests from Configure are generally more reliable. */ +/* OSVERS: + * This symbol contains the version of the operating system, as determined + * by Configure. You shouldn't rely on it too much; the specific + * feature tests from Configure are generally more reliable. + */ #define OSNAME "VOS" /**/ +#define OSVERS "VOS" /**/ /* MEM_ALIGNBYTES: * This symbol contains the number of bytes required to align a @@ -1147,8 +1101,8 @@ * This symbol is the filename expanded version of the BIN symbol, for * programs that do not want to deal with that at run-time. */ -#define BIN "/system/ported/command_library" /**/ -#define BIN_EXP "/system/ported/command_library" /**/ +#define BIN "/system/gnu_library/bin" /**/ +#define BIN_EXP "/system/gnu_library/bin" /**/ /* PERL_BINCOMPAT_5005: * This symbol, if defined, indicates that this version of Perl should be @@ -1255,6 +1209,12 @@ #define CPPRUN "cc -E -" #define CPPLAST "-" +/* HAS__FWALK: + * This symbol, if defined, indicates that the _fwalk system call is + * available to apply a function to all the file handles. + */ +/*#define HAS__FWALK /**/ + /* HAS_ACCESS: * This manifest constant lets the C program know that the access() * system call is available to check for accessibility using real UID/GID. @@ -1293,7 +1253,7 @@ * This symbol, if defined, indicates that the struct cmsghdr * is supported. */ -/*#define HAS_STRUCT_CMSGHDR / **/ +/*#define HAS_STRUCT_CMSGHDR /**/ /* HAS_CSH: * This symbol, if defined, indicates that the C-shell exists. @@ -1303,7 +1263,7 @@ */ #define HAS_CSH /**/ #ifdef HAS_CSH -#define CSH "/system/ported/command_library/bash.pm" /**/ +#define CSH "/system/gnu_library/bin/bash.pm" /**/ #endif /* DLSYM_NEEDS_UNDERSCORE: @@ -1358,6 +1318,13 @@ */ #define HAS_ENDSERVENT /**/ +/* FCNTL_CAN_LOCK: + * This symbol, if defined, indicates that fcntl() can be used + * for file locking. Normally on Unix systems this is defined. + * It may be undefined on VMS. + */ +#define FCNTL_CAN_LOCK /**/ + /* HAS_FD_SET: * This symbol, when defined, indicates presence of the fd_set typedef * in @@ -1553,12 +1520,30 @@ */ #define HAS_GETNET_PROTOS /**/ +/* HAS_GETPAGESIZE: + * This symbol, if defined, indicates that the getpagesize system call + * is available to get system page size, which is the granularity of + * many memory management calls. + */ +/*#define HAS_GETPAGESIZE /**/ + /* HAS_GETPROTOENT: * This symbol, if defined, indicates that the getprotoent() routine is * available to look up protocols in some data base or another. */ #define HAS_GETPROTOENT /**/ +/* HAS_GETPGRP: + * This symbol, if defined, indicates that the getpgrp routine is + * available to get the current process group. + */ +/* USE_BSD_GETPGRP: + * This symbol, if defined, indicates that getpgrp needs one + * arguments whereas USG one needs none. + */ +#define HAS_GETPGRP /**/ +/*#define USE_BSD_GETPGRP /**/ + /* HAS_GETPROTOBYNAME: * This symbol, if defined, indicates that the getprotobyname() * routine is available to look up protocols by their name. @@ -1809,7 +1794,7 @@ * This symbol, if defined, indicates that the struct msghdr * is supported. */ -/*#define HAS_STRUCT_MSGHDR / **/ +/*#define HAS_STRUCT_MSGHDR /**/ /* HAS_OFF64_T: * This symbol will be defined if the C compiler supports off64_t. @@ -1851,6 +1836,19 @@ #define SCHED_YIELD /**/ /*#define HAS_SCHED_YIELD /**/ +/* HAS_READV: + * This symbol, if defined, indicates that the readv routine is + * available to do gather reads. You will also need + * and there I_SYSUIO. + */ +/*#define HAS_READV /**/ + +/* HAS_RECVMSG: + * This symbol, if defined, indicates that the recvmsg routine is + * available to send structured socket messages. + */ +/*#define HAS_RECVMSG /**/ + /* HAS_SAFE_BCOPY: * This symbol, if defined, indicates that the bcopy routine is available * to copy potentially overlapping memory blocks. Otherwise you should @@ -1881,7 +1879,7 @@ * extern void* sbrk _((int)); * extern void* sbrk _((size_t)); */ -/*#define HAS_SBRK_PROTO / **/ +/*#define HAS_SBRK_PROTO /**/ /* HAS_SEM: * This symbol, if defined, indicates that the entire sem*(2) library is @@ -1932,6 +1930,18 @@ */ #define HAS_SETPROTOENT /**/ +/* HAS_SETPGRP: + * This symbol, if defined, indicates that the setpgrp routine is + * available to set the current process group. + */ +/* USE_BSD_SETPGRP: + * This symbol, if defined, indicates that setpgrp needs two + * arguments whereas USG one needs none. See also HAS_SETPGID + * for a POSIX interface. + */ +/*#define HAS_SETPGRP /**/ +/*#define USE_BSD_SETPGRP /**/ + /* HAS_SETPROCTITLE: * This symbol, if defined, indicates that the setproctitle routine is * available to set process title. @@ -1975,13 +1985,6 @@ */ #define HAS_SIGACTION /**/ -/* HAS_SIGPROCMASK: - * This symbol, if defined, indicates that sigprocmask - * system call is available to examine or change the signal mask - * of the calling process. - */ -#define HAS_SIGPROCMASK /**/ - /* HAS_SIGSETJMP: * This variable indicates to the C program that the sigsetjmp() * routine is available to save the calling process's registers @@ -2204,6 +2207,18 @@ */ /*#define HAS_STRTOLL /**/ +/* HAS_STRTOQ: + * This symbol, if defined, indicates that the strtoq routine is + * available to convert strings to long longs (quads). + */ +/*#define HAS_STRTOQ /**/ + +/* HAS_STRTOUL: + * This symbol, if defined, indicates that the strtoul routine is + * available to provide conversion of strings to unsigned long. + */ +#define HAS_STRTOUL /**/ + /* HAS_STRTOULL: * This symbol, if defined, indicates that the strtoull routine is * available to convert strings to unsigned long longs. @@ -2392,8 +2407,25 @@ * in the header file. In older versions of DB, it was * int, while in newer ones it is size_t. */ +/* DB_VERSION_MAJOR_CFG: + * This symbol, if defined, defines the major version number of + * Berkeley DB found in the header when Perl was configured. + */ +/* DB_VERSION_MINOR_CFG: + * This symbol, if defined, defines the minor version number of + * Berkeley DB found in the header when Perl was configured. + * For DB version 1 this is always 0. + */ +/* DB_VERSION_PATCH_CFG: + * This symbol, if defined, defines the patch version number of + * Berkeley DB found in the header when Perl was configured. + * For DB version 1 this is always 0. + */ #define DB_Hash_t int /**/ #define DB_Prefix_t int /**/ +#define DB_VERSION_MAJOR_CFG undef /**/ +#define DB_VERSION_MINOR_CFG undef /**/ +#define DB_VERSION_PATCH_CFG undef /**/ /* I_GRP: * This symbol, if defined, indicates to the C program that it should @@ -2706,6 +2738,17 @@ #define RD_NODATA -1 #define EOF_NONBLOCK +/* NEED_VA_COPY: + * This symbol, if defined, indicates that the system stores + * the variable argument list datatype, va_list, in a format + * that cannot be copied by simple assignment, so that some + * other means must be used when copying is required. + * As such systems vary in their provision (or non-provision) + * of copying mechanisms, handy.h defines a platform- + * independent macro, Perl_va_copy(src, dst), to do the job. + */ +/*#define NEED_VA_COPY /**/ + /* Netdb_host_t: * This symbol holds the type used for the 1st argument * to gethostbyaddr(). @@ -2857,8 +2900,8 @@ * as an unsigned hexadecimal integer in lowercase abcdef. */ /* UVXf: - * This symbol defines the format string used for printing a Perl UV - * as an unsigned hexadecimal integer in uppercase ABCDEF. + * This symbol defines the format string used for printing a Perl UV + * as an unsigned hexadecimal integer in uppercase ABCDEF. */ /* NVef: * This symbol defines the format string used for printing a Perl NV @@ -3065,6 +3108,12 @@ */ #define STARTPERL "!perl.pm" /**/ +/* STDCHAR: + * This symbol is defined to be the type of char used in stdio.h. + * It has the values "unsigned char" or "char". + */ +#define STDCHAR unsigned char /**/ + /* HAS_STDIO_STREAM_ARRAY: * This symbol, if defined, tells that there is an array * holding the stdio streams. @@ -3283,51 +3332,64 @@ #define PERL_XS_APIVERSION "5.00563" #define PERL_PM_APIVERSION "5.005" -/* HAS_GETPGRP: - * This symbol, if defined, indicates that the getpgrp routine is - * available to get the current process group. - */ -/* USE_BSD_GETPGRP: - * This symbol, if defined, indicates that getpgrp needs one - * arguments whereas USG one needs none. +/* HAS_DBMINIT_PROTO: + * This symbol, if defined, indicates that the system provides + * a prototype for the dbminit() function. Otherwise, it is up + * to the program to supply one. A good guess is + * extern int dbminit(char *); */ -#define HAS_GETPGRP /**/ -/*#define USE_BSD_GETPGRP /**/ +/*#define HAS_DBMINIT_PROTO /**/ -/* HAS_SETPGRP: - * This symbol, if defined, indicates that the setpgrp routine is - * available to set the current process group. +/* HAS_FLOCK_PROTO: + * This symbol, if defined, indicates that the system provides + * a prototype for the flock() function. Otherwise, it is up + * to the program to supply one. A good guess is + * extern int flock(int, int); */ -/* USE_BSD_SETPGRP: - * This symbol, if defined, indicates that setpgrp needs two - * arguments whereas USG one needs none. See also HAS_SETPGID - * for a POSIX interface. +/*#define HAS_FLOCK_PROTO /**/ + +/* HAS_REALPATH: + * This symbol, if defined, indicates that the realpath routine is + * available to do resolve paths. */ -/*#define HAS_SETPGRP /**/ -/*#define USE_BSD_SETPGRP /**/ +/*#define HAS_REALPATH /**/ -/* NEED_VA_COPY: - * This symbol, if defined, indicates that the system stores - * the variable argument list datatype, va_list, in a format - * that cannot be copied by simple assignment, so that some - * other means must be used when copying is required. - * As such systems vary in their provision (or non-provision) - * of copying mechanisms, handy.h defines a platform- - * independent macro, Perl_va_copy(src, dst), to do the job. +/* HAS_SIGPROCMASK: + * This symbol, if defined, indicates that the sigprocmask + * system call is available to examine or change the signal mask + * of the calling process. */ -/*#define NEED_VA_COPY / **/ +#define HAS_SIGPROCMASK /**/ /* HAS_SOCKATMARK: * This symbol, if defined, indicates that the sockatmark routine is * available to test whether a socket is at the out-of-band mark. */ -/*#define HAS_SOCKATMARK / **/ +/*#define HAS_SOCKATMARK /**/ -/* U32_ALIGNMENT_REQUIRED: - * This symbol, if defined, indicates that you must access - * character data through U32-aligned pointers. +/* HAS_SOCKATMARK_PROTO: + * This symbol, if defined, indicates that the system provides + * a prototype for the sockatmark() function. Otherwise, it is up + * to the program to supply one. A good guess is + * extern int sockatmark _((int)); */ -#define U32_ALIGNMENT_REQUIRED /**/ +/*#define HAS_SOCKATMARK_PROTO /**/ + +/* HAS_SETRESGID_PROTO: + * This symbol, if defined, indicates that the system provides + * a prototype for the setresgid() function. Otherwise, it is up + * to the program to supply one. Good guesses are + * extern int setresgid(uid_t ruid, uid_t euid, uid_t suid); + */ +/*#define HAS_SETRESGID_PROTO /**/ + +/* HAS_SETRESUID_PROTO: + * This symbol, if defined, indicates that the system provides + * a prototype for the setresuid() function. Otherwise, it is up + * to the program to supply one. Good guesses are + * extern int setresuid(uid_t ruid, uid_t euid, uid_t suid); + */ +/*#define HAS_SETRESUID_PROTO /**/ /* HAS_STRFTIME: * This symbol, if defined, indicates that the strftime routine is @@ -3335,4 +3397,27 @@ */ #define HAS_STRFTIME /**/ +/* HAS_SYSCALL_PROTO: + * This symbol, if defined, indicates that the system provides + * a prototype for the syscall() function. Otherwise, it is up + * to the program to supply one. Good guesses are + * extern int syscall(int, ...); + * extern int syscall(long, ...); + */ +/*#define HAS_SYSCALL_PROTO /**/ + +/* U32_ALIGNMENT_REQUIRED: + * This symbol, if defined, indicates that you must access + * character data through U32-aligned pointers. + */ +#define U32_ALIGNMENT_REQUIRED /**/ + +/* HAS_USLEEP_PROTO: + * This symbol, if defined, indicates that the system provides + * a prototype for the usleep() function. Otherwise, it is up + * to the program to supply one. A good guess is + * extern int usleep(useconds_t); + */ +/*#define HAS_USLEEP_PROTO /**/ + #endif diff --git a/vos/configure_perl.cm b/vos/configure_perl.cm index 49611f9..18dec84 100644 --- a/vos/configure_perl.cm +++ b/vos/configure_perl.cm @@ -8,7 +8,8 @@ &end_parameters &echo command_lines & -&if (file_info config.&version&.def date_modified) > (file_info config.&version&.h date_modified) +&if (file_info config.&version&.def date_modified) >= &+ + (file_info config.&version&.h date_modified) &then &do !copy_file config.&version&.def config.def -delete &