1# Tcl package index file - handcrafted
2#
3# $Id: pkgIndex.tcl.in,v 1.12 2002/10/28 10:54:14 balls Exp $
4
5package ifneeded xml::c       @VERSION@ [list load   [file join $dir @Tclxml_LIB_FILE@]]
6package ifneeded xml::tcl     @VERSION@ [list source [file join $dir xml__tcl.tcl]]
7package ifneeded sgmlparser   1.0       [list source [file join $dir sgmlparser.tcl]]
8package ifneeded xpath        1.0       [list source [file join $dir xpath.tcl]]
9package ifneeded xml::dep     1.0       [list source [file join $dir xmldep.tcl]]
10
11# The C parsers are provided through their own packages and indices,
12# and thus do not have to be listed here. This index may require them
13# in certain places, but does not provide them. This is part of the
14# work refactoring the build system of TclXML to create clean
15# packages, and not require a jumble (jungle?) of things in one Makefile.
16#
17#package ifneeded xml::expat  @VERSION@ [list load   [file join $dir @expat_TCL_LIB_FILE@]]
18#package ifneeded xml::xerces 2.0       [list load   [file join $dir @xerces_TCL_LIB_FILE@]]
19
20
21namespace eval ::xml {}
22
23# Requesting a specific package means we want it to be the default parser class.
24# This is achieved by loading it last.
25
26# expat and xerces packages must have xml::c package loaded
27package ifneeded expat @VERSION@ {
28    package require xml::c @VERSION@
29    package require xmldefs
30    package require xml::tclparser @VERSION@
31    package require xml::expat     @VERSION@
32    package provide expat          @VERSION@
33}
34
35# tclparser works with either xml::c or xml::tcl
36package ifneeded tclparser @VERSION@ {
37    if {[catch {package require xml::c @VERSION@}]} {
38	# No point in trying to load expat
39	package require xml::tcl       @VERSION@
40	package require xmldefs
41	package require xml::tclparser @VERSION@
42    } else {
43	package require xmldefs
44	catch {package require xml::expat @VERSION@}
45	package require xml::tclparser
46    }
47    package provide tclparser @VERSION@
48}
49
50# use tcl only (mainly for testing)
51package ifneeded puretclparser @VERSION@ {
52    package require xml::tcl       @VERSION@
53    package require xmldefs
54    package require xml::tclparser @VERSION@
55    package provide puretclparser  @VERSION@
56}                                        
57
58# Requesting the generic package leaves the choice of default parser automatic
59
60package ifneeded xml @VERSION@ {
61    if {[catch {package require xml::c @VERSION@}]} {
62	package require xml::tcl       @VERSION@
63	package require xmldefs
64	# Only choice is tclparser
65	package require xml::tclparser @VERSION@
66    } else {
67	package require xmldefs
68	package require xml::tclparser    @VERSION@
69	catch {package require xml::expat @VERSION@}
70    }
71    package provide xml @VERSION@
72}
73
74if {[info tclversion] <= 8.0} {
75    package ifneeded sgml           1.9       [list source [file join $dir sgml-8.0.tcl]]
76    package ifneeded xmldefs        @VERSION@ [list source [file join $dir xml-8.0.tcl]]
77    package ifneeded xml::tclparser @VERSION@ [list source [file join $dir tclparser-8.0.tcl]]
78} else {
79    package ifneeded sgml           1.9       [list source [file join $dir sgml-8.1.tcl]]
80    package ifneeded xmldefs        @VERSION@ [list source [file join $dir xml-8.1.tcl]]
81    package ifneeded xml::tclparser @VERSION@ [list source [file join $dir tclparser-8.1.tcl]]
82}
83
84
85