pkgsrc/graphics/cairo/options.mk
thor 6ea9d6339c graphics/cairo: make symbol lookup feature optional, avoiding libbfd
If cairo finds libbfd, it would use it unless symbol lookup was not
requested. This dependency is problematic as the binutils library
does not provide long-term ABI stability. We can live fine without this
feature and reduce the dependency footprint.
2021-04-23 16:56:21 +00:00

68 lines
2 KiB
Makefile

# $NetBSD: options.mk,v 1.20 2021/04/23 16:56:21 thor Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.cairo
PKG_SUPPORTED_OPTIONS= x11 xcb bfd
.if exists(/System/Library/Frameworks/Quartz.framework)
PKG_SUPPORTED_OPTIONS+= quartz
.endif
PKG_SUGGESTED_OPTIONS= x11 xcb
.include "../../mk/bsd.options.mk"
PLIST_VARS+= x11 xcb quartz
###
### X11 and XCB support (XCB implies X11)
###
.if !empty(PKG_OPTIONS:Mx11) || !empty(PKG_OPTIONS:Mxcb)
CONFIGURE_ARGS+= --enable-xlib
CONFIGURE_ARGS+= --enable-xlib-xrender
PLIST.x11= yes
.include "../../x11/libX11/buildlink3.mk"
.include "../../x11/libXext/buildlink3.mk"
.include "../../x11/libXrender/buildlink3.mk"
. if !empty(PKG_OPTIONS:Mxcb)
CONFIGURE_ARGS+= --enable-xcb
PLIST.xcb= yes
. include "../../x11/libxcb/buildlink3.mk"
. else
CONFIGURE_ARGS+= --disable-xcb
. endif
.else
CONFIGURE_ARGS+= --disable-xlib
CONFIGURE_ARGS+= --disable-xlib-xrender
CONFIGURE_ARGS+= --disable-xcb
.endif
###
### Quartz backend
###
# Quartz backend interacts badly with our library stack. The most
# notable issue is that when quartz-font is enabled, cairo will never
# use fontconfig but instead uses CoreGraphics API to find fonts in
# system-default font paths; as a result, any fonts installed with
# pkgsrc will never be found. OTOH fontconfig by default searches for
# fonts in MacOS X system-default paths too so sticking with it will
# not be a problem.
.if !empty(PKG_OPTIONS:Mquartz)
CONFIGURE_ARGS+= --enable-quartz
CONFIGURE_ARGS+= --enable-quartz-font
CONFIGURE_ARGS+= --enable-quartz-image
PLIST.quartz= yes
WARNINGS+= "You have enabled Quartz backend. No fonts installed with pkgsrc will be found."
.else
CONFIGURE_ARGS+= --disable-quartz
CONFIGURE_ARGS+= --disable-quartz-font
CONFIGURE_ARGS+= --disable-quartz-image
.endif
# The symbol lookup feature uses libbfd from binutils, which
# is rather fragile when they decide to change the API again.
.if !empty(PKG_OPTIONS:Mbfd)
CONFIGURE_ARGS+= --enable-symbol-lookup
.else
CONFIGURE_ARGS+= --disable-symbol-lookup
.endif