1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/modules/freetype2/vms_make.com Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,1286 @@ 1.4 +$! make Freetype2 under OpenVMS 1.5 +$! 1.6 +$! Copyright 2003, 2004, 2006, 2007, 2013 by 1.7 +$! David Turner, Robert Wilhelm, and Werner Lemberg. 1.8 +$! 1.9 +$! This file is part of the FreeType project, and may only be used, modified, 1.10 +$! and distributed under the terms of the FreeType project license, 1.11 +$! LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.12 +$! indicate that you have read the license and understand and accept it 1.13 +$! fully. 1.14 +$! 1.15 +$! 1.16 +$! External libraries (like Freetype, XPM, etc.) are supported via the 1.17 +$! config file VMSLIB.DAT. Please check the sample file, which is part of this 1.18 +$! distribution, for the information you need to provide 1.19 +$! 1.20 +$! This procedure currently does support the following commandline options 1.21 +$! in arbitrary order 1.22 +$! 1.23 +$! * DEBUG - Compile modules with /noopt/debug and link shareable image 1.24 +$! with /debug 1.25 +$! * LOPTS - Options to be passed to the link command 1.26 +$! * CCOPT - Options to be passed to the C compiler 1.27 +$! 1.28 +$! In case of problems with the install you might contact me at 1.29 +$! zinser@zinser.no-ip.info(preferred) or 1.30 +$! zinser@sysdev.deutsche-boerse.com (work) 1.31 +$! 1.32 +$! Make procedure history for Freetype2 1.33 +$! 1.34 +$!------------------------------------------------------------------------------ 1.35 +$! Version history 1.36 +$! 0.01 20040401 First version to receive a number 1.37 +$! 0.02 20041030 Add error handling, Freetype 2.1.9 1.38 +$! 1.39 +$ on error then goto err_exit 1.40 +$ true = 1 1.41 +$ false = 0 1.42 +$ tmpnam = "temp_" + f$getjpi("","pid") 1.43 +$ tt = tmpnam + ".txt" 1.44 +$ tc = tmpnam + ".c" 1.45 +$ th = tmpnam + ".h" 1.46 +$ its_decc = false 1.47 +$ its_vaxc = false 1.48 +$ its_gnuc = false 1.49 +$! 1.50 +$! Setup variables holding "config" information 1.51 +$! 1.52 +$ Make = "" 1.53 +$ ccopt = "/name=as_is/float=ieee" 1.54 +$ lopts = "" 1.55 +$ dnsrl = "" 1.56 +$ aconf_in_file = "config.hin" 1.57 +$ name = "Freetype2" 1.58 +$ mapfile = name + ".map" 1.59 +$ optfile = name + ".opt" 1.60 +$ s_case = false 1.61 +$ liblist = "" 1.62 +$! 1.63 +$ whoami = f$parse(f$environment("Procedure"),,,,"NO_CONCEAL") 1.64 +$ mydef = F$parse(whoami,,,"DEVICE") 1.65 +$ mydir = f$parse(whoami,,,"DIRECTORY") - "][" 1.66 +$ myproc = f$parse(whoami,,,"Name") + f$parse(whoami,,,"type") 1.67 +$! 1.68 +$! Check for MMK/MMS 1.69 +$! 1.70 +$ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS" 1.71 +$ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK" 1.72 +$! 1.73 +$! Which command parameters were given 1.74 +$! 1.75 +$ gosub check_opts 1.76 +$! 1.77 +$! Create option file 1.78 +$! 1.79 +$ open/write optf 'optfile' 1.80 +$! 1.81 +$! Pull in external libraries 1.82 +$! 1.83 +$ create libs.opt 1.84 +$ open/write libsf libs.opt 1.85 +$ gosub check_create_vmslib 1.86 +$! 1.87 +$! Create objects 1.88 +$! 1.89 +$ if libdefs .nes. "" 1.90 +$ then 1.91 +$ ccopt = ccopt + "/define=(" + f$extract(0,f$length(libdefs)-1,libdefs) + ")" 1.92 +$ endif 1.93 +$! 1.94 +$ if f$locate("AS_IS",f$edit(ccopt,"UPCASE")) .lt. f$length(ccopt) - 1.95 + then s_case = true 1.96 +$ gosub crea_mms 1.97 +$! 1.98 +$ 'Make' /macro=(comp_flags="''ccopt'") 1.99 +$ purge/nolog [...]descrip.mms 1.100 +$! 1.101 +$! Add them to options 1.102 +$! 1.103 +$FLOOP: 1.104 +$ file = f$edit(f$search("[...]*.obj"),"UPCASE") 1.105 +$ if (file .nes. "") 1.106 +$ then 1.107 +$ if f$locate("DEMOS",file) .eqs. f$length(file) then write optf file 1.108 +$ goto floop 1.109 +$ endif 1.110 +$! 1.111 +$ close optf 1.112 +$! 1.113 +$! 1.114 +$! Alpha gets a shareable image 1.115 +$! 1.116 +$ If f$getsyi("HW_MODEL") .gt. 1024 1.117 +$ Then 1.118 +$ write sys$output "Creating freetype2shr.exe" 1.119 +$ call anal_obj_axp 'optfile' _link.opt 1.120 +$ open/append optf 'optfile' 1.121 +$ if s_case then WRITE optf "case_sensitive=YES" 1.122 +$ close optf 1.123 +$ LINK_/NODEB/SHARE=[.lib]freetype2shr.exe - 1.124 + 'optfile'/opt,libs.opt/opt,_link.opt/opt 1.125 +$ endif 1.126 +$! 1.127 +$ exit 1.128 +$! 1.129 +$ 1.130 +$ERR_LIB: 1.131 +$ write sys$output "Error reading config file vmslib.dat" 1.132 +$ goto err_exit 1.133 +$FT2_ERR: 1.134 +$ write sys$output "Could not locate Freetype 2 include files" 1.135 +$ goto err_exit 1.136 +$ERR_EXIT: 1.137 +$ set message/facil/ident/sever/text 1.138 +$ close/nolog optf 1.139 +$ close/nolog out 1.140 +$ close/nolog libdata 1.141 +$ close/nolog in 1.142 +$ close/nolog atmp 1.143 +$ close/nolog xtmp 1.144 +$ write sys$output "Exiting..." 1.145 +$ exit 2 1.146 +$! 1.147 +$!------------------------------------------------------------------------------ 1.148 +$! 1.149 +$! If MMS/MMK are available dump out the descrip.mms if required 1.150 +$! 1.151 +$CREA_MMS: 1.152 +$ write sys$output "Creating descrip.mms files ..." 1.153 +$ write sys$output "... Main directory" 1.154 +$ create descrip.mms 1.155 +$ open/append out descrip.mms 1.156 +$ copy sys$input: out 1.157 +$ deck 1.158 +# 1.159 +# FreeType 2 build system -- top-level Makefile for OpenVMS 1.160 +# 1.161 + 1.162 + 1.163 +# Copyright 2001 by 1.164 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.165 +# 1.166 +# This file is part of the FreeType project, and may only be used, modified, 1.167 +# and distributed under the terms of the FreeType project license, 1.168 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.169 +# indicate that you have read the license and understand and accept it 1.170 +# fully. 1.171 +$ EOD 1.172 +$ write out "CFLAGS = ", ccopt 1.173 +$ copy sys$input: out 1.174 +$ deck 1.175 + 1.176 + 1.177 +all : 1.178 + define freetype [--.include] 1.179 + define psaux [-.psaux] 1.180 + define autofit [-.autofit] 1.181 + define autohint [-.autohint] 1.182 + define base [-.base] 1.183 + define cache [-.cache] 1.184 + define cff [-.cff] 1.185 + define cid [-.cid] 1.186 + define pcf [-.pcf] 1.187 + define psnames [-.psnames] 1.188 + define raster [-.raster] 1.189 + define sfnt [-.sfnt] 1.190 + define smooth [-.smooth] 1.191 + define truetype [-.truetype] 1.192 + define type1 [-.type1] 1.193 + define winfonts [-.winfonts] 1.194 + if f$search("lib.dir") .eqs. "" then create/directory [.lib] 1.195 + set default [.builds.vms] 1.196 + $(MMS)$(MMSQUALIFIERS) 1.197 +# set default [--.src.autofit] 1.198 +# $(MMS)$(MMSQUALIFIERS) 1.199 + set default [--.src.autohint] 1.200 + $(MMS)$(MMSQUALIFIERS) 1.201 + set default [-.base] 1.202 + $(MMS)$(MMSQUALIFIERS) 1.203 + set default [-.bdf] 1.204 + $(MMS)$(MMSQUALIFIERS) 1.205 + set default [-.cache] 1.206 + $(MMS)$(MMSQUALIFIERS) 1.207 + set default [-.cff] 1.208 + $(MMS)$(MMSQUALIFIERS) 1.209 + set default [-.cid] 1.210 + $(MMS)$(MMSQUALIFIERS) 1.211 + set default [-.gzip] 1.212 + $(MMS)$(MMSQUALIFIERS) 1.213 + set default [-.lzw] 1.214 + $(MMS)$(MMSQUALIFIERS) 1.215 + set default [-.otvalid] 1.216 + $(MMS)$(MMSQUALIFIERS) 1.217 + set default [-.pcf] 1.218 + $(MMS)$(MMSQUALIFIERS) 1.219 + set default [-.pfr] 1.220 + $(MMS)$(MMSQUALIFIERS) 1.221 + set default [-.psaux] 1.222 + $(MMS)$(MMSQUALIFIERS) 1.223 + set default [-.pshinter] 1.224 + $(MMS)$(MMSQUALIFIERS) 1.225 + set default [-.psnames] 1.226 + $(MMS)$(MMSQUALIFIERS) 1.227 + set default [-.raster] 1.228 + $(MMS)$(MMSQUALIFIERS) 1.229 + set default [-.sfnt] 1.230 + $(MMS)$(MMSQUALIFIERS) 1.231 + set default [-.smooth] 1.232 + $(MMS)$(MMSQUALIFIERS) 1.233 + set default [-.truetype] 1.234 + $(MMS)$(MMSQUALIFIERS) 1.235 + set default [-.type1] 1.236 + $(MMS)$(MMSQUALIFIERS) 1.237 + set default [-.type42] 1.238 + $(MMS)$(MMSQUALIFIERS) 1.239 + set default [-.winfonts] 1.240 + $(MMS)$(MMSQUALIFIERS) 1.241 + set default [--] 1.242 + 1.243 +# EOF 1.244 +$ eod 1.245 +$ close out 1.246 +$ write sys$output "... [.builds.vms] directory" 1.247 +$ create [.builds.vms]descrip.mms 1.248 +$ open/append out [.builds.vms]descrip.mms 1.249 +$ copy sys$input: out 1.250 +$ deck 1.251 +# 1.252 +# FreeType 2 system rules for VMS 1.253 +# 1.254 + 1.255 + 1.256 +# Copyright 2001 by 1.257 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.258 +# 1.259 +# This file is part of the FreeType project, and may only be used, modified, 1.260 +# and distributed under the terms of the FreeType project license, 1.261 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.262 +# indicate that you have read the license and understand and accept it 1.263 +# fully. 1.264 + 1.265 + 1.266 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([],[--.include],[--.src.base]) 1.267 + 1.268 +OBJS=ftsystem.obj 1.269 + 1.270 +all : $(OBJS) 1.271 + library/create [--.lib]freetype.olb $(OBJS) 1.272 + 1.273 +ftsystem.obj : ftsystem.c ftconfig.h 1.274 + 1.275 +# EOF 1.276 +$ eod 1.277 +$ close out 1.278 +$ write sys$output "... [.src.autofit] directory" 1.279 +$ create [.src.autofit]descrip.mms 1.280 +$ open/append out [.src.autofit]descrip.mms 1.281 +$ copy sys$input: out 1.282 +$ deck 1.283 +# 1.284 +# FreeType 2 auto-fit module compilation rules for VMS 1.285 +# 1.286 + 1.287 + 1.288 +# Copyright 2002 by 1.289 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.290 +# 1.291 +# This file is part of the FreeType project, and may only be used, modified, 1.292 +# and distributed under the terms of the FreeType project license, 1.293 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.294 +# indicate that you have read the license and understand and accept it 1.295 +# fully. 1.296 + 1.297 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.autofit]) 1.298 + 1.299 +OBJS=afangles.obj,afhints.obj,aflatin.obj 1.300 + 1.301 +all : $(OBJS) 1.302 + library [--.lib]freetype.olb $(OBJS) 1.303 + 1.304 +# EOF 1.305 +$ eod 1.306 +$ close out 1.307 +$ write sys$output "... [.src.autohint] directory" 1.308 +$ create [.src.autohint]descrip.mms 1.309 +$ open/append out [.src.autohint]descrip.mms 1.310 +$ copy sys$input: out 1.311 +$ deck 1.312 +# 1.313 +# FreeType 2 auto-hinter module compilation rules for VMS 1.314 +# 1.315 + 1.316 + 1.317 +# Copyright 2001, 2002 Catharon Productions Inc. 1.318 +# 1.319 +# This file is part of the Catharon Typography Project and shall only 1.320 +# be used, modified, and distributed under the terms of the Catharon 1.321 +# Open Source License that should come with this file under the name 1.322 +# `CatharonLicense.txt'. By continuing to use, modify, or distribute 1.323 +# this file you indicate that you have read the license and 1.324 +# understand and accept it fully. 1.325 +# 1.326 +# Note that this license is compatible with the FreeType license. 1.327 + 1.328 + 1.329 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/incl=([--.include],[--.src.autohint]) 1.330 + 1.331 +OBJS=autohint.obj 1.332 + 1.333 +all : $(OBJS) 1.334 + library [--.lib]freetype.olb $(OBJS) 1.335 + 1.336 +# EOF 1.337 +$ eod 1.338 +$ close out 1.339 +$ write sys$output "... [.src.base] directory" 1.340 +$ create [.src.base]descrip.mms 1.341 +$ open/append out [.src.base]descrip.mms 1.342 +$ copy sys$input: out 1.343 +$ deck 1.344 +# 1.345 +# FreeType 2 base layer compilation rules for VMS 1.346 +# 1.347 + 1.348 + 1.349 +# Copyright 2001, 2003 by 1.350 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.351 +# 1.352 +# This file is part of the FreeType project, and may only be used, modified, 1.353 +# and distributed under the terms of the FreeType project license, 1.354 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.355 +# indicate that you have read the license and understand and accept it 1.356 +# fully. 1.357 + 1.358 + 1.359 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.builds.vms],[--.include],[--.src.base]) 1.360 + 1.361 +OBJS=ftbase.obj,ftinit.obj,ftglyph.obj,ftdebug.obj,ftbdf.obj,ftmm.obj,\ 1.362 + fttype1.obj,ftxf86.obj,ftpfr.obj,ftstroke.obj,ftwinfnt.obj,ftbbox.obj,\ 1.363 + ftbitmap.obj ftlcdfil.obj ftgasp.obj 1.364 + 1.365 +all : $(OBJS) 1.366 + library [--.lib]freetype.olb $(OBJS) 1.367 + 1.368 +# EOF 1.369 +$ eod 1.370 +$ close out 1.371 +$ write sys$output "... [.src.bdf] directory" 1.372 +$ create [.src.bdf]descrip.mms 1.373 +$ open/append out [.src.bdf]descrip.mms 1.374 +$ copy sys$input: out 1.375 +$ deck 1.376 +# 1.377 +# FreeType 2 BDF driver compilation rules for VMS 1.378 +# 1.379 + 1.380 + 1.381 +# Copyright 2002 by 1.382 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.383 +# 1.384 +# This file is part of the FreeType project, and may only be used, modified, 1.385 +# and distributed under the terms of the FreeType project license, 1.386 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.387 +# indicate that you have read the license and understand and accept it 1.388 +# fully. 1.389 + 1.390 + 1.391 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.bdf]) 1.392 + 1.393 +OBJS=bdf.obj 1.394 + 1.395 +all : $(OBJS) 1.396 + library [--.lib]freetype.olb $(OBJS) 1.397 + 1.398 +# EOF 1.399 +$ eod 1.400 +$ close out 1.401 +$ write sys$output "... [.src.cache] directory" 1.402 +$ create [.src.cache]descrip.mms 1.403 +$ open/append out [.src.cache]descrip.mms 1.404 +$ copy sys$input: out 1.405 +$ deck 1.406 +# 1.407 +# FreeType 2 Cache compilation rules for VMS 1.408 +# 1.409 + 1.410 + 1.411 +# Copyright 2001, 2002, 2003, 2004 by 1.412 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.413 +# 1.414 +# This file is part of the FreeType project, and may only be used, modified, 1.415 +# and distributed under the terms of the FreeType project license, 1.416 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.417 +# indicate that you have read the license and understand and accept it 1.418 +# fully. 1.419 + 1.420 + 1.421 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.cache]) 1.422 + 1.423 +OBJS=ftcache.obj 1.424 + 1.425 +all : $(OBJS) 1.426 + library [--.lib]freetype.olb $(OBJS) 1.427 + 1.428 +ftcache.obj : ftcache.c ftcbasic.c ftccache.c ftccmap.c ftcglyph.c ftcimage.c \ 1.429 + ftcmanag.c ftcmru.c ftcsbits.c 1.430 + 1.431 +# EOF 1.432 +$ eod 1.433 +$ close out 1.434 +$ write sys$output "... [.src.cff] directory" 1.435 +$ create [.src.cff]descrip.mms 1.436 +$ open/append out [.src.cff]descrip.mms 1.437 +$ copy sys$input: out 1.438 +$ deck 1.439 +# 1.440 +# FreeType 2 OpenType/CFF driver compilation rules for VMS 1.441 +# 1.442 + 1.443 + 1.444 +# Copyright 2001, 2002 by 1.445 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.446 +# 1.447 +# This file is part of the FreeType project, and may only be used, modified, 1.448 +# and distributed under the terms of the FreeType project license, 1.449 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.450 +# indicate that you have read the license and understand and accept it 1.451 +# fully. 1.452 + 1.453 + 1.454 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.cff]) 1.455 + 1.456 +OBJS=cff.obj 1.457 + 1.458 +all : $(OBJS) 1.459 + library [--.lib]freetype.olb $(OBJS) 1.460 + 1.461 +# EOF 1.462 +$ eod 1.463 +$ close out 1.464 +$ write sys$output "... [.src.cid] directory" 1.465 +$ create [.src.cid]descrip.mms 1.466 +$ open/append out [.src.cid]descrip.mms 1.467 +$ copy sys$input: out 1.468 +$ deck 1.469 +# 1.470 +# FreeType 2 CID driver compilation rules for VMS 1.471 +# 1.472 + 1.473 + 1.474 +# Copyright 2001 by 1.475 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.476 +# 1.477 +# This file is part of the FreeType project, and may only be used, modified, 1.478 +# and distributed under the terms of the FreeType project license, 1.479 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.480 +# indicate that you have read the license and understand and accept it 1.481 +# fully. 1.482 + 1.483 + 1.484 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.cid]) 1.485 + 1.486 +OBJS=type1cid.obj 1.487 + 1.488 +all : $(OBJS) 1.489 + library [--.lib]freetype.olb $(OBJS) 1.490 + 1.491 +# EOF 1.492 +$ eod 1.493 +$ close out 1.494 +$ write sys$output "... [.src.gzip] directory" 1.495 +$ create [.src.gzip]descrip.mms 1.496 +$ open/append out [.src.gzip]descrip.mms 1.497 +$ copy sys$input: out 1.498 +$ deck 1.499 +# 1.500 +# FreeType 2 GZip support compilation rules for VMS 1.501 +# 1.502 + 1.503 + 1.504 +# Copyright 2002 by 1.505 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.506 +# 1.507 +# This file is part of the FreeType project, and may only be used, modified, 1.508 +# and distributed under the terms of the FreeType project license, 1.509 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.510 +# indicate that you have read the license and understand and accept it 1.511 +# fully. 1.512 +$EOD 1.513 +$ if libincs .nes. "" then write out "LIBINCS = ", libincs - ",", "," 1.514 +$ write out "COMP_FLAGS = ", ccopt 1.515 +$ copy sys$input: out 1.516 +$ deck 1.517 + 1.518 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=($(LIBINCS)[--.include],[--.src.gzip]) 1.519 + 1.520 +OBJS=ftgzip.obj 1.521 + 1.522 +all : $(OBJS) 1.523 + library [--.lib]freetype.olb $(OBJS) 1.524 + 1.525 +# EOF 1.526 +$ eod 1.527 +$ close out 1.528 +$ write sys$output "... [.src.lzw] directory" 1.529 +$ create [.src.lzw]descrip.mms 1.530 +$ open/append out [.src.lzw]descrip.mms 1.531 +$ copy sys$input: out 1.532 +$ deck 1.533 +# 1.534 +# FreeType 2 LZW support compilation rules for VMS 1.535 +# 1.536 + 1.537 + 1.538 +# Copyright 2004 by 1.539 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.540 +# 1.541 +# This file is part of the FreeType project, and may only be used, modified, 1.542 +# and distributed under the terms of the FreeType project license, 1.543 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.544 +# indicate that you have read the license and understand and accept it 1.545 +# fully. 1.546 +$EOD 1.547 +$ if libincs .nes. "" then write out "LIBINCS = ", libincs - ",", "," 1.548 +$ write out "COMP_FLAGS = ", ccopt 1.549 +$ copy sys$input: out 1.550 +$ deck 1.551 + 1.552 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=($(LIBINCS)[--.include],[--.src.lzw]) 1.553 + 1.554 +OBJS=ftlzw.obj 1.555 + 1.556 +all : $(OBJS) 1.557 + library [--.lib]freetype.olb $(OBJS) 1.558 + 1.559 +# EOF 1.560 +$ eod 1.561 +$ close out 1.562 +$ write sys$output "... [.src.otlayout] directory" 1.563 +$ create [.src.otlayout]descrip.mms 1.564 +$ open/append out [.src.otlayout]descrip.mms 1.565 +$ copy sys$input: out 1.566 +$ deck 1.567 +# 1.568 +# FreeType 2 OT layout compilation rules for VMS 1.569 +# 1.570 + 1.571 + 1.572 +# Copyright 2004 by 1.573 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.574 +# 1.575 +# This file is part of the FreeType project, and may only be used, modified, 1.576 +# and distributed under the terms of the FreeType project license, 1.577 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.578 +# indicate that you have read the license and understand and accept it 1.579 +# fully. 1.580 + 1.581 + 1.582 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.otlayout]) 1.583 + 1.584 +OBJS=otlbase.obj,otlcommn.obj,otlgdef.obj,otlgpos.obj,otlgsub.obj,\ 1.585 + otljstf.obj,otlparse.obj 1.586 + 1.587 +all : $(OBJS) 1.588 + library [--.lib]freetype.olb $(OBJS) 1.589 + 1.590 + 1.591 +# EOF 1.592 +$ eod 1.593 +$ close out 1.594 +$ write sys$output "... [.src.otvalid] directory" 1.595 +$ create [.src.otvalid]descrip.mms 1.596 +$ open/append out [.src.otvalid]descrip.mms 1.597 +$ copy sys$input: out 1.598 +$ deck 1.599 +# 1.600 +# FreeType 2 OpenType validation module compilation rules for VMS 1.601 +# 1.602 + 1.603 + 1.604 +# Copyright 2004 by 1.605 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.606 +# 1.607 +# This file is part of the FreeType project, and may only be used, modified, 1.608 +# and distributed under the terms of the FreeType project license, 1.609 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.610 +# indicate that you have read the license and understand and accept it 1.611 +# fully. 1.612 + 1.613 + 1.614 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.otvalid]) 1.615 + 1.616 +OBJS=otvalid.obj 1.617 + 1.618 +all : $(OBJS) 1.619 + library [--.lib]freetype.olb $(OBJS) 1.620 + 1.621 +# EOF 1.622 +$ eod 1.623 +$ close out 1.624 +$ write sys$output "... [.src.pcf] directory" 1.625 +$ create [.src.pcf]descrip.mms 1.626 +$ open/append out [.src.pcf]descrip.mms 1.627 +$ copy sys$input: out 1.628 +$ deck 1.629 +# 1.630 +# FreeType 2 pcf driver compilation rules for VMS 1.631 +# 1.632 + 1.633 + 1.634 +# Copyright (C) 2001, 2002 by 1.635 +# Francesco Zappa Nardelli 1.636 +# 1.637 +# Permission is hereby granted, free of charge, to any person obtaining a copy 1.638 +# of this software and associated documentation files (the "Software"), to deal 1.639 +# in the Software without restriction, including without limitation the rights 1.640 +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 1.641 +# copies of the Software, and to permit persons to whom the Software is 1.642 +# furnished to do so, subject to the following conditions: 1.643 +# 1.644 +# The above copyright notice and this permission notice shall be included in 1.645 +# all copies or substantial portions of the Software. 1.646 +# 1.647 +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1.648 +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1.649 +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 1.650 +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 1.651 +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 1.652 +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 1.653 +# THE SOFTWARE. 1.654 + 1.655 + 1.656 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.pcf]) 1.657 + 1.658 +OBJS=pcf.obj 1.659 + 1.660 +all : $(OBJS) 1.661 + library [--.lib]freetype.olb $(OBJS) 1.662 + 1.663 +# EOF 1.664 +$ eod 1.665 +$ close out 1.666 +$ write sys$output "... [.src.pfr] directory" 1.667 +$ create [.src.pfr]descrip.mms 1.668 +$ open/append out [.src.pfr]descrip.mms 1.669 +$ copy sys$input: out 1.670 +$ deck 1.671 +# 1.672 +# FreeType 2 PFR driver compilation rules for VMS 1.673 +# 1.674 + 1.675 + 1.676 +# Copyright 2002 by 1.677 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.678 +# 1.679 +# This file is part of the FreeType project, and may only be used, modified, 1.680 +# and distributed under the terms of the FreeType project license, 1.681 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.682 +# indicate that you have read the license and understand and accept it 1.683 +# fully. 1.684 + 1.685 + 1.686 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.pfr]) 1.687 + 1.688 +OBJS=pfr.obj 1.689 + 1.690 +all : $(OBJS) 1.691 + library [--.lib]freetype.olb $(OBJS) 1.692 + 1.693 +# EOF 1.694 +$ eod 1.695 +$ close out 1.696 +$ write sys$output "... [.src.psaux] directory" 1.697 +$ create [.src.psaux]descrip.mms 1.698 +$ open/append out [.src.psaux]descrip.mms 1.699 +$ copy sys$input: out 1.700 +$ deck 1.701 +# 1.702 +# FreeType 2 PSaux driver compilation rules for VMS 1.703 +# 1.704 + 1.705 + 1.706 +# Copyright 2001, 2002 by 1.707 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.708 +# 1.709 +# This file is part of the FreeType project, and may only be used, modified, 1.710 +# and distributed under the terms of the FreeType project license, 1.711 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.712 +# indicate that you have read the license and understand and accept it 1.713 +# fully. 1.714 + 1.715 + 1.716 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.psaux]) 1.717 + 1.718 +OBJS=psaux.obj 1.719 + 1.720 +all : $(OBJS) 1.721 + library [--.lib]freetype.olb $(OBJS) 1.722 + 1.723 +# EOF 1.724 +$ eod 1.725 +$ close out 1.726 +$ write sys$output "... [.src.pshinter] directory" 1.727 +$ create [.src.pshinter]descrip.mms 1.728 +$ open/append out [.src.pshinter]descrip.mms 1.729 +$ copy sys$input: out 1.730 +$ deck 1.731 +# 1.732 +# FreeType 2 PSHinter driver compilation rules for OpenVMS 1.733 +# 1.734 + 1.735 + 1.736 +# Copyright 2001, 2002 by 1.737 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.738 +# 1.739 +# This file is part of the FreeType project, and may only be used, modified, 1.740 +# and distributed under the terms of the FreeType project license, 1.741 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.742 +# indicate that you have read the license and understand and accept it 1.743 +# fully. 1.744 + 1.745 + 1.746 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.psnames]) 1.747 + 1.748 +OBJS=pshinter.obj 1.749 + 1.750 +all : $(OBJS) 1.751 + library [--.lib]freetype.olb $(OBJS) 1.752 + 1.753 +# EOF 1.754 +$ eod 1.755 +$ close out 1.756 +$ write sys$output "... [.src.psnames] directory" 1.757 +$ create [.src.psnames]descrip.mms 1.758 +$ open/append out [.src.psnames]descrip.mms 1.759 +$ copy sys$input: out 1.760 +$ deck 1.761 +# 1.762 +# FreeType 2 PSNames driver compilation rules for VMS 1.763 +# 1.764 + 1.765 + 1.766 +# Copyright 2001, 2002 by 1.767 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.768 +# 1.769 +# This file is part of the FreeType project, and may only be used, modified, 1.770 +# and distributed under the terms of the FreeType project license, 1.771 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.772 +# indicate that you have read the license and understand and accept it 1.773 +# fully. 1.774 + 1.775 + 1.776 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.psnames]) 1.777 + 1.778 +OBJS=psnames.obj 1.779 + 1.780 +all : $(OBJS) 1.781 + library [--.lib]freetype.olb $(OBJS) 1.782 + 1.783 +# EOF 1.784 +$ eod 1.785 +$ close out 1.786 +$ write sys$output "... [.src.raster] directory" 1.787 +$ create [.src.raster]descrip.mms 1.788 +$ open/append out [.src.raster]descrip.mms 1.789 +$ copy sys$input: out 1.790 +$ deck 1.791 +# 1.792 +# FreeType 2 renderer module compilation rules for VMS 1.793 +# 1.794 + 1.795 + 1.796 +# Copyright 2001 by 1.797 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.798 +# 1.799 +# This file is part of the FreeType project, and may only be used, modified, 1.800 +# and distributed under the terms of the FreeType project license, 1.801 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.802 +# indicate that you have read the license and understand and accept it 1.803 +# fully. 1.804 + 1.805 + 1.806 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.raster]) 1.807 + 1.808 +OBJS=raster.obj 1.809 + 1.810 +all : $(OBJS) 1.811 + library [--.lib]freetype.olb $(OBJS) 1.812 + 1.813 +# EOF 1.814 +$ eod 1.815 +$ close out 1.816 +$ write sys$output "... [.src.sfnt] directory" 1.817 +$ create [.src.sfnt]descrip.mms 1.818 +$ open/append out [.src.sfnt]descrip.mms 1.819 +$ copy sys$input: out 1.820 +$ deck 1.821 +# 1.822 +# FreeType 2 SFNT driver compilation rules for VMS 1.823 +# 1.824 + 1.825 + 1.826 +# Copyright 2001, 2002 by 1.827 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.828 +# 1.829 +# This file is part of the FreeType project, and may only be used, modified, 1.830 +# and distributed under the terms of the FreeType project license, 1.831 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.832 +# indicate that you have read the license and understand and accept it 1.833 +# fully. 1.834 + 1.835 + 1.836 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.sfnt]) 1.837 + 1.838 +OBJS=sfnt.obj 1.839 + 1.840 +all : $(OBJS) 1.841 + library [--.lib]freetype.olb $(OBJS) 1.842 + 1.843 +# EOF 1.844 +$ eod 1.845 +$ close out 1.846 +$ write sys$output "... [.src.smooth] directory" 1.847 +$ create [.src.smooth]descrip.mms 1.848 +$ open/append out [.src.smooth]descrip.mms 1.849 +$ copy sys$input: out 1.850 +$ deck 1.851 +# 1.852 +# FreeType 2 smooth renderer module compilation rules for VMS 1.853 +# 1.854 + 1.855 + 1.856 +# Copyright 2001 by 1.857 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.858 +# 1.859 +# This file is part of the FreeType project, and may only be used, modified, 1.860 +# and distributed under the terms of the FreeType project license, 1.861 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.862 +# indicate that you have read the license and understand and accept it 1.863 +# fully. 1.864 + 1.865 + 1.866 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.smooth]) 1.867 + 1.868 +OBJS=smooth.obj 1.869 + 1.870 +all : $(OBJS) 1.871 + library [--.lib]freetype.olb $(OBJS) 1.872 + 1.873 +# EOF 1.874 +$ eod 1.875 +$ close out 1.876 +$ write sys$output "... [.src.truetype] directory" 1.877 +$ create [.src.truetype]descrip.mms 1.878 +$ open/append out [.src.truetype]descrip.mms 1.879 +$ copy sys$input: out 1.880 +$ deck 1.881 +# 1.882 +# FreeType 2 TrueType driver compilation rules for VMS 1.883 +# 1.884 + 1.885 + 1.886 +# Copyright 2001, 2002 by 1.887 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.888 +# 1.889 +# This file is part of the FreeType project, and may only be used, modified, 1.890 +# and distributed under the terms of the FreeType project license, 1.891 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.892 +# indicate that you have read the license and understand and accept it 1.893 +# fully. 1.894 + 1.895 + 1.896 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.truetype]) 1.897 + 1.898 +OBJS=truetype.obj 1.899 + 1.900 +all : $(OBJS) 1.901 + library [--.lib]freetype.olb $(OBJS) 1.902 + 1.903 +# EOF 1.904 +$ eod 1.905 +$ close out 1.906 +$ write sys$output "... [.src.type1] directory" 1.907 +$ create [.src.type1]descrip.mms 1.908 +$ open/append out [.src.type1]descrip.mms 1.909 +$ copy sys$input: out 1.910 +$ deck 1.911 +# 1.912 +# FreeType 2 Type1 driver compilation rules for VMS 1.913 +# 1.914 + 1.915 + 1.916 +# Copyright 1996-2000, 2002 by 1.917 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.918 +# 1.919 +# This file is part of the FreeType project, and may only be used, modified, 1.920 +# and distributed under the terms of the FreeType project license, 1.921 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.922 +# indicate that you have read the license and understand and accept it 1.923 +# fully. 1.924 + 1.925 + 1.926 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.type1]) 1.927 + 1.928 +OBJS=type1.obj 1.929 + 1.930 +all : $(OBJS) 1.931 + library [--.lib]freetype.olb $(OBJS) 1.932 + 1.933 +type1.obj : type1.c t1parse.c t1load.c t1objs.c t1driver.c t1gload.c t1afm.c 1.934 + 1.935 +# EOF 1.936 +$ eod 1.937 +$ close out 1.938 +$ write sys$output "... [.src.type42] directory" 1.939 +$ create [.src.type42]descrip.mms 1.940 +$ open/append out [.src.type42]descrip.mms 1.941 +$ copy sys$input: out 1.942 +$ deck 1.943 +# 1.944 +# FreeType 2 Type 42 driver compilation rules for VMS 1.945 +# 1.946 + 1.947 + 1.948 +# Copyright 2002 by 1.949 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.950 +# 1.951 +# This file is part of the FreeType project, and may only be used, modified, 1.952 +# and distributed under the terms of the FreeType project license, 1.953 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.954 +# indicate that you have read the license and understand and accept it 1.955 +# fully. 1.956 + 1.957 + 1.958 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.type42]) 1.959 + 1.960 +OBJS=type42.obj 1.961 + 1.962 +all : $(OBJS) 1.963 + library [--.lib]freetype.olb $(OBJS) 1.964 + 1.965 +# EOF 1.966 +$ eod 1.967 +$ close out 1.968 +$ write sys$output "... [.src.winfonts] directory" 1.969 +$ create [.src.winfonts]descrip.mms 1.970 +$ open/append out [.src.winfonts]descrip.mms 1.971 +$ copy sys$input: out 1.972 +$ deck 1.973 +# 1.974 +# FreeType 2 Windows FNT/FON driver compilation rules for VMS 1.975 +# 1.976 + 1.977 + 1.978 +# Copyright 2001, 2002 by 1.979 +# David Turner, Robert Wilhelm, and Werner Lemberg. 1.980 +# 1.981 +# This file is part of the FreeType project, and may only be used, modified, 1.982 +# and distributed under the terms of the FreeType project license, 1.983 +# LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.984 +# indicate that you have read the license and understand and accept it 1.985 +# fully. 1.986 + 1.987 + 1.988 +CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.winfonts]) 1.989 + 1.990 +OBJS=winfnt.obj 1.991 + 1.992 +all : $(OBJS) 1.993 + library [--.lib]freetype.olb $(OBJS) 1.994 + 1.995 +# EOF 1.996 +$ eod 1.997 +$ close out 1.998 +$ return 1.999 +$!------------------------------------------------------------------------------ 1.1000 +$! 1.1001 +$! Check command line options and set symbols accordingly 1.1002 +$! 1.1003 +$ CHECK_OPTS: 1.1004 +$ i = 1 1.1005 +$ OPT_LOOP: 1.1006 +$ if i .lt. 9 1.1007 +$ then 1.1008 +$ cparm = f$edit(p'i',"upcase") 1.1009 +$ if cparm .eqs. "DEBUG" 1.1010 +$ then 1.1011 +$ ccopt = ccopt + "/noopt/deb" 1.1012 +$ lopts = lopts + "/deb" 1.1013 +$ endif 1.1014 +$ if f$locate("CCOPT=",cparm) .lt. f$length(cparm) 1.1015 +$ then 1.1016 +$ start = f$locate("=",cparm) + 1 1.1017 +$ len = f$length(cparm) - start 1.1018 +$ ccopt = ccopt + f$extract(start,len,cparm) 1.1019 +$ endif 1.1020 +$ if cparm .eqs. "LINK" then linkonly = true 1.1021 +$ if f$locate("LOPTS=",cparm) .lt. f$length(cparm) 1.1022 +$ then 1.1023 +$ start = f$locate("=",cparm) + 1 1.1024 +$ len = f$length(cparm) - start 1.1025 +$ lopts = lopts + f$extract(start,len,cparm) 1.1026 +$ endif 1.1027 +$ if f$locate("CC=",cparm) .lt. f$length(cparm) 1.1028 +$ then 1.1029 +$ start = f$locate("=",cparm) + 1 1.1030 +$ len = f$length(cparm) - start 1.1031 +$ cc_com = f$extract(start,len,cparm) 1.1032 + if (cc_com .nes. "DECC") .and. - 1.1033 + (cc_com .nes. "VAXC") .and. - 1.1034 + (cc_com .nes. "GNUC") 1.1035 +$ then 1.1036 +$ write sys$output "Unsupported compiler choice ''cc_com' ignored" 1.1037 +$ write sys$output "Use DECC, VAXC, or GNUC instead" 1.1038 +$ else 1.1039 +$ if cc_com .eqs. "DECC" then its_decc = true 1.1040 +$ if cc_com .eqs. "VAXC" then its_vaxc = true 1.1041 +$ if cc_com .eqs. "GNUC" then its_gnuc = true 1.1042 +$ endif 1.1043 +$ endif 1.1044 +$ if f$locate("MAKE=",cparm) .lt. f$length(cparm) 1.1045 +$ then 1.1046 +$ start = f$locate("=",cparm) + 1 1.1047 +$ len = f$length(cparm) - start 1.1048 +$ mmks = f$extract(start,len,cparm) 1.1049 +$ if (mmks .eqs. "MMK") .or. (mmks .eqs. "MMS") 1.1050 +$ then 1.1051 +$ make = mmks 1.1052 +$ else 1.1053 +$ write sys$output "Unsupported make choice ''mmks' ignored" 1.1054 +$ write sys$output "Use MMK or MMS instead" 1.1055 +$ endif 1.1056 +$ endif 1.1057 +$ i = i + 1 1.1058 +$ goto opt_loop 1.1059 +$ endif 1.1060 +$ return 1.1061 +$!------------------------------------------------------------------------------ 1.1062 +$! 1.1063 +$! Take care of driver file with information about external libraries 1.1064 +$! 1.1065 +$! Version history 1.1066 +$! 0.01 20040220 First version to receive a number 1.1067 +$! 0.02 20040229 Echo current procedure name; use general error exit handler 1.1068 +$! Remove xpm hack -> Replaced by more general dnsrl handling 1.1069 +$CHECK_CREATE_VMSLIB: 1.1070 +$! 1.1071 +$ if f$search("VMSLIB.DAT") .eqs. "" 1.1072 +$ then 1.1073 +$ type/out=vmslib.dat sys$input 1.1074 +! 1.1075 +! This is a simple driver file with information used by vms_make.com to 1.1076 +! check if external libraries (like t1lib and freetype) are available on 1.1077 +! the system. 1.1078 +! 1.1079 +! Layout of the file: 1.1080 +! 1.1081 +! - Lines starting with ! are treated as comments 1.1082 +! - Elements in a data line are separated by # signs 1.1083 +! - The elements need to be listed in the following order 1.1084 +! 1.) Name of the Library (only used for informative messages 1.1085 +! from vms_make.com) 1.1086 +! 2.) Location where the object library can be found 1.1087 +! 3.) Location where the include files for the library can be found 1.1088 +! 4.) Include file used to verify library location 1.1089 +! 5.) CPP define to pass to the build to indicate availability of 1.1090 +! the library 1.1091 +! 1.1092 +! Example: The following lines show how definitions 1.1093 +! might look like. They are site specific and the locations of the 1.1094 +! library and include files need almost certainly to be changed. 1.1095 +! 1.1096 +! Location: All of the libaries can be found at the following addresses 1.1097 +! 1.1098 +! ZLIB: http://zinser.no-ip.info/vms/sw/zlib.htmlx 1.1099 +! 1.1100 +ZLIB # sys$library:libz.olb # sys$library: # zlib.h # FT_CONFIG_OPTION_SYSTEM_ZLIB 1.1101 +$ write sys$output "New driver file vmslib.dat created." 1.1102 +$ write sys$output "Please customize libary locations for your site" 1.1103 +$ write sys$output "and afterwards re-execute ''myproc'" 1.1104 +$ goto err_exit 1.1105 +$ endif 1.1106 +$! 1.1107 +$! Init symbols used to hold CPP definitions and include path 1.1108 +$! 1.1109 +$ libdefs = "" 1.1110 +$ libincs = "" 1.1111 +$! 1.1112 +$! Open data file with location of libraries 1.1113 +$! 1.1114 +$ open/read/end=end_lib/err=err_lib libdata VMSLIB.DAT 1.1115 +$LIB_LOOP: 1.1116 +$ read/end=end_lib libdata libline 1.1117 +$ libline = f$edit(libline, "UNCOMMENT,COLLAPSE") 1.1118 +$ if libline .eqs. "" then goto LIB_LOOP ! Comment line 1.1119 +$ libname = f$edit(f$element(0,"#",libline),"UPCASE") 1.1120 +$ write sys$output "Processing ''libname' setup ..." 1.1121 +$ libloc = f$element(1,"#",libline) 1.1122 +$ libsrc = f$element(2,"#",libline) 1.1123 +$ testinc = f$element(3,"#",libline) 1.1124 +$ cppdef = f$element(4,"#",libline) 1.1125 +$ old_cpp = f$locate("=1",cppdef) 1.1126 +$ if old_cpp.lt.f$length(cppdef) then cppdef = f$extract(0,old_cpp,cppdef) 1.1127 +$ if f$search("''libloc'").eqs. "" 1.1128 +$ then 1.1129 +$ write sys$output "Can not find library ''libloc' - Skipping ''libname'" 1.1130 +$ goto LIB_LOOP 1.1131 +$ endif 1.1132 +$ libsrc_elem = 0 1.1133 +$ libsrc_found = false 1.1134 +$LIBSRC_LOOP: 1.1135 +$ libsrcdir = f$element(libsrc_elem,",",libsrc) 1.1136 +$ if (libsrcdir .eqs. ",") then goto END_LIBSRC 1.1137 +$ if f$search("''libsrcdir'''testinc'") .nes. "" then libsrc_found = true 1.1138 +$ libsrc_elem = libsrc_elem + 1 1.1139 +$ goto LIBSRC_LOOP 1.1140 +$END_LIBSRC: 1.1141 +$ if .not. libsrc_found 1.1142 +$ then 1.1143 +$ write sys$output "Can not find includes at ''libsrc' - Skipping ''libname'" 1.1144 +$ goto LIB_LOOP 1.1145 +$ endif 1.1146 +$ if (cppdef .nes. "") then libdefs = libdefs + cppdef + "," 1.1147 +$ libincs = libincs + "," + libsrc 1.1148 +$ lqual = "/lib" 1.1149 +$ libtype = f$edit(f$parse(libloc,,,"TYPE"),"UPCASE") 1.1150 +$ if f$locate("EXE",libtype) .lt. f$length(libtype) then lqual = "/share" 1.1151 +$ write optf libloc , lqual 1.1152 +$ if (f$trnlnm("topt") .nes. "") then write topt libloc , lqual 1.1153 +$! 1.1154 +$! Nasty hack to get the freetype includes to work 1.1155 +$! 1.1156 +$ ft2def = false 1.1157 +$ if ((libname .eqs. "FREETYPE") .and. - 1.1158 + (f$locate("FREETYPE2",cppdef) .lt. f$length(cppdef))) 1.1159 +$ then 1.1160 +$ if ((f$search("freetype:freetype.h") .nes. "") .and. - 1.1161 + (f$search("freetype:[internal]ftobjs.h") .nes. "")) 1.1162 +$ then 1.1163 +$ write sys$output "Will use local definition of freetype logical" 1.1164 +$ else 1.1165 +$ ft2elem = 0 1.1166 +$FT2_LOOP: 1.1167 +$ ft2srcdir = f$element(ft2elem,",",libsrc) 1.1168 +$ if f$search("''ft2srcdir'''testinc'") .nes. "" 1.1169 +$ then 1.1170 +$ if f$search("''ft2srcdir'internal.dir") .nes. "" 1.1171 +$ then 1.1172 +$ ft2dev = f$parse("''ft2srcdir'",,,"device","no_conceal") 1.1173 +$ ft2dir = f$parse("''ft2srcdir'",,,"directory","no_conceal") 1.1174 +$ ft2conc = f$locate("][",ft2dir) 1.1175 +$ ft2len = f$length(ft2dir) 1.1176 +$ if ft2conc .lt. ft2len 1.1177 +$ then 1.1178 +$ ft2dir = f$extract(0,ft2conc,ft2dir) + - 1.1179 + f$extract(ft2conc+2,ft2len-2,ft2dir) 1.1180 +$ endif 1.1181 +$ ft2dir = ft2dir - "]" + ".]" 1.1182 +$ define freetype 'ft2dev''ft2dir','ft2srcdir' 1.1183 +$ ft2def = true 1.1184 +$ else 1.1185 +$ goto ft2_err 1.1186 +$ endif 1.1187 +$ else 1.1188 +$ ft2elem = ft2elem + 1 1.1189 +$ goto ft2_loop 1.1190 +$ endif 1.1191 +$ endif 1.1192 +$ endif 1.1193 +$ goto LIB_LOOP 1.1194 +$END_LIB: 1.1195 +$ close libdata 1.1196 +$ return 1.1197 +$!------------------------------------------------------------------------------ 1.1198 +$! 1.1199 +$! Analyze Object files for OpenVMS AXP to extract Procedure and Data 1.1200 +$! information to build a symbol vector for a shareable image 1.1201 +$! All the "brains" of this logic was suggested by Hartmut Becker 1.1202 +$! (Hartmut.Becker@compaq.com). All the bugs were introduced by me 1.1203 +$! (zinser@decus.de), so if you do have problem reports please do not 1.1204 +$! bother Hartmut/HP, but get in touch with me 1.1205 +$! 1.1206 +$! Version history 1.1207 +$! 0.01 20040006 Skip over shareable images in option file 1.1208 +$! 1.1209 +$ ANAL_OBJ_AXP: Subroutine 1.1210 +$ V = 'F$Verify(0) 1.1211 +$ SAY := "WRITE_ SYS$OUTPUT" 1.1212 +$ 1.1213 +$ IF F$SEARCH("''P1'") .EQS. "" 1.1214 +$ THEN 1.1215 +$ SAY "ANAL_OBJ_AXP-E-NOSUCHFILE: Error, inputfile ''p1' not available" 1.1216 +$ goto exit_aa 1.1217 +$ ENDIF 1.1218 +$ IF "''P2'" .EQS. "" 1.1219 +$ THEN 1.1220 +$ SAY "ANAL_OBJ_AXP: Error, no output file provided" 1.1221 +$ goto exit_aa 1.1222 +$ ENDIF 1.1223 +$ 1.1224 +$ open/read in 'p1 1.1225 +$ create a.tmp 1.1226 +$ open/append atmp a.tmp 1.1227 +$ loop: 1.1228 +$ read/end=end_loop in line 1.1229 +$ if f$locate("/SHARE",f$edit(line,"upcase")) .lt. f$length(line) 1.1230 +$ then 1.1231 +$ write sys$output "ANAL_SKP_SHR-i-skipshare, ''line'" 1.1232 +$ goto loop 1.1233 +$ endif 1.1234 +$ if f$locate("/LIB",f$edit(line,"upcase")) .lt. f$length(line) 1.1235 +$ then 1.1236 +$ write libsf line 1.1237 +$ write sys$output "ANAL_SKP_LIB-i-skiplib, ''line'" 1.1238 +$ goto loop 1.1239 +$ endif 1.1240 +$ f= f$search(line) 1.1241 +$ if f .eqs. "" 1.1242 +$ then 1.1243 +$ write sys$output "ANAL_OBJ_AXP-w-nosuchfile, ''line'" 1.1244 +$ goto loop 1.1245 +$ endif 1.1246 +$ def/user sys$output nl: 1.1247 +$ def/user sys$error nl: 1.1248 +$ anal/obj/gsd 'f /out=x.tmp 1.1249 +$ open/read xtmp x.tmp 1.1250 +$ XLOOP: 1.1251 +$ read/end=end_xloop xtmp xline 1.1252 +$ xline = f$edit(xline,"compress") 1.1253 +$ write atmp xline 1.1254 +$ goto xloop 1.1255 +$ END_XLOOP: 1.1256 +$ close xtmp 1.1257 +$ goto loop 1.1258 +$ end_loop: 1.1259 +$ close in 1.1260 +$ close atmp 1.1261 +$ if f$search("a.tmp") .eqs. "" - 1.1262 + then $ exit 1.1263 +$ ! all global definitions 1.1264 +$ search a.tmp "symbol:","EGSY$V_DEF 1","EGSY$V_NORM 1"/out=b.tmp 1.1265 +$ ! all procedures 1.1266 +$ search b.tmp "EGSY$V_NORM 1"/wind=(0,1) /out=c.tmp 1.1267 +$ search c.tmp "symbol:"/out=d.tmp 1.1268 +$ def/user sys$output nl: 1.1269 +$ edito/edt/command=sys$input d.tmp 1.1270 +sub/symbol: "/symbol_vector=(/whole 1.1271 +sub/"/=PROCEDURE)/whole 1.1272 +exit 1.1273 +$ ! all data 1.1274 +$ search b.tmp "EGSY$V_DEF 1"/wind=(0,1) /out=e.tmp 1.1275 +$ search e.tmp "symbol:"/out=f.tmp 1.1276 +$ def/user sys$output nl: 1.1277 +$ edito/edt/command=sys$input f.tmp 1.1278 +sub/symbol: "/symbol_vector=(/whole 1.1279 +sub/"/=DATA)/whole 1.1280 +exit 1.1281 +$ sort/nodupl d.tmp,f.tmp 'p2' 1.1282 +$ delete a.tmp;*,b.tmp;*,c.tmp;*,d.tmp;*,e.tmp;*,f.tmp;* 1.1283 +$ if f$search("x.tmp") .nes. "" - 1.1284 + then $ delete x.tmp;* 1.1285 +$! 1.1286 +$ close libsf 1.1287 +$ EXIT_AA: 1.1288 +$ if V then set verify 1.1289 +$ endsubroutine