freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2] master 24d2523cd: Update VMS installation support.


From: Werner Lemberg
Subject: [freetype2] master 24d2523cd: Update VMS installation support.
Date: Fri, 10 Mar 2023 10:57:17 -0500 (EST)

branch: master
commit 24d2523cdd58e9fb78827441877a3a3771fc6848
Author: Jouk Jansen <joukj@hrem.nano.tudelft.nl>
Commit: Werner Lemberg <wl@gnu.org>

    Update VMS installation support.
---
 builds/vms/LIBS.OPT_IA64     | Bin 82 -> 0 bytes
 builds/vms/_LINK.OPT_IA64    | Bin 14464 -> 0 bytes
 builds/vms/apinames_vms.bash | Bin 0 -> 106 bytes
 builds/vms/vmslib.dat        |  28 --
 docs/INSTALL.VMS             |  49 ++--
 vms_make.com                 | 675 ++++++++++++++++++++++++++-----------------
 6 files changed, 435 insertions(+), 317 deletions(-)

diff --git a/builds/vms/LIBS.OPT_IA64 b/builds/vms/LIBS.OPT_IA64
deleted file mode 100644
index 6768c7662..000000000
Binary files a/builds/vms/LIBS.OPT_IA64 and /dev/null differ
diff --git a/builds/vms/_LINK.OPT_IA64 b/builds/vms/_LINK.OPT_IA64
deleted file mode 100644
index b8cbd1bc7..000000000
Binary files a/builds/vms/_LINK.OPT_IA64 and /dev/null differ
diff --git a/builds/vms/apinames_vms.bash b/builds/vms/apinames_vms.bash
new file mode 100644
index 000000000..953519805
Binary files /dev/null and b/builds/vms/apinames_vms.bash differ
diff --git a/builds/vms/vmslib.dat b/builds/vms/vmslib.dat
deleted file mode 100644
index 4c817da44..000000000
--- a/builds/vms/vmslib.dat
+++ /dev/null
@@ -1,28 +0,0 @@
-!
-! This is a simple driver file with information used by make.com to
-! check if external libraries (like t1lib and freetype) are available on
-! the system.
-!
-! Layout of the file:
-!
-!    - Lines starting with ! are treated as comments
-!    - Elements in a data line are separated by # signs
-!    - The elements need to be listed in the following order
-!      1.) Name of the Library 
-!      2.) Location where the object library can be found
-!      3.) Location where the include files for the library can be found
-!      4.) Include file used to verify library location
-!      5.) CPP define to pass to the build to indicate availability of
-!          the library
-!
-! Example: The following  lines show how definitions
-!          might look like. They are site specific and the locations of the
-!          library and include files need almost certainly to be changed.
-!
-! Location: All of the libaries can be found at the following addresses
-!
-!   ZLIB:     http://www.decus.de:8080/www/vms/sw/zlib.htmlx
-!
-BZ2LIB # sys$library:libbz2.olb # decc$user_include: # bzlib.h # 
FT_CONFIG_OPTION_SYSTEM_ZLIB
-PNGLIB # sys$library:libpng.olb # sys$library: # png.h # 
FT_CONFIG_OPTION_SYSTEM_ZLIB
-ZLIB # sys$library:libz.olb # sys$library: # zlib.h # 
FT_CONFIG_OPTION_SYSTEM_ZLIB
diff --git a/docs/INSTALL.VMS b/docs/INSTALL.VMS
index 4ed4016a2..4f8c3ac33 100644
--- a/docs/INSTALL.VMS
+++ b/docs/INSTALL.VMS
@@ -1,23 +1,23 @@
-How to build the FreeType 2 library on VMS
------------------------------------------
+How to build the FreeType library on VMS
+----------------------------------------
 
-It is actually very straightforward to install the FreeType 2 library.
-Just  execute vms_make.com from  the toplevel  directory to  build the
+It is actually  very straightforward to install  the FreeType library.
+Just execute `vms_make.com  from` the toplevel directory  to build the
 library.  This procedure currently accepts the following options:
 
-DEBUG
+* `DEBUG`
   Build the library with debug information and without optimization.
 
