Edit

IABSD.fr/xenocara/lib/libpng/scripts/makevms.com

Branch :

  • Show log

    Commit

  • Author : ajacoutot
    Date : 2025-09-17 14:44:36
    Hash : e8681e75
    Message : Import source for libpng 1.6.50 (verbatim).

  • lib/libpng/scripts/makevms.com
  • $! make libpng under VMS
    $!
    $!
    $! Check for MMK/MMS
    $!
    $! This procedure accepts one parameter (contrib), which causes it to build
    $! the programs from the contrib directory instead of libpng.
    $!
    $ p1 = f$edit(p1,"UPCASE")
    $ if p1 .eqs. "CONTRIB"
    $ then
    $   set def [.contrib.gregbook]
    $   @makevms
    $   set def [-.pngminus]
    $   @makevms
    $   set def [--]
    $   exit
    $ endif
    $ Make = ""
    $ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
    $ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK"
    $!
    $! Look for the compiler used
    $!
    $ zlibsrc = "[-.zlib]"
    $ ccopt="/include=''zlibsrc'"
    $ if f$getsyi("HW_MODEL").ge.1024
    $ then
    $  ccopt = "/prefix=all"+ccopt
    $  comp  = "__decc__=1"
    $  if f$trnlnm("SYS").eqs."" then define sys sys$library:
    $ else
    $  if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
    $   then
    $    if f$trnlnm("SYS").eqs."" then define sys sys$library:
    $    if f$search("SYS$SYSTEM:VAXC.EXE").eqs.""
    $     then
    $      comp  = "__gcc__=1"
    $      CC :== GCC
    $     else
    $      comp = "__vaxc__=1"
    $     endif
    $   else
    $    if f$trnlnm("SYS").eqs."" then define sys decc$library_include:
    $    ccopt = "/decc/prefix=all"+ccopt
    $    comp  = "__decc__=1"
    $  endif
    $ endif
    $!
    $! Build the thing plain or with mms/mmk
    $!
    $ write sys$output "Compiling Libpng sources ..."
    $ if make.eqs.""
    $  then
    $   dele pngtest.obj;*
    $   CALL MAKE png.OBJ "cc ''CCOPT' png" -
    	png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    $   CALL MAKE pngset.OBJ "cc ''CCOPT' pngset" -
    	pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    $   CALL MAKE pngget.OBJ "cc ''CCOPT' pngget" -
    	pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    $   CALL MAKE pngread.OBJ "cc ''CCOPT' pngread" -
    	pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    $   CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
    	pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    $   CALL MAKE pngrtran.OBJ "cc ''CCOPT' pngrtran" -
    	pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    $   CALL MAKE pngrutil.OBJ "cc ''CCOPT' pngrutil" -
    	pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    $   CALL MAKE pngerror.OBJ "cc ''CCOPT' pngerror" -
    	pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    $   CALL MAKE pngmem.OBJ "cc ''CCOPT' pngmem" -
    	pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    $   CALL MAKE pngrio.OBJ "cc ''CCOPT' pngrio" -
    	pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    $   CALL MAKE pngwio.OBJ "cc ''CCOPT' pngwio" -
    	pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    $   CALL MAKE pngtrans.OBJ "cc ''CCOPT' pngtrans" -
    	pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    $   CALL MAKE pngwrite.OBJ "cc ''CCOPT' pngwrite" -
    	pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    $   CALL MAKE pngwtran.OBJ "cc ''CCOPT' pngwtran" -
    	pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    $   CALL MAKE pngwutil.OBJ "cc ''CCOPT' pngwutil" -
    	pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    $   write sys$output "Building Libpng ..."
    $   CALL MAKE libpng.OLB "lib/crea libpng.olb *.obj" *.OBJ
    $   write sys$output "Building pngtest..."
    $   CALL MAKE pngtest.OBJ "cc ''CCOPT' pngtest" -
    	pngtest.c png.h pngconf.h pnglibconf.h
    $   call make pngtest.exe -
    	"LINK pngtest,libpng.olb/lib,''zlibsrc'libz.olb/lib" -
    	pngtest.obj libpng.olb
    $   write sys$output "Testing Libpng..."
    $   run pngtest
    $  else
    $   if f$search("DESCRIP.MMS") .eqs. "" then copy/nolog [.SCRIPTS]DESCRIP.MMS []
    $   'make'/macro=('comp',zlibsrc='zlibsrc')
    $  endif
    $ write sys$output "Libpng build completed"
    $ exit
    $!
    $!
    $MAKE: SUBROUTINE   !SUBROUTINE TO CHECK DEPENDENCIES
    $ V = 'F$Verify(0)
    $! P1 = What we are trying to make
    $! P2 = Command to make it
    $! P3 - P8  What it depends on
    $
    $ If F$Search(P1) .Eqs. "" Then Goto Makeit
    $ Time = F$CvTime(F$File(P1,"RDT"))
    $arg=3
    $Loop:
    $       Argument = P'arg
    $       If Argument .Eqs. "" Then Goto Exit
    $       El=0
    $Loop2:
    $       File = F$Element(El," ",Argument)
    $       If File .Eqs. " " Then Goto Endl
    $       AFile = ""
    $Loop3:
    $       OFile = AFile
    $       AFile = F$Search(File)
    $       If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
    $       If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
    $       Goto Loop3
    $NextEL:
    $       El = El + 1
    $       Goto Loop2
    $EndL:
    $ arg=arg+1
    $ If arg .Le. 8 Then Goto Loop
    $ Goto Exit
    $
    $Makeit:
    $ VV=F$VERIFY(0)
    $ write sys$output P2
    $ 'P2
    $ VV='F$Verify(VV)
    $Exit:
    $ If V Then Set Verify
    $ENDSUBROUTINE