Bug 86210

Summary: -Wlinker vs -Wl,
Product: cairo Reporter: Daniel Macks <dmacks>
Component: quartz backendAssignee: Vladimir Vukicevic <vladimir>
Status: RESOLVED MOVED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: minor    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Daniel Macks 2014-11-12 15:48:33 UTC
In configure.ac CAIRO_ENABLE_SURFACE_BACKEND...

>quartz_LIBS="-Xlinker -framework -Xlinker CoreGraphics"

and

>quartz_LIBS="-Xlinker -framework -Xlinker ApplicationServices"

The -framework flag takes CoreGraphics or ApplicationServices as its own second argument, but the syntax here suggests that -framework and CG or AS are two independent linker flags...easy for a brain-dead build-tool to accidentally not keep them in order, or to purge the "duplicate" -framework one unless it knows that this is really a tied pair. A alternative that keeps -framework and its argument bound together, both for reading and for non-breakage by parsers, is -Wl,, which is specifically documented in the clang/gcc manpages as a way to pass flags that take arguments:

>quartz_LIBS="-Wl,-framework,CoreGraphics"
>quartz_LIBS="-Wl,-framework,ApplicationServices"
Comment 1 GitLab Migration User 2018-08-25 13:38:30 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/115.

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.