You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ja...@apache.org on 2005/12/03 13:48:00 UTC
svn commit: r351932 - in /xerces/xerces-p/trunk: MANIFEST MANIFEST.SKIP
META.yml Makefile.PL TODO
Author: jasons
Date: Sat Dec 3 04:47:36 2005
New Revision: 351932
URL: http://svn.apache.org/viewcvs?rev=351932&view=rev
Log:
updated
Modified:
xerces/xerces-p/trunk/MANIFEST
xerces/xerces-p/trunk/MANIFEST.SKIP
xerces/xerces-p/trunk/META.yml
xerces/xerces-p/trunk/Makefile.PL
xerces/xerces-p/trunk/TODO
Modified: xerces/xerces-p/trunk/MANIFEST
URL: http://svn.apache.org/viewcvs/xerces/xerces-p/trunk/MANIFEST?rev=351932&r1=351931&r2=351932&view=diff
==============================================================================
--- xerces/xerces-p/trunk/MANIFEST (original)
+++ xerces/xerces-p/trunk/MANIFEST Sat Dec 3 04:47:36 2005
@@ -50,6 +50,8 @@
samples/personal.xsd
samples/public.xml
samples/system.xml
+samples/personal-invalid.xml
+samples/personal-not-well-formed.xml
# sample programs
samples/validator.pl
@@ -87,6 +89,7 @@
t/DOMAttr.t
t/DOMElement.t
t/DOMWriter.t
+t/DOMImplementation.t
t/AttributeList.t
t/Attributes.t
@@ -110,6 +113,9 @@
# SWIG casting test
t/actualCast.t
+# test Unicode
+t/UTF8.t
+
t/letter.xml
t/TestUtils.pm
@@ -124,7 +130,29 @@
Handler/PerlCallbackHandler.swig.hpp
postModule.pl
postSource.pl
-typemaps.i
+
+interface/DOM.i
+interface/Perl.i
+interface/defines.i
+interface/typemaps-general.i
+interface/typemaps-xmlch.i
+interface/typemaps.i
+interface/callback.i
+interface/grammars.i
+interface/ignore.i
+interface/input-source.i
+interface/parsers.i
+interface/SAX.i
+interface/SAX2.i
+interface/util.i
+
+# scripts for testing XML::Xerces
+scripts/memtest-light.pl
+scripts/memtest.pl
+scripts/xercesc-memtest.pl
+
+# Document which parts of the Xerces-C API have been included
+xerces-headers.txt
# this is for internal use by developers making a release
# ANNOUNCE
Modified: xerces/xerces-p/trunk/MANIFEST.SKIP
URL: http://svn.apache.org/viewcvs/xerces/xerces-p/trunk/MANIFEST.SKIP?rev=351932&r1=351931&r2=351932&view=diff
==============================================================================
--- xerces/xerces-p/trunk/MANIFEST.SKIP (original)
+++ xerces/xerces-p/trunk/MANIFEST.SKIP Sat Dec 3 04:47:36 2005
@@ -1,3 +1,4 @@
+-tmp.{cpp,pm}$
^chars.pl$
^doxyparse.pl$
^t/UTF8.test$
Modified: xerces/xerces-p/trunk/META.yml
URL: http://svn.apache.org/viewcvs/xerces/xerces-p/trunk/META.yml?rev=351932&r1=351931&r2=351932&view=diff
==============================================================================
--- xerces/xerces-p/trunk/META.yml (original)
+++ xerces/xerces-p/trunk/META.yml Sat Dec 3 04:47:36 2005
@@ -1,7 +1,7 @@
# http://module-build.sourceforge.net/META-spec.html
#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
name: XML-Xerces
-version: 2.5.0-0
+version: 2.6.0-1
version_from:
installdirs: site
requires:
Modified: xerces/xerces-p/trunk/Makefile.PL
URL: http://svn.apache.org/viewcvs/xerces/xerces-p/trunk/Makefile.PL?rev=351932&r1=351931&r2=351932&view=diff
==============================================================================
--- xerces/xerces-p/trunk/Makefile.PL (original)
+++ xerces/xerces-p/trunk/Makefile.PL Sat Dec 3 04:47:36 2005
@@ -1,5 +1,21 @@
+ #
+ # Copyright 2002,2004 The Apache Software Foundation.
+ #
+ # Licensed under the Apache License, Version 2.0 (the "License");
+ # you may not use this file except in compliance with the License.
+ # You may obtain a copy of the License at
+ #
+ # http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+ #
+
use ExtUtils::MakeMaker;
-use Env qw(XERCES_LIB
+use Env qw(XERCES_LIB
XERCES_CONFIG
XERCES_INCLUDE
XERCESCROOT
@@ -9,6 +25,14 @@
use vars qw($INCLUDES $CXX $CFLAGS @LDFLAGS @OPTIMIZE);
use File::Basename;
+# We need to know which version of libxerces we are to use.
+# As of Xerces-C 1.5.1, minor version numbers are used
+my $XERCES_MAJOR_VERSION = '2.6';
+my $XERCES_MINOR_VERSION = '0';
+my $XERCES_LIB_VERSION = "$XERCES_MAJOR_VERSION.$XERCES_MINOR_VERSION";
+my $XERCES_PERL_VERSION = $XERCES_LIB_VERSION . '-1';
+my $XERCES_VERSION = "$XERCES_LIB_VERSION";
+
eval {
require 5.6.0;
};
@@ -33,7 +57,7 @@
# they are instructing us to use the build directories
$XERCES_INCLUDE = "$XERCESCROOT/include";
$XERCES_LIB = "$XERCESCROOT/lib";
-}
+}
my $LIBS = '-lpthread';
$INCLUDES = '-I. -IHandler';
@@ -79,59 +103,29 @@
WARNING
You have defined the XERCES_CONFIG variable, but it does not seem to
-point to the $config_file file that was used to build your
-Xerces-C. Without that file, I may not be able to properly build the
+point to the $config_file file that was used to build your Xerces-C
+library. Without that file, I may not be able to properly build the
C++ glue files that come with Xerces.pm.
-Proceeding ...
+Proceeding anyway ...
EOW
}
} elsif (defined $XERCESCROOT) {
- my $file = "$XERCESCROOT/src/xercesc/$config_file";
- if (-f "$file") {
- print STDERR "using config file: $file\n";
- open(CONF,$file)
- or die "Couldn't open $file for reading";
- while (<CONF>) {
- if (/\@CXXFLAGS\@/) {
- my ($flags) = /%([^%]*)%g$/;
- my @flags = split /\s+/, $flags;
- my @new_flags;
- foreach my $flag (@flags) {
- if ($flag =~ /^(-(g|O).?)$/) {
- @OPTIMIZE = (OPTIMIZE => $1);
- next;
- } elsif ($flag =~ /^-DPROJ_/) {
- next;
- }
- push(@new_flags,$flag);
- }
- ($CXXFLAGS) = join(' ',@new_flags);
- } elsif (/\@LDFLAGS\@/) {
- ($LDFLAGS) = /%([^%]*)%g$/;
- @LDFLAGS = ('LDFLAGS' => $LDFLAGS)
- if $LDFLAGS !~ /^\s*$/;
- } elsif (/\@CXX\@/) {
- ($CXX) = /%([^%]*)%g$/
- }
- }
- print STDERR <<EOM;
-
-Found CXX = $CXX
-Found CXXFLAGS = $CXXFLAGS
-Found LDFLAGS = $LDFLAGS
-EOM
- } else {
- print STDERR <<EOW;
+ $XERCES_CONFIG = "$XERCESCROOT/src/xercesc/$config_file";
+ unless (-f $XERCES_CONFIG) {
+ print STDERR <<EOW;
WARNING
-You have defined the XERCESCROOT variable, but I am unable to locate
-the $config_file file that was used to build your Xerces-C. Without
-that file, I may not be able to properly build the C++ glue files that
-come with Xerces.pm.
+You have defined the XERCESCROOT variable, but the file:
-Proceeding ...
+ XERCESCROOT/src/xercesc/$config_file
+
+ does not seem to point to the $config_file file that was used to
+ build your Xerces-C library. Without that file, I may not be able to
+ properly build the C++ glue files that come with Xerces.pm.
+
+Proceeding anyway ...
EOW
}
} else {
@@ -144,22 +138,49 @@
XERCES_CONFIG
Without these I cannot find the $config_file file that was used to
-build your Xerces-C. Without that file, I may not be able to properly
+build your Xerces-C library. Without that file, I may not be able to properly
build the C++ glue files that come with Xerces.pm.
-Proceeding ...
+Proceeding anyway ...
EOW
}
-$CFLAGS .= " $CXXFLAGS ";
+if (-f $XERCES_CONFIG) {
+ print STDERR "using XERCES_CONFIG: $XERCES_CONFIG\n";
+ open(CONF,$XERCES_CONFIG)
+ or die "Couldn't open $XERCES_CONFIG for reading";
+ while (<CONF>) {
+ if (/\@CXXFLAGS\@/) {
+ my ($flags) = /%([^%]*)%g$/;
+ my @flags = split /\s+/, $flags;
+ my @new_flags;
+ foreach my $flag (@flags) {
+ if ($flag =~ /^(-(g|O).?)$/) {
+ @OPTIMIZE = (OPTIMIZE => $1);
+ next;
+ } elsif ($flag =~ /^-DPROJ_/) {
+ next;
+ }
+ push(@new_flags,$flag);
+ }
+ ($CXXFLAGS) = join(' ',@new_flags);
+ } elsif (/\@LDFLAGS\@/) {
+ ($LDFLAGS) = /%([^%]*)%g$/;
+ @LDFLAGS = ('LDFLAGS' => $LDFLAGS)
+ if $LDFLAGS !~ /^\s*$/;
+ } elsif (/\@CXX\@/) {
+ ($CXX) = /%([^%]*)%g$/
+ }
+ }
+ print STDERR <<EOM;
-# We need to know which version of libxerces we are to use.
-# As of Xerces-C 1.5.1, minor version numbers are used
-my $XERCES_MAJOR_VERSION = '2.5';
-my $XERCES_MINOR_VERSION = '0';
-my $XERCES_LIB_VERSION = "$XERCES_MAJOR_VERSION.$XERCES_MINOR_VERSION";
-my $XERCES_PERL_VERSION = $XERCES_LIB_VERSION . '-0';
-my $XERCES_VERSION = "$XERCES_LIB_VERSION";
+Found CXX = $CXX
+Found CXXFLAGS = $CXXFLAGS
+Found LDFLAGS = $LDFLAGS
+EOM
+}
+
+$CFLAGS .= " $CXXFLAGS ";
# find the version of Xerces-C we are using
my $file_name = 'XercesVersion.hpp';
@@ -255,11 +276,15 @@
# set up the custom headers
my @header_files;
my @handler_headers;
+ my @interface_files;
chomp(@handler_headers = `$FIND Handler -name "*.swig.hpp"`);
sub Xerces_postamble {
chomp(my @import_files = `$FIND Handler -name "*.i"`);
push(@header_files,@handler_headers,@import_files);
+
+ chomp(my @interface_files = `$FIND interface -name "*.i"`);
+ @interface_files = grep {$_ ne 'Perl.i'} @interface_files;
local $" = ' ';
my $OS_DEF;
my $CC_DEF;
@@ -283,20 +308,24 @@
$MAKE = ' cd Handler && \$(MAKE) static';
}
+ ### We no longer need to munge the C++ code thanks to SWIG improvements
+ # perl postSource.pl Xerces.cpp
my $retval = <<TERMINUS;
-Xerces.cpp: Xerces.i typemaps.i @header_files postSource.pl
- \$(SWIG) $SWIG_ARGS -o Xerces.cpp Xerces.i
- perl postSource.pl Xerces.cpp
- perl postModule.pl Xerces.pm
-
-
-Xerces.pm: Xerces.cpp postModule.pl Xerces-extra.pm
- if [[ postModule.pl -nt Xerces.pm || Xerces-extra.pm -nt Xerces.pm ]] ; then \\
-\$(SWIG) $SWIG_ARGS -o foo.C Xerces.i ; \\
-rm foo.C ; \\
-perl postModule.pl Xerces.pm ; \\
-cp -f Xerces.pm blib/lib/XML ; \\
- fi
+Xerces-tmp.pm: postModule.pl interface/Perl.i
+ \$(SWIG) $SWIG_ARGS -o Xerces-tmp.cpp Xerces.i
+ mv Xerces.pm Xerces-tmp.pm
+
+Xerces.pm: postModule.pl Xerces-tmp.pm
+ perl postModule.pl
+
+Xerces.cpp: postSource.pl Xerces-tmp.cpp
+ perl postSource.pl
+
+Xerces-tmp.cpp: Xerces.i @interface_files @header_files Xerces-extra.pm
+ \$(SWIG) $SWIG_ARGS -o Xerces-tmp.cpp Xerces.i
+ mv Xerces.pm Xerces-tmp.pm
+ perl postModule.pl
+ cp -f Xerces.pm blib/lib/XML/Xerces.pm
$HANDLER_LIB:
$MAKE
@@ -310,9 +339,6 @@
@MACRO = ('macro' => {
'SWIG' => "$swig",
});
-
- # we'll assume that we want -g as a default
- # @OPTIMIZE = (OPTIMIZE => '-g');
# we want all warnings
$CFLAGS .= ' -Wall';
Modified: xerces/xerces-p/trunk/TODO
URL: http://svn.apache.org/viewcvs/xerces/xerces-p/trunk/TODO?rev=351932&r1=351931&r2=351932&view=diff
==============================================================================
--- xerces/xerces-p/trunk/TODO (original)
+++ xerces/xerces-p/trunk/TODO Sat Dec 3 04:47:36 2005
@@ -23,80 +23,29 @@
Internals:
==========
-Mon Jun 2 11:04:34 MDT 2003
-* make a fatal error if someone is using the wrong version of Xerces-C
+Fri May 13 18:21:45 IST 2005
+* change the string typecheck to only do an SvOK()
+* does Xerces have any methods were a NULL XMLCh* value is needed? -
+ if so we have to enable a %typemap to support it
+* Xerces has some methods were a NULL pointer value is needed and some
+ methods were it segfaults - we have to enable a %typemap to
+ differentiate between them
+* %ignore and %rename behave differently when used with default
+ arguments, ensure that the default args are included in the
+ directives or it won't get used for all of them.
+* make sure there are no memory leaks when exceptions are thrown -
+ 'goto fail' must work
Fri Oct 11 21:57:23 MDT 2002
-* the %typecheck for XMLCh* is too greedy, it shouldn't happen later
+* the %typecheck for XMLCh* is too greedy, it should happen later
in the typecheck process
Fri Jun 7 00:37:01 MDT 2002
* make entity resolver to find all the xml files
Sun Jun 2 11:38:11 MDT 2002
-Fixed ==> * move transcoder initialization from postSource.pl to an
- %init block
-Fixed ==> * use SWIG macro for multiple methods which use same exception
* use %newobject and %typemape(newfree) for methods like removeNode()
-* look into use %feature("shadow") instead of having stuff in
- postModule.pl
* look into using SWIG_RegisterMapping() instead of inheritance hack
-
-Mon Mar 25 00:37:58 MST 2002
-Fixed ==> * callbacks for DOM_NodeFilter
-Fixed ==> * test for TreeWalker
-
-Thu Mar 21 08:49:08 MST 2002
-Fixed ==> * implement a way to export IDOM documents (see RE: IDOM memory model
- in xerces-c-dev)
-
-Fri Jan 18 23:36:20 MST 2002
-Fixed ==> * DOM_Document::getElementById() segfaults on undef ID
-
-Fri Nov 2 23:07:43 MST 2001
-Won't do ==> * Make XML::Xerces::XMLString class and have SWIG convert all XMLCh
- arrays to these. This should eliminate a lot of transcoding.
-Won't do ==> * Provide all needed XMLString operators:
- - stringify
- - . (.=)
- - eq (neq)
-Fixed ==> * Remove DOMString support
-
-Mon Sep 24 20:17:58 MDT 2001
-Fixed ==> * REAL EXCEPTION HANDLING via eval{}/die();
- - throw exception objects
-Fixed ==> - never call cerr, use croak()
-* Finish conversion of Xerces.i to SWIG-1.3.8
- - sax
- - sax2
-Fixed ==> - util
-* overloaded constructors for XMLPScanToken
-* overloaded constructors for QName
-Fixed ==>* overloaded constructors for XMLUri
-* overloaded constructors for SAX*Exception
-Fixed ==>* overloaded method for AttributeList::getValue
-Fixed ==>* overloaded method for AttributeList::getType
-Fixed ==>* overloaded method for XMLReaderFactory::createReaderFactory
-Fixed ==>* overloaded method for Attributes::getValue
-Fixed ==>* overloaded method for Attributes::getType
-Fixed ==>* overloaded method for Attributes::getIndex
-
-* Add tests for IDOM untested features
-Fixed ==> * Add tests for DOM untested features (should we do this if DOM is
- to be replaced by IDOM ==> low priority)
-
-Mon Sep 10 21:28:51 MDT 2001
-Fixed ==> * Fix MemBufInputSource::new() so that it doesn't require the string
-* check memory repeated re-use of parser
-* only create DESTROY methods for objects with C++ data to be deleted,
- that should be directly invoked, i.e. not inherited methods
-
-Sat Apr 14 17:30:46 MST 2001
-* Implement a tied hash interface for NamedNodeMap
-* Implement a tied array for NodeList
-
-
-
### *** emacs file mode definition ***
### Local Variables:
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org