applied patch, tweaked wording
[p5sagit/p5-mst-13.2.git] / vms / descrip_mms.template
index e27fbeb..1cf96ba 100644 (file)
 #:
 #: 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]