"Sterin, Ilya" <[EMAIL PROTECTED]> writes:

> OK, just a quick reply, though I have a few more comments on the
> note, I will comment later today.  I will try to make MakeMaker go
> around compiling the Handler lib, since that is where the problem is
> comming from and it seems like there is no easy way of fixing this.
> What is the Hanler lib used for anyways, it this an extension for
> Perl's error handler?
> 
> It seems like the Hanler obj files compile OK, but can't link due to the
> exported symbol.  I'll try to finish today, if I don't run into other
> problems.  Since it worked fine with 1.3, I'll try to use these directives
> and therefore bypass the Handler obj, since that wasn't present in 1.3

Ok. Just to make sure we understand each other. Here are the object
files that get created in Handler (under linux):

PerlContentCallbackHandler.o
PerlDocumentCallbackHandler.o
PerlErrorCallbackHandler.o
PerlExceptionHandler.o

The PerlExceptionHandler class, is a generic class that is only used
internally by Xerces.C that enables perl programs to catch C++
exceptions generated by Xerces-C. It is a bad interface, but it was my
first implementation. I realize now how to do it better.

The other three enable the creation of perl callback handlers for the
DOM and the SAX API's for error handlers (SAX/DOM), document handlers
(SAX1), and content handlers (SAX2). These C++ handlers are registered
to Xerces-C when you start your app (the default handlers do
essentially nothing except to catch the callbacks), and then if you
register any perl-based handlers they will forward any callbacks to
the perl subroutines you register.

The object files need to get built, what doesn't need to get built is
the dynamically loadable library (Handler.so in unix Handler.dll in
windows?). This is just MakeMaker trying to be helpful. If I had the
time, I would tell MakeMaker to build a static library ('Handler.a'
under unix no idea for windows), and then use that static lib on the
link line for Xerces.so/Xerces.dll. I've forgotten how to instruct
MakeMaker to do that staticly, and so I just ignore the library and
set the OBJS argument in Makefile.PL to include each of the Handler/*
object files.

HTH,
jas.

PS. It's an enormous relief to have somebody helping with these
things. Thanks.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to