summaryrefslogtreecommitdiff
path: root/vms/descrip_mms.template
diff options
context:
space:
mode:
Diffstat (limited to 'vms/descrip_mms.template')
-rw-r--r--vms/descrip_mms.template70
1 files changed, 30 insertions, 40 deletions
diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template
index e27fbebec5..1cf96bada5 100644
--- a/vms/descrip_mms.template
+++ b/vms/descrip_mms.template
@@ -10,31 +10,6 @@
#:
#: Lines beginning with "#:" will be removed by mms2make.pl when converting
#: this file to MAKE syntax.
-#:
-#: Usage:
-#: Building with VAX C, on system without DEC C installed or with VAX C default:
-#: $ MMS
-#: Building with VAX C, on system with DEC C installed as default C compiler:
-#: $ MMS /MACRO=("cc=CC/VAXC")
-#: Building with DEC C, on system without VAX C installed or with DEC C default:
-#: $ MMS /MACRO=("decc=1")
-#: Building with DEC C, on system with VAX C installed as default C compiler:
-#: $ MMS /MACRO=("decc=1","cc=CC/DECC")
-#: Building with GNU C
-#: $ MMS /MACRO=("gnuc=1")
-#: To each of the above, add /Macro="__AXP__=1" if building on an AXP,
-#: /Macro="__DEBUG__=1" to build a debug version
-#: (i.e. VMS debugger, not perl -D), and
-#: /Macro="SOCKETSHR_SOCKETS=1" to include
-#: SOCKETSHR socket support.
-#: /Macro="DECC_SOCKETS=1" to include UCX (or
-#: compatible) socket support
-#: /Macro="OLDTHREADED=1" to compile with the old
-#: pthreads API (VMS version 6.2 and previous)
-#: /Macro="THREADED=1" to compile with full POSIX
-#: threads. (VMS 7.0 and above)
-#: /Macro="FAKETHREADED=1" to compile with the
-#: fake threads package
#
# tidy -- purge files generated by executing this file
# clean -- remove all intermediate (e.g. object files, C files generated
@@ -52,6 +27,9 @@
~ARCH-TYPE~ = 1
~THREAD~
~SOCKET~
+~MALLOC~
+~CC~
+~MT~
#: >>>>> Architecture-specific options <<<<<
.ifdef AXE
@@ -71,7 +49,6 @@ E = .exe
.endif
.ifdef __AXP__
-DECC = 1
ARCH = VMS_AXP
OBJVAL = $(O)
.else
@@ -79,9 +56,13 @@ ARCH = VMS_VAX
OBJVAL = $(MMS$TARGET_NAME)$(O)
.endif
-# Updated by fndvers.com -- do not edit by hand
PERL_VERSION = 5_00$PATCHLEVEL$SUBVERSION
+.ifdef MALLOC
+MALLOC_O = ,malloc$(O)
+MALLOC_C = ,malloc$(C)
+.endif
+
.ifdef DECC_SOCKETS
SOCKET=1
.endif
@@ -127,7 +108,7 @@ PIPES_BROKEN = 1
# (fixed in gcc 2.6.3)
XTRACCFLAGS = /Obj=$(MMS$TARGET_NAME)$(O)/NoCase_Hack/Optimize=2
DBGSPECFLAGS =
-XTRADEF = ,GNUC_ATTRIBUTE_CHECK
+XTRADEF =
XTRAOBJS =
LIBS1 = GNU_CC:[000000]GCCLIB.OLB/Library
LIBS2 = Sys$Share:VAXCRTL/Shareable
@@ -151,7 +132,6 @@ DBGSPECFLAGS = /Show=All
@ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then Define/NoLog SYS DECC$Library_Include
.endif
-LIBS2 =
XTRACCFLAGS = /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=$(OBJVAL)
XTRADEF =
POSIX = POSIX
@@ -185,10 +165,10 @@ DBG =
#: for information on changing socket support
.ifdef SOCKET
.ifdef DECC_SOCKETS
-SOCKDEF = ,VMS_DO_SOCKETS,DECCRTL_SOCKETS
+SOCKDEF =
SOCKLIB =
.else
-SOCKDEF = ,VMS_DO_SOCKETS
+SOCKDEF =
SOCKLIB = SocketShr/Share
.endif
# N.B. the targets for $(SOCKC) and $(SOCKH) assume that the permanent
@@ -211,24 +191,26 @@ SOCKOBJ =
SOCKPM =
.endif
-THREAD =
-
.ifdef THREADED
THREADDEF =
THREAD = THREAD
.endif
.ifdef OLDTHREADED
-THREADDEF = ,OLD_PTHREADS_API
+THREADDEF =
THREAD = THREAD
+.ifdef LIBS2
+LIBS2 = $(LIBS2),sys$share:cma$lib_shr/share,cma$rtl/share
+.else
LIBS2 = sys$share:cma$lib_shr/share,cma$rtl/share
+.endif
.ifdef __AXP__
LIBS2 = $(LIBS2),sys$share:cma$open_lib_shr/share,cma$open_rtl/share
.endif
.endif
.ifdef FAKETHREADED
-THREADDEF = ,FAKE_THREADS
+THREADDEF =
THREADH = fakethr.h
acth = $(ARCHCORE)fakethr.h
THREAD = THREAD
@@ -238,7 +220,7 @@ acth =
.endif
# C preprocessor manifest "DEBUGGING" ==> perl -D, not the VMS debugger
-CFLAGS = /Define=(DEBUGGING$(SOCKDEF)$(XTRADEF)$(THREADDEF))$(XTRACCFLAGS)$(DBGCCFLAGS)
+CFLAGS = $(XTRACCFLAGS)$(DBGCCFLAGS)
LINKFLAGS = $(DBGLINKFLAGS)
MAKE = $(MMS)
@@ -273,6 +255,10 @@ EXT = $(MYEXT)
extobj = $(myextobj)
.endif
+.ifdef LIBS2
+.else
+LIBS2=
+.endif
#### End of system configuration section. ####
@@ -285,12 +271,12 @@ h5 = embedvar.h, intrpvar.h, perlvars.h, thrdvar.h, atomic.h
h = $(h1), $(h2), $(h3), $(h4), $(h5) $(SOCKHLIS) $(THREADH)
c1 = av.c, scope.c, op.c, doop.c, doio.c, dump.c, hv.c, mg.c, universal.c, perlio.c
-c2 = perl.c, perly.c, pp.c, pp_hot.c, pp_ctl.c, pp_sys.c, regcomp.c, regexec.c
+c2 = perl.c, perly.c, pp.c, pp_hot.c, pp_ctl.c, pp_sys.c, regcomp.c, regexec.c $(MALLOC_C)
c3 = gv.c, sv.c, taint.c, toke.c, util.c, deb.c, run.c, globals.c, vms.c, byterun.c $(SOCKCLIS)
c = $(c1), $(c2), $(c3), miniperlmain.c, perlmain.c, byteperl.c
-obj1 = perl$(O), gv$(O), toke$(O), perly$(O), op$(O), regcomp$(O), dump$(O), util$(O), mg$(O), perlio$(O)
+obj1 = perl$(O), gv$(O), toke$(O), perly$(O), op$(O), regcomp$(O), dump$(O), util$(O), mg$(O), perlio$(O) $(MALLOC_O)
obj2 = hv$(O), av$(O), run$(O), pp_hot$(O), sv$(O), pp$(O), scope$(O), pp_ctl$(O), pp_sys$(O)
obj3 = doop$(O), doio$(O), regexec$(O), taint$(O), deb$(O), universal$(O), globals$(O), vms$(O), byterun$(O) $(SOCKOBJ)
@@ -408,7 +394,11 @@ perl : $(DBG)perl$(E) $(DBG)byteperl$(E)
$(DBG)perl$(E) : perlmain$(O), $(DBG)perlshr$(E), $(MINIPERL_EXE)
@ @[.vms]genopt "PerlShr.Opt/Write" "|" "''F$Environment("Default")'$(DBG)PerlShr$(E)/Share"
+.ifdef MT
+ Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)/THREAD=(MULTI,UPCALL)
+.else
Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)
+.endif
$(DBG)byteperl$(E) : byteperl$(O), $(DBG)perlshr$(E), $(MINIPERL_EXE)
@ @[.vms]genopt "PerlShr.Opt/Write" "|" "''F$Environment("Default")'$(DBG)PerlShr$(E)/Share"
@@ -450,7 +440,7 @@ $(ARCHDIR)config.pm : [.lib]config.pm
[.lib]config.pm : config.h $(MINIPERL_EXE)
$(MINIPERL) ConfigPM.
-[.ext.dynaloader]dl_vms.c : $(ARCHDIR)Config.pm [.ext.dynaloader]dl_vms.xs [.lib.ExtUtils]XSSymSet.pm $(MINIPERL_EXE)
+[.ext.dynaloader]dl_vms.c : [.ext.dynaloader]dl_vms.xs $(ARCHDIR)Config.pm [.lib.ExtUtils]XSSymSet.pm $(MINIPERL_EXE)
$(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
[.ext.dynaloader]dl_vms$(O) : [.ext.dynaloader]dl_vms.c
@@ -461,7 +451,7 @@ $(ARCHDIR)config.pm : [.lib]config.pm
@ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
@ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]DynaLoader.pm
-[.ext.dynaloader]dynaloader.pm : [.ext.dynaloader]dynaloader.pm_pl
+[.ext.dynaloader]dynaloader.pm : [.ext.dynaloader]dynaloader_pm.pl
$(MINIPERL) $(MMS$SOURCE)
@ Rename/Log dynaloader.pm [.ext.dynaloader]