[cairo-commit] 2 commits - boilerplate/Makefile.win32.features build/Makefile.win32.features-h configure.ac src/Makefile.sources src/Makefile.win32.features

Benjamin Otte company at kemper.freedesktop.org
Fri Jul 9 09:56:13 PDT 2010


 boilerplate/Makefile.win32.features |   92 ++++++++++++++++++++++++++++++++----
 build/Makefile.win32.features-h     |    1 
 configure.ac                        |    8 +--
 src/Makefile.sources                |   11 ++--
 src/Makefile.win32.features         |   92 ++++++++++++++++++++++++++++++++----
 5 files changed, 175 insertions(+), 29 deletions(-)

New commits:
commit 59c83117d77f58e9cb64aaa6b572fab62fb31c6b
Author: Benjamin Otte <otte at redhat.com>
Date:   Fri Jul 9 18:55:11 2010 +0200

    build: Commit new versions of autogenerate Windows build files
    
    The recent commits to the build system changed a bunch of stuff in
    there, so update the files.

diff --git a/boilerplate/Makefile.win32.features b/boilerplate/Makefile.win32.features
index d79fe2f..43e4c19 100644
--- a/boilerplate/Makefile.win32.features
+++ b/boilerplate/Makefile.win32.features
@@ -8,401 +8,473 @@ endif
 
 supported_cairo_boilerplate_headers = $(cairo_boilerplate_headers)
 unsupported_cairo_boilerplate_headers =
-all_cairo_boilerplate_files = $(all_cairo_boilerplate_headers) $(all_cairo_boilerplate_private) $(all_cairo_boilerplate_sources)
 all_cairo_boilerplate_headers = $(cairo_boilerplate_headers)
 all_cairo_boilerplate_private = $(cairo_boilerplate_private)
+all_cairo_boilerplate_cxx_sources = $(cairo_boilerplate_cxx_sources)
 all_cairo_boilerplate_sources = $(cairo_boilerplate_sources)
 
-enabled_cairo_boilerplate_files = $(enabled_cairo_boilerplate_headers) $(enabled_cairo_boilerplate_private) $(enabled_cairo_boilerplate_sources)
 enabled_cairo_boilerplate_headers = $(cairo_boilerplate_headers)
 enabled_cairo_boilerplate_private = $(cairo_boilerplate_private)
