Subject: | Insufficient $incdir in Mozilla-DOM-0.07 |
Here's what happens on my Gentoo Linux system with perl-5.8.5, mozilla-1.7.6 on x86:
g++ -c -I/usr/lib/mozilla/include -I/usr/lib/mozilla/include/xpcom -I/usr/lib/mozilla/include/string -I/usr/lib/mozilla/include/nspr -I. -I./build -I/usr/lib/mozilla/include/dom -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=athlon -O2 -pipe -fomit-frame-pointer -DVERSION=\"0.07\" -DXS_VERSION=\"0.07\" -o xs/DOM.o -fPIC "-I/usr/lib/perl5/5.8.5/i686-linux/CORE" xs/DOM.c
In file included from xs/DOM.xs:21:
mozilladom2perl.h:37:27: nsIWebBrowser.h: No such file or directory
mozilladom2perl.h:38:26: nsISelection.h: No such file or directory
mozilladom2perl.h:62:26: nsISelection.h: No such file or directory
In file included from xs/DOM.xs:21:
mozilladom2perl.h:122: error: `nsIWebBrowser' was not declared in this scope
<snip>
make: *** [xs/DOM.o] Error 1
Those headers are found in /usr/lib/mozilla/include/webbrwsr and /usr/lib/mozilla/include/content respectively. I couldn't find a mozilla-*.pc file that had those in includedir, so you may need to change
#include "nsIWebBrowser.h" -> #include "webbrwsr/nsIWebBrowser.h"
#include "nsISelection.h" -> #include "content/nsISelection.h"
and remove the second #include "nsISelection.h" in mozilladom2perl.h. Doing that allowed a successful build, and it passed make test.