cairo 1.12.2-x86-mingw32 → 1.12.3-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of cairo might be problematic. Click here for more details.

Files changed (90) hide show
  1. data/NEWS +48 -33
  2. data/README.rdoc +4 -1
  3. data/Rakefile +5 -9
  4. data/ext/cairo/depend +2 -1
  5. data/ext/cairo/extconf.rb +3 -1
  6. data/ext/cairo/rb_cairo.h +1 -1
  7. data/lib/1.8/cairo.so +0 -0
  8. data/lib/1.9/cairo.so +0 -0
  9. data/vendor/local/bin/freetype-config +2 -2
  10. data/vendor/local/bin/freetype6.dll +0 -0
  11. data/vendor/local/bin/libcairo-2.dll +0 -0
  12. data/vendor/local/bin/libcairo-gobject-2.dll +0 -0
  13. data/vendor/local/bin/libcairo-script-interpreter-2.dll +0 -0
  14. data/vendor/local/bin/libexpat-1.dll +0 -0
  15. data/vendor/local/bin/libpng14-14.dll +0 -0
  16. data/vendor/local/bin/xmlwf.exe +0 -0
  17. data/vendor/local/include/expat.h +36 -3
  18. data/vendor/local/include/freetype2/freetype/config/ftconfig.h +83 -15
  19. data/vendor/local/include/freetype2/freetype/config/ftheader.h +14 -1
  20. data/vendor/local/include/freetype2/freetype/config/ftoption.h +76 -4
  21. data/vendor/local/include/freetype2/freetype/config/ftstdlib.h +7 -6
  22. data/vendor/local/include/freetype2/freetype/freetype.h +98 -54
  23. data/vendor/local/include/freetype2/freetype/ftbbox.h +9 -1
  24. data/vendor/local/include/freetype2/freetype/ftbzip2.h +102 -0
  25. data/vendor/local/include/freetype2/freetype/ftcache.h +17 -2
  26. data/vendor/local/include/freetype2/freetype/ftchapters.h +1 -0
  27. data/vendor/local/include/freetype2/freetype/fterrdef.h +3 -2
  28. data/vendor/local/include/freetype2/freetype/fterrors.h +2 -1
  29. data/vendor/local/include/freetype2/freetype/ftgasp.h +11 -3
  30. data/vendor/local/include/freetype2/freetype/ftglyph.h +8 -1
  31. data/vendor/local/include/freetype2/freetype/ftimage.h +12 -0
  32. data/vendor/local/include/freetype2/freetype/ftmoderr.h +20 -19
  33. data/vendor/local/include/freetype2/freetype/ftoutln.h +25 -4
  34. data/vendor/local/include/freetype2/freetype/ftrender.h +8 -0
  35. data/vendor/local/include/freetype2/freetype/ftstroke.h +47 -12
  36. data/vendor/local/include/freetype2/freetype/ftsynth.h +4 -3
  37. data/vendor/local/include/freetype2/freetype/fttypes.h +2 -2
  38. data/vendor/local/include/freetype2/freetype/t1tables.h +160 -2
  39. data/vendor/local/include/freetype2/freetype/tttables.h +10 -5
  40. data/vendor/local/include/libpng14/png.h +310 -274
  41. data/vendor/local/include/libpng14/pngconf.h +82 -55
  42. data/vendor/local/include/png.h +310 -274
  43. data/vendor/local/include/pngconf.h +82 -55
  44. data/vendor/local/lib/cairo.lib +0 -0
  45. data/vendor/local/lib/expat.lib +0 -0
  46. data/vendor/local/lib/freetype.def +3 -0
  47. data/vendor/local/lib/freetype.lib +0 -0
  48. data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
  49. data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
  50. data/vendor/local/lib/libcairo.dll.a +0 -0
  51. data/vendor/local/lib/libexpat.dll.a +0 -0
  52. data/vendor/local/lib/libfreetype.dll.a +0 -0
  53. data/vendor/local/lib/libpng.lib +0 -0
  54. data/vendor/local/lib/libpng14.dll.a +0 -0
  55. data/vendor/local/lib/pkgconfig/cairo.pc +2 -2
  56. data/vendor/local/lib/pkgconfig/freetype2.pc +2 -2
  57. data/vendor/local/lib/pkgconfig/libpng.pc +1 -1
  58. data/vendor/local/lib/pkgconfig/libpng14.pc +1 -1
  59. data/vendor/local/manifest/{cairo-dev_1.10.2-1_win32.mft → cairo-dev_1.10.2-2_win32.mft} +3 -3
  60. data/vendor/local/manifest/cairo_1.10.2-2_win32.mft +7 -0
  61. data/vendor/local/manifest/expat-dev_2.1.0-1_win32.mft +10 -0
  62. data/vendor/local/manifest/expat_2.1.0-1_win32.mft +2 -0
  63. data/vendor/local/manifest/{freetype-dev_2.4.2-1_win32.mft → freetype-dev_2.4.10-1_win32.mft} +4 -3
  64. data/vendor/local/manifest/freetype_2.4.10-1_win32.mft +2 -0
  65. data/vendor/local/manifest/{libpng-dev_1.4.3-1_win32.mft → libpng-dev_1.4.12-1_win32.mft} +3 -3
  66. data/vendor/local/manifest/libpng_1.4.12-1_win32.mft +2 -0
  67. data/vendor/local/share/doc/{cairo_1.10.2-1_win32 → cairo_1.10.2-2_win32}/COPYING +0 -0
  68. data/vendor/local/share/doc/{cairo_1.10.2-1_win32 → cairo_1.10.2-2_win32}/COPYING-LGPL-2.1 +0 -0
  69. data/vendor/local/share/doc/{cairo_1.10.2-1_win32 → cairo_1.10.2-2_win32}/COPYING-MPL-1.1 +0 -0
  70. data/vendor/local/{man → share/man}/man1/xmlwf.1 +0 -0
  71. data/vendor/local/share/man/man3/libpng.3 +288 -138
  72. data/vendor/local/share/man/man3/libpngpf.3 +5 -11
  73. data/vendor/local/share/man/man5/png.5 +2 -2
  74. data/vendor/local/src/{tml/packaging/cairo_1.10.2-1_win32.log → dieterv/packaging/cairo_1.10.2-2_win32.log} +346 -300
  75. data/vendor/local/src/dieterv/packaging/cairo_1.10.2-2_win32.sh +251 -0
  76. data/vendor/local/src/dieterv/packaging/expat_2.1.0-1_win32.log +181 -0
  77. data/vendor/local/src/{tml/packaging/expat_2.0.1-1_win32.sh → dieterv/packaging/expat_2.1.0-1_win32.sh} +20 -12
  78. data/vendor/local/src/dieterv/packaging/freetype_2.4.10-1_win32.log +363 -0
  79. data/vendor/local/src/{tml/packaging/freetype_2.4.2-1_win32.sh → dieterv/packaging/freetype_2.4.10-1_win32.sh} +10 -11
  80. data/vendor/local/src/{tml/packaging/libpng_1.4.3-1_win32.log → dieterv/packaging/libpng_1.4.12-1_win32.log} +132 -121
  81. data/vendor/local/src/{tml/packaging/libpng_1.4.3-1_win32.sh → dieterv/packaging/libpng_1.4.12-1_win32.sh} +10 -10
  82. metadata +31 -30
  83. data/vendor/local/manifest/cairo_1.10.2-1_win32.mft +0 -7
  84. data/vendor/local/manifest/expat-dev_2.0.1-1_win32.mft +0 -10
  85. data/vendor/local/manifest/expat_2.0.1-1_win32.mft +0 -2
  86. data/vendor/local/manifest/freetype_2.4.2-1_win32.mft +0 -2
  87. data/vendor/local/manifest/libpng_1.4.3-1_win32.mft +0 -2
  88. data/vendor/local/src/tml/packaging/cairo_1.10.2-1_win32.sh +0 -84
  89. data/vendor/local/src/tml/packaging/expat_2.0.1-1_win32.log +0 -188
  90. data/vendor/local/src/tml/packaging/freetype_2.4.2-1_win32.log +0 -364
