modules/freetype2/vms_make.com

Wed, 31 Dec 2014 06:55:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:55:50 +0100
changeset 2
7e26c7da4463
permissions
-rw-r--r--

Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2

michael@0 1 $! make Freetype2 under OpenVMS
michael@0 2 $!
michael@0 3 $! Copyright 2003, 2004, 2006, 2007, 2013 by
michael@0 4 $! David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 5 $!
michael@0 6 $! This file is part of the FreeType project, and may only be used, modified,
michael@0 7 $! and distributed under the terms of the FreeType project license,
michael@0 8 $! LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 9 $! indicate that you have read the license and understand and accept it
michael@0 10 $! fully.
michael@0 11 $!
michael@0 12 $!
michael@0 13 $! External libraries (like Freetype, XPM, etc.) are supported via the
michael@0 14 $! config file VMSLIB.DAT. Please check the sample file, which is part of this
michael@0 15 $! distribution, for the information you need to provide
michael@0 16 $!
michael@0 17 $! This procedure currently does support the following commandline options
michael@0 18 $! in arbitrary order
michael@0 19 $!
michael@0 20 $! * DEBUG - Compile modules with /noopt/debug and link shareable image
michael@0 21 $! with /debug
michael@0 22 $! * LOPTS - Options to be passed to the link command
michael@0 23 $! * CCOPT - Options to be passed to the C compiler
michael@0 24 $!
michael@0 25 $! In case of problems with the install you might contact me at
michael@0 26 $! zinser@zinser.no-ip.info(preferred) or
michael@0 27 $! zinser@sysdev.deutsche-boerse.com (work)
michael@0 28 $!
michael@0 29 $! Make procedure history for Freetype2
michael@0 30 $!
michael@0 31 $!------------------------------------------------------------------------------
michael@0 32 $! Version history
michael@0 33 $! 0.01 20040401 First version to receive a number
michael@0 34 $! 0.02 20041030 Add error handling, Freetype 2.1.9
michael@0 35 $!
michael@0 36 $ on error then goto err_exit
michael@0 37 $ true = 1
michael@0 38 $ false = 0
michael@0 39 $ tmpnam = "temp_" + f$getjpi("","pid")
michael@0 40 $ tt = tmpnam + ".txt"
michael@0 41 $ tc = tmpnam + ".c"
michael@0 42 $ th = tmpnam + ".h"
michael@0 43 $ its_decc = false
michael@0 44 $ its_vaxc = false
michael@0 45 $ its_gnuc = false
michael@0 46 $!
michael@0 47 $! Setup variables holding "config" information
michael@0 48 $!
michael@0 49 $ Make = ""
michael@0 50 $ ccopt = "/name=as_is/float=ieee"
michael@0 51 $ lopts = ""
michael@0 52 $ dnsrl = ""
michael@0 53 $ aconf_in_file = "config.hin"
michael@0 54 $ name = "Freetype2"
michael@0 55 $ mapfile = name + ".map"
michael@0 56 $ optfile = name + ".opt"
michael@0 57 $ s_case = false
michael@0 58 $ liblist = ""
michael@0 59 $!
michael@0 60 $ whoami = f$parse(f$environment("Procedure"),,,,"NO_CONCEAL")
michael@0 61 $ mydef = F$parse(whoami,,,"DEVICE")
michael@0 62 $ mydir = f$parse(whoami,,,"DIRECTORY") - "]["
michael@0 63 $ myproc = f$parse(whoami,,,"Name") + f$parse(whoami,,,"type")
michael@0 64 $!
michael@0 65 $! Check for MMK/MMS
michael@0 66 $!
michael@0 67 $ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
michael@0 68 $ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK"
michael@0 69 $!
michael@0 70 $! Which command parameters were given
michael@0 71 $!
michael@0 72 $ gosub check_opts
michael@0 73 $!
michael@0 74 $! Create option file
michael@0 75 $!
michael@0 76 $ open/write optf 'optfile'
michael@0 77 $!
michael@0 78 $! Pull in external libraries
michael@0 79 $!
michael@0 80 $ create libs.opt
michael@0 81 $ open/write libsf libs.opt
michael@0 82 $ gosub check_create_vmslib
michael@0 83 $!
michael@0 84 $! Create objects
michael@0 85 $!
michael@0 86 $ if libdefs .nes. ""
michael@0 87 $ then
michael@0 88 $ ccopt = ccopt + "/define=(" + f$extract(0,f$length(libdefs)-1,libdefs) + ")"
michael@0 89 $ endif
michael@0 90 $!
michael@0 91 $ if f$locate("AS_IS",f$edit(ccopt,"UPCASE")) .lt. f$length(ccopt) -
michael@0 92 then s_case = true
michael@0 93 $ gosub crea_mms
michael@0 94 $!
michael@0 95 $ 'Make' /macro=(comp_flags="''ccopt'")
michael@0 96 $ purge/nolog [...]descrip.mms
michael@0 97 $!
michael@0 98 $! Add them to options
michael@0 99 $!
michael@0 100 $FLOOP:
michael@0 101 $ file = f$edit(f$search("[...]*.obj"),"UPCASE")
michael@0 102 $ if (file .nes. "")
michael@0 103 $ then
michael@0 104 $ if f$locate("DEMOS",file) .eqs. f$length(file) then write optf file
michael@0 105 $ goto floop
michael@0 106 $ endif
michael@0 107 $!
michael@0 108 $ close optf
michael@0 109 $!
michael@0 110 $!
michael@0 111 $! Alpha gets a shareable image
michael@0 112 $!
michael@0 113 $ If f$getsyi("HW_MODEL") .gt. 1024
michael@0 114 $ Then
michael@0 115 $ write sys$output "Creating freetype2shr.exe"
michael@0 116 $ call anal_obj_axp 'optfile' _link.opt
michael@0 117 $ open/append optf 'optfile'
michael@0 118 $ if s_case then WRITE optf "case_sensitive=YES"
michael@0 119 $ close optf
michael@0 120 $ LINK_/NODEB/SHARE=[.lib]freetype2shr.exe -
michael@0 121 'optfile'/opt,libs.opt/opt,_link.opt/opt
michael@0 122 $ endif
michael@0 123 $!
michael@0 124 $ exit
michael@0 125 $!
michael@0 126 $
michael@0 127 $ERR_LIB:
michael@0 128 $ write sys$output "Error reading config file vmslib.dat"
michael@0 129 $ goto err_exit
michael@0 130 $FT2_ERR:
michael@0 131 $ write sys$output "Could not locate Freetype 2 include files"
michael@0 132 $ goto err_exit
michael@0 133 $ERR_EXIT:
michael@0 134 $ set message/facil/ident/sever/text
michael@0 135 $ close/nolog optf
michael@0 136 $ close/nolog out
michael@0 137 $ close/nolog libdata
michael@0 138 $ close/nolog in
michael@0 139 $ close/nolog atmp
michael@0 140 $ close/nolog xtmp
michael@0 141 $ write sys$output "Exiting..."
michael@0 142 $ exit 2
michael@0 143 $!
michael@0 144 $!------------------------------------------------------------------------------
michael@0 145 $!
michael@0 146 $! If MMS/MMK are available dump out the descrip.mms if required
michael@0 147 $!
michael@0 148 $CREA_MMS:
michael@0 149 $ write sys$output "Creating descrip.mms files ..."
michael@0 150 $ write sys$output "... Main directory"
michael@0 151 $ create descrip.mms
michael@0 152 $ open/append out descrip.mms
michael@0 153 $ copy sys$input: out
michael@0 154 $ deck
michael@0 155 #
michael@0 156 # FreeType 2 build system -- top-level Makefile for OpenVMS
michael@0 157 #
michael@0 158
michael@0 159
michael@0 160 # Copyright 2001 by
michael@0 161 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 162 #
michael@0 163 # This file is part of the FreeType project, and may only be used, modified,
michael@0 164 # and distributed under the terms of the FreeType project license,
michael@0 165 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 166 # indicate that you have read the license and understand and accept it
michael@0 167 # fully.
michael@0 168 $ EOD
michael@0 169 $ write out "CFLAGS = ", ccopt
michael@0 170 $ copy sys$input: out
michael@0 171 $ deck
michael@0 172
michael@0 173
michael@0 174 all :
michael@0 175 define freetype [--.include]
michael@0 176 define psaux [-.psaux]
michael@0 177 define autofit [-.autofit]
michael@0 178 define autohint [-.autohint]
michael@0 179 define base [-.base]
michael@0 180 define cache [-.cache]
michael@0 181 define cff [-.cff]
michael@0 182 define cid [-.cid]
michael@0 183 define pcf [-.pcf]
michael@0 184 define psnames [-.psnames]
michael@0 185 define raster [-.raster]
michael@0 186 define sfnt [-.sfnt]
michael@0 187 define smooth [-.smooth]
michael@0 188 define truetype [-.truetype]
michael@0 189 define type1 [-.type1]
michael@0 190 define winfonts [-.winfonts]
michael@0 191 if f$search("lib.dir") .eqs. "" then create/directory [.lib]
michael@0 192 set default [.builds.vms]
michael@0 193 $(MMS)$(MMSQUALIFIERS)
michael@0 194 # set default [--.src.autofit]
michael@0 195 # $(MMS)$(MMSQUALIFIERS)
michael@0 196 set default [--.src.autohint]
michael@0 197 $(MMS)$(MMSQUALIFIERS)
michael@0 198 set default [-.base]
michael@0 199 $(MMS)$(MMSQUALIFIERS)
michael@0 200 set default [-.bdf]
michael@0 201 $(MMS)$(MMSQUALIFIERS)
michael@0 202 set default [-.cache]
michael@0 203 $(MMS)$(MMSQUALIFIERS)
michael@0 204 set default [-.cff]
michael@0 205 $(MMS)$(MMSQUALIFIERS)
michael@0 206 set default [-.cid]
michael@0 207 $(MMS)$(MMSQUALIFIERS)
michael@0 208 set default [-.gzip]
michael@0 209 $(MMS)$(MMSQUALIFIERS)
michael@0 210 set default [-.lzw]
michael@0 211 $(MMS)$(MMSQUALIFIERS)
michael@0 212 set default [-.otvalid]
michael@0 213 $(MMS)$(MMSQUALIFIERS)
michael@0 214 set default [-.pcf]
michael@0 215 $(MMS)$(MMSQUALIFIERS)
michael@0 216 set default [-.pfr]
michael@0 217 $(MMS)$(MMSQUALIFIERS)
michael@0 218 set default [-.psaux]
michael@0 219 $(MMS)$(MMSQUALIFIERS)
michael@0 220 set default [-.pshinter]
michael@0 221 $(MMS)$(MMSQUALIFIERS)
michael@0 222 set default [-.psnames]
michael@0 223 $(MMS)$(MMSQUALIFIERS)
michael@0 224 set default [-.raster]
michael@0 225 $(MMS)$(MMSQUALIFIERS)
michael@0 226 set default [-.sfnt]
michael@0 227 $(MMS)$(MMSQUALIFIERS)
michael@0 228 set default [-.smooth]
michael@0 229 $(MMS)$(MMSQUALIFIERS)
michael@0 230 set default [-.truetype]
michael@0 231 $(MMS)$(MMSQUALIFIERS)
michael@0 232 set default [-.type1]
michael@0 233 $(MMS)$(MMSQUALIFIERS)
michael@0 234 set default [-.type42]
michael@0 235 $(MMS)$(MMSQUALIFIERS)
michael@0 236 set default [-.winfonts]
michael@0 237 $(MMS)$(MMSQUALIFIERS)
michael@0 238 set default [--]
michael@0 239
michael@0 240 # EOF
michael@0 241 $ eod
michael@0 242 $ close out
michael@0 243 $ write sys$output "... [.builds.vms] directory"
michael@0 244 $ create [.builds.vms]descrip.mms
michael@0 245 $ open/append out [.builds.vms]descrip.mms
michael@0 246 $ copy sys$input: out
michael@0 247 $ deck
michael@0 248 #
michael@0 249 # FreeType 2 system rules for VMS
michael@0 250 #
michael@0 251
michael@0 252
michael@0 253 # Copyright 2001 by
michael@0 254 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 255 #
michael@0 256 # This file is part of the FreeType project, and may only be used, modified,
michael@0 257 # and distributed under the terms of the FreeType project license,
michael@0 258 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 259 # indicate that you have read the license and understand and accept it
michael@0 260 # fully.
michael@0 261
michael@0 262
michael@0 263 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([],[--.include],[--.src.base])
michael@0 264
michael@0 265 OBJS=ftsystem.obj
michael@0 266
michael@0 267 all : $(OBJS)
michael@0 268 library/create [--.lib]freetype.olb $(OBJS)
michael@0 269
michael@0 270 ftsystem.obj : ftsystem.c ftconfig.h
michael@0 271
michael@0 272 # EOF
michael@0 273 $ eod
michael@0 274 $ close out
michael@0 275 $ write sys$output "... [.src.autofit] directory"
michael@0 276 $ create [.src.autofit]descrip.mms
michael@0 277 $ open/append out [.src.autofit]descrip.mms
michael@0 278 $ copy sys$input: out
michael@0 279 $ deck
michael@0 280 #
michael@0 281 # FreeType 2 auto-fit module compilation rules for VMS
michael@0 282 #
michael@0 283
michael@0 284
michael@0 285 # Copyright 2002 by
michael@0 286 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 287 #
michael@0 288 # This file is part of the FreeType project, and may only be used, modified,
michael@0 289 # and distributed under the terms of the FreeType project license,
michael@0 290 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 291 # indicate that you have read the license and understand and accept it
michael@0 292 # fully.
michael@0 293
michael@0 294 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.autofit])
michael@0 295
michael@0 296 OBJS=afangles.obj,afhints.obj,aflatin.obj
michael@0 297
michael@0 298 all : $(OBJS)
michael@0 299 library [--.lib]freetype.olb $(OBJS)
michael@0 300
michael@0 301 # EOF
michael@0 302 $ eod
michael@0 303 $ close out
michael@0 304 $ write sys$output "... [.src.autohint] directory"
michael@0 305 $ create [.src.autohint]descrip.mms
michael@0 306 $ open/append out [.src.autohint]descrip.mms
michael@0 307 $ copy sys$input: out
michael@0 308 $ deck
michael@0 309 #
michael@0 310 # FreeType 2 auto-hinter module compilation rules for VMS
michael@0 311 #
michael@0 312
michael@0 313
michael@0 314 # Copyright 2001, 2002 Catharon Productions Inc.
michael@0 315 #
michael@0 316 # This file is part of the Catharon Typography Project and shall only
michael@0 317 # be used, modified, and distributed under the terms of the Catharon
michael@0 318 # Open Source License that should come with this file under the name
michael@0 319 # `CatharonLicense.txt'. By continuing to use, modify, or distribute
michael@0 320 # this file you indicate that you have read the license and
michael@0 321 # understand and accept it fully.
michael@0 322 #
michael@0 323 # Note that this license is compatible with the FreeType license.
michael@0 324
michael@0 325
michael@0 326 CFLAGS=$(COMP_FLAGS)$(DEBUG)/incl=([--.include],[--.src.autohint])
michael@0 327
michael@0 328 OBJS=autohint.obj
michael@0 329
michael@0 330 all : $(OBJS)
michael@0 331 library [--.lib]freetype.olb $(OBJS)
michael@0 332
michael@0 333 # EOF
michael@0 334 $ eod
michael@0 335 $ close out
michael@0 336 $ write sys$output "... [.src.base] directory"
michael@0 337 $ create [.src.base]descrip.mms
michael@0 338 $ open/append out [.src.base]descrip.mms
michael@0 339 $ copy sys$input: out
michael@0 340 $ deck
michael@0 341 #
michael@0 342 # FreeType 2 base layer compilation rules for VMS
michael@0 343 #
michael@0 344
michael@0 345
michael@0 346 # Copyright 2001, 2003 by
michael@0 347 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 348 #
michael@0 349 # This file is part of the FreeType project, and may only be used, modified,
michael@0 350 # and distributed under the terms of the FreeType project license,
michael@0 351 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 352 # indicate that you have read the license and understand and accept it
michael@0 353 # fully.
michael@0 354
michael@0 355
michael@0 356 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.builds.vms],[--.include],[--.src.base])
michael@0 357
michael@0 358 OBJS=ftbase.obj,ftinit.obj,ftglyph.obj,ftdebug.obj,ftbdf.obj,ftmm.obj,\
michael@0 359 fttype1.obj,ftxf86.obj,ftpfr.obj,ftstroke.obj,ftwinfnt.obj,ftbbox.obj,\
michael@0 360 ftbitmap.obj ftlcdfil.obj ftgasp.obj
michael@0 361
michael@0 362 all : $(OBJS)
michael@0 363 library [--.lib]freetype.olb $(OBJS)
michael@0 364
michael@0 365 # EOF
michael@0 366 $ eod
michael@0 367 $ close out
michael@0 368 $ write sys$output "... [.src.bdf] directory"
michael@0 369 $ create [.src.bdf]descrip.mms
michael@0 370 $ open/append out [.src.bdf]descrip.mms
michael@0 371 $ copy sys$input: out
michael@0 372 $ deck
michael@0 373 #
michael@0 374 # FreeType 2 BDF driver compilation rules for VMS
michael@0 375 #
michael@0 376
michael@0 377
michael@0 378 # Copyright 2002 by
michael@0 379 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 380 #
michael@0 381 # This file is part of the FreeType project, and may only be used, modified,
michael@0 382 # and distributed under the terms of the FreeType project license,
michael@0 383 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 384 # indicate that you have read the license and understand and accept it
michael@0 385 # fully.
michael@0 386
michael@0 387
michael@0 388 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.bdf])
michael@0 389
michael@0 390 OBJS=bdf.obj
michael@0 391
michael@0 392 all : $(OBJS)
michael@0 393 library [--.lib]freetype.olb $(OBJS)
michael@0 394
michael@0 395 # EOF
michael@0 396 $ eod
michael@0 397 $ close out
michael@0 398 $ write sys$output "... [.src.cache] directory"
michael@0 399 $ create [.src.cache]descrip.mms
michael@0 400 $ open/append out [.src.cache]descrip.mms
michael@0 401 $ copy sys$input: out
michael@0 402 $ deck
michael@0 403 #
michael@0 404 # FreeType 2 Cache compilation rules for VMS
michael@0 405 #
michael@0 406
michael@0 407
michael@0 408 # Copyright 2001, 2002, 2003, 2004 by
michael@0 409 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 410 #
michael@0 411 # This file is part of the FreeType project, and may only be used, modified,
michael@0 412 # and distributed under the terms of the FreeType project license,
michael@0 413 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 414 # indicate that you have read the license and understand and accept it
michael@0 415 # fully.
michael@0 416
michael@0 417
michael@0 418 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.cache])
michael@0 419
michael@0 420 OBJS=ftcache.obj
michael@0 421
michael@0 422 all : $(OBJS)
michael@0 423 library [--.lib]freetype.olb $(OBJS)
michael@0 424
michael@0 425 ftcache.obj : ftcache.c ftcbasic.c ftccache.c ftccmap.c ftcglyph.c ftcimage.c \
michael@0 426 ftcmanag.c ftcmru.c ftcsbits.c
michael@0 427
michael@0 428 # EOF
michael@0 429 $ eod
michael@0 430 $ close out
michael@0 431 $ write sys$output "... [.src.cff] directory"
michael@0 432 $ create [.src.cff]descrip.mms
michael@0 433 $ open/append out [.src.cff]descrip.mms
michael@0 434 $ copy sys$input: out
michael@0 435 $ deck
michael@0 436 #
michael@0 437 # FreeType 2 OpenType/CFF driver compilation rules for VMS
michael@0 438 #
michael@0 439
michael@0 440
michael@0 441 # Copyright 2001, 2002 by
michael@0 442 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 443 #
michael@0 444 # This file is part of the FreeType project, and may only be used, modified,
michael@0 445 # and distributed under the terms of the FreeType project license,
michael@0 446 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 447 # indicate that you have read the license and understand and accept it
michael@0 448 # fully.
michael@0 449
michael@0 450
michael@0 451 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.cff])
michael@0 452
michael@0 453 OBJS=cff.obj
michael@0 454
michael@0 455 all : $(OBJS)
michael@0 456 library [--.lib]freetype.olb $(OBJS)
michael@0 457
michael@0 458 # EOF
michael@0 459 $ eod
michael@0 460 $ close out
michael@0 461 $ write sys$output "... [.src.cid] directory"
michael@0 462 $ create [.src.cid]descrip.mms
michael@0 463 $ open/append out [.src.cid]descrip.mms
michael@0 464 $ copy sys$input: out
michael@0 465 $ deck
michael@0 466 #
michael@0 467 # FreeType 2 CID driver compilation rules for VMS
michael@0 468 #
michael@0 469
michael@0 470
michael@0 471 # Copyright 2001 by
michael@0 472 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 473 #
michael@0 474 # This file is part of the FreeType project, and may only be used, modified,
michael@0 475 # and distributed under the terms of the FreeType project license,
michael@0 476 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 477 # indicate that you have read the license and understand and accept it
michael@0 478 # fully.
michael@0 479
michael@0 480
michael@0 481 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.cid])
michael@0 482
michael@0 483 OBJS=type1cid.obj
michael@0 484
michael@0 485 all : $(OBJS)
michael@0 486 library [--.lib]freetype.olb $(OBJS)
michael@0 487
michael@0 488 # EOF
michael@0 489 $ eod
michael@0 490 $ close out
michael@0 491 $ write sys$output "... [.src.gzip] directory"
michael@0 492 $ create [.src.gzip]descrip.mms
michael@0 493 $ open/append out [.src.gzip]descrip.mms
michael@0 494 $ copy sys$input: out
michael@0 495 $ deck
michael@0 496 #
michael@0 497 # FreeType 2 GZip support compilation rules for VMS
michael@0 498 #
michael@0 499
michael@0 500
michael@0 501 # Copyright 2002 by
michael@0 502 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 503 #
michael@0 504 # This file is part of the FreeType project, and may only be used, modified,
michael@0 505 # and distributed under the terms of the FreeType project license,
michael@0 506 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 507 # indicate that you have read the license and understand and accept it
michael@0 508 # fully.
michael@0 509 $EOD
michael@0 510 $ if libincs .nes. "" then write out "LIBINCS = ", libincs - ",", ","
michael@0 511 $ write out "COMP_FLAGS = ", ccopt
michael@0 512 $ copy sys$input: out
michael@0 513 $ deck
michael@0 514
michael@0 515 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=($(LIBINCS)[--.include],[--.src.gzip])
michael@0 516
michael@0 517 OBJS=ftgzip.obj
michael@0 518
michael@0 519 all : $(OBJS)
michael@0 520 library [--.lib]freetype.olb $(OBJS)
michael@0 521
michael@0 522 # EOF
michael@0 523 $ eod
michael@0 524 $ close out
michael@0 525 $ write sys$output "... [.src.lzw] directory"
michael@0 526 $ create [.src.lzw]descrip.mms
michael@0 527 $ open/append out [.src.lzw]descrip.mms
michael@0 528 $ copy sys$input: out
michael@0 529 $ deck
michael@0 530 #
michael@0 531 # FreeType 2 LZW support compilation rules for VMS
michael@0 532 #
michael@0 533
michael@0 534
michael@0 535 # Copyright 2004 by
michael@0 536 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 537 #
michael@0 538 # This file is part of the FreeType project, and may only be used, modified,
michael@0 539 # and distributed under the terms of the FreeType project license,
michael@0 540 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 541 # indicate that you have read the license and understand and accept it
michael@0 542 # fully.
michael@0 543 $EOD
michael@0 544 $ if libincs .nes. "" then write out "LIBINCS = ", libincs - ",", ","
michael@0 545 $ write out "COMP_FLAGS = ", ccopt
michael@0 546 $ copy sys$input: out
michael@0 547 $ deck
michael@0 548
michael@0 549 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=($(LIBINCS)[--.include],[--.src.lzw])
michael@0 550
michael@0 551 OBJS=ftlzw.obj
michael@0 552
michael@0 553 all : $(OBJS)
michael@0 554 library [--.lib]freetype.olb $(OBJS)
michael@0 555
michael@0 556 # EOF
michael@0 557 $ eod
michael@0 558 $ close out
michael@0 559 $ write sys$output "... [.src.otlayout] directory"
michael@0 560 $ create [.src.otlayout]descrip.mms
michael@0 561 $ open/append out [.src.otlayout]descrip.mms
michael@0 562 $ copy sys$input: out
michael@0 563 $ deck
michael@0 564 #
michael@0 565 # FreeType 2 OT layout compilation rules for VMS
michael@0 566 #
michael@0 567
michael@0 568
michael@0 569 # Copyright 2004 by
michael@0 570 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 571 #
michael@0 572 # This file is part of the FreeType project, and may only be used, modified,
michael@0 573 # and distributed under the terms of the FreeType project license,
michael@0 574 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 575 # indicate that you have read the license and understand and accept it
michael@0 576 # fully.
michael@0 577
michael@0 578
michael@0 579 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.otlayout])
michael@0 580
michael@0 581 OBJS=otlbase.obj,otlcommn.obj,otlgdef.obj,otlgpos.obj,otlgsub.obj,\
michael@0 582 otljstf.obj,otlparse.obj
michael@0 583
michael@0 584 all : $(OBJS)
michael@0 585 library [--.lib]freetype.olb $(OBJS)
michael@0 586
michael@0 587
michael@0 588 # EOF
michael@0 589 $ eod
michael@0 590 $ close out
michael@0 591 $ write sys$output "... [.src.otvalid] directory"
michael@0 592 $ create [.src.otvalid]descrip.mms
michael@0 593 $ open/append out [.src.otvalid]descrip.mms
michael@0 594 $ copy sys$input: out
michael@0 595 $ deck
michael@0 596 #
michael@0 597 # FreeType 2 OpenType validation module compilation rules for VMS
michael@0 598 #
michael@0 599
michael@0 600
michael@0 601 # Copyright 2004 by
michael@0 602 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 603 #
michael@0 604 # This file is part of the FreeType project, and may only be used, modified,
michael@0 605 # and distributed under the terms of the FreeType project license,
michael@0 606 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 607 # indicate that you have read the license and understand and accept it
michael@0 608 # fully.
michael@0 609
michael@0 610
michael@0 611 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.otvalid])
michael@0 612
michael@0 613 OBJS=otvalid.obj
michael@0 614
michael@0 615 all : $(OBJS)
michael@0 616 library [--.lib]freetype.olb $(OBJS)
michael@0 617
michael@0 618 # EOF
michael@0 619 $ eod
michael@0 620 $ close out
michael@0 621 $ write sys$output "... [.src.pcf] directory"
michael@0 622 $ create [.src.pcf]descrip.mms
michael@0 623 $ open/append out [.src.pcf]descrip.mms
michael@0 624 $ copy sys$input: out
michael@0 625 $ deck
michael@0 626 #
michael@0 627 # FreeType 2 pcf driver compilation rules for VMS
michael@0 628 #
michael@0 629
michael@0 630
michael@0 631 # Copyright (C) 2001, 2002 by
michael@0 632 # Francesco Zappa Nardelli
michael@0 633 #
michael@0 634 # Permission is hereby granted, free of charge, to any person obtaining a copy
michael@0 635 # of this software and associated documentation files (the "Software"), to deal
michael@0 636 # in the Software without restriction, including without limitation the rights
michael@0 637 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
michael@0 638 # copies of the Software, and to permit persons to whom the Software is
michael@0 639 # furnished to do so, subject to the following conditions:
michael@0 640 #
michael@0 641 # The above copyright notice and this permission notice shall be included in
michael@0 642 # all copies or substantial portions of the Software.
michael@0 643 #
michael@0 644 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
michael@0 645 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
michael@0 646 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
michael@0 647 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
michael@0 648 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
michael@0 649 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
michael@0 650 # THE SOFTWARE.
michael@0 651
michael@0 652
michael@0 653 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.pcf])
michael@0 654
michael@0 655 OBJS=pcf.obj
michael@0 656
michael@0 657 all : $(OBJS)
michael@0 658 library [--.lib]freetype.olb $(OBJS)
michael@0 659
michael@0 660 # EOF
michael@0 661 $ eod
michael@0 662 $ close out
michael@0 663 $ write sys$output "... [.src.pfr] directory"
michael@0 664 $ create [.src.pfr]descrip.mms
michael@0 665 $ open/append out [.src.pfr]descrip.mms
michael@0 666 $ copy sys$input: out
michael@0 667 $ deck
michael@0 668 #
michael@0 669 # FreeType 2 PFR driver compilation rules for VMS
michael@0 670 #
michael@0 671
michael@0 672
michael@0 673 # Copyright 2002 by
michael@0 674 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 675 #
michael@0 676 # This file is part of the FreeType project, and may only be used, modified,
michael@0 677 # and distributed under the terms of the FreeType project license,
michael@0 678 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 679 # indicate that you have read the license and understand and accept it
michael@0 680 # fully.
michael@0 681
michael@0 682
michael@0 683 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.pfr])
michael@0 684
michael@0 685 OBJS=pfr.obj
michael@0 686
michael@0 687 all : $(OBJS)
michael@0 688 library [--.lib]freetype.olb $(OBJS)
michael@0 689
michael@0 690 # EOF
michael@0 691 $ eod
michael@0 692 $ close out
michael@0 693 $ write sys$output "... [.src.psaux] directory"
michael@0 694 $ create [.src.psaux]descrip.mms
michael@0 695 $ open/append out [.src.psaux]descrip.mms
michael@0 696 $ copy sys$input: out
michael@0 697 $ deck
michael@0 698 #
michael@0 699 # FreeType 2 PSaux driver compilation rules for VMS
michael@0 700 #
michael@0 701
michael@0 702
michael@0 703 # Copyright 2001, 2002 by
michael@0 704 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 705 #
michael@0 706 # This file is part of the FreeType project, and may only be used, modified,
michael@0 707 # and distributed under the terms of the FreeType project license,
michael@0 708 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 709 # indicate that you have read the license and understand and accept it
michael@0 710 # fully.
michael@0 711
michael@0 712
michael@0 713 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.psaux])
michael@0 714
michael@0 715 OBJS=psaux.obj
michael@0 716
michael@0 717 all : $(OBJS)
michael@0 718 library [--.lib]freetype.olb $(OBJS)
michael@0 719
michael@0 720 # EOF
michael@0 721 $ eod
michael@0 722 $ close out
michael@0 723 $ write sys$output "... [.src.pshinter] directory"
michael@0 724 $ create [.src.pshinter]descrip.mms
michael@0 725 $ open/append out [.src.pshinter]descrip.mms
michael@0 726 $ copy sys$input: out
michael@0 727 $ deck
michael@0 728 #
michael@0 729 # FreeType 2 PSHinter driver compilation rules for OpenVMS
michael@0 730 #
michael@0 731
michael@0 732
michael@0 733 # Copyright 2001, 2002 by
michael@0 734 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 735 #
michael@0 736 # This file is part of the FreeType project, and may only be used, modified,
michael@0 737 # and distributed under the terms of the FreeType project license,
michael@0 738 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 739 # indicate that you have read the license and understand and accept it
michael@0 740 # fully.
michael@0 741
michael@0 742
michael@0 743 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.psnames])
michael@0 744
michael@0 745 OBJS=pshinter.obj
michael@0 746
michael@0 747 all : $(OBJS)
michael@0 748 library [--.lib]freetype.olb $(OBJS)
michael@0 749
michael@0 750 # EOF
michael@0 751 $ eod
michael@0 752 $ close out
michael@0 753 $ write sys$output "... [.src.psnames] directory"
michael@0 754 $ create [.src.psnames]descrip.mms
michael@0 755 $ open/append out [.src.psnames]descrip.mms
michael@0 756 $ copy sys$input: out
michael@0 757 $ deck
michael@0 758 #
michael@0 759 # FreeType 2 PSNames driver compilation rules for VMS
michael@0 760 #
michael@0 761
michael@0 762
michael@0 763 # Copyright 2001, 2002 by
michael@0 764 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 765 #
michael@0 766 # This file is part of the FreeType project, and may only be used, modified,
michael@0 767 # and distributed under the terms of the FreeType project license,
michael@0 768 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 769 # indicate that you have read the license and understand and accept it
michael@0 770 # fully.
michael@0 771
michael@0 772
michael@0 773 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.psnames])
michael@0 774
michael@0 775 OBJS=psnames.obj
michael@0 776
michael@0 777 all : $(OBJS)
michael@0 778 library [--.lib]freetype.olb $(OBJS)
michael@0 779
michael@0 780 # EOF
michael@0 781 $ eod
michael@0 782 $ close out
michael@0 783 $ write sys$output "... [.src.raster] directory"
michael@0 784 $ create [.src.raster]descrip.mms
michael@0 785 $ open/append out [.src.raster]descrip.mms
michael@0 786 $ copy sys$input: out
michael@0 787 $ deck
michael@0 788 #
michael@0 789 # FreeType 2 renderer module compilation rules for VMS
michael@0 790 #
michael@0 791
michael@0 792
michael@0 793 # Copyright 2001 by
michael@0 794 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 795 #
michael@0 796 # This file is part of the FreeType project, and may only be used, modified,
michael@0 797 # and distributed under the terms of the FreeType project license,
michael@0 798 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 799 # indicate that you have read the license and understand and accept it
michael@0 800 # fully.
michael@0 801
michael@0 802
michael@0 803 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.raster])
michael@0 804
michael@0 805 OBJS=raster.obj
michael@0 806
michael@0 807 all : $(OBJS)
michael@0 808 library [--.lib]freetype.olb $(OBJS)
michael@0 809
michael@0 810 # EOF
michael@0 811 $ eod
michael@0 812 $ close out
michael@0 813 $ write sys$output "... [.src.sfnt] directory"
michael@0 814 $ create [.src.sfnt]descrip.mms
michael@0 815 $ open/append out [.src.sfnt]descrip.mms
michael@0 816 $ copy sys$input: out
michael@0 817 $ deck
michael@0 818 #
michael@0 819 # FreeType 2 SFNT driver compilation rules for VMS
michael@0 820 #
michael@0 821
michael@0 822
michael@0 823 # Copyright 2001, 2002 by
michael@0 824 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 825 #
michael@0 826 # This file is part of the FreeType project, and may only be used, modified,
michael@0 827 # and distributed under the terms of the FreeType project license,
michael@0 828 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 829 # indicate that you have read the license and understand and accept it
michael@0 830 # fully.
michael@0 831
michael@0 832
michael@0 833 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.sfnt])
michael@0 834
michael@0 835 OBJS=sfnt.obj
michael@0 836
michael@0 837 all : $(OBJS)
michael@0 838 library [--.lib]freetype.olb $(OBJS)
michael@0 839
michael@0 840 # EOF
michael@0 841 $ eod
michael@0 842 $ close out
michael@0 843 $ write sys$output "... [.src.smooth] directory"
michael@0 844 $ create [.src.smooth]descrip.mms
michael@0 845 $ open/append out [.src.smooth]descrip.mms
michael@0 846 $ copy sys$input: out
michael@0 847 $ deck
michael@0 848 #
michael@0 849 # FreeType 2 smooth renderer module compilation rules for VMS
michael@0 850 #
michael@0 851
michael@0 852
michael@0 853 # Copyright 2001 by
michael@0 854 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 855 #
michael@0 856 # This file is part of the FreeType project, and may only be used, modified,
michael@0 857 # and distributed under the terms of the FreeType project license,
michael@0 858 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 859 # indicate that you have read the license and understand and accept it
michael@0 860 # fully.
michael@0 861
michael@0 862
michael@0 863 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.smooth])
michael@0 864
michael@0 865 OBJS=smooth.obj
michael@0 866
michael@0 867 all : $(OBJS)
michael@0 868 library [--.lib]freetype.olb $(OBJS)
michael@0 869
michael@0 870 # EOF
michael@0 871 $ eod
michael@0 872 $ close out
michael@0 873 $ write sys$output "... [.src.truetype] directory"
michael@0 874 $ create [.src.truetype]descrip.mms
michael@0 875 $ open/append out [.src.truetype]descrip.mms
michael@0 876 $ copy sys$input: out
michael@0 877 $ deck
michael@0 878 #
michael@0 879 # FreeType 2 TrueType driver compilation rules for VMS
michael@0 880 #
michael@0 881
michael@0 882
michael@0 883 # Copyright 2001, 2002 by
michael@0 884 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 885 #
michael@0 886 # This file is part of the FreeType project, and may only be used, modified,
michael@0 887 # and distributed under the terms of the FreeType project license,
michael@0 888 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 889 # indicate that you have read the license and understand and accept it
michael@0 890 # fully.
michael@0 891
michael@0 892
michael@0 893 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.truetype])
michael@0 894
michael@0 895 OBJS=truetype.obj
michael@0 896
michael@0 897 all : $(OBJS)
michael@0 898 library [--.lib]freetype.olb $(OBJS)
michael@0 899
michael@0 900 # EOF
michael@0 901 $ eod
michael@0 902 $ close out
michael@0 903 $ write sys$output "... [.src.type1] directory"
michael@0 904 $ create [.src.type1]descrip.mms
michael@0 905 $ open/append out [.src.type1]descrip.mms
michael@0 906 $ copy sys$input: out
michael@0 907 $ deck
michael@0 908 #
michael@0 909 # FreeType 2 Type1 driver compilation rules for VMS
michael@0 910 #
michael@0 911
michael@0 912
michael@0 913 # Copyright 1996-2000, 2002 by
michael@0 914 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 915 #
michael@0 916 # This file is part of the FreeType project, and may only be used, modified,
michael@0 917 # and distributed under the terms of the FreeType project license,
michael@0 918 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 919 # indicate that you have read the license and understand and accept it
michael@0 920 # fully.
michael@0 921
michael@0 922
michael@0 923 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.type1])
michael@0 924
michael@0 925 OBJS=type1.obj
michael@0 926
michael@0 927 all : $(OBJS)
michael@0 928 library [--.lib]freetype.olb $(OBJS)
michael@0 929
michael@0 930 type1.obj : type1.c t1parse.c t1load.c t1objs.c t1driver.c t1gload.c t1afm.c
michael@0 931
michael@0 932 # EOF
michael@0 933 $ eod
michael@0 934 $ close out
michael@0 935 $ write sys$output "... [.src.type42] directory"
michael@0 936 $ create [.src.type42]descrip.mms
michael@0 937 $ open/append out [.src.type42]descrip.mms
michael@0 938 $ copy sys$input: out
michael@0 939 $ deck
michael@0 940 #
michael@0 941 # FreeType 2 Type 42 driver compilation rules for VMS
michael@0 942 #
michael@0 943
michael@0 944
michael@0 945 # Copyright 2002 by
michael@0 946 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 947 #
michael@0 948 # This file is part of the FreeType project, and may only be used, modified,
michael@0 949 # and distributed under the terms of the FreeType project license,
michael@0 950 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 951 # indicate that you have read the license and understand and accept it
michael@0 952 # fully.
michael@0 953
michael@0 954
michael@0 955 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.type42])
michael@0 956
michael@0 957 OBJS=type42.obj
michael@0 958
michael@0 959 all : $(OBJS)
michael@0 960 library [--.lib]freetype.olb $(OBJS)
michael@0 961
michael@0 962 # EOF
michael@0 963 $ eod
michael@0 964 $ close out
michael@0 965 $ write sys$output "... [.src.winfonts] directory"
michael@0 966 $ create [.src.winfonts]descrip.mms
michael@0 967 $ open/append out [.src.winfonts]descrip.mms
michael@0 968 $ copy sys$input: out
michael@0 969 $ deck
michael@0 970 #
michael@0 971 # FreeType 2 Windows FNT/FON driver compilation rules for VMS
michael@0 972 #
michael@0 973
michael@0 974
michael@0 975 # Copyright 2001, 2002 by
michael@0 976 # David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 977 #
michael@0 978 # This file is part of the FreeType project, and may only be used, modified,
michael@0 979 # and distributed under the terms of the FreeType project license,
michael@0 980 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 981 # indicate that you have read the license and understand and accept it
michael@0 982 # fully.
michael@0 983
michael@0 984
michael@0 985 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.winfonts])
michael@0 986
michael@0 987 OBJS=winfnt.obj
michael@0 988
michael@0 989 all : $(OBJS)
michael@0 990 library [--.lib]freetype.olb $(OBJS)
michael@0 991
michael@0 992 # EOF
michael@0 993 $ eod
michael@0 994 $ close out
michael@0 995 $ return
michael@0 996 $!------------------------------------------------------------------------------
michael@0 997 $!
michael@0 998 $! Check command line options and set symbols accordingly
michael@0 999 $!
michael@0 1000 $ CHECK_OPTS:
michael@0 1001 $ i = 1
michael@0 1002 $ OPT_LOOP:
michael@0 1003 $ if i .lt. 9
michael@0 1004 $ then
michael@0 1005 $ cparm = f$edit(p'i',"upcase")
michael@0 1006 $ if cparm .eqs. "DEBUG"
michael@0 1007 $ then
michael@0 1008 $ ccopt = ccopt + "/noopt/deb"
michael@0 1009 $ lopts = lopts + "/deb"
michael@0 1010 $ endif
michael@0 1011 $ if f$locate("CCOPT=",cparm) .lt. f$length(cparm)
michael@0 1012 $ then
michael@0 1013 $ start = f$locate("=",cparm) + 1
michael@0 1014 $ len = f$length(cparm) - start
michael@0 1015 $ ccopt = ccopt + f$extract(start,len,cparm)
michael@0 1016 $ endif
michael@0 1017 $ if cparm .eqs. "LINK" then linkonly = true
michael@0 1018 $ if f$locate("LOPTS=",cparm) .lt. f$length(cparm)
michael@0 1019 $ then
michael@0 1020 $ start = f$locate("=",cparm) + 1
michael@0 1021 $ len = f$length(cparm) - start
michael@0 1022 $ lopts = lopts + f$extract(start,len,cparm)
michael@0 1023 $ endif
michael@0 1024 $ if f$locate("CC=",cparm) .lt. f$length(cparm)
michael@0 1025 $ then
michael@0 1026 $ start = f$locate("=",cparm) + 1
michael@0 1027 $ len = f$length(cparm) - start
michael@0 1028 $ cc_com = f$extract(start,len,cparm)
michael@0 1029 if (cc_com .nes. "DECC") .and. -
michael@0 1030 (cc_com .nes. "VAXC") .and. -
michael@0 1031 (cc_com .nes. "GNUC")
michael@0 1032 $ then
michael@0 1033 $ write sys$output "Unsupported compiler choice ''cc_com' ignored"
michael@0 1034 $ write sys$output "Use DECC, VAXC, or GNUC instead"
michael@0 1035 $ else
michael@0 1036 $ if cc_com .eqs. "DECC" then its_decc = true
michael@0 1037 $ if cc_com .eqs. "VAXC" then its_vaxc = true
michael@0 1038 $ if cc_com .eqs. "GNUC" then its_gnuc = true
michael@0 1039 $ endif
michael@0 1040 $ endif
michael@0 1041 $ if f$locate("MAKE=",cparm) .lt. f$length(cparm)
michael@0 1042 $ then
michael@0 1043 $ start = f$locate("=",cparm) + 1
michael@0 1044 $ len = f$length(cparm) - start
michael@0 1045 $ mmks = f$extract(start,len,cparm)
michael@0 1046 $ if (mmks .eqs. "MMK") .or. (mmks .eqs. "MMS")
michael@0 1047 $ then
michael@0 1048 $ make = mmks
michael@0 1049 $ else
michael@0 1050 $ write sys$output "Unsupported make choice ''mmks' ignored"
michael@0 1051 $ write sys$output "Use MMK or MMS instead"
michael@0 1052 $ endif
michael@0 1053 $ endif
michael@0 1054 $ i = i + 1
michael@0 1055 $ goto opt_loop
michael@0 1056 $ endif
michael@0 1057 $ return
michael@0 1058 $!------------------------------------------------------------------------------
michael@0 1059 $!
michael@0 1060 $! Take care of driver file with information about external libraries
michael@0 1061 $!
michael@0 1062 $! Version history
michael@0 1063 $! 0.01 20040220 First version to receive a number
michael@0 1064 $! 0.02 20040229 Echo current procedure name; use general error exit handler
michael@0 1065 $! Remove xpm hack -> Replaced by more general dnsrl handling
michael@0 1066 $CHECK_CREATE_VMSLIB:
michael@0 1067 $!
michael@0 1068 $ if f$search("VMSLIB.DAT") .eqs. ""
michael@0 1069 $ then
michael@0 1070 $ type/out=vmslib.dat sys$input
michael@0 1071 !
michael@0 1072 ! This is a simple driver file with information used by vms_make.com to
michael@0 1073 ! check if external libraries (like t1lib and freetype) are available on
michael@0 1074 ! the system.
michael@0 1075 !
michael@0 1076 ! Layout of the file:
michael@0 1077 !
michael@0 1078 ! - Lines starting with ! are treated as comments
michael@0 1079 ! - Elements in a data line are separated by # signs
michael@0 1080 ! - The elements need to be listed in the following order
michael@0 1081 ! 1.) Name of the Library (only used for informative messages
michael@0 1082 ! from vms_make.com)
michael@0 1083 ! 2.) Location where the object library can be found
michael@0 1084 ! 3.) Location where the include files for the library can be found
michael@0 1085 ! 4.) Include file used to verify library location
michael@0 1086 ! 5.) CPP define to pass to the build to indicate availability of
michael@0 1087 ! the library
michael@0 1088 !
michael@0 1089 ! Example: The following lines show how definitions
michael@0 1090 ! might look like. They are site specific and the locations of the
michael@0 1091 ! library and include files need almost certainly to be changed.
michael@0 1092 !
michael@0 1093 ! Location: All of the libaries can be found at the following addresses
michael@0 1094 !
michael@0 1095 ! ZLIB: http://zinser.no-ip.info/vms/sw/zlib.htmlx
michael@0 1096 !
michael@0 1097 ZLIB # sys$library:libz.olb # sys$library: # zlib.h # FT_CONFIG_OPTION_SYSTEM_ZLIB
michael@0 1098 $ write sys$output "New driver file vmslib.dat created."
michael@0 1099 $ write sys$output "Please customize libary locations for your site"
michael@0 1100 $ write sys$output "and afterwards re-execute ''myproc'"
michael@0 1101 $ goto err_exit
michael@0 1102 $ endif
michael@0 1103 $!
michael@0 1104 $! Init symbols used to hold CPP definitions and include path
michael@0 1105 $!
michael@0 1106 $ libdefs = ""
michael@0 1107 $ libincs = ""
michael@0 1108 $!
michael@0 1109 $! Open data file with location of libraries
michael@0 1110 $!
michael@0 1111 $ open/read/end=end_lib/err=err_lib libdata VMSLIB.DAT
michael@0 1112 $LIB_LOOP:
michael@0 1113 $ read/end=end_lib libdata libline
michael@0 1114 $ libline = f$edit(libline, "UNCOMMENT,COLLAPSE")
michael@0 1115 $ if libline .eqs. "" then goto LIB_LOOP ! Comment line
michael@0 1116 $ libname = f$edit(f$element(0,"#",libline),"UPCASE")
michael@0 1117 $ write sys$output "Processing ''libname' setup ..."
michael@0 1118 $ libloc = f$element(1,"#",libline)
michael@0 1119 $ libsrc = f$element(2,"#",libline)
michael@0 1120 $ testinc = f$element(3,"#",libline)
michael@0 1121 $ cppdef = f$element(4,"#",libline)
michael@0 1122 $ old_cpp = f$locate("=1",cppdef)
michael@0 1123 $ if old_cpp.lt.f$length(cppdef) then cppdef = f$extract(0,old_cpp,cppdef)
michael@0 1124 $ if f$search("''libloc'").eqs. ""
michael@0 1125 $ then
michael@0 1126 $ write sys$output "Can not find library ''libloc' - Skipping ''libname'"
michael@0 1127 $ goto LIB_LOOP
michael@0 1128 $ endif
michael@0 1129 $ libsrc_elem = 0
michael@0 1130 $ libsrc_found = false
michael@0 1131 $LIBSRC_LOOP:
michael@0 1132 $ libsrcdir = f$element(libsrc_elem,",",libsrc)
michael@0 1133 $ if (libsrcdir .eqs. ",") then goto END_LIBSRC
michael@0 1134 $ if f$search("''libsrcdir'''testinc'") .nes. "" then libsrc_found = true
michael@0 1135 $ libsrc_elem = libsrc_elem + 1
michael@0 1136 $ goto LIBSRC_LOOP
michael@0 1137 $END_LIBSRC:
michael@0 1138 $ if .not. libsrc_found
michael@0 1139 $ then
michael@0 1140 $ write sys$output "Can not find includes at ''libsrc' - Skipping ''libname'"
michael@0 1141 $ goto LIB_LOOP
michael@0 1142 $ endif
michael@0 1143 $ if (cppdef .nes. "") then libdefs = libdefs + cppdef + ","
michael@0 1144 $ libincs = libincs + "," + libsrc
michael@0 1145 $ lqual = "/lib"
michael@0 1146 $ libtype = f$edit(f$parse(libloc,,,"TYPE"),"UPCASE")
michael@0 1147 $ if f$locate("EXE",libtype) .lt. f$length(libtype) then lqual = "/share"
michael@0 1148 $ write optf libloc , lqual
michael@0 1149 $ if (f$trnlnm("topt") .nes. "") then write topt libloc , lqual
michael@0 1150 $!
michael@0 1151 $! Nasty hack to get the freetype includes to work
michael@0 1152 $!
michael@0 1153 $ ft2def = false
michael@0 1154 $ if ((libname .eqs. "FREETYPE") .and. -
michael@0 1155 (f$locate("FREETYPE2",cppdef) .lt. f$length(cppdef)))
michael@0 1156 $ then
michael@0 1157 $ if ((f$search("freetype:freetype.h") .nes. "") .and. -
michael@0 1158 (f$search("freetype:[internal]ftobjs.h") .nes. ""))
michael@0 1159 $ then
michael@0 1160 $ write sys$output "Will use local definition of freetype logical"
michael@0 1161 $ else
michael@0 1162 $ ft2elem = 0
michael@0 1163 $FT2_LOOP:
michael@0 1164 $ ft2srcdir = f$element(ft2elem,",",libsrc)
michael@0 1165 $ if f$search("''ft2srcdir'''testinc'") .nes. ""
michael@0 1166 $ then
michael@0 1167 $ if f$search("''ft2srcdir'internal.dir") .nes. ""
michael@0 1168 $ then
michael@0 1169 $ ft2dev = f$parse("''ft2srcdir'",,,"device","no_conceal")
michael@0 1170 $ ft2dir = f$parse("''ft2srcdir'",,,"directory","no_conceal")
michael@0 1171 $ ft2conc = f$locate("][",ft2dir)
michael@0 1172 $ ft2len = f$length(ft2dir)
michael@0 1173 $ if ft2conc .lt. ft2len
michael@0 1174 $ then
michael@0 1175 $ ft2dir = f$extract(0,ft2conc,ft2dir) + -
michael@0 1176 f$extract(ft2conc+2,ft2len-2,ft2dir)
michael@0 1177 $ endif
michael@0 1178 $ ft2dir = ft2dir - "]" + ".]"
michael@0 1179 $ define freetype 'ft2dev''ft2dir','ft2srcdir'
michael@0 1180 $ ft2def = true
michael@0 1181 $ else
michael@0 1182 $ goto ft2_err
michael@0 1183 $ endif
michael@0 1184 $ else
michael@0 1185 $ ft2elem = ft2elem + 1
michael@0 1186 $ goto ft2_loop
michael@0 1187 $ endif
michael@0 1188 $ endif
michael@0 1189 $ endif
michael@0 1190 $ goto LIB_LOOP
michael@0 1191 $END_LIB:
michael@0 1192 $ close libdata
michael@0 1193 $ return
michael@0 1194 $!------------------------------------------------------------------------------
michael@0 1195 $!
michael@0 1196 $! Analyze Object files for OpenVMS AXP to extract Procedure and Data
michael@0 1197 $! information to build a symbol vector for a shareable image
michael@0 1198 $! All the "brains" of this logic was suggested by Hartmut Becker
michael@0 1199 $! (Hartmut.Becker@compaq.com). All the bugs were introduced by me
michael@0 1200 $! (zinser@decus.de), so if you do have problem reports please do not
michael@0 1201 $! bother Hartmut/HP, but get in touch with me
michael@0 1202 $!
michael@0 1203 $! Version history
michael@0 1204 $! 0.01 20040006 Skip over shareable images in option file
michael@0 1205 $!
michael@0 1206 $ ANAL_OBJ_AXP: Subroutine
michael@0 1207 $ V = 'F$Verify(0)
michael@0 1208 $ SAY := "WRITE_ SYS$OUTPUT"
michael@0 1209 $
michael@0 1210 $ IF F$SEARCH("''P1'") .EQS. ""
michael@0 1211 $ THEN
michael@0 1212 $ SAY "ANAL_OBJ_AXP-E-NOSUCHFILE: Error, inputfile ''p1' not available"
michael@0 1213 $ goto exit_aa
michael@0 1214 $ ENDIF
michael@0 1215 $ IF "''P2'" .EQS. ""
michael@0 1216 $ THEN
michael@0 1217 $ SAY "ANAL_OBJ_AXP: Error, no output file provided"
michael@0 1218 $ goto exit_aa
michael@0 1219 $ ENDIF
michael@0 1220 $
michael@0 1221 $ open/read in 'p1
michael@0 1222 $ create a.tmp
michael@0 1223 $ open/append atmp a.tmp
michael@0 1224 $ loop:
michael@0 1225 $ read/end=end_loop in line
michael@0 1226 $ if f$locate("/SHARE",f$edit(line,"upcase")) .lt. f$length(line)
michael@0 1227 $ then
michael@0 1228 $ write sys$output "ANAL_SKP_SHR-i-skipshare, ''line'"
michael@0 1229 $ goto loop
michael@0 1230 $ endif
michael@0 1231 $ if f$locate("/LIB",f$edit(line,"upcase")) .lt. f$length(line)
michael@0 1232 $ then
michael@0 1233 $ write libsf line
michael@0 1234 $ write sys$output "ANAL_SKP_LIB-i-skiplib, ''line'"
michael@0 1235 $ goto loop
michael@0 1236 $ endif
michael@0 1237 $ f= f$search(line)
michael@0 1238 $ if f .eqs. ""
michael@0 1239 $ then
michael@0 1240 $ write sys$output "ANAL_OBJ_AXP-w-nosuchfile, ''line'"
michael@0 1241 $ goto loop
michael@0 1242 $ endif
michael@0 1243 $ def/user sys$output nl:
michael@0 1244 $ def/user sys$error nl:
michael@0 1245 $ anal/obj/gsd 'f /out=x.tmp
michael@0 1246 $ open/read xtmp x.tmp
michael@0 1247 $ XLOOP:
michael@0 1248 $ read/end=end_xloop xtmp xline
michael@0 1249 $ xline = f$edit(xline,"compress")
michael@0 1250 $ write atmp xline
michael@0 1251 $ goto xloop
michael@0 1252 $ END_XLOOP:
michael@0 1253 $ close xtmp
michael@0 1254 $ goto loop
michael@0 1255 $ end_loop:
michael@0 1256 $ close in
michael@0 1257 $ close atmp
michael@0 1258 $ if f$search("a.tmp") .eqs. "" -
michael@0 1259 then $ exit
michael@0 1260 $ ! all global definitions
michael@0 1261 $ search a.tmp "symbol:","EGSY$V_DEF 1","EGSY$V_NORM 1"/out=b.tmp
michael@0 1262 $ ! all procedures
michael@0 1263 $ search b.tmp "EGSY$V_NORM 1"/wind=(0,1) /out=c.tmp
michael@0 1264 $ search c.tmp "symbol:"/out=d.tmp
michael@0 1265 $ def/user sys$output nl:
michael@0 1266 $ edito/edt/command=sys$input d.tmp
michael@0 1267 sub/symbol: "/symbol_vector=(/whole
michael@0 1268 sub/"/=PROCEDURE)/whole
michael@0 1269 exit
michael@0 1270 $ ! all data
michael@0 1271 $ search b.tmp "EGSY$V_DEF 1"/wind=(0,1) /out=e.tmp
michael@0 1272 $ search e.tmp "symbol:"/out=f.tmp
michael@0 1273 $ def/user sys$output nl:
michael@0 1274 $ edito/edt/command=sys$input f.tmp
michael@0 1275 sub/symbol: "/symbol_vector=(/whole
michael@0 1276 sub/"/=DATA)/whole
michael@0 1277 exit
michael@0 1278 $ sort/nodupl d.tmp,f.tmp 'p2'
michael@0 1279 $ delete a.tmp;*,b.tmp;*,c.tmp;*,d.tmp;*,e.tmp;*,f.tmp;*
michael@0 1280 $ if f$search("x.tmp") .nes. "" -
michael@0 1281 then $ delete x.tmp;*
michael@0 1282 $!
michael@0 1283 $ close libsf
michael@0 1284 $ EXIT_AA:
michael@0 1285 $ if V then set verify
michael@0 1286 $ endsubroutine

mercurial