Bug 27668

Summary: Generated file 'cairo-features.h' in distribution causes #error in out-of-tree build for quartz
Product: cairo Reporter: Kees van Reeuwijk <keesvr>
Component: quartz backendAssignee: Vladimir Vukicevic <vladimir>
Status: RESOLVED MOVED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: medium CC: freedesktop
Version: 1.8.10   
Hardware: x86 (IA32)   
OS: Mac OS X (All)   
Whiteboard:
i915 platform: i915 features:

Description Kees van Reeuwijk 2010-04-15 13:32:32 UTC
When trying to compile cairo 1.8.10 on Mac OS for the Quartz backend, I get:

# error Cairo was not compiled with support for the quartz backend

in src/cairo-quartz-private.h

The reason is that the compile uses the file src/cairo-features.h that came with the distribution, and not the file with the same name that was generated by configure. Since I'm compiling in a different directory than the source directory, the configure output file doesn't overwrite the distributed one.

The fix is obvious: just don't put cairo-features.h in the distribution file.

Also, the #error shown above is misleading: Cairo was not /compiled/ without support for the Quartz backend; it was /configured/ without support for the Quartz backend.

Thus, I suggest to change the #error to:

# error Cairo was not configured with support for the quartz backend
Comment 1 Behdad Esfahbod 2010-04-29 13:53:49 UTC
cairo-features.h is NOT supposed to be shipped in the distribution.  I fixed this bug a few years ago.  Seems like it was introduced again?  Someone needs to check the tarballs to see when it was reintroduced.
Comment 2 GitLab Migration User 2018-08-25 13:58:51 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/cairo/cairo/issues/300.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.