summaryrefslogtreecommitdiff
path: root/vms
diff options
context:
space:
mode:
authorPeter Prymmer <PPrymmer@factset.com>2000-10-09 09:30:44 -0700
committerJarkko Hietaniemi <jhi@iki.fi>2000-10-09 23:47:15 +0000
commit7558ebc2b1c6863d2fe8d761786712bbac95f49f (patch)
treef825e9c8aae9a474ee8919e0fdbce520e28f50eb /vms
parent7bbb0251073a77c17bc1102da053cd50c26c0e81 (diff)
downloadperl-7558ebc2b1c6863d2fe8d761786712bbac95f49f.tar.gz
various VMS cleanup issues + CXX configure
Message-ID: <Pine.OSF.4.10.10010091625290.260786-100000@aspara.forte.com> p4raw-id: //depot/perl@7183
Diffstat (limited to 'vms')
-rw-r--r--vms/descrip_mms.template20
-rw-r--r--vms/vms.c4
-rw-r--r--vms/vmsish.h12
3 files changed, 27 insertions, 9 deletions
diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template
index 4a6b04df9f..c34be75e0a 100644
--- a/vms/descrip_mms.template
+++ b/vms/descrip_mms.template
@@ -22,6 +22,7 @@
#### Start of system configuration section. ####
~DECC~
+~DECCXX~
~GNUC~
~ARCH-TYPE~ = 1
~THREAD~
@@ -131,7 +132,11 @@ DBGSPECFLAGS = /Show=All
@ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then Define/NoLog SYS DECC$Library_Include
.endif
+.ifdef DECCXX
+XTRACCFLAGS = /Include=[]/Standard=ANSI/Prefix=All/Obj=$(OBJVAL)
+.else
XTRACCFLAGS = /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=$(OBJVAL)
+.endif
XTRADEF =
POSIX = POSIX
.endif
@@ -300,7 +305,11 @@ ac8 = $(ARCHCORE)perlapi.h $(ARCHCORE)perlio.h $(ARCHCORE)perlsdio.h
ac9 = $(ARCHCORE)perlvars.h $(ARCHCORE)perly.h $(ARCHCORE)pp.h
ac10 = $(ARCHCORE)pp_proto.h $(ARCHCORE)proto.h $(ARCHCORE)regcomp.h
ac11 = $(ARCHCORE)regexp.h $(ARCHCORE)regnodes.h $(ARCHCORE)scope.h
+.ifdef SOCKARCH
ac12 = $(ARCHCORE)sv.h $(ARCHCORE)thrdvar.h $(SOCKARCH)
+.else
+ac12 = $(ARCHCORE)sv.h $(ARCHCORE)thrdvar.h
+.endif
ac13 = $(ARCHCORE)thread.h $(ARCHCORE)utf8.h $(ARCHCORE)util.h
ac14 = $(ARCHCORE)vmsish.h $(ARCHCORE)warnings.h $(ARCHCORE)xsub.h
acopt = $(ARCHCORE)perlshr_attr.opt $(ARCHCORE)$(DBG)perlshr_bld.opt
@@ -486,7 +495,7 @@ $(ARCHDIR)vmspipe.com : vmspipe.com
@ Rename/Log xsloader.pm [.ext.dynaloader]
dynext : $(LIBPREREQ) $(DBG)perlshr$(E)
- @build_ext "$(dynamic_ext)" "$(MINIPERL_EXE)" "$(MMS)"
+ @make_ext "$(dynamic_ext)" "$(MINIPERL_EXE)" "$(MMS)"
[.lib]vmsish.pm : [.vms.ext]vmsish.pm
Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
@@ -891,6 +900,9 @@ perly$(O) : perly.c, perly.h, $(h)
[.t.lib]vmsish.t : [.vms.ext]vmsish.t
Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
+check : test
+ @ Continue
+
test : all [.t.lib]vmsfspec.t [.t.lib]vmsish.t
- @[.VMS]Test.Com "$(E)" "$(__DEBUG__)"
@ $(MINIPERL) -e "print ""Ran tests"";" > [.t]rantests.
@@ -1236,7 +1248,7 @@ tidy : cleanlis
- If F$Search("[.lib.pod]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib.pod]*.com
clean : tidy
- - @build_ext "$(dynamic_ext)" "$(MINIPERL_EXE)" "$(MMS)" clean
+ - @make_ext "$(dynamic_ext)" "$(MINIPERL_EXE)" "$(MMS)" clean
- If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*/Exclude=PerlShr_*.Opt
- If F$Search("[...]*$(O);*") .nes."" Then Delete/NoConfirm/Log [...]*$(O);*
- If F$Search(F$Parse("Sys$Disk:[]","$(SOCKH)")).nes."" Then Delete/NoConfirm/Log $(SOCKH);*
@@ -1261,14 +1273,14 @@ clean : tidy
- If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;*
realclean : clean
- - @build_ext "$(dynamic_ext)" "$(MINIPERL_EXE)" "$(MMS)" realclean
+ - @make_ext "$(dynamic_ext)" "$(MINIPERL_EXE)" "$(MMS)" realclean
- If F$Search("*$(OLB)").nes."" Then Delete/NoConfirm/Log *$(OLB);*
- If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*
- If F$Search("Config.H").nes."" Then Delete/NoConfirm/Log Config.H;*
- If F$Search("Config.SH").nes."" Then Delete/NoConfirm/Log Config.SH;*
- $(MINIPERL) -e "use File::Path; rmtree(\@ARGV,1,0);" config
- If F$Search("Descrip.MMS").nes."" Then Delete/NoConfirm/Log Descrip.MMS;*
- - If F$Search("Build_Ext.Com").nes."" Then Delete/NoConfirm/Log Build_Ext.Com;*
+ - If F$Search("make_ext.Com").nes."" Then Delete/NoConfirm/Log make_ext.Com;*
- $(MINIPERL) -e "use File::Path; rmtree(['lib/auto','lib/VMS','lib/$(ARCH)'],1,0);"
- If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;*
- If F$Search("[.Lib]DynaLoader.pm").nes."" Then Delete/NoConfirm/Log [.Lib]DynaLoader.pm;*
diff --git a/vms/vms.c b/vms/vms.c
index 4bf0841a54..8fe4f5f104 100644
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -3953,7 +3953,7 @@ vms_image_init(int *argcp, char ***argvp)
if (tabidx) { tabvec[tabidx] = NULL; env_tables = tabvec; }
getredirection(argcp,argvp);
-#if defined(USE_THREADS) && defined(__DECC)
+#if defined(USE_THREADS) && ( defined(__DECC) || defined(__DECCXX) )
{
# include <reentrancy.h>
(void) decc$set_reentrancy(C$C_MULTITHREAD);
@@ -5769,7 +5769,7 @@ int my_utime(char *file, struct utimbuf *utimes)
fnmdsc.dsc$w_length = mynam.nam$b_name + mynam.nam$b_type + mynam.nam$b_ver;
memset((void *) &myfib, 0, sizeof myfib);
-#ifdef __DECC
+#if defined(__DECC) || defined(__DECCXX)
for (i=0;i<3;i++) myfib.fib$w_fid[i] = mynam.nam$w_fid[i];
for (i=0;i<3;i++) myfib.fib$w_did[i] = mynam.nam$w_did[i];
/* This prevents the revision time of the file being reset to the current
diff --git a/vms/vmsish.h b/vms/vmsish.h
index 49e53e74e2..8d2a628894 100644
--- a/vms/vmsish.h
+++ b/vms/vmsish.h
@@ -22,6 +22,9 @@
#ifdef __DECC
# pragma message disable (ADDRCONSTEXT,NEEDCONSTEXT)
#endif
+#ifdef __DECCXX
+# pragma message disable (ADDRCONSTEXT,NEEDCONSTEXT)
+#endif
/* DEC's C compilers and gcc use incompatible definitions of _to(upp|low)er() */
#ifdef _toupper
@@ -34,7 +37,7 @@
#define _tolower(c) (((c) < 'A' || (c) > 'Z') ? (c) : (c) | 040)
/* DECC 1.3 has a funny definition of abs; it's fixed in DECC 4.0, so this
* can go away once DECC 1.3 isn't in use any more. */
-#if defined(__ALPHA) && defined(__DECC)
+#if defined(__ALPHA) && (defined(__DECC) || defined(__DECCXX))
#undef abs
#define abs(__x) __ABS(__x)
#undef labs
@@ -54,6 +57,9 @@
#if defined(__DECC) && defined(__DECC_VER) && __DECC_VER > 20000000
# include <unistd.h> /* DECC has this; VAXC and gcc don't */
#endif
+#ifdef __DECCXX
+# include <unistd.h> /* DECC has this; VAXC and gcc don't */
+#endif
/* VAXC doesn't have a unary plus operator, so we need to get there indirectly */
#if defined(VAXC) && !defined(__DECC)
@@ -473,7 +479,7 @@ struct utimbuf {
#define ENVgetenv_len(v,l) my_getenv_len(v,l,FALSE)
-/* Thin jacket around cuserid() tomatch Unix' calling sequence */
+/* Thin jacket around cuserid() to match Unix' calling sequence */
#define getlogin my_getlogin
/* Ditto for sys$hash_passwrod() . . . */
@@ -539,7 +545,7 @@ struct passwd {
* to map the unsigned int we want and the unsigned short[3] the CRTL
* returns into the same member, since gcc has different ideas than DECC
* and VAXC about sizing union types.
- * N.B 2. The routine cando() in vms.c assumes that &stat.st_ino is the
+ * N.B. 2. The routine cando() in vms.c assumes that &stat.st_ino is the
* address of a FID.
*/
/* First, grab the system types, so we don't clobber them later */