1
|
|
-$!---------------vms_make.com for FreeType 2 demos -----------------------------
|
2
|
|
-$! make FreeType 2 under OpenVMS
|
|
1
|
+$!---------------vms_make.com for Freetype2 demos ------------------------------
|
|
2
|
+$! make Freetype2 under OpenVMS
|
3
|
3
|
$!
|
4
|
4
|
$! In case of problems with the build you might want to contact me at
|
5
|
|
-$! zinser@zinser.no-ip.info (preferred) or
|
|
5
|
+$! zinser@zinser.no-ip.info (preferred) or
|
6
|
6
|
$! zinser@sysdev.deutsche-boerse.com (Work)
|
7
|
7
|
$!
|
8
|
8
|
$!------------------------------------------------------------------------------
|
... |
... |
@@ -36,11 +36,13 @@ $! |
36
|
36
|
$ open/write optf 'optfile'
|
37
|
37
|
$ If f$getsyi("HW_MODEL") .gt. 1024
|
38
|
38
|
$ Then
|
39
|
|
-$ write optf "[-.freetype.lib]freetype2shr.exe/share"
|
|
39
|
+$ write optf "[-.freetype2.lib]freetype2shr.exe/share"
|
40
|
40
|
$ else
|
41
|
|
-$ write optf "[-.freetype.lib]freetype.olb/lib"
|
|
41
|
+$ write optf "[-.freetype2.lib]freetype.olb/lib"
|
42
|
42
|
$ endif
|
43
|
43
|
$ gosub check_create_vmslib
|
|
44
|
+$ write optf "sys$library:libpng.olb/lib"
|
|
45
|
+$ write optf "sys$library:libz.olb/lib"
|
44
|
46
|
$ write optf "sys$share:decw$xlibshr.exe/share"
|
45
|
47
|
$ close optf
|
46
|
48
|
$!
|
... |
... |
@@ -51,10 +53,10 @@ $! |
51
|
53
|
$ exit
|
52
|
54
|
$!
|
53
|
55
|
$ERR_LIB:
|
54
|
|
-$ write sys$output "Error reading config file [-.freetype]vmslib.dat"
|
|
56
|
+$ write sys$output "Error reading config file [-.freetype2]vmslib.dat"
|
55
|
57
|
$ goto err_exit
|
56
|
58
|
$FT2_ERR:
|
57
|
|
-$ write sys$output "Could not locate FreeType 2 include files"
|
|
59
|
+$ write sys$output "Could not locate Freetype 2 include files"
|
58
|
60
|
$ goto err_exit
|
59
|
61
|
$ERR_EXIT:
|
60
|
62
|
$ set message/facil/ident/sever/text
|
... |
... |
@@ -86,7 +88,9 @@ $ deck |
86
|
88
|
|
87
|
89
|
.FIRST
|
88
|
90
|
|
89
|
|
- define freetype [-.freetype.include.freetype]
|
|
91
|
+ define freetype [-.freetype2.include.freetype]
|
|
92
|
+ define config [-.freetype2.include.freetype.config]
|
|
93
|
+ define internal [-.freetype2.include.freetype.internal]
|
90
|
94
|
|
91
|
95
|
CC = cc
|
92
|
96
|
|
... |
... |
@@ -97,7 +101,7 @@ GRX11SRC = [.graph.x11] |
97
|
101
|
OBJDIR = [.objs]
|
98
|
102
|
|
99
|
103
|
# include paths
|
100
|
|
-INCLUDES = /include=([-.freetype.include],[.graph])
|
|
104
|
+INCLUDES = /include=([-.freetype2.include],[.graph],[.src])
|
101
|
105
|
|
102
|
106
|
GRAPHOBJ = $(OBJDIR)grblit.obj, \
|
103
|
107
|
$(OBJDIR)grobjs.obj, \
|
... |
... |
@@ -106,39 +110,109 @@ GRAPHOBJ = $(OBJDIR)grblit.obj, \ |
106
|
110
|
$(OBJDIR)grdevice.obj,\
|
107
|
111
|
$(OBJDIR)grx11.obj, \
|
108
|
112
|
$(OBJDIR)gblender.obj, \
|
109
|
|
- $(OBJDIR)gblblit.obj
|
|
113
|
+ $(OBJDIR)gblblit.obj,$(OBJDIR)grfill.obj
|
|
114
|
+
|
|
115
|
+GRAPHOBJ64 = $(OBJDIR)grblit_64.obj, \
|
|
116
|
+ $(OBJDIR)grobjs_64.obj, \
|
|
117
|
+ $(OBJDIR)grfont_64.obj, \
|
|
118
|
+ $(OBJDIR)grinit_64.obj, \
|
|
119
|
+ $(OBJDIR)grdevice_64.obj,\
|
|
120
|
+ $(OBJDIR)grx11_64.obj, \
|
|
121
|
+ $(OBJDIR)gblender_64.obj, \
|
|
122
|
+ $(OBJDIR)gblblit_64.obj,$(OBJDIR)grfill_64.obj
|
110
|
123
|
|
111
|
124
|
# C flags
|
112
|
|
-CFLAGS = $(CCOPT)$(INCLUDES)/obj=$(OBJDIR)
|
|
125
|
+CFLAGS = $(CCOPT)$(INCLUDES)/obj=$(OBJDIR)/define=("FT2_BUILD_LIBRARY=1")
|
|
126
|
+
|
|
127
|
+.c.obj :
|
|
128
|
+ cc$(CFLAGS)/point=32/list=$(MMS$TARGET_NAME).lis/show=all $(MMS$SOURCE)
|
|
129
|
+ pipe link/map=$(MMS$TARGET_NAME).map/full/exec=nl: $(MMS$TARGET_NAME)\
|
|
130
|
+ | copy sys$input nl:
|
|
131
|
+ copy $(MMS$SOURCE) []
|
|
132
|
+ mc sys$library:vms_auto64 $(MMS$TARGET_NAME).map $(MMS$TARGET_NAME).lis
|
|
133
|
+ ren *64.c $(OBJDIR)
|
|
134
|
+ cc$(CFLAGS)/point=64=arg/obj=$(MMS$TARGET_NAME)_64.obj\
|
|
135
|
+ $(MMS$TARGET_NAME)_64.c
|
|
136
|
+ del []*.c;
|
|
137
|
+ delete $(MMS$TARGET_NAME)_64.c;*
|
113
|
138
|
|
114
|
139
|
ALL : ftchkwd.exe ftdump.exe ftlint.exe ftmemchk.exe ftmulti.exe ftview.exe \
|
115
|
|
- ftstring.exe fttimer.exe ftbench.exe testname.exe
|
|
140
|
+ ftstring.exe fttimer.exe ftbench.exe testname.exe ftchkwd_64.exe\
|
|
141
|
+ ftdump_64.exe ftlint_64.exe ftmemchk_64.exe \
|
|
142
|
+ fttimer_64.exe ftbench_64.exe testname_64.exe
|
116
|
143
|
|
117
|
144
|
|
118
|
|
-ftbench.exe : $(OBJDIR)ftbench.obj,$(OBJDIR)common.obj
|
119
|
|
- link $(LOPTS) $(OBJDIR)ftbench.obj,$(OBJDIR)common.obj,-
|
|
145
|
+ftbench.exe : $(OBJDIR)ftbench.obj,$(OBJDIR)common.obj,$(OBJDIR)mlgetopt.obj
|
|
146
|
+ link $(LOPTS) $(OBJDIR)ftbench.obj,$(OBJDIR)common.obj,mlgetopt,-
|
120
|
147
|
[]ft2demos.opt/opt
|
|
148
|
+ftbench_64.exe : $(OBJDIR)ftbench.obj,$(OBJDIR)common.obj,$(OBJDIR)mlgetopt.obj
|
|
149
|
+ link $(LOPTS) $(OBJDIR)ftbench_64.obj,$(OBJDIR)common_64.obj,\
|
|
150
|
+ mlgetopt_64,[]ft2demos.opt/opt
|
121
|
151
|
ftchkwd.exe : $(OBJDIR)ftchkwd.obj,$(OBJDIR)common.obj
|
122
|
152
|
link $(LOPTS) $(OBJDIR)ftchkwd.obj,$(OBJDIR)common.obj,-
|
123
|
153
|
[]ft2demos.opt/opt
|
124
|
|
-ftdump.exe : $(OBJDIR)ftdump.obj,$(OBJDIR)common.obj
|
125
|
|
- link $(LOPTS) $(OBJDIR)ftdump.obj,common.obj,[]ft2demos.opt/opt
|
126
|
|
-ftlint.exe : $(OBJDIR)ftlint.obj
|
127
|
|
- link $(LOPTS) $(OBJDIR)ftlint.obj,[]ft2demos.opt/opt
|
|
154
|
+ftchkwd_64.exe : $(OBJDIR)ftchkwd.obj,$(OBJDIR)common.obj
|
|
155
|
+ link $(LOPTS) $(OBJDIR)ftchkwd_64.obj,$(OBJDIR)common_64.obj,-
|
|
156
|
+ []ft2demos.opt/opt
|
|
157
|
+ftdump.exe : $(OBJDIR)ftdump.obj,$(OBJDIR)common.obj,$(OBJDIR)output.obj,\
|
|
158
|
+ $(OBJDIR)mlgetopt.obj
|
|
159
|
+ link $(LOPTS) $(OBJDIR)ftdump.obj,common.obj,output,mlgetopt,\
|
|
160
|
+ []ft2demos.opt/opt
|
|
161
|
+ftdump_64.exe : $(OBJDIR)ftdump.obj,$(OBJDIR)common.obj,$(OBJDIR)output.obj,\
|
|
162
|
+ $(OBJDIR)mlgetopt.obj
|
|
163
|
+ link $(LOPTS) $(OBJDIR)ftdump_64.obj,common_64.obj,output_64,mlgetopt_64,\
|
|
164
|
+ []ft2demos.opt/opt
|
|
165
|
+ftlint.exe : $(OBJDIR)ftlint.obj,$(OBJDIR)common.obj,$(OBJDIR)md5.obj,\
|
|
166
|
+ $(OBJDIR)mlgetopt.obj
|
|
167
|
+ link $(LOPTS) $(OBJDIR)ftlint.obj,common.obj,md5,mlgetopt,\
|
|
168
|
+ []ft2demos.opt/opt
|
|
169
|
+ftlint_64.exe : $(OBJDIR)ftlint.obj,$(OBJDIR)common.obj,$(OBJDIR)md5.obj,\
|
|
170
|
+ $(OBJDIR)mlgetopt.obj
|
|
171
|
+ link $(LOPTS) $(OBJDIR)ftlint_64.obj,common_64.obj,md5_64,mlgetopt_64,\
|
|
172
|
+ []ft2demos.opt/opt
|
128
|
173
|
ftmemchk.exe : $(OBJDIR)ftmemchk.obj
|
129
|
174
|
link $(LOPTS) $(OBJDIR)ftmemchk.obj,[]ft2demos.opt/opt
|
130
|
|
-ftmulti.exe : $(OBJDIR)ftmulti.obj,$(OBJDIR)common.obj,$(GRAPHOBJ)
|
131
|
|
- link $(LOPTS) $(OBJDIR)ftmulti.obj,common.obj,$(GRAPHOBJ),[]ft2demos.opt/opt
|
132
|
|
-ftview.exe : $(OBJDIR)ftview.obj,$(OBJDIR)common.obj,$(GRAPHOBJ)
|
133
|
|
- link $(LOPTS) $(OBJDIR)ftview.obj,common.obj,$(GRAPHOBJ),[]ft2demos.opt/opt
|
134
|
|
-ftstring.exe : $(OBJDIR)ftstring.obj,$(OBJDIR)common.obj,$(GRAPHOBJ)
|
135
|
|
- link $(LOPTS) $(OBJDIR)ftstring.obj,common.obj,$(GRAPHOBJ),[]ft2demos.opt/opt
|
|
175
|
+ftmemchk_64.exe : $(OBJDIR)ftmemchk.obj
|
|
176
|
+ link $(LOPTS) $(OBJDIR)ftmemchk_64.obj,[]ft2demos.opt/opt
|
|
177
|
+ftmulti.exe : $(OBJDIR)ftmulti.obj,$(OBJDIR)common.obj,$(OBJDIR)mlgetopt.obj\
|
|
178
|
+ ,$(OBJDIR)ftcommon.obj,$(OBJDIR)strbuf.obj,$(GRAPHOBJ)
|
|
179
|
+ link $(LOPTS) $(OBJDIR)ftmulti.obj,common.obj,mlgetopt,ftcommon,\
|
|
180
|
+ strbuf,$(GRAPHOBJ),[]ft2demos.opt/opt
|
|
181
|
+ftmulti_64.exe : $(OBJDIR)ftmulti.obj,$(OBJDIR)common.obj,\
|
|
182
|
+ $(OBJDIR)mlgetopt.obj,$(OBJDIR)ftcommon.obj,$(OBJDIR)strbuf.obj,\
|
|
183
|
+ $(GRAPHOBJ)
|
|
184
|
+ link $(LOPTS) $(OBJDIR)ftmulti_64.obj,common_64.obj,mlgetopt_64,ftcommon_64,\
|
|
185
|
+ strbuf_64,$(GRAPHOBJ64),[]ft2demos.opt/opt
|
|
186
|
+ftview.exe : $(OBJDIR)ftview.obj,$(OBJDIR)common.obj,$(OBJDIR)ftcommon.obj,\
|
|
187
|
+ ,$(OBJDIR)mlgetopt.obj,$(OBJDIR)strbuf.obj,$(OBJDIR)ftpngout.obj,\
|
|
188
|
+ $(GRAPHOBJ)
|
|
189
|
+ link $(LOPTS) $(OBJDIR)ftview.obj,common.obj,ftcommon.obj,mlgetopt.obj\
|
|
190
|
+ ,strbuf,ftpngout,$(GRAPHOBJ),[]ft2demos.opt/opt
|
|
191
|
+ftview_64.exe : $(OBJDIR)ftview.obj,$(OBJDIR)common.obj,$(OBJDIR)ftcommon.obj,\
|
|
192
|
+ ,$(OBJDIR)mlgetopt.obj,$(OBJDIR)strbuf.obj,$(OBJDIR)ftpngout.obj,$(GRAPHOBJ)
|
|
193
|
+ link $(LOPTS) $(OBJDIR)ftview_64.obj,common_64.obj,ftcommon_64.obj,\
|
|
194
|
+ mlgetopt_64.obj,strbuf_64,ftpngout_64,$(GRAPHOBJ64),[]ft2demos.opt/opt
|
|
195
|
+ftstring.exe : $(OBJDIR)ftstring.obj,$(OBJDIR)common.obj,\
|
|
196
|
+ $(OBJDIR)ftcommon.obj,$(OBJDIR)mlgetopt.obj,$(OBJDIR)strbuf.obj,\
|
|
197
|
+ $(OBJDIR)ftpngout.obj,$(GRAPHOBJ)
|
|
198
|
+ link $(LOPTS) $(OBJDIR)ftstring.obj,common.obj,ftcommon.obj,\
|
|
199
|
+ mlgetopt.obj,strbuf,ftpngout,$(GRAPHOBJ),[]ft2demos.opt/opt
|
|
200
|
+ftstring_64.exe : $(OBJDIR)ftstring.obj,$(OBJDIR)common.obj,\
|
|
201
|
+ $(OBJDIR)ftcommon.obj,$(OBJDIR)mlgetopt.obj,$(OBJDIR)strbuf.obj,\
|
|
202
|
+ $(OBJDIR)ftpngout.obj,$(GRAPHOBJ)
|
|
203
|
+ link $(LOPTS) $(OBJDIR)ftstring_64.obj,common_64.obj,ftcommon_64.obj,\
|
|
204
|
+ mlgetopt_64.obj,strbuf_64,ftpngout_64,$(GRAPHOBJ64),[]ft2demos.opt/opt
|
136
|
205
|
fttimer.exe : $(OBJDIR)fttimer.obj
|
137
|
206
|
link $(LOPTS) $(OBJDIR)fttimer.obj,[]ft2demos.opt/opt
|
|
207
|
+fttimer_64.exe : $(OBJDIR)fttimer.obj
|
|
208
|
+ link $(LOPTS) $(OBJDIR)fttimer_64.obj,[]ft2demos.opt/opt
|
138
|
209
|
testname.exe : $(OBJDIR)testname.obj
|
139
|
210
|
link $(LOPTS) $(OBJDIR)testname.obj,[]ft2demos.opt/opt
|
|
211
|
+testname_64.exe : $(OBJDIR)testname.obj
|
|
212
|
+ link $(LOPTS) $(OBJDIR)testname_64.obj,[]ft2demos.opt/opt
|
140
|
213
|
|
141
|
214
|
$(OBJDIR)common.obj : $(SRCDIR)common.c , $(SRCDIR)common.h
|
|
215
|
+$(OBJDIR)ftcommon.obj : $(SRCDIR)ftcommon.c
|
142
|
216
|
$(OBJDIR)ftbench.obj : $(SRCDIR)ftbench.c
|
143
|
217
|
$(OBJDIR)ftchkwd.obj : $(SRCDIR)ftchkwd.c
|
144
|
218
|
$(OBJDIR)ftlint.obj : $(SRCDIR)ftlint.c
|
... |
... |
@@ -153,16 +227,32 @@ $(OBJDIR)gblender.obj : $(GRAPHSRC)gblender.c |
153
|
227
|
$(OBJDIR)gblblit.obj : $(GRAPHSRC)gblblit.c
|
154
|
228
|
$(OBJDIR)grinit.obj : $(GRAPHSRC)grinit.c
|
155
|
229
|
set def $(GRAPHSRC)
|
156
|
|
- $(CC)$(CCOPT)/include=([.x11],[])/define=(DEVICE_X11)/obj=[-.objs] grinit.c
|
|
230
|
+ $(CC)$(CCOPT)/include=([.x11],[])/point=32/list/show=all\
|
|
231
|
+ /define=(DEVICE_X11,"FT2_BUILD_LIBRARY=1")/obj=[-.objs] grinit.c
|
|
232
|
+ pipe link/map/full/exec=nl: [-.objs]grinit.obj | copy sys$input nl:
|
|
233
|
+ mc sys$library:vms_auto64 grinit.map grinit.lis
|
|
234
|
+ $(CC)$(CCOPT)/include=([.x11],[])/point=64/obj=[-.objs] grinit_64.c
|
|
235
|
+ delete grinit_64.c;*
|
157
|
236
|
set def [-]
|
158
|
237
|
$(OBJDIR)grx11.obj : $(GRX11SRC)grx11.c
|
159
|
238
|
set def $(GRX11SRC)
|
160
|
|
- $(CC)$(CCOPT)/obj=[--.objs]/include=([-]) grx11.c
|
|
239
|
+ $(CC)$(CCOPT)/include=([-])/point=32/list/show=all\
|
|
240
|
+ /define=(DEVICE_X11,"FT2_BUILD_LIBRARY=1")/obj=[--.objs] grx11.c
|
|
241
|
+ pipe link/map/full/exec=nl: [--.objs]grx11.obj | copy sys$input nl:
|
|
242
|
+ mc sys$library:vms_auto64 grx11.map grx11.lis
|
|
243
|
+ $(CC)$(CCOPT)/include=([-])/point=64/obj=[--.objs] grx11_64.c
|
|
244
|
+ delete grx11_64.c;*
|
161
|
245
|
set def [--]
|
162
|
246
|
$(OBJDIR)grdevice.obj : $(GRAPHSRC)grdevice.c
|
|
247
|
+$(OBJDIR)grfill.obj : $(GRAPHSRC)grfill.c
|
163
|
248
|
$(OBJDIR)ftmulti.obj : $(SRCDIR)ftmulti.c
|
164
|
249
|
$(OBJDIR)ftstring.obj : $(SRCDIR)ftstring.c
|
165
|
250
|
$(OBJDIR)fttimer.obj : $(SRCDIR)fttimer.c
|
|
251
|
+$(OBJDIR)mlgetopt.obj : $(SRCDIR)mlgetopt.c
|
|
252
|
+$(OBJDIR)output.obj : $(SRCDIR)output.c
|
|
253
|
+$(OBJDIR)md5.obj : $(SRCDIR)md5.c
|
|
254
|
+$(OBJDIR)strbuf.obj : $(SRCDIR)strbuf.c
|
|
255
|
+$(OBJDIR)ftpngout.obj : $(SRCDIR)ftpngout.c
|
166
|
256
|
|
167
|
257
|
CLEAN :
|
168
|
258
|
delete $(OBJDIR)*.obj;*,[]ft2demos.opt;*
|
... |
... |
@@ -209,107 +299,18 @@ $! |
209
|
299
|
$! Version history
|
210
|
300
|
$! 0.01 20040220 First version to receive a number
|
211
|
301
|
$! 0.02 20040229 Echo current procedure name; use general error exit handler
|
212
|
|
-$! Remove xpm hack -> Replaced by more general dnsrl handling
|
213
|
|
-$! ---> Attention slightly changed version to take into account special
|
214
|
|
-$! situation for FreeType 2 demos
|
|
302
|
+$! Remove xpm hack -> Replaced by more general dnsrl handling
|
|
303
|
+$! ---> Attention slightly changed version to take into account special
|
|
304
|
+$! Situation for Freetype2 demos
|
215
|
305
|
$CHECK_CREATE_VMSLIB:
|
216
|
306
|
$!
|
217
|
|
-$ if f$search("[-.freetype]VMSLIB.DAT") .eqs. ""
|
|
307
|
+$ if f$search("[-.freetype2]libs.opt") .eqs. ""
|
218
|
308
|
$ then
|
219
|
|
-$ write sys$output "FreeType 2 driver file [-.freetype]vmslib.dat not found."
|
|
309
|
+$ write sys$output "Freetype2 driver file [-.freetype2]libs.opt not found."
|
220
|
310
|
$ write sys$output "Either Ft2demos have been installed in the wrong location"
|
221
|
|
-$ write sys$output "or FreeType 2 has not yet been configured."
|
|
311
|
+$ write sys$output "or Freetype2 has not yet been configured."
|
222
|
312
|
$ write sys$output "Exiting..."
|
223
|
313
|
$ goto err_exit
|
224
|
314
|
$ endif
|
225
|
315
|
$!
|
226
|
|
-$! Init symbols used to hold CPP definitions and include path
|
227
|
|
-$!
|
228
|
|
-$ libdefs = ""
|
229
|
|
-$ libincs = ""
|
230
|
|
-$!
|
231
|
|
-$! Open data file with location of libraries
|
232
|
|
-$!
|
233
|
|
-$ open/read/end=end_lib/err=err_lib libdata [-.freetype]VMSLIB.DAT
|
234
|
|
-$LIB_LOOP:
|
235
|
|
-$ read/end=end_lib libdata libline
|
236
|
|
-$ libline = f$edit(libline, "UNCOMMENT,COLLAPSE")
|
237
|
|
-$ if libline .eqs. "" then goto LIB_LOOP ! Comment line
|
238
|
|
-$ libname = f$edit(f$element(0,"#",libline),"UPCASE")
|
239
|
|
-$ write sys$output "Processing ''libname' setup ..."
|
240
|
|
-$ libloc = f$element(1,"#",libline)
|
241
|
|
-$ libsrc = f$element(2,"#",libline)
|
242
|
|
-$ testinc = f$element(3,"#",libline)
|
243
|
|
-$ cppdef = f$element(4,"#",libline)
|
244
|
|
-$ old_cpp = f$locate("=1",cppdef)
|
245
|
|
-$ if old_cpp.lt.f$length(cppdef) then cppdef = f$extract(0,old_cpp,cppdef)
|
246
|
|
-$ if f$search("''libloc'").eqs. ""
|
247
|
|
-$ then
|
248
|
|
-$ write sys$output "Can not find library ''libloc' - Skipping ''libname'"
|
249
|
|
-$ goto LIB_LOOP
|
250
|
|
-$ endif
|
251
|
|
-$ libsrc_elem = 0
|
252
|
|
-$ libsrc_found = false
|
253
|
|
-$LIBSRC_LOOP:
|
254
|
|
-$ libsrcdir = f$element(libsrc_elem,",",libsrc)
|
255
|
|
-$ if (libsrcdir .eqs. ",") then goto END_LIBSRC
|
256
|
|
-$ if f$search("''libsrcdir'''testinc'") .nes. "" then libsrc_found = true
|
257
|
|
-$ libsrc_elem = libsrc_elem + 1
|
258
|
|
-$ goto LIBSRC_LOOP
|
259
|
|
-$END_LIBSRC:
|
260
|
|
-$ if .not. libsrc_found
|
261
|
|
-$ then
|
262
|
|
-$ write sys$output "Can not find includes at ''libsrc' - Skipping ''libname'"
|
263
|
|
-$ goto LIB_LOOP
|
264
|
|
-$ endif
|
265
|
|
-$ if (cppdef .nes. "") then libdefs = libdefs + cppdef + ","
|
266
|
|
-$ libincs = libincs + "," + libsrc
|
267
|
|
-$ lqual = "/lib"
|
268
|
|
-$ libtype = f$edit(f$parse(libloc,,,"TYPE"),"UPCASE")
|
269
|
|
-$ if f$locate("EXE",libtype) .lt. f$length(libtype) then lqual = "/share"
|
270
|
|
-$ write optf libloc , lqual
|
271
|
|
-$ if (f$trnlnm("topt") .nes. "") then write topt libloc , lqual
|
272
|
|
-$!
|
273
|
|
-$! Nasty hack to get the FreeType includes to work
|
274
|
|
-$!
|
275
|
|
-$ ft2def = false
|
276
|
|
-$ if ((libname .eqs. "FREETYPE") .and. -
|
277
|
|
- (f$locate("FREETYPE2",cppdef) .lt. f$length(cppdef)))
|
278
|
|
-$ then
|
279
|
|
-$ if ((f$search("freetype:freetype.h") .nes. "") .and. -
|
280
|
|
- (f$search("freetype:[internal]ftobjs.h") .nes. ""))
|
281
|
|
-$ then
|
282
|
|
-$ write sys$output "Will use local definition of freetype logical"
|
283
|
|
-$ else
|
284
|
|
-$ ft2elem = 0
|
285
|
|
-$FT2_LOOP:
|
286
|
|
-$ ft2srcdir = f$element(ft2elem,",",libsrc)
|
287
|
|
-$ if f$search("''ft2srcdir'''testinc'") .nes. ""
|
288
|
|
-$ then
|
289
|
|
-$ if f$search("''ft2srcdir'internal.dir") .nes. ""
|
290
|
|
-$ then
|
291
|
|
-$ ft2dev = f$parse("''ft2srcdir'",,,"device","no_conceal")
|
292
|
|
-$ ft2dir = f$parse("''ft2srcdir'",,,"directory","no_conceal")
|
293
|
|
-$ ft2conc = f$locate("][",ft2dir)
|
294
|
|
-$ ft2len = f$length(ft2dir)
|
295
|
|
-$ if ft2conc .lt. ft2len
|
296
|
|
-$ then
|
297
|
|
-$ ft2dir = f$extract(0,ft2conc,ft2dir) + -
|
298
|
|
- f$extract(ft2conc+2,ft2len-2,ft2dir)
|
299
|
|
-$ endif
|
300
|
|
-$ ft2dir = ft2dir - "]" + ".]"
|
301
|
|
-$ define freetype 'ft2dev''ft2dir','ft2srcdir'
|
302
|
|
-$ ft2def = true
|
303
|
|
-$ else
|
304
|
|
-$ goto ft2_err
|
305
|
|
-$ endif
|
306
|
|
-$ else
|
307
|
|
-$ ft2elem = ft2elem + 1
|
308
|
|
-$ goto ft2_loop
|
309
|
|
-$ endif
|
310
|
|
-$ endif
|
311
|
|
-$ endif
|
312
|
|
-$ goto LIB_LOOP
|
313
|
|
-$END_LIB:
|
314
|
|
-$ close libdata
|
315
|
316
|
$ return
|