data/NEWS CHANGED
@@ -1,5 +1,20 @@
1
- Release 1.12.2 (2012-06-03) Kouhei Sutou <kou@cozmixng.org>)
2
- ============================================================
1
+ Release 1.12.3 (2012-12-04) Kouhei Sutou <kou@cozmixng.org>
2
+ ===========================================================
3
+
4
+ Improvements
5
+ ------------
6
+
7
+ * Supported Ruby 2.0.0.
8
+ [Reported by tmtms]
9
+ * Supported auto native package install by Homebrew and MacPorts.
10
+
11
+ Thanks
12
+ ------
13
+
14
+ * tmtms
15
+
16
+ Release 1.12.2 (2012-06-03) Kouhei Sutou <kou@cozmixng.org>
17
+ ===========================================================
3
18
 
4
19
  Improvements
5
20
  ------------
@@ -21,8 +36,8 @@ Thanks
21
36
  * Cédric Boutillier
22
37
  * Mamoru Tasaka
23
38
 
24
- Release 1.12.1 (2012-03-31) Kouhei Sutou <kou@cozmixng.org>)
25
- ============================================================
39
+ Release 1.12.1 (2012-03-31) Kouhei Sutou <kou@cozmixng.org>
40
+ ===========================================================
26
41
 
27
42
  Improvements
28
43
  ------------
@@ -40,8 +55,8 @@ Thanks
40
55
 
41
56
  * Eric C.
42
57
 
43
- Release 1.12.0 (2012-03-25) Kouhei Sutou <kou@cozmixng.org>)
44
- ============================================================
58
+ Release 1.12.0 (2012-03-25) Kouhei Sutou <kou@cozmixng.org>
59
+ ===========================================================
45
60
 
46
61
  Improvements
47
62
  ------------
@@ -68,8 +83,8 @@ Thanks
68
83
 
69
84
  * Vasily Fedoseyev
70
85
 
71
- Release 1.10.2 (2011-11-20) Kouhei Sutou <kou@cozmixng.org>)
72
- ============================================================
86
+ Release 1.10.2 (2011-11-20) Kouhei Sutou <kou@cozmixng.org>
87
+ ===========================================================
73
88
 
74
89
  Fixes
75
90
  -----
@@ -81,8 +96,8 @@ Thanks
81
96
 
82
97
  * Will Bryant
83
98
 
84
- Release 1.10.1 (2011-10-12) Kouhei Sutou <kou@cozmixng.org>)
85
- ============================================================
99
+ Release 1.10.1 (2011-10-12) Kouhei Sutou <kou@cozmixng.org>
100
+ ===========================================================
86
101
 
87
102
  Features
88
103
  --------
@@ -106,7 +121,7 @@ Thanks
106
121
  * Matt Bramlage
107
122
  * Nikolai Weibull
108
123
 
109
- Release 1.10.0 (2010-09-12) Kouhei Sutou <kou@cozmixng.org>)
124
+ Release 1.10.0 (2010-09-12) Kouhei Sutou <kou@cozmixng.org>
110
125
  ===========================================================
111
126
 
112
127
  Features
@@ -114,8 +129,8 @@ Features
114
129
 
115
130
  * Support cairo 1.10.0.
116
131
 
117
- Release 1.8.5 (2010-08-28) Kouhei Sutou <kou@cozmixng.org>)
118
- ===========================================================
132
+ Release 1.8.5 (2010-08-28) Kouhei Sutou <kou@cozmixng.org>
133
+ ==========================================================
119
134
 
120
135
  Fixes
121
136
  -----
@@ -129,8 +144,8 @@ Thanks
129
144
  * OBATA Akio
130
145
  * Masaya TARUI
131
146
 
132
- Release 1.8.3 (2010-08-26) Kouhei Sutou <kou@cozmixng.org>)
133
- ===========================================================
147
+ Release 1.8.3 (2010-08-26) Kouhei Sutou <kou@cozmixng.org>
148
+ ==========================================================
134
149
 
135
150
  Features
136
151
  --------
@@ -145,24 +160,24 @@ Thanks
145
160
  * Tasuku SUENAGA
146
161
  * kimura wataru
147
162
 
148
- Release 1.8.1 (2009-12-13) Kouhei Sutou <kou@cozmixng.org>)
149
- ===========================================================
163
+ Release 1.8.1 (2009-12-13) Kouhei Sutou <kou@cozmixng.org>
164
+ ==========================================================
150
165
 
151
166
  Features
152
167
  --------
153
168
  * Support cairo 1.8.8.
154
169
  * Improve auto .pc detection.
155
170
 
156
- Release 1.8.0 (2008-09-26) Kouhei Sutou <kou@cozmixng.org>)
157
- ===========================================================
171
+ Release 1.8.0 (2008-09-26) Kouhei Sutou <kou@cozmixng.org>
172
+ ==========================================================
158
173
 
159
174
  Features
160
175
  --------
161
176
  * Support cairo 1.8.0.
162
177
  * Resupport cairo 1.2.x. (reported by Yusuke ENDOH)
163
178
 
164
- Release 1.7.0 (2008-08-17) Kouhei Sutou <kou@cozmixng.org>)
165
- ===========================================================
179
+ Release 1.7.0 (2008-08-17) Kouhei Sutou <kou@cozmixng.org>
180
+ ==========================================================
166
181
 
167
182
  Features
168
183
  --------
@@ -174,8 +189,8 @@ Features
174
189
  * Resupport ruby 1.9. (suggested by Paul van Tilburg)
175
190
  * Fix README. (suggested by Davide Rambaldi)
176
191
 
177
- Release 1.6.3 (2008-07-19) Kouhei Sutou <kou@cozmixng.org>)
178
- ===========================================================
192
+ Release 1.6.3 (2008-07-19) Kouhei Sutou <kou@cozmixng.org>
193
+ ==========================================================
179
194
 
180
195
  Features
181
196
  --------
@@ -184,8 +199,8 @@ Features
184
199
  * Improve building on MacOS X. (suggested by Carsten Bormann)
185
200
  * Fix install location of cairo.so. (suggested by OBATA Akio)
186
201
 
187
- Release 1.6.2 (2008-06-14) Kouhei Sutou <kou@cozmixng.org>)
188
- ===========================================================
202
+ Release 1.6.2 (2008-06-14) Kouhei Sutou <kou@cozmixng.org>
203
+ ==========================================================
189
204
 
190
205
  Features
191
206
  --------
@@ -194,8 +209,8 @@ Features
194
209
  * Fix build failure with old Ruby.
195
210
  * Fix build failure with Ruby 1.9.
196
211
 
197
- Release 1.6.1 (2008-04-24) Kouhei Sutou <kou@cozmixng.org>)
198
- ===========================================================
212
+ Release 1.6.1 (2008-04-24) Kouhei Sutou <kou@cozmixng.org>
213
+ ==========================================================
199
214
 
200
215
  Features
201
216
  --------
@@ -203,8 +218,8 @@ Features
203
218
  * Support PKG_CONFIG_LIBDIR. (thanks to OBATA Akio)
204
219
  * Support RubyGems for mswin32.
205
220
 
206
- Release 1.6.0 (2008-04-11) Kouhei Sutou <kou@cozmixng.org>)
207
- ===========================================================
221
+ Release 1.6.0 (2008-04-11) Kouhei Sutou <kou@cozmixng.org>
222
+ ==========================================================
208
223
 
209
224
  Features
210
225
  --------
@@ -217,8 +232,8 @@ Features
217
232
  * Improve size specification of Cairo::PSSurface,
218
233
  Cairo::PDFSurface, Cairo::SVGSurface.
219
234
 
220
- Release 1.5.1 (2008-01-11) Kouhei Sutou <kou@cozmixng.org>)
221
- ===========================================================
235
+ Release 1.5.1 (2008-01-11) Kouhei Sutou <kou@cozmixng.org>
236
+ ==========================================================
222
237
 
223
238
  Features
224
239
  --------
@@ -231,8 +246,8 @@ Features
231
246
  * Cairo::WIN32Surface is still available for backward compatibility but
232
247
  don't use in newly written code.
233
248
 
234
- Release 1.5.0 (2007-05-27) Kouhei Sutou <kou@cozmixng.org>)
235
- ===========================================================
249
+ Release 1.5.0 (2007-05-27) Kouhei Sutou <kou@cozmixng.org>
250
+ ==========================================================
236
251
 
237
252
  Many API improvement.
238
253
 
data/README.rdoc CHANGED
@@ -111,7 +111,10 @@ http://cairographics.org/cgi-bin/mailman/listinfo/cairo
111
111
  * Masayas TARUI:
112
112
  * Windows support.
113
113
  * Stefan Salewski: reports a bug.
114
- * Mamoru Tasaka: reports a bug.
114
+ * Mamoru Tasaka: reports bugs.
115
115
  * Nikolai Weibull: reports problems.
116
116
  * Will Bryant: reports a bug.
117
117
  * Vasily Fedoseyev: fixes a bug.
118
+ * Eric C.: reports a bug.
119
+ * Cédric Boutillier: reports a bug.
120
+ * tmtms: reports a bug.
data/Rakefile CHANGED
@@ -27,11 +27,7 @@ Gem::PackageTask.new(spec) do |pkg|
27
27
  pkg.need_tar_gz = true
28
28
  end
29
29
 
30
- document_task = Packnga::DocumentTask.new(spec) do |t|
31
- t.yard do |yard_task|
32
- yard_task.files += FileList["ext/**/*.c"]
33
- # yard_task.options += ["--markup", "textile"]
34
- end
30
+ Packnga::DocumentTask.new(spec) do |task|
35
31
  end
36
32
 
37
33
  Packnga::ReleaseTask.new(spec) do |task|
@@ -58,12 +54,12 @@ task 'cross' => "download_windows_binaries"
58
54
  def download_windows_binaries(binary_dir)
59
55
  base_url = "http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/"
60
56
  dependencies = [
61
- ["cairo", "1.10.2-1"],
62
- ["libpng", "1.4.3-1"],
57
+ ["cairo", "1.10.2-2"],
58
+ ["libpng", "1.4.12-1"],
63
59
  ["zlib", "1.2.5-2"],
64
- ["expat", "2.0.1-1"],
60
+ ["expat", "2.1.0-1"],
65
61
  ["fontconfig", "2.8.0-2"],
66
- ["freetype", "2.4.2-1"],
62
+ ["freetype", "2.4.10-1"],
67
63
  ]
68
64
  dependencies.each do |name, version|
69
65
  ["", "-dev"].each do |suffix|
data/ext/cairo/depend CHANGED
@@ -1,2 +1,3 @@
1
- install-so:
1
+ install-so: install-headers
2
+ install-headers:
2
3
  $(INSTALL_DATA) $(srcdir)/rb_cairo.h $(RUBYARCHDIR)
data/ext/cairo/extconf.rb CHANGED
@@ -186,7 +186,9 @@ end
186
186
 
187
187
  unless required_pkg_config_package([package, major, minor, micro],
188
188
  :debian => "libcairo2-dev",
189
- :redhat => "cairo-devel")
189
+ :redhat => "cairo-devel",
190
+ :homebrew => "cairo",
191
+ :macports => "cairo")
190
192
  exit(false)
191
193
  end
192
194
 
data/ext/cairo/rb_cairo.h CHANGED
@@ -73,7 +73,7 @@ RB_CAIRO_BEGIN_DECLS
73
73
 
74
74
  #define RB_CAIRO_VERSION_MAJOR 1
75
75
  #define RB_CAIRO_VERSION_MINOR 12
76
- #define RB_CAIRO_VERSION_MICRO 2
76
+ #define RB_CAIRO_VERSION_MICRO 3
77
77
 
78
78
  RB_CAIRO_VAR VALUE rb_mCairo;
79
79
  RB_CAIRO_VAR VALUE rb_cCairo_Context;
data/lib/1.8/cairo.so CHANGED
Binary file
data/lib/1.9/cairo.so CHANGED
Binary file
@@ -72,7 +72,7 @@ while test $# -gt 0 ; do
72
72
  echo_exec_prefix=yes
73
73
  ;;
74
74
  --version)
75
- echo 12.0.6
75
+ echo 15.0.9
76
76
  exit 0
77
77
  ;;
78
78
  --ftversion)
@@ -144,7 +144,7 @@ if test "$echo_libs" = "yes" ; then
144
144
  if test "$enable_shared" = "yes" ; then
145
145
  eval "rpath=\"$hardcode_libdir_flag_spec\""
146
146
  fi
147
- libs="-lfreetype "
147
+ libs="-lfreetype "
148
148
  if test "${SYSROOT}$libdir" != "/usr/lib" && test "${SYSROOT}$libdir" != "/usr/lib64"; then
149
149
  echo -L${SYSROOT}$libdir $libs
150
150
  else
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -742,6 +742,29 @@ XML_GetSpecifiedAttributeCount(XML_Parser parser);
742
742
  XMLPARSEAPI(int)
743
743
  XML_GetIdAttributeIndex(XML_Parser parser);
744
744
 
745
+ #ifdef XML_ATTR_INFO
746
+ /* Source file byte offsets for the start and end of attribute names and values.
747
+ The value indices are exclusive of surrounding quotes; thus in a UTF-8 source
748
+ file an attribute value of "blah" will yield:
749
+ info->valueEnd - info->valueStart = 4 bytes.
750
+ */
751
+ typedef struct {
752
+ XML_Index nameStart; /* Offset to beginning of the attribute name. */
753
+ XML_Index nameEnd; /* Offset after the attribute name's last byte. */
754
+ XML_Index valueStart; /* Offset to beginning of the attribute value. */
755
+ XML_Index valueEnd; /* Offset after the attribute value's last byte. */
756
+ } XML_AttrInfo;
757
+
758
+ /* Returns an array of XML_AttrInfo structures for the attribute/value pairs
759
+ passed in last call to the XML_StartElementHandler that were specified
760
+ in the start-tag rather than defaulted. Each attribute/value pair counts
761
+ as 1; thus the number of entries in the array is
762
+ XML_GetSpecifiedAttributeCount(parser) / 2.
763
+ */
764
+ XMLPARSEAPI(const XML_AttrInfo *)
765
+ XML_GetAttributeInfo(XML_Parser parser);
766
+ #endif
767
+
745
768
  /* Parses some input. Returns XML_STATUS_ERROR if a fatal error is
746
769
  detected. The last call to XML_Parse must have isFinal true; len
747
770
  may be zero for this call (or any other).
@@ -883,6 +906,15 @@ XMLPARSEAPI(int)
883
906
  XML_SetParamEntityParsing(XML_Parser parser,
884
907
  enum XML_ParamEntityParsing parsing);
885
908
 
909
+ /* Sets the hash salt to use for internal hash calculations.
910
+ Helps in preventing DoS attacks based on predicting hash
911
+ function behavior. This must be called before parsing is started.
912
+ Returns 1 if successful, 0 when called after parsing has started.
913
+ */
914
+ XMLPARSEAPI(int)
915
+ XML_SetHashSalt(XML_Parser parser,
916
+ unsigned long hash_salt);
917
+
886
918
  /* If XML_Parse or XML_ParseBuffer have returned XML_STATUS_ERROR, then
887
919
  XML_GetErrorCode returns information about the error.
888
920
  */
@@ -984,7 +1016,8 @@ enum XML_FeatureEnum {
984
1016
  XML_FEATURE_SIZEOF_XML_CHAR,
985
1017
  XML_FEATURE_SIZEOF_XML_LCHAR,
986
1018
  XML_FEATURE_NS,
987
- XML_FEATURE_LARGE_SIZE
1019
+ XML_FEATURE_LARGE_SIZE,
1020
+ XML_FEATURE_ATTR_INFO
988
1021
  /* Additional features must be added to the end of this enum. */
989
1022
  };
990
1023
 
@@ -1004,8 +1037,8 @@ XML_GetFeatureList(void);
1004
1037
  change to major or minor version.
1005
1038
  */
1006
1039
  #define XML_MAJOR_VERSION 2
1007
- #define XML_MINOR_VERSION 0
1008
- #define XML_MICRO_VERSION 1
1040
+ #define XML_MINOR_VERSION 1
1041
+ #define XML_MICRO_VERSION 0
1009
1042
 
1010
1043
  #ifdef __cplusplus
1011
1044
  }
@@ -5,7 +5,7 @@
5
5
  /* */
6
6
  /* UNIX-specific configuration file (specification only). */
7
7
  /* */
8
- /* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009 by */
8
+ /* Copyright 1996-2004, 2006-2009, 2011 by */
9
9
  /* David Turner, Robert Wilhelm, and Werner Lemberg. */
10
10
  /* */
11
11
  /* This file is part of the FreeType project, and may only be used, */
@@ -118,10 +118,6 @@ FT_BEGIN_HEADER
118
118
  #endif /* !FT_USE_AUTOCONF_SIZEOF_TYPES */
119
119
 
120
120
 
121
- /* Preferred alignment of data */
122
- #define FT_ALIGNMENT 8
123
-
124
-
125
121
  /* FT_UNUSED is a macro used to indicate that a given parameter is not */
126
122
  /* used -- this is only used to get rid of unpleasant compiler warnings */
127
123
  #ifndef FT_UNUSED
@@ -147,15 +143,17 @@ FT_BEGIN_HEADER
147
143
  /* This is the only necessary change, so it is defined here instead */
148
144
  /* providing a new configuration file. */
149
145
  /* */
150
- #if ( defined( __APPLE__ ) && !defined( DARWIN_NO_CARBON ) ) || \
151
- ( defined( __MWERKS__ ) && defined( macintosh ) )
146
+ #if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) )
152
147
  /* no Carbon frameworks for 64bit 10.4.x */
148
+ /* AvailabilityMacros.h is available since Mac OS X 10.2, */
149
+ /* so guess the system version by maximum errno before inclusion */
150
+ #include <errno.h>
151
+ #ifdef ECANCELED /* defined since 10.2 */
153
152
  #include "AvailabilityMacros.h"
153
+ #endif
154
154
  #if defined( __LP64__ ) && \
155
155
  ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
156
- #define DARWIN_NO_CARBON 1
157
- #else
158
- #define FT_MACINTOSH 1
156
+ #undef FT_MACINTOSH
159
157
  #endif
160
158
 
161
159
  #elif defined( __SC__ ) || defined( __MRC__ )
@@ -287,11 +285,42 @@ FT_BEGIN_HEADER
287
285
  /* Provide assembler fragments for performance-critical functions. */
288
286
  /* These must be defined `static __inline__' with GCC. */
289
287
 
