Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

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