3 # This file is the canonical location listing all the source files used
4 # to build the cairo library. Every source file is categorized as one of:
7 # * private header file (must end in -private.h except for cairoint.h)
10 # Every source file should be specified exactly once, grouped with the
11 # feature that uses the source file. If more than one feature use the
12 # file (like pdf_operators or font_subset files), the files should be
13 # appended to to the base cairo files, and the code inside them
14 # enabled/disabled using C preprocessor macros defined in cairoint.h.
15 # See how pdf_operators or font_subset are handled.
17 # The sources are picked up according to the configured features
18 # by the generated file Makefile.am.features or Makefile.win32.features.
20 # These are a few special source files. Those are not included in this
21 # file to not confuse build systems. Each build system must handle them
22 # separately. These files include:
25 # This file is generated by configure and includes macros signifying
26 # which features are enabled. This file should be installed like
27 # other public headers, but should NOT be distributed in the cairo
31 # This is a dummy header file used during the build, but it should
32 # NOT be installed. Its sole purpose is to make sure changes in the
33 # cairo version do not trigger a full rebuild of the library, but
34 # just the functions actually using the version information.
36 # * $(top_srcdir)/cairo-version.h:
37 # This is the real file holding the cairo version number. This file
38 # should be installed like other public headers. This is used during
39 # the build by cairo-version.c only.
41 # * cairo-supported-features.h:
42 # This file is generated by configure and includes macros signifying
43 # all supported features. This is used by gtk-doc to generate
44 # documentation for all those macros, enabled or not.
45 # This file is NOT used during the build of the library and should
46 # NOT be installed or distributed.
48 # Please follow the strict syntax of this file, including keeping file
52 cairo_headers = cairo.h cairo-deprecated.h
55 cairo-analysis-surface-private.h \
57 cairo-array-private.h \
58 cairo-atomic-private.h \
59 cairo-backend-private.h \
61 cairo-boxes-private.h \
62 cairo-cache-private.h \
64 cairo-clip-private.h \
65 cairo-combsort-inline.h \
66 cairo-compiler-private.h \
67 cairo-compositor-private.h \
68 cairo-contour-inline.h \
69 cairo-contour-private.h \
70 cairo-composite-rectangles-private.h \
71 cairo-damage-private.h \
72 cairo-default-context-private.h \
73 cairo-device-private.h \
74 cairo-error-inline.h \
75 cairo-error-private.h \
76 cairo-fixed-private.h \
77 cairo-fixed-type-private.h \
78 cairo-freelist-private.h \
79 cairo-freelist-type-private.h \
80 cairo-freed-pool-private.h \
81 cairo-fontconfig-private.h \
82 cairo-gstate-private.h \
83 cairo-hash-private.h \
84 cairo-image-info-private.h \
85 cairo-image-surface-inline.h \
86 cairo-image-surface-private.h \
88 cairo-line-private.h \
90 cairo-list-private.h \
91 cairo-malloc-private.h \
92 cairo-mempool-private.h \
93 cairo-mutex-impl-private.h \
94 cairo-mutex-list-private.h \
95 cairo-mutex-private.h \
96 cairo-mutex-type-private.h \
97 cairo-output-stream-private.h \
98 cairo-paginated-private.h \
99 cairo-paginated-surface-private.h \
100 cairo-path-fixed-private.h \
101 cairo-path-private.h \
102 cairo-pattern-inline.h \
103 cairo-pattern-private.h \
104 cairo-pixman-private.h \
106 cairo-recording-surface-inline.h \
107 cairo-recording-surface-private.h \
108 cairo-reference-count-private.h \
109 cairo-region-private.h \
110 cairo-rtree-private.h \
111 cairo-scaled-font-private.h \
112 cairo-slope-private.h \
113 cairo-spans-private.h \
114 cairo-spans-compositor-private.h \
115 cairo-stroke-dash-private.h \
116 cairo-surface-inline.h \
117 cairo-surface-private.h \
118 cairo-surface-backend-private.h \
119 cairo-surface-clipper-private.h \
120 cairo-surface-fallback-private.h \
121 cairo-surface-observer-inline.h \
122 cairo-surface-observer-private.h \
123 cairo-surface-offset-private.h \
124 cairo-surface-subsurface-inline.h \
125 cairo-surface-subsurface-private.h \
126 cairo-surface-snapshot-inline.h \
127 cairo-surface-snapshot-private.h \
128 cairo-surface-wrapper-private.h \
129 cairo-time-private.h \
130 cairo-types-private.h \
131 cairo-traps-private.h \
132 cairo-tristrip-private.h \
133 cairo-user-font-private.h \
134 cairo-wideint-private.h \
135 cairo-wideint-type-private.h \
138 cairo-analysis-surface.c \
142 cairo-base64-stream.c \
143 cairo-base85-stream.c \
144 cairo-bentley-ottmann.c \
145 cairo-bentley-ottmann-rectangular.c \
146 cairo-bentley-ottmann-rectilinear.c \
147 cairo-botor-scan-converter.c \
149 cairo-boxes-intersect.c \
154 cairo-clip-polygon.c \
155 cairo-clip-region.c \
156 cairo-clip-surface.c \
158 cairo-composite-rectangles.c \
163 cairo-default-context.c \
166 cairo-fallback-compositor.c \
169 cairo-font-face-twin.c \
170 cairo-font-face-twin-data.c \
171 cairo-font-options.c \
177 cairo-image-compositor.c \
179 cairo-image-source.c \
180 cairo-image-surface.c \
184 cairo-mask-compositor.c \
185 cairo-mesh-pattern-rasterizer.c \
188 cairo-mono-scan-converter.c \
190 cairo-no-compositor.c \
192 cairo-output-stream.c \
193 cairo-paginated-surface.c \
194 cairo-path-bounds.c \
198 cairo-path-in-fill.c \
199 cairo-path-stroke.c \
200 cairo-path-stroke-boxes.c \
201 cairo-path-stroke-polygon.c \
202 cairo-path-stroke-traps.c \
203 cairo-path-stroke-tristrip.c \
207 cairo-polygon-intersect.c \
208 cairo-polygon-reduce.c \
209 cairo-raster-source-pattern.c \
210 cairo-recording-surface.c \
212 cairo-rectangular-scan-converter.c \
215 cairo-scaled-font.c \
216 cairo-shape-mask-compositor.c \
219 cairo-spans-compositor.c \
221 cairo-stroke-dash.c \
222 cairo-stroke-style.c \
224 cairo-surface-clipper.c \
225 cairo-surface-fallback.c \
226 cairo-surface-observer.c \
227 cairo-surface-offset.c \
228 cairo-surface-snapshot.c \
229 cairo-surface-subsurface.c \
230 cairo-surface-wrapper.c \
232 cairo-tor-scan-converter.c \
233 cairo-tor22-scan-converter.c \
234 cairo-clip-tor-scan-converter.c \
235 cairo-toy-font-face.c \
238 cairo-traps-compositor.c \
245 _cairo_font_subset_private = \
246 cairo-scaled-font-subsets-private.h \
247 cairo-truetype-subset-private.h \
248 cairo-type1-private.h \
249 cairo-type3-glyph-surface-private.h \
251 _cairo_font_subset_sources = \
253 cairo-scaled-font-subsets.c \
254 cairo-truetype-subset.c \
255 cairo-type1-fallback.c \
256 cairo-type1-glyph-names.c \
257 cairo-type1-subset.c \
258 cairo-type3-glyph-surface.c \
260 cairo_private += $(_cairo_font_subset_private)
261 cairo_sources += $(_cairo_font_subset_sources)
267 _cairo_pdf_operators_private = cairo-pdf-operators-private.h cairo-pdf-shading-private.h
268 _cairo_pdf_operators_sources = cairo-pdf-operators.c cairo-pdf-shading.c
269 cairo_private += $(_cairo_pdf_operators_private)
270 cairo_sources += $(_cairo_pdf_operators_sources)
272 cairo_png_sources = cairo-png.c
274 cairo_ps_headers = cairo-ps.h
275 cairo_ps_private = cairo-ps-surface-private.h
276 cairo_ps_sources = cairo-ps-surface.c
278 _cairo_deflate_stream_sources = cairo-deflate-stream.c
279 cairo_sources += $(_cairo_deflate_stream_sources)
281 cairo_pdf_headers = cairo-pdf.h
282 cairo_pdf_private = cairo-pdf-surface-private.h
283 cairo_pdf_sources = cairo-pdf-surface.c
285 cairo_svg_headers = cairo-svg.h
286 cairo_svg_private = cairo-svg-surface-private.h
287 cairo_svg_sources = cairo-svg-surface.c
289 cairo_ft_headers = cairo-ft.h
290 cairo_ft_private = cairo-ft-private.h
291 cairo_ft_sources = cairo-ft-font.c
293 # These are private, even though they look like public headers
294 cairo_test_surfaces_private = \
295 test-compositor-surface.h \
296 test-compositor-surface-private.h \
297 test-null-compositor-surface.h \
298 test-paginated-surface.h \
300 cairo_test_surfaces_sources = \
301 test-compositor-surface.c \
302 test-null-compositor-surface.c \
303 test-base-compositor-surface.c \
304 test-paginated-surface.c \
307 cairo_xlib_headers = cairo-xlib.h
308 cairo_xlib_private = \
309 cairo-xlib-private.h \
310 cairo-xlib-surface-private.h \
311 cairo-xlib-xrender-private.h \
313 cairo_xlib_sources = \
314 cairo-xlib-display.c \
315 cairo-xlib-core-compositor.c \
316 cairo-xlib-fallback-compositor.c \
317 cairo-xlib-render-compositor.c \
318 cairo-xlib-screen.c \
319 cairo-xlib-source.c \
320 cairo-xlib-surface.c \
321 cairo-xlib-surface-shm.c \
322 cairo-xlib-visual.c \
323 cairo-xlib-xcb-surface.c \
326 cairo_xlib_xrender_headers = cairo-xlib-xrender.h
328 cairo_xcb_headers = cairo-xcb.h
329 cairo_xcb_private = cairo-xcb-private.h
330 cairo_xcb_sources = \
331 cairo-xcb-connection.c \
332 cairo-xcb-connection-core.c \
333 cairo-xcb-connection-render.c \
334 cairo-xcb-connection-shm.c \
337 cairo-xcb-surface.c \
338 cairo-xcb-surface-core.c \
339 cairo-xcb-surface-render.c \
340 cairo-xcb-resources.c \
343 cairo_qt_headers = cairo-qt.h
344 cairo_qt_cxx_sources = cairo-qt-surface.cpp
346 cairo_quartz_headers = cairo-quartz.h
347 cairo_quartz_private = cairo-quartz-private.h
348 cairo_quartz_sources = cairo-quartz-surface.c
350 cairo_quartz_image_headers = cairo-quartz-image.h
351 cairo_quartz_image_sources = cairo-quartz-image-surface.c
353 cairo_quartz_font_sources = cairo-quartz-font.c
355 cairo_win32_headers = cairo-win32.h
356 cairo_win32_private = win32/cairo-win32-private.h
357 cairo_win32_sources = \
358 win32/cairo-win32-debug.c \
359 win32/cairo-win32-device.c \
360 win32/cairo-win32-gdi-compositor.c \
361 win32/cairo-win32-system.c \
362 win32/cairo-win32-surface.c \
363 win32/cairo-win32-display-surface.c \
364 win32/cairo-win32-printing-surface.c \
366 cairo_win32_font_sources = \
367 win32/cairo-win32-font.c \
370 cairo_skia_headers = cairo-skia.h
371 cairo_skia_private = skia/cairo-skia-private.h
372 cairo_skia_cxx_sources = \
373 skia/cairo-skia-context.cpp \
374 skia/cairo-skia-surface.cpp \
377 cairo_os2_headers = cairo-os2.h
378 cairo_os2_private = cairo-os2-private.h
379 cairo_os2_sources = cairo-os2-surface.c
381 # automake is stupid enough to always use c++ linker if we enable the
382 # following lines, even if beos surface is not enabled. Disable it for now.
383 cairo_beos_headers = cairo-beos.h
384 cairo_beos_cxx_sources = cairo-beos-surface.cpp
386 cairo_gl_headers = cairo-gl.h
387 cairo_gl_private = cairo-gl-private.h \
388 cairo-gl-dispatch-private.h \
389 cairo-gl-ext-def-private.h \
390 cairo-gl-gradient-private.h
392 cairo_gl_sources = cairo-gl-composite.c \
394 cairo-gl-dispatch.c \
396 cairo-gl-gradient.c \
400 cairo-gl-msaa-compositor.c \
401 cairo-gl-spans-compositor.c \
402 cairo-gl-traps-compositor.c \
406 cairo_glesv2_headers = $(cairo_gl_headers)
407 cairo_glesv2_private = $(cairo_gl_private)
408 cairo_glesv2_sources = $(cairo_gl_sources)
410 cairo_egl_sources += cairo-egl-context.c
411 cairo_glx_sources += cairo-glx-context.c
412 cairo_wgl_sources += cairo-wgl-context.c
414 cairo_directfb_headers = cairo-directfb.h
415 cairo_directfb_sources = cairo-directfb-surface.c
417 cairo_drm_headers = cairo-drm.h
418 cairo_drm_private = drm/cairo-drm-private.h \
419 drm/cairo-drm-ioctl-private.h \
420 drm/cairo-drm-intel-private.h \
421 drm/cairo-drm-intel-brw-defines.h \
422 drm/cairo-drm-intel-brw-structs.h \
423 drm/cairo-drm-intel-brw-eu.h \
424 drm/cairo-drm-intel-command-private.h \
425 drm/cairo-drm-intel-ioctl-private.h \
426 drm/cairo-drm-i915-private.h \
427 drm/cairo-drm-i965-private.h \
428 drm/cairo-drm-radeon-private.h
429 cairo_drm_sources = drm/cairo-drm.c \
431 drm/cairo-drm-surface.c \
432 drm/cairo-drm-intel.c \
433 drm/cairo-drm-intel-debug.c \
434 drm/cairo-drm-intel-surface.c \
435 drm/cairo-drm-i915-surface.c \
436 drm/cairo-drm-i915-glyphs.c \
437 drm/cairo-drm-i915-shader.c \
438 drm/cairo-drm-i915-spans.c \
439 drm/cairo-drm-i965-surface.c \
440 drm/cairo-drm-i965-glyphs.c \
441 drm/cairo-drm-i965-shader.c \
442 drm/cairo-drm-i965-spans.c \
443 drm/cairo-drm-intel-brw-eu.c \
444 drm/cairo-drm-intel-brw-eu-emit.c \
445 drm/cairo-drm-intel-brw-eu-util.c \
446 drm/cairo-drm-radeon.c \
447 drm/cairo-drm-radeon-surface.c
448 cairo_gallium_sources = drm/cairo-drm-gallium-surface.c
450 cairo_script_headers = cairo-script.h
451 cairo_script_private = cairo-script-private.h
452 cairo_script_sources = cairo-script-surface.c
454 cairo_tee_headers = cairo-tee.h
455 cairo_tee_private = cairo-tee-surface-private.h
456 cairo_tee_sources = cairo-tee-surface.c
458 cairo_xml_headers = cairo-xml.h
459 cairo_xml_sources = cairo-xml-surface.c
461 cairo_vg_headers = cairo-vg.h
462 cairo_vg_sources = cairo-vg-surface.c
464 cairo_cogl_headers = cairo-cogl.h
465 cairo_cogl_private = cairo-cogl-private.h \
466 cairo-cogl-gradient-private.h \
467 cairo-cogl-context-private.h \
468 cairo-cogl-utils-private.h
469 cairo_cogl_sources = cairo-cogl-surface.c \
470 cairo-cogl-gradient.c \
471 cairo-cogl-context.c \