-lopts=<value>
-  Options to pass to the link command e.g. lopts=/traceback
+* `lopts=<value>`
+  Options to pass to the link command, e.g., `lopts=/traceback`.
 
-ccopt=<value>
-  Options to pass to the C compiler e.g. ccopt=/float=ieee
+* `ccopt=<value>`
+  Options to pass to the C compiler, e.g., `ccopt=/float=ieee`.
 
 In case you did download the demos, place them in a separate directory
-sharing the same top level  as the directory of FreeType 2  and follow
-the same instructions as above for  the demos from  there.  The  build
-process relies on this  to figure out  the location  of the FreeType 2
+sharing the same top level as the directory of FreeType and follow the
+same  instructions as  above  for  the demos  from  there.  The  build
+process relies  on this  to figure  out the  location of  the FreeType
 include files.
 
 
@@ -28,24 +28,31 @@ The library is available in the directory
 
   [.LIB]
 
-To  compile applications  using  FreeType  2 you  have  to define  the
-logical FREETYPE pointing to the directory
+To compile applications using FreeType  you have to define the logical
+`FREETYPE` pointing to the directory
 
   [.INCLUDE.FREETYPE]
 
-i.e., if  the directory in which  this INSTALL.VMS file  is located is
-$disk:[freetype] then define the logical with
+i.e., if the directory in which  this `INSTALL.VMS` file is located is
+`$disk:[freetype.docs]`, then define the logical with
 
   define freetype $disk:[freetype.include.freetype]
 
-This version has  been tested with Compaq C  V6.2-006 on OpenVMS Alpha
-V7.2-1.
+See  http://nchrem.tnw.tudelft.nl/openvms/software2.html#Freetype  for
+the packages FreeType depends on.
 
+The latest versions were tested using
+  - VSI C V7.4-002 and DECWindows V1.7-F on OpenVMS Alpha V8.4-2L1
+  - VSI C V7.4-001 and DECWindows V1.7-E on OpenVMS IA64 V8.4-2L3
 
-  Any problems can be reported to
 
-    Jouk Jansen <joukj@hrem.stm.tudelft.nl> or
-    Martin P.J. Zinser <zinser@zinser.no-ip.info>
+Any problems can be reported to
+
+  Jouk Jansen <joukj@hrem.nano.tudelft.nl> or
+
+Orginal version of the build procedures was created by
+
+  Martin P.J. Zinser <zinser@zinser.no-ip.info>
 
 ------------------------------------------------------------------------
 
diff --git a/vms_make.com b/vms_make.com
index a1ccb654e..0a87c7178 100644
--- a/vms_make.com
+++ b/vms_make.com
@@ -71,18 +71,19 @@ $! Which command parameters were given
 $!
 $ gosub check_opts
 $!
-$! Create option file
-$!
-$ open/write optf 'optfile'
 $!
 $! Pull in external libraries
 $!
 $ create libs.opt
 $ open/write libsf libs.opt
-$ gosub check_create_vmslib
+$ write libsf "sys$library:libpng.olb/lib"
+$ write libsf "sys$library:libbz2.olb/lib"
+$ write libsf "sys$library:libz.olb/lib"
+$ close libsf
 $!
 $! Create objects
 $!
+$ libdefs = 
"FT2_BUILD_LIBRARY,FT_CONFIG_OPTION_OLD_INTERNALS,FT_CONFIG_OPTION_USE_BZIP2=1,FT_CONFIG_OPTION_USE_PNG=1,FT_CONFIG_OPTION_SYSTEM_ZLIB=1"
 $ if libdefs .nes. ""
 $ then
 $   ccopt = ccopt + "/define=(" + f$extract(0,f$length(libdefs)-1,libdefs) + 
")"
@@ -95,48 +96,38 @@ $!
 $ 'Make' /macro=(comp_flags="''ccopt'")
 $ purge/nolog [...]descrip.mms
 $!
-$! Add them to options
-$!
-$FLOOP:
-$  file = f$edit(f$search("[...]*.obj"),"UPCASE")
-$  if (file .nes. "")
-$  then
-$    if f$locate("DEMOS",file) .eqs. f$length(file) then write optf file
-$    goto floop
-$  endif
-$!
-$ close optf
-$!
 $!