+enabled_cairo_boilerplate_cxx_sources = $(cairo_boilerplate_cxx_sources)
 enabled_cairo_boilerplate_sources = $(cairo_boilerplate_sources)
 
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_xlib_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xlib_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_xlib_sources)
 ifeq ($(CAIRO_HAS_XLIB_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_xlib_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xlib_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_xlib_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_xrender_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_xrender_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_xlib_xrender_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xlib_xrender_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_xlib_xrender_sources)
 ifeq ($(CAIRO_HAS_XLIB_XRENDER_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_xrender_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_xlib_xrender_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xlib_xrender_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_xlib_xrender_sources)
 endif
 
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_xcb_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_xcb_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_xcb_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xcb_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_xcb_sources)
 ifeq ($(CAIRO_HAS_XCB_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_xcb_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_xcb_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xcb_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_xcb_sources)
 endif
 
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_xcb_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_xcb_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_xlib_xcb_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xlib_xcb_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_xlib_xcb_sources)
 ifeq ($(CAIRO_HAS_XLIB_XCB_FUNCTIONS),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_xcb_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_xlib_xcb_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xlib_xcb_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_xlib_xcb_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_xcb_shm_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_xcb_shm_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_xcb_shm_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xcb_shm_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_xcb_shm_sources)
 ifeq ($(CAIRO_HAS_XCB_SHM_FUNCTIONS),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_xcb_shm_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_xcb_shm_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xcb_shm_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_xcb_shm_sources)
 endif
 
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_qt_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_qt_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_qt_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_qt_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_qt_sources)
 ifeq ($(CAIRO_HAS_QT_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_qt_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_qt_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_qt_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_qt_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_quartz_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_quartz_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_quartz_sources)
 ifeq ($(CAIRO_HAS_QUARTZ_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_quartz_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_quartz_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_quartz_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_font_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_font_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_quartz_font_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_quartz_font_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_quartz_font_sources)
 ifeq ($(CAIRO_HAS_QUARTZ_FONT),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_font_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_quartz_font_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_quartz_font_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_quartz_font_sources)
 endif
 
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_image_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_image_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_quartz_image_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_quartz_image_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_quartz_image_sources)
 ifeq ($(CAIRO_HAS_QUARTZ_IMAGE_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_image_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_quartz_image_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_quartz_image_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_quartz_image_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_win32_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_win32_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_win32_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_win32_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_win32_sources)
 ifeq ($(CAIRO_HAS_WIN32_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_win32_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_win32_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_win32_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_win32_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_win32_font_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_win32_font_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_win32_font_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_win32_font_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_win32_font_sources)
 ifeq ($(CAIRO_HAS_WIN32_FONT),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_win32_font_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_win32_font_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_win32_font_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_win32_font_sources)
 endif
 
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_skia_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_skia_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_skia_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_skia_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_skia_sources)
 ifeq ($(CAIRO_HAS_SKIA_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_skia_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_skia_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_skia_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_skia_sources)
 endif
 
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_os2_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_os2_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_os2_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_os2_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_os2_sources)
 ifeq ($(CAIRO_HAS_OS2_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_os2_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_os2_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_os2_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_os2_sources)
 endif
 
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_beos_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_beos_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_beos_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_beos_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_beos_sources)
 ifeq ($(CAIRO_HAS_BEOS_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_beos_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_beos_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_beos_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_beos_sources)
 endif
 
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_drm_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_drm_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_drm_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_drm_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_drm_sources)
 ifeq ($(CAIRO_HAS_DRM_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_drm_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_drm_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_drm_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_drm_sources)
 endif
 
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_drm_xr_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_drm_xr_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_drm_xr_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_drm_xr_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_drm_xr_sources)
 ifeq ($(CAIRO_HAS_DRM_XR_FUNCTIONS),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_drm_xr_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_drm_xr_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_drm_xr_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_drm_xr_sources)
 endif
 
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_gallium_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_gallium_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_gallium_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_gallium_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_gallium_sources)
 ifeq ($(CAIRO_HAS_GALLIUM_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_gallium_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_gallium_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_gallium_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_gallium_sources)
 endif
 
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_xcb_drm_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_xcb_drm_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_xcb_drm_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xcb_drm_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_xcb_drm_sources)
 ifeq ($(CAIRO_HAS_XCB_DRM_FUNCTIONS),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_xcb_drm_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_xcb_drm_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xcb_drm_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_xcb_drm_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_png_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_png_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_png_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_png_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_png_sources)
 ifeq ($(CAIRO_HAS_PNG_FUNCTIONS),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_png_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_png_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_png_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_png_sources)
 endif
 
-supported_cairo_boilerplate_headers += $(cairo_boilerplate_glew_headers)
-all_cairo_boilerplate_headers += $(cairo_boilerplate_glew_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_glew_private)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_glew_sources)
-enabled_cairo_boilerplate_headers += $(cairo_boilerplate_glew_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_glew_private)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_glew_sources)
-
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_gl_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_gl_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_gl_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_gl_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_gl_sources)
 ifeq ($(CAIRO_HAS_GL_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_gl_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_gl_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_gl_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_gl_sources)
 endif
 
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_directfb_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_directfb_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_directfb_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_directfb_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_directfb_sources)
 ifeq ($(CAIRO_HAS_DIRECTFB_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_directfb_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_directfb_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_directfb_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_directfb_sources)
 endif
 
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_vg_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_vg_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_vg_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_vg_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_vg_sources)
 ifeq ($(CAIRO_HAS_VG_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_vg_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_vg_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_vg_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_vg_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_egl_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_egl_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_egl_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_egl_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_egl_sources)
 ifeq ($(CAIRO_HAS_EGL_FUNCTIONS),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_egl_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_egl_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_egl_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_egl_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_glx_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_glx_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_glx_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_glx_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_glx_sources)
 ifeq ($(CAIRO_HAS_GLX_FUNCTIONS),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_glx_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_glx_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_glx_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_glx_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_wgl_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_wgl_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_wgl_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_wgl_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_wgl_sources)
 ifeq ($(CAIRO_HAS_WGL_FUNCTIONS),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_wgl_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_wgl_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_wgl_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_wgl_sources)
 endif
 
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_script_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_script_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_script_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_script_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_script_sources)
 ifeq ($(CAIRO_HAS_SCRIPT_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_script_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_script_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_script_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_script_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_ft_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_ft_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_ft_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_ft_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_ft_sources)
 ifeq ($(CAIRO_HAS_FT_FONT),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_ft_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_ft_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_ft_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_ft_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_fc_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_fc_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_fc_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_fc_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_fc_sources)
 ifeq ($(CAIRO_HAS_FC_FONT),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_fc_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_fc_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_fc_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_fc_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_ps_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_ps_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_ps_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_ps_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_ps_sources)
 ifeq ($(CAIRO_HAS_PS_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_ps_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_ps_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_ps_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_ps_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_pdf_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_pdf_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_pdf_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_pdf_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_pdf_sources)
 ifeq ($(CAIRO_HAS_PDF_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_pdf_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_pdf_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_pdf_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_pdf_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_svg_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_svg_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_svg_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_svg_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_svg_sources)
 ifeq ($(CAIRO_HAS_SVG_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_svg_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_svg_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_svg_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_svg_sources)
 endif
 
 all_cairo_boilerplate_private += $(cairo_boilerplate_test_surfaces_private) $(cairo_boilerplate_test_surfaces_headers)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_test_surfaces_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_test_surfaces_sources)
 ifeq ($(CAIRO_HAS_TEST_SURFACES),1)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_test_surfaces_private) $(cairo_boilerplate_test_surfaces_headers)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_test_surfaces_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_test_surfaces_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_image_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_image_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_image_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_image_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_image_sources)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_image_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_image_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_image_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_image_sources)
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_recording_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_recording_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_recording_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_recording_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_recording_sources)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_recording_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_recording_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_recording_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_recording_sources)
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_tee_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_tee_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_tee_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_tee_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_tee_sources)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_tee_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_tee_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_tee_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_tee_sources)
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_xml_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_xml_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_xml_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xml_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_xml_sources)
 ifeq ($(CAIRO_HAS_XML_SURFACE),1)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_xml_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_xml_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xml_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_xml_sources)
 endif
 
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_user_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_user_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_user_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_user_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_user_sources)
 enabled_cairo_boilerplate_headers += $(cairo_boilerplate_user_headers)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_user_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_user_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_user_sources)
 
 all_cairo_boilerplate_private += $(cairo_boilerplate_trace_private) $(cairo_boilerplate_trace_headers)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_trace_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_trace_sources)
 ifeq ($(CAIRO_HAS_TRACE),1)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_trace_private) $(cairo_boilerplate_trace_headers)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_trace_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_trace_sources)
 endif
 
 all_cairo_boilerplate_private += $(cairo_boilerplate_interpreter_private) $(cairo_boilerplate_interpreter_headers)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_interpreter_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_interpreter_sources)
 ifeq ($(CAIRO_HAS_INTERPRETER),1)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_interpreter_private) $(cairo_boilerplate_interpreter_headers)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_interpreter_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_interpreter_sources)
 endif
 
 all_cairo_boilerplate_private += $(cairo_boilerplate_symbol_lookup_private) $(cairo_boilerplate_symbol_lookup_headers)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_symbol_lookup_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_symbol_lookup_sources)
 ifeq ($(CAIRO_HAS_SYMBOL_LOOKUP),1)
 enabled_cairo_boilerplate_private += $(cairo_boilerplate_symbol_lookup_private) $(cairo_boilerplate_symbol_lookup_headers)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_symbol_lookup_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_symbol_lookup_sources)
 endif
