Compare commits
1745 commits
Author | SHA1 | Date | |
---|---|---|---|
|
9876e59533 | ||
|
5944eff19d | ||
|
17c5aee676 | ||
|
69156418a5 | ||
|
16e9314d96 | ||
|
1abfd22056 | ||
|
b260500eac | ||
|
b5bf91c5dd | ||
|
02317d3b18 | ||
|
97d5972367 | ||
|
cce5301443 | ||
|
d2c0e93d31 | ||
|
f40140e147 | ||
|
353675aeec | ||
|
def11c3ad6 | ||
|
2ee0799881 | ||
|
7696ac089a | ||
|
9d361ea0b7 | ||
|
7a3ba73782 | ||
|
52950741e5 | ||
|
75840c7b1d | ||
|
efda0541e6 | ||
|
d9710afa38 | ||
|
832f19b2a8 | ||
|
9c27494f87 | ||
|
1a800db9c9 | ||
|
ff5dc5fd30 | ||
|
6ec747f1ac | ||
|
73c6ebdae0 | ||
|
0358d176de | ||
|
db423ab4dc | ||
|
87c8e581a3 | ||
|
9ee99bc960 | ||
|
b3ff2859f8 | ||
|
34d5e26365 | ||
|
e79bc9c1d7 | ||
|
e1f7d79f0d | ||
|
6e322e7852 | ||
|
00764a59e2 | ||
|
4e0893774c | ||
|
f2fcb306bc | ||
|
44f80672a6 | ||
|
246cfccc82 | ||
|
5355161b0b | ||
|
473e27d4fe | ||
|
057ff36428 | ||
|
f79b3d0244 | ||
|
1517499a0d | ||
|
952e6e167b | ||
|
5d8fec36c1 | ||
|
759f488165 | ||
|
f7f9852bf1 | ||
|
31728442ff | ||
|
c0ff44f880 | ||
|
869db78869 | ||
|
50d381f55d | ||
|
3386362160 | ||
|
3bd826ae06 | ||
|
1fa6dd2186 | ||
|
87e8d1f146 | ||
|
ca9cb2f90d | ||
|
6e26686aca | ||
|
4e1621ece4 | ||
|
52c21bb383 | ||
|
cb05ae4371 | ||
|
d4ada6d5b4 | ||
|
93d026a14f | ||
|
69cf1fcba0 | ||
|
140f7076f0 | ||
|
af23b86939 | ||
|
9d1b2e0289 | ||
|
7f69b656c2 | ||
|
b9055b05a3 | ||
|
ccd17b5ada | ||
|
1fc9ce9659 | ||
|
9f29b02c30 | ||
|
4303677c2d | ||
|
daeaa43978 | ||
|
2c9ee60e04 | ||
|
9539d9b96f | ||
|
31809f0abc | ||
|
753daf1cee | ||
|
0b5282f170 | ||
|
29519bbada | ||
|
7315df76c6 | ||
|
7a10462344 | ||
|
a59ef5267d | ||
|
c16eeb1d19 | ||
|
e9b8c39eb8 | ||
|
a9a65f7f50 | ||
|
3f4f7450da | ||
|
57214ba86a | ||
|
5f501a4a98 | ||
|
76d7d37b19 | ||
|
069ea05829 | ||
|
3a1a1eeaa7 | ||
|
adebe7e2de | ||
|
8bbace0b63 | ||
|
a407abf65f | ||
|
fd091038db | ||
|
a4217cb08a | ||
|
35a9831961 | ||
|
fe122df68c | ||
|
2c683b8abe | ||
|
ec4f182713 | ||
|
e10f217b75 | ||
|
15c15a47ff | ||
|
53e54a632a | ||
|
8fe1af6451 | ||
|
bafcecf053 | ||
|
3ea9ff3344 | ||
|
b6ca839997 | ||
|
b5b50811b4 | ||
|
c29d5c361a | ||
|
53b103f6d0 | ||
|
4ca3a78ee2 | ||
|
1589cda69c | ||
|
1052074edd | ||
|
52a05d799e | ||
|
094786cb00 | ||
|
c1a59318ba | ||
|
72393bce3b | ||
|
ab0eb13fc2 | ||
|
806e8e89c9 | ||
|
e34ddda5b3 | ||
|
d4ac31a574 | ||
|
0e37feda90 | ||
|
f9a1be3d23 | ||
|
4bdee1ff76 | ||
|
c97e557211 | ||
|
fdefb6ad9e | ||
|
87f6aadf03 | ||
|
40a82ac3d9 | ||
|
0037369ccb | ||
|
2fdb498317 | ||
|
7dfb84fe10 | ||
|
a511bc8b9b | ||
|
d7fe752715 | ||
|
5a5783e9c0 | ||
|
957ad87d43 | ||
|
f9e9d3f619 | ||
|
0f543ff73f | ||
|
85efaad11d | ||
|
89c5c86486 | ||
|
a61857a8e7 | ||
|
adc7dd6ace | ||
|
edccc43477 | ||
|
a50ded0262 | ||
|
66a8c4838a | ||
|
413fcbc526 | ||
|
1024cca1eb | ||
|
75073f458a | ||
|
8bb7e16657 | ||
|
162b1b18c6 | ||
|
0f01bd7d2e | ||
|
431006e9ff | ||
|
f9f813aac1 | ||
|
c2abe931f4 | ||
|
e97c3bdc29 | ||
|
0418a1c4c5 | ||
|
ed391f4515 | ||
|
7f7483ab82 | ||
|
c93002478f | ||
|
da91efac9d | ||
|
2f3e2303ab | ||
|
91787f4fe3 | ||
|
d103a3834a | ||
|
8199900f5b | ||
|
44738ae5c0 | ||
|
6f3ef21d58 | ||
|
8d9dc82267 | ||
|
7c1fe2ae64 | ||
|
6b5b7d0b7c | ||
|
6923aee11d | ||
|
7b22e6d921 | ||
|
df0f64db7a | ||
|
f7d0560b46 | ||
|
4c31de77c1 | ||
|
b2e107db09 | ||
|
3d6848d058 | ||
|
c442660dc8 | ||
|
687924898b | ||
|
47bd6b0eca | ||
|
206b6f1608 | ||
|
5838823b6a | ||
|
116f8df77f | ||
|
37626c43b7 | ||
|
1461421974 | ||
|
ce6015d408 | ||
|
9511d5fd57 | ||
|
fd22a0f9b1 | ||
|
6ee0aacfb8 | ||
|
9dc9766d73 | ||
|
4fde6e0f64 | ||
|
8f48663aca | ||
|
f4688a0399 | ||
|
c0eecd147c | ||
|
3dde21bd63 | ||
|
703e85c11e | ||
|
d91be9e66d | ||
|
961d9819bd | ||
|
da096d7a60 | ||
|
61249b6ef2 | ||
|
373541e011 | ||
|
29d3a53966 | ||
|
61d14d7a05 | ||
|
30f948d235 | ||
|
7597f586cf | ||
|
04a603d1ff | ||
|
e36b349f65 | ||
|
788438f710 | ||
|
b9d6b7e310 | ||
|
177a97a450 | ||
|
f7c98b8125 | ||
|
ad49cf5244 | ||
|
11985af682 | ||
|
1dfbc8323f | ||
|
02ae5197c7 | ||
|
030c278faf | ||
|
bc1720b5ea | ||
|
26333d14b8 | ||
|
9a6b5b7111 | ||
|
cab5211f41 | ||
|
d65f13c379 | ||
|
bbe4bb3f1c | ||
|
93efd5f88f | ||
|
5cbbf68516 | ||
|
f88003fa02 | ||
|
58805c88f1 | ||
|
c3d1539b4c | ||
|
63ffd53fb2 | ||
|
3a0b9a3449 | ||
|
c91456b867 | ||
|
bc101b45e6 | ||
|
46f4c1781e | ||
|
51cda9c81c | ||
|
6dc94c4f22 | ||
|
c9cd80f6c1 | ||
|
8fbec7440c | ||
|
d9d73b26b9 | ||
|
172522aec7 | ||
|
5d95a41229 | ||
|
ed146875db | ||
|
b17c180b78 | ||
|
f65567153a | ||
|
8c10da81fa | ||
|
3222f53b14 | ||
|
b04f11987c | ||
|
9a4edb0655 | ||
|
be5b8e5d9f | ||
|
9111a7833b | ||
|
3ea8eccf8d | ||
|
6b75f163ed | ||
|
8b76608db7 | ||
|
90b593ca07 | ||
|
17deda1fe1 | ||
|
a0b00923ed | ||
|
b1598a371a | ||
|
9f1a23d558 | ||
|
522b25290e | ||
|
ab5f9cf25a | ||
|
f8d70d8bde | ||
|
cf836555fb | ||
|
90920f2f0d | ||
|
150c958692 | ||
|
c64b55b05a | ||
|
c769b23b72 | ||
|
788f921707 | ||
|
1e5f3b9b3e | ||
|
e7b5eca070 | ||
|
17ce0060ac | ||
|
021b1d4364 | ||
|
7921889d52 | ||
|
af68a63020 | ||
|
3aa34e2c33 | ||
|
dc3daa0089 | ||
|
05d31dec0e | ||
|
3d8eb15751 | ||
|
9353e7cc0f | ||
|
c8d5fb6926 | ||
|
868fadeb19 | ||
|
a92f62c0f1 | ||
|
5584724ac1 | ||
|
291a4783d0 | ||
|
63df8823f2 | ||
|
fdd710cc7e | ||
|
193309fb3d | ||
|
e312a948fc | ||
|
6c96bd7213 | ||
|
b4c59918b6 | ||
|
b95d77ca35 | ||
|
dc35a2c85d | ||
|
0948143d81 | ||
|
9eb223bbb9 | ||
|
d5b1289851 | ||
|
b9fb863e35 | ||
|
69b6ac9dde | ||
|
56c9aed744 | ||
|
3bf54fd461 | ||
|
f601b52b76 | ||
|
d68f32e15b | ||
|
23dd49dfc9 | ||
|
efc80e1c1c | ||
|
0d35ccc84c | ||
|
081bc9bab4 | ||
|
edef956518 | ||
|
a2dc86482e | ||
|
8c7276cfa1 | ||
|
aa7b5aa90f | ||
|
dbf848e6e8 | ||
|
bf8a9b4631 | ||
|
1791914031 | ||
|
9d35d16cdc | ||
|
6da9d6f3da | ||
|
4aca08b4e3 | ||
|
dc1a8444cd | ||
|
a8231e96de | ||
|
8bdea0c9fb | ||
|
11a5aa8556 | ||
|
4cf803a7f7 | ||
|
b6bab7da3b | ||
|
c1a401cdf8 | ||
|
c43c1b4828 | ||
|
3ab66593bb | ||
|
3baef13d6a | ||
|
62547194c3 | ||
|
e7032b4e9a | ||
|
26f8cb21ee | ||
|
10e107fb31 | ||
|
cf3a6fc80f | ||
|
70432a1145 | ||
|
18cb659dc4 | ||
|
9323ae8a61 | ||
|
6179219051 | ||
|
91105e22b9 | ||
|
cd29445fca | ||
|
bf7e297229 | ||
|
72f8e18d4c | ||
|
ce573357fc | ||
|
ac005b4d12 | ||
|
a066ecac1f | ||
|
574012618c | ||
|
24cfe54068 | ||
|
23bb8cba96 | ||
|
19659452d5 | ||
|
925a868049 | ||
|
91eca037fa | ||
|
50ba3429a0 | ||
|
a27f52b39e | ||
|
3d9b388130 | ||
|
80f8694bce | ||
|
d8e169830d | ||
|
b6bec671db | ||
|
31dae727b3 | ||
|
5ada76e281 | ||
|
4fae2d55cf | ||
|
e9f32cc3c5 | ||
|
124aaa4809 | ||
|
f201a2fd96 | ||
|
32d4980373 | ||
|
b860b965f8 | ||
|
41a407e60e | ||
|
b0ae1bfb3c | ||
|
60a6c464a2 | ||
|
dd3b91fd4a | ||
|
cde08695f5 | ||
|
ab9d64881b | ||
|
af3f0093e0 | ||
|
02d1e62410 | ||
|
79edf077a2 | ||
|
39c55c2f8c | ||
|
d464139d60 | ||
|
7110f2144a | ||
|
f5c26739c3 | ||
|
92831e3d27 | ||
|
bbca5932de | ||
|
62d8db05fa | ||
|
a5e9f1d994 | ||
|
21d8ccb112 | ||
|
bdeff4baac | ||
|
1139231757 | ||
|
f85a2c3910 | ||
|
67dcd4bcf4 | ||
|
b35d6d69e4 | ||
|
8c9c760326 | ||
|
648dd5acea | ||
|
849b62bf38 | ||
|
a6498eff0f | ||
|
146718161f | ||
|
55b639b888 | ||
|
037bbe661d | ||
|
b4dfab0ddf | ||
|
33fef0928b | ||
|
0aa11f20da | ||
|
4e3d2f8c05 | ||
|
0be012db6b | ||
|
a9ad67bb69 | ||
|
6ec7ba8ab3 | ||
|
d59c93309c | ||
|
9963101dbe | ||
|
3c711454e2 | ||
|
1ff902c8cd | ||
|
781072441e | ||
|
64e6f5b5a7 | ||
|
e2913592ec | ||
|
a01a7dd5bb | ||
|
0c61490afb | ||
|
a078e836ca | ||
|
f4c46c688e | ||
|
c464f6be08 | ||
|
30b5f15593 | ||
|
323fde5c6d | ||
|
5e8d92d892 | ||
|
f77cdca860 | ||
|
5cec980bba | ||
|
c7fbf6d8fd | ||
|
95896d18a8 | ||
|
58b9dced9c | ||
|
815a8995d0 | ||
|
cda62fca98 | ||
|
4d9b4128f9 | ||
|
4df5cd5e7b | ||
|
b85a3157cc | ||
|
41983c26fc | ||
|
a514c26337 | ||
|
3776af3eb2 | ||
|
9aa1a4a49e | ||
|
c307be15da | ||
|
f191c1a99a | ||
|
3e140fe373 | ||
|
a8fd0cd632 | ||
|
5b31d288ce | ||
|
387f2289b3 | ||
|
9b16836849 | ||
|
87d6791c42 | ||
|
7966d659a3 | ||
|
80182bc177 | ||
|
eae8ba6ed2 | ||
|
29c2b04044 | ||
|
5db99db00e | ||
|
6ad95cd21f | ||
|
4ad75495f1 | ||
|
313cb5840d | ||
|
bb9b0fd348 | ||
|
5a915c00e0 | ||
|
040616a116 | ||
|
119de2aaa3 | ||
|
451598cc34 | ||
|
74d278de1c | ||
|
0c53f2e34e | ||
|
b9e9fe97a8 | ||
|
04410d3cb4 | ||
|
64e6088f1f | ||
|
7c86ac1108 | ||
|
ef67dbb28e | ||
|
08fac05006 | ||
|
877dc99694 | ||
|
1bc99d4c8b | ||
|
b5724ad947 | ||
|
f95928482b | ||
|
714d73f8a4 | ||
|
f06c533245 | ||
|
f407480c7b | ||
|
c5a4778f4a | ||
|
ca49aa65a6 | ||
|
941bc4edfa | ||
|
250c37b4c4 | ||
|
67b466a5fd | ||
|
7744b88691 | ||
|
3681ce29eb | ||
|
2fbab5ebae | ||
|
6f5bae10f6 | ||
|
0a30525f24 | ||
|
29b5926b27 | ||
|
ddf606b464 | ||
|
eea81aab3d | ||
|
d2184e1f6e | ||
|
25f45461ed | ||
|
0b58b0a94c | ||
|
68e5427abe | ||
|
5165b31c1c | ||
|
61470cd424 | ||
|
1e9b7f2de4 | ||
|
2d29e92a7b | ||
|
3482604985 | ||
|
6588c67c98 | ||
|
1f51729e13 | ||
|
a8ccc73dd1 | ||
|
b09515afca | ||
|
f1e0516dc3 | ||
|
b6e7ed6c57 | ||
|
2169a9d906 | ||
|
3e685b6308 | ||
|
7161db649a | ||
|
1ce498b0e7 | ||
|
b000131332 | ||
|
707e67284e | ||
|
702aa57ba1 | ||
|
f983529aa6 | ||
|
6fab21b174 | ||
|
31f95ae14d | ||
|
11a45d9e41 | ||
|
21f3a76a18 | ||
|
27ea08f164 | ||
|
1c886f6136 | ||
|
f51155b692 | ||
|
6165edf5d9 | ||
|
9ab9340d8b | ||
|
fc7177d2e1 | ||
|
d07f15f282 | ||
|
20b4cb2a38 | ||
|
ad3af0e05e | ||
|
fb06665f25 | ||
|
ccdd3bebdc | ||
|
6d1d122dbc | ||
|
f8a91e3324 | ||
|
df3cbcd31d | ||
|
e38a26c6e7 | ||
|
08a219dd9a | ||
|
5eb9f237b0 | ||
|
ba13f97fdc | ||
|
a7053295b4 | ||
|
b0bed97a6c | ||
|
6a7b7e4829 | ||
|
cce1c9964e | ||
|
656f7fd981 | ||
|
205bb83754 | ||
|
050293e792 | ||
|
5e30fb0e22 | ||
|
b613478cc7 | ||
|
ff520c9a12 | ||
|
5e03dd4ed4 | ||
|
b0b1ea3fea | ||
|
4748730ac6 | ||
|
ce252d1294 | ||
|
16d73130ef | ||
|
c279578fc0 | ||
|
6932c2e5d5 | ||
|
10c4bd014c | ||
|
1b1f7b928d | ||
|
7ea3d3e378 | ||
|
d29d2208e1 | ||
|
cb23fe6eee | ||
|
a38af1f5ee | ||
|
e7cd6e5fc1 | ||
|
d66a56a306 | ||
|
940f5abafc | ||
|
e7df0f905d | ||
|
083aec66a5 | ||
|
3543ad614e | ||
|
d62e64322a | ||
|
50c1fec29e | ||
|
9df34623b1 | ||
|
a3d21b81ef | ||
|
27a825e503 | ||
|
5a79a46339 | ||
|
c8cbf832ee | ||
|
3d6ad172a8 | ||
|
a9c7e677de | ||
|
655b059764 | ||
|
6455780524 | ||
|
1d5cb2c4d2 | ||
|
5049b3fcec | ||
|
949bca5584 | ||
|
ad6e67f069 | ||
|
8048e39c0b | ||
|
c2452e76f1 | ||
|
8575434b1c | ||
|
7ee7894a82 | ||
|
e847caa318 | ||
|
0975287689 | ||
|
29f8e35516 | ||
|
142d6f35a9 | ||
|
8934eb0135 | ||
|
3064272c4c | ||
|
e398340da1 | ||
|
edb31ca7fa | ||
|
4e9526d6ca | ||
|
02b2fa64ef | ||
|
0f19a8b5ad | ||
|
8abb0dacf8 | ||
|
a2a1a66dce | ||
|
63ce99a09a | ||
|
1f6cbfd6bb | ||
|
31d783b1d0 | ||
|
3c63bf28eb | ||
|
0dbd265838 | ||
|
124d333441 | ||
|
1c52479642 | ||
|
375da610c4 | ||
|
7df5ed770f | ||
|
34700b54ba | ||
|
802be20783 | ||
|
e7d4fea866 | ||
|
9484a94d7d | ||
|
134fecabc7 | ||
|
de1b6e1452 | ||
|
71d5b74f85 | ||
|
834dd30508 | ||
|
22d661dd95 | ||
|
1766aa47c3 | ||
|
5a95127a5c | ||
|
ca4ed22d21 | ||
|
94ed132e5a | ||
|
c38306a7f7 | ||
|
0e6bdd9606 | ||
|
9e47f21909 | ||
|
6d2bb49e1e | ||
|
de465e40c3 | ||
|
8a32f50abd | ||
|
a8e38093c9 | ||
|
70b09d4b58 | ||
|
c3122677c9 | ||
|
1d40ea2e65 | ||
|
2728e4452d | ||
|
08ba57b25c | ||
|
fada2c9ead | ||
|
a9903f8a16 | ||
|
d8425fb3ae | ||
|
e7d0c9bae3 | ||
|
4850f66c4b | ||
|
d643b7d5af | ||
|
7ea970ba5b | ||
|
db287c9764 | ||
|
8ffb4a164d | ||
|
ead81ae2d4 | ||
|
748c8b30af | ||
|
9e7f643ae3 | ||
|
fdb514c6ca | ||
|
c23ce7dbcf | ||
|
15dd049a40 | ||
|
dae373bcbb | ||
|
a3d2d66a02 | ||
|
2320c78466 | ||
|
ac9f43cd1e | ||
|
3e13e4934e | ||
|
17de481806 | ||
|
0a10851fa8 | ||
|
6c15a66c0f | ||
|
285fd87f46 | ||
|
3f8c17392a | ||
|
e7c8842c0f | ||
|
bb9c1cee57 | ||
|
b53b6862bc | ||
|
74675ec796 | ||
|
33829f219b | ||
|
08c6a02f48 | ||
|
2adb617c1a | ||
|
9b8f0d8367 | ||
|
beb06395ff | ||
|
2ff2bd8e2c | ||
|
7b80b45160 | ||
|
2471dd134d | ||
|
520f7b3d06 | ||
|
389a365b09 | ||
|
956884724d | ||
|
8a4f0e3d73 | ||
|
1ef648350e | ||
|
ad1ceca2a5 | ||
|
7a50e76417 | ||
|
7e6b31ea44 | ||
|
bc904309d3 | ||
|
361565c6d1 | ||
|
0ba973dadf | ||
|
fd37c4b8ac | ||
|
21493df9bd | ||
|
7946aa6f7b | ||
|
343761601d | ||
|
09495b4acf | ||
|
9f26ba72e7 | ||
|
7ca3b5e304 | ||
|
06fa55c892 | ||
|
fa12012a5d | ||
|
fb2bcfc594 | ||
|
4a1cdf133b | ||
|
f041e82c89 | ||
|
c54198f04d | ||
|
1d1043b175 | ||
|
3277549456 | ||
|
994bd48baa | ||
|
ebb0b2d9c5 | ||
|
f5d472025b | ||
|
e75d4cc6be | ||
|
e8936f1f38 | ||
|
a2b8e0b479 | ||
|
4c157cd023 | ||
|
7f0c4e9cc2 | ||
|
0fb0820fee | ||
|
3f21842edc | ||
|
467e5d3e1e | ||
|
bd23b2d9c7 | ||
|
a081e61ed5 | ||
|
ad13f8270e | ||
|
c0cec09b11 | ||
|
3456045399 | ||
|
61fe2101d9 | ||
|
3303db53d4 | ||
|
8116907221 | ||
|
9169587378 | ||
|
40587b66f7 | ||
|
7c53c0a766 | ||
|
6814b3a993 | ||
|
45e31802ca | ||
|
53bb57b55d | ||
|
799af8843a | ||
|
8793127865 | ||
|
ec8736da9e | ||
|
282e665f71 | ||
|
100317c335 | ||
|
6c99355440 | ||
|
02ea1e569c | ||
|
081eef595a | ||
|
6b37302d08 | ||
|
5d506cf3c7 | ||
|
fa17b90650 | ||
|
ad46b8892f | ||
|
fe2ad2d755 | ||
|
fc520e232b | ||
|
6550e01be3 | ||
|
91878e734b | ||
|
7d10cbd3cd | ||
|
901933beda | ||
|
6f708265ca | ||
|
ab219bb297 | ||
|
179ee65bac | ||
|
cdc82b4a8a | ||
|
065b261496 | ||
|
d02e984ed9 | ||
|
97dc77493c | ||
|
384b21a899 | ||
|
bf4f7c4e60 | ||
|
7db74b3f85 | ||
|
6035828d83 | ||
|
25bf13fe3e | ||
|
2110a7d0f7 | ||
|
39d98e133b | ||
|
1313646d65 | ||
|
9bd0e4e8c3 | ||
|
ae13a79327 | ||
|
8bea7d263b | ||
|
2e22c90f78 | ||
|
d6f74d3b66 | ||
|
98b3d453f4 | ||
|
df5bc9e1e7 | ||
|
b40b8d6eda | ||
|
71afa750bf | ||
|
b16ccfc5a7 | ||
|
76b5a0f039 | ||
|
fa86624708 | ||
|
2bf4825234 | ||
|
2a54188114 | ||
|
be1c47c417 | ||
|
b6cdf566df | ||
|
0ca0d9773e | ||
|
ee18cba61b | ||
|
1b8d70a362 | ||
|
7afd3d6b6f | ||
|
8cb11c96f0 | ||
|
fab5018b69 | ||
|
0e36c31d73 | ||
|
4eb2427c04 | ||
|
2179bf347c | ||
|
b4816762c3 | ||
|
88ef7593f4 | ||
|
d9cb9eac7c | ||
|
c39c3eed31 | ||
|
dfe94fa353 | ||
|
40a72ccbf3 | ||
|
cbfc97910e | ||
|
ef8bd8336a | ||
|
2d54c604c7 | ||
|
72aebdeecb | ||
|
25875e7f6d | ||
|
5ea78be3a5 | ||
|
1ff88d285d | ||
|
5e6cd65d5f | ||
|
eb812c6c72 | ||
|
51476b553a | ||
|
c5f6cd72f6 | ||
|
2ed0ddbca8 | ||
|
58ac8536f8 | ||
|
99022957ac | ||
|
4794b0a511 | ||
|
eb1b83dd9e | ||
|
b05492404d | ||
|
48c0188aa1 | ||
|
e975b6fd90 | ||
|
3849f2388a | ||
|
4c7d53a3f4 | ||
|
75aafd36f3 | ||
|
80471f8259 | ||
|
776b0ffc32 | ||
|
b68af36750 | ||
|
feb854fd8a | ||
|
ceef1e4e05 | ||
|
bd65ed97aa | ||
|
33847031d3 | ||
|
6d1a81a940 | ||
|
60b8b532c7 | ||
|
0f20eb2e5d | ||
|
2ade80c8e9 | ||
|
7f12a7fba2 | ||
|
ca6ddd42ee | ||
|
a5b3516610 | ||
|
b0cea53b7a | ||
|
268c63835d | ||
|
038ca644a3 | ||
|
e2903b7f80 | ||
|
218867e4d8 | ||
|
32e50721bd | ||
|
cb818320b8 | ||
|
e32a9be04b | ||
|
f9334dae32 | ||
|
9a08f7054d | ||
|
83d138a8e4 | ||
|
3a2d0118b8 | ||
|
0f1af443cf | ||
|
bd52a2eabe | ||
|
5e5f6cebf3 | ||
|
2b47da133a | ||
|
4302b4a7dd | ||
|
a9e94e7b47 | ||
|
b2186bc2ba | ||
|
4b55574b89 | ||
|
666a663c76 | ||
|
bf03e761c3 | ||
|
086c27a3cf | ||
|
c79b8cacdc | ||
|
60308d3400 | ||
|
ff16618cc9 | ||
|
ad6568afe9 | ||
|
21d5e8e715 | ||
|
1c8902d036 | ||
|
2b55098f1e | ||
|
dd5436fbb2 | ||
|
7395da84dd | ||
|
5d52c90501 | ||
|
d594a7012b | ||
|
73ffc7a0ea | ||
|
27067c41c0 | ||
|
0dedbac8ef | ||
|
44e1262f1b | ||
|
4c1c87af69 | ||
|
ec6a0a1612 | ||
|
2f3bdf9158 | ||
|
96be66c86f | ||
|
5e8f5b4068 | ||
|
78a6c64069 | ||
|
fb571201e7 | ||
|
6e09a971b5 | ||
|
dd7573e087 | ||
|
97a91951c3 | ||
|
361c4dc153 | ||
|
426b4aa8ba | ||
|
57127f73b9 | ||
|
6bd6cbead3 | ||
|
c5fcfdf651 | ||
|
f7eaf21d8d | ||
|
441dba8fe9 | ||
|
59c5aa5e7d | ||
|
7b53ba57a4 | ||
|
cf67f6f707 | ||
|
2ef2d507c2 | ||
|
48426ab477 | ||
|
153ba3f903 | ||
|
e4decd8385 | ||
|
226e85462e | ||
|
a2490050cc | ||
|
b4d3441b44 | ||
|
2359a38374 | ||
|
0cb062ae96 | ||
|
8a489ece90 | ||
|
44c8f9b6c4 | ||
|
aa9b8506c4 | ||
|
c9d2024e0e | ||
|
76a047f544 | ||
|
2523267c59 | ||
|
7cd606a68d | ||
|
4ea7621019 | ||
|
b3971ae105 | ||
|
33ea194266 | ||
|
75aafb5021 | ||
|
1b547d80d6 | ||
|
a4540bb98a | ||
|
6795f1e2b3 | ||
|
35164d7036 | ||
|
daeb2bc82d | ||
|
2569232f40 | ||
|
dc6751296e | ||
|
056ecd0e5d | ||
|
829b16ecb2 | ||
|
e3ab2e383a | ||
|
43284a0697 | ||
|
c9484caf7a | ||
|
75e6d1ce91 | ||
|
3faaa46429 | ||
|
8ff18d7f74 | ||
|
f031ffd3bc | ||
|
277e62fba6 | ||
|
ecf173d422 | ||
|
4afc52152b | ||
|
9e0ad41a8f | ||
|
26d737a8a5 | ||
|
b5127306ad | ||
|
c2c5cfe024 | ||
|
c5d0f4051e | ||
|
8a050caa68 | ||
|
3a037af810 | ||
|
ee69c14dbd | ||
|
2001b14e5a | ||
|
8cc1319c54 | ||
|
596ba53283 | ||
|
b97e32c7ad | ||
|
bbf539d46e | ||
|
38748e42fe | ||
|
d833d4c12d | ||
|
0b12544efd | ||
|
0387c220a1 | ||
|
de23a2670c | ||
|
567caf08f3 | ||
|
7d6784e0c7 | ||
|
058b50a6d7 | ||
|
ce5cd09e3d | ||
|
3144d1e818 | ||
|
be60044eb1 | ||
|
7bfce366c4 | ||
|
4ef3ec7caa | ||
|
cdec219228 | ||
|
13e0b90c46 | ||
|
44be9acbe6 | ||
|
242c529fee | ||
|
de757dd175 | ||
|
a1c0779c23 | ||
|
546305fd3c | ||
|
4cf900afa3 | ||
|
259d88edbc | ||
|
9bba0634a0 | ||
|
f1c46e5e00 | ||
|
540dff7648 | ||
|
05109ff794 | ||
|
f387e07c27 | ||
|
61526ec55f | ||
|
451e416d66 | ||
|
957565d4ee | ||
|
f05e21a035 | ||
|
2b5f1a9b91 | ||
|
471b953ac0 | ||
|
eb7730815c | ||
|
3431df9bcf | ||
|
6a883fcd23 | ||
|
0bcc41ef02 | ||
|
5cfe15c7f6 | ||
|
5f33c9009e | ||
|
636fdbd4a4 | ||
|
fb285cbd0b | ||
|
d1f86d8c90 | ||
|
24abcf885b | ||
|
d6c9e0c806 | ||
|
d802109731 | ||
|
c9bcd833ba | ||
|
7884957c9b | ||
|
1eae664342 | ||
|
143e31bf6b | ||
|
d19bd8003f | ||
|
5819e3f3c7 | ||
|
5cff1134e9 | ||
|
de388f501f | ||
|
9230415aa9 | ||
|
f3caf22dad | ||
|
0a86d63289 | ||
|
ad4597babc | ||
|
875e7b7fa6 | ||
|
72a849f394 | ||
|
44c5177782 | ||
|
5693e4d09b | ||
|
9e1cfb80d1 | ||
|
2999605407 | ||
|
5acebac70f | ||
|
cf1c2f7e12 | ||
|
ca30a7f785 | ||
|
8b3551a7f9 | ||
|
769430fc03 | ||
|
004b890674 | ||
|
01d9ce0386 | ||
|
87f697410e | ||
|
e4df898395 | ||
|
7178d1e35f | ||
|
ec208f00fe | ||
|
57cd33e0d3 | ||
|
e826d8753b | ||
|
9eddcfc1da | ||
|
01f2de854c | ||
|
31526ef881 | ||
|
5afd3fec9b | ||
|
f12944ec0b | ||
|
aa919383de | ||
|
77e54f363a | ||
|
34fb6290ca | ||
|
5be6ec3453 | ||
|
76c7bd0d40 | ||
|
6c0fedceba | ||
|
0502dc2fbf | ||
|
28005173e4 | ||
|
cc144f1c8d | ||
|
1f7056f5e5 | ||
|
77cba45d4e | ||
|
8a94f94672 | ||
|
fb87c42c4a | ||
|
677dc0f752 | ||
|
af14179c9e | ||
|
094e5f5b71 | ||
|
81cb1bb920 | ||
|
cc0039b533 | ||
|
8f2aa06409 | ||
|
1481a93d06 | ||
|
2239bd0d51 | ||
|
749c7bce97 | ||
|
d61774feb9 | ||
|
03c6ca930c | ||
|
efb5eb9836 | ||
|
6947e1883e | ||
|
a8c225cbaa | ||
|
a391b7e86f | ||
|
025bbaa967 | ||
|
08270698e7 | ||
|
5b4691278c | ||
|
f8d40f96c0 | ||
|
acf80aa238 | ||
|
5eef31a04f | ||
|
708fd47251 | ||
|
a104001612 | ||
|
8ac794cf04 | ||
|
43e5b1147d | ||
|
e8d3b9b75d | ||
|
7c836c227c | ||
|
5e99e92619 | ||
|
2ee087e487 | ||
|
840c2f268e | ||
|
c511ad734b | ||
|
9d7468015b | ||
|
6b86b0b54d | ||
|
548de419a2 | ||
|
08411e563d | ||
|
7d697ff893 | ||
|
b8ced96ce3 | ||
|
944ac3747e | ||
|
82436dcc60 | ||
|
9d283e504d | ||
|
6456a92ebb | ||
|
7dc6718343 | ||
|
4472fd437d | ||
|
3837098a65 | ||
|
2a4ea10b05 | ||
|
f126ee26e7 | ||
|
6ee4fcdeea | ||
|
b122d6d843 | ||
|
1ccd917ed6 | ||
|
52ca40b522 | ||
|
1c2ef2b948 | ||
|
da0da4a5e8 | ||
|
dcf5e6e5c5 | ||
|
21bdad1554 | ||
|
39defae424 | ||
|
964dd10db1 | ||
|
f2977cfcd6 | ||
|
eb147c6a0b | ||
|
4770f01cbe | ||
|
ae69e7dc7d | ||
|
de4383892e | ||
|
637dd17647 | ||
|
5fd895c9f4 | ||
|
b3bf8144df | ||
|
04658fcd81 | ||
|
aa78d59d23 | ||
|
a931abf7a1 | ||
|
7c0403638f | ||
|
90580798f3 | ||
|
988df8f3c3 | ||
|
6ae4d20687 | ||
|
eed63c3f60 | ||
|
82350696e8 | ||
|
1dc7596bb0 | ||
|
a179279b29 | ||
|
2413394ce0 | ||
|
8016d9c7e7 | ||
|
3f70811c7d | ||
|
5f63d74e57 | ||
|
24c7b56a57 | ||
|
3b7f20b4ec | ||
|
bbb7c4652c | ||
|
92827826f9 | ||
|
110195a9cf | ||
|
5f3c10e498 | ||
|
8a0b22f71c | ||
|
c6f84561f5 | ||
|
36ba9d87a5 | ||
|
9681c93f05 | ||
|
0ffc299a70 | ||
|
ea5ef83f3a | ||
|
40c2b91140 | ||
|
1d1edb49bd | ||
|
60979e0cc3 | ||
|
447218cfac | ||
|
1455700b17 | ||
|
33e59a9cb4 | ||
|
7532426c0b | ||
|
2cee961654 | ||
|
7ebd63726b | ||
|
7b37145b63 | ||
|
05f271b5d4 | ||
|
58c48a4324 | ||
|
782d522028 | ||
|
9f892b4ef1 | ||
|
5869f481a2 | ||
|
f5b9207bce | ||
|
d9229cc2ef | ||
|
7a517e472a | ||
|
07bc78581c | ||
|
09adc1c1b3 | ||
|
e53664dbd8 | ||
|
f2226097e7 | ||
|
0d630d7886 | ||
|
49ba9e45f2 | ||
|
b268aa9fb5 | ||
|
27f2f53fa7 | ||
|
2271a84bbd | ||
|
1b138a4260 | ||
|
3f154085ed | ||
|
d4b4ccb8b3 | ||
|
864a36ad78 | ||
|
86ef2a6a8d | ||
|
538072bb84 | ||
|
63fbd8644a | ||
|
1a5b515ca8 | ||
|
c1b7ca25b8 | ||
|
9cd8c10950 | ||
|
fdba894d21 | ||
|
c1130459e8 | ||
|
c5d0d00cdc | ||
|
7579edc55e | ||
|
9b8f633b87 | ||
|
d57a82312f | ||
|
d6eb0a267a | ||
|
5f5f371b87 | ||
|
33c989b7c6 | ||
|
ab106cbbac | ||
|
ce68a3db4f | ||
|
ef8c5d41df | ||
|
45a518360b | ||
|
c9ae7e72e6 | ||
|
d89e3ec521 | ||
|
8fcb79c8c6 | ||
|
bfdaf0bfca | ||
|
812a8fabf7 | ||
|
48815fc8c3 | ||
|
2ab4833518 | ||
|
99fc859697 | ||
|
701efef72e | ||
|
1585605454 | ||
|
617579b75b | ||
|
5f2d493fea | ||
|
4a458a1f43 | ||
|
05bcf2cf55 | ||
|
acfbbcf3ad | ||
|
76e596c08c | ||
|
c4c4edbc1e | ||
|
4ae546a2f2 | ||
|
17151ce6f6 | ||
|
d305744dad | ||
|
6ee6f94705 | ||
|
1a2af1f3d5 | ||
|
9e1a4b4271 | ||
|
e57a868725 | ||
|
b557d4951c | ||
|
94bec3e1ba | ||
|
fa69bbec01 | ||
|
e888167e1f | ||
|
02701db9ce | ||
|
de3fb83c68 | ||
|
e65e9b13c2 | ||
|
d2271084d3 | ||
|
60438ae490 | ||
|
511fa11bd8 | ||
|
01fbfe3e75 | ||
|
970c162290 | ||
|
6a36a6db05 | ||
|
05e3ed907c | ||
|
b246a5efd6 | ||
|
f70cf971a8 | ||
|
78b6740ff2 | ||
|
8bb7aba785 | ||
|
30c58089e4 | ||
|
0a746fadff | ||
|
70a2c42586 | ||
|
c3ec1c6580 | ||
|
7b2726963f | ||
|
263f61bfb1 | ||
|
093edacc49 | ||
|
fc56e11bed | ||
|
ef87351494 | ||
|
5780b17432 | ||
|
782acf1c31 | ||
|
2e271f247f | ||
|
f09ddd430f | ||
|
9f1c1c718f | ||
|
95d5bc6f0d | ||
|
ada5726e2c | ||
|
716d55e61d | ||
|
f2cc4a235e | ||
|
159d431faa | ||
|
9a6ac0e25b | ||
|
ca44b53c4f | ||
|
6aa63338f8 | ||
|
0dc3dbb10a | ||
|
d6ab72316b | ||
|
845661a0fe | ||
|
43f2a3f0f5 | ||
|
3e92275489 | ||
|
cf1fafcc24 | ||
|
cdc64b3ee5 | ||
|
7fd46180f5 | ||
|
9a8cf37202 | ||
|
cabdc818b6 | ||
|
4a8b5ea4fe | ||
|
877fe63056 | ||
|
b7fedd59a8 | ||
|
dbd0f4ef35 | ||
|
c62c60ef49 | ||
|
c3686096b1 | ||
|
ada139f474 | ||
|
2d17901f66 | ||
|
08146ba16b | ||
|
3544916a6b | ||
|
38df7df0e2 | ||
|
9f174a19d7 | ||
|
b5cb4bb2e1 | ||
|
3bf2f63e4a | ||
|
fe7f3b4f62 | ||
|
d0f20a15f5 | ||
|
37fb4854bb | ||
|
a20ad4b9ef | ||
|
cc40f83ffd | ||
|
e4fb0e73c4 | ||
|
08e755bbf0 | ||
|
609a20d0fa | ||
|
a7d527c6e8 | ||
|
5cc78ed59a | ||
|
7e4140d0e7 | ||
|
0c6c5ba972 | ||
|
8f43734013 | ||
|
fa6720d0f5 | ||
|
6b4e8d93ae | ||
|
93da21f8d7 | ||
|
0ef83eda7c | ||
|
c7b1d818a8 | ||
|
8ec0b130d8 | ||
|
3d2be25ba1 | ||
|
b90818ed82 | ||
|
f8e9f4261b | ||
|
b9ae6d06d2 | ||
|
3058af3300 | ||
|
686901a1a5 | ||
|
2bd945c375 | ||
|
645f60b869 | ||
|
1ad51db6b1 | ||
|
6c01dd82ae | ||
|
c4256c6fe1 | ||
|
cec2c86494 | ||
|
7840c3cc47 | ||
|
442b0910b9 | ||
|
be0924aacc | ||
|
4b07f22396 | ||
|
5aeaaa2fcc | ||
|
faf72a3408 | ||
|
92f3b135fd | ||
|
1ddd46d903 | ||
|
664643336a | ||
|
09c9ac2936 | ||
|
9b00ad6469 | ||
|
8e86015f39 | ||
|
fdab085e25 | ||
|
c634580a51 | ||
|
3bf46a41b9 | ||
|
61b3ea2f5f | ||
|
6f30f9b3a3 | ||
|
53cbe724ab | ||
|
4067530a53 | ||
|
e2fb148d7f | ||
|
e46456839c | ||
|
57ce6c1334 | ||
|
24b0172c17 | ||
|
f0fbf27a4f | ||
|
05d23c9c94 | ||
|
07079d70c2 | ||
|
4e8b203556 | ||
|
65abdf98fb | ||
|
27a0c21f93 | ||
|
d6e299cd4b | ||
|
dafd312150 | ||
|
9802a977c0 | ||
|
595309468c | ||
|
e9a6ea1a78 | ||
|
a997b43283 | ||
|
87227cc399 | ||
|
01f4a453f9 | ||
|
951fd5bb6f | ||
|
a9c85bb6c3 | ||
|
697752d9ae | ||
|
66aab3c57d | ||
|
0bb24e74b0 | ||
|
e746cdac2c | ||
|
005b8b998a | ||
|
9e77d32f21 | ||
|
380662c06f | ||
|
07937315b2 | ||
|
574ed1bc97 | ||
|
e2abb1aa39 | ||
|
af56dbdb92 | ||
|
870dc5bb97 | ||
|
1acee48455 | ||
|
95489eefe8 | ||
|
95167fa5d5 | ||
|
8cc7cfc15e | ||
|
e572327a5b | ||
|
62043889ad | ||
|
1389ce0188 | ||
|
7dc15dbbd8 | ||
|
c5ec458602 | ||
|
131fffe827 | ||
|
dd9291c538 | ||
|
7dca898c4b | ||
|
150f96d043 | ||
|
8f7bec6f6f | ||
|
e47e540acf | ||
|
35c0e256db | ||
|
a926ff2f6d | ||
|
a4e2c5f1d7 | ||
|
2160af9c61 | ||
|
106adba18c | ||
|
3c55b304a5 | ||
|
80b7515e4c | ||
|
6456da1235 | ||
|
df5cea1b3e | ||
|
d06d935f3b | ||
|
f892f09752 | ||
|
8e555b9731 | ||
|
941099e1e5 | ||
|
90e4b6b8e5 | ||
|
1c09b9bd58 | ||
|
98cc1f6a51 | ||
|
435f6102f5 | ||
|
a2fb4779c4 | ||
|
cc3096c086 | ||
|
cf5a841218 | ||
|
459d7e660f | ||
|
183ee0af2f | ||
|
ae6e13e7ea | ||
|
69844e856c | ||
|
584c26a82c | ||
|
2d2d737e83 | ||
|
e354f7243a | ||
|
08c15e60de | ||
|
e496962f25 | ||
|
36c8728acb | ||
|
30e00c6be6 | ||
|
1b20ae6162 | ||
|
0778f2bf18 | ||
|
97b9fe91f5 | ||
|
0dd69c9a66 | ||
|
1afa4a7aa3 | ||
|
a57af6fb37 | ||
|
d78d99a1cb | ||
|
79f84db817 | ||
|
6b13179803 | ||
|
5f9960976d | ||
|
150a583254 | ||
|
cb6ef5a41f | ||
|
5e4b738ad5 | ||
|
c06ec0adbe | ||
|
3922e4f5d0 | ||
|
50004d7044 | ||
|
76b88d5267 | ||
|
532e02ad82 | ||
|
228859b229 | ||
|
82b87b344c | ||
|
cb36b4a37d | ||
|
7fcdadc17a | ||
|
502f702125 | ||
|
f4655dd4f6 | ||
|
a359d8a698 | ||
|
02a16fba39 | ||
|
b3e3a77c2d | ||
|
0f9eab88c3 | ||
|
6ad5735a27 | ||
|
91649c7a31 | ||
|
91f450c295 | ||
|
9df36e4718 | ||
|
a15e07e31c | ||
|
3b5915dee7 | ||
|
3fe7ba83a1 | ||
|
51bbfa5a70 | ||
|
4caaf902d6 | ||
|
d60dbcd2a8 | ||
|
aba6d509c4 | ||
|
74c0edf44c | ||
|
57175ec7b1 | ||
|
69b7937e6e | ||
|
53dc9ca9c3 | ||
|
b632ac6e5a | ||
|
eff79e3126 | ||
|
6e07332f94 | ||
|
dec12f44fa | ||
|
691e2426f4 | ||
|
e8c8e30163 | ||
|
70a6b864d4 | ||
|
e523a254e5 | ||
|
ddc3115f14 | ||
|
941538f54e | ||
|
421889b300 | ||
|
2ef3977766 | ||
|
094db936a2 | ||
|
c3d7df1e78 | ||
|
879226a92c | ||
|
8120ad9be8 | ||
|
c1430c7069 | ||
|
d569012ea0 | ||
|
25a2c18a95 | ||
|
30e827985d | ||
|
7a8c67abfb | ||
|
6d01e3972b | ||
|
8dddc24dea | ||
|
8c9a006d6c | ||
|
0f52012e40 | ||
|
9682808530 | ||
|
7b7384927e | ||
|
58552580ad | ||
|
05a2eb4cf3 | ||
|
d9d7be77df | ||
|
86c50ab52a | ||
|
bac5e658cc | ||
|
23d1fe0878 | ||
|
c6dec5c06d | ||
|
3db6a4a807 | ||
|
c079b92ab7 | ||
|
abaa5f26c9 | ||
|
c129cb011d | ||
|
ad0472531a | ||
|
68c5181cbd | ||
|
f6fdf537e7 | ||
|
77f5af7fb4 | ||
|
86564229c3 | ||
|
8f1d086128 | ||
|
d3f742417c | ||
|
f23f4ad1a6 | ||
|
1003866897 | ||
|
b8eca20757 | ||
|
0f4d90d294 | ||
|
282a4742cf | ||
|
36bb22c7b7 | ||
|
16019eb8b0 | ||
|
60922176fb | ||
|
8c5bed7fe0 | ||
|
70d9281979 | ||
|
de6e145b7f | ||
|
4878fe6564 | ||
|
15492f2785 | ||
|
20f0291bd9 | ||
|
2deb3eecd0 | ||
|
bb54f997f9 | ||
|
12c6965161 | ||
|
8d1779e3f2 | ||
|
679fc7be7d | ||
|
c226851cb6 | ||
|
a07e763620 | ||
|
0d5c29f95c | ||
|
7132dbdacf | ||
|
b44373be98 | ||
|
95bbba6b7d | ||
|
42e9149f8a | ||
|
6a351f3a82 | ||
|
50fc8dc598 | ||
|
58e6c8ea39 | ||
|
7a31c1f1da | ||
|
5b3e03a2ae | ||
|
ced382a86c | ||
|
9b9a5ffb2d | ||
|
5ca75c3f9d | ||
|
6e4c779f13 | ||
|
410a3e4646 | ||
|
4efbfc9ba2 | ||
|
61d8ed8f4d | ||
|
5744be18a2 | ||
|
0973e98e21 | ||
|
e9835a1926 | ||
|
dcbfffaf0c | ||
|
af9b8c9d6a | ||
|
f2b2e249a3 | ||
|
788d724886 | ||
|
2c7b3c7385 | ||
|
19aeac97a4 | ||
|
ecaa7b4ae9 | ||
|
8fa688198c | ||
|
f6ecab5858 | ||
|
2b71db018b | ||
|
2eb614d8d1 | ||
|
32820693e8 | ||
|
b50b481d4c | ||
|
36d67f89c9 | ||
|
f4f55e2159 | ||
|
12df1b92f1 | ||
|
752de1c862 | ||
|
c2c932847c | ||
|
3eaa5d69b0 | ||
|
761edfc0e3 | ||
|
b4790b0381 | ||
|
a38af21991 | ||
|
34ad7361bd | ||
|
79e181f0b8 | ||
|
084b86db6c | ||
|
c33451fa5a | ||
|
faf1f33880 | ||
|
781d597777 | ||
|
183524cc2c | ||
|
0b1489f937 | ||
|
f260b51e94 | ||
|
dacc5fb446 | ||
|
dfc5c58e69 | ||
|
bc089cd691 | ||
|
cafeb8abb2 | ||
|
645a153c0d | ||
|
2bc7c45b5f | ||
|
733b2f8b0a | ||
|
2f84d9a836 | ||
|
f5200d5ecf | ||
|
7ee52893af | ||
|
e1d4a5867c | ||
|
1babd5db86 | ||
|
80766b137d | ||
|
1bd8a62ef4 | ||
|
904c1e15bf | ||
|
9348b9fc50 | ||
|
201edc9513 | ||
|
ace5b20b61 | ||
|
abd7fd4fb2 | ||
|
ba0eaedb55 | ||
|
7d2e40ca92 | ||
|
9a79eb4853 | ||
|
e3258dfdae | ||
|
fa09119bf0 | ||
|
8c1b2d2c82 | ||
|
0ed2173597 | ||
|
4966a22cda | ||
|
9e0aabf443 | ||
|
ee166f01cc | ||
|
e8b57cf82f | ||
|
b67dd2d4be | ||
|
be574d8119 | ||
|
9fe20e0827 | ||
|
4cb5c853d9 | ||
|
f1409686d5 | ||
|
591088c021 | ||
|
3d4d50ff31 | ||
|
6828c90c5f | ||
|
65ce050bfa | ||
|
7a3edb723d | ||
|
365c8fc1eb | ||
|
46f92ef2d9 | ||
|
a3d302571a | ||
|
d2d1701333 | ||
|
d2ac68bddf | ||
|
350a1c1a9e | ||
|
cf6bc2e22d | ||
|
ae7dc21fd1 | ||
|
19e66a8f36 | ||
|
b92d66ce29 | ||
|
6a753b4e8a | ||
|
6d437b09d5 | ||
|
dcff1129fe | ||
|
b571ce70f0 | ||
|
110d236f6d | ||
|
e566a9616f | ||
|
687d32c05e | ||
|
3602c4460d | ||
|
322a481c73 | ||
|
7bfc089dc9 | ||
|
d249ee7ac7 | ||
|
7d0f1137db | ||
|
241cc2cc4f | ||
|
48397f5d60 | ||
|
6b4a4610eb | ||
|
843997b2ca | ||
|
7974b6ec04 | ||
|
e4c39bf2f6 | ||
|
f81ce2c4c5 | ||
|
ab88a56eed | ||
|
782cadcacb | ||
|
aaef89dcff | ||
|
691a9571dd | ||
|
7b028719d8 | ||
|
2fab8b7fc7 | ||
|
7fd0ce4ef8 | ||
|
7a785934ec | ||
|
7fc393b699 | ||
|
dc356a19af | ||
|
968b31154f | ||
|
d2e9536258 | ||
|
a444ee94cd | ||
|
fbe54e4098 | ||
|
795ec46f9a | ||
|
54035b41a9 | ||
|
f5e39e2002 | ||
|
c5930ddbb0 | ||
|
d1008823d8 | ||
|
07e32f6b04 | ||
|
9a2a55a48f | ||
|
cd8cb7f5c4 | ||
|
1d4dec05e9 | ||
|
b45b08fa39 | ||
|
621573d1c3 | ||
|
9abc0cd9ec | ||
|
18ab99fa7d | ||
|
47dcfcce39 | ||
|
1ee37a667d | ||
|
443a976885 | ||
|
01bd7d5825 | ||
|
5977c98470 | ||
|
efd108b60b | ||
|
ea917dae6c | ||
|
c817a7ee73 | ||
|
d092659818 | ||
|
4564ca8a2c | ||
|
3c491067c4 | ||
|
3ee4450879 | ||
|
cc11a05b8a | ||
|
3eff67185e | ||
|
43764232b8 | ||
|
59266f23c9 | ||
|
36afdb3a8b | ||
|
0339b6849c | ||
|
fd3b8e7ca1 | ||
|
d1242ba4bb | ||
|
59395eca56 | ||
|
6f3293e0b5 | ||
|
674826fa81 | ||
|
5483e69cd8 | ||
|
214a13db23 | ||
|
3752ad97d8 | ||
|
2905ff93b1 | ||
|
ac1c157d2c | ||
|
05b3a9d6f8 | ||
|
71441881ab | ||
|
2c4a21d3e3 | ||
|
76ca167b28 | ||
|
a3dca2781b | ||
|
4e0cebbd51 | ||
|
dc2cc76d62 | ||
|
3254bd1f00 | ||
|
99fbfd9a68 | ||
|
4138ded5db | ||
|
4222466667 | ||
|
80c2a6ec1d | ||
|
99a69671d0 | ||
|
7f7174ef2f | ||
|
740eb33162 | ||
|
a935908615 | ||
|
f96983e003 | ||
|
a84d72d1fc | ||
|
96bfe27722 | ||
|
312b59b7c0 | ||
|
ec54ffde03 | ||
|
2bd5f22191 | ||
|
1a6f111f6f | ||
|
1724ba2848 | ||
|
0266129b63 | ||
|
6e4a0a3da7 | ||
|
a0dfe35de1 | ||
|
1504d78e07 | ||
|
35d9da9b6b | ||
|
325c26417b | ||
|
ce73def57c | ||
|
fcb56c9094 | ||
|
ba600671f1 | ||
|
de3f4a73c8 | ||
|
59eddffa6a | ||
|
2cc800d0d8 | ||
|
6ff656adc3 | ||
|
b1baf48034 | ||
|
7711109239 | ||
|
6d315e33bd | ||
|
5f8fb7207b | ||
|
4d9c9578e7 | ||
|
95ddcc0243 | ||
|
f740bd6576 | ||
|
f89f5cdf8e | ||
|
eedd97d775 | ||
|
0122a4a948 | ||
|
75ca147140 | ||
|
95e78ae7c7 | ||
|
7ede0f4adf | ||
|
e092162ac7 | ||
|
0c99641a25 | ||
|
5845e519ab | ||
|
53c4de62d0 | ||
|
a74e4c0dac | ||
|
2366de2542 | ||
|
16b6bba241 | ||
|
623160b690 | ||
|
9e2d89278f | ||
|
4ddddb4482 | ||
|
ff0cedbb2f | ||
|
1376fe7841 | ||
|
af753548e0 | ||
|
7b0f516268 | ||
|
6ae4765fb1 | ||
|
c1e05db2bf | ||
|
f421261d9c | ||
|
e17f3e2125 | ||
|
3a3c24a684 | ||
|
327d330d23 | ||
|
e882065d41 | ||
|
22658f8eb1 | ||
|
657ed493c7 | ||
|
f88305673f | ||
|
ccb7f762c1 | ||
|
6087a93044 | ||
|
d51e088127 | ||
|
ee2f62d50c | ||
|
c289782f0b | ||
|
e4fc656e0e | ||
|
661f1cdbd2 | ||
|
4d8370c954 | ||
|
6a6ad14838 | ||
|
3694a4001a | ||
|
e7ac6c4c66 | ||
|
8283759559 | ||
|
554a350e7e | ||
|
0e48d9f96c | ||
|
1cc00d9863 | ||
|
2db9bc11f6 | ||
|
0840a9cc9f | ||
|
b31d00fa9e | ||
|
0e32d0616b | ||
|
704bf63216 | ||
|
b1aae9194c | ||
|
4f27de131e |
667 changed files with 150656 additions and 72056 deletions
1
.cvsignore
Normal file
1
.cvsignore
Normal file
|
@ -0,0 +1 @@
|
|||
config.mk
|
893
CHANGES
893
CHANGES
|
@ -1,893 +0,0 @@
|
|||
LATEST CHANGES
|
||||
|
||||
- found some bugs in the composite loader (seac) of the Type1-based
|
||||
font drivers..
|
||||
|
||||
- renamed the directory "freetype2/config" to "freetype2/builds" and
|
||||
updated all relevant files..
|
||||
|
||||
- found a memory leak in the "type1" driver
|
||||
|
||||
- incorporated Tom's patches to support flex operators correctly
|
||||
in OpenType/CFF fonts.. Now all I need is to support pure CFF
|
||||
and CEF fonts to be done with this driver.. :-)
|
||||
|
||||
- added the Windows FNT/FON driver in "src/winfonts". For now,
|
||||
it always "simulates" a Unicode charmap, so it shouldn't be
|
||||
considered completed right now..
|
||||
|
||||
It's there to be more a proof of concept than anything else
|
||||
anyway. The driver is a single C source file, that compiles
|
||||
to 3 Kb of code..
|
||||
|
||||
I'm still working on the PCF/BDF drivers.. but I'm too lazy
|
||||
to finish them now..
|
||||
|
||||
|
||||
- CHANGES TO THE HIGH-LEVEL API
|
||||
|
||||
o FT_Get_Kerning has a new parameter that allows you to select
|
||||
the coordinates of the kerning vector ( font units, scaled,
|
||||
scaled + grid-fitted ).
|
||||
|
||||
o the outline functions are now in <freetype/ftoutln.h> and not
|
||||
part of <freetype/freetype.h> anymore
|
||||
|
||||
o <freetype/ftmodule.h> now contains declarations for
|
||||
FT_New_Library, FT_Done_Library, FT_Add_Default_Modules
|
||||
|
||||
o the so-called convenience functions have moved from "ftoutln.c"
|
||||
to "ftglyph.c", and are thus available with this optional component
|
||||
of the library. They are declared in <freetype/ftglyph.h> now..
|
||||
|
||||
o anti-aliased rendering is now the default for FT_Render_Glyph
|
||||
(i.e. corresponds to render_mode == 0 == ft_render_mode_normal).
|
||||
To generate a monochrome bitmap, use ft_render_mode_mono, or the
|
||||
FT_LOAD_MONOCHROME flag in FT_Load_Glyph/FT_Load_Char.
|
||||
|
||||
FT_LOAD_ANTI_ALIAS is still defined, but values to 0.
|
||||
|
||||
o <freetype/freetype.h> now include <freetype/config/ftconfig.h>,
|
||||
solving a few headaches :-)
|
||||
|
||||
o the type FT_GlyphSlotRec has now a "library" field.
|
||||
|
||||
|
||||
|
||||
- CHANGES TO THE "ftglyph.h" API
|
||||
|
||||
This API has been severely modified in order to make it simpler,
|
||||
clearer, and more efficient. It certainly now looks like a real
|
||||
"glyph factory" object, and allows client applications to manage
|
||||
(i.e. transform, bbox and render) glyph images without ever knowing
|
||||
their original format.
|
||||
|
||||
- added support for CID-keyed fonts to the CFF driver.
|
||||
maybe support for pure CFF + CEF fonts should come in ??
|
||||
|
||||
|
||||
- cleaned up source code in order to avoid two functions with the
|
||||
same name. Also changed the names of the files in "type1z" from
|
||||
"t1XXXX" to "z1XXXX" in order to avoid any conflicts.
|
||||
|
||||
"make multi" now works well :-)
|
||||
|
||||
Also removed the use of "cidafm" for now, even if the source files
|
||||
are still there. This functionality will certainly go into a specific
|
||||
module..
|
||||
|
||||
|
||||
|
||||
- ADDED SUPPORT FOR THE AUTO-HINTER
|
||||
|
||||
It works :-) I have a demo program which simply is a copy of "ftview"
|
||||
that does a FT_Add_Module( library, &autohinter_module_class ) after
|
||||
library initialisation, and Type 1 & OpenType/CFF fonts are now hinted.
|
||||
|
||||
CID fonts are not hinted, as they include no charmap and the auto-hinter
|
||||
doesn't include "generic" global metrics computations yet..
|
||||
|
||||
Now, I need to release this thing to the FreeType 2 source..
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
- CHANGES TO THE RENDERER MODULES
|
||||
|
||||
the monochrome and smooth renderers are now in two distinct directories,
|
||||
namely "src/raster1" and "src/smooth". Note that the old "src/renderer"
|
||||
is now gone..
|
||||
|
||||
I ditched the 5-gray-levels renderers. Basically, it involved a simple
|
||||
#define toggle in 'src/raster1/ftraster.c'
|
||||
|
||||
FT_Render_Glyph, FT_Outline_Render & FT_Outline_Get_Bitmap now select
|
||||
the best renderer available, depending on render mode. If the current
|
||||
renderer for a given glyph image format isn't capable of supporting
|
||||
the render mode, another one will be found in the library's list.
|
||||
|
||||
This means that client applications do not need to switch or set the
|
||||
renderers themselves (as in the latest change), they'll get what they
|
||||
want automatically... At last..
|
||||
|
||||
Changed the demo programs accordingly..
|
||||
|
||||
|
||||
|
||||
- MAJOR INTERNAL REDESIGN:
|
||||
|
||||
A lot of internal modifications have been performed lately on the
|
||||
source in order to provide the following enhancements:
|
||||
|
||||
- more generic module support:
|
||||
|
||||
The FT_Module type is now defined to represent a handle to a given
|
||||
module. The file <freetype/ftmodule.h> contains the FT_Module_Class
|
||||
definition, as well as the module-loading public API
|
||||
|
||||
The FT_Driver type is still defined, and still represents a pointer
|
||||
to a font driver. Note that FT_Add_Driver is replaced by FT_Add_Module,
|
||||
FT_Get_Driver by FT_Get_Module, etc..
|
||||
|
||||
|
||||
- support for generic glyph image types:
|
||||
|
||||
The FT_Renderer type is a pointer to a module used to perform various
|
||||
operations on glyph image.
|
||||
|
||||
Each renderer is capable of handling images in a single format
|
||||
(e.g. ft_glyph_format_outline). Its functions are used to:
|
||||
|
||||
- transform an glyph image
|
||||
- render a glyph image into a bitmap
|
||||
- return the control box (dimensions) of a given glyph image
|
||||
|
||||
|
||||
The scan converters "ftraster.c" and "ftgrays.c" have been moved
|
||||
to the new directory "src/renderer", and are used to provide two
|
||||
default renderer modules.
|
||||
|
||||
One corresponds to the "standard" scan-converter, the other to the
|
||||
"smooth" one.
|
||||
|
||||
The current renderer can be set through the new function
|
||||
FT_Set_Renderer.
|
||||
|
||||
The old raster-related function FT_Set_Raster, FT_Get_Raster and
|
||||
FT_Set_Raster_Mode have now disappeared, in favor of the new:
|
||||
|
||||
FT_Get_Renderer
|
||||
FT_Set_Renderer
|
||||
|
||||
see the file <freetype/ftrender.h> for more details..
|
||||
|
||||
These changes were necessary to properly support different scalable
|
||||
formats in the future, like bi-color glyphs, etc..
|
||||
|
||||
|
||||
- glyph loader object:
|
||||
|
||||
A new internal object, called a 'glyph loader' has been introduced
|
||||
in the base layer. It is used by all scalable format font drivers
|
||||
to load glyphs and composites.
|
||||
|
||||
This object has been created to reduce the code size of each driver,
|
||||
as each one of them basically re-implemented its functionality.
|
||||
|
||||
See <freetype/internal/ftobjs.h> and the FT_GlyphLoader type for
|
||||
more information..
|
||||
|
||||
|
||||
|
||||
- FT_GlyphSlot had new fields:
|
||||
|
||||
In order to support extended features (see below), the FT_GlyphSlot
|
||||
structure has a few new fields:
|
||||
|
||||
linearHoriAdvance: this field gives the linearly scaled (i.e.
|
||||
scaled but unhinted) advance width for the glyph,
|
||||
expressed as a 16.16 fixed pixel value. This
|
||||
is useful to perform WYSIWYG text.
|
||||
|
||||
linearVertAdvance: this field gives the linearly scaled advance
|
||||
height for the glyph (relevant in vertical glyph
|
||||
layouts only). This is useful to perform
|
||||
WYSIWYG text.
|
||||
|
||||
Note that the two above field replace the removed "metrics2" field
|
||||
in the glyph slot.
|
||||
|
||||
advance: this field is a vector that gives the transformed
|
||||
advance for the glyph. By default, it corresponds
|
||||
to the advance width, unless FT_LOAD_VERTICAL_LAYOUT
|
||||
was specified when calling FT_Load_Glyph or FT_Load_Char
|
||||
|
||||
bitmap_left: this field gives the distance in integer pixels from
|
||||
the current pen position to the left-most pixel of
|
||||
a glyph image WHEN IT IS A BITMAP. It is only valid
|
||||
when the "format" field is set to
|
||||
"ft_glyph_format_bitmap", for example, after calling
|
||||
the new function FT_Render_Glyph.
|
||||
|
||||
bitmap_top: this field gives the distance in integer pixels from
|
||||
the current pen position (located on the baseline) to
|
||||
the top-most pixel of the glyph image WHEN IT IS A
|
||||
BITMAP. Positive values correspond to upwards Y.
|
||||
|
||||
loader: this is a new private field for the glyph slot. Client
|
||||
applications should not touch it..
|
||||
|
||||
|
||||
- support for transforms and direct rendering in FT_Load_Glyph:
|
||||
|
||||
Most of the functionality found in <freetype/ftglyph.h> has been
|
||||
moved to the core library. Hence, the following:
|
||||
|
||||
- a transform can be specified for a face through FT_Set_Transform.
|
||||
this transform is applied by FT_Load_Glyph to scalable glyph images
|
||||
(i.e. NOT TO BITMAPS) before the function returns, unless the
|
||||
bit flag FT_LOAD_IGNORE_TRANSFORM was set in the load flags..
|
||||
|
||||
|
||||
- once a glyph image has been loaded, it can be directly converted to
|
||||
a bitmap by using the new FT_Render_Glyph function. Note that this
|
||||
function takes the glyph image from the glyph slot, and converts
|
||||
it to a bitmap whose properties are returned in "face.glyph.bitmap",
|
||||
"face.glyph.bitmap_left" and "face.glyph.bitmap_top". The original
|
||||
native image might be lost after the conversion.
|
||||
|
||||
|
||||
- when using the new bit flag FT_LOAD_RENDER, the FT_Load_Glyph
|
||||
and FT_Load_Char functions will call FT_Render_Glyph automatically
|
||||
when needed.
|
||||
|
||||
|
||||
|
||||
|
||||
- reformated all modules source code in order to get rid of the basic
|
||||
data types redifinitions (i.e. "TT_Int" instead of "FT_Int", "T1_Fixed"
|
||||
instead of "FT_Fixed"). Hence the format-specific prefixes like "TT_",
|
||||
"T1_", "T2_" and "CID_" are only used for relevant structures..
|
||||
|
||||
============================================================================
|
||||
OLD CHANGES FOR BETA 7
|
||||
|
||||
- bug-fixed the OpenType/CFF parser. It now loads and displays my two
|
||||
fonts nicely, but I'm pretty certain that more testing is needed :-)
|
||||
|
||||
- fixed the crummy Type 1 hinter, it now handles accented characters
|
||||
correctly (well, the accent is not always well placed, but that's
|
||||
another problem..)
|
||||
|
||||
- added the CID-keyed Type 1 driver in "src/cid". Works pretty well for
|
||||
only 13 Kb of code ;-) Doesn't read AFM files though, nor the really
|
||||
useful CMAP files..
|
||||
|
||||
- fixed two bugs in the smooth renderer (src/base/ftgrays.c). Thanks to
|
||||
Boris Letocha for spotting them and providing a fix..
|
||||
|
||||
- fixed potential "divide by zero" bugs in ftcalc.c.. my god..
|
||||
|
||||
- added source code for the OpenType/CFF driver (still incomplete though..)
|
||||
|
||||
- modified the SFNT driver slightly to perform more robust header
|
||||
checks in TT_Load_SFNT_Header. This prevents certain font files
|
||||
(e.g. some Type 1 Multiple Masters) from being incorrectly "recognized"
|
||||
as TrueType font files..
|
||||
|
||||
- moved a lot of stuff from the TrueType driver to the SFNT module,
|
||||
this allows greater code re-use between font drivers (e.g. TrueType,
|
||||
OpenType, Compact-TrueType, etc..)
|
||||
|
||||
- added a tiny segment cache to the SFNT Charmap 4 decoder, in order
|
||||
to minimally speed it up..
|
||||
|
||||
- added support for Multiple Master fonts in "type1z". There is also
|
||||
a new file named <freetype/ftmm.h> which defines functions to
|
||||
manage them from client applications.
|
||||
|
||||
The new file "src/base/ftmm.c" is also optional to the engine..
|
||||
|
||||
- various formatting changes (e.g. EXPORT_DEF -> FT_EXPORT_DEF) +
|
||||
small bug fixes in FT_Load_Glyph, the "type1" driver, etc..
|
||||
|
||||
- a minor fix to the Type 1 driver to let them apply the font matrix
|
||||
correctly (used for many oblique fonts..)
|
||||
|
||||
- some fixes for 64-bit systems (mainly changing some FT_TRACE calls
|
||||
to use %p instead of %lx).. Thanks to Karl Robillard
|
||||
|
||||
- fixed some bugs in the sbit loader (src/base/sfnt/ttsbit.c) + added
|
||||
a new flag, FT_LOAD_CROP_BITMAP to query that bitmaps be cropped when
|
||||
loaded from a file (maybe I should move the bitmap cropper to the
|
||||
base layer ??).
|
||||
|
||||
- changed the default number of gray levels of the smooth renderer to
|
||||
256 (instead of the previous 128). Of course, the human eye can't
|
||||
see any difference ;-)
|
||||
|
||||
- removed TT_MAX_SUBGLYPHS, there is no static limit on the number of
|
||||
subglyphs in a TrueType font now..
|
||||
|
||||
=============================================================================
|
||||
OLD CHANGES 16 May 2000
|
||||
|
||||
- tagged "BETA-6" in the CVS tree. This one is a serious release candidate
|
||||
even though it doesn't incorporate the auto-hinter yet..
|
||||
|
||||
- various obsolete files were removed, and copyright header updated
|
||||
|
||||
- finally updated the standard raster to fix the monochrome rendering bug
|
||||
+ re-enable support for 5-gray levels anti-aliasing (suck, suck..)
|
||||
|
||||
- created new header files, and modified sources accordingly:
|
||||
|
||||
<freetype/fttypes.h> - simple FreeType types, without the API
|
||||
<freetype/internal/ftmemory.h> - definition of memory-management macros
|
||||
|
||||
- added the "DSIG" (OpenType Digital Signature) tag to <freetype/tttags.h>
|
||||
|
||||
- light update/cleaning of the build system + changes to the sources in
|
||||
order to get rid of _all_ compiler warnings with three compilers, i.e:
|
||||
|
||||
gcc with "-ansi -pedantic -Wall -W", Visual C++ with "/W3 /WX"
|
||||
and LCC
|
||||
|
||||
IMPORTANT NOTE FOR WIN32-LCC USERS:
|
||||
|
|
||||
| It seems the C pre-processor that comes with LCC is broken, it
|
||||
| doesn't recognize the ANSI standard directives # and ## correctly
|
||||
| when one of the argument is a macro. Also, something like:
|
||||
|
|
||||
| #define F(x) print##x
|
||||
|
|
||||
| F(("hello"))
|
||||
|
|
||||
| will get incorrectly translated to:
|
||||
|
|
||||
| print "hello")
|
||||
|
|
||||
| by its pre-processor. For this reason, you simply cannot build
|
||||
| FreeType 2 in debug mode with this compiler..
|
||||
|
||||
|
||||
- yet another massive grunt work. I've changed the definition of the
|
||||
EXPORT_DEF, EXPORT_FUNC, BASE_DEF & BASE_FUNC macros. These now take
|
||||
an argument, which is the function's return value type.
|
||||
|
||||
This is necessary to compile FreeType as a DLL on Windows and OS/2.
|
||||
Depending on the compiler used, a compiler-specific keyword like __export
|
||||
or __system must be placed before (VisualC++) or after (BorlandC++)
|
||||
the type..
|
||||
|
||||
Of course, this needed a lot of changes throughout the source code
|
||||
to make it compile again... All cleaned up now, apparently..
|
||||
|
||||
Note also that there is a new EXPORT_VAR macro defined to allow the
|
||||
_declaration_ of an exportable public (constant) variable. This is the
|
||||
case of the raster interfaces (see ftraster.h and ftgrays.h), as well
|
||||
as each module's interface (see sfdriver.h, psdriver.h, etc..)
|
||||
|
||||
- new feature: it is now possible to pass extra parameters to font
|
||||
drivers when creating a new face object. For now, this
|
||||
capability is unused. It could however prove to be useful
|
||||
in a near future..
|
||||
|
||||
the FT_Open_Args structure was changes, as well as the internal
|
||||
driver interface (the specific "init_face" module function has now
|
||||
a different signature).
|
||||
|
||||
- updated the tutorial (not finished though).
|
||||
- updated the top-level BUILD document
|
||||
|
||||
- fixed a potential memory leak that could occur when loading embedded
|
||||
bitmaps.
|
||||
|
||||
- added the declaration of FT_New_Memory_Face in <freetype/freetype.h>, as
|
||||
it was missing from the public header (the implementation was already
|
||||
in "ftobjs.c").
|
||||
|
||||
- the file <freetype/fterrors.h> has been seriously updated in order to
|
||||
allow the automatic generation of error message tables. See the comments
|
||||
within it for more information.
|
||||
|
||||
- major directory hierarchy re-organisation. This was done for two things:
|
||||
|
||||
* first, to ease the "manual" compilation of the library by requiring
|
||||
at lot less include paths :-)
|
||||
|
||||
* second, to allow external programs to effectively access internal
|
||||
data fields. For example, this can be extremely useful if someone
|
||||
wants to write a font producer or a font manager on top of FreeType.
|
||||
|
||||
Basically, you should now use the 'freetype/' prefix for header inclusion,
|
||||
as in:
|
||||
|
||||
#include <freetype/freetype.h>
|
||||
#include <freetype/ftglyph.h>
|
||||
|
||||
Some new include sub-directories are available:
|
||||
|
||||
a. the "freetype/config" directory, contains two files used to
|
||||
configure the build of the library. Client applications should
|
||||
not need to look at these normally, but they can if they want.
|
||||
|
||||
#include <freetype/config/ftoption.h>
|
||||
#include <freetype/config/ftconfig.h>
|
||||
|
||||
b. the "freetype/internal" directory, contains header files that
|
||||
describes library internals. These are the header files that were
|
||||
previously found in the "src/base" and "src/shared" directories.
|
||||
|
||||
|
||||
As usual, the build system and the demos have been updated to reflect
|
||||
the change..
|
||||
|
||||
Here's a layout of the new directory hierarchy:
|
||||
|
||||
TOP
|
||||
include/
|
||||
freetype/
|
||||
freetype.h
|
||||
...
|
||||
config/
|
||||
ftoption.h
|
||||
ftconfig.h
|
||||
ftmodule.h
|
||||
|
||||
internal/
|
||||
ftobjs.h
|
||||
ftstream.h
|
||||
ftcalc.h
|
||||
...
|
||||
|
||||
src/
|
||||
base/
|
||||
...
|
||||
|
||||
sfnt/
|
||||
psnames/
|
||||
truetype/
|
||||
type1/
|
||||
type1z/
|
||||
|
||||
|
||||
Compiling a module is now much easier, for example, the following should
|
||||
work when in the TOP directory on an ANSI build:
|
||||
|
||||
gcc -c -I./include -I./src/base src/base/ftbase.c
|
||||
gcc -c -I./include -I./src/sfnt src/sfnt/sfnt.c
|
||||
etc..
|
||||
|
||||
(of course, using -Iconfig/<system> if you provide system-specific
|
||||
configuration files).
|
||||
|
||||
|
||||
- updated the structure of FT_Outline_Funcs in order to allow
|
||||
direct coordinate scaling within the outline decomposition routine
|
||||
(this is important for virtual "on" points with TrueType outlines)
|
||||
+ updates to the rasters to support this..
|
||||
|
||||
- updated the OS/2 table loading code in "src/sfnt/ttload.c" in order
|
||||
to support version 2 of the table (see OpenType 1.2 spec)
|
||||
|
||||
- created "include/tttables.h" and "include/t1tables.h" to allow
|
||||
client applications to access some of the SFNT and T1 tables of a
|
||||
face with a procedural interface (see FT_Get_Sfnt_Table())
|
||||
+ updates to internal source files to reflect the change..
|
||||
|
||||
- some cleanups in the source code to get rid of warnings when compiling
|
||||
with the "-Wall -W -ansi -pedantic" options in gcc.
|
||||
|
||||
- debugged and moved the smooth renderer to "src/base/ftgrays.c" and
|
||||
its header to "include/ftgrays.h"
|
||||
|
||||
- updated TT_MAX_SUBGLYPHS to 96 as some CJK fonts have composites with
|
||||
up to 80 sub-glyphs !! Thanks to Werner
|
||||
|
||||
================================================================================
|
||||
OLD CHANGES - 14-apr-2000
|
||||
|
||||
- fixed a bug in the TrueType glyph loader that prevented the correct
|
||||
loading of some CJK glyphs in mingli.ttf
|
||||
|
||||
- improved the standard Type 1 hinter in "src/type1"
|
||||
|
||||
- fixed two bugs in the experimental Type 1 driver in "src/type1z"
|
||||
to handle the new XFree86 4.0 fonts (and a few other ones..)
|
||||
|
||||
- the smooth renderer is now complete and supports sub-banding
|
||||
to render large glyphs at high speed. However, it is still located
|
||||
in "demos/src/ftgrays.c" and should move to the library itself
|
||||
in the next beta.. NOTE: The smooth renderer doesn't compile in
|
||||
stand-alone mode anymore, but this should be fixed RSN..
|
||||
|
||||
- introduced convenience functions to more easily deal with glyph
|
||||
images, see "include/ftglyph.h" for more details, as well as the
|
||||
new demo program named "demos/src/ftstring.c" that demonstrates
|
||||
its use
|
||||
|
||||
- implemented FT_LOAD_NO_RECURSE in both the TrueType and Type 1
|
||||
drivers (this is required by the auto-hinter to improve its results).
|
||||
|
||||
- changed the raster interface, in order to allow client applications
|
||||
to provide their own span-drawing callbacks. However, only the
|
||||
smooth renderer supports this. See "FT_Raster_Params" in the
|
||||
file "include/ftimage.h"
|
||||
|
||||
- fixed a small bug in FT_MulFix that caused incorrect transform
|
||||
computation !!
|
||||
|
||||
- Note: The tutorial is out-of-date, grumpf.. :-(
|
||||
|
||||
================================================================================
|
||||
OLD CHANGES - 12-mar-2000
|
||||
|
||||
- changed the layout of configuration files : now, all ANSI configuration
|
||||
files are located in "freetype2/config". System-specific over-rides
|
||||
can be placed in "freetype2/config/<system>".
|
||||
|
||||
- moved all configuration macros to "config/ftoption.h"
|
||||
|
||||
- improvements in the Type 1 driver with AFM support
|
||||
|
||||
- changed the fields in the FT_Outline structure : the old "flags"
|
||||
array is re-named "tags", while all ancient flags are encoded into
|
||||
a single unsigned int named "flags".
|
||||
|
||||
- introduced new flags in FT_Outline.flags (see ft_outline_.... enums in
|
||||
"ftimage.h").
|
||||
|
||||
- changed outline functions to "FT_Outline_<action>" syntax
|
||||
|
||||
- added a smooth anti-alias renderer to the demonstration programs
|
||||
- added Mac graphics driver (thanks Just)
|
||||
|
||||
- FT_Open_Face changed in order to received a pointer to a FT_Open_Args
|
||||
descriptor..
|
||||
|
||||
- various cleanups, a few more API functions implemented (see FT_Attach_File)
|
||||
|
||||
- updated some docs
|
||||
|
||||
================================================================================
|
||||
OLD CHANGES - 22-feb-2000
|
||||
|
||||
- introduced the "psnames" module. It is used to:
|
||||
|
||||
o convert a Postscript glyph name into the equivalent Unicode
|
||||
character code (used by the Type 1 driver(s) to synthetize
|
||||
on the fly a Unicode charmap).
|
||||
|
||||
o provide an interface to retrieve the Postscript names of
|
||||
the Macintosh, Adobe Standard & Adobe Expert character codes.
|
||||
(the Macintosh names are used by the SFNT-module postscript
|
||||
names support routines, while the other two tables are used
|
||||
by the Type 1 driver(s)).
|
||||
|
||||
- introduced the "type1z" alternate Type 1 driver. This is a (still
|
||||
experimental) driver for the Type 1 format that will ultimately
|
||||
replace the one in "src/type1". It uses pattern matching to load
|
||||
data from the font, instead of a finite state analyzer. It works
|
||||
much better than the "old" driver with "broken" fonts. It is also
|
||||
much smaller (under 15 Kb).
|
||||
|
||||
- the Type 1 drivers (both in "src/type1" and "src/type1z") are
|
||||
nearly complete. They both provide automatic Unicode charmap
|
||||
synthesis through the "psnames" module. No re-encoding vector
|
||||
is needed. (note that they still leak memory due to some code
|
||||
missing, and I'm getting lazy).
|
||||
|
||||
Trivial AFM support has been added to read kerning information
|
||||
but wasn't exactly tested as it should ;-)
|
||||
|
||||
- The TrueType glyph loader has been seriously rewritten (see the
|
||||
file "src/truetype/ttgload.c". It is now much, much simpler as
|
||||
well as easier to read, maintain and understand :-) Preliminary
|
||||
versions introduced a memory leak that has been reported by Jack
|
||||
Davis, and is now fixed..
|
||||
|
||||
- introduced the new "ft_glyph_format_plotter", used to represent
|
||||
stroked outlines like Windows "Vector" fonts, and certain Type 1
|
||||
fonts like "Hershey". The corresponding raster will be written
|
||||
soon.
|
||||
|
||||
- FT_New_Memory_Face is gone. Likewise, FT_Open_Face has a new
|
||||
interface that uses a structure to describe the input stream,
|
||||
the driver (if required), etc..
|
||||
|
||||
TODO
|
||||
- Write FT_Get_Glyph_Bitmap and FT_Load_Glyph_Bitmap
|
||||
|
||||
- Add a function like FT_Load_Character( face, char_code, load_flags )
|
||||
that would really embbed a call to FT_Get_Char_Index then FT_Load_Glyph
|
||||
to ease developer's work.
|
||||
|
||||
- Update the tutorial !!
|
||||
- consider adding support for Multiple Master fonts in the Type 1
|
||||
drivers.
|
||||
|
||||
- Test the AFM routines of the Type 1 drivers to check that kerning
|
||||
information is returned correctly.
|
||||
|
||||
- write a decent auto-gridding component !! We need this to release
|
||||
FreeType 2.0 gold !
|
||||
|
||||
|
||||
----- less urgent needs : ----------
|
||||
- add a CFF/Type2 driver
|
||||
- add a BDF driver
|
||||
- add a FNT/PCF/HBF driver
|
||||
- add a Speedo driver from the X11 sources
|
||||
|
||||
|
||||
==============================================================================
|
||||
OLDER CHANGES - 27-jan-2000
|
||||
|
||||
- updated the "sfnt" module interface to allow several SFNT-based
|
||||
drivers to co-exist peacefully
|
||||
|
||||
- updated the "T1_Face" type to better separate Postscript font content
|
||||
from the rest of the FT_Face structure. Might be used later by the
|
||||
CFF/Type2 driver..
|
||||
|
||||
- added an experimental replacement Type 1 driver featuring advanced
|
||||
(and speedy) pattern matching to retrieve the data from postscript
|
||||
fonts.
|
||||
|
||||
- very minor changes in the implementation of FT_Set_Char_Size and
|
||||
FT_Set_Pixel_Sizes (they now implement default to ligthen the
|
||||
font driver's code).
|
||||
|
||||
|
||||
=============================================================================
|
||||
OLD MESSAGE
|
||||
|
||||
This file summarizes the changes that occured since the last "beta" of FreeType 2.
|
||||
Because the list is important, it has been divided into separate sections:
|
||||
|
||||
Table Of Contents:
|
||||
|
||||
I High-Level Interface (easier !)
|
||||
II Directory Structure
|
||||
III Glyph Image Formats
|
||||
IV Build System
|
||||
V Portability
|
||||
VI Font Drivers
|
||||
|
||||
-----------------------------------------------------------------------------------------
|
||||
High-Level Interface :
|
||||
|
||||
The high-level API has been considerably simplified. Here is how :
|
||||
|
||||
- resource objects have disappeared. this means that face objects can
|
||||
now be created with a single function call (see FT_New_Face and
|
||||
FT_Open_Face)
|
||||
|
||||
- when calling either FT_New_Face & FT_Open_Face, a size object and a
|
||||
glyph slot object are automatically created for the face, and can be
|
||||
accessed through "face->glyph" and "face->size" if one really needs to.
|
||||
In most cases, there's no need to call FT_New_Size or FT_New_Glyph.
|
||||
|
||||
- similarly, FT_Load_Glyph now only takes a "face" argument (instead of
|
||||
a glyph slot and a size). Also, it's "result" parameter is gone, as
|
||||
the glyph image type is returned in the field "face->glyph.format"
|
||||
|
||||
- the list of available charmaps is directly accessible through
|
||||
"face->charmaps", counting "face->num_charmaps" elements. Each
|
||||
charmap has an 'encoding' field which specifies which known encoding
|
||||
it deals with. Valid values are, for example :
|
||||
|
||||
ft_encoding_unicode (for ASCII, Latin-1 and Unicode)
|
||||
ft_encoding_apple_roman
|
||||
ft_encoding_sjis
|
||||
ft_encoding_adobe_standard
|
||||
ft_encoding_adobe_expert
|
||||
|
||||
other values may be added in the future. Each charmap still holds its
|
||||
"platform_id" and "encoding_id" values in case the encoding is too
|
||||
exotic for the current library
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------------------
|
||||
Directory Structure:
|
||||
|
||||
Should seem obvious to most of you:
|
||||
|
||||
freetype/
|
||||
config/ -- configuration sub-makefiles
|
||||
ansi/
|
||||
unix/ -- platform-specific configuration files
|
||||
win32/
|
||||
os2/
|
||||
msdos/
|
||||
|
||||
include/ -- public header files, those to be included directly
|
||||
by client apps
|
||||
|
||||
src/ -- sources of the library
|
||||
base/ -- the base layer
|
||||
sfnt/ -- the sfnt "driver" (see the drivers section below)
|
||||
truetype/ -- the truetype driver
|
||||
type1/ -- the type1 driver
|
||||
shared/ -- some header files shared between drivers
|
||||
|
||||
demos/ -- demos/tools
|
||||
|
||||
docs/ -- documentation (a bit empty for now)
|
||||
|
||||
-----------------------------------------------------------------------------------------
|
||||
Glyph Image Formats :
|
||||
|
||||
Drivers are now able to register new glyph image formats within the library.
|
||||
For now, the base layer supports of course bitmaps and vector outlines, but
|
||||
one could imagine something different like colored bitmaps, bi-color
|
||||
vectors or wathever else (Metafonts anyone ??).
|
||||
|
||||
See the file `include/ftimage.h'. Note also that the type FT_Raster_Map is
|
||||
gone, and is now replaced by FT_Bitmap, which should encompass all known
|
||||
bitmap types.
|
||||
|
||||
Each new image format must provide at least one "raster", i.e. a module
|
||||
capable of transforming the glyph image into a bitmap. It's also possible
|
||||
to change the default raster used for a given glyph image format.
|
||||
|
||||
The default outline scan-converter now uses 128 levels of grays by default,
|
||||
which tends to smooth many things. Note that the demo programs have been
|
||||
updated significantly in order to display these..
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------------------
|
||||
Build system :
|
||||
|
||||
You still need GNU Make to build the library. The build system has been
|
||||
very seriously re-vamped in order to provide things like :
|
||||
|
||||
- automatic host platform detection (reverting to 'config/ansi'
|
||||
if it is not detected, with pseudo-standard compilation flags)
|
||||
|
||||
- the ability to compile from the Makefiles with very different and
|
||||
exotic compilers. Note that linking the library can be difficult for
|
||||
some platforms.
|
||||
|
||||
For example, the file `config/win32/lcclib.bat' is invoked by the
|
||||
build system to create the ".lib" file with LCC-Win32 because its
|
||||
librarian has too many flaws to be invoked directly from the Makefile.
|
||||
|
||||
Here's how it works :
|
||||
|
||||
- the first time you type `make', the build system runs a series of
|
||||
sub-makefiles in order to detect your host platform. It then dumps
|
||||
what it found, and creates a file called `config.mk' in the current
|
||||
directory. This is a sub-Makefile used to define many important Make
|
||||
variables used to build the library.
|
||||
|
||||
- the second time, the build system detects the `config.mk' then use it
|
||||
to build the library. All object files go into 'obj' by default, as
|
||||
well as the library file, but this can easily be changed.
|
||||
|
||||
Note that you can run "make setup" to force another host platform detection
|
||||
even if a `config.mk' is present in the current directory. Another solution
|
||||
is simply to delete the file, then re-run make.
|
||||
|
||||
Finally, the default compiler for all platforms is gcc (for now, this will
|
||||
hopefully changed in the future). You can however specify a different
|
||||
compiler by specifying it after the 'setup' target as in :
|
||||
|
||||
gnumake setup lcc on Win32 to use the LCC compiler
|
||||
gnumake setup visualc on Win32 to use Visual C++
|
||||
|
||||
See the file `config/<system>/detect.mk' for a list of supported compilers
|
||||
for your platforms.
|
||||
|
||||
It should be relatively easy to write new detection rules files and
|
||||
config.mk..
|
||||
|
||||
Finally, to build the demo programs, go to `demos' and launch GNU Make,
|
||||
it will use the `config.mk' in the top directory to build the test
|
||||
programs..
|
||||
|
||||
-----------------------------------------------------------------------------------------
|
||||
Portability :
|
||||
|
||||
In the previous beta, a single FT_System object was used to encompass
|
||||
all low-level operations like thread synchronisation, memory management
|
||||
and i/o access. This has been greatly simplified :
|
||||
|
||||
- thread synchronisation has been dropped, for the simple reason that
|
||||
the library is already re-entrant, and that if you really need two
|
||||
threads accessing the same FT_Library, you should really synchronize
|
||||
access to it yourself with a simple mutex.
|
||||
|
||||
- memory management is performed through a very simple object called
|
||||
"FT_Memory", which really is a table containing a table of pointers
|
||||
to functions like malloc, realloc and free as well as some user data
|
||||
(closure).
|
||||
|
||||
- resources have disappeared (they created more problems than they
|
||||
solved), and i/o management have been simplified greatly as a
|
||||
result. Streams are defined through FT_Stream objects, which can
|
||||
be either memory-based or disk-based.
|
||||
|
||||
Note that each face has its own stream, which is closed only when
|
||||
the face object is destroyed. Hence, a function like TT_Flush_Face
|
||||
in 1.x cannot be directly supported. However, if you really need
|
||||
something like this, you can easily tailor your own streams to achieve
|
||||
the same feature at a lower level (and use FT_Open_Face instead of
|
||||
FT_New_Face to create the face).
|
||||
|
||||
See the file "include/ftsystem.h" for more details, as well as the
|
||||
implementations found in "config/unix" and "config/ansi".
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------------------
|
||||
Font Drivers :
|
||||
|
||||
|
||||
The Font Driver interface has been modified in order to support
|
||||
extensions & versioning.
|
||||
|
||||
|
||||
The list of the font drivers that are statically linked to the
|
||||
library at compile time is managed through a new configuration file
|
||||
called `config/<platform>/ftmodule.h'.
|
||||
|
||||
This file is autogenerated when invoking `make modules'. This target
|
||||
will parse all sub-directories of 'src', looking for a "module.mk"
|
||||
rules file, used to describe the driver to the build system.
|
||||
|
||||
Hence, one should call `make modules' each time a font driver is added
|
||||
or removed from the `src' directory.
|
||||
|
||||
|
||||
Finally, this version provides a "pseudo-driver" in `src/sfnt'. This
|
||||
driver doesn't support font files directly, but provides services used
|
||||
by all TrueType-like font drivers. Hence, its code is shared between
|
||||
the TrueType & OpenType font formats, and possibly more formats to
|
||||
come if we're lucky..
|
||||
|
||||
-----------------------------------------------------------------------------------------
|
||||
Extensions support :
|
||||
|
||||
The extensions support is inspired by the one found in 1.x.
|
||||
|
||||
Now, each font driver has its own "extension registry", which lists
|
||||
which extensions are available for the font faces managed by the driver.
|
||||
|
||||
Extension ids are now strings, rather than 4-byte tags, as this is
|
||||
usually more readable..
|
||||
|
||||
Each extension has:
|
||||
- some data, associated to each face object
|
||||
- an interface (table of function pointers)
|
||||
|
||||
An extension that is format-specific should simply register itself
|
||||
to the correct font driver. Here is some example code:
|
||||
|
||||
// Registering an extensions
|
||||
//
|
||||
FT_Error FT_Init_XXXX_Extension( FT_Library library )
|
||||
{
|
||||
FT_DriverInterface* tt_driver;
|
||||
|
||||
driver = FT_Get_Driver( library, "truetype" );
|
||||
if (!driver) return FT_Err_Unimplemented_Feature;
|
||||
|
||||
return FT_Register_Extension( driver, &extension_class );
|
||||
}
|
||||
|
||||
|
||||
// Implementing the extensions
|
||||
//
|
||||
FT_Error FT_Proceed_Extension_XXX( FT_Face face )
|
||||
{
|
||||
FT_XXX_Extension ext;
|
||||
FT_XXX_Extension_Interface ext_interface;
|
||||
|
||||
ext = FT_Get_Extension( face, "extensionid", &ext_interface );
|
||||
if (!ext) return error;
|
||||
|
||||
return ext_interface->do_it(ext);
|
||||
}
|
||||
|
638
ChangeLog
Normal file
638
ChangeLog
Normal file
|
@ -0,0 +1,638 @@
|
|||
2005-10-13 David Turner <david@freetype.org>
|
||||
|
||||
* include/freetype/cache/ftcmanag.h, src/cache/ftcint.h,
|
||||
src/cache/ftcbasic.c, src/cache/ftccmap.c, src/cache/ftccache.c,
|
||||
src/cache/ftcglyph.c, src/cache/ftcimage.c, src/cache/ftcmanag.c,
|
||||
src/cache/ftcmru.c, src/cache/ftcsbits.c, src/cache/rules.mk:
|
||||
|
||||
make various fields of the @FTC_ManagerRec structure private, i.e.
|
||||
un-accessible from client applications, introducing the new private
|
||||
"src/cache/ftcint.h" header
|
||||
|
||||
* include/freetype/cache/ftcmru.h, src/cache/ftcmru.c: implement
|
||||
the new convenience function FTC_MruList_RemoveOldest()
|
||||
|
||||
* include/freetype/cache/ftcmanag.h, src/cache/ftcint.h,
|
||||
src/cache/ftcmanag.h:
|
||||
|
||||
introducing FTC_RETRY_LOOP and FTC_RETRY_END and corresponding
|
||||
functions.
|
||||
|
||||
moving "ftc_node_destroy" to private headers, it's now a local,
|
||||
non-public, function
|
||||
|
||||
* MANY FILES... Mergin with main branch (HEAD)
|
||||
|
||||
* src/cache/ftcmanag.c (FTC_Manager_Reset): add missing cache flush
|
||||
|
||||
* src/cache/ftcback.h, src/cache/rules.mk: removed obsolete ftcback.h
|
||||
which was revived by the merge operation (blooody cvs)
|
||||
|
||||
* src/cache/ftcsbit.c: using FTC_RETRY_LOOP ... FTC_RETRY_END
|
||||
|
||||
2005-09-21 David Turner <david@freetype.org>
|
||||
|
||||
* massive redesign of the cache sub-system internals.
|
||||
in order to simplify the code and even slightly improve
|
||||
performance (ftbench shows a 3% improvements in the SBit
|
||||
and Image caches)
|
||||
|
||||
|
||||
2005-09-05 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
Add FT_FACE_FLAG_HINTER to indicate that a specific font driver has
|
||||
a hinting engine of its own.
|
||||
|
||||
* include/freetype/freetype.h (FT_FACE_FLAG_HINTER): New macro.
|
||||
|
||||
* src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
|
||||
(cid_face_init), src/truetype/ttobjs.c (tt_face_init)
|
||||
[TT_CONFIG_OPTION_BYTECODE_INTERPRETER], src/type1/t1objs.c
|
||||
(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init)
|
||||
[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Update face flags.
|
||||
|
||||
* docs/CHANGES: Document it.
|
||||
|
||||
2005-09-27 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* builds/unix/freetype2.m4: Add license exception so that the file
|
||||
can be used in any other autoconf script.
|
||||
|
||||
2005-09-26 David Turner <david@freetype.org>
|
||||
|
||||
* src/autofit/aflatin.c (af_latin_compute_stem_width): Fix bad
|
||||
computation of the `vertical' flag, causing ugly things in LCD mode
|
||||
and others.
|
||||
|
||||
2005-09-23 David Turner <david@freetype.org>
|
||||
|
||||
* src/autofit/aflatin.c (af_latin_hints_init): Fix a bug that
|
||||
prevented internal hint mode bitflags from being computed correctly.
|
||||
|
||||
* src/base/Jamfile: Adding src/base/ftgxval.c.
|
||||
|
||||
* src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c,
|
||||
src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c, src/gxvalid/gxvkern.c,
|
||||
src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c,
|
||||
src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
|
||||
src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
|
||||
src/gxvalid/gxvmort5.c, src/gxvalid/gxvmorx.c,
|
||||
src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
|
||||
src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx5.c,
|
||||
src/gxvalid/gxvopbd.c, src/gxvalid/gxvprop.c,
|
||||
src/truetype/ttgload.c: Remove _many_ compiler warnings when
|
||||
compiling with Visual C++ at maximum level (/W4).
|
||||
|
||||
* src/autofit/afangles.c (af_angle_atan): Replaced CORDIC-based
|
||||
implementation with one using lookup tables. This simple thing
|
||||
speeds up glyph loading by 18%, according to ftbench!
|
||||
|
||||
* src/sfnt/sfdriver.c (sfnt_get_interface): Don't check for
|
||||
`get_sfnt' and `load_sfnt' module interfaces.
|
||||
|
||||
2005-09-22 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* docs/CHANGES: Mention SING Glyphlet support.
|
||||
|
||||
2005-09-22 David Turner <david@freetype.org>
|
||||
|
||||
* src/base/Jamfile: Disable compilation of ftgxval module
|
||||
temporarily.
|
||||
|
||||
|
||||
2005-09-19 David Somers <dsomers@omz13.com>
|
||||
|
||||
* freetype2/src/sfnt/ttload.c (sfnt_dir_check): Modified to allow a
|
||||
font to have no `head' table if tables `SING' and `META' are
|
||||
present; this is to support `SING Glyphlet'.
|
||||
|
||||
`SING Glyphlet' is an extension to OpenType developed by Adobe
|
||||
primarily to facilitate adding supplemental glyphs to an OpenType
|
||||
font (with emphasis on, but not necessariy limited to, gaiji to a
|
||||
CJK font). A SING Glyphlet Font is an OpenType font that contains
|
||||
the outline(s), either in a `glyf' or `CFF' table, for a glyph;
|
||||
`cmap', `BASE', and `GSUB' tables are present with the same format
|
||||
and functionaliy as a regular OpenType font; there are no `name',
|
||||
`head', `OS/2', and `post' tables; there are two new tables, `SING'
|
||||
which contains details about the glyphlet, and `META' which contains
|
||||
metadata.
|
||||
|
||||
Further information on the SING Glyphlet format can be found at:
|
||||
|
||||
http://www.adobe.com/products/indesign/sing_gaiji.html
|
||||
|
||||
* freetype2/include/freetype/ttags.h (TTAG_SING, TTAG_META): New
|
||||
macros for the OpenType tables `SING' and `META'. These two tables
|
||||
are used in SING Glyphlet Format fonts.
|
||||
|
||||
2005-09-09 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/sfnt/sfobjs.c (sfnt_load_face): Reactivate code to set
|
||||
FT_FACE_FLAG_KERNING which has been commented out erroneously.
|
||||
|
||||
* docs/CHANGES: Document it.
|
||||
|
||||
2005-09-05 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
Fixes for `make multi' and using C++ compiler.
|
||||
|
||||
* gxvalid/gxvcommn.c (gxv_set_length_by_ushort_offset,
|
||||
gxv_set_length_by_ulong_offset, gxv_array_getlimits_byte,
|
||||
gxv_array_getlimits_ushort): Declare with FT_LOCAL_DEF.
|
||||
(gxv_compare_ranges): Make it static.
|
||||
(gxv_LookupTable_fmt0_validate, gxv_LookupTable_fmt2_validate,
|
||||
gxv_LookupTable_fmt4_validate, gxv_LookupTable_fmt6_validate,
|
||||
gxv_LookupTable_fmt8_validate, gxv_LookupTable_validate): Improve
|
||||
trace messages.
|
||||
(gxv_StateArray_validate, gxv_XStateArray_validate): s/class/clazz/.
|
||||
(GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
|
||||
GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Move to
|
||||
gxvcommn.h.
|
||||
|
||||
* gxvalid/gxvcommn.h: Add prototypes for
|
||||
gxv_StateTable_subtable_setup, gxv_XStateTable_subtable_setup,
|
||||
gxv_XStateTable_validate, gxv_array_getlimits_byte,
|
||||
gxv_array_getlimits_ushort, gxv_set_length_by_ushort_offset,
|
||||
gxv_set_length_by_ulong_offset, gxv_odtect_add_range,
|
||||
gxv_odtect_validate.
|
||||
(GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
|
||||
GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Moved from
|
||||
gxvcommn.c.
|
||||
|
||||
* src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
|
||||
gxv_bsln_parts_fmt1_validate): Improve trace messages.
|
||||
|
||||
* gxvalid/gxvfeat.c: Split off predefined registry stuff to...
|
||||
* gxvalid/gxvfeat.h: New file.
|
||||
|
||||
* gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace
|
||||
message.
|
||||
|
||||
* gxvalid/gxvkern.c (GXV_kern_Dialect): Add KERN_DIALECT_UNKNOWN.
|
||||
(gxv_kern_subtable_fmt1_valueTable_load,
|
||||
gxv_kern_subtable_fmt1_subtable_setup,
|
||||
gxv_kern_subtable_fmt1_entry_validate): Fix C++ compiler errors.
|
||||
(gxv_kern_coverage_validate): Use KERN_DIALECT_UNKWOWN.
|
||||
Improve trace message.
|
||||
(gxv_kern_validate_generic): Fix C++ compiler error.
|
||||
Improve trace message.
|
||||
(gxv_kern_validate_classic): Fix C++ compiler error.
|
||||
|
||||
* gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare
|
||||
with FT_LOCAL_DEF.
|
||||
|
||||
* gxvalid/gxvmort1.c
|
||||
(gxv_mort_subtable_type1_substitutionTable_load,
|
||||
gxv_mort_subtable_type1_subtable_setup): Fix C++ compiler errors.
|
||||
(gxv_mort_subtable_type1_substTable_validate): Improve trace
|
||||
message.
|
||||
(gxv_mort_subtable_type1_validate): Declare with FT_LOCAL_DEF.
|
||||
|
||||
* gxvalid/gxvmort2.c (gxv_mort_subtable_type2_opttable_load,
|
||||
gxv_mort_subtable_type2_subtable_setup,
|
||||
gxv_mort_subtable_type2_ligActionOffset_validate,
|
||||
gxv_mort_subtable_type2_ligatureTable_validate): Fix C++ compiler
|
||||
errors.
|
||||
(gxv_mort_subtable_type2_validate): Declare with FT_LOCAL_DEF.
|
||||
|
||||
* gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare
|
||||
with FT_LOCAL_DEF.
|
||||
|
||||
* gxvalid/gxvmort5.c (gxv_mort_subtable_type5_subtable_setup,
|
||||
gxv_mort_subtable_type5_InsertList_validate): Fix C++ compiler
|
||||
errors.
|
||||
(gxv_mort_subtable_type5_validate): Declare with FT_LOCAL_DEF.
|
||||
|
||||
* gxvalid/gxvmort.c: Include gxvfeat.h.
|
||||
(gxv_mort_featurearray_validate, gxv_mort_coverage_validate):
|
||||
Declare with FT_LOCAL_DEF.
|
||||
(gxv_mort_subtables_validate, gxv_mort_validate): Improve trace
|
||||
messages.
|
||||
|
||||
* gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove.
|
||||
|
||||
* gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare
|
||||
with FT_LOCAL_DEF.
|
||||
|
||||
* gxvalid/gxvmorx1.c
|
||||
(gxv_morx_subtable_type1_substitutionTable_load,
|
||||
gxv_morx_subtable_type1_subtable_setup,
|
||||
gxv_morx_subtable_type1_entry_validate,
|
||||
gxv_morx_subtable_type1_substitutionTable_validate): Fix C++
|
||||
compiler errors.
|
||||
(gxv_morx_subtable_type1_validate): Declare with FT_LOCAL_DEF.
|
||||
|
||||
* gxvalid/gxvmorx2.c (gxv_morx_subtable_type2_opttable_load,
|
||||
gxv_morx_subtable_type2_subtable_setup,
|
||||
gxv_morx_subtable_type2_ligActionIndex_validate,
|
||||
gxv_morx_subtable_type2_ligatureTable_validate): Fix C++ compiler
|
||||
errors.
|
||||
(gxv_morx_subtable_type2_validate): Declare with FT_LOCAL_DEF.
|
||||
Fix typo.
|
||||
|
||||
* gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare
|
||||
with FT_LOCAL_DEF.
|
||||
|
||||
* gxvalid/gxvmorx5.c (gxv_morx_subtable_type5_insertionGlyph_load,
|
||||
gxv_morx_subtable_type5_subtable_setup): Fix C++ compiler error.
|
||||
(gxv_morx_subtable_type5_validate): Declare with FT_LOCAL_DEF.
|
||||
|
||||
* gxvalid/gxvmorx.c (gxv_morx_subtables_validate,
|
||||
gxv_morx_validate): Improve trace message.
|
||||
|
||||
* gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler
|
||||
warnings.
|
||||
(gxv_opbd_validate): Improve trace message.
|
||||
|
||||
* gxvalid/gxvprop.c: Decorate constants with `U' and `L' where
|
||||
appropriate.
|
||||
(gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace
|
||||
message.
|
||||
|
||||
* gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): Remove unused
|
||||
parameter. Update all callers.
|
||||
(gxv_trak_validate): Improve trace message.
|
||||
|
||||
* rules.mk (GXV_DRV_H): Add gxvfeat.h.
|
||||
|
||||
2005-09-01 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/gxvalid/gxvbsln.c (GXV_BSLN_VALUE_EMPTY): Add `U'.
|
||||
|
||||
* src/gxvalid/gxmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE),
|
||||
src/gxvalid/gxmort2.c (GXV_MORT_SUBTABLE_TYPE2_HEADER_SIZE): Fix
|
||||
typo.
|
||||
|
||||
* src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
|
||||
src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx4.c,
|
||||
src/gxvalid/gxvmorx5.c, src/gxvalid/gxvmort.c: Improve trace
|
||||
messages.
|
||||
Decorate constants with `U' and `L' where appropriate.
|
||||
Fix compiler warnings.
|
||||
|
||||
2005-08-31 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
|
||||
|
||||
* src/gxvalid/gxvbsln.c (gxv_bsln_validate): Fix trace message.
|
||||
|
||||
* src/gxvalid/gxvcommn.c (gxv_odtect_add_range): Use `const'.
|
||||
|
||||
* src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c,
|
||||
src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmod.c,
|
||||
src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
|
||||
src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
|
||||
src/gxvalid/gxvmort5.c, src/gxvalid/gxvmort.c: Improve trace
|
||||
messages.
|
||||
Decorate constants with `U' and `L' where appropriate.
|
||||
Fix compiler warnings.
|
||||
|
||||
2005-08-30 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/gxvalid/README: Revised.
|
||||
* src/gxvalid/gxvbsln.c: Fix compiler warnings.
|
||||
* src/gxvalid/gxvcommn.c: Fix compiler warnings.
|
||||
(gxv_XEntryTable_validate, gxv_compare_ranges): Remove unused
|
||||
parameter. Update all callers.
|
||||
Improve trace messages.
|
||||
Some formatting.
|
||||
|
||||
2005-08-29 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* include/freetype/freetype.h, include/freetype/ftchapters.h: Add
|
||||
a preliminary section with some explanations about user allocation.
|
||||
|
||||
* src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter):
|
||||
Don't abort if there are no data types, functions, etc., in a
|
||||
section.
|
||||
Print synopsis only if we have a data type, function, etc.
|
||||
|
||||
* docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE,
|
||||
docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX,
|
||||
docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
|
||||
|
||||
2005-08-28 George Williams <gww@silcom.com>
|
||||
|
||||
* src/truetype/ttgload.c [TT_MAX_COMPOSITE_RECURSE]: Removed.
|
||||
(load_truetype_glyph): Limit recursion depth by `maxComponentDepth'.
|
||||
|
||||
2005-08-25 J. Ali Harlow <ali@avrc.city.ac.uk>
|
||||
|
||||
* builds/unix/freetype2.in (CFlags): Add missing directory.
|
||||
|
||||
2005-08-24 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* docs/CHANGES: Mention gxvalid module.
|
||||
|
||||
2005-08-23 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/autofit/aflatin.c (af_latin_metrics_scale): Initialize
|
||||
render mode properly. Reported by chris@dokein.co.uk.
|
||||
|
||||
2005-08-23 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
|
||||
|
||||
Add gxvalid module to validate TrueType GX/AAT tables.
|
||||
|
||||
Modifications on existing files:
|
||||
|
||||
* Jamfile: Register gxvalid module.
|
||||
* src/base/Jamfile: Register ftgxval.c.
|
||||
* src/base/rule.mk: Register ftgxval.c.
|
||||
* docs/INSTALL.ANY: Register gxvalid/gxvalid.c.
|
||||
|
||||
* include/freetype/config/ftheader.h (FT_GX_VALIDATE_H): New macro
|
||||
to include gxvalid header file.
|
||||
* include/freetype/config/ftmodule.h: Register gxv_module_class.
|
||||
|
||||
* include/freetype/ftchapters.h: Add comment about gx_validation.
|
||||
* include/freetype/ftotval.h: Change keyword FT_VALIDATE_XXX
|
||||
to FT_VALIDATE_OTXXX to co-exist with gxvalid.
|
||||
* include/freetype/tttags.h: Add tags for TrueType GX/AAT tables.
|
||||
|
||||
* include/freetype/internal/ftserv.h (FT_SERVICE_GX_VALIDATE_H): New
|
||||
macro for gxvalid service.
|
||||
* include/freetype/internal/fttrace.h: Add trace facilities for
|
||||
gxvalid.
|
||||
|
||||
New files on existing directories:
|
||||
|
||||
* include/freetype/internal/services/svgxval.h: Registration of
|
||||
validation service for TrueType GX/AAT and classic kern table.
|
||||
* include/freetype/ftgxval.h: Public API definition to use gxvalid.
|
||||
* src/base/ftgxval.c: Public API of gxvalid.
|
||||
|
||||
New files under src/gxvalid/:
|
||||
|
||||
* src/gxvalid/Jamfile src/gxvalid/README src/gxvalid/module.mk
|
||||
src/gxvalid/rules.mk src/gxvalid/gxvalid.c src/gxvalid/gxvalid.h
|
||||
src/gxvalid/gxvbsln.c src/gxvalid/gxvcommn.c src/gxvalid/gxvcommn.h
|
||||
src/gxvalid/gxverror.h src/gxvalid/gxvfeat.c src/gxvalid/gxvfgen.c
|
||||
src/gxvalid/gxvjust.c src/gxvalid/gxvkern.c src/gxvalid/gxvlcar.c
|
||||
src/gxvalid/gxvmod.c src/gxvalid/gxvmod.h src/gxvalid/gxvmort.c
|
||||
src/gxvalid/gxvmort.h src/gxvalid/gxvmort0.c src/gxvalid/gxvmort1.c
|
||||
src/gxvalid/gxvmort2.c src/gxvalid/gxvmort4.c src/gxvalid/gxvmort5.c
|
||||
src/gxvalid/gxvmorx.c src/gxvalid/gxvmorx.h src/gxvalid/gxvmorx0.c
|
||||
src/gxvalid/gxvmorx1.c src/gxvalid/gxvmorx2.c src/gxvalid/gxvmorx4.c
|
||||
src/gxvalid/gxvmorx5.c src/gxvalid/gxvopbd.c src/gxvalid/gxvprop.c
|
||||
src/gxvalid/gxvtrak.c: New files, gxvalid body.
|
||||
|
||||
2005-08-21 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/truetype/ttgload.c (TT_Load_Glyph): Only translate outline
|
||||
to (0,0) if bit 1 of the `head' table isn't set. This improves
|
||||
rendering of buggy fonts.
|
||||
|
||||
2005-08-20 Chia I Wu <b90201047@ntu.edu.tw>
|
||||
|
||||
* src/truetype/ttdriver.c (Load_Glyph): Don't check the validity of
|
||||
ttmetrics here. TrueType fonts with only sbits always have
|
||||
ttmetrics.valid set to false.
|
||||
|
||||
* src/truetype/ttgload.c (TT_Load_Glyph): Check that ttmetrics is
|
||||
valid before loading outline glyph.
|
||||
|
||||
* src/cache/ftcimage.c (FTC_INode_New): Fix a memory leak.
|
||||
|
||||
2005-08-20 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/sfnt/ttload.c (tt_face_load_metrics_header): Ignore missing
|
||||
`hhea' table for SFNT Mac fonts. Change based on a patch by
|
||||
mpsuzuki@hiroshima-u.ac.jp.
|
||||
|
||||
2005-08-20 Masatake YAMATO <jet@gyve.org>
|
||||
|
||||
* src/otvalid/otvmod.c (otv_validate): Use ft_validator_run instead
|
||||
of ft_setjmp.
|
||||
|
||||
2005-08-19 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/truetype/ttgload.c (load_truetype_glyph): Fix compiler
|
||||
warnings.
|
||||
|
||||
2005-08-16 Chia I Wu <b90201047@ntu.edu.tw>
|
||||
|
||||
* src/truetype/ttinterp.c, src/truetype/ttinterp.h: Update copyright
|
||||
messages.
|
||||
|
||||
2005-08-16 Chia I Wu <b90201047@ntu.edu.tw>
|
||||
|
||||
* src/truetype/ttinterp.c, src/truetype/ttinterp.h: Remove original
|
||||
TT_Done_Context and rename TT_Destroy_Context to TT_Done_Context
|
||||
with slight changes.
|
||||
Update all callers.
|
||||
(TT_New_Context): Now takes TT_Driver argument directly.
|
||||
Update all callers.
|
||||
|
||||
* src/truetype/ttobjs.h (tt_slot_init): New function.
|
||||
* src/truetype/ttobjs.c (tt_driver_init): Initialize execution
|
||||
context here.
|
||||
(tt_slot_init): New function to create extra points for the internal
|
||||
glyph loader. We then use it directly, instead of face's glyph
|
||||
loader, when loading glyph.
|
||||
|
||||
* src/truetype/ttdriver.c (tt_driver_class): Use tt_slot_init for
|
||||
glyph slot initialization.
|
||||
(Load_Glyph): Load flag dependencies are handled here. Return error
|
||||
if size is NULL.
|
||||
|
||||
* src/truetype/ttgload.c: Heavy cleanup and refactoring.
|
||||
(org_to_cur): Removed.
|
||||
(TT_Load_Simple_Glyph): Call FT_GlyphLoader_CheckPoints.
|
||||
(TT_Hint_Glyph): New funcion to hint a zone, prepared by caller.
|
||||
(TT_Process_Simple_Glyph): s/load/loader/.
|
||||
Use loader->pp values instead of recalculation.
|
||||
Use TT_Hint_Glyph.
|
||||
No need to save/restore loader->stream before and after
|
||||
TT_Vary_Get_Glyph_Deltas now.
|
||||
(TT_LOADER_SET_PP): New macro to calculate and set the four phantom
|
||||
points.
|
||||
(load_truetype_glyph): Never set exec->glyphSize to 0. This closes
|
||||
Savannah bug #13107.
|
||||
Forget glyph frame before calling TT_Process_Simple_Glyph.
|
||||
Use TT_LOADER_SET_PP.
|
||||
Scale all four phantom points.
|
||||
Split off some functionality to ...
|
||||
(TT_Process_Composite_Component, TT_Process_Composite_Glyph): These
|
||||
new functions.
|
||||
(TT_Load_Glyph): Set various fields of `glyph' here, not in
|
||||
load_truetype_glyph and compute_glyph_metrics.
|
||||
Split off some functionality to ...
|
||||
(load_sbit_image, tt_loader_init): These new functions.
|
||||
(compute_glyph_metrics): Call FT_Outline_Get_CBox.
|
||||
|
||||
2005-08-08 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* docs/INSTALL.ANY: Updated.
|
||||
|
||||
2005-08-05 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/cff/cffgload.c (cff_builder_close_contour),
|
||||
src/psaux/psobjs.c (t1_builder_close_contour): Protect against
|
||||
zero `outline' pointer.
|
||||
|
||||
* src/base/ftgloadr.c (FT_GlyphLoader_Add): Protect against zero
|
||||
`loader' address.
|
||||
|
||||
2005-08-03 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/sfnt/sfdriver.c (sfnt_interface) [FT_OPTIMIZE_MEMORY]:
|
||||
Reactivate pointers to tt_find_sbit_image and tt_load_sbit_metrics
|
||||
to make X work again.
|
||||
|
||||
2005-08-02 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/otvalid/otvcommn.h: Remove dead code.
|
||||
|
||||
2005-07-31 Chia I Wu <b90201047@ntu.edu.tw>
|
||||
|
||||
* src/truetype/ttobjs.h (tt_size_run_fpgm, tt_size_run_prep): New
|
||||
functions.
|
||||
|
||||
* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): New
|
||||
functions.
|
||||
(tt_size_init): Add 4, instead of 2, (phantom) points to twilight
|
||||
zone.
|
||||
Move code that runs fpgm to tt_size_run_fpgm.
|
||||
(Reset_Outline_Size): Move code that runs prep to tt_size_run_prep.
|
||||
(tt_glyphzone_new): Allocate right size of arrays.
|
||||
Set max_points and max_contours properly.
|
||||
|
||||
2005-07-26 Chia I Wu <b90201047@ntu.edu.tw>
|
||||
|
||||
* src/truetype/ttdriver.c (Set_Char_Sizes): Avoid unnecessary
|
||||
computations and clean up.
|
||||
|
||||
* src/truetype/ttobjs.h (struct TT_SizeRec_): Comment on the
|
||||
internal copy of metrics.
|
||||
|
||||
2005-07-12 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* include/freetype/ftoutln.h (FT_Outline_Embolden): Fix prototype.
|
||||
Reported by Xerxes.
|
||||
|
||||
2005-07-04 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* include/freetype/internal/ftmemory.h (FT_REALLOC_ARRAY): Fix typo.
|
||||
Reported by Brett Hutley.
|
||||
|
||||
2005-06-30 David Turner <david@freetype.org>
|
||||
|
||||
* src/sfnt/ftbitmap.c, src/truetype/ttgload.c, src/sfnt/ttcmap.c:
|
||||
Removing compiler warnings (Visual C++ /W4).
|
||||
|
||||
|
||||
Implement a work-around for broken C preprocessor in Visual C++ (it
|
||||
has been confirmed by the MS developers that it is indeed a bug
|
||||
which won't be fixed in the very near future).
|
||||
|
||||
* Jamfile (FT2_COMPONENTS): Include otvalid (again).
|
||||
|
||||
* src/otvalid/otvcommn.h (OTV_NAME, OTV_FUNC): New macros.
|
||||
(OTV_NEST1, OTV_NEST2, OTV_NEST3): Use OTV_NAME and OTV_FUNC to
|
||||
avoid argument expansion by argument prescan.
|
||||
Append `Func' to all affected macros and change them to take just a
|
||||
single argument. Example: `AttachList' is renamed to
|
||||
`AttachListFunc'.
|
||||
|
||||
* src/otvalid/otvgdef.c, src/otvalid/otvgpos.c,
|
||||
src/otvalid/otvgsub.c, src/otvjstf.c: Append `Func' to macros
|
||||
affected by the changes to OTV_NESTx and modify them to take just a
|
||||
single argument.
|
||||
|
||||
2005-06-20 Chia I Wu <b90201047@ntu.edu.tw>
|
||||
|
||||
* include/freetype/internal/ftobjs.h, src/base/ftobjs.c: New function
|
||||
ft_glyphslot_grid_fit_metrics.
|
||||
|
||||
* src/truetype/ttgload.c (compute_glyph_metrics): Use
|
||||
ft_glyphslot_grid_fit_metrics.
|
||||
|
||||
* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
|
||||
(cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Use
|
||||
ft_glyphslot_grid_fit_metrics.
|
||||
FT_Outline_Get_CBox is called twice.
|
||||
|
||||
* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Modify metrics to more
|
||||
reasonable values when emboldening outline glyphs. The theoretic
|
||||
ones are unrealistic.
|
||||
|
||||
2005-06-16 Chia I Wu <b90201047@ntu.edu.tw>
|
||||
|
||||
* src/base/ftoutln.c (FT_Outline_Embolden): Strength should be
|
||||
halved.
|
||||
|
||||
* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default
|
||||
strength.
|
||||
Don't increase slot->advance.y.
|
||||
|
||||
2005-06-16 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* include/freetype/freetype.h (FREETYPE_MINOR): Set to 2.
|
||||
(FREETYPE_PATCH): Set to 0.
|
||||
|
||||
* builds/unix/configure.ac (version_info): Set to 9:9:3.
|
||||
Currently, we are still binary compatible.
|
||||
|
||||
* builds/win32/visualc/index.html,
|
||||
builds/win32/visualc/freetype.dsp,
|
||||
builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
|
||||
|
||||
* builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
|
||||
s/2.1.9/2.1.10/.
|
||||
|
||||
* docs/CHANGES, docs/VERSION.DLL: Updated.
|
||||
|
||||
* ChangeLog: Split off older entries into...
|
||||
* ChangeLog.20, ChangeLog.21: These new files.
|
||||
|
||||
2005-06-15 Kirill Smelkov <kirr@mns.spb.ru>
|
||||
|
||||
The next release will be 2.2.0, so don't worry about source code
|
||||
backwards compatibility.
|
||||
|
||||
* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
|
||||
FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
|
||||
FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc),
|
||||
include/freetype/ftrender.h (FT_Glyph_TransformFunc,
|
||||
FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate
|
||||
parameters with `const' where appropriate.
|
||||
|
||||
2005-06-15 Chia I Wu <b90201047@ntu.edu.tw>
|
||||
|
||||
* src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY
|
||||
to make glyphs centered vertically.
|
||||
|
||||
* src/truetype/ttgload.c (compute_glyph_metrics): Compute
|
||||
vertBearingY to make glyphs centered vertically.
|
||||
Fix some bugs in vertical metrics:
|
||||
|
||||
. loader->pp3.y and loader->pp4.y are in 26.6 format, not in font
|
||||
units.
|
||||
. As we use the glyph's cbox to calculate the top bearing now
|
||||
there iss no need to adjust `top'.
|
||||
|
||||
2005-06-15 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be
|
||||
in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake.
|
||||
|
||||
2005-06-13 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* docs/release: Update.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
Copyright 2005 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used, modified,
|
||||
and distributed under the terms of the FreeType project license,
|
||||
LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
indicate that you have read the license and understand and accept it
|
||||
fully.
|
||||
|
||||
|
||||
Local Variables:
|
||||
version-control: never
|
||||
coding: latin-1
|
||||
End:
|
2613
ChangeLog.20
Normal file
2613
ChangeLog.20
Normal file
File diff suppressed because it is too large
Load diff
9439
ChangeLog.21
Normal file
9439
ChangeLog.21
Normal file
File diff suppressed because it is too large
Load diff
5
INSTALL
5
INSTALL
|
@ -1,5 +0,0 @@
|
|||
We do not provide INSTALLATION instructions for now, as FreeType 2 is
|
||||
still in beta.
|
||||
|
||||
Note however that you'll find instructions on how to compile the library
|
||||
in the "BUILD" document in the "docs" directory..
|
167
Jamfile
Normal file
167
Jamfile
Normal file
|
@ -0,0 +1,167 @@
|
|||
# FreeType 2 top Jamfile.
|
||||
#
|
||||
# Copyright 2001, 2002, 2003, 2004, 2005 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# The HDRMACRO is already defined in FTJam and is used to add
|
||||
# the content of certain macros to the list of included header
|
||||
# files.
|
||||
#
|
||||
# We can compile FreeType 2 with classic Jam however thanks to
|
||||
# the following code
|
||||
#
|
||||
if ! $(JAM_TOOLSET)
|
||||
{
|
||||
rule HDRMACRO
|
||||
{
|
||||
# nothing
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# We need to invoke a SubDir rule if the FT2 source directory top is not the
|
||||
# current directory. This allows us to build FreeType 2 as part of a larger
|
||||
# project easily.
|
||||
#
|
||||
if $(FT2_TOP) != $(DOT)
|
||||
{
|
||||
SubDir FT2_TOP ;
|
||||
}
|
||||
|
||||
|
||||
# The following macros define the include directory, the source directory,
|
||||
# and the final library name (without library extensions). They can be
|
||||
# replaced by other definitions when the library is compiled as part of
|
||||
# a larger project.
|
||||
#
|
||||
|
||||
# Name of FreeType include directory during compilation.
|
||||
# This is relative to FT2_TOP.
|
||||
#
|
||||
FT2_INCLUDE_DIR ?= include ;
|
||||
|
||||
# Name of FreeType source directory during compilation.
|
||||
# This is relative to FT2_TOP.
|
||||
#
|
||||
FT2_SRC_DIR ?= src ;
|
||||
|
||||
# Name of final library, without extension.
|
||||
#
|
||||
FT2_LIB ?= $(LIBPREFIX)freetype ;
|
||||
|
||||
|
||||
# Define FT2_BUILD_INCLUDE to point to your build-specific directory.
|
||||
# This is prepended to FT2_INCLUDE_DIR. It can be used to specify
|
||||
# the location of a custom <ft2build.h> which will point to custom
|
||||
# versions of "ftmodule.h" and "ftoption.h", for example.
|
||||
#
|
||||
FT2_BUILD_INCLUDE ?= ;
|
||||
|
||||
# The list of modules to compile on any given build of the library.
|
||||
# By default, this will contain _all_ modules defined in FT2_SRC_DIR.
|
||||
#
|
||||
# IMPORTANT: You'll need to change the content of "ftmodule.h" as well
|
||||
# if you modify this list or provide your own.
|
||||
#
|
||||
FT2_COMPONENTS ?= autofit # auto-fitter
|
||||
base # base component (public APIs)
|
||||
bdf # BDF font driver
|
||||
cache # cache sub-system
|
||||
cff # CFF/CEF font driver
|
||||
cid # PostScript CID-keyed font driver
|
||||
gxvalid # validation of TrueTypeGX/AAT tables
|
||||
gzip # support for gzip-compressed files
|
||||
lzw # support for LZW-compressed files
|
||||
otvalid # validation of OpenType tables
|
||||
pcf # PCF font driver
|
||||
pfr # PFR/TrueDoc font driver
|
||||
psaux # common PostScript routines module
|
||||
pshinter # PostScript hinter module
|
||||
psnames # PostScript names handling
|
||||
raster # monochrome rasterizer
|
||||
smooth # anti-aliased rasterizer
|
||||
sfnt # SFNT-based format support routines
|
||||
truetype # TrueType font driver
|
||||
type1 # PostScript Type 1 font driver
|
||||
type42 # PostScript Type 42 (embedded TrueType) driver
|
||||
winfonts # Windows FON/FNT font driver
|
||||
;
|
||||
|
||||
|
||||
# Don't touch.
|
||||
#
|
||||
FT2_INCLUDE = $(FT2_BUILD_INCLUDE)
|
||||
[ FT2_SubDir $(FT2_INCLUDE_DIR) ] ;
|
||||
|
||||
FT2_SRC = [ FT2_SubDir $(FT2_SRC_DIR) ] ;
|
||||
|
||||
# Location of API Reference Documentation
|
||||
#
|
||||
if $(DOC_DIR)
|
||||
{
|
||||
DOC_DIR = $(DOCDIR:T) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
DOC_DIR = docs/reference ;
|
||||
}
|
||||
|
||||
|
||||
# Only used by FreeType developers.
|
||||
#
|
||||
if $(DEBUG_HINTER)
|
||||
{
|
||||
CCFLAGS += -DDEBUG_HINTER ;
|
||||
}
|
||||
|
||||
|
||||
# We need "freetype2/include" in the current include path in order to
|
||||
# compile any part of FreeType 2.
|
||||
#
|
||||
HDRS += $(FT2_INCLUDE) ;
|
||||
|
||||
|
||||
# Uncomment the following line if you want to build individual source files
|
||||
# for each FreeType 2 module. This is only useful during development, and
|
||||
# is better defined as an environment variable anyway!
|
||||
#
|
||||
# FT2_MULTI = true ;
|
||||
|
||||
|
||||
# The file <freetype/config/ftheader.h> is used to define macros that are
|
||||
# later used in #include statements. It needs to be parsed in order to
|
||||
# record these definitions.
|
||||
#
|
||||
HDRMACRO [ FT2_SubDir include freetype config ftheader.h ] ;
|
||||
HDRMACRO [ FT2_SubDir include freetype internal internal.h ] ;
|
||||
|
||||
|
||||
# Now include the Jamfile in "freetype2/src", used to drive the compilation
|
||||
# of each FreeType 2 component and/or module.
|
||||
#
|
||||
SubInclude FT2_TOP $(FT2_SRC_DIR) ;
|
||||
|
||||
|
||||
# Test files (hinter debugging). Only used by FreeType developers.
|
||||
#
|
||||
if $(DEBUG_HINTER)
|
||||
{
|
||||
SubInclude FT2_TOP tests ;
|
||||
}
|
||||
|
||||
actions RefDoc
|
||||
{
|
||||
python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.1.10 --output=$(DOC_DIR) $(FT2_INCLUDE)/freetype/*.h $(FT2_INCLUDE)/freetype/config/*.h $(FT2_INCLUDE)/freetype/cache/*.h
|
||||
}
|
||||
|
||||
RefDoc refdoc ;
|
||||
|
||||
|
||||
# end of top Jamfile
|
71
Jamrules
Normal file
71
Jamrules
Normal file
|
@ -0,0 +1,71 @@
|
|||
# FreeType 2 JamRules.
|
||||
#
|
||||
# Copyright 2001, 2002, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# This file contains the Jam rules needed to build the FreeType 2 library.
|
||||
# It is shared by all Jamfiles and is included only once in the build
|
||||
# process.
|
||||
#
|
||||
|
||||
|
||||
# Call SubDirHdrs on a list of directories.
|
||||
#
|
||||
rule AddSubDirHdrs
|
||||
{
|
||||
local x ;
|
||||
|
||||
for x in $(<)
|
||||
{
|
||||
SubDirHdrs $(x) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Determine prefix of library file. We must use "libxxxxx" on Unix systems,
|
||||
# while all other simply use the real name.
|
||||
#
|
||||
if $(UNIX)
|
||||
{
|
||||
LIBPREFIX ?= lib ;
|
||||
}
|
||||
else
|
||||
{
|
||||
LIBPREFIX ?= "" ;
|
||||
}
|
||||
|
||||
# FT2_TOP contains the location of the FreeType source directory. You can
|
||||
# set it to a specific value if you want to compile the library as part of a
|
||||
# larger project.
|
||||
#
|
||||
FT2_TOP ?= $(DOT) ;
|
||||
|
||||
# Define a new rule used to declare a sub directory of the Nirvana source
|
||||
# tree.
|
||||
#
|
||||
rule FT2_SubDir
|
||||
{
|
||||
if $(FT2_TOP) = $(DOT)
|
||||
{
|
||||
return [ FDirName $(<) ] ;
|
||||
}
|
||||
else
|
||||
{
|
||||
return [ FDirName $(FT2_TOP) $(<) ] ;
|
||||
}
|
||||
}
|
||||
|
||||
# We also set ALL_LOCATE_TARGET in order to place all object and library
|
||||
# files in "objs".
|
||||
#
|
||||
ALL_LOCATE_TARGET ?= [ FT2_SubDir objs ] ;
|
||||
|
||||
|
||||
# end of Jamrules
|
91
Makefile
91
Makefile
|
@ -3,101 +3,30 @@
|
|||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 by
|
||||
# Copyright 1996-2000, 2002 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# This file is designed for GNU Make, do not use it with another Make tool!
|
||||
# Project names
|
||||
#
|
||||
# It works as follows:
|
||||
#
|
||||
# - When invoked for the first time, this Makefile will include the rules
|
||||
# found in `freetype/config/detect.mk'. They are in charge of detecting
|
||||
# the current platform.
|
||||
#
|
||||
# A summary of the detection will be displayed, and the file `config.mk'
|
||||
# will be created in the current directory.
|
||||
#
|
||||
# - When invoked later, this Makefile will include the rules found in
|
||||
# `config.mk'. This sub-Makefile will define some system-specific
|
||||
# variables (like compiler, compilation flags, object suffix, etc.), then
|
||||
# include the rules found in `freetype/config/freetype.mk', used to build
|
||||
# the library.
|
||||
#
|
||||
# See the comments in `config/detect.mk' and `config/freetype.mk' for more
|
||||
# details on host platform detection and library builds.
|
||||
PROJECT := freetype
|
||||
PROJECT_TITLE := FreeType
|
||||
|
||||
USE_MODULES := 1
|
||||
|
||||
.PHONY: setup
|
||||
|
||||
# The variable TOP holds the path to the topmost directory in the FreeType
|
||||
# The variable TOP_DIR holds the path to the topmost directory in the project
|
||||
# engine source hierarchy. If it is not defined, default it to `.'.
|
||||
#
|
||||
ifndef TOP
|
||||
TOP := .
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
|
||||
CONFIG_MK := config.mk
|
||||
|
||||
# If no configuration sub-makefile is present, or if `setup' is the target
|
||||
# to be built, run the auto-detection rules to figure out which
|
||||
# configuration rules file to use.
|
||||
#
|
||||
# Note that the configuration file is put in the current directory, which is
|
||||
# not necessarily $(TOP).
|
||||
|
||||
# If `config.mk' is not present, set `check_platform'.
|
||||
#
|
||||
ifeq ($(wildcard $(CONFIG_MK)),)
|
||||
check_platform := 1
|
||||
endif
|
||||
|
||||
# If `setup' is one of the targets requested, set `check_platform'.
|
||||
#
|
||||
ifneq ($(findstring setup,$(MAKECMDGOALS)),)
|
||||
check_platform := 1
|
||||
endif
|
||||
|
||||
# Include the automatic host platform detection rules when we need to
|
||||
# check the platform.
|
||||
#
|
||||
ifdef check_platform
|
||||
|
||||
all: setup
|
||||
|
||||
# If the module list $(FT_MODULE_LIST) file is not present, generate it.
|
||||
#
|
||||
modules: make_module_list setup
|
||||
|
||||
include $(TOP)/builds/detect.mk
|
||||
include $(TOP)/builds/modules.mk
|
||||
|
||||
ifeq ($(wildcard $(FT_MODULE_LIST)),)
|
||||
setup: make_module_list
|
||||
endif
|
||||
|
||||
# IMPORTANT:
|
||||
#
|
||||
# `setup' must be defined by the host platform detection rules to create
|
||||
# the `config.mk' file in the current directory.
|
||||
|
||||
else
|
||||
|
||||
# A configuration sub-Makefile is present -- simply run it.
|
||||
#
|
||||
all: single
|
||||
|
||||
modules: make_module_list
|
||||
|
||||
BUILD_FREETYPE := yes
|
||||
include $(CONFIG_MK)
|
||||
|
||||
endif # test check_platform
|
||||
include $(TOP_DIR)/builds/toplevel.mk
|
||||
|
||||
# EOF
|
||||
|
|
53
README
Normal file
53
README
Normal file
|
@ -0,0 +1,53 @@
|
|||
Special notes to Unix users
|
||||
===========================
|
||||
|
||||
Please read the file "docs/UPGRADE.UNX". It contains important
|
||||
information regarding the installation of FreeType on Unix systems,
|
||||
especially GNU based operating systems like GNU/Linux.
|
||||
|
||||
FreeType 2's library is called `libfreetype', FreeType 1's library
|
||||
is called `libttf'. They are *not* compatible!
|
||||
|
||||
|
||||
FreeType 2.1.10
|
||||
===============
|
||||
|
||||
Please read the docs/CHANGES file, it contains IMPORTANT INFORMATION.
|
||||
|
||||
Read the files "docs/INSTALL" for installation instructions.
|
||||
|
||||
Note that the FreeType 2 documentation is now available as a
|
||||
separate package from our sites. See:
|
||||
|
||||
ftp://ftp.freetype.org/freetype/freetype2/ftdocs-2.1.10.tar.bz2
|
||||
ftp://ftp.freetype.org/freetype/freetype2/ftdocs-2.1.10.tar.gz
|
||||
ftp://ftp.freetype.org/freetype/freetype2/ftdoc2110.zip
|
||||
|
||||
|
||||
Bugs
|
||||
====
|
||||
|
||||
Please report bugs by e-mail to `devel@freetype.org'. Don't forget
|
||||
to send a detailed explanation of the problem -- there is nothing
|
||||
worse than receiving a terse message that only says "it doesn't
|
||||
work".
|
||||
|
||||
|
||||
Enjoy!
|
||||
|
||||
|
||||
The FreeType Team
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2001, 2002, 2003, 2004 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
modified, and distributed under the terms of the FreeType project
|
||||
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and understand
|
||||
and accept it fully.
|
||||
|
||||
|
||||
--- end of README ---
|
25
README.CVS
Normal file
25
README.CVS
Normal file
|
@ -0,0 +1,25 @@
|
|||
The CVS archive doesn't contain pre-built configuration scripts for
|
||||
UNIXish platforms. To generate them say
|
||||
|
||||
sh autogen.sh
|
||||
|
||||
which in turn depends on the following packages:
|
||||
|
||||
automake (1.9.4)
|
||||
libtool (1.5.16)
|
||||
autoconf (2.59b)
|
||||
|
||||
The versions given in parentheses are known to work. Note that autogen.sh
|
||||
also sets up proper file permissions for the configure and auxiliary
|
||||
scripts.
|
||||
|
||||
For static builds which don't use platform specific optimizations no
|
||||
configure script is necessary at all; saying
|
||||
|
||||
make setup ansi
|
||||
make
|
||||
|
||||
should work on all platforms which have GNU make (or makepp).
|
||||
|
||||
|
||||
--- end of README.CVS ---
|
42
autogen.sh
Normal file
42
autogen.sh
Normal file
|
@ -0,0 +1,42 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Copyright 2005 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
run ()
|
||||
{
|
||||
echo "running \`$*'"
|
||||
eval $*
|
||||
|
||||
if test $? != 0 ; then
|
||||
echo "error while running \`$*'"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
if test ! -f ./builds/unix/configure.ac; then
|
||||
echo "You must be in the same directory as \`autogen.sh'."
|
||||
echo "Bootstrapping doesn't work if srcdir != builddir."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd builds/unix
|
||||
|
||||
run aclocal -I . --force
|
||||
run libtoolize --force --copy
|
||||
run autoconf --force
|
||||
|
||||
chmod +x mkinstalldirs
|
||||
chmod +x install-sh
|
||||
|
||||
cd ../..
|
||||
|
||||
chmod +x ./configure
|
||||
|
||||
# EOF
|
110
builds/amiga/README
Normal file
110
builds/amiga/README
Normal file
|
@ -0,0 +1,110 @@
|
|||
|
||||
README for the builds/amiga subdirectory.
|
||||
|
||||
Copyright 2005 by
|
||||
Werner Lemberg and Detlef Würkner.
|
||||
|
||||
This file is part of the FreeType project, and may only be used, modified,
|
||||
and distributed under the terms of the FreeType project license,
|
||||
LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
indicate that you have read the license and understand and accept it
|
||||
fully.
|
||||
|
||||
|
||||
The makefile.os4 is for the AmigaOS4 SDK. To use it, type
|
||||
"make -f makefile.os4", it produces a link library libft2_ppc.a.
|
||||
|
||||
The makefile is for ppc-morphos-gcc-2.95.3-bin.tgz (gcc 2.95.3 hosted on
|
||||
68k-Amiga producing MorphOS-PPC-binaries from http://www.morphos.de).
|
||||
To use it, type "make assign", then "make"; it produces a link library
|
||||
libft2_ppc.a.
|
||||
|
||||
The smakefile is a makefile for Amiga SAS/C 6.58 (no longer available,
|
||||
latest sold version was 6.50, updates can be found in Aminet). It is
|
||||
based on the version found in the sourcecode of ttf.library 0.83b for
|
||||
FreeType 1.3.1 from Richard Griffith (ragriffi@sprynet.com,
|
||||
http://ragriffi.home.sprynet.com).
|
||||
|
||||
You will also need the latest include files and amiga.lib from the
|
||||
Amiga web site (http://www.amiga.com/3.9/download/NDK3.9.lha) for
|
||||
AmigaOS 3.9; the generated code should work under AmigaOS 2.04 and up.
|
||||
|
||||
To use it, call "smake assign" and then "smake" from the builds/amiga
|
||||
directory. The results are:
|
||||
|
||||
- A link library "ft2_680x0.lib" (where x depends on the setting of
|
||||
the CPU entry in the smakefile) containing all FreeType2 parts
|
||||
except of the init code, debugging code, and the system interface
|
||||
code.
|
||||
|
||||
- ftsystem.o, an object module containing the standard version of the
|
||||
system interface code which uses fopen() fclose() fread() fseek()
|
||||
ftell() malloc() realloc() and free() from lib:sc.lib (not pure).
|
||||
|
||||
- ftsystempure.o, an object module containing the pure version of the
|
||||
system interface code which uses Open() Close() Read() Seek()
|
||||
ExamineFH() AsmAllocPooled() AsmFreePooled() etc. This version can
|
||||
be used in both normal programs and in Amiga run-time shared system
|
||||
librarys (can be linked with lib:libinit.o, no copying of DATA and
|
||||
BSS hunks for each OpenLibrary() necessary). Source code is in
|
||||
src/base/ftsystem.c.
|
||||
|
||||
- ftdebug.o, an object module containing the standard version of the
|
||||
debugging code which uses vprintf() and exit() (not pure).
|
||||
Debugging can be turned on in FT:include/freetype/config/ftoption.h
|
||||
and with FT_SetTraceLevel().
|
||||
|
||||
- ftdebugpure.o, an object module containing the pure version of the
|
||||
debugging code which uses KVPrintf() from lib:debug.lib and no
|
||||
exit(). For debugging of Amiga run-time shared system libraries.
|
||||
Source code is in src/base/ftdebug.c.
|
||||
|
||||
- NO ftinit.o. Because linking with a link library should result in
|
||||
linking only the needed object modules in it, but standard
|
||||
ftsystem.o would force ALL FreeType2 modules to be linked to your
|
||||
program, I decided to use a different scheme: You must #include
|
||||
FT:src/base/ftinit.c in your sourcecode and specify with #define
|
||||
statements which modules you need. See
|
||||
include/freetype/config/ftmodule.h.
|
||||
|
||||
|
||||
To use in your own programs:
|
||||
|
||||
- Insert the #define and #include statements from top of
|
||||
include/freetype/config/ftmodule.h in your source code and uncomment
|
||||
the #define statements for the FreeType2 modules you need.
|
||||
|
||||
- You can use either PARAMETERS=REGISTER or PARAMETERS=STACK for
|
||||
calling the FreeType2 functions, because the link library and the
|
||||
object files are compiled with PARAMETERS=BOTH.
|
||||
|
||||
- "smake assign" (assign "FT:" to the FreeType2 main directory).
|
||||
|
||||
- Compile your program.
|
||||
|
||||
- Link with either ftsystem.o or ftsystempure.o, if debugging enabled
|
||||
with either ftdebug.o or (ftdebugpure.o and lib:debug.lib), and with
|
||||
ft2_680x0.lib as link library.
|
||||
|
||||
|
||||
To adapt to other compilers:
|
||||
|
||||
- The standard ANSI C maximum length of 31 significant characters in
|
||||
identifiers is not enough for FreeType2. Check if your compiler has
|
||||
a minimum length of 40 significant characters or can be switched to
|
||||
it. "idlen=40" is the option for SAS/C. Setting #define
|
||||
HAVE_LIMIT_ON_IDENTS in an include file may also work (not tested).
|
||||
|
||||
- Make sure that the include directory in builds/amiga is searched
|
||||
before the normal FreeType2 include directory, so you are able to
|
||||
replace problematic include files with your own version (same may be
|
||||
useful for the src directory).
|
||||
|
||||
- An example of how to replace/workaround a problematic include file
|
||||
is include/config/ftconfig.h; it changes a #define that would
|
||||
prevent SAS/C from generating XDEF's where it should do that and
|
||||
then includes the standard FreeType2 include file.
|
||||
|
||||
Local Variables:
|
||||
coding: latin-1
|
||||
End:
|
59
builds/amiga/include/freetype/config/ftconfig.h
Normal file
59
builds/amiga/include/freetype/config/ftconfig.h
Normal file
|
@ -0,0 +1,59 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftconfig.h */
|
||||
/* */
|
||||
/* Amiga-specific configuration file (specification only). */
|
||||
/* */
|
||||
/* Copyright 2005 by */
|
||||
/* Werner Lemberg and Detlef Würkner. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||
/* this file you indicate that you have read the license and */
|
||||
/* understand and accept it fully. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
/*
|
||||
* This is an example how to override the default FreeType2 header files
|
||||
* with Amiga-specific changes. When the compiler searches this directory
|
||||
* before the default directory, we can do some modifications.
|
||||
*
|
||||
* Here we must change FT_BASE_DEF and FT_EXPORT_DEF so that SAS/C does
|
||||
* generate the needed XDEFs.
|
||||
*/
|
||||
|
||||
#if 0
|
||||
#define FT_BASE_DEF( x ) extern x
|
||||
#define FT_EXPORT_DEF( x ) extern x
|
||||
#endif
|
||||
|
||||
#undef FT_BASE_DEF
|
||||
#define FT_BASE_DEF( x ) x
|
||||
|
||||
#undef FT_EXPORT_DEF
|
||||
#define FT_EXPORT_DEF( x ) x
|
||||
|
||||
/* Now include the original file */
|
||||
#ifndef __MORPHOS__
|
||||
#ifdef __SASC
|
||||
#include "FT:include/freetype/config/ftconfig.h"
|
||||
#else
|
||||
#include "/FT/include/freetype/config/ftconfig.h"
|
||||
#endif
|
||||
#else
|
||||
/* We must define that, it seems that
|
||||
* lib/gcc-lib/ppc-morphos/2.95.3/include/syslimits.h is missing in
|
||||
* ppc-morphos-gcc-2.95.3-bin.tgz (gcc for 68k producing MorphOS PPC elf
|
||||
* binaries from http://www.morphos.de)
|
||||
*/
|
||||
#define _LIBC_LIMITS_H_
|
||||
#include "/FT/include/freetype/config/ftconfig.h"
|
||||
#endif
|
||||
|
||||
/*
|
||||
Local Variables:
|
||||
coding: latin-1
|
||||
End:
|
||||
*/
|
155
builds/amiga/include/freetype/config/ftmodule.h
Normal file
155
builds/amiga/include/freetype/config/ftmodule.h
Normal file
|
@ -0,0 +1,155 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftmodule.h */
|
||||
/* */
|
||||
/* Amiga-specific FreeType module selection. */
|
||||
/* */
|
||||
/* Copyright 2005 by */
|
||||
/* Werner Lemberg and Detlef Würkner. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||
/* this file you indicate that you have read the license and */
|
||||
/* understand and accept it fully. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
/*
|
||||
* To avoid that all your programs include all FreeType modules,
|
||||
* you copy the following piece of source code into your own
|
||||
* source file and specify which modules you really need in your
|
||||
* application by uncommenting the appropriate lines.
|
||||
*/
|
||||
/*
|
||||
//#define FT_USE_AUTOFIT // autofitter
|
||||
//#define FT_USE_RASTER // monochrome rasterizer
|
||||
//#define FT_USE_SMOOTH // anti-aliasing rasterizer
|
||||
//#define FT_USE_TT // truetype font driver
|
||||
//#define FT_USE_T1 // type1 font driver
|
||||
//#define FT_USE_T42 // type42 font driver
|
||||
//#define FT_USE_T1CID // cid-keyed type1 font driver // no cmap support
|
||||
//#define FT_USE_CFF // opentype font driver
|
||||
//#define FT_USE_BDF // bdf bitmap font driver
|
||||
//#define FT_USE_PCF // pcf bitmap font driver
|
||||
//#define FT_USE_PFR // pfr font driver
|
||||
//#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
|
||||
//#define FT_USE_OTV // opentype validator
|
||||
#include "FT:src/base/ftinit.c"
|
||||
*/
|
||||
|
||||
/* Make sure that the needed support modules are built in.
|
||||
* Dependencies can be found by searching for FT_Get_Module.
|
||||
*/
|
||||
|
||||
#ifdef FT_USE_T42
|
||||
#define FT_USE_TT
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_TT
|
||||
#define FT_USE_SFNT
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_CFF
|
||||
#define FT_USE_SFNT
|
||||
#define FT_USE_PSHINT
|
||||
#define FT_USE_PSNAMES
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_T1
|
||||
#define FT_USE_PSAUX
|
||||
#define FT_USE_PSHINT
|
||||
#define FT_USE_PSNAMES
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_T1CID
|
||||
#define FT_USE_PSAUX
|
||||
#define FT_USE_PSHINT
|
||||
#define FT_USE_PSNAMES
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_PSAUX
|
||||
#define FT_USE_PSNAMES
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_SFNT
|
||||
#define FT_USE_PSNAMES
|
||||
#endif
|
||||
|
||||
/* Now include the modules */
|
||||
|
||||
#ifdef FT_USE_AUTOFIT
|
||||
FT_USE_MODULE(autofit_module_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_TT
|
||||
FT_USE_MODULE(tt_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_T1
|
||||
FT_USE_MODULE(t1_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_CFF
|
||||
FT_USE_MODULE(cff_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_T1CID
|
||||
FT_USE_MODULE(t1cid_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_PFR
|
||||
FT_USE_MODULE(pfr_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_T42
|
||||
FT_USE_MODULE(t42_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_WINFNT
|
||||
FT_USE_MODULE(winfnt_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_PCF
|
||||
FT_USE_MODULE(pcf_driver_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_PSAUX
|
||||
FT_USE_MODULE(psaux_module_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_PSNAMES
|
||||
FT_USE_MODULE(psnames_module_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_PSHINT
|
||||
FT_USE_MODULE(pshinter_module_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_RASTER
|
||||
FT_USE_MODULE(ft_raster1_renderer_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_SFNT
|
||||
FT_USE_MODULE(sfnt_module_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_SMOOTH
|
||||
FT_USE_MODULE(ft_smooth_renderer_class)
|
||||
FT_USE_MODULE(ft_smooth_lcd_renderer_class)
|
||||
FT_USE_MODULE(ft_smooth_lcdv_renderer_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_OTV
|
||||
FT_USE_MODULE(otv_module_class)
|
||||
#endif
|
||||
|
||||
#ifdef FT_USE_BDF
|
||||
FT_USE_MODULE(bdf_driver_class)
|
||||
#endif
|
||||
|
||||
/*
|
||||
Local Variables:
|
||||
coding: latin-1
|
||||
End:
|
||||
*/
|
265
builds/amiga/makefile
Normal file
265
builds/amiga/makefile
Normal file
|
@ -0,0 +1,265 @@
|
|||
#
|
||||
# Makefile for FreeType2 link library using ppc-morphos-gcc-2.95.3-bin.tgz
|
||||
# (gcc 2.95.3 hosted on 68k-Amiga producing MorphOS-PPC-binaries from
|
||||
# http://www.morphos.de)
|
||||
#
|
||||
|
||||
|
||||
# Copyright 2005 by
|
||||
# Werner Lemberg and Detlef Würkner.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
#
|
||||
# to build from the builds/amiga directory call
|
||||
#
|
||||
# make assign
|
||||
# make
|
||||
#
|
||||
# Your programs source code should start with this
|
||||
# (uncomment the parts you do not need to keep the program small):
|
||||
# ---8<---
|
||||
#define FT_USE_AUTOFIT // autofitter
|
||||
#define FT_USE_RASTER // monochrome rasterizer
|
||||
#define FT_USE_SMOOTH // anti-aliasing rasterizer
|
||||
#define FT_USE_TT // truetype font driver
|
||||
#define FT_USE_T1 // type1 font driver
|
||||
#define FT_USE_T42 // type42 font driver
|
||||
#define FT_USE_T1CID // cid-keyed type1 font driver
|
||||
#define FT_USE_CFF // opentype font driver
|
||||
#define FT_USE_BDF // bdf bitmap font driver
|
||||
#define FT_USE_PCF // pcf bitmap font driver
|
||||
#define FT_USE_PFR // pfr font driver
|
||||
#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
|
||||
#define FT_USE_OTV // opentype validator
|
||||
#include "FT:src/base/ftinit.c"
|
||||
# ---8<---
|
||||
#
|
||||
# link your programs with libft2_ppc.a and either ftsystem.ppc.o or ftsystempure.ppc.o
|
||||
# (and either ftdebug.ppc.o or ftdebugpure.ppc.o if you enabled FT_DEBUG_LEVEL_ERROR or
|
||||
# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
|
||||
|
||||
all: libft2_ppc.a ftsystem.ppc.o ftsystempure.ppc.o
|
||||
|
||||
assign:
|
||||
assign FT: //
|
||||
|
||||
FTSRC = /FT/src
|
||||
|
||||
CC = ppc-morphos-gcc
|
||||
AR = ppc-morphos-ar rc
|
||||
RANLIB = ppc-morphos-ranlib
|
||||
LD = ppc-morphos-ld
|
||||
CFLAGS = -O2 -I/emu/emulinclude/includegcc -I/emu/include -Iinclude -I$(FTSRC) -I/FT/include
|
||||
|
||||
#
|
||||
# FreeType2 library base
|
||||
#
|
||||
ftbase.ppc.o: $(FTSRC)/base/ftbase.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftinit.ppc.o: $(FTSRC)/base/ftinit.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftsystem.ppc.o: $(FTSRC)/base/ftsystem.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
# pure version for use in run-time library etc
|
||||
ftsystempure.ppc.o: src/base/ftsystem.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftdebug.ppc.o: $(FTSRC)/base/ftdebug.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
# pure version for use in run-time library etc
|
||||
ftdebugpure.ppc.o: src/base/ftdebug.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library base extensions
|
||||
#
|
||||
ftbbox.ppc.o: $(FTSRC)/base/ftbbox.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftbdf.ppc.o: $(FTSRC)/base/ftbdf.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftbitmap.ppc.o: $(FTSRC)/base/ftbitmap.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftglyph.ppc.o: $(FTSRC)/base/ftglyph.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftmm.ppc.o: $(FTSRC)/base/ftmm.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftotval.ppc.o: $(FTSRC)/base/ftotval.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftpfr.ppc.o: $(FTSRC)/base/ftpfr.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftstroke.ppc.o: $(FTSRC)/base/ftstroke.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftsynth.ppc.o: $(FTSRC)/base/ftsynth.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
fttype1.ppc.o: $(FTSRC)/base/fttype1.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftwinfnt.ppc.o: $(FTSRC)/base/ftwinfnt.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
ftxf86.ppc.o: $(FTSRC)/base/ftxf86.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library autofitting module
|
||||
#
|
||||
autofit.ppc.o: $(FTSRC)/autofit/autofit.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library postscript hinting module
|
||||
#
|
||||
pshinter.ppc.o: $(FTSRC)/pshinter/pshinter.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library PS support module
|
||||
#
|
||||
psaux.ppc.o: $(FTSRC)/psaux/psaux.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library PS glyph names module
|
||||
#
|
||||
psnames.ppc.o: $(FTSRC)/psnames/psnames.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library monochrome raster module
|
||||
#
|
||||
raster.ppc.o: $(FTSRC)/raster/raster.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library anti-aliasing raster module
|
||||
#
|
||||
smooth.ppc.o: $(FTSRC)/smooth/smooth.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library 'sfnt' module
|
||||
#
|
||||
sfnt.ppc.o: $(FTSRC)/sfnt/sfnt.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library glyph and image caching system
|
||||
#
|
||||
ftcache.ppc.o: $(FTSRC)/cache/ftcache.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library OpenType font driver
|
||||
#
|
||||
cff.ppc.o: $(FTSRC)/cff/cff.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library TrueType font driver
|
||||
#
|
||||
truetype.ppc.o: $(FTSRC)/truetype/truetype.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library Type1 font driver
|
||||
#
|
||||
type1.ppc.o: $(FTSRC)/type1/type1.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library Type42 font driver
|
||||
#
|
||||
type42.ppc.o: $(FTSRC)/type42/type42.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library CID-keyed Type1 font driver
|
||||
#
|
||||
type1cid.ppc.o: $(FTSRC)/cid/type1cid.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library BDF bitmap font driver
|
||||
#
|
||||
bdf.ppc.o: $(FTSRC)/bdf/bdf.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library PCF bitmap font driver
|
||||
#
|
||||
pcf.ppc.o: $(FTSRC)/pcf/pcf.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library gzip support for compressed PCF bitmap fonts
|
||||
#
|
||||
gzip.ppc.o: $(FTSRC)/gzip/ftgzip.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library compress support for compressed PCF bitmap fonts
|
||||
#
|
||||
lzw.ppc.o: $(FTSRC)/lzw/ftlzw.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library PFR font driver
|
||||
#
|
||||
pfr.ppc.o: $(FTSRC)/pfr/pfr.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library Windows FNT/FON bitmap font driver
|
||||
#
|
||||
winfnt.ppc.o: $(FTSRC)/winfonts/winfnt.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library OpenType validator
|
||||
#
|
||||
otvalid.ppc.o: $(FTSRC)/otvalid/otvalid.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
BASEPPC = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o ftglyph.ppc.o \
|
||||
ftmm.ppc.o ftotval.ppc.o ftpfr.ppc.o ftstroke.ppc.o ftsynth.ppc.o \
|
||||
fttype1.ppc.o ftwinfnt.ppc.o ftxf86.ppc.o
|
||||
|
||||
DEBUGPPC = ftdebug.ppc.o ftdebugpure.ppc.o
|
||||
|
||||
AFITPPC = autofit.ppc.o
|
||||
|
||||
OTVPPC = otvalid.ppc.o
|
||||
|
||||
PSPPC = psaux.ppc.o psnames.ppc.o pshinter.ppc.o
|
||||
|
||||
RASTERPPC = raster.ppc.o smooth.ppc.o
|
||||
|
||||
FONTDPPC = cff.ppc.o type1.ppc.o type42.ppc.o type1cid.ppc.o truetype.ppc.o\
|
||||
bdf.ppc.o pcf.ppc.o pfr.ppc.o winfnt.ppc.o
|
||||
|
||||
libft2_ppc.a: $(BASEPPC) $(AFITPPC) $(OTVPPC) $(PSPPC) $(RASTERPPC) sfnt.ppc.o ftcache.ppc.o $(FONTDPPC) gzip.ppc.o lzw.ppc.o
|
||||
$(AR) $@ $(BASEPPC) $(AFITPPC) $(OTVPPC) $(PSPPC) $(RASTERPPC) sfnt.ppc.o ftcache.ppc.o $(FONTDPPC) gzip.ppc.o lzw.ppc.o
|
||||
-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
|
||||
|
||||
#Local Variables:
|
||||
#coding: latin-1
|
||||
#End:
|
270
builds/amiga/makefile.os4
Normal file
270
builds/amiga/makefile.os4
Normal file
|
@ -0,0 +1,270 @@
|
|||
#
|
||||
# Makefile for FreeType2 link library using gcc 3.4.3 from the
|
||||
# AmigaOS4 SDK
|
||||
#
|
||||
|
||||
|
||||
# Copyright 2005 by
|
||||
# Werner Lemberg and Detlef Würkner.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# to build from the builds/amiga directory call
|
||||
#
|
||||
# make
|
||||
#
|
||||
# Your programs source code should start with this
|
||||
# (uncomment the parts you do not need to keep the program small):
|
||||
# ---8<---
|
||||
#define FT_USE_AUTOFIT // autofitter
|
||||
#define FT_USE_RASTER // monochrome rasterizer
|
||||
#define FT_USE_SMOOTH // anti-aliasing rasterizer
|
||||
#define FT_USE_TT // truetype font driver
|
||||
#define FT_USE_T1 // type1 font driver
|
||||
#define FT_USE_T42 // type42 font driver
|
||||
#define FT_USE_T1CID // cid-keyed type1 font driver
|
||||
#define FT_USE_CFF // opentype font driver
|
||||
#define FT_USE_BDF // bdf bitmap font driver
|
||||
#define FT_USE_PCF // pcf bitmap font driver
|
||||
#define FT_USE_PFR // pfr font driver
|
||||
#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
|
||||
#define FT_USE_OTV // opentype validator
|
||||
#include "FT:src/base/ftinit.c"
|
||||
# ---8<---
|
||||
#
|
||||
# link your programs with libft2_ppc.a and either ftsystem.ppc.o or ftsystempure.ppc.o
|
||||
# (and either ftdebug.ppc.o or ftdebugpure.ppc.o if you enabled FT_DEBUG_LEVEL_ERROR or
|
||||
# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
|
||||
|
||||
all: assign libft2_ppc.a ftsystem.ppc.o ftsystempure.ppc.o
|
||||
|
||||
assign:
|
||||
assign FT: //
|
||||
|
||||
CC = ppc-amigaos-gcc
|
||||
AR = ppc-amigaos-ar
|
||||
RANLIB = ppc-amigaos-ranlib
|
||||
|
||||
DIRFLAGS = -Iinclude -I/FT/src -I/FT/include -I/SDK/include
|
||||
|
||||
WARNINGS = -Wall -W -Wundef -Wpointer-arith -Wbad-function-cast \
|
||||
-Waggregate-return -Wshadow
|
||||
|
||||
CPU = -mcpu=604e
|
||||
|
||||
OPTIONS = -DNDEBUG -fno-builtin
|
||||
OPTIMIZE = -O2 -fomit-frame-pointer -fstrength-reduce -finline-functions
|
||||
|
||||
CFLAGS = $(DIRFLAGS) $(WARNINGS) $(FT2FLAGS) $(CPU) $(OPTIONS) $(OPTIMIZE)
|
||||
|
||||
#
|
||||
# FreeType2 library base
|
||||
#
|
||||
ftbase.ppc.o: FT:src/base/ftbase.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbase.c
|
||||
|
||||
ftinit.ppc.o: FT:src/base/ftinit.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftinit.c
|
||||
|
||||
ftsystem.ppc.o: FT:src/base/ftsystem.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftsystem.c
|
||||
|
||||
# pure version for use in run-time library etc
|
||||
ftsystempure.ppc.o: src/base/ftsystem.c
|
||||
$(CC) -c $(CFLAGS) -o $@ src/base/ftsystem.c
|
||||
|
||||
#
|
||||
# FreeType2 library base extensions
|
||||
#
|
||||
ftbbox.ppc.o: FT:src/base/ftbbox.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbbox.c
|
||||
|
||||
ftbdf.ppc.o: FT:src/base/ftbdf.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbdf.c
|
||||
|
||||
ftbitmap.ppc.o: FT:src/base/ftbitmap.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbitmap.c
|
||||
|
||||
ftdebug.ppc.o: FT:src/base/ftdebug.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftdebug.c
|
||||
|
||||
# pure version for use in run-time library etc
|
||||
ftdebugpure.ppc.o: src/base/ftdebug.c
|
||||
$(CC) -c $(CFLAGS) -o $@ src/base/ftdebug.c
|
||||
|
||||
ftglyph.ppc.o: FT:src/base/ftglyph.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftglyph.c
|
||||
|
||||
ftmm.ppc.o: FT:src/base/ftmm.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftmm.c
|
||||
|
||||
ftotval.ppc.o: FT:src/base/ftotval.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftotval.c
|
||||
|
||||
ftpfr.ppc.o: FT:src/base/ftpfr.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpfr.c
|
||||
|
||||
ftstroke.ppc.o: FT:src/base/ftstroke.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftstroke.c
|
||||
|
||||
ftsynth.ppc.o: FT:src/base/ftsynth.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftsynth.c
|
||||
|
||||
fttype1.ppc.o: FT:src/base/fttype1.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/fttype1.c
|
||||
|
||||
ftwinfnt.ppc.o: FT:src/base/ftwinfnt.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftwinfnt.c
|
||||
|
||||
ftxf86.ppc.o: FT:src/base/ftxf86.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftxf86.c
|
||||
|
||||
#
|
||||
# FreeType2 library autofitting module
|
||||
#
|
||||
autofit.ppc.o: FT:src/autofit/autofit.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/autofit/autofit.c
|
||||
|
||||
#
|
||||
# FreeType2 library postscript hinting module
|
||||
#
|
||||
pshinter.ppc.o: FT:src/pshinter/pshinter.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/pshinter/pshinter.c
|
||||
|
||||
#
|
||||
# FreeType2 library PS support module
|
||||
#
|
||||
psaux.ppc.o: FT:src/psaux/psaux.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/psaux/psaux.c
|
||||
|
||||
#
|
||||
# FreeType2 library PS glyph names module
|
||||
#
|
||||
psnames.ppc.o: FT:src/psnames/psnames.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/psnames/psnames.c
|
||||
|
||||
#
|
||||
# FreeType2 library monochrome raster module
|
||||
#
|
||||
raster.ppc.o: FT:src/raster/raster.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/raster/raster.c
|
||||
|
||||
#
|
||||
# FreeType2 library anti-aliasing raster module
|
||||
#
|
||||
smooth.ppc.o: FT:src/smooth/smooth.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/smooth/smooth.c
|
||||
|
||||
#
|
||||
# FreeType2 library 'sfnt' module
|
||||
#
|
||||
sfnt.ppc.o: FT:src/sfnt/sfnt.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/sfnt/sfnt.c
|
||||
|
||||
#
|
||||
# FreeType2 library glyph and image caching system
|
||||
#
|
||||
ftcache.ppc.o: FT:src/cache/ftcache.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/cache/ftcache.c
|
||||
|
||||
#
|
||||
# FreeType2 library OpenType font driver
|
||||
#
|
||||
cff.ppc.o: FT:src/cff/cff.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/cff/cff.c
|
||||
|
||||
#
|
||||
# FreeType2 library TrueType font driver
|
||||
#
|
||||
truetype.ppc.o: FT:src/truetype/truetype.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/truetype/truetype.c
|
||||
|
||||
#
|
||||
# FreeType2 library Type1 font driver
|
||||
#
|
||||
type1.ppc.o: FT:src/type1/type1.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/type1/type1.c
|
||||
|
||||
#
|
||||
# FreeType2 library Type42 font driver
|
||||
#
|
||||
type42.ppc.o: FT:src/type42/type42.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/type42/type42.c
|
||||
|
||||
#
|
||||
# FreeType2 library CID-keyed Type1 font driver
|
||||
#
|
||||
type1cid.ppc.o: FT:src/cid/type1cid.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/cid/type1cid.c
|
||||
|
||||
#
|
||||
# FreeType2 library BDF bitmap font driver
|
||||
#
|
||||
bdf.ppc.o: FT:src/bdf/bdf.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/bdf/bdf.c
|
||||
|
||||
#
|
||||
# FreeType2 library PCF bitmap font driver
|
||||
#
|
||||
pcf.ppc.o: FT:src/pcf/pcf.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/pcf/pcf.c
|
||||
|
||||
#
|
||||
# FreeType2 library gzip support for compressed PCF bitmap fonts
|
||||
#
|
||||
gzip.ppc.o: FT:src/gzip/ftgzip.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/gzip/ftgzip.c
|
||||
|
||||
#
|
||||
# FreeType2 library compress support for compressed PCF bitmap fonts
|
||||
#
|
||||
lzw.ppc.o: FT:src/lzw/ftlzw.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/lzw/ftlzw.c
|
||||
|
||||
#
|
||||
# FreeType2 library PFR font driver
|
||||
#
|
||||
pfr.ppc.o: FT:src/pfr/pfr.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/pfr/pfr.c
|
||||
|
||||
#
|
||||
# FreeType2 library Windows FNT/FON bitmap font driver
|
||||
#
|
||||
winfnt.ppc.o: FT:src/winfonts/winfnt.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/winfonts/winfnt.c
|
||||
|
||||
#
|
||||
# FreeType2 library OpenType validator
|
||||
#
|
||||
otvalid.ppc.o: FT:src/otvalid/otvalid.c
|
||||
$(CC) -c $(CFLAGS) -o $@ /FT/src/otvalid/otvalid.c
|
||||
|
||||
BASE = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o ftglyph.ppc.o \
|
||||
ftmm.ppc.o ftotval.ppc.o ftpfr.ppc.o ftstroke.ppc.o ftsynth.ppc.o \
|
||||
fttype1.ppc.o ftwinfnt.ppc.o ftxf86.ppc.o
|
||||
|
||||
DEBUG = ftdebug.ppc.o ftdebugpure.ppc.o
|
||||
|
||||
AFIT = autofit.ppc.o
|
||||
|
||||
OTV = otvalid.ppc.o
|
||||
|
||||
PS = psaux.ppc.o psnames.ppc.o pshinter.ppc.o
|
||||
|
||||
RASTER = raster.ppc.o smooth.ppc.o
|
||||
|
||||
FONTD = cff.ppc.o type1.ppc.o type42.ppc.o type1cid.ppc.o truetype.ppc.o\
|
||||
bdf.ppc.o pcf.ppc.o pfr.ppc.o winfnt.ppc.o
|
||||
|
||||
libft2_ppc.a: $(BASE) $(AFIT) $(OTV) $(PS) $(RASTER) sfnt.ppc.o ftcache.ppc.o $(FONTD) gzip.ppc.o lzw.ppc.o
|
||||
$(AR) r $@ $(BASE) $(AFIT) $(OTV) $(PS) $(RASTER) sfnt.ppc.o ftcache.ppc.o $(FONTD) gzip.ppc.o lzw.ppc.o
|
||||
$(RANLIB) $@
|
||||
|
||||
#Local Variables:
|
||||
#coding: latin-1
|
||||
#End:
|
275
builds/amiga/smakefile
Normal file
275
builds/amiga/smakefile
Normal file
|
@ -0,0 +1,275 @@
|
|||
#
|
||||
# Makefile for FreeType2 link library using Amiga SAS/C 6.58
|
||||
#
|
||||
|
||||
|
||||
# Copyright 2005 by
|
||||
# Werner Lemberg and Detlef Würkner.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# to build from the builds/amiga directory call
|
||||
#
|
||||
# smake assign
|
||||
# smake
|
||||
#
|
||||
# Your programs source code should start with this
|
||||
# (uncomment the parts you do not need to keep the program small):
|
||||
# ---8<---
|
||||
#define FT_USE_AUTOFIT // autofitter
|
||||
#define FT_USE_RASTER // monochrome rasterizer
|
||||
#define FT_USE_SMOOTH // anti-aliasing rasterizer
|
||||
#define FT_USE_TT // truetype font driver
|
||||
#define FT_USE_T1 // type1 font driver
|
||||
#define FT_USE_T42 // type42 font driver
|
||||
#define FT_USE_T1CID // cid-keyed type1 font driver
|
||||
#define FT_USE_CFF // opentype font driver
|
||||
#define FT_USE_BDF // bdf bitmap font driver
|
||||
#define FT_USE_PCF // pcf bitmap font driver
|
||||
#define FT_USE_PFR // pfr font driver
|
||||
#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
|
||||
#define FT_USE_OTV // opentype validator
|
||||
#include "FT:src/base/ftinit.c"
|
||||
# ---8<---
|
||||
#
|
||||
# link your programs with ft2_680x0.lib and either ftsystem.o or ftsystempure.o
|
||||
# (and either ftdebug.o or ftdebugpure.o if you enabled FT_DEBUG_LEVEL_ERROR or
|
||||
# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
|
||||
|
||||
OBJBASE = ftbase.o ftbbox.o ftbdf.o ftbitmap.o ftglyph.o ftmm.o ftotval.o \
|
||||
ftpfr.o ftstroke.o ftsynth.o fttype1.o ftwinfnt.o ftxf86.o
|
||||
|
||||
OBJSYSTEM = ftsystem.o ftsystempure.o
|
||||
|
||||
OBJDEBUG = ftdebug.o ftdebugpure.o
|
||||
|
||||
OBJAFIT = autofit.o
|
||||
|
||||
OBJOTV = otvalid.o
|
||||
|
||||
OBJPS = psaux.o psnames.o pshinter.o
|
||||
|
||||
OBJRASTER = raster.o smooth.o
|
||||
|
||||
OBJSFNT = sfnt.o
|
||||
|
||||
OBJCACHE = ftcache.o
|
||||
|
||||
OBJFONTD = cff.o type1.o type42.o type1cid.o\
|
||||
truetype.o winfnt.o bdf.o pcf.o pfr.o
|
||||
|
||||
CORE = FT:src/
|
||||
|
||||
CPU = 68000
|
||||
#CPU = 68020
|
||||
#CPU = 68030
|
||||
#CPU = 68040
|
||||
#CPU = 68060
|
||||
|
||||
OPTIMIZER = optinlocal
|
||||
|
||||
SCFLAGS = optimize opttime optsched strmerge strsect=near idlen=40 cpu=$(CPU)\
|
||||
idir=include/ idir=$(CORE) idir=FT:include/ nostackcheck nochkabort\
|
||||
noicons ignore=79,85,110,306 parameters=both
|
||||
|
||||
LIB = ft2_$(CPU).lib
|
||||
|
||||
# sample linker options
|
||||
OPTS = link lib=$(LIB),lib:sc.lib,lib:amiga.lib,lib:debug.lib\
|
||||
smallcode smalldata noicons utillib
|
||||
|
||||
# sample program entry
|
||||
#myprog: myprog.c ftsystem.o $(LIB)
|
||||
# sc $< programname=$@ ftsystem.o $(SCFLAGS) $(OPTS)
|
||||
|
||||
all: $(LIB) $(OBJSYSTEM) $(OBJDEBUG)
|
||||
|
||||
assign:
|
||||
assign FT: //
|
||||
|
||||
# uses separate object modules in lib to make for easier debugging
|
||||
# also, can make smaller programs if entire engine is not used
|
||||
ft2_$(CPU).lib: $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o # gzip.o
|
||||
oml $@ r $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o
|
||||
|
||||
clean:
|
||||
-delete \#?.o
|
||||
|
||||
realclean: clean
|
||||
-delete ft2$(CPU).lib
|
||||
|
||||
#
|
||||
# freetype library base
|
||||
#
|
||||
ftbase.o: $(CORE)base/ftbase.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftinit.o: $(CORE)base/ftinit.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftsystem.o: $(CORE)base/ftsystem.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftsystempure.o: src/base/ftsystem.c ## pure version for use in run-time library etc
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftdebug.o: $(CORE)base/ftdebug.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftdebugpure.o: src/base/ftdebug.c ## pure version for use in run-time library etc
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
#
|
||||
# freetype library base extensions
|
||||
#
|
||||
ftbbox.o: $(CORE)base/ftbbox.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftbdf.o: $(CORE)base/ftbdf.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftbitmap.o: $(CORE)base/ftbitmap.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftglyph.o: $(CORE)base/ftglyph.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftmm.o: $(CORE)base/ftmm.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftotval.o: $(CORE)base/ftotval.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftpfr.o: $(CORE)base/ftpfr.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftstroke.o: $(CORE)base/ftstroke.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftsynth.o: $(CORE)base/ftsynth.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
fttype1.o: $(CORE)base/fttype1.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftwinfnt.o: $(CORE)base/ftwinfnt.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
ftxf86.o: $(CORE)base/ftxf86.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library autofitter module
|
||||
#
|
||||
autofit.o: $(CORE)autofit/autofit.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library PS hinting module
|
||||
#
|
||||
pshinter.o: $(CORE)pshinter/pshinter.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
#
|
||||
# freetype library PS support module
|
||||
#
|
||||
psaux.o: $(CORE)psaux/psaux.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library PS glyph names module
|
||||
#
|
||||
psnames.o: $(CORE)psnames/psnames.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library monochrome raster module
|
||||
#
|
||||
raster.o: $(CORE)raster/raster.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library anti-aliasing raster module
|
||||
#
|
||||
smooth.o: $(CORE)smooth/smooth.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library 'sfnt' module
|
||||
#
|
||||
sfnt.o: $(CORE)sfnt/sfnt.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library glyph and image caching system (still experimental)
|
||||
#
|
||||
ftcache.o: $(CORE)cache/ftcache.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library OpenType font driver
|
||||
#
|
||||
cff.o: $(CORE)cff/cff.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library TrueType font driver
|
||||
#
|
||||
truetype.o: $(CORE)truetype/truetype.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library Type1 font driver
|
||||
#
|
||||
type1.o: $(CORE)type1/type1.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# FreeType2 library Type42 font driver
|
||||
#
|
||||
type42.o: $(CORE)type42/type42.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library CID-keyed Type1 font driver
|
||||
#
|
||||
type1cid.o: $(CORE)cid/type1cid.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
#
|
||||
# freetype library CID-keyed Type1 font driver extensions
|
||||
#
|
||||
#cidafm.o: $(CORE)cid/cidafm.c
|
||||
# sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library BDF bitmap font driver
|
||||
#
|
||||
bdf.o: $(CORE)bdf/bdf.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library PCF bitmap font driver
|
||||
#
|
||||
pcf.o: $(CORE)pcf/pcf.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library gzip support for compressed PCF bitmap fonts
|
||||
#
|
||||
gzip.o: $(CORE)gzip/ftgzip.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library compress support for compressed PCF bitmap fonts
|
||||
#
|
||||
lzw.o: $(CORE)lzw/ftlzw.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library PFR font driver
|
||||
#
|
||||
pfr.o: $(CORE)pfr/pfr.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library Windows FNT/FON bitmap font driver
|
||||
#
|
||||
winfnt.o: $(CORE)winfonts/winfnt.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#
|
||||
# freetype library OpenType validator
|
||||
#
|
||||
otvalid.o: $(CORE)otvalid/otvalid.c
|
||||
sc $(SCFLAGS) objname=$@ $<
|
||||
|
||||
#Local Variables:
|
||||
#coding: latin-1
|
||||
#End:
|
279
builds/amiga/src/base/ftdebug.c
Normal file
279
builds/amiga/src/base/ftdebug.c
Normal file
|
@ -0,0 +1,279 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftdebug.c */
|
||||
/* */
|
||||
/* Debugging and logging component (body). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002, 2004, 2005 by */
|
||||
/* David Turner, Robert Wilhelm, Werner Lemberg and Detlef Würkner. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||
/* this file you indicate that you have read the license and */
|
||||
/* understand and accept it fully. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This component contains various macros and functions used to ease the */
|
||||
/* debugging of the FreeType engine. Its main purpose is in assertion */
|
||||
/* checking, tracing, and error detection. */
|
||||
/* */
|
||||
/* There are now three debugging modes: */
|
||||
/* */
|
||||
/* - trace mode */
|
||||
/* */
|
||||
/* Error and trace messages are sent to the log file (which can be the */
|
||||
/* standard error output). */
|
||||
/* */
|
||||
/* - error mode */
|
||||
/* */
|
||||
/* Only error messages are generated. */
|
||||
/* */
|
||||
/* - release mode: */
|
||||
/* */
|
||||
/* No error message is sent or generated. The code is free from any */
|
||||
/* debugging parts. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*
|
||||
* Based on the default ftdebug.c,
|
||||
* replaced vprintf() with KVPrintF(),
|
||||
* commented out exit(),
|
||||
* replaced getenv() with GetVar().
|
||||
*/
|
||||
|
||||
#include <exec/types.h>
|
||||
#include <utility/tagitem.h>
|
||||
#include <dos/exall.h>
|
||||
#include <dos/var.h>
|
||||
#define __NOLIBBASE__
|
||||
#define __NOLOBALIFACE__
|
||||
#define __USE_INLINE__
|
||||
#include <proto/dos.h>
|
||||
#include <clib/debug_protos.h>
|
||||
|
||||
#ifndef __amigaos4__
|
||||
extern struct Library *DOSBase;
|
||||
#else
|
||||
extern struct DOSIFace *IDOS;
|
||||
#endif
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
#include FT_INTERNAL_DEBUG_H
|
||||
|
||||
|
||||
#if defined( FT_DEBUG_LEVEL_ERROR )
|
||||
|
||||
/* documentation is in ftdebug.h */
|
||||
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Message( const char* fmt, ... )
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
|
||||
va_start( ap, fmt );
|
||||
/* vprintf( fmt, ap ); */
|
||||
KVPrintF( fmt, ap );
|
||||
va_end( ap );
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in ftdebug.h */
|
||||
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Panic( const char* fmt, ... )
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
|
||||
va_start( ap, fmt );
|
||||
/* vprintf( fmt, ap ); */
|
||||
KVPrintF( fmt, ap );
|
||||
va_end( ap );
|
||||
|
||||
/* exit( EXIT_FAILURE ); */
|
||||
}
|
||||
|
||||
#endif /* FT_DEBUG_LEVEL_ERROR */
|
||||
|
||||
|
||||
|
||||
#ifdef FT_DEBUG_LEVEL_TRACE
|
||||
|
||||
/* array of trace levels, initialized to 0 */
|
||||
int ft_trace_levels[trace_count];
|
||||
|
||||
|
||||
/* define array of trace toggle names */
|
||||
#define FT_TRACE_DEF( x ) #x ,
|
||||
|
||||
static const char* ft_trace_toggles[trace_count + 1] =
|
||||
{
|
||||
#include FT_INTERNAL_TRACE_H
|
||||
NULL
|
||||
};
|
||||
|
||||
#undef FT_TRACE_DEF
|
||||
|
||||
|
||||
/* documentation is in ftdebug.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Int )
|
||||
FT_Trace_Get_Count( void )
|
||||
{
|
||||
return trace_count;
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in ftdebug.h */
|
||||
|
||||
FT_EXPORT_DEF( const char * )
|
||||
FT_Trace_Get_Name( FT_Int idx )
|
||||
{
|
||||
int max = FT_Trace_Get_Count();
|
||||
|
||||
|
||||
if ( idx < max )
|
||||
return ft_trace_toggles[idx];
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Initialize the tracing sub-system. This is done by retrieving the */
|
||||
/* value of the `FT2_DEBUG' environment variable. It must be a list of */
|
||||
/* toggles, separated by spaces, `;', or `,'. Example: */
|
||||
/* */
|
||||
/* export FT2_DEBUG="any:3 memory:7 stream:5" */
|
||||
/* */
|
||||
/* This requests that all levels be set to 3, except the trace level for */
|
||||
/* the memory and stream components which are set to 7 and 5, */
|
||||
/* respectively. */
|
||||
/* */
|
||||
/* See the file <include/freetype/internal/fttrace.h> for details of the */
|
||||
/* available toggle names. */
|
||||
/* */
|
||||
/* The level must be between 0 and 7; 0 means quiet (except for serious */
|
||||
/* runtime errors), and 7 means _very_ verbose. */
|
||||
/* */
|
||||
FT_BASE_DEF( void )
|
||||
ft_debug_init( void )
|
||||
{
|
||||
/* const char* ft2_debug = getenv( "FT2_DEBUG" ); */
|
||||
char buf[256];
|
||||
const char* ft2_debug = &buf[0];
|
||||
|
||||
|
||||
/* if ( ft2_debug ) */
|
||||
if ( GetVar( "FT2_DEBUG", (STRPTR)ft2_debug, 256, LV_VAR ) > 0 )
|
||||
{
|
||||
const char* p = ft2_debug;
|
||||
const char* q;
|
||||
|
||||
|
||||
for ( ; *p; p++ )
|
||||
{
|
||||
/* skip leading whitespace and separators */
|
||||
if ( *p == ' ' || *p == '\t' || *p == ',' || *p == ';' || *p == '=' )
|
||||
continue;
|
||||
|
||||
/* read toggle name, followed by ':' */
|
||||
q = p;
|
||||
while ( *p && *p != ':' )
|
||||
p++;
|
||||
|
||||
if ( *p == ':' && p > q )
|
||||
{
|
||||
FT_Int n, i, len = (FT_Int)( p - q );
|
||||
FT_Int level = -1, found = -1;
|
||||
|
||||
|
||||
for ( n = 0; n < trace_count; n++ )
|
||||
{
|
||||
const char* toggle = ft_trace_toggles[n];
|
||||
|
||||
|
||||
for ( i = 0; i < len; i++ )
|
||||
{
|
||||
if ( toggle[i] != q[i] )
|
||||
break;
|
||||
}
|
||||
|
||||
if ( i == len && toggle[i] == 0 )
|
||||
{
|
||||
found = n;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* read level */
|
||||
p++;
|
||||
if ( *p )
|
||||
{
|
||||
level = *p++ - '0';
|
||||
if ( level < 0 || level > 7 )
|
||||
level = -1;
|
||||
}
|
||||
|
||||
if ( found >= 0 && level >= 0 )
|
||||
{
|
||||
if ( found == trace_any )
|
||||
{
|
||||
/* special case for `any' */
|
||||
for ( n = 0; n < trace_count; n++ )
|
||||
ft_trace_levels[n] = level;
|
||||
}
|
||||
else
|
||||
ft_trace_levels[found] = level;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#else /* !FT_DEBUG_LEVEL_TRACE */
|
||||
|
||||
|
||||
FT_BASE_DEF( void )
|
||||
ft_debug_init( void )
|
||||
{
|
||||
/* nothing */
|
||||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Int )
|
||||
FT_Trace_Get_Count( void )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( const char * )
|
||||
FT_Trace_Get_Name( FT_Int idx )
|
||||
{
|
||||
FT_UNUSED( idx );
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
#endif /* !FT_DEBUG_LEVEL_TRACE */
|
||||
|
||||
/*
|
||||
Local Variables:
|
||||
coding: latin-1
|
||||
End:
|
||||
*/
|
||||
/* END */
|
522
builds/amiga/src/base/ftsystem.c
Normal file
522
builds/amiga/src/base/ftsystem.c
Normal file
|
@ -0,0 +1,522 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftsystem.c */
|
||||
/* */
|
||||
/* Amiga-specific FreeType low-level system interface (body). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002, 2005 by */
|
||||
/* David Turner, Robert Wilhelm, Werner Lemberg and Detlef Würkner. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||
/* this file you indicate that you have read the license and */
|
||||
/* understand and accept it fully. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This file contains the Amiga interface used by FreeType to access */
|
||||
/* low-level, i.e. memory management, i/o access as well as thread */
|
||||
/* synchronisation. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Maintained by Detlef Würkner <TetiSoft@apg.lahn.de> */
|
||||
/* */
|
||||
/* Based on the original ftsystem.c, */
|
||||
/* modified to avoid fopen(), fclose(), fread(), fseek(), ftell(), */
|
||||
/* malloc(), realloc(), and free(). */
|
||||
/* */
|
||||
/* Those C library functions are often not thread-safe or cant be */
|
||||
/* used in a shared Amiga library. If thats not a problem for you, */
|
||||
/* you can of course use the default ftsystem.c with C library calls */
|
||||
/* instead. */
|
||||
/* */
|
||||
/* This implementation needs exec V39+ because it uses AllocPooled() etc */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
#define __NOLIBBASE__
|
||||
#define __NOGLOBALIFACE__
|
||||
#define __USE_INLINE__
|
||||
#include <proto/exec.h>
|
||||
#include <dos/stdio.h>
|
||||
#include <proto/dos.h>
|
||||
#ifdef __amigaos4__
|
||||
extern struct ExecIFace *IExec;
|
||||
extern struct DOSIFace *IDOS;
|
||||
#else
|
||||
extern struct Library *SysBase;
|
||||
extern struct Library *DOSBase;
|
||||
#endif
|
||||
|
||||
#define IOBUF_SIZE 512
|
||||
|
||||
/* structure that helps us to avoid
|
||||
* useless calls of Seek() and Read()
|
||||
*/
|
||||
struct SysFile
|
||||
{
|
||||
BPTR file;
|
||||
ULONG iobuf_start;
|
||||
ULONG iobuf_end;
|
||||
UBYTE iobuf[IOBUF_SIZE];
|
||||
};
|
||||
|
||||
#ifndef __amigaos4__
|
||||
/* C implementation of AllocVecPooled (see autodoc exec/AllocPooled) */
|
||||
APTR
|
||||
Alloc_VecPooled( APTR poolHeader,
|
||||
ULONG memSize )
|
||||
{
|
||||
ULONG newSize = memSize + sizeof ( ULONG );
|
||||
ULONG *mem = AllocPooled( poolHeader, newSize );
|
||||
|
||||
if ( !mem )
|
||||
return NULL;
|
||||
*mem = newSize;
|
||||
return mem + 1;
|
||||
}
|
||||
|
||||
/* C implementation of FreeVecPooled (see autodoc exec/AllocPooled) */
|
||||
void
|
||||
Free_VecPooled( APTR poolHeader,
|
||||
APTR memory )
|
||||
{
|
||||
ULONG *realmem = (ULONG *)memory - 1;
|
||||
|
||||
FreePooled( poolHeader, realmem, *realmem );
|
||||
}
|
||||
#endif
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_CONFIG_CONFIG_H
|
||||
#include FT_INTERNAL_DEBUG_H
|
||||
#include FT_SYSTEM_H
|
||||
#include FT_ERRORS_H
|
||||
#include FT_TYPES_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* MEMORY MANAGEMENT INTERFACE */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* It is not necessary to do any error checking for the */
|
||||
/* allocation-related functions. This will be done by the higher level */
|
||||
/* routines like FT_Alloc() or FT_Realloc(). */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_alloc */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory allocation function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* size :: The requested size in bytes. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The address of newly allocated block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_alloc( FT_Memory memory,
|
||||
long size )
|
||||
{
|
||||
#ifdef __amigaos4__
|
||||
return AllocVecPooled( memory->user, size );
|
||||
#else
|
||||
return Alloc_VecPooled( memory->user, size );
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_realloc */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory reallocation function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* cur_size :: The current size of the allocated memory block. */
|
||||
/* */
|
||||
/* new_size :: The newly requested size in bytes. */
|
||||
/* */
|
||||
/* block :: The current address of the block in memory. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The address of the reallocated memory block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_realloc( FT_Memory memory,
|
||||
long cur_size,
|
||||
long new_size,
|
||||
void* block )
|
||||
{
|
||||
void* new_block;
|
||||
|
||||
#ifdef __amigaos4__
|
||||
new_block = AllocVecPooled ( memory->user, new_size );
|
||||
#else
|
||||
new_block = Alloc_VecPooled ( memory->user, new_size );
|
||||
#endif
|
||||
if ( new_block != NULL )
|
||||
{
|
||||
CopyMem ( block, new_block,
|
||||
( new_size > cur_size ) ? cur_size : new_size );
|
||||
#ifdef __amigaos4__
|
||||
FreeVecPooled ( memory->user, block );
|
||||
#else
|
||||
Free_VecPooled ( memory->user, block );
|
||||
#endif
|
||||
}
|
||||
return new_block;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_free */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory release function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* block :: The address of block in memory to be freed. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_free( FT_Memory memory,
|
||||
void* block )
|
||||
{
|
||||
#ifdef __amigaos4__
|
||||
FreeVecPooled( memory->user, block );
|
||||
#else
|
||||
Free_VecPooled( memory->user, block );
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* RESOURCE MANAGEMENT INTERFACE */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_io
|
||||
|
||||
/* We use the macro STREAM_FILE for convenience to extract the */
|
||||
/* system-specific stream handle from a given FreeType stream object */
|
||||
#define STREAM_FILE( stream ) ( (struct SysFile *)stream->descriptor.pointer )
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_amiga_stream_close */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The function to close a stream. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* stream :: A pointer to the stream object. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_amiga_stream_close( FT_Stream stream )
|
||||
{
|
||||
struct SysFile* sysfile;
|
||||
|
||||
sysfile = STREAM_FILE( stream );
|
||||
Close ( sysfile->file );
|
||||
FreeMem ( sysfile, sizeof ( struct SysFile ));
|
||||
|
||||
stream->descriptor.pointer = NULL;
|
||||
stream->size = 0;
|
||||
stream->base = 0;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_amiga_stream_io */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The function to open a stream. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* stream :: A pointer to the stream object. */
|
||||
/* */
|
||||
/* offset :: The position in the data stream to start reading. */
|
||||
/* */
|
||||
/* buffer :: The address of buffer to store the read data. */
|
||||
/* */
|
||||
/* count :: The number of bytes to read from the stream. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The number of bytes actually read. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( unsigned long )
|
||||
ft_amiga_stream_io( FT_Stream stream,
|
||||
unsigned long offset,
|
||||
unsigned char* buffer,
|
||||
unsigned long count )
|
||||
{
|
||||
struct SysFile* sysfile;
|
||||
unsigned long read_bytes;
|
||||
|
||||
if ( count != 0 )
|
||||
{
|
||||
sysfile = STREAM_FILE( stream );
|
||||
|
||||
/* handle the seek */
|
||||
if ( (offset < sysfile->iobuf_start) || (offset + count > sysfile->iobuf_end) )
|
||||
{
|
||||
/* requested offset implies we need a buffer refill */
|
||||
if ( !sysfile->iobuf_end || offset != (sysfile->iobuf_end + 1) )
|
||||
{
|
||||
/* a physical seek is necessary */
|
||||
Seek( sysfile->file, offset, OFFSET_BEGINNING );
|
||||
}
|
||||
sysfile->iobuf_start = offset;
|
||||
sysfile->iobuf_end = 0; /* trigger a buffer refill */
|
||||
}
|
||||
|
||||
/* handle the read */
|
||||
if ( offset + count <= sysfile->iobuf_end )
|
||||
{
|
||||
/* we have buffer and requested bytes are all inside our buffer */
|
||||
CopyMem( &sysfile->iobuf[offset - sysfile->iobuf_start], buffer, count );
|
||||
read_bytes = count;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* (re)fill buffer */
|
||||
if ( count <= IOBUF_SIZE )
|
||||
{
|
||||
/* requested bytes is a subset of the buffer */
|
||||
read_bytes = Read( sysfile->file, sysfile->iobuf, IOBUF_SIZE );
|
||||
if ( read_bytes == -1UL )
|
||||
{
|
||||
/* error */
|
||||
read_bytes = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
sysfile->iobuf_end = offset + read_bytes;
|
||||
CopyMem( sysfile->iobuf, buffer, count );
|
||||
if ( read_bytes > count )
|
||||
{
|
||||
read_bytes = count;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* we actually need more than our buffer can hold, so we decide
|
||||
** to do a single big read, and then copy the last IOBUF_SIZE
|
||||
** bytes of that to our internal buffer for later use */
|
||||
read_bytes = Read( sysfile->file, buffer, count );
|
||||
if ( read_bytes == -1UL )
|
||||
{
|
||||
/* error */
|
||||
read_bytes = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
ULONG bufsize;
|
||||
|
||||
bufsize = ( read_bytes > IOBUF_SIZE ) ? IOBUF_SIZE : read_bytes;
|
||||
sysfile->iobuf_end = offset + read_bytes;
|
||||
sysfile->iobuf_start = sysfile->iobuf_end - bufsize;
|
||||
CopyMem( &buffer[read_bytes - bufsize] , sysfile->iobuf, bufsize );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
read_bytes = 0;
|
||||
}
|
||||
|
||||
return read_bytes;
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Stream_Open( FT_Stream stream,
|
||||
const char* filepathname )
|
||||
{
|
||||
struct FileInfoBlock* fib;
|
||||
struct SysFile* sysfile;
|
||||
|
||||
|
||||
if ( !stream )
|
||||
return FT_Err_Invalid_Stream_Handle;
|
||||
|
||||
#ifdef __amigaos4__
|
||||
sysfile = AllocMem ( sizeof (struct SysFile ), MEMF_SHARED );
|
||||
#else
|
||||
sysfile = AllocMem ( sizeof (struct SysFile ), MEMF_PUBLIC );
|
||||
#endif
|
||||
if ( !sysfile )
|
||||
{
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||
|
||||
return FT_Err_Cannot_Open_Resource;
|
||||
}
|
||||
sysfile->file = Open( (STRPTR)filepathname, MODE_OLDFILE );
|
||||
if ( !sysfile->file )
|
||||
{
|
||||
FreeMem ( sysfile, sizeof ( struct SysFile ));
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||
|
||||
return FT_Err_Cannot_Open_Resource;
|
||||
}
|
||||
|
||||
fib = AllocDosObject( DOS_FIB, NULL );
|
||||
if ( !fib )
|
||||
{
|
||||
Close ( sysfile->file );
|
||||
FreeMem ( sysfile, sizeof ( struct SysFile ));
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||
|
||||
return FT_Err_Cannot_Open_Resource;
|
||||
}
|
||||
if ( !( ExamineFH( sysfile->file, fib ) ) )
|
||||
{
|
||||
FreeDosObject( DOS_FIB, fib );
|
||||
Close ( sysfile->file );
|
||||
FreeMem ( sysfile, sizeof ( struct SysFile ));
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||
|
||||
return FT_Err_Cannot_Open_Resource;
|
||||
}
|
||||
stream->size = fib->fib_Size;
|
||||
FreeDosObject( DOS_FIB, fib );
|
||||
|
||||
stream->descriptor.pointer = (void *)sysfile;
|
||||
stream->pathname.pointer = (char*)filepathname;
|
||||
sysfile->iobuf_start = 0;
|
||||
sysfile->iobuf_end = 0;
|
||||
stream->pos = 0;
|
||||
|
||||
stream->read = ft_amiga_stream_io;
|
||||
stream->close = ft_amiga_stream_close;
|
||||
|
||||
FT_TRACE1(( "FT_Stream_Open:" ));
|
||||
FT_TRACE1(( " opened `%s' (%ld bytes) successfully\n",
|
||||
filepathname, stream->size ));
|
||||
|
||||
return FT_Err_Ok;
|
||||
}
|
||||
|
||||
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
|
||||
extern FT_Int
|
||||
ft_mem_debug_init( FT_Memory memory );
|
||||
|
||||
extern void
|
||||
ft_mem_debug_done( FT_Memory memory );
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Memory )
|
||||
FT_New_Memory( void )
|
||||
{
|
||||
FT_Memory memory;
|
||||
|
||||
|
||||
#ifdef __amigaos4__
|
||||
memory = (FT_Memory)AllocVec( sizeof ( *memory ), MEMF_SHARED );
|
||||
#else
|
||||
memory = (FT_Memory)AllocVec( sizeof ( *memory ), MEMF_PUBLIC );
|
||||
#endif
|
||||
if ( memory )
|
||||
{
|
||||
#ifdef __amigaos4__
|
||||
memory->user = CreatePool( MEMF_SHARED, 16384, 16384 );
|
||||
#else
|
||||
memory->user = CreatePool( MEMF_PUBLIC, 16384, 16384 );
|
||||
#endif
|
||||
if ( memory->user == NULL )
|
||||
{
|
||||
FreeVec( memory );
|
||||
memory = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
memory->alloc = ft_alloc;
|
||||
memory->realloc = ft_realloc;
|
||||
memory->free = ft_free;
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
ft_mem_debug_init( memory );
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
return memory;
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Done_Memory( FT_Memory memory )
|
||||
{
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
ft_mem_debug_done( memory );
|
||||
#endif
|
||||
|
||||
DeletePool( memory->user );
|
||||
FreeVec( memory );
|
||||
}
|
||||
|
||||
/*
|
||||
Local Variables:
|
||||
coding: latin-1
|
||||
End:
|
||||
*/
|
||||
/* END */
|
93
builds/ansi/ansi-def.mk
Normal file
93
builds/ansi/ansi-def.mk
Normal file
|
@ -0,0 +1,93 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for a `normal' ANSI system
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
|
||||
DELETE := rm -f
|
||||
SEP := /
|
||||
BUILD_DIR := $(TOP_DIR)/builds/ansi
|
||||
PLATFORM := ansi
|
||||
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
||||
# set OBJ_DIR=.../path/to/obj/dir
|
||||
# make -f $TOP_DIR/Makefile setup [options]
|
||||
# make -f $TOP_DIR/Makefile
|
||||
#
|
||||
ifndef OBJ_DIR
|
||||
OBJ_DIR := $(TOP_DIR)/objs
|
||||
endif
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := lib$(PROJECT)
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o$(space)
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS :=
|
||||
|
||||
|
||||
# EOF
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for a `normal' ANSI compiler
|
||||
# FreeType 2 configuration rules for a `normal' pseudo ANSI compiler/system
|
||||
#
|
||||
|
||||
|
||||
|
@ -13,122 +13,9 @@
|
|||
# fully.
|
||||
|
||||
|
||||
ifndef TOP
|
||||
TOP := .
|
||||
endif
|
||||
include $(TOP_DIR)/builds/ansi/ansi-def.mk
|
||||
include $(TOP_DIR)/builds/compiler/ansi-cc.mk
|
||||
include $(TOP_DIR)/builds/link_std.mk
|
||||
|
||||
DELETE := rm -f
|
||||
SEP := /
|
||||
HOSTSEP := $(SEP)
|
||||
BUILD := $(TOP)/builds/ansi
|
||||
PLATFORM := ansi
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# Note that this is not $(TOP)/obj!
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP=.../path/to/freetype2/top/dir...
|
||||
# mkdir obj
|
||||
# make -f $TOP/Makefile setup [options]
|
||||
# make -f $TOP/Makefile
|
||||
#
|
||||
OBJ_DIR := obj
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR), however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := o
|
||||
SO := o
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := a
|
||||
SA := a
|
||||
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := libfreetype
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o # Don't remove this comment line! We need the space after `-o'.
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS :=
|
||||
|
||||
|
||||
ifdef BUILD_FREETYPE
|
||||
|
||||
# Now include the main sub-makefile. It contains all the rules used to
|
||||
# build the library with the previous variables defined.
|
||||
#
|
||||
include $(TOP)/builds/freetype.mk
|
||||
|
||||
# The cleanup targets.
|
||||
#
|
||||
clean_freetype: clean_freetype_std
|
||||
distclean_freetype: distclean_freetype_std
|
||||
|
||||
# Librarian to use to build the static library
|
||||
#
|
||||
FT_LIBRARIAN := $(AR) -r
|
||||
|
||||
|
||||
# This final rule is used to link all object files into a single library.
|
||||
# It is part of the system-specific sub-Makefile because not all
|
||||
# librarians accept a simple syntax like
|
||||
#
|
||||
# librarian library_file {list of object files}
|
||||
#
|
||||
$(FT_LIBRARY): $(OBJECTS_LIST)
|
||||
-$(DELETE) $@
|
||||
$(FT_LIBRARIAN) $@ $(OBJECTS_LIST)
|
||||
|
||||
endif
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -1,142 +0,0 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* memdebug.c */
|
||||
/* */
|
||||
/* Memory debugging functions (body only). */
|
||||
/* */
|
||||
/* Copyright 1996-2000 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||
/* this file you indicate that you have read the license and */
|
||||
/* understand and accept it fully. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
typedef struct TBlockRec_
|
||||
{
|
||||
char* base;
|
||||
long size;
|
||||
|
||||
} TBlockRec;
|
||||
|
||||
|
||||
static TBlockRec* mem_blocks;
|
||||
static int num_mem_blocks;
|
||||
static int max_mem_blocks;
|
||||
|
||||
|
||||
void DM_Init_Mem()
|
||||
{
|
||||
num_mem_blocks = 0;
|
||||
max_mem_blocks = 4096;
|
||||
mem_blocks = (TBlockRec*)malloc( max_mem_blocks *
|
||||
sizeof ( *mem_blocks ) );
|
||||
}
|
||||
|
||||
|
||||
void DM_Done_Mem()
|
||||
{
|
||||
/* Now print the remaining blocks */
|
||||
if ( num_mem_blocks == 0 )
|
||||
fprintf( stderr, "No memory leaked!\n" );
|
||||
else
|
||||
{
|
||||
int i;
|
||||
|
||||
|
||||
fprintf( stderr, "There were %d leaked memory blocks\n\n",
|
||||
num_mem_blocks );
|
||||
|
||||
fprintf( stderr, "base size\n" );
|
||||
fprintf( stderr, "------------------\n" );
|
||||
|
||||
for ( i = 0; i < num_mem_blocks; i++ )
|
||||
{
|
||||
fprintf( stderr, "%08lx %04lx\n",
|
||||
(long)mem_blocks[i].base, mem_blocks[i].size );
|
||||
}
|
||||
}
|
||||
|
||||
free( mem_blocks );
|
||||
}
|
||||
|
||||
|
||||
void DM_Record( char* base,
|
||||
long size )
|
||||
{
|
||||
TBlockRec* block;
|
||||
|
||||
|
||||
#if 0
|
||||
/* First, check that the block is not located within one of the */
|
||||
/* recorded blocks */
|
||||
for ( i = 0; i < num_mem_blocks; i++ )
|
||||
{
|
||||
char *start, *end, *_limit, *_base;
|
||||
|
||||
|
||||
_base = mem_blocks[i].base;
|
||||
_limit = _base + mem_blocks[i].size;
|
||||
|
||||
start = base;
|
||||
end = base + size - 1;
|
||||
|
||||
if ( ( start >= base && start < limit ) ||
|
||||
( end >= base && end < limit ) )
|
||||
{
|
||||
fprintf( stderr, "Warning: Recording an invalid block!\n" );
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Add block to list */
|
||||
if ( num_mem_blocks >= max_mem_blocks )
|
||||
{
|
||||
max_mem_blocks *= 2;
|
||||
mem_blocks = realloc( mem_blocks,
|
||||
max_mem_blocks * sizeof ( *mem_blocks ) );
|
||||
}
|
||||
block = mem_blocks + num_mem_blocks;
|
||||
block->base = base;
|
||||
block->size = size;
|
||||
num_mem_blocks++;
|
||||
}
|
||||
|
||||
|
||||
void DM_Forget( char* base )
|
||||
{
|
||||
TBlockRec* block = mem_blocks;
|
||||
int i;
|
||||
|
||||
|
||||
for ( i = 0; i < num_mem_blocks; i++, block++ )
|
||||
{
|
||||
if ( block->base == base )
|
||||
{
|
||||
/* simply move last block to the current position */
|
||||
if ( num_mem_blocks > 1 )
|
||||
*block = mem_blocks[num_mem_blocks - 1];
|
||||
|
||||
num_mem_blocks--;
|
||||
return;
|
||||
}
|
||||
|
||||
#if 1
|
||||
if ( base >= block->base && base < block->base + block->size )
|
||||
{
|
||||
fprintf( stderr, "Invalid block forgotten!\n" );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* END */
|
16
builds/atari/ATARI.H
Normal file
16
builds/atari/ATARI.H
Normal file
|
@ -0,0 +1,16 @@
|
|||
#ifndef ATARI_H
|
||||
#define ATARI_H
|
||||
|
||||
#pragma warn -stu
|
||||
|
||||
/* PureC doesn't like 32bit enumerations */
|
||||
|
||||
#ifndef FT_IMAGE_TAG
|
||||
#define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) value
|
||||
#endif /* FT_IMAGE_TAG */
|
||||
|
||||
#ifndef FT_ENC_TAG
|
||||
#define FT_ENC_TAG( value, a, b, c, d ) value
|
||||
#endif /* FT_ENC_TAG */
|
||||
|
||||
#endif /* ATARI_H */
|
37
builds/atari/FNames.SIC
Normal file
37
builds/atari/FNames.SIC
Normal file
|
@ -0,0 +1,37 @@
|
|||
/* the following changes file names for PureC projects */
|
||||
|
||||
if (argc > 0)
|
||||
{
|
||||
ordner = argv[0];
|
||||
if (basename(ordner) == "") /* ist Ordner */
|
||||
{
|
||||
ChangeFilenames(ordner);
|
||||
}
|
||||
}
|
||||
|
||||
proc ChangeFilenames(folder)
|
||||
local i,entries,directory,file;
|
||||
{
|
||||
entries = filelist(directory,folder);
|
||||
for (i = 0; i < entries; ++i)
|
||||
{
|
||||
file = directory[i,0];
|
||||
if ((directory[i,3]&16) > 0) /* subdirectory */
|
||||
{
|
||||
ChangeFilenames(folder+file+"\\");
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((stricmp(suffix(file),".h")==0)|(stricmp(suffix(file),".c")==0))
|
||||
ChangeFilename(folder,file);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
proc ChangeFilename(path,datei)
|
||||
local newfile,err;
|
||||
{
|
||||
newfile=datei;
|
||||
newfile[0]=(newfile[0] | 32) ^ 32;
|
||||
err=files.rename("-q",path+datei,newfile);
|
||||
}
|
33
builds/atari/FREETYPE.PRJ
Normal file
33
builds/atari/FREETYPE.PRJ
Normal file
|
@ -0,0 +1,33 @@
|
|||
;FreeType project file
|
||||
|
||||
FREETYPE.LIB
|
||||
|
||||
.C [-K -P -R -A]
|
||||
.L [-J -V]
|
||||
.S
|
||||
|
||||
=
|
||||
|
||||
..\..\src\base\ftsystem.c
|
||||
..\..\src\base\ftdebug.c
|
||||
|
||||
..\..\src\base\ftinit.c
|
||||
..\..\src\base\ftglyph.c
|
||||
..\..\src\base\ftmm
|
||||
..\..\src\base\ftbbox
|
||||
|
||||
..\..\src\base\ftbase.c
|
||||
..\..\src\autohint\autohint.c
|
||||
;..\..\src\cache\ftcache.c
|
||||
..\..\src\cff\cff.c
|
||||
..\..\src\cid\type1cid.c
|
||||
..\..\src\psaux\psaux.c
|
||||
..\..\src\pshinter\pshinter.c
|
||||
..\..\src\psnames\psnames.c
|
||||
..\..\src\raster\raster.c
|
||||
..\..\src\sfnt\sfnt.c
|
||||
..\..\src\smooth\smooth.c
|
||||
..\..\src\truetype\truetype.c
|
||||
..\..\src\type1\type1.c
|
||||
..\..\src\type42\type42.c
|
||||
|
51
builds/atari/README.TXT
Normal file
51
builds/atari/README.TXT
Normal file
|
@ -0,0 +1,51 @@
|
|||
Compiling FreeType 2 with PureC compiler
|
||||
========================================
|
||||
|
||||
[See below for a German version.]
|
||||
|
||||
To compile FreeType 2 as a library the following changes must be applied:
|
||||
|
||||
- All *.c files must start with an uppercase letter.
|
||||
(In case GEMSCRIPT is available:
|
||||
Simply drag the whole FreeType 2 directory to the file `FNames.SIC'.)
|
||||
|
||||
- You have to change the INCLUDE directory in PureC's compiler options
|
||||
to contain both the `INCLUDE' and `freetype2\include' directory.
|
||||
Example:
|
||||
|
||||
INCLUDE;E:\freetype2\include
|
||||
|
||||
- The file `freetype2/include/Ft2build.h' must be patched as follows to
|
||||
include ATARI.H:
|
||||
|
||||
#ifndef __FT2_BUILD_GENERIC_H__
|
||||
#define __FT2_BUILD_GENERIC_H__
|
||||
|
||||
#include "ATARI.H"
|
||||
|
||||
|
||||
|
||||
Compilieren von FreeType 2 mit PureC
|
||||
====================================
|
||||
|
||||
Um FreeType 2 als eine Bibliothek (library) zu compilieren, muss folgendes
|
||||
ge„ndert werden:
|
||||
|
||||
- Alle *.c-files m<>ssen mit einem GROSSBUCHSTABEN beginnen.
|
||||
(Falls GEMSCRIPT zur Verf<72>gung steht:
|
||||
Den kompletten Ordner freetype2 auf die Datei `FNames.SIC' draggen.)
|
||||
|
||||
- In den Compiler-Optionen von PureC muss das INCLUDE directory auf INCLUDE
|
||||
und freetype2\include verweisen. Z.B.:
|
||||
|
||||
INCLUDE;E:\freetype2\include
|
||||
|
||||
- In der Datei freetype2/include/Ft2build.h muss zu Beginn
|
||||
ein #include "ATARI.H" wie folgt eingef<65>gt werden:
|
||||
|
||||
#ifndef __FT2_BUILD_GENERIC_H__
|
||||
#define __FT2_BUILD_GENERIC_H__
|
||||
|
||||
#include "ATARI.H"
|
||||
|
||||
--- end of README.TXT ---
|
95
builds/beos/beos-def.mk
Normal file
95
builds/beos/beos-def.mk
Normal file
|
@ -0,0 +1,95 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for a BeOS system
|
||||
#
|
||||
# this is similar to the "ansi-def.mk" file, except for BUILD and PLATFORM
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
|
||||
DELETE := rm -f
|
||||
SEP := /
|
||||
BUILD_DIR := $(TOP_DIR)/builds/beos
|
||||
PLATFORM := beos
|
||||
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
||||
# set OBJ_DIR=.../path/to/obj/dir
|
||||
# make -f $TOP_DIR/Makefile setup [options]
|
||||
# make -f $TOP_DIR/Makefile
|
||||
#
|
||||
ifndef OBJ_DIR
|
||||
OBJ_DIR := $(TOP_DIR)/objs
|
||||
endif
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := lib$(PROJECT)
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o$(space)
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS :=
|
||||
|
||||
|
||||
# EOF
|
19
builds/beos/beos.mk
Normal file
19
builds/beos/beos.mk
Normal file
|
@ -0,0 +1,19 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for a BeOS system
|
||||
#
|
||||
|
||||
# Copyright 1996-2000, 2002 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
include $(TOP_DIR)/builds/compiler/ansi-cc.mk
|
||||
include $(TOP_DIR)/builds/beos/beos-def.mk
|
||||
include $(TOP_DIR)/builds/link_std.mk
|
||||
|
||||
|
||||
# EOF
|
40
builds/beos/detect.mk
Normal file
40
builds/beos/detect.mk
Normal file
|
@ -0,0 +1,40 @@
|
|||
#
|
||||
# FreeType 2 configuration file to detect an BeOS host platform.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
.PHONY: setup
|
||||
|
||||
|
||||
ifeq ($(PLATFORM),ansi)
|
||||
|
||||
ifdef BE_HOST_CPU
|
||||
|
||||
PLATFORM := beos
|
||||
|
||||
endif # test MACHTYPE beos
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM),beos)
|
||||
|
||||
DELETE := rm -f
|
||||
SEP := /
|
||||
BUILD_DIR := $(TOP_DIR)/builds/beos
|
||||
CONFIG_FILE := beos.mk
|
||||
|
||||
setup: std_setup
|
||||
|
||||
endif # test PLATFORM beos
|
||||
|
||||
|
||||
# EOF
|
84
builds/compiler/ansi-cc.mk
Normal file
84
builds/compiler/ansi-cc.mk
Normal file
|
@ -0,0 +1,84 @@
|
|||
#
|
||||
# FreeType 2 generic pseudo ANSI compiler
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# Compiler command line name
|
||||
#
|
||||
CC := cc
|
||||
COMPILER_SEP := $(SEP)
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := o
|
||||
SO := o
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := a
|
||||
SA := a
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o$(space)
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
# we assume the compiler is already strictly ANSI
|
||||
#
|
||||
ANSIFLAGS :=
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
ifndef CLEAN_LIBRARY
|
||||
CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
|
||||
endif
|
||||
LINK_LIBRARY = $(AR) -r $@ $(subst /,$(COMPILER_SEP),$(OBJECTS_LIST))
|
||||
|
||||
|
||||
# EOF
|
82
builds/compiler/bcc-dev.mk
Normal file
82
builds/compiler/bcc-dev.mk
Normal file
|
@ -0,0 +1,82 @@
|
|||
#
|
||||
# FreeType 2 Borland C++-specific with NO OPTIMIZATIONS + DEBUGGING
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# Compiler command line name
|
||||
#
|
||||
CC := bcc32
|
||||
COMPILER_SEP := $(SEP)
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := obj
|
||||
SO := obj
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := lib
|
||||
SA := lib
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L :=
|
||||
|
||||
|
||||
# Target flag -- no trailing space.
|
||||
#
|
||||
T := -o
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -q -c -y -d -v -Od -w-par -w-ccc -w-rch -w-pro -w-aus
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -A
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
ifndef CLEAN_LIBRARY
|
||||
CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
|
||||
endif
|
||||
LINK_LIBRARY = tlib /u $(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST:%=+%))
|
||||
|
||||
|
||||
# EOF
|
82
builds/compiler/bcc.mk
Normal file
82
builds/compiler/bcc.mk
Normal file
|
@ -0,0 +1,82 @@
|
|||
#
|
||||
# FreeType 2 Borland C++-specific rules
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# Compiler command line name
|
||||
#
|
||||
CC := bcc32
|
||||
COMPILER_SEP := $(SEP)
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := obj
|
||||
SO := obj
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := lib
|
||||
SA := lib
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L :=
|
||||
|
||||
|
||||
# Target flag -- no trailing space.
|
||||
#
|
||||
T := -o
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -q -y -d -v -Od -w-par -w-ccc -w-rch -w-pro -w-aus
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -A
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
ifndef CLEAN_LIBRARY
|
||||
CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
|
||||
endif
|
||||
LINK_LIBRARY = tlib /u $(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST:%=+%))
|
||||
|
||||
|
||||
# EOF
|
81
builds/compiler/emx.mk
Normal file
81
builds/compiler/emx.mk
Normal file
|
@ -0,0 +1,81 @@
|
|||
#
|
||||
# FreeType 2 emx-specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# Compiler command line name
|
||||
#
|
||||
CC := set GCCOPT="-ansi -pedantic"; gcc
|
||||
COMPILER_SEP := /
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := o
|
||||
SO := o
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := a
|
||||
SA := a
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o$(space)
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -g -O6 -Wall
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS :=
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
ifndef CLEAN_LIBRARY
|
||||
CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
|
||||
endif
|
||||
LINK_LIBRARY = $(foreach m,$(OBJECTS_LIST),$(AR) -r $@ $(m);) echo > nul
|
||||
|
||||
|
||||
# EOF
|
96
builds/compiler/gcc-dev.mk
Normal file
96
builds/compiler/gcc-dev.mk
Normal file
|
@ -0,0 +1,96 @@
|
|||
#
|
||||
# FreeType 2 gcc-specific with NO OPTIMIZATIONS + DEBUGGING
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003, 2004, 2005 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# Compiler command line name
|
||||
#
|
||||
CC := gcc
|
||||
COMPILER_SEP := /
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := o
|
||||
SO := o
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := a
|
||||
SA := a
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o$(space)
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
ifeq ($(findstring g++,$(CC)),)
|
||||
nested_externs := -Wnested-externs
|
||||
endif
|
||||
|
||||
CFLAGS := -c -g -O0 \
|
||||
-Wall \
|
||||
-W \
|
||||
-Wundef \
|
||||
-Wshadow \
|
||||
-Wpointer-arith \
|
||||
-Wwrite-strings \
|
||||
-Wstrict-prototypes \
|
||||
-Wredundant-decls \
|
||||
-Wno-long-long \
|
||||
$(nested_externs)
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -ansi -pedantic
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
ifndef CLEAN_LIBRARY
|
||||
CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
|
||||
endif
|
||||
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
|
||||
|
||||
|
||||
# EOF
|
81
builds/compiler/gcc.mk
Normal file
81
builds/compiler/gcc.mk
Normal file
|
@ -0,0 +1,81 @@
|
|||
#
|
||||
# FreeType 2 gcc-specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003, 2005 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# Compiler command line name
|
||||
#
|
||||
CC := gcc
|
||||
COMPILER_SEP := /
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := o
|
||||
SO := o
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := a
|
||||
SA := a
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o$(space)
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -g -O6 -Wall
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -ansi -pedantic
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
ifndef CLEAN_LIBRARY
|
||||
CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
|
||||
endif
|
||||
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
|
||||
|
||||
|
||||
# EOF
|
86
builds/compiler/intelc.mk
Normal file
86
builds/compiler/intelc.mk
Normal file
|
@ -0,0 +1,86 @@
|
|||
#
|
||||
# FreeType 2 Intel C/C++ definitions (VC++ compatibility mode)
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# compiler command line name
|
||||
#
|
||||
CC := icl
|
||||
COMPILER_SEP := $(SEP)
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := obj
|
||||
SO := obj
|
||||
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := lib
|
||||
SA := lib
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := /I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := /D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := /Fl
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := /Fo
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
# Note that the Intel C/C++ compiler version 4.5 complains about
|
||||
# the use of FT_FIELD_OFFSET with "value must be arithmetic type"!
|
||||
# This really looks like a bug in the compiler because the macro
|
||||
# _does_ compute an arithmetic value, so we disable this warning
|
||||
# with "/Qwd32".
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := /nologo /c /Ox /G5 /W3 /Qwd32
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := /Qansi /Za
|
||||
|
||||
# Library linking
|
||||
#
|
||||
#CLEAN_LIBRARY =
|
||||
LINK_LIBRARY = lib /nologo /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
|
||||
|
||||
|
||||
# EOF
|
87
builds/compiler/unix-lcc.mk
Normal file
87
builds/compiler/unix-lcc.mk
Normal file
|
@ -0,0 +1,87 @@
|
|||
#
|
||||
# FreeType 2 Unix LCC specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# Command line name
|
||||
#
|
||||
CC := lcc
|
||||
COMPILER_SEP := $(SEP)
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := o
|
||||
SO := o
|
||||
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := a
|
||||
SA := a
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o$(space)
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -g
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
# LCC is pure ANSI anyway!
|
||||
#
|
||||
# the "-A" flag simply increments verbosity about non ANSI code
|
||||
#
|
||||
ANSIFLAGS := -A
|
||||
|
||||
|
||||
# library linking
|
||||
#
|
||||
ifndef CLEAN_LIBRARY
|
||||
CLEAN_LIBRARY = $(DELETE) $(PROJECT_LIBRARY)
|
||||
endif
|
||||
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
|
||||
|
||||
|
||||
# EOF
|
78
builds/compiler/visualage.mk
Normal file
78
builds/compiler/visualage.mk
Normal file
|
@ -0,0 +1,78 @@
|
|||
#
|
||||
# FreeType 2 Visual Age C++ specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# command line compiler name
|
||||
#
|
||||
CC := icc
|
||||
COMPILER_SEP := $(SEP)
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := obj
|
||||
SO := obj
|
||||
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := lib
|
||||
SA := lib
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := /I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := /D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := /Fl
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := /Fo
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := /Q- /Gd+ /O2 /G5 /W3 /C
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSI_FLAGS := /Sa
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
#CLEAN_LIBRARY :=
|
||||
LINK_LIBRARY = lib /nologo /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
|
||||
|
||||
|
||||
# EOF
|
81
builds/compiler/visualc.mk
Normal file
81
builds/compiler/visualc.mk
Normal file
|
@ -0,0 +1,81 @@
|
|||
#
|
||||
# FreeType 2 Visual C++ definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# compiler command line name
|
||||
#
|
||||
CC := cl
|
||||
COMPILER_SEP := $(SEP)
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := obj
|
||||
SO := obj
|
||||
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := lib
|
||||
SA := lib
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := /I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := /D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := /Fl
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := /Fo
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := /nologo /c /Ox /G5 /W3 /WX
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := /Za
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
#CLEAN_LIBRARY =
|
||||
LINK_LIBRARY = lib /nologo /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
|
||||
|
||||
|
||||
# EOF
|
85
builds/compiler/watcom.mk
Normal file
85
builds/compiler/watcom.mk
Normal file
|
@ -0,0 +1,85 @@
|
|||
#
|
||||
# FreeType 2 Watcom-specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# Compiler command line name
|
||||
#
|
||||
CC := wcc386
|
||||
COMPILER_SEP := $(SEP)
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := obj
|
||||
SO := obj
|
||||
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := lib
|
||||
SA := lib
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I=
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -FO=
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -zq
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -za
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
ifndef CLEAN_LIBRARY
|
||||
CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
|
||||
endif
|
||||
LINK_LIBRARY = $(subst /,$(COMPILER_SEP), \
|
||||
wlib -q -n $@; \
|
||||
$(foreach m, $(OBJECTS_LIST), wlib -q $@ +$(m);) \
|
||||
echo > nul)
|
||||
|
||||
# EOF
|
83
builds/compiler/win-lcc.mk
Normal file
83
builds/compiler/win-lcc.mk
Normal file
|
@ -0,0 +1,83 @@
|
|||
#
|
||||
# FreeType 2 Win32-LCC specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# Command line name
|
||||
#
|
||||
CC := lcc
|
||||
COMPILER_SEP := $(SEP)
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := obj
|
||||
SO := obj
|
||||
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := lib
|
||||
SA := lib
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -Fl
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -Fo
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -g2 -O
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
# LCC is pure ANSI anyway!
|
||||
#
|
||||
ANSIFLAGS :=
|
||||
|
||||
|
||||
# library linking
|
||||
#
|
||||
#CLEAN_LIBRARY :=
|
||||
LINK_LIBRARY = lcclib /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
|
||||
|
||||
|
||||
# EOF
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 by
|
||||
# Copyright 1996-2000, 2001, 2002, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
|
@ -16,7 +16,7 @@
|
|||
# This sub-Makefile is in charge of detecting the current platform. It sets
|
||||
# the following variables:
|
||||
#
|
||||
# BUILD The configuration and system-specific directory. Usually
|
||||
# BUILD_DIR The configuration and system-specific directory. Usually
|
||||
# `freetype/builds/$(PLATFORM)' but can be different for
|
||||
# custom builds of the library.
|
||||
#
|
||||
|
@ -30,31 +30,32 @@
|
|||
# DELETE The shell command used to remove a given file.
|
||||
# COPY The shell command used to copy one file.
|
||||
# SEP The platform-specific directory separator.
|
||||
# COMPILER_SEP The separator used in arguments of the compilation tools.
|
||||
# CC The compiler to use.
|
||||
#
|
||||
# You need to set the following variable(s) before calling it:
|
||||
#
|
||||
# TOP The top-most directory in the FreeType library source
|
||||
# TOP_DIR The top-most directory in the FreeType library source
|
||||
# hierarchy. If not defined, it will default to `.'.
|
||||
|
||||
# If TOP is not defined, default it to `.'
|
||||
# If TOP_DIR is not defined, default it to `.'
|
||||
#
|
||||
ifndef TOP
|
||||
TOP := .
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
|
||||
# Set auto-detection default to `ansi' resp. UNIX-like operating systems.
|
||||
# Note that we delay the evaluation of $(BUILD_CONFIG_), $(BUILD), and
|
||||
# $(CONFIG_RULES).
|
||||
#
|
||||
PLATFORM := ansi
|
||||
DELETE := $(RM)
|
||||
COPY := cp
|
||||
SEP := /
|
||||
PLATFORM := ansi
|
||||
DELETE := $(RM)
|
||||
COPY := cp
|
||||
SEP := /
|
||||
|
||||
BUILD_CONFIG_ = $(TOP)$(SEP)builds$(SEP)
|
||||
BUILD = $(BUILD_CONFIG_)$(PLATFORM)
|
||||
CONFIG_RULES = $(BUILD)$(SEP)$(CONFIG_FILE)
|
||||
BUILD_CONFIG := $(TOP_DIR)/builds
|
||||
|
||||
# These two assignments must be delayed.
|
||||
BUILD_DIR = $(BUILD_CONFIG)/$(PLATFORM)
|
||||
CONFIG_RULES = $(BUILD_DIR)/$(CONFIG_FILE)
|
||||
|
||||
# We define the BACKSLASH variable to hold a single back-slash character.
|
||||
# This is needed because a line like
|
||||
|
@ -70,17 +71,39 @@ CONFIG_RULES = $(BUILD)$(SEP)$(CONFIG_FILE)
|
|||
#
|
||||
BACKSLASH := $(strip \ )
|
||||
|
||||
# Now, include all detection rule files found in the `builds/<system>'
|
||||
# directories. Note that the calling order of the various `detect.mk' files
|
||||
# isn't predictable.
|
||||
# Find all auto-detectable platforms.
|
||||
#
|
||||
include $(wildcard $(BUILD_CONFIG_)*/detect.mk)
|
||||
PLATFORMS := $(notdir $(subst /detect.mk,,$(wildcard $(BUILD_CONFIG)/*/detect.mk)))
|
||||
.PHONY: $(PLATFORMS) ansi
|
||||
|
||||
# Filter out platform specified as setup target.
|
||||
#
|
||||
PLATFORM := $(firstword $(filter $(MAKECMDGOALS),$(PLATFORMS)))
|
||||
|
||||
# If no setup target platform was specified, enable auto-detection/
|
||||
# default platform.
|
||||
#
|
||||
ifeq ($(PLATFORM),)
|
||||
PLATFORM := ansi
|
||||
endif
|
||||
|
||||
# If the user has explicitly asked for `ansi' on the command line,
|
||||
# disable auto-detection.
|
||||
#
|
||||
ifeq ($(findstring ansi,$(MAKECMDGOALS)),)
|
||||
# Now, include all detection rule files found in the `builds/<system>'
|
||||
# directories. Note that the calling order of the various `detect.mk'
|
||||
# files isn't predictable.
|
||||
#
|
||||
include $(wildcard $(BUILD_CONFIG)/*/detect.mk)
|
||||
endif
|
||||
|
||||
# In case no detection rule file was successful, use the default.
|
||||
#
|
||||
ifndef CONFIG_FILE
|
||||
CONFIG_FILE := ansi.mk
|
||||
setup: std_setup
|
||||
.PHONY: setup
|
||||
endif
|
||||
|
||||
# The following targets are equivalent, with the exception that they use
|
||||
|
@ -93,38 +116,44 @@ endif
|
|||
|
||||
std_setup:
|
||||
@echo ""
|
||||
@echo "FreeType build system -- automatic system detection"
|
||||
@echo "$(PROJECT_TITLE) build system -- automatic system detection"
|
||||
@echo ""
|
||||
@echo "The following settings are used:"
|
||||
@echo ""
|
||||
@echo " platform $(PLATFORM)"
|
||||
@echo " compiler $(CC)"
|
||||
@echo " configuration directory $(BUILD)"
|
||||
@echo " configuration directory $(BUILD_DIR)"
|
||||
@echo " configuration rules $(CONFIG_RULES)"
|
||||
@echo ""
|
||||
@echo "If this does not correspond to your system or settings please remove the file"
|
||||
@echo "\`$(CONFIG_MK)' from this directory then read the INSTALL file for help."
|
||||
@echo ""
|
||||
@echo "Otherwise, simply type \`make' again to build the library."
|
||||
@echo "Otherwise, simply type \`$(MAKE)' again to build the library,"
|
||||
@echo "or \`$(MAKE) refdoc' to build the API reference (the latter needs python)."
|
||||
@echo ""
|
||||
@$(COPY) $(CONFIG_RULES) $(CONFIG_MK)
|
||||
|
||||
|
||||
# Special case for Dos, Windows, OS/2, where echo "" doesn't work correctly!
|
||||
#
|
||||
dos_setup:
|
||||
@echo ÿ
|
||||
@echo FreeType build system -- automatic system detection
|
||||
@echo ÿ
|
||||
@type builds\newline
|
||||
@echo $(PROJECT_TITLE) build system -- automatic system detection
|
||||
@type builds\newline
|
||||
@echo The following settings are used:
|
||||
@echo ÿ
|
||||
@echo ÿÿplatformÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$(PLATFORM)
|
||||
@echo ÿÿcompilerÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$(CC)
|
||||
@echo ÿÿconfiguration directoryÿÿÿÿÿÿ$(BUILD)
|
||||
@echo ÿÿconfiguration rulesÿÿÿÿÿÿÿÿÿÿ$(CONFIG_RULES)
|
||||
@echo ÿ
|
||||
@type builds\newline
|
||||
@echo platformÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$(PLATFORM)
|
||||
@echo compilerÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$(CC)
|
||||
@echo configuration directoryÿÿÿÿÿÿ$(subst /,\,$(BUILD_DIR))
|
||||
@echo configuration rulesÿÿÿÿÿÿÿÿÿÿ$(subst /,\,$(CONFIG_RULES))
|
||||
@type builds\newline
|
||||
@echo If this does not correspond to your system or settings please remove the file
|
||||
@echo '$(CONFIG_MK)' from this directory then read the INSTALL file for help.
|
||||
@echo ÿ
|
||||
@type builds\newline
|
||||
@echo Otherwise, simply type 'make' again to build the library.
|
||||
@echo ÿ
|
||||
@echo or 'make refdoc' to build the API reference (the latter needs python).
|
||||
@type builds\newline
|
||||
@$(COPY) $(subst /,\,$(CONFIG_RULES) $(CONFIG_MK)) > nul
|
||||
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 by
|
||||
# Copyright 1996-2000, 2003, 2004 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
|
@ -13,75 +13,130 @@
|
|||
# fully.
|
||||
|
||||
|
||||
# We test for the COMSPEC environment variable, then run the `ver'
|
||||
# command-line program to see if its output contains the word `Dos'.
|
||||
#
|
||||
# If this is true, we are running a Dos-ish platform (or an emulation).
|
||||
#
|
||||
.PHONY: setup
|
||||
|
||||
|
||||
ifeq ($(PLATFORM),ansi)
|
||||
|
||||
ifdef COMSPEC
|
||||
# Test for DJGPP by checking the DJGPP environment variable, which must be
|
||||
# set in order to use the system (ie. it will always be present when the
|
||||
# `make' utility is run).
|
||||
#
|
||||
# We test for the COMSPEC environment variable, then run the `ver'
|
||||
# command-line program to see if its output contains the word `Dos' or
|
||||
# `DOS'.
|
||||
#
|
||||
# If this is true, we are running a Dos-ish platform (or an emulation).
|
||||
#
|
||||
ifdef DJGPP
|
||||
PLATFORM := dos
|
||||
else
|
||||
ifdef COMSPEC
|
||||
is_dos := $(findstring DOS,$(subst Dos,DOS,$(shell ver)))
|
||||
|
||||
is_dos := $(findstring Dos,$(shell ver))
|
||||
# We try to recognize a Dos session under OS/2. The `ver' command
|
||||
# returns `Operating System/2 ...' there, so `is_dos' should be empty.
|
||||
#
|
||||
# To recognize a Dos session under OS/2, we check COMSPEC for the
|
||||
# substring `MDOS\COMMAND'
|
||||
#
|
||||
ifeq ($(is_dos),)
|
||||
is_dos := $(findstring MDOS\COMMAND,$(COMSPEC))
|
||||
endif
|
||||
|
||||
# We try to recognize a Dos session under OS/2. The `ver' command
|
||||
# returns `Operating System/2 ...' there, so `is_dos' should be empty.
|
||||
#
|
||||
# To recognize a Dos session under OS/2, we check COMSPEC for the
|
||||
# substring `MDOS\COMMAND'
|
||||
#
|
||||
ifeq ($(is_dos),)
|
||||
is_dos := $(findstring MDOS\COMMAND,$(COMSPEC))
|
||||
endif
|
||||
# We also try to recognize Dos 7.x without Windows 9X launched.
|
||||
# See builds/win32/detect.mk for explanations about the logic.
|
||||
#
|
||||
ifeq ($(is_dos),)
|
||||
ifdef winbootdir
|
||||
#ifneq ($(OS),Windows_NT)
|
||||
# If win32 is available, do not trigger this test.
|
||||
ifndef windir
|
||||
is_dos := $(findstring Windows,$(strip $(shell ver)))
|
||||
endif
|
||||
#endif
|
||||
endif
|
||||
endif
|
||||
|
||||
endif # test COMSPEC
|
||||
|
||||
ifneq ($(is_dos),)
|
||||
|
||||
PLATFORM := dos
|
||||
DELETE := del
|
||||
COPY := copy
|
||||
|
||||
# Use DJGPP (i.e. gcc) by default.
|
||||
#
|
||||
CONFIG_FILE := dos-gcc.mk
|
||||
SEP := /
|
||||
ifndef CC
|
||||
CC := gcc
|
||||
endif
|
||||
|
||||
# additionally, we provide hooks for various other compilers
|
||||
#
|
||||
ifneq ($(findstring turboc,$(MAKECMDGOALS)),) # Turbo C
|
||||
CONFIG_FILE := dos-tcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := tcc
|
||||
.PHONY: turboc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||
CONFIG_FILE := dos-wat.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := wcc386
|
||||
.PHONY: watcom
|
||||
endif
|
||||
|
||||
ifneq ($(findstring borlandc16,$(MAKECMDGOALS)),) # Borland C/C++ 16-bit
|
||||
CONFIG_FILE := dos-bcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := bcc
|
||||
.PHONY: borlandc16
|
||||
endif
|
||||
|
||||
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C/C++ 32-bit
|
||||
CONFIG_FILE := dos-bcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := bcc32
|
||||
.PHONY: borlandc
|
||||
endif
|
||||
|
||||
setup: dos_setup
|
||||
|
||||
endif # test Dos
|
||||
endif # test COMSPEC
|
||||
endif # test PLATFORM
|
||||
endif # test DJGPP
|
||||
endif # test PLATFORM ansi
|
||||
|
||||
ifeq ($(PLATFORM),dos)
|
||||
|
||||
# Use DJGPP (i.e. gcc) by default.
|
||||
#
|
||||
CONFIG_FILE := dos-gcc.mk
|
||||
ifndef CC
|
||||
CC := gcc
|
||||
endif
|
||||
|
||||
# additionally, we provide hooks for various other compilers
|
||||
#
|
||||
ifneq ($(findstring emx,$(MAKECMDGOALS)),) # EMX gcc
|
||||
CONFIG_FILE := dos-emx.mk
|
||||
CC := gcc
|
||||
emx: setup
|
||||
.PHONY: emx
|
||||
endif
|
||||
|
||||
ifneq ($(findstring turboc,$(MAKECMDGOALS)),) # Turbo C
|
||||
CONFIG_FILE := dos-tcc.mk
|
||||
CC := tcc
|
||||
turboc: setup
|
||||
.PHONY: turboc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||
CONFIG_FILE := dos-wat.mk
|
||||
CC := wcc386
|
||||
watcom: setup
|
||||
.PHONY: watcom
|
||||
endif
|
||||
|
||||
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C/C++ 32-bit
|
||||
CONFIG_FILE := dos-bcc.mk
|
||||
CC := bcc32
|
||||
borlandc: setup
|
||||
.PHONY: borlandc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring borlandc16,$(MAKECMDGOALS)),) # Borland C/C++ 16-bit
|
||||
CONFIG_FILE := dos-bcc.mk
|
||||
CC := bcc
|
||||
borlandc16: setup
|
||||
.PHONY: borlandc16
|
||||
endif
|
||||
|
||||
ifneq ($(findstring bash,$(SHELL)),) # check for bash
|
||||
SEP := /
|
||||
DELETE := rm
|
||||
COPY := cp
|
||||
setup: std_setup
|
||||
else
|
||||
SEP := $(BACKSLASH)
|
||||
DELETE := del
|
||||
|
||||
# Setting COPY is a bit trickier. We can be running DJGPP on some
|
||||
# Windows NT derivatives, like XP. See builds/win32/detect.mk for
|
||||
# explanations why we need hacking here.
|
||||
#
|
||||
ifeq ($(OS),Windows_NT)
|
||||
COPY := cmd.exe /c copy
|
||||
else
|
||||
COPY := copy
|
||||
endif # test NT
|
||||
|
||||
setup: dos_setup
|
||||
endif
|
||||
|
||||
endif # test PLATFORM dos
|
||||
|
||||
|
||||
# EOF
|
||||
|
|
54
builds/dos/dos-def.mk
Normal file
54
builds/dos/dos-def.mk
Normal file
|
@ -0,0 +1,54 @@
|
|||
#
|
||||
# FreeType 2 DOS specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
DELETE := del
|
||||
SEP := $(strip \ )
|
||||
BUILD_DIR := $(TOP_DIR)/builds/dos
|
||||
PLATFORM := dos
|
||||
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
||||
# set OBJ_DIR=.../path/to/obj/dir
|
||||
# make -f %TOP_DIR%/Makefile setup [options]
|
||||
# make -f %TOP_DIR%/Makefile
|
||||
#
|
||||
ifndef OBJ_DIR
|
||||
OBJ_DIR := $(TOP_DIR)/objs
|
||||
endif
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := $(PROJECT)
|
||||
|
||||
|
||||
# The NO_OUTPUT macro is used to ignore the output of commands.
|
||||
#
|
||||
NO_OUTPUT = > nul
|
||||
|
||||
|
||||
# EOF
|
21
builds/dos/dos-emx.mk
Normal file
21
builds/dos/dos-emx.mk
Normal file
|
@ -0,0 +1,21 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for the EMX gcc compiler
|
||||
#
|
||||
|
||||
|
||||
# Copyright 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
include $(TOP_DIR)/builds/dos/dos-def.mk
|
||||
include $(TOP_DIR)/builds/compiler/emx.mk
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
|
||||
# EOF
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 by
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
|
@ -13,122 +13,9 @@
|
|||
# fully.
|
||||
|
||||
|
||||
ifndef TOP
|
||||
TOP := .
|
||||
endif
|
||||
include $(TOP_DIR)/builds/dos/dos-def.mk
|
||||
include $(TOP_DIR)/builds/compiler/gcc.mk
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
DELETE := rm -f
|
||||
SEP := /
|
||||
HOSTSEP := $(strip \ )
|
||||
BUILD := $(TOP)/builds/dos
|
||||
PLATFORM := dos
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# Note that this is not $(TOP)/obj!
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP=.../path/to/freetype2/top/dir...
|
||||
# mkdir obj
|
||||
# make -f %TOP%/Makefile setup [options]
|
||||
# make -f %TOP%/Makefile
|
||||
#
|
||||
OBJ_DIR := obj
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR), however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := o
|
||||
SO := o
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := a
|
||||
SA := a
|
||||
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := libfreetype
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o # Don't remove this comment line! We need the space after `-o'.
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -g -O6 -Wall
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -ansi -pedantic
|
||||
|
||||
|
||||
ifdef BUILD_FREETYPE
|
||||
|
||||
# Now include the main sub-makefile. It contains all the rules used to
|
||||
# build the library with the previous variables defined.
|
||||
#
|
||||
include $(TOP)/builds/freetype.mk
|
||||
|
||||
# The cleanup targets.
|
||||
#
|
||||
clean_freetype: clean_freetype_dos
|
||||
distclean_freetype: distclean_freetype_dos
|
||||
|
||||
# Librarian to use to build the static library
|
||||
#
|
||||
FT_LIBRARIAN := $(AR) -r
|
||||
|
||||
|
||||
# This final rule is used to link all object files into a single library.
|
||||
# It is part of the system-specific sub-Makefile because not all
|
||||
# librarians accept a simple syntax like:
|
||||
#
|
||||
# librarian library_file {list of object files}
|
||||
#
|
||||
$(FT_LIBRARY): $(OBJECTS_LIST)
|
||||
-$(DELETE) $@
|
||||
$(FT_LIBRARIAN) $@ $(OBJECTS_LIST)
|
||||
|
||||
endif
|
||||
|
||||
# EOF
|
||||
|
|
20
builds/dos/dos-wat.mk
Normal file
20
builds/dos/dos-wat.mk
Normal file
|
@ -0,0 +1,20 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for the Watcom C/C++ compiler
|
||||
#
|
||||
|
||||
|
||||
# Copyright 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
include $(TOP_DIR)/builds/dos/dos-def.mk
|
||||
include $(TOP_DIR)/builds/compiler/watcom.mk
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
|
||||
# EOF
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 by
|
||||
# Copyright 1996-2000, 2001, 2002, 2003, 2004 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
|
@ -20,13 +20,15 @@
|
|||
# The following variables (set by other Makefile components, in the
|
||||
# environment, or on the command line) are used:
|
||||
#
|
||||
# BUILD The architecture dependent directory,
|
||||
# e.g. `$(TOP)/builds/unix'.
|
||||
# BUILD_DIR The architecture dependent directory,
|
||||
# e.g. `$(TOP_DIR)/builds/unix'.
|
||||
#
|
||||
# OBJ_DIR The directory in which object files are created.
|
||||
#
|
||||
# LIB_DIR The directory in which the library is created.
|
||||
#
|
||||
# DOC_DIR The directory in which the API reference is created.
|
||||
#
|
||||
# INCLUDES A list of directories to be included additionally.
|
||||
# Usually empty.
|
||||
#
|
||||
|
@ -62,7 +64,8 @@
|
|||
# variables which is to be removed for the `clean' resp.
|
||||
# `distclean' target.
|
||||
#
|
||||
# TOP, SEP,
|
||||
# TOP_DIR, SEP,
|
||||
# COMPILER_SEP,
|
||||
# LIBRARY, CC,
|
||||
# A, I, O, T Check `config.mk' for details.
|
||||
|
||||
|
@ -70,7 +73,7 @@
|
|||
# The targets `objects' and `library' are defined at the end of this
|
||||
# Makefile after all other rules have been included.
|
||||
#
|
||||
.PHONY: single objects library
|
||||
.PHONY: single multi objects library refdoc
|
||||
|
||||
# default target -- build single objects and library
|
||||
#
|
||||
|
@ -83,33 +86,30 @@ multi: objects library
|
|||
|
||||
# The FreeType source directory, usually `./src'.
|
||||
#
|
||||
SRC := $(TOP)$(SEP)src
|
||||
|
||||
SRC_DIR := $(TOP_DIR)/src
|
||||
|
||||
# The directory where the base layer components are placed, usually
|
||||
# `./src/base'.
|
||||
#
|
||||
BASE_DIR := $(SRC)$(SEP)base
|
||||
BASE_DIR := $(SRC_DIR)/base
|
||||
|
||||
# Other derived directories.
|
||||
#
|
||||
PUBLIC_DIR := $(TOP_DIR)/include/freetype
|
||||
INTERNAL_DIR := $(PUBLIC_DIR)/internal
|
||||
SERVICES_DIR := $(INTERNAL_DIR)/services
|
||||
CONFIG_DIR := $(PUBLIC_DIR)/config
|
||||
CACHE_DIR := $(PUBLIC_DIR)/cache
|
||||
|
||||
# A few short-cuts in order to avoid typing $(SEP) all the time for the
|
||||
# directory separator.
|
||||
# The documentation directory.
|
||||
#
|
||||
# For example: $(SRC_) equals to `./src/' where `.' is $(TOP).
|
||||
#
|
||||
#
|
||||
SRC_ := $(SRC)$(SEP)
|
||||
BASE_ := $(BASE_DIR)$(SEP)
|
||||
OBJ_ := $(OBJ_DIR)$(SEP)
|
||||
LIB_ := $(LIB_DIR)$(SEP)
|
||||
PUBLIC_ := $(TOP)$(SEP)include$(SEP)freetype$(SEP)
|
||||
INTERNAL_ := $(PUBLIC_)internal$(SEP)
|
||||
CONFIG_ := $(PUBLIC_)config$(SEP)
|
||||
|
||||
ifndef DOC_DIR
|
||||
DOC_DIR := $(TOP_DIR)/docs/reference
|
||||
endif
|
||||
|
||||
# The final name of the library file.
|
||||
#
|
||||
FT_LIBRARY := $(LIB_)$(LIBRARY).$A
|
||||
PROJECT_LIBRARY := $(LIB_DIR)/$(LIBRARY).$A
|
||||
|
||||
|
||||
# include paths
|
||||
|
@ -120,7 +120,8 @@ FT_LIBRARY := $(LIB_)$(LIBRARY).$A
|
|||
# in the `freetype/builds/<system>' directory, as these
|
||||
# files will override the default sources.
|
||||
#
|
||||
INCLUDES := $(BUILD) $(TOP)$(SEP)include $(SRC)
|
||||
INCLUDES := $(subst /,$(COMPILER_SEP),$(OBJ_DIR) $(BUILD_DIR) \
|
||||
$(TOP_DIR)/include)
|
||||
|
||||
INCLUDE_FLAGS = $(INCLUDES:%=$I%)
|
||||
|
||||
|
@ -129,14 +130,17 @@ INCLUDE_FLAGS = $(INCLUDES:%=$I%)
|
|||
# least the paths for the `base' and `builds/<system>' directories;
|
||||
# debug/optimization/warning flags + ansi compliance if needed.
|
||||
#
|
||||
FT_CFLAGS = $(CFLAGS) $(INCLUDE_FLAGS)
|
||||
# $(INCLUDE_FLAGS) should come before $(CFLAGS) to avoid problems with
|
||||
# old FreeType versions.
|
||||
#
|
||||
FT_CFLAGS = $(INCLUDE_FLAGS) $(CFLAGS)
|
||||
FT_CC = $(CC) $(FT_CFLAGS)
|
||||
FT_COMPILE = $(CC) $(ANSIFLAGS) $(FT_CFLAGS)
|
||||
|
||||
|
||||
# Include the `modules' rules file.
|
||||
#
|
||||
include $(TOP)/builds/modules.mk
|
||||
include $(TOP_DIR)/builds/modules.mk
|
||||
|
||||
|
||||
# Initialize the list of objects.
|
||||
|
@ -145,50 +149,54 @@ OBJECTS_LIST :=
|
|||
|
||||
|
||||
# Define $(PUBLIC_H) as the list of all public header files located in
|
||||
# `$(TOP)/include/freetype'. $(BASE_H) and $(CONFIG_H) are defined
|
||||
# similarly.
|
||||
# `$(TOP_DIR)/include/freetype'. $(BASE_H), $(CACHE_H), and $(CONFIG_H) are
|
||||
# defined similarly.
|
||||
#
|
||||
# This is used to simplify the dependency rules -- if one of these files
|
||||
# changes, the whole library is recompiled.
|
||||
#
|
||||
PUBLIC_H := $(wildcard $(PUBLIC_)*.h)
|
||||
BASE_H := $(wildcard $(INTERNAL_)*.h)
|
||||
CONFIG_H := $(wildcard $(CONFIG_)*.h)
|
||||
PUBLIC_H := $(wildcard $(PUBLIC_DIR)/*.h)
|
||||
BASE_H := $(wildcard $(INTERNAL_DIR)/*.h) \
|
||||
$(wildcard $(SERVICES_DIR)/*.h)
|
||||
CONFIG_H := $(wildcard $(CONFIG_DIR)/*.h) \
|
||||
$(wildcard $(BUILD_DIR)/freetype/config/*.h)
|
||||
CACHE_H := $(wildcard $(CACHE_DIR)/*.h)
|
||||
DEVEL_H := $(wildcard $(TOP_DIR)/devel/*.h)
|
||||
|
||||
FREETYPE_H := $(PUBLIC_H) $(BASE_H) $(CONFIG_H)
|
||||
FREETYPE_H := $(PUBLIC_H) $(BASE_H) $(CONFIG_H) $(CACHE_H) $(DEVEL_H)
|
||||
|
||||
|
||||
# ftsystem component
|
||||
#
|
||||
ifndef FTSYS_SRC
|
||||
FTSYS_SRC = $(BASE_)ftsystem.c
|
||||
FTSYS_SRC = $(BASE_DIR)/ftsystem.c
|
||||
endif
|
||||
|
||||
FTSYS_OBJ = $(OBJ_)ftsystem.$O
|
||||
FTSYS_OBJ = $(OBJ_DIR)/ftsystem.$O
|
||||
|
||||
OBJECTS_LIST += $(FTSYS_OBJ)
|
||||
|
||||
$(FTSYS_OBJ): $(FTSYS_SRC) $(FREETYPE_H)
|
||||
$(FT_COMPILE) $T$@ $<
|
||||
$(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
|
||||
|
||||
|
||||
# ftdebug component
|
||||
#
|
||||
ifndef FTDEBUG_SRC
|
||||
FTDEBUG_SRC = $(BASE_)ftdebug.c
|
||||
FTDEBUG_SRC = $(BASE_DIR)/ftdebug.c
|
||||
endif
|
||||
|
||||
FTDEBUG_OBJ = $(OBJ_)ftdebug.$O
|
||||
FTDEBUG_OBJ = $(OBJ_DIR)/ftdebug.$O
|
||||
|
||||
OBJECTS_LIST += $(FTDEBUG_OBJ)
|
||||
|
||||
$(FTDEBUG_OBJ): $(FTDEBUG_SRC) $(FREETYPE_H)
|
||||
$(FT_COMPILE) $T$@ $<
|
||||
$(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
|
||||
|
||||
|
||||
# Include all rule files from FreeType components.
|
||||
#
|
||||
include $(wildcard $(SRC)/*/rules.mk)
|
||||
include $(wildcard $(SRC_DIR)/*/rules.mk)
|
||||
|
||||
|
||||
# ftinit component
|
||||
|
@ -202,13 +210,13 @@ include $(wildcard $(SRC)/*/rules.mk)
|
|||
# which contain additional include paths and macros used to compile the
|
||||
# single `ftinit.c' source.
|
||||
#
|
||||
FTINIT_SRC := $(BASE_)ftinit.c
|
||||
FTINIT_OBJ := $(OBJ_)ftinit.$O
|
||||
FTINIT_SRC := $(BASE_DIR)/ftinit.c
|
||||
FTINIT_OBJ := $(OBJ_DIR)/ftinit.$O
|
||||
|
||||
OBJECTS_LIST += $(FTINIT_OBJ)
|
||||
|
||||
$(FTINIT_OBJ): $(FTINIT_SRC) $(FREETYPE_H) $(FT_MODULE_LIST)
|
||||
$(FT_COMPILE) $T$@ $<
|
||||
$(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
|
||||
|
||||
|
||||
# All FreeType library objects
|
||||
|
@ -237,43 +245,68 @@ endif
|
|||
|
||||
objects: $(OBJECTS_LIST)
|
||||
|
||||
library: $(FT_LIBRARY)
|
||||
library: $(PROJECT_LIBRARY)
|
||||
|
||||
.c.$O:
|
||||
$(FT_COMPILE) $T$@ $<
|
||||
$(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
|
||||
|
||||
|
||||
refdoc:
|
||||
python $(SRC_DIR)/tools/docmaker/docmaker.py \
|
||||
--prefix=ft2 \
|
||||
--title=FreeType-2.1.10 \
|
||||
--output=$(DOC_DIR) \
|
||||
$(PUBLIC_DIR)/*.h \
|
||||
$(PUBLIC_DIR)/config/*.h \
|
||||
$(PUBLIC_DIR)/cache/*.h
|
||||
|
||||
|
||||
.PHONY: clean_project_std distclean_project_std
|
||||
|
||||
# Standard cleaning and distclean rules. These are not accepted
|
||||
# on all systems though.
|
||||
#
|
||||
clean_freetype_std:
|
||||
clean_project_std:
|
||||
-$(DELETE) $(BASE_OBJECTS) $(OBJ_M) $(OBJ_S) $(CLEAN)
|
||||
|
||||
distclean_freetype_std: clean_freetype_std
|
||||
-$(DELETE) $(FT_LIBRARY)
|
||||
distclean_project_std: clean_project_std
|
||||
-$(DELETE) $(PROJECT_LIBRARY)
|
||||
-$(DELETE) *.orig *~ core *.core $(DISTCLEAN)
|
||||
|
||||
|
||||
.PHONY: clean_project_dos distclean_project_dos
|
||||
|
||||
# The Dos command shell does not support very long list of arguments, so
|
||||
# we are stuck with wildcards.
|
||||
#
|
||||
clean_freetype_dos:
|
||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(OBJ_))*.$O $(CLEAN) 2> nul
|
||||
# Don't break the command lines with \; this prevents the "del" command from
|
||||
# working correctly on Win9x.
|
||||
#
|
||||
clean_project_dos:
|
||||
-$(DELETE) $(subst /,\,$(OBJ)/*.$O $(CLEAN) $(NO_OUTPUT))
|
||||
|
||||
distclean_freetype_dos: clean_freetype_dos
|
||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(FT_LIBRARY)) $(DISTCLEAN) 2> nul
|
||||
distclean_project_dos: clean_project_dos
|
||||
-$(DELETE) $(subst /,\,$(PROJECT_LIBRARY) $(DISTCLEAN) $(NO_OUTPUT))
|
||||
|
||||
|
||||
.PHONY: remove_config_mk
|
||||
|
||||
# Remove configuration file (used for distclean).
|
||||
#
|
||||
remove_config_mk:
|
||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(CONFIG_MK))
|
||||
-$(DELETE) $(subst /,$(SEP),$(CONFIG_MK) $(NO_OUTPUT))
|
||||
|
||||
|
||||
.PHONY: clean distclean
|
||||
|
||||
# The `config.mk' file must define `clean_freetype' and
|
||||
# `distclean_freetype'. Implementations may use to relay these to either
|
||||
# the `std' or `dos' versions from above, or simply provide their own
|
||||
# implementation.
|
||||
#
|
||||
clean: clean_freetype
|
||||
distclean: distclean_freetype remove_config_mk
|
||||
clean: clean_project
|
||||
distclean: distclean_project remove_config_mk
|
||||
-$(DELETE) $(subst /,$(SEP),$(DOC_DIR)/*.html $(NO_OUTPUT))
|
||||
|
||||
|
||||
# EOF
|
||||
|
|
42
builds/link_dos.mk
Normal file
42
builds/link_dos.mk
Normal file
|
@ -0,0 +1,42 @@
|
|||
#
|
||||
# Link instructions for Dos-like systems (Dos, Win32, OS/2)
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
ifdef BUILD_PROJECT
|
||||
|
||||
.PHONY: clean_project distclean_project
|
||||
|
||||
# Now include the main sub-makefile. It contains all the rules used to
|
||||
# build the library with the previous variables defined.
|
||||
#
|
||||
include $(TOP_DIR)/builds/$(PROJECT).mk
|
||||
|
||||
# The cleanup targets.
|
||||
#
|
||||
clean_project: clean_project_dos
|
||||
distclean_project: distclean_project_dos
|
||||
|
||||
# This final rule is used to link all object files into a single library.
|
||||
# this is compiler-specific
|
||||
#
|
||||
$(PROJECT_LIBRARY): $(OBJECTS_LIST)
|
||||
ifdef CLEAN_LIBRARY
|
||||
-$(CLEAN_LIBRARY) $(NO_OUTPUT)
|
||||
endif
|
||||
$(LINK_LIBRARY)
|
||||
|
||||
endif
|
||||
|
||||
|
||||
# EOF
|
42
builds/link_std.mk
Normal file
42
builds/link_std.mk
Normal file
|
@ -0,0 +1,42 @@
|
|||
#
|
||||
# Link instructions for standard systems
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
ifdef BUILD_PROJECT
|
||||
|
||||
.PHONY: clean_project distclean_project
|
||||
|
||||
# Now include the main sub-makefile. It contains all the rules used to
|
||||
# build the library with the previous variables defined.
|
||||
#
|
||||
include $(TOP_DIR)/builds/$(PROJECT).mk
|
||||
|
||||
# The cleanup targets.
|
||||
#
|
||||
clean_project: clean_project_std
|
||||
distclean_project: distclean_project_std
|
||||
|
||||
# This final rule is used to link all object files into a single library.
|
||||
# this is compiler-specific
|
||||
#
|
||||
$(PROJECT_LIBRARY): $(OBJECTS_LIST)
|
||||
ifdef CLEAN_LIBRARY
|
||||
-$(CLEAN_LIBRARY) $(NO_OUTPUT)
|
||||
endif
|
||||
$(LINK_LIBRARY)
|
||||
|
||||
endif
|
||||
|
||||
|
||||
# EOF
|
|
@ -1,11 +1,14 @@
|
|||
This folder contains supporting code and CodeWarrior Pro 4 project
|
||||
files to build the FreeType library.
|
||||
This folder contains
|
||||
|
||||
. a Makefile for Apple MPW build environment (currently PPC only)
|
||||
|
||||
. supporting code and CodeWarrior Pro 7 project files to build the
|
||||
FreeType library.
|
||||
|
||||
Notes:
|
||||
The library will be built as a static lib in the obj/ folder.
|
||||
|
||||
Just van Rossum, <just@letterror.com>
|
||||
Current maintainer: Leonard Rosenthol, <leonardr@lazerware.com>
|
||||
Originally prepared by Just van Rossum, <just@letterror.com>
|
||||
|
||||
DISCLAIMER: this subdirectory is *not* being maintained by the
|
||||
FreeType team, but by Just van Rossum. It's being released under
|
||||
the same terms as FreeType (see LICENSE.TXT).
|
||||
This directory is now actively maintained as part of the FreeType Project.
|
||||
|
|
109
builds/mac/freetype.make
Normal file
109
builds/mac/freetype.make
Normal file
|
@ -0,0 +1,109 @@
|
|||
# Makefile for Apple MPW build environment (currently PPC only)
|
||||
|
||||
MAKEFILE = Makefile
|
||||
ÿMondoBuildÿ = #{MAKEFILE} # Make blank to avoid rebuilds when makefile is modified
|
||||
SymÿPPC = #-sym on
|
||||
ObjDirÿPPC = :obj:
|
||||
|
||||
CFLAGS = -i :include -i :src -includes unix {SymÿPPC}
|
||||
|
||||
OBJS = ÿ
|
||||
"{ObjDirÿPPC}ftsystem.c.x" ÿ
|
||||
"{ObjDirÿPPC}ftdebug.c.x" ÿ
|
||||
"{ObjDirÿPPC}ftinit.c.x" ÿ
|
||||
"{ObjDirÿPPC}ftbase.c.x" ÿ
|
||||
"{ObjDirÿPPC}ftglyph.c.x" ÿ
|
||||
"{ObjDirÿPPC}ftmm.c.x" ÿ
|
||||
"{ObjDirÿPPC}ftbbox.c.x" ÿ
|
||||
"{ObjDirÿPPC}autohint.c.x" ÿ
|
||||
"{ObjDirÿPPC}ftcache.c.x" ÿ
|
||||
"{ObjDirÿPPC}cff.c.x" ÿ
|
||||
"{ObjDirÿPPC}type1cid.c.x" ÿ
|
||||
"{ObjDirÿPPC}pcf.c.x" ÿ
|
||||
"{ObjDirÿPPC}psaux.c.x" ÿ
|
||||
"{ObjDirÿPPC}psmodule.c.x" ÿ
|
||||
"{ObjDirÿPPC}raster.c.x" ÿ
|
||||
"{ObjDirÿPPC}sfnt.c.x" ÿ
|
||||
"{ObjDirÿPPC}smooth.c.x" ÿ
|
||||
"{ObjDirÿPPC}truetype.c.x" ÿ
|
||||
"{ObjDirÿPPC}type1.c.x" ÿ
|
||||
"{ObjDirÿPPC}winfnt.c.x" ÿ
|
||||
"{ObjDirÿPPC}ftmac.c.x" ÿ
|
||||
|
||||
# Main target - build a library
|
||||
freetype ÿÿ {ÿMondoBuildÿ} directories freetype.o
|
||||
|
||||
# This is used to build the library
|
||||
freetype.o ÿÿ {ÿMondoBuildÿ} {OBJS}
|
||||
PPCLink ÿ
|
||||
-o :lib:{Targ} {SymÿPPC} ÿ
|
||||
{OBJS} -c '????' -xm l
|
||||
|
||||
# This is used to create the directories needed for build
|
||||
directories ÿ
|
||||
if !`Exists obj` ; NewFolder obj ; end
|
||||
if !`Exists lib` ; NewFolder lib ; end
|
||||
|
||||
|
||||
"{ObjDirÿPPC}ftsystem.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftsystem.c"
|
||||
{PPCC} ":src:base:ftsystem.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}ftdebug.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftdebug.c"
|
||||
{PPCC} ":src:base:ftdebug.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}ftinit.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftinit.c"
|
||||
{PPCC} ":src:base:ftinit.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}ftbase.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftbase.c"
|
||||
{PPCC} ":src:base:ftbase.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}ftglyph.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftglyph.c"
|
||||
{PPCC} ":src:base:ftglyph.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}ftmm.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftmm.c"
|
||||
{PPCC} ":src:base:ftmm.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}ftbbox.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftbbox.c"
|
||||
{PPCC} ":src:base:ftbbox.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}autohint.c.x" ÿ {ÿMondoBuildÿ} ":src:autohint:autohint.c"
|
||||
{PPCC} ":src:autohint:autohint.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}ftcache.c.x" ÿ {ÿMondoBuildÿ} ":src:cache:ftcache.c"
|
||||
{PPCC} ":src:cache:ftcache.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}cff.c.x" ÿ {ÿMondoBuildÿ} ":src:cff:cff.c"
|
||||
{PPCC} ":src:cff:cff.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}type1cid.c.x" ÿ {ÿMondoBuildÿ} ":src:cid:type1cid.c"
|
||||
{PPCC} ":src:cid:type1cid.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}pcf.c.x" ÿ {ÿMondoBuildÿ} ":src:pcf:pcf.c"
|
||||
{PPCC} ":src:pcf:pcf.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}psaux.c.x" ÿ {ÿMondoBuildÿ} ":src:psaux:psaux.c"
|
||||
{PPCC} ":src:psaux:psaux.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}psmodule.c.x" ÿ {ÿMondoBuildÿ} ":src:psnames:psmodule.c"
|
||||
{PPCC} ":src:psnames:psmodule.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}raster.c.x" ÿ {ÿMondoBuildÿ} ":src:raster:raster.c"
|
||||
{PPCC} ":src:raster:raster.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}sfnt.c.x" ÿ {ÿMondoBuildÿ} ":src:sfnt:sfnt.c"
|
||||
{PPCC} ":src:sfnt:sfnt.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}smooth.c.x" ÿ {ÿMondoBuildÿ} ":src:smooth:smooth.c"
|
||||
{PPCC} ":src:smooth:smooth.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}truetype.c.x" ÿ {ÿMondoBuildÿ} ":src:truetype:truetype.c"
|
||||
{PPCC} ":src:truetype:truetype.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}type1.c.x" ÿ {ÿMondoBuildÿ} ":src:type1:type1.c"
|
||||
{PPCC} ":src:type1:type1.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}winfnt.c.x" ÿ {ÿMondoBuildÿ} ":src:winfonts:winfnt.c"
|
||||
{PPCC} ":src:winfonts:winfnt.c" -o {Targ} {CFLAGS}
|
||||
|
||||
"{ObjDirÿPPC}ftmac.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftmac.c"
|
||||
{PPCC} ":src:base:ftmac.c" -o {Targ} {CFLAGS}
|
Binary file not shown.
|
@ -2,7 +2,8 @@
|
|||
# FreeType 2 modules sub-Makefile
|
||||
#
|
||||
|
||||
# Copyright 1996-2000 by
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
|
@ -19,57 +20,58 @@
|
|||
# This file is in charge of handling the generation of the modules list
|
||||
# file.
|
||||
|
||||
.PHONY: make_module_list clean_module_list remake_module_list
|
||||
.PHONY: make_module_list clean_module_list
|
||||
|
||||
# MODULE_LIST, as its name suggests, indicates where the modules list
|
||||
# resides. For now, it is in `include/freetype/config/ftmodule.h'.
|
||||
#
|
||||
ifndef FT_MODULE_LIST
|
||||
FT_MODULE_LIST := $(TOP)$(SEP)include$(SEP)freetype$(SEP)config$(SEP)ftmodule.h
|
||||
ifndef MODULE_LIST
|
||||
MODULE_LIST := $(TOP_DIR)/include/$(PROJECT)/config/ftmodule.h
|
||||
endif
|
||||
|
||||
# To build the modules list, we invoke the `make_module_list' target.
|
||||
#
|
||||
# This rule is commented out by default since FreeType comes already with
|
||||
# a ftmodule.h file.
|
||||
# an ftmodule.h file.
|
||||
#
|
||||
#$(FT_MODULE_LIST): make_module_list
|
||||
#$(MODULE_LIST): make_module_list
|
||||
|
||||
|
||||
ifneq ($(findstring $(PLATFORM),dos win32 win16 os2),)
|
||||
OPEN_MODULE := @echo$(space)
|
||||
CLOSE_MODULE := >> $(subst /,\,$(MODULE_LIST))
|
||||
REMOVE_MODULE := @-$(DELETE) $(subst /,\,$(MODULE_LIST))
|
||||
else
|
||||
OPEN_MODULE := @echo "
|
||||
CLOSE_MODULE := " >> $(MODULE_LIST)
|
||||
REMOVE_MODULE := @-$(DELETE) $(MODULE_LIST)
|
||||
endif
|
||||
|
||||
|
||||
# Before the modules list file can be generated, we must remove the file in
|
||||
# order to `clean' the list.
|
||||
#
|
||||
clean_module_list:
|
||||
@-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(FT_MODULE_LIST))
|
||||
@-echo Regenerating the modules list in $(FT_MODULE_LIST)...
|
||||
$(REMOVE_MODULE)
|
||||
@-echo Regenerating modules list in $(MODULE_LIST)...
|
||||
|
||||
make_module_list: clean_module_list
|
||||
@echo done.
|
||||
|
||||
|
||||
# Trailing spaces are protected with a `#' sign to avoid accidental
|
||||
# removing.
|
||||
#
|
||||
ifneq ($(findstring $(PLATFORM),dos win32 win16 os2),)
|
||||
OPEN_MODULE := @echo #
|
||||
CLOSE_MODULE := >> $(subst $(SEP),$(HOSTSEP),$(FT_MODULE_LIST))
|
||||
else
|
||||
OPEN_MODULE := @echo "
|
||||
CLOSE_MODULE := " >> $(FT_MODULE_LIST)
|
||||
endif
|
||||
|
||||
# $(OPEN_DRIVER) & $(CLOSE_DRIVER) are used to specify a given font driver
|
||||
# in the `module.mk' rules file.
|
||||
#
|
||||
OPEN_DRIVER := $(OPEN_MODULE)FT_USE_MODULE(
|
||||
CLOSE_DRIVER := )$(CLOSE_MODULE)
|
||||
|
||||
ECHO_DRIVER := @echo "* module: #
|
||||
ECHO_DRIVER := @echo "* module:$(space)
|
||||
ECHO_DRIVER_DESC := (
|
||||
ECHO_DRIVER_DONE := )"
|
||||
|
||||
# Each `module.mk' in the `src' sub-dirs is used to add one rule to the
|
||||
# target `make_module_list'.
|
||||
#
|
||||
include $(wildcard $(TOP)/src/*/module.mk)
|
||||
include $(wildcard $(TOP_DIR)/src/*/module.mk)
|
||||
|
||||
|
||||
# EOF
|
||||
|
|
1
builds/newline
Normal file
1
builds/newline
Normal file
|
@ -0,0 +1 @@
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 by
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
|
@ -13,50 +13,60 @@
|
|||
# fully.
|
||||
|
||||
|
||||
.PHONY: setup
|
||||
|
||||
|
||||
ifeq ($(PLATFORM),ansi)
|
||||
|
||||
ifdef OS2_SHELL
|
||||
|
||||
PLATFORM := os2
|
||||
COPY := copy
|
||||
DELETE := del
|
||||
|
||||
CONFIG_FILE := os2-gcc.mk # gcc-emx by default
|
||||
SEP := /
|
||||
|
||||
# additionally, we provide hooks for various other compilers
|
||||
#
|
||||
ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++
|
||||
CONFIG_FILE := os2-icc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := icc
|
||||
.PHONY: visualage
|
||||
endif
|
||||
|
||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||
CONFIG_FILE := os2-wat.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := wcc386
|
||||
.PHONY: watcom
|
||||
endif
|
||||
|
||||
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C++ 32-bit
|
||||
CONFIG_FILE := os2-bcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := bcc32
|
||||
.PHONY: borlandc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring devel,$(MAKECMDGOALS)),) # development target
|
||||
CONFIG_FILE := os2-dev.mk
|
||||
CC := gcc
|
||||
SEP := /
|
||||
devel: setup
|
||||
endif
|
||||
|
||||
setup: dos_setup
|
||||
|
||||
endif # test OS2_SHELL
|
||||
endif # test PLATFORM
|
||||
endif
|
||||
|
||||
#EOF
|
||||
ifeq ($(PLATFORM),os2)
|
||||
|
||||
COPY := copy
|
||||
DELETE := del
|
||||
SEP := $(BACKSLASH)
|
||||
|
||||
# gcc-emx by default
|
||||
CONFIG_FILE := os2-gcc.mk
|
||||
|
||||
# additionally, we provide hooks for various other compilers
|
||||
#
|
||||
ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++
|
||||
CONFIG_FILE := os2-icc.mk
|
||||
CC := icc
|
||||
visualage: setup
|
||||
.PHONY: visualage
|
||||
endif
|
||||
|
||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||
CONFIG_FILE := os2-wat.mk
|
||||
CC := wcc386
|
||||
watcom: setup
|
||||
.PHONY: watcom
|
||||
endif
|
||||
|
||||
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C++ 32-bit
|
||||
CONFIG_FILE := os2-bcc.mk
|
||||
CC := bcc32
|
||||
borlandc: setup
|
||||
.PHONY: borlandc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring devel,$(MAKECMDGOALS)),) # development target
|
||||
CONFIG_FILE := os2-dev.mk
|
||||
CC := gcc
|
||||
devel: setup
|
||||
.PHONY: devel
|
||||
endif
|
||||
|
||||
setup: dos_setup
|
||||
|
||||
endif # test PLATFORM os2
|
||||
|
||||
|
||||
# EOF
|
||||
|
|
54
builds/os2/os2-def.mk
Normal file
54
builds/os2/os2-def.mk
Normal file
|
@ -0,0 +1,54 @@
|
|||
#
|
||||
# FreeType 2 OS/2 specific definitions
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
DELETE := del
|
||||
SEP := $(strip \ )
|
||||
BUILD_DIR := $(TOP_DIR)/builds/os2
|
||||
PLATFORM := os2
|
||||
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
||||
# set OBJ_DIR=.../path/to/obj/dir
|
||||
# make -f %TOP_DIR%/Makefile setup [options]
|
||||
# make -f %TOP_DIR%/Makefile
|
||||
#
|
||||
ifndef OBJ_DIR
|
||||
OBJ_DIR := $(TOP_DIR)/objs
|
||||
endif
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := $(PROJECT)
|
||||
|
||||
|
||||
# The NO_OUTPUT macro is used to ignore the output of commands.
|
||||
#
|
||||
NO_OUTPUT = 2> nul
|
||||
|
||||
|
||||
# EOF
|
|
@ -1,11 +1,11 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for OS/2 + gcc
|
||||
# FreeType 2 configuration rules for OS/2 + GCC
|
||||
#
|
||||
# Development version without optimizations.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 by
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
|
@ -15,123 +15,17 @@
|
|||
# fully.
|
||||
|
||||
|
||||
ifndef TOP
|
||||
TOP := .
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
|
||||
DELETE := del
|
||||
SEP := /
|
||||
HOSTSEP := $(strip \ )
|
||||
BUILD := $(TOP)/builds/os2
|
||||
PLATFORM := os2
|
||||
CC := gcc
|
||||
include $(TOP_DIR)/builds/os2/os2-def.mk
|
||||
BUILD_DIR := $(TOP_DIR)/devel
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# Note that this is not $(TOP)/obj!
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP=.../path/to/freetype2/top/dir...
|
||||
# mkdir obj
|
||||
# make -f %TOP%/Makefile setup [options]
|
||||
# make -f %TOP%/Makefile
|
||||
#
|
||||
OBJ_DIR := obj
|
||||
include $(TOP_DIR)/builds/compiler/gcc-dev.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR), however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := o
|
||||
SO := o
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := a
|
||||
SA := a
|
||||
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := libfreetype
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o # Don't remove this comment line! We need the space after `-o'.
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -g -O0 -Wall
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -ansi -pedantic
|
||||
|
||||
|
||||
ifdef BUILD_FREETYPE
|
||||
|
||||
# Now include the main sub-makefile. It contains all the rules used to
|
||||
# build the library with the previous variables defined.
|
||||
#
|
||||
include $(TOP)/builds/freetype.mk
|
||||
|
||||
# The cleanup targets.
|
||||
#
|
||||
clean_freetype: clean_freetype_dos
|
||||
distclean_freetype: distclean_freetype_dos
|
||||
|
||||
# Librarian to use to build the static library
|
||||
#
|
||||
FT_LIBRARIAN := $(AR) -r
|
||||
|
||||
|
||||
# This final rule is used to link all object files into a single library.
|
||||
# It is part of the system-specific sub-Makefile because not all
|
||||
# librarians accept a simple syntax like
|
||||
#
|
||||
# librarian library_file {list of object files}
|
||||
#
|
||||
$(FT_LIBRARY): $(OBJECTS_LIST)
|
||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(FT_LIBRARY)) 2> nul
|
||||
$(FT_LIBRARIAN) $@ $(OBJECTS_LIST)
|
||||
|
||||
endif
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for OS/2 + gcc
|
||||
# FreeType 2 configuration rules for the OS/2 + gcc
|
||||
#
|
||||
|
||||
|
||||
|
@ -13,123 +13,14 @@
|
|||
# fully.
|
||||
|
||||
|
||||
ifndef TOP
|
||||
TOP := .
|
||||
endif
|
||||
# include OS/2-specific definitions
|
||||
include $(TOP_DIR)/builds/os2/os2-def.mk
|
||||
|
||||
DELETE := del
|
||||
SEP := /
|
||||
HOSTSEP := $(strip \ )
|
||||
BUILD := $(TOP)/builds/os2
|
||||
PLATFORM := os2
|
||||
CC := gcc
|
||||
# include gcc-specific definitions
|
||||
include $(TOP_DIR)/builds/compiler/gcc.mk
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# Note that this is not $(TOP)/obj!
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP=.../path/to/freetype2/top/dir...
|
||||
# mkdir obj
|
||||
# make -f %TOP%/Makefile setup [options]
|
||||
# make -f %TOP%/Makefile
|
||||
#
|
||||
OBJ_DIR := obj
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR), however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := o
|
||||
SO := o
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := a
|
||||
SA := a
|
||||
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := libfreetype
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o # Don't remove this comment line! We need the space after `-o'.
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -g -O6 -Wall
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -ansi -pedantic
|
||||
|
||||
|
||||
ifdef BUILD_FREETYPE
|
||||
|
||||
# Now include the main sub-makefile. It contains all the rules used to
|
||||
# build the library with the previous variables defined.
|
||||
#
|
||||
include $(TOP)/builds/freetype.mk
|
||||
|
||||
# The cleanup targets.
|
||||
#
|
||||
clean_freetype: clean_freetype_dos
|
||||
distclean_freetype: distclean_freetype_dos
|
||||
|
||||
# Librarian to use to build the static library
|
||||
#
|
||||
FT_LIBRARIAN := $(AR) -r
|
||||
|
||||
|
||||
# This final rule is used to link all object files into a single library.
|
||||
# It is part of the system-specific sub-Makefile because not all
|
||||
# librarians accept a simple syntax like
|
||||
#
|
||||
# librarian library_file {list of object files}
|
||||
#
|
||||
$(FT_LIBRARY): $(OBJECTS_LIST)
|
||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(FT_LIBRARY)) 2> nul
|
||||
$(FT_LIBRARIAN) $@ $(OBJECTS_LIST)
|
||||
|
||||
endif
|
||||
|
||||
# EOF
|
||||
|
|
139
builds/toplevel.mk
Normal file
139
builds/toplevel.mk
Normal file
|
@ -0,0 +1,139 @@
|
|||
#
|
||||
# FreeType build system -- top-level sub-Makefile
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2001, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
# This file is designed for GNU Make, do not use it with another Make tool!
|
||||
#
|
||||
# It works as follows:
|
||||
#
|
||||
# - When invoked for the first time, this Makefile will include the rules
|
||||
# found in `PROJECT/builds/detect.mk'. They are in charge of detecting
|
||||
# the current platform.
|
||||
#
|
||||
# A summary of the detection will be displayed, and the file `config.mk'
|
||||
# will be created in the current directory.
|
||||
#
|
||||
# - When invoked later, this Makefile will include the rules found in
|
||||
# `config.mk'. This sub-Makefile will define some system-specific
|
||||
# variables (like compiler, compilation flags, object suffix, etc.), then
|
||||
# include the rules found in `PROJECT/builds/PROJECT.mk', used to build
|
||||
# the library.
|
||||
#
|
||||
# See the comments in `builds/detect.mk' and `builds/PROJECT.mk' for more
|
||||
# details on host platform detection and library builds.
|
||||
|
||||
|
||||
.PHONY: all setup distclean modules
|
||||
|
||||
# The `space' variable is used to avoid trailing spaces in defining the
|
||||
# `T' variable later.
|
||||
#
|
||||
empty :=
|
||||
space := $(empty) $(empty)
|
||||
|
||||
|
||||
ifndef CONFIG_MK
|
||||
CONFIG_MK := config.mk
|
||||
endif
|
||||
|
||||
# If no configuration sub-makefile is present, or if `setup' is the target
|
||||
# to be built, run the auto-detection rules to figure out which
|
||||
# configuration rules file to use.
|
||||
#
|
||||
# Note that the configuration file is put in the current directory, which is
|
||||
# not necessarily $(TOP_DIR).
|
||||
|
||||
# If `config.mk' is not present, set `check_platform'.
|
||||
#
|
||||
ifeq ($(wildcard $(CONFIG_MK)),)
|
||||
check_platform := 1
|
||||
endif
|
||||
|
||||
# If `setup' is one of the targets requested, set `check_platform'.
|
||||
#
|
||||
ifneq ($(findstring setup,$(MAKECMDGOALS)),)
|
||||
check_platform := 1
|
||||
endif
|
||||
|
||||
# Include the automatic host platform detection rules when we need to
|
||||
# check the platform.
|
||||
#
|
||||
ifdef check_platform
|
||||
|
||||
# This is the first rule `make' sees.
|
||||
#
|
||||
all: setup
|
||||
|
||||
ifdef USE_MODULES
|
||||
# If the module list $(MODULE_LIST) file is not present, generate it.
|
||||
#
|
||||
#modules: make_module_list setup
|
||||
endif
|
||||
|
||||
include $(TOP_DIR)/builds/detect.mk
|
||||
|
||||
ifdef USE_MODULES
|
||||
include $(TOP_DIR)/builds/modules.mk
|
||||
|
||||
ifeq ($(wildcard $(MODULE_LIST)),)
|
||||
setup: make_module_list
|
||||
endif
|
||||
endif
|
||||
|
||||
# This rule makes sense for Unix only to remove files created by a run
|
||||
# of the configure script which hasn't been successful (so that no
|
||||
# `config.mk' has been created). It uses the built-in $(RM) command of
|
||||
# GNU make. Similarly, `nul' is created if e.g. `make setup win32' has
|
||||
# been erroneously used.
|
||||
#
|
||||
# note: This test is duplicated in "builds/toplevel.mk".
|
||||
#
|
||||
is_unix := $(strip $(wildcard /sbin/init) \
|
||||
$(wildcard /usr/sbin/init) \
|
||||
$(wildcard /hurd/auth))
|
||||
ifneq ($(is_unix),)
|
||||
|
||||
distclean:
|
||||
$(RM) builds/unix/config.cache
|
||||
$(RM) builds/unix/config.log
|
||||
$(RM) builds/unix/config.status
|
||||
$(RM) builds/unix/unix-def.mk
|
||||
$(RM) builds/unix/unix-cc.mk
|
||||
$(RM) builds/unix/freetype2.pc
|
||||
$(RM) nul
|
||||
|
||||
endif # test is_unix
|
||||
|
||||
# IMPORTANT:
|
||||
#
|
||||
# `setup' must be defined by the host platform detection rules to create
|
||||
# the `config.mk' file in the current directory.
|
||||
|
||||
else
|
||||
|
||||
# A configuration sub-Makefile is present -- simply run it.
|
||||
#
|
||||
all: single
|
||||
|
||||
ifdef USE_MODULES
|
||||
modules: make_module_list
|
||||
endif
|
||||
|
||||
BUILD_PROJECT := yes
|
||||
include $(CONFIG_MK)
|
||||
|
||||
endif # test check_platform
|
||||
|
||||
|
||||
# EOF
|
15
builds/unix/.cvsignore
Normal file
15
builds/unix/.cvsignore
Normal file
|
@ -0,0 +1,15 @@
|
|||
aclocal.m4
|
||||
autom4te.cache
|
||||
config.cache
|
||||
config.guess
|
||||
config.log
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
freetype2.pc
|
||||
freetype-config
|
||||
ftconfig.h
|
||||
libtool
|
||||
ltmain.sh
|
||||
unix-cc.mk
|
||||
unix-def.mk
|
430
builds/unix/aclocal.m4
vendored
430
builds/unix/aclocal.m4
vendored
|
@ -1,430 +0,0 @@
|
|||
## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
|
||||
## Copyright (C) 1996-1999 Free Software Foundation, Inc.
|
||||
## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License as published by
|
||||
## the Free Software Foundation; either version 2 of the License, or
|
||||
## (at your option) any later version.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful, but
|
||||
## WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program; if not, write to the Free Software
|
||||
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
##
|
||||
## As a special exception to the GNU General Public License, if you
|
||||
## distribute this file as part of a program that contains a
|
||||
## configuration script generated by Autoconf, you may include it under
|
||||
## the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# serial 40 AC_PROG_LIBTOOL
|
||||
AC_DEFUN(AC_PROG_LIBTOOL,
|
||||
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
|
||||
|
||||
# Save cache, so that ltconfig can load it
|
||||
AC_CACHE_SAVE
|
||||
|
||||
# Actually configure libtool. ac_aux_dir is where install-sh is found.
|
||||
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
|
||||
LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
|
||||
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
|
||||
DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
|
||||
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
|
||||
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
|
||||
|| AC_MSG_ERROR([libtool configure failed])
|
||||
|
||||
# Reload cache, that may have been modified by ltconfig
|
||||
AC_CACHE_LOAD
|
||||
|
||||
# This can be used to rebuild libtool when needed
|
||||
LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
|
||||
|
||||
# Always use our own libtool.
|
||||
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
|
||||
AC_SUBST(LIBTOOL)dnl
|
||||
|
||||
# Redirect the config.log output again, so that the ltconfig log is not
|
||||
# clobbered by the next message.
|
||||
exec 5>>./config.log
|
||||
])
|
||||
|
||||
AC_DEFUN(AC_LIBTOOL_SETUP,
|
||||
[AC_PREREQ(2.13)dnl
|
||||
AC_REQUIRE([AC_ENABLE_SHARED])dnl
|
||||
AC_REQUIRE([AC_ENABLE_STATIC])dnl
|
||||
AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
|
||||
AC_REQUIRE([AC_PROG_RANLIB])dnl
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_PROG_LD])dnl
|
||||
AC_REQUIRE([AC_PROG_NM])dnl
|
||||
AC_REQUIRE([AC_PROG_LN_S])dnl
|
||||
dnl
|
||||
|
||||
case "$target" in
|
||||
NONE) lt_target="$host" ;;
|
||||
*) lt_target="$target" ;;
|
||||
esac
|
||||
|
||||
# Check for any special flags to pass to ltconfig.
|
||||
libtool_flags="--cache-file=$cache_file"
|
||||
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
|
||||
test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
|
||||
test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
|
||||
test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
|
||||
test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
|
||||
ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
|
||||
[libtool_flags="$libtool_flags --enable-dlopen"])
|
||||
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
|
||||
[libtool_flags="$libtool_flags --enable-win32-dll"])
|
||||
AC_ARG_ENABLE(libtool-lock,
|
||||
[ --disable-libtool-lock avoid locking (might break parallel builds)])
|
||||
test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
|
||||
test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
|
||||
|
||||
# Some flags need to be propagated to the compiler or linker for good
|
||||
# libtool support.
|
||||
case "$lt_target" in
|
||||
*-*-irix6*)
|
||||
# Find out which ABI we are using.
|
||||
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
case "`/usr/bin/file conftest.o`" in
|
||||
*32-bit*)
|
||||
LD="${LD-ld} -32"
|
||||
;;
|
||||
*N32*)
|
||||
LD="${LD-ld} -n32"
|
||||
;;
|
||||
*64-bit*)
|
||||
LD="${LD-ld} -64"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
rm -rf conftest*
|
||||
;;
|
||||
|
||||
*-*-sco3.2v5*)
|
||||
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -belf"
|
||||
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
|
||||
[AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
|
||||
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
|
||||
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
|
||||
CFLAGS="$SAVE_CFLAGS"
|
||||
fi
|
||||
;;
|
||||
|
||||
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
|
||||
[*-*-cygwin* | *-*-mingw*)
|
||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||
AC_CHECK_TOOL(AS, as, false)
|
||||
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||
;;
|
||||
])
|
||||
esac
|
||||
])
|
||||
|
||||
# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
|
||||
AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
|
||||
|
||||
# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
|
||||
AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
|
||||
|
||||
# AC_ENABLE_SHARED - implement the --enable-shared flag
|
||||
# Usage: AC_ENABLE_SHARED[(DEFAULT)]
|
||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||
# `yes'.
|
||||
AC_DEFUN(AC_ENABLE_SHARED, [dnl
|
||||
define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||
AC_ARG_ENABLE(shared,
|
||||
changequote(<<, >>)dnl
|
||||
<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
|
||||
changequote([, ])dnl
|
||||
[p=${PACKAGE-default}
|
||||
case "$enableval" in
|
||||
yes) enable_shared=yes ;;
|
||||
no) enable_shared=no ;;
|
||||
*)
|
||||
enable_shared=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
||||
for pkg in $enableval; do
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_shared=yes
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
|
||||
])
|
||||
|
||||
# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
|
||||
AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_ENABLE_SHARED(no)])
|
||||
|
||||
# AC_ENABLE_STATIC - implement the --enable-static flag
|
||||
# Usage: AC_ENABLE_STATIC[(DEFAULT)]
|
||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||
# `yes'.
|
||||
AC_DEFUN(AC_ENABLE_STATIC, [dnl
|
||||
define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||
AC_ARG_ENABLE(static,
|
||||
changequote(<<, >>)dnl
|
||||
<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
|
||||
changequote([, ])dnl
|
||||
[p=${PACKAGE-default}
|
||||
case "$enableval" in
|
||||
yes) enable_static=yes ;;
|
||||
no) enable_static=no ;;
|
||||
*)
|
||||
enable_static=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
||||
for pkg in $enableval; do
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_static=yes
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
|
||||
])
|
||||
|
||||
# AC_DISABLE_STATIC - set the default static flag to --disable-static
|
||||
AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_ENABLE_STATIC(no)])
|
||||
|
||||
|
||||
# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
|
||||
# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
|
||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||
# `yes'.
|
||||
AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
|
||||
define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||
AC_ARG_ENABLE(fast-install,
|
||||
changequote(<<, >>)dnl
|
||||
<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
|
||||
changequote([, ])dnl
|
||||
[p=${PACKAGE-default}
|
||||
case "$enableval" in
|
||||
yes) enable_fast_install=yes ;;
|
||||
no) enable_fast_install=no ;;
|
||||
*)
|
||||
enable_fast_install=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
||||
for pkg in $enableval; do
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_fast_install=yes
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
|
||||
])
|
||||
|
||||
# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
|
||||
AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_ENABLE_FAST_INSTALL(no)])
|
||||
|
||||
# AC_PROG_LD - find the path to the GNU or non-GNU linker
|
||||
AC_DEFUN(AC_PROG_LD,
|
||||
[AC_ARG_WITH(gnu-ld,
|
||||
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
|
||||
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
|
||||
ac_prog=ld
|
||||
if test "$ac_cv_prog_gcc" = yes; then
|
||||
# Check if gcc -print-prog-name=ld gives a path.
|
||||
AC_MSG_CHECKING([for ld used by GCC])
|
||||
ac_prog=`($CC -print-prog-name=ld) 2>&5`
|
||||
case "$ac_prog" in
|
||||
# Accept absolute paths.
|
||||
changequote(,)dnl
|
||||
[\\/]* | [A-Za-z]:[\\/]*)
|
||||
re_direlt='/[^/][^/]*/\.\./'
|
||||
changequote([,])dnl
|
||||
# Canonicalize the path of ld
|
||||
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
|
||||
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
|
||||
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
|
||||
done
|
||||
test -z "$LD" && LD="$ac_prog"
|
||||
;;
|
||||
"")
|
||||
# If it fails, then pretend we aren't using GCC.
|
||||
ac_prog=ld
|
||||
;;
|
||||
*)
|
||||
# If it is relative, then search for the first ld in PATH.
|
||||
with_gnu_ld=unknown
|
||||
;;
|
||||
esac
|
||||
elif test "$with_gnu_ld" = yes; then
|
||||
AC_MSG_CHECKING([for GNU ld])
|
||||
else
|
||||
AC_MSG_CHECKING([for non-GNU ld])
|
||||
fi
|
||||
AC_CACHE_VAL(ac_cv_path_LD,
|
||||
[if test -z "$LD"; then
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
|
||||
for ac_dir in $PATH; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
|
||||
ac_cv_path_LD="$ac_dir/$ac_prog"
|
||||
# Check to see if the program is GNU ld. I'd rather use --version,
|
||||
# but apparently some GNU ld's only accept -v.
|
||||
# Break only if it was the GNU/non-GNU ld that we prefer.
|
||||
if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
|
||||
test "$with_gnu_ld" != no && break
|
||||
else
|
||||
test "$with_gnu_ld" != yes && break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
else
|
||||
ac_cv_path_LD="$LD" # Let the user override the test with a path.
|
||||
fi])
|
||||
LD="$ac_cv_path_LD"
|
||||
if test -n "$LD"; then
|
||||
AC_MSG_RESULT($LD)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
|
||||
AC_PROG_LD_GNU
|
||||
])
|
||||
|
||||
AC_DEFUN(AC_PROG_LD_GNU,
|
||||
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
|
||||
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
|
||||
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
|
||||
ac_cv_prog_gnu_ld=yes
|
||||
else
|
||||
ac_cv_prog_gnu_ld=no
|
||||
fi])
|
||||
])
|
||||
|
||||
# AC_PROG_NM - find the path to a BSD-compatible name lister
|
||||
AC_DEFUN(AC_PROG_NM,
|
||||
[AC_MSG_CHECKING([for BSD-compatible nm])
|
||||
AC_CACHE_VAL(ac_cv_path_NM,
|
||||
[if test -n "$NM"; then
|
||||
# Let the user override the test.
|
||||
ac_cv_path_NM="$NM"
|
||||
else
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
|
||||
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
|
||||
# Check to see if the nm accepts a BSD-compat flag.
|
||||
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
|
||||
# nm: unknown option "B" ignored
|
||||
if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
|
||||
ac_cv_path_NM="$ac_dir/nm -B"
|
||||
break
|
||||
elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
|
||||
ac_cv_path_NM="$ac_dir/nm -p"
|
||||
break
|
||||
else
|
||||
ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
|
||||
continue # so that we can try to find one that supports BSD flags
|
||||
fi
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
|
||||
fi])
|
||||
NM="$ac_cv_path_NM"
|
||||
AC_MSG_RESULT([$NM])
|
||||
])
|
||||
|
||||
# AC_CHECK_LIBM - check for math library
|
||||
AC_DEFUN(AC_CHECK_LIBM,
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
LIBM=
|
||||
case "$lt_target" in
|
||||
*-*-beos* | *-*-cygwin*)
|
||||
# These system don't have libm
|
||||
;;
|
||||
*-ncr-sysv4.3*)
|
||||
AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
|
||||
AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
|
||||
;;
|
||||
*)
|
||||
AC_CHECK_LIB(m, main, LIBM="-lm")
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
|
||||
# the libltdl convenience library, adds --enable-ltdl-convenience to
|
||||
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
|
||||
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
|
||||
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
|
||||
# '${top_builddir}/' (note the single quotes!) if your package is not
|
||||
# flat, and, if you're not using automake, define top_builddir as
|
||||
# appropriate in the Makefiles.
|
||||
AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
case "$enable_ltdl_convenience" in
|
||||
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
|
||||
"") enable_ltdl_convenience=yes
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
|
||||
esac
|
||||
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
|
||||
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
|
||||
])
|
||||
|
||||
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
|
||||
# the libltdl installable library, and adds --enable-ltdl-install to
|
||||
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
|
||||
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
|
||||
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
|
||||
# '${top_builddir}/' (note the single quotes!) if your package is not
|
||||
# flat, and, if you're not using automake, define top_builddir as
|
||||
# appropriate in the Makefiles.
|
||||
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
|
||||
AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_CHECK_LIB(ltdl, main,
|
||||
[test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
|
||||
[if test x"$enable_ltdl_install" = xno; then
|
||||
AC_MSG_WARN([libltdl not installed, but installation disabled])
|
||||
else
|
||||
enable_ltdl_install=yes
|
||||
fi
|
||||
])
|
||||
if test x"$enable_ltdl_install" = x"yes"; then
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-install"
|
||||
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
|
||||
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
|
||||
else
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
|
||||
LIBLTDL="-lltdl"
|
||||
INCLTDL=
|
||||
fi
|
||||
])
|
||||
|
||||
dnl old names
|
||||
AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
|
||||
AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
|
||||
AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
|
||||
AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
|
||||
AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
|
||||
AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
|
||||
AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
|
||||
|
||||
dnl This is just to silence aclocal about the macro not being used
|
||||
ifelse([AC_DISABLE_FAST_INSTALL])dnl
|
1273
builds/unix/config.guess
vendored
1273
builds/unix/config.guess
vendored
File diff suppressed because it is too large
Load diff
1319
builds/unix/config.sub
vendored
1319
builds/unix/config.sub
vendored
File diff suppressed because it is too large
Load diff
2514
builds/unix/configure
vendored
2514
builds/unix/configure
vendored
File diff suppressed because it is too large
Load diff
187
builds/unix/configure.ac
Normal file
187
builds/unix/configure.ac
Normal file
|
@ -0,0 +1,187 @@
|
|||
# This file is part of the FreeType project.
|
||||
#
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
#
|
||||
# Copyright 2001, 2002, 2003, 2004, 2005 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
AC_INIT
|
||||
AC_CONFIG_SRCDIR([ftconfig.in])
|
||||
|
||||
|
||||
# Don't forget to update docs/VERSION.DLL!
|
||||
|
||||
version_info='9:9:3'
|
||||
AC_SUBST([version_info])
|
||||
ft_version=`echo $version_info | tr : .`
|
||||
AC_SUBST([ft_version])
|
||||
|
||||
|
||||
# checks for system type
|
||||
|
||||
AC_CANONICAL_TARGET
|
||||
|
||||
|
||||
# checks for programs
|
||||
|
||||
AC_PROG_CC
|
||||
AC_PROG_CPP
|
||||
|
||||
|
||||
# get compiler flags right
|
||||
|
||||
if test "x$CC" = xgcc; then
|
||||
XX_CFLAGS="-Wall"
|
||||
XX_ANSIFLAGS="-pedantic -ansi"
|
||||
else
|
||||
case "$host" in
|
||||
*-dec-osf*)
|
||||
CFLAGS=
|
||||
XX_CFLAGS="-std1 -g3"
|
||||
XX_ANSIFLAGS=
|
||||
;;
|
||||
*)
|
||||
XX_CFLAGS=
|
||||
XX_ANSIFLAGS=
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
AC_SUBST([XX_CFLAGS])
|
||||
AC_SUBST([XX_ANSIFLAGS])
|
||||
|
||||
|
||||
# auxiliary programs
|
||||
|
||||
AC_CHECK_PROG([RMF], [rm], [rm -f])
|
||||
AC_CHECK_PROG([RMDIR], [rmdir], [rmdir])
|
||||
|
||||
|
||||
# Since this file will be finally moved to another directory we make
|
||||
# the path of the install script absolute. This small code snippet has
|
||||
# been taken from automake's `ylwrap' script.
|
||||
|
||||
AC_PROG_INSTALL
|
||||
case "$INSTALL" in
|
||||
/*)
|
||||
;;
|
||||
*/*)
|
||||
INSTALL="`pwd`/$INSTALL" ;;
|
||||
esac
|
||||
|
||||
|
||||
# checks for header files
|
||||
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS([fcntl.h unistd.h])
|
||||
|
||||
|
||||
# checks for typedefs, structures, and compiler characteristics
|
||||
|
||||
AC_C_CONST
|
||||
AC_CHECK_SIZEOF([int])
|
||||
AC_CHECK_SIZEOF([long])
|
||||
|
||||
|
||||
# checks for library functions
|
||||
|
||||
# Here we check whether we can use our mmap file component.
|
||||
|
||||
AC_FUNC_MMAP
|
||||
if test "$ac_cv_func_mmap_fixed_mapped" != yes; then
|
||||
FTSYS_SRC='$(BASE_DIR)/ftsystem.c'
|
||||
else
|
||||
FTSYS_SRC='$(BUILD_DIR)/ftsystem.c'
|
||||
|
||||
AC_CHECK_DECLS([munmap],
|
||||
[],
|
||||
[],
|
||||
[
|
||||
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <sys/mman.h>
|
||||
|
||||
])
|
||||
|
||||
FT_MUNMAP_PARAM
|
||||
fi
|
||||
AC_SUBST([FTSYS_SRC])
|
||||
|
||||
AC_CHECK_FUNCS([memcpy memmove])
|
||||
|
||||
|
||||
# Check for system zlib
|
||||
|
||||
AC_ARG_WITH([zlib],
|
||||
dnl don't quote AS_HELP_STRING!
|
||||
AS_HELP_STRING([--without-zlib],
|
||||
[use internal zlib instead of system-wide]))
|
||||
if test x$with_zlib != xno && test -z "$LIBZ"; then
|
||||
AC_CHECK_LIB([z], [gzsetparams], [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])])
|
||||
fi
|
||||
if test x$with_zlib != xno && test -n "$LIBZ"; then
|
||||
CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_SYSTEM_ZLIB"
|
||||
LDFLAGS="$LDFLAGS $LIBZ"
|
||||
SYSTEM_ZLIB=yes
|
||||
fi
|
||||
|
||||
|
||||
# Whether to use Mac OS resource-based fonts or not
|
||||
|
||||
AC_ARG_WITH([old-mac-fonts],
|
||||
dnl don't quote AS_HELP_STRING!
|
||||
AS_HELP_STRING([--with-old-mac-fonts],
|
||||
[allow Mac resource-based fonts to be used]))
|
||||
if test x$with_old_mac_fonts = xyes; then
|
||||
LDFLAGS="$LDFLAGS -Xlinker -framework -Xlinker CoreServices \
|
||||
-Xlinker -framework -Xlinker ApplicationServices"
|
||||
else
|
||||
CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"
|
||||
fi
|
||||
|
||||
|
||||
AC_SUBST([LIBZ])
|
||||
AC_SUBST([CFLAGS])
|
||||
AC_SUBST([LDFLAGS])
|
||||
AC_SUBST([SYSTEM_ZLIB])
|
||||
|
||||
|
||||
AC_PROG_LIBTOOL
|
||||
# urgh -- these are internal libtool variables...
|
||||
AC_SUBST([enable_shared])
|
||||
AC_SUBST([hardcode_libdir_flag_spec])
|
||||
AC_SUBST([wl])
|
||||
|
||||
|
||||
# configuration file -- stay in 8.3 limit
|
||||
#
|
||||
# since #undef doesn't survive in configuration header files we replace
|
||||
# `/undef' with `#undef' after creating the output file
|
||||
|
||||
AC_CONFIG_HEADERS([ftconfig.h:ftconfig.in],
|
||||
[mv ftconfig.h ftconfig.tmp
|
||||
sed 's|/undef|#undef|' < ftconfig.tmp > ftconfig.h
|
||||
rm ftconfig.tmp])
|
||||
|
||||
# create the Unix-specific sub-Makefiles `builds/unix/unix-def.mk'
|
||||
# and 'builds/unix/unix-cc.mk' that will be used by the build system
|
||||
#
|
||||
AC_CONFIG_FILES([unix-cc.mk:unix-cc.in
|
||||
unix-def.mk:unix-def.in
|
||||
freetype-config
|
||||
freetype2.pc:freetype2.in])
|
||||
|
||||
# re-generate the Jamfile to use libtool now
|
||||
#
|
||||
# AC_CONFIG_FILES([../../Jamfile:../../Jamfile.in])
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
# end of configure.ac
|
|
@ -1,74 +0,0 @@
|
|||
dnl This file is part of the FreeType project.
|
||||
dnl
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
dnl
|
||||
|
||||
AC_INIT(ftconfig.in)
|
||||
|
||||
dnl Configuration file -- stay in 8.3 limit
|
||||
AC_CONFIG_HEADER(ftconfig.h:ftconfig.in)
|
||||
|
||||
version_info='6:0:0'
|
||||
AC_SUBST(version_info)
|
||||
|
||||
dnl checks for system type
|
||||
AC_CANONICAL_SYSTEM
|
||||
|
||||
dnl checks for programs
|
||||
AC_PROG_CC
|
||||
AC_PROG_CPP
|
||||
|
||||
dnl get Compiler flags right.
|
||||
if test "x$CC" = xgcc; then
|
||||
XX_CFLAGS="-Wall"
|
||||
XX_ANSIFLAGS="-pedantic -ansi"
|
||||
else
|
||||
case "$host" in
|
||||
*-dec-osf*)
|
||||
XX_CFLAGS="-std1 -O2 -g3"
|
||||
XX_ANSIFLAGS=
|
||||
;;
|
||||
*)
|
||||
XX_CFLAGS=
|
||||
XX_ANSIFLAGS=
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
AC_SUBST(XX_CFLAGS)
|
||||
AC_SUBST(XX_ANSIFLAGS)
|
||||
|
||||
AC_CHECK_PROG(RMF, rm, rm -f)
|
||||
AC_CHECK_PROG(RMDIR, rmdir, rmdir)
|
||||
AC_PROG_INSTALL
|
||||
|
||||
dnl checks for header files
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS(fcntl.h unistd.h)
|
||||
|
||||
dnl checks for typedefs, structures, and compiler characteristics
|
||||
AC_C_CONST
|
||||
AC_CHECK_SIZEOF(int)
|
||||
AC_CHECK_SIZEOF(long)
|
||||
|
||||
dnl Checks for library functions.
|
||||
|
||||
dnl Here we check whether we can use our mmap file component.
|
||||
AC_FUNC_MMAP
|
||||
if test "$ac_cv_func_mmap_fixed_mapped" != yes; then
|
||||
FTSYS_SRC='$(BASE_)ftsystem.c'
|
||||
else
|
||||
FTSYS_SRC='$(BUILD)/ftsystem.c'
|
||||
fi
|
||||
AC_SUBST(FTSYS_SRC)
|
||||
|
||||
AC_CHECK_FUNCS(memcpy memmove)
|
||||
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
dnl create the Unix-specific sub-Makefile `builds/unix/unix.mk' that will be
|
||||
dnl used by the build system
|
||||
dnl
|
||||
AC_OUTPUT(unix.mk:unix.in)
|
||||
|
||||
|
||||
dnl end of configure.in
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 by
|
||||
# Copyright 1996-2000, 2002, 2003, 2004 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
|
@ -12,48 +12,79 @@
|
|||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
.PHONY: setup
|
||||
|
||||
ifeq ($(PLATFORM),ansi)
|
||||
|
||||
has_init := $(strip $(wildcard /sbin/init))
|
||||
ifneq ($(has_init),)
|
||||
# Note: this test is duplicated in "builds/toplevel.mk".
|
||||
#
|
||||
is_unix := $(strip $(wildcard /sbin/init) \
|
||||
$(wildcard /usr/sbin/init) \
|
||||
$(wildcard /hurd/auth))
|
||||
ifneq ($(is_unix),)
|
||||
|
||||
PLATFORM := unix
|
||||
COPY := cp
|
||||
DELETE := rm -f
|
||||
|
||||
# If a Unix platform is detected, the configure script is called and
|
||||
# `unix.mk' is created.
|
||||
#
|
||||
# Arguments to `configure' should be in the CFG variable. Example:
|
||||
#
|
||||
# make CFG="--prefix=/usr --disable-static"
|
||||
#
|
||||
# If you need to set CFLAGS or LDFLAGS, do it here also.
|
||||
#
|
||||
# Feel free to add support for other platform specific compilers in this
|
||||
# directory (e.g. solaris.mk + changes here to detect the platform).
|
||||
#
|
||||
CONFIG_FILE := unix.mk
|
||||
setup: unix.mk
|
||||
unix: setup
|
||||
endif # test is_unix
|
||||
endif # test PLATFORM ansi
|
||||
|
||||
# If `devel' is the requested target, use `-g -O0' as the default value
|
||||
# for CFLAGS if CFLAGS isn't set.
|
||||
ifeq ($(PLATFORM),unix)
|
||||
COPY := cp
|
||||
DELETE := rm -f
|
||||
|
||||
# If `devel' is the requested target, we use a special configuration
|
||||
# file named `unix-dev.mk'. It disables optimization and libtool.
|
||||
#
|
||||
ifneq ($(findstring devel,$(MAKECMDGOALS)),)
|
||||
CONFIG_FILE := unix-dev.mk
|
||||
CC := gcc
|
||||
devel: setup
|
||||
.PHONY: devel
|
||||
else
|
||||
|
||||
# If `lcc' is the requested target, we use a special configuration
|
||||
# file named `unix-lcc.mk'. It disables libtool for LCC.
|
||||
#
|
||||
ifneq ($(findstring devel,$(MAKECMDGOALS)),)
|
||||
ifndef CFLAGS
|
||||
USE_CFLAGS := CFLAGS="-g -O0"
|
||||
endif
|
||||
devel: setup
|
||||
ifneq ($(findstring lcc,$(MAKECMDGOALS)),)
|
||||
CONFIG_FILE := unix-lcc.mk
|
||||
CC := lcc
|
||||
lcc: setup
|
||||
.PHONY: lcc
|
||||
else
|
||||
|
||||
# If a Unix platform is detected, the configure script is called and
|
||||
# `unix-def.mk' together with `unix-cc.mk' is created.
|
||||
#
|
||||
# Arguments to `configure' should be in the CFG variable. Example:
|
||||
#
|
||||
# make CFG="--prefix=/usr --disable-static"
|
||||
#
|
||||
# If you need to set CFLAGS or LDFLAGS, do it here also.
|
||||
#
|
||||
# Feel free to add support for other platform specific compilers in
|
||||
# this directory (e.g. solaris.mk + changes here to detect the
|
||||
# platform).
|
||||
#
|
||||
CONFIG_FILE := unix.mk
|
||||
setup: $(BUILD_DIR)/unix-def.mk
|
||||
unix: setup
|
||||
.PHONY: unix
|
||||
endif
|
||||
endif
|
||||
|
||||
setup: std_setup
|
||||
setup: std_setup
|
||||
|
||||
unix.mk: builds/unix/unix.in
|
||||
cd builds/unix; $(USE_CFLAGS) ./configure $(CFG)
|
||||
have_mk := $(strip $(wildcard $(OBJ_DIR)/Makefile))
|
||||
ifneq ($(have_mk),)
|
||||
# we are building FT2 not in the src tree
|
||||
$(BUILD_DIR)/unix-def.mk: $(TOP_DIR)/builds/unix/unix-def.in
|
||||
$(TOP_DIR)/builds/unix/configure $(CFG)
|
||||
else
|
||||
$(BUILD_DIR)/unix-def.mk: $(TOP_DIR)/builds/unix/unix-def.in
|
||||
cd builds/unix; ./configure $(CFG)
|
||||
endif
|
||||
|
||||
endif # test PLATFORM unix
|
||||
|
||||
endif # test Unix
|
||||
endif # test PLATFORM
|
||||
|
||||
# EOF
|
||||
|
|
157
builds/unix/freetype-config.in
Normal file
157
builds/unix/freetype-config.in
Normal file
|
@ -0,0 +1,157 @@
|
|||
#! /bin/sh
|
||||
#
|
||||
# Copyright 2000, 2001, 2002, 2003, 2004, 2005 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
exec_prefix_set=no
|
||||
includedir=@includedir@
|
||||
libdir=@libdir@
|
||||
enable_shared=@enable_shared@
|
||||
wl=@wl@
|
||||
hardcode_libdir_flag_spec='@hardcode_libdir_flag_spec@'
|
||||
|
||||
usage()
|
||||
{
|
||||
cat <<EOF
|
||||
Usage: freetype-config [OPTION]...
|
||||
Get FreeType compilation and linking information.
|
||||
|
||||
Options:
|
||||
--prefix display \`--prefix' value used for building the
|
||||
FreeType library
|
||||
--prefix=PREFIX override \`--prefix' value with PREFIX
|
||||
--exec-prefix display \`--exec-prefix' value used for building
|
||||
the FreeType library
|
||||
--exec-prefix=EPREFIX override \`--exec-prefix' value with EPREFIX
|
||||
--version display libtool version of the FreeType library
|
||||
--ftversion display FreeType version number
|
||||
--libs display flags for linking with the FreeType library
|
||||
--libtool display library name for linking with libtool
|
||||
--cflags display flags for compiling with the FreeType
|
||||
library
|
||||
EOF
|
||||
exit $1
|
||||
}
|
||||
|
||||
if test $# -eq 0 ; then
|
||||
usage 1 1>&2
|
||||
fi
|
||||
|
||||
while test $# -gt 0 ; do
|
||||
case "$1" in
|
||||
-*=*)
|
||||
optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'`
|
||||
;;
|
||||
*)
|
||||
optarg=
|
||||
;;
|
||||
esac
|
||||
|
||||
case $1 in
|
||||
--prefix=*)
|
||||
prefix=$optarg
|
||||
local_prefix=yes
|
||||
;;
|
||||
--prefix)
|
||||
echo_prefix=yes
|
||||
;;
|
||||
--exec-prefix=*)
|
||||
exec_prefix=$optarg
|
||||
exec_prefix_set=yes
|
||||
local_prefix=yes
|
||||
;;
|
||||
--exec-prefix)
|
||||
echo_exec_prefix=yes
|
||||
;;
|
||||
--version)
|
||||
echo @ft_version@
|
||||
exit 0
|
||||
;;
|
||||
--ftversion)
|
||||
major=`grep define @prefix@/include/freetype2/freetype/freetype.h \
|
||||
| grep FREETYPE_MAJOR \
|
||||
| sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'`
|
||||
minor=`grep define @prefix@/include/freetype2/freetype/freetype.h \
|
||||
| grep FREETYPE_MINOR \
|
||||
| sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'`
|
||||
patch=`grep define @prefix@/include/freetype2/freetype/freetype.h \
|
||||
| grep FREETYPE_PATCH \
|
||||
| sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'`
|
||||
echo $major.$minor.$patch
|
||||
exit 0
|
||||
;;
|
||||
--cflags)
|
||||
echo_cflags=yes
|
||||
;;
|
||||
--libs)
|
||||
echo_libs=yes
|
||||
;;
|
||||
--libtool)
|
||||
echo_libtool=yes
|
||||
;;
|
||||
*)
|
||||
usage 1 1>&2
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if test "$local_prefix" = "yes" ; then
|
||||
if test "$exec_prefix_set" != "yes" ; then
|
||||
exec_prefix=$prefix
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$echo_prefix" = "yes" ; then
|
||||
echo $prefix
|
||||
fi
|
||||
|
||||
if test "$echo_exec_prefix" = "yes" ; then
|
||||
echo $exec_prefix
|
||||
fi
|
||||
|
||||
if test "$exec_prefix_set" = "yes" ; then
|
||||
libdir=$exec_prefix/lib
|
||||
else
|
||||
if test "$local_prefix" = "yes" ; then
|
||||
includedir=$prefix/include
|
||||
libdir=$prefix/lib
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$echo_cflags" = "yes" ; then
|
||||
cflags="-I$includedir/freetype2"
|
||||
if test "$includedir" != "/usr/include" ; then
|
||||
echo $cflags -I$includedir
|
||||
else
|
||||
echo $cflags
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$echo_libs" = "yes" ; then
|
||||
rpath=
|
||||
if test "$enable_shared" = "yes" ; then
|
||||
eval "rpath=\"$hardcode_libdir_flag_spec\""
|
||||
fi
|
||||
libs="-lfreetype @LIBZ@"
|
||||
if test "$libdir" != "/usr/lib" && test "$libdir" != "/usr/lib64"; then
|
||||
echo -L$libdir $rpath $libs
|
||||
else
|
||||
echo $libs
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$echo_libtool" = "yes" ; then
|
||||
convlib="libfreetype.la"
|
||||
echo $libdir/$convlib
|
||||
fi
|
||||
|
||||
# EOF
|
11
builds/unix/freetype2.in
Normal file
11
builds/unix/freetype2.in
Normal file
|
@ -0,0 +1,11 @@
|
|||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
|
||||
Name: FreeType 2
|
||||
Description: A free, high-quality, and portable font engine.
|
||||
Version: @ft_version@
|
||||
Requires:
|
||||
Libs: -L${libdir} -lfreetype @LIBZ@
|
||||
Cflags: -I${includedir}/freetype2 -I${includedir}
|
192
builds/unix/freetype2.m4
Normal file
192
builds/unix/freetype2.m4
Normal file
|
@ -0,0 +1,192 @@
|
|||
# Configure paths for FreeType2
|
||||
# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
|
||||
#
|
||||
# Copyright 2001, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
#
|
||||
# As a special exception to the FreeType project license, this file may be
|
||||
# distributed as part of a program that contains a configuration script
|
||||
# generated by Autoconf, under the same distribution terms as the rest of
|
||||
# that program.
|
||||
#
|
||||
# serial 2
|
||||
|
||||
# AC_CHECK_FT2([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
||||
# Test for FreeType 2, and define FT2_CFLAGS and FT2_LIBS.
|
||||
# MINIMUM-VERSION is what libtool reports; the default is `7.0.1' (this is
|
||||
# FreeType 2.0.4).
|
||||
#
|
||||
AC_DEFUN([AC_CHECK_FT2],
|
||||
[# Get the cflags and libraries from the freetype-config script
|
||||
#
|
||||
AC_ARG_WITH([ft-prefix],
|
||||
dnl don't quote AS_HELP_STRING!
|
||||
AS_HELP_STRING([--with-ft-prefix=PREFIX],
|
||||
[Prefix where FreeType is installed (optional)]),
|
||||
[ft_config_prefix="$withval"],
|
||||
[ft_config_prefix=""])
|
||||
|
||||
AC_ARG_WITH([ft-exec-prefix],
|
||||
dnl don't quote AS_HELP_STRING!
|
||||
AS_HELP_STRING([--with-ft-exec-prefix=PREFIX],
|
||||
[Exec prefix where FreeType is installed (optional)]),
|
||||
[ft_config_exec_prefix="$withval"],
|
||||
[ft_config_exec_prefix=""])
|
||||
|
||||
AC_ARG_ENABLE([freetypetest],
|
||||
dnl don't quote AS_HELP_STRING!
|
||||
AS_HELP_STRING([--disable-freetypetest],
|
||||
[Do not try to compile and run a test FreeType program]),
|
||||
[],
|
||||
[enable_fttest=yes])
|
||||
|
||||
if test x$ft_config_exec_prefix != x ; then
|
||||
ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix"
|
||||
if test x${FT2_CONFIG+set} != xset ; then
|
||||
FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config
|
||||
fi
|
||||
fi
|
||||
|
||||
if test x$ft_config_prefix != x ; then
|
||||
ft_config_args="$ft_config_args --prefix=$ft_config_prefix"
|
||||
if test x${FT2_CONFIG+set} != xset ; then
|
||||
FT2_CONFIG=$ft_config_prefix/bin/freetype-config
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_PATH_PROG([FT2_CONFIG], [freetype-config], [no])
|
||||
|
||||
min_ft_version=m4_if([$1], [], [7.0.1], [$1])
|
||||
AC_MSG_CHECKING([for FreeType -- version >= $min_ft_version])
|
||||
no_ft=""
|
||||
if test "$FT2_CONFIG" = "no" ; then
|
||||
no_ft=yes
|
||||
else
|
||||
FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
|
||||
FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
|
||||
ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||
ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||
ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
ft_min_major_version=`echo $min_ft_version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||
ft_min_minor_version=`echo $min_ft_version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||
ft_min_micro_version=`echo $min_ft_version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
if test x$enable_fttest = xyes ; then
|
||||
ft_config_is_lt=""
|
||||
if test $ft_config_major_version -lt $ft_min_major_version ; then
|
||||
ft_config_is_lt=yes
|
||||
else
|
||||
if test $ft_config_major_version -eq $ft_min_major_version ; then
|
||||
if test $ft_config_minor_version -lt $ft_min_minor_version ; then
|
||||
ft_config_is_lt=yes
|
||||
else
|
||||
if test $ft_config_minor_version -eq $ft_min_minor_version ; then
|
||||
if test $ft_config_micro_version -lt $ft_min_micro_version ; then
|
||||
ft_config_is_lt=yes
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if test x$ft_config_is_lt = xyes ; then
|
||||
no_ft=yes
|
||||
else
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $FT2_CFLAGS"
|
||||
LIBS="$FT2_LIBS $LIBS"
|
||||
|
||||
#
|
||||
# Sanity checks for the results of freetype-config to some extent.
|
||||
#
|
||||
AC_RUN_IFELSE([
|
||||
AC_LANG_SOURCE([[
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
FT_Library library;
|
||||
FT_Error error;
|
||||
|
||||
error = FT_Init_FreeType(&library);
|
||||
|
||||
if (error)
|
||||
return 1;
|
||||
else
|
||||
{
|
||||
FT_Done_FreeType(library);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
]])
|
||||
],
|
||||
[],
|
||||
[no_ft=yes],
|
||||
[echo $ECHO_N "cross compiling; assuming OK... $ECHO_C"])
|
||||
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi # test $ft_config_version -lt $ft_min_version
|
||||
fi # test x$enable_fttest = xyes
|
||||
fi # test "$FT2_CONFIG" = "no"
|
||||
|
||||
if test x$no_ft = x ; then
|
||||
AC_MSG_RESULT([yes])
|
||||
m4_if([$2], [], [:], [$2])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
if test "$FT2_CONFIG" = "no" ; then
|
||||
AC_MSG_WARN([
|
||||
|
||||
The freetype-config script installed by FreeType 2 could not be found.
|
||||
If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in
|
||||
your path, or set the FT2_CONFIG environment variable to the
|
||||
full path to freetype-config.
|
||||
])
|
||||
else
|
||||
if test x$ft_config_is_lt = xyes ; then
|
||||
AC_MSG_WARN([
|
||||
|
||||
Your installed version of the FreeType 2 library is too old.
|
||||
If you have different versions of FreeType 2, make sure that
|
||||
correct values for --with-ft-prefix or --with-ft-exec-prefix
|
||||
are used, or set the FT2_CONFIG environment variable to the
|
||||
full path to freetype-config.
|
||||
])
|
||||
else
|
||||
AC_MSG_WARN([
|
||||
|
||||
The FreeType test program failed to run. If your system uses
|
||||
shared libraries and they are installed outside the normal
|
||||
system library path, make sure the variable LD_LIBRARY_PATH
|
||||
(or whatever is appropiate for your system) is correctly set.
|
||||
])
|
||||
fi
|
||||
fi
|
||||
|
||||
FT2_CFLAGS=""
|
||||
FT2_LIBS=""
|
||||
m4_if([$3], [], [:], [$3])
|
||||
fi
|
||||
|
||||
AC_SUBST([FT2_CFLAGS])
|
||||
AC_SUBST([FT2_LIBS])])
|
||||
|
||||
# end of freetype2.m4
|
32
builds/unix/ft-munmap.m4
Normal file
32
builds/unix/ft-munmap.m4
Normal file
|
@ -0,0 +1,32 @@
|
|||
## FreeType specific autoconf tests
|
||||
#
|
||||
# Copyright 2002, 2003, 2004 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
# serial 2
|
||||
|
||||
AC_DEFUN([FT_MUNMAP_PARAM],
|
||||
[AC_MSG_CHECKING([for munmap's first parameter type])
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_SOURCE([[
|
||||
|
||||
#include <unistd.h>
|
||||
#include <sys/mman.h>
|
||||
int munmap(void *, size_t);
|
||||
|
||||
]])
|
||||
],
|
||||
[AC_MSG_RESULT([void *])
|
||||
AC_DEFINE([MUNMAP_USES_VOIDP],
|
||||
[],
|
||||
[Define to 1 if the first argument of munmap is of type void *])],
|
||||
[AC_MSG_RESULT([char *])])
|
||||
])
|
||||
|
||||
# end of ft-munmap.m4
|
61
builds/unix/ft2unix.h
Normal file
61
builds/unix/ft2unix.h
Normal file
|
@ -0,0 +1,61 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ft2build.h */
|
||||
/* */
|
||||
/* Build macros of the FreeType 2 library. */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2003 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||
/* this file you indicate that you have read the license and */
|
||||
/* understand and accept it fully. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This is a Unix-specific version of <ft2build.h> that should be used */
|
||||
/* exclusively *after* installation of the library. */
|
||||
/* */
|
||||
/* It assumes that "/usr/local/include/freetype2" (or whatever is */
|
||||
/* returned by the "freetype-config --cflags" or "pkg-config --cflags" */
|
||||
/* command) is in your compilation include path. */
|
||||
/* */
|
||||
/* We don't need to do anything special in this release. However, for */
|
||||
/* a future FreeType 2 release, the following installation changes will */
|
||||
/* be performed: */
|
||||
/* */
|
||||
/* - The contents of "freetype-2.x/include/freetype" will be installed */
|
||||
/* to "/usr/local/include/freetype2" instead of */
|
||||
/* "/usr/local/include/freetype2/freetype". */
|
||||
/* */
|
||||
/* - This file will #include <freetype2/config/ftheader.h>, instead */
|
||||
/* of <freetype/config/ftheader.h>. */
|
||||
/* */
|
||||
/* - The contents of "ftheader.h" will be processed with `sed' to */
|
||||
/* replace all "<freetype/xxx>" with "<freetype2/xxx>". */
|
||||
/* */
|
||||
/* - Adding "/usr/local/include/freetype2" to your compilation include */
|
||||
/* path will not be necessary anymore. */
|
||||
/* */
|
||||
/* These changes will be transparent to client applications which use */
|
||||
/* freetype-config (or pkg-config). No modifications will be necessary */
|
||||
/* to compile with the new scheme. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
#ifndef __FT2_BUILD_UNIX_H__
|
||||
#define __FT2_BUILD_UNIX_H__
|
||||
|
||||
/* "<prefix>/include/freetype2" must be in your current inclusion path */
|
||||
#include <freetype/config/ftheader.h>
|
||||
|
||||
#endif /* __FT2_BUILD_UNIX_H__ */
|
||||
|
||||
|
||||
/* END */
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* UNIX-specific configuration file (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2000 by */
|
||||
/* Copyright 1996-2001, 2002, 2003, 2004 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -34,12 +34,15 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
#ifndef FTCONFIG_H
|
||||
#define FTCONFIG_H
|
||||
#ifndef __FTCONFIG_H__
|
||||
#define __FTCONFIG_H__
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_CONFIG_OPTIONS_H
|
||||
#include FT_CONFIG_STANDARD_LIBRARY_H
|
||||
|
||||
|
||||
/* Include the header file containing all developer build options */
|
||||
#include <freetype/config/ftoption.h>
|
||||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
@ -54,23 +57,24 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
#define HAVE_UNISTD_H 0
|
||||
#define HAVE_FCNTL_H 0
|
||||
#undef HAVE_UNISTD_H
|
||||
#undef HAVE_FCNTL_H
|
||||
|
||||
#define SIZEOF_INT 2
|
||||
#define SIZEOF_LONG 2
|
||||
#undef SIZEOF_INT
|
||||
#undef SIZEOF_LONG
|
||||
|
||||
|
||||
#define FT_SIZEOF_INT SIZEOF_INT
|
||||
#define FT_SIZEOF_LONG SIZEOF_LONG
|
||||
|
||||
#define FT_CHAR_BIT CHAR_BIT
|
||||
|
||||
/* Preferred alignment of data */
|
||||
#define FT_ALIGNMENT 8
|
||||
|
||||
|
||||
/* UNUSED is a macro used to indicate that a given parameter is not used */
|
||||
/* -- this is only used to get rid of unpleasant compiler warnings */
|
||||
/* FT_UNUSED is a macro used to indicate that a given parameter is not */
|
||||
/* used -- this is only used to get rid of unpleasant compiler warnings */
|
||||
#ifndef FT_UNUSED
|
||||
#define FT_UNUSED( arg ) ( (arg) = (arg) )
|
||||
#endif
|
||||
|
@ -87,6 +91,19 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Mac support */
|
||||
/* */
|
||||
/* This is the only necessary change, so it is defined here instead */
|
||||
/* providing a new configuration file. */
|
||||
/* */
|
||||
#if ( defined( __APPLE__ ) && !defined( DARWIN_NO_CARBON ) ) || \
|
||||
( defined( __MWERKS__ ) && defined( macintosh ) )
|
||||
#define FT_MACINTOSH 1
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* IntN types */
|
||||
|
@ -110,63 +127,208 @@
|
|||
#error "no 32bit type found -- please check your configuration files"
|
||||
#endif
|
||||
|
||||
|
||||
/* look up an integer type that is at least 32 bits */
|
||||
#if FT_SIZEOF_INT >= 4
|
||||
|
||||
typedef int FT_Fast;
|
||||
typedef unsigned int FT_UFast;
|
||||
|
||||
#elif FT_SIZEOF_LONG >= 4
|
||||
|
||||
typedef long FT_Fast;
|
||||
typedef unsigned long FT_UFast;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* determine whether we have a 64-bit int type for platforms without */
|
||||
/* Autoconf */
|
||||
#if FT_SIZEOF_LONG == 8
|
||||
|
||||
/* FT_LONG64 must be defined if a 64-bit type is available */
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 long
|
||||
#define FT_INT64 long
|
||||
|
||||
#else
|
||||
#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */
|
||||
|
||||
/* this compiler provides the __int64 type */
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 __int64
|
||||
|
||||
#elif defined( __BORLANDC__ ) /* Borland C++ */
|
||||
|
||||
/* XXXX: We should probably check the value of __BORLANDC__ in order */
|
||||
/* to test the compiler version. */
|
||||
|
||||
/* this compiler provides the __int64 type */
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 __int64
|
||||
|
||||
#elif defined( __WATCOMC__ ) /* Watcom C++ */
|
||||
|
||||
/* Watcom doesn't provide 64-bit data types */
|
||||
|
||||
#elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */
|
||||
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 long long int
|
||||
|
||||
#elif defined( __GNUC__ )
|
||||
|
||||
/* GCC provides the "long long" type */
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 long long int
|
||||
|
||||
#endif /* FT_SIZEOF_LONG == 8 */
|
||||
|
||||
|
||||
#define FT_BEGIN_STMNT do {
|
||||
#define FT_END_STMNT } while ( 0 )
|
||||
#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Many compilers provide the non-ANSI `long long' 64-bit type. You can */
|
||||
/* activate it by defining the FTCALC_USE_LONG_LONG macro in */
|
||||
/* `ftoption.h'. */
|
||||
/* A 64-bit data type will create compilation problems if you compile */
|
||||
/* in strict ANSI mode. To avoid them, we disable their use if */
|
||||
/* __STDC__ is defined. You can however ignore this rule by */
|
||||
/* defining the FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */
|
||||
/* */
|
||||
/* Note that this will produce many -ansi warnings during library */
|
||||
/* compilation, and that in many cases, the generated code will be */
|
||||
/* neither smaller nor faster! */
|
||||
/* */
|
||||
#ifdef FTCALC_USE_LONG_LONG
|
||||
#if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 )
|
||||
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 long long
|
||||
#ifdef __STDC__
|
||||
|
||||
#endif /* FTCALC_USE_LONG_LONG */
|
||||
#endif /* FT_SIZEOF_LONG == 8 */
|
||||
/* Undefine the 64-bit macros in strict ANSI compilation mode. */
|
||||
/* Since `#undef' doesn't survive in configuration header files */
|
||||
/* we use the postprocessing facility of AC_CONFIG_HEADERS to */
|
||||
/* replace the leading `/' with `#'. */
|
||||
/undef FT_LONG64
|
||||
/undef FT_INT64
|
||||
|
||||
#endif /* __STDC__ */
|
||||
|
||||
#endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */
|
||||
|
||||
|
||||
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
|
||||
#define LOCAL_DEF static
|
||||
#define LOCAL_FUNC static
|
||||
|
||||
#define FT_LOCAL( x ) static x
|
||||
#define FT_LOCAL_DEF( x ) static x
|
||||
|
||||
#else
|
||||
#define LOCAL_DEF extern
|
||||
#define LOCAL_FUNC /* nothing */
|
||||
#endif
|
||||
|
||||
#ifdef FT_MAKE_OPTION_SINGLE_LIBRARY_OBJECT
|
||||
#define BASE_DEF( x ) static x
|
||||
#define BASE_FUNC( x ) static x
|
||||
#ifdef __cplusplus
|
||||
#define FT_LOCAL( x ) extern "C" x
|
||||
#define FT_LOCAL_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define BASE_DEF( x ) extern x
|
||||
#define BASE_FUNC( x ) extern x
|
||||
#define FT_LOCAL( x ) extern x
|
||||
#define FT_LOCAL_DEF( x ) x
|
||||
#endif
|
||||
|
||||
#ifndef FT_EXPORT_DEF
|
||||
#define FT_EXPORT_DEF( x ) extern x
|
||||
#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
|
||||
|
||||
|
||||
#ifndef FT_BASE
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_BASE( x ) extern "C" x
|
||||
#else
|
||||
#define FT_BASE( x ) extern x
|
||||
#endif
|
||||
|
||||
#ifndef FT_EXPORT_FUNC
|
||||
#define FT_EXPORT_FUNC( x ) extern x
|
||||
#endif /* !FT_BASE */
|
||||
|
||||
|
||||
#ifndef FT_BASE_DEF
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_BASE_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_BASE_DEF( x ) extern x
|
||||
#endif
|
||||
|
||||
#ifndef FT_EXPORT_VAR
|
||||
#define FT_EXPORT_VAR( x ) extern x
|
||||
#endif /* !FT_BASE_DEF */
|
||||
|
||||
|
||||
#ifndef FT_EXPORT
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_EXPORT( x ) extern "C" x
|
||||
#else
|
||||
#define FT_EXPORT( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* FTCONFIG_H */
|
||||
#endif /* !FT_EXPORT */
|
||||
|
||||
|
||||
#ifndef FT_EXPORT_DEF
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_EXPORT_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_EXPORT_DEF( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_EXPORT_DEF */
|
||||
|
||||
|
||||
#ifndef FT_EXPORT_VAR
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_EXPORT_VAR( x ) extern "C" x
|
||||
#else
|
||||
#define FT_EXPORT_VAR( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_EXPORT_VAR */
|
||||
|
||||
/* The following macros are needed to compile the library with a */
|
||||
/* C++ compiler and with 16bit compilers. */
|
||||
/* */
|
||||
|
||||
/* This is special. Within C++, you must specify `extern "C"' for */
|
||||
/* functions which are used via function pointers, and you also */
|
||||
/* must do that for structures which contain function pointers to */
|
||||
/* assure C linkage -- it's not possible to have (local) anonymous */
|
||||
/* functions which are accessed by (global) function pointers. */
|
||||
/* */
|
||||
/* */
|
||||
/* FT_CALLBACK_DEF is used to _define_ a callback function. */
|
||||
/* */
|
||||
/* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */
|
||||
/* contains pointers to callback functions. */
|
||||
/* */
|
||||
/* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */
|
||||
/* that contains pointers to callback functions. */
|
||||
/* */
|
||||
/* */
|
||||
/* Some 16bit compilers have to redefine these macros to insert */
|
||||
/* the infamous `_cdecl' or `__fastcall' declarations. */
|
||||
/* */
|
||||
#ifndef FT_CALLBACK_DEF
|
||||
#ifdef __cplusplus
|
||||
#define FT_CALLBACK_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_CALLBACK_DEF( x ) static x
|
||||
#endif
|
||||
#endif /* FT_CALLBACK_DEF */
|
||||
|
||||
#ifndef FT_CALLBACK_TABLE
|
||||
#ifdef __cplusplus
|
||||
#define FT_CALLBACK_TABLE extern "C"
|
||||
#define FT_CALLBACK_TABLE_DEF extern "C"
|
||||
#else
|
||||
#define FT_CALLBACK_TABLE extern
|
||||
#define FT_CALLBACK_TABLE_DEF /* nothing */
|
||||
#endif
|
||||
#endif /* FT_CALLBACK_TABLE */
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
|
||||
#endif /* __FTCONFIG_H__ */
|
||||
|
||||
|
||||
/* END */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Unix-specific FreeType low-level system interface (body). */
|
||||
/* */
|
||||
/* Copyright 1996-2000 by */
|
||||
/* Copyright 1996-2001, 2002, 2004 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -16,18 +16,16 @@
|
|||
/***************************************************************************/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
/* we use our special ftconfig.h file, not the standard one */
|
||||
#include <ftconfig.h>
|
||||
#include <freetype/internal/ftdebug.h>
|
||||
#include <freetype/ftsystem.h>
|
||||
#include <freetype/fterrors.h>
|
||||
#include <freetype/fttypes.h>
|
||||
#include FT_INTERNAL_DEBUG_H
|
||||
#include FT_SYSTEM_H
|
||||
#include FT_ERRORS_H
|
||||
#include FT_TYPES_H
|
||||
#include FT_INTERNAL_OBJECTS_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
/* memory-mapping includes and definitions */
|
||||
/* memory-mapping includes and definitions */
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
@ -37,17 +35,29 @@
|
|||
#define MAP_FILE 0x00
|
||||
#endif
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The prototype for munmap() is not provided on SunOS. This needs to */
|
||||
/* have a check added later to see if the GNU C library is being used. */
|
||||
/* If so, then this prototype is not needed. */
|
||||
/* */
|
||||
#if defined( __sun__ ) && !defined( SVR4 ) && !defined( __SVR4 )
|
||||
extern int munmap( caddr_t addr,
|
||||
int len );
|
||||
#ifdef MUNMAP_USES_VOIDP
|
||||
#define MUNMAP_ARG_CAST void *
|
||||
#else
|
||||
#define MUNMAP_ARG_CAST char *
|
||||
#endif
|
||||
|
||||
#ifdef NEED_MUNMAP_DECL
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#else
|
||||
extern
|
||||
#endif
|
||||
int
|
||||
munmap( char* addr,
|
||||
int len );
|
||||
|
||||
#define MUNMAP_ARG_CAST char *
|
||||
|
||||
#endif /* NEED_DECLARATION_MUNMAP */
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#ifdef HAVE_FCNTL_H
|
||||
|
@ -57,6 +67,7 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
@ -76,14 +87,15 @@
|
|||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* size :: The requested size in bytes. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* block :: The address of newly allocated block. */
|
||||
/* The address of newly allocated block. */
|
||||
/* */
|
||||
static
|
||||
void* ft_alloc( FT_Memory memory,
|
||||
long size )
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_alloc( FT_Memory memory,
|
||||
long size )
|
||||
{
|
||||
FT_UNUSED( memory );
|
||||
|
||||
|
@ -111,11 +123,11 @@
|
|||
/* <Return> */
|
||||
/* The address of the reallocated memory block. */
|
||||
/* */
|
||||
static
|
||||
void* ft_realloc( FT_Memory memory,
|
||||
long cur_size,
|
||||
long new_size,
|
||||
void* block )
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_realloc( FT_Memory memory,
|
||||
long cur_size,
|
||||
long new_size,
|
||||
void* block )
|
||||
{
|
||||
FT_UNUSED( memory );
|
||||
FT_UNUSED( cur_size );
|
||||
|
@ -133,13 +145,13 @@
|
|||
/* The memory release function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* block :: The address of block in memory to be freed. */
|
||||
/* block :: The address of block in memory to be freed. */
|
||||
/* */
|
||||
static
|
||||
void ft_free( FT_Memory memory,
|
||||
void* block )
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_free( FT_Memory memory,
|
||||
void* block )
|
||||
{
|
||||
FT_UNUSED( memory );
|
||||
|
||||
|
@ -171,19 +183,19 @@
|
|||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_close_stream */
|
||||
/* ft_close_stream_by_munmap */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The function to close a stream. */
|
||||
/* The function to close a stream which is opened by mmap. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* stream :: A pointer to the stream object. */
|
||||
/* */
|
||||
static
|
||||
void ft_close_stream( FT_Stream stream )
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_close_stream_by_munmap( FT_Stream stream )
|
||||
{
|
||||
munmap ( stream->descriptor.pointer, stream->size );
|
||||
|
||||
munmap( (MUNMAP_ARG_CAST)stream->descriptor.pointer, stream->size );
|
||||
|
||||
stream->descriptor.pointer = NULL;
|
||||
stream->size = 0;
|
||||
stream->base = 0;
|
||||
|
@ -193,22 +205,30 @@
|
|||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_New_Stream */
|
||||
/* ft_close_stream_by_free */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Creates a new stream object. */
|
||||
/* The function to close a stream which is created by ft_alloc. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* filepathname :: The name of the stream (usually a file) to be */
|
||||
/* opened. */
|
||||
/* stream :: A pointer to the stream object. */
|
||||
/* */
|
||||
/* stream :: A pointer to the stream object. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_EXPORT_FUNC( FT_Error ) FT_New_Stream( const char* filepathname,
|
||||
FT_Stream stream )
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_close_stream_by_free( FT_Stream stream )
|
||||
{
|
||||
ft_free( NULL, stream->descriptor.pointer );
|
||||
|
||||
stream->descriptor.pointer = NULL;
|
||||
stream->size = 0;
|
||||
stream->base = 0;
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Stream_Open( FT_Stream stream,
|
||||
const char* filepathname )
|
||||
{
|
||||
int file;
|
||||
struct stat stat_buf;
|
||||
|
@ -221,74 +241,130 @@
|
|||
file = open( filepathname, O_RDONLY );
|
||||
if ( file < 0 )
|
||||
{
|
||||
FT_ERROR(( "FT_New_Stream:" ));
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||
return FT_Err_Cannot_Open_Resource;
|
||||
}
|
||||
|
||||
/* Here we ensure that a "fork" will _not_ duplicate */
|
||||
/* our opened input streams on Unix. This is critical */
|
||||
/* since it avoids some (possible) access control */
|
||||
/* issues and cleans up the kernel file table a bit. */
|
||||
/* */
|
||||
#ifdef F_SETFD
|
||||
#ifdef FD_CLOEXEC
|
||||
(void)fcntl( file, F_SETFD, FD_CLOEXEC );
|
||||
#else
|
||||
(void)fcntl( file, F_SETFD, 1 );
|
||||
#endif /* FD_CLOEXEC */
|
||||
#endif /* F_SETFD */
|
||||
|
||||
if ( fstat( file, &stat_buf ) < 0 )
|
||||
{
|
||||
FT_ERROR(( "FT_New_Stream:" ));
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not `fstat' file `%s'\n", filepathname ));
|
||||
goto Fail_Map;
|
||||
}
|
||||
|
||||
|
||||
stream->size = stat_buf.st_size;
|
||||
stream->pos = 0;
|
||||
stream->base = mmap( NULL,
|
||||
stream->size,
|
||||
PROT_READ,
|
||||
MAP_FILE | MAP_PRIVATE,
|
||||
file,
|
||||
0 );
|
||||
stream->base = (unsigned char *)mmap( NULL,
|
||||
stream->size,
|
||||
PROT_READ,
|
||||
MAP_FILE | MAP_PRIVATE,
|
||||
file,
|
||||
0 );
|
||||
|
||||
if ( (long)stream->base == -1 )
|
||||
if ( (long)stream->base != -1 )
|
||||
stream->close = ft_close_stream_by_munmap;
|
||||
else
|
||||
{
|
||||
FT_ERROR(( "FT_New_Stream:" ));
|
||||
ssize_t total_read_count;
|
||||
|
||||
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not `mmap' file `%s'\n", filepathname ));
|
||||
goto Fail_Map;
|
||||
|
||||
stream->base = (unsigned char*)ft_alloc( NULL, stream->size );
|
||||
|
||||
if ( !stream->base )
|
||||
{
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not `alloc' memory\n" ));
|
||||
goto Fail_Map;
|
||||
}
|
||||
|
||||
total_read_count = 0;
|
||||
do {
|
||||
ssize_t read_count;
|
||||
|
||||
|
||||
read_count = read( file,
|
||||
stream->base + total_read_count,
|
||||
stream->size - total_read_count );
|
||||
|
||||
if ( ( read_count == -1 ) )
|
||||
{
|
||||
if ( errno == EINTR )
|
||||
continue;
|
||||
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " error while `read'ing file `%s'\n", filepathname ));
|
||||
goto Fail_Read;
|
||||
}
|
||||
|
||||
total_read_count += read_count;
|
||||
|
||||
} while ( (unsigned long)total_read_count != stream->size );
|
||||
|
||||
stream->close = ft_close_stream_by_free;
|
||||
}
|
||||
|
||||
close( file );
|
||||
|
||||
stream->descriptor.pointer = stream->base;
|
||||
stream->pathname.pointer = (char*)filepathname;
|
||||
|
||||
stream->close = ft_close_stream;
|
||||
stream->read = 0;
|
||||
|
||||
FT_TRACE1(( "FT_New_Stream:" ));
|
||||
|
||||
stream->read = 0;
|
||||
|
||||
FT_TRACE1(( "FT_Stream_Open:" ));
|
||||
FT_TRACE1(( " opened `%s' (%d bytes) successfully\n",
|
||||
filepathname, stream->size ));
|
||||
|
||||
return FT_Err_Ok;
|
||||
|
||||
|
||||
Fail_Read:
|
||||
ft_free( NULL, stream->base );
|
||||
|
||||
Fail_Map:
|
||||
close( file );
|
||||
|
||||
stream->base = NULL;
|
||||
stream->size = 0;
|
||||
stream->pos = 0;
|
||||
|
||||
|
||||
return FT_Err_Cannot_Open_Stream;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_New_Memory */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Creates a new memory object. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* A pointer to the new memory object. 0 in case of error. */
|
||||
/* */
|
||||
FT_EXPORT_FUNC( FT_Memory ) FT_New_Memory( void )
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
|
||||
extern FT_Int
|
||||
ft_mem_debug_init( FT_Memory memory );
|
||||
|
||||
extern void
|
||||
ft_mem_debug_done( FT_Memory memory );
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Memory )
|
||||
FT_New_Memory( void )
|
||||
{
|
||||
FT_Memory memory;
|
||||
|
||||
|
||||
|
||||
memory = (FT_Memory)malloc( sizeof ( *memory ) );
|
||||
if ( memory )
|
||||
|
@ -297,10 +373,25 @@
|
|||
memory->alloc = ft_alloc;
|
||||
memory->realloc = ft_realloc;
|
||||
memory->free = ft_free;
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
ft_mem_debug_init( memory );
|
||||
#endif
|
||||
}
|
||||
|
||||
return memory;
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Done_Memory( FT_Memory memory )
|
||||
{
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
ft_mem_debug_done( memory );
|
||||
#endif
|
||||
memory->free( memory, memory );
|
||||
}
|
||||
|
||||
|
||||
/* END */
|
||||
|
|
|
@ -1,19 +1,38 @@
|
|||
#! /bin/sh
|
||||
#
|
||||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
# This comes from X11R5 (mit/util/scripts/install.sh).
|
||||
|
||||
scriptversion=2005-02-02.21
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright 1991 by the Massachusetts Institute of Technology
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of M.I.T. not be used in advertising or
|
||||
# publicity pertaining to distribution of the software without specific,
|
||||
# written prior permission. M.I.T. makes no representations about the
|
||||
# suitability of this software for any purpose. It is provided "as is"
|
||||
# without express or implied warranty.
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
|
@ -23,13 +42,11 @@
|
|||
# from scratch. It can only install one file at a time, a restriction
|
||||
# shared with many OS's install programs.
|
||||
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
|
@ -41,210 +58,266 @@ stripprog="${STRIPPROG-strip}"
|
|||
rmprog="${RMPROG-rm}"
|
||||
mkdirprog="${MKDIRPROG-mkdir}"
|
||||
|
||||
transformbasename=""
|
||||
transform_arg=""
|
||||
instcmd="$mvprog"
|
||||
chmodcmd="$chmodprog 0755"
|
||||
chowncmd=""
|
||||
chgrpcmd=""
|
||||
stripcmd=""
|
||||
chowncmd=
|
||||
chgrpcmd=
|
||||
stripcmd=
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=""
|
||||
dst=""
|
||||
dir_arg=""
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dstarg=
|
||||
no_target_directory=
|
||||
|
||||
while [ x"$1" != x ]; do
|
||||
case $1 in
|
||||
-c) instcmd="$cpprog"
|
||||
shift
|
||||
continue;;
|
||||
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
In the 1st form, copy SRCFILE to DSTFILE.
|
||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
Options:
|
||||
-c (ignored)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
|
||||
"
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
while test -n "$1"; do
|
||||
case $1 in
|
||||
-c) shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd="$stripprog"
|
||||
shift
|
||||
continue;;
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
|
||||
shift
|
||||
continue;;
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
|
||||
shift
|
||||
continue;;
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
*) if [ x"$src" = x ]
|
||||
then
|
||||
src=$1
|
||||
else
|
||||
# this colon is to work around a 386BSD /bin/sh bug
|
||||
:
|
||||
dst=$1
|
||||
fi
|
||||
shift
|
||||
continue;;
|
||||
esac
|
||||
done
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
if [ x"$src" = x ]
|
||||
then
|
||||
echo "install: no input file specified"
|
||||
exit 1
|
||||
else
|
||||
true
|
||||
fi
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
if [ x"$dir_arg" != x ]; then
|
||||
dst=$src
|
||||
src=""
|
||||
|
||||
if [ -d $dst ]; then
|
||||
instcmd=:
|
||||
else
|
||||
instcmd=mkdir
|
||||
fi
|
||||
else
|
||||
-s) stripcmd=$stripprog
|
||||
shift
|
||||
continue;;
|
||||
|
||||
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
|
||||
if [ -f $src -o -d $src ]
|
||||
then
|
||||
true
|
||||
else
|
||||
echo "install: $src does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ x"$dst" = x ]
|
||||
then
|
||||
echo "install: no destination specified"
|
||||
exit 1
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
# If destination is a directory, append the input filename; if your system
|
||||
# does not like double slashes in filenames, you may need to add some logic
|
||||
|
||||
if [ -d $dst ]
|
||||
then
|
||||
dst="$dst"/`basename $src`
|
||||
else
|
||||
true
|
||||
fi
|
||||
fi
|
||||
|
||||
## this sed command emulates the dirname command
|
||||
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||
|
||||
# Make sure that the destination directory exists.
|
||||
# this part is taken from Noah Friedman's mkinstalldirs script
|
||||
|
||||
# Skip lots of stat calls in the usual case.
|
||||
if [ ! -d "$dstdir" ]; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-${defaultIFS}}"
|
||||
|
||||
oIFS="${IFS}"
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
IFS="${oIFS}"
|
||||
|
||||
pathcomp=''
|
||||
|
||||
while [ $# -ne 0 ] ; do
|
||||
pathcomp="${pathcomp}${1}"
|
||||
-t) dstarg=$2
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
if [ ! -d "${pathcomp}" ] ;
|
||||
then
|
||||
$mkdirprog "${pathcomp}"
|
||||
else
|
||||
true
|
||||
fi
|
||||
-T) no_target_directory=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
pathcomp="${pathcomp}/"
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
*) # When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
test -n "$dir_arg$dstarg" && break
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dstarg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dstarg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dstarg=$arg
|
||||
done
|
||||
break;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test -z "$1"; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call `install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]
|
||||
then
|
||||
$doit $instcmd $dst &&
|
||||
for src
|
||||
do
|
||||
# Protect names starting with `-'.
|
||||
case $src in
|
||||
-*) src=./$src ;;
|
||||
esac
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
|
||||
else
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
src=
|
||||
|
||||
# If we're going to rename the final executable, determine the name now.
|
||||
if test -d "$dst"; then
|
||||
mkdircmd=:
|
||||
chmodcmd=
|
||||
else
|
||||
mkdircmd=$mkdirprog
|
||||
fi
|
||||
else
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
if test ! -f "$src" && test ! -d "$src"; then
|
||||
echo "$0: $src does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ x"$transformarg" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
dstfile=`basename $dst $transformbasename |
|
||||
sed $transformarg`$transformbasename
|
||||
fi
|
||||
if test -z "$dstarg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# don't allow the sed command to completely eliminate the filename
|
||||
dst=$dstarg
|
||||
# Protect names starting with `-'.
|
||||
case $dst in
|
||||
-*) dst=./$dst ;;
|
||||
esac
|
||||
|
||||
if [ x"$dstfile" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
true
|
||||
fi
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
if test -d "$dst"; then
|
||||
if test -n "$no_target_directory"; then
|
||||
echo "$0: $dstarg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dst=$dst/`basename "$src"`
|
||||
fi
|
||||
fi
|
||||
|
||||
# Make a temp file name in the proper directory.
|
||||
# This sed command emulates the dirname command.
|
||||
dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
|
||||
|
||||
dsttmp=$dstdir/#inst.$$#
|
||||
# Make sure that the destination directory exists.
|
||||
|
||||
# Move or copy the file name to the temp name
|
||||
# Skip lots of stat calls in the usual case.
|
||||
if test ! -d "$dstdir"; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-$defaultIFS}"
|
||||
|
||||
$doit $instcmd $src $dsttmp &&
|
||||
oIFS=$IFS
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
shift
|
||||
IFS=$oIFS
|
||||
|
||||
trap "rm -f ${dsttmp}" 0 &&
|
||||
pathcomp=
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits
|
||||
while test $# -ne 0 ; do
|
||||
pathcomp=$pathcomp$1
|
||||
shift
|
||||
if test ! -d "$pathcomp"; then
|
||||
$mkdirprog "$pathcomp"
|
||||
# mkdir can fail with a `File exist' error in case several
|
||||
# install-sh are creating the directory concurrently. This
|
||||
# is OK.
|
||||
test -d "$pathcomp" || exit
|
||||
fi
|
||||
pathcomp=$pathcomp/
|
||||
done
|
||||
fi
|
||||
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $instcmd $src $dsttmp" command.
|
||||
if test -n "$dir_arg"; then
|
||||
$doit $mkdircmd "$dst" \
|
||||
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
|
||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
|
||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
|
||||
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
|
||||
else
|
||||
dstfile=`basename "$dst"`
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
|
||||
$doit $rmcmd -f $dstdir/$dstfile &&
|
||||
$doit $mvcmd $dsttmp $dstdir/$dstfile
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
trap '(exit $?); exit' 1 2 13 15
|
||||
|
||||
fi &&
|
||||
# Copy the file name to the temp name.
|
||||
$doit $cpprog "$src" "$dsttmp" &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
|
||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
|
||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
|
||||
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
|
||||
|
||||
exit 0
|
||||
# Now rename the file to the real destination.
|
||||
{ $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
|
||||
|| {
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
if test -f "$dstdir/$dstfile"; then
|
||||
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|
||||
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|
||||
|| {
|
||||
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
else
|
||||
:
|
||||
fi
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
|
||||
}
|
||||
}
|
||||
fi || { (exit 1); exit 1; }
|
||||
done
|
||||
|
||||
# The final little trick to "correctly" pass the exit status to the exit trap.
|
||||
{
|
||||
(exit 0); exit 0
|
||||
}
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
||||
|
|
100
builds/unix/install.mk
Normal file
100
builds/unix/install.mk
Normal file
|
@ -0,0 +1,100 @@
|
|||
#
|
||||
# FreeType 2 installation instructions for Unix systems
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2002, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
# If you say
|
||||
#
|
||||
# make install DESTDIR=/tmp/somewhere/
|
||||
#
|
||||
# don't forget the final backslash (this command is mainly for package
|
||||
# maintainers).
|
||||
|
||||
|
||||
.PHONY: install uninstall check
|
||||
|
||||
# Unix installation and deinstallation targets.
|
||||
install: $(PROJECT_LIBRARY)
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(libdir) \
|
||||
$(DESTDIR)$(libdir)/pkgconfig \
|
||||
$(DESTDIR)$(includedir)/freetype2/freetype/config \
|
||||
$(DESTDIR)$(includedir)/freetype2/freetype/internal \
|
||||
$(DESTDIR)$(includedir)/freetype2/freetype/cache \
|
||||
$(DESTDIR)$(bindir) \
|
||||
$(DESTDIR)$(datadir)/aclocal
|
||||
$(LIBTOOL) --mode=install $(INSTALL) \
|
||||
$(PROJECT_LIBRARY) $(DESTDIR)$(libdir)
|
||||
-for P in $(PUBLIC_H) ; do \
|
||||
$(INSTALL_DATA) \
|
||||
$$P $(DESTDIR)$(includedir)/freetype2/freetype ; \
|
||||
done
|
||||
-for P in $(BASE_H) ; do \
|
||||
$(INSTALL_DATA) \
|
||||
$$P $(DESTDIR)$(includedir)/freetype2/freetype/internal ; \
|
||||
done
|
||||
-for P in $(CONFIG_H) ; do \
|
||||
$(INSTALL_DATA) \
|
||||
$$P $(DESTDIR)$(includedir)/freetype2/freetype/config ; \
|
||||
done
|
||||
-for P in $(CACHE_H) ; do \
|
||||
$(INSTALL_DATA) \
|
||||
$$P $(DESTDIR)$(includedir)/freetype2/freetype/cache ; \
|
||||
done
|
||||
$(INSTALL_DATA) $(BUILD_DIR)/ft2unix.h \
|
||||
$(DESTDIR)$(includedir)/ft2build.h
|
||||
$(INSTALL_DATA) $(OBJ_BUILD)/ftconfig.h \
|
||||
$(DESTDIR)$(includedir)/freetype2/freetype/config/ftconfig.h
|
||||
$(INSTALL_SCRIPT) -m 755 $(OBJ_BUILD)/freetype-config \
|
||||
$(DESTDIR)$(bindir)/freetype-config
|
||||
$(INSTALL_SCRIPT) -m 644 $(BUILD_DIR)/freetype2.m4 \
|
||||
$(DESTDIR)$(datadir)/aclocal/freetype2.m4
|
||||
$(INSTALL_SCRIPT) -m 644 $(OBJ_BUILD)/freetype2.pc \
|
||||
$(DESTDIR)$(libdir)/pkgconfig/freetype2.pc
|
||||
|
||||
|
||||
uninstall:
|
||||
-$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(libdir)/$(LIBRARY).$A
|
||||
-$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/cache/*
|
||||
-$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype/cache
|
||||
-$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/config/*
|
||||
-$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype/config
|
||||
-$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/internal/*
|
||||
-$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype/internal
|
||||
-$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/*
|
||||
-$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype
|
||||
-$(DELDIR) $(DESTDIR)$(includedir)/freetype2
|
||||
-$(DELETE) $(DESTDIR)$(includedir)/ft2build.h
|
||||
-$(DELETE) $(DESTDIR)$(bindir)/freetype-config
|
||||
-$(DELETE) $(DESTDIR)$(datadir)/aclocal/freetype2.m4
|
||||
-$(DELETE) $(DESTDIR)$(libdir)/pkgconfig/freetype2.pc
|
||||
|
||||
|
||||
check:
|
||||
@echo There is no validation suite for this package.
|
||||
|
||||
|
||||
.PHONY: clean_project_unix distclean_project_unix
|
||||
|
||||
# Unix cleaning and distclean rules.
|
||||
#
|
||||
clean_project_unix:
|
||||
-$(DELETE) $(BASE_OBJECTS) $(OBJ_M) $(OBJ_S)
|
||||
-$(DELETE) $(patsubst %.$O,%.$(SO),$(BASE_OBJECTS) $(OBJ_M) $(OBJ_S)) \
|
||||
$(CLEAN)
|
||||
|
||||
distclean_project_unix: clean_project_unix
|
||||
-$(DELETE) $(PROJECT_LIBRARY)
|
||||
-$(DELETE) $(OBJ_DIR)/.libs/*
|
||||
-$(DELDIR) $(OBJ_DIR)/.libs
|
||||
-$(DELETE) *.orig *~ core *.core $(DISTCLEAN)
|
||||
|
||||
# EOF
|
3078
builds/unix/ltconfig
3078
builds/unix/ltconfig
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
150
builds/unix/mkinstalldirs
Normal file
150
builds/unix/mkinstalldirs
Normal file
|
@ -0,0 +1,150 @@
|
|||
#! /bin/sh
|
||||
# mkinstalldirs --- make directory hierarchy
|
||||
|
||||
scriptversion=2005-02-02.21
|
||||
|
||||
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
# Created: 1993-05-16
|
||||
# Public domain.
|
||||
#
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
errstatus=0
|
||||
dirmode=""
|
||||
|
||||
usage="\
|
||||
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
|
||||
|
||||
Create each directory DIR (with mode MODE, if specified), including all
|
||||
leading file name components.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>."
|
||||
|
||||
# process command line arguments
|
||||
while test $# -gt 0 ; do
|
||||
case $1 in
|
||||
-h | --help | --h*) # -h for help
|
||||
echo "$usage"
|
||||
exit $?
|
||||
;;
|
||||
-m) # -m PERM arg
|
||||
shift
|
||||
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
|
||||
dirmode=$1
|
||||
shift
|
||||
;;
|
||||
--version)
|
||||
echo "$0 $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
--) # stop option processing
|
||||
shift
|
||||
break
|
||||
;;
|
||||
-*) # unknown option
|
||||
echo "$usage" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
*) # first non-opt arg
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
for file
|
||||
do
|
||||
if test -d "$file"; then
|
||||
shift
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
case $# in
|
||||
0) exit 0 ;;
|
||||
esac
|
||||
|
||||
# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
|
||||
# mkdir -p a/c at the same time, both will detect that a is missing,
|
||||
# one will create a, then the other will try to create a and die with
|
||||
# a "File exists" error. This is a problem when calling mkinstalldirs
|
||||
# from a parallel make. We use --version in the probe to restrict
|
||||
# ourselves to GNU mkdir, which is thread-safe.
|
||||
case $dirmode in
|
||||
'')
|
||||
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
|
||||
echo "mkdir -p -- $*"
|
||||
exec mkdir -p -- "$@"
|
||||
else
|
||||
# On NextStep and OpenStep, the `mkdir' command does not
|
||||
# recognize any option. It will interpret all options as
|
||||
# directories to create, and then abort because `.' already
|
||||
# exists.
|
||||
test -d ./-p && rmdir ./-p
|
||||
test -d ./--version && rmdir ./--version
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
|
||||
test ! -d ./--version; then
|
||||
echo "mkdir -m $dirmode -p -- $*"
|
||||
exec mkdir -m "$dirmode" -p -- "$@"
|
||||
else
|
||||
# Clean up after NextStep and OpenStep mkdir.
|
||||
for d in ./-m ./-p ./--version "./$dirmode";
|
||||
do
|
||||
test -d $d && rmdir $d
|
||||
done
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
for file
|
||||
do
|
||||
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
|
||||
shift
|
||||
|
||||
pathcomp=
|
||||
for d
|
||||
do
|
||||
pathcomp="$pathcomp$d"
|
||||
case $pathcomp in
|
||||
-*) pathcomp=./$pathcomp ;;
|
||||
esac
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
echo "mkdir $pathcomp"
|
||||
|
||||
mkdir "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
errstatus=$lasterr
|
||||
else
|
||||
if test ! -z "$dirmode"; then
|
||||
echo "chmod $dirmode $pathcomp"
|
||||
lasterr=""
|
||||
chmod "$dirmode" "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -z "$lasterr"; then
|
||||
errstatus=$lasterr
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
pathcomp="$pathcomp/"
|
||||
done
|
||||
done
|
||||
|
||||
exit $errstatus
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
100
builds/unix/unix-cc.in
Normal file
100
builds/unix/unix-cc.in
Normal file
|
@ -0,0 +1,100 @@
|
|||
#
|
||||
# FreeType 2 template for Unix-specific compiler definitions
|
||||
#
|
||||
|
||||
# Copyright 1996-2000, 2002, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
CC := @CC@
|
||||
COMPILER_SEP := $(SEP)
|
||||
|
||||
ifndef LIBTOOL
|
||||
LIBTOOL := $(BUILD_DIR)/libtool
|
||||
endif
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := lo
|
||||
SO := o
|
||||
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := la
|
||||
SA := a
|
||||
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := lib$(PROJECT)
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o$(space)
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
# We use our own FreeType configuration file.
|
||||
#
|
||||
CFLAGS := -c @XX_CFLAGS@ @CPPFLAGS@ @CFLAGS@ \
|
||||
-DFT_CONFIG_CONFIG_H="<ftconfig.h>"
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := @XX_ANSIFLAGS@
|
||||
|
||||
# C compiler to use -- we use libtool!
|
||||
#
|
||||
#
|
||||
CCraw := $(CC)
|
||||
CC := $(LIBTOOL) --mode=compile $(CCraw)
|
||||
|
||||
# Linker flags.
|
||||
#
|
||||
LDFLAGS := @LDFLAGS@
|
||||
|
||||
|
||||
# Library linking
|
||||
#
|
||||
LINK_LIBRARY = $(LIBTOOL) --mode=link $(CCraw) -o $@ $(OBJECTS_LIST) \
|
||||
-rpath $(libdir) -version-info $(version_info) \
|
||||
$(LDFLAGS)
|
||||
|
||||
|
||||
# EOF
|
98
builds/unix/unix-def.in
Normal file
98
builds/unix/unix-def.in
Normal file
|
@ -0,0 +1,98 @@
|
|||
#
|
||||
# FreeType 2 configuration rules templates for Unix + configure
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2002, 2004 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
TOP_DIR := $(shell cd $(TOP_DIR); pwd)
|
||||
|
||||
DELETE := @RMF@
|
||||
DELDIR := @RMDIR@
|
||||
SEP := /
|
||||
|
||||
# this is used for `make distclean' and `make install'
|
||||
ifndef OBJ_BUILD
|
||||
OBJ_BUILD := $(BUILD_DIR)
|
||||
endif
|
||||
|
||||
# don't use `:=' here since the path stuff will be included after this file
|
||||
#
|
||||
FTSYS_SRC = @FTSYS_SRC@
|
||||
|
||||
INSTALL := @INSTALL@
|
||||
INSTALL_DATA := @INSTALL_DATA@
|
||||
INSTALL_PROGRAM := @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT := @INSTALL_SCRIPT@
|
||||
MKINSTALLDIRS := $(BUILD_DIR)/mkinstalldirs
|
||||
|
||||
DISTCLEAN += $(OBJ_BUILD)/config.cache \
|
||||
$(OBJ_BUILD)/config.log \
|
||||
$(OBJ_BUILD)/config.status \
|
||||
$(OBJ_BUILD)/unix-def.mk \
|
||||
$(OBJ_BUILD)/unix-cc.mk \
|
||||
$(OBJ_BUILD)/ftconfig.h \
|
||||
$(OBJ_BUILD)/freetype-config \
|
||||
$(OBJ_BUILD)/freetype2.pc \
|
||||
$(LIBTOOL) \
|
||||
$(OBJ_BUILD)/Makefile
|
||||
|
||||
|
||||
# Standard installation variables.
|
||||
#
|
||||
prefix := @prefix@
|
||||
exec_prefix := @exec_prefix@
|
||||
libdir := @libdir@
|
||||
bindir := @bindir@
|
||||
includedir := @includedir@
|
||||
datadir := @datadir@
|
||||
|
||||
version_info := @version_info@
|
||||
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
||||
# set OBJ_DIR=.../path/to/obj/dir
|
||||
# make -f $TOP_DIR/Makefile setup [options]
|
||||
# make -f $TOP_DIR/Makefile
|
||||
#
|
||||
ifndef OBJ_DIR
|
||||
OBJ_DIR := $(shell cd $(TOP_DIR)/objs; pwd)
|
||||
endif
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# The SYSTEM_ZLIB macro is defined if the user wishes to link dynamically
|
||||
# with its system wide zlib. If SYSTEM_ZLIB is 'yes', the zlib part of the
|
||||
# ftgzip module is not compiled in.
|
||||
SYSTEM_ZLIB := @SYSTEM_ZLIB@
|
||||
|
||||
|
||||
# The NO_OUTPUT macro is appended to command lines in order to ignore
|
||||
# the output of some programs.
|
||||
#
|
||||
NO_OUTPUT := 2> /dev/null
|
||||
|
||||
|
||||
# EOF
|
26
builds/unix/unix-dev.mk
Normal file
26
builds/unix/unix-dev.mk
Normal file
|
@ -0,0 +1,26 @@
|
|||
#
|
||||
# FreeType 2 Configuration rules for Unix + GCC
|
||||
#
|
||||
# Development version without optimizations & libtool
|
||||
# and no installation.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
include $(TOP_DIR)/builds/unix/unixddef.mk
|
||||
BUILD_DIR := $(TOP_DIR)/devel
|
||||
|
||||
include $(TOP_DIR)/builds/compiler/gcc-dev.mk
|
||||
include $(TOP_DIR)/builds/link_std.mk
|
||||
|
||||
|
||||
# EOF
|
24
builds/unix/unix-lcc.mk
Normal file
24
builds/unix/unix-lcc.mk
Normal file
|
@ -0,0 +1,24 @@
|
|||
#
|
||||
# FreeType 2 Configuration rules for Unix + LCC
|
||||
#
|
||||
# Development version without optimizations & libtool
|
||||
# and no installation.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
include $(TOP_DIR)/builds/unix/unixddef.mk
|
||||
include $(TOP_DIR)/builds/compiler/unix-lcc.mk
|
||||
include $(TOP_DIR)/builds/link_std.mk
|
||||
|
||||
|
||||
# EOF
|
|
@ -1,216 +0,0 @@
|
|||
#
|
||||
# FreeType 2 configuration rules templates for Unix + configure
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
ifndef TOP
|
||||
TOP := .
|
||||
endif
|
||||
|
||||
DELETE := @RMF@
|
||||
DELDIR := @RMDIR@
|
||||
SEP := /
|
||||
HOSTSEP := $(SEP)
|
||||
BUILD := $(TOP)/builds/unix
|
||||
PLATFORM := unix
|
||||
CC := @CC@
|
||||
|
||||
INSTALL := @INSTALL@
|
||||
INSTALL_DATA := @INSTALL_DATA@
|
||||
MKINSTALLDIRS := $(BUILD)/mkinstalldirs
|
||||
|
||||
LIBTOOL := $(BUILD)/libtool
|
||||
|
||||
|
||||
# don't use `:=' here since the path stuff will be included after this file
|
||||
#
|
||||
FTSYS_SRC = @FTSYS_SRC@
|
||||
|
||||
DISTCLEAN += $(BUILD)/config.cache \
|
||||
$(BUILD)/config.log \
|
||||
$(BUILD)/config.status \
|
||||
$(BUILD)/unix.mk \
|
||||
$(BUILD)/ftconfig.h \
|
||||
$(LIBTOOL)
|
||||
|
||||
|
||||
# Standard installation variables.
|
||||
#
|
||||
prefix := @prefix@
|
||||
exec_prefix := @exec_prefix@
|
||||
libdir := @libdir@
|
||||
bindir := @bindir@
|
||||
includedir := @includedir@
|
||||
|
||||
version_info := @version_info@
|
||||
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# Note that this is not $(TOP)/obj!
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP=.../path/to/freetype2/top/dir...
|
||||
# mkdir obj
|
||||
# make -f $TOP/Makefile setup [options]
|
||||
# make -f $TOP/Makefile
|
||||
#
|
||||
OBJ_DIR := obj
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR), however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := lo
|
||||
SO := o
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := la
|
||||
SA := a
|
||||
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := libfreetype
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o # Don't remove this comment line! We need the space after `-o'.
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
CFLAGS := -c @XX_CFLAGS@ @CFLAGS@
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := @XX_ANSIFLAGS@
|
||||
|
||||
# C compiler to use -- we use libtool!
|
||||
#
|
||||
#
|
||||
CCraw := $(CC)
|
||||
CC := $(LIBTOOL) --mode=compile $(CCraw)
|
||||
|
||||
# Linker flags.
|
||||
#
|
||||
LDFLAGS := @LDFLAGS@
|
||||
|
||||
|
||||
ifdef BUILD_FREETYPE
|
||||
|
||||
# Now include the main sub-makefile. It contains all the rules used to
|
||||
# build the library with the previous variables defined.
|
||||
#
|
||||
include $(TOP)/builds/freetype.mk
|
||||
|
||||
|
||||
# The cleanup targets.
|
||||
#
|
||||
clean_freetype: clean_freetype_unix
|
||||
distclean_freetype: distclean_freetype_unix
|
||||
|
||||
|
||||
# Unix installation and deinstallation targets.
|
||||
install: $(FT_LIBRARY)
|
||||
$(MKINSTALLDIRS) $(libdir) \
|
||||
$(includedir)/freetype/config \
|
||||
$(includedir)/freetype/internal
|
||||
$(LIBTOOL) --mode=install $(INSTALL) $(FT_LIBRARY) $(libdir)
|
||||
-for P in $(PUBLIC_H) ; do \
|
||||
$(INSTALL_DATA) $$P $(includedir)/freetype ; \
|
||||
done
|
||||
-for P in $(BASE_H) ; do \
|
||||
$(INSTALL_DATA) $$P $(includedir)/freetype/internal ; \
|
||||
done
|
||||
-for P in $(CONFIG_H) ; do \
|
||||
$(INSTALL_DATA) $$P $(includedir)/freetype/config ; \
|
||||
done
|
||||
|
||||
uninstall:
|
||||
-$(LIBTOOL) --mode=uninstall $(RM) $(libdir)/$(LIBRARY).$A
|
||||
-$(DELETE) $(includedir)/freetype/config/*
|
||||
-$(DELDIR) $(includedir)/freetype/config
|
||||
-$(DELETE) $(includedir)/freetype/internal/*
|
||||
-$(DELDIR) $(includedir)/freetype/internal
|
||||
-$(DELETE) $(includedir)/freetype/*
|
||||
-$(DELDIR) $(includedir)/freetype
|
||||
|
||||
|
||||
# Unix cleaning and distclean rules.
|
||||
#
|
||||
clean_freetype_unix:
|
||||
-$(DELETE) $(BASE_OBJECTS) $(OBJ_M) $(OBJ_S)
|
||||
-$(DELETE) $(subst $O,$(SO),$(BASE_OBJECTS) $(OBJ_M) $(OBJ_S)) \
|
||||
$(CLEAN)
|
||||
|
||||
distclean_freetype_unix: clean_freetype_unix
|
||||
-$(DELETE) $(FT_LIBRARY)
|
||||
-$(DELETE) $(OBJ_DIR)/.libs/*
|
||||
-$(DELDIR) $(OBJ_DIR)/.libs
|
||||
-$(DELETE) *.orig *~ core *.core $(DISTCLEAN)
|
||||
|
||||
|
||||
# Librarian to use to build the library
|
||||
#
|
||||
FT_LIBRARIAN := $(LIBTOOL) --mode=link $(CCraw)
|
||||
|
||||
|
||||
# This final rule is used to link all object files into a single library.
|
||||
# It is part of the system-specific sub-Makefile because not all
|
||||
# librarians accept a simple syntax like
|
||||
#
|
||||
# librarian library_file {list of object files}
|
||||
#
|
||||
$(FT_LIBRARY): $(OBJECTS_LIST)
|
||||
$(FT_LIBRARIAN) -o $@ $(OBJECTS_LIST) \
|
||||
-rpath $(libdir) -version-info $(version_info)
|
||||
|
||||
endif
|
||||
|
||||
# EOF
|
61
builds/unix/unix.mk
Normal file
61
builds/unix/unix.mk
Normal file
|
@ -0,0 +1,61 @@
|
|||
#
|
||||
# FreeType 2 configuration rules for UNIX platforms
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2002, 2004 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
# We need these declarations here since unix-def.mk is a generated file.
|
||||
BUILD_DIR := $(TOP_DIR)/builds/unix
|
||||
PLATFORM := unix
|
||||
|
||||
have_mk := $(strip $(wildcard $(BUILD_DIR)/unix-def.mk))
|
||||
ifneq ($(have_mk),)
|
||||
include $(BUILD_DIR)/unix-def.mk
|
||||
include $(BUILD_DIR)/unix-cc.mk
|
||||
else
|
||||
# we are building FT2 not in the src tree
|
||||
include $(OBJ_DIR)/unix-def.mk
|
||||
include $(OBJ_DIR)/unix-cc.mk
|
||||
endif
|
||||
|
||||
ifdef BUILD_PROJECT
|
||||
|
||||
.PHONY: clean_project distclean_project
|
||||
|
||||
# Now include the main sub-makefile. It contains all the rules used to
|
||||
# build the library with the previous variables defined.
|
||||
#
|
||||
include $(TOP_DIR)/builds/$(PROJECT).mk
|
||||
|
||||
|
||||
# The cleanup targets.
|
||||
#
|
||||
clean_project: clean_project_unix
|
||||
distclean_project: distclean_project_unix
|
||||
|
||||
|
||||
# This final rule is used to link all object files into a single library.
|
||||
# It is part of the system-specific sub-Makefile because not all
|
||||
# librarians accept a simple syntax like
|
||||
#
|
||||
# librarian library_file {list of object files}
|
||||
#
|
||||
$(PROJECT_LIBRARY): $(OBJECTS_LIST)
|
||||
ifdef CLEAN_LIBRARY
|
||||
-$(CLEAN_LIBRARY) $(NO_OUTPUT)
|
||||
endif
|
||||
$(LINK_LIBRARY)
|
||||
|
||||
endif
|
||||
|
||||
include $(TOP_DIR)/builds/unix/install.mk
|
||||
|
||||
# EOF
|
55
builds/unix/unixddef.mk
Normal file
55
builds/unix/unixddef.mk
Normal file
|
@ -0,0 +1,55 @@
|
|||
#
|
||||
# FreeType 2 configuration rules templates for
|
||||
# development under Unix with no configure script (gcc only)
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
TOP_DIR := $(shell cd $(TOP_DIR); pwd)
|
||||
|
||||
DELETE := rm -f
|
||||
SEP := /
|
||||
|
||||
# we use a special devel ftoption.h
|
||||
BUILD_DIR := $(TOP_DIR)/devel
|
||||
|
||||
# do not set the platform to `unix', or libtool will trick you
|
||||
PLATFORM := unixdev
|
||||
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
ifndef OBJ_DIR
|
||||
OBJ_DIR := $(shell cd $(TOP_DIR)/objs; pwd)
|
||||
endif
|
||||
|
||||
|
||||
# library file name
|
||||
#
|
||||
LIBRARY := lib$(PROJECT)
|
||||
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
NO_OUTPUT := 2> /dev/null
|
||||
|
||||
|
||||
# EOF
|
331
builds/vms/ftconfig.h
Normal file
331
builds/vms/ftconfig.h
Normal file
|
@ -0,0 +1,331 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftconfig.h */
|
||||
/* */
|
||||
/* VMS-specific configuration file (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002, 2003, 2004 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||
/* this file you indicate that you have read the license and */
|
||||
/* understand and accept it fully. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This header file contains a number of macro definitions that are used */
|
||||
/* by the rest of the engine. Most of the macros here are automatically */
|
||||
/* determined at compile time, and you should not need to change it to */
|
||||
/* port FreeType, except to compile the library with a non-ANSI */
|
||||
/* compiler. */
|
||||
/* */
|
||||
/* Note however that if some specific modifications are needed, we */
|
||||
/* advise you to place a modified copy in your build directory. */
|
||||
/* */
|
||||
/* The build directory is usually `freetype/builds/<system>', and */
|
||||
/* contains system-specific files that are always included first when */
|
||||
/* building the library. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
#ifndef __FTCONFIG_H__
|
||||
#define __FTCONFIG_H__
|
||||
|
||||
|
||||
/* Include the header file containing all developer build options */
|
||||
#include <ft2build.h>
|
||||
#include FT_CONFIG_OPTIONS_H
|
||||
#include FT_CONFIG_STANDARD_LIBRARY_H
|
||||
|
||||
|
||||
FT_BEGIN_HEADER
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* PLATFORM-SPECIFIC CONFIGURATION MACROS */
|
||||
/* */
|
||||
/* These macros can be toggled to suit a specific system. The current */
|
||||
/* ones are defaults used to compile FreeType in an ANSI C environment */
|
||||
/* (16bit compilers are also supported). Copy this file to your own */
|
||||
/* `freetype/builds/<system>' directory, and edit it to port the engine. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
#define HAVE_UNISTD_H 1
|
||||
#define HAVE_FCNTL_H 1
|
||||
|
||||
#define SIZEOF_INT 4
|
||||
#define SIZEOF_LONG 4
|
||||
|
||||
#define FT_SIZEOF_INT 4
|
||||
#define FT_SIZEOF_LONG 4
|
||||
|
||||
#define FT_CHAR_BIT 8
|
||||
|
||||
|
||||
/* Preferred alignment of data */
|
||||
#define FT_ALIGNMENT 8
|
||||
|
||||
|
||||
/* FT_UNUSED is a macro used to indicate that a given parameter is not */
|
||||
/* used -- this is only used to get rid of unpleasant compiler warnings */
|
||||
#ifndef FT_UNUSED
|
||||
#define FT_UNUSED( arg ) ( (arg) = (arg) )
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* AUTOMATIC CONFIGURATION MACROS */
|
||||
/* */
|
||||
/* These macros are computed from the ones defined above. Don't touch */
|
||||
/* their definition, unless you know precisely what you are doing. No */
|
||||
/* porter should need to mess with them. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Mac support */
|
||||
/* */
|
||||
/* This is the only necessary change, so it is defined here instead */
|
||||
/* providing a new configuration file. */
|
||||
/* */
|
||||
#if ( defined( __APPLE__ ) && !defined( DARWIN_NO_CARBON ) ) || \
|
||||
( defined( __MWERKS__ ) && defined( macintosh ) )
|
||||
#define FT_MACINTOSH 1
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* IntN types */
|
||||
/* */
|
||||
/* Used to guarantee the size of some specific integers. */
|
||||
/* */
|
||||
typedef signed short FT_Int16;
|
||||
typedef unsigned short FT_UInt16;
|
||||
|
||||
#if FT_SIZEOF_INT == 4
|
||||
|
||||
typedef signed int FT_Int32;
|
||||
typedef unsigned int FT_UInt32;
|
||||
|
||||
#elif FT_SIZEOF_LONG == 4
|
||||
|
||||
typedef signed long FT_Int32;
|
||||
typedef unsigned long FT_UInt32;
|
||||
|
||||
#else
|
||||
#error "no 32bit type found -- please check your configuration files"
|
||||
#endif
|
||||
|
||||
/* look up an integer type that is at least 32 bits */
|
||||
#if FT_SIZEOF_INT >= 4
|
||||
|
||||
typedef int FT_Fast;
|
||||
typedef unsigned int FT_UFast;
|
||||
|
||||
#elif FT_SIZEOF_LONG >= 4
|
||||
|
||||
typedef long FT_Fast;
|
||||
typedef unsigned long FT_UFast;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* determine whether we have a 64-bit int type for platforms without */
|
||||
/* Autoconf */
|
||||
#if FT_SIZEOF_LONG == 8
|
||||
|
||||
/* FT_LONG64 must be defined if a 64-bit type is available */
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 long
|
||||
|
||||
#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */
|
||||
|
||||
/* this compiler provides the __int64 type */
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 __int64
|
||||
|
||||
#elif defined( __BORLANDC__ ) /* Borland C++ */
|
||||
|
||||
/* XXXX: We should probably check the value of __BORLANDC__ in order */
|
||||
/* to test the compiler version. */
|
||||
|
||||
/* this compiler provides the __int64 type */
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 __int64
|
||||
|
||||
#elif defined( __WATCOMC__ ) /* Watcom C++ */
|
||||
|
||||
/* Watcom doesn't provide 64-bit data types */
|
||||
|
||||
#elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */
|
||||
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 long long int
|
||||
|
||||
#elif defined( __GNUC__ )
|
||||
|
||||
/* GCC provides the "long long" type */
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 long long int
|
||||
|
||||
#endif /* FT_SIZEOF_LONG == 8 */
|
||||
|
||||
|
||||
#define FT_BEGIN_STMNT do {
|
||||
#define FT_END_STMNT } while ( 0 )
|
||||
#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* A 64-bit data type will create compilation problems if you compile */
|
||||
/* in strict ANSI mode. To avoid them, we disable their use if */
|
||||
/* __STDC__ is defined. You can however ignore this rule by */
|
||||
/* defining the FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */
|
||||
/* */
|
||||
#if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 )
|
||||
|
||||
#ifdef __STDC__
|
||||
|
||||
/* undefine the 64-bit macros in strict ANSI compilation mode */
|
||||
#undef FT_LONG64
|
||||
#undef FT_INT64
|
||||
|
||||
#endif /* __STDC__ */
|
||||
|
||||
#endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */
|
||||
|
||||
|
||||
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
|
||||
|
||||
#define FT_LOCAL( x ) static x
|
||||
#define FT_LOCAL_DEF( x ) static x
|
||||
|
||||
#else
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_LOCAL( x ) extern "C" x
|
||||
#define FT_LOCAL_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_LOCAL( x ) extern x
|
||||
#define FT_LOCAL_DEF( x ) x
|
||||
#endif
|
||||
|
||||
#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
|
||||
|
||||
|
||||
#ifndef FT_BASE
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_BASE( x ) extern "C" x
|
||||
#else
|
||||
#define FT_BASE( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_BASE */
|
||||
|
||||
|
||||
#ifndef FT_BASE_DEF
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_BASE_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_BASE_DEF( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_BASE_DEF */
|
||||
|
||||
|
||||
#ifndef FT_EXPORT
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_EXPORT( x ) extern "C" x
|
||||
#else
|
||||
#define FT_EXPORT( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_EXPORT */
|
||||
|
||||
|
||||
#ifndef FT_EXPORT_DEF
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_EXPORT_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_EXPORT_DEF( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_EXPORT_DEF */
|
||||
|
||||
|
||||
#ifndef FT_EXPORT_VAR
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_EXPORT_VAR( x ) extern "C" x
|
||||
#else
|
||||
#define FT_EXPORT_VAR( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_EXPORT_VAR */
|
||||
|
||||
/* The following macros are needed to compile the library with a */
|
||||
/* C++ compiler and with 16bit compilers. */
|
||||
/* */
|
||||
|
||||
/* This is special. Within C++, you must specify `extern "C"' for */
|
||||
/* functions which are used via function pointers, and you also */
|
||||
/* must do that for structures which contain function pointers to */
|
||||
/* assure C linkage -- it's not possible to have (local) anonymous */
|
||||
/* functions which are accessed by (global) function pointers. */
|
||||
/* */
|
||||
/* */
|
||||
/* FT_CALLBACK_DEF is used to _define_ a callback function. */
|
||||
/* */
|
||||
/* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */
|
||||
/* contains pointers to callback functions. */
|
||||
/* */
|
||||
/* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */
|
||||
/* that contains pointers to callback functions. */
|
||||
/* */
|
||||
/* */
|
||||
/* Some 16bit compilers have to redefine these macros to insert */
|
||||
/* the infamous `_cdecl' or `__fastcall' declarations. */
|
||||
/* */
|
||||
#ifndef FT_CALLBACK_DEF
|
||||
#ifdef __cplusplus
|
||||
#define FT_CALLBACK_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_CALLBACK_DEF( x ) static x
|
||||
#endif
|
||||
#endif /* FT_CALLBACK_DEF */
|
||||
|
||||
#ifndef FT_CALLBACK_TABLE
|
||||
#ifdef __cplusplus
|
||||
#define FT_CALLBACK_TABLE extern "C"
|
||||
#define FT_CALLBACK_TABLE_DEF extern "C"
|
||||
#else
|
||||
#define FT_CALLBACK_TABLE extern
|
||||
#define FT_CALLBACK_TABLE_DEF /* nothing */
|
||||
#endif
|
||||
#endif /* FT_CALLBACK_TABLE */
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
|
||||
#endif /* __FTCONFIG_H__ */
|
||||
|
||||
|
||||
/* END */
|
321
builds/vms/ftsystem.c
Normal file
321
builds/vms/ftsystem.c
Normal file
|
@ -0,0 +1,321 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftsystem.c */
|
||||
/* */
|
||||
/* VMS-specific FreeType low-level system interface (body). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||
/* this file you indicate that you have read the license and */
|
||||
/* understand and accept it fully. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
/* we use our special ftconfig.h file, not the standard one */
|
||||
#include <ftconfig.h>
|
||||
#include FT_INTERNAL_DEBUG_H
|
||||
#include FT_SYSTEM_H
|
||||
#include FT_ERRORS_H
|
||||
#include FT_TYPES_H
|
||||
#include FT_INTERNAL_OBJECTS_H
|
||||
|
||||
/* memory-mapping includes and definitions */
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include <sys/mman.h>
|
||||
#ifndef MAP_FILE
|
||||
#define MAP_FILE 0x00
|
||||
#endif
|
||||
|
||||
#ifdef MUNMAP_USES_VOIDP
|
||||
#define MUNMAP_ARG_CAST void *
|
||||
#else
|
||||
#define MUNMAP_ARG_CAST char *
|
||||
#endif
|
||||
|
||||
#ifdef NEED_MUNMAP_DECL
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#else
|
||||
extern
|
||||
#endif
|
||||
int
|
||||
munmap( char* addr,
|
||||
int len );
|
||||
|
||||
#define MUNMAP_ARG_CAST char *
|
||||
|
||||
#endif /* NEED_DECLARATION_MUNMAP */
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#ifdef HAVE_FCNTL_H
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* MEMORY MANAGEMENT INTERFACE */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_alloc */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory allocation function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* size :: The requested size in bytes. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The address of newly allocated block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_alloc( FT_Memory memory,
|
||||
long size )
|
||||
{
|
||||
FT_UNUSED( memory );
|
||||
|
||||
return malloc( size );
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_realloc */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory reallocation function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* cur_size :: The current size of the allocated memory block. */
|
||||
/* */
|
||||
/* new_size :: The newly requested size in bytes. */
|
||||
/* */
|
||||
/* block :: The current address of the block in memory. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The address of the reallocated memory block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_realloc( FT_Memory memory,
|
||||
long cur_size,
|
||||
long new_size,
|
||||
void* block )
|
||||
{
|
||||
FT_UNUSED( memory );
|
||||
FT_UNUSED( cur_size );
|
||||
|
||||
return realloc( block, new_size );
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_free */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The memory release function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* memory :: A pointer to the memory object. */
|
||||
/* */
|
||||
/* block :: The address of block in memory to be freed. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_free( FT_Memory memory,
|
||||
void* block )
|
||||
{
|
||||
FT_UNUSED( memory );
|
||||
|
||||
free( block );
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* RESOURCE MANAGEMENT INTERFACE */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||
/* messages during execution. */
|
||||
/* */
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_io
|
||||
|
||||
/* We use the macro STREAM_FILE for convenience to extract the */
|
||||
/* system-specific stream handle from a given FreeType stream object */
|
||||
#define STREAM_FILE( stream ) ( (FILE*)stream->descriptor.pointer )
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* ft_close_stream */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The function to close a stream. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* stream :: A pointer to the stream object. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_close_stream( FT_Stream stream )
|
||||
{
|
||||
munmap( (MUNMAP_ARG_CAST)stream->descriptor.pointer, stream->size );
|
||||
|
||||
stream->descriptor.pointer = NULL;
|
||||
stream->size = 0;
|
||||
stream->base = 0;
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Stream_Open( FT_Stream stream,
|
||||
const char* filepathname )
|
||||
{
|
||||
int file;
|
||||
struct stat stat_buf;
|
||||
|
||||
|
||||
if ( !stream )
|
||||
return FT_Err_Invalid_Stream_Handle;
|
||||
|
||||
/* open the file */
|
||||
file = open( filepathname, O_RDONLY );
|
||||
if ( file < 0 )
|
||||
{
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||
return FT_Err_Cannot_Open_Resource;
|
||||
}
|
||||
|
||||
if ( fstat( file, &stat_buf ) < 0 )
|
||||
{
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not `fstat' file `%s'\n", filepathname ));
|
||||
goto Fail_Map;
|
||||
}
|
||||
|
||||
stream->size = stat_buf.st_size;
|
||||
stream->pos = 0;
|
||||
stream->base = (unsigned char *)mmap( NULL,
|
||||
stream->size,
|
||||
PROT_READ,
|
||||
MAP_FILE | MAP_PRIVATE,
|
||||
file,
|
||||
0 );
|
||||
|
||||
if ( (long)stream->base == -1 )
|
||||
{
|
||||
FT_ERROR(( "FT_Stream_Open:" ));
|
||||
FT_ERROR(( " could not `mmap' file `%s'\n", filepathname ));
|
||||
goto Fail_Map;
|
||||
}
|
||||
|
||||
close( file );
|
||||
|
||||
stream->descriptor.pointer = stream->base;
|
||||
stream->pathname.pointer = (char*)filepathname;
|
||||
|
||||
stream->close = ft_close_stream;
|
||||
stream->read = 0;
|
||||
|
||||
FT_TRACE1(( "FT_Stream_Open:" ));
|
||||
FT_TRACE1(( " opened `%s' (%d bytes) successfully\n",
|
||||
filepathname, stream->size ));
|
||||
|
||||
return FT_Err_Ok;
|
||||
|
||||
Fail_Map:
|
||||
close( file );
|
||||
|
||||
stream->base = NULL;
|
||||
stream->size = 0;
|
||||
stream->pos = 0;
|
||||
|
||||
return FT_Err_Cannot_Open_Stream;
|
||||
}
|
||||
|
||||
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
|
||||
extern FT_Int
|
||||
ft_mem_debug_init( FT_Memory memory );
|
||||
|
||||
extern void
|
||||
ft_mem_debug_done( FT_Memory memory );
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Memory )
|
||||
FT_New_Memory( void )
|
||||
{
|
||||
FT_Memory memory;
|
||||
|
||||
|
||||
memory = (FT_Memory)malloc( sizeof ( *memory ) );
|
||||
if ( memory )
|
||||
{
|
||||
memory->user = 0;
|
||||
memory->alloc = ft_alloc;
|
||||
memory->realloc = ft_realloc;
|
||||
memory->free = ft_free;
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
ft_mem_debug_init( memory );
|
||||
#endif
|
||||
}
|
||||
|
||||
return memory;
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Done_Memory( FT_Memory memory )
|
||||
{
|
||||
#ifdef FT_DEBUG_MEMORY
|
||||
ft_mem_debug_done( memory );
|
||||
#endif
|
||||
memory->free( memory, memory );
|
||||
}
|
||||
|
||||
|
||||
/* END */
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 by
|
||||
# Copyright 1996-2000, 2003, 2004 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
|
@ -13,78 +13,170 @@
|
|||
# fully.
|
||||
|
||||
|
||||
.PHONY: setup
|
||||
|
||||
|
||||
ifeq ($(PLATFORM),ansi)
|
||||
|
||||
# Detecting Windows NT is easy, as the OS variable must be defined and
|
||||
# contains `Windows_NT'. Untested with Windows 2K, but I guess it should
|
||||
# work...
|
||||
# contains `Windows_NT'. This also works with Windows 2000 and XP.
|
||||
#
|
||||
ifeq ($(OS),Windows_NT)
|
||||
is_windows := 1
|
||||
|
||||
# We test for the COMSPEC environment variable, then run the `ver'
|
||||
# command-line program to see if its output contains the word `Windows'.
|
||||
#
|
||||
# If this is true, we are running a win32 platform (or an emulation).
|
||||
#
|
||||
else
|
||||
ifdef COMSPEC
|
||||
is_windows := $(findstring Windows,$(strip $(shell ver)))
|
||||
endif
|
||||
endif # test NT
|
||||
|
||||
ifdef is_windows
|
||||
|
||||
PLATFORM := win32
|
||||
DELETE := del
|
||||
COPY := copy
|
||||
|
||||
CONFIG_FILE := w32-gcc.mk # gcc Makefile by default
|
||||
SEP := /
|
||||
ifeq ($(firstword $(CC)),cc)
|
||||
CC := gcc
|
||||
endif
|
||||
else
|
||||
|
||||
# additionally, we provide hooks for various other compilers
|
||||
# Detecting Windows 9X
|
||||
|
||||
# We used to run the `ver' command to see if its output contains the
|
||||
# word `Windows'. If this is true, we are running Windows 95 or later:
|
||||
#
|
||||
ifneq ($(findstring visualc,$(MAKECMDGOALS)),) # Visual C/C++
|
||||
CONFIG_FILE := w32-vcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := cl
|
||||
visualc: setup
|
||||
# ifdef COMSPEC
|
||||
# # First, check if we have the COMSPEC environment variable, which
|
||||
# # indicates we can use COMMAND.COM's internal commands
|
||||
# is_windows := $(findstring Windows,$(strip $(shell ver)))
|
||||
# endif
|
||||
#
|
||||
# Unfortunately, this also detects the case when one is running
|
||||
# DOS 7.x (the MS-DOS version that lies below Windows) without actually
|
||||
# launching the GUI.
|
||||
#
|
||||
# A better test is to check whether there are both the environment
|
||||
# variables `winbootdir' and `windir'. The first indicates an
|
||||
# underlying DOS 7.x, while the second is set only if win32 is available.
|
||||
#
|
||||
# Note that on Windows NT, such an environment variable will not be seen
|
||||
# from DOS-based tools like DJGPP's make; this is not actually a problem
|
||||
# since NT is detected independantly above. But do not try to be clever!
|
||||
#
|
||||
ifdef winbootdir
|
||||
ifdef windir
|
||||
|
||||
PLATFORM := win32
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||
CONFIG_FILE := w32-wat.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := wcc386
|
||||
watcom: setup
|
||||
endif
|
||||
endif # test NT
|
||||
|
||||
ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++
|
||||
CONFIG_FILE := w32-icc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := icc
|
||||
visualage: setup
|
||||
endif
|
||||
endif # test PLATFORM ansi
|
||||
|
||||
ifneq ($(findstring lcc,$(MAKECMDGOALS)),) # LCC-Win32
|
||||
CONFIG_FILE := w32-lcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := lcc
|
||||
lcc: setup
|
||||
endif
|
||||
ifeq ($(PLATFORM),win32)
|
||||
|
||||
ifneq ($(findstring devel,$(MAKECMDGOALS)),) # development target
|
||||
CONFIG_FILE := w32-dev.mk
|
||||
CC := gcc
|
||||
SEP := /
|
||||
devel: setup
|
||||
endif
|
||||
DELETE := del
|
||||
SEP := $(BACKSLASH)
|
||||
|
||||
# Setting COPY is a bit trickier. Plain COPY on NT will not work
|
||||
# correctly, because it will uppercase 8.3 filenames, creating a
|
||||
# `CONFIG.MK' file which isn't found later on by `make'.
|
||||
# Since we do not want that, we need to force execution of CMD.EXE.
|
||||
# Unfortunately, CMD.EXE is not available on Windows 9X.
|
||||
# So we need to hack.
|
||||
#
|
||||
# Kudos to Eli Zaretskii (DJGPP guru) that helped debug it.
|
||||
# Details are available in threads of the freetype mailing list
|
||||
# (2004-11-11), and then in the devel mailing list (2004-11-20 to -23).
|
||||
#
|
||||
ifeq ($(OS),Windows_NT)
|
||||
COPY := cmd.exe /c copy
|
||||
else
|
||||
COPY := copy
|
||||
endif # test NT
|
||||
|
||||
|
||||
# gcc Makefile by default
|
||||
CONFIG_FILE := w32-gcc.mk
|
||||
ifeq ($(firstword $(CC)),cc)
|
||||
CC := gcc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring list,$(MAKECMDGOALS)),) # test for the "list" target
|
||||
dump_target_list:
|
||||
@echo ÿ
|
||||
@echo $(PROJECT_TITLE) build system -- supported compilers
|
||||
@echo ÿ
|
||||
@echo Several command-line compilers are supported on Win32:
|
||||
@echo ÿ
|
||||
@echo ÿÿmake setupÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿgcc (with Mingw)
|
||||
@echo ÿÿmake setup visualcÿÿÿÿÿÿÿÿÿÿÿÿÿMicrosoft Visual C++
|
||||
@echo ÿÿmake setup bcc32ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBorland C/C++
|
||||
@echo ÿÿmake setup lccÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿWin32-LCC
|
||||
@echo ÿÿmake setup intelcÿÿÿÿÿÿÿÿÿÿÿÿÿÿIntel C/C++
|
||||
@echo ÿ
|
||||
|
||||
setup: dump_target_list
|
||||
.PHONY: dump_target_list list
|
||||
else
|
||||
setup: dos_setup
|
||||
endif
|
||||
|
||||
# additionally, we provide hooks for various other compilers
|
||||
#
|
||||
ifneq ($(findstring visualc,$(MAKECMDGOALS)),) # Visual C/C++
|
||||
CONFIG_FILE := w32-vcc.mk
|
||||
CC := cl
|
||||
visualc: setup
|
||||
.PHONY: visualc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring intelc,$(MAKECMDGOALS)),) # Intel C/C++
|
||||
CONFIG_FILE := w32-intl.mk
|
||||
CC := cl
|
||||
visualc: setup
|
||||
.PHONY: intelc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||
CONFIG_FILE := w32-wat.mk
|
||||
CC := wcc386
|
||||
watcom: setup
|
||||
.PHONY: watcom
|
||||
endif
|
||||
|
||||
ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++
|
||||
CONFIG_FILE := w32-icc.mk
|
||||
CC := icc
|
||||
visualage: setup
|
||||
.PHONY: visualage
|
||||
endif
|
||||
|
||||
ifneq ($(findstring lcc,$(MAKECMDGOALS)),) # LCC-Win32
|
||||
CONFIG_FILE := w32-lcc.mk
|
||||
CC := lcc
|
||||
lcc: setup
|
||||
.PHONY: lcc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring mingw32,$(MAKECMDGOALS)),) # mingw32
|
||||
CONFIG_FILE := w32-mingw32.mk
|
||||
CC := gcc
|
||||
mingw32: setup
|
||||
.PHONY: mingw32
|
||||
endif
|
||||
|
||||
ifneq ($(findstring bcc32,$(MAKECMDGOALS)),) # Borland C++
|
||||
CONFIG_FILE := w32-bcc.mk
|
||||
CC := bcc32
|
||||
bcc32: setup
|
||||
.PHONY: bcc32
|
||||
endif
|
||||
|
||||
ifneq ($(findstring devel-bcc,$(MAKECMDGOALS)),) # development target
|
||||
CONFIG_FILE := w32-bccd.mk
|
||||
CC := bcc32
|
||||
devel-bcc: setup
|
||||
.PHONY: devel-bcc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring devel-gcc,$(MAKECMDGOALS)),) # development target
|
||||
CONFIG_FILE := w32-dev.mk
|
||||
CC := gcc
|
||||
devel-gcc: setup
|
||||
.PHONY: devel-gcc
|
||||
endif
|
||||
|
||||
endif # test PLATFORM win32
|
||||
|
||||
endif # test is_windows
|
||||
endif # test PLATFORM
|
||||
|
||||
# EOF
|
||||
|
|
211
builds/win32/ftdebug.c
Normal file
211
builds/win32/ftdebug.c
Normal file
|
@ -0,0 +1,211 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftdebug.c */
|
||||
/* */
|
||||
/* Debugging and logging component for Win32 (body). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||
/* this file you indicate that you have read the license and */
|
||||
/* understand and accept it fully. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This component contains various macros and functions used to ease the */
|
||||
/* debugging of the FreeType engine. Its main purpose is in assertion */
|
||||
/* checking, tracing, and error detection. */
|
||||
/* */
|
||||
/* There are now three debugging modes: */
|
||||
/* */
|
||||
/* - trace mode */
|
||||
/* */
|
||||
/* Error and trace messages are sent to the log file (which can be the */
|
||||
/* standard error output). */
|
||||
/* */
|
||||
/* - error mode */
|
||||
/* */
|
||||
/* Only error messages are generated. */
|
||||
/* */
|
||||
/* - release mode: */
|
||||
/* */
|
||||
/* No error message is sent or generated. The code is free from any */
|
||||
/* debugging parts. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_INTERNAL_DEBUG_H
|
||||
|
||||
|
||||
#ifdef FT_DEBUG_LEVEL_ERROR
|
||||
|
||||
|
||||
# include <stdarg.h>
|
||||
# include <stdlib.h>
|
||||
# include <string.h>
|
||||
|
||||
# include <windows.h>
|
||||
|
||||
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Message( const char* fmt, ... )
|
||||
{
|
||||
static char buf[8192];
|
||||
va_list ap;
|
||||
|
||||
|
||||
va_start( ap, fmt );
|
||||
vsprintf( buf, fmt, ap );
|
||||
OutputDebugStringA( buf );
|
||||
va_end( ap );
|
||||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Panic( const char* fmt, ... )
|
||||
{
|
||||
static char buf[8192];
|
||||
va_list ap;
|
||||
|
||||
|
||||
va_start( ap, fmt );
|
||||
vsprintf( buf, fmt, ap );
|
||||
OutputDebugStringA( buf );
|
||||
va_end( ap );
|
||||
|
||||
exit( EXIT_FAILURE );
|
||||
}
|
||||
|
||||
|
||||
# ifdef FT_DEBUG_LEVEL_TRACE
|
||||
|
||||
|
||||
/* array of trace levels, initialized to 0 */
|
||||
int ft_trace_levels[trace_count];
|
||||
|
||||
/* define array of trace toggle names */
|
||||
# define FT_TRACE_DEF( x ) #x ,
|
||||
|
||||
static const char* ft_trace_toggles[trace_count + 1] =
|
||||
{
|
||||
# include FT_INTERNAL_TRACE_H
|
||||
NULL
|
||||
};
|
||||
|
||||
# undef FT_TRACE_DEF
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Initialize the tracing sub-system. This is done by retrieving the */
|
||||
/* value of the "FT2_DEBUG" environment variable. It must be a list of */
|
||||
/* toggles, separated by spaces, `;' or `,'. Example: */
|
||||
/* */
|
||||
/* "any:3 memory:6 stream:5" */
|
||||
/* */
|
||||
/* This will request that all levels be set to 3, except the trace level */
|
||||
/* for the memory and stream components which are set to 6 and 5, */
|
||||
/* respectively. */
|
||||
/* */
|
||||
/* See the file <freetype/internal/fttrace.h> for details of the */
|
||||
/* available toggle names. */
|
||||
/* */
|
||||
/* The level must be between 0 and 6; 0 means quiet (except for serious */
|
||||
/* runtime errors), and 6 means _very_ verbose. */
|
||||
/* */
|
||||
FT_BASE_DEF( void )
|
||||
ft_debug_init( void )
|
||||
{
|
||||
const char* ft2_debug = getenv( "FT2_DEBUG" );
|
||||
|
||||
|
||||
if ( ft2_debug )
|
||||
{
|
||||
const char* p = ft2_debug;
|
||||
const char* q;
|
||||
|
||||
|
||||
for ( ; *p; p++ )
|
||||
{
|
||||
/* skip leading whitespace and separators */
|
||||
if ( *p == ' ' || *p == '\t' || *p == ',' || *p == ';' || *p == '=' )
|
||||
continue;
|
||||
|
||||
/* read toggle name, followed by ':' */
|
||||
q = p;
|
||||
while ( *p && *p != ':' )
|
||||
p++;
|
||||
|
||||
if ( *p == ':' && p > q )
|
||||
{
|
||||
int n, i, len = p - q;
|
||||
int level = -1, found = -1;
|
||||
|
||||
|
||||
for ( n = 0; n < trace_count; n++ )
|
||||
{
|
||||
const char* toggle = ft_trace_toggles[n];
|
||||
|
||||
|
||||
for ( i = 0; i < len; i++ )
|
||||
{
|
||||
if ( toggle[i] != q[i] )
|
||||
break;
|
||||
}
|
||||
|
||||
if ( i == len && toggle[i] == 0 )
|
||||
{
|
||||
found = n;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* read level */
|
||||
p++;
|
||||
if ( *p )
|
||||
{
|
||||
level = *p++ - '0';
|
||||
if ( level < 0 || level > 6 )
|
||||
level = -1;
|
||||
}
|
||||
|
||||
if ( found >= 0 && level >= 0 )
|
||||
{
|
||||
if ( found == trace_any )
|
||||
{
|
||||
/* special case for "any" */
|
||||
for ( n = 0; n < trace_count; n++ )
|
||||
ft_trace_levels[n] = level;
|
||||
}
|
||||
else
|
||||
ft_trace_levels[found] = level;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# else /* !FT_DEBUG_LEVEL_TRACE */
|
||||
|
||||
|
||||
FT_BASE_DEF( void )
|
||||
ft_debug_init( void )
|
||||
{
|
||||
/* nothing */
|
||||
}
|
||||
|
||||
|
||||
# endif /* !FT_DEBUG_LEVEL_TRACE */
|
||||
|
||||
#endif /* FT_DEBUG_LEVEL_ERROR */
|
||||
|
||||
/* END */
|
349
builds/win32/visualc/freetype.dsp
Normal file
349
builds/win32/visualc/freetype.dsp
Normal file
|
@ -0,0 +1,349 @@
|
|||
# Microsoft Developer Studio Project File - Name="freetype" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=freetype - Win32 Debug Singlethreaded
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "freetype.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "freetype.mak" CFG="freetype - Win32 Debug Singlethreaded"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "freetype - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "freetype - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "freetype - Win32 Debug Multithreaded" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "freetype - Win32 Release Multithreaded" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "freetype - Win32 Release Singlethreaded" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "freetype - Win32 Debug Singlethreaded" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "freetype - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "..\..\..\objs\release"
|
||||
# PROP Intermediate_Dir "..\..\..\objs\release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||
# ADD CPP /MD /Za /W4 /GX /Zi /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /FD /c
|
||||
# SUBTRACT CPP /nologo /YX
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\..\..\objs\freetype220.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "freetype - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "..\..\..\objs\debug"
|
||||
# PROP Intermediate_Dir "..\..\..\objs\debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||
# ADD CPP /MDd /Za /W4 /GX /Zi /Od /I "..\..\..\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /FD /GZ /c
|
||||
# SUBTRACT CPP /nologo /X /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\..\..\objs\freetype220_D.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "freetype___Win32_Debug_Multithreaded"
|
||||
# PROP BASE Intermediate_Dir "freetype___Win32_Debug_Multithreaded"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "..\..\..\objs\debug_mt"
|
||||
# PROP Intermediate_Dir "..\..\..\objs\debug_mt"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /Za /W3 /Gm /GX /ZI /Od /I "..\freetype\include\\" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_FLAT_COMPILE" /YX /FD /GZ /c
|
||||
# SUBTRACT BASE CPP /X
|
||||
# ADD CPP /MTd /Za /W4 /GX /Zi /Od /I "..\..\..\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /FD /GZ /c
|
||||
# SUBTRACT CPP /nologo /X /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo /out:"lib\freetype200b8_D.lib"
|
||||
# ADD LIB32 /nologo /out:"..\..\..\objs\freetype220MT_D.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "freetype___Win32_Release_Multithreaded"
|
||||
# PROP BASE Intermediate_Dir "freetype___Win32_Release_Multithreaded"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "..\..\..\objs\release_mt"
|
||||
# PROP Intermediate_Dir "..\..\..\objs\release_mt"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /Za /W3 /GX /O2 /I "..\freetype\include\\" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_FLAT_COMPILE" /YX /FD /c
|
||||
# ADD CPP /MT /Za /W4 /GX /Zi /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /FD /c
|
||||
# SUBTRACT CPP /nologo /YX
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo /out:"lib\freetype200b8.lib"
|
||||
# ADD LIB32 /nologo /out:"..\..\..\objs\freetype220MT.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "freetype___Win32_Release_Singlethreaded"
|
||||
# PROP BASE Intermediate_Dir "freetype___Win32_Release_Singlethreaded"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "..\..\..\objs\release_st"
|
||||
# PROP Intermediate_Dir "..\..\..\objs\release_st"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MD /Za /W4 /GX /Zi /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /FD /c
|
||||
# SUBTRACT BASE CPP /YX
|
||||
# ADD CPP /Za /W4 /GX /Zi /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /FD /c
|
||||
# SUBTRACT CPP /nologo /YX
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype206.lib"
|
||||
# ADD LIB32 /out:"..\..\..\objs\freetype220ST.lib"
|
||||
# SUBTRACT LIB32 /nologo
|
||||
|
||||
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "freetype___Win32_Debug_Singlethreaded"
|
||||
# PROP BASE Intermediate_Dir "freetype___Win32_Debug_Singlethreaded"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "..\..\..\objs\debug_st"
|
||||
# PROP Intermediate_Dir "..\..\..\objs\debug_st"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MDd /Za /W4 /Gm /GX /Zi /Od /I "..\..\..\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /FD /GZ /c
|
||||
# SUBTRACT BASE CPP /X /YX
|
||||
# ADD CPP /Za /W4 /GX /Zi /Od /I "..\..\..\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /FD /GZ /c
|
||||
# SUBTRACT CPP /nologo /X /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype206_D.lib"
|
||||
# ADD LIB32 /nologo /out:"..\..\..\objs\freetype220ST_D.lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "freetype - Win32 Release"
|
||||
# Name "freetype - Win32 Debug"
|
||||
# Name "freetype - Win32 Debug Multithreaded"
|
||||
# Name "freetype - Win32 Release Multithreaded"
|
||||
# Name "freetype - Win32 Release Singlethreaded"
|
||||
# Name "freetype - Win32 Debug Singlethreaded"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\autohint\autohint.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\bdf\bdf.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\cff\cff.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\base\ftbase.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\cache\ftcache.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\ftdebug.c
|
||||
# ADD CPP /Ze
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\base\ftglyph.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\gzip\ftgzip.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\lzw\ftlzw.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\base\ftinit.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\base\ftmm.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\base\ftsystem.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\pcf\pcf.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\pfr\pfr.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\psaux\psaux.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\pshinter\pshinter.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\psnames\psmodule.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\raster\raster.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\sfnt\sfnt.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\smooth\smooth.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\truetype\truetype.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\type1\type1.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\cid\type1cid.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\type42\type42.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\src\winfonts\winfnt.c
|
||||
# SUBTRACT CPP /Fr
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\include\ft2build.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\include\freetype\config\ftconfig.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\include\freetype\config\ftheader.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\include\freetype\config\ftmodule.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\include\freetype\config\ftoption.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\include\freetype\config\ftstdlib.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
29
builds/win32/visualc/freetype.dsw
Normal file
29
builds/win32/visualc/freetype.dsw
Normal file
|
@ -0,0 +1,29 @@
|
|||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "freetype"=.\freetype.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
33
builds/win32/visualc/freetype.sln
Normal file
33
builds/win32/visualc/freetype.sln
Normal file
|
@ -0,0 +1,33 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
Debug = Debug
|
||||
Debug Multithreaded = Debug Multithreaded
|
||||
Debug Singlethreaded = Debug Singlethreaded
|
||||
Release = Release
|
||||
Release Multithreaded = Release Multithreaded
|
||||
Release Singlethreaded = Release Singlethreaded
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug.ActiveCfg = Debug|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug.Build.0 = Debug|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded.ActiveCfg = Debug Multithreaded|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded.Build.0 = Debug Multithreaded|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded.ActiveCfg = Debug Singlethreaded|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded.Build.0 = Debug Singlethreaded|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release.ActiveCfg = Release|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release.Build.0 = Release|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded.ActiveCfg = Release Multithreaded|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded.Build.0 = Release Multithreaded|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded.ActiveCfg = Release Singlethreaded|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded.Build.0 = Release Singlethreaded|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
1674
builds/win32/visualc/freetype.vcproj
Normal file
1674
builds/win32/visualc/freetype.vcproj
Normal file
File diff suppressed because it is too large
Load diff
38
builds/win32/visualc/index.html
Normal file
38
builds/win32/visualc/index.html
Normal file
|
@ -0,0 +1,38 @@
|
|||
<html>
|
||||
<header>
|
||||
<title>
|
||||
FreeType 2 Project Files for Visual C++ and VS.NET 2003
|
||||
</title>
|
||||
</header>
|
||||
<body>
|
||||
|
||||
<h1>
|
||||
FreeType 2 Project Files for Visual C++ and VS.NET 2003
|
||||
</h1>
|
||||
|
||||
<p>This directory contains project files for Visual C++, named
|
||||
<tt>freetype.dsp</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It
|
||||
will compile the following libraries from the FreeType 2.2.0 sources:</p>
|
||||
|
||||
<ul>
|
||||
<pre>
|
||||
freetype220.lib - release build; single threaded
|
||||
freetype220_D.lib - debug build; single threaded
|
||||
freetype220MT.lib - release build; multi-threaded
|
||||
freetype220MT_D.lib - debug build; multi-threaded</pre>
|
||||
</ul>
|
||||
|
||||
<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
|
||||
archives are already stored this way, so no further action is required. If
|
||||
you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
|
||||
tool to convert the line endings. For example, with <a
|
||||
href="http://www.winzip.com">WinZip</a>, you should activate the <it>TAR
|
||||
file smart CR/LF Conversion</it> option. Alternatively, you may consider
|
||||
using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
|
||||
around, which specifically deal with this particular problem.
|
||||
|
||||
<p>Build directories are placed in the top-level <tt>objs</tt>
|
||||
directory.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
23
builds/win32/w32-bcc.mk
Normal file
23
builds/win32/w32-bcc.mk
Normal file
|
@ -0,0 +1,23 @@
|
|||
#
|
||||
# FreeType 2 Borland C++ on Win32
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||
include $(TOP_DIR)/builds/compiler/bcc.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
|
||||
# EOF
|
25
builds/win32/w32-bccd.mk
Normal file
25
builds/win32/w32-bccd.mk
Normal file
|
@ -0,0 +1,25 @@
|
|||
#
|
||||
# FreeType 2 Borland C++ on Win32 + debugging
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||
BUILD_DIR := $(TOP_DIR)/devel
|
||||
|
||||
include $(TOP_DIR)/builds/compiler/bcc-dev.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
|
||||
# EOF
|
|
@ -1,11 +1,11 @@
|
|||
#
|
||||
# FreeType 2 Configuration rules for Win32 + GCC
|
||||
# FreeType 2 configuration rules for Win32 + GCC
|
||||
#
|
||||
# Development version without optimizations.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 by
|
||||
# Copyright 1996-2000, 2003 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
|
@ -13,128 +13,23 @@
|
|||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
#
|
||||
|
||||
|
||||
# NOTE: This version requires that GNU Make is invoked from the Windows
|
||||
# Shell (_not_ Cygwin BASH)!
|
||||
#
|
||||
|
||||
ifndef TOP
|
||||
TOP := .
|
||||
ifndef TOP_DIR
|
||||
TOP_DIR := .
|
||||
endif
|
||||
|
||||
DELETE := del
|
||||
SEP := /
|
||||
HOSTSEP := $(strip \ )
|
||||
BUILD := $(TOP)/builds/win32
|
||||
PLATFORM := win32
|
||||
CC := gcc
|
||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||
BUILD_DIR := $(TOP_DIR)/devel
|
||||
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# Note that this is not $(TOP)/obj!
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP=.../path/to/freetype2/top/dir...
|
||||
# mkdir obj
|
||||
# make -f %TOP%/Makefile setup [options]
|
||||
# make -f %TOP%/Makefile
|
||||
#
|
||||
OBJ_DIR := obj
|
||||
include $(TOP_DIR)/builds/compiler/gcc-dev.mk
|
||||
|
||||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
# The directory where all library files are placed.
|
||||
#
|
||||
# By default, this is the same as $(OBJ_DIR), however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# The object file extension (for standard and static libraries). This can be
|
||||
# .o, .tco, .obj, etc., depending on the platform.
|
||||
#
|
||||
O := o
|
||||
SO := o
|
||||
|
||||
# The library file extension (for standard and static libraries). This can
|
||||
# be .a, .lib, etc., depending on the platform.
|
||||
#
|
||||
A := a
|
||||
SA := a
|
||||
|
||||
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := libfreetype
|
||||
|
||||
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o # Don't remove this comment line! We need the space after `-o'.
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -g -O0 -Wall -W
|
||||
endif
|
||||
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -ansi -pedantic
|
||||
|
||||
|
||||
ifdef BUILD_FREETYPE
|
||||
|
||||
# Now include the main sub-makefile. It contains all the rules used to
|
||||
# build the library with the previous variables defined.
|
||||
#
|
||||
include $(TOP)/builds/freetype.mk
|
||||
|
||||
# The cleanup targets.
|
||||
#
|
||||
clean_freetype: clean_freetype_dos
|
||||
distclean_freetype: distclean_freetype_dos
|
||||
|
||||
# Librarian to use to build the static library
|
||||
#
|
||||
FT_LIBRARIAN := $(AR) -r
|
||||
|
||||
|
||||
# This final rule is used to link all object files into a single library.
|
||||
# It is part of the system-specific sub-Makefile because not all
|
||||
# librarians accept a simple syntax like
|
||||
#
|
||||
# librarian library_file {list of object files}
|
||||
#
|
||||
$(FT_LIBRARY): $(OBJECTS_LIST)
|
||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(FT_LIBRARY)) 2> nul
|
||||
$(FT_LIBRARIAN) $@ $(OBJECTS_LIST)
|
||||
|
||||
endif
|
||||
|
||||
# EOF
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue