X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=vms%2Fdescrip.mms;h=47e192e9b007586a1da6c4410fea8b22ef618e74;hb=88bf70ddad663558df6e83dce8f369f639fc7dd6;hp=7ebdde4c2704a1fe1c149bf07616e8b89d1f5155;hpb=54310121b442974721115f93666234a200f5c7e4;p=p5sagit%2Fp5-mst-13.2.git diff --git a/vms/descrip.mms b/vms/descrip.mms index 7ebdde4..47e192e 100644 --- a/vms/descrip.mms +++ b/vms/descrip.mms @@ -24,7 +24,16 @@ #: 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="SOCKET=1" to include socket support. +#: /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 @@ -65,7 +74,26 @@ OBJVAL = $(MMS$TARGET_NAME)$(O) .endif # Updated by fndvers.com -- do not edit by hand -PERL_VERSION = 5_00396# +PERL_VERSION = 5_004 # + +.ifdef DECC_SOCKETS +SOCKET=1 +.endif + +.ifdef SOCKETSHR_SOCKETS +SOCKET=1 +.endif + +# If they defined SOCKET but didn't choose a stack, default to SOCKETSHR +.ifdef DECC_SOCKETS +.else +.ifdef SOCKETSHR_SOCKETS +.else +.ifdef SOCKET +SOCKETSHR_SOCKETS=1 +.endif +.endif +.endif ARCHDIR = [.lib.$(ARCH).$(PERL_VERSION)] @@ -78,6 +106,9 @@ ARCHAUTO = [.lib.$(ARCH).$(PERL_VERSION).auto] PIPES_BROKEN = 1 .endif +.ifdef __DEBUG__ +NOX2P = 1 +.endif #: >>>>>Compiler-specific options <<<<< .ifdef GNUC @@ -142,7 +173,7 @@ DBGLINKFLAGS = /Trace/Debug/Map/Full/Cross DBG = DBG .else DBGCCFLAGS = /NoList -DBGLINKFLAGS = /NoMap +DBGLINKFLAGS = /NoTrace/NoMap DBG = .endif @@ -150,8 +181,13 @@ DBG = #: By default, used SOCKETSHR library; see ReadMe.VMS #: for information on changing socket support .ifdef SOCKET +.ifdef DECC_SOCKETS +SOCKDEF = ,VMS_DO_SOCKETS,DECCRTL_SOCKETS +SOCKLIB = +.else SOCKDEF = ,VMS_DO_SOCKETS SOCKLIB = SocketShr/Share +.endif # N.B. the targets for $(SOCKC) and $(SOCKH) assume that the permanent # copies live in [.vms], and the `clean' target will delete copies of # these files in the current default directory. @@ -172,8 +208,33 @@ SOCKOBJ = SOCKPM = .endif +THREADH = +THREAD = + +.ifdef THREADED +THREADDEF = ,USE_THREADS,MULTIPLICITY +THREADH = thread.h +THREAD = THREAD +.endif + +.ifdef OLDTHREADED +THREADDEF = ,USE_THREADS,MULTIPLICITY,OLD_PTHREADS_API +THREADH = thread.h +THREAD = THREAD +LIBS2 = sys$share:cma$lib_shr/share,cma$rtl/share +.ifdef __AXP__ +LIBS2 = $(LIBS2),sys$share:cma$open_lib_shr/share,cma$open_rtl/share +.endif +.endif + +.ifdef FAKETHREADED +THREADDEF = ,USE_THREADS,MULTIPLICITY,FAKE_THREADS +THREADH = thread.h fakethr.h +THREAD = THREAD +.endif + # C preprocessor manifest "DEBUGGING" ==> perl -D, not the VMS debugger -CFLAGS = /Define=(DEBUGGING$(SOCKDEF)$(XTRADEF))$(XTRACCFLAGS)$(DBGCCFLAGS) +CFLAGS = /Define=(DEBUGGING$(SOCKDEF)$(XTRADEF)$(THREADDEF))$(XTRACCFLAGS)$(DBGCCFLAGS) LINKFLAGS = $(DBGLINKFLAGS) MAKE = $(MMS) @@ -216,7 +277,7 @@ h1 = EXTERN.h, INTERN.h, XSUB.h, av.h, config.h, cop.h, cv.h h2 = embed.h, form.h, gv.h, handy.h, hv.h, keywords.h, mg.h, op.h h3 = opcode.h, patchlevel.h, perl.h, perly.h, pp.h, proto.h, regcomp.h h4 = regexp.h, scope.h, sv.h, vmsish.h, util.h, perlio.h, perlsdio.h -h = $(h1), $(h2), $(h3), $(h4) $(SOCKHLIS) +h = $(h1), $(h2), $(h3), $(h4) $(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 @@ -272,11 +333,16 @@ LIBPREREQ = $(ARCHDIR)Config.pm [.lib]DynaLoader.pm [.lib]vmsish.pm [.lib.VMS]Fi utils1 = [.lib.pod]perldoc.com [.lib.ExtUtils]Miniperl.pm [.utils]c2ph.com [.utils]h2ph.com [.utils]h2xs.com [.lib]perlbug.com utils2 = [.lib]splain.com [.utils]pl2pm.com +.ifdef NOX2P +all : base extras archcorefiles preplibrary perlpods + @ $(NOOP) +.else all : base extras x2p archcorefiles preplibrary perlpods @ $(NOOP) +.endif base : miniperl perl @ $(NOOP) -extras : Fcntl IO Opcode $(POSIX) libmods utils podxform +extras : Fcntl IO Opcode attrs $(POSIX) $(THREAD) libmods utils podxform @ $(NOOP) libmods : $(LIBPREREQ) @ $(NOOP) @@ -330,7 +396,7 @@ $(DBG)perl$(E) : perlmain$(O), $(DBG)perlshr$(E), $(MINIPERL_EXE) .endif $(DBG)perlshr$(E) : $(DBG)libperl$(OLB) $(extobj) $(DBG)perlshr_xtras.ts - Link /NoTrace$(LINKFLAGS)/Share=$(MMS$TARGET) $(extobj) []$(DBG)perlshr_bld.opt/Option, perlshr_attr.opt/Option + Link $(LINKFLAGS)/Share=$(MMS$TARGET) $(extobj) []$(DBG)perlshr_bld.opt/Option, perlshr_attr.opt/Option # The following files are built in one go by gen_shrfls.pl: # perlshr_attr.opt, $(DBG)perlshr_bld.opt - VAX and AXP @@ -431,6 +497,25 @@ Fcntl : [.lib]Fcntl.pm [.lib.auto.Fcntl]Fcntl$(E) [.ext.Fcntl]Descrip.MMS : [.ext.Fcntl]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E) $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.Fcntl]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]" +attrs : [.lib]attrs.pm [.lib.auto.attrs]attrs$(E) + @ $(NOOP) + +[.lib]attrs.pm : [.ext.attrs]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.attrs] + $(MMS) + @ Set Default [--] + +[.lib.auto.attrs]attrs$(E) : [.ext.attrs]Descrip.MMS + @ Set Default [.ext.attrs] + $(MMS) + @ Set Default [--] + +# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C +# ${@} necessary to distract different versions of MM[SK]/make +[.ext.attrs]Descrip.MMS : [.ext.Fcntl]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E) + $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.attrs]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]" + POSIX : [.lib]POSIX.pm [.lib.auto.POSIX]POSIX$(E) @ $(NOOP) @@ -450,6 +535,25 @@ POSIX : [.lib]POSIX.pm [.lib.auto.POSIX]POSIX$(E) [.ext.POSIX]Descrip.MMS : [.ext.POSIX]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E) $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.POSIX]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]" +THREAD : [.lib]THREAD.pm [.lib.auto.THREAD]THREAD$(E) + @ $(NOOP) + +[.lib]THREAD.pm : [.ext.THREAD]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.THREAD] + $(MMS) + @ Set Default [--] + +[.lib.auto.THREAD]THREAD$(E) : [.ext.THREAD]Descrip.MMS + @ Set Default [.ext.THREAD] + $(MMS) + @ Set Default [--] + +# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C +# ${@} necessary to distract different versions of MM[SK]/make +[.ext.THREAD]Descrip.MMS : [.ext.THREAD]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E) + $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.THREAD]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]" + IO : [.lib]IO.pm [.lib.IO]File.pm [.lib.IO]Handle.pm [.lib.IO]Pipe.pm [.lib.IO]Seekable.pm [.lib.IO]Socket.pm [.lib.auto.IO]IO$(E) @ $(NOOP) @@ -1748,6 +1852,14 @@ realclean : clean Set Default [.ext.Opcode] - $(MMS) realclean Set Default [--] + Set Default [.ext.attrs] + - $(MMS) realclean + Set Default [--] +.ifdef THREAD + Set Default [.ext.Thread] + - $(MMS) realclean + Set Default [--] +.endif .ifdef DECC Set Default [.ext.POSIX] - $(MMS) realclean