diff --git a/build/Makefile.win32.features-h b/build/Makefile.win32.features-h
index 9aec98c..9d9468c 100644
--- a/build/Makefile.win32.features-h
+++ b/build/Makefile.win32.features-h
@@ -62,7 +62,6 @@ endif
 ifeq ($(CAIRO_HAS_PNG_FUNCTIONS),1)
 	@echo "#define CAIRO_HAS_PNG_FUNCTIONS 1" >> src/cairo-features.h
 endif
-	@echo "#define CAIRO_HAS_GLEW_FUNCTIONS 1" >> src/cairo-features.h
 ifeq ($(CAIRO_HAS_GL_SURFACE),1)
 	@echo "#define CAIRO_HAS_GL_SURFACE 1" >> src/cairo-features.h
 endif
diff --git a/src/Makefile.win32.features b/src/Makefile.win32.features
index f99cb66..260b6f7 100644
--- a/src/Makefile.win32.features
+++ b/src/Makefile.win32.features
@@ -8,14 +8,14 @@ endif
 
 supported_cairo_headers = $(cairo_headers)
 unsupported_cairo_headers =
-all_cairo_files = $(all_cairo_headers) $(all_cairo_private) $(all_cairo_sources)
 all_cairo_headers = $(cairo_headers)
 all_cairo_private = $(cairo_private)
+all_cairo_cxx_sources = $(cairo_cxx_sources)
 all_cairo_sources = $(cairo_sources)
 
-enabled_cairo_files = $(enabled_cairo_headers) $(enabled_cairo_private) $(enabled_cairo_sources)
 enabled_cairo_headers = $(cairo_headers)
 enabled_cairo_private = $(cairo_private)
+enabled_cairo_cxx_sources = $(cairo_cxx_sources)
 enabled_cairo_sources = $(cairo_sources)
 
 all_cairo_pkgconf = cairo.pc
@@ -24,10 +24,12 @@ enabled_cairo_pkgconf = cairo.pc
 supported_cairo_headers += $(cairo_xlib_headers)
 all_cairo_headers += $(cairo_xlib_headers)
 all_cairo_private += $(cairo_xlib_private)
+all_cairo_cxx_sources += $(cairo_xlib_cxx_sources)
 all_cairo_sources += $(cairo_xlib_sources)
 ifeq ($(CAIRO_HAS_XLIB_SURFACE),1)
 enabled_cairo_headers += $(cairo_xlib_headers)
 enabled_cairo_private += $(cairo_xlib_private)
+enabled_cairo_cxx_sources += $(cairo_xlib_cxx_sources)
 enabled_cairo_sources += $(cairo_xlib_sources)
 endif
 all_cairo_pkgconf += cairo-xlib.pc
@@ -38,10 +40,12 @@ endif
 supported_cairo_headers += $(cairo_xlib_xrender_headers)
 all_cairo_headers += $(cairo_xlib_xrender_headers)
 all_cairo_private += $(cairo_xlib_xrender_private)
+all_cairo_cxx_sources += $(cairo_xlib_xrender_cxx_sources)
 all_cairo_sources += $(cairo_xlib_xrender_sources)
 ifeq ($(CAIRO_HAS_XLIB_XRENDER_SURFACE),1)
 enabled_cairo_headers += $(cairo_xlib_xrender_headers)
 enabled_cairo_private += $(cairo_xlib_xrender_private)
+enabled_cairo_cxx_sources += $(cairo_xlib_xrender_cxx_sources)
 enabled_cairo_sources += $(cairo_xlib_xrender_sources)
 endif
 all_cairo_pkgconf += cairo-xlib-xrender.pc
@@ -52,10 +56,12 @@ endif
 unsupported_cairo_headers += $(cairo_xcb_headers)
 all_cairo_headers += $(cairo_xcb_headers)
 all_cairo_private += $(cairo_xcb_private)
+all_cairo_cxx_sources += $(cairo_xcb_cxx_sources)
 all_cairo_sources += $(cairo_xcb_sources)
 ifeq ($(CAIRO_HAS_XCB_SURFACE),1)
 enabled_cairo_headers += $(cairo_xcb_headers)
 enabled_cairo_private += $(cairo_xcb_private)
+enabled_cairo_cxx_sources += $(cairo_xcb_cxx_sources)
 enabled_cairo_sources += $(cairo_xcb_sources)
 endif
 all_cairo_pkgconf += cairo-xcb.pc
@@ -66,10 +72,12 @@ endif
 unsupported_cairo_headers += $(cairo_xlib_xcb_headers)
 all_cairo_headers += $(cairo_xlib_xcb_headers)
 all_cairo_private += $(cairo_xlib_xcb_private)
+all_cairo_cxx_sources += $(cairo_xlib_xcb_cxx_sources)
 all_cairo_sources += $(cairo_xlib_xcb_sources)
 ifeq ($(CAIRO_HAS_XLIB_XCB_FUNCTIONS),1)
 enabled_cairo_headers += $(cairo_xlib_xcb_headers)
 enabled_cairo_private += $(cairo_xlib_xcb_private)
+enabled_cairo_cxx_sources += $(cairo_xlib_xcb_cxx_sources)
 enabled_cairo_sources += $(cairo_xlib_xcb_sources)
 endif
 all_cairo_pkgconf += cairo-xlib-xcb.pc
@@ -80,10 +88,12 @@ endif
 supported_cairo_headers += $(cairo_xcb_shm_headers)
 all_cairo_headers += $(cairo_xcb_shm_headers)
 all_cairo_private += $(cairo_xcb_shm_private)
+all_cairo_cxx_sources += $(cairo_xcb_shm_cxx_sources)
 all_cairo_sources += $(cairo_xcb_shm_sources)
 ifeq ($(CAIRO_HAS_XCB_SHM_FUNCTIONS),1)
 enabled_cairo_headers += $(cairo_xcb_shm_headers)
 enabled_cairo_private += $(cairo_xcb_shm_private)
+enabled_cairo_cxx_sources += $(cairo_xcb_shm_cxx_sources)
 enabled_cairo_sources += $(cairo_xcb_shm_sources)
 endif
 all_cairo_pkgconf += cairo-xcb-shm.pc
@@ -94,10 +104,12 @@ endif
 unsupported_cairo_headers += $(cairo_qt_headers)
 all_cairo_headers += $(cairo_qt_headers)
 all_cairo_private += $(cairo_qt_private)
+all_cairo_cxx_sources += $(cairo_qt_cxx_sources)
 all_cairo_sources += $(cairo_qt_sources)
 ifeq ($(CAIRO_HAS_QT_SURFACE),1)
 enabled_cairo_headers += $(cairo_qt_headers)
 enabled_cairo_private += $(cairo_qt_private)
+enabled_cairo_cxx_sources += $(cairo_qt_cxx_sources)
 enabled_cairo_sources += $(cairo_qt_sources)
 endif
 all_cairo_pkgconf += cairo-qt.pc
@@ -108,10 +120,12 @@ endif
 supported_cairo_headers += $(cairo_quartz_headers)
 all_cairo_headers += $(cairo_quartz_headers)
 all_cairo_private += $(cairo_quartz_private)
+all_cairo_cxx_sources += $(cairo_quartz_cxx_sources)
 all_cairo_sources += $(cairo_quartz_sources)
 ifeq ($(CAIRO_HAS_QUARTZ_SURFACE),1)
 enabled_cairo_headers += $(cairo_quartz_headers)
 enabled_cairo_private += $(cairo_quartz_private)
+enabled_cairo_cxx_sources += $(cairo_quartz_cxx_sources)
 enabled_cairo_sources += $(cairo_quartz_sources)
 endif
 all_cairo_pkgconf += cairo-quartz.pc
@@ -122,10 +136,12 @@ endif
 supported_cairo_headers += $(cairo_quartz_font_headers)
 all_cairo_headers += $(cairo_quartz_font_headers)
 all_cairo_private += $(cairo_quartz_font_private)
+all_cairo_cxx_sources += $(cairo_quartz_font_cxx_sources)
 all_cairo_sources += $(cairo_quartz_font_sources)
 ifeq ($(CAIRO_HAS_QUARTZ_FONT),1)
 enabled_cairo_headers += $(cairo_quartz_font_headers)
 enabled_cairo_private += $(cairo_quartz_font_private)
+enabled_cairo_cxx_sources += $(cairo_quartz_font_cxx_sources)
 enabled_cairo_sources += $(cairo_quartz_font_sources)
 endif
 all_cairo_pkgconf += cairo-quartz-font.pc
@@ -136,10 +152,12 @@ endif
 unsupported_cairo_headers += $(cairo_quartz_image_headers)
 all_cairo_headers += $(cairo_quartz_image_headers)
 all_cairo_private += $(cairo_quartz_image_private)
+all_cairo_cxx_sources += $(cairo_quartz_image_cxx_sources)
 all_cairo_sources += $(cairo_quartz_image_sources)
 ifeq ($(CAIRO_HAS_QUARTZ_IMAGE_SURFACE),1)
 enabled_cairo_headers += $(cairo_quartz_image_headers)
 enabled_cairo_private += $(cairo_quartz_image_private)
+enabled_cairo_cxx_sources += $(cairo_quartz_image_cxx_sources)
 enabled_cairo_sources += $(cairo_quartz_image_sources)
 endif
 all_cairo_pkgconf += cairo-quartz-image.pc
@@ -150,10 +168,12 @@ endif
 supported_cairo_headers += $(cairo_win32_headers)
 all_cairo_headers += $(cairo_win32_headers)
 all_cairo_private += $(cairo_win32_private)
+all_cairo_cxx_sources += $(cairo_win32_cxx_sources)
 all_cairo_sources += $(cairo_win32_sources)
 ifeq ($(CAIRO_HAS_WIN32_SURFACE),1)
 enabled_cairo_headers += $(cairo_win32_headers)
 enabled_cairo_private += $(cairo_win32_private)
+enabled_cairo_cxx_sources += $(cairo_win32_cxx_sources)
 enabled_cairo_sources += $(cairo_win32_sources)
 endif
 all_cairo_pkgconf += cairo-win32.pc
@@ -164,10 +184,12 @@ endif
 supported_cairo_headers += $(cairo_win32_font_headers)
 all_cairo_headers += $(cairo_win32_font_headers)
 all_cairo_private += $(cairo_win32_font_private)
+all_cairo_cxx_sources += $(cairo_win32_font_cxx_sources)
 all_cairo_sources += $(cairo_win32_font_sources)
 ifeq ($(CAIRO_HAS_WIN32_FONT),1)
 enabled_cairo_headers += $(cairo_win32_font_headers)
 enabled_cairo_private += $(cairo_win32_font_private)
+enabled_cairo_cxx_sources += $(cairo_win32_font_cxx_sources)
 enabled_cairo_sources += $(cairo_win32_font_sources)
 endif
 all_cairo_pkgconf += cairo-win32-font.pc
@@ -178,10 +200,12 @@ endif
 unsupported_cairo_headers += $(cairo_skia_headers)
 all_cairo_headers += $(cairo_skia_headers)
 all_cairo_private += $(cairo_skia_private)
+all_cairo_cxx_sources += $(cairo_skia_cxx_sources)
 all_cairo_sources += $(cairo_skia_sources)
 ifeq ($(CAIRO_HAS_SKIA_SURFACE),1)
 enabled_cairo_headers += $(cairo_skia_headers)
 enabled_cairo_private += $(cairo_skia_private)
+enabled_cairo_cxx_sources += $(cairo_skia_cxx_sources)
 enabled_cairo_sources += $(cairo_skia_sources)
 endif
 all_cairo_pkgconf += cairo-skia.pc
