Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

libcairo: Build fixes for revpdfprinter on iOS 10 and MacOS#61

Merged
peter-b merged 3 commits intodevelop-8.1from
peter-b/libcairo-quartz
Sep 22, 2016
Merged

libcairo: Build fixes for revpdfprinter on iOS 10 and MacOS#61
peter-b merged 3 commits intodevelop-8.1from
peter-b/libcairo-quartz

Conversation

@peter-b
Copy link
Copy Markdown
Contributor

@peter-b peter-b commented Sep 22, 2016

When building Cairo to run on iOS 10, the ApplicationServices framework and ATSUFontID type are not available. However, the majority of the Quartz support code works just fine because it relies purely on the CoreGraphics and CoreText frameworks.

This pull request adds three feature macros:

  • CAIRO_QUARTZ_HAS_CORE_GRAPHICS - define to 1 to indicate availability of the CoreGraphics framework. It should be defined on both iOS and MacOS
  • CAIRO_QUARTZ_HAS_APPLICATION_SERVICES - define to 1 to indicate availability of the ApplicationServices framework. It should be defined only on MacOS
  • CAIRO_QUARTZ_HAS_ATSUFONTID - define to 1 if the ATSUFontID type is defined by the ApplicationServices header files. It should normally be defined on MacOS

Make sure that all source files are included in libcairo's
"sources" list, but exclude the ones that cause problems from the
build.
Consistently use `ATSUFontID` everywhere in the Quartz support
code.

This patch should be submitted upstream.
When building Cairo to run on iOS 10, the ApplicationServices
framework and `ATSUFontID` type are not available.  However, the
majority of the Quartz support code works just fine because it
relies purely on the CoreGraphics and CoreText frameworks.

This patch adds three feature macros:

- `CAIRO_QUARTZ_HAS_CORE_GRAPHICS` - define to 1 to indicate
  availability of the CoreGraphics framework.  It should be
  defined on both iOS and MacOS
- `CAIRO_QUARTZ_HAS_APPLICATION_SERVICES` - define to 1 to indicate
  availability of the ApplicationSercives framework.  It should be
  defined only on MacOS
- `CAIRO_QUARTZ_HAS_ATSUFONTID` - define to 1 if the `ATSUFontID`
  type is defined by the ApplicationServices header files.  It
  should normally be defined on MacOS

This patch should be submitted upstream (possibly with some
Autoconf magic).
@peter-b peter-b added the bug label Sep 22, 2016
@peter-b peter-b added this to the 8.1.2-rc-1 milestone Sep 22, 2016
@livecodefraser
Copy link
Copy Markdown
Contributor

@livecode-vulcan review okay e9a9b71

@livecode-vulcan
Copy link
Copy Markdown

💙 review by @livecodefraser ok e9a9b71

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants