<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><div><div style="font-family: Calibri,sans-serif; font-size: 11pt;">Hi Bryce,<br><br>(Sorry, I accidentally hit send while replying, sorry for the noise.)<br><br>Cairo's current build system either requires MSYS+mingw or Mozilla build msys+msvc to work.<br><br>I think what Simon is doing is to remove the build-time dependency on Mozilla build msys when building Cairo on Windows with msvc. I think I will check on his patch asap for this.<br><br>With blessings.</div></div><div dir="ltr"><hr><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">寄件者: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:bryce@osg.samsung.com">Bryce Harrington</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">寄件日期: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;">2015/4/23 08:11</span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">收件者: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:Simon.Richter@hogyros.de">Simon Richter</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">副本: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:cairo@cairographics.org">cairo@cairographics.org</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">主旨: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;">Re: [cairo] [PATCH] Fix Windows build with cmd.exe as shell</span><br><br></div>On Wed, Apr 22, 2015 at 11:05:41AM +0200, Simon Richter wrote:<br>> cmd.exe has unsubtly different behaviour from POSIX sh in a lot of places.<br>> This determines whether the current default shell for make is cmd.exe, and<br>> avoids "mkdir -p", "rm" and quotes around the argument to echo in this<br>> case.<br><br>What exactly is the breakage that this fixes? IOW, why has the current<br>code worked up 'til now on windows?<br><br>> ---<br>> build/Makefile.win32.common | 22 ++++++---<br>> build/Makefile.win32.features-h | 98 ++++++++++++++++++++---------------------<br>> build/Makefile.win32.inform | 14 +++---<br>> build/configure.ac.features | 12 ++---<br>> src/Makefile.win32 | 21 +++++----<br>> 5 files changed, 92 insertions(+), 75 deletions(-)<br>> <br>> diff --git a/build/Makefile.win32.common b/build/Makefile.win32.common<br>> index 7d7e973..3e4024d 100644<br>> --- a/build/Makefile.win32.common<br>> +++ b/build/Makefile.win32.common<br>> @@ -1,5 +1,17 @@<br>> default: all<br>> <br>> +ifeq ($(shell echo ""),)<br>> +# POSIX style shell<br>> +mkdir_p = mkdir -p $1<br>> +rm = $(RM) $1<br>> +echo = echo "$1"<br>> +else<br>> +# DOS/Windows style shell<br>> +mkdir_p = if not exist $(subst /,\,$1) md $(subst /,\,$1)<br>> +echo = $(if $1,echo $1,echo.)<br>> +rm = del $(subst /,\,$1)<br>> +endif<br><br>If you use := instead of = for these command definitions, would it<br>eliminate the need for the calls in the rest of the patch?<br><br>Also, the makefile style seems to be to use uppercase letters when<br>using variables rather than system commands, so you should be specifying<br>MKDIR_P, ECHO, and RM.<br><br>> #<br>> # Edit build/Makefile.win32.features to enable features to build<br>> #<br>> @@ -63,12 +75,12 @@ CAIRO_ARFLAGS = $(DEFAULT_ARFLAGS) $(LDFLAGS)<br>> # Some generic rules<br>> <br>> $(CFG)/%.obj: %.c $(top_srcdir)/src/cairo-features.h<br>> - @mkdir -p $(CFG)/`dirname $<`<br>> - @$(CC) $(CAIRO_CFLAGS) -c -Fo"$@" $<<br>> + $(call mkdir_p,$(@D))<br>> + $(CC) $(CAIRO_CFLAGS) -c -Fo"$@" $<<br>> <br>> $(CFG)/%-static.obj: %.c $(top_srcdir)/src/cairo-features.h<br>> - @mkdir -p $(CFG)/`dirname $<`<br>> - @$(CC) $(CAIRO_CFLAGS) -c -DCAIRO_WIN32_STATIC_BUILD=1 -Fo"$@" $<<br>> + $(call mkdir_p,$(@D))<br>> + $(CC) $(CAIRO_CFLAGS) -c -DCAIRO_WIN32_STATIC_BUILD=1 -Fo"$@" $<<br>> <br>> clean:<br>> - @rm -f $(CFG)/*.obj $(CFG)/*.dll $(CFG)/*.lib $(CFG)/*.pdb $(CFG)/*.ilk || exit 0<br>> + -$(call rm,$(CFG)/*.obj $(CFG)/*.dll $(CFG)/*.lib $(CFG)/*.pdb $(CFG)/*.ilk)<br>> diff --git a/build/Makefile.win32.features-h b/build/Makefile.win32.features-h<br>> index 13904cf..f3dd420 100644<br>> --- a/build/Makefile.win32.features-h<br>> +++ b/build/Makefile.win32.features-h<br>> @@ -1,130 +1,130 @@<br>> # Generated by configure. Do not edit.<br>> <br>> $(top_srcdir)/src/cairo-features.h: $(top_srcdir)/build/Makefile.win32.features<br>> - @echo "Generating src/cairo-features.h"<br>> - @echo "/* Generated by Makefile.win32.features-h. Do not edit. */" > $(top_srcdir)/src/cairo-features.h<br>> - @echo "#ifndef CAIRO_FEATURES_H" >> $(top_srcdir)/src/cairo-features.h<br>> - @echo "#define CAIRO_FEATURES_H 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,Generating src/cairo-features.h)<br>> + @$(call echo,/* Generated by Makefile.win32.features-h. Do not edit. */) > $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#ifndef CAIRO_FEATURES_H) >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_FEATURES_H 1) >> $(top_srcdir)/src/cairo-features.h<br>> ifeq ($(CAIRO_HAS_XLIB_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_XLIB_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_XLIB_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_XLIB_XRENDER_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_XLIB_XRENDER_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_XLIB_XRENDER_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_XCB_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_XCB_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_XCB_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_XLIB_XCB_FUNCTIONS),1)<br>> - @echo "#define CAIRO_HAS_XLIB_XCB_FUNCTIONS 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_XLIB_XCB_FUNCTIONS 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_XCB_SHM_FUNCTIONS),1)<br>> - @echo "#define CAIRO_HAS_XCB_SHM_FUNCTIONS 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_XCB_SHM_FUNCTIONS 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_QT_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_QT_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_QT_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_QUARTZ_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_QUARTZ_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_QUARTZ_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_QUARTZ_FONT),1)<br>> - @echo "#define CAIRO_HAS_QUARTZ_FONT 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_QUARTZ_FONT 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_QUARTZ_IMAGE_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_QUARTZ_IMAGE_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_QUARTZ_IMAGE_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_WIN32_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_WIN32_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_WIN32_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_WIN32_FONT),1)<br>> - @echo "#define CAIRO_HAS_WIN32_FONT 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_WIN32_FONT 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_SKIA_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_SKIA_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_SKIA_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_OS2_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_OS2_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_OS2_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_BEOS_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_BEOS_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_BEOS_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_DRM_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_DRM_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_DRM_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_GALLIUM_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_GALLIUM_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_GALLIUM_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_PNG_FUNCTIONS),1)<br>> - @echo "#define CAIRO_HAS_PNG_FUNCTIONS 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_PNG_FUNCTIONS 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_GL_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_GL_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_GL_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_GLESV2_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_GLESV2_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_GLESV2_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_COGL_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_COGL_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_COGL_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_DIRECTFB_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_DIRECTFB_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_DIRECTFB_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_VG_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_VG_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_VG_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_EGL_FUNCTIONS),1)<br>> - @echo "#define CAIRO_HAS_EGL_FUNCTIONS 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_EGL_FUNCTIONS 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_GLX_FUNCTIONS),1)<br>> - @echo "#define CAIRO_HAS_GLX_FUNCTIONS 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_GLX_FUNCTIONS 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_WGL_FUNCTIONS),1)<br>> - @echo "#define CAIRO_HAS_WGL_FUNCTIONS 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_WGL_FUNCTIONS 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_SCRIPT_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_SCRIPT_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_SCRIPT_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_FT_FONT),1)<br>> - @echo "#define CAIRO_HAS_FT_FONT 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_FT_FONT 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_FC_FONT),1)<br>> - @echo "#define CAIRO_HAS_FC_FONT 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_FC_FONT 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_PS_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_PS_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_PS_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_PDF_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_PDF_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_PDF_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_SVG_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_SVG_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_SVG_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_TEST_SURFACES),1)<br>> - @echo "#define CAIRO_HAS_TEST_SURFACES 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_TEST_SURFACES 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> - @echo "#define CAIRO_HAS_IMAGE_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> - @echo "#define CAIRO_HAS_MIME_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> - @echo "#define CAIRO_HAS_RECORDING_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> - @echo "#define CAIRO_HAS_OBSERVER_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_IMAGE_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_MIME_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_RECORDING_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_OBSERVER_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> ifeq ($(CAIRO_HAS_TEE_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_TEE_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_TEE_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_XML_SURFACE),1)<br>> - @echo "#define CAIRO_HAS_XML_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_XML_SURFACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> - @echo "#define CAIRO_HAS_USER_FONT 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_USER_FONT 1) >> $(top_srcdir)/src/cairo-features.h<br>> ifeq ($(CAIRO_HAS_PTHREAD),1)<br>> - @echo "#define CAIRO_HAS_PTHREAD 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_PTHREAD 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_GOBJECT_FUNCTIONS),1)<br>> - @echo "#define CAIRO_HAS_GOBJECT_FUNCTIONS 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_GOBJECT_FUNCTIONS 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_TRACE),1)<br>> - @echo "#define CAIRO_HAS_TRACE 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_TRACE 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_INTERPRETER),1)<br>> - @echo "#define CAIRO_HAS_INTERPRETER 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_INTERPRETER 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> ifeq ($(CAIRO_HAS_SYMBOL_LOOKUP),1)<br>> - @echo "#define CAIRO_HAS_SYMBOL_LOOKUP 1" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#define CAIRO_HAS_SYMBOL_LOOKUP 1) >> $(top_srcdir)/src/cairo-features.h<br>> endif<br>> - @echo "#endif" >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,#endif) >> $(top_srcdir)/src/cairo-features.h<br>> diff --git a/build/Makefile.win32.inform b/build/Makefile.win32.inform<br>> index ba11165..99a438c 100644<br>> --- a/build/Makefile.win32.inform<br>> +++ b/build/Makefile.win32.inform<br>> @@ -1,13 +1,13 @@<br>> inform:<br>> - @echo<br>> + @$(call echo)<br>> ifneq ($(CFG),release)<br>> ifneq ($(CFG),debug)<br>> - @echo "Invalid configuration "$(CFG)" specified."<br>> - @echo -n "You must specify a configuration when "<br>> - @echo "running make, e.g. make CFG=debug"<br>> - @echo<br>> - @echo -n "Possible choices for configuration are "<br>> - @echo "'release' and 'debug'"<br>> + @$(call echo,Invalid configuration "$(CFG)" specified.)<br>> + @$(call echo,You must specify a configuration when)<br>> + @$(call echo,running make, e.g. make CFG=debug)<br>> + @$(call echo)<br>> + @$(call echo,Possible choices for configuration are)<br>> + @$(call echo,'release' and 'debug')<br>> @exit 1<br>> endif<br>> endif<br>> diff --git a/build/configure.ac.features b/build/configure.ac.features<br>> index e4a2aaf..af378c2 100644<br>> --- a/build/configure.ac.features<br>> +++ b/build/configure.ac.features<br>> @@ -296,17 +296,17 @@ CAIRO_CONFIG_MAKEFILE_PRIVATE_WIN32([win32_features_h],[build],[features-h])<br>> dnl<br>> CAIRO_MAKEFILE_ACCUMULATE([win32_features_h],<br>> [$(top_srcdir)/src/cairo-features.h: $(top_srcdir)/build/Makefile.win32.features<br>> - @echo "Generating src/cairo-features.h"<br>> - @echo "/* Generated by Makefile.win32.features-h. Do not edit. */" > $(top_srcdir)/src/cairo-features.h<br>> - @echo "[#]ifndef CAIRO_FEATURES_H" >> $(top_srcdir)/src/cairo-features.h<br>> - @echo "[#]define CAIRO_FEATURES_H 1" >> $(top_srcdir)/src/cairo-features.h]dnl<br>> + @$(call echo,Generating src/cairo-features.h)<br>> + @$(call echo,/* Generated by Makefile.win32.features-h. Do not edit. */) > $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,[#]ifndef CAIRO_FEATURES_H) >> $(top_srcdir)/src/cairo-features.h<br>> + @$(call echo,[#]define CAIRO_FEATURES_H 1) >> $(top_srcdir)/src/cairo-features.h]dnl<br>> )<br>> AC_CONFIG_COMMANDS_PRE(<br>> [dnl<br>> - CAIRO_MAKEFILE_ACCUMULATE([win32_features_h], [ @echo "[#]endif" >> $(top_srcdir)/src/cairo-features<br><div>[未包括完整原始郵件。]</div></body></html>