summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJouk Jansen <joukj@hrem.nano.tudelft.nl>2023-03-10 16:50:20 +0100
committerWerner Lemberg <wl@gnu.org>2023-03-10 16:56:15 +0100
commit24d2523cdd58e9fb78827441877a3a3771fc6848 (patch)
tree7453e46ddd54c642ea418b41953dad1579b82788
parent49c74ac021f8139e83bbd65df75217d0de284eea (diff)
downloadfreetype2-24d2523cdd58e9fb78827441877a3a3771fc6848.tar.gz
Update VMS installation support.
-rw-r--r--builds/vms/LIBS.OPT_IA64bin82 -> 0 bytes
-rw-r--r--builds/vms/_LINK.OPT_IA64bin14464 -> 0 bytes
-rw-r--r--builds/vms/apinames_vms.bashbin0 -> 106 bytes
-rw-r--r--builds/vms/vmslib.dat28
-rw-r--r--docs/INSTALL.VMS49
-rw-r--r--vms_make.com675
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
--- a/builds/vms/LIBS.OPT_IA64
+++ /dev/null
Binary files differ
diff --git a/builds/vms/_LINK.OPT_IA64 b/builds/vms/_LINK.OPT_IA64
deleted file mode 100644
index b8cbd1bc7..000000000
--- a/builds/vms/_LINK.OPT_IA64
+++ /dev/null
Binary files differ
diff --git a/builds/vms/apinames_vms.bash b/builds/vms/apinames_vms.bash
new file mode 100644
index 000000000..953519805
--- /dev/null
+++ b/builds/vms/apinames_vms.bash
Binary files 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