This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Another small patch for Sys::Syslog
[perl5.git] / configure.com
index de59a89..e0b26e3 100644 (file)
@@ -49,9 +49,9 @@ $ builder = "MMK"
 $ use_vmsdebug_perl = "n"
 $ use64bitall = "n"
 $ use64bitint = "n"
-$ uselargefiles = "n"
+$ uselongdouble = "n"
+$ uselargefiles = "y"
 $ usestdstat = "n"
-$ usedecterm = "n"
 $ usesitecustomize = "n"
 $ C_Compiler_Replace = "CC="
 $ thread_upcalls = "MTU="
@@ -869,7 +869,7 @@ $!
 $!: Try to determine whether config.sh was made on this system
 $!: Get old answers from old config file if Configure was run on the
 $!: same system, otherwise use the hints.
-$ config_sh_es = "''config_sh'/[-]config.sh/[-.vms]config.vms/"
+$ config_sh_es = "''config_sh'/[-]config.sh/"
 $ i = 0
 $ max = 3
 $Config_sh_look:
@@ -881,7 +881,6 @@ $   configshfound = F$SEARCH(config_sh)
 $   IF (configshfound.NES."") THEN GOTO Config_sh_found
 $ ENDIF
 $ IF (i.LT.max) THEN GOTO Config_sh_look
-$! genconfig.pl has "osname='VMS'"
 $ osname = F$EDIT(F$GETSYI("NODE_SWTYPE"),"COLLAPSE")
 $ IF (configshfound.EQS."")
 $ THEN
@@ -906,8 +905,8 @@ $   config_symbols0 ="|archlib|archlibexp|bin|binexp|builddir|cf_email|config_sh
 $   config_symbols1 ="|installprivlib|installscript|installsitearch|installsitelib|most|oldarchlib|oldarchlibexp|osname|pager|perl_symbol|perl_verb|"
 $   config_symbols2 ="|prefix|privlib|privlibexp|scriptdir|sitearch|sitearchexp|sitebin|sitelib|sitelib_stem|sitelibexp|try_cxx|use64bitall|use64bitint|"
 $   config_symbols3 ="|usecasesensitive|usedefaulttypes|usedevel|useieee|useithreads|uselongdouble|usemultiplicity|usemymalloc|usedebugging_perl|"
-$   config_symbols4 ="|useperlio|usesecurelog||usethreads|usevmsdebug|usefaststdio|usemallocwrap|unlink_all_versions|uselargefiles|usesitecustomize|"
-$   config_symbols5 ="|buildmake|builder|usethreadupcalls|usekernelthreads|usedecterm"
+$   config_symbols4 ="|useperlio|usesecurelog|usethreads|usevmsdebug|usefaststdio|usemallocwrap|unlink_all_versions|uselargefiles|usesitecustomize|"
+$   config_symbols5 ="|buildmake|builder|usethreadupcalls|usekernelthread"
 $!  
 $   open/read CONFIG 'config_sh'
 $   rd_conf_loop:
@@ -1127,7 +1126,6 @@ $ tz = f$fao("UTC!AS!UL:!2ZL",signothetime,tzhour,tzminrem)
 $ cf_time = "''wkday' ''mon' ''mday' ''hour':''min':''sec' ''tz' ''year'"
 $!
 $!: determine the architecture name  
-$! genconfig.pl has either archname='VMS_AXP' or 'VMS_VAX'
 $! Note that DCL in VMS V5.4 does not have F$GETSYI("ARCH_NAME")
 $! but does have F$GETSYI("HW_MODEL").
 $! Please try to use either archname .EQS. "VMS_VAX" or archname .EQS. 
@@ -1373,6 +1371,20 @@ $     perl_patchlevel = F$ELEMENT(1,"""",line)
 $     perl_patchlevel = perl_patchlevel - "DEVEL"
 $     got_perl_patchlevel = "true"
 $   ENDIF
+$   IF ((F$LOCATE("""SMOKE",line).NE.F$LENGTH(line)).AND.(.NOT.got_perl_patchlevel))
+$   THEN
+$     line = F$EDIT(line,"COMPRESS, TRIM")
+$     perl_patchlevel = F$ELEMENT(1,"""",line)
+$     perl_patchlevel = perl_patchlevel - "SMOKE"
+$     got_perl_patchlevel = "true"
+$   ENDIF
+$   IF ((F$LOCATE("""MAINT",line).NE.F$LENGTH(line)).AND.(.NOT.got_perl_patchlevel))
+$   THEN
+$     line = F$EDIT(line,"COMPRESS, TRIM")
+$     perl_patchlevel = F$ELEMENT(1,"""",line)
+$     perl_patchlevel = perl_patchlevel - "MAINT"
+$     got_perl_patchlevel = "true"
+$   ENDIF
 $   IF (.NOT. got_patch) .OR. -
        (.NOT. got_sub) .OR. - 
        (.NOT. got_api_revision) .OR. -
@@ -2084,7 +2096,7 @@ $Include_dirs:
 $!: What should the include directory be ? (.TLB text libraries)
 $ dflt = gcclib_olb 
 $ rp = "Where are the include files you want to use? "
-$ IF f$length( rp + "[''dflt'] " ).gt.76
+$ IF f$length( rp + "[''dflt'] " ) .GT. 76
 $ THEN rp = F$FAO("!AS!/!AS",rp,"[''dflt'] ")
 $ ELSE rp = rp + "[''dflt'] "
 $ ENDIF
@@ -2477,7 +2489,7 @@ $     IF (archname .NES. "VMS_VAX") .AND. ("''f$extract(1,3, f$getsyi(""version"
 $          THEN
 $              echo ""
 $              echo "Threaded Perl can be linked to use multiple kernel threads on your system."
-$              echo "This feature allows multiple user threads to make use of multiple CPUs on
+$              echo "This feature allows multiple user threads to make use of multiple CPUs on"
 $              echo "a multi-processor machine."
 $              bool_dflt = "n"
 $              IF f$type(usekernelthreads) .nes. ""
@@ -2490,6 +2502,7 @@ $         IF ans
 $              THEN
 $                  thread_kernel = "MTK=MTK=1"
 $                  usekernelthreads = "define"
+$              ENDIF
 $           ENDIF
 $       ENDIF
 $     ENDIF
@@ -2522,8 +2535,8 @@ $   GOSUB myread
 $   be_case_sensitive = ans
 $! IEEE math?
 $   echo ""
-$   echo "Perl normally uses IEEE format (T_FLOAT) floating point numbers"
-$   echo "internally on Alpha, but if you need G_FLOAT for binary compatibility"
+$   echo "Perl normally uses IEEE format (T_FLOAT) floating point numbers on"
+$   echo "Alpha and Itanium, but if you need G_FLOAT for binary compatibility"
 $   echo "with an external library or existing data, you may wish to disable"
 $   echo "the IEEE math option."
 $   bool_dflt = use_ieee_math
@@ -2572,44 +2585,6 @@ $ ELSE
 $     d_unlink_all_versions = "undef"
 $ ENDIF
 $!
-$! To avoid 'SYSTEM-F-PROTINSTALL, protected images must be installed'
-$! at run time, we must check that the DECterm image is both present
-$! and installed as a known image.
-$!
-$ decterm_capable = "FALSE"
-$ dflt = "SYS$SHARE:DECW$TERMINALSHR12.EXE"
-$ IF F$SEARCH(dflt) .NES. "" 
-$ THEN 
-$    decterm_capable = F$FILE_ATTRIBUTES(dflt, "KNOWN")
-$ ELSE
-$     dflt = "SYS$SHARE:DECW$TERMINALSHR.EXE"
-$     IF F$SEARCH(dflt) .NES. "" THEN decterm_capable = F$FILE_ATTRIBUTES(dflt, "KNOWN")
-$ ENDIF
-$!
-$ IF F$TYPE(usedecterm) .NES. ""
-$ THEN
-$       if usedecterm .or. usedecterm .eqs. "define"
-$       then
-$         bool_dflt="y"
-$       else
-$         bool_dflt="n"
-$       endif
-$ ELSE
-$       bool_dflt="n"
-$ ENDIF
-$ IF .NOT. use_debugging_perl THEN bool_dflt = "n"
-$ echo ""
-$ echo "Perl can be built to support DECterms from the Perl debugger"
-$ echo ""
-$ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'."
-$ rp = "Build with DECterm Perl debugger support, if available? [''bool_dflt'] "
-$ GOSUB myread
-$ usedecterm=ans
-$ IF (usedecterm .OR. usedecterm .EQS. "define") .AND. .NOT. decterm_capable
-$ THEN
-$     echo4 "No installed DECterm image found, disabling..."
-$     usedecterm = "n"
-$ ENDIF
 $! CC Flags
 $ echo ""
 $ echo "Your compiler may want other flags.  For this question you should include"
@@ -2746,7 +2721,6 @@ $   IF xxx .EQS. "DynaLoader" THEN goto ext_loop     ! omit
 $   IF xxx .EQS. "SDBM_File/sdbm" THEN goto ext_loop ! sub extension - omit
 $   IF xxx .EQS. "Devel/PPPort/harness" THEN goto ext_loop ! sub extension - omit
 $   IF F$EXTRACT(0,7,xxx) .EQS. "Encode/" THEN goto ext_loop  ! sub extension - omit
-$   IF F$EXTRACT(0,5,xxx) .EQS. "Win32" THEN goto ext_loop  ! no Win32 API here
 $   IF xxx .EQS. "B/C" THEN goto ext_loop  ! sub extension - omit
 $   IF F$EXTRACT(0,8,line) .EQS. "vms/ext/" THEN -
       xxx = "VMS/" + F$EXTRACT(8,line_len - 20,line)
@@ -2772,7 +2746,14 @@ $ IF .NOT. Has_socketshr .AND. .NOT. Has_Dec_C_Sockets
 $ THEN
 $   dflt = dflt - "Socket"            ! optional on VMS
 $ ENDIF
-$ IF .NOT. use_threads  THEN dflt = dflt - "Thread"
+$ ! Build this one only for threads without ithreads
+$ IF F$TYPE(useithreads) .EQS. "" .OR. .NOT. use_threads
+$ THEN
+$   dflt = dflt - "Thread"
+$ ELSE
+$   IF useithreads .OR. useithreads .EQS. "define" THEN dflt = dflt - "Thread"
+$ ENDIF
+$ dflt = dflt - "Win32API/File" - "Win32CORE" - "Win32"  ! need Dave Cutler's other project
 $ dflt = F$EDIT(dflt,"TRIM,COMPRESS")
 $!
 $! Ask for their default list of extensions to build
@@ -2921,8 +2902,6 @@ $ rp="What pager is used on your system? [''dflt'] "
 $ GOSUB myread
 $ pager = ans
 $!
-$! update [.vms]config.vms here
-$!
 $! update makefile here
 $! echo4 "Updating makefile..."
 $!
@@ -2950,6 +2929,11 @@ $!
 $ IF use_ieee_math
 $ THEN
 $   extra_flags = "''extra_flags'" + "/float=ieee/ieee=denorm"
+$ ELSE
+$   IF (archname.EQS."VMS_IA64")
+$   THEN
+$     extra_flags = "''extra_flags'" + "/float=g_float"
+$   ENDIF
 $ ENDIF
 $ IF be_case_sensitive
 $ THEN
@@ -4022,7 +4006,7 @@ $   WS "int main() {"
 $   WS "#if defined(F_SETLK) && defined(F_SETLKW)"
 $   WS "     struct flock flock;"
 $   WS "     int retval, fd;"
-$   WS "     fd = open(""try.c"", O_RDONLY);"
+$   WS "     fd = open(""[-]perl.c"", O_RDONLY);"
 $   WS "     flock.l_type = F_RDLCK;"
 $   WS "     flock.l_whence = SEEK_SET;"
 $   WS "     flock.l_start = flock.l_len = 0;"
@@ -4945,10 +4929,10 @@ $  ENDIF
 $!
 $  IF uselargefiles .OR. uselargefiles .eqs. "define"
 $  THEN
-$    echo4 "Largefile support enabled (plus standard stat support on V8.2 and later)"
-$    usestdstat = "y"
 $    IF (vms_ver .GES. "8.2") .AND. (archname .NES. "VMS_VAX")
 $    THEN
+$      echo4 "Largefile support enabled, so enabling standard stat support too."
+$      usestdstat = "y"
 $      echo4 -
    "Looking for the realpath() function to indicate symbolic link support..."
 $      OS
@@ -5627,7 +5611,7 @@ $!
 $!     Use the same list of signals the CRTL does for recent systems, but cook our own for very old systems.
 $!     Note that the list controls what signals can be caught by name as well as what can be raised via kill().
 $!
-$       if  vms_ver .LT. "6.2"
+$       if  vms_ver .LTS. "6.2"
 $      then
 $!          since SIGBUS and SIGSEGV indistinguishable, make them the same here.
 $           sig_name="ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM ABRT"
@@ -5699,6 +5683,7 @@ $ WC "PERL_API_REVISION='" + api_revision + "'"
 $ WC "PERL_API_VERSION='" + api_version + "'" 
 $ WC "PERL_API_SUBVERSION='" + api_subversion + "'"
 $ WC "PERL_PATCHLEVEL='" + perl_patchlevel + "'"
+$ WC "perl_patchlevel='" + perl_patchlevel + "'"
 $ WC "PERL_CONFIG_SH='true'"
 $ WC "_a='" + lib_ext + "'"
 $ WC "_exe='" + exe_ext + "'"
@@ -6387,7 +6372,6 @@ $ WC "selecttype='" + selecttype + "'"
 $ WC "sh='MCR'"
 $ WC "shmattype='" + " '"
 $ WC "shortsize='" + shortsize + "'"
-$ WC "shrplib='define'"
 $ IF (f$length(sig_name) .GE. 244)
 $ THEN
 $     tmp = "sig_name='" + sig_name + "'"
@@ -6471,6 +6455,7 @@ $ WC "useposix='false'"
 $ WC "usereentrant='undef'"
 $ WC "userelocatableinc='undef'"
 $ WC "usesecurelog='" + usesecurelog + "'"  ! VMS-specific
+$ WC "useshrplib='true'"
 $ WC "usesitecustomize='" + usesitecustomize + "'"
 $ WC "usesocks='undef'"
 $ WC "usethreads='" + usethreads + "'"
@@ -6618,7 +6603,7 @@ $!
 $! Okay, we've gotten here. Build munchconfig.exe
 $ COPY/NOLOG [-.vms]munchconfig.c []
 $ COPY/NOLOG [-.vms]'Makefile_SH' []
-$ 'Perl_CC' munchconfig.c
+$ 'Perl_CC' 'ccflags' munchconfig.c
 $ IF Needs_Opt
 $ THEN
 $   OPEN/WRITE CONFIG []munchconfig.opt
@@ -6704,6 +6689,7 @@ $ ENDIF
 $ IF use64bitall .OR. use64bitall .EQS. "define" THEN -
     WC "#define USE_64_BIT_ALL"
 $ IF be_case_sensitive THEN WC "#define VMS_WE_ARE_CASE_SENSITIVE"
+$ IF use_ieee_math THEN WC "#define USE_IEEE"
 $ IF d_herrno .EQS. "undef" THEN WC "#define NEED_AN_H_ERRNO"
 $ WC "#define HAS_ENVGETENV"
 $ WC "#define PERL_EXTERNAL_GLOB"
@@ -6715,7 +6701,6 @@ $! Alas this does not help to build Fcntl
 $!   WC "#define PERL_IGNORE_FPUSIG SIGFPE"
 $ ENDIF
 $ IF kill_by_sigprc .EQS. "define" then WC "#define KILL_BY_SIGPRC"
-$ IF usedecterm .OR. usedecterm .EQS. "define" then WC "#define USE_VMS_DECTERM"
 $ IF unlink_all_versions .OR. unlink_all_versions .EQS. "define" THEN -
     WC "#define UNLINK_ALL_VERSIONS"
 $ CLOSE CONFIG
@@ -6790,17 +6775,6 @@ $   ENDIF
 $ ELSE
 $   LARGEFILE_REPLACE = "LARGEFILE="
 $ ENDIF
-$ IF usedecterm .OR. usedecterm .EQS. "define"
-$ THEN
-$   IF F$SEARCH("SYS$SHARE:DECW$TERMINALSHR12.EXE") .nes. ""
-$   THEN
-$      DECTERM_REPLACE = "DECTERMLIB=DECTERMLIB=DECW$TERMINALSHR12/SHARE"
-$   ELSE
-$      DECTERM_REPLACE = "DECTERMLIB=DECTERMLIB=DECW$TERMINALSHR/SHARE"
-$   ENDIF
-$ ELSE
-$   DECTERM_REPLACE = "DECTERMLIB=DECTERMLIB="
-$ ENDIF
 $!
 $! In order not to stress the tiny command buffer on pre-7.3-2 systems,
 $! we put the following substitutions in a file and pass the file to
@@ -6821,7 +6795,6 @@ $ WC "''THREAD_KERNEL'"
 $ WC "PV=''version'"
 $ WC "FLAGS=FLAGS=''extra_flags'"
 $ WC "''LARGEFILE_REPLACE'"
-$ WC "''DECTERM_REPLACE'"
 $ close CONFIG
 $!
 $ echo4 "Extracting ''defmakefile' (with variable substitutions)"
@@ -6838,7 +6811,7 @@ $!++ make_ext.com
 $!   NOTE: This file is extracted as part of the VMS configuration process.
 $!   Any changes made to it directly will be lost.  If you need to make any
 $!   changes, please edit the template in Configure.Com instead.
-$    def = F$Environment("Default")
+$    mydefault = F$Environment("Default")
 $!   p1 - how to invoke miniperl (passed in from descrip.mms)
 $    p1 = F$Edit(p1,"Upcase,Compress,Trim")
 $    If F$Locate("MCR ",p1).eq.0 Then p1 = F$Extract(3,255,p1)
@@ -6896,11 +6869,11 @@ $    If redesc Then -
        miniperl "-I[''up'.lib]" Makefile.PL "INST_LIB=[''up'.lib]" "INST_ARCHLIB=[''up'.lib]"  "PERL_CORE=1"
 $    makeutil 'targ'
 $    i = i + 1
-$    Set Def &def
+$    Set Def &mydefault
 $    Goto next_ext
 $ done:
 $    sts = $Status
-$    Set Def &def
+$    Set Def &mydefault
 $    Exit sts
 $!-- make_ext.com
 $EndOfTpl$
@@ -7121,10 +7094,16 @@ $ ELSE    !leave in but commented out (in case setting was from perl :-)
 $ WRITE CONFIG "$! define SYS$TIMEZONE_DIFFERENTIAL ''tzd'"
 $ ENDIF
 $ WRITE CONFIG "$!"
-$ WRITE CONFIG "$! Symbols for commonly used programs:"
+$ WRITE CONFIG "$! Symbols for Perl-based utility programs:"
 $ WRITE CONFIG "$!"
 $ WRITE CONFIG "$ c2ph       == """ + perl_setup_perl + " ''vms_prefix':[utils]c2ph.com"""
+$ WRITE CONFIG "$ config_data== """ + perl_setup_perl + " ''vms_prefix':[utils]config_data.com"""
+$ WRITE CONFIG "$ corelist   == """ + perl_setup_perl + " ''vms_prefix':[utils]corelist.com"""
 $ WRITE CONFIG "$ cpan       == """ + perl_setup_perl + " ''vms_prefix':[utils]cpan.com"""
+$ WRITE CONFIG "$ cpan2dist  == """ + perl_setup_perl + " ''vms_prefix':[utils]cpan2dist.com"""
+$! FIXME: "-" is an operator and illegal in a symbol name -- cpanp-run-perl can't work
+$!$ WRITE CONFIG "$ cpanp-run-perl == """ + perl_setup_perl + " ''vms_prefix':[utils]cpanp-run-perl.com"""
+$ WRITE CONFIG "$ cpanp      == """ + perl_setup_perl + " ''vms_prefix':[utils]cpanp.com"""
 $ IF F$LOCATE("Devel::DProf",extensions) .LT. F$LENGTH(extensions)
 $ THEN
 $ WRITE CONFIG "$ dprofpp    == """ + perl_setup_perl + " ''vms_prefix':[utils]dprofpp.com"""
@@ -7151,6 +7130,9 @@ $ WRITE CONFIG "$ prove      == """ + perl_setup_perl + " ''vms_prefix':[utils]p
 $ WRITE CONFIG "$ psed       == """ + perl_setup_perl + " ''vms_prefix':[utils]psed.com"""
 $ WRITE CONFIG "$ pstruct    == """ + perl_setup_perl + " ''vms_prefix':[utils]pstruct.com"""
 $ WRITE CONFIG "$ s2p        == """ + perl_setup_perl + " ''vms_prefix':[utils]s2p.com"""
+$ WRITE CONFIG "$ ptar       == """ + perl_setup_perl + " ''vms_prefix':[utils]ptar.com"""
+$ WRITE CONFIG "$ ptardiff   == """ + perl_setup_perl + " ''vms_prefix':[utils]ptardiff.com"""
+$ WRITE CONFIG "$ shasum     == """ + perl_setup_perl + " ''vms_prefix':[utils]shasum.com"""
 $ WRITE CONFIG "$ splain     == """ + perl_setup_perl + " ''vms_prefix':[utils]splain.com"""
 $ WRITE CONFIG "$ xsubpp     == """ + perl_setup_perl + " ''vms_prefix':[utils]xsubpp.com"""
 $ CLOSE CONFIG