forked from minhngoc25a/freetype2
Compare commits
503 Commits
master
...
VER-2-0-4-
Author | SHA1 | Date |
---|---|---|
David Turner | aef28d5325 | |
David Turner | 49884d3eeb | |
David Turner | fbb7617183 | |
David Turner | 9f781c410b | |
David Turner | 2c454d29cf | |
David Turner | 65c39c2bb5 | |
Werner Lemberg | 604d2579ad | |
David Turner | 115a0aa218 | |
David Turner | fa6720d0f5 | |
Werner Lemberg | 6b4e8d93ae | |
Werner Lemberg | 93da21f8d7 | |
David Turner | 0ef83eda7c | |
David Turner | c7b1d818a8 | |
Werner Lemberg | 8ec0b130d8 | |
David Turner | 3d2be25ba1 | |
Werner Lemberg | b90818ed82 | |
Werner Lemberg | f8e9f4261b | |
Werner Lemberg | b9ae6d06d2 | |
Werner Lemberg | 3058af3300 | |
David Turner | 686901a1a5 | |
Werner Lemberg | 2bd945c375 | |
Werner Lemberg | 645f60b869 | |
David Turner | 1ad51db6b1 | |
Werner Lemberg | 6c01dd82ae | |
David Turner | c4256c6fe1 | |
Werner Lemberg | cec2c86494 | |
Werner Lemberg | 7840c3cc47 | |
Werner Lemberg | 442b0910b9 | |
Werner Lemberg | be0924aacc | |
Werner Lemberg | 4b07f22396 | |
David Turner | 5aeaaa2fcc | |
David Turner | faf72a3408 | |
Robert Wilhelm | 92f3b135fd | |
Werner Lemberg | 1ddd46d903 | |
David Turner | 664643336a | |
Werner Lemberg | 09c9ac2936 | |
David Turner | 9b00ad6469 | |
David Turner | 8e86015f39 | |
David Turner | fdab085e25 | |
Werner Lemberg | c634580a51 | |
Werner Lemberg | 3bf46a41b9 | |
David Turner | 61b3ea2f5f | |
David Turner | 6f30f9b3a3 | |
David Turner | 53cbe724ab | |
David Turner | 4067530a53 | |
Werner Lemberg | e2fb148d7f | |
Werner Lemberg | e46456839c | |
Werner Lemberg | 57ce6c1334 | |
David Turner | 24b0172c17 | |
David Turner | f0fbf27a4f | |
Werner Lemberg | 05d23c9c94 | |
David Turner | 07079d70c2 | |
Werner Lemberg | 4e8b203556 | |
David Turner | 65abdf98fb | |
David Turner | 27a0c21f93 | |
David Turner | d6e299cd4b | |
Werner Lemberg | dafd312150 | |
Werner Lemberg | 9802a977c0 | |
Werner Lemberg | 595309468c | |
David Turner | e9a6ea1a78 | |
David Turner | a997b43283 | |
Tom Kacvinsky | 87227cc399 | |
Werner Lemberg | 01f4a453f9 | |
Tom Kacvinsky | 951fd5bb6f | |
Tom Kacvinsky | a9c85bb6c3 | |
Tom Kacvinsky | 697752d9ae | |
Werner Lemberg | 66aab3c57d | |
Werner Lemberg | 0bb24e74b0 | |
Werner Lemberg | e746cdac2c | |
Werner Lemberg | 005b8b998a | |
Werner Lemberg | 9e77d32f21 | |
Tom Kacvinsky | 380662c06f | |
Tom Kacvinsky | 07937315b2 | |
Tom Kacvinsky | 574ed1bc97 | |
Tom Kacvinsky | e2abb1aa39 | |
Tom Kacvinsky | af56dbdb92 | |
David Turner | 870dc5bb97 | |
Werner Lemberg | 1acee48455 | |
David Turner | 95489eefe8 | |
David Turner | 95167fa5d5 | |
David Turner | 8cc7cfc15e | |
David Turner | e572327a5b | |
David Turner | 62043889ad | |
David Turner | 1389ce0188 | |
Werner Lemberg | 7dc15dbbd8 | |
David Turner | c5ec458602 | |
David Turner | 131fffe827 | |
David Turner | dd9291c538 | |
David Turner | 7dca898c4b | |
Werner Lemberg | 150f96d043 | |
Tom Kacvinsky | 8f7bec6f6f | |
Tom Kacvinsky | e47e540acf | |
Tom Kacvinsky | 35c0e256db | |
David Turner | a926ff2f6d | |
David Turner | a4e2c5f1d7 | |
David Turner | 2160af9c61 | |
Tom Kacvinsky | 106adba18c | |
Tom Kacvinsky | 3c55b304a5 | |
Tom Kacvinsky | 80b7515e4c | |
Tom Kacvinsky | 6456da1235 | |
Tom Kacvinsky | df5cea1b3e | |
Tom Kacvinsky | d06d935f3b | |
Tom Kacvinsky | f892f09752 | |
Tom Kacvinsky | 8e555b9731 | |
Tom Kacvinsky | 941099e1e5 | |
Werner Lemberg | 90e4b6b8e5 | |
Tom Kacvinsky | 1c09b9bd58 | |
Tom Kacvinsky | 98cc1f6a51 | |
Tom Kacvinsky | 435f6102f5 | |
Tom Kacvinsky | a2fb4779c4 | |
Tom Kacvinsky | cc3096c086 | |
Tom Kacvinsky | cf5a841218 | |
Werner Lemberg | 459d7e660f | |
Werner Lemberg | 183ee0af2f | |
Tom Kacvinsky | ae6e13e7ea | |
Tom Kacvinsky | 69844e856c | |
Tom Kacvinsky | 584c26a82c | |
Tom Kacvinsky | 2d2d737e83 | |
Tom Kacvinsky | e354f7243a | |
Tom Kacvinsky | 08c15e60de | |
Tom Kacvinsky | e496962f25 | |
Tom Kacvinsky | 36c8728acb | |
Tom Kacvinsky | 30e00c6be6 | |
Werner Lemberg | 1b20ae6162 | |
Werner Lemberg | 0778f2bf18 | |
Tom Kacvinsky | 97b9fe91f5 | |
Tom Kacvinsky | 0dd69c9a66 | |
Tom Kacvinsky | 1afa4a7aa3 | |
Tom Kacvinsky | a57af6fb37 | |
Werner Lemberg | d78d99a1cb | |
Tom Kacvinsky | 79f84db817 | |
Tom Kacvinsky | 6b13179803 | |
Antoine Leca | 5f9960976d | |
Werner Lemberg | 150a583254 | |
Werner Lemberg | cb6ef5a41f | |
Antoine Leca | 5e4b738ad5 | |
David Turner | c06ec0adbe | |
David Turner | 3922e4f5d0 | |
David Turner | 50004d7044 | |
David Turner | 76b88d5267 | |
David Turner | 532e02ad82 | |
Werner Lemberg | 228859b229 | |
Werner Lemberg | 82b87b344c | |
David Turner | cb36b4a37d | |
Werner Lemberg | 7fcdadc17a | |
Tom Kacvinsky | 502f702125 | |
Tom Kacvinsky | f4655dd4f6 | |
Tom Kacvinsky | a359d8a698 | |
Tom Kacvinsky | 02a16fba39 | |
Tom Kacvinsky | b3e3a77c2d | |
Tom Kacvinsky | 0f9eab88c3 | |
Tom Kacvinsky | 6ad5735a27 | |
Tom Kacvinsky | 91649c7a31 | |
Tom Kacvinsky | 91f450c295 | |
Tom Kacvinsky | 9df36e4718 | |
Werner Lemberg | a15e07e31c | |
Werner Lemberg | 3b5915dee7 | |
David Turner | 3fe7ba83a1 | |
Antoine Leca | 51bbfa5a70 | |
Tom Kacvinsky | 4caaf902d6 | |
Tom Kacvinsky | d60dbcd2a8 | |
Werner Lemberg | aba6d509c4 | |
Werner Lemberg | 74c0edf44c | |
Werner Lemberg | 57175ec7b1 | |
Werner Lemberg | 69b7937e6e | |
David Turner | 53dc9ca9c3 | |
Werner Lemberg | b632ac6e5a | |
David Turner | eff79e3126 | |
Werner Lemberg | 6e07332f94 | |
David Turner | dec12f44fa | |
David Turner | 691e2426f4 | |
Werner Lemberg | e8c8e30163 | |
Werner Lemberg | 70a6b864d4 | |
Tom Kacvinsky | e523a254e5 | |
Werner Lemberg | ddc3115f14 | |
Werner Lemberg | 941538f54e | |
Werner Lemberg | 421889b300 | |
Tom Kacvinsky | 2ef3977766 | |
Tom Kacvinsky | 094db936a2 | |
Tom Kacvinsky | c3d7df1e78 | |
Tom Kacvinsky | 879226a92c | |
Tom Kacvinsky | 8120ad9be8 | |
Tom Kacvinsky | c1430c7069 | |
Tom Kacvinsky | d569012ea0 | |
Tom Kacvinsky | 25a2c18a95 | |
Tom Kacvinsky | 30e827985d | |
Tom Kacvinsky | 7a8c67abfb | |
Tom Kacvinsky | 6d01e3972b | |
Werner Lemberg | 8dddc24dea | |
Werner Lemberg | 8c9a006d6c | |
Werner Lemberg | 0f52012e40 | |
Werner Lemberg | 9682808530 | |
Tom Kacvinsky | 7b7384927e | |
Tom Kacvinsky | 58552580ad | |
Tom Kacvinsky | 05a2eb4cf3 | |
Tom Kacvinsky | d9d7be77df | |
Tom Kacvinsky | 86c50ab52a | |
Tom Kacvinsky | bac5e658cc | |
Tom Kacvinsky | 23d1fe0878 | |
Tom Kacvinsky | c6dec5c06d | |
Werner Lemberg | 3db6a4a807 | |
Tom Kacvinsky | c079b92ab7 | |
Tom Kacvinsky | abaa5f26c9 | |
David Turner | c129cb011d | |
Tom Kacvinsky | ad0472531a | |
Tom Kacvinsky | 68c5181cbd | |
Werner Lemberg | f6fdf537e7 | |
Werner Lemberg | 77f5af7fb4 | |
David Turner | 86564229c3 | |
Werner Lemberg | 8f1d086128 | |
David Turner | d3f742417c | |
Werner Lemberg | f23f4ad1a6 | |
David Turner | 1003866897 | |
Werner Lemberg | b8eca20757 | |
Werner Lemberg | 0f4d90d294 | |
Werner Lemberg | 282a4742cf | |
Werner Lemberg | 36bb22c7b7 | |
Werner Lemberg | 16019eb8b0 | |
Werner Lemberg | 60922176fb | |
Werner Lemberg | 8c5bed7fe0 | |
Werner Lemberg | 70d9281979 | |
Werner Lemberg | de6e145b7f | |
Werner Lemberg | 4878fe6564 | |
David Turner | 15492f2785 | |
David Turner | 20f0291bd9 | |
Werner Lemberg | 2deb3eecd0 | |
David Turner | bb54f997f9 | |
David Turner | 12c6965161 | |
David Turner | 8d1779e3f2 | |
David Turner | 679fc7be7d | |
David Turner | c226851cb6 | |
David Turner | a07e763620 | |
David Turner | 0d5c29f95c | |
David Turner | 7132dbdacf | |
David Turner | b44373be98 | |
David Turner | 95bbba6b7d | |
Werner Lemberg | 42e9149f8a | |
Werner Lemberg | 6a351f3a82 | |
David Turner | 50fc8dc598 | |
Werner Lemberg | 58e6c8ea39 | |
David Turner | 7a31c1f1da | |
David Turner | 5b3e03a2ae | |
Werner Lemberg | ced382a86c | |
David Turner | 9b9a5ffb2d | |
David Turner | 5ca75c3f9d | |
Tom Kacvinsky | 6e4c779f13 | |
Tom Kacvinsky | 410a3e4646 | |
Tom Kacvinsky | 4efbfc9ba2 | |
Werner Lemberg | 61d8ed8f4d | |
David Turner | 5744be18a2 | |
Werner Lemberg | 0973e98e21 | |
Werner Lemberg | e9835a1926 | |
Werner Lemberg | dcbfffaf0c | |
Werner Lemberg | af9b8c9d6a | |
Werner Lemberg | f2b2e249a3 | |
Tom Kacvinsky | 788d724886 | |
Tom Kacvinsky | 2c7b3c7385 | |
Tom Kacvinsky | 19aeac97a4 | |
Tom Kacvinsky | ecaa7b4ae9 | |
Tom Kacvinsky | 8fa688198c | |
Werner Lemberg | f6ecab5858 | |
Werner Lemberg | 2b71db018b | |
Werner Lemberg | 2eb614d8d1 | |
Tom Kacvinsky | 32820693e8 | |
Tom Kacvinsky | b50b481d4c | |
David Turner | 36d67f89c9 | |
Tom Kacvinsky | f4f55e2159 | |
Tom Kacvinsky | 12df1b92f1 | |
Tom Kacvinsky | 752de1c862 | |
Tom Kacvinsky | c2c932847c | |
Tom Kacvinsky | 3eaa5d69b0 | |
Werner Lemberg | 761edfc0e3 | |
David Turner | b4790b0381 | |
David Turner | a38af21991 | |
Werner Lemberg | 34ad7361bd | |
Tom Kacvinsky | 79e181f0b8 | |
Tom Kacvinsky | 084b86db6c | |
Tom Kacvinsky | c33451fa5a | |
Werner Lemberg | faf1f33880 | |
Tom Kacvinsky | 781d597777 | |
Tom Kacvinsky | 183524cc2c | |
Werner Lemberg | 0b1489f937 | |
Tom Kacvinsky | f260b51e94 | |
Tom Kacvinsky | dacc5fb446 | |
Tom Kacvinsky | dfc5c58e69 | |
Werner Lemberg | bc089cd691 | |
Werner Lemberg | cafeb8abb2 | |
Werner Lemberg | 645a153c0d | |
Werner Lemberg | 2bc7c45b5f | |
Werner Lemberg | 733b2f8b0a | |
Werner Lemberg | 2f84d9a836 | |
Werner Lemberg | f5200d5ecf | |
David Turner | 7ee52893af | |
David Turner | e1d4a5867c | |
David Turner | 1babd5db86 | |
David Turner | 80766b137d | |
Werner Lemberg | 1bd8a62ef4 | |
Werner Lemberg | 904c1e15bf | |
Werner Lemberg | 9348b9fc50 | |
David Turner | 201edc9513 | |
David Turner | ace5b20b61 | |
David Turner | abd7fd4fb2 | |
David Turner | ba0eaedb55 | |
Werner Lemberg | 7d2e40ca92 | |
David Turner | 9a79eb4853 | |
David Turner | e3258dfdae | |
David Turner | fa09119bf0 | |
David Turner | 8c1b2d2c82 | |
David Turner | 0ed2173597 | |
Werner Lemberg | 4966a22cda | |
Werner Lemberg | 9e0aabf443 | |
Werner Lemberg | ee166f01cc | |
David Turner | e8b57cf82f | |
David Turner | b67dd2d4be | |
David Turner | be574d8119 | |
David Turner | 9fe20e0827 | |
David Turner | 4cb5c853d9 | |
David Turner | f1409686d5 | |
Werner Lemberg | 591088c021 | |
Werner Lemberg | 3d4d50ff31 | |
Werner Lemberg | 6828c90c5f | |
Werner Lemberg | 65ce050bfa | |
Werner Lemberg | 7a3edb723d | |
Werner Lemberg | 365c8fc1eb | |
Werner Lemberg | 46f92ef2d9 | |
David Turner | a3d302571a | |
David Turner | d2d1701333 | |
Werner Lemberg | d2ac68bddf | |
Werner Lemberg | 350a1c1a9e | |
Werner Lemberg | cf6bc2e22d | |
Werner Lemberg | ae7dc21fd1 | |
Werner Lemberg | 19e66a8f36 | |
Werner Lemberg | b92d66ce29 | |
Werner Lemberg | 6a753b4e8a | |
Werner Lemberg | 6d437b09d5 | |
Werner Lemberg | dcff1129fe | |
Werner Lemberg | b571ce70f0 | |
Werner Lemberg | 110d236f6d | |
David Turner | e566a9616f | |
Werner Lemberg | 687d32c05e | |
Werner Lemberg | 3602c4460d | |
Werner Lemberg | 322a481c73 | |
David Turner | 7bfc089dc9 | |
Tom Kacvinsky | d249ee7ac7 | |
David Turner | 7d0f1137db | |
Werner Lemberg | 241cc2cc4f | |
Werner Lemberg | 48397f5d60 | |
David Turner | 6b4a4610eb | |
David Turner | 843997b2ca | |
David Turner | 7974b6ec04 | |
Werner Lemberg | e4c39bf2f6 | |
David Turner | f81ce2c4c5 | |
David Turner | ab88a56eed | |
David Turner | 782cadcacb | |
David Turner | aaef89dcff | |
David Turner | 691a9571dd | |
Werner Lemberg | 7b028719d8 | |
David Turner | 2fab8b7fc7 | |
David Turner | 7fd0ce4ef8 | |
David Turner | 7a785934ec | |
Werner Lemberg | 7fc393b699 | |
Werner Lemberg | dc356a19af | |
Tom Kacvinsky | 968b31154f | |
Werner Lemberg | d2e9536258 | |
Werner Lemberg | a444ee94cd | |
Werner Lemberg | fbe54e4098 | |
Werner Lemberg | 795ec46f9a | |
Werner Lemberg | 54035b41a9 | |
Tom Kacvinsky | f5e39e2002 | |
Werner Lemberg | c5930ddbb0 | |
Werner Lemberg | d1008823d8 | |
Werner Lemberg | 07e32f6b04 | |
Werner Lemberg | 9a2a55a48f | |
Werner Lemberg | cd8cb7f5c4 | |
Werner Lemberg | 1d4dec05e9 | |
David Turner | b45b08fa39 | |
David Turner | 621573d1c3 | |
David Turner | 9abc0cd9ec | |
David Turner | 18ab99fa7d | |
Werner Lemberg | 47dcfcce39 | |
Werner Lemberg | 1ee37a667d | |
Werner Lemberg | 443a976885 | |
Werner Lemberg | 01bd7d5825 | |
Werner Lemberg | 5977c98470 | |
Werner Lemberg | efd108b60b | |
David Turner | ea917dae6c | |
Werner Lemberg | c817a7ee73 | |
David Turner | d092659818 | |
David Turner | 4564ca8a2c | |
David Turner | 3c491067c4 | |
David Turner | 3ee4450879 | |
David Turner | cc11a05b8a | |
David Turner | 3eff67185e | |
David Turner | 43764232b8 | |
Werner Lemberg | 59266f23c9 | |
David Turner | 36afdb3a8b | |
Werner Lemberg | 0339b6849c | |
Werner Lemberg | fd3b8e7ca1 | |
Werner Lemberg | d1242ba4bb | |
Werner Lemberg | 59395eca56 | |
Werner Lemberg | 6f3293e0b5 | |
David Turner | 674826fa81 | |
David Turner | 5483e69cd8 | |
David Turner | 214a13db23 | |
David Turner | 3752ad97d8 | |
David Turner | 2905ff93b1 | |
David Turner | ac1c157d2c | |
David Turner | 05b3a9d6f8 | |
David Turner | 71441881ab | |
David Turner | 2c4a21d3e3 | |
David Turner | 76ca167b28 | |
David Turner | a3dca2781b | |
David Turner | 4e0cebbd51 | |
David Turner | dc2cc76d62 | |
Werner Lemberg | 3254bd1f00 | |
David Turner | 99fbfd9a68 | |
Werner Lemberg | 4138ded5db | |
Werner Lemberg | 4222466667 | |
David Turner | 80c2a6ec1d | |
Just van Rossum | 99a69671d0 | |
Werner Lemberg | 7f7174ef2f | |
Werner Lemberg | 740eb33162 | |
Werner Lemberg | a935908615 | |
David Turner | f96983e003 | |
David Turner | a84d72d1fc | |
David Turner | 96bfe27722 | |
Werner Lemberg | 312b59b7c0 | |
Werner Lemberg | ec54ffde03 | |
Just van Rossum | 2bd5f22191 | |
Werner Lemberg | 1a6f111f6f | |
David Turner | 1724ba2848 | |
David Turner | 0266129b63 | |
Just van Rossum | 6e4a0a3da7 | |
David Turner | a0dfe35de1 | |
David Turner | 1504d78e07 | |
David Turner | 35d9da9b6b | |
David Turner | 325c26417b | |
David Turner | ce73def57c | |
Werner Lemberg | fcb56c9094 | |
David Turner | ba600671f1 | |
David Turner | de3f4a73c8 | |
David Turner | 59eddffa6a | |
David Turner | 2cc800d0d8 | |
David Turner | 6ff656adc3 | |
David Turner | b1baf48034 | |
David Turner | 7711109239 | |
David Turner | 6d315e33bd | |
David Turner | 5f8fb7207b | |
David Turner | 4d9c9578e7 | |
Werner Lemberg | 95ddcc0243 | |
David Turner | f740bd6576 | |
David Turner | f89f5cdf8e | |
Werner Lemberg | eedd97d775 | |
Werner Lemberg | 0122a4a948 | |
Just van Rossum | 75ca147140 | |
Werner Lemberg | 95e78ae7c7 | |
Werner Lemberg | 7ede0f4adf | |
Just van Rossum | e092162ac7 | |
Just van Rossum | 0c99641a25 | |
Werner Lemberg | 5845e519ab | |
Werner Lemberg | 53c4de62d0 | |
Werner Lemberg | a74e4c0dac | |
Werner Lemberg | 2366de2542 | |
Just van Rossum | 16b6bba241 | |
Just van Rossum | 623160b690 | |
Werner Lemberg | 9e2d89278f | |
Werner Lemberg | 4ddddb4482 | |
Werner Lemberg | ff0cedbb2f | |
Werner Lemberg | 1376fe7841 | |
Werner Lemberg | af753548e0 | |
Werner Lemberg | 7b0f516268 | |
Werner Lemberg | 6ae4765fb1 | |
Werner Lemberg | c1e05db2bf | |
Just van Rossum | f421261d9c | |
Just van Rossum | e17f3e2125 | |
David Turner | 3a3c24a684 | |
Just van Rossum | 327d330d23 | |
Just van Rossum | e882065d41 | |
Just van Rossum | 22658f8eb1 | |
Just van Rossum | 657ed493c7 | |
Just van Rossum | f88305673f | |
Just van Rossum | ccb7f762c1 | |
Just van Rossum | 6087a93044 | |
Werner Lemberg | d51e088127 | |
David Turner | ee2f62d50c | |
David Turner | c289782f0b | |
Werner Lemberg | e4fc656e0e | |
David Turner | 661f1cdbd2 | |
Werner Lemberg | 4d8370c954 | |
Werner Lemberg | 6a6ad14838 | |
Werner Lemberg | 3694a4001a | |
David Turner | e7ac6c4c66 | |
Werner Lemberg | 8283759559 | |
Just van Rossum | 554a350e7e | |
David Turner | 0e48d9f96c | |
David Turner | 1cc00d9863 | |
David Turner | 2db9bc11f6 | |
Werner Lemberg | 0840a9cc9f | |
Werner Lemberg | b31d00fa9e | |
Just van Rossum | 0e32d0616b | |
Just van Rossum | 704bf63216 | |
David Turner | b1aae9194c | |
Werner Lemberg | 4f27de131e |
|
@ -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);
|
|
||||||
}
|
|
||||||
|
|
151
INSTALL
151
INSTALL
|
@ -1,5 +1,148 @@
|
||||||
We do not provide INSTALLATION instructions for now, as FreeType 2 is
|
In order to build the library, read the `BUILD' document in the `docs'
|
||||||
still in beta.
|
directory. This is only a quick starter.
|
||||||
|
|
||||||
Note however that you'll find instructions on how to compile the library
|
|
||||||
in the "BUILD" document in the "docs" directory..
|
I. From the command line
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
There are two ways to quickly build FreeType 2 from the command
|
||||||
|
line.
|
||||||
|
|
||||||
|
The first, and favorite one, is to use the "Jam" build tool. Jam is
|
||||||
|
a highly portable replacement for Make whose control files do not
|
||||||
|
depend on the current platform or compiler toolset.
|
||||||
|
|
||||||
|
For more information, please see:
|
||||||
|
|
||||||
|
http://www.freetype.org/jam/index.html
|
||||||
|
|
||||||
|
The second one is to use "GNU Make" (and NO OTHER MAKE TOOL).
|
||||||
|
|
||||||
|
|
||||||
|
1. Building FT2 with "Jam"
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
Once you've got *our version* of the Jam tool installed on your
|
||||||
|
system, simply go to the top-level FT2 directory, then type
|
||||||
|
|
||||||
|
"jam"
|
||||||
|
|
||||||
|
on the command line. This will build the library and place it in
|
||||||
|
the "objs" directory.
|
||||||
|
|
||||||
|
By default, a static library is built. On Unix systems, it is
|
||||||
|
possible to build a shared library through the "libtool" script.
|
||||||
|
You need to have libtool installed on your system, then re-define
|
||||||
|
a few environment variables before invoking Jam, as in
|
||||||
|
|
||||||
|
export CC="libtool --mode=compile"
|
||||||
|
export LINK="libtool --mode=link"
|
||||||
|
jam
|
||||||
|
|
||||||
|
In later releases of FT2, building shared libraries with Jam
|
||||||
|
should become automatic.
|
||||||
|
|
||||||
|
|
||||||
|
2. Building FT2 with "GNU Make"
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
You need to have GNU Make (version 3.78.1 or newer) installed on
|
||||||
|
your system to compile the library from the command line. This will
|
||||||
|
_NOT_ work with other make tools (including BSD make)!
|
||||||
|
|
||||||
|
[Well, this is not really correct. Recently, a perl implementation
|
||||||
|
of make called `makepp' has appeared which can also build FreeType 2
|
||||||
|
successfully on Unix platforms. See http://LNC.usc.edu/~holt/makepp
|
||||||
|
for more details.]
|
||||||
|
|
||||||
|
- Go to the `freetype2' directory.
|
||||||
|
|
||||||
|
- Unix (any C compiler should work):
|
||||||
|
|
||||||
|
- make setup (don't worry, this will invoke a configure script)
|
||||||
|
- make
|
||||||
|
- make install
|
||||||
|
|
||||||
|
Alternatively, you can pass parameters to the configure script
|
||||||
|
within the CFG variable, as in:
|
||||||
|
|
||||||
|
- make setup CFG="--prefix=/usr"
|
||||||
|
- make
|
||||||
|
- make install
|
||||||
|
|
||||||
|
|
||||||
|
- Windows:
|
||||||
|
|
||||||
|
We provide a version of GNU Make for Win32 on the FreeType site.
|
||||||
|
See http://www.freetype.org/download.html for details.
|
||||||
|
|
||||||
|
- gcc (Mingw, _not_ CygWin):
|
||||||
|
|
||||||
|
- make setup
|
||||||
|
- make
|
||||||
|
|
||||||
|
|
||||||
|
- Visual C++:
|
||||||
|
|
||||||
|
- make setup visualc
|
||||||
|
- make
|
||||||
|
|
||||||
|
|
||||||
|
- other compilers:
|
||||||
|
|
||||||
|
- make setup bcc32 -> Borland C++ 32 bits
|
||||||
|
- make setup intelc -> Intel C++
|
||||||
|
- make setup watcom -> Watcom C++
|
||||||
|
- make setup lcc -> Win32-LCC
|
||||||
|
|
||||||
|
|
||||||
|
II. In your own environment (IDE)
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
You need to add the directories "freetype2/include" to your include
|
||||||
|
path when compiling the library.
|
||||||
|
|
||||||
|
FreeType 2 is made of several components; each one of them is
|
||||||
|
located in a subdirectory of "freetype2/src". For example,
|
||||||
|
`freetype2/src/truetype/' contains the TrueType font driver.
|
||||||
|
|
||||||
|
DO NOT COMPILE ALL C FILES! Rather, compile the following ones:
|
||||||
|
|
||||||
|
-- base components (required)
|
||||||
|
|
||||||
|
src/base/ftsystem.c
|
||||||
|
src/base/ftinit.c
|
||||||
|
src/base/ftdebug.c
|
||||||
|
src/base/ftbase.c
|
||||||
|
src/base/ftglyph.c
|
||||||
|
src/base/ftbbox.c
|
||||||
|
src/base/ftmm.c
|
||||||
|
|
||||||
|
src/base/ftmac.c -- only on the Macintosh
|
||||||
|
|
||||||
|
-- other components are optional
|
||||||
|
|
||||||
|
src/autohint/autohint.c -- auto hinting module
|
||||||
|
src/cache/ftcache.c -- cache sub-system (in beta)
|
||||||
|
src/sfnt/sfnt.c -- SFNT files support
|
||||||
|
(TrueType & OpenType)
|
||||||
|
src/cff/cff.c -- CFF/OpenType font driver
|
||||||
|
src/psnames/psnames.c -- Postscript glyph names support
|
||||||
|
src/psaux/psaux.c -- Postscript Type 1 parsing
|
||||||
|
src/truetype/truetype.c -- TrueType font driver
|
||||||
|
src/type1/type1.c -- Type 1 font driver
|
||||||
|
src/cid/type1cid.c -- Type 1 CID-keyed font driver
|
||||||
|
src/winfonts/winfonts.c -- Windows FONT / FNT font driver
|
||||||
|
|
||||||
|
Note:
|
||||||
|
|
||||||
|
`truetype.c' needs `sfnt.c' and `psnames.c'
|
||||||
|
`type1.c' needs `psaux.c' and `psnames.c'
|
||||||
|
`type1cid.c' needs `psaux.c' and `psnames.c'
|
||||||
|
`cff.c' needs `sfnt.c', `psaux.c', and `psnames.c'
|
||||||
|
|
||||||
|
etc.
|
||||||
|
|
||||||
|
For more information, please consult "docs/BUILD".
|
||||||
|
|
||||||
|
--- end of INSTALL --
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
# FreeType 2 top Jamfile (c) 2001 David Turner
|
||||||
|
#
|
||||||
|
|
||||||
|
# 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 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
FT2_INCLUDE = [ FT2_SubDir include ] ;
|
||||||
|
FT2_SRC = [ FT2_SubDir src ] ;
|
||||||
|
|
||||||
|
FT2_LIB = $(LIBPREFIX)freetype ;
|
||||||
|
|
||||||
|
if $(DEBUG_HINTER)
|
||||||
|
{
|
||||||
|
CCFLAGS += -DDEBUG_HINTER ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# We need "freetype2/include" in the current include path in order to
|
||||||
|
# compile any part of FreeType 2.
|
||||||
|
#
|
||||||
|
SubDirHdr += $(FT2_INCLUDE) ;
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to build individual source files
|
||||||
|
# for each FreeType 2 module.
|
||||||
|
#
|
||||||
|
# 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 src ;
|
||||||
|
|
||||||
|
|
||||||
|
# tests files (hinter debugging)
|
||||||
|
#
|
||||||
|
if $(DEBUG_HINTER)
|
||||||
|
{
|
||||||
|
SubInclude FT2_TOP tests ;
|
||||||
|
}
|
||||||
|
|
||||||
|
# end of top Jamfile
|
|
@ -0,0 +1,53 @@
|
||||||
|
# FreeType 2 JamRules (c) 2001 David Turner
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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) $(<) ] ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# The directory "include" must be in the current include path when compiling
|
||||||
|
# any part of FreeType. We thus update the HDRS variable there.
|
||||||
|
#
|
||||||
|
HDRS += [ FT2_SubDir include ] ;
|
||||||
|
|
||||||
|
# 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
|
85
Makefile
85
Makefile
|
@ -8,96 +8,25 @@
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
# and distributed under the terms of the FreeType project license,
|
# 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
|
# indicate that you have read the license and understand and accept it
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
# This file is designed for GNU Make, do not use it with another Make tool!
|
# Project names
|
||||||
#
|
#
|
||||||
# It works as follows:
|
PROJECT := freetype
|
||||||
#
|
PROJECT_TITLE := FreeType
|
||||||
# - 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.
|
|
||||||
|
|
||||||
|
USE_MODULES := 1
|
||||||
|
|
||||||
.PHONY: setup
|
# The variable TOP holds the path to the topmost directory in the project
|
||||||
|
|
||||||
# The variable TOP holds the path to the topmost directory in the FreeType
|
|
||||||
# engine source hierarchy. If it is not defined, default it to `.'.
|
# engine source hierarchy. If it is not defined, default it to `.'.
|
||||||
#
|
#
|
||||||
ifndef TOP
|
ifndef TOP
|
||||||
TOP := .
|
TOP := .
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CONFIG_MK := config.mk
|
include $(TOP)/builds/toplevel.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
|
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
|
||||||
|
FreeType 2.0.4
|
||||||
|
==============
|
||||||
|
|
||||||
|
Please read the CHANGES file, it contains IMPORTANT INFORMATION.
|
||||||
|
|
||||||
|
Read the files "INSTALL" or "docs/BUILD" for installation instructions.
|
||||||
|
|
||||||
|
Note that the FreeType 2 documentation is now available as a separate
|
||||||
|
package from our sites. See:
|
||||||
|
|
||||||
|
ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.0.4.tar.bz2
|
||||||
|
ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.0.4.tar.gz
|
||||||
|
ftp://ftp.freetype.org/pub/freetype2/ftdoc204.zip
|
||||||
|
|
||||||
|
Enjoy!
|
||||||
|
|
||||||
|
|
||||||
|
The FreeType Team
|
|
@ -0,0 +1,94 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration rules for a `normal' ANSI system
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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 := rm -f
|
||||||
|
SEP := /
|
||||||
|
HOSTSEP := $(SEP)
|
||||||
|
BUILD := $(TOP)/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=.../path/to/freetype2/top/dir...
|
||||||
|
# set OBJ_DIR=.../path/to/obj/dir
|
||||||
|
# make -f $TOP/Makefile setup [options]
|
||||||
|
# make -f $TOP/Makefile
|
||||||
|
#
|
||||||
|
ifndef OBJ_DIR
|
||||||
|
OBJ_DIR := $(TOP)$(SEP)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,8 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
ifndef TOP
|
include $(TOP)/builds/ansi/ansi-def.mk
|
||||||
TOP := .
|
include $(TOP)/builds/compiler/ansi-cc.mk
|
||||||
endif
|
include $(TOP)/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
|
# 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 */
|
|
|
@ -0,0 +1,96 @@
|
||||||
|
#
|
||||||
|
# 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 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 := rm -f
|
||||||
|
SEP := /
|
||||||
|
HOSTSEP := $(SEP)
|
||||||
|
BUILD := $(TOP)/builds/neos
|
||||||
|
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=.../path/to/freetype2/top/dir...
|
||||||
|
# set OBJ_DIR=.../path/to/obj/dir
|
||||||
|
# make -f $TOP/Makefile setup [options]
|
||||||
|
# make -f $TOP/Makefile
|
||||||
|
#
|
||||||
|
ifndef OBJ_DIR
|
||||||
|
OBJ_DIR := $(TOP)$(SEP)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
|
|
@ -0,0 +1,18 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration rules for a BeOS system
|
||||||
|
#
|
||||||
|
|
||||||
|
# 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)/builds/compiler/ansi-cc.mk
|
||||||
|
include $(TOP)/builds/beos/beos-def.mk
|
||||||
|
|
||||||
|
# EOF
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration file to detect an BeOS host platform.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: setup
|
||||||
|
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),ansi)
|
||||||
|
|
||||||
|
ifdef BE_HOST_CPU
|
||||||
|
|
||||||
|
PLATFORM := beos
|
||||||
|
|
||||||
|
endif # test MACHTYPE beos
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),beos)
|
||||||
|
|
||||||
|
DELETE := rm -f
|
||||||
|
SEP := /
|
||||||
|
HOSTSEP := $(SEP)
|
||||||
|
BUILD := $(TOP)/builds/beos
|
||||||
|
CONFIG_FILE := beos.mk
|
||||||
|
|
||||||
|
setup: std_setup
|
||||||
|
|
||||||
|
endif # test PLATFORM beos
|
||||||
|
|
||||||
|
# EOF
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 generic pseudo ANSI compiler
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
# Compiler command line name
|
||||||
|
#
|
||||||
|
CC := cc
|
||||||
|
|
||||||
|
# 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),$(HOSTSEP),$(PROJECT_LIBRARY))
|
||||||
|
endif
|
||||||
|
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,80 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Borland C++-specific with NO OPTIMIZATIONS + DEBUGGING
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
# Compiler command line name
|
||||||
|
#
|
||||||
|
CC := bcc32
|
||||||
|
|
||||||
|
# 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),$(HOSTSEP),$(PROJECT_LIBRARY))
|
||||||
|
endif
|
||||||
|
TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST))
|
||||||
|
LINK_LIBRARY = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%)
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,80 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Borland C++-specific rules
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
# Compiler command line name
|
||||||
|
#
|
||||||
|
CC := bcc32
|
||||||
|
|
||||||
|
# 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),$(HOSTSEP),$(PROJECT_LIBRARY))
|
||||||
|
endif
|
||||||
|
TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST))
|
||||||
|
LINK_LIBRARY = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%)
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,89 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 gcc-specific with NO OPTIMIZATIONS + DEBUGGING
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
# Compiler command line name
|
||||||
|
#
|
||||||
|
CC := gcc
|
||||||
|
|
||||||
|
# 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 -O0 \
|
||||||
|
-Wall \
|
||||||
|
-W \
|
||||||
|
-Wundef \
|
||||||
|
-Wshadow \
|
||||||
|
-Wpointer-arith \
|
||||||
|
-Wwrite-strings \
|
||||||
|
-Wstrict-prototypes \
|
||||||
|
-Wredundant-decls \
|
||||||
|
-Wnested-externs \
|
||||||
|
-Wno-long-long
|
||||||
|
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),$(HOSTSEP),$(PROJECT_LIBRARY))
|
||||||
|
endif
|
||||||
|
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,78 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 gcc-specific definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
# Compiler command line name
|
||||||
|
#
|
||||||
|
CC := gcc
|
||||||
|
|
||||||
|
# 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),$(HOSTSEP),$(PROJECT_LIBRARY))
|
||||||
|
endif
|
||||||
|
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,84 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Intel C/C++ definitions (VC++ compatibility mode)
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
# compiler command line name
|
||||||
|
#
|
||||||
|
CC := icl
|
||||||
|
|
||||||
|
|
||||||
|
# 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:$@ $(OBJECTS_LIST)
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,85 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Unix LCC specific definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
# Command line name
|
||||||
|
#
|
||||||
|
CC := lcc
|
||||||
|
|
||||||
|
|
||||||
|
# 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) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
|
||||||
|
endif
|
||||||
|
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,76 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Visual Age C++ specific definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
# command line compiler name
|
||||||
|
#
|
||||||
|
CC := icc
|
||||||
|
|
||||||
|
|
||||||
|
# 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:$@ $(OBJECTS_LIST)
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,79 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Visual C++ definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
# compiler command line name
|
||||||
|
#
|
||||||
|
CC := cl
|
||||||
|
|
||||||
|
|
||||||
|
# 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:$@ $(OBJECTS_LIST)
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,81 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Watcom-specific definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
# Compiler command line name
|
||||||
|
#
|
||||||
|
CC := wcc386
|
||||||
|
|
||||||
|
|
||||||
|
# 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),$(HOSTSEP),$(PROJECT_LIBRARY))
|
||||||
|
endif
|
||||||
|
LINK_LIBRARY = wlib -q -o = $@ $(OBJECTS_LIST)
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,81 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Win32-LCC specific definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
# Command line name
|
||||||
|
#
|
||||||
|
CC := lcc
|
||||||
|
|
||||||
|
|
||||||
|
# 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 $(SEP),\\,$@) $(subst $(SEP),\\,$(OBJECTS_LIST))
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,458 @@
|
||||||
|
## FreeType specific autoconf tests
|
||||||
|
|
||||||
|
AC_DEFUN(FT_MUNMAP_DECL,
|
||||||
|
[AC_MSG_CHECKING([whether munmap must be declared])
|
||||||
|
AC_CACHE_VAL(ft_cv_munmap_decl,
|
||||||
|
[AC_TRY_COMPILE([
|
||||||
|
#ifdef HAVE_UNISTD_H
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
#include <sys/mman.h>],
|
||||||
|
[char *(*pfn) = (char *(*))munmap],
|
||||||
|
ft_cv_munmap_decl=no,
|
||||||
|
ft_cv_munmap_decl=yes)])
|
||||||
|
AC_MSG_RESULT($ft_cv_munmap_decl)
|
||||||
|
if test $ft_cv_munmap_decl = yes; then
|
||||||
|
AC_DEFINE(NEED_MUNMAP_DECL)
|
||||||
|
fi])
|
||||||
|
|
||||||
|
AC_DEFUN(FT_MUNMAP_PARAM,
|
||||||
|
[AC_MSG_CHECKING([for munmap's first parameter type])
|
||||||
|
AC_TRY_COMPILE([
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/mman.h>
|
||||||
|
int munmap(void *, size_t);],,
|
||||||
|
AC_MSG_RESULT([void *]);AC_DEFINE(MUNMAP_USES_VOIDP),
|
||||||
|
AC_MSG_RESULT([char *]))
|
||||||
|
])
|
||||||
|
|
||||||
|
## 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
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -5,10 +5,10 @@ dnl
|
||||||
|
|
||||||
AC_INIT(ftconfig.in)
|
AC_INIT(ftconfig.in)
|
||||||
|
|
||||||
dnl Configuration file -- stay in 8.3 limit
|
dnl configuration file -- stay in 8.3 limit
|
||||||
AC_CONFIG_HEADER(ftconfig.h:ftconfig.in)
|
AC_CONFIG_HEADER(ftconfig.h:ftconfig.in)
|
||||||
|
|
||||||
version_info='6:0:0'
|
version_info='6:1:0'
|
||||||
AC_SUBST(version_info)
|
AC_SUBST(version_info)
|
||||||
|
|
||||||
dnl checks for system type
|
dnl checks for system type
|
||||||
|
@ -25,7 +25,8 @@ if test "x$CC" = xgcc; then
|
||||||
else
|
else
|
||||||
case "$host" in
|
case "$host" in
|
||||||
*-dec-osf*)
|
*-dec-osf*)
|
||||||
XX_CFLAGS="-std1 -O2 -g3"
|
CFLAGS=
|
||||||
|
XX_CFLAGS="-std1 -g3"
|
||||||
XX_ANSIFLAGS=
|
XX_ANSIFLAGS=
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
@ -39,7 +40,17 @@ AC_SUBST(XX_ANSIFLAGS)
|
||||||
|
|
||||||
AC_CHECK_PROG(RMF, rm, rm -f)
|
AC_CHECK_PROG(RMF, rm, rm -f)
|
||||||
AC_CHECK_PROG(RMDIR, rmdir, rmdir)
|
AC_CHECK_PROG(RMDIR, rmdir, rmdir)
|
||||||
|
|
||||||
|
dnl Since this file will be finally moved to another directory we make
|
||||||
|
dnl the path of the install script absolute. This small code snippet has
|
||||||
|
dnl been taken from automake's `ylwrap' script.
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
|
case "$INSTALL" in
|
||||||
|
/*)
|
||||||
|
;;
|
||||||
|
*/*)
|
||||||
|
INSTALL="`pwd`/$INSTALL" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
dnl checks for header files
|
dnl checks for header files
|
||||||
AC_HEADER_STDC
|
AC_HEADER_STDC
|
||||||
|
@ -50,7 +61,7 @@ AC_C_CONST
|
||||||
AC_CHECK_SIZEOF(int)
|
AC_CHECK_SIZEOF(int)
|
||||||
AC_CHECK_SIZEOF(long)
|
AC_CHECK_SIZEOF(long)
|
||||||
|
|
||||||
dnl Checks for library functions.
|
dnl checks for library functions
|
||||||
|
|
||||||
dnl Here we check whether we can use our mmap file component.
|
dnl Here we check whether we can use our mmap file component.
|
||||||
AC_FUNC_MMAP
|
AC_FUNC_MMAP
|
||||||
|
@ -58,6 +69,9 @@ if test "$ac_cv_func_mmap_fixed_mapped" != yes; then
|
||||||
FTSYS_SRC='$(BASE_)ftsystem.c'
|
FTSYS_SRC='$(BASE_)ftsystem.c'
|
||||||
else
|
else
|
||||||
FTSYS_SRC='$(BUILD)/ftsystem.c'
|
FTSYS_SRC='$(BUILD)/ftsystem.c'
|
||||||
|
|
||||||
|
FT_MUNMAP_DECL
|
||||||
|
FT_MUNMAP_PARAM
|
||||||
fi
|
fi
|
||||||
AC_SUBST(FTSYS_SRC)
|
AC_SUBST(FTSYS_SRC)
|
||||||
|
|
||||||
|
@ -65,10 +79,9 @@ AC_CHECK_FUNCS(memcpy memmove)
|
||||||
|
|
||||||
AM_PROG_LIBTOOL
|
AM_PROG_LIBTOOL
|
||||||
|
|
||||||
dnl create the Unix-specific sub-Makefile `builds/unix/unix.mk' that will be
|
dnl create the CygWin-specific sub-Makefile `builds/cygwin/cygwin-def.mk'
|
||||||
dnl used by the build system
|
dnl and 'builds/cygwin/cygwin-cc.mk' that will be used by the build system
|
||||||
dnl
|
dnl
|
||||||
AC_OUTPUT(unix.mk:unix.in)
|
AC_OUTPUT(cygwin-cc.mk:cygwin-cc.in cygwin-def.mk:cygwin-def.in freetype-config)
|
||||||
|
|
||||||
|
|
||||||
dnl end of configure.in
|
dnl end of configure.in
|
|
@ -0,0 +1,79 @@
|
||||||
|
# template for Unix-specific compiler definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
CC := @CC@
|
||||||
|
|
||||||
|
LIBTOOL := $(BUILD)/libtool
|
||||||
|
|
||||||
|
# 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 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@
|
||||||
|
|
||||||
|
|
||||||
|
# Library linking
|
||||||
|
#
|
||||||
|
LINK_LIBRARY = $(LIBTOOL) --mode=link $(CCraw) -o $@ $(OBJECTS_LIST) \
|
||||||
|
-rpath $(libdir) -version-info $(version_info)
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,86 @@
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
TOP := $(shell cd $(TOP); pwd)
|
||||||
|
|
||||||
|
DELETE := @RMF@
|
||||||
|
DELDIR := @RMDIR@
|
||||||
|
SEP := /
|
||||||
|
HOSTSEP := $(SEP)
|
||||||
|
BUILD := $(TOP)/builds/cygwin
|
||||||
|
PLATFORM := cygwin
|
||||||
|
|
||||||
|
# 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)/mkinstalldirs
|
||||||
|
|
||||||
|
DISTCLEAN += $(BUILD)/config.cache \
|
||||||
|
$(BUILD)/config.log \
|
||||||
|
$(BUILD)/config.status \
|
||||||
|
$(BUILD)/cygwin-def.mk \
|
||||||
|
$(BUILD)/cygwin-cc.mk \
|
||||||
|
$(BUILD)/ftconfig.h \
|
||||||
|
$(BUILD)/freetype-config \
|
||||||
|
$(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.
|
||||||
|
#
|
||||||
|
# This lets you build the library in your own directory with something like
|
||||||
|
#
|
||||||
|
# set TOP=.../path/to/freetype2/top/dir...
|
||||||
|
# set OBJ_DIR=.../path/to/obj/dir
|
||||||
|
# make -f $TOP/Makefile setup [options]
|
||||||
|
# make -f $TOP/Makefile
|
||||||
|
#
|
||||||
|
ifndef OBJ_DIR
|
||||||
|
OBJ_DIR := $(shell cd $(TOP)/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 NO_OUTPUT macro is appended to command lines in order to ignore
|
||||||
|
# the output of some programs.
|
||||||
|
#
|
||||||
|
NO_OUTPUT := 2> /dev/null
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,25 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Configuration rules for Cygwin
|
||||||
|
#
|
||||||
|
# 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)/builds/cygwin/cygwinddef.mk
|
||||||
|
BUILD := $(TOP)/builds/devel
|
||||||
|
|
||||||
|
include $(TOP)/builds/compiler/gcc-dev.mk
|
||||||
|
include $(TOP)/builds/link_std.mk
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,46 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration file for CygWin host platform.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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)/builds/cygwin/cygwin-def.mk
|
||||||
|
include $(TOP)/builds/cygwin/cygwin-cc.mk
|
||||||
|
|
||||||
|
ifdef BUILD_PROJECT
|
||||||
|
|
||||||
|
# Now include the main sub-makefile. It contains all the rules used to
|
||||||
|
# build the library with the previous variables defined.
|
||||||
|
#
|
||||||
|
include $(TOP)/builds/$(PROJECT).mk
|
||||||
|
|
||||||
|
|
||||||
|
# The cleanup targets.
|
||||||
|
#
|
||||||
|
clean_project: clean_project_cygwin
|
||||||
|
distclean_project: distclean_project_cygwin
|
||||||
|
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
include $(TOP)/builds/cygwin/install.mk
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,56 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration rules templates for
|
||||||
|
# development under Unix with no configure script (gcc 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.
|
||||||
|
|
||||||
|
|
||||||
|
ifndef TOP
|
||||||
|
TOP := .
|
||||||
|
endif
|
||||||
|
TOP := $(shell cd $(TOP); pwd)
|
||||||
|
|
||||||
|
DELETE := rm -f
|
||||||
|
SEP := /
|
||||||
|
HOSTSEP := $(SEP)
|
||||||
|
|
||||||
|
# we use a special devel ftoption.h
|
||||||
|
BUILD := $(TOP)/builds/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)/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
|
|
@ -0,0 +1,80 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration file to detect a CygWin host platform.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
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...
|
||||||
|
#
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
|
||||||
|
# Check if we are running on a CygWin system by checking the OSTYPE
|
||||||
|
# variable.
|
||||||
|
ifeq ($(OSTYPE),cygwin)
|
||||||
|
is_cygwin := 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
# 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
|
||||||
|
ifeq ($(OSTYPE),cygwin)
|
||||||
|
ifdef COMSPEC
|
||||||
|
is_cygwin := $(findstring Windows,$(strip $(shell ver)))
|
||||||
|
endif
|
||||||
|
endif # test CygWin
|
||||||
|
endif # test NT
|
||||||
|
|
||||||
|
ifdef is_cygwin
|
||||||
|
|
||||||
|
PLATFORM := cygwin
|
||||||
|
COPY := cp
|
||||||
|
DELETE := rm -f
|
||||||
|
|
||||||
|
# If `devel' is the requested target, we use a special configuration
|
||||||
|
# file named `cygwin-dev.mk'. It disables optimization and libtool.
|
||||||
|
#
|
||||||
|
ifneq ($(findstring devel,$(MAKECMDGOALS)),)
|
||||||
|
CONFIG_FILE := cygwin-dev.mk
|
||||||
|
CC := gcc
|
||||||
|
devel: setup
|
||||||
|
else
|
||||||
|
# If a CygWin platform is detected, the configure script is called and
|
||||||
|
# `cygwin.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.
|
||||||
|
#
|
||||||
|
CONFIG_FILE := cygwin.mk
|
||||||
|
setup: cygwin-def.mk
|
||||||
|
cygwin: setup
|
||||||
|
endif
|
||||||
|
|
||||||
|
setup: std_setup
|
||||||
|
|
||||||
|
cygwin-def.mk: builds/cygwin/cygwin-def.in
|
||||||
|
cd builds/cygwin; \
|
||||||
|
$(USE_CFLAGS) CONFIG_SHELL=/bin/bash ./configure $(CFG)
|
||||||
|
|
||||||
|
endif # test CygWin
|
||||||
|
endif # test PLATFORM
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,400 @@
|
||||||
|
/***************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* ftoption.h */
|
||||||
|
/* */
|
||||||
|
/* User-selectable configuration macros (specification 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. */
|
||||||
|
/* */
|
||||||
|
/***************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __FTOPTION_H__
|
||||||
|
#define __FTOPTION_H__
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* USER-SELECTABLE CONFIGURATION MACROS */
|
||||||
|
/* */
|
||||||
|
/* These macros can be toggled by developers to enable or disable */
|
||||||
|
/* certain aspects of FreeType. This is a default file, where all major */
|
||||||
|
/* options are enabled. */
|
||||||
|
/* */
|
||||||
|
/* Note that if some modifications are required for your build, we */
|
||||||
|
/* advise you to put a modified copy of this file in your build */
|
||||||
|
/* directory, rather than modifying it in-place. */
|
||||||
|
/* */
|
||||||
|
/* The build directory is normally `freetype/builds/<system>' and */
|
||||||
|
/* contains build or system-specific files that are included in */
|
||||||
|
/* priority when building the library. */
|
||||||
|
/* */
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/*************************************************************************/
|
||||||
|
/**** ****/
|
||||||
|
/**** G E N E R A L F R E E T Y P E 2 C O N F I G U R A T I O N ****/
|
||||||
|
/**** ****/
|
||||||
|
/*************************************************************************/
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Convenience functions support */
|
||||||
|
/* */
|
||||||
|
/* Some functions of the FreeType 2 API are provided as a convenience */
|
||||||
|
/* for client applications and developers. However, they are not */
|
||||||
|
/* required to build and run the library itself. */
|
||||||
|
/* */
|
||||||
|
/* By defining this configuration macro, you'll disable the */
|
||||||
|
/* compilation of these functions at build time. This can be useful */
|
||||||
|
/* to reduce the library's code size when you don't need any of */
|
||||||
|
/* these functions. */
|
||||||
|
/* */
|
||||||
|
/* All convenience functions are declared as such in their */
|
||||||
|
/* documentation. */
|
||||||
|
/* */
|
||||||
|
#undef FT_CONFIG_OPTION_NO_CONVENIENCE_FUNCS
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Alternate Glyph Image Format support */
|
||||||
|
/* */
|
||||||
|
/* By default, the glyph images returned by the FreeType glyph loader */
|
||||||
|
/* can either be a pixmap or a vectorial outline defined through */
|
||||||
|
/* Bezier control points. When defining the following configuration */
|
||||||
|
/* macro, some font drivers will be able to register alternate */
|
||||||
|
/* glyph image formats. */
|
||||||
|
/* */
|
||||||
|
/* Unset this macro if you are sure that you will never use a font */
|
||||||
|
/* driver with an alternate glyph format; this will reduce the size of */
|
||||||
|
/* the base layer code. */
|
||||||
|
/* */
|
||||||
|
/* Note that a few Type 1 fonts, as well as Windows `vector' fonts */
|
||||||
|
/* use a vector `plotter' format that isn't supported when this */
|
||||||
|
/* macro is undefined. */
|
||||||
|
/* */
|
||||||
|
#define FT_CONFIG_OPTION_ALTERNATE_GLYPH_FORMATS
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Glyph Postscript Names handling */
|
||||||
|
/* */
|
||||||
|
/* By default, FreeType 2 is compiled with the `PSNames' module. This */
|
||||||
|
/* This module is in charge of converting a glyph name string into a */
|
||||||
|
/* Unicode value, or return a Macintosh standard glyph name for the */
|
||||||
|
/* use with the TrueType `post' table. */
|
||||||
|
/* */
|
||||||
|
/* Undefine this macro if you do not want `PSNames' compiled in your */
|
||||||
|
/* build of FreeType. This has the following effects: */
|
||||||
|
/* */
|
||||||
|
/* - The TrueType driver will provide its own set of glyph names, */
|
||||||
|
/* if you build it to support postscript names in the TrueType */
|
||||||
|
/* `post' table. */
|
||||||
|
/* */
|
||||||
|
/* - The Type 1 driver will not be able to synthetize a Unicode */
|
||||||
|
/* charmap out of the glyphs found in the fonts. */
|
||||||
|
/* */
|
||||||
|
/* You would normally undefine this configuration macro when building */
|
||||||
|
/* a version of FreeType that doesn't contain a Type 1 or CFF driver. */
|
||||||
|
/* */
|
||||||
|
#define FT_CONFIG_OPTION_POSTSCRIPT_NAMES
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Postscript Names to Unicode Values support */
|
||||||
|
/* */
|
||||||
|
/* By default, FreeType 2 is built with the `PSNames' module compiled */
|
||||||
|
/* in. Among other things, the module is used to convert a glyph name */
|
||||||
|
/* into a Unicode value. This is especially useful in order to */
|
||||||
|
/* synthetize on the fly a Unicode charmap from the CFF/Type 1 driver */
|
||||||
|
/* through a big table named the `Adobe Glyph List' (AGL). */
|
||||||
|
/* */
|
||||||
|
/* Undefine this macro if you do not want the Adobe Glyph List */
|
||||||
|
/* compiled in your `PSNames' module. The Type 1 driver will not be */
|
||||||
|
/* able to synthetize a Unicode charmap out of the glyphs found in the */
|
||||||
|
/* fonts. */
|
||||||
|
/* */
|
||||||
|
#define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Many compilers provide the non-ANSI `long long' 64-bit type. You can */
|
||||||
|
/* activate it by defining the FTCALC_USE_LONG_LONG macro. Note that */
|
||||||
|
/* this will produce many -ansi warnings during library compilation, and */
|
||||||
|
/* that in many cases the generated code will not be smaller or faster! */
|
||||||
|
/* */
|
||||||
|
#undef FTCALC_USE_LONG_LONG
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* DLL export compilation */
|
||||||
|
/* */
|
||||||
|
/* When compiling FreeType as a DLL, some systems/compilers need a */
|
||||||
|
/* special keyword in front OR after the return type of function */
|
||||||
|
/* declarations. */
|
||||||
|
/* */
|
||||||
|
/* Two macros are used within the FreeType source code to define */
|
||||||
|
/* exported library functions: FT_EXPORT and FT_EXPORT_DEF. */
|
||||||
|
/* */
|
||||||
|
/* FT_EXPORT( return_type ) */
|
||||||
|
/* */
|
||||||
|
/* is used in a function declaration, as in */
|
||||||
|
/* */
|
||||||
|
/* FT_EXPORT( FT_Error ) */
|
||||||
|
/* FT_Init_FreeType( FT_Library* alibrary ); */
|
||||||
|
/* */
|
||||||
|
/* */
|
||||||
|
/* FT_EXPORT_DEF( return_type ) */
|
||||||
|
/* */
|
||||||
|
/* is used in a function definition, as in */
|
||||||
|
/* */
|
||||||
|
/* FT_EXPORT_DEF( FT_Error ) */
|
||||||
|
/* FT_Init_FreeType( FT_Library* alibrary ) */
|
||||||
|
/* { */
|
||||||
|
/* ... some code ... */
|
||||||
|
/* return FT_Err_Ok; */
|
||||||
|
/* } */
|
||||||
|
/* */
|
||||||
|
/* You can provide your own implementation of FT_EXPORT and */
|
||||||
|
/* FT_EXPORT_DEF here if you want. If you leave them undefined, they */
|
||||||
|
/* will be later automatically defined as `extern return_type' to */
|
||||||
|
/* allow normal compilation. */
|
||||||
|
/* */
|
||||||
|
#undef FT_EXPORT
|
||||||
|
#undef FT_EXPORT_DEF
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Debug level */
|
||||||
|
/* */
|
||||||
|
/* FreeType can be compiled in debug or trace mode. In debug mode, */
|
||||||
|
/* errors are reported through the `ftdebug' component. In trace */
|
||||||
|
/* mode, additional messages are sent to the standard output during */
|
||||||
|
/* execution. */
|
||||||
|
/* */
|
||||||
|
/* Define FT_DEBUG_LEVEL_ERROR to build the library in debug mode. */
|
||||||
|
/* Define FT_DEBUG_LEVEL_TRACE to build it in trace mode. */
|
||||||
|
/* */
|
||||||
|
/* Don't define any of these macros to compile in `release' mode! */
|
||||||
|
/* */
|
||||||
|
#define FT_DEBUG_LEVEL_ERROR
|
||||||
|
#define FT_DEBUG_LEVEL_TRACE
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Computation Algorithms */
|
||||||
|
/* */
|
||||||
|
/* Used for debugging, this configuration macro should disappear */
|
||||||
|
/* soon. */
|
||||||
|
/* */
|
||||||
|
#define FT_CONFIG_OPTION_OLD_CALCS
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* The size in bytes of the render pool used by the scan-line converter */
|
||||||
|
/* to do all of its work. */
|
||||||
|
/* */
|
||||||
|
/* This must be greater than 4kByte. */
|
||||||
|
/* */
|
||||||
|
#define FT_RENDER_POOL_SIZE 16384
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* FT_MAX_MODULES */
|
||||||
|
/* */
|
||||||
|
/* The maximum number of modules that can be registered in a single */
|
||||||
|
/* FreeType library object. 16 is the default. */
|
||||||
|
/* */
|
||||||
|
#define FT_MAX_MODULES 16
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* FT_MAX_EXTENSIONS */
|
||||||
|
/* */
|
||||||
|
/* The maximum number of extensions that can be registered in a single */
|
||||||
|
/* font driver. 8 is the default. */
|
||||||
|
/* */
|
||||||
|
/* If you don't know what this means, you certainly do not need to */
|
||||||
|
/* change this value. */
|
||||||
|
/* */
|
||||||
|
#define FT_MAX_EXTENSIONS 8
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/*************************************************************************/
|
||||||
|
/**** ****/
|
||||||
|
/**** S F N T D R I V E R C O N F I G U R A T I O N ****/
|
||||||
|
/**** ****/
|
||||||
|
/*************************************************************************/
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Define TT_CONFIG_OPTION_EMBEDDED_BITMAPS if you want to support */
|
||||||
|
/* embedded bitmaps in all formats using the SFNT module (namely */
|
||||||
|
/* TrueType & OpenType). */
|
||||||
|
/* */
|
||||||
|
#define TT_CONFIG_OPTION_EMBEDDED_BITMAPS
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Define TT_CONFIG_OPTION_POSTSCRIPT_NAMES if you want to be able to */
|
||||||
|
/* load and enumerate the glyph Postscript names in a TrueType or */
|
||||||
|
/* OpenType file. */
|
||||||
|
/* */
|
||||||
|
/* Note that when you do not compile the `PSNames' module by undefining */
|
||||||
|
/* the above FT_CONFIG_OPTION_POSTSCRIPT_NAMES, the `sfnt' module will */
|
||||||
|
/* contain additional code used to read the PS Names table from a font. */
|
||||||
|
/* */
|
||||||
|
/* (By default, the module uses `PSNames' to extract glyph names.) */
|
||||||
|
/* */
|
||||||
|
#define TT_CONFIG_OPTION_POSTSCRIPT_NAMES
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Define TT_CONFIG_OPTION_SFNT_NAMES if your applications need to */
|
||||||
|
/* access the internal name table in a SFNT-based format like TrueType */
|
||||||
|
/* or OpenType. The name table contains various strings used to */
|
||||||
|
/* describe the font, like family name, copyright, version, etc. It */
|
||||||
|
/* does not contain any glyph name though. */
|
||||||
|
/* */
|
||||||
|
/* Accessing SFNT names is done through the functions declared in */
|
||||||
|
/* `freetype/ftnames.h'. */
|
||||||
|
/* */
|
||||||
|
#define TT_CONFIG_OPTION_SFNT_NAMES
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/*************************************************************************/
|
||||||
|
/**** ****/
|
||||||
|
/**** T R U E T Y P E D R I V E R C O N F I G U R A T I O N ****/
|
||||||
|
/**** ****/
|
||||||
|
/*************************************************************************/
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Define TT_CONFIG_OPTION_BYTECODE_INTERPRETER if you want to compile */
|
||||||
|
/* a bytecode interpreter in the TrueType driver. Note that there are */
|
||||||
|
/* important patent issues related to the use of the interpreter. */
|
||||||
|
/* */
|
||||||
|
/* By undefining this, you will only compile the code necessary to load */
|
||||||
|
/* TrueType glyphs without hinting. */
|
||||||
|
/* */
|
||||||
|
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Define TT_CONFIG_OPTION_INTERPRETER_SWITCH to compile the TrueType */
|
||||||
|
/* bytecode interpreter with a huge switch statement, rather than a call */
|
||||||
|
/* table. This results in smaller and faster code for a number of */
|
||||||
|
/* architectures. */
|
||||||
|
/* */
|
||||||
|
/* Note however that on some compiler/processor combinations, undefining */
|
||||||
|
/* this macro will generate faster, though larger, code. */
|
||||||
|
/* */
|
||||||
|
#define TT_CONFIG_OPTION_INTERPRETER_SWITCH
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/*************************************************************************/
|
||||||
|
/**** ****/
|
||||||
|
/**** T Y P E 1 D R I V E R C O N F I G U R A T I O N ****/
|
||||||
|
/**** ****/
|
||||||
|
/*************************************************************************/
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* T1_MAX_DICT_DEPTH is the maximal depth of nest dictionaries and */
|
||||||
|
/* arrays in the Type 1 stream (see t1load.c). A minimum of 4 is */
|
||||||
|
/* required. */
|
||||||
|
/* */
|
||||||
|
#define T1_MAX_DICT_DEPTH 5
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* T1_MAX_SUBRS_CALLS details the maximum number of nested sub-routine */
|
||||||
|
/* calls during glyph loading. */
|
||||||
|
/* */
|
||||||
|
#define T1_MAX_SUBRS_CALLS 16
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* T1_MAX_CHARSTRING_OPERANDS is the charstring stack's capacity. A */
|
||||||
|
/* minimum of 16 is required. */
|
||||||
|
/* */
|
||||||
|
/* The Chinese font MingTiEG-Medium (CNS 11643 character set) needs 256. */
|
||||||
|
/* */
|
||||||
|
#define T1_MAX_CHARSTRINGS_OPERANDS 256
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Define T1_CONFIG_OPTION_DISABLE_HINTER if you want to generate a */
|
||||||
|
/* driver with no hinter. This can be useful to debug the parser. */
|
||||||
|
/* */
|
||||||
|
#undef T1_CONFIG_OPTION_DISABLE_HINTER
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Define this configuration macro if you want to prevent the */
|
||||||
|
/* compilation of `t1afm', which is in charge of reading Type 1 AFM */
|
||||||
|
/* files into an existing face. Note that if set, the T1 driver will be */
|
||||||
|
/* unable to produce kerning distances. */
|
||||||
|
/* */
|
||||||
|
#undef T1_CONFIG_OPTION_NO_AFM
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Define this configuration macro if you want to prevent the */
|
||||||
|
/* compilation of the Multiple Masters font support in the Type 1 */
|
||||||
|
/* driver. */
|
||||||
|
/* */
|
||||||
|
#undef T1_CONFIG_OPTION_NO_MM_SUPPORT
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* __FTOPTION_H__ */
|
||||||
|
|
||||||
|
|
||||||
|
/* END */
|
|
@ -0,0 +1,90 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
exec_prefix_set=no
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
cat <<EOF
|
||||||
|
Usage: freetype-config [OPTIONS] [LIBRARIES]
|
||||||
|
Options:
|
||||||
|
[--prefix[=DIR]]
|
||||||
|
[--exec-prefix[=DIR]]
|
||||||
|
[--version]
|
||||||
|
[--libs]
|
||||||
|
[--libtool]
|
||||||
|
[--cflags]
|
||||||
|
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
|
||||||
|
;;
|
||||||
|
--prefix)
|
||||||
|
echo_prefix=yes
|
||||||
|
;;
|
||||||
|
--exec-prefix=*)
|
||||||
|
exec_prefix=$optarg
|
||||||
|
exec_prefix_set=yes
|
||||||
|
;;
|
||||||
|
--exec-prefix)
|
||||||
|
echo_exec_prefix=yes
|
||||||
|
;;
|
||||||
|
--version)
|
||||||
|
echo @version_info@
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
--cflags)
|
||||||
|
echo_cflags=yes
|
||||||
|
;;
|
||||||
|
--libs)
|
||||||
|
echo_libs=yes
|
||||||
|
;;
|
||||||
|
--libtool)
|
||||||
|
echo_libtool=yes
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage 1 1>&2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if test "$exec_prefix_set" = "no"; then
|
||||||
|
exec_prefix=$prefix
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$echo_prefix" = "yes"; then
|
||||||
|
echo $prefix
|
||||||
|
fi
|
||||||
|
if test "$echo_exec_prefix" = "yes"; then
|
||||||
|
echo $exec_prefix
|
||||||
|
fi
|
||||||
|
if test "$echo_cflags" = "yes"; then
|
||||||
|
cflags="-I@includedir@/freetype2"
|
||||||
|
echo $cflags $includes
|
||||||
|
fi
|
||||||
|
if test "$echo_libs" = "yes"; then
|
||||||
|
libs="-lfreetype"
|
||||||
|
echo -L@libdir@ $libs
|
||||||
|
fi
|
||||||
|
if test "$echo_libtool" = "yes"; then
|
||||||
|
convlib="libfreetype.la"
|
||||||
|
echo @libdir@/$convlib
|
||||||
|
fi
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,254 @@
|
||||||
|
/***************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* ftconfig.in */
|
||||||
|
/* */
|
||||||
|
/* UNIX-specific configuration file (specification 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. */
|
||||||
|
/* */
|
||||||
|
/***************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* 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 <ft2build.h>
|
||||||
|
#include FT_CONFIG_OPTIONS_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 0
|
||||||
|
#define HAVE_FCNTL_H 0
|
||||||
|
|
||||||
|
#define SIZEOF_INT 2
|
||||||
|
#define SIZEOF_LONG 2
|
||||||
|
|
||||||
|
|
||||||
|
#define FT_SIZEOF_INT SIZEOF_INT
|
||||||
|
#define FT_SIZEOF_LONG SIZEOF_LONG
|
||||||
|
|
||||||
|
|
||||||
|
/* 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 */
|
||||||
|
#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. */
|
||||||
|
/* */
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* 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
|
||||||
|
|
||||||
|
#if FT_SIZEOF_LONG == 8
|
||||||
|
|
||||||
|
/* FT_LONG64 must be defined if a 64-bit type is available */
|
||||||
|
#define FT_LONG64
|
||||||
|
#define FT_INT64 long
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* 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'. */
|
||||||
|
/* */
|
||||||
|
/* 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
|
||||||
|
|
||||||
|
#define FT_LONG64
|
||||||
|
#define FT_INT64 long long
|
||||||
|
|
||||||
|
#endif /* FTCALC_USE_LONG_LONG */
|
||||||
|
#endif /* FT_SIZEOF_LONG == 8 */
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
|
||||||
|
|
||||||
|
#define FT_LOCAL static
|
||||||
|
#define FT_LOCAL_DEF static
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define FT_LOCAL extern "C"
|
||||||
|
#define FT_LOCAL_DEF extern "C"
|
||||||
|
#else
|
||||||
|
#define FT_LOCAL extern
|
||||||
|
#define FT_LOCAL_DEF extern
|
||||||
|
#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. Note that we do this for convenience -- please */
|
||||||
|
/* don't ask for more C++ features. */
|
||||||
|
/* */
|
||||||
|
|
||||||
|
/* 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. */
|
||||||
|
/* */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
|
||||||
|
#define FT_CALLBACK_DEF extern "C"
|
||||||
|
#define FT_CALLBACK_TABLE extern "C"
|
||||||
|
#define FT_CALLBACK_TABLE_DEF extern "C"
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define FT_CALLBACK_DEF static
|
||||||
|
#define FT_CALLBACK_TABLE extern
|
||||||
|
#define FT_CALLBACK_TABLE_DEF /* nothing */
|
||||||
|
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
|
||||||
|
FT_END_HEADER
|
||||||
|
|
||||||
|
#endif /* __FTCONFIG_H__ */
|
||||||
|
|
||||||
|
|
||||||
|
/* END */
|
|
@ -0,0 +1,334 @@
|
||||||
|
/***************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* ftsystem.c */
|
||||||
|
/* */
|
||||||
|
/* Unix-specific FreeType low-level system interface (body). */
|
||||||
|
/* */
|
||||||
|
/* 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 <ftconfig.h>
|
||||||
|
#include <freetype/internal/ftdebug.h>
|
||||||
|
#include <freetype/ftsystem.h>
|
||||||
|
#include <freetype/fterrors.h>
|
||||||
|
#include <freetype/fttypes.h>
|
||||||
|
#include <freetype/internal/ftobjs.h>
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.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/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> */
|
||||||
|
/* block :: 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Function> */
|
||||||
|
/* FT_New_Stream */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* Creates a new stream object. */
|
||||||
|
/* */
|
||||||
|
/* <Input> */
|
||||||
|
/* filepathname :: The name of the stream (usually a file) to be */
|
||||||
|
/* opened. */
|
||||||
|
/* */
|
||||||
|
/* stream :: A pointer to the stream object. */
|
||||||
|
/* */
|
||||||
|
/* <Return> */
|
||||||
|
/* FreeType error code. 0 means success. */
|
||||||
|
/* */
|
||||||
|
FT_EXPORT_DEF( FT_Error ) FT_New_Stream( const char* filepathname,
|
||||||
|
FT_Stream stream )
|
||||||
|
{
|
||||||
|
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_New_Stream:" ));
|
||||||
|
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||||
|
return FT_Err_Cannot_Open_Resource;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( fstat( file, &stat_buf ) < 0 )
|
||||||
|
{
|
||||||
|
FT_ERROR(( "FT_New_Stream:" ));
|
||||||
|
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_New_Stream:" ));
|
||||||
|
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_New_Stream:" ));
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <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_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;
|
||||||
|
}
|
||||||
|
|
||||||
|
return memory;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Function> */
|
||||||
|
/* FT_Done_Memory */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* Discards memory manager. */
|
||||||
|
/* */
|
||||||
|
/* <Input> */
|
||||||
|
/* memory :: A handle to the memory manager. */
|
||||||
|
/* */
|
||||||
|
FT_EXPORT_DEF( void ) FT_Done_Memory( FT_Memory memory )
|
||||||
|
{
|
||||||
|
free( memory );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* END */
|
|
@ -0,0 +1,250 @@
|
||||||
|
#! /bin/sh
|
||||||
|
#
|
||||||
|
# install - install a program, script, or datafile
|
||||||
|
# This comes from X11R5 (mit/util/scripts/install.sh).
|
||||||
|
#
|
||||||
|
# Copyright 1991 by the Massachusetts Institute of Technology
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||||
|
# `make' implicit rules from creating a file called install from it
|
||||||
|
# when there is no Makefile.
|
||||||
|
#
|
||||||
|
# This script is compatible with the BSD install script, but was written
|
||||||
|
# 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}"
|
||||||
|
cpprog="${CPPROG-cp}"
|
||||||
|
chmodprog="${CHMODPROG-chmod}"
|
||||||
|
chownprog="${CHOWNPROG-chown}"
|
||||||
|
chgrpprog="${CHGRPPROG-chgrp}"
|
||||||
|
stripprog="${STRIPPROG-strip}"
|
||||||
|
rmprog="${RMPROG-rm}"
|
||||||
|
mkdirprog="${MKDIRPROG-mkdir}"
|
||||||
|
|
||||||
|
transformbasename=""
|
||||||
|
transform_arg=""
|
||||||
|
instcmd="$mvprog"
|
||||||
|
chmodcmd="$chmodprog 0755"
|
||||||
|
chowncmd=""
|
||||||
|
chgrpcmd=""
|
||||||
|
stripcmd=""
|
||||||
|
rmcmd="$rmprog -f"
|
||||||
|
mvcmd="$mvprog"
|
||||||
|
src=""
|
||||||
|
dst=""
|
||||||
|
dir_arg=""
|
||||||
|
|
||||||
|
while [ x"$1" != x ]; do
|
||||||
|
case $1 in
|
||||||
|
-c) instcmd="$cpprog"
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-d) dir_arg=true
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-m) chmodcmd="$chmodprog $2"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-o) chowncmd="$chownprog $2"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-g) chgrpcmd="$chgrpprog $2"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-s) stripcmd="$stripprog"
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
*) 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
|
||||||
|
|
||||||
|
if [ x"$src" = x ]
|
||||||
|
then
|
||||||
|
echo "install: no input file specified"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
true
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ x"$dir_arg" != x ]; then
|
||||||
|
dst=$src
|
||||||
|
src=""
|
||||||
|
|
||||||
|
if [ -d $dst ]; then
|
||||||
|
instcmd=:
|
||||||
|
else
|
||||||
|
instcmd=mkdir
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
|
||||||
|
# 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}"
|
||||||
|
shift
|
||||||
|
|
||||||
|
if [ ! -d "${pathcomp}" ] ;
|
||||||
|
then
|
||||||
|
$mkdirprog "${pathcomp}"
|
||||||
|
else
|
||||||
|
true
|
||||||
|
fi
|
||||||
|
|
||||||
|
pathcomp="${pathcomp}/"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ x"$dir_arg" != x ]
|
||||||
|
then
|
||||||
|
$doit $instcmd $dst &&
|
||||||
|
|
||||||
|
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 we're going to rename the final executable, determine the name now.
|
||||||
|
|
||||||
|
if [ x"$transformarg" = x ]
|
||||||
|
then
|
||||||
|
dstfile=`basename $dst`
|
||||||
|
else
|
||||||
|
dstfile=`basename $dst $transformbasename |
|
||||||
|
sed $transformarg`$transformbasename
|
||||||
|
fi
|
||||||
|
|
||||||
|
# don't allow the sed command to completely eliminate the filename
|
||||||
|
|
||||||
|
if [ x"$dstfile" = x ]
|
||||||
|
then
|
||||||
|
dstfile=`basename $dst`
|
||||||
|
else
|
||||||
|
true
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Make a temp file name in the proper directory.
|
||||||
|
|
||||||
|
dsttmp=$dstdir/#inst.$$#
|
||||||
|
|
||||||
|
# Move or copy the file name to the temp name
|
||||||
|
|
||||||
|
$doit $instcmd $src $dsttmp &&
|
||||||
|
|
||||||
|
trap "rm -f ${dsttmp}" 0 &&
|
||||||
|
|
||||||
|
# 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 $instcmd $src $dsttmp" command.
|
||||||
|
|
||||||
|
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 &&
|
||||||
|
|
||||||
|
# Now rename the file to the real destination.
|
||||||
|
|
||||||
|
$doit $rmcmd -f $dstdir/$dstfile &&
|
||||||
|
$doit $mvcmd $dsttmp $dstdir/$dstfile
|
||||||
|
|
||||||
|
fi &&
|
||||||
|
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1,68 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 installation instructions for Unix 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.
|
||||||
|
|
||||||
|
|
||||||
|
# Unix installation and deinstallation targets.
|
||||||
|
install: $(PROJECT_LIBRARY)
|
||||||
|
$(MKINSTALLDIRS) $(libdir) \
|
||||||
|
$(includedir)/freetype2/freetype/config \
|
||||||
|
$(includedir)/freetype2/freetype/internal \
|
||||||
|
$(includedir)/freetype2/freetype/cache \
|
||||||
|
$(bindir)
|
||||||
|
$(LIBTOOL) --mode=install $(INSTALL) $(PROJECT_LIBRARY) $(libdir)
|
||||||
|
-for P in $(PUBLIC_H) ; do \
|
||||||
|
$(INSTALL_DATA) $$P $(includedir)/freetype2/freetype ; \
|
||||||
|
done
|
||||||
|
-for P in $(BASE_H) ; do \
|
||||||
|
$(INSTALL_DATA) $$P $(includedir)/freetype2/freetype/internal ; \
|
||||||
|
done
|
||||||
|
-for P in $(CONFIG_H) ; do \
|
||||||
|
$(INSTALL_DATA) $$P $(includedir)/freetype2/freetype/config ; \
|
||||||
|
done
|
||||||
|
-for P in $(CACHE_H) ; do \
|
||||||
|
$(INSTALL_DATA) $$P $(includedir)/freetype2/freetype/cache ; \
|
||||||
|
done
|
||||||
|
$(INSTALL_DATA) $(BUILD)/ft2unix.h $(includedir)/ft2build.h
|
||||||
|
$(INSTALL_SCRIPT) -m 755 $(BUILD)/freetype-config \
|
||||||
|
$(bindir)/freetype-config
|
||||||
|
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
-$(LIBTOOL) --mode=uninstall $(RM) $(libdir)/$(PROJECT_LIBRARY)
|
||||||
|
-$(DELETE) $(includedir)/freetype2/freetype/cache/*
|
||||||
|
-$(DELDIR) $(includedir)/freetype2/freetype/cache
|
||||||
|
-$(DELETE) $(includedir)/freetype2/freetype/config/*
|
||||||
|
-$(DELDIR) $(includedir)/freetype2/freetype/config
|
||||||
|
-$(DELETE) $(includedir)/freetype2/freetype/internal/*
|
||||||
|
-$(DELDIR) $(includedir)/freetype2/freetype/internal
|
||||||
|
-$(DELETE) $(includedir)/freetype2/freetype/*
|
||||||
|
-$(DELDIR) $(includedir)/freetype2/freetype
|
||||||
|
-$(DELDIR) $(includedir)/freetype2
|
||||||
|
-$(DELETE) $(bindir)/freetype-config
|
||||||
|
|
||||||
|
|
||||||
|
# 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
|
File diff suppressed because it is too large
Load Diff
|
@ -169,8 +169,8 @@ progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
|
||||||
# Constants:
|
# Constants:
|
||||||
PROGRAM=ltconfig
|
PROGRAM=ltconfig
|
||||||
PACKAGE=libtool
|
PACKAGE=libtool
|
||||||
VERSION=1.3.4
|
VERSION=1.3.5
|
||||||
TIMESTAMP=" (1.385.2.196 1999/12/07 21:47:57)"
|
TIMESTAMP=" (1.385.2.206 2000/05/27 11:12:27)"
|
||||||
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
||||||
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
|
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
|
||||||
rm="rm -f"
|
rm="rm -f"
|
||||||
|
@ -1164,15 +1164,21 @@ EOF
|
||||||
# Extract the symbol export list from an `--export-all' def file,
|
# Extract the symbol export list from an `--export-all' def file,
|
||||||
# then regenerate the def file from the symbol export list, so that
|
# then regenerate the def file from the symbol export list, so that
|
||||||
# the compiled dll only exports the symbol export list.
|
# the compiled dll only exports the symbol export list.
|
||||||
|
# Be careful not to strip the DATA tag left by newer dlltools.
|
||||||
export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
|
export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
|
||||||
test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
|
test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
|
||||||
$DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs $convenience~
|
$DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs $convenience~
|
||||||
sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]* ; *//" < $objdir/$soname-def > $export_symbols'
|
sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $objdir/$soname-def > $export_symbols'
|
||||||
|
|
||||||
|
# If DATA tags from a recent dlltool are present, honour them!
|
||||||
archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
|
archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
|
||||||
_lt_hint=1;
|
_lt_hint=1;
|
||||||
for symbol in `cat $export_symbols`; do
|
cat $export_symbols | while read symbol; do
|
||||||
echo " \$symbol @ \$_lt_hint ; " >> $objdir/$soname-def;
|
set dummy \$symbol;
|
||||||
|
case \$# in
|
||||||
|
2) echo " \$2 @ \$_lt_hint ; " >> $objdir/$soname-def;;
|
||||||
|
*) echo " \$2 @ \$_lt_hint \$3 ; " >> $objdir/$soname-def;;
|
||||||
|
esac;
|
||||||
_lt_hint=`expr 1 + \$_lt_hint`;
|
_lt_hint=`expr 1 + \$_lt_hint`;
|
||||||
done~
|
done~
|
||||||
test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
|
test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
|
||||||
|
@ -1376,9 +1382,9 @@ else
|
||||||
|
|
||||||
irix5* | irix6*)
|
irix5* | irix6*)
|
||||||
if test "$with_gcc" = yes; then
|
if test "$with_gcc" = yes; then
|
||||||
archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
|
archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
|
||||||
else
|
else
|
||||||
archive_cmds='$LD -shared $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
|
archive_cmds='$LD -shared $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
|
||||||
fi
|
fi
|
||||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||||
hardcode_libdir_separator=:
|
hardcode_libdir_separator=:
|
||||||
|
@ -1413,10 +1419,10 @@ else
|
||||||
osf3*)
|
osf3*)
|
||||||
if test "$with_gcc" = yes; then
|
if test "$with_gcc" = yes; then
|
||||||
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
|
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
|
||||||
archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
|
archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
|
||||||
else
|
else
|
||||||
allow_undefined_flag=' -expect_unresolved \*'
|
allow_undefined_flag=' -expect_unresolved \*'
|
||||||
archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
|
archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
|
||||||
fi
|
fi
|
||||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||||
hardcode_libdir_separator=:
|
hardcode_libdir_separator=:
|
||||||
|
@ -1425,15 +1431,21 @@ else
|
||||||
osf4* | osf5*) # As osf3* with the addition of the -msym flag
|
osf4* | osf5*) # As osf3* with the addition of the -msym flag
|
||||||
if test "$with_gcc" = yes; then
|
if test "$with_gcc" = yes; then
|
||||||
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
|
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
|
||||||
archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
|
archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
|
||||||
else
|
else
|
||||||
allow_undefined_flag=' -expect_unresolved \*'
|
allow_undefined_flag=' -expect_unresolved \*'
|
||||||
archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
|
archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
|
||||||
fi
|
fi
|
||||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||||
hardcode_libdir_separator=:
|
hardcode_libdir_separator=:
|
||||||
;;
|
;;
|
||||||
|
rhapsody*)
|
||||||
|
archive_cmds='$CC -bundle -undefined suppress -o $lib $libobjs $deplibs $linkopts'
|
||||||
|
hardcode_libdir_flags_spec='-L$libdir'
|
||||||
|
hardcode_direct=yes
|
||||||
|
hardcode_shlibpath_var=no
|
||||||
|
;;
|
||||||
|
|
||||||
sco3.2v5*)
|
sco3.2v5*)
|
||||||
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
|
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
|
||||||
hardcode_shlibpath_var=no
|
hardcode_shlibpath_var=no
|
||||||
|
@ -1466,7 +1478,13 @@ else
|
||||||
;;
|
;;
|
||||||
|
|
||||||
sysv4)
|
sysv4)
|
||||||
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
|
if test "x$host_vendor" = xsequent; then
|
||||||
|
# Use $CC to link under sequent, because it throws in some extra .o
|
||||||
|
# files that make .init and .fini sections work.
|
||||||
|
archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $linkopts'
|
||||||
|
else
|
||||||
|
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
|
||||||
|
fi
|
||||||
runpath_var='LD_RUN_PATH'
|
runpath_var='LD_RUN_PATH'
|
||||||
hardcode_shlibpath_var=no
|
hardcode_shlibpath_var=no
|
||||||
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
|
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
|
||||||
|
@ -1632,11 +1650,11 @@ void nm_test_func(){}
|
||||||
main(){nm_test_var='a';nm_test_func();return(0);}
|
main(){nm_test_var='a';nm_test_func();return(0);}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
echo "$progname:1635: checking if global_symbol_pipe works" >&5
|
echo "$progname:1653: checking if global_symbol_pipe works" >&5
|
||||||
if { (eval echo $progname:1636: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
|
if { (eval echo $progname:1654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
|
||||||
# Now try to grab the symbols.
|
# Now try to grab the symbols.
|
||||||
nlist=conftest.nm
|
nlist=conftest.nm
|
||||||
if { echo "$progname:1639: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
|
if { echo "$progname:1657: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
|
||||||
|
|
||||||
# Try sorting and uniquifying the output.
|
# Try sorting and uniquifying the output.
|
||||||
if sort "$nlist" | uniq > "$nlist"T; then
|
if sort "$nlist" | uniq > "$nlist"T; then
|
||||||
|
@ -1688,7 +1706,7 @@ EOF
|
||||||
save_CFLAGS="$CFLAGS"
|
save_CFLAGS="$CFLAGS"
|
||||||
LIBS="conftstm.$objext"
|
LIBS="conftstm.$objext"
|
||||||
CFLAGS="$CFLAGS$no_builtin_flag"
|
CFLAGS="$CFLAGS$no_builtin_flag"
|
||||||
if { (eval echo $progname:1691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
if { (eval echo $progname:1709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||||
pipe_works=yes
|
pipe_works=yes
|
||||||
else
|
else
|
||||||
echo "$progname: failed program was:" >&5
|
echo "$progname: failed program was:" >&5
|
||||||
|
@ -1919,6 +1937,14 @@ hpux9* | hpux10* | hpux11*)
|
||||||
soname_spec='${libname}${release}.sl$major'
|
soname_spec='${libname}${release}.sl$major'
|
||||||
# HP-UX runs *really* slowly unless shared libraries are mode 555.
|
# HP-UX runs *really* slowly unless shared libraries are mode 555.
|
||||||
postinstall_cmds='chmod 555 $lib'
|
postinstall_cmds='chmod 555 $lib'
|
||||||
|
case "$host_os" in
|
||||||
|
hpux10.20*)
|
||||||
|
# TODO: Does this work for hpux-11 too?
|
||||||
|
deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
|
||||||
|
file_magic_cmd=/usr/bin/file
|
||||||
|
file_magic_test_file=/usr/lib/libc.sl
|
||||||
|
;;
|
||||||
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
||||||
irix5* | irix6*)
|
irix5* | irix6*)
|
||||||
|
@ -1966,9 +1992,7 @@ linux-gnu*)
|
||||||
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
|
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
|
||||||
shlibpath_var=LD_LIBRARY_PATH
|
shlibpath_var=LD_LIBRARY_PATH
|
||||||
shlibpath_overrides_runpath=no
|
shlibpath_overrides_runpath=no
|
||||||
deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
|
deplibs_check_method=pass_all
|
||||||
file_magic_cmd=/usr/bin/file
|
|
||||||
file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
|
|
||||||
|
|
||||||
if test -f /lib/ld.so.1; then
|
if test -f /lib/ld.so.1; then
|
||||||
dynamic_linker='GNU ld.so'
|
dynamic_linker='GNU ld.so'
|
||||||
|
@ -2029,6 +2053,14 @@ osf3* | osf4* | osf5*)
|
||||||
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
|
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
rhapsody*)
|
||||||
|
version_type=sunos
|
||||||
|
library_names_spec='${libname}.so'
|
||||||
|
soname_spec='${libname}.so'
|
||||||
|
shlibpath_var=DYLD_LIBRARY_PATH
|
||||||
|
deplibs_check_method=pass_all
|
||||||
|
;;
|
||||||
|
|
||||||
sco3.2v5*)
|
sco3.2v5*)
|
||||||
version_type=osf
|
version_type=osf
|
||||||
soname_spec='${libname}${release}.so$major'
|
soname_spec='${libname}${release}.so$major'
|
||||||
|
@ -2069,6 +2101,10 @@ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
|
||||||
soname_spec='${libname}${release}.so$major'
|
soname_spec='${libname}${release}.so$major'
|
||||||
shlibpath_var=LD_LIBRARY_PATH
|
shlibpath_var=LD_LIBRARY_PATH
|
||||||
case "$host_vendor" in
|
case "$host_vendor" in
|
||||||
|
sequent)
|
||||||
|
file_magic_cmd='/bin/file'
|
||||||
|
deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
|
||||||
|
;;
|
||||||
ncr)
|
ncr)
|
||||||
deplibs_check_method='pass_all'
|
deplibs_check_method='pass_all'
|
||||||
;;
|
;;
|
||||||
|
@ -2209,7 +2245,7 @@ else
|
||||||
if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then
|
if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then
|
||||||
lt_cv_dlopen=no lt_cv_dlopen_libs=
|
lt_cv_dlopen=no lt_cv_dlopen_libs=
|
||||||
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
|
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
|
||||||
echo "$progname:2212: checking for dlopen in -ldl" >&5
|
echo "$progname:2248: checking for dlopen in -ldl" >&5
|
||||||
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
|
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
|
||||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
|
@ -2217,7 +2253,7 @@ else
|
||||||
ac_save_LIBS="$LIBS"
|
ac_save_LIBS="$LIBS"
|
||||||
LIBS="-ldl $LIBS"
|
LIBS="-ldl $LIBS"
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 2220 "ltconfig"
|
#line 2256 "ltconfig"
|
||||||
/* Override any gcc2 internal prototype to avoid an error. */
|
/* Override any gcc2 internal prototype to avoid an error. */
|
||||||
/* We use char because int might match the return type of a gcc2
|
/* We use char because int might match the return type of a gcc2
|
||||||
builtin and then its argument prototype would still apply. */
|
builtin and then its argument prototype would still apply. */
|
||||||
|
@ -2230,7 +2266,7 @@ int main() {
|
||||||
dlopen()
|
dlopen()
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo $progname:2233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
if { (eval echo $progname:2269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||||
else
|
else
|
||||||
|
@ -2249,12 +2285,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
||||||
else
|
else
|
||||||
echo "$ac_t""no" 1>&6
|
echo "$ac_t""no" 1>&6
|
||||||
echo $ac_n "checking for dlopen""... $ac_c" 1>&6
|
echo $ac_n "checking for dlopen""... $ac_c" 1>&6
|
||||||
echo "$progname:2252: checking for dlopen" >&5
|
echo "$progname:2288: checking for dlopen" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 2257 "ltconfig"
|
#line 2293 "ltconfig"
|
||||||
/* System header to define __stub macros and hopefully few prototypes,
|
/* System header to define __stub macros and hopefully few prototypes,
|
||||||
which can conflict with char dlopen(); below. */
|
which can conflict with char dlopen(); below. */
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
@ -2279,7 +2315,7 @@ dlopen();
|
||||||
|
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo $progname:2282: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
if { (eval echo $progname:2318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_func_dlopen=yes"
|
eval "ac_cv_func_dlopen=yes"
|
||||||
else
|
else
|
||||||
|
@ -2296,7 +2332,7 @@ if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then
|
||||||
else
|
else
|
||||||
echo "$ac_t""no" 1>&6
|
echo "$ac_t""no" 1>&6
|
||||||
echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
|
echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
|
||||||
echo "$progname:2299: checking for dld_link in -ldld" >&5
|
echo "$progname:2335: checking for dld_link in -ldld" >&5
|
||||||
ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'`
|
ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'`
|
||||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
|
@ -2304,7 +2340,7 @@ else
|
||||||
ac_save_LIBS="$LIBS"
|
ac_save_LIBS="$LIBS"
|
||||||
LIBS="-ldld $LIBS"
|
LIBS="-ldld $LIBS"
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 2307 "ltconfig"
|
#line 2343 "ltconfig"
|
||||||
/* Override any gcc2 internal prototype to avoid an error. */
|
/* Override any gcc2 internal prototype to avoid an error. */
|
||||||
/* We use char because int might match the return type of a gcc2
|
/* We use char because int might match the return type of a gcc2
|
||||||
builtin and then its argument prototype would still apply. */
|
builtin and then its argument prototype would still apply. */
|
||||||
|
@ -2317,7 +2353,7 @@ int main() {
|
||||||
dld_link()
|
dld_link()
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo $progname:2320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
if { (eval echo $progname:2356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||||
else
|
else
|
||||||
|
@ -2336,12 +2372,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
||||||
else
|
else
|
||||||
echo "$ac_t""no" 1>&6
|
echo "$ac_t""no" 1>&6
|
||||||
echo $ac_n "checking for shl_load""... $ac_c" 1>&6
|
echo $ac_n "checking for shl_load""... $ac_c" 1>&6
|
||||||
echo "$progname:2339: checking for shl_load" >&5
|
echo "$progname:2375: checking for shl_load" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 2344 "ltconfig"
|
#line 2380 "ltconfig"
|
||||||
/* System header to define __stub macros and hopefully few prototypes,
|
/* System header to define __stub macros and hopefully few prototypes,
|
||||||
which can conflict with char shl_load(); below. */
|
which can conflict with char shl_load(); below. */
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
@ -2366,7 +2402,7 @@ shl_load();
|
||||||
|
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo $progname:2369: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
if { (eval echo $progname:2405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_func_shl_load=yes"
|
eval "ac_cv_func_shl_load=yes"
|
||||||
else
|
else
|
||||||
|
@ -2384,7 +2420,7 @@ if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then
|
||||||
else
|
else
|
||||||
echo "$ac_t""no" 1>&6
|
echo "$ac_t""no" 1>&6
|
||||||
echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
|
echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
|
||||||
echo "$progname:2387: checking for shl_load in -ldld" >&5
|
echo "$progname:2423: checking for shl_load in -ldld" >&5
|
||||||
ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
|
ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
|
||||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
|
@ -2392,7 +2428,7 @@ else
|
||||||
ac_save_LIBS="$LIBS"
|
ac_save_LIBS="$LIBS"
|
||||||
LIBS="-ldld $LIBS"
|
LIBS="-ldld $LIBS"
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 2395 "ltconfig"
|
#line 2431 "ltconfig"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
/* Override any gcc2 internal prototype to avoid an error. */
|
/* Override any gcc2 internal prototype to avoid an error. */
|
||||||
/* We use char because int might match the return type of a gcc2
|
/* We use char because int might match the return type of a gcc2
|
||||||
|
@ -2406,7 +2442,7 @@ int main() {
|
||||||
shl_load()
|
shl_load()
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo $progname:2409: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
if { (eval echo $progname:2445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||||
else
|
else
|
||||||
|
@ -2449,17 +2485,17 @@ fi
|
||||||
for ac_hdr in dlfcn.h; do
|
for ac_hdr in dlfcn.h; do
|
||||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||||
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
||||||
echo "$progname:2452: checking for $ac_hdr" >&5
|
echo "$progname:2488: checking for $ac_hdr" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 2457 "ltconfig"
|
#line 2493 "ltconfig"
|
||||||
#include <$ac_hdr>
|
#include <$ac_hdr>
|
||||||
int fnord = 0;
|
int fnord = 0;
|
||||||
EOF
|
EOF
|
||||||
ac_try="$ac_compile >/dev/null 2>conftest.out"
|
ac_try="$ac_compile >/dev/null 2>conftest.out"
|
||||||
{ (eval echo $progname:2462: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
{ (eval echo $progname:2498: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||||
if test -z "$ac_err"; then
|
if test -z "$ac_err"; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
|
@ -2487,7 +2523,7 @@ done
|
||||||
LIBS="$lt_cv_dlopen_libs $LIBS"
|
LIBS="$lt_cv_dlopen_libs $LIBS"
|
||||||
|
|
||||||
echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
|
echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
|
||||||
echo "$progname:2490: checking whether a program can dlopen itself" >&5
|
echo "$progname:2526: checking whether a program can dlopen itself" >&5
|
||||||
if test "${lt_cv_dlopen_self+set}" = set; then
|
if test "${lt_cv_dlopen_self+set}" = set; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -2495,7 +2531,7 @@ else
|
||||||
lt_cv_dlopen_self=cross
|
lt_cv_dlopen_self=cross
|
||||||
else
|
else
|
||||||
cat > conftest.c <<EOF
|
cat > conftest.c <<EOF
|
||||||
#line 2498 "ltconfig"
|
#line 2534 "ltconfig"
|
||||||
|
|
||||||
#if HAVE_DLFCN_H
|
#if HAVE_DLFCN_H
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
|
@ -2541,7 +2577,7 @@ main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
|
||||||
if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
|
if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo $progname:2544: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
|
if { (eval echo $progname:2580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
|
||||||
then
|
then
|
||||||
lt_cv_dlopen_self=yes
|
lt_cv_dlopen_self=yes
|
||||||
else
|
else
|
||||||
|
@ -2560,7 +2596,7 @@ echo "$ac_t""$lt_cv_dlopen_self" 1>&6
|
||||||
if test "$lt_cv_dlopen_self" = yes; then
|
if test "$lt_cv_dlopen_self" = yes; then
|
||||||
LDFLAGS="$LDFLAGS $link_static_flag"
|
LDFLAGS="$LDFLAGS $link_static_flag"
|
||||||
echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
|
echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
|
||||||
echo "$progname:2563: checking whether a statically linked program can dlopen itself" >&5
|
echo "$progname:2599: checking whether a statically linked program can dlopen itself" >&5
|
||||||
if test "${lt_cv_dlopen_self_static+set}" = set; then
|
if test "${lt_cv_dlopen_self_static+set}" = set; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -2568,7 +2604,7 @@ else
|
||||||
lt_cv_dlopen_self_static=cross
|
lt_cv_dlopen_self_static=cross
|
||||||
else
|
else
|
||||||
cat > conftest.c <<EOF
|
cat > conftest.c <<EOF
|
||||||
#line 2571 "ltconfig"
|
#line 2607 "ltconfig"
|
||||||
|
|
||||||
#if HAVE_DLFCN_H
|
#if HAVE_DLFCN_H
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
|
@ -2614,7 +2650,7 @@ main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
|
||||||
if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
|
if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo $progname:2617: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
|
if { (eval echo $progname:2653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
|
||||||
then
|
then
|
||||||
lt_cv_dlopen_self_static=yes
|
lt_cv_dlopen_self_static=yes
|
||||||
else
|
else
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,40 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# mkinstalldirs --- make directory hierarchy
|
||||||
|
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||||
|
# Created: 1993-05-16
|
||||||
|
# Public domain
|
||||||
|
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
errstatus=0
|
||||||
|
|
||||||
|
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" 1>&2
|
||||||
|
|
||||||
|
mkdir "$pathcomp" || lasterr=$?
|
||||||
|
|
||||||
|
if test ! -d "$pathcomp"; then
|
||||||
|
errstatus=$lasterr
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
pathcomp="$pathcomp/"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
exit $errstatus
|
||||||
|
|
||||||
|
# mkinstalldirs ends here
|
|
@ -44,7 +44,7 @@ ifndef TOP
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Set auto-detection default to `ansi' resp. UNIX-like operating systems.
|
# Set auto-detection default to `ansi' resp. UNIX-like operating systems.
|
||||||
# Note that we delay the evaluation of $(BUILD_CONFIG_), $(BUILD), and
|
# Note that we delay evaluation of $(BUILD_CONFIG_), $(BUILD), and
|
||||||
# $(CONFIG_RULES).
|
# $(CONFIG_RULES).
|
||||||
#
|
#
|
||||||
PLATFORM := ansi
|
PLATFORM := ansi
|
||||||
|
@ -70,17 +70,39 @@ CONFIG_RULES = $(BUILD)$(SEP)$(CONFIG_FILE)
|
||||||
#
|
#
|
||||||
BACKSLASH := $(strip \ )
|
BACKSLASH := $(strip \ )
|
||||||
|
|
||||||
# Now, include all detection rule files found in the `builds/<system>'
|
# Find all auto-detectable platforms.
|
||||||
# directories. Note that the calling order of the various `detect.mk' files
|
|
||||||
# isn't predictable.
|
|
||||||
#
|
#
|
||||||
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.
|
# In case no detection rule file was successful, use the default.
|
||||||
#
|
#
|
||||||
ifndef CONFIG_FILE
|
ifndef CONFIG_FILE
|
||||||
CONFIG_FILE := ansi.mk
|
CONFIG_FILE := ansi.mk
|
||||||
setup: std_setup
|
setup: std_setup
|
||||||
|
.PHONY: setup
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# The following targets are equivalent, with the exception that they use
|
# The following targets are equivalent, with the exception that they use
|
||||||
|
@ -93,7 +115,7 @@ endif
|
||||||
|
|
||||||
std_setup:
|
std_setup:
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "FreeType build system -- automatic system detection"
|
@echo "$(PROJECT_TITLE) build system -- automatic system detection"
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "The following settings are used:"
|
@echo "The following settings are used:"
|
||||||
@echo ""
|
@echo ""
|
||||||
|
@ -109,22 +131,25 @@ std_setup:
|
||||||
@echo ""
|
@echo ""
|
||||||
@$(COPY) $(CONFIG_RULES) $(CONFIG_MK)
|
@$(COPY) $(CONFIG_RULES) $(CONFIG_MK)
|
||||||
|
|
||||||
|
|
||||||
|
# Special case for Dos, Windows, OS/2, where echo "" doesn't work correctly!
|
||||||
|
#
|
||||||
dos_setup:
|
dos_setup:
|
||||||
@echo ÿ
|
@type builds\newline
|
||||||
@echo FreeType build system -- automatic system detection
|
@echo $(PROJECT_TITLE) build system -- automatic system detection
|
||||||
@echo ÿ
|
@type builds\newline
|
||||||
@echo The following settings are used:
|
@echo The following settings are used:
|
||||||
@echo ÿ
|
@type builds\newline
|
||||||
@echo ÿÿplatformÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$(PLATFORM)
|
@echo platformÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$(PLATFORM)
|
||||||
@echo ÿÿcompilerÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$(CC)
|
@echo compilerÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$(CC)
|
||||||
@echo ÿÿconfiguration directoryÿÿÿÿÿÿ$(BUILD)
|
@echo configuration directoryÿÿÿÿÿÿ$(BUILD)
|
||||||
@echo ÿÿconfiguration rulesÿÿÿÿÿÿÿÿÿÿ$(CONFIG_RULES)
|
@echo configuration rulesÿÿÿÿÿÿÿÿÿÿ$(CONFIG_RULES)
|
||||||
@echo ÿ
|
@type builds\newline
|
||||||
@echo If this does not correspond to your system or settings please remove the file
|
@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 '$(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 Otherwise, simply type 'make' again to build the library.
|
||||||
@echo ÿ
|
@type builds\newline
|
||||||
@$(COPY) $(subst /,\,$(CONFIG_RULES) $(CONFIG_MK)) > nul
|
@$(COPY) $(subst /,\,$(CONFIG_RULES) $(CONFIG_MK)) > nul
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,75 +13,99 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
# We test for the COMSPEC environment variable, then run the `ver'
|
.PHONY: setup
|
||||||
# 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).
|
|
||||||
#
|
|
||||||
ifeq ($(PLATFORM),ansi)
|
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'.
|
||||||
|
#
|
||||||
|
# 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,$(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.
|
||||||
# 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'
|
||||||
# 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))
|
||||||
ifeq ($(is_dos),)
|
endif
|
||||||
is_dos := $(findstring MDOS\COMMAND,$(COMSPEC))
|
endif # test COMSPEC
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(is_dos),)
|
ifneq ($(is_dos),)
|
||||||
|
|
||||||
PLATFORM := 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 Dos
|
||||||
endif # test COMSPEC
|
endif # test DJGPP
|
||||||
endif # test PLATFORM
|
endif # test PLATFORM ansi
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),dos)
|
||||||
|
|
||||||
|
# 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
|
||||||
|
turboc: setup
|
||||||
|
.PHONY: turboc
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||||
|
CONFIG_FILE := dos-wat.mk
|
||||||
|
SEP := $(BACKSLASH)
|
||||||
|
CC := wcc386
|
||||||
|
watcom: setup
|
||||||
|
.PHONY: watcom
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring borlandc16,$(MAKECMDGOALS)),) # Borland C/C++ 16-bit
|
||||||
|
CONFIG_FILE := dos-bcc.mk
|
||||||
|
SEP := $(BACKSLASH)
|
||||||
|
CC := bcc
|
||||||
|
borlandc16: setup
|
||||||
|
.PHONY: borlandc16
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C/C++ 32-bit
|
||||||
|
CONFIG_FILE := dos-bcc.mk
|
||||||
|
SEP := $(BACKSLASH)
|
||||||
|
CC := bcc32
|
||||||
|
borlandc: setup
|
||||||
|
.PHONY: borlandc
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring bash,$(SHELL)),) # check for bash
|
||||||
|
DELETE := rm
|
||||||
|
COPY := cp
|
||||||
|
setup: std_setup
|
||||||
|
else
|
||||||
|
DELETE := del
|
||||||
|
COPY := copy
|
||||||
|
setup: dos_setup
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif # test PLATFORM dos
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 DOS specific definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
DELETE := del
|
||||||
|
HOSTSEP := $(strip \ )
|
||||||
|
BUILD := $(TOP)$(SEP)builds$(SEP)dos
|
||||||
|
PLATFORM := dos
|
||||||
|
|
||||||
|
# except for DJGPP/GCC on Dos
|
||||||
|
ifndef SEP
|
||||||
|
SEP := $(HOSTSEP)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
# The directory where all object files are placed.
|
||||||
|
#
|
||||||
|
# This lets you build the library in your own directory with something like
|
||||||
|
#
|
||||||
|
# set TOP=.../path/to/freetype2/top/dir...
|
||||||
|
# set OBJ_DIR=.../path/to/obj/dir
|
||||||
|
# make -f %TOP%/Makefile setup [options]
|
||||||
|
# make -f %TOP%/Makefile
|
||||||
|
#
|
||||||
|
ifndef OBJ_DIR
|
||||||
|
OBJ_DIR := $(TOP)$(SEP)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
|
|
@ -13,122 +13,10 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
ifndef TOP
|
SEP := /
|
||||||
TOP := .
|
|
||||||
endif
|
|
||||||
|
|
||||||
DELETE := rm -f
|
include $(TOP)/builds/dos/dos-def.mk
|
||||||
SEP := /
|
include $(TOP)/builds/compiler/gcc.mk
|
||||||
HOSTSEP := $(strip \ )
|
include $(TOP)/builds/link_dos.mk
|
||||||
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
|
# EOF
|
||||||
|
|
|
@ -70,7 +70,7 @@
|
||||||
# The targets `objects' and `library' are defined at the end of this
|
# The targets `objects' and `library' are defined at the end of this
|
||||||
# Makefile after all other rules have been included.
|
# Makefile after all other rules have been included.
|
||||||
#
|
#
|
||||||
.PHONY: single objects library
|
.PHONY: single multi objects library
|
||||||
|
|
||||||
# default target -- build single objects and library
|
# default target -- build single objects and library
|
||||||
#
|
#
|
||||||
|
@ -91,6 +91,15 @@ SRC := $(TOP)$(SEP)src
|
||||||
#
|
#
|
||||||
BASE_DIR := $(SRC)$(SEP)base
|
BASE_DIR := $(SRC)$(SEP)base
|
||||||
|
|
||||||
|
# The build header file used to define all public header file names
|
||||||
|
# as macro.
|
||||||
|
#
|
||||||
|
ifndef FT_BUILD_H
|
||||||
|
FT_BUILD_H := $(TOP)$(SEP)include$(SEP)ft2build.h
|
||||||
|
FTBUILD_CMD :=
|
||||||
|
else
|
||||||
|
FTBUILD_CMD = $(D)FT_BUILD_H=$(FT_BUILD_H)
|
||||||
|
endif
|
||||||
|
|
||||||
# A few short-cuts in order to avoid typing $(SEP) all the time for the
|
# A few short-cuts in order to avoid typing $(SEP) all the time for the
|
||||||
# directory separator.
|
# directory separator.
|
||||||
|
@ -105,11 +114,12 @@ LIB_ := $(LIB_DIR)$(SEP)
|
||||||
PUBLIC_ := $(TOP)$(SEP)include$(SEP)freetype$(SEP)
|
PUBLIC_ := $(TOP)$(SEP)include$(SEP)freetype$(SEP)
|
||||||
INTERNAL_ := $(PUBLIC_)internal$(SEP)
|
INTERNAL_ := $(PUBLIC_)internal$(SEP)
|
||||||
CONFIG_ := $(PUBLIC_)config$(SEP)
|
CONFIG_ := $(PUBLIC_)config$(SEP)
|
||||||
|
CACHE_ := $(PUBLIC_)cache$(SEP)
|
||||||
|
|
||||||
|
|
||||||
# The final name of the library file.
|
# The final name of the library file.
|
||||||
#
|
#
|
||||||
FT_LIBRARY := $(LIB_)$(LIBRARY).$A
|
PROJECT_LIBRARY := $(LIB_)$(LIBRARY).$A
|
||||||
|
|
||||||
|
|
||||||
# include paths
|
# include paths
|
||||||
|
@ -120,7 +130,7 @@ FT_LIBRARY := $(LIB_)$(LIBRARY).$A
|
||||||
# in the `freetype/builds/<system>' directory, as these
|
# in the `freetype/builds/<system>' directory, as these
|
||||||
# files will override the default sources.
|
# files will override the default sources.
|
||||||
#
|
#
|
||||||
INCLUDES := $(BUILD) $(TOP)$(SEP)include $(SRC)
|
INCLUDES := $(BUILD) $(TOP)$(SEP)include
|
||||||
|
|
||||||
INCLUDE_FLAGS = $(INCLUDES:%=$I%)
|
INCLUDE_FLAGS = $(INCLUDES:%=$I%)
|
||||||
|
|
||||||
|
@ -145,17 +155,19 @@ OBJECTS_LIST :=
|
||||||
|
|
||||||
|
|
||||||
# Define $(PUBLIC_H) as the list of all public header files located in
|
# Define $(PUBLIC_H) as the list of all public header files located in
|
||||||
# `$(TOP)/include/freetype'. $(BASE_H) and $(CONFIG_H) are defined
|
# `$(TOP)/include/freetype'. $(BASE_H), $(CACHE_H), and $(CONFIG_H) are
|
||||||
# similarly.
|
# defined similarly.
|
||||||
#
|
#
|
||||||
# This is used to simplify the dependency rules -- if one of these files
|
# This is used to simplify the dependency rules -- if one of these files
|
||||||
# changes, the whole library is recompiled.
|
# changes, the whole library is recompiled.
|
||||||
#
|
#
|
||||||
PUBLIC_H := $(wildcard $(PUBLIC_)*.h)
|
PUBLIC_H := $(wildcard $(PUBLIC_)*.h)
|
||||||
BASE_H := $(wildcard $(INTERNAL_)*.h)
|
BASE_H := $(wildcard $(INTERNAL_)*.h)
|
||||||
CONFIG_H := $(wildcard $(CONFIG_)*.h)
|
CONFIG_H := $(wildcard $(CONFIG_)*.h) \
|
||||||
|
$(wildcard $(BUILD)$(SEP)freetype$(SEP)config$(SEP)*.h)
|
||||||
|
CACHE_H := $(wildcard $(CACHE_)*.h)
|
||||||
|
|
||||||
FREETYPE_H := $(PUBLIC_H) $(BASE_H) $(CONFIG_H)
|
FREETYPE_H := $(PUBLIC_H) $(BASE_H) $(CONFIG_H) $(CACHE_H)
|
||||||
|
|
||||||
|
|
||||||
# ftsystem component
|
# ftsystem component
|
||||||
|
@ -237,43 +249,56 @@ endif
|
||||||
|
|
||||||
objects: $(OBJECTS_LIST)
|
objects: $(OBJECTS_LIST)
|
||||||
|
|
||||||
library: $(FT_LIBRARY)
|
library: $(PROJECT_LIBRARY)
|
||||||
|
|
||||||
.c.$O:
|
.c.$O:
|
||||||
$(FT_COMPILE) $T$@ $<
|
$(FT_COMPILE) $T$@ $<
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: clean_project_std distclean_project_std
|
||||||
|
|
||||||
# Standard cleaning and distclean rules. These are not accepted
|
# Standard cleaning and distclean rules. These are not accepted
|
||||||
# on all systems though.
|
# on all systems though.
|
||||||
#
|
#
|
||||||
clean_freetype_std:
|
clean_project_std:
|
||||||
-$(DELETE) $(BASE_OBJECTS) $(OBJ_M) $(OBJ_S) $(CLEAN)
|
-$(DELETE) $(BASE_OBJECTS) $(OBJ_M) $(OBJ_S) $(CLEAN)
|
||||||
|
|
||||||
distclean_freetype_std: clean_freetype_std
|
distclean_project_std: clean_project_std
|
||||||
-$(DELETE) $(FT_LIBRARY)
|
-$(DELETE) $(PROJECT_LIBRARY)
|
||||||
-$(DELETE) *.orig *~ core *.core $(DISTCLEAN)
|
-$(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
|
# The Dos command shell does not support very long list of arguments, so
|
||||||
# we are stuck with wildcards.
|
# we are stuck with wildcards.
|
||||||
#
|
#
|
||||||
clean_freetype_dos:
|
# Don't break the command lines with; this prevents the "del" command from
|
||||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(OBJ_))*.$O $(CLEAN) 2> nul
|
# working correctly on Win9x.
|
||||||
|
#
|
||||||
|
clean_project_dos:
|
||||||
|
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(OBJ_))*.$O $(CLEAN) $(NO_OUTPUT)
|
||||||
|
|
||||||
distclean_freetype_dos: clean_freetype_dos
|
distclean_project_dos: clean_project_dos
|
||||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(FT_LIBRARY)) $(DISTCLEAN) 2> nul
|
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) $(DISTCLEAN) $(NO_OUTPUT)
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: remove_config_mk
|
||||||
|
|
||||||
# Remove configuration file (used for distclean).
|
# Remove configuration file (used for distclean).
|
||||||
#
|
#
|
||||||
remove_config_mk:
|
remove_config_mk:
|
||||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(CONFIG_MK))
|
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(CONFIG_MK)) $(NO_OUTPUT)
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: clean distclean
|
||||||
|
|
||||||
# The `config.mk' file must define `clean_freetype' and
|
# The `config.mk' file must define `clean_freetype' and
|
||||||
# `distclean_freetype'. Implementations may use to relay these to either
|
# `distclean_freetype'. Implementations may use to relay these to either
|
||||||
# the `std' or `dos' versions from above, or simply provide their own
|
# the `std' or `dos' versions from above, or simply provide their own
|
||||||
# implementation.
|
# implementation.
|
||||||
#
|
#
|
||||||
clean: clean_freetype
|
clean: clean_project
|
||||||
distclean: distclean_freetype remove_config_mk
|
distclean: distclean_project remove_config_mk
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
#
|
||||||
|
# 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)/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
|
|
@ -0,0 +1,41 @@
|
||||||
|
#
|
||||||
|
# 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)/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) xx $(NO_OUTPUT)
|
||||||
|
endif
|
||||||
|
$(LINK_LIBRARY)
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
# EOF
|
Binary file not shown.
|
@ -2,6 +2,7 @@
|
||||||
# FreeType 2 modules sub-Makefile
|
# FreeType 2 modules sub-Makefile
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000 by
|
# Copyright 1996-2000 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
|
@ -19,51 +20,51 @@
|
||||||
# This file is in charge of handling the generation of the modules list
|
# This file is in charge of handling the generation of the modules list
|
||||||
# file.
|
# 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
|
# MODULE_LIST, as its name suggests, indicates where the modules list
|
||||||
# resides. For now, it is in `include/freetype/config/ftmodule.h'.
|
# resides. For now, it is in `include/freetype/config/ftmodule.h'.
|
||||||
#
|
#
|
||||||
ifndef FT_MODULE_LIST
|
ifndef MODULE_LIST
|
||||||
FT_MODULE_LIST := $(TOP)$(SEP)include$(SEP)freetype$(SEP)config$(SEP)ftmodule.h
|
MODULE_LIST := $(TOP)$(SEP)include$(SEP)$(PROJECT)$(SEP)config$(SEP)ftmodule.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# To build the modules list, we invoke the `make_module_list' target.
|
# To build the modules list, we invoke the `make_module_list' target.
|
||||||
#
|
#
|
||||||
# This rule is commented out by default since FreeType comes already with
|
# 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 $(SEP),$(HOSTSEP),$(MODULE_LIST))
|
||||||
|
REMOVE_MODULE := @-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(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
|
# Before the modules list file can be generated, we must remove the file in
|
||||||
# order to `clean' the list.
|
# order to `clean' the list.
|
||||||
#
|
#
|
||||||
clean_module_list:
|
clean_module_list:
|
||||||
@-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(FT_MODULE_LIST))
|
$(REMOVE_MODULE)
|
||||||
@-echo Regenerating the modules list in $(FT_MODULE_LIST)...
|
@-echo Regenerating the modules list in $(MODULE_LIST)...
|
||||||
|
|
||||||
make_module_list: clean_module_list
|
make_module_list: clean_module_list
|
||||||
@echo done.
|
@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
|
# $(OPEN_DRIVER) & $(CLOSE_DRIVER) are used to specify a given font driver
|
||||||
# in the `module.mk' rules file.
|
# in the `module.mk' rules file.
|
||||||
#
|
#
|
||||||
OPEN_DRIVER := $(OPEN_MODULE)FT_USE_MODULE(
|
OPEN_DRIVER := $(OPEN_MODULE)FT_USE_MODULE(
|
||||||
CLOSE_DRIVER := )$(CLOSE_MODULE)
|
CLOSE_DRIVER := )$(CLOSE_MODULE)
|
||||||
|
|
||||||
ECHO_DRIVER := @echo "* module: #
|
ECHO_DRIVER := @echo "* module:$(space)
|
||||||
ECHO_DRIVER_DESC := (
|
ECHO_DRIVER_DESC := (
|
||||||
ECHO_DRIVER_DONE := )"
|
ECHO_DRIVER_DONE := )"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
|
|
@ -13,50 +13,63 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: setup
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(PLATFORM),ansi)
|
ifeq ($(PLATFORM),ansi)
|
||||||
|
|
||||||
ifdef OS2_SHELL
|
ifdef OS2_SHELL
|
||||||
|
|
||||||
PLATFORM := os2
|
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 OS2_SHELL
|
||||||
endif # test PLATFORM
|
endif
|
||||||
|
|
||||||
#EOF
|
ifeq ($(PLATFORM),os2)
|
||||||
|
|
||||||
|
COPY := copy
|
||||||
|
DELETE := del
|
||||||
|
|
||||||
|
# gcc-emx by default
|
||||||
|
CONFIG_FILE := os2-gcc.mk
|
||||||
|
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
|
||||||
|
visualage: setup
|
||||||
|
.PHONY: visualage
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||||
|
CONFIG_FILE := os2-wat.mk
|
||||||
|
SEP := $(BACKSLASH)
|
||||||
|
CC := wcc386
|
||||||
|
watcom: setup
|
||||||
|
.PHONY: watcom
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C++ 32-bit
|
||||||
|
CONFIG_FILE := os2-bcc.mk
|
||||||
|
SEP := $(BACKSLASH)
|
||||||
|
CC := bcc32
|
||||||
|
borlandc: setup
|
||||||
|
.PHONY: borlandc
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring devel,$(MAKECMDGOALS)),) # development target
|
||||||
|
CONFIG_FILE := os2-dev.mk
|
||||||
|
CC := gcc
|
||||||
|
SEP := /
|
||||||
|
devel: setup
|
||||||
|
.PHONY: devel
|
||||||
|
endif
|
||||||
|
|
||||||
|
setup: dos_setup
|
||||||
|
|
||||||
|
endif # test PLATFORM os2
|
||||||
|
|
||||||
|
# EOF
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 OS/2 specific definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
DELETE := del
|
||||||
|
HOSTSEP := $(strip \ )
|
||||||
|
BUILD := $(TOP)$(SEP)builds$(SEP)os2
|
||||||
|
PLATFORM := os2
|
||||||
|
|
||||||
|
# except for GCC+emx on OS/2
|
||||||
|
ifndef SEP
|
||||||
|
SEP := $(HOSTSEP)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
# The directory where all object files are placed.
|
||||||
|
#
|
||||||
|
# This lets you build the library in your own directory with something like
|
||||||
|
#
|
||||||
|
# set TOP=.../path/to/freetype2/top/dir...
|
||||||
|
# set OBJ_DIR=.../path/to/obj/dir
|
||||||
|
# make -f %TOP%/Makefile setup [options]
|
||||||
|
# make -f %TOP%/Makefile
|
||||||
|
#
|
||||||
|
ifndef OBJ_DIR
|
||||||
|
OBJ_DIR := $(TOP)$(SEP)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,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# FreeType 2 configuration rules for OS/2 + gcc
|
# FreeType 2 configuration rules for OS/2 + GCC
|
||||||
#
|
#
|
||||||
# Development version without optimizations.
|
# Development version without optimizations.
|
||||||
#
|
#
|
||||||
|
@ -19,119 +19,15 @@ ifndef TOP
|
||||||
TOP := .
|
TOP := .
|
||||||
endif
|
endif
|
||||||
|
|
||||||
DELETE := del
|
SEP := /
|
||||||
SEP := /
|
|
||||||
HOSTSEP := $(strip \ )
|
|
||||||
BUILD := $(TOP)/builds/os2
|
|
||||||
PLATFORM := os2
|
|
||||||
CC := gcc
|
|
||||||
|
|
||||||
# The directory where all object files are placed.
|
include $(TOP)/builds/os2/os2-def.mk
|
||||||
#
|
BUILD := $(TOP)/builds/devel
|
||||||
# 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)/builds/compiler/gcc-dev.mk
|
||||||
|
|
||||||
# The directory where all library files are placed.
|
# include linking instructions
|
||||||
#
|
include $(TOP)/builds/link_dos.mk
|
||||||
# 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
|
# 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,15 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
ifndef TOP
|
SEP := /
|
||||||
TOP := .
|
|
||||||
endif
|
|
||||||
|
|
||||||
DELETE := del
|
# include OS/2-specific definitions
|
||||||
SEP := /
|
include $(TOP)/builds/os2/os2-def.mk
|
||||||
HOSTSEP := $(strip \ )
|
|
||||||
BUILD := $(TOP)/builds/os2
|
|
||||||
PLATFORM := os2
|
|
||||||
CC := gcc
|
|
||||||
|
|
||||||
# The directory where all object files are placed.
|
# include gcc-specific definitions
|
||||||
#
|
include $(TOP)/builds/compiler/gcc.mk
|
||||||
# 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
|
||||||
# The directory where all library files are placed.
|
include $(TOP)/builds/link_dos.mk
|
||||||
#
|
|
||||||
# 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
|
# EOF
|
||||||
|
|
|
@ -0,0 +1,135 @@
|
||||||
|
#
|
||||||
|
# FreeType build system -- top-level sub-Makefile
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
# 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).
|
||||||
|
|
||||||
|
# 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)/builds/detect.mk
|
||||||
|
|
||||||
|
ifdef USE_MODULES
|
||||||
|
include $(TOP)/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) 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
|
|
@ -0,0 +1,8 @@
|
||||||
|
unix-def.mk
|
||||||
|
unix-cc.mk
|
||||||
|
config.status
|
||||||
|
config.cache
|
||||||
|
config.log
|
||||||
|
libtool
|
||||||
|
ftconfig.h
|
||||||
|
freetype-config
|
File diff suppressed because it is too large
Load Diff
|
@ -1,9 +1,9 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Attempt to guess a canonical system name.
|
# Attempt to guess a canonical system name.
|
||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
|
|
||||||
version='2000-06-13'
|
timestamp='2001-04-20'
|
||||||
|
|
||||||
# This file is free software; you can redistribute it and/or modify it
|
# This file is free software; you can redistribute it and/or modify it
|
||||||
# under the terms of the GNU General Public License as published by
|
# under the terms of the GNU General Public License as published by
|
||||||
|
@ -32,30 +32,41 @@ version='2000-06-13'
|
||||||
# exits with 0. Otherwise, it exits with 1.
|
# exits with 0. Otherwise, it exits with 1.
|
||||||
#
|
#
|
||||||
# The plan is that this can be called by configure scripts if you
|
# The plan is that this can be called by configure scripts if you
|
||||||
# don't specify an explicit system type (host/target name).
|
# don't specify an explicit build system type.
|
||||||
#
|
|
||||||
# Only a few systems have been added to this list; please add others
|
|
||||||
# (but try to keep the structure clean).
|
|
||||||
#
|
|
||||||
|
|
||||||
me=`echo "$0" | sed -e 's,.*/,,'`
|
me=`echo "$0" | sed -e 's,.*/,,'`
|
||||||
|
|
||||||
usage="\
|
usage="\
|
||||||
Usage: $0 [OPTION]
|
Usage: $0 [OPTION]
|
||||||
|
|
||||||
Output the configuration name of this system.
|
Output the configuration name of the system \`$me' is run on.
|
||||||
|
|
||||||
Operation modes:
|
Operation modes:
|
||||||
-h, --help print this help, then exit
|
-h, --help print this help, then exit
|
||||||
-V, --version print version number, then exit"
|
-t, --time-stamp print date of last modification, then exit
|
||||||
|
-v, --version print version number, then exit
|
||||||
|
|
||||||
|
Report bugs and patches to <config-patches@gnu.org>."
|
||||||
|
|
||||||
|
version="\
|
||||||
|
GNU config.guess ($timestamp)
|
||||||
|
|
||||||
|
Originally written by Per Bothner.
|
||||||
|
Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000
|
||||||
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This is free software; see the source for copying conditions. There is NO
|
||||||
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
|
|
||||||
help="
|
help="
|
||||||
Try \`$me --help' for more information."
|
Try \`$me --help' for more information."
|
||||||
|
|
||||||
# Parse command line
|
# Parse command line
|
||||||
while test $# -gt 0 ; do
|
while test $# -gt 0 ; do
|
||||||
case "$1" in
|
case $1 in
|
||||||
--version | --vers* | -V )
|
--time-stamp | --time* | -t )
|
||||||
|
echo "$timestamp" ; exit 0 ;;
|
||||||
|
--version | -v )
|
||||||
echo "$version" ; exit 0 ;;
|
echo "$version" ; exit 0 ;;
|
||||||
--help | --h* | -h )
|
--help | --h* | -h )
|
||||||
echo "$usage"; exit 0 ;;
|
echo "$usage"; exit 0 ;;
|
||||||
|
@ -64,9 +75,7 @@ while test $# -gt 0 ; do
|
||||||
- ) # Use stdin as input.
|
- ) # Use stdin as input.
|
||||||
break ;;
|
break ;;
|
||||||
-* )
|
-* )
|
||||||
exec >&2
|
echo "$me: invalid option $1$help" >&2
|
||||||
echo "$me: invalid option $1"
|
|
||||||
echo "$help"
|
|
||||||
exit 1 ;;
|
exit 1 ;;
|
||||||
* )
|
* )
|
||||||
break ;;
|
break ;;
|
||||||
|
@ -78,19 +87,30 @@ if test $# != 0; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Use $HOST_CC if defined. $CC may point to a cross-compiler
|
|
||||||
if test x"$CC_FOR_BUILD" = x; then
|
|
||||||
if test x"$HOST_CC" != x; then
|
|
||||||
CC_FOR_BUILD="$HOST_CC"
|
|
||||||
else
|
|
||||||
if test x"$CC" != x; then
|
|
||||||
CC_FOR_BUILD="$CC"
|
|
||||||
else
|
|
||||||
CC_FOR_BUILD=cc
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
dummy=dummy-$$
|
||||||
|
trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
|
||||||
|
|
||||||
|
# CC_FOR_BUILD -- compiler used by this script.
|
||||||
|
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
|
||||||
|
# use `HOST_CC' if defined, but it is deprecated.
|
||||||
|
|
||||||
|
case $CC_FOR_BUILD,$HOST_CC,$CC in
|
||||||
|
,,) echo "int dummy(){}" > $dummy.c
|
||||||
|
for c in cc gcc c89 ; do
|
||||||
|
($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1
|
||||||
|
if test $? = 0 ; then
|
||||||
|
CC_FOR_BUILD="$c"; break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
rm -f $dummy.c $dummy.o $dummy.rel
|
||||||
|
if test x"$CC_FOR_BUILD" = x ; then
|
||||||
|
CC_FOR_BUILD=no_compiler_found
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
,,*) CC_FOR_BUILD=$CC ;;
|
||||||
|
,*,*) CC_FOR_BUILD=$HOST_CC ;;
|
||||||
|
esac
|
||||||
|
|
||||||
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
|
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
|
||||||
# (ghazi@noc.rutgers.edu 8/24/94.)
|
# (ghazi@noc.rutgers.edu 8/24/94.)
|
||||||
|
@ -100,12 +120,9 @@ fi
|
||||||
|
|
||||||
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
|
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
|
||||||
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
|
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
|
||||||
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
||||||
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
|
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
|
||||||
|
|
||||||
dummy=dummy-$$
|
|
||||||
trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
|
|
||||||
|
|
||||||
# Note: order is significant - the case branches are not exclusive.
|
# Note: order is significant - the case branches are not exclusive.
|
||||||
|
|
||||||
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||||
|
@ -119,7 +136,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||||
# object file format.
|
# object file format.
|
||||||
# Determine the machine/vendor (is the vendor relevant).
|
# Determine the machine/vendor (is the vendor relevant).
|
||||||
case "${UNAME_MACHINE}" in
|
case "${UNAME_MACHINE}" in
|
||||||
amiga) machine=m68k-cbm ;;
|
amiga) machine=m68k-unknown ;;
|
||||||
arm32) machine=arm-unknown ;;
|
arm32) machine=arm-unknown ;;
|
||||||
atari*) machine=m68k-atari ;;
|
atari*) machine=m68k-atari ;;
|
||||||
sun3*) machine=m68k-sun ;;
|
sun3*) machine=m68k-sun ;;
|
||||||
|
@ -129,16 +146,24 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||||
ibmrt|romp-ibm) machine=romp-ibm ;;
|
ibmrt|romp-ibm) machine=romp-ibm ;;
|
||||||
*) machine=${UNAME_MACHINE}-unknown ;;
|
*) machine=${UNAME_MACHINE}-unknown ;;
|
||||||
esac
|
esac
|
||||||
# The Operating System including object format.
|
# The Operating System including object format, if it has switched
|
||||||
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
# to ELF recently, or will in the future.
|
||||||
| grep __ELF__ >/dev/null
|
case "${UNAME_MACHINE}" in
|
||||||
then
|
i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
|
||||||
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
|
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||||
# Return netbsd for either. FIX?
|
| grep __ELF__ >/dev/null
|
||||||
os=netbsd
|
then
|
||||||
else
|
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
|
||||||
os=netbsdelf
|
# Return netbsd for either. FIX?
|
||||||
fi
|
os=netbsd
|
||||||
|
else
|
||||||
|
os=netbsdelf
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
os=netbsd
|
||||||
|
;;
|
||||||
|
esac
|
||||||
# The OS release
|
# The OS release
|
||||||
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
||||||
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
|
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
|
||||||
|
@ -215,7 +240,7 @@ EOF
|
||||||
echo alpha-dec-winnt3.5
|
echo alpha-dec-winnt3.5
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
Amiga*:UNIX_System_V:4.0:*)
|
Amiga*:UNIX_System_V:4.0:*)
|
||||||
echo m68k-cbm-sysv4
|
echo m68k-unknown-sysv4
|
||||||
exit 0;;
|
exit 0;;
|
||||||
amiga:OpenBSD:*:*)
|
amiga:OpenBSD:*:*)
|
||||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||||
|
@ -247,7 +272,7 @@ EOF
|
||||||
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
||||||
echo arm-acorn-riscix${UNAME_RELEASE}
|
echo arm-acorn-riscix${UNAME_RELEASE}
|
||||||
exit 0;;
|
exit 0;;
|
||||||
SR2?01:HI-UX/MPP:*:*)
|
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
|
||||||
echo hppa1.1-hitachi-hiuxmpp
|
echo hppa1.1-hitachi-hiuxmpp
|
||||||
exit 0;;
|
exit 0;;
|
||||||
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
|
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
|
||||||
|
@ -383,10 +408,13 @@ EOF
|
||||||
EOF
|
EOF
|
||||||
$CC_FOR_BUILD $dummy.c -o $dummy \
|
$CC_FOR_BUILD $dummy.c -o $dummy \
|
||||||
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
|
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
|
||||||
&& rm $dummy.c $dummy && exit 0
|
&& rm -f $dummy.c $dummy && exit 0
|
||||||
rm -f $dummy.c $dummy
|
rm -f $dummy.c $dummy
|
||||||
echo mips-mips-riscos${UNAME_RELEASE}
|
echo mips-mips-riscos${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
Motorola:PowerMAX_OS:*:*)
|
||||||
|
echo powerpc-motorola-powermax
|
||||||
|
exit 0 ;;
|
||||||
Night_Hawk:Power_UNIX:*:*)
|
Night_Hawk:Power_UNIX:*:*)
|
||||||
echo powerpc-harris-powerunix
|
echo powerpc-harris-powerunix
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
@ -434,9 +462,17 @@ EOF
|
||||||
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
|
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
|
||||||
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
|
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
|
||||||
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
|
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
|
||||||
i?86:AIX:*:*)
|
i*86:AIX:*:*)
|
||||||
echo i386-ibm-aix
|
echo i386-ibm-aix
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
ia64:AIX:*:*)
|
||||||
|
if [ -x /usr/bin/oslevel ] ; then
|
||||||
|
IBM_REV=`/usr/bin/oslevel`
|
||||||
|
else
|
||||||
|
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
|
||||||
|
fi
|
||||||
|
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
|
||||||
|
exit 0 ;;
|
||||||
*:AIX:2:3)
|
*:AIX:2:3)
|
||||||
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
|
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
|
||||||
sed 's/^ //' << EOF >$dummy.c
|
sed 's/^ //' << EOF >$dummy.c
|
||||||
|
@ -450,7 +486,7 @@ EOF
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
|
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
|
||||||
rm -f $dummy.c $dummy
|
rm -f $dummy.c $dummy
|
||||||
echo rs6000-ibm-aix3.2.5
|
echo rs6000-ibm-aix3.2.5
|
||||||
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
|
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
|
||||||
|
@ -459,9 +495,9 @@ EOF
|
||||||
echo rs6000-ibm-aix3.2
|
echo rs6000-ibm-aix3.2
|
||||||
fi
|
fi
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
*:AIX:*:4)
|
*:AIX:*:[45])
|
||||||
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
|
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
|
||||||
if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
|
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
|
||||||
IBM_ARCH=rs6000
|
IBM_ARCH=rs6000
|
||||||
else
|
else
|
||||||
IBM_ARCH=powerpc
|
IBM_ARCH=powerpc
|
||||||
|
@ -469,7 +505,7 @@ EOF
|
||||||
if [ -x /usr/bin/oslevel ] ; then
|
if [ -x /usr/bin/oslevel ] ; then
|
||||||
IBM_REV=`/usr/bin/oslevel`
|
IBM_REV=`/usr/bin/oslevel`
|
||||||
else
|
else
|
||||||
IBM_REV=4.${UNAME_RELEASE}
|
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
|
||||||
fi
|
fi
|
||||||
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
|
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
@ -495,10 +531,28 @@ EOF
|
||||||
echo m68k-hp-bsd4.4
|
echo m68k-hp-bsd4.4
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
9000/[34678]??:HP-UX:*:*)
|
9000/[34678]??:HP-UX:*:*)
|
||||||
|
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
|
||||||
case "${UNAME_MACHINE}" in
|
case "${UNAME_MACHINE}" in
|
||||||
9000/31? ) HP_ARCH=m68000 ;;
|
9000/31? ) HP_ARCH=m68000 ;;
|
||||||
9000/[34]?? ) HP_ARCH=m68k ;;
|
9000/[34]?? ) HP_ARCH=m68k ;;
|
||||||
9000/[678][0-9][0-9])
|
9000/[678][0-9][0-9])
|
||||||
|
case "${HPUX_REV}" in
|
||||||
|
11.[0-9][0-9])
|
||||||
|
if [ -x /usr/bin/getconf ]; then
|
||||||
|
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
|
||||||
|
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
|
||||||
|
case "${sc_cpu_version}" in
|
||||||
|
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
|
||||||
|
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
|
||||||
|
532) # CPU_PA_RISC2_0
|
||||||
|
case "${sc_kernel_bits}" in
|
||||||
|
32) HP_ARCH="hppa2.0n" ;;
|
||||||
|
64) HP_ARCH="hppa2.0w" ;;
|
||||||
|
esac ;;
|
||||||
|
esac
|
||||||
|
fi ;;
|
||||||
|
esac
|
||||||
|
if [ "${HP_ARCH}" = "" ]; then
|
||||||
sed 's/^ //' << EOF >$dummy.c
|
sed 's/^ //' << EOF >$dummy.c
|
||||||
|
|
||||||
#define _HPUX_SOURCE
|
#define _HPUX_SOURCE
|
||||||
|
@ -533,11 +587,16 @@ EOF
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
|
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
|
||||||
|
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
|
||||||
rm -f $dummy.c $dummy
|
rm -f $dummy.c $dummy
|
||||||
|
fi ;;
|
||||||
esac
|
esac
|
||||||
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
|
|
||||||
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
|
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
ia64:HP-UX:*:*)
|
||||||
|
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
|
||||||
|
echo ia64-hp-hpux${HPUX_REV}
|
||||||
|
exit 0 ;;
|
||||||
3050*:HI-UX:*:*)
|
3050*:HI-UX:*:*)
|
||||||
sed 's/^ //' << EOF >$dummy.c
|
sed 's/^ //' << EOF >$dummy.c
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
@ -564,7 +623,7 @@ EOF
|
||||||
exit (0);
|
exit (0);
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
|
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
|
||||||
rm -f $dummy.c $dummy
|
rm -f $dummy.c $dummy
|
||||||
echo unknown-hitachi-hiuxwe2
|
echo unknown-hitachi-hiuxwe2
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
@ -583,7 +642,7 @@ EOF
|
||||||
hp8??:OSF1:*:*)
|
hp8??:OSF1:*:*)
|
||||||
echo hppa1.0-hp-osf
|
echo hppa1.0-hp-osf
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
i?86:OSF1:*:*)
|
i*86:OSF1:*:*)
|
||||||
if [ -x /usr/sbin/sysversion ] ; then
|
if [ -x /usr/sbin/sysversion ] ; then
|
||||||
echo ${UNAME_MACHINE}-unknown-osf1mk
|
echo ${UNAME_MACHINE}-unknown-osf1mk
|
||||||
else
|
else
|
||||||
|
@ -628,27 +687,28 @@ EOF
|
||||||
CRAY*TS:*:*:*)
|
CRAY*TS:*:*:*)
|
||||||
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
CRAY*T3E:*:*:*)
|
CRAY*T3D:*:*:*)
|
||||||
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
CRAY*T3E:*:*:*)
|
||||||
|
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
||||||
|
exit 0 ;;
|
||||||
CRAY*SV1:*:*:*)
|
CRAY*SV1:*:*:*)
|
||||||
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
CRAY-2:*:*:*)
|
CRAY-2:*:*:*)
|
||||||
echo cray2-cray-unicos
|
echo cray2-cray-unicos
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
F300:UNIX_System_V:*:*)
|
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
|
||||||
|
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||||
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
F301:UNIX_System_V:*:*)
|
|
||||||
echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
|
|
||||||
exit 0 ;;
|
|
||||||
hp300:OpenBSD:*:*)
|
hp300:OpenBSD:*:*)
|
||||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
i?86:BSD/386:*:* | i?86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
|
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
|
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
sparc*:BSD/OS:*:*)
|
sparc*:BSD/OS:*:*)
|
||||||
|
@ -669,6 +729,9 @@ EOF
|
||||||
i*:MINGW*:*)
|
i*:MINGW*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-mingw32
|
echo ${UNAME_MACHINE}-pc-mingw32
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
i*:PW*:*)
|
||||||
|
echo ${UNAME_MACHINE}-pc-pw32
|
||||||
|
exit 0 ;;
|
||||||
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
|
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
|
||||||
# How do we know it's Interix rather than the generic POSIX subsystem?
|
# How do we know it's Interix rather than the generic POSIX subsystem?
|
||||||
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
|
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
|
||||||
|
@ -690,58 +753,38 @@ EOF
|
||||||
i*86:Minix:*:*)
|
i*86:Minix:*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-minix
|
echo ${UNAME_MACHINE}-pc-minix
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
*:Linux:*:*)
|
arm*:Linux:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
# The BFD linker knows what the default object file format is, so
|
exit 0 ;;
|
||||||
# first see if it will tell us. cd to the root directory to prevent
|
ia64:Linux:*:*)
|
||||||
# problems with other programs or directories called `ld' in the path.
|
echo ${UNAME_MACHINE}-unknown-linux
|
||||||
ld_help_string=`cd /; ld --help 2>&1`
|
exit 0 ;;
|
||||||
ld_supported_emulations=`echo $ld_help_string \
|
m68*:Linux:*:*)
|
||||||
| sed -ne '/supported emulations:/!d
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
s/[ ][ ]*/ /g
|
exit 0 ;;
|
||||||
s/.*supported emulations: *//
|
mips:Linux:*:*)
|
||||||
s/ .*//
|
cat >$dummy.c <<EOF
|
||||||
p'`
|
#ifdef __cplusplus
|
||||||
case "$ld_supported_emulations" in
|
#include <stdio.h> /* for printf() prototype */
|
||||||
*ia64)
|
int main (int argc, char *argv[]) {
|
||||||
echo "${UNAME_MACHINE}-unknown-linux"
|
#else
|
||||||
exit 0
|
int main (argc, argv) int argc; char *argv[]; {
|
||||||
;;
|
#endif
|
||||||
i?86linux)
|
#ifdef __MIPSEB__
|
||||||
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
|
printf ("%s-unknown-linux-gnu\n", argv[1]);
|
||||||
exit 0
|
#endif
|
||||||
;;
|
#ifdef __MIPSEL__
|
||||||
elf_i?86)
|
printf ("%sel-unknown-linux-gnu\n", argv[1]);
|
||||||
echo "${UNAME_MACHINE}-pc-linux"
|
#endif
|
||||||
exit 0
|
return 0;
|
||||||
;;
|
}
|
||||||
i?86coff)
|
EOF
|
||||||
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
|
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
|
||||||
exit 0
|
rm -f $dummy.c $dummy
|
||||||
;;
|
;;
|
||||||
sparclinux)
|
ppc:Linux:*:*)
|
||||||
echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
|
# Determine Lib Version
|
||||||
exit 0
|
cat >$dummy.c <<EOF
|
||||||
;;
|
|
||||||
armlinux)
|
|
||||||
echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
elf32arm*)
|
|
||||||
echo "${UNAME_MACHINE}-unknown-linux-gnuoldld"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
armelf_linux*)
|
|
||||||
echo "${UNAME_MACHINE}-unknown-linux-gnu"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
m68klinux)
|
|
||||||
echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
elf32ppc | elf32ppclinux)
|
|
||||||
# Determine Lib Version
|
|
||||||
cat >$dummy.c <<EOF
|
|
||||||
#include <features.h>
|
#include <features.h>
|
||||||
#if defined(__GLIBC__)
|
#if defined(__GLIBC__)
|
||||||
extern char __libc_version[];
|
extern char __libc_version[];
|
||||||
|
@ -754,127 +797,127 @@ main(argc, argv)
|
||||||
#if defined(__GLIBC__)
|
#if defined(__GLIBC__)
|
||||||
printf("%s %s\n", __libc_version, __libc_release);
|
printf("%s %s\n", __libc_version, __libc_release);
|
||||||
#else
|
#else
|
||||||
printf("unkown\n");
|
printf("unknown\n");
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
LIBC=""
|
LIBC=""
|
||||||
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
|
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
|
||||||
|
if test "$?" = 0 ; then
|
||||||
|
./$dummy | grep 1\.99 > /dev/null
|
||||||
|
if test "$?" = 0 ; then LIBC="libc1" ; fi
|
||||||
|
fi
|
||||||
|
rm -f $dummy.c $dummy
|
||||||
|
echo powerpc-unknown-linux-gnu${LIBC}
|
||||||
|
exit 0 ;;
|
||||||
|
alpha:Linux:*:*)
|
||||||
|
cat <<EOF >$dummy.s
|
||||||
|
.data
|
||||||
|
\$Lformat:
|
||||||
|
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
|
||||||
|
.text
|
||||||
|
.globl main
|
||||||
|
.align 4
|
||||||
|
.ent main
|
||||||
|
main:
|
||||||
|
.frame \$30,16,\$26,0
|
||||||
|
ldgp \$29,0(\$27)
|
||||||
|
.prologue 1
|
||||||
|
.long 0x47e03d80 # implver \$0
|
||||||
|
lda \$2,-1
|
||||||
|
.long 0x47e20c21 # amask \$2,\$1
|
||||||
|
lda \$16,\$Lformat
|
||||||
|
mov \$0,\$17
|
||||||
|
not \$1,\$18
|
||||||
|
jsr \$26,printf
|
||||||
|
ldgp \$29,0(\$26)
|
||||||
|
mov 0,\$16
|
||||||
|
jsr \$26,exit
|
||||||
|
.end main
|
||||||
|
EOF
|
||||||
|
LIBC=""
|
||||||
|
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
|
||||||
|
if test "$?" = 0 ; then
|
||||||
|
case `./$dummy` in
|
||||||
|
0-0) UNAME_MACHINE="alpha" ;;
|
||||||
|
1-0) UNAME_MACHINE="alphaev5" ;;
|
||||||
|
1-1) UNAME_MACHINE="alphaev56" ;;
|
||||||
|
1-101) UNAME_MACHINE="alphapca56" ;;
|
||||||
|
2-303) UNAME_MACHINE="alphaev6" ;;
|
||||||
|
2-307) UNAME_MACHINE="alphaev67" ;;
|
||||||
|
esac
|
||||||
|
objdump --private-headers $dummy | \
|
||||||
|
grep ld.so.1 > /dev/null
|
||||||
if test "$?" = 0 ; then
|
if test "$?" = 0 ; then
|
||||||
./$dummy | grep 1\.99 > /dev/null
|
LIBC="libc1"
|
||||||
if test "$?" = 0 ; then
|
|
||||||
LIBC="libc1"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
rm -f $dummy.c $dummy
|
fi
|
||||||
echo powerpc-unknown-linux-gnu${LIBC}
|
rm -f $dummy.s $dummy
|
||||||
|
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
|
||||||
|
exit 0 ;;
|
||||||
|
parisc:Linux:*:* | hppa:Linux:*:*)
|
||||||
|
# Look for CPU level
|
||||||
|
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
|
||||||
|
PA7*) echo hppa1.1-unknown-linux-gnu ;;
|
||||||
|
PA8*) echo hppa2.0-unknown-linux-gnu ;;
|
||||||
|
*) echo hppa-unknown-linux-gnu ;;
|
||||||
|
esac
|
||||||
|
exit 0 ;;
|
||||||
|
parisc64:Linux:*:* | hppa64:Linux:*:*)
|
||||||
|
echo hppa64-unknown-linux-gnu
|
||||||
|
exit 0 ;;
|
||||||
|
s390:Linux:*:* | s390x:Linux:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-ibm-linux
|
||||||
|
exit 0 ;;
|
||||||
|
sh*:Linux:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
|
exit 0 ;;
|
||||||
|
sparc:Linux:*:* | sparc64:Linux:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
|
exit 0 ;;
|
||||||
|
x86_64:Linux:*:*)
|
||||||
|
echo x86_64-unknown-linux-gnu
|
||||||
|
exit 0 ;;
|
||||||
|
i*86:Linux:*:*)
|
||||||
|
# The BFD linker knows what the default object file format is, so
|
||||||
|
# first see if it will tell us. cd to the root directory to prevent
|
||||||
|
# problems with other programs or directories called `ld' in the path.
|
||||||
|
ld_supported_emulations=`cd /; ld --help 2>&1 \
|
||||||
|
| sed -ne '/supported emulations:/!d
|
||||||
|
s/[ ][ ]*/ /g
|
||||||
|
s/.*supported emulations: *//
|
||||||
|
s/ .*//
|
||||||
|
p'`
|
||||||
|
case "$ld_supported_emulations" in
|
||||||
|
i*86linux)
|
||||||
|
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
shelf_linux)
|
elf_i*86)
|
||||||
echo "${UNAME_MACHINE}-unknown-linux-gnu"
|
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
|
||||||
|
;;
|
||||||
|
i*86coff)
|
||||||
|
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
# Either a pre-BFD a.out linker (linux-gnuoldld)
|
||||||
if test "${UNAME_MACHINE}" = "alpha" ; then
|
# or one that does not give us useful --help.
|
||||||
cat <<EOF >$dummy.s
|
# GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
|
||||||
.data
|
# If ld does not provide *any* "supported emulations:"
|
||||||
\$Lformat:
|
# that means it is gnuoldld.
|
||||||
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
|
test -z "$ld_supported_emulations" && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
|
||||||
|
case "${UNAME_MACHINE}" in
|
||||||
.text
|
i*86)
|
||||||
.globl main
|
VENDOR=pc;
|
||||||
.align 4
|
;;
|
||||||
.ent main
|
*)
|
||||||
main:
|
VENDOR=unknown;
|
||||||
.frame \$30,16,\$26,0
|
;;
|
||||||
ldgp \$29,0(\$27)
|
esac
|
||||||
.prologue 1
|
# Determine whether the default compiler is a.out or elf
|
||||||
.long 0x47e03d80 # implver \$0
|
cat >$dummy.c <<EOF
|
||||||
lda \$2,-1
|
|
||||||
.long 0x47e20c21 # amask \$2,\$1
|
|
||||||
lda \$16,\$Lformat
|
|
||||||
mov \$0,\$17
|
|
||||||
not \$1,\$18
|
|
||||||
jsr \$26,printf
|
|
||||||
ldgp \$29,0(\$26)
|
|
||||||
mov 0,\$16
|
|
||||||
jsr \$26,exit
|
|
||||||
.end main
|
|
||||||
EOF
|
|
||||||
LIBC=""
|
|
||||||
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
|
|
||||||
if test "$?" = 0 ; then
|
|
||||||
case `./$dummy` in
|
|
||||||
0-0)
|
|
||||||
UNAME_MACHINE="alpha"
|
|
||||||
;;
|
|
||||||
1-0)
|
|
||||||
UNAME_MACHINE="alphaev5"
|
|
||||||
;;
|
|
||||||
1-1)
|
|
||||||
UNAME_MACHINE="alphaev56"
|
|
||||||
;;
|
|
||||||
1-101)
|
|
||||||
UNAME_MACHINE="alphapca56"
|
|
||||||
;;
|
|
||||||
2-303)
|
|
||||||
UNAME_MACHINE="alphaev6"
|
|
||||||
;;
|
|
||||||
2-307)
|
|
||||||
UNAME_MACHINE="alphaev67"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
objdump --private-headers $dummy | \
|
|
||||||
grep ld.so.1 > /dev/null
|
|
||||||
if test "$?" = 0 ; then
|
|
||||||
LIBC="libc1"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
rm -f $dummy.s $dummy
|
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
|
|
||||||
elif test "${UNAME_MACHINE}" = "mips" ; then
|
|
||||||
cat >$dummy.c <<EOF
|
|
||||||
#ifdef __cplusplus
|
|
||||||
#include <stdio.h> /* for printf() prototype */
|
|
||||||
int main (int argc, char *argv[]) {
|
|
||||||
#else
|
|
||||||
int main (argc, argv) int argc; char *argv[]; {
|
|
||||||
#endif
|
|
||||||
#ifdef __MIPSEB__
|
|
||||||
printf ("%s-unknown-linux-gnu\n", argv[1]);
|
|
||||||
#endif
|
|
||||||
#ifdef __MIPSEL__
|
|
||||||
printf ("%sel-unknown-linux-gnu\n", argv[1]);
|
|
||||||
#endif
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
|
|
||||||
rm -f $dummy.c $dummy
|
|
||||||
elif test "${UNAME_MACHINE}" = "s390"; then
|
|
||||||
echo s390-ibm-linux && exit 0
|
|
||||||
else
|
|
||||||
# Either a pre-BFD a.out linker (linux-gnuoldld)
|
|
||||||
# or one that does not give us useful --help.
|
|
||||||
# GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
|
|
||||||
# If ld does not provide *any* "supported emulations:"
|
|
||||||
# that means it is gnuoldld.
|
|
||||||
echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
|
|
||||||
test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
|
|
||||||
|
|
||||||
case "${UNAME_MACHINE}" in
|
|
||||||
i?86)
|
|
||||||
VENDOR=pc;
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
VENDOR=unknown;
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
# Determine whether the default compiler is a.out or elf
|
|
||||||
cat >$dummy.c <<EOF
|
|
||||||
#include <features.h>
|
#include <features.h>
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#include <stdio.h> /* for printf() prototype */
|
#include <stdio.h> /* for printf() prototype */
|
||||||
|
@ -898,15 +941,16 @@ EOF
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
|
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
|
||||||
rm -f $dummy.c $dummy
|
rm -f $dummy.c $dummy
|
||||||
fi ;;
|
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
|
||||||
|
;;
|
||||||
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
|
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
|
||||||
# are messed up and put the nodename in both sysname and nodename.
|
# are messed up and put the nodename in both sysname and nodename.
|
||||||
i?86:DYNIX/ptx:4*:*)
|
i*86:DYNIX/ptx:4*:*)
|
||||||
echo i386-sequent-sysv4
|
echo i386-sequent-sysv4
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
i?86:UNIX_SV:4.2MP:2.*)
|
i*86:UNIX_SV:4.2MP:2.*)
|
||||||
# Unixware is an offshoot of SVR4, but it has its own version
|
# Unixware is an offshoot of SVR4, but it has its own version
|
||||||
# number series starting with 2...
|
# number series starting with 2...
|
||||||
# I am not positive that other SVR4 systems won't match this,
|
# I am not positive that other SVR4 systems won't match this,
|
||||||
|
@ -914,7 +958,7 @@ EOF
|
||||||
# Use sysv4.2uw... so that sysv4* matches it.
|
# Use sysv4.2uw... so that sysv4* matches it.
|
||||||
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
|
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
|
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
|
||||||
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
|
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
|
||||||
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
|
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
|
||||||
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
|
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
|
||||||
|
@ -922,7 +966,7 @@ EOF
|
||||||
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
|
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
|
||||||
fi
|
fi
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
i?86:*:5:7*)
|
i*86:*:5:7*)
|
||||||
# Fixed at (any) Pentium or better
|
# Fixed at (any) Pentium or better
|
||||||
UNAME_MACHINE=i586
|
UNAME_MACHINE=i586
|
||||||
if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
|
if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
|
||||||
|
@ -931,7 +975,7 @@ EOF
|
||||||
echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
|
echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
|
||||||
fi
|
fi
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
i?86:*:3.2:*)
|
i*86:*:3.2:*)
|
||||||
if test -f /usr/options/cb.name; then
|
if test -f /usr/options/cb.name; then
|
||||||
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
|
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
|
||||||
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
|
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
|
||||||
|
@ -949,7 +993,7 @@ EOF
|
||||||
echo ${UNAME_MACHINE}-pc-sysv32
|
echo ${UNAME_MACHINE}-pc-sysv32
|
||||||
fi
|
fi
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
i?86:*DOS:*:*)
|
i*86:*DOS:*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-msdosdjgpp
|
echo ${UNAME_MACHINE}-pc-msdosdjgpp
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
pc:*:*:*)
|
pc:*:*:*)
|
||||||
|
@ -977,7 +1021,7 @@ EOF
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
M68*:*:R3V[567]*:*)
|
M68*:*:R3V[567]*:*)
|
||||||
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
|
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
|
||||||
3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
|
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
|
||||||
OS_REL=''
|
OS_REL=''
|
||||||
test -r /etc/.relid \
|
test -r /etc/.relid \
|
||||||
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
|
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
|
||||||
|
@ -988,21 +1032,24 @@ EOF
|
||||||
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
||||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||||
&& echo i486-ncr-sysv4 && exit 0 ;;
|
&& echo i486-ncr-sysv4 && exit 0 ;;
|
||||||
m68*:LynxOS:2.*:*)
|
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
|
||||||
echo m68k-unknown-lynxos${UNAME_RELEASE}
|
echo m68k-unknown-lynxos${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
mc68030:UNIX_System_V:4.*:*)
|
mc68030:UNIX_System_V:4.*:*)
|
||||||
echo m68k-atari-sysv4
|
echo m68k-atari-sysv4
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
|
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
|
||||||
echo i386-unknown-lynxos${UNAME_RELEASE}
|
echo i386-unknown-lynxos${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
TSUNAMI:LynxOS:2.*:*)
|
TSUNAMI:LynxOS:2.*:*)
|
||||||
echo sparc-unknown-lynxos${UNAME_RELEASE}
|
echo sparc-unknown-lynxos${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
|
rs6000:LynxOS:2.*:*)
|
||||||
echo rs6000-unknown-lynxos${UNAME_RELEASE}
|
echo rs6000-unknown-lynxos${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
|
||||||
|
echo powerpc-unknown-lynxos${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
SM[BE]S:UNIX_SV:*:*)
|
SM[BE]S:UNIX_SV:*:*)
|
||||||
echo mips-dde-sysv${UNAME_RELEASE}
|
echo mips-dde-sysv${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
@ -1036,7 +1083,7 @@ EOF
|
||||||
mc68*:A/UX:*:*)
|
mc68*:A/UX:*:*)
|
||||||
echo m68k-apple-aux${UNAME_RELEASE}
|
echo m68k-apple-aux${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
news*:NEWS-OS:*:6*)
|
news*:NEWS-OS:6*:*)
|
||||||
echo mips-sony-newsos6
|
echo mips-sony-newsos6
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
|
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
|
||||||
|
@ -1079,15 +1126,52 @@ EOF
|
||||||
*:QNX:*:4*)
|
*:QNX:*:4*)
|
||||||
echo i386-pc-qnx
|
echo i386-pc-qnx
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
NSR-W:NONSTOP_KERNEL:*:*)
|
NSR-[KW]:NONSTOP_KERNEL:*:*)
|
||||||
echo nsr-tandem-nsk${UNAME_RELEASE}
|
echo nsr-tandem-nsk${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
*:NonStop-UX:*:*)
|
||||||
|
echo mips-compaq-nonstopux
|
||||||
|
exit 0 ;;
|
||||||
BS2000:POSIX*:*:*)
|
BS2000:POSIX*:*:*)
|
||||||
echo bs2000-siemens-sysv
|
echo bs2000-siemens-sysv
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
DS/*:UNIX_System_V:*:*)
|
DS/*:UNIX_System_V:*:*)
|
||||||
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
|
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
*:Plan9:*:*)
|
||||||
|
# "uname -m" is not consistent, so use $cputype instead. 386
|
||||||
|
# is converted to i386 for consistency with other x86
|
||||||
|
# operating systems.
|
||||||
|
if test "$cputype" = "386"; then
|
||||||
|
UNAME_MACHINE=i386
|
||||||
|
else
|
||||||
|
UNAME_MACHINE="$cputype"
|
||||||
|
fi
|
||||||
|
echo ${UNAME_MACHINE}-unknown-plan9
|
||||||
|
exit 0 ;;
|
||||||
|
i*86:OS/2:*:*)
|
||||||
|
# If we were able to find `uname', then EMX Unix compatibility
|
||||||
|
# is probably installed.
|
||||||
|
echo ${UNAME_MACHINE}-pc-os2-emx
|
||||||
|
exit 0 ;;
|
||||||
|
*:TOPS-10:*:*)
|
||||||
|
echo pdp10-unknown-tops10
|
||||||
|
exit 0 ;;
|
||||||
|
*:TENEX:*:*)
|
||||||
|
echo pdp10-unknown-tenex
|
||||||
|
exit 0 ;;
|
||||||
|
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
|
||||||
|
echo pdp10-dec-tops20
|
||||||
|
exit 0 ;;
|
||||||
|
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
|
||||||
|
echo pdp10-xkl-tops20
|
||||||
|
exit 0 ;;
|
||||||
|
*:TOPS-20:*:*)
|
||||||
|
echo pdp10-unknown-tops20
|
||||||
|
exit 0 ;;
|
||||||
|
*:ITS:*:*)
|
||||||
|
echo pdp10-unknown-its
|
||||||
|
exit 0 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
#echo '(No uname command or uname output not recognized.)' 1>&2
|
#echo '(No uname command or uname output not recognized.)' 1>&2
|
||||||
|
@ -1179,11 +1263,24 @@ main ()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (vax)
|
#if defined (vax)
|
||||||
#if !defined (ultrix)
|
# if !defined (ultrix)
|
||||||
printf ("vax-dec-bsd\n"); exit (0);
|
# include <sys/param.h>
|
||||||
#else
|
# if defined (BSD)
|
||||||
printf ("vax-dec-ultrix\n"); exit (0);
|
# if BSD == 43
|
||||||
#endif
|
printf ("vax-dec-bsd4.3\n"); exit (0);
|
||||||
|
# else
|
||||||
|
# if BSD == 199006
|
||||||
|
printf ("vax-dec-bsd4.3reno\n"); exit (0);
|
||||||
|
# else
|
||||||
|
printf ("vax-dec-bsd\n"); exit (0);
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
printf ("vax-dec-bsd\n"); exit (0);
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
printf ("vax-dec-ultrix\n"); exit (0);
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (alliant) && defined (i860)
|
#if defined (alliant) && defined (i860)
|
||||||
|
@ -1194,7 +1291,7 @@ main ()
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
|
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
|
||||||
rm -f $dummy.c $dummy
|
rm -f $dummy.c $dummy
|
||||||
|
|
||||||
# Apollos put the system type in the environment.
|
# Apollos put the system type in the environment.
|
||||||
|
@ -1230,8 +1327,9 @@ fi
|
||||||
cat >&2 <<EOF
|
cat >&2 <<EOF
|
||||||
$0: unable to guess system type
|
$0: unable to guess system type
|
||||||
|
|
||||||
The $version version of this script cannot recognize your system type.
|
This script, last modified $timestamp, has failed to recognize
|
||||||
Please download the most up to date version of the config scripts:
|
the operating system you are using. It is advised that you
|
||||||
|
download the most up to date version of the config scripts from
|
||||||
|
|
||||||
ftp://ftp.gnu.org/pub/gnu/config/
|
ftp://ftp.gnu.org/pub/gnu/config/
|
||||||
|
|
||||||
|
@ -1240,7 +1338,7 @@ send the following data and any information you think might be
|
||||||
pertinent to <config-patches@gnu.org> in order to provide the needed
|
pertinent to <config-patches@gnu.org> in order to provide the needed
|
||||||
information to handle your system.
|
information to handle your system.
|
||||||
|
|
||||||
config.guess version = $version
|
config.guess timestamp = $timestamp
|
||||||
|
|
||||||
uname -m = `(uname -m) 2>/dev/null || echo unknown`
|
uname -m = `(uname -m) 2>/dev/null || echo unknown`
|
||||||
uname -r = `(uname -r) 2>/dev/null || echo unknown`
|
uname -r = `(uname -r) 2>/dev/null || echo unknown`
|
||||||
|
@ -1267,7 +1365,7 @@ exit 1
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "version='"
|
# time-stamp-start: "timestamp='"
|
||||||
# time-stamp-format: "%:y-%02m-%02d"
|
# time-stamp-format: "%:y-%02m-%02d"
|
||||||
# time-stamp-end: "'"
|
# time-stamp-end: "'"
|
||||||
# End:
|
# End:
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Configuration validation subroutine script, version 1.1.
|
# Configuration validation subroutine script.
|
||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
|
|
||||||
version='2000-06-20'
|
timestamp='2001-04-20'
|
||||||
|
|
||||||
# This file is (in principle) common to ALL GNU software.
|
# This file is (in principle) common to ALL GNU software.
|
||||||
# The presence of a machine in this file suggests that SOME GNU software
|
# The presence of a machine in this file suggests that SOME GNU software
|
||||||
|
@ -60,16 +60,30 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS
|
||||||
Canonicalize a configuration name.
|
Canonicalize a configuration name.
|
||||||
|
|
||||||
Operation modes:
|
Operation modes:
|
||||||
-h, --help print this help, then exit
|
-h, --help print this help, then exit
|
||||||
-V, --version print version number, then exit"
|
-t, --time-stamp print date of last modification, then exit
|
||||||
|
-v, --version print version number, then exit
|
||||||
|
|
||||||
|
Report bugs and patches to <config-patches@gnu.org>."
|
||||||
|
|
||||||
|
version="\
|
||||||
|
GNU config.sub ($timestamp)
|
||||||
|
|
||||||
|
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||||
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This is free software; see the source for copying conditions. There is NO
|
||||||
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
|
|
||||||
help="
|
help="
|
||||||
Try \`$me --help' for more information."
|
Try \`$me --help' for more information."
|
||||||
|
|
||||||
# Parse command line
|
# Parse command line
|
||||||
while test $# -gt 0 ; do
|
while test $# -gt 0 ; do
|
||||||
case "$1" in
|
case $1 in
|
||||||
--version | --vers* | -V )
|
--time-stamp | --time* | -t )
|
||||||
|
echo "$timestamp" ; exit 0 ;;
|
||||||
|
--version | -v )
|
||||||
echo "$version" ; exit 0 ;;
|
echo "$version" ; exit 0 ;;
|
||||||
--help | --h* | -h )
|
--help | --h* | -h )
|
||||||
echo "$usage"; exit 0 ;;
|
echo "$usage"; exit 0 ;;
|
||||||
|
@ -78,9 +92,7 @@ while test $# -gt 0 ; do
|
||||||
- ) # Use stdin as input.
|
- ) # Use stdin as input.
|
||||||
break ;;
|
break ;;
|
||||||
-* )
|
-* )
|
||||||
exec >&2
|
echo "$me: invalid option $1$help"
|
||||||
echo "$me: invalid option $1"
|
|
||||||
echo "$help"
|
|
||||||
exit 1 ;;
|
exit 1 ;;
|
||||||
|
|
||||||
*local*)
|
*local*)
|
||||||
|
@ -105,7 +117,7 @@ esac
|
||||||
# Here we must recognize all the valid KERNEL-OS combinations.
|
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||||
case $maybe_os in
|
case $maybe_os in
|
||||||
nto-qnx* | linux-gnu*)
|
nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*)
|
||||||
os=-$maybe_os
|
os=-$maybe_os
|
||||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||||
;;
|
;;
|
||||||
|
@ -203,31 +215,40 @@ esac
|
||||||
case $basic_machine in
|
case $basic_machine in
|
||||||
# Recognize the basic CPU types without company name.
|
# Recognize the basic CPU types without company name.
|
||||||
# Some are omitted here because they have special meanings below.
|
# Some are omitted here because they have special meanings below.
|
||||||
tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
|
tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
|
||||||
| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
|
| arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
|
||||||
|
| pyramid | mn10200 | mn10300 | tron | a29k \
|
||||||
| 580 | i960 | h8300 \
|
| 580 | i960 | h8300 \
|
||||||
| x86 | ppcbe | mipsbe | mipsle | shbe | shle | armbe | armle \
|
| x86 | ppcbe | mipsbe | mipsle | shbe | shle \
|
||||||
| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
|
| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
|
||||||
| hppa64 \
|
| hppa64 \
|
||||||
| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
|
| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
|
||||||
| alphaev6[78] \
|
| alphaev6[78] \
|
||||||
| we32k | ns16k | clipper | i370 | sh | sh[34] \
|
| we32k | ns16k | clipper | i370 | sh | sh[34] \
|
||||||
| powerpc | powerpcle \
|
| powerpc | powerpcle \
|
||||||
| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
|
| 1750a | dsp16xx | pdp10 | pdp11 \
|
||||||
|
| mips16 | mips64 | mipsel | mips64el \
|
||||||
| mips64orion | mips64orionel | mipstx39 | mipstx39el \
|
| mips64orion | mips64orionel | mipstx39 | mipstx39el \
|
||||||
| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
|
| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
|
||||||
| mips64vr5000 | miprs64vr5000el | mcore \
|
| mips64vr5000 | miprs64vr5000el | mcore | s390 | s390x \
|
||||||
| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
|
| sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \
|
||||||
| thumb | d10v | fr30 | avr)
|
| v850 | c4x \
|
||||||
|
| thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \
|
||||||
|
| pj | pjl | h8500)
|
||||||
basic_machine=$basic_machine-unknown
|
basic_machine=$basic_machine-unknown
|
||||||
;;
|
;;
|
||||||
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
|
m6811 | m68hc11 | m6812 | m68hc12)
|
||||||
|
# Motorola 68HC11/12.
|
||||||
|
basic_machine=$basic_machine-unknown
|
||||||
|
os=-none
|
||||||
|
;;
|
||||||
|
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | w65)
|
||||||
;;
|
;;
|
||||||
|
|
||||||
# We use `pc' rather than `unknown'
|
# We use `pc' rather than `unknown'
|
||||||
# because (1) that's what they normally are, and
|
# because (1) that's what they normally are, and
|
||||||
# (2) the word "unknown" tends to confuse beginning users.
|
# (2) the word "unknown" tends to confuse beginning users.
|
||||||
i[234567]86)
|
i*86 | x86_64)
|
||||||
basic_machine=$basic_machine-pc
|
basic_machine=$basic_machine-pc
|
||||||
;;
|
;;
|
||||||
# Object if more than one company name word.
|
# Object if more than one company name word.
|
||||||
|
@ -237,27 +258,30 @@ case $basic_machine in
|
||||||
;;
|
;;
|
||||||
# Recognize the basic CPU types with company name.
|
# Recognize the basic CPU types with company name.
|
||||||
# FIXME: clean up the formatting here.
|
# FIXME: clean up the formatting here.
|
||||||
vax-* | tahoe-* | i[234567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
|
vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
|
||||||
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
|
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
|
||||||
|
| arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
|
||||||
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
|
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
|
||||||
| power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
|
| power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
|
||||||
| xmp-* | ymp-* \
|
| xmp-* | ymp-* \
|
||||||
| x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* | armbe-* | armle-* \
|
| x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
|
||||||
| hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
|
| hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
|
||||||
| hppa2.0n-* | hppa64-* \
|
| hppa2.0n-* | hppa64-* \
|
||||||
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
|
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
|
||||||
| alphaev6[78]-* \
|
| alphaev6[78]-* \
|
||||||
| we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
|
| we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
|
||||||
| clipper-* | orion-* \
|
| clipper-* | orion-* \
|
||||||
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
|
| sparclite-* | pdp10-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
|
||||||
| sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
|
| sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \
|
||||||
|
| mips16-* | mips64-* | mipsel-* \
|
||||||
| mips64el-* | mips64orion-* | mips64orionel-* \
|
| mips64el-* | mips64orion-* | mips64orionel-* \
|
||||||
| mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
|
| mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
|
||||||
| mipstx39-* | mipstx39el-* | mcore-* \
|
| mipstx39-* | mipstx39el-* | mcore-* \
|
||||||
| f301-* | armv*-* | s390-* | sv1-* | t3e-* \
|
| f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \
|
||||||
|
| [cjt]90-* \
|
||||||
| m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
|
| m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
|
||||||
| thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
|
| thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \
|
||||||
| bs2000-* | tic54x-* | c54x-*)
|
| bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*)
|
||||||
;;
|
;;
|
||||||
# Recognize the various machine names and aliases which stand
|
# Recognize the various machine names and aliases which stand
|
||||||
# for a CPU type and a company and sometimes even an OS.
|
# for a CPU type and a company and sometimes even an OS.
|
||||||
|
@ -294,14 +318,14 @@ case $basic_machine in
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
amiga | amiga-*)
|
amiga | amiga-*)
|
||||||
basic_machine=m68k-cbm
|
basic_machine=m68k-unknown
|
||||||
;;
|
;;
|
||||||
amigaos | amigados)
|
amigaos | amigados)
|
||||||
basic_machine=m68k-cbm
|
basic_machine=m68k-unknown
|
||||||
os=-amigaos
|
os=-amigaos
|
||||||
;;
|
;;
|
||||||
amigaunix | amix)
|
amigaunix | amix)
|
||||||
basic_machine=m68k-cbm
|
basic_machine=m68k-unknown
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
apollo68)
|
apollo68)
|
||||||
|
@ -348,8 +372,8 @@ case $basic_machine in
|
||||||
basic_machine=cray2-cray
|
basic_machine=cray2-cray
|
||||||
os=-unicos
|
os=-unicos
|
||||||
;;
|
;;
|
||||||
[ctj]90-cray)
|
[cjt]90)
|
||||||
basic_machine=c90-cray
|
basic_machine=${basic_machine}-cray
|
||||||
os=-unicos
|
os=-unicos
|
||||||
;;
|
;;
|
||||||
crds | unos)
|
crds | unos)
|
||||||
|
@ -405,6 +429,10 @@ case $basic_machine in
|
||||||
basic_machine=tron-gmicro
|
basic_machine=tron-gmicro
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
|
go32)
|
||||||
|
basic_machine=i386-pc
|
||||||
|
os=-go32
|
||||||
|
;;
|
||||||
h3050r* | hiux*)
|
h3050r* | hiux*)
|
||||||
basic_machine=hppa1.1-hitachi
|
basic_machine=hppa1.1-hitachi
|
||||||
os=-hiuxwe2
|
os=-hiuxwe2
|
||||||
|
@ -480,19 +508,19 @@ case $basic_machine in
|
||||||
basic_machine=i370-ibm
|
basic_machine=i370-ibm
|
||||||
;;
|
;;
|
||||||
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
|
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
|
||||||
i[34567]86v32)
|
i*86v32)
|
||||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||||
os=-sysv32
|
os=-sysv32
|
||||||
;;
|
;;
|
||||||
i[34567]86v4*)
|
i*86v4*)
|
||||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
i[34567]86v)
|
i*86v)
|
||||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
i[34567]86sol2)
|
i*86sol2)
|
||||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||||
os=-solaris2
|
os=-solaris2
|
||||||
;;
|
;;
|
||||||
|
@ -504,14 +532,6 @@ case $basic_machine in
|
||||||
basic_machine=i386-unknown
|
basic_machine=i386-unknown
|
||||||
os=-vsta
|
os=-vsta
|
||||||
;;
|
;;
|
||||||
i386-go32 | go32)
|
|
||||||
basic_machine=i386-unknown
|
|
||||||
os=-go32
|
|
||||||
;;
|
|
||||||
i386-mingw32 | mingw32)
|
|
||||||
basic_machine=i386-unknown
|
|
||||||
os=-mingw32
|
|
||||||
;;
|
|
||||||
iris | iris4d)
|
iris | iris4d)
|
||||||
basic_machine=mips-sgi
|
basic_machine=mips-sgi
|
||||||
case $os in
|
case $os in
|
||||||
|
@ -537,6 +557,10 @@ case $basic_machine in
|
||||||
basic_machine=ns32k-utek
|
basic_machine=ns32k-utek
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
|
mingw32)
|
||||||
|
basic_machine=i386-pc
|
||||||
|
os=-mingw32
|
||||||
|
;;
|
||||||
miniframe)
|
miniframe)
|
||||||
basic_machine=m68000-convergent
|
basic_machine=m68000-convergent
|
||||||
;;
|
;;
|
||||||
|
@ -567,7 +591,7 @@ case $basic_machine in
|
||||||
os=-coff
|
os=-coff
|
||||||
;;
|
;;
|
||||||
msdos)
|
msdos)
|
||||||
basic_machine=i386-unknown
|
basic_machine=i386-pc
|
||||||
os=-msdos
|
os=-msdos
|
||||||
;;
|
;;
|
||||||
mvs)
|
mvs)
|
||||||
|
@ -631,6 +655,10 @@ case $basic_machine in
|
||||||
basic_machine=i960-intel
|
basic_machine=i960-intel
|
||||||
os=-mon960
|
os=-mon960
|
||||||
;;
|
;;
|
||||||
|
nonstopux)
|
||||||
|
basic_machine=mips-compaq
|
||||||
|
os=-nonstopux
|
||||||
|
;;
|
||||||
np1)
|
np1)
|
||||||
basic_machine=np1-gould
|
basic_machine=np1-gould
|
||||||
;;
|
;;
|
||||||
|
@ -666,28 +694,28 @@ case $basic_machine in
|
||||||
pc532 | pc532-*)
|
pc532 | pc532-*)
|
||||||
basic_machine=ns32k-pc532
|
basic_machine=ns32k-pc532
|
||||||
;;
|
;;
|
||||||
pentium | p5 | k5 | k6 | nexen)
|
pentium | p5 | k5 | k6 | nexgen)
|
||||||
basic_machine=i586-pc
|
basic_machine=i586-pc
|
||||||
;;
|
;;
|
||||||
pentiumpro | p6 | 6x86 | athlon)
|
pentiumpro | p6 | 6x86 | athlon)
|
||||||
basic_machine=i686-pc
|
basic_machine=i686-pc
|
||||||
;;
|
;;
|
||||||
pentiumii | pentium2)
|
pentiumii | pentium2)
|
||||||
basic_machine=i786-pc
|
basic_machine=i686-pc
|
||||||
;;
|
;;
|
||||||
pentium-* | p5-* | k5-* | k6-* | nexen-*)
|
pentium-* | p5-* | k5-* | k6-* | nexgen-*)
|
||||||
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
pentiumpro-* | p6-* | 6x86-* | athlon-*)
|
pentiumpro-* | p6-* | 6x86-* | athlon-*)
|
||||||
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
pentiumii-* | pentium2-*)
|
pentiumii-* | pentium2-*)
|
||||||
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
pn)
|
pn)
|
||||||
basic_machine=pn-gould
|
basic_machine=pn-gould
|
||||||
;;
|
;;
|
||||||
power) basic_machine=rs6000-ibm
|
power) basic_machine=power-ibm
|
||||||
;;
|
;;
|
||||||
ppc) basic_machine=powerpc-unknown
|
ppc) basic_machine=powerpc-unknown
|
||||||
;;
|
;;
|
||||||
|
@ -702,6 +730,10 @@ case $basic_machine in
|
||||||
ps2)
|
ps2)
|
||||||
basic_machine=i386-ibm
|
basic_machine=i386-ibm
|
||||||
;;
|
;;
|
||||||
|
pw32)
|
||||||
|
basic_machine=i586-unknown
|
||||||
|
os=-pw32
|
||||||
|
;;
|
||||||
rom68k)
|
rom68k)
|
||||||
basic_machine=m68k-rom68k
|
basic_machine=m68k-rom68k
|
||||||
os=-coff
|
os=-coff
|
||||||
|
@ -892,6 +924,10 @@ case $basic_machine in
|
||||||
vax)
|
vax)
|
||||||
basic_machine=vax-dec
|
basic_machine=vax-dec
|
||||||
;;
|
;;
|
||||||
|
pdp10)
|
||||||
|
# there are many clones, so DEC is not a safe bet
|
||||||
|
basic_machine=pdp10-unknown
|
||||||
|
;;
|
||||||
pdp11)
|
pdp11)
|
||||||
basic_machine=pdp11-dec
|
basic_machine=pdp11-dec
|
||||||
;;
|
;;
|
||||||
|
@ -899,9 +935,9 @@ case $basic_machine in
|
||||||
basic_machine=we32k-att
|
basic_machine=we32k-att
|
||||||
;;
|
;;
|
||||||
sh3 | sh4)
|
sh3 | sh4)
|
||||||
base_machine=sh-unknown
|
basic_machine=sh-unknown
|
||||||
;;
|
;;
|
||||||
sparc | sparcv9)
|
sparc | sparcv9 | sparcv9b)
|
||||||
basic_machine=sparc-sun
|
basic_machine=sparc-sun
|
||||||
;;
|
;;
|
||||||
cydra)
|
cydra)
|
||||||
|
@ -923,6 +959,9 @@ case $basic_machine in
|
||||||
basic_machine=c4x-none
|
basic_machine=c4x-none
|
||||||
os=-coff
|
os=-coff
|
||||||
;;
|
;;
|
||||||
|
*-unknown)
|
||||||
|
# Make sure to match an already-canonicalized machine name.
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -982,12 +1021,13 @@ case $os in
|
||||||
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||||
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
|
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
|
||||||
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
|
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
|
||||||
| -openstep* | -oskit*)
|
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||||
|
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
|
||||||
# Remember, each alternative MUST END IN *, to match a version number.
|
# Remember, each alternative MUST END IN *, to match a version number.
|
||||||
;;
|
;;
|
||||||
-qnx*)
|
-qnx*)
|
||||||
case $basic_machine in
|
case $basic_machine in
|
||||||
x86-* | i[34567]86-*)
|
x86-* | i*86-*)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
os=-nto$os
|
os=-nto$os
|
||||||
|
@ -1043,7 +1083,7 @@ case $os in
|
||||||
-ns2 )
|
-ns2 )
|
||||||
os=-nextstep2
|
os=-nextstep2
|
||||||
;;
|
;;
|
||||||
-nsk)
|
-nsk*)
|
||||||
os=-nsk
|
os=-nsk
|
||||||
;;
|
;;
|
||||||
# Preserve the version number of sinix5.
|
# Preserve the version number of sinix5.
|
||||||
|
@ -1080,7 +1120,7 @@ case $os in
|
||||||
-xenix)
|
-xenix)
|
||||||
os=-xenix
|
os=-xenix
|
||||||
;;
|
;;
|
||||||
-*mint | -*MiNT)
|
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
|
||||||
os=-mint
|
os=-mint
|
||||||
;;
|
;;
|
||||||
-none)
|
-none)
|
||||||
|
@ -1114,6 +1154,9 @@ case $basic_machine in
|
||||||
arm*-semi)
|
arm*-semi)
|
||||||
os=-aout
|
os=-aout
|
||||||
;;
|
;;
|
||||||
|
pdp10-*)
|
||||||
|
os=-tops20
|
||||||
|
;;
|
||||||
pdp11-*)
|
pdp11-*)
|
||||||
os=-none
|
os=-none
|
||||||
;;
|
;;
|
||||||
|
@ -1222,7 +1265,7 @@ case $basic_machine in
|
||||||
*-masscomp)
|
*-masscomp)
|
||||||
os=-rtu
|
os=-rtu
|
||||||
;;
|
;;
|
||||||
f301-fujitsu)
|
f30[01]-fujitsu | f700-fujitsu)
|
||||||
os=-uxpv
|
os=-uxpv
|
||||||
;;
|
;;
|
||||||
*-rom68k)
|
*-rom68k)
|
||||||
|
@ -1300,7 +1343,7 @@ case $basic_machine in
|
||||||
-mpw* | -macos*)
|
-mpw* | -macos*)
|
||||||
vendor=apple
|
vendor=apple
|
||||||
;;
|
;;
|
||||||
-*mint | -*MiNT)
|
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
|
||||||
vendor=atari
|
vendor=atari
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -1313,7 +1356,7 @@ exit 0
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "version='"
|
# time-stamp-start: "timestamp='"
|
||||||
# time-stamp-format: "%:y-%02m-%02d"
|
# time-stamp-format: "%:y-%02m-%02d"
|
||||||
# time-stamp-end: "'"
|
# time-stamp-end: "'"
|
||||||
# End:
|
# End:
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,91 @@
|
||||||
|
dnl This file is part of the FreeType project.
|
||||||
|
dnl
|
||||||
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_INIT
|
||||||
|
AC_CONFIG_SRCDIR([ftconfig.in])
|
||||||
|
|
||||||
|
dnl configuration file -- stay in 8.3 limit
|
||||||
|
AC_CONFIG_HEADER(ftconfig.h:ftconfig.in)
|
||||||
|
|
||||||
|
version_info='7:0:1'
|
||||||
|
AC_SUBST(version_info)
|
||||||
|
ft_version=`echo $version_info | tr : .`
|
||||||
|
AC_SUBST(ft_version)
|
||||||
|
|
||||||
|
dnl checks for system type
|
||||||
|
AC_CANONICAL_TARGET([])
|
||||||
|
|
||||||
|
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*)
|
||||||
|
CFLAGS=
|
||||||
|
XX_CFLAGS="-std1 -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)
|
||||||
|
|
||||||
|
dnl Since this file will be finally moved to another directory we make
|
||||||
|
dnl the path of the install script absolute. This small code snippet has
|
||||||
|
dnl been taken from automake's `ylwrap' script.
|
||||||
|
AC_PROG_INSTALL
|
||||||
|
case "$INSTALL" in
|
||||||
|
/*)
|
||||||
|
;;
|
||||||
|
*/*)
|
||||||
|
INSTALL="`pwd`/$INSTALL" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
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'
|
||||||
|
|
||||||
|
FT_MUNMAP_DECL
|
||||||
|
FT_MUNMAP_PARAM
|
||||||
|
fi
|
||||||
|
AC_SUBST(FTSYS_SRC)
|
||||||
|
|
||||||
|
AC_CHECK_FUNCS(memcpy memmove)
|
||||||
|
|
||||||
|
AC_PROG_LIBTOOL
|
||||||
|
|
||||||
|
dnl create the Unix-specific sub-Makefiles `builds/unix/unix-def.mk'
|
||||||
|
dnl and 'builds/unix/unix-cc.mk' that will be used by the build system
|
||||||
|
dnl
|
||||||
|
AC_CONFIG_FILES([unix-cc.mk:unix-cc.in unix-def.mk:unix-def.in freetype-config])
|
||||||
|
AC_OUTPUT
|
||||||
|
|
||||||
|
dnl end of configure.ac
|
|
@ -12,48 +12,69 @@
|
||||||
# indicate that you have read the license and understand and accept it
|
# indicate that you have read the license and understand and accept it
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
.PHONY: setup
|
||||||
|
|
||||||
ifeq ($(PLATFORM),ansi)
|
ifeq ($(PLATFORM),ansi)
|
||||||
|
|
||||||
has_init := $(strip $(wildcard /sbin/init))
|
# Note: this test is duplicated in "builds/toplevel.mk".
|
||||||
ifneq ($(has_init),)
|
#
|
||||||
|
is_unix := $(strip $(wildcard /sbin/init) $(wildcard /usr/sbin/init) $(wildcard /hurd/auth))
|
||||||
|
ifneq ($(is_unix),)
|
||||||
|
|
||||||
PLATFORM := unix
|
PLATFORM := unix
|
||||||
COPY := cp
|
|
||||||
DELETE := rm -f
|
|
||||||
|
|
||||||
# If a Unix platform is detected, the configure script is called and
|
endif # test is_unix
|
||||||
# `unix.mk' is created.
|
endif # test PLATFORM ansi
|
||||||
#
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# If `devel' is the requested target, use `-g -O0' as the default value
|
ifeq ($(PLATFORM),unix)
|
||||||
# for CFLAGS if CFLAGS isn't set.
|
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)),)
|
ifneq ($(findstring lcc,$(MAKECMDGOALS)),)
|
||||||
ifndef CFLAGS
|
CONFIG_FILE := unix-lcc.mk
|
||||||
USE_CFLAGS := CFLAGS="-g -O0"
|
CC := lcc
|
||||||
endif
|
lcc: setup
|
||||||
devel: 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: unix-def.mk
|
||||||
|
unix: setup
|
||||||
|
.PHONY: unix
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
setup: std_setup
|
setup: std_setup
|
||||||
|
|
||||||
unix.mk: builds/unix/unix.in
|
unix-def.mk: $(TOP)/builds/unix/unix-def.in
|
||||||
cd builds/unix; $(USE_CFLAGS) ./configure $(CFG)
|
cd builds/unix; ./configure $(CFG)
|
||||||
|
|
||||||
endif # test Unix
|
endif # test PLATFORM unix
|
||||||
endif # test PLATFORM
|
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
cat <<EOF
|
||||||
|
Usage: freetype-config [OPTIONS] [LIBRARIES]
|
||||||
|
Options:
|
||||||
|
[--prefix[=DIR]]
|
||||||
|
[--exec-prefix[=DIR]]
|
||||||
|
[--version]
|
||||||
|
[--libs]
|
||||||
|
[--libtool]
|
||||||
|
[--cflags]
|
||||||
|
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
|
||||||
|
;;
|
||||||
|
--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 "$echo_cflags" = "yes"; then
|
||||||
|
cflags="-I@includedir@/freetype2"
|
||||||
|
echo $cflags $includes
|
||||||
|
fi
|
||||||
|
if test "$echo_libs" = "yes"; then
|
||||||
|
libs="-lfreetype"
|
||||||
|
echo -L@libdir@ $libs
|
||||||
|
fi
|
||||||
|
if test "$echo_libtool" = "yes"; then
|
||||||
|
convlib="libfreetype.la"
|
||||||
|
echo @libdir@/$convlib
|
||||||
|
fi
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,60 @@
|
||||||
|
/***************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* ft2build.h */
|
||||||
|
/* */
|
||||||
|
/* Build macros of the FreeType 2 library. */
|
||||||
|
/* */
|
||||||
|
/* 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. */
|
||||||
|
/* */
|
||||||
|
/***************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* 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 wathever is */
|
||||||
|
/* returned by the "freetype-config --cflags" command) is in your */
|
||||||
|
/* compilation include path. */
|
||||||
|
/* */
|
||||||
|
/* We don't need to do anything special in this release. However, for */
|
||||||
|
/* FreeType 2.1, the following installation changes will be performed: */
|
||||||
|
/* */
|
||||||
|
/* - The contents of "freetype-2.1/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. The command */
|
||||||
|
/* "freetype-config --cflags" will return an empty string. */
|
||||||
|
/* */
|
||||||
|
/* - Client applications which adhere to the new inclusion scheme */
|
||||||
|
/* WILL NOT NEED TO BE MODIFIED to compile with FT 2.1! */
|
||||||
|
/* */
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __FT2_BUILD_UNIX_H__
|
||||||
|
#define __FT2_BUILD_UNIX_H__
|
||||||
|
|
||||||
|
/* "/usr/local/include/freetype2" must be in your current inclusion path */
|
||||||
|
#include <freetype/config/ftheader.h>
|
||||||
|
|
||||||
|
#endif /* __FT2_BUILD_UNIX_H__ */
|
||||||
|
|
||||||
|
|
||||||
|
/* END */
|
|
@ -34,12 +34,14 @@
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#ifndef FTCONFIG_H
|
#ifndef __FTCONFIG_H__
|
||||||
#define FTCONFIG_H
|
#define __FTCONFIG_H__
|
||||||
|
|
||||||
|
#include <ft2build.h>
|
||||||
|
#include FT_CONFIG_OPTIONS_H
|
||||||
|
|
||||||
|
|
||||||
/* Include the header file containing all developer build options */
|
FT_BEGIN_HEADER
|
||||||
#include <freetype/config/ftoption.h>
|
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
@ -118,7 +120,6 @@
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* Many compilers provide the non-ANSI `long long' 64-bit type. You can */
|
/* Many compilers provide the non-ANSI `long long' 64-bit type. You can */
|
||||||
|
@ -139,34 +140,115 @@
|
||||||
|
|
||||||
|
|
||||||
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
|
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
|
||||||
#define LOCAL_DEF static
|
|
||||||
#define LOCAL_FUNC static
|
#define FT_LOCAL static
|
||||||
|
#define FT_LOCAL_DEF static
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define LOCAL_DEF extern
|
|
||||||
#define LOCAL_FUNC /* nothing */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef FT_MAKE_OPTION_SINGLE_LIBRARY_OBJECT
|
#ifdef __cplusplus
|
||||||
#define BASE_DEF( x ) static x
|
#define FT_LOCAL extern "C"
|
||||||
#define BASE_FUNC( x ) static x
|
#define FT_LOCAL_DEF extern "C"
|
||||||
#else
|
#else
|
||||||
#define BASE_DEF( x ) extern x
|
#define FT_LOCAL extern
|
||||||
#define BASE_FUNC( x ) extern x
|
#define FT_LOCAL_DEF extern
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef FT_EXPORT_DEF
|
#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
|
||||||
#define FT_EXPORT_DEF( x ) extern x
|
|
||||||
|
|
||||||
|
#ifndef FT_BASE
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define FT_BASE( x ) extern "C" x
|
||||||
|
#else
|
||||||
|
#define FT_BASE( x ) extern x
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef FT_EXPORT_FUNC
|
#endif /* !FT_BASE */
|
||||||
#define FT_EXPORT_FUNC( x ) extern x
|
|
||||||
|
|
||||||
|
#ifndef FT_BASE_DEF
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define FT_BASE_DEF( x ) extern "C" x
|
||||||
|
#else
|
||||||
|
#define FT_BASE_DEF( x ) extern x
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef FT_EXPORT_VAR
|
#endif /* !FT_BASE_DEF */
|
||||||
#define FT_EXPORT_VAR( x ) extern x
|
|
||||||
|
|
||||||
|
#ifndef FT_EXPORT
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define FT_EXPORT( x ) extern "C" x
|
||||||
|
#else
|
||||||
|
#define FT_EXPORT( x ) extern x
|
||||||
#endif
|
#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. Note that we do this for convenience -- please */
|
||||||
|
/* don't ask for more C++ features. */
|
||||||
|
/* */
|
||||||
|
|
||||||
|
/* 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. */
|
||||||
|
/* */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
|
||||||
|
#define FT_CALLBACK_DEF extern "C"
|
||||||
|
#define FT_CALLBACK_TABLE extern "C"
|
||||||
|
#define FT_CALLBACK_TABLE_DEF extern "C"
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define FT_CALLBACK_DEF static
|
||||||
|
#define FT_CALLBACK_TABLE extern
|
||||||
|
#define FT_CALLBACK_TABLE_DEF /* nothing */
|
||||||
|
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
|
||||||
|
FT_END_HEADER
|
||||||
|
|
||||||
|
#endif /* __FTCONFIG_H__ */
|
||||||
|
|
||||||
|
|
||||||
/* END */
|
/* END */
|
||||||
|
|
|
@ -16,18 +16,16 @@
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#include <ft2build.h>
|
||||||
|
/* we use our special ftconfig.h file, not the standard one */
|
||||||
#include <ftconfig.h>
|
#include <ftconfig.h>
|
||||||
#include <freetype/internal/ftdebug.h>
|
#include FT_INTERNAL_DEBUG_H
|
||||||
#include <freetype/ftsystem.h>
|
#include FT_SYSTEM_H
|
||||||
#include <freetype/fterrors.h>
|
#include FT_ERRORS_H
|
||||||
#include <freetype/fttypes.h>
|
#include FT_TYPES_H
|
||||||
|
#include FT_INTERNAL_OBJECTS_H
|
||||||
|
|
||||||
#include <stdio.h>
|
/* memory-mapping includes and definitions */
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
|
|
||||||
/* memory-mapping includes and definitions */
|
|
||||||
#ifdef HAVE_UNISTD_H
|
#ifdef HAVE_UNISTD_H
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -37,17 +35,28 @@
|
||||||
#define MAP_FILE 0x00
|
#define MAP_FILE 0x00
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*************************************************************************/
|
#ifdef MUNMAP_USES_VOIDP
|
||||||
/* */
|
#define MUNMAP_ARG_CAST void *
|
||||||
/* The prototype for munmap() is not provided on SunOS. This needs to */
|
#else
|
||||||
/* have a check added later to see if the GNU C library is being used. */
|
#define MUNMAP_ARG_CAST char *
|
||||||
/* If so, then this prototype is not needed. */
|
|
||||||
/* */
|
|
||||||
#if defined( __sun__ ) && !defined( SVR4 ) && !defined( __SVR4 )
|
|
||||||
extern int munmap( caddr_t addr,
|
|
||||||
int len );
|
|
||||||
#endif
|
#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>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
#ifdef HAVE_FCNTL_H
|
#ifdef HAVE_FCNTL_H
|
||||||
|
@ -76,12 +85,13 @@
|
||||||
/* */
|
/* */
|
||||||
/* <Input> */
|
/* <Input> */
|
||||||
/* memory :: A pointer to the memory object. */
|
/* memory :: A pointer to the memory object. */
|
||||||
|
/* */
|
||||||
/* size :: The requested size in bytes. */
|
/* size :: The requested size in bytes. */
|
||||||
/* */
|
/* */
|
||||||
/* <Return> */
|
/* <Return> */
|
||||||
/* block :: The address of newly allocated block. */
|
/* The address of newly allocated block. */
|
||||||
/* */
|
/* */
|
||||||
static
|
FT_CALLBACK_DEF
|
||||||
void* ft_alloc( FT_Memory memory,
|
void* ft_alloc( FT_Memory memory,
|
||||||
long size )
|
long size )
|
||||||
{
|
{
|
||||||
|
@ -111,7 +121,7 @@
|
||||||
/* <Return> */
|
/* <Return> */
|
||||||
/* The address of the reallocated memory block. */
|
/* The address of the reallocated memory block. */
|
||||||
/* */
|
/* */
|
||||||
static
|
FT_CALLBACK_DEF
|
||||||
void* ft_realloc( FT_Memory memory,
|
void* ft_realloc( FT_Memory memory,
|
||||||
long cur_size,
|
long cur_size,
|
||||||
long new_size,
|
long new_size,
|
||||||
|
@ -137,7 +147,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* block :: The address of block in memory to be freed. */
|
/* block :: The address of block in memory to be freed. */
|
||||||
/* */
|
/* */
|
||||||
static
|
FT_CALLBACK_DEF
|
||||||
void ft_free( FT_Memory memory,
|
void ft_free( FT_Memory memory,
|
||||||
void* block )
|
void* block )
|
||||||
{
|
{
|
||||||
|
@ -179,36 +189,21 @@
|
||||||
/* <Input> */
|
/* <Input> */
|
||||||
/* stream :: A pointer to the stream object. */
|
/* stream :: A pointer to the stream object. */
|
||||||
/* */
|
/* */
|
||||||
static
|
FT_CALLBACK_DEF
|
||||||
void ft_close_stream( FT_Stream stream )
|
void ft_close_stream( FT_Stream stream )
|
||||||
{
|
{
|
||||||
munmap ( stream->descriptor.pointer, stream->size );
|
munmap( (MUNMAP_ARG_CAST)stream->descriptor.pointer, stream->size );
|
||||||
|
|
||||||
stream->descriptor.pointer = NULL;
|
stream->descriptor.pointer = NULL;
|
||||||
stream->size = 0;
|
stream->size = 0;
|
||||||
stream->base = 0;
|
stream->base = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/* documentation is in ftobjs.h */
|
||||||
/* */
|
|
||||||
/* <Function> */
|
FT_EXPORT_DEF( FT_Error ) FT_New_Stream( const char* filepathname,
|
||||||
/* FT_New_Stream */
|
FT_Stream stream )
|
||||||
/* */
|
|
||||||
/* <Description> */
|
|
||||||
/* Creates a new stream object. */
|
|
||||||
/* */
|
|
||||||
/* <Input> */
|
|
||||||
/* filepathname :: The name of the stream (usually a file) to be */
|
|
||||||
/* opened. */
|
|
||||||
/* */
|
|
||||||
/* 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 )
|
|
||||||
{
|
{
|
||||||
int file;
|
int file;
|
||||||
struct stat stat_buf;
|
struct stat stat_buf;
|
||||||
|
@ -232,15 +227,15 @@
|
||||||
FT_ERROR(( " could not `fstat' file `%s'\n", filepathname ));
|
FT_ERROR(( " could not `fstat' file `%s'\n", filepathname ));
|
||||||
goto Fail_Map;
|
goto Fail_Map;
|
||||||
}
|
}
|
||||||
|
|
||||||
stream->size = stat_buf.st_size;
|
stream->size = stat_buf.st_size;
|
||||||
stream->pos = 0;
|
stream->pos = 0;
|
||||||
stream->base = mmap( NULL,
|
stream->base = (unsigned char *)mmap( NULL,
|
||||||
stream->size,
|
stream->size,
|
||||||
PROT_READ,
|
PROT_READ,
|
||||||
MAP_FILE | MAP_PRIVATE,
|
MAP_FILE | MAP_PRIVATE,
|
||||||
file,
|
file,
|
||||||
0 );
|
0 );
|
||||||
|
|
||||||
if ( (long)stream->base == -1 )
|
if ( (long)stream->base == -1 )
|
||||||
{
|
{
|
||||||
|
@ -253,42 +248,33 @@
|
||||||
|
|
||||||
stream->descriptor.pointer = stream->base;
|
stream->descriptor.pointer = stream->base;
|
||||||
stream->pathname.pointer = (char*)filepathname;
|
stream->pathname.pointer = (char*)filepathname;
|
||||||
|
|
||||||
stream->close = ft_close_stream;
|
stream->close = ft_close_stream;
|
||||||
stream->read = 0;
|
stream->read = 0;
|
||||||
|
|
||||||
FT_TRACE1(( "FT_New_Stream:" ));
|
FT_TRACE1(( "FT_New_Stream:" ));
|
||||||
FT_TRACE1(( " opened `%s' (%d bytes) successfully\n",
|
FT_TRACE1(( " opened `%s' (%d bytes) successfully\n",
|
||||||
filepathname, stream->size ));
|
filepathname, stream->size ));
|
||||||
|
|
||||||
return FT_Err_Ok;
|
return FT_Err_Ok;
|
||||||
|
|
||||||
Fail_Map:
|
Fail_Map:
|
||||||
close( file );
|
close( file );
|
||||||
|
|
||||||
stream->base = NULL;
|
stream->base = NULL;
|
||||||
stream->size = 0;
|
stream->size = 0;
|
||||||
stream->pos = 0;
|
stream->pos = 0;
|
||||||
|
|
||||||
return FT_Err_Cannot_Open_Stream;
|
return FT_Err_Cannot_Open_Stream;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/* documentation is in ftobjs.h */
|
||||||
/* */
|
|
||||||
/* <Function> */
|
FT_EXPORT_DEF( FT_Memory ) FT_New_Memory( void )
|
||||||
/* 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 )
|
|
||||||
{
|
{
|
||||||
FT_Memory memory;
|
FT_Memory memory;
|
||||||
|
|
||||||
|
|
||||||
memory = (FT_Memory)malloc( sizeof ( *memory ) );
|
memory = (FT_Memory)malloc( sizeof ( *memory ) );
|
||||||
if ( memory )
|
if ( memory )
|
||||||
|
@ -303,4 +289,12 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* documentation is in ftobjs.h */
|
||||||
|
|
||||||
|
FT_EXPORT_DEF( void ) FT_Done_Memory( FT_Memory memory )
|
||||||
|
{
|
||||||
|
memory->free( memory, memory );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* END */
|
/* END */
|
||||||
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 installation instructions for Unix 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.
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: install uninstall
|
||||||
|
|
||||||
|
# Unix installation and deinstallation targets.
|
||||||
|
install: $(PROJECT_LIBRARY)
|
||||||
|
$(MKINSTALLDIRS) $(libdir) \
|
||||||
|
$(includedir)/freetype2/freetype/config \
|
||||||
|
$(includedir)/freetype2/freetype/internal \
|
||||||
|
$(includedir)/freetype2/freetype/cache \
|
||||||
|
$(bindir)
|
||||||
|
$(LIBTOOL) --mode=install $(INSTALL) $(PROJECT_LIBRARY) $(libdir)
|
||||||
|
-for P in $(PUBLIC_H) ; do \
|
||||||
|
$(INSTALL_DATA) $$P $(includedir)/freetype2/freetype ; \
|
||||||
|
done
|
||||||
|
-for P in $(BASE_H) ; do \
|
||||||
|
$(INSTALL_DATA) $$P $(includedir)/freetype2/freetype/internal ; \
|
||||||
|
done
|
||||||
|
-for P in $(CONFIG_H) ; do \
|
||||||
|
$(INSTALL_DATA) $$P $(includedir)/freetype2/freetype/config ; \
|
||||||
|
done
|
||||||
|
-for P in $(CACHE_H) ; do \
|
||||||
|
$(INSTALL_DATA) $$P $(includedir)/freetype2/freetype/cache ; \
|
||||||
|
done
|
||||||
|
$(INSTALL_DATA) $(BUILD)/ft2unix.h $(includedir)/ft2build.h
|
||||||
|
$(INSTALL_SCRIPT) -m 755 $(BUILD)/freetype-config \
|
||||||
|
$(bindir)/freetype-config
|
||||||
|
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
-$(LIBTOOL) --mode=uninstall $(RM) $(libdir)/$(PROJECT_LIBRARY)
|
||||||
|
-$(DELETE) $(includedir)/freetype2/freetype/cache/*
|
||||||
|
-$(DELDIR) $(includedir)/freetype2/freetype/cache
|
||||||
|
-$(DELETE) $(includedir)/freetype2/freetype/config/*
|
||||||
|
-$(DELDIR) $(includedir)/freetype2/freetype/config
|
||||||
|
-$(DELETE) $(includedir)/freetype2/freetype/internal/*
|
||||||
|
-$(DELDIR) $(includedir)/freetype2/freetype/internal
|
||||||
|
-$(DELETE) $(includedir)/freetype2/freetype/*
|
||||||
|
-$(DELDIR) $(includedir)/freetype2/freetype
|
||||||
|
-$(DELDIR) $(includedir)/freetype2
|
||||||
|
-$(DELETE) $(includedir)/ft2build.h
|
||||||
|
-$(DELETE) $(bindir)/freetype-config
|
||||||
|
|
||||||
|
|
||||||
|
.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
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,40 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# mkinstalldirs --- make directory hierarchy
|
||||||
|
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||||
|
# Created: 1993-05-16
|
||||||
|
# Public domain
|
||||||
|
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
errstatus=0
|
||||||
|
|
||||||
|
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" 1>&2
|
||||||
|
|
||||||
|
mkdir "$pathcomp" || lasterr=$?
|
||||||
|
|
||||||
|
if test ! -d "$pathcomp"; then
|
||||||
|
errstatus=$lasterr
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
pathcomp="$pathcomp/"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
exit $errstatus
|
||||||
|
|
||||||
|
# mkinstalldirs ends here
|
|
@ -0,0 +1,81 @@
|
||||||
|
# template for Unix-specific compiler definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
CC := @CC@
|
||||||
|
|
||||||
|
LIBTOOL := $(BUILD)/libtool
|
||||||
|
|
||||||
|
|
||||||
|
# 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 # 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@
|
||||||
|
|
||||||
|
|
||||||
|
# Library linking
|
||||||
|
#
|
||||||
|
LINK_LIBRARY = $(LIBTOOL) --mode=link $(CCraw) -o $@ $(OBJECTS_LIST) \
|
||||||
|
-rpath $(libdir) -version-info $(version_info)
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,86 @@
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
TOP := $(shell cd $(TOP); pwd)
|
||||||
|
|
||||||
|
DELETE := @RMF@
|
||||||
|
DELDIR := @RMDIR@
|
||||||
|
SEP := /
|
||||||
|
HOSTSEP := $(SEP)
|
||||||
|
BUILD := $(TOP)/builds/unix
|
||||||
|
PLATFORM := unix
|
||||||
|
|
||||||
|
# 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)/mkinstalldirs
|
||||||
|
|
||||||
|
DISTCLEAN += $(BUILD)/config.cache \
|
||||||
|
$(BUILD)/config.log \
|
||||||
|
$(BUILD)/config.status \
|
||||||
|
$(BUILD)/unix-def.mk \
|
||||||
|
$(BUILD)/unix-cc.mk \
|
||||||
|
$(BUILD)/ftconfig.h \
|
||||||
|
$(BUILD)/freetype-config \
|
||||||
|
$(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.
|
||||||
|
#
|
||||||
|
# This lets you build the library in your own directory with something like
|
||||||
|
#
|
||||||
|
# set TOP=.../path/to/freetype2/top/dir...
|
||||||
|
# set OBJ_DIR=.../path/to/obj/dir
|
||||||
|
# make -f $TOP/Makefile setup [options]
|
||||||
|
# make -f $TOP/Makefile
|
||||||
|
#
|
||||||
|
ifndef OBJ_DIR
|
||||||
|
OBJ_DIR := $(shell cd $(TOP)/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 NO_OUTPUT macro is appended to command lines in order to ignore
|
||||||
|
# the output of some programs.
|
||||||
|
#
|
||||||
|
NO_OUTPUT := 2> /dev/null
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,25 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Configuration rules for Unix + GCC
|
||||||
|
#
|
||||||
|
# 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)/builds/unix/unixddef.mk
|
||||||
|
BUILD := $(TOP)/builds/devel
|
||||||
|
|
||||||
|
include $(TOP)/builds/compiler/gcc-dev.mk
|
||||||
|
include $(TOP)/builds/link_std.mk
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,23 @@
|
||||||
|
#
|
||||||
|
# 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)/builds/unix/unixddef.mk
|
||||||
|
include $(TOP)/builds/compiler/unix-lcc.mk
|
||||||
|
include $(TOP)/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
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration rules for UNIX platforms
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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)/builds/unix/unix-def.mk
|
||||||
|
include $(TOP)/builds/unix/unix-cc.mk
|
||||||
|
|
||||||
|
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)/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)/builds/unix/install.mk
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,56 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration rules templates for
|
||||||
|
# development under Unix with no configure script (gcc 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.
|
||||||
|
|
||||||
|
|
||||||
|
ifndef TOP
|
||||||
|
TOP := .
|
||||||
|
endif
|
||||||
|
TOP := $(shell cd $(TOP); pwd)
|
||||||
|
|
||||||
|
DELETE := rm -f
|
||||||
|
SEP := /
|
||||||
|
HOSTSEP := $(SEP)
|
||||||
|
|
||||||
|
# we use a special devel ftoption.h
|
||||||
|
BUILD := $(TOP)/builds/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)/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
|
|
@ -0,0 +1,25 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 system rules for VMS
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright 2001 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.
|
||||||
|
|
||||||
|
|
||||||
|
CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([],[--.include],[--.src.base])
|
||||||
|
|
||||||
|
OBJS=ftsystem.obj
|
||||||
|
|
||||||
|
all : $(OBJS)
|
||||||
|
library/create [--.lib]freetype.olb $(OBJS)
|
||||||
|
|
||||||
|
ftsystem.obj : ftsystem.c ftconfig.h
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,238 @@
|
||||||
|
/***************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* ftconfig.h */
|
||||||
|
/* */
|
||||||
|
/* VMS-specific configuration file (specification 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. */
|
||||||
|
/* */
|
||||||
|
/***************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* 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
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
/* 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 */
|
||||||
|
#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. */
|
||||||
|
/* */
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* 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
|
||||||
|
|
||||||
|
#if FT_SIZEOF_LONG == 8
|
||||||
|
|
||||||
|
/* FT_LONG64 must be defined if a 64-bit type is available */
|
||||||
|
#define FT_LONG64
|
||||||
|
#define FT_INT64 long
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* 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'. */
|
||||||
|
/* */
|
||||||
|
/* 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
|
||||||
|
|
||||||
|
#define FT_LONG64
|
||||||
|
#define FT_INT64 long long
|
||||||
|
|
||||||
|
#endif /* FTCALC_USE_LONG_LONG */
|
||||||
|
#endif /* FT_SIZEOF_LONG == 8 */
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
|
||||||
|
|
||||||
|
#define LOCAL_DEF static
|
||||||
|
#define LOCAL_FUNC static
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define LOCAL_DEF extern "C"
|
||||||
|
#define LOCAL_FUNC extern "C"
|
||||||
|
#else
|
||||||
|
#define LOCAL_DEF extern
|
||||||
|
#define LOCAL_FUNC extern
|
||||||
|
#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 BASE_DEF
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define BASE_DEF( x ) extern "C" x
|
||||||
|
#else
|
||||||
|
#define BASE_DEF( x ) extern x
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* !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 */
|
||||||
|
|
||||||
|
|
||||||
|
/* 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. */
|
||||||
|
/* */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
|
||||||
|
#define FT_CALLBACK_DEF extern "C"
|
||||||
|
#define FT_CALLBACK_TABLE extern "C"
|
||||||
|
#define FT_CALLBACK_TABLE_DEF extern "C"
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define FT_CALLBACK_DEF static
|
||||||
|
#define FT_CALLBACK_TABLE extern
|
||||||
|
#define FT_CALLBACK_TABLE_DEF
|
||||||
|
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
FT_END_HEADER
|
||||||
|
|
||||||
|
#endif /* FTCONFIG_H */
|
||||||
|
|
||||||
|
|
||||||
|
/* END */
|
|
@ -0,0 +1,300 @@
|
||||||
|
/***************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* ftsystem.c */
|
||||||
|
/* */
|
||||||
|
/* Unix-specific FreeType low-level system interface (body). */
|
||||||
|
/* */
|
||||||
|
/* 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 <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_New_Stream( const char* filepathname,
|
||||||
|
FT_Stream stream )
|
||||||
|
{
|
||||||
|
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_New_Stream:" ));
|
||||||
|
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||||
|
return FT_Err_Cannot_Open_Resource;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( fstat( file, &stat_buf ) < 0 )
|
||||||
|
{
|
||||||
|
FT_ERROR(( "FT_New_Stream:" ));
|
||||||
|
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_New_Stream:" ));
|
||||||
|
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_New_Stream:" ));
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
return memory;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* documentation is in ftobjs.h */
|
||||||
|
|
||||||
|
FT_EXPORT_DEF( void ) FT_Done_Memory( FT_Memory memory )
|
||||||
|
{
|
||||||
|
memory->free( memory, memory );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* END */
|
|
@ -13,6 +13,9 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: setup
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(PLATFORM),ansi)
|
ifeq ($(PLATFORM),ansi)
|
||||||
|
|
||||||
# Detecting Windows NT is easy, as the OS variable must be defined and
|
# Detecting Windows NT is easy, as the OS variable must be defined and
|
||||||
|
@ -20,6 +23,7 @@ ifeq ($(PLATFORM),ansi)
|
||||||
# work...
|
# work...
|
||||||
#
|
#
|
||||||
ifeq ($(OS),Windows_NT)
|
ifeq ($(OS),Windows_NT)
|
||||||
|
|
||||||
is_windows := 1
|
is_windows := 1
|
||||||
|
|
||||||
# We test for the COMSPEC environment variable, then run the `ver'
|
# We test for the COMSPEC environment variable, then run the `ver'
|
||||||
|
@ -36,55 +40,116 @@ ifeq ($(PLATFORM),ansi)
|
||||||
ifdef is_windows
|
ifdef is_windows
|
||||||
|
|
||||||
PLATFORM := win32
|
PLATFORM := win32
|
||||||
DELETE := del
|
|
||||||
COPY := copy
|
|
||||||
|
|
||||||
CONFIG_FILE := w32-gcc.mk # gcc Makefile by default
|
endif
|
||||||
SEP := /
|
endif # test PLATFORM ansi
|
||||||
ifeq ($(firstword $(CC)),cc)
|
|
||||||
CC := gcc
|
|
||||||
endif
|
|
||||||
|
|
||||||
# additionally, we provide hooks for various other compilers
|
ifeq ($(PLATFORM),win32)
|
||||||
#
|
|
||||||
ifneq ($(findstring visualc,$(MAKECMDGOALS)),) # Visual C/C++
|
|
||||||
CONFIG_FILE := w32-vcc.mk
|
|
||||||
SEP := $(BACKSLASH)
|
|
||||||
CC := cl
|
|
||||||
visualc: setup
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
DELETE := del
|
||||||
CONFIG_FILE := w32-wat.mk
|
COPY := copy
|
||||||
SEP := $(BACKSLASH)
|
|
||||||
CC := wcc386
|
|
||||||
watcom: setup
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++
|
# gcc Makefile by default
|
||||||
CONFIG_FILE := w32-icc.mk
|
CONFIG_FILE := w32-gcc.mk
|
||||||
SEP := $(BACKSLASH)
|
SEP := /
|
||||||
CC := icc
|
ifeq ($(firstword $(CC)),cc)
|
||||||
visualage: setup
|
CC := gcc
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(findstring lcc,$(MAKECMDGOALS)),) # LCC-Win32
|
ifneq ($(findstring list,$(MAKECMDGOALS)),) # test for the "list" target
|
||||||
CONFIG_FILE := w32-lcc.mk
|
dump_target_list:
|
||||||
SEP := $(BACKSLASH)
|
@echo ÿ
|
||||||
CC := lcc
|
@echo $(PROJECT_TITLE) build system -- supported compilers
|
||||||
lcc: setup
|
@echo ÿ
|
||||||
endif
|
@echo Several command-line compilers are supported on Win32:
|
||||||
|
@echo ÿ
|
||||||
ifneq ($(findstring devel,$(MAKECMDGOALS)),) # development target
|
@echo ÿÿmake setupÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿgcc (with Mingw)
|
||||||
CONFIG_FILE := w32-dev.mk
|
@echo ÿÿmake setup visualcÿÿÿÿÿÿÿÿÿÿÿÿÿMicrosoft Visual C++
|
||||||
CC := gcc
|
@echo ÿÿmake setup bcc32ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBorland C/C++
|
||||||
SEP := /
|
@echo ÿÿmake setup lccÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿWin32-LCC
|
||||||
devel: setup
|
@echo ÿÿmake setup intelcÿÿÿÿÿÿÿÿÿÿÿÿÿÿIntel C/C++
|
||||||
endif
|
@echo ÿ
|
||||||
|
|
||||||
|
setup: dump_target_list
|
||||||
|
.PHONY: dump_target_list list
|
||||||
|
else
|
||||||
setup: dos_setup
|
setup: dos_setup
|
||||||
|
endif
|
||||||
|
|
||||||
endif # test is_windows
|
# additionally, we provide hooks for various other compilers
|
||||||
endif # test PLATFORM
|
#
|
||||||
|
ifneq ($(findstring visualc,$(MAKECMDGOALS)),) # Visual C/C++
|
||||||
|
CONFIG_FILE := w32-vcc.mk
|
||||||
|
SEP := $(BACKSLASH)
|
||||||
|
CC := cl
|
||||||
|
visualc: setup
|
||||||
|
.PHONY: visualc
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring intelc,$(MAKECMDGOALS)),) # Intel C/C++
|
||||||
|
CONFIG_FILE := w32-intl.mk
|
||||||
|
SEP := $(BACKSLASH)
|
||||||
|
CC := cl
|
||||||
|
visualc: setup
|
||||||
|
.PHONY: intelc
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||||
|
CONFIG_FILE := w32-wat.mk
|
||||||
|
SEP := $(BACKSLASH)
|
||||||
|
CC := wcc386
|
||||||
|
watcom: setup
|
||||||
|
.PHONY: watcom
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++
|
||||||
|
CONFIG_FILE := w32-icc.mk
|
||||||
|
SEP := $(BACKSLASH)
|
||||||
|
CC := icc
|
||||||
|
visualage: setup
|
||||||
|
.PHONY: visualage
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring lcc,$(MAKECMDGOALS)),) # LCC-Win32
|
||||||
|
CONFIG_FILE := w32-lcc.mk
|
||||||
|
SEP := $(BACKSLASH)
|
||||||
|
CC := lcc
|
||||||
|
lcc: setup
|
||||||
|
.PHONY: lcc
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring mingw32,$(MAKECMDGOALS)),) # mingw32
|
||||||
|
CONFIG_FILE := w32-mingw32.mk
|
||||||
|
SEP := $(BACKSLASH)
|
||||||
|
CC := gcc
|
||||||
|
mingw32: setup
|
||||||
|
.PHONY: mingw32
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring bcc32,$(MAKECMDGOALS)),) # Borland C++
|
||||||
|
CONFIG_FILE := w32-bcc.mk
|
||||||
|
SEP := $(BACKSLASH)
|
||||||
|
CC := bcc32
|
||||||
|
bcc32: setup
|
||||||
|
.PHONY: bcc32
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring devel-bcc,$(MAKECMDGOALS)),) # development target
|
||||||
|
CONFIG_FILE := w32-bccd.mk
|
||||||
|
CC := bcc32
|
||||||
|
SEP := /
|
||||||
|
devel-bcc: setup
|
||||||
|
.PHONY: devel-bcc
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring devel-gcc,$(MAKECMDGOALS)),) # development target
|
||||||
|
CONFIG_FILE := w32-dev.mk
|
||||||
|
CC := gcc
|
||||||
|
SEP := /
|
||||||
|
devel-gcc: setup
|
||||||
|
.PHONY: devel-gcc
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif # test PLATFORM win32
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -0,0 +1,239 @@
|
||||||
|
# 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 Multithreaded
|
||||||
|
!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 Multithreaded"
|
||||||
|
!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
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""$/DEV/freetype", KAOAAAAA"
|
||||||
|
# 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 /nologo /Za /W4 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /FD /c
|
||||||
|
# SUBTRACT CPP /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\freetype204.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 /nologo /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 CPP /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\freetype204_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 /nologo /MTd /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 CPP /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\freetype204MT_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 /nologo /MT /Za /W4 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /FD /c
|
||||||
|
# SUBTRACT CPP /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\freetype204MT.lib"
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "freetype - Win32 Release"
|
||||||
|
# Name "freetype - Win32 Debug"
|
||||||
|
# Name "freetype - Win32 Debug Multithreaded"
|
||||||
|
# Name "freetype - Win32 Release Multithreaded"
|
||||||
|
# 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
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\cff\cff.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\base\ftbase.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\base\ftdebug.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\base\ftglyph.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\base\ftinit.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\base\ftmm.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\base\ftsystem.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\pcf\pcf.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\psaux\psaux.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\psnames\psmodule.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\raster\raster.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\sfnt\sfnt.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\smooth\smooth.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\truetype\truetype.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\type1\type1.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\cid\type1cid.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\winfonts\winfnt.c
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\include\freetype\freetype.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\include\freetype\config\ftconfig.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\include\freetype\fterrors.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\include\freetype\config\ftoption.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\include\freetype\fttypes.h
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
|
@ -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>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
<html>
|
||||||
|
<header>
|
||||||
|
<title>FreeType 2 Project Files for Visual C++</title>
|
||||||
|
</header>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>FreeType 2 Project Files for Visual C++</h1>
|
||||||
|
|
||||||
|
<p>This directory contains a project file for Visual C++, named
|
||||||
|
<tt>freetype.dsp</tt>. It will compile the following libraries
|
||||||
|
from the FreeType 2.0.4 sources:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<pre>
|
||||||
|
freetype204.lib - release build; single threaded
|
||||||
|
freetype204_D.lib - debug build; single threaded
|
||||||
|
freetype204MT.lib - release build; multi-threaded
|
||||||
|
freetype204MT_D.lib - debug build; multi-threaded
|
||||||
|
</pre>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Build directories are placed in the top-level "objs" directory</p>
|
||||||
|
|
||||||
|
<p>Enjoy :-)</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,23 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Borland C++ on Win32
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
SEP := /
|
||||||
|
include $(TOP)/builds/win32/win32-def.mk
|
||||||
|
include $(TOP)/builds/compiler/bcc.mk
|
||||||
|
|
||||||
|
# include linking instructions
|
||||||
|
include $(TOP)/builds/link_dos.mk
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,26 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Borland C++ on Win32 + debugging
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
SEP := /
|
||||||
|
|
||||||
|
include $(TOP)/builds/win32/win32-def.mk
|
||||||
|
BUILD := $(TOP)/builds/devel
|
||||||
|
|
||||||
|
include $(TOP)/builds/compiler/bcc-dev.mk
|
||||||
|
|
||||||
|
# include linking instructions
|
||||||
|
include $(TOP)/builds/link_dos.mk
|
||||||
|
|
||||||
|
# EOF
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# FreeType 2 Configuration rules for Win32 + GCC
|
# FreeType 2 configuration rules for Win32 + GCC
|
||||||
#
|
#
|
||||||
# Development version without optimizations.
|
# Development version without optimizations.
|
||||||
#
|
#
|
||||||
|
@ -13,7 +13,8 @@
|
||||||
# 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
|
# indicate that you have read the license and understand and accept it
|
||||||
# fully.
|
# fully.
|
||||||
#
|
|
||||||
|
|
||||||
# NOTE: This version requires that GNU Make is invoked from the Windows
|
# NOTE: This version requires that GNU Make is invoked from the Windows
|
||||||
# Shell (_not_ Cygwin BASH)!
|
# Shell (_not_ Cygwin BASH)!
|
||||||
#
|
#
|
||||||
|
@ -22,119 +23,16 @@ ifndef TOP
|
||||||
TOP := .
|
TOP := .
|
||||||
endif
|
endif
|
||||||
|
|
||||||
DELETE := del
|
SEP := /
|
||||||
SEP := /
|
|
||||||
HOSTSEP := $(strip \ )
|
|
||||||
BUILD := $(TOP)/builds/win32
|
|
||||||
PLATFORM := win32
|
|
||||||
CC := gcc
|
|
||||||
|
|
||||||
# The directory where all object files are placed.
|
include $(TOP)/builds/win32/win32-def.mk
|
||||||
#
|
BUILD := $(TOP)/builds/devel
|
||||||
# Note that this is not $(TOP)/obj!
|
|
||||||
# This lets you build the library in your own directory with something like
|
include $(TOP)/builds/compiler/gcc-dev.mk
|
||||||
#
|
|
||||||
# set TOP=.../path/to/freetype2/top/dir...
|
# include linking instructions
|
||||||
# mkdir obj
|
include $(TOP)/builds/link_dos.mk
|
||||||
# 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 -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
|
# EOF
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# FreeType 2 Configuration rules for Win32 + GCC
|
# FreeType 2 configuration rules for Win32 + GCC
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,128 +11,19 @@
|
||||||
# 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
|
# indicate that you have read the license and understand and accept it
|
||||||
# fully.
|
# fully.
|
||||||
#
|
|
||||||
# NOTE: This version requires that GNU Make is invoked from the Windows
|
|
||||||
# Shell (_not_ Cygwin BASH)!
|
|
||||||
#
|
|
||||||
|
|
||||||
ifndef TOP
|
|
||||||
TOP := .
|
|
||||||
endif
|
|
||||||
|
|
||||||
DELETE := del
|
|
||||||
SEP := /
|
|
||||||
HOSTSEP := $(strip \ )
|
|
||||||
BUILD := $(TOP)/builds/win32
|
|
||||||
PLATFORM := win32
|
|
||||||
CC := gcc
|
|
||||||
|
|
||||||
# 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.
|
# the separator must be set before including win32-def
|
||||||
#
|
# as it defaults to "\" on Win32
|
||||||
# By default, this is the same as $(OBJ_DIR), however, this can be changed
|
SEP := /
|
||||||
# to suit particular needs.
|
|
||||||
#
|
|
||||||
LIB_DIR := $(OBJ_DIR)
|
|
||||||
|
|
||||||
|
# include Win32-specific definitions
|
||||||
|
include $(TOP)/builds/win32/win32-def.mk
|
||||||
|
|
||||||
# The object file extension (for standard and static libraries). This can be
|
# include gcc-specific definitions
|
||||||
# .o, .tco, .obj, etc., depending on the platform.
|
include $(TOP)/builds/compiler/gcc.mk
|
||||||
#
|
|
||||||
O := o
|
|
||||||
SO := o
|
|
||||||
|
|
||||||
# The library file extension (for standard and static libraries). This can
|
# include linking instructions
|
||||||
# be .a, .lib, etc., depending on the platform.
|
include $(TOP)/builds/link_dos.mk
|
||||||
#
|
|
||||||
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
|
# EOF
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# FreeType 2 Configuration rules for Win32 + IBM Visual Age C++
|
# FreeType 2 configuration rules for Win32 + IBM Visual Age C++
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,112 +11,12 @@
|
||||||
# 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
|
# indicate that you have read the license and understand and accept it
|
||||||
# fully.
|
# fully.
|
||||||
#
|
|
||||||
|
|
||||||
DELETE := del
|
|
||||||
SEP := $(strip \ )
|
|
||||||
HOSTSEP := $(strip \ )
|
|
||||||
BUILD := $(TOP)$(SEP)config$(SEP)win32
|
|
||||||
PLATFORM := win32
|
|
||||||
CC := icc
|
|
||||||
|
|
||||||
# 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.
|
include $(TOP)/builds/win32/win32-def.mk
|
||||||
#
|
include $(TOP)/builds/compiler/visualage.mk
|
||||||
# By default, this is the same as $(OBJ_DIR), however, this can be changed
|
|
||||||
# to suit particular needs.
|
|
||||||
#
|
|
||||||
LIB_DIR := $(OBJ_DIR)
|
|
||||||
|
|
||||||
|
# include linking instructions
|
||||||
# The object file extension (for standard and static libraries). This can be
|
include $(TOP)/builds/link_dos.mk
|
||||||
# .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
|
|
||||||
|
|
||||||
|
|
||||||
# The name of the final library file. Note that the DOS-specific Makefile
|
|
||||||
# uses a shorter (8.3) name.
|
|
||||||
#
|
|
||||||
LIBRARY := freetype
|
|
||||||
|
|
||||||
|
|
||||||
# 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 := /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
|
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
# 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)
|
|
||||||
lib /nologo /out:$@ $(OBJECTS_LIST)
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration rules for Intel C/C++ on Win32
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
SEP := /
|
||||||
|
include $(TOP)/builds/win32/win32-def.mk
|
||||||
|
include $(TOP)/builds/compiler/intelc.mk
|
||||||
|
|
||||||
|
# include linking instructions
|
||||||
|
include $(TOP)/builds/link_dos.mk
|
||||||
|
|
||||||
|
# EOF
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# FreeType 2 Configuration rules for Win32 + LCC
|
# FreeType 2 configuration rules for Win32 + LCC
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,118 +13,12 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
ifndef TOP
|
SEP := /
|
||||||
TOP := .
|
include $(TOP)/builds/win32/win32-def.mk
|
||||||
endif
|
include $(TOP)/builds/compiler/win-lcc.mk
|
||||||
|
|
||||||
DELETE := del
|
# include linking instructions
|
||||||
SEP := /
|
include $(TOP)/builds/link_dos.mk
|
||||||
HOSTSEP := $(strip \ )
|
|
||||||
BUILD := $(TOP)/builds/win32
|
|
||||||
PLATFORM := win32
|
|
||||||
CC := lcc
|
|
||||||
|
|
||||||
# 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 := 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
|
|
||||||
|
|
||||||
|
|
||||||
# The name of the final library file. Note that the DOS-specific Makefile
|
|
||||||
# uses a shorter (8.3) name.
|
|
||||||
#
|
|
||||||
LIBRARY := freetype
|
|
||||||
|
|
||||||
|
|
||||||
# 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 := -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.
|
|
||||||
#
|
|
||||||
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_dos
|
|
||||||
distclean_freetype: distclean_freetype_dos
|
|
||||||
|
|
||||||
# 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)
|
|
||||||
lcclib /out:$(subst $(SEP),\\,$@) \
|
|
||||||
$(subst $(SEP),\\,$(OBJECTS_LIST))
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration rules for mingw32
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
# the separator must be set before including win32-def
|
||||||
|
# as it defaults to "\" on Win32
|
||||||
|
SEP := /
|
||||||
|
|
||||||
|
# include Win32-specific definitions
|
||||||
|
include $(TOP)/builds/win32/win32-def.mk
|
||||||
|
|
||||||
|
LIBRARY := lib$(PROJECT)
|
||||||
|
|
||||||
|
# include gcc-specific definitions
|
||||||
|
include $(TOP)/builds/compiler/gcc.mk
|
||||||
|
|
||||||
|
# include linking instructions
|
||||||
|
include $(TOP)/builds/link_dos.mk
|
||||||
|
|
||||||
|
# EOF
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# FreeType 2 Configuration rules for Win32 + Visual C/C++
|
# FreeType 2 Visual C++ on Win32
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,117 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
ifndef TOP
|
SEP := /
|
||||||
TOP := .
|
include $(TOP)/builds/win32/win32-def.mk
|
||||||
endif
|
include $(TOP)/builds/compiler/visualc.mk
|
||||||
|
|
||||||
DELETE := del
|
# include linking instructions
|
||||||
SEP := /
|
include $(TOP)/builds/link_dos.mk
|
||||||
HOSTSEP := $(strip \ )
|
|
||||||
BUILD := $(TOP)/builds/win32
|
|
||||||
PLATFORM := win32
|
|
||||||
CC := cl
|
|
||||||
|
|
||||||
# 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 := obj
|
|
||||||
SO := ojc
|
|
||||||
|
|
||||||
# The library file extension (for standard and static libraries). This can
|
|
||||||
# be .a, .lib, etc., depending on the platform.
|
|
||||||
#
|
|
||||||
A := lib
|
|
||||||
SA := lib
|
|
||||||
|
|
||||||
|
|
||||||
# The name of the final library file. Note that the DOS-specific Makefile
|
|
||||||
# uses a shorter (8.3) name.
|
|
||||||
#
|
|
||||||
LIBRARY := freetype
|
|
||||||
|
|
||||||
|
|
||||||
# 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 := /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
|
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
# 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)
|
|
||||||
lib /nologo /out:$@ $(OBJECTS_LIST)
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration rules for Watcom C/C++
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
SEP := /
|
||||||
|
ISEP := $(strip \ )
|
||||||
|
|
||||||
|
include $(TOP)/builds/win32/win32-def.mk
|
||||||
|
include $(TOP)/builds/compiler/watcom.mk
|
||||||
|
|
||||||
|
# include linking instructions
|
||||||
|
include $(TOP)/builds/link_dos.mk
|
||||||
|
|
||||||
|
# EOF
|
||||||
|
|
|
@ -0,0 +1,61 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Win32 specific definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
DELETE := del
|
||||||
|
HOSTSEP := $(strip \ )
|
||||||
|
BUILD := $(TOP)$(SEP)builds$(SEP)win32
|
||||||
|
PLATFORM := win32
|
||||||
|
|
||||||
|
# by default, we use "\" as a separator on Win32
|
||||||
|
# but certain compilers accept "/" as well
|
||||||
|
#
|
||||||
|
ifndef SEP
|
||||||
|
SEP := $(HOSTSEP)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
# The directory where all object files are placed.
|
||||||
|
#
|
||||||
|
# This lets you build the library in your own directory with something like
|
||||||
|
#
|
||||||
|
# set TOP=.../path/to/freetype2/top/dir...
|
||||||
|
# set OBJ_DIR=.../path/to/obj/dir
|
||||||
|
# make -f %TOP%/Makefile setup [options]
|
||||||
|
# make -f %TOP%/Makefile
|
||||||
|
#
|
||||||
|
ifndef OBJ_DIR
|
||||||
|
OBJ_DIR := $(TOP)$(SEP)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
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue