Index: ext/xml/extconf.rb
===================================================================
RCS file: /var/cvs/libxml/libxml/ext/xml/extconf.rb,v
retrieving revision 1.1
diff -u -r1.1 extconf.rb
--- ext/xml/extconf.rb	21 Feb 2006 20:40:16 -0000	1.1
+++ ext/xml/extconf.rb	26 Feb 2006 19:31:49 -0000
@@ -42,8 +42,10 @@
   $defs.push('-DHAVE_ZLIB_H')
 end
 
-unless have_library('iconv','iconv_open') or have_library('c','iconv_open') or
-  have_library('recode','iconv_open')
+unless have_library('iconv','iconv_open') or 
+       have_library('c','iconv_open') or
+       have_library('recode','iconv_open') or
+       have_library('iconv')
   crash(<<EOL)
 need libiconv.
 
@@ -56,7 +58,13 @@
 EOL
 end
 
-unless have_library('xml2', 'xmlParseDoc')
+unless (have_library('xml2', 'xmlParseDoc') or
+        find_library('xml2', '/opt/lib', '/usr/local/lib', '/usr/lib')) and 
+       (have_header('libxml/xmlversion.h') or
+        find_header('libxml/xmlversion.h', 
+                    '/opt/include/libxml2', 
+                    '/usr/local/include/libxml2', 
+                    '/usr/include/libxml2'))
   crash(<<EOL)
 need libxml2.
 
@@ -76,20 +84,7 @@
   crash('Need docbCreateFileParserCtxt')
 end
 
-$LDFLAGS << ' ' + `xslt-config --libs`.chomp
-$LDFLAGS << ' ' + `xml2-config --libs`.chomp
-
-$CFLAGS << ' ' + `xslt-config --cflags`.chomp
-$CFLAGS << ' ' + `xml2-config --cflags`.chomp
-$CFLAGS = '-g -Wall ' + $CFLAGS
+$CFLAGS = '-g -Wall ' + $CFLAGS + ' ' + $INCFLAGS
 
 create_header()
 create_makefile('xml/libxml')
-
-# Quick hack around a problem building on OSX
-if RUBY_PLATFORM =~ /darwin/
-   mf = File.read('Makefile')
-   File.open('Makefile','w+') do |f|
-     f << mf.gsub(/^CFLAGS\s+=\s+(.*)/) { "CFLAGS = #{$1.gsub('-fno-common','')}" }
-   end
-end
Index: ext/xml/ruby_xml_schema.h
===================================================================
RCS file: /var/cvs/libxml/libxml/ext/xml/ruby_xml_schema.h,v
retrieving revision 1.1
diff -u -r1.1 ruby_xml_schema.h
--- ext/xml/ruby_xml_schema.h	21 Feb 2006 20:40:16 -0000	1.1
+++ ext/xml/ruby_xml_schema.h	26 Feb 2006 19:31:50 -0000
@@ -4,7 +4,7 @@
 #include <libxml/schemasInternals.h>
 #include <libxml/xmlschemas.h>
 
-extern VALUE cXMLDtd;
+extern VALUE cXMLSchema;
 
 typedef struct rxp_schema {
   xmlSchemaPtr schema;   /* Schema interface */
Index: ext/xml/ruby_xml_xpath_context.c
===================================================================
RCS file: /var/cvs/libxml/libxml/ext/xml/ruby_xml_xpath_context.c,v
retrieving revision 1.1
diff -u -r1.1 ruby_xml_xpath_context.c
--- ext/xml/ruby_xml_xpath_context.c	21 Feb 2006 20:40:16 -0000	1.1
+++ ext/xml/ruby_xml_xpath_context.c	26 Feb 2006 19:31:50 -0000
@@ -5,6 +5,7 @@
 #include "libxml.h"
 #include "ruby_xml_xpath_context.h"
 
+VALUE cXMLXPathContext;
 
 /*
  * call-seq:
Index: ext/xml/ruby_xml_xpath_context.h
===================================================================
RCS file: /var/cvs/libxml/libxml/ext/xml/ruby_xml_xpath_context.h,v
retrieving revision 1.1
diff -u -r1.1 ruby_xml_xpath_context.h
--- ext/xml/ruby_xml_xpath_context.h	21 Feb 2006 20:40:16 -0000	1.1
+++ ext/xml/ruby_xml_xpath_context.h	26 Feb 2006 19:31:50 -0000
@@ -5,7 +5,7 @@
 #ifndef __RUBY_XML_XPATH_CONTEXT__
 #define __RUBY_XML_XPATH_CONTEXT__
 
-VALUE cXMLXPathContext;
+extern VALUE cXMLXPathContext;
 
 typedef struct ruby_xml_xpath_context {
   VALUE xd;
Index: ext/xml/ruby_xml_xpointer_context.c
===================================================================
RCS file: /var/cvs/libxml/libxml/ext/xml/ruby_xml_xpointer_context.c,v
retrieving revision 1.1
diff -u -r1.1 ruby_xml_xpointer_context.c
--- ext/xml/ruby_xml_xpointer_context.c	21 Feb 2006 20:40:16 -0000	1.1
+++ ext/xml/ruby_xml_xpointer_context.c	26 Feb 2006 19:31:50 -0000
@@ -6,7 +6,7 @@
 #include "ruby_xml_xpointer_context.h"
 
 VALUE cXMLXPointerContext;
-VALUE eXMLXPointehContextInvalidPath;
+VALUE eXMLXPointerContextInvalidPath;
 VALUE eXMLXPointerContextInvalidPath;
 
 // Rdoc needs to know 
