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