jiho wrote:
cairo-pdf.h is the header of cairo-pdf.cpp which is a source file of inkscape. so you have it. The problem is elsewhere in fact.
There are three problems IMHO:
- local cairo headers (#include "...) are included instead of system
ones (#include <...). I can understand this is usefull when using a local patched cairo but the defautl in the SVN source should be system libraries i.e. replace #include "cairo.h" #include "cairo-pdf.h" #include "cairo-ft.h" by #include <cairo.h> #include <cairo-pdf.h> #include <cairo-ft.h>
Done
- the presence of cairo is not checked in configure and appropriate
include flags are not added to the compilation command. To use system wide header I therefore have to add: export CPPFLAGS="-I$FINK/include -I$FINK/include/cairo/" on OS X. (understand -I/usr/include/cairo/ on linux but maybe this path is checked for headers by default)
Someone on linux can add this, I think.
- l.64: of cairo-pdf.cpp
#ifdef USE_PANGO_CAIRO #include <pango/pangocairo.h> #endif and USE_PANGO_CAIRO is never defined. where does this come from? Even if it is not defined, the build requires pangocairo.h. I don't have pangocairo.h on my system and have no idea in which package it is at the moment (I have pango and pango-dev installed though so it is not in the base version). So this is what is holding the build right now.
(this is not my code, by the way) pango-cairo is a gtk2.8 thing, so I guess the switch is to allow compiling in <=2.6. It really should be HAVE_PANGO_CAIRO. That term would be generated by autoconf, thus the inclusion of config.h.
I think you mean pdf-cairo.cpp. Actually, if you look in pdf-cairo.h, the same include file is mentioned. So, since it is not switched, that is the "not found" you are seeing. That one can be removed, I think, and not having HAVE_PANGO_CAIRO defined should protect your compile from attempting to include the file you don't have.
I'll commit the changes to pdf-cairo.h/cpp
bob