288
+ #if defined( __CC_ARM ) || defined( __ARMCC__ ) /* RVCT */
289
+ #define FT_MULFIX_ASSEMBLER FT_MulFix_arm
290
+
291
+ /* documentation is in freetype.h */
292
+
293
+ static __inline FT_Int32
294
+ FT_MulFix_arm( FT_Int32 a,
295
+ FT_Int32 b )
296
+ {
297
+ register FT_Int32 t, t2;
298
+
299
+
300
+ __asm
301
+ {
302
+ smull t2, t, b, a /* (lo=t2,hi=t) = a*b */
303
+ mov a, t, asr #31 /* a = (hi >> 31) */
304
+ add a, a, #0x8000 /* a += 0x8000 */
305
+ adds t2, t2, a /* t2 += a */
306
+ adc t, t, #0 /* t += carry */
307
+ mov a, t2, lsr #16 /* a = t2 >> 16 */
308
+ orr a, a, t, lsl #16 /* a |= t << 16 */
309
+ }
310
+ return a;
311
+ }
312
+
313
+ #endif /* __CC_ARM || __ARMCC__ */
314
+
315
+
290
316
  #ifdef __GNUC__
291
317
 
292
- #if defined( __arm__ ) && !defined( __thumb__ )
318
+ #if defined( __arm__ ) && !defined( __thumb__ ) && \
319
+ !( defined( __CC_ARM ) || defined( __ARMCC__ ) )
293
320
  #define FT_MULFIX_ASSEMBLER FT_MulFix_arm
294
321
 
322
+ /* documentation is in freetype.h */
323
+
295
324
  static __inline__ FT_Int32
296
325
  FT_MulFix_arm( FT_Int32 a,
297
326
  FT_Int32 b )
@@ -312,11 +341,13 @@ FT_BEGIN_HEADER
312
341
  return a;
313
342
  }
314
343
 
315
- #endif /* __arm__ && !__thumb__ */
344
+ #endif /* __arm__ && !__thumb__ && !( __CC_ARM || __ARMCC__ ) */
316
345
 
317
346
  #if defined( __i386__ )
318
347
  #define FT_MULFIX_ASSEMBLER FT_MulFix_i386
319
348
 
349
+ /* documentation is in freetype.h */
350
+
320
351
  static __inline__ FT_Int32
321
352
  FT_MulFix_i386( FT_Int32 a,
322
353
  FT_Int32 b )
@@ -334,9 +365,9 @@ FT_BEGIN_HEADER
334
365
  "shrl $16, %%eax\n"
335
366
  "shll $16, %%edx\n"
336
367
  "addl %%edx, %%eax\n"
337
- : "=a"(result), "+d"(b)
338
- : "a"(a)
339
- : "%ecx" );
368
+ : "=a"(result), "=d"(b)
369
+ : "a"(a), "d"(b)
370
+ : "%ecx", "cc" );
340
371
  return result;
341
372
  }
342
373
 
@@ -344,6 +375,43 @@ FT_BEGIN_HEADER
344
375
 
345
376
  #endif /* __GNUC__ */
346
377
 
378
+
379
+ #ifdef _MSC_VER /* Visual C++ */
380
+
381
+ #ifdef _M_IX86
382
+
383
+ #define FT_MULFIX_ASSEMBLER FT_MulFix_i386
384
+
385
+ /* documentation is in freetype.h */
386
+
387
+ static __inline FT_Int32
388
+ FT_MulFix_i386( FT_Int32 a,
389
+ FT_Int32 b )
390
+ {
391
+ register FT_Int32 result;
392
+
393
+ __asm
394
+ {
395
+ mov eax, a
396
+ mov edx, b
397
+ imul edx
398
+ mov ecx, edx
399
+ sar ecx, 31
400
+ add ecx, 8000h
401
+ add eax, ecx
402
+ adc edx, 0
403
+ shr eax, 16
404
+ shl edx, 16
405
+ add eax, edx
406
+ mov result, eax
407
+ }
408
+ return result;
409
+ }
410
+
411
+ #endif /* _M_IX86 */
412
+
413
+ #endif /* _MSC_VER */
414
+
347
415
  #endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */
348
416
 
349
417