On Sun, Oct 4, 2009 at 7:37 PM, Alan W. Irwin <ir...@beluga.phys.uvic.ca> wrote: > On 2009-10-04 08:52+0200 Zorg 421 wrote: > >> Hello plplot developper, >> >> I've built a plplot trying to link it only against a Cairo/Glib/Gtk >> framework which use >> directly quartz and bypass, know nothing about X11. >> It failed with the following error: [...] >> I've inverted some paths in PKG_CONFIG_PATH to fall on >> X11 cairo before quartz cairo but it's a bit of a shame. > > Is this a correct summary of what you wrote above? The xcairo device does > not build properly for a cairographics environment that excludes X (for > obvious reasons), but you found an alternative cairographics environment > that does include X which works.
Hmm the one environnement on which the build fail is any of the native port of gtk to quartz directly, bypassing the need of the embedded X server of OSX. For example: http://www.gtk-osx.org/ My workaround is to use an X-based libcairo of macports, which implies having the OSX X server active for seeing the plplot example selecting the xcairo driver. > Assuming that summary is correct, does -dev xcairo work at run time for you? > If you feel our wiki at > http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX_Status needs > updating (say by adding the qualifier "cairographics must support X or else > must specify -DPLD_xcairo=OFF") please do so. > >> [out of order] >> the cairo driver of plplot implies it's using X11, which is not >> necesseraly the case on the mac, more and more it's using quartz >> natively. > > I agree with you (since Quartz is mentioned as a possible back-end for > cairo) that programming an additional quartzcairo device would be desirable > for the OS X case. It should also be straightforward; just follow the notes > in drivers/README.drivers (just updated as of revision 10512) that list > required changes for a new device. In general, the process is completely > straightforward for everything other than the actual device code, but in > this particular case that should be straightforward as well: edit > drivers/cairo.c to duplicate what is done for xcairo for a new quartzcairo > device except to change the calls to libpango/libcairo appropriately for the > Quartz backend. Maybe is't better, if the changes appears to be two includes like #include <cairo-quartz.h> #include <gdkquartz.h> instead of #include <cairo-xlib.h> #include <gdkx.h> It's from memory, but there was a time for wich changes to lablgtk2 was a simple as this. So a -DDARWIN_QUARTZ_ONLY define or something similar would do the trick without duplicating extra code. NB: I haven't yet looked at plplot code, it's from previous experience about quartz vs X building. Regards. > Note, that we are all volunteers here who tend to work on our own PLplot > priorities. So if nobody else here volunteers for the above straightforward > job, I suggest you do it yourself (assuming you have some basic C > knowledge), and send us a patch so that everybody can benefit from your > work. I am sure everybody here would be willing to help you with any > questions you might have about the process of adding a new device to PLplot, > but the first place you should consult is (the newly updated) > drivers/README.drivers. > > Alan > __________________________ > Alan W. Irwin ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel