perl

 view release on metacpan or  search on metacpan

configure.com  view on Meta::CPAN

   "Looking for the realpath() function to indicate symbolic link support..."
$      OS
$      WS "#include <stdlib.h>"
$      WS "char *realpath(const char *file_name, char * resolved_name, ...);"
$      WS "int main()"
$      WS "{"
$      WS "char result[255];"
$      WS "realpath(""foo"",result);"
$      WS "exit(0);"
$      WS "}"
$      CS
$      GOSUB link_ok
$      IF compile_status .EQ. good_compile .AND. link_status .EQ. good_link
$      THEN
$        echo -
           "Found realpath() which indicates symbolic link support is present."
$	 d_lchown = "define"
$	 d_lstat = "define"
$	 d_readlink = "define"
$	 d_symlink = "define"
$!	 d_realpath = "define" ! Perl will not put it in the config.h file?
$!	Perl apparently does not use a built in realpath() on other platforms,
$!      but there is a severe performance penatly on OpenVMS to use the Perl
$!      script that implements a realpath().  The d_symlink symbol is used
$!      as a replacement for the d_realpath since they are related and both
$!      were activated by the CRTL at the same time.
$!
$	 ELSE
$	  echo4 "Your system does not support symbolic links."
$	  echo4 "I am disabling symbolic link support."
$	ENDIF
$    ELSE
$       echo4 "Your system does not support symbolic links."
$       echo4 "I am disabling symbolic link support."
$    ENDIF
$  ELSE
$    IF (vms_ver .GES. "8.2")
$    THEN
$       echo4 "-Duselargefiles is required for symbolic link support."
$       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.
$!
$  d_getgrgid_r = "undef"
$  getgrgid_r_proto = "0"
$  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"
$  getpwuid_r_proto = "0"
$  echo "Asumming 64-bit OpenVMS ''vms_ver' -- will build with V7.3-2 routines"
$  d_getgrgid_r = "define"
$  getgrgid_r_proto = "1"
$  d_getgrnam_r = "define"
$  getgrnam_r_proto = "1"
$  if d_symlink .or. d_symlink .EQS. "define"
$  then
$!	 FIXME: Need to find how to activate this.
$!       d_getpgid = "define"
$!       d_getpgrp = "define"
$  endif
$  d_setgrent = "define"
$  d_ttyname_r = "define"
$  ttyname_r_proto = "1"
$  d_snprintf = "define"
$  d_vsnprintf = "define"
$!
$! 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
$! These functions may require POSIX UIDs/GIDs to be active, so I am
$! not activating the features at this time, just preparing this file
$! to easily use them in the future.
$!
$  d_seteuid = "undef"
$  d_setpgid = "undef"
$  d_setpgrp = "undef"
$  d_setregid = "undef"
$  d_setreuid = "undef"
$  d_setsid = "undef"
$  ! Disable this section for now.
$!$  if (vms_ver .GES. "8.2")
$  if .NOT. 1
$  then
$    echo "Found 64 bit OpenVMS ''vms_ver' -- will build with V7.3-2 UID setting routines"
$    d_seteuid = "define"
$    d_setpgid = "define"
$    d_setpgrp = "define"
$    d_setregid = "define"
$    d_setreuid = "define"
$    d_setsid = "define"
$  endif
$!
$! VMS V8 powered options
$! We know that it is only available for 8.2 and later on 64 bit platforms.
$!
$  d_fstatvfs = "undef"
$  d_statvfs = "undef"
$  i_sysstatvfs = "undef"
$  if (vms_ver .GES. "8.2")
$  then
$    echo "Found 64 bit OpenVMS ''vms_ver' -- will build with 8.2 routines"
$    d_fstatvfs = "define"
$    d_statvfs = "define"
$    i_sysstatvfs = "define"
$  endif
$!
$! Check rand48 and its ilk
$!
$ echo4 "Using our internal random number implementation..."

configure.com  view on Meta::CPAN

$ WC "uvuformat='" + uvuformat + "'"
$ WC "uvxformat='" + uvxformat + "'"
$ WC "uvXUformat='" + uvXUformat + "'"
$ WC "vendorarch='" + "'"
$ WC "vendorarchexp='" + "'"
$ WC "vendorbin='" + "'"
$ WC "vendorbinexp='" + "'"
$ WC "vendorlib_stem='" + "'"
$ WC "vendorlib='" + "'"
$ WC "vendorlibexp='" + "'"
$ WC "vendorprefix='" + "'"
$ WC "vendorprefixexp='" + "'"
$ WC "version='" + version + "'"
$ WC "version_patchlevel_string='" + version_patchlevel_string + "'"
$ WC "vms_cc_type='" + vms_cc_type + "'" ! VMS specific
$ WC "vms_prefix='" + vms_prefix + "'" ! VMS specific
$ WC "vms_ver='" + vms_ver + "'" ! VMS specific
$!
$! ## The UNIXy POSIXy reentrantey thingys ##
$! See "Appendix B, Version-Dependency Tables" in the C RTL
$! manual for when assorted _r functions became available.
$!
$ IF use_threads
$ THEN
$   WC "asctime_r_proto='REENTRANT_PROTO_B_SB'"
$   WC "d_asctime_r='define'"
$   WC "ctime_r_proto='REENTRANT_PROTO_B_SB'"
$   WC "d_ctime_r='define'"
$ ELSE
$   WC "asctime_r_proto='0'"
$   WC "d_asctime_r='undef'"
$   WC "ctime_r_proto='0'"
$   WC "d_ctime_r='undef'"
$ ENDIF
$ WC "d_crypt_r='undef'"
$ WC "d_ctermid_r='undef'"
$ WC "d_drand48_r='undef'"
$ WC "d_endgrent_r='undef'"
$ WC "d_endhostent_r='undef'"
$ WC "d_endnetent_r='undef'"
$ WC "d_endprotoent_r='undef'"
$ WC "d_endpwent_r='undef'"
$ WC "d_endservent_r='undef'"
$ WC "d_freelocale='undef'"
$ WC "d_gai_strerror='define'"
$ WC "d_getgrent_r='undef'"
$ WC "d_getgrgid_r='" + d_getgrgid_r + "'"
$ WC "d_getgrnam_r='" + d_getgrnam_r + "'"
$ WC "d_gethostbyaddr_r='undef'"
$ WC "d_gethostbyname_r='undef'"
$ WC "d_gethostent_r='undef'"
$ WC "d_getlogin_r='define'"
$ WC "d_getnetbyaddr_r='undef'"
$ WC "d_getnetbyname_r='undef'"
$ WC "d_getnetent_r='undef'"
$ WC "d_getprotobyname_r='undef'"
$ WC "d_getprotobynumber_r='undef'"
$ WC "d_getprotoent_r='undef'"
$ WC "d_getpwent_r='undef'"
$ WC "d_getpwnam_r='" + d_getpwnam_r + "'"
$ WC "d_getpwuid_r='" + d_getpwuid_r + "'"
$ WC "d_getservbyname_r='undef'"
$ WC "d_getservbyport_r='undef'"
$ WC "d_getservent_r='undef'"
$ WC "d_getspnam_r='undef'"
$ WC "d_gmtime_r='undef'"      ! leave undef'd; we use my_gmtime
$ WC "d_lgamma_r='undef'"
$ WC "d_localtime_r='undef'"   ! leave undef'd; we use my_localtime
$ WC "d_localtime_r_needs_tzset='undef'"
$ WC "d_newlocale='undef'"
$ WC "d_querylocale='undef'"
$ WC "d_random_r='undef'"
$ WC "d_readdir_r='define'"	! always defined; we roll our own
$ WC "d_readdir64_r='undef'"
$ WC "d_setgrent_r='undef'"
$ WC "d_sethostent_r='undef'"
$ WC "d_setlocale_r='undef'"
$ WC "d_setnetent_r='undef'"
$ WC "d_setprotoent_r='undef'"
$ WC "d_setpwent_r='undef'"
$ WC "d_setservent_r='undef'"
$ WC "d_snprintf='" + d_snprintf + "'"
$ WC "d_srand48_r='undef'"
$ WC "d_srandom_r='undef'"
$ WC "d_strerror_l='undef'"
$ WC "d_strerror_r='undef'"
$ WC "d_tmpnam_r='undef'"
$ WC "d_towlower='define'"
$ WC "d_towupper='define'"
$ WC "d_ttyname_r='" + d_ttyname_r + "'"
$ WC "d_uselocale='undef'"
$ WC "ctermid_r_proto='0'"
$ WC "crypt_r_proto='0'"
$ WC "drand48_r_proto='0'"
$ WC "endgrent_r_proto='0'"
$ WC "endhostent_r_proto='0'"
$ WC "endnetent_r_proto='0'"
$ WC "endprotoent_r_proto='0'"
$ WC "endpwent_r_proto='0'"
$ WC "endservent_r_proto='0'"
$ WC "getgrent_r_proto='0'"
$ WC "getgrgid_r_proto='" + getgrgid_r_proto + "'"
$ WC "getgrnam_r_proto='" + getgrnam_r_proto + "'"
$ WC "gethostbyaddr_r_proto='0'"
$ WC "gethostbyname_r_proto='0'"
$ WC "gethostent_r_proto='0'"
$ IF use_threads
$ THEN
$   WC "getlogin_r_proto='REENTRANT_PROTO_I_BW'"
$ ELSE
$   WC "getlogin_r_proto='0'"
$ ENDIF
$ WC "getnetbyaddr_r_proto='0'"
$ WC "getnetbyname_r_proto='0'"
$ WC "getnetent_r_proto='0'"
$ WC "getprotobyname_r_proto='0'"
$ WC "getprotobynumber_r_proto='0'"
$ WC "getprotoent_r_proto='0'"
$ WC "getpwent_r_proto='0'"
$ WC "getpwnam_r_proto='0'"
$ WC "getpwuid_r_proto='0'"
$ WC "getservbyname_r_proto='0'"
$ WC "getservbyport_r_proto='0'"
$ WC "getservent_r_proto='0'"
$ WC "getspnam_r_proto='0'"
$ WC "gmtime_r_proto='0'"
$ WC "localtime_r_proto='0'"
$ WC "random_r_proto='0'"
$ WC "readdir_r_proto='REENTRANT_PROTO_I_TSR'"  ! always defined; we roll our own
$ WC "readdir64_r_proto='0'"
$ WC "setgrent_r_proto='0'"
$ WC "sethostent_r_proto='0'"
$ WC "setlocale_r_proto='0'"
$ WC "setnetent_r_proto='0'"
$ WC "setprotoent_r_proto='0'"
$ WC "setpwent_r_proto='0'"
$ WC "setservent_r_proto='0'"
$ WC "srand48_r_proto='0'"
$ WC "srandom_r_proto='0'"
$ WC "strerror_r_proto='0'"
$ WC "tmpnam_r_proto='0'"
$ WC "ttyname_r_proto='" + ttyname_r_proto + "'"
$!
$! ##END WRITE NEW CONSTANTS HERE##
$!
$ CLOSE CONFIG
$!
$! Okay, we've gotten here. Build munchconfig.exe
$ COPY/NOLOG [-.vms]munchconfig.c []
$ COPY/NOLOG [-.vms]'Makefile_SH' []
$ 'Perl_CC' 'ccflags' munchconfig.c
$ 'ld'/EXE='exe_ext' munchconfig'obj_ext'
$ IF F$SEARCH("munchconfig''obj_ext'") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig'obj_ext';
$ IF F$SEARCH("munchconfig.c") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig.c;
$ IF ccname .EQS. "CXX"
$ THEN
$   CALL Cxx_demangler_cleanup
$ ENDIF
$!
$ IF alldone .EQS. ""
$ THEN
$   cat4 SYS$INPUT:
$   DECK

If you'd like to make any changes to the config.sh file before I begin
to configure things, answer yes to the following question.

$   EOD
$   bool_dflt="n"
$   rp="Do you wish to edit ''basename_config_sh'? [''bool_dflt'] "
$   GOSUB myread
$   IF ans
$   THEN
$     echo4 ""
$     echo4 "Be sure to type LOGOUT after you have edited the file,"
$     echo4 "then this procedure will resume."
$     echo4 ""
$     default = F$ENVIRONMENT("DEFAULT")
$     DIRECTORY 'config_sh'
$     SET DEFAULT [-]
$     SPAWN/WAIT



( run in 0.519 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )