From 24d2523cdd58e9fb78827441877a3a3771fc6848 Mon Sep 17 00:00:00 2001 From: Jouk Jansen Date: Fri, 10 Mar 2023 16:50:20 +0100 Subject: [PATCH] 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(-) delete mode 100644 builds/vms/LIBS.OPT_IA64 delete mode 100644 builds/vms/_LINK.OPT_IA64 create mode 100644 builds/vms/apinames_vms.bash delete mode 100644 builds/vms/vmslib.dat diff --git a/builds/vms/LIBS.OPT_IA64 b/builds/vms/LIBS.OPT_IA64 deleted file mode 100644 index 6768c7662d422b504582fa9e9e1d11a71a455628..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82 ucmb1QD6TA4$;nJAN-V0h0@4L}>3aD&N%}yh6uMkel@Ux%0$r{OCIbMmQyoYE diff --git a/builds/vms/_LINK.OPT_IA64 b/builds/vms/_LINK.OPT_IA64 deleted file mode 100644 index b8cbd1bc781cf7afcef6d2e2db4c403fcdecd480..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14464 zcmb7L+j84D66H7S7wpvDCVQD3XR@=iTa^b}vJ%(Iwn|cxnSDXQ6eP1k5ei7za=v~V zAZay#1IqKJhtthQ-@5_*F3V-DM6Ig2Xo?5*_Ls}WKeON0Pun|PiU*Z9+PwXCvK)!g zwcL$ley_w->(Be$+u8hfbUFSozkHSb{RG90dSvkLA^K`7H!AUgA74hX$YrSv`_ey7 z(fNX9e}njIS&?W)jCG|L^XzO8-D+tf^WRLfD870$e;xdee}o?fv2(T656a4PHRdP5 z_Uq3*SG8&w{1yDhjb177p)zXCpc(e1#YNF1Or8A;at|pYQzv}zNayPbSz4Uu6aunQ zBD4Uqv^Za_#8|E6zHG#`UhPX&^OJuI&f#cUEQ4ZXwJDVt7i+H0KR}+1tX?yA8M2Q! zZyE|-F)2#Vx3C^s?4mJBZaHV2hLRQUHwNl(@|3&t&N)GAjE=@2Uy*Wi&->$pQGO9sIJNQDC zu4;4F8T?vDM<29jWnY6nJ}I>}zQ;kUkm@MgJ;=(hf6&?t%cVwrf>o`!7*B+imCBOv z3fXr^t3Acc=p7{}?oTk2SiFn*i8fowT{U~1;_vWNS#9>zDflwMXmH=46Nu2KP`z|# zw&%5JHY9*`&rwVYQ`1RaU{fp2J6ZFV4n~i|1;L*FzDo<@Ms9f;N&3qFl&Okp!`v@} z8OO?SeJ#jo88nS_b(tZP7Hq3Bskc#P?Kf>nuezqvUx;g26Ak-D(&APZkpW>Awx_&N zhsbf97NQkL&#Su)Se6=iYb*(+&*#hMNfa!#J$8BMLwzVh-$(jy$rQr>w@SuzJK z_IGVi1xkfow$sqk$o#Vac7~P2+F@z-uJnt`YEw|t5VQeF**+E3DHZRVM3%is3V{2ORy5KdJcesr($&of!7=QRHf}~2n)ik{|2Q;_Rr)g* zJgpniVlTAugDUM6VyWXpCaQ*$hB8D|uc^~vO2PJhFKe5nk7b?51I(dURndqEm?fa4 zx^`bIR5Q(2G^qMj^*<<95zQx6Z0`Lyhx+PiKPpof+M5_*=Q}N^o$?b8Jhj73ib|Hj z9tZYRJ(>p#p5Ptws;d1V8&|p(OA4eM#0(3&FNbY6Lkyb1$<<*$@J12OSvKv4ttam1 z9Mbs|`#83j|+ zww=XBD*)(4M`S2+mONYF6EKc%cdCjwLM`0xo6>exuD4(Y!;$=q_Nx)Bjy-m)a=qQ@ znuq={_n_;5T}sa#)N0rb^?0g|l(mYLipp39yHG|)KOy0ue6|{2_|+IzSoWQ`WS;y& zQ14G^K-`)_RgG+dN&_=;FB$nN_Yc^C^w>7dF*x-8Bbri|?;nF61-pdP6s2E&;BH^c zWuB|LcJsw3)ZEc;!rdp0o+zS<7qjOMIDURJAEdfX{>(p(;PenuPAPm7L5H#qO~I;Aw&61a;H zFMd+K>dr!RF~#6nrZh-4*=mwxDf3y2k{x#noFe)1`OqinDV^F;&&Z3n?5U9on%D_NB0Y z?C^6y1RpijrVVao$o8! zoiLX1WF^;IK{qL-?}Stk(ZL@Ux$r(-mTVRMHjKe zli}iCGGDJnZeJzPh^%QW*|czBRNk@%Hwn))drG4A&7k|jktCMJQpD24-mz}PUHcYo zvg6zEi|IUqU*8YkLzW%Tnjv zIhaK8jPFscsV$F*K!)?EYMPN+jj=Dqdw)w~Zt64Z^!cTZlWNlHstUjZ;yx+Jq92cyLFPfZ&Alk|75os4$s^4JBmxt} z@k{79&=M46)k+$Yi-lx-LuxrcRn0xEfW9hv&2O55p2(BGNAGyzewSz;=n8Ws=^p?> z8AJaA7<}>X;e&vNx%$Z6>^$+aE*N$#OpdZOD*>Ypq*IfyV{CK1ut#^!0phku4wmE18|%} zYx__NaE&e5oQb=AK`*quZY96W@#$UYzMGE{08is2%9`vBtjAyF-;fCwUrsD%fbrIFP}FTlppFjHD@si*sVqp<*V4;Suv36> Y - Options to pass to the link command e.g. lopts=/traceback +* `lopts=` + Options to pass to the link command, e.g., `lopts=/traceback`. -ccopt= - Options to pass to the C compiler e.g. ccopt=/float=ieee +* `ccopt=` + 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 +Any problems can be reported to - Jouk Jansen or - Martin P.J. Zinser + Jouk Jansen or + +Orginal version of the build procedures was created by + + Martin P.J. Zinser ------------------------------------------------------------------------ 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