@@ -192,10 +216,12 @@ endif
 unsupported_cairo_headers += $(cairo_os2_headers)
 all_cairo_headers += $(cairo_os2_headers)
 all_cairo_private += $(cairo_os2_private)
+all_cairo_cxx_sources += $(cairo_os2_cxx_sources)
 all_cairo_sources += $(cairo_os2_sources)
 ifeq ($(CAIRO_HAS_OS2_SURFACE),1)
 enabled_cairo_headers += $(cairo_os2_headers)
 enabled_cairo_private += $(cairo_os2_private)
+enabled_cairo_cxx_sources += $(cairo_os2_cxx_sources)
 enabled_cairo_sources += $(cairo_os2_sources)
 endif
 all_cairo_pkgconf += cairo-os2.pc
@@ -206,10 +232,12 @@ endif
 unsupported_cairo_headers += $(cairo_beos_headers)
 all_cairo_headers += $(cairo_beos_headers)
 all_cairo_private += $(cairo_beos_private)
+all_cairo_cxx_sources += $(cairo_beos_cxx_sources)
 all_cairo_sources += $(cairo_beos_sources)
 ifeq ($(CAIRO_HAS_BEOS_SURFACE),1)
 enabled_cairo_headers += $(cairo_beos_headers)
 enabled_cairo_private += $(cairo_beos_private)
+enabled_cairo_cxx_sources += $(cairo_beos_cxx_sources)
 enabled_cairo_sources += $(cairo_beos_sources)
 endif
 all_cairo_pkgconf += cairo-beos.pc
@@ -220,10 +248,12 @@ endif
 unsupported_cairo_headers += $(cairo_drm_headers)
 all_cairo_headers += $(cairo_drm_headers)
 all_cairo_private += $(cairo_drm_private)
+all_cairo_cxx_sources += $(cairo_drm_cxx_sources)
 all_cairo_sources += $(cairo_drm_sources)
 ifeq ($(CAIRO_HAS_DRM_SURFACE),1)
 enabled_cairo_headers += $(cairo_drm_headers)
 enabled_cairo_private += $(cairo_drm_private)
+enabled_cairo_cxx_sources += $(cairo_drm_cxx_sources)
 enabled_cairo_sources += $(cairo_drm_sources)
 endif
 all_cairo_pkgconf += cairo-drm.pc
@@ -234,10 +264,12 @@ endif
 unsupported_cairo_headers += $(cairo_drm_xr_headers)
 all_cairo_headers += $(cairo_drm_xr_headers)
 all_cairo_private += $(cairo_drm_xr_private)
+all_cairo_cxx_sources += $(cairo_drm_xr_cxx_sources)
 all_cairo_sources += $(cairo_drm_xr_sources)
 ifeq ($(CAIRO_HAS_DRM_XR_FUNCTIONS),1)
 enabled_cairo_headers += $(cairo_drm_xr_headers)
 enabled_cairo_private += $(cairo_drm_xr_private)
+enabled_cairo_cxx_sources += $(cairo_drm_xr_cxx_sources)
 enabled_cairo_sources += $(cairo_drm_xr_sources)
 endif
 all_cairo_pkgconf += cairo-drm-xr.pc
@@ -248,10 +280,12 @@ endif
 unsupported_cairo_headers += $(cairo_gallium_headers)
 all_cairo_headers += $(cairo_gallium_headers)
 all_cairo_private += $(cairo_gallium_private)
+all_cairo_cxx_sources += $(cairo_gallium_cxx_sources)
 all_cairo_sources += $(cairo_gallium_sources)
 ifeq ($(CAIRO_HAS_GALLIUM_SURFACE),1)
 enabled_cairo_headers += $(cairo_gallium_headers)
 enabled_cairo_private += $(cairo_gallium_private)
+enabled_cairo_cxx_sources += $(cairo_gallium_cxx_sources)
 enabled_cairo_sources += $(cairo_gallium_sources)
 endif
 all_cairo_pkgconf += cairo-gallium.pc
@@ -262,10 +296,12 @@ endif
 unsupported_cairo_headers += $(cairo_xcb_drm_headers)
 all_cairo_headers += $(cairo_xcb_drm_headers)
 all_cairo_private += $(cairo_xcb_drm_private)
+all_cairo_cxx_sources += $(cairo_xcb_drm_cxx_sources)
 all_cairo_sources += $(cairo_xcb_drm_sources)
 ifeq ($(CAIRO_HAS_XCB_DRM_FUNCTIONS),1)
 enabled_cairo_headers += $(cairo_xcb_drm_headers)
 enabled_cairo_private += $(cairo_xcb_drm_private)
+enabled_cairo_cxx_sources += $(cairo_xcb_drm_cxx_sources)
 enabled_cairo_sources += $(cairo_xcb_drm_sources)
 endif
 all_cairo_pkgconf += cairo-xcb-drm.pc
@@ -276,10 +312,12 @@ endif
 supported_cairo_headers += $(cairo_png_headers)
 all_cairo_headers += $(cairo_png_headers)
 all_cairo_private += $(cairo_png_private)
+all_cairo_cxx_sources += $(cairo_png_cxx_sources)
 all_cairo_sources += $(cairo_png_sources)
 ifeq ($(CAIRO_HAS_PNG_FUNCTIONS),1)
 enabled_cairo_headers += $(cairo_png_headers)
 enabled_cairo_private += $(cairo_png_private)
+enabled_cairo_cxx_sources += $(cairo_png_cxx_sources)
 enabled_cairo_sources += $(cairo_png_sources)
 endif
 all_cairo_pkgconf += cairo-png.pc
@@ -287,21 +325,15 @@ ifeq ($(CAIRO_HAS_PNG_FUNCTIONS),1)
 enabled_cairo_pkgconf += cairo-png.pc
 endif
 
-supported_cairo_headers += $(cairo_glew_headers)
-all_cairo_headers += $(cairo_glew_headers)
-all_cairo_private += $(cairo_glew_private)
-all_cairo_sources += $(cairo_glew_sources)
-enabled_cairo_headers += $(cairo_glew_headers)
-enabled_cairo_private += $(cairo_glew_private)
-enabled_cairo_sources += $(cairo_glew_sources)
-
 unsupported_cairo_headers += $(cairo_gl_headers)
 all_cairo_headers += $(cairo_gl_headers)
 all_cairo_private += $(cairo_gl_private)
+all_cairo_cxx_sources += $(cairo_gl_cxx_sources)
 all_cairo_sources += $(cairo_gl_sources)
 ifeq ($(CAIRO_HAS_GL_SURFACE),1)
 enabled_cairo_headers += $(cairo_gl_headers)
 enabled_cairo_private += $(cairo_gl_private)
+enabled_cairo_cxx_sources += $(cairo_gl_cxx_sources)
 enabled_cairo_sources += $(cairo_gl_sources)
 endif
 all_cairo_pkgconf += cairo-gl.pc
@@ -312,10 +344,12 @@ endif
 unsupported_cairo_headers += $(cairo_directfb_headers)
 all_cairo_headers += $(cairo_directfb_headers)
 all_cairo_private += $(cairo_directfb_private)
+all_cairo_cxx_sources += $(cairo_directfb_cxx_sources)
 all_cairo_sources += $(cairo_directfb_sources)
 ifeq ($(CAIRO_HAS_DIRECTFB_SURFACE),1)
 enabled_cairo_headers += $(cairo_directfb_headers)
 enabled_cairo_private += $(cairo_directfb_private)
+enabled_cairo_cxx_sources += $(cairo_directfb_cxx_sources)
 enabled_cairo_sources += $(cairo_directfb_sources)
 endif
 all_cairo_pkgconf += cairo-directfb.pc
@@ -326,10 +360,12 @@ endif
 unsupported_cairo_headers += $(cairo_vg_headers)
 all_cairo_headers += $(cairo_vg_headers)
 all_cairo_private += $(cairo_vg_private)
+all_cairo_cxx_sources += $(cairo_vg_cxx_sources)
 all_cairo_sources += $(cairo_vg_sources)
 ifeq ($(CAIRO_HAS_VG_SURFACE),1)
 enabled_cairo_headers += $(cairo_vg_headers)
 enabled_cairo_private += $(cairo_vg_private)
+enabled_cairo_cxx_sources += $(cairo_vg_cxx_sources)
 enabled_cairo_sources += $(cairo_vg_sources)
 endif
 all_cairo_pkgconf += cairo-vg.pc
@@ -340,10 +376,12 @@ endif
 supported_cairo_headers += $(cairo_egl_headers)
 all_cairo_headers += $(cairo_egl_headers)
 all_cairo_private += $(cairo_egl_private)
+all_cairo_cxx_sources += $(cairo_egl_cxx_sources)
 all_cairo_sources += $(cairo_egl_sources)
 ifeq ($(CAIRO_HAS_EGL_FUNCTIONS),1)
 enabled_cairo_headers += $(cairo_egl_headers)
 enabled_cairo_private += $(cairo_egl_private)
+enabled_cairo_cxx_sources += $(cairo_egl_cxx_sources)
 enabled_cairo_sources += $(cairo_egl_sources)
 endif
 all_cairo_pkgconf += cairo-egl.pc
@@ -354,10 +392,12 @@ endif
 supported_cairo_headers += $(cairo_glx_headers)
 all_cairo_headers += $(cairo_glx_headers)
 all_cairo_private += $(cairo_glx_private)
+all_cairo_cxx_sources += $(cairo_glx_cxx_sources)
 all_cairo_sources += $(cairo_glx_sources)
 ifeq ($(CAIRO_HAS_GLX_FUNCTIONS),1)
 enabled_cairo_headers += $(cairo_glx_headers)
 enabled_cairo_private += $(cairo_glx_private)
+enabled_cairo_cxx_sources += $(cairo_glx_cxx_sources)
 enabled_cairo_sources += $(cairo_glx_sources)
 endif
 all_cairo_pkgconf += cairo-glx.pc
@@ -368,10 +408,12 @@ endif
 supported_cairo_headers += $(cairo_wgl_headers)
 all_cairo_headers += $(cairo_wgl_headers)
 all_cairo_private += $(cairo_wgl_private)
+all_cairo_cxx_sources += $(cairo_wgl_cxx_sources)
 all_cairo_sources += $(cairo_wgl_sources)
 ifeq ($(CAIRO_HAS_WGL_FUNCTIONS),1)
 enabled_cairo_headers += $(cairo_wgl_headers)
 enabled_cairo_private += $(cairo_wgl_private)
+enabled_cairo_cxx_sources += $(cairo_wgl_cxx_sources)
 enabled_cairo_sources += $(cairo_wgl_sources)
 endif
 all_cairo_pkgconf += cairo-wgl.pc
@@ -382,10 +424,12 @@ endif
 unsupported_cairo_headers += $(cairo_script_headers)
 all_cairo_headers += $(cairo_script_headers)
 all_cairo_private += $(cairo_script_private)
+all_cairo_cxx_sources += $(cairo_script_cxx_sources)
 all_cairo_sources += $(cairo_script_sources)
 ifeq ($(CAIRO_HAS_SCRIPT_SURFACE),1)
 enabled_cairo_headers += $(cairo_script_headers)
 enabled_cairo_private += $(cairo_script_private)
+enabled_cairo_cxx_sources += $(cairo_script_cxx_sources)
 enabled_cairo_sources += $(cairo_script_sources)
 endif
 all_cairo_pkgconf += cairo-script.pc
@@ -396,10 +440,12 @@ endif
 supported_cairo_headers += $(cairo_ft_headers)
 all_cairo_headers += $(cairo_ft_headers)
 all_cairo_private += $(cairo_ft_private)
+all_cairo_cxx_sources += $(cairo_ft_cxx_sources)
 all_cairo_sources += $(cairo_ft_sources)
 ifeq ($(CAIRO_HAS_FT_FONT),1)
 enabled_cairo_headers += $(cairo_ft_headers)
 enabled_cairo_private += $(cairo_ft_private)
+enabled_cairo_cxx_sources += $(cairo_ft_cxx_sources)
 enabled_cairo_sources += $(cairo_ft_sources)
 endif
 all_cairo_pkgconf += cairo-ft.pc
@@ -410,10 +456,12 @@ endif
 supported_cairo_headers += $(cairo_fc_headers)
 all_cairo_headers += $(cairo_fc_headers)
 all_cairo_private += $(cairo_fc_private)
+all_cairo_cxx_sources += $(cairo_fc_cxx_sources)
 all_cairo_sources += $(cairo_fc_sources)
 ifeq ($(CAIRO_HAS_FC_FONT),1)
 enabled_cairo_headers += $(cairo_fc_headers)
 enabled_cairo_private += $(cairo_fc_private)
+enabled_cairo_cxx_sources += $(cairo_fc_cxx_sources)
 enabled_cairo_sources += $(cairo_fc_sources)
 endif
 all_cairo_pkgconf += cairo-fc.pc
@@ -424,10 +472,12 @@ endif
 supported_cairo_headers += $(cairo_ps_headers)
 all_cairo_headers += $(cairo_ps_headers)
 all_cairo_private += $(cairo_ps_private)
+all_cairo_cxx_sources += $(cairo_ps_cxx_sources)
 all_cairo_sources += $(cairo_ps_sources)
 ifeq ($(CAIRO_HAS_PS_SURFACE),1)
 enabled_cairo_headers += $(cairo_ps_headers)
 enabled_cairo_private += $(cairo_ps_private)
+enabled_cairo_cxx_sources += $(cairo_ps_cxx_sources)
 enabled_cairo_sources += $(cairo_ps_sources)
 endif
 all_cairo_pkgconf += cairo-ps.pc
@@ -438,10 +488,12 @@ endif
 supported_cairo_headers += $(cairo_pdf_headers)
 all_cairo_headers += $(cairo_pdf_headers)
 all_cairo_private += $(cairo_pdf_private)
+all_cairo_cxx_sources += $(cairo_pdf_cxx_sources)
 all_cairo_sources += $(cairo_pdf_sources)
 ifeq ($(CAIRO_HAS_PDF_SURFACE),1)
 enabled_cairo_headers += $(cairo_pdf_headers)
 enabled_cairo_private += $(cairo_pdf_private)
+enabled_cairo_cxx_sources += $(cairo_pdf_cxx_sources)
 enabled_cairo_sources += $(cairo_pdf_sources)
 endif
 all_cairo_pkgconf += cairo-pdf.pc
@@ -452,10 +504,12 @@ endif
 supported_cairo_headers += $(cairo_svg_headers)
 all_cairo_headers += $(cairo_svg_headers)
 all_cairo_private += $(cairo_svg_private)
+all_cairo_cxx_sources += $(cairo_svg_cxx_sources)
 all_cairo_sources += $(cairo_svg_sources)
 ifeq ($(CAIRO_HAS_SVG_SURFACE),1)
 enabled_cairo_headers += $(cairo_svg_headers)
 enabled_cairo_private += $(cairo_svg_private)
+enabled_cairo_cxx_sources += $(cairo_svg_cxx_sources)
 enabled_cairo_sources += $(cairo_svg_sources)
 endif
 all_cairo_pkgconf += cairo-svg.pc
@@ -464,43 +518,53 @@ enabled_cairo_pkgconf += cairo-svg.pc
 endif
 
 all_cairo_private += $(cairo_test_surfaces_private) $(cairo_test_surfaces_headers)
+all_cairo_cxx_sources += $(cairo_test_surfaces_cxx_sources)
 all_cairo_sources += $(cairo_test_surfaces_sources)
 ifeq ($(CAIRO_HAS_TEST_SURFACES),1)
 enabled_cairo_private += $(cairo_test_surfaces_private) $(cairo_test_surfaces_headers)
+enabled_cairo_cxx_sources += $(cairo_test_surfaces_cxx_sources)
 enabled_cairo_sources += $(cairo_test_surfaces_sources)
 endif
 
 supported_cairo_headers += $(cairo_image_headers)
 all_cairo_headers += $(cairo_image_headers)
 all_cairo_private += $(cairo_image_private)
+all_cairo_cxx_sources += $(cairo_image_cxx_sources)
 all_cairo_sources += $(cairo_image_sources)
 enabled_cairo_headers += $(cairo_image_headers)
 enabled_cairo_private += $(cairo_image_private)
+enabled_cairo_cxx_sources += $(cairo_image_cxx_sources)
 enabled_cairo_sources += $(cairo_image_sources)
 
 supported_cairo_headers += $(cairo_recording_headers)
 all_cairo_headers += $(cairo_recording_headers)
 all_cairo_private += $(cairo_recording_private)
+all_cairo_cxx_sources += $(cairo_recording_cxx_sources)
 all_cairo_sources += $(cairo_recording_sources)
 enabled_cairo_headers += $(cairo_recording_headers)
 enabled_cairo_private += $(cairo_recording_private)
+enabled_cairo_cxx_sources += $(cairo_recording_cxx_sources)
 enabled_cairo_sources += $(cairo_recording_sources)
 
 supported_cairo_headers += $(cairo_tee_headers)
 all_cairo_headers += $(cairo_tee_headers)
 all_cairo_private += $(cairo_tee_private)
+all_cairo_cxx_sources += $(cairo_tee_cxx_sources)
 all_cairo_sources += $(cairo_tee_sources)
 enabled_cairo_headers += $(cairo_tee_headers)
 enabled_cairo_private += $(cairo_tee_private)
+enabled_cairo_cxx_sources += $(cairo_tee_cxx_sources)
 enabled_cairo_sources += $(cairo_tee_sources)
 
 supported_cairo_headers += $(cairo_xml_headers)
 all_cairo_headers += $(cairo_xml_headers)
 all_cairo_private += $(cairo_xml_private)
+all_cairo_cxx_sources += $(cairo_xml_cxx_sources)
 all_cairo_sources += $(cairo_xml_sources)
 ifeq ($(CAIRO_HAS_XML_SURFACE),1)
 enabled_cairo_headers += $(cairo_xml_headers)
 enabled_cairo_private += $(cairo_xml_private)
+enabled_cairo_cxx_sources += $(cairo_xml_cxx_sources)
 enabled_cairo_sources += $(cairo_xml_sources)
 endif
 all_cairo_pkgconf += cairo-xml.pc
@@ -511,28 +575,36 @@ endif
 supported_cairo_headers += $(cairo_user_headers)
 all_cairo_headers += $(cairo_user_headers)
 all_cairo_private += $(cairo_user_private)
+all_cairo_cxx_sources += $(cairo_user_cxx_sources)
 all_cairo_sources += $(cairo_user_sources)
 enabled_cairo_headers += $(cairo_user_headers)
 enabled_cairo_private += $(cairo_user_private)
+enabled_cairo_cxx_sources += $(cairo_user_cxx_sources)
 enabled_cairo_sources += $(cairo_user_sources)
 
 all_cairo_private += $(cairo_trace_private) $(cairo_trace_headers)
+all_cairo_cxx_sources += $(cairo_trace_cxx_sources)
 all_cairo_sources += $(cairo_trace_sources)
 ifeq ($(CAIRO_HAS_TRACE),1)
 enabled_cairo_private += $(cairo_trace_private) $(cairo_trace_headers)
+enabled_cairo_cxx_sources += $(cairo_trace_cxx_sources)
 enabled_cairo_sources += $(cairo_trace_sources)
 endif
 
 all_cairo_private += $(cairo_interpreter_private) $(cairo_interpreter_headers)
+all_cairo_cxx_sources += $(cairo_interpreter_cxx_sources)
 all_cairo_sources += $(cairo_interpreter_sources)
 ifeq ($(CAIRO_HAS_INTERPRETER),1)
 enabled_cairo_private += $(cairo_interpreter_private) $(cairo_interpreter_headers)
+enabled_cairo_cxx_sources += $(cairo_interpreter_cxx_sources)
 enabled_cairo_sources += $(cairo_interpreter_sources)
 endif
 
 all_cairo_private += $(cairo_symbol_lookup_private) $(cairo_symbol_lookup_headers)
+all_cairo_cxx_sources += $(cairo_symbol_lookup_cxx_sources)
 all_cairo_sources += $(cairo_symbol_lookup_sources)
 ifeq ($(CAIRO_HAS_SYMBOL_LOOKUP),1)
 enabled_cairo_private += $(cairo_symbol_lookup_private) $(cairo_symbol_lookup_headers)
+enabled_cairo_cxx_sources += $(cairo_symbol_lookup_cxx_sources)
 enabled_cairo_sources += $(cairo_symbol_lookup_sources)
 endif
commit bf117e4ea7c89dadcb5a358bb47c0f213cc67461
Author: Benjamin Otte <otte at redhat.com>
Date:   Fri Jul 9 18:43:38 2010 +0200

    build: fix glew include
    
    Currently wether internal glew is built is dependant on wether the
    tarball in use was built with internal glew or not. And that's not how
    it should be.

diff --git a/configure.ac b/configure.ac
index cb32d7c..ee59224 100644
--- a/configure.ac
+++ b/configure.ac
@@ -347,18 +347,18 @@ CAIRO_ENABLE_SURFACE_BACKEND(gl, OpenGL, no, [
 						  [])])])
       ;;
   esac
-  if test "x$have_glew" != "xno"; then
+  AS_IF([test "x$have_glew" != "xno"],[
     gl_NONPKGCONFIG_LIBS="-l$have_glew $gl_NONPKGCONFIG_LIBS"
     use_glew="yes (system library)"
-  else
-    CAIRO_ENABLE_FUNCTIONS(glew, GLEW, always)
+  ], [
     use_glew="yes (private copy)"
     CAIRO_CFLAGS="$CAIRO_CFLAGS -I\$(top_srcdir)/src/glew"
-  fi
+  ])
   need_glx_functions=yes
   need_wgl_functions=yes
   need_egl_functions=yes
 ])
+AM_CONDITIONAL(BUILD_PRIVATE_GLEW, test "x$use_glew" = "xyes (private copy)")
 
 dnl ===========================================================================
 
diff --git a/src/Makefile.sources b/src/Makefile.sources
index cbb59fb..e0153cd 100644
--- a/src/Makefile.sources
+++ b/src/Makefile.sources
@@ -206,9 +206,6 @@ cairo_sources += $(_cairo_pdf_operators_sources)
 
 cairo_png_sources = cairo-png.c
 
-cairo_glew_sources = glew/glew.c
-cairo_glew_private = glew/GL/glew.h glew/GL/glxew.h
-
 cairo_ps_headers = cairo-ps.h
 cairo_ps_private = cairo-ps-surface-private.h
 cairo_ps_sources = cairo-ps-surface.c
@@ -316,13 +313,19 @@ cairo_beos_cxx_sources = cairo-beos-surface.cpp
 
 cairo_gl_headers = cairo-gl.h
 cairo_gl_private = cairo-gl-private.h \
-		   cairo-gl-gradient-private.h
+		   cairo-gl-gradient-private.h \
+		   glew/GL/glew.h \
+		   glew/GL/glxew.h
+
 cairo_gl_sources = cairo-gl-composite.c \
 		   cairo-gl-device.c \
 		   cairo-gl-glyphs.c \
 		   cairo-gl-gradient.c \
 		   cairo-gl-shaders.c \
 		   cairo-gl-surface.c
+if BUILD_PRIVATE_GLEW
+cairo_gl_sources += glew/glew.c
+endif
 
 cairo_egl_sources += cairo-egl-context.c
 cairo_glx_sources += cairo-glx-context.c


More information about the cairo-commit mailing list