Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Changes In Branch abandon80 Excluding Merge-Ins

This is equivalent to a diff from cb72ce2fdf to f14a12cfdc

2018-05-02
19:25
Eventually removed "support" for tcl 8.0.5 - it was a false assertion since a while. check-in: 064a48e572 user: rolf tags: trunk
19:11
Again, more pruning. Closed-Leaf check-in: f14a12cfdc user: rolf tags: abandon80
15:27
More pruning. check-in: 731b463a74 user: rolf tags: abandon80
15:12
Removed "support" for Tcl 8.0 - it probably doesn't even build any more. Eventually it's time prune out this #ifdefery. check-in: d729de4c39 user: rolf tags: abandon80
10:07
Merged from trunk. check-in: b8f934943a user: rolf tags: serializeOptions
10:03
Fixed editing error. check-in: cb72ce2fdf user: rolf tags: trunk
2018-04-30
14:50
Added script, that helps measuring (micro-)optimizations. check-in: 834c959f81 user: rolf tags: trunk

Changes to configure.

  5573   5573   # and runtime Tcl library files in TEA_ADD_TCL_SOURCES.
  5574   5574   # This defines PKG(_STUB)_SOURCES, PKG(_STUB)_OBJECTS, PKG_HEADERS
  5575   5575   # and PKG_TCL_SOURCES.
  5576   5576   #-----------------------------------------------------------------------
  5577   5577   
  5578   5578   
  5579   5579       vars="generic/xmlsimple.c \
  5580         -                 generic/utf8conv.c  \
  5581   5580                    generic/dom.c       \
  5582   5581                    generic/domhtml.c   \
  5583   5582                    generic/domhtml5.c  \
  5584   5583                    generic/domjson.c   \
  5585   5584                    generic/domxpath.c  \
  5586   5585                    generic/domxslt.c   \
  5587   5586                    generic/domlock.c   \

Deleted configure-tcl8.0.5.

     1         -#! /bin/sh
     2         -
     3         -# Guess values for system-dependent variables and create Makefiles.
     4         -# Generated automatically using autoconf version 2.13 
     5         -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
     6         -#
     7         -# This configure script is free software; the Free Software Foundation
     8         -# gives unlimited permission to copy, distribute and modify it.
     9         -
    10         -# Defaults:
    11         -ac_help=
    12         -ac_default_prefix=/usr/local
    13         -# Any additions from configure.in:
    14         -ac_help="$ac_help
    15         -  --with-tcl              directory containing tcl configuration (tclConfig.sh)"
    16         -ac_help="$ac_help
    17         -  --with-tclinclude      directory containing the public Tcl header files"
    18         -ac_help="$ac_help
    19         -  --enable-threads        build with threads"
    20         -ac_help="$ac_help
    21         -  --enable-shared         build and link with shared libraries [--enable-shared]"
    22         -ac_help="$ac_help
    23         -  --enable-64bit          enable 64bit support (where applicable)"
    24         -ac_help="$ac_help
    25         -  --enable-64bit-vis      enable 64bit Sparc VIS support"
    26         -ac_help="$ac_help
    27         -  --disable-load          disallow dynamic loading and "load" command"
    28         -ac_help="$ac_help
    29         -  --enable-symbols        build with debugging symbols [--disable-symbols]"
    30         -ac_help="$ac_help
    31         -  --with-aolserver        directory with AOLserver distribution"
    32         -ac_help="$ac_help
    33         -  --enable-dtd            build with the dtd support [--enable-dtd]"
    34         -ac_help="$ac_help
    35         -  --enable-ns             build with the namespace support [--enable-ns]"
    36         -ac_help="$ac_help
    37         -  --enable-unknown        enable built-in unknown command [--disable-unknown]"
    38         -ac_help="$ac_help
    39         -  --enable-tdomalloc      build with the tDOM allocator [--enable-tdomalloc]"
    40         -
    41         -# Initialize some variables set by options.
    42         -# The variables have the same names as the options, with
    43         -# dashes changed to underlines.
    44         -build=NONE
    45         -cache_file=./config.cache
    46         -exec_prefix=NONE
    47         -host=NONE
    48         -no_create=
    49         -nonopt=NONE
    50         -no_recursion=
    51         -prefix=NONE
    52         -program_prefix=NONE
    53         -program_suffix=NONE
    54         -program_transform_name=s,x,x,
    55         -silent=
    56         -site=
    57         -srcdir=
    58         -target=NONE
    59         -verbose=
    60         -x_includes=NONE
    61         -x_libraries=NONE
    62         -bindir='${exec_prefix}/bin'
    63         -sbindir='${exec_prefix}/sbin'
    64         -libexecdir='${exec_prefix}/libexec'
    65         -datadir='${prefix}/share'
    66         -sysconfdir='${prefix}/etc'
    67         -sharedstatedir='${prefix}/com'
    68         -localstatedir='${prefix}/var'
    69         -libdir='${exec_prefix}/lib'
    70         -includedir='${prefix}/include'
    71         -oldincludedir='/usr/include'
    72         -infodir='${prefix}/info'
    73         -mandir='${prefix}/man'
    74         -
    75         -# Initialize some other variables.
    76         -subdirs=
    77         -MFLAGS= MAKEFLAGS=
    78         -SHELL=${CONFIG_SHELL-/bin/sh}
    79         -# Maximum number of lines to put in a shell here document.
    80         -ac_max_here_lines=12
    81         -
    82         -ac_prev=
    83         -for ac_option
    84         -do
    85         -
    86         -  # If the previous option needs an argument, assign it.
    87         -  if test -n "$ac_prev"; then
    88         -    eval "$ac_prev=\$ac_option"
    89         -    ac_prev=
    90         -    continue
    91         -  fi
    92         -
    93         -  case "$ac_option" in
    94         -  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
    95         -  *) ac_optarg= ;;
    96         -  esac
    97         -
    98         -  # Accept the important Cygnus configure options, so we can diagnose typos.
    99         -
   100         -  case "$ac_option" in
   101         -
   102         -  -bindir | --bindir | --bindi | --bind | --bin | --bi)
   103         -    ac_prev=bindir ;;
   104         -  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
   105         -    bindir="$ac_optarg" ;;
   106         -
   107         -  -build | --build | --buil | --bui | --bu)
   108         -    ac_prev=build ;;
   109         -  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
   110         -    build="$ac_optarg" ;;
   111         -
   112         -  -cache-file | --cache-file | --cache-fil | --cache-fi \
   113         -  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
   114         -    ac_prev=cache_file ;;
   115         -  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
   116         -  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
   117         -    cache_file="$ac_optarg" ;;
   118         -
   119         -  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
   120         -    ac_prev=datadir ;;
   121         -  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
   122         -  | --da=*)
   123         -    datadir="$ac_optarg" ;;
   124         -
   125         -  -disable-* | --disable-*)
   126         -    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
   127         -    # Reject names that are not valid shell variable names.
   128         -    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
   129         -      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
   130         -    fi
   131         -    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
   132         -    eval "enable_${ac_feature}=no" ;;
   133         -
   134         -  -enable-* | --enable-*)
   135         -    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
   136         -    # Reject names that are not valid shell variable names.
   137         -    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
   138         -      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
   139         -    fi
   140         -    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
   141         -    case "$ac_option" in
   142         -      *=*) ;;
   143         -      *) ac_optarg=yes ;;
   144         -    esac
   145         -    eval "enable_${ac_feature}='$ac_optarg'" ;;
   146         -
   147         -  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
   148         -  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
   149         -  | --exec | --exe | --ex)
   150         -    ac_prev=exec_prefix ;;
   151         -  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
   152         -  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
   153         -  | --exec=* | --exe=* | --ex=*)
   154         -    exec_prefix="$ac_optarg" ;;
   155         -
   156         -  -gas | --gas | --ga | --g)
   157         -    # Obsolete; use --with-gas.
   158         -    with_gas=yes ;;
   159         -
   160         -  -help | --help | --hel | --he)
   161         -    # Omit some internal or obsolete options to make the list less imposing.
   162         -    # This message is too long to be a string in the A/UX 3.1 sh.
   163         -    cat << EOF
   164         -Usage: configure [options] [host]
   165         -Options: [defaults in brackets after descriptions]
   166         -Configuration:
   167         -  --cache-file=FILE       cache test results in FILE
   168         -  --help                  print this message
   169         -  --no-create             do not create output files
   170         -  --quiet, --silent       do not print \`checking...' messages
   171         -  --version               print the version of autoconf that created configure
   172         -Directory and file names:
   173         -  --prefix=PREFIX         install architecture-independent files in PREFIX
   174         -                          [$ac_default_prefix]
   175         -  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
   176         -                          [same as prefix]
   177         -  --bindir=DIR            user executables in DIR [EPREFIX/bin]
   178         -  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
   179         -  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
   180         -  --datadir=DIR           read-only architecture-independent data in DIR
   181         -                          [PREFIX/share]
   182         -  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
   183         -  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
   184         -                          [PREFIX/com]
   185         -  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
   186         -  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
   187         -  --includedir=DIR        C header files in DIR [PREFIX/include]
   188         -  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
   189         -  --infodir=DIR           info documentation in DIR [PREFIX/info]
   190         -  --mandir=DIR            man documentation in DIR [PREFIX/man]
   191         -  --srcdir=DIR            find the sources in DIR [configure dir or ..]
   192         -  --program-prefix=PREFIX prepend PREFIX to installed program names
   193         -  --program-suffix=SUFFIX append SUFFIX to installed program names
   194         -  --program-transform-name=PROGRAM
   195         -                          run sed PROGRAM on installed program names
   196         -EOF
   197         -    cat << EOF
   198         -Host type:
   199         -  --build=BUILD           configure for building on BUILD [BUILD=HOST]
   200         -  --host=HOST             configure for HOST [guessed]
   201         -  --target=TARGET         configure for TARGET [TARGET=HOST]
   202         -Features and packages:
   203         -  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   204         -  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   205         -  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   206         -  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   207         -  --x-includes=DIR        X include files are in DIR
   208         -  --x-libraries=DIR       X library files are in DIR
   209         -EOF
   210         -    if test -n "$ac_help"; then
   211         -      echo "--enable and --with options recognized:$ac_help"
   212         -    fi
   213         -    exit 0 ;;
   214         -
   215         -  -host | --host | --hos | --ho)
   216         -    ac_prev=host ;;
   217         -  -host=* | --host=* | --hos=* | --ho=*)
   218         -    host="$ac_optarg" ;;
   219         -
   220         -  -includedir | --includedir | --includedi | --included | --include \
   221         -  | --includ | --inclu | --incl | --inc)
   222         -    ac_prev=includedir ;;
   223         -  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
   224         -  | --includ=* | --inclu=* | --incl=* | --inc=*)
   225         -    includedir="$ac_optarg" ;;
   226         -
   227         -  -infodir | --infodir | --infodi | --infod | --info | --inf)
   228         -    ac_prev=infodir ;;
   229         -  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
   230         -    infodir="$ac_optarg" ;;
   231         -
   232         -  -libdir | --libdir | --libdi | --libd)
   233         -    ac_prev=libdir ;;
   234         -  -libdir=* | --libdir=* | --libdi=* | --libd=*)
   235         -    libdir="$ac_optarg" ;;
   236         -
   237         -  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
   238         -  | --libexe | --libex | --libe)
   239         -    ac_prev=libexecdir ;;
   240         -  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
   241         -  | --libexe=* | --libex=* | --libe=*)
   242         -    libexecdir="$ac_optarg" ;;
   243         -
   244         -  -localstatedir | --localstatedir | --localstatedi | --localstated \
   245         -  | --localstate | --localstat | --localsta | --localst \
   246         -  | --locals | --local | --loca | --loc | --lo)
   247         -    ac_prev=localstatedir ;;
   248         -  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
   249         -  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
   250         -  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
   251         -    localstatedir="$ac_optarg" ;;
   252         -
   253         -  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
   254         -    ac_prev=mandir ;;
   255         -  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
   256         -    mandir="$ac_optarg" ;;
   257         -
   258         -  -nfp | --nfp | --nf)
   259         -    # Obsolete; use --without-fp.
   260         -    with_fp=no ;;
   261         -
   262         -  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
   263         -  | --no-cr | --no-c)
   264         -    no_create=yes ;;
   265         -
   266         -  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
   267         -  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
   268         -    no_recursion=yes ;;
   269         -
   270         -  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
   271         -  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
   272         -  | --oldin | --oldi | --old | --ol | --o)
   273         -    ac_prev=oldincludedir ;;
   274         -  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
   275         -  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
   276         -  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
   277         -    oldincludedir="$ac_optarg" ;;
   278         -
   279         -  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
   280         -    ac_prev=prefix ;;
   281         -  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
   282         -    prefix="$ac_optarg" ;;
   283         -
   284         -  -program-prefix | --program-prefix | --program-prefi | --program-pref \
   285         -  | --program-pre | --program-pr | --program-p)
   286         -    ac_prev=program_prefix ;;
   287         -  -program-prefix=* | --program-prefix=* | --program-prefi=* \
   288         -  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
   289         -    program_prefix="$ac_optarg" ;;
   290         -
   291         -  -program-suffix | --program-suffix | --program-suffi | --program-suff \
   292         -  | --program-suf | --program-su | --program-s)
   293         -    ac_prev=program_suffix ;;
   294         -  -program-suffix=* | --program-suffix=* | --program-suffi=* \
   295         -  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
   296         -    program_suffix="$ac_optarg" ;;
   297         -
   298         -  -program-transform-name | --program-transform-name \
   299         -  | --program-transform-nam | --program-transform-na \
   300         -  | --program-transform-n | --program-transform- \
   301         -  | --program-transform | --program-transfor \
   302         -  | --program-transfo | --program-transf \
   303         -  | --program-trans | --program-tran \
   304         -  | --progr-tra | --program-tr | --program-t)
   305         -    ac_prev=program_transform_name ;;
   306         -  -program-transform-name=* | --program-transform-name=* \
   307         -  | --program-transform-nam=* | --program-transform-na=* \
   308         -  | --program-transform-n=* | --program-transform-=* \
   309         -  | --program-transform=* | --program-transfor=* \
   310         -  | --program-transfo=* | --program-transf=* \
   311         -  | --program-trans=* | --program-tran=* \
   312         -  | --progr-tra=* | --program-tr=* | --program-t=*)
   313         -    program_transform_name="$ac_optarg" ;;
   314         -
   315         -  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   316         -  | -silent | --silent | --silen | --sile | --sil)
   317         -    silent=yes ;;
   318         -
   319         -  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
   320         -    ac_prev=sbindir ;;
   321         -  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
   322         -  | --sbi=* | --sb=*)
   323         -    sbindir="$ac_optarg" ;;
   324         -
   325         -  -sharedstatedir | --sharedstatedir | --sharedstatedi \
   326         -  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
   327         -  | --sharedst | --shareds | --shared | --share | --shar \
   328         -  | --sha | --sh)
   329         -    ac_prev=sharedstatedir ;;
   330         -  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
   331         -  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
   332         -  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
   333         -  | --sha=* | --sh=*)
   334         -    sharedstatedir="$ac_optarg" ;;
   335         -
   336         -  -site | --site | --sit)
   337         -    ac_prev=site ;;
   338         -  -site=* | --site=* | --sit=*)
   339         -    site="$ac_optarg" ;;
   340         -
   341         -  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
   342         -    ac_prev=srcdir ;;
   343         -  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
   344         -    srcdir="$ac_optarg" ;;
   345         -
   346         -  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
   347         -  | --syscon | --sysco | --sysc | --sys | --sy)
   348         -    ac_prev=sysconfdir ;;
   349         -  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
   350         -  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
   351         -    sysconfdir="$ac_optarg" ;;
   352         -
   353         -  -target | --target | --targe | --targ | --tar | --ta | --t)
   354         -    ac_prev=target ;;
   355         -  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
   356         -    target="$ac_optarg" ;;
   357         -
   358         -  -v | -verbose | --verbose | --verbos | --verbo | --verb)
   359         -    verbose=yes ;;
   360         -
   361         -  -version | --version | --versio | --versi | --vers)
   362         -    echo "configure generated by autoconf version 2.13"
   363         -    exit 0 ;;
   364         -
   365         -  -with-* | --with-*)
   366         -    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
   367         -    # Reject names that are not valid shell variable names.
   368         -    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
   369         -      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
   370         -    fi
   371         -    ac_package=`echo $ac_package| sed 's/-/_/g'`
   372         -    case "$ac_option" in
   373         -      *=*) ;;
   374         -      *) ac_optarg=yes ;;
   375         -    esac
   376         -    eval "with_${ac_package}='$ac_optarg'" ;;
   377         -
   378         -  -without-* | --without-*)
   379         -    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
   380         -    # Reject names that are not valid shell variable names.
   381         -    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
   382         -      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
   383         -    fi
   384         -    ac_package=`echo $ac_package| sed 's/-/_/g'`
   385         -    eval "with_${ac_package}=no" ;;
   386         -
   387         -  --x)
   388         -    # Obsolete; use --with-x.
   389         -    with_x=yes ;;
   390         -
   391         -  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
   392         -  | --x-incl | --x-inc | --x-in | --x-i)
   393         -    ac_prev=x_includes ;;
   394         -  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
   395         -  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
   396         -    x_includes="$ac_optarg" ;;
   397         -
   398         -  -x-libraries | --x-libraries | --x-librarie | --x-librari \
   399         -  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
   400         -    ac_prev=x_libraries ;;
   401         -  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
   402         -  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
   403         -    x_libraries="$ac_optarg" ;;
   404         -
   405         -  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
   406         -    ;;
   407         -
   408         -  *)
   409         -    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
   410         -      echo "configure: warning: $ac_option: invalid host type" 1>&2
   411         -    fi
   412         -    if test "x$nonopt" != xNONE; then
   413         -      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
   414         -    fi
   415         -    nonopt="$ac_option"
   416         -    ;;
   417         -
   418         -  esac
   419         -done
   420         -
   421         -if test -n "$ac_prev"; then
   422         -  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
   423         -fi
   424         -
   425         -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
   426         -
   427         -# File descriptor usage:
   428         -# 0 standard input
   429         -# 1 file creation
   430         -# 2 errors and warnings
   431         -# 3 some systems may open it to /dev/tty
   432         -# 4 used on the Kubota Titan
   433         -# 6 checking for... messages and results
   434         -# 5 compiler messages saved in config.log
   435         -if test "$silent" = yes; then
   436         -  exec 6>/dev/null
   437         -else
   438         -  exec 6>&1
   439         -fi
   440         -exec 5>./config.log
   441         -
   442         -echo "\
   443         -This file contains any messages produced by compilers while
   444         -running configure, to aid debugging if configure makes a mistake.
   445         -" 1>&5
   446         -
   447         -# Strip out --no-create and --no-recursion so they do not pile up.
   448         -# Also quote any args containing shell metacharacters.
   449         -ac_configure_args=
   450         -for ac_arg
   451         -do
   452         -  case "$ac_arg" in
   453         -  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
   454         -  | --no-cr | --no-c) ;;
   455         -  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
   456         -  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
   457         -  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
   458         -  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
   459         -  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
   460         -  esac
   461         -done
   462         -
   463         -# NLS nuisances.
   464         -# Only set these to C if already set.  These must not be set unconditionally
   465         -# because not all systems understand e.g. LANG=C (notably SCO).
   466         -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
   467         -# Non-C LC_CTYPE values break the ctype check.
   468         -if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
   469         -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
   470         -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
   471         -if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
   472         -
   473         -# confdefs.h avoids OS command line length limits that DEFS can exceed.
   474         -rm -rf conftest* confdefs.h
   475         -# AIX cpp loses on an empty file, so make sure it contains at least a newline.
   476         -echo > confdefs.h
   477         -
   478         -# A filename unique to this package, relative to the directory that
   479         -# configure is in, which we can look for to find out if srcdir is correct.
   480         -ac_unique_file=generic/tcldom.c
   481         -
   482         -# Find the source files, if location was not specified.
   483         -if test -z "$srcdir"; then
   484         -  ac_srcdir_defaulted=yes
   485         -  # Try the directory containing this script, then its parent.
   486         -  ac_prog=$0
   487         -  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
   488         -  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
   489         -  srcdir=$ac_confdir
   490         -  if test ! -r $srcdir/$ac_unique_file; then
   491         -    srcdir=..
   492         -  fi
   493         -else
   494         -  ac_srcdir_defaulted=no
   495         -fi
   496         -if test ! -r $srcdir/$ac_unique_file; then
   497         -  if test "$ac_srcdir_defaulted" = yes; then
   498         -    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
   499         -  else
   500         -    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
   501         -  fi
   502         -fi
   503         -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
   504         -
   505         -# Prefer explicitly selected file to automatically selected ones.
   506         -if test -z "$CONFIG_SITE"; then
   507         -  if test "x$prefix" != xNONE; then
   508         -    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
   509         -  else
   510         -    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
   511         -  fi
   512         -fi
   513         -for ac_site_file in $CONFIG_SITE; do
   514         -  if test -r "$ac_site_file"; then
   515         -    echo "loading site script $ac_site_file"
   516         -    . "$ac_site_file"
   517         -  fi
   518         -done
   519         -
   520         -if test -r "$cache_file"; then
   521         -  echo "loading cache $cache_file"
   522         -  . $cache_file
   523         -else
   524         -  echo "creating cache $cache_file"
   525         -  > $cache_file
   526         -fi
   527         -
   528         -ac_ext=c
   529         -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
   530         -ac_cpp='$CPP $CPPFLAGS'
   531         -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
   532         -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
   533         -cross_compiling=$ac_cv_prog_cc_cross
   534         -
   535         -ac_exeext=
   536         -ac_objext=o
   537         -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
   538         -  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
   539         -  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
   540         -    ac_n= ac_c='
   541         -' ac_t='	'
   542         -  else
   543         -    ac_n=-n ac_c= ac_t=
   544         -  fi
   545         -else
   546         -  ac_n= ac_c='\c' ac_t=
   547         -fi
   548         -
   549         -
   550         -
   551         -#-----------------------------------------------------------------------
   552         -# Be sure we're invoked from the platform directory.
   553         -#-----------------------------------------------------------------------
   554         -
   555         -if test ${srcdir} = "." ; then
   556         -    echo ""
   557         -    echo "Please cd to the platform-specific dir (unix or win) and invoke:"
   558         -    echo "  ../configure"
   559         -    echo ""
   560         -    exit 1
   561         -fi
   562         -
   563         -#-----------------------------------------------------------------------
   564         -# These are needed for the expat compilation. Do this early so we
   565         -# do not step over some CFLAGS which will confuse the compiler.
   566         -#-----------------------------------------------------------------------
   567         -
   568         -for ac_func in memmove bcopy
   569         -do
   570         -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
   571         -echo "configure:572: checking for $ac_func" >&5
   572         -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   573         -  echo $ac_n "(cached) $ac_c" 1>&6
   574         -else
   575         -  cat > conftest.$ac_ext <<EOF
   576         -#line 577 "configure"
   577         -#include "confdefs.h"
   578         -/* System header to define __stub macros and hopefully few prototypes,
   579         -    which can conflict with char $ac_func(); below.  */
   580         -#include <assert.h>
   581         -/* Override any gcc2 internal prototype to avoid an error.  */
   582         -/* We use char because int might match the return type of a gcc2
   583         -    builtin and then its argument prototype would still apply.  */
   584         -char $ac_func();
   585         -
   586         -int main() {
   587         -
   588         -/* The GNU C library defines this for functions which it implements
   589         -    to always fail with ENOSYS.  Some functions are actually named
   590         -    something starting with __ and the normal name is an alias.  */
   591         -#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
   592         -choke me
   593         -#else
   594         -$ac_func();
   595         -#endif
   596         -
   597         -; return 0; }
   598         -EOF
   599         -if { (eval echo configure:600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   600         -  rm -rf conftest*
   601         -  eval "ac_cv_func_$ac_func=yes"
   602         -else
   603         -  echo "configure: failed program was:" >&5
   604         -  cat conftest.$ac_ext >&5
   605         -  rm -rf conftest*
   606         -  eval "ac_cv_func_$ac_func=no"
   607         -fi
   608         -rm -f conftest*
   609         -fi
   610         -
   611         -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
   612         -  echo "$ac_t""yes" 1>&6
   613         -    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
   614         -  cat >> confdefs.h <<EOF
   615         -#define $ac_tr_func 1
   616         -EOF
   617         - 
   618         -else
   619         -  echo "$ac_t""no" 1>&6
   620         -fi
   621         -done
   622         -
   623         -
   624         -#-----------------------------------------------------------------------
   625         -# Where is the tcl.m4 and brothers?
   626         -#-----------------------------------------------------------------------
   627         -
   628         -ac_aux_dir=
   629         -for ac_dir in tclconfig $srcdir/tclconfig; do
   630         -  if test -f $ac_dir/install-sh; then
   631         -    ac_aux_dir=$ac_dir
   632         -    ac_install_sh="$ac_aux_dir/install-sh -c"
   633         -    break
   634         -  elif test -f $ac_dir/install.sh; then
   635         -    ac_aux_dir=$ac_dir
   636         -    ac_install_sh="$ac_aux_dir/install.sh -c"
   637         -    break
   638         -  fi
   639         -done
   640         -if test -z "$ac_aux_dir"; then
   641         -  { echo "configure: error: can not find install-sh or install.sh in tclconfig $srcdir/tclconfig" 1>&2; exit 1; }
   642         -fi
   643         -ac_config_guess=$ac_aux_dir/config.guess
   644         -ac_config_sub=$ac_aux_dir/config.sub
   645         -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
   646         -
   647         -CONFIGDIR=${srcdir}/tclconfig
   648         -
   649         -
   650         -#----------------------------------------------------------------------
   651         -# __CHANGE__
   652         -# Set your package name and version numbers here. The NODOT_VERSION is
   653         -# required for constructing the library name on systems that don't like
   654         -# dots in library names (Windows). The VERSION variable is used on the
   655         -# other systems. Note that we substitute the VERSIN later down, after
   656         -# we have initialized TEA so we know which platform we're dealing with.
   657         -#----------------------------------------------------------------------
   658         -
   659         -PACKAGE=tdom
   660         -
   661         -
   662         -TDOMSHELL=tcldomsh
   663         -
   664         -
   665         -MAJOR_VERSION=0
   666         -
   667         -
   668         -MINOR_VERSION=8
   669         -
   670         -
   671         -PATCHLEVEL=3
   672         -
   673         -# This package name must be replaced statically for AC_SUBST to work
   674         -
   675         -
   676         -# Substitute stub_LIB_FILE if your package creates a stub library too.
   677         -
   678         -
   679         -#--------------------------------------------------------------------
   680         -# Call TEA_INIT as the first TEA_ macro to set up initial vars.
   681         -# This will define a ${TEA_PLATFORM} variable == "unix" or "windows".
   682         -#--------------------------------------------------------------------
   683         -
   684         -
   685         -    echo $ac_n "checking for correct TEA configuration""... $ac_c" 1>&6
   686         -echo "configure:688: checking for correct TEA configuration" >&5
   687         -    if test x"${PACKAGE}" = x ; then
   688         -	{ echo "configure: error: 
   689         -The PACKAGE variable must be defined by your TEA configure.in" 1>&2; exit 1; }
   690         -    fi
   691         -    echo "$ac_t""ok" 1>&6
   692         -    TEA_INITED=ok
   693         -    case "`uname -s`" in
   694         -	*win32*|*WIN32*|*CYGWIN_NT*|*CYGWIN_98*|*CYGWIN_95*|*CYGWIN_ME*|*MINGW32_*)
   695         -	    # Extract the first word of "cygpath", so it can be a program name with args.
   696         -set dummy cygpath; ac_word=$2
   697         -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
   698         -echo "configure:700: checking for $ac_word" >&5
   699         -if eval "test \"`echo '$''{'ac_cv_prog_CYGPATH'+set}'`\" = set"; then
   700         -  echo $ac_n "(cached) $ac_c" 1>&6
   701         -else
   702         -  if test -n "$CYGPATH"; then
   703         -  ac_cv_prog_CYGPATH="$CYGPATH" # Let the user override the test.
   704         -else
   705         -  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
   706         -  ac_dummy="$PATH"
   707         -  for ac_dir in $ac_dummy; do
   708         -    test -z "$ac_dir" && ac_dir=.
   709         -    if test -f $ac_dir/$ac_word; then
   710         -      ac_cv_prog_CYGPATH="cygpath -w"
   711         -      break
   712         -    fi
   713         -  done
   714         -  IFS="$ac_save_ifs"
   715         -  test -z "$ac_cv_prog_CYGPATH" && ac_cv_prog_CYGPATH="echo"
   716         -fi
   717         -fi
   718         -CYGPATH="$ac_cv_prog_CYGPATH"
   719         -if test -n "$CYGPATH"; then
   720         -  echo "$ac_t""$CYGPATH" 1>&6
   721         -else
   722         -  echo "$ac_t""no" 1>&6
   723         -fi
   724         -
   725         -	    EXEEXT=".exe"
   726         -	    TEA_PLATFORM="windows"
   727         -	    ;;
   728         -	*)
   729         -	    CYGPATH=echo
   730         -	    EXEEXT=""
   731         -	    TEA_PLATFORM="unix"
   732         -	    ;;
   733         -    esac
   734         -
   735         -    
   736         -    
   737         -
   738         -
   739         -#--------------------------------------------------------------------
   740         -# Load the tclConfig.sh file
   741         -#--------------------------------------------------------------------
   742         -
   743         -
   744         -    if test x"${TEA_INITED}" = x ; then
   745         -	# Can't refer to exact macro name or it will be substituted
   746         -	{ echo "configure: error: Must call TEA INIT before PATH_TCLCONFIG" 1>&2; exit 1; }
   747         -    fi
   748         -    #
   749         -    # Ok, lets find the tcl configuration
   750         -    # First, look for one uninstalled.
   751         -    # the alternative search directory is invoked by --with-tcl
   752         -    #
   753         -
   754         -    if test x"${no_tcl}" = x ; then
   755         -	# we reset no_tcl in case something fails here
   756         -	no_tcl=true
   757         -	# Check whether --with-tcl or --without-tcl was given.
   758         -if test "${with_tcl+set}" = set; then
   759         -  withval="$with_tcl"
   760         -  with_tclconfig=${withval}
   761         -fi
   762         -
   763         -	echo $ac_n "checking for Tcl configuration""... $ac_c" 1>&6
   764         -echo "configure:766: checking for Tcl configuration" >&5
   765         -	if eval "test \"`echo '$''{'ac_cv_c_tclconfig'+set}'`\" = set"; then
   766         -  echo $ac_n "(cached) $ac_c" 1>&6
   767         -else
   768         -  
   769         -
   770         -	    # First check to see if --with-tcl was specified.
   771         -	    if test x"${with_tclconfig}" != x ; then
   772         -		if test -f "${with_tclconfig}/tclConfig.sh" ; then
   773         -		    ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)`
   774         -		else
   775         -		    { echo "configure: error: ${with_tclconfig} directory doesn't contain tclConfig.sh" 1>&2; exit 1; }
   776         -		fi
   777         -	    fi
   778         -
   779         -	    # then check for a private Tcl installation
   780         -	    if test x"${ac_cv_c_tclconfig}" = x ; then
   781         -		for i in \
   782         -			../tcl \
   783         -			`ls -dr ../tcl[8-9].[0-9]* 2>/dev/null` \
   784         -			../../tcl \
   785         -			`ls -dr ../../tcl[8-9].[0-9]* 2>/dev/null` \
   786         -			../../../tcl \
   787         -			`ls -dr ../../../tcl[8-9].[0-9]* 2>/dev/null` ; do
   788         -		    if test -f "$i/unix/tclConfig.sh" ; then
   789         -			ac_cv_c_tclconfig=`(cd $i/unix; pwd)`
   790         -			break
   791         -		    fi
   792         -		done
   793         -	    fi
   794         -
   795         -	    # check in a few common install locations
   796         -	    if test x"${ac_cv_c_tclconfig}" = x ; then
   797         -		for i in `ls -d ${exec_prefix}/lib 2>/dev/null` \
   798         -			`ls -d /usr/local/lib 2>/dev/null` \
   799         -			`ls -d /usr/contrib/lib 2>/dev/null` \
   800         -			`ls -d /usr/lib 2>/dev/null` \
   801         -			; do
   802         -		    if test -f "$i/tclConfig.sh" ; then
   803         -			ac_cv_c_tclconfig=`(cd $i; pwd)`
   804         -			break
   805         -		    fi
   806         -		done
   807         -	    fi
   808         -
   809         -	    # check in a few other private locations
   810         -	    if test x"${ac_cv_c_tclconfig}" = x ; then
   811         -		for i in \
   812         -			${srcdir}/../tcl \
   813         -			`ls -dr ${srcdir}/../tcl[8-9].[0-9]* 2>/dev/null` ; do
   814         -		    if test -f "$i/unix/tclConfig.sh" ; then
   815         -		    ac_cv_c_tclconfig=`(cd $i/unix; pwd)`
   816         -		    break
   817         -		fi
   818         -		done
   819         -	    fi
   820         -	
   821         -fi
   822         -
   823         -
   824         -	if test x"${ac_cv_c_tclconfig}" = x ; then
   825         -	    TCL_BIN_DIR="# no Tcl configs found"
   826         -	    echo "configure: warning: "Cannot find Tcl configuration definitions"" 1>&2
   827         -	    exit 0
   828         -	else
   829         -	    no_tcl=
   830         -	    TCL_BIN_DIR=${ac_cv_c_tclconfig}
   831         -	    echo "$ac_t""found $TCL_BIN_DIR/tclConfig.sh" 1>&6
   832         -	fi
   833         -    fi
   834         -
   835         -
   836         -    echo $ac_n "checking for existence of $TCL_BIN_DIR/tclConfig.sh""... $ac_c" 1>&6
   837         -echo "configure:839: checking for existence of $TCL_BIN_DIR/tclConfig.sh" >&5
   838         -
   839         -    if test -f "$TCL_BIN_DIR/tclConfig.sh" ; then
   840         -        echo "$ac_t""loading" 1>&6
   841         -	. $TCL_BIN_DIR/tclConfig.sh
   842         -    else
   843         -        echo "$ac_t""file not found" 1>&6
   844         -    fi
   845         -
   846         -    #
   847         -    # If the TCL_BIN_DIR is the build directory (not the install directory),
   848         -    # then set the common variable name to the value of the build variables.
   849         -    # For example, the variable TCL_LIB_SPEC will be set to the value
   850         -    # of TCL_BUILD_LIB_SPEC. An extension should make use of TCL_LIB_SPEC
   851         -    # instead of TCL_BUILD_LIB_SPEC since it will work with both an
   852         -    # installed and uninstalled version of Tcl.
   853         -    #
   854         -
   855         -    if test -f $TCL_BIN_DIR/Makefile ; then
   856         -        TCL_LIB_SPEC=${TCL_BUILD_LIB_SPEC}
   857         -        TCL_STUB_LIB_SPEC=${TCL_BUILD_STUB_LIB_SPEC}
   858         -        TCL_STUB_LIB_PATH=${TCL_BUILD_STUB_LIB_PATH}
   859         -    fi
   860         -
   861         -    #
   862         -    # eval is required to do the TCL_DBGX substitution
   863         -    #
   864         -
   865         -    eval "TCL_LIB_FILE=\"${TCL_LIB_FILE}\""
   866         -    eval "TCL_LIB_FLAG=\"${TCL_LIB_FLAG}\""
   867         -    eval "TCL_LIB_SPEC=\"${TCL_LIB_SPEC}\""
   868         -
   869         -    eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\""
   870         -    eval "TCL_STUB_LIB_FLAG=\"${TCL_STUB_LIB_FLAG}\""
   871         -    eval "TCL_STUB_LIB_SPEC=\"${TCL_STUB_LIB_SPEC}\""
   872         -
   873         -    
   874         -    
   875         -    
   876         -
   877         -    
   878         -    
   879         -    
   880         -
   881         -    
   882         -    
   883         -    
   884         -
   885         -    #AC_SUBST(TCL_DBGX)
   886         -    
   887         -    
   888         -    
   889         -    
   890         -    
   891         -    #AC_SUBST(TCL_BUILD_LIB_SPEC)
   892         -    #AC_SUBST(TCL_BUILD_STUB_LIB_SPEC)
   893         -
   894         -
   895         -#--------------------------------------------------------------------
   896         -# Load the tkConfig.sh file if necessary (Tk extension)
   897         -#--------------------------------------------------------------------
   898         -
   899         -#TEA_PATH_TKCONFIG
   900         -#TEA_LOAD_TKCONFIG
   901         -
   902         -#-----------------------------------------------------------------------
   903         -# Handle the --prefix=... option by defaulting to what Tcl gave.
   904         -# Must be called after TEA_LOAD_TCLCONFIG and before TEA_SETUP_COMPILER.
   905         -#-----------------------------------------------------------------------
   906         -
   907         -
   908         -    # Should be AC_MSG_NOTICE, but that requires autoconf 2.50
   909         -    if test "${prefix}" = "NONE"; then
   910         -	prefix_default=yes
   911         -	if test x"${TCL_PREFIX}" != x; then
   912         -	    echo "configure: warning: --prefix defaulting to TCL_PREFIX ${TCL_PREFIX}" 1>&2
   913         -	    prefix=${TCL_PREFIX}
   914         -	else
   915         -	    prefix=/usr/local
   916         -	fi
   917         -    fi
   918         -    if test "${exec_prefix}" = "NONE" -a x"${prefix_default}" = x"yes" ; then
   919         -	if test x"${TCL_EXEC_PREFIX}" != x; then
   920         -	    echo "configure: warning: --exec-prefix defaulting to TCL_EXEC_PREFIX ${TCL_EXEC_PREFIX}" 1>&2
   921         -	    exec_prefix=${TCL_EXEC_PREFIX}
   922         -	else
   923         -	    exec_prefix=$prefix
   924         -	fi
   925         -    fi
   926         -
   927         -
   928         -#-----------------------------------------------------------------------
   929         -# Standard compiler checks.
   930         -# This sets up CC by using the CC env var, or looks for gcc otherwise.
   931         -# This also calls AC_PROG_CC, AC_PROG_INSTALL and a few others to create
   932         -# the basic setup necessary to compile executables.
   933         -#-----------------------------------------------------------------------
   934         -
   935         -echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
   936         -echo "configure:938: checking for Cygwin environment" >&5
   937         -if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
   938         -  echo $ac_n "(cached) $ac_c" 1>&6
   939         -else
   940         -  cat > conftest.$ac_ext <<EOF
   941         -#line 943 "configure"
   942         -#include "confdefs.h"
   943         -
   944         -int main() {
   945         -
   946         -#ifndef __CYGWIN__
   947         -#define __CYGWIN__ __CYGWIN32__
   948         -#endif
   949         -return __CYGWIN__;
   950         -; return 0; }
   951         -EOF
   952         -if { (eval echo configure:954: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   953         -  rm -rf conftest*
   954         -  ac_cv_cygwin=yes
   955         -else
   956         -  echo "configure: failed program was:" >&5
   957         -  cat conftest.$ac_ext >&5
   958         -  rm -rf conftest*
   959         -  ac_cv_cygwin=no
   960         -fi
   961         -rm -f conftest*
   962         -rm -f conftest*
   963         -fi
   964         -
   965         -echo "$ac_t""$ac_cv_cygwin" 1>&6
   966         -CYGWIN=
   967         -test "$ac_cv_cygwin" = yes && CYGWIN=yes
   968         -echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
   969         -echo "configure:971: checking for mingw32 environment" >&5
   970         -if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
   971         -  echo $ac_n "(cached) $ac_c" 1>&6
   972         -else
   973         -  cat > conftest.$ac_ext <<EOF
   974         -#line 976 "configure"
   975         -#include "confdefs.h"
   976         -
   977         -int main() {
   978         -return __MINGW32__;
   979         -; return 0; }
   980         -EOF
   981         -if { (eval echo configure:983: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   982         -  rm -rf conftest*
   983         -  ac_cv_mingw32=yes
   984         -else
   985         -  echo "configure: failed program was:" >&5
   986         -  cat conftest.$ac_ext >&5
   987         -  rm -rf conftest*
   988         -  ac_cv_mingw32=no
   989         -fi
   990         -rm -f conftest*
   991         -rm -f conftest*
   992         -fi
   993         -
   994         -echo "$ac_t""$ac_cv_mingw32" 1>&6
   995         -MINGW32=
   996         -test "$ac_cv_mingw32" = yes && MINGW32=yes
   997         -
   998         -    # If the user did not set CFLAGS, set it now to keep
   999         -    # the AC_PROG_CC macro from adding "-g -O2".
  1000         -    if test "${CFLAGS+set}" != "set" ; then
  1001         -	CFLAGS=""
  1002         -    fi
  1003         -
  1004         -    # Extract the first word of "gcc", so it can be a program name with args.
  1005         -set dummy gcc; ac_word=$2
  1006         -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
  1007         -echo "configure:1009: checking for $ac_word" >&5
  1008         -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
  1009         -  echo $ac_n "(cached) $ac_c" 1>&6
  1010         -else
  1011         -  if test -n "$CC"; then
  1012         -  ac_cv_prog_CC="$CC" # Let the user override the test.
  1013         -else
  1014         -  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
  1015         -  ac_dummy="$PATH"
  1016         -  for ac_dir in $ac_dummy; do
  1017         -    test -z "$ac_dir" && ac_dir=.
  1018         -    if test -f $ac_dir/$ac_word; then
  1019         -      ac_cv_prog_CC="gcc"
  1020         -      break
  1021         -    fi
  1022         -  done
  1023         -  IFS="$ac_save_ifs"
  1024         -fi
  1025         -fi
  1026         -CC="$ac_cv_prog_CC"
  1027         -if test -n "$CC"; then
  1028         -  echo "$ac_t""$CC" 1>&6
  1029         -else
  1030         -  echo "$ac_t""no" 1>&6
  1031         -fi
  1032         -
  1033         -if test -z "$CC"; then
  1034         -  # Extract the first word of "cc", so it can be a program name with args.
  1035         -set dummy cc; ac_word=$2
  1036         -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
  1037         -echo "configure:1039: checking for $ac_word" >&5
  1038         -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
  1039         -  echo $ac_n "(cached) $ac_c" 1>&6
  1040         -else
  1041         -  if test -n "$CC"; then
  1042         -  ac_cv_prog_CC="$CC" # Let the user override the test.
  1043         -else
  1044         -  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
  1045         -  ac_prog_rejected=no
  1046         -  ac_dummy="$PATH"
  1047         -  for ac_dir in $ac_dummy; do
  1048         -    test -z "$ac_dir" && ac_dir=.
  1049         -    if test -f $ac_dir/$ac_word; then
  1050         -      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
  1051         -        ac_prog_rejected=yes
  1052         -	continue
  1053         -      fi
  1054         -      ac_cv_prog_CC="cc"
  1055         -      break
  1056         -    fi
  1057         -  done
  1058         -  IFS="$ac_save_ifs"
  1059         -if test $ac_prog_rejected = yes; then
  1060         -  # We found a bogon in the path, so make sure we never use it.
  1061         -  set dummy $ac_cv_prog_CC
  1062         -  shift
  1063         -  if test $# -gt 0; then
  1064         -    # We chose a different compiler from the bogus one.
  1065         -    # However, it has the same basename, so the bogon will be chosen
  1066         -    # first if we set CC to just the basename; use the full file name.
  1067         -    shift
  1068         -    set dummy "$ac_dir/$ac_word" "$@"
  1069         -    shift
  1070         -    ac_cv_prog_CC="$@"
  1071         -  fi
  1072         -fi
  1073         -fi
  1074         -fi
  1075         -CC="$ac_cv_prog_CC"
  1076         -if test -n "$CC"; then
  1077         -  echo "$ac_t""$CC" 1>&6
  1078         -else
  1079         -  echo "$ac_t""no" 1>&6
  1080         -fi
  1081         -
  1082         -  if test -z "$CC"; then
  1083         -    case "`uname -s`" in
  1084         -    *win32* | *WIN32*)
  1085         -      # Extract the first word of "cl", so it can be a program name with args.
  1086         -set dummy cl; ac_word=$2
  1087         -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
  1088         -echo "configure:1090: checking for $ac_word" >&5
  1089         -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
  1090         -  echo $ac_n "(cached) $ac_c" 1>&6
  1091         -else
  1092         -  if test -n "$CC"; then
  1093         -  ac_cv_prog_CC="$CC" # Let the user override the test.
  1094         -else
  1095         -  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
  1096         -  ac_dummy="$PATH"
  1097         -  for ac_dir in $ac_dummy; do
  1098         -    test -z "$ac_dir" && ac_dir=.
  1099         -    if test -f $ac_dir/$ac_word; then
  1100         -      ac_cv_prog_CC="cl"
  1101         -      break
  1102         -    fi
  1103         -  done
  1104         -  IFS="$ac_save_ifs"
  1105         -fi
  1106         -fi
  1107         -CC="$ac_cv_prog_CC"
  1108         -if test -n "$CC"; then
  1109         -  echo "$ac_t""$CC" 1>&6
  1110         -else
  1111         -  echo "$ac_t""no" 1>&6
  1112         -fi
  1113         - ;;
  1114         -    esac
  1115         -  fi
  1116         -  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
  1117         -fi
  1118         -
  1119         -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
  1120         -echo "configure:1122: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
  1121         -
  1122         -ac_ext=c
  1123         -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  1124         -ac_cpp='$CPP $CPPFLAGS'
  1125         -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
  1126         -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
  1127         -cross_compiling=$ac_cv_prog_cc_cross
  1128         -
  1129         -cat > conftest.$ac_ext << EOF
  1130         -
  1131         -#line 1133 "configure"
  1132         -#include "confdefs.h"
  1133         -
  1134         -main(){return(0);}
  1135         -EOF
  1136         -if { (eval echo configure:1138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
  1137         -  ac_cv_prog_cc_works=yes
  1138         -  # If we can't run a trivial program, we are probably using a cross compiler.
  1139         -  if (./conftest; exit) 2>/dev/null; then
  1140         -    ac_cv_prog_cc_cross=no
  1141         -  else
  1142         -    ac_cv_prog_cc_cross=yes
  1143         -  fi
  1144         -else
  1145         -  echo "configure: failed program was:" >&5
  1146         -  cat conftest.$ac_ext >&5
  1147         -  ac_cv_prog_cc_works=no
  1148         -fi
  1149         -rm -fr conftest*
  1150         -ac_ext=c
  1151         -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  1152         -ac_cpp='$CPP $CPPFLAGS'
  1153         -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
  1154         -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
  1155         -cross_compiling=$ac_cv_prog_cc_cross
  1156         -
  1157         -echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
  1158         -if test $ac_cv_prog_cc_works = no; then
  1159         -  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
  1160         -fi
  1161         -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
  1162         -echo "configure:1164: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
  1163         -echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
  1164         -cross_compiling=$ac_cv_prog_cc_cross
  1165         -
  1166         -echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
  1167         -echo "configure:1169: checking whether we are using GNU C" >&5
  1168         -if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
  1169         -  echo $ac_n "(cached) $ac_c" 1>&6
  1170         -else
  1171         -  cat > conftest.c <<EOF
  1172         -#ifdef __GNUC__
  1173         -  yes;
  1174         -#endif
  1175         -EOF
  1176         -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1178: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
  1177         -  ac_cv_prog_gcc=yes
  1178         -else
  1179         -  ac_cv_prog_gcc=no
  1180         -fi
  1181         -fi
  1182         -
  1183         -echo "$ac_t""$ac_cv_prog_gcc" 1>&6
  1184         -
  1185         -if test $ac_cv_prog_gcc = yes; then
  1186         -  GCC=yes
  1187         -else
  1188         -  GCC=
  1189         -fi
  1190         -
  1191         -ac_test_CFLAGS="${CFLAGS+set}"
  1192         -ac_save_CFLAGS="$CFLAGS"
  1193         -CFLAGS=
  1194         -echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
  1195         -echo "configure:1197: checking whether ${CC-cc} accepts -g" >&5
  1196         -if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
  1197         -  echo $ac_n "(cached) $ac_c" 1>&6
  1198         -else
  1199         -  echo 'void f(){}' > conftest.c
  1200         -if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
  1201         -  ac_cv_prog_cc_g=yes
  1202         -else
  1203         -  ac_cv_prog_cc_g=no
  1204         -fi
  1205         -rm -f conftest*
  1206         -
  1207         -fi
  1208         -
  1209         -echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
  1210         -if test "$ac_test_CFLAGS" = set; then
  1211         -  CFLAGS="$ac_save_CFLAGS"
  1212         -elif test $ac_cv_prog_cc_g = yes; then
  1213         -  if test "$GCC" = yes; then
  1214         -    CFLAGS="-g -O2"
  1215         -  else
  1216         -    CFLAGS="-g"
  1217         -  fi
  1218         -else
  1219         -  if test "$GCC" = yes; then
  1220         -    CFLAGS="-O2"
  1221         -  else
  1222         -    CFLAGS=
  1223         -  fi
  1224         -fi
  1225         -
  1226         -
  1227         -    #------------------------------------------------------------------------
  1228         -    # If we're using GCC, see if the compiler understands -pipe. If so, use it.
  1229         -    # It makes compiling go faster.  (This is only a performance feature.)
  1230         -    #------------------------------------------------------------------------
  1231         -
  1232         -    if test -z "$no_pipe" -a -n "$GCC"; then
  1233         -	echo $ac_n "checking if the compiler understands -pipe""... $ac_c" 1>&6
  1234         -echo "configure:1236: checking if the compiler understands -pipe" >&5
  1235         -	OLDCC="$CC"
  1236         -	CC="$CC -pipe"
  1237         -	cat > conftest.$ac_ext <<EOF
  1238         -#line 1240 "configure"
  1239         -#include "confdefs.h"
  1240         -
  1241         -int main() {
  1242         -
  1243         -; return 0; }
  1244         -EOF
  1245         -if { (eval echo configure:1247: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  1246         -  rm -rf conftest*
  1247         -  echo "$ac_t""yes" 1>&6
  1248         -else
  1249         -  echo "configure: failed program was:" >&5
  1250         -  cat conftest.$ac_ext >&5
  1251         -  rm -rf conftest*
  1252         -  CC="$OLDCC"
  1253         -	    echo "$ac_t""no" 1>&6
  1254         -fi
  1255         -rm -f conftest*
  1256         -    fi
  1257         -
  1258         -    # Find a good install program.  We prefer a C program (faster),
  1259         -# so one script is as good as another.  But avoid the broken or
  1260         -# incompatible versions:
  1261         -# SysV /etc/install, /usr/sbin/install
  1262         -# SunOS /usr/etc/install
  1263         -# IRIX /sbin/install
  1264         -# AIX /bin/install
  1265         -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
  1266         -# AFS /usr/afsws/bin/install, which mishandles nonexistent args
  1267         -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
  1268         -# ./install, which can be erroneously created by make from ./install.sh.
  1269         -echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
  1270         -echo "configure:1272: checking for a BSD compatible install" >&5
  1271         -if test -z "$INSTALL"; then
  1272         -if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
  1273         -  echo $ac_n "(cached) $ac_c" 1>&6
  1274         -else
  1275         -    IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":"
  1276         -  for ac_dir in $PATH; do
  1277         -    # Account for people who put trailing slashes in PATH elements.
  1278         -    case "$ac_dir/" in
  1279         -    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
  1280         -    *)
  1281         -      # OSF1 and SCO ODT 3.0 have their own names for install.
  1282         -      # Don't use installbsd from OSF since it installs stuff as root
  1283         -      # by default.
  1284         -      for ac_prog in ginstall scoinst install; do
  1285         -        if test -f $ac_dir/$ac_prog; then
  1286         -	  if test $ac_prog = install &&
  1287         -            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
  1288         -	    # AIX install.  It has an incompatible calling convention.
  1289         -	    :
  1290         -	  else
  1291         -	    ac_cv_path_install="$ac_dir/$ac_prog -c"
  1292         -	    break 2
  1293         -	  fi
  1294         -	fi
  1295         -      done
  1296         -      ;;
  1297         -    esac
  1298         -  done
  1299         -  IFS="$ac_save_IFS"
  1300         -
  1301         -fi
  1302         -  if test "${ac_cv_path_install+set}" = set; then
  1303         -    INSTALL="$ac_cv_path_install"
  1304         -  else
  1305         -    # As a last resort, use the slow shell script.  We don't cache a
  1306         -    # path for INSTALL within a source directory, because that will
  1307         -    # break other packages using the cache if that directory is
  1308         -    # removed, or if the path is relative.
  1309         -    INSTALL="$ac_install_sh"
  1310         -  fi
  1311         -fi
  1312         -echo "$ac_t""$INSTALL" 1>&6
  1313         -
  1314         -# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
  1315         -# It thinks the first close brace ends the variable substitution.
  1316         -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
  1317         -
  1318         -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
  1319         -
  1320         -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
  1321         -
  1322         -
  1323         -    #--------------------------------------------------------------------
  1324         -    # Checks to see if the make program sets the $MAKE variable.
  1325         -    #--------------------------------------------------------------------
  1326         -
  1327         -    echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
  1328         -echo "configure:1330: checking whether ${MAKE-make} sets \${MAKE}" >&5
  1329         -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
  1330         -if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
  1331         -  echo $ac_n "(cached) $ac_c" 1>&6
  1332         -else
  1333         -  cat > conftestmake <<\EOF
  1334         -all:
  1335         -	@echo 'ac_maketemp="${MAKE}"'
  1336         -EOF
  1337         -# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
  1338         -eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
  1339         -if test -n "$ac_maketemp"; then
  1340         -  eval ac_cv_prog_make_${ac_make}_set=yes
  1341         -else
  1342         -  eval ac_cv_prog_make_${ac_make}_set=no
  1343         -fi
  1344         -rm -f conftestmake
  1345         -fi
  1346         -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
  1347         -  echo "$ac_t""yes" 1>&6
  1348         -  SET_MAKE=
  1349         -else
  1350         -  echo "$ac_t""no" 1>&6
  1351         -  SET_MAKE="MAKE=${MAKE-make}"
  1352         -fi
  1353         -
  1354         -
  1355         -    #--------------------------------------------------------------------
  1356         -    # Find ranlib
  1357         -    #--------------------------------------------------------------------
  1358         -
  1359         -    # Extract the first word of "ranlib", so it can be a program name with args.
  1360         -set dummy ranlib; ac_word=$2
  1361         -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
  1362         -echo "configure:1364: checking for $ac_word" >&5
  1363         -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
  1364         -  echo $ac_n "(cached) $ac_c" 1>&6
  1365         -else
  1366         -  if test -n "$RANLIB"; then
  1367         -  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
  1368         -else
  1369         -  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
  1370         -  ac_dummy="$PATH"
  1371         -  for ac_dir in $ac_dummy; do
  1372         -    test -z "$ac_dir" && ac_dir=.
  1373         -    if test -f $ac_dir/$ac_word; then
  1374         -      ac_cv_prog_RANLIB="ranlib"
  1375         -      break
  1376         -    fi
  1377         -  done
  1378         -  IFS="$ac_save_ifs"
  1379         -  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
  1380         -fi
  1381         -fi
  1382         -RANLIB="$ac_cv_prog_RANLIB"
  1383         -if test -n "$RANLIB"; then
  1384         -  echo "$ac_t""$RANLIB" 1>&6
  1385         -else
  1386         -  echo "$ac_t""no" 1>&6
  1387         -fi
  1388         -
  1389         -
  1390         -    #--------------------------------------------------------------------
  1391         -    # Determines the correct binary file extension (.o, .obj, .exe etc.)
  1392         -    #--------------------------------------------------------------------
  1393         -
  1394         -    echo $ac_n "checking for object suffix""... $ac_c" 1>&6
  1395         -echo "configure:1397: checking for object suffix" >&5
  1396         -if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
  1397         -  echo $ac_n "(cached) $ac_c" 1>&6
  1398         -else
  1399         -  rm -f conftest*
  1400         -echo 'int i = 1;' > conftest.$ac_ext
  1401         -if { (eval echo configure:1403: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  1402         -  for ac_file in conftest.*; do
  1403         -    case $ac_file in
  1404         -    *.c) ;;
  1405         -    *) ac_cv_objext=`echo $ac_file | sed -e s/conftest.//` ;;
  1406         -    esac
  1407         -  done
  1408         -else
  1409         -  { echo "configure: error: installation or configuration problem; compiler does not work" 1>&2; exit 1; }
  1410         -fi
  1411         -rm -f conftest*
  1412         -fi
  1413         -
  1414         -echo "$ac_t""$ac_cv_objext" 1>&6
  1415         -OBJEXT=$ac_cv_objext
  1416         -ac_objext=$ac_cv_objext
  1417         -
  1418         -    
  1419         -
  1420         -echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
  1421         -echo "configure:1423: checking for executable suffix" >&5
  1422         -if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
  1423         -  echo $ac_n "(cached) $ac_c" 1>&6
  1424         -else
  1425         -  if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
  1426         -  ac_cv_exeext=.exe
  1427         -else
  1428         -  rm -f conftest*
  1429         -  echo 'int main () { return 0; }' > conftest.$ac_ext
  1430         -  ac_cv_exeext=
  1431         -  if { (eval echo configure:1433: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  1432         -    for file in conftest.*; do
  1433         -      case $file in
  1434         -      *.c | *.o | *.obj) ;;
  1435         -      *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
  1436         -      esac
  1437         -    done
  1438         -  else
  1439         -    { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
  1440         -  fi
  1441         -  rm -f conftest*
  1442         -  test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
  1443         -fi
  1444         -fi
  1445         -
  1446         -EXEEXT=""
  1447         -test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
  1448         -echo "$ac_t""${ac_cv_exeext}" 1>&6
  1449         -ac_exeext=$EXEEXT
  1450         -
  1451         -
  1452         -
  1453         -#--------------------------------------------------------------------
  1454         -# __CHANGE__
  1455         -# Choose which headers you need.  Extension authors should try very
  1456         -# hard to only rely on the Tcl public header files.  Internal headers
  1457         -# contain private data structures and are subject to change without
  1458         -# notice.
  1459         -# This MUST be called after TEA_LOAD_TCLCONFIG / TEA_LOAD_TKCONFIG
  1460         -#--------------------------------------------------------------------
  1461         -
  1462         -
  1463         -    echo $ac_n "checking for Tcl public headers""... $ac_c" 1>&6
  1464         -echo "configure:1466: checking for Tcl public headers" >&5
  1465         -
  1466         -    # Check whether --with-tclinclude or --without-tclinclude was given.
  1467         -if test "${with_tclinclude+set}" = set; then
  1468         -  withval="$with_tclinclude"
  1469         -  with_tclinclude=${withval}
  1470         -fi
  1471         -
  1472         -
  1473         -    if eval "test \"`echo '$''{'ac_cv_c_tclh'+set}'`\" = set"; then
  1474         -  echo $ac_n "(cached) $ac_c" 1>&6
  1475         -else
  1476         -  
  1477         -	# Use the value from --with-tclinclude, if it was given
  1478         -
  1479         -	if test x"${with_tclinclude}" != x ; then
  1480         -	    if test -f "${with_tclinclude}/tcl.h" ; then
  1481         -		ac_cv_c_tclh=${with_tclinclude}
  1482         -	    else
  1483         -		{ echo "configure: error: ${with_tclinclude} directory does not contain tcl.h" 1>&2; exit 1; }
  1484         -	    fi
  1485         -	else
  1486         -	    # Check order: pkg --prefix location, Tcl's --prefix location,
  1487         -	    # directory of tclConfig.sh, and Tcl source directory.
  1488         -	    # Looking in the source dir is not ideal, but OK.
  1489         -
  1490         -	    eval "temp_includedir=${includedir}"
  1491         -	    list="`ls -d ${temp_includedir}      2>/dev/null` \
  1492         -		`ls -d ${TCL_PREFIX}/include     2>/dev/null` \
  1493         -		`ls -d ${TCL_BIN_DIR}/../include 2>/dev/null` \
  1494         -		`ls -d ${TCL_SRC_DIR}/generic    2>/dev/null`"
  1495         -	    if test "${TEA_PLATFORM}" != "windows" -o "$GCC" = "yes"; then
  1496         -		list="$list /usr/local/include /usr/include"
  1497         -	    fi
  1498         -	    for i in $list ; do
  1499         -		if test -f "$i/tcl.h" ; then
  1500         -		    ac_cv_c_tclh=$i
  1501         -		    break
  1502         -		fi
  1503         -	    done
  1504         -	fi
  1505         -    
  1506         -fi
  1507         -
  1508         -
  1509         -    # Print a message based on how we determined the include path
  1510         -
  1511         -    if test x"${ac_cv_c_tclh}" = x ; then
  1512         -	{ echo "configure: error: tcl.h not found.  Please specify its location with --with-tclinclude" 1>&2; exit 1; }
  1513         -    else
  1514         -	echo "$ac_t""${ac_cv_c_tclh}" 1>&6
  1515         -    fi
  1516         -
  1517         -    # Convert to a native path and substitute into the output files.
  1518         -
  1519         -    INCLUDE_DIR_NATIVE=`${CYGPATH} ${ac_cv_c_tclh}`
  1520         -
  1521         -    TCL_INCLUDES=-I\"${INCLUDE_DIR_NATIVE}\"
  1522         -
  1523         -    
  1524         -
  1525         -#TEA_PRIVATE_TCL_HEADERS
  1526         -
  1527         -#TEA_PUBLIC_TK_HEADERS
  1528         -#TEA_PRIVATE_TK_HEADERS
  1529         -
  1530         -#--------------------------------------------------------------------
  1531         -# __CHANGE__
  1532         -# A few miscellaneous platform-specific items:
  1533         -#
  1534         -# Define a special symbol for Windows (BUILD_sample in this case) so
  1535         -# that we create the export library with the dll.  See sha1.h on how
  1536         -# to use this.
  1537         -#
  1538         -# Windows creates a few extra files that need to be cleaned up.
  1539         -# You can add more files to clean if your extension creates any extra
  1540         -# files.
  1541         -#
  1542         -# Define any extra compiler flags in the PACKAGE_CFLAGS variable.
  1543         -# These will be appended to the current set of compiler flags for
  1544         -# your system.
  1545         -#--------------------------------------------------------------------
  1546         -
  1547         -if test "${TEA_PLATFORM}" = "windows" ; then
  1548         -    cat >> confdefs.h <<\EOF
  1549         -#define BUILD_tdom 1
  1550         -EOF
  1551         -
  1552         -    CLEANFILES="pkgIndex.tcl *.lib *.dll *.exp *.ilk *.pdb vc*.pch"
  1553         -    EXTRA_SOURCES='$(WIN_SOURCES)'
  1554         -    VERSION=${MAJOR_VERSION}${MINOR_VERSION}${PATCHLEVEL}
  1555         -else
  1556         -    CLEANFILES="pkgIndex.tcl"
  1557         -    EXTRA_SOURCES='$(UNIX_SOURCES)'
  1558         -    VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${PATCHLEVEL}
  1559         -fi
  1560         -
  1561         -
  1562         -
  1563         -
  1564         -
  1565         -#--------------------------------------------------------------------
  1566         -# We put this here so that you can compile with -DVERSION="1.2" to
  1567         -# encode the package version directly into the source files.
  1568         -#--------------------------------------------------------------------
  1569         -
  1570         -eval cat >> confdefs.h <<EOF
  1571         -#define VERSION "${VERSION}"
  1572         -EOF
  1573         -
  1574         -
  1575         -#--------------------------------------------------------------------
  1576         -# Setup the current source directory so extensions building against
  1577         -# tDOM stub library will know where to find binary directories.
  1578         -# Setup paths and linker specification of the stub library.
  1579         -# Note: some of those below are replicated in Makefile.in as well.
  1580         -#--------------------------------------------------------------------
  1581         -
  1582         -tdom_SRC_DIR=`cd ${srcdir}; pwd`
  1583         -
  1584         -pkglibdir="${exec_prefix}/lib/${PACKAGE}${VERSION}"
  1585         -tdomstub_LIB_FLAG="-ltdomstub${VERSION}${TCL_DBGX}"
  1586         -
  1587         -tdomstub_BUILD_SPEC="-L`pwd` ${tdomstub_LIB_FLAG}"
  1588         -tdomstub_FILE_SPEC="-L${pkglibdir} ${tdomstub_LIB_FLAG}"
  1589         -
  1590         -
  1591         -
  1592         -
  1593         -
  1594         -#--------------------------------------------------------------------
  1595         -# Check whether --enable-threads or --disable-threads was given.
  1596         -#--------------------------------------------------------------------
  1597         -
  1598         -
  1599         -    # Check whether --enable-threads or --disable-threads was given.
  1600         -if test "${enable_threads+set}" = set; then
  1601         -  enableval="$enable_threads"
  1602         -  tcl_ok=$enableval
  1603         -else
  1604         -  tcl_ok=
  1605         -fi
  1606         -
  1607         -
  1608         -    if test "$tcl_ok" = "yes"; then
  1609         -	TCL_THREADS=1
  1610         -
  1611         -	if test "${TEA_PLATFORM}" != "windows" ; then
  1612         -	    # We are always OK on Windows, so check what this platform wants.
  1613         -	    cat >> confdefs.h <<\EOF
  1614         -#define USE_THREAD_ALLOC 1
  1615         -EOF
  1616         -
  1617         -	    cat >> confdefs.h <<\EOF
  1618         -#define _REENTRANT 1
  1619         -EOF
  1620         -
  1621         -	    cat >> confdefs.h <<\EOF
  1622         -#define _THREAD_SAFE 1
  1623         -EOF
  1624         -
  1625         -	    echo $ac_n "checking for pthread_mutex_init in -lpthread""... $ac_c" 1>&6
  1626         -echo "configure:1628: checking for pthread_mutex_init in -lpthread" >&5
  1627         -ac_lib_var=`echo pthread'_'pthread_mutex_init | sed 'y%./+-%__p_%'`
  1628         -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
  1629         -  echo $ac_n "(cached) $ac_c" 1>&6
  1630         -else
  1631         -  ac_save_LIBS="$LIBS"
  1632         -LIBS="-lpthread  $LIBS"
  1633         -cat > conftest.$ac_ext <<EOF
  1634         -#line 1636 "configure"
  1635         -#include "confdefs.h"
  1636         -/* Override any gcc2 internal prototype to avoid an error.  */
  1637         -/* We use char because int might match the return type of a gcc2
  1638         -    builtin and then its argument prototype would still apply.  */
  1639         -char pthread_mutex_init();
  1640         -
  1641         -int main() {
  1642         -pthread_mutex_init()
  1643         -; return 0; }
  1644         -EOF
  1645         -if { (eval echo configure:1647: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
  1646         -  rm -rf conftest*
  1647         -  eval "ac_cv_lib_$ac_lib_var=yes"
  1648         -else
  1649         -  echo "configure: failed program was:" >&5
  1650         -  cat conftest.$ac_ext >&5
  1651         -  rm -rf conftest*
  1652         -  eval "ac_cv_lib_$ac_lib_var=no"
  1653         -fi
  1654         -rm -f conftest*
  1655         -LIBS="$ac_save_LIBS"
  1656         -
  1657         -fi
  1658         -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
  1659         -  echo "$ac_t""yes" 1>&6
  1660         -  tcl_ok=yes
  1661         -else
  1662         -  echo "$ac_t""no" 1>&6
  1663         -tcl_ok=no
  1664         -fi
  1665         -
  1666         -	    if test "$tcl_ok" = "no"; then
  1667         -		# Check a little harder for __pthread_mutex_init in the
  1668         -		# same library, as some systems hide it there until
  1669         -		# pthread.h is defined.	 We could alternatively do an
  1670         -		# AC_TRY_COMPILE with pthread.h, but that will work with
  1671         -		# libpthread really doesn't exist, like AIX 4.2.
  1672         -		# [Bug: 4359]
  1673         -		echo $ac_n "checking for __pthread_mutex_init in -lpthread""... $ac_c" 1>&6
  1674         -echo "configure:1676: checking for __pthread_mutex_init in -lpthread" >&5
  1675         -ac_lib_var=`echo pthread'_'__pthread_mutex_init | sed 'y%./+-%__p_%'`
  1676         -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
  1677         -  echo $ac_n "(cached) $ac_c" 1>&6
  1678         -else
  1679         -  ac_save_LIBS="$LIBS"
  1680         -LIBS="-lpthread  $LIBS"
  1681         -cat > conftest.$ac_ext <<EOF
  1682         -#line 1684 "configure"
  1683         -#include "confdefs.h"
  1684         -/* Override any gcc2 internal prototype to avoid an error.  */
  1685         -/* We use char because int might match the return type of a gcc2
  1686         -    builtin and then its argument prototype would still apply.  */
  1687         -char __pthread_mutex_init();
  1688         -
  1689         -int main() {
  1690         -__pthread_mutex_init()
  1691         -; return 0; }
  1692         -EOF
  1693         -if { (eval echo configure:1695: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
  1694         -  rm -rf conftest*
  1695         -  eval "ac_cv_lib_$ac_lib_var=yes"
  1696         -else
  1697         -  echo "configure: failed program was:" >&5
  1698         -  cat conftest.$ac_ext >&5
  1699         -  rm -rf conftest*
  1700         -  eval "ac_cv_lib_$ac_lib_var=no"
  1701         -fi
  1702         -rm -f conftest*
  1703         -LIBS="$ac_save_LIBS"
  1704         -
  1705         -fi
  1706         -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
  1707         -  echo "$ac_t""yes" 1>&6
  1708         -  tcl_ok=yes
  1709         -else
  1710         -  echo "$ac_t""no" 1>&6
  1711         -tcl_ok=no
  1712         -fi
  1713         -
  1714         -	    fi
  1715         -	    
  1716         -	    if test "$tcl_ok" = "yes"; then
  1717         -		# The space is needed
  1718         -		THREADS_LIBS=" -lpthread"
  1719         -	    else
  1720         -		echo $ac_n "checking for pthread_mutex_init in -lpthreads""... $ac_c" 1>&6
  1721         -echo "configure:1723: checking for pthread_mutex_init in -lpthreads" >&5
  1722         -ac_lib_var=`echo pthreads'_'pthread_mutex_init | sed 'y%./+-%__p_%'`
  1723         -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
  1724         -  echo $ac_n "(cached) $ac_c" 1>&6
  1725         -else
  1726         -  ac_save_LIBS="$LIBS"
  1727         -LIBS="-lpthreads  $LIBS"
  1728         -cat > conftest.$ac_ext <<EOF
  1729         -#line 1731 "configure"
  1730         -#include "confdefs.h"
  1731         -/* Override any gcc2 internal prototype to avoid an error.  */
  1732         -/* We use char because int might match the return type of a gcc2
  1733         -    builtin and then its argument prototype would still apply.  */
  1734         -char pthread_mutex_init();
  1735         -
  1736         -int main() {
  1737         -pthread_mutex_init()
  1738         -; return 0; }
  1739         -EOF
  1740         -if { (eval echo configure:1742: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
  1741         -  rm -rf conftest*
  1742         -  eval "ac_cv_lib_$ac_lib_var=yes"
  1743         -else
  1744         -  echo "configure: failed program was:" >&5
  1745         -  cat conftest.$ac_ext >&5
  1746         -  rm -rf conftest*
  1747         -  eval "ac_cv_lib_$ac_lib_var=no"
  1748         -fi
  1749         -rm -f conftest*
  1750         -LIBS="$ac_save_LIBS"
  1751         -
  1752         -fi
  1753         -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
  1754         -  echo "$ac_t""yes" 1>&6
  1755         -  tcl_ok=yes
  1756         -else
  1757         -  echo "$ac_t""no" 1>&6
  1758         -tcl_ok=no
  1759         -fi
  1760         -
  1761         -		if test "$tcl_ok" = "yes"; then
  1762         -		    # The space is needed
  1763         -		    THREADS_LIBS=" -lpthreads"
  1764         -		else
  1765         -		    echo $ac_n "checking for pthread_mutex_init in -lc""... $ac_c" 1>&6
  1766         -echo "configure:1768: checking for pthread_mutex_init in -lc" >&5
  1767         -ac_lib_var=`echo c'_'pthread_mutex_init | sed 'y%./+-%__p_%'`
  1768         -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
  1769         -  echo $ac_n "(cached) $ac_c" 1>&6
  1770         -else
  1771         -  ac_save_LIBS="$LIBS"
  1772         -LIBS="-lc  $LIBS"
  1773         -cat > conftest.$ac_ext <<EOF
  1774         -#line 1776 "configure"
  1775         -#include "confdefs.h"
  1776         -/* Override any gcc2 internal prototype to avoid an error.  */
  1777         -/* We use char because int might match the return type of a gcc2
  1778         -    builtin and then its argument prototype would still apply.  */
  1779         -char pthread_mutex_init();
  1780         -
  1781         -int main() {
  1782         -pthread_mutex_init()
  1783         -; return 0; }
  1784         -EOF
  1785         -if { (eval echo configure:1787: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
  1786         -  rm -rf conftest*
  1787         -  eval "ac_cv_lib_$ac_lib_var=yes"
  1788         -else
  1789         -  echo "configure: failed program was:" >&5
  1790         -  cat conftest.$ac_ext >&5
  1791         -  rm -rf conftest*
  1792         -  eval "ac_cv_lib_$ac_lib_var=no"
  1793         -fi
  1794         -rm -f conftest*
  1795         -LIBS="$ac_save_LIBS"
  1796         -
  1797         -fi
  1798         -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
  1799         -  echo "$ac_t""yes" 1>&6
  1800         -  tcl_ok=yes
  1801         -else
  1802         -  echo "$ac_t""no" 1>&6
  1803         -tcl_ok=no
  1804         -fi
  1805         -
  1806         -		    if test "$tcl_ok" = "no"; then
  1807         -			echo $ac_n "checking for pthread_mutex_init in -lc_r""... $ac_c" 1>&6
  1808         -echo "configure:1810: checking for pthread_mutex_init in -lc_r" >&5
  1809         -ac_lib_var=`echo c_r'_'pthread_mutex_init | sed 'y%./+-%__p_%'`
  1810         -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
  1811         -  echo $ac_n "(cached) $ac_c" 1>&6
  1812         -else
  1813         -  ac_save_LIBS="$LIBS"
  1814         -LIBS="-lc_r  $LIBS"
  1815         -cat > conftest.$ac_ext <<EOF
  1816         -#line 1818 "configure"
  1817         -#include "confdefs.h"
  1818         -/* Override any gcc2 internal prototype to avoid an error.  */
  1819         -/* We use char because int might match the return type of a gcc2
  1820         -    builtin and then its argument prototype would still apply.  */
  1821         -char pthread_mutex_init();
  1822         -
  1823         -int main() {
  1824         -pthread_mutex_init()
  1825         -; return 0; }
  1826         -EOF
  1827         -if { (eval echo configure:1829: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
  1828         -  rm -rf conftest*
  1829         -  eval "ac_cv_lib_$ac_lib_var=yes"
  1830         -else
  1831         -  echo "configure: failed program was:" >&5
  1832         -  cat conftest.$ac_ext >&5
  1833         -  rm -rf conftest*
  1834         -  eval "ac_cv_lib_$ac_lib_var=no"
  1835         -fi
  1836         -rm -f conftest*
  1837         -LIBS="$ac_save_LIBS"
  1838         -
  1839         -fi
  1840         -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
  1841         -  echo "$ac_t""yes" 1>&6
  1842         -  tcl_ok=yes
  1843         -else
  1844         -  echo "$ac_t""no" 1>&6
  1845         -tcl_ok=no
  1846         -fi
  1847         -
  1848         -			if test "$tcl_ok" = "yes"; then
  1849         -			    # The space is needed
  1850         -			    THREADS_LIBS=" -pthread"
  1851         -			else
  1852         -			    TCL_THREADS=0
  1853         -			    echo "configure: warning: "Don t know how to find pthread lib on your system - thread support disabled"" 1>&2
  1854         -			fi
  1855         -		    fi
  1856         -		fi
  1857         -	    fi
  1858         -	    
  1859         -	    # Does the pthread-implementation provide
  1860         -	    # 'pthread_attr_setstacksize' ?
  1861         -	    for ac_func in pthread_attr_setstacksize
  1862         -do
  1863         -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
  1864         -echo "configure:1866: checking for $ac_func" >&5
  1865         -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
  1866         -  echo $ac_n "(cached) $ac_c" 1>&6
  1867         -else
  1868         -  cat > conftest.$ac_ext <<EOF
  1869         -#line 1871 "configure"
  1870         -#include "confdefs.h"
  1871         -/* System header to define __stub macros and hopefully few prototypes,
  1872         -    which can conflict with char $ac_func(); below.  */
  1873         -#include <assert.h>
  1874         -/* Override any gcc2 internal prototype to avoid an error.  */
  1875         -/* We use char because int might match the return type of a gcc2
  1876         -    builtin and then its argument prototype would still apply.  */
  1877         -char $ac_func();
  1878         -
  1879         -int main() {
  1880         -
  1881         -/* The GNU C library defines this for functions which it implements
  1882         -    to always fail with ENOSYS.  Some functions are actually named
  1883         -    something starting with __ and the normal name is an alias.  */
  1884         -#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
  1885         -choke me
  1886         -#else
  1887         -$ac_func();
  1888         -#endif
  1889         -
  1890         -; return 0; }
  1891         -EOF
  1892         -if { (eval echo configure:1894: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
  1893         -  rm -rf conftest*
  1894         -  eval "ac_cv_func_$ac_func=yes"
  1895         -else
  1896         -  echo "configure: failed program was:" >&5
  1897         -  cat conftest.$ac_ext >&5
  1898         -  rm -rf conftest*
  1899         -  eval "ac_cv_func_$ac_func=no"
  1900         -fi
  1901         -rm -f conftest*
  1902         -fi
  1903         -
  1904         -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
  1905         -  echo "$ac_t""yes" 1>&6
  1906         -    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
  1907         -  cat >> confdefs.h <<EOF
  1908         -#define $ac_tr_func 1
  1909         -EOF
  1910         - 
  1911         -else
  1912         -  echo "$ac_t""no" 1>&6
  1913         -fi
  1914         -done
  1915         -
  1916         -	fi
  1917         -    else
  1918         -	TCL_THREADS=0
  1919         -    fi
  1920         -    # Do checking message here to not mess up interleaved configure output
  1921         -    echo $ac_n "checking for building with threads""... $ac_c" 1>&6
  1922         -echo "configure:1924: checking for building with threads" >&5
  1923         -    if test "${TCL_THREADS}" = "1"; then
  1924         -	cat >> confdefs.h <<\EOF
  1925         -#define TCL_THREADS 1
  1926         -EOF
  1927         -
  1928         -	echo "$ac_t""yes" 1>&6
  1929         -    else
  1930         -	echo "$ac_t""no (default)" 1>&6
  1931         -    fi
  1932         -    # TCL_THREADS sanity checking.  See if our request for building with
  1933         -    # threads is the same as the way Tcl was built.  If not, warn the user.
  1934         -    case ${TCL_DEFS} in
  1935         -	*THREADS=1*)
  1936         -	    if test "${TCL_THREADS}" = "0"; then
  1937         -		echo "configure: warning: 
  1938         -    Building ${PACKAGE} without threads enabled, but building against a Tcl
  1939         -    that IS thread-enabled." 1>&2
  1940         -	    fi
  1941         -	    ;;
  1942         -	*)
  1943         -	    if test "${TCL_THREADS}" = "1"; then
  1944         -		echo "configure: warning: 
  1945         -    --enable-threads requested, but attempting building against a Tcl
  1946         -    that is NOT thread-enabled." 1>&2
  1947         -	    fi
  1948         -	    ;;
  1949         -    esac
  1950         -    
  1951         -
  1952         -
  1953         -#--------------------------------------------------------------------
  1954         -# The statement below defines a collection of symbols related to
  1955         -# building as a shared library instead of a static library.
  1956         -#--------------------------------------------------------------------
  1957         -
  1958         -
  1959         -    echo $ac_n "checking how to build libraries""... $ac_c" 1>&6
  1960         -echo "configure:1962: checking how to build libraries" >&5
  1961         -    # Check whether --enable-shared or --disable-shared was given.
  1962         -if test "${enable_shared+set}" = set; then
  1963         -  enableval="$enable_shared"
  1964         -  tcl_ok=$enableval
  1965         -else
  1966         -  tcl_ok=yes
  1967         -fi
  1968         -
  1969         -
  1970         -    if test "${enable_shared+set}" = set; then
  1971         -	enableval="$enable_shared"
  1972         -	tcl_ok=$enableval
  1973         -    else
  1974         -	tcl_ok=yes
  1975         -    fi
  1976         -
  1977         -    if test "$tcl_ok" = "yes" ; then
  1978         -	echo "$ac_t""shared" 1>&6
  1979         -	SHARED_BUILD=1
  1980         -    else
  1981         -	echo "$ac_t""static" 1>&6
  1982         -	SHARED_BUILD=0
  1983         -	cat >> confdefs.h <<\EOF
  1984         -#define STATIC_BUILD 1
  1985         -EOF
  1986         -
  1987         -    fi
  1988         -
  1989         -
  1990         -#--------------------------------------------------------------------
  1991         -# This macro figures out what flags to use with the compiler/linker
  1992         -# when building shared/static debug/optimized objects.  This information
  1993         -# can be taken from the tclConfig.sh file, but this figures it all out.
  1994         -#--------------------------------------------------------------------
  1995         -
  1996         -echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
  1997         -echo "configure:1999: checking how to run the C preprocessor" >&5
  1998         -# On Suns, sometimes $CPP names a directory.
  1999         -if test -n "$CPP" && test -d "$CPP"; then
  2000         -  CPP=
  2001         -fi
  2002         -if test -z "$CPP"; then
  2003         -if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
  2004         -  echo $ac_n "(cached) $ac_c" 1>&6
  2005         -else
  2006         -    # This must be in double quotes, not single quotes, because CPP may get
  2007         -  # substituted into the Makefile and "${CC-cc}" will confuse make.
  2008         -  CPP="${CC-cc} -E"
  2009         -  # On the NeXT, cc -E runs the code through the compiler's parser,
  2010         -  # not just through cpp.
  2011         -  cat > conftest.$ac_ext <<EOF
  2012         -#line 2014 "configure"
  2013         -#include "confdefs.h"
  2014         -#include <assert.h>
  2015         -Syntax Error
  2016         -EOF
  2017         -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  2018         -{ (eval echo configure:2020: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  2019         -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
  2020         -if test -z "$ac_err"; then
  2021         -  :
  2022         -else
  2023         -  echo "$ac_err" >&5
  2024         -  echo "configure: failed program was:" >&5
  2025         -  cat conftest.$ac_ext >&5
  2026         -  rm -rf conftest*
  2027         -  CPP="${CC-cc} -E -traditional-cpp"
  2028         -  cat > conftest.$ac_ext <<EOF
  2029         -#line 2031 "configure"
  2030         -#include "confdefs.h"
  2031         -#include <assert.h>
  2032         -Syntax Error
  2033         -EOF
  2034         -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  2035         -{ (eval echo configure:2037: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  2036         -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
  2037         -if test -z "$ac_err"; then
  2038         -  :
  2039         -else
  2040         -  echo "$ac_err" >&5
  2041         -  echo "configure: failed program was:" >&5
  2042         -  cat conftest.$ac_ext >&5
  2043         -  rm -rf conftest*
  2044         -  CPP="${CC-cc} -nologo -E"
  2045         -  cat > conftest.$ac_ext <<EOF
  2046         -#line 2048 "configure"
  2047         -#include "confdefs.h"
  2048         -#include <assert.h>
  2049         -Syntax Error
  2050         -EOF
  2051         -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  2052         -{ (eval echo configure:2054: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  2053         -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
  2054         -if test -z "$ac_err"; then
  2055         -  :
  2056         -else
  2057         -  echo "$ac_err" >&5
  2058         -  echo "configure: failed program was:" >&5
  2059         -  cat conftest.$ac_ext >&5
  2060         -  rm -rf conftest*
  2061         -  CPP=/lib/cpp
  2062         -fi
  2063         -rm -f conftest*
  2064         -fi
  2065         -rm -f conftest*
  2066         -fi
  2067         -rm -f conftest*
  2068         -  ac_cv_prog_CPP="$CPP"
  2069         -fi
  2070         -  CPP="$ac_cv_prog_CPP"
  2071         -else
  2072         -  ac_cv_prog_CPP="$CPP"
  2073         -fi
  2074         -echo "$ac_t""$CPP" 1>&6
  2075         -
  2076         -
  2077         -    if test x"${TEA_INITED}" = x ; then
  2078         -	# Can't refer to exact macro name or it will be substituted
  2079         -	{ echo "configure: error: Must call TEA INIT before CONFIG_CFLAGS" 1>&2; exit 1; }
  2080         -    fi
  2081         -
  2082         -    # Step 0: Enable 64 bit support?
  2083         -
  2084         -    echo $ac_n "checking if 64bit support is enabled""... $ac_c" 1>&6
  2085         -echo "configure:2087: checking if 64bit support is enabled" >&5
  2086         -    # Check whether --enable-64bit or --disable-64bit was given.
  2087         -if test "${enable_64bit+set}" = set; then
  2088         -  enableval="$enable_64bit"
  2089         -  do64bit=$enableval
  2090         -else
  2091         -  do64bit=no
  2092         -fi
  2093         -
  2094         -    echo "$ac_t""$do64bit" 1>&6
  2095         - 
  2096         -    # Step 0.b: Enable Solaris 64 bit VIS support?
  2097         -
  2098         -    echo $ac_n "checking if 64bit Sparc VIS support is requested""... $ac_c" 1>&6
  2099         -echo "configure:2101: checking if 64bit Sparc VIS support is requested" >&5
  2100         -    # Check whether --enable-64bit-vis or --disable-64bit-vis was given.
  2101         -if test "${enable_64bit_vis+set}" = set; then
  2102         -  enableval="$enable_64bit_vis"
  2103         -  do64bitVIS=$enableval
  2104         -else
  2105         -  do64bitVIS=no
  2106         -fi
  2107         -
  2108         -    echo "$ac_t""$do64bitVIS" 1>&6
  2109         -
  2110         -    if test "$do64bitVIS" = "yes"; then
  2111         -	# Force 64bit on with VIS
  2112         -	do64bit=yes
  2113         -    fi
  2114         -
  2115         -    # Step 1: set the variable "system" to hold the name and version number
  2116         -    # for the system.  This can usually be done via the "uname" command, but
  2117         -    # there are a few systems, like Next, where this doesn't work.
  2118         -
  2119         -    echo $ac_n "checking system version (for dynamic loading)""... $ac_c" 1>&6
  2120         -echo "configure:2122: checking system version (for dynamic loading)" >&5
  2121         -    if test -f /usr/lib/NextStep/software_version; then
  2122         -	system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version`
  2123         -    else
  2124         -	system=`uname -s`-`uname -r`
  2125         -	if test "$?" -ne 0 ; then
  2126         -	    echo "$ac_t""unknown (can't find uname command)" 1>&6
  2127         -	    system=unknown
  2128         -	else
  2129         -	    # Special check for weird MP-RAS system (uname returns weird
  2130         -	    # results, and the version is kept in special file).
  2131         -	
  2132         -	    if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
  2133         -		system=MP-RAS-`awk '{print }' /etc/.relid'`
  2134         -	    fi
  2135         -	    if test "`uname -s`" = "AIX" ; then
  2136         -		system=AIX-`uname -v`.`uname -r`
  2137         -	    fi
  2138         -	    if test "${TEA_PLATFORM}" = "windows" ; then
  2139         -		system=windows
  2140         -	    fi
  2141         -	    echo "$ac_t""$system" 1>&6
  2142         -	fi
  2143         -    fi
  2144         -
  2145         -    # Step 2: check for existence of -ldl library.  This is needed because
  2146         -    # Linux can use either -ldl or -ldld for dynamic loading.
  2147         -
  2148         -    echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
  2149         -echo "configure:2151: checking for dlopen in -ldl" >&5
  2150         -ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
  2151         -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
  2152         -  echo $ac_n "(cached) $ac_c" 1>&6
  2153         -else
  2154         -  ac_save_LIBS="$LIBS"
  2155         -LIBS="-ldl  $LIBS"
  2156         -cat > conftest.$ac_ext <<EOF
  2157         -#line 2159 "configure"
  2158         -#include "confdefs.h"
  2159         -/* Override any gcc2 internal prototype to avoid an error.  */
  2160         -/* We use char because int might match the return type of a gcc2
  2161         -    builtin and then its argument prototype would still apply.  */
  2162         -char dlopen();
  2163         -
  2164         -int main() {
  2165         -dlopen()
  2166         -; return 0; }
  2167         -EOF
  2168         -if { (eval echo configure:2170: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
  2169         -  rm -rf conftest*
  2170         -  eval "ac_cv_lib_$ac_lib_var=yes"
  2171         -else
  2172         -  echo "configure: failed program was:" >&5
  2173         -  cat conftest.$ac_ext >&5
  2174         -  rm -rf conftest*
  2175         -  eval "ac_cv_lib_$ac_lib_var=no"
  2176         -fi
  2177         -rm -f conftest*
  2178         -LIBS="$ac_save_LIBS"
  2179         -
  2180         -fi
  2181         -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
  2182         -  echo "$ac_t""yes" 1>&6
  2183         -  have_dl=yes
  2184         -else
  2185         -  echo "$ac_t""no" 1>&6
  2186         -have_dl=no
  2187         -fi
  2188         -
  2189         -
  2190         -    # Step 3: set configuration options based on system name and version.
  2191         -
  2192         -    do64bit_ok=no
  2193         -    EXTRA_CFLAGS=""
  2194         -    TCL_EXPORT_FILE_SUFFIX=""
  2195         -    UNSHARED_LIB_SUFFIX=""
  2196         -    TCL_TRIM_DOTS='`echo ${VERSION} | tr -d .`'
  2197         -    ECHO_VERSION='`echo ${VERSION}`'
  2198         -    TCL_LIB_VERSIONS_OK=ok
  2199         -    CFLAGS_DEBUG=-g
  2200         -    CFLAGS_OPTIMIZE=-O
  2201         -    if test "$GCC" = "yes" ; then
  2202         -	CFLAGS_WARNING="-Wall -Wconversion -Wno-implicit-int"
  2203         -    else
  2204         -	CFLAGS_WARNING=""
  2205         -    fi
  2206         -    TCL_NEEDS_EXP_FILE=0
  2207         -    TCL_BUILD_EXP_FILE=""
  2208         -    TCL_EXP_FILE=""
  2209         -    # Extract the first word of "ar", so it can be a program name with args.
  2210         -set dummy ar; ac_word=$2
  2211         -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
  2212         -echo "configure:2214: checking for $ac_word" >&5
  2213         -if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
  2214         -  echo $ac_n "(cached) $ac_c" 1>&6
  2215         -else
  2216         -  if test -n "$AR"; then
  2217         -  ac_cv_prog_AR="$AR" # Let the user override the test.
  2218         -else
  2219         -  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
  2220         -  ac_dummy="$PATH"
  2221         -  for ac_dir in $ac_dummy; do
  2222         -    test -z "$ac_dir" && ac_dir=.
  2223         -    if test -f $ac_dir/$ac_word; then
  2224         -      ac_cv_prog_AR="ar"
  2225         -      break
  2226         -    fi
  2227         -  done
  2228         -  IFS="$ac_save_ifs"
  2229         -fi
  2230         -fi
  2231         -AR="$ac_cv_prog_AR"
  2232         -if test -n "$AR"; then
  2233         -  echo "$ac_t""$AR" 1>&6
  2234         -else
  2235         -  echo "$ac_t""no" 1>&6
  2236         -fi
  2237         -
  2238         -    STLIB_LD='${AR} cr'
  2239         -    case $system in
  2240         -	windows)
  2241         -	    # This is a 2-stage check to make sure we have the 64-bit SDK
  2242         -	    # We have to know where the SDK is installed.
  2243         -	    if test "$do64bit" = "yes" ; then
  2244         -		if test "x${MSSDK}x" = "xx" ; then
  2245         -		    MSSDK="C:/Progra~1/Microsoft SDK"
  2246         -		fi
  2247         -		# In order to work in the tortured autoconf environment,
  2248         -		# we need to ensure that this path has no spaces
  2249         -		MSSDK=`cygpath -w -s "$MSSDK" | sed -e 's!\\\!/!g'`
  2250         -		if test ! -d "${MSSDK}/bin/win64" ; then
  2251         -		    echo "configure: warning: "could not find 64-bit SDK to enable 64bit mode"" 1>&2
  2252         -		    do64bit="no"
  2253         -		else
  2254         -		    do64bit_ok="yes"
  2255         -		fi
  2256         -	    fi
  2257         -
  2258         -	    if test "${SHARED_BUILD}" = "0" ; then
  2259         -		runtime=-MT
  2260         -	    else
  2261         -		runtime=-MD
  2262         -	    fi
  2263         -
  2264         -	    if test "$do64bit" = "yes" ; then
  2265         -		# All this magic is necessary for the Win64 SDK RC1 - hobbs
  2266         -		export CC="${MSSDK}/Bin/Win64/cl.exe \
  2267         -	    -I${MSSDK}/Include/prerelease -I${MSSDK}/Include/Win64/crt \
  2268         -	    -I${MSSDK}/Include"
  2269         -		export RC="${MSSDK}/bin/rc.exe"
  2270         -		export lflags="-MACHINE:IA64 -LIBPATH:${MSSDK}/Lib/IA64 \
  2271         -	    -LIBPATH:${MSSDK}/Lib/Prerelease/IA64"
  2272         -		export STLIB_LD="${MSSDK}/bin/win64/lib.exe -nologo ${lflags}"
  2273         -		export LINKBIN="${MSSDK}/bin/win64/link.exe ${lflags}"
  2274         -		CFLAGS_DEBUG="-nologo -Zi -Od -W3 ${runtime}d"
  2275         -		CFLAGS_OPTIMIZE="-nologo -O2 -Gs -W2 ${runtime}"
  2276         -	    else
  2277         -		RC="rc"
  2278         -		STLIB_LD="lib -nologo"
  2279         -    		LINKBIN="link -link50compat"
  2280         -		CFLAGS_DEBUG="-nologo -Z7 -Od -W3 -WX ${runtime}d"
  2281         -		CFLAGS_OPTIMIZE="-nologo -O2 -Gs -GD -W2 ${runtime}"
  2282         -	    fi
  2283         -
  2284         -	    if test "$MINGW32" = "yes"; then
  2285         -		# mingw gcc mode
  2286         -		CFLAGS_DEBUG="-g"
  2287         -		CFLAGS_OPTIMIZE="-O2"
  2288         -		SHLIB_LD="gcc -shared"
  2289         -		STLIB_LD='${AR} cr'
  2290         -		UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
  2291         -		LDFLAGS_CONSOLE="-wl,--subsystem,console ${lflags}"
  2292         -		LDFLAGS_WINDOW="-wl,--subsystem,windows ${lflags}"
  2293         -	    else
  2294         -		SHLIB_LD="${LINKBIN} -dll -nologo"
  2295         -		UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.lib'
  2296         -		EXTRA_CFLAGS="-YX"
  2297         -		# For information on what debugtype is most useful, see:
  2298         -		# http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp
  2299         -		# This essentially turns it all on.
  2300         -		LDFLAGS_DEBUG="-debug:full -debugtype:both -warn:2"
  2301         -		LDFLAGS_OPTIMIZE="-release"
  2302         -		LDFLAGS_CONSOLE="-link -subsystem:console ${lflags}"
  2303         -		LDFLAGS_WINDOW="-link -subsystem:windows ${lflags}"
  2304         -		PATHTYPE=-w
  2305         -	    fi
  2306         -
  2307         -	    SHLIB_LD_LIBS='${LIBS}'
  2308         -	    SHLIB_SUFFIX=".dll"
  2309         -	    SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.dll'
  2310         -
  2311         -	    TCL_LIB_VERSIONS_OK=nodots
  2312         -	    # Bogus to avoid getting this turned off
  2313         -	    DL_OBJS="tclLoadNone.obj"
  2314         -    	    ;;
  2315         -	AIX-*)
  2316         -	    if test "${TCL_THREADS}" = "1" -a "$GCC" != "yes" ; then
  2317         -		# AIX requires the _r compiler when gcc isn't being used
  2318         -		if test "${CC}" != "cc_r" ; then
  2319         -		    CC=${CC}_r
  2320         -		fi
  2321         -		echo "$ac_t""Using $CC for compiling with threads" 1>&6
  2322         -	    fi
  2323         -	    LIBS="$LIBS -lc"
  2324         -	    SHLIB_CFLAGS=""
  2325         -	    SHLIB_SUFFIX=".so"
  2326         -	    SHLIB_LD_LIBS='${LIBS}'
  2327         -	    if test "`uname -m`" = "ia64" ; then
  2328         -		# AIX-5 uses ELF style dynamic libraries on IA-64, but not PPC
  2329         -		SHLIB_LD="/usr/ccs/bin/ld -G -z text"
  2330         -		# AIX-5 has dl* in libc.so
  2331         -		DL_LIBS=""
  2332         -		if test "$GCC" = "yes" ; then
  2333         -		    LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
  2334         -		else
  2335         -		    LD_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}'
  2336         -		fi
  2337         -	    else
  2338         -		SHLIB_LD="${TCL_SRC_DIR}/unix/ldAix /bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry"
  2339         -		DL_LIBS="-ldl"
  2340         -		LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
  2341         -		TCL_NEEDS_EXP_FILE=1
  2342         -		TCL_EXPORT_FILE_SUFFIX='${VERSION}\$\{DBGX\}.exp'
  2343         -	    fi
  2344         -	    DL_OBJS="tclLoadDl.o"
  2345         -	    LDFLAGS=""
  2346         -
  2347         -	    # AIX v<=4.1 has some different flags than 4.2+
  2348         -	    if test "$system" = "AIX-4.1" -o "`uname -v`" -lt "4" ; then
  2349         -		LIBOBJS="$LIBOBJS tclLoadAix.o"
  2350         -		DL_LIBS="-lld"
  2351         -	    fi
  2352         -
  2353         -	    # On AIX <=v4 systems, libbsd.a has to be linked in to support
  2354         -	    # non-blocking file IO.  This library has to be linked in after
  2355         -	    # the MATH_LIBS or it breaks the pow() function.  The way to
  2356         -	    # insure proper sequencing, is to add it to the tail of MATH_LIBS.
  2357         -	    # This library also supplies gettimeofday.
  2358         -	    #
  2359         -	    # AIX does not have a timezone field in struct tm. When the AIX
  2360         -	    # bsd library is used, the timezone global and the gettimeofday
  2361         -	    # methods are to be avoided for timezone deduction instead, we
  2362         -	    # deduce the timezone by comparing the localtime result on a
  2363         -	    # known GMT value.
  2364         -
  2365         -	    echo $ac_n "checking for gettimeofday in -lbsd""... $ac_c" 1>&6
  2366         -echo "configure:2368: checking for gettimeofday in -lbsd" >&5
  2367         -ac_lib_var=`echo bsd'_'gettimeofday | sed 'y%./+-%__p_%'`
  2368         -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
  2369         -  echo $ac_n "(cached) $ac_c" 1>&6
  2370         -else
  2371         -  ac_save_LIBS="$LIBS"
  2372         -LIBS="-lbsd  $LIBS"
  2373         -cat > conftest.$ac_ext <<EOF
  2374         -#line 2376 "configure"
  2375         -#include "confdefs.h"
  2376         -/* Override any gcc2 internal prototype to avoid an error.  */
  2377         -/* We use char because int might match the return type of a gcc2
  2378         -    builtin and then its argument prototype would still apply.  */
  2379         -char gettimeofday();
  2380         -
  2381         -int main() {
  2382         -gettimeofday()
  2383         -; return 0; }
  2384         -EOF
  2385         -if { (eval echo configure:2387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
  2386         -  rm -rf conftest*
  2387         -  eval "ac_cv_lib_$ac_lib_var=yes"
  2388         -else
  2389         -  echo "configure: failed program was:" >&5
  2390         -  cat conftest.$ac_ext >&5
  2391         -  rm -rf conftest*
  2392         -  eval "ac_cv_lib_$ac_lib_var=no"
  2393         -fi
  2394         -rm -f conftest*
  2395         -LIBS="$ac_save_LIBS"
  2396         -
  2397         -fi
  2398         -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
  2399         -  echo "$ac_t""yes" 1>&6
  2400         -  libbsd=yes
  2401         -else
  2402         -  echo "$ac_t""no" 1>&6
  2403         -libbsd=no
  2404         -fi
  2405         -
  2406         -	    if test $libbsd = yes; then
  2407         -	    	MATH_LIBS="$MATH_LIBS -lbsd"
  2408         -	    	cat >> confdefs.h <<\EOF
  2409         -#define USE_DELTA_FOR_TZ 1
  2410         -EOF
  2411         -
  2412         -	    fi
  2413         -
  2414         -	    # Check to enable 64-bit flags for compiler/linker on AIX 5+
  2415         -	    if test "$do64bit" = "yes" -a "`uname -v`" -gt "4" ; then
  2416         -		if test "$GCC" = "yes" ; then
  2417         -		    echo "configure: warning: "64bit mode not supported with GCC on $system"" 1>&2
  2418         -		else 
  2419         -		    do64bit_ok=yes
  2420         -		    EXTRA_CFLAGS="-q64"
  2421         -		    LDFLAGS="-q64"
  2422         -		fi
  2423         -	    fi
  2424         -	    ;;
  2425         -	BSD/OS-2.1*|BSD/OS-3*)
  2426         -	    SHLIB_CFLAGS=""
  2427         -	    SHLIB_LD="shlicc -r"
  2428         -	    SHLIB_LD_LIBS='${LIBS}'
  2429         -	    SHLIB_SUFFIX=".so"
  2430         -	    DL_OBJS="tclLoadDl.o"
  2431         -	    DL_LIBS="-ldl"
  2432         -	    LDFLAGS=""
  2433         -	    LD_SEARCH_FLAGS=""
  2434         -	    ;;
  2435         -	BSD/OS-4.*)
  2436         -	    SHLIB_CFLAGS="-export-dynamic -fPIC"
  2437         -	    SHLIB_LD="cc -shared"
  2438         -	    SHLIB_LD_LIBS='${LIBS}'
  2439         -	    SHLIB_SUFFIX=".so"
  2440         -	    DL_OBJS="tclLoadDl.o"
  2441         -	    DL_LIBS="-ldl"
  2442         -	    LDFLAGS="-export-dynamic"
  2443         -	    LD_SEARCH_FLAGS=""
  2444         -	    ;;
  2445         -	dgux*)
  2446         -	    SHLIB_CFLAGS="-K PIC"
  2447         -	    SHLIB_LD="cc -G"
  2448         -	    SHLIB_LD_LIBS=""
  2449         -	    SHLIB_SUFFIX=".so"
  2450         -	    DL_OBJS="tclLoadDl.o"
  2451         -	    DL_LIBS="-ldl"
  2452         -	    LDFLAGS=""
  2453         -	    LD_SEARCH_FLAGS=""
  2454         -	    ;;
  2455         -	HP-UX-*.11.*)
  2456         -	    # Use updated header definitions where possible
  2457         -	    cat >> confdefs.h <<\EOF
  2458         -#define _XOPEN_SOURCE_EXTENDED 1
  2459         -EOF
  2460         -
  2461         -
  2462         -	    SHLIB_SUFFIX=".sl"
  2463         -	    echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
  2464         -echo "configure:2466: checking for shl_load in -ldld" >&5
  2465         -ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
  2466         -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
  2467         -  echo $ac_n "(cached) $ac_c" 1>&6
  2468         -else
  2469         -  ac_save_LIBS="$LIBS"
  2470         -LIBS="-ldld  $LIBS"
  2471         -cat > conftest.$ac_ext <<EOF
  2472         -#line 2474 "configure"
  2473         -#include "confdefs.h"
  2474         -/* Override any gcc2 internal prototype to avoid an error.  */
  2475         -/* We use char because int might match the return type of a gcc2
  2476         -    builtin and then its argument prototype would still apply.  */
  2477         -char shl_load();
  2478         -
  2479         -int main() {
  2480         -shl_load()
  2481         -; return 0; }
  2482         -EOF
  2483         -if { (eval echo configure:2485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
  2484         -  rm -rf conftest*
  2485         -  eval "ac_cv_lib_$ac_lib_var=yes"
  2486         -else
  2487         -  echo "configure: failed program was:" >&5
  2488         -  cat conftest.$ac_ext >&5
  2489         -  rm -rf conftest*
  2490         -  eval "ac_cv_lib_$ac_lib_var=no"
  2491         -fi
  2492         -rm -f conftest*
  2493         -LIBS="$ac_save_LIBS"
  2494         -
  2495         -fi
  2496         -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
  2497         -  echo "$ac_t""yes" 1>&6
  2498         -  tcl_ok=yes
  2499         -else
  2500         -  echo "$ac_t""no" 1>&6
  2501         -tcl_ok=no
  2502         -fi
  2503         -
  2504         -	    if test "$tcl_ok" = yes; then
  2505         -		SHLIB_CFLAGS="+z"
  2506         -		SHLIB_LD="ld -b"
  2507         -		SHLIB_LD_LIBS=""
  2508         -		DL_OBJS="tclLoadShl.o"
  2509         -		DL_LIBS="-ldld"
  2510         -		LDFLAGS="-Wl,-E"
  2511         -		LD_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
  2512         -	    fi
  2513         -
  2514         -	    # Check to enable 64-bit flags for compiler/linker
  2515         -	    if test "$do64bit" = "yes" ; then
  2516         -		if test "$GCC" = "yes" ; then
  2517         -		    echo "configure: warning: "64bit mode not supported with GCC on $system"" 1>&2
  2518         -		else
  2519         -		    do64bit_ok=yes
  2520         -		    EXTRA_CFLAGS="+DA2.0W"
  2521         -		    LDFLAGS="+DA2.0W $LDFLAGS"
  2522         -		fi
  2523         -	    fi
  2524         -	    ;;
  2525         -	HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*)
  2526         -	    SHLIB_SUFFIX=".sl"
  2527         -	    echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
  2528         -echo "configure:2530: checking for shl_load in -ldld" >&5
  2529         -ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
  2530         -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
  2531         -  echo $ac_n "(cached) $ac_c" 1>&6
  2532         -else
  2533         -  ac_save_LIBS="$LIBS"
  2534         -LIBS="-ldld  $LIBS"
  2535         -cat > conftest.$ac_ext <<EOF
  2536         -#line 2538 "configure"
  2537         -#include "confdefs.h"
  2538         -/* Override any gcc2 internal prototype to avoid an error.  */
  2539         -/* We use char because int might match the return type of a gcc2
  2540         -    builtin and then its argument prototype would still apply.  */
  2541         -char shl_load();
  2542         -
  2543         -int main() {
  2544         -shl_load()
  2545         -; return 0; }
  2546         -EOF
  2547         -if { (eval echo configure:2549: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
  2548         -  rm -rf conftest*
  2549         -  eval "ac_cv_lib_$ac_lib_var=yes"
  2550         -else
  2551         -  echo "configure: failed program was:" >&5
  2552         -  cat conftest.$ac_ext >&5
  2553         -  rm -rf conftest*
  2554         -  eval "ac_cv_lib_$ac_lib_var=no"
  2555         -fi
  2556         -rm -f conftest*
  2557         -LIBS="$ac_save_LIBS"
  2558         -
  2559         -fi
  2560         -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
  2561         -  echo "$ac_t""yes" 1>&6
  2562         -  tcl_ok=yes
  2563         -else
  2564         -  echo "$ac_t""no" 1>&6
  2565         -tcl_ok=no
  2566         -fi
  2567         -
  2568         -	    if test "$tcl_ok" = yes; then
  2569         -		SHLIB_CFLAGS="+z"
  2570         -		SHLIB_LD="ld -b"
  2571         -		SHLIB_LD_LIBS=""
  2572         -		DL_OBJS="tclLoadShl.o"
  2573         -		DL_LIBS="-ldld"
  2574         -		LDFLAGS="-Wl,-E"
  2575         -		LD_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
  2576         -	    fi
  2577         -	    ;;
  2578         -	IRIX-4.*)
  2579         -	    SHLIB_CFLAGS="-G 0"
  2580         -	    SHLIB_SUFFIX=".a"
  2581         -	    SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r -G 0"
  2582         -	    SHLIB_LD_LIBS='${LIBS}'
  2583         -	    DL_OBJS="tclLoadAout.o"
  2584         -	    DL_LIBS=""
  2585         -	    LDFLAGS="-Wl,-D,08000000"
  2586         -	    LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
  2587         -	    SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.a'
  2588         -	    ;;
  2589         -	IRIX-5.*)
  2590         -	    SHLIB_CFLAGS=""
  2591         -	    SHLIB_LD="ld -shared -rdata_shared"
  2592         -	    SHLIB_LD_LIBS='${LIBS}'
  2593         -	    SHLIB_SUFFIX=".so"
  2594         -	    DL_OBJS="tclLoadDl.o"
  2595         -	    DL_LIBS=""
  2596         -	    LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
  2597         -	    EXTRA_CFLAGS=""
  2598         -	    LDFLAGS=""
  2599         -	    ;;
  2600         -	IRIX-6.*|IRIX64-6.5*)
  2601         -	    SHLIB_CFLAGS=""
  2602         -	    SHLIB_LD="ld -n32 -shared -rdata_shared"
  2603         -	    SHLIB_LD_LIBS='${LIBS}'
  2604         -	    SHLIB_SUFFIX=".so"
  2605         -	    DL_OBJS="tclLoadDl.o"
  2606         -	    DL_LIBS=""
  2607         -	    LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
  2608         -	    if test "$GCC" = "yes" ; then
  2609         -		EXTRA_CFLAGS="-mabi=n32"
  2610         -		LDFLAGS="-mabi=n32"
  2611         -	    else
  2612         -		case $system in
  2613         -		    IRIX-6.3)
  2614         -			# Use to build 6.2 compatible binaries on 6.3.
  2615         -			EXTRA_CFLAGS="-n32 -D_OLD_TERMIOS"
  2616         -			;;
  2617         -		    *)
  2618         -			EXTRA_CFLAGS="-n32"
  2619         -			;;
  2620         -		esac
  2621         -		LDFLAGS="-n32"
  2622         -	    fi
  2623         -	    ;;
  2624         -	IRIX64-6.*)
  2625         -	    SHLIB_CFLAGS=""
  2626         -	    SHLIB_LD="ld -n32 -shared -rdata_shared"
  2627         -	    SHLIB_LD_LIBS='${LIBS}'
  2628         -	    SHLIB_SUFFIX=".so"
  2629         -	    DL_OBJS="tclLoadDl.o"
  2630         -	    DL_LIBS=""
  2631         -	    LDFLAGS=""
  2632         -	    LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
  2633         -	    ;;
  2634         -	Linux*)
  2635         -	    SHLIB_CFLAGS="-fPIC"
  2636         -	    SHLIB_LD_LIBS='${LIBS}'
  2637         -	    SHLIB_SUFFIX=".so"
  2638         -
  2639         -	    # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings 
  2640         -	    # when you inline the string and math operations.  Turn this off to
  2641         -	    # get rid of the warnings.
  2642         -
  2643         -	    CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
  2644         -
  2645         -	    if test "$have_dl" = yes; then
  2646         -		SHLIB_LD="${CC} -shared"
  2647         -		DL_OBJS="tclLoadDl.o"
  2648         -		DL_LIBS="-ldl"
  2649         -		LDFLAGS="-rdynamic"
  2650         -		LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
  2651         -	    else
  2652         -		ac_safe=`echo "dld.h" | sed 'y%./+-%__p_%'`
  2653         -echo $ac_n "checking for dld.h""... $ac_c" 1>&6
  2654         -echo "configure:2656: checking for dld.h" >&5
  2655         -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
  2656         -  echo $ac_n "(cached) $ac_c" 1>&6
  2657         -else
  2658         -  cat > conftest.$ac_ext <<EOF
  2659         -#line 2661 "configure"
  2660         -#include "confdefs.h"
  2661         -#include <dld.h>
  2662         -EOF
  2663         -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  2664         -{ (eval echo configure:2666: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  2665         -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
  2666         -if test -z "$ac_err"; then
  2667         -  rm -rf conftest*
  2668         -  eval "ac_cv_header_$ac_safe=yes"
  2669         -else
  2670         -  echo "$ac_err" >&5
  2671         -  echo "configure: failed program was:" >&5
  2672         -  cat conftest.$ac_ext >&5
  2673         -  rm -rf conftest*
  2674         -  eval "ac_cv_header_$ac_safe=no"
  2675         -fi
  2676         -rm -f conftest*
  2677         -fi
  2678         -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
  2679         -  echo "$ac_t""yes" 1>&6
  2680         -  
  2681         -		    SHLIB_LD="ld -shared"
  2682         -		    DL_OBJS="tclLoadDld.o"
  2683         -		    DL_LIBS="-ldld"
  2684         -		    LDFLAGS=""
  2685         -		    LD_SEARCH_FLAGS=""
  2686         -else
  2687         -  echo "$ac_t""no" 1>&6
  2688         -fi
  2689         -
  2690         -	    fi
  2691         -	    if test "`uname -m`" = "alpha" ; then
  2692         -		EXTRA_CFLAGS="-mieee"
  2693         -	    fi
  2694         -
  2695         -	    # The combo of gcc + glibc has a bug related
  2696         -	    # to inlining of functions like strtod(). The
  2697         -	    # -fno-builtin flag should address this problem
  2698         -	    # but it does not work. The -fno-inline flag
  2699         -	    # is kind of overkill but it works.
  2700         -	    # Disable inlining only when one of the
  2701         -	    # files in compat/*.c is being linked in.
  2702         -	    if test x"${LIBOBJS}" != x ; then
  2703         -	        EXTRA_CFLAGS="${EXTRA_CFLAGS} -fno-inline"
  2704         -	    fi
  2705         -
  2706         -	    ;;
  2707         -	GNU*)
  2708         -	    SHLIB_CFLAGS="-fPIC"
  2709         -	    SHLIB_LD_LIBS='${LIBS}'
  2710         -	    SHLIB_SUFFIX=".so"
  2711         -
  2712         -	    if test "$have_dl" = yes; then
  2713         -		SHLIB_LD="${CC} -shared"
  2714         -		DL_OBJS=""
  2715         -		DL_LIBS="-ldl"
  2716         -		LDFLAGS="-rdynamic"
  2717         -		LD_SEARCH_FLAGS=""
  2718         -	    else
  2719         -		ac_safe=`echo "dld.h" | sed 'y%./+-%__p_%'`
  2720         -echo $ac_n "checking for dld.h""... $ac_c" 1>&6
  2721         -echo "configure:2723: checking for dld.h" >&5
  2722         -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
  2723         -  echo $ac_n "(cached) $ac_c" 1>&6
  2724         -else
  2725         -  cat > conftest.$ac_ext <<EOF
  2726         -#line 2728 "configure"
  2727         -#include "confdefs.h"
  2728         -#include <dld.h>
  2729         -EOF
  2730         -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  2731         -{ (eval echo configure:2733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  2732         -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
  2733         -if test -z "$ac_err"; then
  2734         -  rm -rf conftest*
  2735         -  eval "ac_cv_header_$ac_safe=yes"
  2736         -else
  2737         -  echo "$ac_err" >&5
  2738         -  echo "configure: failed program was:" >&5
  2739         -  cat conftest.$ac_ext >&5
  2740         -  rm -rf conftest*
  2741         -  eval "ac_cv_header_$ac_safe=no"
  2742         -fi
  2743         -rm -f conftest*
  2744         -fi
  2745         -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
  2746         -  echo "$ac_t""yes" 1>&6
  2747         -  
  2748         -		    SHLIB_LD="ld -shared"
  2749         -		    DL_OBJS=""
  2750         -		    DL_LIBS="-ldld"
  2751         -		    LDFLAGS=""
  2752         -		    LD_SEARCH_FLAGS=""
  2753         -else
  2754         -  echo "$ac_t""no" 1>&6
  2755         -fi
  2756         -
  2757         -	    fi
  2758         -	    if test "`uname -m`" = "alpha" ; then
  2759         -		EXTRA_CFLAGS="-mieee"
  2760         -	    fi
  2761         -	    ;;
  2762         -	MP-RAS-02*)
  2763         -	    SHLIB_CFLAGS="-K PIC"
  2764         -	    SHLIB_LD="cc -G"
  2765         -	    SHLIB_LD_LIBS=""
  2766         -	    SHLIB_SUFFIX=".so"
  2767         -	    DL_OBJS="tclLoadDl.o"
  2768         -	    DL_LIBS="-ldl"
  2769         -	    LDFLAGS=""
  2770         -	    LD_SEARCH_FLAGS=""
  2771         -	    ;;
  2772         -	MP-RAS-*)
  2773         -	    SHLIB_CFLAGS="-K PIC"
  2774         -	    SHLIB_LD="cc -G"
  2775         -	    SHLIB_LD_LIBS=""
  2776         -	    SHLIB_SUFFIX=".so"
  2777         -	    DL_OBJS="tclLoadDl.o"
  2778         -	    DL_LIBS="-ldl"
  2779         -	    LDFLAGS="-Wl,-Bexport"
  2780         -	    LD_SEARCH_FLAGS=""
  2781         -	    ;;
  2782         -	NetBSD-*|FreeBSD-[1-2].*|OpenBSD-*)
  2783         -	    # Not available on all versions:  check for include file.
  2784         -	    ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'`
  2785         -echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6
  2786         -echo "configure:2788: checking for dlfcn.h" >&5
  2787         -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
  2788         -  echo $ac_n "(cached) $ac_c" 1>&6
  2789         -else
  2790         -  cat > conftest.$ac_ext <<EOF
  2791         -#line 2793 "configure"
  2792         -#include "confdefs.h"
  2793         -#include <dlfcn.h>
  2794         -EOF
  2795         -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  2796         -{ (eval echo configure:2798: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  2797         -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
  2798         -if test -z "$ac_err"; then
  2799         -  rm -rf conftest*
  2800         -  eval "ac_cv_header_$ac_safe=yes"
  2801         -else
  2802         -  echo "$ac_err" >&5
  2803         -  echo "configure: failed program was:" >&5
  2804         -  cat conftest.$ac_ext >&5
  2805         -  rm -rf conftest*
  2806         -  eval "ac_cv_header_$ac_safe=no"
  2807         -fi
  2808         -rm -f conftest*
  2809         -fi
  2810         -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
  2811         -  echo "$ac_t""yes" 1>&6
  2812         -  
  2813         -		# NetBSD/SPARC needs -fPIC, -fpic will not do.
  2814         -		SHLIB_CFLAGS="-fPIC"
  2815         -		SHLIB_LD="ld -Bshareable -x"
  2816         -		SHLIB_LD_LIBS=""
  2817         -		SHLIB_SUFFIX=".so"
  2818         -		DL_OBJS="tclLoadDl.o"
  2819         -		DL_LIBS=""
  2820         -		LDFLAGS=""
  2821         -		LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
  2822         -		echo $ac_n "checking for ELF""... $ac_c" 1>&6
  2823         -echo "configure:2825: checking for ELF" >&5
  2824         -		cat > conftest.$ac_ext <<EOF
  2825         -#line 2827 "configure"
  2826         -#include "confdefs.h"
  2827         -
  2828         -#ifdef __ELF__
  2829         -	yes
  2830         -#endif
  2831         -		
  2832         -EOF
  2833         -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  2834         -  egrep "yes" >/dev/null 2>&1; then
  2835         -  rm -rf conftest*
  2836         -  echo "$ac_t""yes" 1>&6
  2837         -		    SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
  2838         -else
  2839         -  rm -rf conftest*
  2840         -  echo "$ac_t""no" 1>&6
  2841         -		    SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0'
  2842         -		
  2843         -fi
  2844         -rm -f conftest*
  2845         -
  2846         -	    
  2847         -else
  2848         -  echo "$ac_t""no" 1>&6
  2849         -
  2850         -		SHLIB_CFLAGS=""
  2851         -		SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r"
  2852         -		SHLIB_LD_LIBS='${LIBS}'
  2853         -		SHLIB_SUFFIX=".a"
  2854         -		DL_OBJS="tclLoadAout.o"
  2855         -		DL_LIBS=""
  2856         -		LDFLAGS=""
  2857         -		LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
  2858         -		SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
  2859         -	    
  2860         -fi
  2861         -
  2862         -
  2863         -	    # FreeBSD doesn't handle version numbers with dots.
  2864         -
  2865         -	    UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
  2866         -	    TCL_LIB_VERSIONS_OK=nodots
  2867         -	    ;;
  2868         -	FreeBSD-*)
  2869         -	    # FreeBSD 3.* and greater have ELF.
  2870         -	    SHLIB_CFLAGS="-fPIC"
  2871         -	    SHLIB_LD="ld -Bshareable -x"
  2872         -	    SHLIB_LD_LIBS='${LIBS}'
  2873         -	    SHLIB_SUFFIX=".so"
  2874         -	    DL_OBJS="tclLoadDl.o"
  2875         -	    DL_LIBS=""
  2876         -	    LDFLAGS="-export-dynamic"
  2877         -	    LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
  2878         -	    if test "${TCL_THREADS}" = "1" ; then
  2879         -		EXTRA_CFLAGS="-pthread"
  2880         -	    	LDFLAGS="$LDFLAGS -pthread"
  2881         -	    fi
  2882         -	    case $system in
  2883         -	    FreeBSD-3.*)
  2884         -	    	# FreeBSD-3 doesn't handle version numbers with dots.
  2885         -	    	UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
  2886         -	    	SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
  2887         -	    	TCL_LIB_VERSIONS_OK=nodots
  2888         -		;;
  2889         -	    esac
  2890         -	    ;;
  2891         -	Rhapsody-*|Darwin-*)
  2892         -	    SHLIB_CFLAGS="-fno-common"
  2893         -	    SHLIB_LD="cc -dynamiclib \${LDFLAGS}"
  2894         -	    TCL_SHLIB_LD_EXTRAS="-compatibility_version ${TCL_MAJOR_VERSION} -current_version \${VERSION} -install_name \${LIB_RUNTIME_DIR}/\${TCL_LIB_FILE} -prebind -seg1addr a000000"
  2895         -	    SHLIB_LD_LIBS='${LIBS}'
  2896         -	    SHLIB_SUFFIX=".dylib"
  2897         -	    DL_OBJS="tclLoadDyld.o"
  2898         -	    DL_LIBS=""
  2899         -	    LDFLAGS="-prebind"
  2900         -	    LD_SEARCH_FLAGS=""
  2901         -	    CFLAGS_OPTIMIZE="-O3"
  2902         -	    EXTRA_CFLAGS="-arch ppc -pipe"
  2903         -	    ;;
  2904         -	NEXTSTEP-*)
  2905         -	    SHLIB_CFLAGS=""
  2906         -	    SHLIB_LD="cc -nostdlib -r"
  2907         -	    SHLIB_LD_LIBS=""
  2908         -	    SHLIB_SUFFIX=".so"
  2909         -	    DL_OBJS="tclLoadNext.o"
  2910         -	    DL_LIBS=""
  2911         -	    LDFLAGS=""
  2912         -	    LD_SEARCH_FLAGS=""
  2913         -	    ;;
  2914         -	OS/390-*)
  2915         -	    CFLAGS_OPTIMIZE=""      # Optimizer is buggy
  2916         -	    cat >> confdefs.h <<\EOF
  2917         -#define _OE_SOCKETS 1
  2918         -EOF
  2919         -  # needed in sys/socket.h
  2920         -	    ;;      
  2921         -	OSF1-1.0|OSF1-1.1|OSF1-1.2)
  2922         -	    # OSF/1 1.[012] from OSF, and derivatives, including Paragon OSF/1
  2923         -	    SHLIB_CFLAGS=""
  2924         -	    # Hack: make package name same as library name
  2925         -	    SHLIB_LD='ld -R -export :'
  2926         -	    SHLIB_LD_LIBS=""
  2927         -	    SHLIB_SUFFIX=".so"
  2928         -	    DL_OBJS="tclLoadOSF.o"
  2929         -	    DL_LIBS=""
  2930         -	    LDFLAGS=""
  2931         -	    LD_SEARCH_FLAGS=""
  2932         -	    ;;
  2933         -	OSF1-1.*)
  2934         -	    # OSF/1 1.3 from OSF using ELF, and derivatives, including AD2
  2935         -	    SHLIB_CFLAGS="-fPIC"
  2936         -	    SHLIB_LD="ld -shared"
  2937         -	    SHLIB_LD_LIBS=""
  2938         -	    SHLIB_SUFFIX=".so"
  2939         -	    DL_OBJS="tclLoadDl.o"
  2940         -	    DL_LIBS=""
  2941         -	    LDFLAGS=""
  2942         -	    LD_SEARCH_FLAGS=""
  2943         -	    ;;
  2944         -	OSF1-V*)
  2945         -	    # Digital OSF/1
  2946         -	    SHLIB_CFLAGS=""
  2947         -	    SHLIB_LD='ld -shared -expect_unresolved "*"'
  2948         -	    SHLIB_LD_LIBS=""
  2949         -	    SHLIB_SUFFIX=".so"
  2950         -	    DL_OBJS="tclLoadDl.o"
  2951         -	    DL_LIBS=""
  2952         -	    LDFLAGS=""
  2953         -	    LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
  2954         -	    if test "$GCC" != "yes" ; then
  2955         -		EXTRA_CFLAGS="-DHAVE_TZSET -std1"
  2956         -	    fi
  2957         -	    # see pthread_intro(3) for pthread support on osf1, k.furukawa
  2958         -	    if test "${TCL_THREADS}" = "1" ; then
  2959         -		EXTRA_CFLAGS="${EXTRA_CFLAGS} -DHAVE_PTHREAD_ATTR_SETSTACKSIZE"
  2960         -		EXTRA_CFLAGS="${EXTRA_CFLAGS} -DTCL_THREAD_STACK_MIN=PTHREAD_STACK_MIN*64"
  2961         -		LIBS=`echo $LIBS | sed s/-lpthreads//`
  2962         -		if test "$GCC" = "yes" ; then
  2963         -		    LIBS="$LIBS -lpthread -lmach -lexc"
  2964         -		else
  2965         -		    EXTRA_CFLAGS="${EXTRA_CFLAGS} -pthread"
  2966         -		    LDFLAGS="-pthread"
  2967         -		fi
  2968         -	    fi
  2969         -
  2970         -	    ;;
  2971         -	QNX-6*)
  2972         -	    # QNX RTP
  2973         -	    # This may work for all QNX, but it was only reported for v6.
  2974         -	    SHLIB_CFLAGS="-fPIC"
  2975         -	    SHLIB_LD="ld -Bshareable -x"
  2976         -	    SHLIB_LD_LIBS=""
  2977         -	    SHLIB_SUFFIX=".so"
  2978         -	    DL_OBJS="tclLoadDl.o"
  2979         -	    # dlopen is in -lc on QNX
  2980         -	    DL_LIBS=""
  2981         -	    LDFLAGS=""
  2982         -	    LD_SEARCH_FLAGS=""
  2983         -	    ;;
  2984         -	RISCos-*)
  2985         -	    SHLIB_CFLAGS="-G 0"
  2986         -	    SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r -G 0"
  2987         -	    SHLIB_LD_LIBS='${LIBS}'
  2988         -	    SHLIB_SUFFIX=".a"
  2989         -	    DL_OBJS="tclLoadAout.o"
  2990         -	    DL_LIBS=""
  2991         -	    LDFLAGS="-Wl,-D,08000000"
  2992         -	    LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
  2993         -	    ;;
  2994         -	SCO_SV-3.2*)
  2995         -	    # Note, dlopen is available only on SCO 3.2.5 and greater. However,
  2996         -	    # this test works, since "uname -s" was non-standard in 3.2.4 and
  2997         -	    # below.
  2998         -	    if test "$GCC" = "yes" ; then
  2999         -	    	SHLIB_CFLAGS="-fPIC -melf"
  3000         -	    	LDFLAGS="-melf -Wl,-Bexport"
  3001         -	    else
  3002         -	    	SHLIB_CFLAGS="-Kpic -belf"
  3003         -	    	LDFLAGS="-belf -Wl,-Bexport"
  3004         -	    fi
  3005         -	    SHLIB_LD="ld -G"
  3006         -	    SHLIB_LD_LIBS=""
  3007         -	    SHLIB_SUFFIX=".so"
  3008         -	    DL_OBJS="tclLoadDl.o"
  3009         -	    DL_LIBS=""
  3010         -	    LD_SEARCH_FLAGS=""
  3011         -	    ;;
  3012         -	SINIX*5.4*)
  3013         -	    SHLIB_CFLAGS="-K PIC"
  3014         -	    SHLIB_LD="cc -G"
  3015         -	    SHLIB_LD_LIBS=""
  3016         -	    SHLIB_SUFFIX=".so"
  3017         -	    DL_OBJS="tclLoadDl.o"
  3018         -	    DL_LIBS="-ldl"
  3019         -	    LDFLAGS=""
  3020         -	    LD_SEARCH_FLAGS=""
  3021         -	    ;;
  3022         -	SunOS-4*)
  3023         -	    SHLIB_CFLAGS="-PIC"
  3024         -	    SHLIB_LD="ld"
  3025         -	    SHLIB_LD_LIBS=""
  3026         -	    SHLIB_SUFFIX=".so"
  3027         -	    DL_OBJS="tclLoadDl.o"
  3028         -	    DL_LIBS="-ldl"
  3029         -	    LDFLAGS=""
  3030         -	    LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
  3031         -
  3032         -	    # SunOS can't handle version numbers with dots in them in library
  3033         -	    # specs, like -ltcl7.5, so use -ltcl75 instead.  Also, it
  3034         -	    # requires an extra version number at the end of .so file names.
  3035         -	    # So, the library has to have a name like libtcl75.so.1.0
  3036         -
  3037         -	    SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0'
  3038         -	    UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
  3039         -	    TCL_LIB_VERSIONS_OK=nodots
  3040         -	    ;;
  3041         -	SunOS-5.[0-6]*)
  3042         -
  3043         -	    # Note: If _REENTRANT isn't defined, then Solaris
  3044         -	    # won't define thread-safe library routines.
  3045         -
  3046         -	    cat >> confdefs.h <<\EOF
  3047         -#define _REENTRANT 1
  3048         -EOF
  3049         -
  3050         -	    cat >> confdefs.h <<\EOF
  3051         -#define _POSIX_PTHREAD_SEMANTICS 1
  3052         -EOF
  3053         -
  3054         -
  3055         -	    SHLIB_CFLAGS="-KPIC"
  3056         -	    SHLIB_LD="/usr/ccs/bin/ld -G -z text"
  3057         -
  3058         -	    # Note: need the LIBS below, otherwise Tk won't find Tcl's
  3059         -	    # symbols when dynamically loaded into tclsh.
  3060         -
  3061         -	    SHLIB_LD_LIBS='${LIBS}'
  3062         -	    SHLIB_SUFFIX=".so"
  3063         -	    DL_OBJS="tclLoadDl.o"
  3064         -	    DL_LIBS="-ldl"
  3065         -	    LDFLAGS=""
  3066         -	    if test "$GCC" = "yes" ; then
  3067         -		LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
  3068         -	    else
  3069         -		LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
  3070         -	    fi
  3071         -	    ;;
  3072         -	SunOS-5*)
  3073         -
  3074         -	    # Note: If _REENTRANT isn't defined, then Solaris
  3075         -	    # won't define thread-safe library routines.
  3076         -
  3077         -	    cat >> confdefs.h <<\EOF
  3078         -#define _REENTRANT 1
  3079         -EOF
  3080         -
  3081         -	    cat >> confdefs.h <<\EOF
  3082         -#define _POSIX_PTHREAD_SEMANTICS 1
  3083         -EOF
  3084         -
  3085         -
  3086         -	    SHLIB_CFLAGS="-KPIC"
  3087         -	    SHLIB_LD="/usr/ccs/bin/ld -G -z text"
  3088         -	    LDFLAGS=""
  3089         -    
  3090         -	    # Check to enable 64-bit flags for compiler/linker
  3091         -	    if test "$do64bit" = "yes" ; then
  3092         -		arch=`isainfo`
  3093         -		if test "$arch" = "sparcv9 sparc" ; then
  3094         -			if test "$GCC" = "yes" ; then
  3095         -			    echo "configure: warning: "64bit mode not supported with GCC on $system"" 1>&2
  3096         -			else
  3097         -			    do64bit_ok=yes
  3098         -			    if test "$do64bitVIS" = "yes" ; then
  3099         -				EXTRA_CFLAGS="-xarch=v9a"
  3100         -			    	LDFLAGS="-xarch=v9a"
  3101         -			    else
  3102         -				EXTRA_CFLAGS="-xarch=v9"
  3103         -			    	LDFLAGS="-xarch=v9"
  3104         -			    fi
  3105         -			fi
  3106         -		else
  3107         -		    echo "configure: warning: "64bit mode only supported sparcv9 system"" 1>&2
  3108         -		fi
  3109         -	    fi
  3110         -	    
  3111         -	    # Note: need the LIBS below, otherwise Tk won't find Tcl's
  3112         -	    # symbols when dynamically loaded into tclsh.
  3113         -
  3114         -	    SHLIB_LD_LIBS='${LIBS}'
  3115         -	    SHLIB_SUFFIX=".so"
  3116         -	    DL_OBJS="tclLoadDl.o"
  3117         -	    DL_LIBS="-ldl"
  3118         -	    if test "$GCC" = "yes" ; then
  3119         -		LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
  3120         -	    else
  3121         -		LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
  3122         -	    fi
  3123         -	    ;;
  3124         -	ULTRIX-4.*)
  3125         -	    SHLIB_CFLAGS="-G 0"
  3126         -	    SHLIB_SUFFIX=".a"
  3127         -	    SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r -G 0"
  3128         -	    SHLIB_LD_LIBS='${LIBS}'
  3129         -	    DL_OBJS="tclLoadAout.o"
  3130         -	    DL_LIBS=""
  3131         -	    LDFLAGS="-Wl,-D,08000000"
  3132         -	    LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
  3133         -	    if test "$GCC" != "yes" ; then
  3134         -		EXTRA_CFLAGS="-DHAVE_TZSET -std1"
  3135         -	    fi
  3136         -	    ;;
  3137         -	UNIX_SV* | UnixWare-5*)
  3138         -	    SHLIB_CFLAGS="-KPIC"
  3139         -	    SHLIB_LD="cc -G"
  3140         -	    SHLIB_LD_LIBS=""
  3141         -	    SHLIB_SUFFIX=".so"
  3142         -	    DL_OBJS="tclLoadDl.o"
  3143         -	    DL_LIBS="-ldl"
  3144         -	    # Some UNIX_SV* systems (unixware 1.1.2 for example) have linkers
  3145         -	    # that don't grok the -Bexport option.  Test that it does.
  3146         -	    hold_ldflags=$LDFLAGS
  3147         -	    echo $ac_n "checking for ld accepts -Bexport flag""... $ac_c" 1>&6
  3148         -echo "configure:3150: checking for ld accepts -Bexport flag" >&5
  3149         -	    LDFLAGS="${LDFLAGS} -Wl,-Bexport"
  3150         -	    cat > conftest.$ac_ext <<EOF
  3151         -#line 3153 "configure"
  3152         -#include "confdefs.h"
  3153         -
  3154         -int main() {
  3155         -int i;
  3156         -; return 0; }
  3157         -EOF
  3158         -if { (eval echo configure:3160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
  3159         -  rm -rf conftest*
  3160         -  found=yes
  3161         -else
  3162         -  echo "configure: failed program was:" >&5
  3163         -  cat conftest.$ac_ext >&5
  3164         -  rm -rf conftest*
  3165         -  found=no
  3166         -fi
  3167         -rm -f conftest*
  3168         -	    LDFLAGS=$hold_ldflags
  3169         -	    echo "$ac_t""$found" 1>&6
  3170         -	    if test $found = yes; then
  3171         -	    LDFLAGS="-Wl,-Bexport"
  3172         -	    else
  3173         -	    LDFLAGS=""
  3174         -	    fi
  3175         -	    LD_SEARCH_FLAGS=""
  3176         -	    ;;
  3177         -    esac
  3178         -
  3179         -    if test "$do64bit" = "yes" -a "$do64bit_ok" = "no" ; then
  3180         -    echo "configure: warning: "64bit support being disabled -- don\'t know magic for this platform"" 1>&2
  3181         -    fi
  3182         -
  3183         -    # Step 4: If pseudo-static linking is in use (see K. B. Kenny, "Dynamic
  3184         -    # Loading for Tcl -- What Became of It?".  Proc. 2nd Tcl/Tk Workshop,
  3185         -    # New Orleans, LA, Computerized Processes Unlimited, 1994), then we need
  3186         -    # to determine which of several header files defines the a.out file
  3187         -    # format (a.out.h, sys/exec.h, or sys/exec_aout.h).  At present, we
  3188         -    # support only a file format that is more or less version-7-compatible. 
  3189         -    # In particular,
  3190         -    #	- a.out files must begin with `struct exec'.
  3191         -    #	- the N_TXTOFF on the `struct exec' must compute the seek address
  3192         -    #	  of the text segment
  3193         -    #	- The `struct exec' must contain a_magic, a_text, a_data, a_bss
  3194         -    #	  and a_entry fields.
  3195         -    # The following compilation should succeed if and only if either sys/exec.h
  3196         -    # or a.out.h is usable for the purpose.
  3197         -    #
  3198         -    # Note that the modified COFF format used on MIPS Ultrix 4.x is usable; the
  3199         -    # `struct exec' includes a second header that contains information that
  3200         -    # duplicates the v7 fields that are needed.
  3201         -
  3202         -    if test "x$DL_OBJS" = "xtclLoadAout.o" ; then
  3203         -	echo $ac_n "checking sys/exec.h""... $ac_c" 1>&6
  3204         -echo "configure:3206: checking sys/exec.h" >&5
  3205         -	cat > conftest.$ac_ext <<EOF
  3206         -#line 3208 "configure"
  3207         -#include "confdefs.h"
  3208         -#include <sys/exec.h>
  3209         -int main() {
  3210         -
  3211         -	    struct exec foo;
  3212         -	    unsigned long seek;
  3213         -	    int flag;
  3214         -#if defined(__mips) || defined(mips)
  3215         -	    seek = N_TXTOFF (foo.ex_f, foo.ex_o);
  3216         -#else
  3217         -	    seek = N_TXTOFF (foo);
  3218         -#endif
  3219         -	    flag = (foo.a_magic == OMAGIC);
  3220         -	    return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry;
  3221         -    
  3222         -; return 0; }
  3223         -EOF
  3224         -if { (eval echo configure:3226: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  3225         -  rm -rf conftest*
  3226         -  tcl_ok=usable
  3227         -else
  3228         -  echo "configure: failed program was:" >&5
  3229         -  cat conftest.$ac_ext >&5
  3230         -  rm -rf conftest*
  3231         -  tcl_ok=unusable
  3232         -fi
  3233         -rm -f conftest*
  3234         -	echo "$ac_t""$tcl_ok" 1>&6
  3235         -	if test $tcl_ok = usable; then
  3236         -	    cat >> confdefs.h <<\EOF
  3237         -#define USE_SYS_EXEC_H 1
  3238         -EOF
  3239         -
  3240         -	else
  3241         -	    echo $ac_n "checking a.out.h""... $ac_c" 1>&6
  3242         -echo "configure:3244: checking a.out.h" >&5
  3243         -	    cat > conftest.$ac_ext <<EOF
  3244         -#line 3246 "configure"
  3245         -#include "confdefs.h"
  3246         -#include <a.out.h>
  3247         -int main() {
  3248         -
  3249         -		struct exec foo;
  3250         -		unsigned long seek;
  3251         -		int flag;
  3252         -#if defined(__mips) || defined(mips)
  3253         -		seek = N_TXTOFF (foo.ex_f, foo.ex_o);
  3254         -#else
  3255         -		seek = N_TXTOFF (foo);
  3256         -#endif
  3257         -		flag = (foo.a_magic == OMAGIC);
  3258         -		return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry;
  3259         -	    
  3260         -; return 0; }
  3261         -EOF
  3262         -if { (eval echo configure:3264: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  3263         -  rm -rf conftest*
  3264         -  tcl_ok=usable
  3265         -else
  3266         -  echo "configure: failed program was:" >&5
  3267         -  cat conftest.$ac_ext >&5
  3268         -  rm -rf conftest*
  3269         -  tcl_ok=unusable
  3270         -fi
  3271         -rm -f conftest*
  3272         -	    echo "$ac_t""$tcl_ok" 1>&6
  3273         -	    if test $tcl_ok = usable; then
  3274         -		cat >> confdefs.h <<\EOF
  3275         -#define USE_A_OUT_H 1
  3276         -EOF
  3277         -
  3278         -	    else
  3279         -		echo $ac_n "checking sys/exec_aout.h""... $ac_c" 1>&6
  3280         -echo "configure:3282: checking sys/exec_aout.h" >&5
  3281         -		cat > conftest.$ac_ext <<EOF
  3282         -#line 3284 "configure"
  3283         -#include "confdefs.h"
  3284         -#include <sys/exec_aout.h>
  3285         -int main() {
  3286         -
  3287         -		    struct exec foo;
  3288         -		    unsigned long seek;
  3289         -		    int flag;
  3290         -#if defined(__mips) || defined(mips)
  3291         -		    seek = N_TXTOFF (foo.ex_f, foo.ex_o);
  3292         -#else
  3293         -		    seek = N_TXTOFF (foo);
  3294         -#endif
  3295         -		    flag = (foo.a_midmag == OMAGIC);
  3296         -		    return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry;
  3297         -		
  3298         -; return 0; }
  3299         -EOF
  3300         -if { (eval echo configure:3302: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  3301         -  rm -rf conftest*
  3302         -  tcl_ok=usable
  3303         -else
  3304         -  echo "configure: failed program was:" >&5
  3305         -  cat conftest.$ac_ext >&5
  3306         -  rm -rf conftest*
  3307         -  tcl_ok=unusable
  3308         -fi
  3309         -rm -f conftest*
  3310         -		echo "$ac_t""$tcl_ok" 1>&6
  3311         -		if test $tcl_ok = usable; then
  3312         -		    cat >> confdefs.h <<\EOF
  3313         -#define USE_SYS_EXEC_AOUT_H 1
  3314         -EOF
  3315         -
  3316         -		else
  3317         -		    DL_OBJS=""
  3318         -		fi
  3319         -	    fi
  3320         -	fi
  3321         -    fi
  3322         -
  3323         -    # Step 5: disable dynamic loading if requested via a command-line switch.
  3324         -
  3325         -    # Check whether --enable-load or --disable-load was given.
  3326         -if test "${enable_load+set}" = set; then
  3327         -  enableval="$enable_load"
  3328         -  tcl_ok=$enableval
  3329         -else
  3330         -  tcl_ok=yes
  3331         -fi
  3332         -
  3333         -    if test "$tcl_ok" = "no"; then
  3334         -	DL_OBJS=""
  3335         -    fi
  3336         -
  3337         -    if test "x$DL_OBJS" != "x" ; then
  3338         -	BUILD_DLTEST="\$(DLTEST_TARGETS)"
  3339         -    else
  3340         -	echo "Can't figure out how to do dynamic loading or shared libraries"
  3341         -	echo "on this system."
  3342         -	SHLIB_CFLAGS=""
  3343         -	SHLIB_LD=""
  3344         -	SHLIB_SUFFIX=""
  3345         -	DL_OBJS="tclLoadNone.o"
  3346         -	DL_LIBS=""
  3347         -	LDFLAGS=""
  3348         -	LD_SEARCH_FLAGS=""
  3349         -	BUILD_DLTEST=""
  3350         -    fi
  3351         -
  3352         -    # If we're running gcc, then change the C flags for compiling shared
  3353         -    # libraries to the right flags for gcc, instead of those for the
  3354         -    # standard manufacturer compiler.
  3355         -
  3356         -    if test "$DL_OBJS" != "tclLoadNone.o" ; then
  3357         -	if test "$GCC" = "yes" ; then
  3358         -	    case $system in
  3359         -		AIX-*)
  3360         -		    ;;
  3361         -		BSD/OS*)
  3362         -		    ;;
  3363         -		IRIX*)
  3364         -		    ;;
  3365         -		NetBSD-*|FreeBSD-*|OpenBSD-*)
  3366         -		    ;;
  3367         -		Rhapsody-*|Darwin-*)
  3368         -		    ;;
  3369         -		RISCos-*)
  3370         -		    ;;
  3371         -		SCO_SV-3.2*)
  3372         -		    ;;
  3373         -		ULTRIX-4.*)
  3374         -		    ;;
  3375         -		windows)
  3376         -		    if test "$MINGW32" != "yes"; then 
  3377         -		        SHLIB_CFLAGS="-fPIC"
  3378         -		    fi
  3379         -		    ;;
  3380         -		*)
  3381         -		    SHLIB_CFLAGS="-fPIC"
  3382         -		    ;;
  3383         -	    esac
  3384         -	fi
  3385         -    fi
  3386         -
  3387         -    if test "$SHARED_LIB_SUFFIX" = "" ; then
  3388         -	SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}${SHLIB_SUFFIX}'
  3389         -    fi
  3390         -    if test "$UNSHARED_LIB_SUFFIX" = "" ; then
  3391         -	UNSHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.a'
  3392         -    fi
  3393         -
  3394         -    
  3395         -    
  3396         -    
  3397         -    
  3398         -    
  3399         -
  3400         -    SHLIB_LDFLAGS='$(LDFLAGS_DEFAULT)'
  3401         -    
  3402         -    
  3403         -    
  3404         -    
  3405         -    
  3406         -    
  3407         -    
  3408         -
  3409         -TDOM_LD_SEARCH_FLAGS=${LD_SEARCH_FLAGS}
  3410         -
  3411         -
  3412         -#--------------------------------------------------------------------
  3413         -# Set the default compiler switches based on the --enable-symbols option.
  3414         -#--------------------------------------------------------------------
  3415         -
  3416         -
  3417         -    if test x"${TEA_INITED}" = x ; then
  3418         -	# Can't refer to exact macro name or it will be substituted
  3419         -	{ echo "configure: error: Must call TEA INIT before ENABLE_SYMBOLS" 1>&2; exit 1; }
  3420         -    fi
  3421         -
  3422         -    if test "${TEA_PLATFORM}" = "windows" ; then
  3423         -	tcl_dbgx=d
  3424         -    else
  3425         -	tcl_dbgx=g
  3426         -    fi
  3427         -
  3428         -    echo $ac_n "checking for build with symbols""... $ac_c" 1>&6
  3429         -echo "configure:3431: checking for build with symbols" >&5
  3430         -    # Check whether --enable-symbols or --disable-symbols was given.
  3431         -if test "${enable_symbols+set}" = set; then
  3432         -  enableval="$enable_symbols"
  3433         -  tcl_ok=$enableval
  3434         -else
  3435         -  tcl_ok=no
  3436         -fi
  3437         -
  3438         -    if test "$tcl_ok" = "yes"; then
  3439         -	CFLAGS_DEFAULT='$(CFLAGS_DEBUG)'
  3440         -	LDFLAGS_DEFAULT='$(LDFLAGS_DEBUG)'
  3441         -	DBGX=${tcl_dbgx}
  3442         -	TCL_DBGX=${tcl_dbgx}
  3443         -	echo "$ac_t""yes" 1>&6
  3444         -    else
  3445         -	CFLAGS_DEFAULT='$(CFLAGS_OPTIMIZE)'
  3446         -	LDFLAGS_DEFAULT='$(LDFLAGS_OPTIMIZE)'
  3447         -	DBGX=""
  3448         -	TCL_DBGX=""
  3449         -	echo "$ac_t""no" 1>&6
  3450         -    fi
  3451         -
  3452         -    
  3453         -    
  3454         -    
  3455         -
  3456         -
  3457         -if test "${SHARED_BUILD}" = "1" ; then
  3458         -    CFLAGS='${CFLAGS_DEFAULT} ${CFLAGS_WARNING} ${SHLIB_CFLAGS}'
  3459         -else
  3460         -    CFLAGS='${CFLAGS_DEFAULT} ${CFLAGS_WARNING}'
  3461         -fi
  3462         -
  3463         -
  3464         -#--------------------------------------------------------------------
  3465         -# Everyone should be linking against the Tcl stub library.  If you
  3466         -# can't for some reason, remove this definition.  If you aren't using
  3467         -# stubs, you also need to modify the SHLIB_LD_LIBS setting below to
  3468         -# link against the non-stubbed Tcl library.  Add Tk too if necessary.
  3469         -#--------------------------------------------------------------------
  3470         -
  3471         -#AC_DEFINE(USE_TCL_STUBS)
  3472         -#AC_DEFINE(USE_TK_STUBS)
  3473         -
  3474         -#--------------------------------------------------------------------
  3475         -# This macro generates a line to use when building a library.  It
  3476         -# depends on values set by the TEA_ENABLE_SHARED, TEA_ENABLE_SYMBOLS,
  3477         -# and TEA_LOAD_TCLCONFIG macros above.
  3478         -# For tDOM we always build both, static and shared libraries
  3479         -#--------------------------------------------------------------------
  3480         -
  3481         -
  3482         -    if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes"; then
  3483         -	MAKE_STATIC_LIB="\${STLIB_LD} -out:\$@ \$(\$(PACKAGE)_OBJECTS)"
  3484         -	MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS} \$(LDFLAGS) -out:\$@ \$(\$(PACKAGE)_OBJECTS)"
  3485         -	MAKE_STUB_LIB="\${STLIB_LD} -out:\$@ \$(\$(PACKAGE)stub_OBJECTS)"
  3486         -    else
  3487         -	MAKE_STATIC_LIB="\${STLIB_LD} \$@ \$(\$(PACKAGE)_OBJECTS)"
  3488         -	MAKE_SHARED_LIB="\${SHLIB_LD} -o \$@ \$(\$(PACKAGE)_OBJECTS) \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS}"
  3489         -	MAKE_STUB_LIB="\${STLIB_LD} \$@ \$(\$(PACKAGE)stub_OBJECTS)"
  3490         -    fi
  3491         -
  3492         -    if test "${SHARED_BUILD}" = "1" ; then
  3493         -	MAKE_LIB="${MAKE_SHARED_LIB} "
  3494         -    else
  3495         -	MAKE_LIB="${MAKE_STATIC_LIB} "
  3496         -    fi
  3497         -
  3498         -    #--------------------------------------------------------------------
  3499         -    # Shared libraries and static libraries have different names.
  3500         -    # Use the double eval to make sure the ${DBGX} in the suffix is
  3501         -    # substituted.
  3502         -    #--------------------------------------------------------------------
  3503         -
  3504         -    if test "${TEA_PLATFORM}" = "windows" ; then
  3505         -	if test "${SHARED_BUILD}" = "1" ; then
  3506         -	    # We force the unresolved linking of symbols that are really in
  3507         -	    # the private libraries of Tcl and Tk.
  3508         -	    SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}`\""
  3509         -	    if test x"${TK_BIN_DIR}" != x ; then
  3510         -		SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TK_BIN_DIR}/${TK_STUB_LIB_FILE}`\""
  3511         -	    fi
  3512         -	    eval eval "${PACKAGE}_LIB_FILE=${PACKAGE}${SHARED_LIB_SUFFIX}"
  3513         -	    RANLIB=:
  3514         -	else
  3515         -	    eval eval "${PACKAGE}_LIB_FILE=${PACKAGE}${UNSHARED_LIB_SUFFIX}"
  3516         -	fi
  3517         -	# Some packages build there own stubs libraries
  3518         -	eval eval "${PACKAGE}stub_LIB_FILE=${PACKAGE}stub${UNSHARED_LIB_SUFFIX}"
  3519         -    else
  3520         -	if test "${SHARED_BUILD}" = "1" ; then
  3521         -	    SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TCL_STUB_LIB_SPEC}"
  3522         -	    if test x"${TK_BIN_DIR}" != x ; then
  3523         -		SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TK_STUB_LIB_SPEC}"
  3524         -	    fi
  3525         -	    eval eval "${PACKAGE}_LIB_FILE=lib${PACKAGE}${SHARED_LIB_SUFFIX}"
  3526         -	    RANLIB=:
  3527         -	else
  3528         -	    eval eval "${PACKAGE}_LIB_FILE=lib${PACKAGE}${UNSHARED_LIB_SUFFIX}"
  3529         -	fi
  3530         -	# Some packages build there own stubs libraries
  3531         -	eval eval "${PACKAGE}stub_LIB_FILE=lib${PACKAGE}stub${UNSHARED_LIB_SUFFIX}"
  3532         -    fi
  3533         -
  3534         -    
  3535         -    
  3536         -    
  3537         -    
  3538         -
  3539         -
  3540         -#--------------------------------------------------------------------
  3541         -# __CHANGE__
  3542         -# Add platform libs to LIBS or SHLIB_LD_LIBS as necessary.
  3543         -#--------------------------------------------------------------------
  3544         -
  3545         -#LIBS="${LIBS} -lsuperfly"
  3546         -
  3547         -#--------------------------------------------------------------------
  3548         -# Find tclsh so that we can run pkg_mkIndex to generate the pkgIndex.tcl
  3549         -# file during the install process.  Don't run the TCLSH_PROG through
  3550         -# ${CYGPATH} because it's being used directly by make.
  3551         -# Require that we use a tclsh shell version 8.2 or later since earlier
  3552         -# versions have bugs in the pkg_mkIndex routine.
  3553         -# Add WISH as well if this is a Tk extension.
  3554         -#--------------------------------------------------------------------
  3555         -
  3556         -
  3557         -    echo $ac_n "checking for tclsh""... $ac_c" 1>&6
  3558         -echo "configure:3560: checking for tclsh" >&5
  3559         -
  3560         -    if eval "test \"`echo '$''{'ac_cv_path_tclsh'+set}'`\" = set"; then
  3561         -  echo $ac_n "(cached) $ac_c" 1>&6
  3562         -else
  3563         -  
  3564         -	search_path=`echo ${TCL_BIN_DIR}:${TCL_BIN_DIR}/../bin:${exec_prefix}/bin:${prefix}/bin:${PATH} | sed -e 's/:/ /g'`
  3565         -	for dir in $search_path ; do
  3566         -	    for j in `ls -r $dir/tclsh[8-9]*${EXEEXT} 2> /dev/null` \
  3567         -		    `ls -r $dir/tclsh*${EXEEXT} 2> /dev/null` ; do
  3568         -		if test x"$ac_cv_path_tclsh" = x ; then
  3569         -		    if test -f "$j" ; then
  3570         -			ac_cv_path_tclsh=$j
  3571         -			break
  3572         -		    fi
  3573         -		fi
  3574         -	    done
  3575         -	done
  3576         -    
  3577         -fi
  3578         -
  3579         -
  3580         -    if test -f "$ac_cv_path_tclsh" ; then
  3581         -	TCLSH_PROG=$ac_cv_path_tclsh
  3582         -	echo "$ac_t""$TCLSH_PROG" 1>&6
  3583         -    else
  3584         -	{ echo "configure: error: No tclsh found in PATH:  $search_path" 1>&2; exit 1; }
  3585         -    fi
  3586         -    
  3587         -
  3588         -#TEA_PROG_WISH
  3589         -
  3590         -#--------------------------------------------------------------------
  3591         -# Add some private include directories
  3592         -#--------------------------------------------------------------------
  3593         -
  3594         -TDOM_INCLUDES="-I${srcdir}/generic -I${srcdir}/expat"
  3595         -
  3596         -
  3597         -#--------------------------------------------------------------------
  3598         -# Add optional AOLserver includes
  3599         -#--------------------------------------------------------------------
  3600         -
  3601         -
  3602         -    echo $ac_n "checking for AOLserver configuration""... $ac_c" 1>&6
  3603         -echo "configure:3605: checking for AOLserver configuration" >&5
  3604         -    # Check whether --with-aol or --without-aol was given.
  3605         -if test "${with_aol+set}" = set; then
  3606         -  withval="$with_aol"
  3607         -  \
  3608         -    with_aolserver=${withval}
  3609         -fi
  3610         -
  3611         -
  3612         -    if eval "test \"`echo '$''{'ac_cv_c_aolserver'+set}'`\" = set"; then
  3613         -  echo $ac_n "(cached) $ac_c" 1>&6
  3614         -else
  3615         -  
  3616         -    if test x"${with_aolserver}" != x ; then
  3617         -        if test -f "${with_aolserver}/include/ns.h" ; then
  3618         -            ac_cv_c_aolserver=`(cd ${with_aolserver}; pwd)`
  3619         -        else
  3620         -            { echo "configure: error: ${with_aolserver} directory doesn't contain ns.h" 1>&2; exit 1; }
  3621         -        fi
  3622         -    fi
  3623         -    
  3624         -fi
  3625         -
  3626         -    if test x"${ac_cv_c_aolserver}" = x ; then
  3627         -        echo "$ac_t""none found" 1>&6
  3628         -    else
  3629         -        AOL_DIR=${ac_cv_c_aolserver}
  3630         -        echo "$ac_t""found AOLserver in $AOL_DIR" 1>&6
  3631         -        cat >> confdefs.h <<\EOF
  3632         -#define NS_AOLSERVER 1
  3633         -EOF
  3634         -
  3635         -        cat >> confdefs.h <<\EOF
  3636         -#define USE_NORMAL_ALLOCATOR 1
  3637         -EOF
  3638         -
  3639         -    fi
  3640         -
  3641         -if test x"${AOL_DIR}" != "x" ; then
  3642         -    AOL_INCLUDES="-I${AOL_DIR}/include"
  3643         -else
  3644         -    AOL_INCLUDES=
  3645         -fi
  3646         -
  3647         -
  3648         -
  3649         -#--------------------------------------------------------------------
  3650         -# Add some private preprocessor options
  3651         -#--------------------------------------------------------------------
  3652         -
  3653         -
  3654         -    echo $ac_n "checking wether to enable dtd support""... $ac_c" 1>&6
  3655         -echo "configure:3657: checking wether to enable dtd support" >&5
  3656         -    # Check whether --enable-dtd or --disable-dtd was given.
  3657         -if test "${enable_dtd+set}" = set; then
  3658         -  enableval="$enable_dtd"
  3659         -  tcl_ok=$enableval
  3660         -else
  3661         -  tcl_ok=yes
  3662         -fi
  3663         -
  3664         -
  3665         -    if test "${enable_dt+set}" = set; then
  3666         -        enableval="$enable_dtd"
  3667         -        tcl_ok=$enableval
  3668         -    else
  3669         -        tcl_ok=yes
  3670         -    fi
  3671         -
  3672         -    if test "$tcl_ok" = "yes" ; then
  3673         -        echo "$ac_t""yes" 1>&6
  3674         -        cat >> confdefs.h <<\EOF
  3675         -#define XML_DTD 1
  3676         -EOF
  3677         -
  3678         -    else
  3679         -        echo "$ac_t""no" 1>&6
  3680         -    fi
  3681         -
  3682         -
  3683         -    echo $ac_n "checking wether to enable namespace support""... $ac_c" 1>&6
  3684         -echo "configure:3686: checking wether to enable namespace support" >&5
  3685         -    # Check whether --enable-ns or --disable-ns was given.
  3686         -if test "${enable_ns+set}" = set; then
  3687         -  enableval="$enable_ns"
  3688         -  tcl_ok=$enableval
  3689         -else
  3690         -  tcl_ok=yes
  3691         -fi
  3692         -
  3693         -
  3694         -    if test "${enable_ns+set}" = set; then
  3695         -        enableval="$enable_ns"
  3696         -        tcl_ok=$enableval
  3697         -    else
  3698         -        tcl_ok=yes
  3699         -    fi
  3700         -
  3701         -    if test "$tcl_ok" = "yes" ; then
  3702         -        echo "$ac_t""yes" 1>&6
  3703         -        cat >> confdefs.h <<\EOF
  3704         -#define XML_NS 1
  3705         -EOF
  3706         -
  3707         -    else
  3708         -        echo "$ac_t""no" 1>&6
  3709         -    fi
  3710         -
  3711         -
  3712         -    echo $ac_n "checking wether to enable built-in unknown command""... $ac_c" 1>&6
  3713         -echo "configure:3715: checking wether to enable built-in unknown command" >&5
  3714         -    # Check whether --enable-ucmd or --disable-ucmd was given.
  3715         -if test "${enable_ucmd+set}" = set; then
  3716         -  enableval="$enable_ucmd"
  3717         -  tcl_ok=$enableval
  3718         -else
  3719         -  tcl_ok=no
  3720         -fi
  3721         -
  3722         -
  3723         -    if test "${enable_unknown+set}" = set; then
  3724         -        enableval="$enable_unknown"
  3725         -        tcl_ok=$enableval
  3726         -    else
  3727         -        tcl_ok=no
  3728         -    fi
  3729         -
  3730         -    if test "$tcl_ok" = "no" ; then
  3731         -        echo "$ac_t""no" 1>&6
  3732         -        cat >> confdefs.h <<\EOF
  3733         -#define TDOM_NO_UNKNOWN_CMD 1
  3734         -EOF
  3735         -
  3736         -    else
  3737         -        echo "$ac_t""yes" 1>&6
  3738         -    fi
  3739         -
  3740         -
  3741         -    echo $ac_n "checking wether to enable tDOMs block allocator""... $ac_c" 1>&6
  3742         -echo "configure:3744: checking wether to enable tDOMs block allocator" >&5
  3743         -    # Check whether --enable-tdomalloc or --disable-tdomalloc was given.
  3744         -if test "${enable_tdomalloc+set}" = set; then
  3745         -  enableval="$enable_tdomalloc"
  3746         -  tcl_ok=$enableval
  3747         -else
  3748         -  tcl_ok=yes
  3749         -fi
  3750         -
  3751         -
  3752         -    if test "${enable_tdomalloc+set}" = set; then
  3753         -        enableval="$enable_tdomalloc"
  3754         -        tcl_ok=$enableval
  3755         -    else
  3756         -        tcl_ok=yes
  3757         -    fi
  3758         -
  3759         -    if test "$tcl_ok" = "yes" ; then
  3760         -        echo "$ac_t""yes" 1>&6
  3761         -    else
  3762         -        echo "$ac_t""no" 1>&6
  3763         -        cat >> confdefs.h <<\EOF
  3764         -#define USE_NORMAL_ALLOCATOR 1
  3765         -EOF
  3766         -
  3767         -    fi
  3768         -
  3769         -echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
  3770         -echo "configure:3772: checking whether byte ordering is bigendian" >&5
  3771         -if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
  3772         -  echo $ac_n "(cached) $ac_c" 1>&6
  3773         -else
  3774         -  ac_cv_c_bigendian=unknown
  3775         -# See if sys/param.h defines the BYTE_ORDER macro.
  3776         -cat > conftest.$ac_ext <<EOF
  3777         -#line 3779 "configure"
  3778         -#include "confdefs.h"
  3779         -#include <sys/types.h>
  3780         -#include <sys/param.h>
  3781         -int main() {
  3782         -
  3783         -#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
  3784         - bogus endian macros
  3785         -#endif
  3786         -; return 0; }
  3787         -EOF
  3788         -if { (eval echo configure:3790: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  3789         -  rm -rf conftest*
  3790         -  # It does; now see whether it defined to BIG_ENDIAN or not.
  3791         -cat > conftest.$ac_ext <<EOF
  3792         -#line 3794 "configure"
  3793         -#include "confdefs.h"
  3794         -#include <sys/types.h>
  3795         -#include <sys/param.h>
  3796         -int main() {
  3797         -
  3798         -#if BYTE_ORDER != BIG_ENDIAN
  3799         - not big endian
  3800         -#endif
  3801         -; return 0; }
  3802         -EOF
  3803         -if { (eval echo configure:3805: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  3804         -  rm -rf conftest*
  3805         -  ac_cv_c_bigendian=yes
  3806         -else
  3807         -  echo "configure: failed program was:" >&5
  3808         -  cat conftest.$ac_ext >&5
  3809         -  rm -rf conftest*
  3810         -  ac_cv_c_bigendian=no
  3811         -fi
  3812         -rm -f conftest*
  3813         -else
  3814         -  echo "configure: failed program was:" >&5
  3815         -  cat conftest.$ac_ext >&5
  3816         -fi
  3817         -rm -f conftest*
  3818         -if test $ac_cv_c_bigendian = unknown; then
  3819         -if test "$cross_compiling" = yes; then
  3820         -   echo $ac_n "cross-compiling... " 2>&6 
  3821         -else
  3822         -  cat > conftest.$ac_ext <<EOF
  3823         -#line 3825 "configure"
  3824         -#include "confdefs.h"
  3825         -main () {
  3826         -  /* Are we little or big endian?  From Harbison&Steele.  */
  3827         -  union
  3828         -  {
  3829         -    long l;
  3830         -    char c[sizeof (long)];
  3831         -  } u;
  3832         -  u.l = 1;
  3833         -  exit (u.c[sizeof (long) - 1] == 1);
  3834         -}
  3835         -EOF
  3836         -if { (eval echo configure:3838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  3837         -then
  3838         -  ac_cv_c_bigendian=no
  3839         -else
  3840         -  echo "configure: failed program was:" >&5
  3841         -  cat conftest.$ac_ext >&5
  3842         -  rm -fr conftest*
  3843         -  ac_cv_c_bigendian=yes
  3844         -fi
  3845         -rm -fr conftest*
  3846         -fi
  3847         -
  3848         -fi
  3849         -fi
  3850         -
  3851         -echo "$ac_t""$ac_cv_c_bigendian" 1>&6
  3852         -if test $ac_cv_c_bigendian = unknown; then
  3853         -echo $ac_n "checking to probe for byte ordering""... $ac_c" 1>&6
  3854         -echo "configure:3856: checking to probe for byte ordering" >&5
  3855         -
  3856         -cat >conftest.c <<EOF
  3857         -short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
  3858         -short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
  3859         -void _ascii() { char* s = (char*) ascii_mm; s = (char*) ascii_ii; }
  3860         -short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
  3861         -short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
  3862         -void _ebcdic() { char* s = (char*) ebcdic_mm; s = (char*) ebcdic_ii; }
  3863         -int main() { _ascii (); _ebcdic (); return 0; }
  3864         -EOF
  3865         - if test -f conftest.c ; then
  3866         -     if ${CC-cc} -c conftest.c -o conftest.o && test -f conftest.o ; then
  3867         -        if test `grep -l BIGenDianSyS conftest.o` ; then
  3868         -           echo $ac_n ' big endian probe OK, ' 1>&6
  3869         -           ac_cv_c_bigendian=yes
  3870         -        fi
  3871         -        if test `grep -l LiTTleEnDian conftest.o` ; then
  3872         -           echo $ac_n ' little endian probe OK, ' 1>&6
  3873         -           if test $ac_cv_c_bigendian = yes ; then
  3874         -            ac_cv_c_bigendian=unknown;
  3875         -           else
  3876         -            ac_cv_c_bigendian=no
  3877         -           fi
  3878         -        fi
  3879         -        echo $ac_n 'guessing bigendian ...  ' >&6
  3880         -     fi
  3881         -  fi
  3882         -echo "$ac_t""$ac_cv_c_bigendian" 1>&6
  3883         -fi
  3884         -if test $ac_cv_c_bigendian = yes; then
  3885         -  cat >> confdefs.h <<\EOF
  3886         -#define WORDS_BIGENDIAN 1
  3887         -EOF
  3888         -
  3889         -  BYTEORDER=4321
  3890         -else
  3891         -  BYTEORDER=1234
  3892         -fi
  3893         -if test $ac_cv_c_bigendian = unknown; then
  3894         -  { echo "configure: error: unknown endianess - sorry" 1>&2; exit 1; }
  3895         -fi
  3896         -
  3897         -
  3898         -
  3899         -#--------------------------------------------------------------------
  3900         -# Finally, substitute all of the various values into the Makefile.
  3901         -# You may alternatively have a special pkgIndex.tcl.in or other files
  3902         -# which require substituting th AC variables in.  Include these here.
  3903         -#--------------------------------------------------------------------
  3904         -
  3905         -trap '' 1 2 15
  3906         -cat > confcache <<\EOF
  3907         -# This file is a shell script that caches the results of configure
  3908         -# tests run on this system so they can be shared between configure
  3909         -# scripts and configure runs.  It is not useful on other systems.
  3910         -# If it contains results you don't want to keep, you may remove or edit it.
  3911         -#
  3912         -# By default, configure uses ./config.cache as the cache file,
  3913         -# creating it if it does not exist already.  You can give configure
  3914         -# the --cache-file=FILE option to use a different cache file; that is
  3915         -# what configure does when it calls configure scripts in
  3916         -# subdirectories, so they share the cache.
  3917         -# Giving --cache-file=/dev/null disables caching, for debugging configure.
  3918         -# config.status only pays attention to the cache file if you give it the
  3919         -# --recheck option to rerun configure.
  3920         -#
  3921         -EOF
  3922         -# The following way of writing the cache mishandles newlines in values,
  3923         -# but we know of no workaround that is simple, portable, and efficient.
  3924         -# So, don't put newlines in cache variables' values.
  3925         -# Ultrix sh set writes to stderr and can't be redirected directly,
  3926         -# and sets the high bit in the cache file unless we assign to the vars.
  3927         -(set) 2>&1 |
  3928         -  case `(ac_space=' '; set | grep ac_space) 2>&1` in
  3929         -  *ac_space=\ *)
  3930         -    # `set' does not quote correctly, so add quotes (double-quote substitution
  3931         -    # turns \\\\ into \\, and sed turns \\ into \).
  3932         -    sed -n \
  3933         -      -e "s/'/'\\\\''/g" \
  3934         -      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
  3935         -    ;;
  3936         -  *)
  3937         -    # `set' quotes correctly as required by POSIX, so do not add quotes.
  3938         -    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
  3939         -    ;;
  3940         -  esac >> confcache
  3941         -if cmp -s $cache_file confcache; then
  3942         -  :
  3943         -else
  3944         -  if test -w $cache_file; then
  3945         -    echo "updating cache $cache_file"
  3946         -    cat confcache > $cache_file
  3947         -  else
  3948         -    echo "not updating unwritable cache $cache_file"
  3949         -  fi
  3950         -fi
  3951         -rm -f confcache
  3952         -
  3953         -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
  3954         -
  3955         -test "x$prefix" = xNONE && prefix=$ac_default_prefix
  3956         -# Let make expand exec_prefix.
  3957         -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
  3958         -
  3959         -# Any assignment to VPATH causes Sun make to only execute
  3960         -# the first set of double-colon rules, so remove it if not needed.
  3961         -# If there is a colon in the path, we need to keep it.
  3962         -if test "x$srcdir" = x.; then
  3963         -  ac_vpsub='/^[ 	]*VPATH[ 	]*=[^:]*$/d'
  3964         -fi
  3965         -
  3966         -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
  3967         -
  3968         -# Transform confdefs.h into DEFS.
  3969         -# Protect against shell expansion while executing Makefile rules.
  3970         -# Protect against Makefile macro expansion.
  3971         -cat > conftest.defs <<\EOF
  3972         -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
  3973         -s%[ 	`~#$^&*(){}\\|;'"<>?]%\\&%g
  3974         -s%\[%\\&%g
  3975         -s%\]%\\&%g
  3976         -s%\$%$$%g
  3977         -EOF
  3978         -DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
  3979         -rm -f conftest.defs
  3980         -
  3981         -
  3982         -# Without the "./", some shells look in PATH for config.status.
  3983         -: ${CONFIG_STATUS=./config.status}
  3984         -
  3985         -echo creating $CONFIG_STATUS
  3986         -rm -f $CONFIG_STATUS
  3987         -cat > $CONFIG_STATUS <<EOF
  3988         -#! /bin/sh
  3989         -# Generated automatically by configure.
  3990         -# Run this file to recreate the current configuration.
  3991         -# This directory was configured as follows,
  3992         -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
  3993         -#
  3994         -# $0 $ac_configure_args
  3995         -#
  3996         -# Compiler output produced by configure, useful for debugging
  3997         -# configure, is in ./config.log if it exists.
  3998         -
  3999         -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
  4000         -for ac_option
  4001         -do
  4002         -  case "\$ac_option" in
  4003         -  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
  4004         -    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
  4005         -    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
  4006         -  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
  4007         -    echo "$CONFIG_STATUS generated by autoconf version 2.13"
  4008         -    exit 0 ;;
  4009         -  -help | --help | --hel | --he | --h)
  4010         -    echo "\$ac_cs_usage"; exit 0 ;;
  4011         -  *) echo "\$ac_cs_usage"; exit 1 ;;
  4012         -  esac
  4013         -done
  4014         -
  4015         -ac_given_srcdir=$srcdir
  4016         -ac_given_INSTALL="$INSTALL"
  4017         -
  4018         -trap 'rm -fr `echo "Makefile tdomConfig.sh" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
  4019         -EOF
  4020         -cat >> $CONFIG_STATUS <<EOF
  4021         -
  4022         -# Protect against being on the right side of a sed subst in config.status.
  4023         -sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
  4024         - s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
  4025         -$ac_vpsub
  4026         -$extrasub
  4027         -s%@SHELL@%$SHELL%g
  4028         -s%@CFLAGS@%$CFLAGS%g
  4029         -s%@CPPFLAGS@%$CPPFLAGS%g
  4030         -s%@CXXFLAGS@%$CXXFLAGS%g
  4031         -s%@FFLAGS@%$FFLAGS%g
  4032         -s%@DEFS@%$DEFS%g
  4033         -s%@LDFLAGS@%$LDFLAGS%g
  4034         -s%@LIBS@%$LIBS%g
  4035         -s%@exec_prefix@%$exec_prefix%g
  4036         -s%@prefix@%$prefix%g
  4037         -s%@program_transform_name@%$program_transform_name%g
  4038         -s%@bindir@%$bindir%g
  4039         -s%@sbindir@%$sbindir%g
  4040         -s%@libexecdir@%$libexecdir%g
  4041         -s%@datadir@%$datadir%g
  4042         -s%@sysconfdir@%$sysconfdir%g
  4043         -s%@sharedstatedir@%$sharedstatedir%g
  4044         -s%@localstatedir@%$localstatedir%g
  4045         -s%@libdir@%$libdir%g
  4046         -s%@includedir@%$includedir%g
  4047         -s%@oldincludedir@%$oldincludedir%g
  4048         -s%@infodir@%$infodir%g
  4049         -s%@mandir@%$mandir%g
  4050         -s%@CONFIGDIR@%$CONFIGDIR%g
  4051         -s%@PACKAGE@%$PACKAGE%g
  4052         -s%@TDOMSHELL@%$TDOMSHELL%g
  4053         -s%@MAJOR_VERSION@%$MAJOR_VERSION%g
  4054         -s%@MINOR_VERSION@%$MINOR_VERSION%g
  4055         -s%@PATCHLEVEL@%$PATCHLEVEL%g
  4056         -s%@tdom_LIB_FILE@%$tdom_LIB_FILE%g
  4057         -s%@tdomstub_LIB_FILE@%$tdomstub_LIB_FILE%g
  4058         -s%@CYGPATH@%$CYGPATH%g
  4059         -s%@EXEEXT@%$EXEEXT%g
  4060         -s%@TCL_VERSION@%$TCL_VERSION%g
  4061         -s%@TCL_BIN_DIR@%$TCL_BIN_DIR%g
  4062         -s%@TCL_SRC_DIR@%$TCL_SRC_DIR%g
  4063         -s%@TCL_LIB_FILE@%$TCL_LIB_FILE%g
  4064         -s%@TCL_LIB_FLAG@%$TCL_LIB_FLAG%g
  4065         -s%@TCL_LIB_SPEC@%$TCL_LIB_SPEC%g
  4066         -s%@TCL_STUB_LIB_FILE@%$TCL_STUB_LIB_FILE%g
  4067         -s%@TCL_STUB_LIB_FLAG@%$TCL_STUB_LIB_FLAG%g
  4068         -s%@TCL_STUB_LIB_SPEC@%$TCL_STUB_LIB_SPEC%g
  4069         -s%@TCL_LIBS@%$TCL_LIBS%g
  4070         -s%@TCL_DEFS@%$TCL_DEFS%g
  4071         -s%@TCL_EXTRA_CFLAGS@%$TCL_EXTRA_CFLAGS%g
  4072         -s%@TCL_LD_FLAGS@%$TCL_LD_FLAGS%g
  4073         -s%@TCL_SHLIB_LD_LIBS@%$TCL_SHLIB_LD_LIBS%g
  4074         -s%@CC@%$CC%g
  4075         -s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
  4076         -s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
  4077         -s%@INSTALL_DATA@%$INSTALL_DATA%g
  4078         -s%@SET_MAKE@%$SET_MAKE%g
  4079         -s%@RANLIB@%$RANLIB%g
  4080         -s%@OBJEXT@%$OBJEXT%g
  4081         -s%@TCL_INCLUDES@%$TCL_INCLUDES%g
  4082         -s%@CLEANFILES@%$CLEANFILES%g
  4083         -s%@EXTRA_SOURCES@%$EXTRA_SOURCES%g
  4084         -s%@VERSION@%$VERSION%g
  4085         -s%@tdomstub_BUILD_SPEC@%$tdomstub_BUILD_SPEC%g
  4086         -s%@tdomstub_FILE_SPEC@%$tdomstub_FILE_SPEC%g
  4087         -s%@tdom_SRC_DIR@%$tdom_SRC_DIR%g
  4088         -s%@TCL_THREADS@%$TCL_THREADS%g
  4089         -s%@AR@%$AR%g
  4090         -s%@CPP@%$CPP%g
  4091         -s%@DL_LIBS@%$DL_LIBS%g
  4092         -s%@CFLAGS_DEBUG@%$CFLAGS_DEBUG%g
  4093         -s%@CFLAGS_OPTIMIZE@%$CFLAGS_OPTIMIZE%g
  4094         -s%@CFLAGS_WARNING@%$CFLAGS_WARNING%g
  4095         -s%@EXTRA_CFLAGS@%$EXTRA_CFLAGS%g
  4096         -s%@STLIB_LD@%$STLIB_LD%g
  4097         -s%@SHLIB_LD@%$SHLIB_LD%g
  4098         -s%@SHLIB_CFLAGS@%$SHLIB_CFLAGS%g
  4099         -s%@SHLIB_LDFLAGS@%$SHLIB_LDFLAGS%g
  4100         -s%@SHLIB_LD_LIBS@%$SHLIB_LD_LIBS%g
  4101         -s%@LDFLAGS_DEBUG@%$LDFLAGS_DEBUG%g
  4102         -s%@LDFLAGS_OPTIMIZE@%$LDFLAGS_OPTIMIZE%g
  4103         -s%@TDOM_LD_SEARCH_FLAGS@%$TDOM_LD_SEARCH_FLAGS%g
  4104         -s%@TCL_DBGX@%$TCL_DBGX%g
  4105         -s%@CFLAGS_DEFAULT@%$CFLAGS_DEFAULT%g
  4106         -s%@LDFLAGS_DEFAULT@%$LDFLAGS_DEFAULT%g
  4107         -s%@SHARED_BUILD@%$SHARED_BUILD%g
  4108         -s%@MAKE_LIB@%$MAKE_LIB%g
  4109         -s%@MAKE_SHARED_LIB@%$MAKE_SHARED_LIB%g
  4110         -s%@MAKE_STATIC_LIB@%$MAKE_STATIC_LIB%g
  4111         -s%@MAKE_STUB_LIB@%$MAKE_STUB_LIB%g
  4112         -s%@TCLSH_PROG@%$TCLSH_PROG%g
  4113         -s%@TDOM_INCLUDES@%$TDOM_INCLUDES%g
  4114         -s%@AOL_DIR@%$AOL_DIR%g
  4115         -s%@AOL_INCLUDES@%$AOL_INCLUDES%g
  4116         -s%@BYTEORDER@%$BYTEORDER%g
  4117         -
  4118         -CEOF
  4119         -EOF
  4120         -
  4121         -cat >> $CONFIG_STATUS <<\EOF
  4122         -
  4123         -# Split the substitutions into bite-sized pieces for seds with
  4124         -# small command number limits, like on Digital OSF/1 and HP-UX.
  4125         -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
  4126         -ac_file=1 # Number of current file.
  4127         -ac_beg=1 # First line for current file.
  4128         -ac_end=$ac_max_sed_cmds # Line after last line for current file.
  4129         -ac_more_lines=:
  4130         -ac_sed_cmds=""
  4131         -while $ac_more_lines; do
  4132         -  if test $ac_beg -gt 1; then
  4133         -    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
  4134         -  else
  4135         -    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
  4136         -  fi
  4137         -  if test ! -s conftest.s$ac_file; then
  4138         -    ac_more_lines=false
  4139         -    rm -f conftest.s$ac_file
  4140         -  else
  4141         -    if test -z "$ac_sed_cmds"; then
  4142         -      ac_sed_cmds="sed -f conftest.s$ac_file"
  4143         -    else
  4144         -      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
  4145         -    fi
  4146         -    ac_file=`expr $ac_file + 1`
  4147         -    ac_beg=$ac_end
  4148         -    ac_end=`expr $ac_end + $ac_max_sed_cmds`
  4149         -  fi
  4150         -done
  4151         -if test -z "$ac_sed_cmds"; then
  4152         -  ac_sed_cmds=cat
  4153         -fi
  4154         -EOF
  4155         -
  4156         -cat >> $CONFIG_STATUS <<EOF
  4157         -
  4158         -CONFIG_FILES=\${CONFIG_FILES-"Makefile tdomConfig.sh"}
  4159         -EOF
  4160         -cat >> $CONFIG_STATUS <<\EOF
  4161         -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
  4162         -  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
  4163         -  case "$ac_file" in
  4164         -  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
  4165         -       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
  4166         -  *) ac_file_in="${ac_file}.in" ;;
  4167         -  esac
  4168         -
  4169         -  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
  4170         -
  4171         -  # Remove last slash and all that follows it.  Not all systems have dirname.
  4172         -  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
  4173         -  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
  4174         -    # The file is in a subdirectory.
  4175         -    test ! -d "$ac_dir" && mkdir "$ac_dir"
  4176         -    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
  4177         -    # A "../" for each directory in $ac_dir_suffix.
  4178         -    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
  4179         -  else
  4180         -    ac_dir_suffix= ac_dots=
  4181         -  fi
  4182         -
  4183         -  case "$ac_given_srcdir" in
  4184         -  .)  srcdir=.
  4185         -      if test -z "$ac_dots"; then top_srcdir=.
  4186         -      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
  4187         -  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
  4188         -  *) # Relative path.
  4189         -    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
  4190         -    top_srcdir="$ac_dots$ac_given_srcdir" ;;
  4191         -  esac
  4192         -
  4193         -  case "$ac_given_INSTALL" in
  4194         -  [/$]*) INSTALL="$ac_given_INSTALL" ;;
  4195         -  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
  4196         -  esac
  4197         -
  4198         -  echo creating "$ac_file"
  4199         -  rm -f "$ac_file"
  4200         -  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
  4201         -  case "$ac_file" in
  4202         -  *Makefile*) ac_comsub="1i\\
  4203         -# $configure_input" ;;
  4204         -  *) ac_comsub= ;;
  4205         -  esac
  4206         -
  4207         -  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
  4208         -  sed -e "$ac_comsub
  4209         -s%@configure_input@%$configure_input%g
  4210         -s%@srcdir@%$srcdir%g
  4211         -s%@top_srcdir@%$top_srcdir%g
  4212         -s%@INSTALL@%$INSTALL%g
  4213         -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
  4214         -fi; done
  4215         -rm -f conftest.s*
  4216         -
  4217         -EOF
  4218         -cat >> $CONFIG_STATUS <<EOF
  4219         -
  4220         -EOF
  4221         -cat >> $CONFIG_STATUS <<\EOF
  4222         -
  4223         -exit 0
  4224         -EOF
  4225         -chmod +x $CONFIG_STATUS
  4226         -rm -fr confdefs* $ac_clean_files
  4227         -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
  4228         -

Changes to configure.in.

    92     92   # stub library C source files to compile in TEA_ADD_STUB_SOURCES,
    93     93   # and runtime Tcl library files in TEA_ADD_TCL_SOURCES.
    94     94   # This defines PKG(_STUB)_SOURCES, PKG(_STUB)_OBJECTS, PKG_HEADERS
    95     95   # and PKG_TCL_SOURCES.
    96     96   #-----------------------------------------------------------------------
    97     97   
    98     98   TEA_ADD_SOURCES([generic/xmlsimple.c \
    99         -                 generic/utf8conv.c  \
   100     99                    generic/dom.c       \
   101    100                    generic/domhtml.c   \
   102    101                    generic/domhtml5.c  \
   103    102                    generic/domjson.c   \
   104    103                    generic/domxpath.c  \
   105    104                    generic/domxslt.c   \
   106    105                    generic/domlock.c   \

Changes to doc/dom.html.

   333    333             <dt>
   334    334   <b class="cmd">dom</b> <b class="method">createDocumentNode</b>
   335    335   ?<i class="m">objVar</i>?</dt>
   336    336             <dd>Creates a new 'empty' DOM document object without any element
   337    337   node. <i class="m">objVar</i> controls the memory handling as explained above.</dd>
   338    338           
   339    339   
   340         -        
   341         -          <dt>
   342         -<b class="cmd">dom</b> <b class="method">setResultEncoding</b> ?<i class="m">encodingName</i>?</dt>
   343         -          <dd>This option is for backward compatibility with Tcl
   344         -          8.0. If tDOM is build with any newer Tcl version this option
   345         -          does not has any effect. If <i class="m">encodingName</i> is not given
   346         -          the current global result encoding is returned. Otherwise
   347         -          the global result encoding is set to <i class="m">encodingName</i>.
   348         -          All character data, attribute values etc. will then be
   349         -          converted from UTF-8, which is delivered from the Expat XML
   350         -          parser, to the given 8 bit encoding at XML/DOM parse time.
   351         -          Valid values for <i class="m">encodingName</i> are: utf-8, ascii,
   352         -          cp1250, cp1251, cp1252, cp1253, cp1254, cp1255, cp1256,
   353         -          cp437, cp850, en, iso8859-1, iso8859-2, iso8859-3,
   354         -          iso8859-4, iso8859-5, iso8859-6, iso8859-7, iso8859-8,
   355         -          iso8859-9, koi8-r.</dd>
   356         -        
   357         -
   358         -        
   359    340             <dt>
   360    341   <b class="cmd">dom</b> <b class="method">createNodeCmd</b>
   361    342   <i class="m">?-returnNodeCmd?</i> <i class="m">?-tagName name?</i> <i class="m">?-jsonType jsonType?</i> <i class="m">?-namespace URI?</i> <i class="m">(element|comment|text|cdata|pi)Node</i> <i class="m">commandName</i>
   362    343   </dt>
   363    344             <dd>This method creates Tcl commands, which in turn create
   364    345             tDOM nodes. Tcl commands created by this command are only
   365    346             available inside a script given to the domNode methods

Changes to doc/dom.n.

   417    417   document element to create. The \fIobjVar\fR controls the
   418    418   memory handling as explained above.
   419    419   .TP
   420    420   \&\fB\fBdom\fP \fBcreateDocumentNode\fP ?\fIobjVar\fB?
   421    421   \&\fRCreates a new 'empty' DOM document object without any element
   422    422   node. \fIobjVar\fR controls the memory handling as explained above.
   423    423   .TP
   424         -\&\fB\fBdom\fP \fBsetResultEncoding\fP ?\fIencodingName\fB?
   425         -\&\fRThis option is for backward compatibility with Tcl
   426         -8.0. If tDOM is build with any newer Tcl version this option
   427         -does not has any effect. If \fIencodingName\fR is not given
   428         -the current global result encoding is returned. Otherwise
   429         -the global result encoding is set to \fIencodingName\fR.
   430         -All character data, attribute values etc. will then be
   431         -converted from UTF-8, which is delivered from the Expat XML
   432         -parser, to the given 8 bit encoding at XML/DOM parse time.
   433         -Valid values for \fIencodingName\fR are: utf-8, ascii,
   434         -cp1250, cp1251, cp1252, cp1253, cp1254, cp1255, cp1256,
   435         -cp437, cp850, en, iso8859-1, iso8859-2, iso8859-3,
   436         -iso8859-4, iso8859-5, iso8859-6, iso8859-7, iso8859-8,
   437         -iso8859-9, koi8-r.
   438         -.TP
   439    424   \&\fB\fBdom\fP \fBcreateNodeCmd\fP \fI?-returnNodeCmd?\fB \fI?-tagName name?\fB \fI?-jsonType jsonType?\fB \fI?-namespace URI?\fB \fI(element|comment|text|cdata|pi)Node\fB \fIcommandName\fB
   440    425   \&\fRThis method creates Tcl commands, which in turn create
   441    426   tDOM nodes. Tcl commands created by this command are only
   442    427   available inside a script given to the domNode methods
   443    428   \&\fIappendFromScript\fR or \fIinsertBeforeFromScript\fR. If
   444    429   a command created with \fIcreateNodeCmd\fR is invoked in
   445    430   any other context, it will return error. The created command

Changes to doc/dom.xml.

   323    323           <commanddef>
   324    324             <command><cmd>dom</cmd> <method>createDocumentNode</method>
   325    325   ?<m>objVar</m>?</command>
   326    326             <desc>Creates a new 'empty' DOM document object without any element
   327    327   node. <m>objVar</m> controls the memory handling as explained above.</desc>
   328    328           </commanddef>
   329    329   
   330         -        <commanddef>
   331         -          <command><cmd>dom</cmd> <method>setResultEncoding</method> ?<m>encodingName</m>?</command>
   332         -          <desc>This option is for backward compatibility with Tcl
   333         -          8.0. If tDOM is build with any newer Tcl version this option
   334         -          does not has any effect. If <m>encodingName</m> is not given
   335         -          the current global result encoding is returned. Otherwise
   336         -          the global result encoding is set to <m>encodingName</m>.
   337         -          All character data, attribute values etc. will then be
   338         -          converted from UTF-8, which is delivered from the Expat XML
   339         -          parser, to the given 8 bit encoding at XML/DOM parse time.
   340         -          Valid values for <m>encodingName</m> are: utf-8, ascii,
   341         -          cp1250, cp1251, cp1252, cp1253, cp1254, cp1255, cp1256,
   342         -          cp437, cp850, en, iso8859-1, iso8859-2, iso8859-3,
   343         -          iso8859-4, iso8859-5, iso8859-6, iso8859-7, iso8859-8,
   344         -          iso8859-9, koi8-r.</desc>
   345         -        </commanddef>
   346         -
   347    330           <commanddef>
   348    331             <command><cmd>dom</cmd> <method>createNodeCmd</method>
   349    332   <m>?-returnNodeCmd?</m> <m>?-tagName name?</m> <m>?-jsonType jsonType?</m> <m>?-namespace URI?</m> <m>(element|comment|text|cdata|pi)Node</m> <m>commandName</m></command>
   350    333             <desc>This method creates Tcl commands, which in turn create
   351    334             tDOM nodes. Tcl commands created by this command are only
   352    335             available inside a script given to the domNode methods
   353    336             <m>appendFromScript</m> or <m>insertBeforeFromScript</m>. If

Changes to doc/tdomcmd.html.

    39     39           <dt>
    40     40   <b class="cmd">tdom</b> <i class="m">parserObj</i> <b class="method">getdoc</b>
    41     41   </dt>
    42     42   
    43     43           <dd><p>Returns the DOM tree as domDoc (see there) object.</p></dd>
    44     44         
    45     45   
    46         -      
    47         -        <dt>
    48         -<b class="cmd">tdom</b> <i class="m">parserObj</i> <b class="method">setResultEncoding</b>
    49         -</dt>
    50         -
    51         -        <dd><p>See the method <tt class="samp">setResultEncoding</tt> of the
    52         -<b class="cmd">dom</b> command.</p></dd>
    53         -      
    54         -
    55     46         
    56     47           <dt>
    57     48   <b class="cmd">tdom</b> <i class="m">parserObj</i> <b class="method">setStoreLineColumn</b> ?<i class="m">boolean</i>?</dt>
    58     49   
    59     50           <dd><p>See the method <tt class="samp">setStoreLineColumn</tt> of the
    60     51   <b class="cmd">dom</b> command.</p></dd>
    61     52         

Changes to doc/tdomcmd.n.

   191    191   .TP
   192    192   \&\fB\fBtdom\fP \fIparserObj\fB \fBgetdoc\fP
   193    193   \&\fR
   194    194   .RS
   195    195   .PP
   196    196   Returns the DOM tree as domDoc (see there) object.
   197    197   .RE
   198         -.TP
   199         -\&\fB\fBtdom\fP \fIparserObj\fB \fBsetResultEncoding\fP
   200         -\&\fR
   201         -.RS
   202         -.PP
   203         -See the method \fBsetResultEncoding\fR of the
   204         -\&\fBdom\fP command.
   205         -.RE
   206    198   .TP
   207    199   \&\fB\fBtdom\fP \fIparserObj\fB \fBsetStoreLineColumn\fP ?\fIboolean\fB?
   208    200   \&\fR
   209    201   .RS
   210    202   .PP
   211    203   See the method \fBsetStoreLineColumn\fR of the
   212    204   \&\fBdom\fP command.

Changes to doc/tdomcmd.xml.

    36     36   
    37     37         <commanddef>
    38     38           <command><cmd>tdom</cmd> <m>parserObj</m> <method>getdoc</method></command>
    39     39   
    40     40           <desc><p>Returns the DOM tree as domDoc (see there) object.</p></desc>
    41     41         </commanddef>
    42     42   
    43         -      <commanddef>
    44         -        <command><cmd>tdom</cmd> <m>parserObj</m> <method>setResultEncoding</method></command>
    45         -
    46         -        <desc><p>See the method <samp>setResultEncoding</samp> of the
    47         -<cmd>dom</cmd> command.</p></desc>
    48         -      </commanddef>
    49         -
    50     43         <commanddef>
    51     44           <command><cmd>tdom</cmd> <m>parserObj</m> <method>setStoreLineColumn</method> ?<m>boolean</m>?</command>
    52     45   
    53     46           <desc><p>See the method <samp>setStoreLineColumn</samp> of the
    54     47   <cmd>dom</cmd> command.</p></desc>
    55     48         </commanddef>
    56     49   

Deleted encodings/GenCompactCodings.

     1         -#!/opt/tcl/bin/tclsh
     2         -#-----------------------------------------------------------------------------
     3         -#   Copyright (c) 1999 Jochen C. Loewer (loewerj@hotmail.com) 
     4         -#-----------------------------------------------------------------------------
     5         -#
     6         -#
     7         -#   Script to generate 'space and time optimal' C code for fixed 
     8         -#   converting tables from Unicode to 8bit encodings (ISO-8859*,CP850...)
     9         -#   from the Tcl 8.2 encoding files (*.enc)
    10         -#
    11         -#
    12         -#
    13         -#   The contents of this file are subject to the Mozilla Public License
    14         -#   Version 1.1 (the "License"); you may not use this file except in
    15         -#   compliance with the License. You may obtain a copy of the License at
    16         -#   http://www.mozilla.org/MPL/
    17         -#
    18         -#   Software distributed under the License is distributed on an "AS IS"
    19         -#   basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
    20         -#   License for the specific language governing rights and limitations
    21         -#   under the License.
    22         -#
    23         -#   The Original Code is tDOM.
    24         -#
    25         -#   The Initial Developer of the Original Code is Jochen Loewer
    26         -#   Portions created by Jochen Loewer are Copyright (C) 1998, 1999
    27         -#   Jochen Loewer. All Rights Reserved.
    28         -#
    29         -#   Contributor(s):                                      
    30         -#   
    31         -#
    32         -#   written by Jochen Loewer
    33         -#   November, 1999
    34         -#
    35         -#-----------------------------------------------------------------------------
    36         -
    37         -
    38         -
    39         -#-----------------------------------------------------------------------------
    40         -#   Log
    41         -#
    42         -#-----------------------------------------------------------------------------
    43         -proc Log { message } {
    44         -    puts stderr $message
    45         -}
    46         -
    47         -
    48         -#-----------------------------------------------------------------------------
    49         -#   HexValue
    50         -#
    51         -#-----------------------------------------------------------------------------
    52         -proc HexValue { v } {
    53         -    return [format "0x%2X" $v]
    54         -}
    55         -
    56         -
    57         -#-----------------------------------------------------------------------------
    58         -#   HEX
    59         -#
    60         -#-----------------------------------------------------------------------------
    61         -proc HEX { v } {
    62         -    return [format "\\%03o" $v]
    63         -}
    64         -
    65         -
    66         -#-----------------------------------------------------------------------------
    67         -#   ReadEncodingFile
    68         -#
    69         -#-----------------------------------------------------------------------------
    70         -proc ReadEncodingFile { encodingFile info_var map_var } {
    71         -
    72         -    upvar $info_var info $map_var map
    73         -
    74         -    catch { unset info }
    75         -    catch { unset map  }
    76         -
    77         -    set info(max) 0
    78         -
    79         -    Log "Reading encoding file $encodingFile ..."
    80         -
    81         -    set fd [open $encodingFile r]
    82         -
    83         -    #--------------------------------------------------------------
    84         -    #   read header
    85         -    #
    86         -    #--------------------------------------------------------------
    87         -    set line [gets $fd]   ;# ignore comment line
    88         -
    89         -    set line [gets $fd]   
    90         -
    91         -    if {$line != "S"} {
    92         -        error "Only single byte encodings are supported"
    93         -    }
    94         -    set line [gets $fd]
    95         -    scan $line "%s %d %d" fbHex info(symbol) info(npages)
    96         -
    97         -    set fb [binary format H2 [string range $fbHex 2 4]]
    98         -    binary scan $fb c info(fallback)
    99         - 
   100         -    #--------------------------------------------------------------
   101         -    #   read each single mapping page
   102         -    #
   103         -    #--------------------------------------------------------------
   104         -    for {set p 0} {$p < $info(npages)} {incr p} {
   105         - 
   106         -        set line [gets $fd]
   107         -
   108         -        binary scan [binary format H2 $line] c page
   109         -
   110         -        #----------------------------------------------------
   111         -        #   read 16 * 16 hex number -> 256 mappings
   112         -        #
   113         -        #----------------------------------------------------
   114         -        for {set l 0} {$l < 16} {incr l} {
   115         -
   116         -            set line [gets $fd]
   117         -
   118         -            for {set k 0} {$k < 16} {incr k} {
   119         -
   120         -                set hex [string range $line 0 3]
   121         -                set line [string range $line 4 end]
   122         -                binary scan [binary format H4 $hex] S from
   123         -                set to [expr ($page << 8) + ($l * 16) + $k]
   124         -                Log "$from -> $to"
   125         -
   126         -                #------------------------------
   127         -                #   set mapping
   128         -                #------------------------------
   129         -                set map($from) $to
   130         -
   131         -                if {$from > $info(max)} {set info(max) $from}
   132         -            }
   133         -        }
   134         -    }
   135         -    close $fd
   136         -    Log "fallback='$info(fallback)' max=$info(max) symbol=$info(symbol) npages=$info(npages)"
   137         -    Log "Reading done."
   138         -    Log ""
   139         -}
   140         -
   141         -
   142         -
   143         -
   144         -#-----------------------------------------------------------------------------
   145         -#   BuildInitalRanges
   146         -#
   147         -#-----------------------------------------------------------------------------
   148         -proc BuildInitalRanges { info_var map_var} {
   149         -
   150         -    upvar $info_var info $map_var map
   151         -
   152         -    set mode different
   153         -    set last -1
   154         -
   155         -    set ranges {}
   156         -
   157         -    for {set from 1} {$from <= $info(max)} {incr from} {
   158         -        if {![info exists map($from)]} {
   159         -            set to $info(fallback)
   160         -        } else {   
   161         -            set to $map($from)
   162         -        }
   163         -        if {$mode == "identic"} {
   164         -            if {$from == $to} {
   165         -                set last $from
   166         -            } else {
   167         -                lappend ranges [list $identicStart [expr $last - $identicStart +1] {}]            
   168         -                Log "$identicStart, $last, IDENTIC, NULL, "
   169         -                if {$to == $info(fallback)} { 
   170         -                    set mode fallback
   171         -                } else {
   172         -                    lappend ranges [list $from 1 $to]            
   173         -                    Log "$from -> $to"
   174         -                    set mode different
   175         -                }
   176         -            }
   177         -        } elseif {$mode == "different"} {
   178         -            if {$from == $to} {
   179         -                set identicStart $from
   180         -                set last         $from
   181         -                set mode identic
   182         -            } elseif {$to == $info(fallback)} {
   183         -                set mode fallback
   184         -            } else {
   185         -                lappend ranges [list $from 1 $to]            
   186         -                Log"$from -> $to"
   187         -            }        
   188         -        } else {
   189         -            if {$to != $info(fallback)} {
   190         -                if {$from == $to} {
   191         -                    set identicStart $from
   192         -                    set last         $from
   193         -                    set mode identic
   194         -                } else {
   195         -                    lappend ranges [list $from 1 $to]            
   196         -                    Log "$from -> $to"
   197         -                }        
   198         -            }
   199         -        } 
   200         -    }
   201         -    if {$mode == "identic"} {
   202         -        lappend ranges [list $identicStart [expr $last - $identicStart +1] {}]            
   203         -        Log "$identicStart, $last, IDENTIC, NULL, "
   204         -    }
   205         -    return $ranges
   206         -}
   207         -
   208         -
   209         -#-----------------------------------------------------------------------------
   210         -#   OptimizeRanges
   211         -#
   212         -#-----------------------------------------------------------------------------
   213         -proc OptimizeRanges { fallback ranges } {
   214         -
   215         -    set newranges {}
   216         -    set lastfrom  {}
   217         -
   218         -    foreach range $ranges {
   219         -        foreach {from len values} $range break
   220         -
   221         -        if {($len > 50) && ($values == {}) } {
   222         -            if {$lastfrom != {} } {
   223         -                lappend newranges [list $lastfrom $lastlen $lastvalues]
   224         -            }
   225         -            lappend newranges [list $from $len $values]
   226         -            set lastfrom {}
   227         -        } elseif {$lastfrom != {} } {
   228         -            #Log "lastfrom=$lastfrom lastlen=$lastlen"
   229         -            if { ($lastfrom + $lastlen + 20) > $from} {
   230         - 
   231         -                if {$lastvalues == {}} {
   232         -                    for {set j 0} {$j < $lastlen} {incr j} {
   233         -                        lappend lastvalues [expr $lastfrom + $j]
   234         -                    }
   235         -                    incr lastlen $lastlen
   236         -                }
   237         -                for {set i [expr $lastfrom + $lastlen]} {$i < $from} {incr i} { 
   238         -                    lappend lastvalues $fallback
   239         -                    incr lastlen 
   240         -                }
   241         -                if {$values == {}} {
   242         -                    for {set j 0} {$j < $len} {incr j} {
   243         -                        lappend lastvalues [expr $from + $j]
   244         -                    }
   245         -                    incr lastlen $len
   246         -                } else {
   247         -                    set lastvalues [concat $lastvalues $values]
   248         -                    incr lastlen $len
   249         -                }
   250         -            } else {
   251         -                lappend newranges [list $lastfrom $lastlen $lastvalues]
   252         -                set lastfrom   $from
   253         -                set lastlen    $len
   254         -                set lastvalues $values
   255         -            }
   256         -        } else {
   257         -            set lastfrom   $from
   258         -            set lastlen    $len
   259         -            set lastvalues $values
   260         -        }
   261         -    }
   262         -    if {$lastfrom != {} } {
   263         -        lappend newranges [list $lastfrom $lastlen $lastvalues]
   264         -    }
   265         -    return $newranges
   266         -}
   267         -
   268         -
   269         -#-----------------------------------------------------------------------------
   270         -#   OutputCode
   271         -#
   272         -#-----------------------------------------------------------------------------
   273         -proc OutputCode { encVar fallback ranges } {   
   274         -
   275         -    puts "static TEncodingRule TDOM_UnicodeTo$encVar \[\] = \{"
   276         -
   277         -    foreach range $ranges {
   278         -        foreach {from len values} $range break
   279         -        if {$values == {}} {
   280         -            puts "    \{ ENC_IDENTITY, $from, $len, \"\" \}, "
   281         -        } else {
   282         -            puts "    \{ ENC_MAP, $from, $len, "
   283         -            set i 0
   284         -            foreach value $values {
   285         -                if {$i == 0} { 
   286         -                    puts -nonewline "        \""
   287         -                }
   288         -                puts -nonewline "[HEX $value]"
   289         -                incr i
   290         -                if {$i == 14} { 
   291         -                    puts -nonewline "\"\n"
   292         -                    set i 0 
   293         -                }
   294         -            }
   295         -            if {$i > 0} {
   296         -                puts  -nonewline "\" \},\n"
   297         -            } else {
   298         -                puts  -nonewline "    \},\n"
   299         -            }
   300         -        }
   301         -    }
   302         -    puts "    \{ ENC_END, 0, 0, NULL \} "
   303         -    puts "\};\n"
   304         -}
   305         -
   306         -
   307         -
   308         -#-----------------------------------------------------------------------------
   309         -#   begin of main part
   310         -#-----------------------------------------------------------------------------
   311         -
   312         -
   313         -  puts "/*------------------------------------------------------------------------"
   314         -  puts "|   WARNING! This is file automatically generated by GenCompactCodings !  "
   315         -  puts "|   WARNING!         Do not edit!                                         "
   316         -  puts "|                                                                         "
   317         -  puts "|   Unicode(UTF) ---> 8bit code conversion tables                         "
   318         -  puts "|                                                                         "
   319         -  puts "\\-----------------------------------------------------------------------*/"
   320         -
   321         -
   322         -  set fallbacks {}
   323         -  set encodings {}
   324         -
   325         -  foreach encodingFile $argv {
   326         -
   327         -      regsub {(\.enc)$} $encodingFile {} encoding
   328         -      set encVar [string toupper $encoding]
   329         -      regsub -- {-} $encVar {} encVar
   330         -     
   331         -      ReadEncodingFile $encodingFile info map
   332         -
   333         -      foreach from [lsort -integer [array names map]] {
   334         -          Log "$from -> $map($from)"
   335         -      }
   336         -
   337         -      #-------------------------------------------
   338         -      #   build the initial map ranges
   339         -      #-------------------------------------------
   340         -      set ranges [ BuildInitalRanges info map ]
   341         -
   342         -      Log "Starting ranges [llength $ranges]:"
   343         -      foreach range $ranges {
   344         -          foreach {from len values} $range break
   345         -          Log [format "%3d %3d '%s'" $from $len $values]
   346         -      }
   347         -
   348         -      #-------------------------------------------
   349         -      #   iterate to optimize ranges
   350         -      #-------------------------------------------
   351         -      for {set loop 0} {$loop < 4} {incr loop} {
   352         -          set ranges [OptimizeRanges $info(fallback) $ranges]
   353         -      }
   354         -
   355         -      Log "End ranges [llength $ranges]:"
   356         -      foreach range $ranges {
   357         -          foreach {from len values} $range break
   358         -          Log [format "%3d %3d '%s'\n" $from $len $values]
   359         -      }
   360         -
   361         -      lappend fallbacks $info(fallback)  
   362         -      lappend encodings $encoding $encVar  
   363         -
   364         -      OutputCode $encVar $info(fallback) $ranges
   365         -  }
   366         -
   367         -  puts ""
   368         -  puts "static TEncoding TDOM_UnicodeTo8bitEncodings \[\] = \{"
   369         -  foreach {encoding encVar} $encodings fallback $fallbacks {
   370         -      puts stdout  [format "    { %-12s, %4s, %s }," \
   371         -                           "\"$encoding\""           \
   372         -                           [HexValue $fallback]      \
   373         -                           TDOM_UnicodeTo$encVar     ]
   374         -     
   375         -  }
   376         -  puts "    { NULL, 0, NULL }"
   377         -  puts "\};"
   378         -
   379         -
   380         -#-----------------------------------------------------------------------------
   381         -#   end of main part
   382         -#-----------------------------------------------------------------------------
   383         -

Deleted encodings/ascii.enc.

     1         -# Encoding file: ascii, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E0000
    13         -0000000000000000000000000000000000000000000000000000000000000000
    14         -0000000000000000000000000000000000000000000000000000000000000000
    15         -0000000000000000000000000000000000000000000000000000000000000000
    16         -0000000000000000000000000000000000000000000000000000000000000000
    17         -0000000000000000000000000000000000000000000000000000000000000000
    18         -0000000000000000000000000000000000000000000000000000000000000000
    19         -0000000000000000000000000000000000000000000000000000000000000000
    20         -0000000000000000000000000000000000000000000000000000000000000000

Deleted encodings/cp1250.enc.

     1         -# Encoding file: cp1250, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -00800081201A0083201E2026202020210088203001602039015A0164017D0179
    14         -009020182019201C201D202220132014009821220161203A015B0165017E017A
    15         -00A002C702D8014100A4010400A600A700A800A9015E00AB000000AD00AE017B
    16         -00B000B102DB014200B400B500B600B700B80105015F00BB013D02DD013E017C
    17         -015400C100C2010200C40139010600C7010C00C9011800CB011A00CD00CE010E
    18         -01100143014700D300D4015000D600D70158016E00DA017000DC00DD016200DF
    19         -015500E100E2010300E4013A010700E7010D00E9011900EB011B00ED00EE010F
    20         -01110144014800F300F4015100F600F70159016F00FA017100FC00FD016302D9

Deleted encodings/cp1251.enc.

     1         -# Encoding file: cp1251, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -04020403201A0453201E2026202020210088203004092039040A040C040B040F
    14         -045220182019201C201D202220132014009821220459203A045A045C045B045F
    15         -00A0040E045E040800A4049000A600A7040100A9040400AB00AC00AD00AE0407
    16         -00B000B104060456049100B500B600B704512116045400BB0458040504550457
    17         -0410041104120413041404150416041704180419041A041B041C041D041E041F
    18         -0420042104220423042404250426042704280429042A042B042C042D042E042F
    19         -0430043104320433043404350436043704380439043A043B043C043D043E043F
    20         -0440044104420443044404450446044704480449044A044B044C044D044E044F

Deleted encodings/cp1252.enc.

     1         -# Encoding file: cp1252, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -00800081201A0192201E20262020202102C62030016020390152008D008E008F
    14         -009020182019201C201D20222013201402DC21220161203A0153009D009E0178
    15         -00A000A100A200A300A400A500A600A700A800A900AA00AB00AC00AD00AE00AF
    16         -00B000B100B200B300B400B500B600B700B800B900BA00BB00BC00BD00BE00BF
    17         -00C000C100C200C300C400C500C600C700C800C900CA00CB00CC00CD00CE00CF
    18         -00D000D100D200D300D400D500D600D700D800D900DA00DB00DC00DD00DE00DF
    19         -00E000E100E200E300E400E500E600E700E800E900EA00EB00EC00ED00EE00EF
    20         -00F000F100F200F300F400F500F600F700F800F900FA00FB00FC00FD00FE00FF

Deleted encodings/cp1253.enc.

     1         -# Encoding file: cp1253, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -00800081201A0192201E20262020202100882030008A2039008C008D008E008F
    14         -009020182019201C201D20222013201400982122009A203A009C009D009E009F
    15         -00A00385038600A300A400A500A600A700A800A9000000AB00AC00AD00AE2015
    16         -00B000B100B200B3038400B500B600B703880389038A00BB038C00BD038E038F
    17         -0390039103920393039403950396039703980399039A039B039C039D039E039F
    18         -03A003A1000003A303A403A503A603A703A803A903AA03AB03AC03AD03AE03AF
    19         -03B003B103B203B303B403B503B603B703B803B903BA03BB03BC03BD03BE03BF
    20         -03C003C103C203C303C403C503C603C703C803C903CA03CB03CC03CD03CE0000

Deleted encodings/cp1254.enc.

     1         -# Encoding file: cp1254, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -00800081201A0192201E20262020202102C62030016020390152008D008E008F
    14         -009020182019201C201D20222013201402DC21220161203A0153009D009E0178
    15         -00A000A100A200A300A400A500A600A700A800A900AA00AB00AC00AD00AE00AF
    16         -00B000B100B200B300B400B500B600B700B800B900BA00BB00BC00BD00BE00BF
    17         -00C000C100C200C300C400C500C600C700C800C900CA00CB00CC00CD00CE00CF
    18         -011E00D100D200D300D400D500D600D700D800D900DA00DB00DC0130015E00DF
    19         -00E000E100E200E300E400E500E600E700E800E900EA00EB00EC00ED00EE00EF
    20         -011F00F100F200F300F400F500F600F700F800F900FA00FB00FC0131015F00FF

Deleted encodings/cp1255.enc.

     1         -# Encoding file: cp1255, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -00800081201A0192201E20262020202102C62030008A2039008C008D008E008F
    14         -009020182019201C201D20222013201402DC2122009A203A009C009D009E009F
    15         -00A0000000A200A320AA00A500A600A700A800A9000000AB00AC00AD00AE00AF
    16         -00B000B100B200B300B400B500B600B7000000B9000000BB00BC00BD00BE0000
    17         -05B005B105B205B305B405B505B605B705B805B905BA05BB05BC05BD05BE05BF
    18         -05C005C105C205C305F005F105F2000000000000000000000000000000000000
    19         -05D005D105D205D305D405D505D605D705D805D905DA05DB05DC05DD05DE05DF
    20         -05E005E105E205E305E405E505E605E705E805E905EA00000000200E200F0000

Deleted encodings/cp1256.enc.

     1         -# Encoding file: cp1256, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -0080067E201A0192201E20262020202102C62030008A2039015206860698008F
    14         -06AF20182019201C201D20222013201400982122009A203A0153200C200D009F
    15         -00A0060C00A200A300A400A500A600A700A800A9000000AB00AC00AD00AE00AF
    16         -00B000B100B200B300B400B500B600B700B800B9061B00BB00BC00BD00BE061F
    17         -0000062106220623062406250626062706280629062A062B062C062D062E062F
    18         -063006310632063306340635063600D7063706380639063A0640064106420643
    19         -00E0064400E2064506460647064800E700E800E900EA00EB0649064A00EE00EF
    20         -064B064C064D064E00F4064F065000F7065100F9065200FB00FC200E200F0000

Deleted encodings/cp437.enc.

     1         -# Encoding file: cp437, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -00C700FC00E900E200E400E000E500E700EA00EB00E800EF00EE00EC00C400C5
    14         -00C900E600C600F400F600F200FB00F900FF00D600DC00A200A300A520A70192
    15         -00E100ED00F300FA00F100D100AA00BA00BF231000AC00BD00BC00A100AB00BB
    16         -259125922593250225242561256225562555256325512557255D255C255B2510
    17         -25142534252C251C2500253C255E255F255A25542569256625602550256C2567
    18         -2568256425652559255825522553256B256A2518250C25882584258C25902580
    19         -03B100DF039303C003A303C300B503C403A6039803A903B4221E03C603B52229
    20         -226100B1226522642320232100F7224800B0221900B7221A207F00B225A000A0

Deleted encodings/cp850.enc.

     1         -# Encoding file: cp850, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -00C700FC00E900E200E400E000E500E700EA00EB00E800EF00EE00EC00C400C5
    14         -00C900E600C600F400F600F200FB00F900FF00D600DC00F800A300D800D70192
    15         -00E100ED00F300FA00F100D100AA00BA00BF00AE00AC00BD00BC00A100AB00BB
    16         -2591259225932502252400C100C200C000A9256325512557255D00A200A52510
    17         -25142534252C251C2500253C00E300C3255A25542569256625602550256C00A4
    18         -00F000D000CA00CB00C8013100CD00CE00CF2518250C2588258400A600CC2580
    19         -00D300DF00D400D200F500D500B500FE00DE00DA00DB00D900FD00DD00AF00B4
    20         -00AD00B1201700BE00B600A700F700B800B000A800B700B900B300B225A000A0

Deleted encodings/iso8859-1.enc.

     1         -# Encoding file: iso8859-1, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -0080008100820083008400850086008700880089008A008B008C008D008E008F
    14         -0090009100920093009400950096009700980099009A009B009C009D009E009F
    15         -00A000A100A200A300A400A500A600A700A800A900AA00AB00AC00AD00AE00AF
    16         -00B000B100B200B300B400B500B600B700B800B900BA00BB00BC00BD00BE00BF
    17         -00C000C100C200C300C400C500C600C700C800C900CA00CB00CC00CD00CE00CF
    18         -00D000D100D200D300D400D500D600D700D800D900DA00DB00DC00DD00DE00DF
    19         -00E000E100E200E300E400E500E600E700E800E900EA00EB00EC00ED00EE00EF
    20         -00F000F100F200F300F400F500F600F700F800F900FA00FB00FC00FD00FE00FF

Deleted encodings/iso8859-2.enc.

     1         -# Encoding file: iso8859-2, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -0080008100820083008400850086008700880089008A008B008C008D008E008F
    14         -0090009100920093009400950096009700980099009A009B009C009D009E009F
    15         -00A0010402D8014100A4013D015A00A700A80160015E0164017900AD017D017B
    16         -00B0010502DB014200B4013E015B02C700B80161015F0165017A02DD017E017C
    17         -015400C100C2010200C40139010600C7010C00C9011800CB011A00CD00CE010E
    18         -01100143014700D300D4015000D600D70158016E00DA017000DC00DD016200DF
    19         -015500E100E2010300E4013A010700E7010D00E9011900EB011B00ED00EE010F
    20         -01110144014800F300F4015100F600F70159016F00FA017100FC00FD016302D9

Deleted encodings/iso8859-3.enc.

     1         -# Encoding file: iso8859-3, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -0080008100820083008400850086008700880089008A008B008C008D008E008F
    14         -0090009100920093009400950096009700980099009A009B009C009D009E009F
    15         -00A0012602D800A300A40000012400A700A80130015E011E013400AD0000017B
    16         -00B0012700B200B300B400B5012500B700B80131015F011F013500BD0000017C
    17         -00C000C100C2000000C4010A010800C700C800C900CA00CB00CC00CD00CE00CF
    18         -000000D100D200D300D4012000D600D7011C00D900DA00DB00DC016C015C00DF
    19         -00E000E100E2000000E4010B010900E700E800E900EA00EB00EC00ED00EE00EF
    20         -000000F100F200F300F4012100F600F7011D00F900FA00FB00FC016D015D02D9

Deleted encodings/iso8859-4.enc.

     1         -# Encoding file: iso8859-4, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -0080008100820083008400850086008700880089008A008B008C008D008E008F
    14         -0090009100920093009400950096009700980099009A009B009C009D009E009F
    15         -00A001040138015600A40128013B00A700A8016001120122016600AD017D00AF
    16         -00B0010502DB015700B40129013C02C700B80161011301230167014A017E014B
    17         -010000C100C200C300C400C500C6012E010C00C9011800CB011600CD00CE012A
    18         -01100145014C013600D400D500D600D700D8017200DA00DB00DC0168016A00DF
    19         -010100E100E200E300E400E500E6012F010D00E9011900EB011700ED00EE012B
    20         -01110146014D013700F400F500F600F700F8017300FA00FB00FC0169016B02D9

Deleted encodings/iso8859-5.enc.

     1         -# Encoding file: iso8859-5, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -0080008100820083008400850086008700880089008A008B008C008D008E008F
    14         -0090009100920093009400950096009700980099009A009B009C009D009E009F
    15         -00A0040104020403040404050406040704080409040A040B040C00AD040E040F
    16         -0410041104120413041404150416041704180419041A041B041C041D041E041F
    17         -0420042104220423042404250426042704280429042A042B042C042D042E042F
    18         -0430043104320433043404350436043704380439043A043B043C043D043E043F
    19         -0440044104420443044404450446044704480449044A044B044C044D044E044F
    20         -2116045104520453045404550456045704580459045A045B045C00A7045E045F

Deleted encodings/iso8859-6.enc.

     1         -# Encoding file: iso8859-6, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0660066106620663066406650666066706680669003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -0080008100820083008400850086008700880089008A008B008C008D008E008F
    14         -0090009100920093009400950096009700980099009A009B009C009D009E009F
    15         -00A000000000000000A40000000000000000000000000000060C00AD00000000
    16         -00000000000000000000000000000000000000000000061B000000000000061F
    17         -0000062106220623062406250626062706280629062A062B062C062D062E062F
    18         -0630063106320633063406350636063706380639063A00000000000000000000
    19         -0640064106420643064406450646064706480649064A064B064C064D064E064F
    20         -0650065106520000000000000000000000000000000000000000000000000000

Deleted encodings/iso8859-7.enc.

     1         -# Encoding file: iso8859-7, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -0080008100820083008400850086008700880089008A008B008C008D008E008F
    14         -0090009100920093009400950096009700980099009A009B009C009D009E009F
    15         -00A002BD02BC00A30000000000A600A700A800A9000000AB00AC00AD00002015
    16         -00B000B100B200B303840385038600B703880389038A00BB038C00BD038E038F
    17         -0390039103920393039403950396039703980399039A039B039C039D039E039F
    18         -03A003A1000003A303A403A503A603A703A803A903AA03AB03AC03AD03AE03AF
    19         -03B003B103B203B303B403B503B603B703B803B903BA03BB03BC03BD03BE03BF
    20         -03C003C103C203C303C403C503C603C703C803C903CA03CB03CC03CD03CE0000

Deleted encodings/iso8859-8.enc.

     1         -# Encoding file: iso8859-8, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -0080008100820083008400850086008700880089008A008B008C008D008E008F
    14         -0090009100920093009400950096009700980099009A009B009C009D009E009F
    15         -00A0000000A200A300A400A500A600A700A800A900D700AB00AC00AD00AE203E
    16         -00B000B100B200B300B400B500B600B700B800B900F700BB00BC00BD00BE0000
    17         -0000000000000000000000000000000000000000000000000000000000000000
    18         -0000000000000000000000000000000000000000000000000000000000002017
    19         -05D005D105D205D305D405D505D605D705D805D905DA05DB05DC05DD05DE05DF
    20         -05E005E105E205E305E405E505E605E705E805E905EA00000000000000000000

Deleted encodings/iso8859-9.enc.

     1         -# Encoding file: iso8859-9, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -0080008100820083008400850086008700880089008A008B008C008D008E008F
    14         -0090009100920093009400950096009700980099009A009B009C009D009E009F
    15         -00A000A100A200A300A400A500A600A700A800A900AA00AB00AC00AD00AE00AF
    16         -00B000B100B200B300B400B500B600B700B800B900BA00BB00BC00BD00BE00BF
    17         -00C000C100C200C300C400C500C600C700C800C900CA00CB00CC00CD00CE00CF
    18         -011E00D100D200D300D400D500D600D700D800D900DA00DB00DC0130015E00DF
    19         -00E000E100E200E300E400E500E600E700E800E900EA00EB00EC00ED00EE00EF
    20         -011F00F100F200F300F400F500F600F700F800F900FA00FB00FC0131015F00FF

Deleted encodings/koi8-r.enc.

     1         -# Encoding file: koi8-r, single-byte
     2         -S
     3         -003F 0 1
     4         -00
     5         -0000000100020003000400050006000700080009000A000B000C000D000E000F
     6         -0010001100120013001400150016001700180019001A001B001C001D001E001F
     7         -0020002100220023002400250026002700280029002A002B002C002D002E002F
     8         -0030003100320033003400350036003700380039003A003B003C003D003E003F
     9         -0040004100420043004400450046004700480049004A004B004C004D004E004F
    10         -0050005100520053005400550056005700580059005A005B005C005D005E005F
    11         -0060006100620063006400650066006700680069006A006B006C006D006E006F
    12         -0070007100720073007400750076007700780079007A007B007C007D007E007F
    13         -25002502250C251025142518251C2524252C2534253C258025842588258C2590
    14         -259125922593232025A02219221A22482264226500A0232100B000B200B700F7
    15         -25502551255204512553255425552556255725582559255A255B255C255D255E
    16         -255F25602561040125622563256425652566256725682569256A256B256C00A9
    17         -044E0430043104460434043504440433044504380439043A043B043C043D043E
    18         -043F044F044004410442044304360432044C044B04370448044D04490447044A
    19         -042E0410041104260414041504240413042504180419041A041B041C041D041E
    20         -041F042F042004210422042304160412042C042B04170428042D04290427042A

Changes to generic/dom.c.

    43     43   
    44     44   
    45     45   /*---------------------------------------------------------------------------
    46     46   |   Includes
    47     47   |
    48     48   \--------------------------------------------------------------------------*/
    49     49   #include <tcl.h>
    50         -#include <stdlib.h>
    51         -#include <string.h>
    52     50   #include <dom.h>
    53     51   #include <domxpath.h>
    54         -#include <utf8conv.h>
    55     52   #include <tclexpat.h>
    56     53   
    57     54   
    58     55   /* #define DEBUG */
    59     56   /*----------------------------------------------------------------------------
    60     57   |   Debug Macros
    61     58   |
................................................................................
   110    107       "INUSE_ATTRIBUTE_ERR"
   111    108   };
   112    109   
   113    110   static char tdom_usage[] =
   114    111                   "Usage tdom <expat parser obj> <subCommand>, where subCommand can be:\n"
   115    112                   "           enable             \n"
   116    113                   "           getdoc             \n"
   117         -                "           setResultEncoding  \n"
   118    114                   "           setStoreLineColumn \n"
   119    115                   ;
   120    116   
   121    117   
   122    118   /*---------------------------------------------------------------------------
   123    119   |   type domActiveNS
   124    120   |
................................................................................
   150    146       XML_Parser        parser;
   151    147       domDocument      *document;
   152    148       domNode          *currentNode;
   153    149       int               depth;
   154    150       int               ignoreWhiteSpaces;
   155    151       int               cdataSection;
   156    152       Tcl_DString      *cdata;
   157         -    TEncoding        *encoding_8bit;
   158    153       int               storeLineColumn;
   159    154       int               ignorexmlns;
   160    155       int               feedbackAfter;
   161    156       Tcl_Obj          *feedbackCmd;
   162    157       XML_Index         nextFeedbackPosition;
   163    158       Tcl_Interp       *interp;
   164    159       int               activeNSsize;
................................................................................
  1245   1240                   memset(attrnode, 0, sizeof(domAttrNode));
  1246   1241                   attrnode->nodeType    = ATTRIBUTE_NODE;
  1247   1242                   attrnode->nodeFlags   = IS_NS_NODE;
  1248   1243                   attrnode->namespace   = ns->index;
  1249   1244                   attrnode->nodeName    = (char *)&(h->key);
  1250   1245                   attrnode->parentNode  = node;
  1251   1246                   len = strlen(atPtr[1]);
  1252         -                if (TclOnly8Bits && info->encoding_8bit) {
  1253         -                    tdom_Utf8to8Bit(info->encoding_8bit, atPtr[1], &len);
  1254         -                }
  1255   1247                   attrnode->valueLength = len;
  1256   1248                   attrnode->nodeValue   = (char*)MALLOC(len+1);
  1257   1249                   strcpy(attrnode->nodeValue, atPtr[1]);
  1258   1250                   if (node->firstAttr) {
  1259   1251                       lastAttr->nextSibling = attrnode;
  1260   1252                   } else {
  1261   1253                       node->firstAttr = attrnode;
................................................................................
  1353   1345           } else {
  1354   1346               attrnode->nodeFlags = 0;
  1355   1347           }
  1356   1348           attrnode->namespace   = 0;
  1357   1349           attrnode->nodeName    = (char *)&(h->key);
  1358   1350           attrnode->parentNode  = node;
  1359   1351           len = strlen(atPtr[1]);
  1360         -        if (TclOnly8Bits && info->encoding_8bit) {
  1361         -            tdom_Utf8to8Bit(info->encoding_8bit, atPtr[1], &len);
  1362         -        }
  1363   1352           attrnode->valueLength = len;
  1364   1353           attrnode->nodeValue   = (char*)MALLOC(len+1);
  1365   1354           strcpy(attrnode->nodeValue, (char *)atPtr[1]);
  1366   1355   
  1367   1356           if (node->firstAttr) {
  1368   1357               lastAttr->nextSibling = attrnode;
  1369   1358           } else {
................................................................................
  1510   1499       char          *s;
  1511   1500       int            len, hnew;
  1512   1501       
  1513   1502       len = Tcl_DStringLength (info->cdata);
  1514   1503       if (!len && !info->cdataSection) return;
  1515   1504       s = Tcl_DStringValue (info->cdata);
  1516   1505       
  1517         -    if (TclOnly8Bits && info->encoding_8bit) {
  1518         -        tdom_Utf8to8Bit( info->encoding_8bit, s, &len);
  1519         -    }
  1520   1506       parentNode = info->currentNode;
  1521   1507       if (!parentNode) return;
  1522   1508   
  1523   1509       if (   parentNode->lastChild 
  1524   1510           && parentNode->lastChild->nodeType == TEXT_NODE
  1525   1511           && !info->cdataSection) {
  1526   1512   
................................................................................
  1622   1608           DBG(fprintf (stderr, "commentHandler: insideDTD, skipping\n");)
  1623   1609           return;
  1624   1610       }
  1625   1611   
  1626   1612       DispatchPCDATA (info);
  1627   1613   
  1628   1614       len = strlen(s);
  1629         -    if (TclOnly8Bits && info->encoding_8bit) {
  1630         -        tdom_Utf8to8Bit(info->encoding_8bit, s, &len);
  1631         -    }
  1632   1615       parentNode = info->currentNode;
  1633   1616   
  1634   1617       if (info->storeLineColumn) {
  1635   1618           node = (domTextNode*) domAlloc(sizeof(domTextNode)
  1636   1619                                           + sizeof(domLineColumn));
  1637   1620       } else {
  1638   1621           node = (domTextNode*) domAlloc(sizeof(domTextNode));
................................................................................
  1731   1714                                    (char*) node,
  1732   1715                                    &hnew);
  1733   1716           Tcl_SetHashValue (h, tdomstrdup (XML_GetBase (info->parser)));
  1734   1717           node->nodeFlags |= HAS_BASEURI;
  1735   1718       }
  1736   1719   
  1737   1720       len = strlen(target);
  1738         -    if (TclOnly8Bits && info->encoding_8bit) {
  1739         -        tdom_Utf8to8Bit(info->encoding_8bit, target, &len);
  1740         -    }
  1741   1721       node->targetLength = len;
  1742   1722       node->targetValue  = (char*)MALLOC(len);
  1743   1723       memmove(node->targetValue, target, len);
  1744   1724   
  1745   1725       len = strlen(data);
  1746         -    if (TclOnly8Bits && info->encoding_8bit) {
  1747         -        tdom_Utf8to8Bit(info->encoding_8bit, data, &len);
  1748         -    }
  1749   1726       node->dataLength = len;
  1750   1727       node->dataValue  = (char*)MALLOC(len);
  1751   1728       memmove(node->dataValue, data, len);
  1752   1729   
  1753   1730       node->ownerDocument = info->document;
  1754   1731       node->parentNode = parentNode;
  1755   1732       if (parentNode == NULL) {
................................................................................
  1881   1858                                    Tcl_NewStringObj(publicId, strlen(publicId)));
  1882   1859       } else {
  1883   1860           Tcl_ListObjAppendElement(info->interp, cmdPtr,
  1884   1861                                    Tcl_NewObj());
  1885   1862       }
  1886   1863   
  1887   1864    
  1888         -#if TclOnly8Bits
  1889         -    result = Tcl_GlobalEvalObj(info->interp, cmdPtr);
  1890         -#else
  1891   1865       result = Tcl_EvalObjEx (info->interp, cmdPtr, 
  1892   1866                               TCL_EVAL_DIRECT | TCL_EVAL_GLOBAL);
  1893         -#endif
  1894   1867   
  1895   1868       Tcl_DecrRefCount(cmdPtr);
  1896   1869   
  1897   1870       if (result != TCL_OK) {
  1898   1871           info->status = result;
  1899   1872           return 0;
  1900   1873       }
................................................................................
  2128   2101   domDocument *
  2129   2102   domReadDocument (
  2130   2103       XML_Parser  parser,
  2131   2104       char       *xml,
  2132   2105       int         length,
  2133   2106       int         ignoreWhiteSpaces,
  2134   2107       int         keepCDATA,
  2135         -    TEncoding  *encoding_8bit,
  2136   2108       int         storeLineColumn,
  2137   2109       int         ignorexmlns,
  2138   2110       int         feedbackAfter,
  2139   2111       Tcl_Obj    *feedbackCmd,
  2140   2112       Tcl_Channel channel,
  2141   2113       const char *baseurl,
  2142   2114       Tcl_Obj    *extResolver,
................................................................................
  2147   2119   )
  2148   2120   {
  2149   2121       int             done, tclLen;
  2150   2122       enum XML_Status status;
  2151   2123       size_t          len;
  2152   2124       domReadInfo     info;
  2153   2125       char            buf[8192];
  2154         -#if !TclOnly8Bits
  2155   2126       Tcl_Obj        *bufObj;
  2156   2127       Tcl_DString     dStr;
  2157   2128       int             useBinary;
  2158   2129       char           *str;
  2159         -#endif
  2160   2130       domDocument    *doc = domCreateDoc(baseurl, storeLineColumn);
  2161   2131   
  2162   2132       if (extResolver) {
  2163   2133           doc->extResolver = tdomstrdup (Tcl_GetString (extResolver));
  2164   2134       }
  2165   2135       if (ignorexmlns) {
  2166   2136           doc->nodeFlags |= IGNORE_XMLNS;
................................................................................
  2170   2140       info.document             = doc;
  2171   2141       info.currentNode          = NULL;
  2172   2142       info.depth                = 0;
  2173   2143       info.ignoreWhiteSpaces    = ignoreWhiteSpaces;
  2174   2144       info.cdata                = (Tcl_DString*) MALLOC (sizeof (Tcl_DString));
  2175   2145       Tcl_DStringInit (info.cdata);
  2176   2146       info.cdataSection         = 0;
  2177         -    info.encoding_8bit        = encoding_8bit;
  2178   2147       info.storeLineColumn      = storeLineColumn;
  2179   2148       info.ignorexmlns          = ignorexmlns;
  2180   2149       info.feedbackAfter        = feedbackAfter;
  2181   2150       info.feedbackCmd          = feedbackCmd;
  2182   2151       info.nextFeedbackPosition = feedbackAfter;
  2183   2152       info.interp               = interp;
  2184   2153       info.activeNSpos          = -1;
................................................................................
  2234   2203               domFreeDocument (doc, NULL, NULL);
  2235   2204               *resultcode = info.status;
  2236   2205               return NULL;
  2237   2206           case XML_STATUS_OK:
  2238   2207               break;
  2239   2208           }
  2240   2209       } else {
  2241         -#if !TclOnly8Bits
  2242   2210           Tcl_DStringInit (&dStr);
  2243   2211           if (Tcl_GetChannelOption (interp, channel, "-encoding", &dStr) != TCL_OK) {
  2244   2212               FREE ( (char*) info.activeNS );
  2245   2213               FREE ( info.baseURIstack );
  2246   2214               Tcl_DStringFree (info.cdata);
  2247   2215               FREE ( info.cdata);
  2248   2216               domFreeDocument (doc, NULL, NULL);
................................................................................
  2304   2272                       return NULL;
  2305   2273                   case XML_STATUS_OK:
  2306   2274                       break;
  2307   2275                   }
  2308   2276               } while (!done);
  2309   2277               Tcl_DecrRefCount (bufObj);
  2310   2278           }
  2311         -#else
  2312         -        do {
  2313         -            len = Tcl_Read (channel, buf, sizeof(buf));
  2314         -            done = len < sizeof(buf);
  2315         -            str = Tcl_GetStringFromObj(bufObj, &tclLen);
  2316         -            switch (status) {
  2317         -            case XML_STATUS_SUSPENDED:
  2318         -                DBG(fprintf(stderr, "XML_STATUS_SUSPENDED\n"););
  2319         -                if (info.status == TCL_BREAK) {
  2320         -                    Tcl_ResetResult(interp);
  2321         -                }
  2322         -                /* fall throu */
  2323         -            case XML_STATUS_ERROR:
  2324         -                DBG(fprintf(stderr, "XML_STATUS_ERROR\n");)
  2325         -                FREE ( info.activeNS );
  2326         -                FREE ( info.baseURIstack );
  2327         -                Tcl_DStringFree (info.cdata);
  2328         -                FREE ( info.cdata);
  2329         -                domFreeDocument (doc, NULL, NULL);
  2330         -                Tcl_DecrRefCount (bufObj);
  2331         -                *resultcode = info.status;
  2332         -                return NULL;
  2333         -            case XML_STATUS_OK:
  2334         -                break;
  2335         -            }
  2336         -        } while (!done);
  2337         -#endif
  2338   2279       }
  2339   2280       FREE ( info.activeNS );
  2340   2281       FREE ( info.baseURIstack );
  2341   2282       Tcl_DStringFree (info.cdata);
  2342   2283       FREE ( info.cdata);
  2343   2284   
  2344   2285       domSetDocumentElement (doc);
................................................................................
  5204   5145       XML_Parser        parser;
  5205   5146       domDocument      *document;
  5206   5147       domNode          *currentNode;
  5207   5148       int               depth;
  5208   5149       int               ignoreWhiteSpaces;
  5209   5150       int               cdataSection;
  5210   5151       Tcl_DString      *cdata;
  5211         -    TEncoding        *encoding_8bit;
  5212   5152       int               storeLineColumn;
  5213   5153       int               ignorexmlns;
  5214   5154       int               feedbackAfter;
  5215   5155       Tcl_Obj          *feedbackCmd;
  5216   5156       int               nextFeedbackPosition;
  5217   5157       Tcl_Interp       *interp;
  5218   5158       int               activeNSsize;
................................................................................
  5336   5276   int
  5337   5277   TclTdomObjCmd (dummy, interp, objc, objv)
  5338   5278        ClientData dummy;
  5339   5279        Tcl_Interp *interp;
  5340   5280        int objc;
  5341   5281        Tcl_Obj *const objv[];
  5342   5282   {
  5343         -    char            *encodingName;
  5344   5283       CHandlerSet     *handlerSet;
  5345   5284       int              methodIndex, result, bool;
  5346   5285       tdomCmdReadInfo *info;
  5347   5286       TclGenExpatInfo *expat;
  5348   5287       Tcl_Obj         *newObjName = NULL;
  5349         -    TEncoding       *encoding;
  5350   5288   
  5351   5289       static const char *tdomMethods[] = {
  5352   5290           "enable", "getdoc",
  5353         -        "setResultEncoding", "setStoreLineColumn",
         5291  +        "setStoreLineColumn",
  5354   5292           "setExternalEntityResolver", "keepEmpties",
  5355   5293           "remove", "ignorexmlns", "keepCDATA",
  5356   5294           NULL
  5357   5295       };
  5358   5296       enum tdomMethod {
  5359   5297           m_enable, m_getdoc,
  5360         -        m_setResultEncoding, m_setStoreLineColumn,
         5298  +        m_setStoreLineColumn,
  5361   5299           m_setExternalEntityResolver, m_keepEmpties,
  5362   5300           m_remove, m_ignorexmlns, m_keepCDATA
  5363   5301       };
  5364   5302   
  5365   5303       if (objc < 3 || objc > 4) {
  5366   5304           Tcl_WrongNumArgs (interp, 1, objv, tdom_usage);
  5367   5305           return TCL_ERROR;
................................................................................
  5414   5352           info->document          = NULL;
  5415   5353           info->currentNode       = NULL;
  5416   5354           info->depth             = 0;
  5417   5355           info->ignoreWhiteSpaces = 1;
  5418   5356           info->cdataSection      = 0;
  5419   5357           info->cdata             = (Tcl_DString*) MALLOC (sizeof (Tcl_DString));
  5420   5358           Tcl_DStringInit (info->cdata);
  5421         -        info->encoding_8bit     = 0;
  5422   5359           info->storeLineColumn   = 0;
  5423   5360           info->ignorexmlns       = 0;
  5424   5361           info->feedbackAfter     = 0;
  5425   5362           info->feedbackCmd       = NULL;
  5426   5363           info->nextFeedbackPosition = 0;
  5427   5364           info->interp            = interp;
  5428   5365           info->activeNSpos       = -1;
................................................................................
  5455   5392           }
  5456   5393           domSetDocumentElement (info->document);
  5457   5394           result = tcldom_returnDocumentObj (interp, info->document, 0,
  5458   5395                                              newObjName, 0, 0);
  5459   5396           info->document = NULL;
  5460   5397           return result;
  5461   5398   
  5462         -    case m_setResultEncoding:
  5463         -        info = CHandlerSetGetUserData (interp, objv[1], "tdom");
  5464         -        if (!info) {
  5465         -            Tcl_SetResult (interp, "parser object isn't tdom enabled.", NULL);
  5466         -            return TCL_ERROR;
  5467         -        }
  5468         -        if (info->encoding_8bit == NULL) {
  5469         -            Tcl_AppendResult (interp, "UTF-8", NULL);
  5470         -        }
  5471         -        else {
  5472         -            Tcl_AppendResult (interp,
  5473         -                              tdom_GetEncodingName (info->encoding_8bit),
  5474         -                              NULL);
  5475         -        }
  5476         -        if (objc == 4) {
  5477         -            encodingName = Tcl_GetString(objv[3]);
  5478         -
  5479         -            if (   (strcmp(encodingName, "UTF-8") == 0)
  5480         -                 ||(strcmp(encodingName, "UTF8" ) == 0)
  5481         -                 ||(strcmp(encodingName, "utf-8") == 0)
  5482         -                 ||(strcmp(encodingName, "utf8" ) == 0)) {
  5483         -
  5484         -                info->encoding_8bit = NULL;
  5485         -            } else {
  5486         -                encoding = tdom_GetEncoding ( encodingName );
  5487         -                if (encoding == NULL) {
  5488         -                    Tcl_AppendResult(interp, "encoding not found", NULL);
  5489         -                    return TCL_ERROR;
  5490         -                }
  5491         -                info->encoding_8bit = encoding;
  5492         -            }
  5493         -        }
  5494         -        info->tdomStatus = 1;
  5495         -        break;
  5496         -        
  5497   5399       case m_setStoreLineColumn:
  5498   5400           info = CHandlerSetGetUserData (interp, objv[1], "tdom");
  5499   5401           if (!info) {
  5500   5402               Tcl_SetResult (interp, "parser object isn't tdom enabled.", NULL);
  5501   5403               return TCL_ERROR;
  5502   5404           }
  5503   5405           Tcl_SetIntObj (Tcl_GetObjResult (interp), info->storeLineColumn);

Changes to generic/dom.h.

    33     33   |
    34     34   \--------------------------------------------------------------------------*/
    35     35   
    36     36   #ifndef __DOM_H__
    37     37   #define __DOM_H__
    38     38   
    39     39   #include <tcl.h>
           40  +#include <stdlib.h>
           41  +#include <string.h>
    40     42   #include <ctype.h>
    41     43   #include <expat.h>
    42         -#include <utf8conv.h>
    43     44   #include <domalloc.h>
    44     45   
    45     46   /*
    46     47    * tDOM provides it's own memory allocator which is optimized for
    47     48    * low heap usage. It uses the native Tcl allocator underneath,
    48     49    * though, but it is not very MT-friendly. Therefore, you might
    49     50    * use the (normal) Tcl allocator with USE_NORMAL_ALLOCATOR
................................................................................
   132    133   #define DOC_CMD(s,doc)      sprintf((s), "domDoc%p", (doc))
   133    134   #define NODE_CMD(s,node)    sprintf((s), "domNode%p", (node))
   134    135   #define XSLT_CMD(s,doc)     sprintf((s), "XSLTcmd%p", (doc))
   135    136   
   136    137   #define XML_NAMESPACE "http://www.w3.org/XML/1998/namespace"
   137    138   #define XMLNS_NAMESPACE "http://www.w3.org/2000/xmlns"
   138    139   
   139         -#if (TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 0) || TCL_MAJOR_VERSION < 8
   140         -#define TclOnly8Bits 1
   141         -#else
   142         -#define TclOnly8Bits 0
   143         -#endif
   144         -
   145    140   #define UTF8_1BYTE_CHAR(c) ( 0    == ((c) & 0x80))
   146    141   #define UTF8_2BYTE_CHAR(c) ( 0xC0 == ((c) & 0xE0))
   147    142   #define UTF8_3BYTE_CHAR(c) ( 0xE0 == ((c) & 0xF0))
   148    143   #define UTF8_4BYTE_CHAR(c) ( 0xF0 == ((c) & 0xF8))
   149    144   
   150         -#if TclOnly8Bits
   151         -#define UTF8_CHAR_LEN(c) 1
   152         -#else
   153    145   #define UTF8_CHAR_LEN(c) \
   154    146     UTF8_1BYTE_CHAR((c)) ? 1 : \
   155    147      (UTF8_2BYTE_CHAR((c)) ? 2 : \
   156    148        (UTF8_3BYTE_CHAR((c)) ? 3 : \
   157    149          (UTF8_4BYTE_CHAR((c)) ? 4 : 0)))
   158         -#endif
   159    150   
   160    151   /* The following 2 defines are out of the expat code */
   161    152   
   162    153   /* A 2 byte UTF-8 representation splits the characters 11 bits
   163    154   between the bottom 5 and 6 bits of the bytes.
   164    155   We need 8 bits to index into pages, 3 bits to add to that index and
   165    156   5 bits to generate the mask. */
................................................................................
   213    204     ? NCnameStart7Bit[(int)(*(p))] \
   214    205     : ((n) == 2 \
   215    206       ? UTF8_GET_NAMING2(nmstrtPages, (const unsigned char *)(p)) \
   216    207       : ((n) == 3 \
   217    208         ? UTF8_GET_NAMING3(nmstrtPages, (const unsigned char *)(p)) \
   218    209         : 0)))
   219    210   
   220         -#if TclOnly8Bits 
   221         -#  define UTF8_XMLCHAR(p,n) \
   222         - (*(p) < 0x80 ? CharBit[(int)(*(p))] : 1)
   223         -#else  
   224         -#  define UTF8_XMLCHAR3(p) \
          211  +#define UTF8_XMLCHAR3(p) \
   225    212     (*(p) == 0xED  \
   226    213      ? ((p)[1] < 0xA0 ? 1 : 0) \
   227    214      : (*(p) == 0xEF \
   228    215         ? ((p)[1] == 0xBF \
   229    216            ? ((p)[2] == 0xBE || (p)[2] == 0xBF ? 0 : 1) \
   230    217            : 1) \
   231    218         : 1)) \
................................................................................
   232    219       
   233    220   /* This definition is lax in the sense, that it accepts every 4 byte
   234    221    * utf-8 character beyond #xFFFF as valid, no matter, if Unicode has
   235    222    * (so far) defined a character for that encoding point. Additionally,
   236    223    * this define does not care about the discouraged characters beyond
   237    224    * #xFFFF (but after all, they are only discouraged, not
   238    225    * forbidden). */
   239         -#  define UTF8_XMLCHAR(p, n) \
          226  +#define UTF8_XMLCHAR(p, n) \
   240    227     ((n) == 1 \
   241    228     ? CharBit[(int)(*(p))] \
   242    229     : ((n) == 2 \
   243    230       ? 1 \
   244    231       : ((n) == 3 \
   245    232         ? (UTF8_XMLCHAR3(p)) \
   246    233         : ((n) == 4 \
   247    234           ? 1 : 0))))
   248         -#endif
   249    235   
   250    236   #include "../expat/nametab.h"
   251    237   
   252    238   static const unsigned char nameChar7Bit[] = {
   253    239   /* 0x00 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   254    240   /* 0x08 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   255    241   /* 0x10 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
................................................................................
   343    329   /* 0x60 */    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
   344    330   /* 0x68 */    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
   345    331   /* 0x70 */    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
   346    332   /* 0x78 */    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
   347    333   };
   348    334   
   349    335   
   350         -#if TclOnly8Bits == 1
   351         -#  define isNameStart(x)   (isalpha(*x) || ((*x)=='_') || ((*x)==':'))
   352         -#  define isNameChar(x)    (isalnum(*x)  || ((*x)=='_') || ((*x)=='-') || ((*x)=='.') || ((*x)==':'))
   353         -#  define isNCNameStart(x) (isalpha(*x) || ((*x)=='_'))
   354         -#  define isNCNameChar(x)  (isalnum(*x)  || ((*x)=='_') || ((*x)=='-') || ((*x)=='.'))
   355         -#else
   356         -#  define isNameStart(x)   UTF8_GET_NAME_START((x),UTF8_CHAR_LEN(*(x)))
   357         -#  define isNCNameStart(x) UTF8_GET_NCNAME_START((x),UTF8_CHAR_LEN(*(x)))
   358         -#  define isNameChar(x)    UTF8_GET_NAMING_NMTOKEN((x),UTF8_CHAR_LEN(*(x)))
   359         -#  define isNCNameChar(x)  UTF8_GET_NAMING_NCNMTOKEN((x),UTF8_CHAR_LEN(*(x)))
   360         -#endif
          336  +#define isNameStart(x)   UTF8_GET_NAME_START((x),UTF8_CHAR_LEN(*(x)))
          337  +#define isNCNameStart(x) UTF8_GET_NCNAME_START((x),UTF8_CHAR_LEN(*(x)))
          338  +#define isNameChar(x)    UTF8_GET_NAMING_NMTOKEN((x),UTF8_CHAR_LEN(*(x)))
          339  +#define isNCNameChar(x)  UTF8_GET_NAMING_NCNMTOKEN((x),UTF8_CHAR_LEN(*(x)))
   361    340   
   362    341   #define IS_XML_WHITESPACE(c)  ((c)==' ' || (c)=='\n' || (c)=='\r' || (c)=='\t')
   363    342   
   364    343   /*--------------------------------------------------------------------------
   365    344   |   DOMString
   366    345   |
   367    346   \-------------------------------------------------------------------------*/
................................................................................
   728    707   void           domSetDocumentElement (domDocument *doc);
   729    708   
   730    709   domDocument *  domReadDocument   (XML_Parser parser,
   731    710                                     char *xml,
   732    711                                     int   length,
   733    712                                     int   ignoreWhiteSpaces,
   734    713                                     int   keepCDATA,
   735         -                                  TEncoding *encoding_8bit,
   736    714                                     int   storeLineColumn,
   737    715                                     int   ignoreXMLNS,
   738    716                                     int   feedbackAfter,
   739    717                                     Tcl_Obj *feedbackCmd,
   740    718                                     Tcl_Channel channel,
   741    719                                     const char *baseurl,
   742    720                                     Tcl_Obj *extResolver,

Changes to generic/domhtml.c.

    96     96   
    97     97   /*----------------------------------------------------------------------------
    98     98   |   The size of the hash table.  For best results this should
    99     99   |   be a prime number which is about the same size as the number of
   100    100   |   character entity references known to the system.
   101    101   |
   102    102   \---------------------------------------------------------------------------*/
   103         -#if TclOnly8Bits
   104         -#define ER_HASH_SIZE 107
   105         -#else
   106    103   #define ER_HASH_SIZE 257
   107         -#endif
   108    104   
   109    105   /*----------------------------------------------------------------------------
   110    106   |   The following flag is TRUE if entity reference hash table needs
   111    107   |   to be initialized.
   112    108   |
   113    109   \---------------------------------------------------------------------------*/
   114    110   static int bErNeedsInit = 1;
................................................................................
   161    157   \---------------------------------------------------------------------------*/
   162    158   static Er er_sequences[] = {
   163    159       { "amp",       "&",        0 },
   164    160       { "lt",        "<",        0 },
   165    161       { "gt",        ">",        0 },
   166    162       { "apos",      "'",        0 },
   167    163       { "quot",      "\"",       0 },
   168         -#if TclOnly8Bits
   169         -    { "nbsp",      "\240",     0 },
   170         -    { "iexcl",     "\241",     0 }, /* inverted exclamation mark  */
   171         -    { "cent",      "\242",     0 }, /* cent sign  */
   172         -    { "pound",     "\243",     0 }, /* pound sterling sign  */
   173         -    { "curren",    "\244",     0 }, /* general currency sign  */
   174         -    { "yen",       "\245",     0 }, /* yen sign  */
   175         -    { "brvbar",    "\246",     0 }, /* broken (vertical) bar  */
   176         -    { "sect",      "\247",     0 }, /* section sign  */
   177         -    { "uml",       "\250",     0 }, /* umlaut (dieresis)  */
   178         -    { "copy",      "\251",     0 }, /* copyright sign  */
   179         -    { "ordf",      "\252",     0 }, /* ordinal indicator, feminine  */
   180         -    { "laquo",     "\253",     0 }, /* angle quotation mark, left  */
   181         -    { "not",       "\254",     0 }, /* not sign  */
   182         -    { "shy",       "\255",     0 }, /* soft hyphen  */
   183         -    { "reg",       "\256",     0 }, /* registered sign  */
   184         -    { "macr",      "\257",     0 }, /* macron  */
   185         -    { "deg",       "\260",     0 }, /* degree sign  */
   186         -    { "plusmn",    "\261",     0 }, /* plus-or-minus sign  */
   187         -    { "sup2",      "\262",     0 }, /* superscript two  */
   188         -    { "sup3",      "\263",     0 }, /* superscript three  */
   189         -    { "acute",     "\264",     0 }, /* acute accent  */
   190         -    { "micro",     "\265",     0 }, /* micro sign  */
   191         -    { "para",      "\266",     0 }, /* pilcrow (paragraph sign)  */
   192         -    { "middot",    "\267",     0 }, /* middle dot  */
   193         -    { "cedil",     "\270",     0 }, /* cedilla  */
   194         -    { "sup1",      "\271",     0 }, /* superscript one  */
   195         -    { "ordm",      "\272",     0 }, /* ordinal indicator, masculine  */
   196         -    { "raquo",     "\273",     0 }, /* angle quotation mark, right  */
   197         -    { "frac14",    "\274",     0 }, /* fraction one-quarter  */
   198         -    { "frac12",    "\275",     0 }, /* fraction one-half  */
   199         -    { "frac34",    "\276",     0 }, /* fraction three-quarters  */
   200         -    { "iquest",    "\277",     0 }, /* inverted question mark  */
   201         -    { "Agrave",    "\300",     0 }, /* capital A, grave accent  */
   202         -    { "Aacute",    "\301",     0 }, /* capital A, acute accent  */
   203         -    { "Acirc",     "\302",     0 }, /* capital A, circumflex accent  */
   204         -    { "Atilde",    "\303",     0 }, /* capital A, tilde  */
   205         -    { "Auml",      "\304",     0 }, /* capital A, dieresis or umlaut mark  */
   206         -    { "Aring",     "\305",     0 }, /* capital A, ring  */
   207         -    { "AElig",     "\306",     0 }, /* capital AE diphthong (ligature)  */
   208         -    { "Ccedil",    "\307",     0 }, /* capital C, cedilla  */
   209         -    { "Egrave",    "\310",     0 }, /* capital E, grave accent  */
   210         -    { "Eacute",    "\311",     0 }, /* capital E, acute accent  */
   211         -    { "Ecirc",     "\312",     0 }, /* capital E, circumflex accent  */
   212         -    { "Euml",      "\313",     0 }, /* capital E, dieresis or umlaut mark  */
   213         -    { "Igrave",    "\314",     0 }, /* capital I, grave accent  */
   214         -    { "Iacute",    "\315",     0 }, /* capital I, acute accent  */
   215         -    { "Icirc",     "\316",     0 }, /* capital I, circumflex accent  */
   216         -    { "Iuml",      "\317",     0 }, /* capital I, dieresis or umlaut mark  */
   217         -    { "ETH",       "\320",     0 }, /* capital Eth, Icelandic  */
   218         -    { "Ntilde",    "\321",     0 }, /* capital N, tilde  */
   219         -    { "Ograve",    "\322",     0 }, /* capital O, grave accent  */
   220         -    { "Oacute",    "\323",     0 }, /* capital O, acute accent  */
   221         -    { "Ocirc",     "\324",     0 }, /* capital O, circumflex accent  */
   222         -    { "Otilde",    "\325",     0 }, /* capital O, tilde  */
   223         -    { "Ouml",      "\326",     0 }, /* capital O, dieresis or umlaut mark  */
   224         -    { "times",     "\327",     0 }, /* multiply sign  */
   225         -    { "Oslash",    "\330",     0 }, /* capital O, slash  */
   226         -    { "Ugrave",    "\331",     0 }, /* capital U, grave accent  */
   227         -    { "Uacute",    "\332",     0 }, /* capital U, acute accent  */
   228         -    { "Ucirc",     "\333",     0 }, /* capital U, circumflex accent  */
   229         -    { "Uuml",      "\334",     0 }, /* capital U, dieresis or umlaut mark  */
   230         -    { "Yacute",    "\335",     0 }, /* capital Y, acute accent  */
   231         -    { "THORN",     "\336",     0 }, /* capital THORN, Icelandic  */
   232         -    { "szlig",     "\337",     0 }, /* small sharp s, German (sz ligature)  */
   233         -    { "agrave",    "\340",     0 }, /* small a, grave accent  */
   234         -    { "aacute",    "\341",     0 }, /* small a, acute accent  */
   235         -    { "acirc",     "\342",     0 }, /* small a, circumflex accent  */
   236         -    { "atilde",    "\343",     0 }, /* small a, tilde  */
   237         -    { "auml",      "\344",     0 }, /* small a, dieresis or umlaut mark  */
   238         -    { "aring",     "\345",     0 }, /* small a, ring  */
   239         -    { "aelig",     "\346",     0 }, /* small ae diphthong (ligature)  */
   240         -    { "ccedil",    "\347",     0 }, /* small c, cedilla  */
   241         -    { "egrave",    "\350",     0 }, /* small e, grave accent  */
   242         -    { "eacute",    "\351",     0 }, /* small e, acute accent  */
   243         -    { "ecirc",     "\352",     0 }, /* small e, circumflex accent  */
   244         -    { "euml",      "\353",     0 }, /* small e, dieresis or umlaut mark  */
   245         -    { "igrave",    "\354",     0 }, /* small i, grave accent  */
   246         -    { "iacute",    "\355",     0 }, /* small i, acute accent  */
   247         -    { "icirc",     "\356",     0 }, /* small i, circumflex accent  */
   248         -    { "iuml",      "\357",     0 }, /* small i, dieresis or umlaut mark  */
   249         -    { "eth",       "\360",     0 }, /* small eth, Icelandic  */
   250         -    { "ntilde",    "\361",     0 }, /* small n, tilde  */
   251         -    { "ograve",    "\362",     0 }, /* small o, grave accent  */
   252         -    { "oacute",    "\363",     0 }, /* small o, acute accent  */
   253         -    { "ocirc",     "\364",     0 }, /* small o, circumflex accent  */
   254         -    { "otilde",    "\365",     0 }, /* small o, tilde  */
   255         -    { "ouml",      "\366",     0 }, /* small o, dieresis or umlaut mark  */
   256         -    { "divide",    "\367",     0 }, /* divide sign  */
   257         -    { "oslash",    "\370",     0 }, /* small o, slash  */
   258         -    { "ugrave",    "\371",     0 }, /* small u, grave accent  */
   259         -    { "uacute",    "\372",     0 }, /* small u, acute accent  */
   260         -    { "ucirc",     "\373",     0 }, /* small u, circumflex accent  */
   261         -    { "uuml",      "\374",     0 }, /* small u, dieresis or umlaut mark  */
   262         -    { "yacute",    "\375",     0 }, /* small y, acute accent  */
   263         -    { "thorn",     "\376",     0 }, /* small thorn, Icelandic  */
   264         -    { "yuml",      "\377",     0 }, /* small y, dieresis or umlaut mark  */
   265         -#else
   266    164       { "nbsp",      "\xC2\xA0",    0 },
   267    165       { "iexcl",     "\xC2\xA1",    0 },
   268    166       { "cent",      "\xC2\xA2",    0 },
   269    167       { "pound",     "\xC2\xA3",    0 },
   270    168       { "curren",    "\xC2\xA4",    0 },
   271    169       { "yen",       "\xC2\xA5",    0 },
   272    170       { "brvbar",    "\xC2\xA6",    0 },
................................................................................
   509    407       { "lang",      "\xE2\x8C\xA9",    0 },
   510    408       { "rang",      "\xE2\x8C\xAA",    0 },
   511    409       { "loz",       "\xE2\x97\x8A",    0 },
   512    410       { "spades",    "\xE2\x99\xA0",    0 },
   513    411       { "clubs",     "\xE2\x99\xA3",    0 },
   514    412       { "hearts",    "\xE2\x99\xA5",    0 },
   515    413       { "diams",     "\xE2\x99\xA6",    0 },
   516         -#endif
   517    414   };
   518    415   
   519    416   
   520    417   /*----------------------------------------------------------------------------
   521    418   |   ErInit --
   522    419   |
   523    420   |       Initialize the entity reference hash table
................................................................................
   639    536   		     */
   640    537   		    int j;
   641    538   		    for (j = from; j < i; j++) {
   642    539   		        z[to++] = z[j];
   643    540   		    }
   644    541   		    from = i;
   645    542   		} else {
   646         -#if TclOnly8Bits
   647         -                z[to++] = value;
   648         -#else 
   649    543                   if (value < 0x80) {
   650    544                       z[to++] = value;
   651    545                   } else if (value <= 0x7FF) {
   652    546                       z[to++] = (char) ((value >> 6) | 0xC0);
   653    547                       z[to++] = (char) ((value | 0x80) & 0xBF);
   654    548                   } else if (value <= 0xFFFF) {
   655    549                       z[to++] = (char) ((value >> 12) | 0xE0);
   656    550                       z[to++] = (char) (((value >> 6) | 0x80) & 0xBF);
   657    551                       z[to++] = (char) ((value | 0x80) & 0xBF);
   658    552                   } else {
   659    553                       /* error */
   660    554                   }
   661         -#endif
   662    555   		    from = i+1;
   663    556   		}
   664    557               } else {
   665    558                   while (z[i] && isalpha((unsigned char)z[i])) {
   666    559                      i++;
   667    560                   }
   668    561                   c = z[i];

Changes to generic/domxpath.c.

  2854   2854       Tcl_HashTable   *ids;
  2855   2855       Tcl_HashEntry   *entryPtr;
  2856   2856       int              left = 0;
  2857   2857       double           dRight = 0.0;
  2858   2858       char            *leftStr = NULL, *rightStr = NULL;
  2859   2859       const char      *str;
  2860   2860       Tcl_DString      dStr;
  2861         -#if TclOnly8Bits
  2862         -    char            *fStr;
  2863         -#else
  2864   2861       int              found, j;
  2865   2862       int              lenstr, fromlen, utfCharLen;
  2866   2863       char             utfBuf[TCL_UTF_MAX];
  2867   2864       Tcl_DString      tstr, tfrom, tto, tresult;
  2868   2865       Tcl_UniChar     *ufStr, *upfrom, unichar;
  2869         -#endif
  2870   2866   
  2871   2867       switch (step->intvalue) {
  2872   2868   
  2873   2869       case f_position:
  2874   2870           XPATH_ARITYCHECK(step,0,errMsg);
  2875   2871           if (*docOrder) {
  2876   2872               rsSetInt (result, position+1);
................................................................................
  2979   2975   
  2980   2976           leftStr = xpathFuncString (&leftResult );
  2981   2977           xpathRSFree( &leftResult );
  2982   2978           DBG(fprintf(stderr, "leftStr='%s'\n", leftStr);)
  2983   2979           if      (step->intvalue == f_string)
  2984   2980               rsSetString (result, leftStr);
  2985   2981           else if (step->intvalue == f_stringLength) {
  2986         -#if TclOnly8Bits            
  2987         -            rsSetInt (result, strlen(leftStr));
  2988         -#else
  2989   2982               pto = leftStr;
  2990   2983               len = 0;
  2991   2984               while (*pto) {
  2992   2985                   len++;
  2993   2986                   i = UTF8_CHAR_LEN (*pto);
  2994   2987                   if (!i) {
  2995   2988                       FREE (leftStr);
................................................................................
  2996   2989                       *errMsg = tdomstrdup("Can only handle UTF-8 chars up "
  2997   2990                                            "to 4 bytes length");
  2998   2991                       return XPATH_I18N_ERR;
  2999   2992                   }
  3000   2993                   pto += i;
  3001   2994               }
  3002   2995               rsSetInt (result, len);
  3003         -#endif
  3004   2996           }
  3005   2997           else {
  3006   2998               pwhite = 1;
  3007   2999               pfrom = pto = leftStr;
  3008   3000               while (*pfrom) {
  3009   3001                   switch (*pfrom) {
  3010   3002                   case ' ' : case '\n': case '\r': case '\t':
................................................................................
  3404   3396                       rsSetString (result, "");
  3405   3397                       return XPATH_OK;
  3406   3398                   }
  3407   3399                   from = 0;
  3408   3400               }
  3409   3401           } else {
  3410   3402               if (from < 0) from = 0;
  3411         -#if TclOnly8Bits
  3412         -            len = strlen(leftStr) - from;
  3413         -#else
  3414   3403               len = INT_MAX;
  3415         -#endif
  3416   3404           }
  3417   3405   
  3418         -#if TclOnly8Bits
  3419         -        if (from >= (int) strlen(leftStr)) {
  3420         -            rsSetString (result, "");
  3421         -            FREE(leftStr);
  3422         -            return XPATH_OK;
  3423         -        } else {
  3424         -            if ( (len == INT_MAX) || ((from + len) > (int) strlen(leftStr)) ) {
  3425         -                len =  strlen(leftStr) - from;
  3426         -            }
  3427         -        }
  3428         -        DBG(fprintf(stderr, "substring leftStr='%s' from=%d len=%d \n",
  3429         -                    leftStr, from, len);
  3430         -            )
  3431         -
  3432         -            *(leftStr+from+len) = '\0';
  3433         -        rsSetString (result, (leftStr+from));
  3434         -#else 
  3435   3406           pfrom = leftStr;
  3436   3407           while (*pfrom && (from > 0)) {
  3437   3408               i = UTF8_CHAR_LEN (*pfrom);
  3438   3409               if (!i) {
  3439   3410                   FREE (leftStr);
  3440   3411                   *errMsg = tdomstrdup("Can only handle UTF-8 chars up "
  3441   3412                                        "to 4 bytes length");
................................................................................
  3456   3427                   }
  3457   3428                   pto += i;
  3458   3429                   len--;
  3459   3430               }
  3460   3431               *pto = '\0';
  3461   3432           }
  3462   3433           rsSetString (result, pfrom);
  3463         -#endif
  3464   3434           FREE(leftStr);
  3465   3435           break;
  3466   3436   
  3467   3437       case f_translate:
  3468   3438           XPATH_ARITYCHECK(step,3,errMsg);
  3469   3439           xpathRSInit (&leftResult);
  3470   3440           savedDocOrder = *docOrder;
................................................................................
  3484   3454           CHECK_RC;
  3485   3455           *docOrder = savedDocOrder;
  3486   3456           leftStr    = xpathFuncString( &leftResult    );
  3487   3457           rightStr   = xpathFuncString( &rightResult   );
  3488   3458           replaceStr = xpathFuncString( &replaceResult );
  3489   3459   
  3490   3460   
  3491         -#if TclOnly8Bits
  3492         -        len = strlen(replaceStr);
  3493         -        pfrom = pto = leftStr;
  3494         -        while (*pfrom) {
  3495         -            fStr = strchr(rightStr, *pfrom);
  3496         -            if (fStr == NULL) {
  3497         -                *pto++ = *pfrom;
  3498         -            } else {
  3499         -                i = (fStr - rightStr);
  3500         -                if (i < len) {
  3501         -                    *pto++ = *(replaceStr+i);
  3502         -                }
  3503         -            }
  3504         -            pfrom++;
  3505         -        }
  3506         -        *pto = '\0';
  3507         -        rsSetString (result, leftStr);
  3508         -#else
  3509   3461           Tcl_DStringInit (&tstr);
  3510   3462           Tcl_DStringInit (&tfrom);
  3511   3463           Tcl_DStringInit (&tto);
  3512   3464           Tcl_DStringInit (&tresult);
  3513   3465   
  3514   3466           Tcl_UtfToUniCharDString (leftStr, -1, &tstr);
  3515   3467           Tcl_UtfToUniCharDString (rightStr, -1, &tfrom);
................................................................................
  3543   3495               upfrom++;
  3544   3496           }
  3545   3497           rsSetString (result, Tcl_DStringValue (&tresult));
  3546   3498           Tcl_DStringFree (&tstr);
  3547   3499           Tcl_DStringFree (&tfrom);
  3548   3500           Tcl_DStringFree (&tto);
  3549   3501           Tcl_DStringFree (&tresult);
  3550         -#endif
  3551   3502   
  3552   3503           xpathRSFree( &replaceResult );
  3553   3504           xpathRSFree( &rightResult   );
  3554   3505           xpathRSFree( &leftResult    );
  3555   3506           FREE(leftStr); FREE(rightStr); FREE(replaceStr);
  3556   3507           break;
  3557   3508   

Changes to generic/domxslt.c.

    45     45   
    46     46   
    47     47   /*----------------------------------------------------------------------------
    48     48   |   Includes
    49     49   |
    50     50   \---------------------------------------------------------------------------*/
    51     51   #include <stdio.h>
    52         -#include <stdlib.h>
    53         -#include <string.h>
    54     52   #include <math.h>
    55     53   #include <limits.h>
    56         -#include <ctype.h>
    57     54   #include <locale.h>
    58     55   #include <dom.h>
    59     56   #include <domxpath.h>
    60     57   #include <domxslt.h>
    61     58   #include <tcl.h>         /* for hash tables */
    62     59   
    63     60   /*----------------------------------------------------------------------------
................................................................................
   300    297   
   301    298   /*--------------------------------------------------------------------------
   302    299   |   xsltDecimalFormat
   303    300   |
   304    301   \-------------------------------------------------------------------------*/
   305    302   typedef struct xsltDecimalFormat
   306    303   {
   307         -#if TclOnly8Bits
   308         -    char   * name;
   309         -    char   * uri;
   310         -    char     decimalSeparator;
   311         -    char     groupingSeparator;
   312         -    char   * infinity;
   313         -    char     minusSign;
   314         -    char   * NaN;
   315         -    char     percent;
   316         -    char     zeroDigit;
   317         -    char     digit;
   318         -    char     patternSeparator;
   319         -#else 
   320    304       char        * name;
   321    305       char        * uri;
   322    306       Tcl_UniChar   decimalSeparator;
   323    307       Tcl_UniChar   groupingSeparator;
   324    308       char        * infinity;
   325    309       Tcl_UniChar   minusSign;
   326    310       char        * NaN;
   327    311       Tcl_UniChar   percent;
   328    312       Tcl_UniChar   perMille;
   329    313       Tcl_UniChar   zeroDigit;
   330    314       Tcl_UniChar   digit;
   331    315       Tcl_UniChar   patternSeparator;
   332         -#endif /* TclOnly8Bits */
   333    316   
   334    317       struct xsltDecimalFormat * next;
   335    318   
   336    319   } xsltDecimalFormat;
   337    320   
   338    321   
   339    322   /*--------------------------------------------------------------------------
................................................................................
  1112   1095       return;
  1113   1096   }
  1114   1097   
  1115   1098   /*----------------------------------------------------------------------------
  1116   1099   |   xsltFormatNumber
  1117   1100   |
  1118   1101   \---------------------------------------------------------------------------*/
  1119         -#if TclOnly8Bits
  1120         -static int xsltFormatNumber (
  1121         -    double              number,
  1122         -    char              * formatStr,
  1123         -    xsltDecimalFormat * df,
  1124         -    char             ** resultStr,
  1125         -    int               * resultLen,
  1126         -    char             ** errMsg
  1127         -)
  1128         -{
  1129         -    char *p, prefix[800], suffix[800], s[2400], n[800], f[800];
  1130         -    char *negformat = NULL, save = '\0', save1;
  1131         -    int i, l, zl, g, nHash, nZero, fHash, fZero, gLen, isNeg;
  1132         -/*      struct lconv *lc = NULL;  */
  1133         -    char wrongFormat[] = "Unable to interpret format pattern.";
  1134         -
  1135         -    DBG(fprintf(stderr, "\nformatStr='%s' \n", formatStr);)
  1136         -    if (number < 0.0) {
  1137         -        isNeg = 1;
  1138         -        number *= -1.0;
  1139         -    } else {
  1140         -        isNeg = 0;
  1141         -    }
  1142         -    p = formatStr;
  1143         -    while (*p) {
  1144         -        if (*p == df->patternSeparator) {
  1145         -            *p = '\0';
  1146         -            negformat = ++p;
  1147         -            break;
  1148         -        }
  1149         -        p++;
  1150         -    }
  1151         -    /* Check for more than one patternSeparator in the formatStr */
  1152         -    while (*p) {
  1153         -        if (*p == df->patternSeparator) {
  1154         -            *errMsg = tdomstrdup(wrongFormat);
  1155         -            return -1;
  1156         -        }
  1157         -        p++;
  1158         -    }
  1159         -    p = formatStr;
  1160         -
  1161         -    i = 0;
  1162         -    while (*p 
  1163         -           && (*p!=df->zeroDigit) 
  1164         -           && (*p!=df->digit) 
  1165         -           && (*p!=df->groupingSeparator) 
  1166         -           && (*p!=df->decimalSeparator)) {
  1167         -        if (i<79) { prefix[i++] = *p; }
  1168         -        p++;
  1169         -    }
  1170         -    prefix[i] = '\0';
  1171         -    nHash = nZero = fHash = fZero = 0;
  1172         -    gLen = -2222;
  1173         -    while (*p) {
  1174         -             if (*p==df->digit) {
  1175         -                 if (nZero) {*errMsg = tdomstrdup(wrongFormat); return -1;}
  1176         -                 nHash++;}
  1177         -        else if (*p==df->zeroDigit) { nZero++; }
  1178         -        else if (*p==df->groupingSeparator) { gLen=-1; }
  1179         -        else break;
  1180         -        p++; gLen++;
  1181         -    }
  1182         -    if (*p && (*p==df->decimalSeparator)) {
  1183         -        p++;
  1184         -        while (*p && (*p==df->zeroDigit)) { p++; fZero++; }
  1185         -        while (*p && (*p==df->digit)) { p++; fHash++; }
  1186         -    }
  1187         -    i = 0;
  1188         -    while (*p) {
  1189         -        if (i<79) { suffix[i++] = *p; }
  1190         -        p++;
  1191         -    }
  1192         -    suffix[i] = '\0';
  1193         -    if (save) *p = save;
  1194         -
  1195         -    if (isNeg && negformat) {
  1196         -        /* Only prefix and suffix are taken from the second format string */
  1197         -        p++;
  1198         -        i = 0;
  1199         -        while (*p 
  1200         -               && *p!=df->zeroDigit
  1201         -               && *p!=df->digit 
  1202         -               && *p!=df->groupingSeparator 
  1203         -               && *p!=df->decimalSeparator) {
  1204         -            if (i<79) { prefix[i++] = *p; }
  1205         -            p++;
  1206         -        }
  1207         -        prefix[i] = '\0';
  1208         -        while (*p 
  1209         -               && ((*p==df->zeroDigit) 
  1210         -                   || (*p==df->digit) 
  1211         -                   || (*p==df->groupingSeparator) 
  1212         -                   || (*p==df->decimalSeparator))) p++;
  1213         -        i = 0;
  1214         -        while (*p) {
  1215         -            if (i<79) { suffix[i++] = *p; }
  1216         -            p++;
  1217         -        }
  1218         -        suffix[i] = '\0';
  1219         -    }
  1220         -
  1221         -    if (isNeg) {
  1222         -        if (negformat) {
  1223         -            if (prefix[0]=='\0' && suffix[0]=='\0') {
  1224         -                prefix[0] = df->minusSign;
  1225         -                prefix[1] = '\0';
  1226         -            }
  1227         -        } else {
  1228         -            i = 0;
  1229         -            save = prefix[0];
  1230         -            prefix[0] = df->minusSign;
  1231         -            while (i < 79) {
  1232         -                i++;
  1233         -                if (save == '\0') {
  1234         -                    prefix[i] = save;
  1235         -                    break;
  1236         -                }
  1237         -                save1 = prefix[i];
  1238         -                prefix[i] = save;
  1239         -                save = save1;
  1240         -            }
  1241         -            if (i == 79) prefix[79] = '\0';
  1242         -        }
  1243         -    }
  1244         -    if (prefix[0]=='\xc2' && prefix[1]=='\xa4') {
  1245         -/*          lc = localeconv(); */
  1246         -/*          if (strlen (lc->currency_symbol) > 79 */
  1247         -/*              || lc->currency_symbol[0] == '\0') { */
  1248         -            prefix[0] = '$';
  1249         -            prefix[1] = '\0';
  1250         -/*          } else { */
  1251         -/*              strcpy (prefix, lc->currency_symbol); */
  1252         -/*          } */
  1253         -    }
  1254         -
  1255         -    if (suffix[0] == df->percent) {
  1256         -        number *= 100.0;
  1257         -    } else 
  1258         -    if (suffix[0]=='\xe2' && suffix[1]=='\x80' && suffix[2]=='\xb0') {
  1259         -        number *= 1000.0;
  1260         -    }
  1261         -    
  1262         -    if (fHash + fZero == 0) {
  1263         -        i = (int) (number+0.5);
  1264         -    } else {
  1265         -        i = (int) number;
  1266         -    }
  1267         -    DBG(fprintf(stderr,"normal part nZero=%d i=%d glen=%d\n", nZero, i, gLen);)
  1268         -    /* fill in grouping char */
  1269         -    if (gLen > 0) {
  1270         -        if (i < 0.0) {isNeg = 1; i *= -1;}
  1271         -        else isNeg = 0;
  1272         -        sprintf(s,"%0*d", nZero, i);
  1273         -        l = strlen(s);
  1274         -        /* if (l > (nHash+nZero)) { l = nHash+nZero; } */
  1275         -        DBG(fprintf(stderr,"s='%s isNeg=%d'\n", s, isNeg);)
  1276         -        zl = l + ((l-1) / gLen);
  1277         -        DBG(fprintf(stderr, "l=%d zl=%d \n", l, zl);)
  1278         -        n[zl--] = '\0';
  1279         -        p = s + strlen(s) -1;
  1280         -        g = 0;
  1281         -        while (zl>=0) {
  1282         -            g++;
  1283         -            n[zl--] = *p--;
  1284         -            if ((g == gLen) && (zl>=1)) {
  1285         -                n[zl--] = df->groupingSeparator;
  1286         -                g = 0;
  1287         -            }
  1288         -        }
  1289         -        DBG(fprintf(stderr,"s='%s' --> n='%s'\n", s, n);)
  1290         -
  1291         -    } else {
  1292         -        sprintf(n,"%0*d", nZero, i);
  1293         -        DBG(fprintf(stderr,"n='%s'\n", n);)
  1294         -    }
  1295         -
  1296         -    DBG(fprintf(stderr, "number=%f Hash=%d fZero=%d \n", number, fHash, fZero);)
  1297         -    if ((fHash+fZero) > 0) {
  1298         -        i = (int) number;
  1299         -        /* format fraction part */
  1300         -        if (number >= 0.0) {
  1301         -            sprintf(f,"%0.*f", fZero+fHash, number -i);
  1302         -        } else {
  1303         -            sprintf(f,"%0.*f", fZero+fHash, -1.0 * (number -i) );
  1304         -        }
  1305         -        l = strlen(f);
  1306         -        while (l>0 && fHash>0) {   /* strip not need 0's */
  1307         -            if (f[l-1] == '0') {
  1308         -                f[l-1]='\0'; l--; fHash--;
  1309         -            } else {
  1310         -                break;
  1311         -            }
  1312         -        }
  1313         -        DBG(fprintf(stderr, "f='%s'\n", f);)
  1314         -        sprintf(s,"%s%s%c%s%s", prefix, n, df->decimalSeparator, &(f[2]), suffix);
  1315         -    } else {
  1316         -        sprintf(s,"%s%s%s", prefix, n, suffix);
  1317         -    }
  1318         -    DBG(fprintf(stderr, "returning s='%s' \n\n", s);)
  1319         -    *resultStr = tdomstrdup(s);
  1320         -    *resultLen = strlen(s);
  1321         -    return 0;
  1322         -}
  1323         -
  1324         -#else
  1325         -
  1326   1102   static int addCurrencySymbol (
  1327   1103       Tcl_UniChar  *p,
  1328   1104       Tcl_UniChar  *result,
  1329   1105       int          *i
  1330   1106   )
  1331   1107   {
  1332   1108       Tcl_DString dStr;
................................................................................
  1746   1522       return 0;
  1747   1523   
  1748   1524    xsltFormatNumberError:
  1749   1525       Tcl_DStringFree (&dStr);
  1750   1526       Tcl_DStringFree (&s);
  1751   1527       return -1;
  1752   1528   }
  1753         -
  1754         -#endif /* TclOnly8Bits */
  1755         -
  1756   1529   
  1757   1530   static xsltNodeSet *
  1758   1531   createXsltNodeSet (void) 
  1759   1532   {
  1760   1533       xsltNodeSet * ns;
  1761   1534   
  1762   1535       ns = (xsltNodeSet *) MALLOC (sizeof(xsltNodeSet));
................................................................................
  2519   2292       char      * strB,
  2520   2293       double      realA,
  2521   2294       double      realB,
  2522   2295       int       * greater
  2523   2296   )
  2524   2297   {
  2525   2298       int             rc;
  2526         -#if TclOnly8Bits == 0
  2527   2299       char           *strAptr, *strBptr;
  2528   2300       int             lenA, lenB, len;
  2529   2301       Tcl_UniChar     unicharA, unicharB;
  2530         -#endif
  2531   2302   
  2532   2303       *greater = 0;
  2533   2304   
  2534   2305       if (typeText) {
  2535         -
  2536         -#if TclOnly8Bits
  2537         -        /* TODO: this only works for 7 bit ASCII */
  2538         -        rc = STRCASECMP(strA, strB);
  2539         -        if (rc == 0) {
  2540         -            rc = strcmp (strA, strB);
  2541         -            if (!upperFirst) {
  2542         -                rc *= -1;
  2543         -            }
  2544         -        }
  2545         -DBG(   fprintf(stderr, "nodeGreater %d <-- strA='%s' strB='%s'\n", rc, strA, strB);)
  2546         -#else
  2547   2306           lenA = Tcl_NumUtfChars (strA, -1);
  2548   2307           lenB = Tcl_NumUtfChars (strB, -1);
  2549   2308           len = (lenA < lenB ? lenA : lenB);
  2550   2309           rc = Tcl_UtfNcasecmp (strA, strB, len);
  2551   2310           if (rc == 0) {
  2552   2311               if (lenA > lenB) {
  2553   2312                   rc = 1;
................................................................................
  2566   2325                       break;
  2567   2326                   }
  2568   2327               }
  2569   2328               if (!upperFirst) {
  2570   2329                   rc *= -1;
  2571   2330               }
  2572   2331           }
  2573         -#endif
  2574   2332           if (asc) *greater = (rc > 0);
  2575   2333               else *greater = (rc < 0);
  2576   2334   
  2577   2335       } else {
  2578   2336   DBG(   fprintf(stderr, "nodeGreater  realA='%f' realB='%f'\n",realA, realB);)
  2579   2337           if (IS_NAN (realA) || IS_NAN (realB)) {
  2580   2338               if (asc) {
................................................................................
  5937   5695       }
  5938   5696       Tcl_ListObjAppendElement (interp, cmdPtr, (href ?
  5939   5697                                 Tcl_NewStringObj (href, strlen (href))
  5940   5698                                 : Tcl_NewStringObj ("", 0)));
  5941   5699       Tcl_ListObjAppendElement (interp, cmdPtr,
  5942   5700                                 Tcl_NewStringObj ("", 0));
  5943   5701   
  5944         -#if TclOnly8Bits
  5945         -    result = Tcl_GlobalEvalObj(interp, cmdPtr);
  5946         -#else 
  5947   5702       result = Tcl_EvalObjEx (interp, cmdPtr, TCL_EVAL_DIRECT | TCL_EVAL_GLOBAL);
  5948         -#endif    
  5949   5703   
  5950   5704       Tcl_DecrRefCount (cmdPtr);
  5951   5705       resultObj = Tcl_GetObjResult (interp);
  5952   5706       Tcl_IncrRefCount (resultObj);
  5953   5707   
  5954   5708       if (result != TCL_OK) {
  5955   5709           goto wrongScriptResult;
................................................................................
  6016   5770       Tcl_ResetResult (interp);
  6017   5771       if (xsltDoc->extResolver) {
  6018   5772           extResolver = Tcl_NewStringObj(xsltDoc->extResolver, -1);
  6019   5773           Tcl_IncrRefCount (extResolver);
  6020   5774       }
  6021   5775       /* keep white space, no fiddling with the encoding (is this
  6022   5776          a good idea?) */
  6023         -    doc = domReadDocument (parser, xmlstring, len, 0, 0, 0, storeLineColumn,
         5777  +    doc = domReadDocument (parser, xmlstring, len, 0, 0, storeLineColumn,
  6024   5778                              0, 0, NULL, chan, extbase, extResolver, 0, 
  6025   5779                              (int) XML_PARAM_ENTITY_PARSING_ALWAYS, interp,
  6026   5780                              &resultcode);
  6027   5781       if (xsltDoc->extResolver) {
  6028   5782           Tcl_DecrRefCount (extResolver);
  6029   5783       }
  6030   5784       if (doc == NULL) {
................................................................................
  6347   6101                           df = df->next;
  6348   6102                       }
  6349   6103                       if (df == NULL) {
  6350   6104                           df = (xsltDecimalFormat*)MALLOC(sizeof(xsltDecimalFormat));
  6351   6105                           memset (df, 0, sizeof (xsltDecimalFormat));
  6352   6106                           newdf = 1;
  6353   6107                           /* initialize to defaults */
  6354         -#if TclOnly8Bits
  6355         -                        df->decimalSeparator  = '.';
  6356         -                        df->groupingSeparator = ',';
  6357         -                        df->infinity          = "Infinity";
  6358         -                        df->minusSign         = '-';
  6359         -                        df->NaN               = "NaN";
  6360         -                        df->percent           = '%';
  6361         -                        df->zeroDigit         = '0';
  6362         -                        df->digit             = '#';
  6363         -                        df->patternSeparator  = ';';
  6364         -#else 
  6365   6108                           df->decimalSeparator  = 46;          
  6366   6109                           df->groupingSeparator = 44;          
  6367   6110                           df->infinity          = "Infinity";  
  6368   6111                           df->minusSign         = 45;          
  6369   6112                           df->NaN               = "NaN";       
  6370   6113                           df->percent           = 37;          
  6371   6114                           df->perMille          = 0x2030;      
  6372   6115                           df->zeroDigit         = 48;          
  6373   6116                           df->digit             = 35;          
  6374   6117                           df->patternSeparator  = 59;
  6375         -#endif /* TclOnly8Bits */
  6376   6118                           df->name = tdomstrdup(str);
  6377   6119                           if (ns) df->uri = tdomstrdup(ns->uri);
  6378   6120                           else df->uri = NULL;
  6379   6121                           /* prepend into list of decimal format
  6380   6122                              after the default one */
  6381   6123                           df->next = xs->decimalFormats->next;
  6382   6124                           xs->decimalFormats->next = df;
................................................................................
  6383   6125                       }
  6384   6126                   } else {
  6385   6127                       /* definitions for default decimal format */
  6386   6128                       df = xs->decimalFormats;
  6387   6129                   }
  6388   6130                   str = getAttr(node, "decimal-separator",  a_decimalSeparator);
  6389   6131                   if (str) {
  6390         -#if TclOnly8Bits
  6391         -                    if (str[1] != '\0') {
  6392         -                        reportError (node, "decimal-separator has to be a"
  6393         -                                     " single char", errMsg);
  6394         -                        if (newdf) FREE((char*)df);
  6395         -                        return -1;
  6396         -                    }
  6397         -                    df->decimalSeparator = str[0];
  6398         -#else
  6399   6132                       clen = UTF8_CHAR_LEN (str[0]);
  6400   6133                       if (str[clen] != '\0') {
  6401   6134                           reportError (node, "decimal-separator has to be a"
  6402   6135                                        " single char", errMsg);
  6403   6136                           if (newdf) FREE((char*)df);
  6404   6137                           return -1;
  6405   6138                       }
  6406   6139                       Tcl_UtfToUniChar (str, &df->decimalSeparator);
  6407         -#endif /* TclOnly8Bits */
  6408   6140                   }
  6409   6141                   str = getAttr(node, "grouping-separator", a_groupingSeparator);
  6410   6142                   if (str) {
  6411         -#if TclOnly8Bits
  6412         -                    if (str[1] != '\0') {
  6413         -                        reportError (node, "grouping-separator has to be a"
  6414         -                                     " single char", errMsg);
  6415         -                        if (newdf) FREE((char*)df);
  6416         -                        return -1;
  6417         -                    }
  6418         -                    df->groupingSeparator = str[0];
  6419         -#else 
  6420   6143                       clen = UTF8_CHAR_LEN (str[0]);
  6421   6144                       if (str[clen] != '\0') {
  6422   6145                           reportError (node, "groupingSeparator has to be a"
  6423   6146                                        " single char", errMsg);
  6424   6147                           if (newdf) FREE((char*)df);
  6425   6148                           return -1;
  6426   6149                       }
  6427   6150                       Tcl_UtfToUniChar (str, &df->groupingSeparator);
  6428         -#endif /* TclOnly8Bits */                    
  6429   6151                   }
  6430   6152                   str = getAttr(node, "infinity",           a_infinity);
  6431   6153                   if (str) df->infinity = str;
  6432   6154                   str = getAttr(node, "minus-sign",         a_minusSign);
  6433   6155                   if (str) {
  6434         -#if TclOnly8Bits
  6435         -                    if (str[1] != '\0') {
  6436         -                        reportError (node, "minus-sign has to be a single"
  6437         -                                     " char", errMsg);
  6438         -                        return -1;
  6439         -                    }
  6440         -                    df->minusSign = str[0];
  6441         -#else                     
  6442   6156                       clen = UTF8_CHAR_LEN (str[0]);
  6443   6157                       if (str[clen] != '\0') {
  6444   6158                           reportError (node, "minus-sign has to be a single"
  6445   6159                                        " char", errMsg);
  6446   6160                           if (newdf) FREE((char*)df);
  6447   6161                           return -1;
  6448   6162                       }
  6449   6163                       Tcl_UtfToUniChar (str, &df->minusSign);
  6450         -#endif /* TclOnly8Bits */         
  6451   6164                   }
  6452   6165                   str = getAttr(node, "NaN",                a_nan);
  6453   6166                   if (str) df->NaN = str;
  6454   6167                   str = getAttr(node, "percent",            a_percent);
  6455   6168                   if (str) {
  6456         -#if TclOnly8Bits
  6457   6169                       if (str[1] != '\0') {
  6458   6170                           reportError (node, "percent has to be a single"
  6459   6171                                        " char", errMsg);
  6460   6172                           return -1;
  6461   6173                       }
  6462   6174                       df->percent = str[0];
  6463         -#else
  6464   6175                       clen = UTF8_CHAR_LEN (str[0]);
  6465   6176                       if (str[clen] != '\0') {
  6466   6177                           reportError (node, "percent has to be a single"
  6467   6178                                        " char", errMsg);
  6468   6179                           if (newdf) FREE((char*)df);
  6469   6180                           return -1;
  6470   6181                       }
  6471   6182                       Tcl_UtfToUniChar (str, &df->percent);                    
  6472         -#endif /* TclOnly8Bits */
  6473   6183                   }
  6474   6184                   str = getAttr(node, "per-mille",          a_perMille);
  6475   6185                   if (str) {
  6476         -#if TclOnly8Bits
  6477         -                    reportError (node, "User defined per-mille sign not"
  6478         -                                 " supported, sorry.", errMsg);
  6479         -                    return -1;
  6480         -#else
  6481   6186                       clen = UTF8_CHAR_LEN (str[0]);
  6482   6187                       if (str[clen] != '\0') {
  6483   6188                           reportError (node, "per-mille has to be a single"
  6484   6189                                        " char", errMsg);
  6485   6190                           if (newdf) FREE((char*)df);
  6486   6191                           return -1;
  6487   6192                       }
  6488   6193                       Tcl_UtfToUniChar (str, &df->perMille);                    
  6489         -#endif /* TclOnly8Bits */
  6490   6194                   }
  6491   6195                   str = getAttr(node, "zero-digit",         a_zeroDigit);
  6492   6196                   if (str) {
  6493         -#if TclOnly8Bits                    
  6494         -                    if (str[1] != '\0') {
  6495         -                        reportError (node, "zero-digit has to be a single"
  6496         -                                     " char", errMsg);
  6497         -                        return -1;
  6498         -                    }
  6499         -                    df->zeroDigit = str[0];
  6500         -#else
  6501   6197                       clen = UTF8_CHAR_LEN (str[0]);
  6502   6198                       if (str[clen] != '\0') {
  6503   6199                           reportError (node, "zero-digit has to be a single"
  6504   6200                                        " char", errMsg);
  6505   6201                           if (newdf) FREE((char*)df);
  6506   6202                           return -1;
  6507   6203                       }
  6508   6204                       Tcl_UtfToUniChar (str, &df->zeroDigit);                    
  6509         -#endif /* TclOnly8Bits */
  6510   6205                   }
  6511   6206                   str = getAttr(node, "digit",              a_digit);
  6512   6207                   if (str) {
  6513         -#if TclOnly8Bits
  6514         -                    if (str[1] != '\0') {
  6515         -                        reportError (node, "digit has to be a single char",
  6516         -                                     errMsg);
  6517         -                        return -1;
  6518         -                    }
  6519         -                    df->digit = str[0];
  6520         -#else 
  6521   6208                       clen = UTF8_CHAR_LEN (str[0]);
  6522   6209                       if (str[clen] != '\0') {
  6523   6210                           reportError (node, "digit has to be a single char",
  6524   6211                                        errMsg);
  6525   6212                           if (newdf) FREE((char*)df);
  6526   6213                           return -1;
  6527   6214                       }
  6528   6215                       Tcl_UtfToUniChar (str, &df->digit);
  6529         -#endif /* TclOnly8Bits */
  6530   6216                   }
  6531   6217                   str = getAttr(node, "pattern-separator",  a_patternSeparator);
  6532   6218                   if (str) {
  6533         -#if TclOnly8Bits
  6534         -                    if (str[1] != '\0') {
  6535         -                        reportError (node, "pattern-separator has to be a"
  6536         -                                     " single char", errMsg);
  6537         -                        return -1;
  6538         -                    }
  6539         -                    df->patternSeparator = str[0];
  6540         -#else
  6541   6219                       clen = UTF8_CHAR_LEN (str[0]);
  6542   6220                       if (str[clen] != '\0') {
  6543   6221                           reportError (node, "pattern-separator has to be a"
  6544   6222                                        " single char", errMsg);
  6545   6223                           return -1;
  6546   6224                       }
  6547   6225                       Tcl_UtfToUniChar (str, &df->patternSeparator);
  6548         -#endif /* TclOnly8Bits */
  6549   6226                   }
  6550   6227                   break;
  6551   6228   
  6552   6229               case import:
  6553   6230                   if (nonImportElemSeen) {
  6554   6231                       reportError (node, "xsl:import elements must come first",
  6555   6232                                    errMsg);
................................................................................
  7333   7010       Tcl_InitHashTable ( &(xs->xpaths), TCL_STRING_KEYS);
  7334   7011       Tcl_InitHashTable ( &(xs->pattern), TCL_STRING_KEYS);
  7335   7012       Tcl_InitHashTable ( &(xs->formats), TCL_STRING_KEYS);
  7336   7013       Tcl_InitHashTable ( &(xs->topLevelVars), TCL_STRING_KEYS);
  7337   7014       Tcl_InitHashTable ( &(xs->keyInfos), TCL_STRING_KEYS);
  7338   7015       xs->decimalFormats->name              = NULL;
  7339   7016       xs->decimalFormats->uri               = NULL;
  7340         -#if TclOnly8Bits
  7341         -    xs->decimalFormats->decimalSeparator  = '.';
  7342         -    xs->decimalFormats->groupingSeparator = ',';
  7343         -    xs->decimalFormats->minusSign         = '-';
  7344         -    xs->decimalFormats->percent           = '%';
  7345         -    xs->decimalFormats->zeroDigit         = '0';
  7346         -    xs->decimalFormats->digit             = '#';
  7347         -    xs->decimalFormats->patternSeparator  = ';';
  7348         -#else 
  7349   7017       xs->decimalFormats->decimalSeparator  = 46;          
  7350   7018       xs->decimalFormats->groupingSeparator = 44;          
  7351   7019       xs->decimalFormats->minusSign         = 45;          
  7352   7020       xs->decimalFormats->percent           = 37;          
  7353   7021       xs->decimalFormats->perMille          = 0x2030;          
  7354   7022       xs->decimalFormats->zeroDigit         = 48;          
  7355   7023       xs->decimalFormats->digit             = 35;          
  7356   7024       xs->decimalFormats->patternSeparator  = 59;          
  7357         -#endif /* TclOnly8Bits */
  7358   7025       xs->decimalFormats->infinity          = "Infinity";
  7359   7026       xs->decimalFormats->NaN               = "NaN";
  7360   7027       xs->decimalFormats->next              = NULL;
  7361   7028       xs->indentOutput = 0;
  7362   7029       memset (&xs->doctype, 0, sizeof (domDocInfo));
  7363   7030       
  7364   7031       node = xsltDoc->documentElement;

Deleted generic/encodings.inc.

     1         -/*------------------------------------------------------------------------
     2         -|   WARNING! This is file automatically generated by GenCompactCodings !  
     3         -|   WARNING!         Do not edit!                                         
     4         -|                                                                         
     5         -|   Unicode(UTF) ---> 8bit code conversion tables                         
     6         -|                                                                         
     7         -\-----------------------------------------------------------------------*/
     8         -static TEncodingRule TDOM_UnicodeToASCII [] = {
     9         -    { ENC_IDENTITY, 1, 126, "" }, 
    10         -    { ENC_END, 0, 0, NULL } 
    11         -};
    12         -
    13         -static TEncodingRule TDOM_UnicodeToCP1250 [] = {
    14         -    { ENC_IDENTITY, 1, 129, "" }, 
    15         -    { ENC_MAP, 131, 153, 
    16         -        "\203\077\077\077\210\077\077\077\077\077\077\077\220\077"
    17         -        "\077\077\077\077\077\077\230\077\077\077\077\077\077\077"
    18         -        "\240\077\077\077\244\077\246\247\250\251\077\253\077\255"
    19         -        "\256\077\260\261\077\077\264\265\266\267\270\077\077\273"
    20         -        "\077\077\077\077\077\301\302\077\304\077\077\307\077\311"
    21         -        "\077\313\077\315\316\077\077\077\077\323\324\077\326\327"
    22         -        "\077\077\332\077\334\335\077\337\077\341\342\077\344\077"
    23         -        "\077\347\077\351\077\353\077\355\356\077\077\077\077\363"
    24         -        "\364\077\366\367\077\077\372\077\374\375\077\077\077\077"
    25         -        "\303\343\245\271\306\346\077\077\077\077\310\350\317\357"
    26         -        "\320\360\077\077\077\077\077\077\312\352\314\354" },
    27         -    { ENC_MAP, 313, 70, 
    28         -        "\305\345\077\077\274\276\077\077\243\263\321\361\077\077"
    29         -        "\322\362\077\077\077\077\077\077\077\325\365\077\077\300"
    30         -        "\340\077\077\330\370\214\234\077\077\252\272\212\232\336"
    31         -        "\376\215\235\077\077\077\077\077\077\077\077\331\371\333"
    32         -        "\373\077\077\077\077\077\077\077\217\237\257\277\216\236"
    33         -    },
    34         -    { ENC_MAP, 711, 23, 
    35         -        "\241\077\077\077\077\077\077\077\077\077\077\077\077\077"
    36         -        "\077\077\077\242\377\077\262\077\275" },
    37         -    { ENC_MAP, 8211, 40, 
    38         -        "\226\227\077\077\077\221\222\202\077\223\224\204\077\206"
    39         -        "\207\225\077\077\077\205\077\077\077\077\077\077\077\077"
    40         -        "\077\211\077\077\077\077\077\077\077\077\213\233" },
    41         -    { ENC_MAP, 8482, 1, 
    42         -        "\231" },
    43         -    { ENC_END, 0, 0, NULL } 
    44         -};
    45         -
    46         -static TEncodingRule TDOM_UnicodeToCP1251 [] = {
    47         -    { ENC_IDENTITY, 1, 127, "" }, 
    48         -    { ENC_MAP, 136, 52, 
    49         -        "\210\077\077\077\077\077\077\077\077\077\077\077\077\077"
    50         -        "\077\230\077\077\077\077\077\077\077\240\077\077\077\244"
    51         -        "\077\246\247\077\251\077\253\254\255\256\077\260\261\077"
    52         -        "\077\077\265\266\267\077\077\077\273" },
    53         -    { ENC_MAP, 1025, 95, 
    54         -        "\250\200\201\252\275\262\257\243\212\214\216\215\077\241"
    55         -        "\217\300\301\302\303\304\305\306\307\310\311\312\313\314"
    56         -        "\315\316\317\320\321\322\323\324\325\326\327\330\331\332"
    57         -        "\333\334\335\336\337\340\341\342\343\344\345\346\347\350"
    58         -        "\351\352\353\354\355\356\357\360\361\362\363\364\365\366"
    59         -        "\367\370\371\372\373\374\375\376\377\077\270\220\203\272"
    60         -        "\276\263\277\274\232\234\236\235\077\242\237" },
    61         -    { ENC_MAP, 1168, 2, 
    62         -        "\245\264" },
    63         -    { ENC_MAP, 8211, 40, 
    64         -        "\226\227\077\077\077\221\222\202\077\223\224\204\077\206"
    65         -        "\207\225\077\077\077\205\077\077\077\077\077\077\077\077"
    66         -        "\077\211\077\077\077\077\077\077\077\077\213\233" },
    67         -    { ENC_MAP, 8470, 13, 
    68         -        "\271\077\077\077\077\077\077\077\077\077\077\077\231" },
    69         -    { ENC_END, 0, 0, NULL } 
    70         -};
    71         -
    72         -static TEncodingRule TDOM_UnicodeToCP1252 [] = {
    73         -    { ENC_IDENTITY, 1, 129, "" }, 
    74         -    { ENC_MAP, 141, 18, 
    75         -        "\215\216\217\220\077\077\077\077\077\077\077\077\235\236"
    76         -    },
    77         -    { ENC_IDENTITY, 160, 96, "" }, 
    78         -    { ENC_MAP, 338, 16, 
    79         -        "\214\234\077\077\077\077\077\077\077\077\077\077\077\077"
    80         -        "\212\232" },
    81         -    { ENC_MAP, 376, 1, 
    82         -        "\237" },
    83         -    { ENC_MAP, 402, 1, 
    84         -        "\203" },
    85         -    { ENC_MAP, 710, 1, 
    86         -        "\210" },
    87         -    { ENC_MAP, 732, 1, 
    88         -        "\230" },
    89         -    { ENC_MAP, 8211, 40, 
    90         -        "\226\227\077\077\077\221\222\202\077\223\224\204\077\206"
    91         -        "\207\225\077\077\077\205\077\077\077\077\077\077\077\077"
    92         -        "\077\211\077\077\077\077\077\077\077\077\213\233" },
    93         -    { ENC_MAP, 8482, 1, 
    94         -        "\231" },
    95         -    { ENC_END, 0, 0, NULL } 
    96         -};
    97         -
    98         -static TEncodingRule TDOM_UnicodeToCP1253 [] = {
    99         -    { ENC_IDENTITY, 1, 129, "" }, 
   100         -    { ENC_MAP, 136, 54, 
   101         -        "\210\212\077\214\215\216\217\220\077\077\077\077\077\077"
   102         -        "\077\230\077\232\077\234\235\236\237\240\077\077\243\244"
   103         -        "\245\246\247\250\251\077\253\254\255\256\077\260\261\262"
   104         -        "\263\077\265\266\267\077\077\077\273\077\275" },
   105         -    { ENC_MAP, 402, 1, 
   106         -        "\203" },
   107         -    { ENC_MAP, 900, 75, 
   108         -        "\264\241\242\077\270\271\272\077\274\077\276\277\300\301"
   109         -        "\302\303\304\305\306\307\310\311\312\313\314\315\316\317"
   110         -        "\320\321\077\323\324\325\326\327\330\331\332\333\334\335"
   111         -        "\336\337\340\341\342\343\344\345\346\347\350\351\352\353"
   112         -        "\354\355\356\357\360\361\362\363\364\365\366\367\370\371"
   113         -        "\372\373\374\375\376" },
   114         -    { ENC_MAP, 8211, 40, 
   115         -        "\226\227\257\077\077\221\222\202\077\223\224\204\077\206"
   116         -        "\207\225\077\077\077\205\077\077\077\077\077\077\077\077"
   117         -        "\077\211\077\077\077\077\077\077\077\077\213\233" },
   118         -    { ENC_MAP, 8482, 1, 
   119         -        "\231" },
   120         -    { ENC_END, 0, 0, NULL } 
   121         -};
   122         -
   123         -static TEncodingRule TDOM_UnicodeToCP1254 [] = {
   124         -    { ENC_IDENTITY, 1, 129, "" }, 
   125         -    { ENC_MAP, 141, 115, 
   126         -        "\215\216\217\220\077\077\077\077\077\077\077\077\235\236"
   127         -        "\077\240\241\242\243\244\245\246\247\250\251\252\253\254"
   128         -        "\255\256\257\260\261\262\263\264\265\266\267\270\271\272"
   129         -        "\273\274\275\276\277\300\301\302\303\304\305\306\307\310"
   130         -        "\311\312\313\314\315\316\317\077\321\322\323\324\325\326"
   131         -        "\327\330\331\332\333\334\077\077\337\340\341\342\343\344"
   132         -        "\345\346\347\350\351\352\353\354\355\356\357\077\361\362"
   133         -        "\363\364\365\366\367\370\371\372\373\374\077\077\377" },
   134         -    { ENC_MAP, 286, 20, 
   135         -        "\320\360\077\077\077\077\077\077\077\077\077\077\077\077"
   136         -        "\077\077\077\077\335\375" },
   137         -    { ENC_MAP, 338, 16, 
   138         -        "\214\234\077\077\077\077\077\077\077\077\077\077\336\376"
   139         -        "\212\232" },
   140         -    { ENC_MAP, 376, 1, 
   141         -        "\237" },
   142         -    { ENC_MAP, 402, 1, 
   143         -        "\203" },
   144         -    { ENC_MAP, 710, 1, 
   145         -        "\210" },
   146         -    { ENC_MAP, 732, 1, 
   147         -        "\230" },
   148         -    { ENC_MAP, 8211, 40, 
   149         -        "\226\227\077\077\077\221\222\202\077\223\224\204\077\206"
   150         -        "\207\225\077\077\077\205\077\077\077\077\077\077\077\077"
   151         -        "\077\211\077\077\077\077\077\077\077\077\213\233" },
   152         -    { ENC_MAP, 8482, 1, 
   153         -        "\231" },
   154         -    { ENC_END, 0, 0, NULL } 
   155         -};
   156         -
   157         -static TEncodingRule TDOM_UnicodeToCP1255 [] = {
   158         -    { ENC_IDENTITY, 1, 129, "" }, 
   159         -    { ENC_MAP, 138, 53, 
   160         -        "\212\214\215\216\217\220\077\077\077\077\077\077\077\077"
   161         -        "\077\232\077\234\235\236\237\240\077\242\243\077\245\246"
   162         -        "\247\250\251\077\253\254\255\256\257\260\261\262\263\264"
   163         -        "\265\266\267\077\271\077\273\274\275\276" },
   164         -    { ENC_MAP, 402, 1, 
   165         -        "\203" },
   166         -    { ENC_MAP, 710, 1, 
   167         -        "\210" },
   168         -    { ENC_MAP, 732, 1, 
   169         -        "\230" },
   170         -    { ENC_MAP, 1456, 67, 
   171         -        "\300\301\302\303\304\305\306\307\310\311\312\313\314\315"
   172         -        "\316\317\320\321\322\323\077\077\077\077\077\077\077\077"
   173         -        "\077\077\077\077\340\341\342\343\344\345\346\347\350\351"
   174         -        "\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
   175         -        "\370\371\372\077\077\077\077\077\324\325\326" },
   176         -    { ENC_MAP, 8206, 45, 
   177         -        "\375\376\077\077\077\226\227\077\077\077\221\222\202\077"
   178         -        "\223\224\204\077\206\207\225\077\077\077\205\077\077\077"
   179         -        "\077\077\077\077\077\077\211\077\077\077\077\077\077\077"
   180         -        "\077\213\233" },
   181         -    { ENC_MAP, 8362, 1, 
   182         -        "\244" },
   183         -    { ENC_MAP, 8482, 1, 
   184         -        "\231" },
   185         -    { ENC_END, 0, 0, NULL } 
   186         -};
   187         -
   188         -static TEncodingRule TDOM_UnicodeToCP1256 [] = {
   189         -    { ENC_IDENTITY, 1, 128, "" }, 
   190         -    { ENC_MAP, 138, 53, 
   191         -        "\212\077\077\077\217\077\077\077\077\077\077\077\077\230"
   192         -        "\077\232\077\077\077\077\237\240\077\242\243\244\245\246"
   193         -        "\247\250\251\077\253\254\255\256\257\260\261\262\263\264"
   194         -        "\265\266\267\270\271\077\273\274\275\276" },
   195         -    { ENC_MAP, 215, 38, 
   196         -        "\327\077\077\077\077\077\077\077\340\077\342\077\077\077"
   197         -        "\077\347\350\351\352\353\077\077\356\357\077\077\077\077"
   198         -        "\364\077\077\367\077\371\077\373\374" },
   199         -    { ENC_MAP, 338, 2, 
   200         -        "\214\234" },
   201         -    { ENC_MAP, 402, 1, 
   202         -        "\203" },
   203         -    { ENC_MAP, 710, 1, 
   204         -        "\210" },
   205         -    { ENC_MAP, 1548, 71, 
   206         -        "\241\077\077\077\077\077\077\077\077\077\077\077\077\077"
   207         -        "\077\272\077\077\077\277\077\301\302\303\304\305\306\307"
   208         -        "\310\311\312\313\314\315\316\317\320\321\322\323\324\325"
   209         -        "\326\330\331\332\333\077\077\077\077\077\334\335\336\337"
   210         -        "\341\343\344\345\346\354\355\360\361\362\363\365\366\370"
   211         -        "\372" },
   212         -    { ENC_MAP, 1662, 27, 
   213         -        "\201\077\077\077\077\077\077\077\215\077\077\077\077\077"
   214         -        "\077\077\077\077\077\077\077\077\077\077\077\077\216" },
   215         -    { ENC_MAP, 1711, 1, 
   216         -        "\220" },
   217         -    { ENC_MAP, 8204, 47, 
   218         -        "\235\236\375\376\077\077\077\226\227\077\077\077\221\222"
   219         -        "\202\077\223\224\204\077\206\207\225\077\077\077\205\077"
   220         -        "\077\077\077\077\077\077\077\077\211\077\077\077\077\077"
   221         -        "\077\077\077\213\233" },
   222         -    { ENC_MAP, 8482, 1, 
   223         -        "\231" },
   224         -    { ENC_END, 0, 0, NULL } 
   225         -};
   226         -
   227         -static TEncodingRule TDOM_UnicodeToCP437 [] = {
   228         -    { ENC_IDENTITY, 1, 127, "" }, 
   229         -    { ENC_MAP, 160, 96, 
   230         -        "\377\255\233\234\077\235\077\077\077\077\246\256\252\077"
   231         -        "\077\077\370\361\375\077\077\346\077\372\077\077\247\257"
   232         -        "\254\253\077\250\077\077\077\077\216\217\222\200\077\220"
   233         -        "\077\077\077\077\077\077\077\245\077\077\077\077\231\077"
   234         -        "\077\077\077\077\232\077\077\341\205\240\203\077\204\206"
   235         -        "\221\207\212\202\210\211\215\241\214\213\077\244\225\242"
   236         -        "\223\077\224\366\077\227\243\226\201\077\077\230" },
   237         -    { ENC_MAP, 402, 1, 
   238         -        "\237" },
   239         -    { ENC_MAP, 915, 52, 
   240         -        "\342\077\077\077\077\351\077\077\077\077\077\077\077\077"
   241         -        "\077\077\344\077\077\350\077\077\352\077\077\077\077\077"
   242         -        "\077\077\340\077\077\353\356\077\077\077\077\077\077\077"
   243         -        "\077\077\077\343\077\077\345\347\077\355" },
   244         -    { ENC_MAP, 8319, 1, 
   245         -        "\374" },
   246         -    { ENC_MAP, 8359, 1, 
   247         -        "\236" },
   248         -    { ENC_MAP, 8729, 17, 
   249         -        "\371\373\077\077\077\354\077\077\077\077\077\077\077\077"
   250         -        "\077\077\357" },
   251         -    { ENC_MAP, 8776, 1, 
   252         -        "\367" },
   253         -    { ENC_MAP, 8801, 5, 
   254         -        "\360\077\077\363\362" },
   255         -    { ENC_MAP, 8976, 18, 
   256         -        "\251\077\077\077\077\077\077\077\077\077\077\077\077\077"
   257         -        "\077\077\364\365" },
   258         -    { ENC_MAP, 9472, 161, 
   259         -        "\304\077\263\077\077\077\077\077\077\077\077\077\332\077"
   260         -        "\077\077\277\077\077\077\300\077\077\077\331\077\077\077"
   261         -        "\303\077\077\077\077\077\077\077\264\077\077\077\077\077"
   262         -        "\077\077\302\077\077\077\077\077\077\077\301\077\077\077"
   263         -        "\077\077\077\077\305\077\077\077\077\077\077\077\077\077"
   264         -        "\077\077\077\077\077\077\077\077\077\077\315\272\325\326"
   265         -        "\311\270\267\273\324\323\310\276\275\274\306\307\314\265"
   266         -        "\266\271\321\322\313\317\320\312\330\327\316\077\077\077"
   267         -        "\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
   268         -        "\077\077\337\077\077\077\334\077\077\077\333\077\077\077"
   269         -        "\335\077\077\077\336\260\261\262\077\077\077\077\077\077"
   270         -        "\077\077\077\077\077\077\376" },
   271         -    { ENC_END, 0, 0, NULL } 
   272         -};
   273         -
   274         -static TEncodingRule TDOM_UnicodeToCP850 [] = {
   275         -    { ENC_IDENTITY, 1, 127, "" }, 
   276         -    { ENC_MAP, 160, 96, 
   277         -        "\377\255\275\234\317\276\335\365\371\270\246\256\252\360"
   278         -        "\251\356\370\361\375\374\357\346\364\372\367\373\247\257"
   279         -        "\254\253\363\250\267\265\266\307\216\217\222\200\324\220"
   280         -        "\322\323\336\326\327\330\321\245\343\340\342\345\231\236"
   281         -        "\235\353\351\352\232\355\350\341\205\240\203\306\204\206"
   282         -        "\221\207\212\202\210\211\215\241\214\213\320\244\225\242"
   283         -        "\223\344\224\366\233\227\243\226\201\354\347\230" },
   284         -    { ENC_MAP, 305, 1, 
   285         -        "\325" },
   286         -    { ENC_MAP, 402, 1, 
   287         -        "\237" },
   288         -    { ENC_MAP, 8215, 1, 
   289         -        "\362" },
   290         -    { ENC_MAP, 9472, 161, 
   291         -        "\304\077\263\077\077\077\077\077\077\077\077\077\332\077"
   292         -        "\077\077\277\077\077\077\300\077\077\077\331\077\077\077"
   293         -        "\303\077\077\077\077\077\077\077\264\077\077\077\077\077"
   294         -        "\077\077\302\077\077\077\077\077\077\077\301\077\077\077"
   295         -        "\077\077\077\077\305\077\077\077\077\077\077\077\077\077"
   296         -        "\077\077\077\077\077\077\077\077\077\077\315\272\077\077"
   297         -        "\311\077\077\273\077\077\310\077\077\274\077\077\314\077"
   298         -        "\077\271\077\077\313\077\077\312\077\077\316\077\077\077"
   299         -        "\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
   300         -        "\077\077\337\077\077\077\334\077\077\077\333\077\077\077"
   301         -        "\077\077\077\077\077\260\261\262\077\077\077\077\077\077"
   302         -        "\077\077\077\077\077\077\376" },
   303         -    { ENC_END, 0, 0, NULL } 
   304         -};
   305         -
   306         -static TEncodingRule TDOM_UnicodeToISO88591 [] = {
   307         -    { ENC_IDENTITY, 1, 255, "" }, 
   308         -    { ENC_END, 0, 0, NULL } 
   309         -};
   310         -
   311         -static TEncodingRule TDOM_UnicodeToISO88592 [] = {
   312         -    { ENC_IDENTITY, 1, 160, "" }, 
   313         -    { ENC_MAP, 164, 120, 
   314         -        "\244\077\247\250\077\077\077\077\255\077\077\260\077\077"
   315         -        "\077\264\077\077\077\270\077\077\077\077\077\077\077\077"
   316         -        "\301\302\077\304\077\077\307\077\311\077\313\077\315\316"
   317         -        "\077\077\077\077\323\324\077\326\327\077\077\332\077\334"
   318         -        "\335\077\337\077\341\342\077\344\077\077\347\077\351\077"
   319         -        "\353\077\355\356\077\077\077\077\363\364\077\366\367\077"
   320         -        "\077\372\077\374\375\077\077\077\077\303\343\241\261\306"
   321         -        "\346\077\077\077\077\310\350\317\357\320\360\077\077\077"
   322         -        "\077\077\077\312\352\314\354" },
   323         -    { ENC_MAP, 313, 70, 
   324         -        "\305\345\077\077\245\265\077\077\243\263\321\361\077\077"
   325         -        "\322\362\077\077\077\077\077\077\077\325\365\077\077\300"
   326         -        "\340\077\077\330\370\246\266\077\077\252\272\251\271\336"
   327         -        "\376\253\273\077\077\077\077\077\077\077\077\331\371\333"
   328         -        "\373\077\077\077\077\077\077\077\254\274\257\277\256\276"
   329         -    },
   330         -    { ENC_MAP, 711, 23, 
   331         -        "\267\077\077\077\077\077\077\077\077\077\077\077\077\077"
   332         -        "\077\077\077\242\377\077\262\077\275" },
   333         -    { ENC_END, 0, 0, NULL } 
   334         -};
   335         -
   336         -static TEncodingRule TDOM_UnicodeToISO88593 [] = {
   337         -    { ENC_IDENTITY, 1, 160, "" }, 
   338         -    { ENC_MAP, 163, 147, 
   339         -        "\243\244\247\250\077\077\077\077\255\077\077\260\077\262"
   340         -        "\263\264\265\077\267\270\077\077\077\077\275\077\077\300"
   341         -        "\301\302\077\304\077\077\307\310\311\312\313\314\315\316"
   342         -        "\317\077\321\322\323\324\077\326\327\077\331\332\333\334"
   343         -        "\077\077\337\340\341\342\077\344\077\077\347\350\351\352"
   344         -        "\353\354\355\356\357\077\361\362\363\364\077\366\367\077"
   345         -        "\371\372\373\374\077\077\077\077\077\077\077\077\077\077"
   346         -        "\077\306\346\305\345\077\077\077\077\077\077\077\077\077"
   347         -        "\077\077\077\077\077\077\077\330\370\253\273\325\365\077"
   348         -        "\077\246\266\241\261\077\077\077\077\077\077\077\077\251"
   349         -        "\271\077\077\254\274" },
   350         -    { ENC_MAP, 348, 33, 
   351         -        "\336\376\252\272\077\077\077\077\077\077\077\077\077\077"
   352         -        "\077\077\335\375\077\077\077\077\077\077\077\077\077\077"
   353         -        "\077\077\077\257\277" },
   354         -    { ENC_MAP, 728, 2, 
   355         -        "\242\377" },
   356         -    { ENC_END, 0, 0, NULL } 
   357         -};
   358         -
   359         -static TEncodingRule TDOM_UnicodeToISO88594 [] = {
   360         -    { ENC_IDENTITY, 1, 160, "" }, 
   361         -    { ENC_MAP, 164, 219, 
   362         -        "\244\077\247\250\077\077\077\077\255\077\257\260\077\077"
   363         -        "\077\264\077\077\077\270\077\077\077\077\077\077\077\077"
   364         -        "\301\302\303\304\305\306\077\077\311\077\313\077\315\316"
   365         -        "\077\077\077\077\077\324\325\326\327\330\077\332\333\334"
   366         -        "\077\077\337\077\341\342\343\344\345\346\077\077\351\077"
   367         -        "\353\077\355\356\077\077\077\077\077\364\365\366\367\370"
   368         -        "\077\372\373\374\077\077\077\300\340\077\077\241\261\077"
   369         -        "\077\077\077\077\077\310\350\077\077\320\360\252\272\077"
   370         -        "\077\314\354\312\352\077\077\077\077\077\077\077\077\253"
   371         -        "\273\077\077\077\077\245\265\317\357\077\077\307\347\077"
   372         -        "\077\077\077\077\077\323\363\242\077\077\246\266\077\077"
   373         -        "\077\077\077\077\077\077\321\361\077\077\077\275\277\322"
   374         -        "\362\077\077\077\077\077\077\077\077\243\263\077\077\077"
   375         -        "\077\077\077\077\077\251\271\077\077\077\077\254\274\335"
   376         -        "\375\336\376\077\077\077\077\077\077\331\371\077\077\077"
   377         -        "\077\077\077\077\077\077\256\276" },
   378         -    { ENC_MAP, 711, 21, 
   379         -        "\267\077\077\077\077\077\077\077\077\077\077\077\077\077"
   380         -        "\077\077\077\077\377\077\262" },
   381         -    { ENC_END, 0, 0, NULL } 
   382         -};
   383         -
   384         -static TEncodingRule TDOM_UnicodeToISO88595 [] = {
   385         -    { ENC_IDENTITY, 1, 160, "" }, 
   386         -    { ENC_MAP, 167, 7, 
   387         -        "\375\077\077\077\077\077\255" },
   388         -    { ENC_MAP, 1025, 95, 
   389         -        "\241\242\243\244\245\246\247\250\251\252\253\254\077\256"
   390         -        "\257\260\261\262\263\264\265\266\267\270\271\272\273\274"
   391         -        "\275\276\277\300\301\302\303\304\305\306\307\310\311\312"
   392         -        "\313\314\315\316\317\320\321\322\323\324\325\326\327\330"
   393         -        "\331\332\333\334\335\336\337\340\341\342\343\344\345\346"
   394         -        "\347\350\351\352\353\354\355\356\357\077\361\362\363\364"
   395         -        "\365\366\367\370\371\372\373\374\077\376\377" },
   396         -    { ENC_MAP, 8470, 1, 
   397         -        "\360" },
   398         -    { ENC_END, 0, 0, NULL } 
   399         -};
   400         -
   401         -static TEncodingRule TDOM_UnicodeToISO88596 [] = {
   402         -    { ENC_IDENTITY, 1, 47, "" }, 
   403         -    { ENC_IDENTITY, 58, 103, "" }, 
   404         -    { ENC_MAP, 164, 10, 
   405         -        "\244\077\077\077\077\077\077\077\255" },
   406         -    { ENC_MAP, 1548, 94, 
   407         -        "\254\077\077\077\077\077\077\077\077\077\077\077\077\077"
   408         -        "\077\273\077\077\077\277\077\301\302\303\304\305\306\307"
   409         -        "\310\311\312\313\314\315\316\317\320\321\322\323\324\325"
   410         -        "\326\327\330\331\332\077\077\077\077\077\340\341\342\343"
   411         -        "\344\345\346\347\350\351\352\353\354\355\356\357\360\361"
   412         -        "\362\077\077\077\077\077\077\077\077\077\077\077\077\077"
   413         -        "\060\061\062\063\064\065\066\067\070\071" },
   414         -    { ENC_END, 0, 0, NULL } 
   415         -};
   416         -
   417         -static TEncodingRule TDOM_UnicodeToISO88597 [] = {
   418         -    { ENC_IDENTITY, 1, 160, "" }, 
   419         -    { ENC_MAP, 163, 27, 
   420         -        "\243\077\246\247\250\251\077\253\254\255\077\077\260\261"
   421         -        "\262\263\077\077\077\267\077\077\077\273\077\275" },
   422         -    { ENC_MAP, 700, 2, 
   423         -        "\242\241" },
   424         -    { ENC_MAP, 900, 75, 
   425         -        "\264\265\266\077\270\271\272\077\274\077\276\277\300\301"
   426         -        "\302\303\304\305\306\307\310\311\312\313\314\315\316\317"
   427         -        "\320\321\077\323\324\325\326\327\330\331\332\333\334\335"
   428         -        "\336\337\340\341\342\343\344\345\346\347\350\351\352\353"
   429         -        "\354\355\356\357\360\361\362\363\364\365\366\367\370\371"
   430         -        "\372\373\374\375\376" },
   431         -    { ENC_MAP, 8213, 1, 
   432         -        "\257" },
   433         -    { ENC_END, 0, 0, NULL } 
   434         -};
   435         -
   436         -static TEncodingRule TDOM_UnicodeToISO88598 [] = {
   437         -    { ENC_IDENTITY, 1, 160, "" }, 
   438         -    { ENC_MAP, 162, 54, 
   439         -        "\242\243\244\245\246\247\250\251\253\254\255\256\260\261"
   440         -        "\262\263\264\265\266\267\270\271\273\274\275\276\077\077"
   441         -        "\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
   442         -        "\077\077\077\252" },
   443         -    { ENC_MAP, 247, 1, 
   444         -        "\272" },
   445         -    { ENC_MAP, 1488, 27, 
   446         -        "\340\341\342\343\344\345\346\347\350\351\352\353\354\355"
   447         -        "\356\357\360\361\362\363\364\365\366\367\370\371\372" },
   448         -    { ENC_MAP, 8215, 1, 
   449         -        "\337" },
   450         -    { ENC_MAP, 8254, 1, 
   451         -        "\257" },
   452         -    { ENC_END, 0, 0, NULL } 
   453         -};
   454         -
   455         -static TEncodingRule TDOM_UnicodeToISO88599 [] = {
   456         -    { ENC_IDENTITY, 1, 207, "" }, 
   457         -    { ENC_MAP, 209, 54, 
   458         -        "\321\322\323\324\325\326\327\330\331\332\333\334\337\340"
   459         -        "\341\342\343\344\345\346\347\350\351\352\353\354\355\356"
   460         -        "\357\361\362\363\364\365\366\367\370\371\372\373\374\377"
   461         -    },
   462         -    { ENC_MAP, 286, 20, 
   463         -        "\320\360\077\077\077\077\077\077\077\077\077\077\077\077"
   464         -        "\077\077\077\077\335\375" },
   465         -    { ENC_MAP, 350, 2, 
   466         -        "\336\376" },
   467         -    { ENC_END, 0, 0, NULL } 
   468         -};
   469         -
   470         -static TEncodingRule TDOM_UnicodeToKOI8R [] = {
   471         -    { ENC_IDENTITY, 1, 127, "" }, 
   472         -    { ENC_MAP, 160, 24, 
   473         -        "\232\077\077\077\077\077\077\077\077\277\077\077\077\077"
   474         -        "\077\077\234\077\235\077\077\077\077\236" },
   475         -    { ENC_MAP, 247, 1, 
   476         -        "\237" },
   477         -    { ENC_MAP, 1025, 81, 
   478         -        "\263\077\077\077\077\077\077\077\077\077\077\077\077\077"
   479         -        "\077\341\342\367\347\344\345\366\372\351\352\353\354\355"
   480         -        "\356\357\360\362\363\364\365\346\350\343\376\373\375\377"
   481         -        "\371\370\374\340\361\301\302\327\307\304\305\326\332\311"
   482         -        "\312\313\314\315\316\317\320\322\323\324\325\306\310\303"
   483         -        "\336\333\335\337\331\330\334\300\321\077\243" },
   484         -    { ENC_MAP, 8729, 2, 
   485         -        "\225\226" },
   486         -    { ENC_MAP, 8776, 1, 
   487         -        "\227" },
   488         -    { ENC_MAP, 8804, 2, 
   489         -        "\230\231" },
   490         -    { ENC_MAP, 8992, 2, 
   491         -        "\223\233" },
   492         -    { ENC_MAP, 9472, 161, 
   493         -        "\200\077\201\077\077\077\077\077\077\077\077\077\202\077"
   494         -        "\077\077\203\077\077\077\204\077\077\077\205\077\077\077"
   495         -        "\206\077\077\077\077\077\077\077\207\077\077\077\077\077"
   496         -        "\077\077\210\077\077\077\077\077\077\077\211\077\077\077"
   497         -        "\077\077\077\077\212\077\077\077\077\077\077\077\077\077"
   498         -        "\077\077\077\077\077\077\077\077\077\077\240\241\242\244"
   499         -        "\245\246\247\250\251\252\253\254\255\256\257\260\261\262"
   500         -        "\264\265\266\267\270\271\272\273\274\275\276\077\077\077"
   501         -        "\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
   502         -        "\077\077\213\077\077\077\214\077\077\077\215\077\077\077"
   503         -        "\216\077\077\077\217\220\221\222\077\077\077\077\077\077"
   504         -        "\077\077\077\077\077\077\224" },
   505         -    { ENC_END, 0, 0, NULL } 
   506         -};
   507         -
   508         -
   509         -static TEncoding TDOM_UnicodeTo8bitEncodings [] = {
   510         -    { "ascii"     , 0x3F, TDOM_UnicodeToASCII },
   511         -    { "cp1250"    , 0x3F, TDOM_UnicodeToCP1250 },
   512         -    { "cp1251"    , 0x3F, TDOM_UnicodeToCP1251 },
   513         -    { "cp1252"    , 0x3F, TDOM_UnicodeToCP1252 },
   514         -    { "cp1253"    , 0x3F, TDOM_UnicodeToCP1253 },
   515         -    { "cp1254"    , 0x3F, TDOM_UnicodeToCP1254 },
   516         -    { "cp1255"    , 0x3F, TDOM_UnicodeToCP1255 },
   517         -    { "cp1256"    , 0x3F, TDOM_UnicodeToCP1256 },
   518         -    { "cp437"     , 0x3F, TDOM_UnicodeToCP437 },
   519         -    { "cp850"     , 0x3F, TDOM_UnicodeToCP850 },
   520         -    { "iso8859-1" , 0x3F, TDOM_UnicodeToISO88591 },
   521         -    { "iso8859-2" , 0x3F, TDOM_UnicodeToISO88592 },
   522         -    { "iso8859-3" , 0x3F, TDOM_UnicodeToISO88593 },
   523         -    { "iso8859-4" , 0x3F, TDOM_UnicodeToISO88594 },
   524         -    { "iso8859-5" , 0x3F, TDOM_UnicodeToISO88595 },
   525         -    { "iso8859-6" , 0x3F, TDOM_UnicodeToISO88596 },
   526         -    { "iso8859-7" , 0x3F, TDOM_UnicodeToISO88597 },
   527         -    { "iso8859-8" , 0x3F, TDOM_UnicodeToISO88598 },
   528         -    { "iso8859-9" , 0x3F, TDOM_UnicodeToISO88599 },
   529         -    { "koi8-r"    , 0x3F, TDOM_UnicodeToKOI8R },
   530         -    { NULL, 0, NULL }
   531         -};

Changes to generic/tcldom.c.

    38     38   
    39     39   
    40     40   /*----------------------------------------------------------------------------
    41     41   |   Includes
    42     42   |
    43     43   \---------------------------------------------------------------------------*/
    44     44   #include <tcl.h>
    45         -#include <stdlib.h>
    46         -#include <string.h>
    47         -#include <ctype.h>
    48     45   #include <dom.h>
    49     46   #include <domxpath.h>
    50     47   #include <domxslt.h>
    51     48   #include <xmlsimple.h>
    52     49   #include <domjson.h>
    53     50   #include <domhtml.h>
    54     51   #include <domhtml5.h>
................................................................................
   144    141   #define CheckPIValue(interp, text) \
   145    142                        if (!TSD(dontCheckCharData)) { \
   146    143                            if (!tcldom_PIValueCheck(interp, text)) {\
   147    144                                return TCL_ERROR; \
   148    145                            } \
   149    146                        }
   150    147   
   151         -#if TclOnly8Bits
   152         -#define writeChars(var,chan,buf,len)  (chan) ? \
   153         -                     ((void)Tcl_Write ((chan), (buf), (len) )) : \
   154         -                     (Tcl_AppendToObj ((var), (buf), (len) ));
   155         -#else
   156    148   #define writeChars(var,chan,buf,len)  (chan) ? \
   157    149                        ((void)Tcl_WriteChars ((chan), (buf), (len) )) : \
   158    150                        (Tcl_AppendToObj ((var), (buf), (len) ));
   159         -#endif
   160    151   
   161    152   #define DOM_CREATECMDMODE_AUTO 0
   162    153   #define DOM_CREATECMDMODE_CMDS 1
   163    154   #define DOM_CREATECMDMODE_TOKENS 2
   164    155   
   165    156   /*----------------------------------------------------------------------------
   166    157   |   Module Globals
   167    158   |
   168    159   \---------------------------------------------------------------------------*/
   169    160   #ifndef TCL_THREADS
   170         -    static TEncoding *Encoding_to_8bit      = NULL;
   171    161       static int        storeLineColumn       = 0;
   172    162       static int        dontCreateObjCommands = 0;
   173    163       static int        dontCheckCharData     = 0;
   174    164       static int        dontCheckName         = 0;
   175    165       static int        domCreateCmdMode      = 0;
   176    166   #   define TSD(x)     x
   177    167   #   define GetTcldomTSD()
   178    168   #else
   179    169       typedef struct ThreadSpecificData {
   180         -        TEncoding *Encoding_to_8bit;
   181    170           int        storeLineColumn;
   182    171           int        dontCreateObjCommands;
   183    172           int        dontCheckCharData;
   184    173           int        dontCheckName;
   185    174           int        domCreateCmdMode;
   186    175       } ThreadSpecificData;
   187    176       static Tcl_ThreadDataKey dataKey;
................................................................................
   212    201       "    createDocumentNS uri docElemName ?objVar?        \n"
   213    202       "    createDocumentNode ?objVar?                      \n"
   214    203       TDomThreaded(
   215    204       "    attachDocument domDoc ?objVar?                   \n"
   216    205       "    detachDocument domDoc                            \n"
   217    206       )
   218    207       "    createNodeCmd ?-returnNodeCmd? ?-tagName name? ?-jsonType jsonType? ?-namespace URI? (element|comment|text|cdata|pi)Node cmdName \n"
   219         -    "    setResultEncoding ?encodingName?                 \n"
   220    208       "    setStoreLineColumn ?boolean?                     \n"
   221    209       "    setNameCheck ?boolean?                           \n"
   222    210       "    setTextCheck ?boolean?                           \n"
   223    211       "    setObjectCommands ?(automatic|token|command)?    \n"
   224    212       "    isCharData string                                \n"
   225    213       "    isComment string                                 \n"
   226    214       "    isCDATA string                                   \n"
................................................................................
  1226   1214       }
  1227   1215   
  1228   1216       doc = domReadDocument(parser,
  1229   1217                             xml_string,
  1230   1218                             xml_string_len,
  1231   1219                             1,
  1232   1220                             0,
  1233         -                          TSD(Encoding_to_8bit),
  1234   1221                             TSD(storeLineColumn),
  1235   1222                             ignorexmlns,
  1236   1223                             0,
  1237   1224                             NULL,
  1238   1225                             NULL,
  1239   1226                             NULL,
  1240   1227                             extResolver,
................................................................................
  2209   2196   )
  2210   2197   {
  2211   2198   #define APESC_BUF_SIZE 512
  2212   2199   #define AP(c)  *b++ = c;
  2213   2200   #define AE(s)  pc1 = s; while(*pc1) *b++ = *pc1++;
  2214   2201       char  buf[APESC_BUF_SIZE+80], *b, *bLimit,  *pc, *pc1, *pEnd, charRef[10];
  2215   2202       int   charDone, i;
  2216         -#if !TclOnly8Bits
  2217   2203       int   clen = 0;
  2218   2204       int   unicode;
  2219   2205       Tcl_UniChar uniChar;
  2220         -#endif
  2221   2206   
  2222   2207       b = buf;
  2223   2208       bLimit = b + APESC_BUF_SIZE;
  2224   2209       pc = pEnd = value;
  2225   2210       if (value_length != -1) {
  2226   2211           pEnd = pc + value_length;
  2227   2212       }
................................................................................
  2239   2224           } else
  2240   2225           if (forAttr && (*pc == '\n')) { AP('&') AP('#') AP('x') AP('A') AP(';')
  2241   2226           } else
  2242   2227           {
  2243   2228               charDone = 0;
  2244   2229               if (htmlEntities) {
  2245   2230                   charDone = 1;
  2246         -#if TclOnly8Bits
  2247         -                switch ((unsigned int)*pc)
  2248         -#else           
  2249   2231                   Tcl_UtfToUniChar(pc, &uniChar);
  2250   2232                   switch (uniChar) 
  2251         -#endif
  2252   2233                   {
  2253   2234                   case 0240: AE("&nbsp;");    break;     
  2254   2235                   case 0241: AE("&iexcl;");   break;    
  2255   2236                   case 0242: AE("&cent;");    break;     
  2256   2237                   case 0243: AE("&pound;");   break;    
  2257   2238                   case 0244: AE("&curren;");  break;   
  2258   2239                   case 0245: AE("&yen;");     break;      
................................................................................
  2342   2323                   case 0371: AE("&ugrave;");  break;   
  2343   2324                   case 0372: AE("&uacute;");  break;   
  2344   2325                   case 0373: AE("&ucirc;");   break;    
  2345   2326                   case 0374: AE("&uuml;");    break;     
  2346   2327                   case 0375: AE("&yacute;");  break;   
  2347   2328                   case 0376: AE("&thorn;");   break;    
  2348   2329                   case 0377: AE("&yuml;");    break;     
  2349         -#if !TclOnly8Bits
  2350   2330                   /* "Special" chars, according to XHTML xhtml-special.ent */
  2351   2331                   case 338:  AE("&OElig;");   break;
  2352   2332                   case 339:  AE("&oelig;");   break;
  2353   2333                   case 352:  AE("&Scaron;");  break;
  2354   2334                   case 353:  AE("&scaron;");  break;
  2355   2335                   case 376:  AE("&Yuml;");    break;
  2356   2336                   case 710:  AE("&circ;");    break;
................................................................................
  2497   2477                   case 9001: AE("&lang;");    break;     
  2498   2478                   case 9002: AE("&rang;");    break;     
  2499   2479                   case 9674: AE("&loz;");     break;      
  2500   2480                   case 9824: AE("&spades;");  break;   
  2501   2481                   case 9827: AE("&clubs;");   break;    
  2502   2482                   case 9829: AE("&hearts;");  break;   
  2503   2483                   case 9830: AE("&diams;");   break;    
  2504         -#endif                    
  2505   2484                   default: charDone = 0; 
  2506   2485                   }
  2507         -#if !TclOnly8Bits
  2508   2486                   if (charDone) {
  2509   2487                       clen = UTF8_CHAR_LEN(*pc);
  2510   2488                       pc += (clen - 1);
  2511   2489                   }
  2512         -#endif
  2513   2490               }
  2514         -#if TclOnly8Bits
  2515         -            if (!charDone) {
  2516         -                if (escapeNonASCII && ((unsigned char)*pc > 127)) {
  2517         -                    AP('&') AP('#')
  2518         -                    sprintf(charRef, "%d", (unsigned char)*pc);
  2519         -                    for (i = 0; i < 3; i++) {
  2520         -                        AP(charRef[i]);
  2521         -                    }
  2522         -                    AP(';')
  2523         -                } else {
  2524         -                    AP(*pc);
  2525         -                }
  2526         -            }
  2527         -#else
  2528   2491               if (!charDone) {
  2529   2492                   if ((unsigned char)*pc > 127) {
  2530   2493                       clen = UTF8_CHAR_LEN(*pc);
  2531   2494                       if (!clen) {
  2532   2495                           domPanic("tcldom_AppendEscaped: can only handle "
  2533   2496                                    "UTF-8 chars up to 4 bytes length");
  2534   2497   
................................................................................
  2557   2520                           }
  2558   2521                           pc--;
  2559   2522                       }
  2560   2523                   } else {
  2561   2524                       AP(*pc);
  2562   2525                   }
  2563   2526               }
  2564         -#endif
  2565   2527           }
  2566   2528           if (b >= bLimit) {
  2567   2529               writeChars(xmlString, chan, buf, b - buf);
  2568   2530               b = buf;
  2569   2531           }
  2570   2532           pc++;
  2571   2533       }
................................................................................
  6094   6056       } else {
  6095   6057           doc = domCreateDocument (uri, Tcl_GetString(objv[2]));
  6096   6058       }
  6097   6059       return tcldom_returnDocumentObj (interp, doc, setVariable, newObjName, 1,
  6098   6060                                       0);
  6099   6061   }
  6100   6062   
  6101         -
  6102         -/*----------------------------------------------------------------------------
  6103         -|   tcldom_setResultEncoding
  6104         -|
  6105         -\---------------------------------------------------------------------------*/
  6106         -static
  6107         -int tcldom_setResultEncoding (
  6108         -    ClientData  clientData,
  6109         -    Tcl_Interp *interp,
  6110         -    int         objc,
  6111         -    Tcl_Obj    * const objv[]
  6112         -)
  6113         -{
  6114         -    GetTcldomTSD()
  6115         -
  6116         -    TEncoding *encoding;
  6117         -    char      *encodingName;
  6118         -
  6119         -    CheckArgs(1,2,1,"?encodingName?");
  6120         -    if (objc == 1) {
  6121         -        if (TSD(Encoding_to_8bit) == NULL) {
  6122         -            Tcl_AppendResult(interp, "UTF-8", NULL);
  6123         -        } else {
  6124         -            Tcl_AppendResult(interp, TSD(Encoding_to_8bit->name), NULL);
  6125         -        }
  6126         -        return TCL_OK;
  6127         -    }
  6128         -    encodingName = Tcl_GetString(objv[1]);
  6129         -    if ( (strcmp(encodingName, "UTF-8")==0)
  6130         -       ||(strcmp(encodingName, "UTF8")==0)
  6131         -       ||(strcmp(encodingName, "utf-8")==0)
  6132         -       ||(strcmp(encodingName, "utf8")==0)) {
  6133         -
  6134         -        TSD(Encoding_to_8bit) = NULL;
  6135         -    } else {
  6136         -        encoding = tdom_GetEncoding ( encodingName );
  6137         -        if (encoding == NULL) {
  6138         -             Tcl_AppendResult(interp, "encoding not found", NULL);
  6139         -             return TCL_ERROR;
  6140         -        }
  6141         -        TSD(Encoding_to_8bit) = encoding;
  6142         -    }
  6143         -    return TCL_OK;
  6144         -}
  6145         -
  6146         -
  6147   6063   /*----------------------------------------------------------------------------
  6148   6064   |   tcldom_parse
  6149   6065   |
  6150   6066   \---------------------------------------------------------------------------*/
  6151   6067   static
  6152   6068   int tcldom_parse (
  6153   6069       ClientData  clientData,
................................................................................
  6579   6495       parser = XML_ParserCreate_MM(NULL, MEM_SUITE, NULL);
  6580   6496       Tcl_ResetResult(interp);
  6581   6497   
  6582   6498       doc = domReadDocument(parser, xml_string,
  6583   6499                             xml_string_len,
  6584   6500                             ignoreWhiteSpaces,
  6585   6501                             keepCDATA,
  6586         -                          TSD(Encoding_to_8bit),
  6587   6502                             TSD(storeLineColumn),
  6588   6503                             ignorexmlns,
  6589   6504                             feedbackAfter,
  6590   6505                             feedbackCmd,
  6591   6506                             chan,
  6592   6507                             baseURI,
  6593   6508                             extResolver,
................................................................................
  6791   6706       char        * method, tmp[300];
  6792   6707       int           methodIndex, result, i, bool;
  6793   6708       Tcl_CmdInfo   cmdInfo;
  6794   6709       Tcl_Obj     * mobjv[MAX_REWRITE_ARGS];
  6795   6710   
  6796   6711       static const char *domMethods[] = {
  6797   6712           "createDocument",  "createDocumentNS",   "createNodeCmd",
  6798         -        "parse",           "setResultEncoding",  "setStoreLineColumn",
         6713  +        "parse",                                 "setStoreLineColumn",
  6799   6714           "isCharData",      "isName",             "isPIName",
  6800   6715           "isQName",         "isComment",          "isCDATA",
  6801   6716           "isPIValue",       "isNCName",           "createDocumentNode",
  6802   6717           "setNameCheck",    "setTextCheck",       "setObjectCommands",
  6803   6718           "featureinfo",     "isBMPCharData",
  6804   6719   #ifdef TCL_THREADS
  6805   6720           "attachDocument",  "detachDocument",
  6806   6721   #endif
  6807   6722           NULL
  6808   6723       };
  6809   6724       enum domMethod {
  6810   6725           m_createDocument,    m_createDocumentNS,   m_createNodeCmd,
  6811         -        m_parse,             m_setResultEncoding,  m_setStoreLineColumn,
         6726  +        m_parse,                                   m_setStoreLineColumn,
  6812   6727           m_isCharData,        m_isName,             m_isPIName,
  6813   6728           m_isQName,           m_isComment,          m_isCDATA,
  6814   6729           m_isPIValue,         m_isNCName,           m_createDocumentNode,
  6815   6730           m_setNameCheck,      m_setTextCheck,       m_setObjectCommands,
  6816   6731           m_featureinfo,       m_isBMPCharData
  6817   6732   #ifdef TCL_THREADS
  6818   6733           ,m_attachDocument,   m_detachDocument
................................................................................
  6925   6840                   }
  6926   6841                   SetResult("");
  6927   6842                   return TCL_OK;
  6928   6843               }
  6929   6844               break;
  6930   6845   #endif
  6931   6846   
  6932         -        case m_setResultEncoding:
  6933         -            return tcldom_setResultEncoding(clientData, interp, --objc, objv+1);
  6934         -
  6935   6847           case m_setStoreLineColumn:
  6936   6848               if (objc == 3) {
  6937   6849                   if (Tcl_GetBooleanFromObj(interp, objv[2], &bool) != TCL_OK) {
  6938   6850                       return TCL_ERROR;
  6939   6851                   }
  6940   6852                   TSD(storeLineColumn) = bool;
  6941   6853               }

Changes to generic/tclexpat.c.

   895    895     int result, mode, done;
   896    896     size_t bytesread;
   897    897     char s[255], buf[8*1024];
   898    898     int fd;
   899    899     XML_Parser  parser;
   900    900     Tcl_Channel channel = NULL;
   901    901     CHandlerSet *activeCHandlerSet;
   902         -#if !TclOnly8Bits
   903    902     Tcl_Obj       *bufObj = NULL;
   904    903     Tcl_DString    dStr;
   905    904     int            useBinary;
   906    905     char          *str;
   907         -#endif
   908    906   
   909    907     if (expat->finished) {
   910    908         if ((result = TclExpatInitializeParser (interp, expat, 0)) != TCL_OK) 
   911    909             return TCL_ERROR;
   912    910     }
   913    911   
   914    912     if (!expat->parsingState) {
................................................................................
   949    947         }
   950    948         if (!(mode & TCL_READABLE)) {
   951    949             Tcl_ResetResult (interp);
   952    950             Tcl_AppendResult (interp, "channel \"", data,
   953    951                               "wasn't opened for reading", (char *) NULL);
   954    952             return TCL_ERROR;
   955    953         }
   956         -#if !TclOnly8Bits
   957    954         Tcl_DStringInit (&dStr);
   958    955         if (Tcl_GetChannelOption (interp, channel, "-encoding", &dStr) 
   959    956             != TCL_OK) {
   960    957             return TCL_ERROR;
   961    958         }
   962    959         if (strcmp (Tcl_DStringValue (&dStr), "binary")==0 ) useBinary = 1;
   963    960         else useBinary = 0;
................................................................................
   985    982                bufObj until the error reporting is done (otherwise,
   986    983                calling XML_GetCurrentLineNumber() results in invalid mem
   987    984                reads */
   988    985             if (result) {
   989    986                 Tcl_DecrRefCount (bufObj);
   990    987             }
   991    988         }
   992         -#else
   993         -      expat->parsingState = 2;
   994         -      do {
   995         -          bytesread = Tcl_Read (channel, buf, sizeof (buf));
   996         -          done = bytesread < sizeof (buf);
   997         -          result = XML_Parse (expat->parser, buf, bytesread, done);
   998         -          if (result != XML_STATUS_OK) break;
   999         -      } while (!done);
  1000         -#endif /* !TclOnly8Bits */
  1001    989         expat->parsingState = 1;
  1002    990         break;
  1003    991   
  1004    992     case EXPAT_INPUT_FILENAME:
  1005    993         fd = open(data, O_BINARY|O_RDONLY);
  1006    994         if (fd < 0) {
  1007    995             Tcl_ResetResult (interp);
................................................................................
  1049   1037             sprintf(s, "%ld", XML_GetCurrentLineNumber(expat->parser));
  1050   1038             Tcl_AppendResult(interp, "error \"",
  1051   1039                              XML_ErrorString(XML_GetErrorCode(expat->parser)),
  1052   1040                              "\" at line ", s, " character ", NULL);
  1053   1041             sprintf(s, "%ld", XML_GetCurrentColumnNumber(expat->parser));
  1054   1042             Tcl_AppendResult(interp, s, NULL);
  1055   1043         }
  1056         -#if !TclOnly8Bits
  1057   1044         if (bufObj) {
  1058   1045             Tcl_DecrRefCount (bufObj);
  1059   1046         }
  1060         -#endif
  1061   1047         return TCL_ERROR;
  1062   1048     }
  1063   1049     switch (expat->status) {
  1064   1050       case TCL_OK:
  1065   1051       case TCL_BREAK:
  1066   1052       case TCL_CONTINUE:
  1067   1053       case TCL_RETURN:

Deleted generic/utf8conv.c.

     1         -/*---------------------------------------------------------------------------
     2         -|   Copyright (C) 1999  Jochen C. Loewer (loewerj@hotmail.com)
     3         -+----------------------------------------------------------------------------
     4         -|
     5         -|   $Id$
     6         -|
     7         -|
     8         -|   Functions, which (try) to convert UTF-8 encoded Unicode strings back 
     9         -|   to some 8bit encodings like ISO-8859-*, ... 
    10         -|
    11         -|
    12         -|   The contents of this file are subject to the Mozilla Public License
    13         -|   Version 1.1 (the "License"); you may not use this file except in
    14         -|   compliance with the License. You may obtain a copy of the License at
    15         -|   http://www.mozilla.org/MPL/
    16         -|
    17         -|   Software distributed under the License is distributed on an "AS IS"
    18         -|   basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
    19         -|   License for the specific language governing rights and limitations
    20         -|   under the License.
    21         -|
    22         -|   The Original Code is tDOM.
    23         -|
    24         -|   The Initial Developer of the Original Code is Jochen Loewer
    25         -|   Portions created by Jochen Loewer are Copyright (C) 1998, 1999
    26         -|   Jochen Loewer. All Rights Reserved.
    27         -|
    28         -|   Contributor(s):
    29         -|
    30         -|
    31         -|   $Log$
    32         -|   Revision 1.2  2004/08/14 14:42:27  rolf
    33         -|   Use 'Id' cvs keyword (instead of 'Header') in the file heads.
    34         -|
    35         -|   Revision 1.1.1.1  2002/02/22 01:05:35  rolf
    36         -|   tDOM0.7test with Jochens first set of patches
    37         -|
    38         -|
    39         -|
    40         -|   written by Jochen Loewer
    41         -|   November, 1999
    42         -|
    43         -\--------------------------------------------------------------------------*/
    44         -
    45         -
    46         -
    47         -/*---------------------------------------------------------------------------
    48         -|   Includes
    49         -|
    50         -\--------------------------------------------------------------------------*/
    51         -#include <tcl.h>
    52         -#include <stdlib.h>
    53         -#include <string.h>
    54         -#include <utf8conv.h>
    55         -
    56         -/*---------------------------------------------------------------------------
    57         -|   Defines
    58         -|
    59         -\--------------------------------------------------------------------------*/
    60         -#define DBG(x)
    61         -
    62         -#define ENC_END       0
    63         -#define ENC_IDENTITY  1
    64         -#define ENC_MAP       2
    65         -
    66         -#if defined(_MSC_VER)
    67         -# define STRCASECMP(a,b)  stricmp (a,b)
    68         -#else
    69         -# define STRCASECMP(a,b)  strcasecmp (a,b)
    70         -#endif
    71         -
    72         -
    73         -/*---------------------------------------------------------------------------
    74         -|   Static Globals
    75         -|
    76         -\--------------------------------------------------------------------------*/
    77         -#include "encodings.inc"
    78         -
    79         -
    80         -
    81         -/*---------------------------------------------------------------------------
    82         -|   tdom_GetEncoding  -  Looks up a encoding table for the given encoding
    83         -|                        name. If nothing was found NULL is returned.
    84         -|
    85         -\--------------------------------------------------------------------------*/
    86         -TEncoding * 
    87         -tdom_GetEncoding (
    88         -    char  * name
    89         -)
    90         -{
    91         -    TEncoding *encoding = TDOM_UnicodeTo8bitEncodings;
    92         -    
    93         -    while (encoding && encoding->name) {
    94         -        DBG(fprintf(stderr, "encoding=%x encoding->name='%s' name='%s'",
    95         -                             encoding, encoding->name, name);)
    96         -        if (STRCASECMP(encoding->name,name)==0) {
    97         -            return encoding;
    98         -        }
    99         -        encoding++;
   100         -    }
   101         -    return NULL;
   102         -}
   103         -
   104         -
   105         -/*---------------------------------------------------------------------------
   106         -|   tdom_GetEncodingName
   107         -|
   108         -\--------------------------------------------------------------------------*/
   109         -char *
   110         -tdom_GetEncodingName (TEncoding *encoding) 
   111         -{
   112         -    TEncoding *knownencoding = TDOM_UnicodeTo8bitEncodings;
   113         -    
   114         -    while (knownencoding && knownencoding->name) {
   115         -        if (knownencoding == encoding) {
   116         -            return (char*) knownencoding->name;
   117         -        }
   118         -        knownencoding++;
   119         -    }
   120         -    return NULL;
   121         -}
   122         -    
   123         -
   124         -/*---------------------------------------------------------------------------
   125         -|   tdom_Utf8to8Bit  -  Convert a UTF-8 encode string with byte length 
   126         -|                       *len to 8bit encoding using the specify encoding.
   127         -|
   128         -\--------------------------------------------------------------------------*/
   129         -void 
   130         -tdom_Utf8to8Bit (
   131         -    TEncoding  * encoding,
   132         -    const char * utf8_string,
   133         -    int        * len
   134         -)
   135         -{
   136         -    unsigned char  *in, *end, *out;
   137         -    TEncodingRule  *rule;
   138         -    int             byte;
   139         -    int             unicode;
   140         -        
   141         -        
   142         -    if (encoding == NULL) {
   143         -       /* don't convert; keep UTF-8 */
   144         -       return;
   145         -    }
   146         -         
   147         -    in  = (unsigned char*) utf8_string;
   148         -    out = (unsigned char*) utf8_string;
   149         -    end = in + *len;
   150         -    unicode = 0;
   151         -    
   152         -    while (in < end) {
   153         -
   154         -        byte = *in;
   155         -
   156         -        /* extract unicode character from (multiple) UTF-8 bytes */
   157         -
   158         -        if (byte < 0xC0) { 
   159         -            unicode = byte;
   160         -            in++;
   161         -        } else if (byte < 0xE0) {
   162         -            if ((in[1] & 0xC0) == 0x80) {
   163         -                unicode = ((byte & 0x1F) << 6) | (in[1] & 0x3F);
   164         -                in += 2;
   165         -            } else {
   166         -                unicode = byte; 
   167         -                in++;
   168         -            }
   169         -        } else if (byte < 0xF0) {
   170         -            if (((in[1] & 0xC0) == 0x80) && ((in[2] & 0xC0) == 0x80)) {
   171         -                unicode =  ((byte  & 0x0F) << 12)
   172         -                         | ((in[1] & 0x3F) << 6 )
   173         -                         | ((in[2] & 0x3F)      );
   174         -                in += 3;
   175         -            } else {
   176         -                unicode = byte; 
   177         -                in++; 
   178         -            }
   179         -        } else {
   180         -            /* ??? > 3 bytes UTF chars ??? */
   181         -            in++;
   182         -        }
   183         -
   184         -        /* convert unicode character to 8bit representation */
   185         -        rule = encoding->rules;
   186         -        while (rule && rule->type != ENC_END) {
   187         -            if (   (unicode >= rule->start_code) 
   188         -                && (unicode < (rule->start_code + rule->len)) ) {
   189         -
   190         -                if (rule->type == ENC_MAP) {
   191         -                    *out++ = rule->map[unicode - rule->start_code];
   192         -                } else {
   193         -                    *out++ = unicode & 0xFF;
   194         -                }
   195         -                break;
   196         -            }
   197         -            rule++;
   198         -        }
   199         -        if (rule->type == ENC_END) {
   200         -            /* no rule foun, use fallback */
   201         -            *out++ = encoding->fallback_char & 0x0FF;
   202         -        }
   203         -    }
   204         -    if (out < end) {
   205         -        *out = '\0';
   206         -    }
   207         -    *len = ( (char*)out - utf8_string);
   208         -}
   209         -

Deleted generic/utf8conv.h.

     1         -/*---------------------------------------------------------------------------
     2         -|   Copyright (C) 1999  Jochen C. Loewer (loewerj@hotmail.com)
     3         -+----------------------------------------------------------------------------
     4         -|
     5         -|   $Id$
     6         -|
     7         -|
     8         -|   Functions, which (try) to convert UTF-8 encoded Unicode strings back 
     9         -|   to some 8bit encodings like ISO-8859-*, ... 
    10         -|
    11         -|
    12         -|   The contents of this file are subject to the Mozilla Public License
    13         -|   Version 1.1 (the "License"); you may not use this file except in
    14         -|   compliance with the License. You may obtain a copy of the License at
    15         -|   http://www.mozilla.org/MPL/
    16         -|
    17         -|   Software distributed under the License is distributed on an "AS IS"
    18         -|   basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
    19         -|   License for the specific language governing rights and limitations
    20         -|   under the License.
    21         -|
    22         -|   The Original Code is tDOM.
    23         -|
    24         -|   The Initial Developer of the Original Code is Jochen Loewer
    25         -|   Portions created by Jochen Loewer are Copyright (C) 1998, 1999
    26         -|   Jochen Loewer. All Rights Reserved.
    27         -|
    28         -|   Contributor(s):
    29         -|
    30         -|
    31         -|   $Log$
    32         -|   Revision 1.3  2004/08/14 14:42:27  rolf
    33         -|   Use 'Id' cvs keyword (instead of 'Header') in the file heads.
    34         -|
    35         -|   Revision 1.2  2002/07/04 15:06:49  zoran
    36         -|   fixed reference to unsigned* to char since Sun compiler barfs at it.
    37         -|
    38         -|   Revision 1.1.1.1  2002/02/22 01:05:35  rolf
    39         -|   tDOM0.7test with Jochens first set of patches
    40         -|
    41         -|
    42         -|
    43         -|   written by Jochen Loewer
    44         -|   November, 1999
    45         -|
    46         -\--------------------------------------------------------------------------*/
    47         -
    48         -#ifndef __UTF8CONV_H__
    49         -#define __UTF8CONV_H__
    50         -
    51         -
    52         -/*---------------------------------------------------------------------------
    53         -|   Includes
    54         -|
    55         -\--------------------------------------------------------------------------*/
    56         -#include <tcl.h>
    57         -#include <stdlib.h>
    58         -#include <string.h>
    59         -
    60         -
    61         -/*---------------------------------------------------------------------------
    62         -|   Typedefs
    63         -|
    64         -\--------------------------------------------------------------------------*/
    65         -typedef struct {
    66         -    int             type;
    67         -    int             start_code;
    68         -    int             len;
    69         -    char          * map;
    70         -} TEncodingRule;
    71         -
    72         -typedef struct {
    73         -    const char    * name;
    74         -    int             fallback_char;
    75         -    TEncodingRule * rules;
    76         -} TEncoding;
    77         -
    78         -
    79         -             
    80         -/*--------------------------------------------------------------------------
    81         -|   Function prototypes
    82         -|
    83         -\-------------------------------------------------------------------------*/
    84         -TEncoding * tdom_GetEncoding (char *name);
    85         -char *      tdom_GetEncodingName (TEncoding *encoding);
    86         -void        tdom_Utf8to8Bit (TEncoding  *encoding, 
    87         -                             const char *utf8_string, int *len);
    88         -
    89         -#endif
    90         -
    91         -    

Changes to generic/xmlsimple.c.

   169    169   \---------------------------------------------------------------------------*/
   170    170   static Er er_sequences[] = {
   171    171       { "amp",       "&",        0 },
   172    172       { "lt",        "<",        0 },
   173    173       { "gt",        ">",        0 },
   174    174       { "apos",      "'",        0 },
   175    175       { "quot",      "\"",       0 },
   176         -#if TclOnly8Bits
   177         -    { "nbsp",      "\240",     0 },
   178         -#else
   179    176       { "nbsp",      "\xC2\xA0",    0 },
   180         -#endif
   181    177   };
   182    178   
   183    179   
   184    180   /*----------------------------------------------------------------------------
   185    181   |   ErInit --
   186    182   |
   187    183   |       Initialize the entity reference hash table
................................................................................
   283    279                       }
   284    280                   }
   285    281                   if (!z[i] || (z[i]!=';')) {
   286    282                       return 0;
   287    283                       /* error */
   288    284                   }
   289    285                   from = i+1;
   290         -#if TclOnly8Bits
   291         -                z[to++] = value;
   292         -#else 
   293    286                   if (value < 0x80) {
   294    287                       z[to++] = value;
   295    288                   } else if (value <= 0x7FF) {
   296    289                       z[to++] = (char) ((value >> 6) | 0xC0);
   297    290                       z[to++] = (char) ((value | 0x80) & 0xBF);
   298    291                   } else if (value <= 0xFFFF) {
   299    292                       z[to++] = (char) ((value >> 12) | 0xE0);
   300    293                       z[to++] = (char) (((value >> 6) | 0x80) & 0xBF);
   301    294                       z[to++] = (char) ((value | 0x80) & 0xBF);
   302    295                   } else {
   303    296                       /* error */
   304    297                       return 0;
   305    298                   }
   306         -#endif
   307    299               } else {
   308    300                   while (z[i] && isalpha((unsigned char)z[i])) {
   309    301                      i++;
   310    302                   }
   311    303                   if (!z[i] || (z[i]!=';')) {
   312    304                       return 0;
   313    305                   }

Changes to tests/OASIS-suite.tcl.

     5      5   package require uri
     6      6   package require tdom
     7      7   
     8      8   # The following is not needed, given, that tDOM is correctly
     9      9   # installed. This code only ensures, that the tDOM script library gets
    10     10   # sourced, if the script is called with a tcldomsh out of the build
    11     11   # dir of a complete tDOM source installation.
    12         -if {[lsearch [namespace children] ::tDOM] == -1} {
           12  +if {[info commands ::tDOM::xmlReadFile] == ""} {
    13     13       # tcldomsh without the script library. Source the lib.
    14     14       source [file join [file dir [info script]] ../lib tdom.tcl]
    15     15   }
    16     16   
    17     17   # Import the tDOM helper procs
    18     18   namespace import tDOM::*
    19     19   

Changes to unix/CONFIG.

     1      1   #!/bin/sh
     2      2   #
     3      3   # This is a small collection of example settings you can use to
     4      4   # compile tdom on different platforms. Just uncomment the line(s)
     5      5   # you need and run this script with "sh CONFIG".
     6      6   #
     7         -# With the exception of the --enable-tdomalloc option it's best, to
     8         -# leave the tDOM specific configuration options alone (that is: use the
     9         -# defaults, do nothing).
            7  +# For typical use it's best, to leave the tDOM specific configuration
            8  +# options alone (that is: use the defaults, do nothing).
    10      9   # 
    11     10   # --enable-tdomalloc
    12     11   # Default: off
    13     12   # With this option on, a special memory allocator is used, which is
    14     13   # optimized for low memory allocation overhead. This allocator works
    15     14   # only on 32-bit plattforms. If you build for a 64-bit OS, you _must_
    16     15   # disable this (and it's disabled by default).
................................................................................
    51     50   # tnc). Use it to point to the tdomConfig.sh file.
    52     51   #
    53     52   # 
    54     53   #
    55     54   # Comment-out next line if building with GCC compiler.
    56     55   # CC=gcc; export CC
    57     56   #
    58         -#
    59         -# Tcl 8.0.5 on Unix. Uses public Tcl library
    60         -# -------------------------------------------
    61         -# ../configure-tcl8.0.5
    62         -#
    63     57   #
    64     58   # Tcl 8.1+ on Unix. Uses public Tcl library
    65     59   # -------------------------------------------
    66     60   # ../configure
    67     61   #
    68         -#
    69         -# For 64-bit Unix you've to use --disable-tdomalloc
    70         -# -------------------------------------------------
    71         -# ../configure --disable-tdomalloc
    72         -#
    73     62   #
    74     63   # AOLserver 3.X. It delivers its own patched Tcl lib.
    75     64   # Also, this one builds tdom as AOLserver module.
    76     65   # Please do not use "make install" after doing "make".
    77     66   # You have to manually adjust AOLserver config file
    78     67   # to load tdom module. See README.AOL for more info.
    79     68   # Also, you need to modify the "aolsrc" to point to

Changes to win/makefile.vc.

    25     25   
    26     26   EXPATDIR = ..\expat
    27     27   PRJ_OBJS = \
    28     28   	$(TMP_DIR)\xmlrole.obj     \
    29     29   	$(TMP_DIR)\xmltok.obj      \
    30     30   	$(TMP_DIR)\xmlparse.obj    \
    31     31   	$(TMP_DIR)\xmlsimple.obj   \
    32         -	$(TMP_DIR)\utf8conv.obj    \
    33     32   	$(TMP_DIR)\dom.obj         \
    34     33   	$(TMP_DIR)\domalloc.obj    \
    35     34   	$(TMP_DIR)\domhtml.obj     \
    36     35   	$(TMP_DIR)\domhtml5.obj    \
    37     36   	$(TMP_DIR)\domxslt.obj     \
    38     37   	$(TMP_DIR)\nodecmd.obj     \
    39     38   	$(TMP_DIR)\domxpath.obj    \

Deleted win/makefile805.vc.

     1         -#----------------------------------------------------------------------------
     2         -#   This is derivated from the tcl8.3 win makefile and surely not
     3         -#   perfect. It works for me. 
     4         -#   rolf ade, 2001 (rolf@pointsman.de)
     5         -#   
     6         -#   Changes for 8.0.5 by Sumit Pokhariyal (sumitp@pune.tcs.co.in)
     7         -#
     8         -#   Project directories
     9         -#
    10         -#   ROOT   = top of source tree
    11         -#
    12         -#   TOOLS32 = location of VC++ 32-bit development tools.
    13         -#
    14         -#   INSTALLDIR = location of the Tcl installation
    15         -#
    16         -#----------------------------------------------------------------------------
    17         -
    18         -!if "$(MSVCDIR)" == ""
    19         -MSG = ^
    20         -You'll need to run vcvars32.bat from Developer Studio, first, to setup^
    21         -the environment.
    22         -!error $(MSG)
    23         -!endif
    24         -# emacs: '
    25         -
    26         -# Set this to the appropriate value of /MACHINE: for your platform
    27         -MACHINE                = IX86
    28         -ROOT           = ..
    29         -INSTALLDIR     = c:\Progra~1\Tcl
    30         -
    31         -TOOLS32        = $(MSVCDIR)
    32         -TOOLS32_rc     = $(MSVCDIR)\..\common\MSDev98
    33         -
    34         -# Uncomment the following line to compile with thread support
    35         -#THREADDEFINES = -DTCL_THREADS=1
    36         -
    37         -# Set NODEBUG to 0 to compile with symbols
    38         -NODEBUG = 1
    39         -
    40         -# The following defines can be used to control the amount of debugging
    41         -# code that is added to the compilation.
    42         -#
    43         -#      -DTCL_MEM_DEBUG         Enables the debugging memory allocator.
    44         -#      -DTCL_COMPILE_DEBUG     Enables byte compilation logging.
    45         -#      -DTCL_COMPILE_STATS     Enables byte compilation statistics gathering.
    46         -#      -DUSE_TCLALLOC=0        Disables the Tcl memory allocator in favor
    47         -#                              of the native malloc implementation.  This is
    48         -#
    49         -# DEBUGDEFINES = -DTCL_MEM_DEBUG -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS
    50         -# DEBUGDEFINES = -DUSE_TCLALLOC=0
    51         -
    52         -
    53         -#-------------------------------------------------------------------------
    54         -#
    55         -#   Do not modify below this line
    56         -#
    57         -#-------------------------------------------------------------------------
    58         -
    59         -NAMEPREFIX = libtdom
    60         -DOTVERSION = 0.8.3
    61         -VERSION = 083
    62         -
    63         -BINROOT         = .
    64         -!IF "$(NODEBUG)" == "1"
    65         -TMPDIRNAME      =
    66         -DBGX            =
    67         -!ELSE
    68         -TMPDIRNAME      = Debug
    69         -DBGX            = d
    70         -!ENDIF
    71         -TMPDIR          = $(BINROOT)
    72         -OUTDIRNAME      = $(TMPDIRNAME)
    73         -OUTDIR          = $(TMPDIR)
    74         -TOP_DIR         = $(BINROOT)\..
    75         -
    76         -TDOMLIB         = $(OUTDIR)\$(NAMEPREFIX)$(VERSION)$(DBGX).lib
    77         -TDOMDLLNAME     = $(NAMEPREFIX)$(VERSION)$(DBGX).dll
    78         -TDOMDLL         = $(OUTDIR)\$(TDOMDLLNAME)
    79         -
    80         -MKDIR           = .\mkd.bat
    81         -RM              = del
    82         -
    83         -LIB_INSTALL_DIR        = $(INSTALLDIR)\lib
    84         -BIN_INSTALL_DIR        = $(INSTALLDIR)\bin
    85         -SCRIPT_INSTALL_DIR     = $(INSTALLDIR)\lib\tcl$(DOTVERSION)
    86         -INCLUDE_INSTALL_DIR    = $(INSTALLDIR)\include
    87         -
    88         -
    89         -TDOMOBJS = $(TMPDIR)\xmlrole.obj    \
    90         -           $(TMPDIR)\xmltok.obj     \
    91         -           $(TMPDIR)\xmlparse.obj   \
    92         -           $(TMPDIR)\xmlsimple.obj  \
    93         -           $(TMPDIR)\utf8conv.obj   \
    94         -           $(TMPDIR)\dom.obj        \
    95         -           $(TMPDIR)\domalloc.obj   \
    96         -	   $(TMPDIR)\domhtml.obj    \
    97         -	   $(TMPDIR)\domxslt.obj    \
    98         -	   $(TMPDIR)\nodecmd.obj    \
    99         -           $(TMPDIR)\domxpath.obj   \
   100         -           $(TMPDIR)\domlock.obj    \
   101         -           $(TMPDIR)\domjson.obj    \
   102         -           $(TMPDIR)\tclexpat.obj   \
   103         -           $(TMPDIR)\tcldom.obj     \
   104         -           $(TMPDIR)\tdominit.obj
   105         -
   106         -
   107         -cc32           = "$(TOOLS32)\bin\cl.exe"
   108         -link32         = "$(TOOLS32)\bin\link.exe"
   109         -rc32           = "$(TOOLS32_rc)\bin\rc.exe"
   110         -include32      = -I"$(TOOLS32)\include"
   111         -libpath32      = /LIBPATH:"$(TOOLS32)\lib"
   112         -tcllibpath     = /LIBPATH:"$(INSTALLDIR)\lib"
   113         -lib32          = "$(TOOLS32)\bin\lib.exe"
   114         -
   115         -WINDIR         = $(ROOT)\win
   116         -GENERICDIR     = $(ROOT)\generic
   117         -EXPATDIR       = $(ROOT)\expat
   118         -TCLINCDIR      = $(INSTALLDIR)\Include
   119         -
   120         -TCL_INCLUDES   = -I"$(WINDIR)" -I"$(GENERICDIR)" -I"$(EXPATDIR)" -I"$(TCLINCDIR)"
   121         -TCL_DEFINES    = $(DEBUGDEFINES) $(THREADDEFINES)
   122         -
   123         -#-------------------------------------------------------------------------
   124         -#
   125         -#   Compile flags
   126         -#
   127         -#-------------------------------------------------------------------------
   128         -
   129         -!IF "$(NODEBUG)" == "1"
   130         -# This cranks the optimization level to maximize speed
   131         -cdebug = -O2 -Gs -GD
   132         -!ELSE
   133         -!IF "$(MACHINE)" == "IA64"
   134         -cdebug = -Od -Zi
   135         -!ELSE
   136         -cdebug = -Z7 -Od
   137         -!ENDIF
   138         -!ENDIF
   139         -
   140         -# declarations common to all compiler options
   141         -cflags = -c -W3 -nologo -Fp$(TMPDIR)\ -YX -DHAVE_MEMMOVE -DXML_DTD -DXML_NS -DTDOM_NO_UNKNOWN_CMD -DVERSION="\"$(DOTVERSION)\""
   142         -cvarsdll = -MD$(DBGX)
   143         -
   144         -TCL_CFLAGS     = $(cdebug) $(cflags) $(cvarsdll) $(include32) \
   145         -                       $(TCL_INCLUDES) $(TCL_DEFINES)
   146         -CON_CFLAGS     = $(cdebug) $(cflags) $(include32) -DCONSOLE
   147         -
   148         -#-------------------------------------------------------------------------
   149         -#
   150         -#   Link flags
   151         -#
   152         -#-------------------------------------------------------------------------
   153         -
   154         -!IF "$(NODEBUG)" == "1"
   155         -ldebug = /RELEASE
   156         -!ELSE
   157         -ldebug = -debug:full -debugtype:cv
   158         -!ENDIF
   159         -
   160         -# declarations common to all linker options
   161         -lflags = /NODEFAULTLIB /NOLOGO /MACHINE:$(MACHINE) $(libpath32) $(tcllibpath)
   162         -
   163         -# declarations for use on Intel i386, i486, and Pentium systems
   164         -DLLENTRY = @12
   165         -dlllflags = $(lflags) -entry:_DllMainCRTStartup$(DLLENTRY) -dll
   166         -
   167         -
   168         -conlflags = $(lflags) -subsystem:console -entry:mainCRTStartup
   169         -guilflags = $(lflags) -subsystem:windows -entry:WinMainCRTStartup
   170         -
   171         -libc = libc$(DBGX).lib oldnames.lib
   172         -libcdll = msvcrt$(DBGX).lib oldnames.lib
   173         -
   174         -baselibs   = kernel32.lib $(optlibs) advapi32.lib user32.lib tcl80$(DBGX).lib
   175         -#baselibs    = kernel32.lib $(optlibs) advapi32.lib user32.lib tcl83.lib
   176         -winlibs     = $(baselibs) gdi32.lib comdlg32.lib winspool.lib
   177         -
   178         -
   179         -guilibs     = $(libc) $(winlibs)
   180         -conlibs     = $(libc) $(baselibs)
   181         -guilibsdll  = $(libcdll) $(winlibs)
   182         -conlibsdll  = $(libcdll) $(baselibs)
   183         -
   184         -#-------------------------------------------------------------------------
   185         -#
   186         -#   Project specific targets
   187         -#
   188         -#-------------------------------------------------------------------------
   189         -
   190         -all:       dlls 
   191         -dlls:      $(TDOMDLL)
   192         -
   193         -install:   all
   194         -	@echo installing tDOM
   195         -	@$(MKDIR) "$(INSTALLDIR)\lib\tDOM"
   196         -	@xcopy /y $(TDOMDLL) "$(INSTALLDIR)\lib\tDOM"
   197         -	@xcopy /y pkgIndex.tcl "$(INSTALLDIR)\lib\tDOM"
   198         -	@xcopy /y ..\lib\tdom.tcl "$(INSTALLDIR)\lib\tDOM"
   199         -	@xcopy /y ..\lib\domhtml.tcl "$(INSTALLDIR)\lib\tDOM"
   200         -
   201         -$(TDOMLIB): $(TDOMDLL)
   202         -
   203         -$(TDOMDLL): $(TDOMOBJS)
   204         -       $(link32) $(ldebug) $(dlllflags) \
   205         -               -out:$@ $(guilibsdll) @<<
   206         -$(TDOMOBJS)
   207         -<<
   208         -
   209         -
   210         -	$(cc32) $(cdebug) $(cflags) -Zl -DSTATIC_BUILD $(TCL_INCLUDES) -Fo$@ $?
   211         -
   212         -
   213         -#---------------------------------------------------------------------
   214         -# Dedependency rules
   215         -#---------------------------------------------------------------------
   216         -
   217         -
   218         -#-------------------------------------------------------------------------
   219         -#   Implicit rules
   220         -#-------------------------------------------------------------------------
   221         -
   222         -{$(EXPATDIR)}.c{$(TMPDIR)}.obj:
   223         -    $(cc32) -DBUILD_tcl $(TCL_CFLAGS) -Fo$(TMPDIR)\ $<
   224         -
   225         -{$(GENERICDIR)}.c{$(TMPDIR)}.obj:
   226         -    $(cc32) -DBUILD_tcl $(TCL_CFLAGS) -Fo$(TMPDIR)\ $<
   227         -
   228         -clean:
   229         -       -@$(RM) $(OUTDIR)\*.exp 2>nul
   230         -       -@$(RM) $(OUTDIR)\*.lib 2>nul
   231         -       -@$(RM) $(OUTDIR)\*.dll 2>nul
   232         -       -@$(RM) $(TMPDIR)\*.pch 2>nul
   233         -       -@$(RM) $(TMPDIR)\*.obj 2>nul
   234         -       -@$(RM) $(TMPDIR)\*.ilk 2>nul
   235         -       -@$(RM) $(TMPDIR)\*.pdb 2>nul