-$! Alpha gets a shareable image
+$! Alpha & Itanium get a shareable image
 $!
 $ If f$getsyi("HW_MODEL") .gt. 1024
 $ Then
 $   write sys$output "Creating freetype2shr.exe"
-$   If f$getsyi("HW_MODEL") .le. 2048
-$   Then
-$     call anal_obj_axp 'optfile' _link.opt
-$   Else
-$     copy _link.opt_ia64 _link.opt
-$     close libsf
-$     copy libs.opt_ia64 libs.opt
-$   endif
-$   open/append  optf 'optfile'
-$   if s_case then WRITE optf "case_sensitive=YES"
-$   close optf
-$   LINK_/NODEB/SHARE=[.lib]freetype2shr.exe -
-                            'optfile'/opt,libs.opt/opt,_link.opt/opt
+$   library/extract=* [.lib]freetype.olb
+$   pipe link/nodeb/noshare/noexe/map=libfreetype.map/full freetype.obj | copy 
sys$input nl:
+$   set def [.src.tools]
+$   cc apinames.c
+$   link apinames
+$   set def [--]
+$   pur [.include.freetype]ftmac.h
+$   rename [.include.freetype]ftmac.h [.include.freetype]ftmac.h_tmp
+$   bash builds/vms/apinames_vms.bash
+$   rename [.include.freetype]ftmac.h_tmp [.include.freetype]ftmac.h
+$   open/write file  libfreetype.opt
+$   write file "!"
+$   write file "! libfreetype.opt generated by vms_make.com"
+$   write file "!"
+$   write file "IDENTIFICATION=""freetype2 2.0"""
+$   write file "GSMATCH=LEQUAL,2,0
+$   write file "freetype.obj"
+$   close file
+$   link/nodeb/share=[.lib]freetype2shr.exe/map=libfreetype.map/full -
+      libfreetype/opt,freetype_vms/opt,libs/opt
+$   delete freetype.obj;*
 $ endif
 $!
 $ exit
 $!
 $
-$ERR_LIB:
-$ write sys$output "Error reading config file vmslib.dat"
-$ goto err_exit
-$FT2_ERR:
-$ write sys$output "Could not locate FreeType 2 include files"
-$ goto err_exit
 $ERR_EXIT:
 $ set message/facil/ident/sever/text
 $ close/nolog optf
@@ -237,6 +228,8 @@ all :
         $(MMS)$(MMSQUALIFIERS)
         set default [-.smooth]
         $(MMS)$(MMSQUALIFIERS)
+        set default [-.svg]
+        $(MMS)$(MMSQUALIFIERS)
         set default [-.truetype]
         $(MMS)$(MMSQUALIFIERS)
         set default [-.type1]
@@ -245,6 +238,8 @@ all :
         $(MMS)$(MMSQUALIFIERS)
         set default [-.winfonts]
         $(MMS)$(MMSQUALIFIERS)
+        set default [-.sdf]
+        $(MMS)$(MMSQUALIFIERS)
         set default [--]
 
 # EOF
@@ -272,10 +267,21 @@ $ deck
 
 
CFLAGS=$(COMP_FLAGS)$(DEBUG)/list/show=all/include=([],[--.include],[--.src.base])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/point=64/obj=$(MMS$TARGET_NAME)_64.obj\
+       $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=ftsystem.obj
 
+OBJS64=ftsystem_64.obj
+
 all : $(OBJS)
         library/create [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 ftsystem.obj : ftsystem.c ftconfig.h
 
@@ -303,10 +309,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.autofit])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=autofit.obj
 
+OBJS64=autofit_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -333,6 +350,14 @@ $ deck
 
 
CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.builds.vms],[--.include],[--.src.base])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=ftbase.obj,\
      ftbbox.obj,\
      ftbdf.obj,\
@@ -348,10 +373,33 @@ OBJS=ftbase.obj,\
      ftstroke.obj,\
      ftsynth.obj,\
      fttype1.obj,\
-     ftwinfnt.obj
+     ftwinfnt.obj,ftpatent.obj,ftgxval.obj,ftotval.obj
+
+OBJS64=ftbase_64.obj,\
+     ftbbox_64.obj,\
+     ftbdf_64.obj,\
+     ftbitmap_64.obj,\
+     ftcid_64.obj,\
+     ftdebug_64.obj,\
+     ftfstype_64.obj,\
+     ftgasp_64.obj,\
+     ftglyph_64.obj,\
+     ftinit_64.obj,\
+     ftmm_64.obj,\
+     ftpfr_64.obj,\
+     ftstroke_64.obj,\
+     ftsynth_64.obj,\
+     fttype1_64.obj,\
+     ftwinfnt_64.obj,ftpatent_64.obj,ftgxval_64.obj,ftotval_64.obj
 
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
+
+ftbase.obj : ftbase.c ftadvanc.c ftcalc.c ftcolor.c ftdbgmem.c fterrors.c\
+       ftfntfmt.c ftgloadr.c fthash.c ftlcdfil.c ftmac.c ftobjs.c ftoutln.c\
+       ftpsprop.c ftrfork.c ftsnames.c ftstream.c fttrigon.c ftutil.c
+
 
 # EOF
 $ eod
@@ -378,10 +426,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.bdf])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/point=64/obj=$(MMS$TARGET_NAME)_64.obj\
+       $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=bdf.obj
 
+OBJS64=bdf_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -408,10 +467,24 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.cache])/nowarn
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/point=64/obj=$(MMS$TARGET_NAME)_64.obj\
+       $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=ftcache.obj
 
+OBJS64=ftcache_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
+
+ftcache.obj : ftcache.c ftcbasic.c ftccache.c ftccmap.c ftcglyph.c ftcimage.c \
+       ftcmanag.c ftcmru.c ftcsbits.c
 
 # EOF
 $ eod
@@ -438,10 +511,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.cff])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=cff.obj
 
+OBJS64=cff_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -468,10 +552,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.cid])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=type1cid.obj
 
+OBJS64=type1cid_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -498,10 +593,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.gxvalid])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=gxvalid.obj
 
+OBJS64=gxvalid_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -525,17 +631,27 @@ $ deck
 # indicate that you have read the license and understand and accept it
 # fully.
 $EOD
-$ if libincs .nes. "" then write out "LIBINCS = ", libincs - ",", ","
 $ write out "COMP_FLAGS = ", ccopt
 $ copy sys$input: out
 $ deck
 
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=($(LIBINCS)[--.include],[--.src.gzip])
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.gzip])
+
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
 
 OBJS=ftgzip.obj
 
+OBJS64=ftgzip_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -561,17 +677,27 @@ $ deck
 # indicate that you have read the license and understand and accept it
 # fully.
 $EOD
-$ if libincs .nes. "" then write out "LIBINCS = ", libincs - ",", ","
 $ write out "COMP_FLAGS = ", ccopt
 $ copy sys$input: out
 $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.bzip2])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=ftbzip2.obj
 
+OBJS64=ftbzip2_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -595,17 +721,27 @@ $ deck
 # indicate that you have read the license and understand and accept it
 # fully.
 $EOD
-$ if libincs .nes. "" then write out "LIBINCS = ", libincs - ",", ","
 $ write out "COMP_FLAGS = ", ccopt
 $ copy sys$input: out
 $ deck
 
-CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=($(LIBINCS)[--.include],[--.src.lzw])
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.lzw])
+
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
 
 OBJS=ftlzw.obj
 
+OBJS64=ftlzw_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -632,10 +768,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.otvalid])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=otvalid.obj
 
+OBJS64=otvalid_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -674,10 +821,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.pcf])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=pcf.obj
 
+OBJS64=pcf_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -704,10 +862,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.pfr])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=pfr.obj
 
+OBJS64=pfr_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -734,10 +903,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.psaux])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=psaux.obj
 
+OBJS64=psaux_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -764,10 +944,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.psnames])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=pshinter.obj
 
+OBJS64=pshinter_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -794,10 +985,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.psnames])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=psnames.obj
 
+OBJS64=psnames_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -824,10 +1026,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.raster])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=raster.obj
 
+OBJS64=raster_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -854,10 +1067,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.sfnt])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=sfnt.obj
 
+OBJS64=sfnt_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -884,10 +1108,62 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.smooth])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/point=64/obj=$(MMS$TARGET_NAME)_64.obj\
+       $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=smooth.obj
 
+OBJS64=smooth_64.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.svg] directory"
+$ create [.src.svg]descrip.mms
+$ open/append out [.src.svg]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 smooth renderer module compilation rules for VMS
+#
+
+
+# Copyright 2001-2019 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.svg])
+
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/point=64/obj=$(MMS$TARGET_NAME)_64.obj\
+       $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
+OBJS=svg.obj
+
+OBJS64=svg_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -914,10 +1190,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.truetype])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=truetype.obj
 
+OBJS64=truetype_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -944,10 +1231,66 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.type1])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=type1.obj
 
+OBJS64=type1_64.obj
+
+all : $(OBJS)
+        library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
+
+type1.obj : type1.c t1parse.c t1load.c t1objs.c t1driver.c t1gload.c t1afm.c
+
+# EOF
+$ eod
+$ close out
+$ write sys$output "... [.src.sdf] directory"
+$ create [.src.sdf]descrip.mms
+$ open/append out [.src.sdf]descrip.mms
+$ copy sys$input: out
+$ deck
+#
+# FreeType 2 sdf driver compilation rules for VMS
+#
+
+
+# Copyright 1996-2019 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.type1])
+
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
+OBJS=sdf.obj
+
+OBJS64=sdf_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
+
+sdf.obj : sdf.c ftbsdf.c ftsdf.c ftsdfcommon.c ftsdfrend.c
 
 # EOF
 $ eod
@@ -974,10 +1317,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.type42])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=type42.obj
 
+OBJS64=type42_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -1004,10 +1358,21 @@ $ deck
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.winfonts])
 
+.c.obj :
+       cc$(CFLAGS)/point=32/list/show=all $(MMS$TARGET_NAME).c
+       pipe link/map/full/exec=nl: $(MMS$TARGET_NAME).obj | copy sys$input nl:
+       mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map
+       cc$(CFLAGS)/warn=disable=(MAYLOSEDATA3)/point=64\
+       /obj=$(MMS$TARGET_NAME)_64.obj $(MMS$TARGET_NAME)_64.c
+       delete $(MMS$TARGET_NAME)_64.c;*
+
 OBJS=winfnt.obj
 
+OBJS64=winfnt_64.obj
+
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
+        library [--.lib]freetype.olb $(OBJS64)
 
 # EOF
 $ eod
@@ -1077,230 +1442,4 @@ $ endif
 $ return
 
$!------------------------------------------------------------------------------
 $!
-$! Take care of driver file with information about external libraries
-$!
-$! Version history
-$! 0.01 20040220 First version to receive a number
-$! 0.02 20040229 Echo current procedure name; use general error exit handler
-$!               Remove xpm hack -> Replaced by more general dnsrl handling
-$CHECK_CREATE_VMSLIB:
-$!
-$ if f$search("VMSLIB.DAT") .eqs. ""
-$ then
-$   type/out=vmslib.dat sys$input
-!
-! This is a simple driver file with information used by vms_make.com to
-! check if external libraries (like t1lib and FreeType) are available on
-! the system.
-!
-! Layout of the file:
-!
-!    - Lines starting with ! are treated as comments
-!    - Elements in a data line are separated by # signs
-!    - The elements need to be listed in the following order
-!      1.) Name of the Library (only used for informative messages
-!                               from vms_make.com)
-!      2.) Location where the object library can be found
-!      3.) Location where the include files for the library can be found
-!      4.) Include file used to verify library location
-!      5.) CPP define to pass to the build to indicate availability of
-!          the library
-!
-! Example: The following lines show how definitions
-!          might look like. They are site specific and the locations of the
-!          library and include files need almost certainly to be changed.
-!
-! Location: All of the libraries can be found at the following addresses
-!
-!   ZLIB:     http://zinser.no-ip.info/vms/sw/zlib.htmlx
-!
-ZLIB # sys$library:libz.olb # sys$library: # zlib.h # 
FT_CONFIG_OPTION_SYSTEM_ZLIB
-$   write sys$output "New driver file vmslib.dat created."
-$   write sys$output "Please customize library locations for your site"
-$   write sys$output "and afterwards re-execute ''myproc'"
-$   goto err_exit
-$ endif
-$!
-$! Init symbols used to hold CPP definitions and include path
-$!
-$ libdefs = "FT2_BUILD_LIBRARY,FT_CONFIG_OPTION_OLD_INTERNALS,"
-$ libincs = ""
-$!
-$! Open data file with location of libraries
-$!
-$ open/read/end=end_lib/err=err_lib libdata VMSLIB.DAT
-$LIB_LOOP:
-$ read/end=end_lib libdata libline
-$ libline = f$edit(libline, "UNCOMMENT,COLLAPSE")
-$ if libline .eqs. "" then goto LIB_LOOP ! Comment line
-$ libname = f$edit(f$element(0,"#",libline),"UPCASE")
-$ write sys$output "Processing ''libname' setup ..."
-$ libloc  = f$element(1,"#",libline)
-$ libsrc  = f$element(2,"#",libline)
-$ testinc = f$element(3,"#",libline)
-$ cppdef  = f$element(4,"#",libline)
-$ old_cpp = f$locate("=1",cppdef)
-$ if old_cpp.lt.f$length(cppdef) then cppdef = f$extract(0,old_cpp,cppdef)
-$ if f$search("''libloc'").eqs. ""
-$ then
-$   write sys$output "Can not find library ''libloc' - Skipping ''libname'"
-$   goto LIB_LOOP
-$ endif
-$ libsrc_elem = 0
-$ libsrc_found = false
-$LIBSRC_LOOP:
-$ libsrcdir = f$element(libsrc_elem,",",libsrc)
-$ if (libsrcdir .eqs. ",") then goto END_LIBSRC
-$ if f$search("''libsrcdir'''testinc'") .nes. "" then libsrc_found = true
-$ libsrc_elem = libsrc_elem + 1
-$ goto LIBSRC_LOOP
-$END_LIBSRC:
-$ if .not. libsrc_found
-$ then
-$   write sys$output "Can not find includes at ''libsrc' - Skipping ''libname'"
-$   goto LIB_LOOP
-$ endif
-$ if (cppdef .nes. "") then libdefs = libdefs +  cppdef + ","
-$ libincs = libincs + "," + libsrc
-$ lqual = "/lib"
-$ libtype = f$edit(f$parse(libloc,,,"TYPE"),"UPCASE")
-$ if f$locate("EXE",libtype) .lt. f$length(libtype) then lqual = "/share"
-$ write optf libloc , lqual
-$ if (f$trnlnm("topt") .nes. "") then write topt libloc , lqual
-$!
-$! Nasty hack to get the FreeType includes to work
-$!
-$ ft2def = false
-$ if ((libname .eqs. "FREETYPE") .and. -
-      (f$locate("FREETYPE2",cppdef) .lt. f$length(cppdef)))
-$ then
-$   if ((f$search("freetype:freetype.h") .nes. "") .and. -
-        (f$search("freetype:[internal]ftobjs.h") .nes. ""))
-$   then
-$     write sys$output "Will use local definition of freetype logical"
-$   else
-$     ft2elem = 0
-$FT2_LOOP:
-$     ft2srcdir = f$element(ft2elem,",",libsrc)
-$     if f$search("''ft2srcdir'''testinc'") .nes. ""
-$     then
-$        if f$search("''ft2srcdir'internal.dir") .nes. ""
-$        then
-$          ft2dev  = f$parse("''ft2srcdir'",,,"device","no_conceal")
-$          ft2dir  = f$parse("''ft2srcdir'",,,"directory","no_conceal")
-$          ft2conc = f$locate("][",ft2dir)
-$          ft2len  = f$length(ft2dir)
-$          if ft2conc .lt. ft2len
-$          then
-$             ft2dir = f$extract(0,ft2conc,ft2dir) + -
-                       f$extract(ft2conc+2,ft2len-2,ft2dir)
-$          endif
-$          ft2dir = ft2dir - "]" + ".]"
-$          define freetype 'ft2dev''ft2dir','ft2srcdir'
-$          ft2def = true
-$        else
-$          goto ft2_err
-$        endif
-$     else
-$       ft2elem = ft2elem + 1
-$       goto ft2_loop
-$     endif
-$   endif
-$ endif
-$ goto LIB_LOOP
-$END_LIB:
-$ close libdata
-$ return
-$!------------------------------------------------------------------------------
-$!
-$! Analyze Object files for OpenVMS AXP to extract Procedure and Data
-$! information to build a symbol vector for a shareable image
-$! All the "brains" of this logic was suggested by Hartmut Becker
-$! (Hartmut.Becker@compaq.com). All the bugs were introduced by me
-$! (zinser@zinser.no-ip.info), so if you do have problem reports please do not
-$! bother Hartmut/HP, but get in touch with me
-$!
-$! Version history
-$! 0.01 20040006 Skip over shareable images in option file
-$!
-$ ANAL_OBJ_AXP: Subroutine
-$ V = 'F$Verify(0)
-$ SAY := "WRITE_ SYS$OUTPUT"
-$
-$ IF F$SEARCH("''P1'") .EQS. ""
-$ THEN
-$    SAY "ANAL_OBJ_AXP-E-NOSUCHFILE:  Error, inputfile ''p1' not available"
-$    goto exit_aa
-$ ENDIF
-$ IF "''P2'" .EQS. ""
-$ THEN
-$    SAY "ANAL_OBJ_AXP:  Error, no output file provided"
-$    goto exit_aa
-$ ENDIF
-$
-$ open/read in 'p1
-$ create a.tmp
-$ open/append atmp a.tmp
-$ loop:
-$ read/end=end_loop in line
-$ if f$locate("/SHARE",f$edit(line,"upcase")) .lt. f$length(line)
-$ then
-$   write sys$output "ANAL_SKP_SHR-i-skipshare, ''line'"
-$   goto loop
-$ endif
-$ if f$locate("/LIB",f$edit(line,"upcase")) .lt. f$length(line)
-$ then
-$   write libsf line
-$   write sys$output "ANAL_SKP_LIB-i-skiplib, ''line'"
-$   goto loop
-$ endif
-$ f= f$search(line)
-$ if f .eqs. ""
-$ then
-$      write sys$output "ANAL_OBJ_AXP-w-nosuchfile, ''line'"
-$      goto loop
-$ endif
-$ def/user sys$output nl:
-$ def/user sys$error nl:
-$ anal/obj/gsd 'f /out=x.tmp
-$ open/read xtmp x.tmp
-$ XLOOP:
-$ read/end=end_xloop xtmp xline
-$ xline = f$edit(xline,"compress")
-$ write atmp xline
-$ goto xloop
-$ END_XLOOP:
-$ close xtmp
-$ goto loop
-$ end_loop:
-$ close in
-$ close atmp
-$ if f$search("a.tmp") .eqs. "" -
-       then $ exit
-$ ! all global definitions
-$ search a.tmp "symbol:","EGSY$V_DEF 1","EGSY$V_NORM 1"/out=b.tmp
-$ ! all procedures
-$ search b.tmp "EGSY$V_NORM 1"/wind=(0,1) /out=c.tmp
-$ search c.tmp "symbol:"/out=d.tmp
-$ def/user sys$output nl:
-$ edito/edt/command=sys$input d.tmp
-sub/symbol: "/symbol_vector=(/whole
-sub/"/=PROCEDURE)/whole
-exit
-$ ! all data
-$ search b.tmp "EGSY$V_DEF 1"/wind=(0,1) /out=e.tmp
-$ search e.tmp "symbol:"/out=f.tmp
-$ def/user sys$output nl:
-$ edito/edt/command=sys$input f.tmp
-sub/symbol: "/symbol_vector=(/whole
-sub/"/=DATA)/whole
-exit
-$ sort/nodupl d.tmp,f.tmp 'p2'
-$ delete a.tmp;*,b.tmp;*,c.tmp;*,d.tmp;*,e.tmp;*,f.tmp;*
-$ if f$search("x.tmp") .nes. "" -
-       then $ delete x.tmp;*
-$!
-$ close libsf
-$ EXIT_AA:
-$ if V then set verify
 $ endsubroutine



reply via email to

[Prev in Thread] Current Thread [Next in Thread]