--- tcltrf-2.1.4-dfsg2.orig/debian/tcl-trf.install +++ tcltrf-2.1.4-dfsg2/debian/tcl-trf.install @@ -0,0 +1,2 @@ +debian/tmp/usr/lib/tcltk/Trf*/*.so +debian/tmp/usr/lib/tcltk/Trf*/*.tcl --- tcltrf-2.1.4-dfsg2.orig/debian/control +++ tcltrf-2.1.4-dfsg2/debian/control @@ -0,0 +1,76 @@ +Source: tcltrf +Section: interpreters +Priority: optional +Maintainer: Sergei Golovan +Build-Depends: debhelper (>= 5.0.0), zlib1g-dev (>= 1:1.2.1), libbz2-dev (>= 1.0.2), libssl-dev, tcl-dev, quilt +Standards-Version: 3.9.4 +Homepage: http://tcltrf.sourceforge.net/ + +Package: tcl-trf +Architecture: any +Section: libs +Depends: ${shlibs:Depends}, ${misc:Depends}, ${tclsh:Depends} +Conflicts: libtrf-tcl +Provides: libtrf-tcl +Suggests: tcl-trf-doc +Description: Tcl data transformations - runtime library + Trf is an extension to Tcl which provides various data + transformations. The collection of provided transformation + procedures includes: + * generation of message digests (hash values, checksums): MD2, + MD5, SHA/SHS, SHA-1, HAVAL, RIPEMD-128, -160, CRC (polynomial + used by PGP), Adler (based upon zlib); + * conversion to and from various data encodings: uuencoding, + base64-encoding, or ASCII85-encoding, and binary, octal, or + hexadecimal representation; + * an error-correcting Reed-Solomon encoder/decoder; + * compression/decompression based on zlib and libbz2. + . + This package contains the runtime library to be used in Tcl programs. + +Package: tcl-trf-dev +Architecture: any +Section: libdevel +Depends: tcl-trf (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Conflicts: libtrf-tcl-dev +Provides: libtrf-tcl-dev +Suggests: tcl-trf-doc +Description: Tcl data transformations - development files + Trf is an extension to Tcl which provides various data + transformations. The collection of provided transformation + procedures includes: + * generation of message digests (hash values, checksums): MD2, + MD5, SHA/SHS, SHA-1, HAVAL, RIPEMD-128, -160, CRC (polynomial + used by PGP), Adler (based upon zlib); + * conversion to and from various data encodings: uuencoding, + base64-encoding, or ASCII85-encoding, and binary, octal, or + hexadecimal representation; + * an error-correcting Reed-Solomon encoder/decoder; + * compression/decompression based on zlib and libbz2. + . + This package contains files to be used for development of C-based + extensions which use the Trf library. + +Package: tcl-trf-doc +Architecture: all +Section: doc +Depends: ${misc:Depends} +Suggests: tcl-trf +Conflicts: libtrf-tcl-doc +Replaces: libtrf-tcl, libtrf-tcl-dev, libtrf-tcl-doc +Provides: libtrf-tcl-doc +Description: Tcl data transformations - development files + Trf is an extension to Tcl which provides various data + transformations. The collection of provided transformation + procedures includes: + * generation of message digests (hash values, checksums): MD2, + MD5, SHA/SHS, SHA-1, HAVAL, RIPEMD-128, -160, CRC (polynomial + used by PGP), Adler (based upon zlib); + * conversion to and from various data encodings: uuencoding, + base64-encoding, or ASCII85-encoding, and binary, octal, or + hexadecimal representation; + * an error-correcting Reed-Solomon encoder/decoder; + * compression/decompression based on zlib and libbz2. + . + This package contains manual pages and HTML documentation for Trf commands + and C-API. --- tcltrf-2.1.4-dfsg2.orig/debian/tcl-trf-dev.docs +++ tcltrf-2.1.4-dfsg2/debian/tcl-trf-dev.docs @@ -0,0 +1 @@ +README --- tcltrf-2.1.4-dfsg2.orig/debian/gen_capi_index.tcl +++ tcltrf-2.1.4-dfsg2/debian/gen_capi_index.tcl @@ -0,0 +1,61 @@ +#!/usr/bin/tclsh + +set docdir [lindex $argv 0] +set capi_manuals {} + +foreach docfile [glob -nocomplain -directory $docdir *.html] { + puts stderr $docfile + + if {[catch {set fd [open $docfile]} msg]} { + puts stderr "Can't open file $docfile: $msg" + continue + } + + while {[gets $fd line] >= 0} { + if {[regexp {\s*(\S*)\s*-\s*(.*?)\.?} $line -> \ + name title]} { + lappend capi_manuals [list $name $name $title [file tail $docfile]] + break + } + } + close $fd +} + +puts " + +Tcl Trf HTML Documentation + + + +

Tcl Trf HTML Documentation

+

Trf C API

+ + +" + --- tcltrf-2.1.4-dfsg2.orig/debian/tcl-trf.dirs +++ tcltrf-2.1.4-dfsg2/debian/tcl-trf.dirs @@ -0,0 +1 @@ +usr/lib/tcltk --- tcltrf-2.1.4-dfsg2.orig/debian/tcl-trf-doc.manpages +++ tcltrf-2.1.4-dfsg2/debian/tcl-trf-doc.manpages @@ -0,0 +1,2 @@ +debian/tmp/usr/share/doc/man/*.3* +doc/capi/man/*.3* --- tcltrf-2.1.4-dfsg2.orig/debian/copyright +++ tcltrf-2.1.4-dfsg2/debian/copyright @@ -0,0 +1,281 @@ +This package was debianized by Sergei Golovan on +Mon, 21 May 2007 00:11:45 +0400 + +Debian source package was created from upstream CVS snapshot +at http://sourceforge.net/projects/tcltrf. The following +files/directories were removed from the snapshot: + +doc/painless-guide-to-crc.txt: non-free doc +generic/haval/: non-free library +generic/haval.1996/: non-free library +mails/: mailboxes are parts of tcltrf distribution +patches/: patches for outdated Tcl versions +tools/mpexpand: binary without source +win/msvcrt.dll: non-free binary without source +zlib.vc/: not a part of tcltrf distribution + +Upstream Author: Andreas Kupries (andreask@activestate.com) + +Copyright: + +The author hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +IN NO EVENT SHALL THE AUTHOR OR DISTRIBUTORS BE LIABLE TO ANY PARTY +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +DERIVATIVES THEREOF, EVEN IF THE AUTHOR HAVE BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +THE AUTHOR AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHOR AND DISTRIBUTORS HAVE +NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. + + +Full list of copyright holders of individual files: + +1995-1999 Andreas Kupries +1989, 1991-1998, 2003 Free Software Foundation, Inc. +1990-1994 The Regents of the University of California +1990 RSA Data Security, Inc. +1992-1996 Jens-Uwe Mager, Helios Software GmbH +1993 by C^3SR +1993 Ross Williams +1994-1996 Sun Microsystems, Inc. +1995-1997 Eric Young +1995-1998 Jean-loup Gailly +1995-1998 Jean-loup Gailly and Mark Adler +1995 Apple Computer, Inc. +1995 General Electric Company +1996-1998 Julian R Seward +1996 Katholieke Universiteit Leuven +1996 Yuliang Zheng +1996 Jan Nijtmans +1998-1999 Scriptics Corporation +1999-2000 Ajuba Solutions +1999 Marshall Rose +2000 William H. Duquette +2001 Joe English +2002-2005 ActiveState Corporation + +Copyright statements of individual files, which differ from the main copyright +statement: + +compat/bzlib.h + + Copyright (C) 1996-1998 Julian R Seward. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + + 3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + + 4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +compat/dlfcn.h, compat/tclLoadAix.c + + Copyright (c) 1992,1993,1995,1996, Jens-Uwe Mager, Helios Software GmbH + Not derived from licensed software. + + Permission is granted to freely use, copy, modify, and redistribute + this software, provided that the author is not construed to be liable + for any results of using the software, alterations are clearly marked + as such, and this notice is not modified. + + +compat/md2.h and compat/sha.h + + Copyright (C) 1995-1997 Eric Young (eay@mincom.oz.au) + All rights reserved. + + This file is part of an SSL implementation written + by Eric Young (eay@mincom.oz.au). + The implementation was written so as to conform with Netscapes SSL + specification. This library and applications are + FREE FOR COMMERCIAL AND NON-COMMERCIAL USE + as long as the following conditions are aheared to. + + Copyright remains Eric Young's, and as such any Copyright notices in + the code are not to be removed. If this code is used in a product, + Eric Young should be given attribution as the author of the parts used. + This can be in the form of a textual message at program startup or + in documentation (online or textual) provided with the package. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by Eric Young (eay@mincom.oz.au) + + THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + The licence and distribution terms for any publically available version or + derivative of this code cannot be changed. i.e. this code cannot simply be + copied and put under another distribution licence + [including the GNU Public Licence.] + + +compat/stpncpy.c, md5-crypt/md5.h, md5-crypt/md5.c, md5-crypt/md5-crypt.c, +md5-crypt/crypt-entry.c + + Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + In Debian systems GNU Library General Public License is available in + /usr/share/common-licenses/LGPL. + + +compat/zconf.h, compat.zlib.h + + Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + +generic/md5/md5.h, generic/md5/md5.c + + Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. + + License to copy and use this software is granted provided that + it is identified as the "RSA Data Security, Inc. MD5 Message- + Digest Algorithm" in all material mentioning or referencing this + software or this function. + + License is also granted to make and use derivative works + provided that such works are identified as "derived from the RSA + Data Security, Inc. MD5 Message-Digest Algorithm" in all + material mentioning or referencing the derived work. + + RSA Data Security, Inc. makes no representations concerning + either the merchantability of this software or the suitability + of this software for any particular purpose. It is provided "as + is" without express or implied warranty of any kind. + + These notices must be retained in any copies of any part of this + documentation and/or software. + +md5-crypt/trf_crypt.h + + Copyright (C) 1991, 92, 93, 96, 97, 98 Free Software Foundation, Inc. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + In Debian systems GNU Library General Public License is available in + /usr/share/common-licenses/LGPL. + +generic/md2d.h, generic/md2d.c (after applying md2.diff) + + Copyright (c) 2006 Kungliga Tekniska Högskolan + (Royal Institute of Technology, Stockholm, Sweden). + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the Institute nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + --- tcltrf-2.1.4-dfsg2.orig/debian/watch +++ tcltrf-2.1.4-dfsg2/debian/watch @@ -0,0 +1,7 @@ +# Watch control file for uscan + +# Compulsory line, this is a version 3 file +version=3 + +opts=dversionmangle=s/-dfsg\d*$// \ + http://sf.net/tcltrf/trf([\d.p]*).tar.gz --- tcltrf-2.1.4-dfsg2.orig/debian/tcl-trf-doc.docs +++ tcltrf-2.1.4-dfsg2/debian/tcl-trf-doc.docs @@ -0,0 +1,3 @@ +README +debian/tmp/usr/share/doc/html/ +doc/capi/html --- tcltrf-2.1.4-dfsg2.orig/debian/checkout +++ tcltrf-2.1.4-dfsg2/debian/checkout @@ -0,0 +1,27 @@ +#!/usr/bin/expect + +switch -- [llength $argv] { + 0 - 1 { return -code error "Too few arguments" } + 2 { + set date "now" + set dir . + } + 3 { + set date "now" + set dir [lindex $argv 2] + } + default { + set date [clock format [expr {[clock scan [lindex $argv 3]] + 24*60*60}] -format %Y%m%dT%H:%M:%S] + set dir [lindex $argv 2] + } +} + +cd $dir + +set cvsroot [lindex $argv 0] +spawn cvs -q -d$cvsroot login +expect -re "assword: " +send "\r" +system "cvs -q -d$cvsroot -z9 co -D \"$date\" [lindex $argv 1]" +system "cvs -q -d$cvsroot logout" + --- tcltrf-2.1.4-dfsg2.orig/debian/tcl-trf.docs +++ tcltrf-2.1.4-dfsg2/debian/tcl-trf.docs @@ -0,0 +1 @@ +README --- tcltrf-2.1.4-dfsg2.orig/debian/README.source +++ tcltrf-2.1.4-dfsg2/debian/README.source @@ -0,0 +1,8 @@ +This package uses quilt to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches and applied during the build. + +To get detailed instructions on how to apply the series of patches +and modify them, please read /usr/share/doc/quilt/README.source + + -- Sergei Golovan Sat, 05 Sep 2009 11:33:56 +0400 --- tcltrf-2.1.4-dfsg2.orig/debian/tcl-trf-dev.install +++ tcltrf-2.1.4-dfsg2/debian/tcl-trf-dev.install @@ -0,0 +1,2 @@ +debian/tmp/usr/include/* +debian/tmp/usr/lib/tcltk/Trf*/*.a --- tcltrf-2.1.4-dfsg2.orig/debian/tcl-trf-doc.doc-base +++ tcltrf-2.1.4-dfsg2/debian/tcl-trf-doc.doc-base @@ -0,0 +1,10 @@ +Document: tcl-trf +Title: Tcl Trf Documentation +Author: Andreas Kupries (andreask@activestate.com) +Abstract: This documentation contains manuals of individual commands + and C API of Trf - a Tcl data transformation library. +Section: Programming + +Format: HTML +Index: /usr/share/doc/tcl-trf-doc/html/index.html +Files: /usr/share/doc/tcl-trf-doc/html/*.html --- tcltrf-2.1.4-dfsg2.orig/debian/rules +++ tcltrf-2.1.4-dfsg2/debian/rules @@ -0,0 +1,202 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +export QUILT_PATCHES := debian/patches + +# These are used for cross-compiling and for saving the configure script +# from having to guess our platform (since we know it already) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) + +version = 2.1.4 +#cvsdate = 20071113 + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + INSTALL_PROGRAM += -s +endif + +TMPDIR=$(CURDIR)/debian/tmp + +unpatch: + dh_testdir + quilt pop -a || test $$? = 2 + rm -rf generic/haval-1.1 + rm -rf patch-stamp .pc + +clean: clean-patched unpatch + dh_testdir + dh_testroot + dh_clean + +clean-patched: patch-stamp + dh_testdir + dh_testroot + rm -f build-stamp + + # Add here commands to clean up after the build process. + [ ! -f Makefile ] || $(MAKE) distclean + rm -f test.setup + +patch: patch-stamp +patch-stamp: + dh_testdir + quilt push -a || test $$? = 2 + touch patch-stamp + +config.status: configure patch-stamp + dh_testdir + # Add here commands to configure the package. + CFLAGS="$(CFLAGS) -DSSL_STATIC_BUILD=1 -D_XOPEN_SOURCE" \ + SHLIB_SUFFIX=.so \ + no_zlibtcl=true \ + ./configure \ + --host=$(DEB_HOST_GNU_TYPE) \ + --build=$(DEB_BUILD_GNU_TYPE) \ + --prefix=/usr \ + --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info \ + --with-tcl=/usr/lib \ + --with-tclinclude=/usr/include/tcl \ + --enable-static-zlib \ + --enable-static-bzlib \ + --enable-static-md5 \ + --enable-threads + +build: build-arch build-indep +build-arch: build-stamp +build-indep: build-stamp +build-stamp: config.status + dh_testdir + + # Add here commands to compile the package. + $(MAKE) LIBS="-lz -lbz2 -lcrypt -lcrypto" + + touch build-stamp + +install: build-stamp + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs -a + + # Add here commands to install the package into $(TMPDIR) + $(MAKE) install DESTDIR=$(TMPDIR) + install -m 755 -d $(TMPDIR)/usr/lib/tcltk + mv $(TMPDIR)/usr/lib/Trf* $(TMPDIR)/usr/lib/tcltk + + mkdir -p $(TMPDIR)/usr/share/doc/html $(TMPDIR)/usr/share/doc/man + # Cleanup manpages + cd doc/man && \ + for f in *.n ; do \ + sed -e'/^\.so man.macros/ d' \ + -e'/^\.BS/ d' \ + -e'/^\.BE/ d' \ + -e's/^\.TH \([^ ]\+\) n/.TH \1 3trf/' \ + $$f >$(TMPDIR)/usr/share/doc/man/`basename $$f .n`.3trf || exit 1; \ + done + + # Cleanup docs + cd doc/html && \ + for f in *.html ; do \ + sed -e's/(n)/(3trf)/g' $$f >$(TMPDIR)/usr/share/doc/html/$$f || exit 1; \ + done + + # c2man is outdated and removed from Debian. So, a pregenerated manpages + # and HTML docs are used. + # A liitle hack to make c2man working + #cd generic && c2man -D__builtin_va_list=int -DBUFSIZ -I/usr/include/tcl -o../doc/capi/man -Tn transform.h + #cd generic && c2man -D__builtin_va_list=int -DBUFSIZ -I/usr/include/tcl -o../doc/capi/html -Th transform.h + + # Generate documentation indices + tclsh debian/gen_index.tcl $(TMPDIR)/usr/share/doc/html doc/capi/html \ + >$(TMPDIR)/usr/share/doc/html/index.html + +# Build architecture-independent files here. +binary-indep: build install + dh_testdir -i + dh_testroot -i + dh_installchangelogs -i ChangeLog + dh_installdocs -i + dh_installexamples -i + dh_install -i + dh_installman -i + dh_link -i + dh_strip -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i + dh_shlibdeps -i + tcltk-depends -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir -a + dh_testroot -a + dh_installchangelogs -a ChangeLog + dh_installdocs -a + dh_installexamples -a + dh_install -a + dh_installman -a + dh_link -a + dh_strip -a + dh_compress -a + dh_fixperms -a + dh_installdeb -a + dh_shlibdeps -a + tcltk-depends -a + dh_gencontrol -a + dh_md5sums -a + dh_builddeb -a + +binary: binary-indep binary-arch + +get-orig-source: get-orig-source-release + +get-orig-source-release: + CURDIR=`pwd` && TMPDIR=`mktemp -d /tmp/tcltrf.XXXXXX` && \ + cd $$TMPDIR && \ + wget -O - http://heanet.dl.sourceforge.net/sourceforge/tcltrf/trf$(version).tar.gz | tar zx && \ + rm -rfv trf$(version)/generic/haval \ + trf$(version)/generic/haval.1996 \ + trf$(version)/win/msvcrt.dll \ + trf$(version)/doc/painless-guide-to-crc.txt && \ + tar -zcf $$CURDIR/tcltrf_$(version)-dfsg2.orig.tar.gz trf$(version) && \ + rm -rf $$TMPDIR + +get-orig-source-cvs: + CURDIR=`pwd` && \ + TMPDIR=`mktemp -d /tmp/tcltrf.XXXXXX` && \ + SCRDIR=`dirname $(MAKEFILE_LIST)` && \ + expect $$SCRDIR/checkout \ + :pserver:anonymous@tcltrf.cvs.sourceforge.net:/cvsroot/tcltrf \ + trf \ + $$TMPDIR "$(cvsdate)T23:59:59" && \ + echo "Removing CVS stuff and non-free files" && \ + find $$TMPDIR -name '*.orig' \ + -o -name CVS \ + -o -name msvcrt.dll \ + -o -name mpexpand \ + -o -name patches \ + -o -name zlib.vc \ + -o -name painless-guide-to-crc.txt \ + -o -name haval \ + -o -name haval.1996 \ + -o -name mails | xargs rm -rvf && \ + cd $$TMPDIR && \ + tar -zcf $$CURDIR/tcltrf_$(version)$(cvsdate).orig.tar.gz . && \ + rm -rf $$TMPDIR + +.PHONY: patch unpatch clean-patched build build-arch build-indep clean binary-indep binary-arch binary install get-orig-source --- tcltrf-2.1.4-dfsg2.orig/debian/changelog +++ tcltrf-2.1.4-dfsg2/debian/changelog @@ -0,0 +1,140 @@ +tcltrf (2.1.4-dfsg2-1) unstable; urgency=low + + * Removed non-DFSG-free painless-guide-to-crc.txt from the source tarball + (closes: #688021). + * Bumped standards version to 3.9.4. + + -- Sergei Golovan Mon, 26 Aug 2013 11:58:42 +0400 + +tcltrf (2.1.4-dfsg1-1) unstable; urgency=low + + * Removed non-DFSG-free msvcrt.dll from the source tarball (closes: #685207). + + -- Sergei Golovan Sat, 18 Aug 2012 14:37:06 +0400 + +tcltrf (2.1.4-dfsg-3) unstable; urgency=low + + * Reimplemented MD2 hash after it was removed from the OpenSSL + implementation (closes: #664713). + * Removed conflict of tcl-trf-doc with libtrf-tcl and libtrf-tcl-dev. + * Added build-arch and build-indep targets to debian/rules (closes: #648491). + * Added ${misc:Depends} to the dependencies of tcl-trf-doc because of + debhelper requirement. + * Bumped standards version to 3.9.3. + + -- Sergei Golovan Tue, 27 Mar 2012 13:55:30 +0400 + +tcltrf (2.1.4-dfsg-2) unstable; urgency=low + + * Fixed bug with putting library and documentation files into binary + packages. + * Switched to prebuilt docs (closes: #562383). + * Added README.source which explains how to manage patched sources using + quilt patch system. + + -- Sergei Golovan Sat, 26 Dec 2009 00:57:59 +0300 + +tcltrf (2.1.4-dfsg-1) unstable; urgency=low + + * New upstream release. + * Renamed binary packages to tcl-trf, tcl-trf-dev and tcl-trf-doc to comply + Debian Tcl/Tk policy. + * Changed behavior of md5crypt command to retain magic $1$ at the beginning + of its result. + * Added README.source where it is described how to apply the series of + patches to an original taeball. + * Bumped standards version to 3.8.3. + + -- Sergei Golovan Tue, 03 Nov 2009 11:42:57 +0300 + +tcltrf (2.1.3-dfsg-2) unstable; urgency=low + + * Upload to unstable. + * Replaced explicit sf.net download server in debian/watch file by sf + redirector. + + -- Sergei Golovan Sun, 01 Mar 2009 14:09:20 +0300 + +tcltrf (2.1.3-dfsg-1) experimental; urgency=low + + * Removed non-free code (haval and haval.1996 subdirectories). + * Mangle debian version in uscan control file. + + -- Sergei Golovan Mon, 22 Dec 2008 18:27:17 +0300 + +tcltrf (2.1.3-1) experimental; urgency=low + + * New upstream release. + * Protected quilt invocations to make the source package convertible to + format 3.0 (quilt) (closes: #484925). + * Bumped standards version to 3.8.0. + + -- Sergei Golovan Sun, 21 Dec 2008 14:21:54 +0300 + +tcltrf (2.1.2~20071113-2) unstable; urgency=low + + * Removed c2man from build-dependencies. + + -- Sergei Golovan Mon, 05 May 2008 00:37:13 +0400 + +tcltrf (2.1.2~20071113-1) unstable; urgency=low + + * New CVS snapshot with a few bugfixes. + * Pregenerated C-API manpages and HTML docs to remove build-dependency on + c2man, which is outdated and subject ro removal from Debian + (closes: #478650, #478722). + * Fixed clean target to work with debhelper 7.0 (made dh_clean the last + command, so debhelper logs are removed now). + * Bumped standards version to 3.7.3. + * Fixed doc-base registration file (removed leading whitespaces and changed + section to Programming). + * Moved manpages and HTML docs to a separate package libtrf-tcl-doc to make + libtrf-tcl less weighty. + + -- Sergei Golovan Sun, 04 May 2008 23:57:13 +0400 + +tcltrf (2.1p2-20060125-5) unstable; urgency=low + + * Added uscan control script debian/watch. + * Adapted the package to Debian Tcl/Tk policy. This includes moving the Tcl + modules into a subdirectory of /usr/lib/tcltk and switching to default + tcl package in dependencies. + * Added Homepage field in debian/control. + + -- Sergei Golovan Sun, 18 Nov 2007 11:07:33 +0300 + +tcltrf (2.1p2-20060125-4) unstable; urgency=low + + * Fixed build on hurd-i386, kfreebsd-i386 and kfreebsd-amd64 architectures. + * Rewritten clean target in debian/rules to ignore only missing Makefile + error. + * Made clean-patched target in debian/rules depend on patch-stamp. + + -- Sergei Golovan Tue, 11 Sep 2007 18:05:11 +0400 + +tcltrf (2.1p2-20060125-3) unstable; urgency=low + + * New maintainer's email address sgolovan@debian.org. + + -- Sergei Golovan Wed, 15 Aug 2007 21:50:28 +0400 + +tcltrf (2.1p2-20060125-2) unstable; urgency=low + + * Applied a patch by Dann Frazier to fix crypt() call (closes: #432457). + * Fixed segmentation fault in md5crypt command. + * Fixed salt length in crypt (limited by 2) and md5crypt (limited by 8 + instead of 2) commands. + + -- Sergei Golovan Tue, 10 Jul 2007 20:30:52 +0400 + +tcltrf (2.1p2-20060125-1) unstable; urgency=low + + * Initial release (closes: #425759). + * Added patch from tcltrf bugzilla, which enables linking to zlib and + libbz2 at build time. + * Added patch, which allows linking to current libbz2. + * Added patch, which enables linking to openssl at build time. + * Replaced non-free implementation of HAVAL message digest by relicensed + to BSD licence from http://labs.calyptix.com/haval-1.1.tar.gz. + + -- Sergei Golovan Wed, 23 May 2007 21:29:06 +0400 --- tcltrf-2.1.4-dfsg2.orig/debian/compat +++ tcltrf-2.1.4-dfsg2/debian/compat @@ -0,0 +1 @@ +5 --- tcltrf-2.1.4-dfsg2.orig/debian/gen_index.tcl +++ tcltrf-2.1.4-dfsg2/debian/gen_index.tcl @@ -0,0 +1,96 @@ +#!/usr/bin/tclsh + +set docdir [lindex $argv 0] +set cdocdir [lindex $argv 1] +set manuals {} +set capi_manuals {} + +foreach docfile [glob -nocomplain -directory $docdir *.html] { + puts stderr $docfile + + if {[catch {set fd [open $docfile]} msg]} { + puts stderr "Can't open file $docfile: $msg" + continue + } + + while {[gets $fd line] >= 0} { + if {[regexp {\s*(.*)\(3trf\)\s+(\S+)\s+.*} $line -> \ + name version]} { + } + if {[regexp {

\s*([^-]*)\s*-\s*(.*)} $line -> - title]} { + lappend manuals [list $name $name $version $title [file tail $docfile]] + break + } + } + close $fd +} + +foreach docfile [glob -nocomplain -directory $cdocdir *.html] { + puts stderr $docfile + + if {[catch {set fd [open $docfile]} msg]} { + puts stderr "Can't open file $docfile: $msg" + continue + } + + while {[gets $fd line] >= 0} { + if {[regexp {\s*(\S*)\s*-\s*(.*?)\.?} $line -> \ + name title]} { + lappend capi_manuals [list $name $name $title [file tail $docfile]] + break + } + } + close $fd +} + +puts " + +Tcl Trf HTML Documentation + + + +

Tcl Trf HTML Documentation

+

Trf transformer commands

+
    " + +set manuals [lsort -index 0 $manuals] +foreach m $manuals { + set name [lindex $m 1] + set version [lindex $m 2] + set title [lindex $m 3] + set fname [lindex $m 4] + + puts "
  • $name ($version): $title
  • " +} +puts "
+

Trf C API

+
    " + +set manuals [lsort -index 0 $capi_manuals] +foreach m $manuals { + set name [lindex $m 1] + set title [lindex $m 2] + set fname [lindex $m 3] + + puts "
  • $name: $title
  • " +} + +puts "
+ +" + --- tcltrf-2.1.4-dfsg2.orig/debian/patches/series +++ tcltrf-2.1.4-dfsg2/debian/patches/series @@ -0,0 +1,8 @@ +crypt.diff +bzip2.diff +static.diff +ssl_static.diff +haval-1.1.diff +haval.diff +configure.diff +md2.diff --- tcltrf-2.1.4-dfsg2.orig/debian/patches/md2.diff +++ tcltrf-2.1.4-dfsg2/debian/patches/md2.diff @@ -0,0 +1,266 @@ +Description: Patch reimplements MD2 hash because it was removed from + the OpenSSL implementation which was used in Trf. The actual + implementation is borrowed from Heimdal (http://www.h5l.org/) +Author: Sergei Golovan + +--- tcltrf-2.1.4-dfsg.orig/configure.in ++++ tcltrf-2.1.4-dfsg/configure.in +@@ -89,6 +89,8 @@ + TEA_ADD_SOURCES([rmd160.c rmd128.c]) + TEA_ADD_SOURCES([otpmd5.c otpsha1.c]) + ++TEA_ADD_SOURCES([md2d.c]) ++ + TEA_ADD_SOURCES([rs_ecc.c]) + TEA_ADD_SOURCES([zip_opt.c zip.c bz2_opt.c bz2.c]) + +--- tcltrf-2.1.4-dfsg.orig/configure ++++ tcltrf-2.1.4-dfsg/configure +@@ -7114,6 +7114,42 @@ + + + ++ vars="md2d.c" ++ for i in $vars; do ++ case $i in ++ \$*) ++ # allow $-var names ++ PKG_SOURCES="$PKG_SOURCES $i" ++ PKG_OBJECTS="$PKG_OBJECTS $i" ++ ;; ++ *) ++ # check for existence - allows for generic/win/unix VPATH ++ # To add more dirs here (like 'src'), you have to update VPATH ++ # in Makefile.in as well ++ if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \ ++ -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \ ++ ; then ++ { { echo "$as_me:$LINENO: error: could not find source file '$i'" >&5 ++echo "$as_me: error: could not find source file '$i'" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ PKG_SOURCES="$PKG_SOURCES $i" ++ # this assumes it is in a VPATH dir ++ i=`basename $i` ++ # handle user calling this before or after TEA_SETUP_COMPILER ++ if test x"${OBJEXT}" != x ; then ++ j="`echo $i | sed -e 's/\.[^.]*$//'`.${OBJEXT}" ++ else ++ j="`echo $i | sed -e 's/\.[^.]*$//'`.\${OBJEXT}" ++ fi ++ PKG_OBJECTS="$PKG_OBJECTS $j" ++ ;; ++ esac ++ done ++ ++ ++ ++ + vars="rs_ecc.c" + for i in $vars; do + case $i in +--- tcltrf-2.1.4-dfsg.orig/generic/md2d.c ++++ tcltrf-2.1.4-dfsg/generic/md2d.c +@@ -0,0 +1,137 @@ ++/* ++ * Copyright (c) 2006 Kungliga Tekniska Högskolan ++ * (Royal Institute of Technology, Stockholm, Sweden). ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * 3. Neither the name of the Institute nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ */ ++ ++/* ++ * Modified by Sergei Golovan for TclTrf Debian package ++ */ ++ ++#include ++ ++#include "md2d.h" ++ ++static const unsigned char subst[256] = { ++ 41, 46, 67, 201, 162, 216, 124, 1, 61, 54, 84, 161, 236, 240, 6, ++ 19, 98, 167, 5, 243, 192, 199, 115, 140, 152, 147, 43, 217, 188, ++ 76, 130, 202, 30, 155, 87, 60, 253, 212, 224, 22, 103, 66, 111, 24, ++ 138, 23, 229, 18, 190, 78, 196, 214, 218, 158, 222, 73, 160, 251, ++ 245, 142, 187, 47, 238, 122, 169, 104, 121, 145, 21, 178, 7, 63, ++ 148, 194, 16, 137, 11, 34, 95, 33, 128, 127, 93, 154, 90, 144, 50, ++ 39, 53, 62, 204, 231, 191, 247, 151, 3, 255, 25, 48, 179, 72, 165, ++ 181, 209, 215, 94, 146, 42, 172, 86, 170, 198, 79, 184, 56, 210, ++ 150, 164, 125, 182, 118, 252, 107, 226, 156, 116, 4, 241, 69, 157, ++ 112, 89, 100, 113, 135, 32, 134, 91, 207, 101, 230, 45, 168, 2, 27, ++ 96, 37, 173, 174, 176, 185, 246, 28, 70, 97, 105, 52, 64, 126, 15, ++ 85, 71, 163, 35, 221, 81, 175, 58, 195, 92, 249, 206, 186, 197, ++ 234, 38, 44, 83, 13, 110, 133, 40, 132, 9, 211, 223, 205, 244, 65, ++ 129, 77, 82, 106, 220, 55, 200, 108, 193, 171, 250, 36, 225, 123, ++ 8, 12, 189, 177, 74, 120, 136, 149, 139, 227, 99, 232, 109, 233, ++ 203, 213, 254, 59, 0, 29, 57, 242, 239, 183, 14, 102, 88, 208, 228, ++ 166, 119, 114, 248, 235, 117, 75, 10, 49, 68, 80, 180, 143, 237, ++ 31, 26, 219, 153, 141, 51, 159, 17, 131, 20 ++}; ++ ++void ++MD2_Init (struct md2 *m) ++{ ++ memset(m, 0, sizeof(*m)); ++} ++ ++static void ++calc(struct md2 *m, const void *v) ++{ ++ unsigned char x[48], L; ++ const unsigned char *p = v; ++ int i, j, t; ++ ++ L = m->checksum[15]; ++ for (i = 0; i < 16; i++) ++ L = m->checksum[i] ^= subst[p[i] ^ L]; ++ ++ for (i = 0; i < 16; i++) { ++ x[i] = m->state[i]; ++ x[i + 16] = p[i]; ++ x[i + 32] = x[i] ^ p[i]; ++ } ++ ++ t = 0; ++ for (i = 0; i < 18; i++) { ++ for (j = 0; j < 48; j++) ++ t = x[j] ^= subst[t]; ++ t = (t + i) & 0xff; ++ } ++ ++ memcpy(m->state, x, 16); ++ memset(x, 0, sizeof(x)); ++} ++ ++void ++MD2_Update (struct md2 *m, const void *v, size_t len) ++{ ++ size_t idx = m->len & 0xf; ++ const unsigned char *p = v; ++ ++ m->len += len; ++ if (len + idx >= 16) { ++ if (idx) { ++ memcpy(m->data + idx, p, 16 - idx); ++ calc(m, m->data); ++ p += 16; ++ len -= 16 - idx; ++ } ++ while (len >= 16) { ++ calc(m, p); ++ p += 16; ++ len -= 16; ++ } ++ idx = 0; ++ } ++ ++ memcpy(m->data + idx, p, len); ++} ++ ++void ++MD2_Final (void *res, struct md2 *m) ++{ ++ unsigned char pad[16]; ++ size_t padlen; ++ ++ padlen = 16 - (m->len % 16); ++ memset(pad, padlen, padlen); ++ ++ MD2_Update(m, pad, padlen); ++ memcpy(pad, m->checksum, 16); ++ MD2_Update(m, pad, 16); ++ ++ memcpy(res, m->state, MD2_DIGEST_LENGTH); ++ memset(m, 0, sizeof(m)); ++} +--- tcltrf-2.1.4-dfsg.orig/generic/md2d.h ++++ tcltrf-2.1.4-dfsg/generic/md2d.h +@@ -0,0 +1,62 @@ ++/* ++ * Copyright (c) 2006 Kungliga Tekniska Högskolan ++ * (Royal Institute of Technology, Stockholm, Sweden). ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * 3. Neither the name of the Institute nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ */ ++ ++/* ++ * Modified by Sergei Golovan for TclTrf Debian package ++ */ ++ ++/* $Id$ */ ++ ++#ifndef HEIM_MD2_H ++#define HEIM_MD2_H 1 ++ ++/* ++ * ++ */ ++ ++#define MD2_DIGEST_LENGTH 16 ++ ++struct md2 { ++ size_t len; ++ unsigned char data[16]; /* stored unalligned data between Update's */ ++ unsigned char checksum[16]; ++ unsigned char state[16]; /* lower 16 bytes of X */ ++}; ++ ++typedef struct md2 MD2_CTX; ++ ++void MD2_Init (struct md2 *m); ++void MD2_Update (struct md2 *m, const void *p, size_t len); ++void MD2_Final (void *res, struct md2 *m); ++ ++#endif /* HEIM_MD2_H */ --- tcltrf-2.1.4-dfsg2.orig/debian/patches/configure.diff +++ tcltrf-2.1.4-dfsg2/debian/patches/configure.diff @@ -0,0 +1,25 @@ +Patch fixes build on hurd-i386, kfreebsd-i386 and kfreebsd-amd64 +atchitectures. + +--- tcltrf-2.1.4-dfsg.orig/configure ++++ tcltrf-2.1.4-dfsg/configure +@@ -10773,7 +10773,7 @@ + fi + + ;; +- Linux*) ++ Linux*|GNU*) + SHLIB_CFLAGS="-fPIC" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" +--- tcltrf-2.1.4-dfsg.orig/tclconfig/tcl.m4 ++++ tcltrf-2.1.4-dfsg/tclconfig/tcl.m4 +@@ -1574,7 +1574,7 @@ + ]) + ]) + ;; +- Linux*) ++ Linux*|GNU*) + SHLIB_CFLAGS="-fPIC" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" --- tcltrf-2.1.4-dfsg2.orig/debian/patches/crypt.diff +++ tcltrf-2.1.4-dfsg2/debian/patches/crypt.diff @@ -0,0 +1,86 @@ +Patch limits salt for crypt command by two bytes, and for md5crypt +by eight bytes (instead of two). Also, it retains $1$ magic prefix +in md5crypt command result. + +--- tcltrf-2.1.4-dfsg.orig/generic/crypt.c ++++ tcltrf-2.1.4-dfsg/generic/crypt.c +@@ -70,6 +70,7 @@ + #else + const char* passwd; + const char* salt; ++ char salt_b [3]; + Tcl_Obj* res; + + if (objc != 3) { +@@ -82,11 +83,17 @@ + passwd = Tcl_GetStringFromObj (objv [1], NULL); + salt = Tcl_GetStringFromObj (objv [2], NULL); + ++ /* 1) We need only the first two bytes of salt; ++ * 2) Avoiding use of md5_crypt if salt starts with $1$ (as in glibc) */ ++ salt_b [0] = salt [0]; ++ salt_b [1] = salt [1]; ++ salt_b [2] = '\0'; ++ + /* THREADING: Serialize access to result string of 'crypt'. + */ + + TrfLock; +- res = Tcl_NewStringObj ((char*) crypt (passwd, salt), -1); ++ res = Tcl_NewStringObj ((char*) crypt (passwd, salt_b), -1); + TrfUnlock; + + Tcl_SetObjResult (interp, res); +@@ -124,7 +131,7 @@ + + const char* passwd; + const char* salt; +- char salt_b [6]; ++ char salt_b [12]; + Tcl_Obj* res; + + if (TrfLoadMD5 (interp) != TCL_OK) { +@@ -152,13 +159,19 @@ + salt_b [2] = '$'; + salt_b [3] = salt [0]; + salt_b [4] = salt [1]; +- salt_b [5] = '\0'; ++ salt_b [5] = salt [2]; ++ salt_b [6] = salt [3]; ++ salt_b [7] = salt [4]; ++ salt_b [8] = salt [5]; ++ salt_b [9] = salt [6]; ++ salt_b [10] = salt [7]; ++ salt_b [11] = '\0'; + + /* THREADING: Serialize access to result string of 'md5f.crypt'. + */ + + TrfLock; +- res = Tcl_NewStringObj ((char*) md5f.crypt (passwd, salt_b) + 3, -1); ++ res = Tcl_NewStringObj ((char*) md5f.crypt (passwd, salt_b), -1); + TrfUnlock; + + Tcl_SetObjResult (interp, res); +--- tcltrf-2.1.4-dfsg.orig/md5-crypt/trf_crypt.h ++++ tcltrf-2.1.4-dfsg/md5-crypt/trf_crypt.h +@@ -28,7 +28,7 @@ + #include + + /* Encrypt at most 8 characters from KEY using salt to perturb DES. */ +-extern char *crypt _ANSI_ARGS_ ((CONST char *__key, CONST char *__salt)); ++extern char *crypt_md5 _ANSI_ARGS_ ((CONST char *__key, CONST char *__salt)); + + + /* Reentrant versions of the functions above. The additional argument +--- tcltrf-2.1.2~20071113.orig/md5-crypt/crypt-entry.c ++++ tcltrf-2.1.2~20071113/md5-crypt/crypt-entry.c +@@ -70,7 +70,7 @@ + + /* The same here, only we call the non-reentrant version. */ + char * +-crypt (key, salt) ++crypt_md5 (key, salt) + const char *key; + const char *salt; + { --- tcltrf-2.1.4-dfsg2.orig/debian/patches/haval.diff +++ tcltrf-2.1.4-dfsg2/debian/patches/haval.diff @@ -0,0 +1,182 @@ +Patch adds modifications by Andreas Kupries to HAVAL message digest library; +and switches tcltrf to use haval-1.1 subdirectory instead of haval.1996. + +--- tcltrf-2.1.4-dfsg.orig/generic/haval.c ++++ tcltrf-2.1.4-dfsg/generic/haval.c +@@ -28,7 +28,7 @@ + */ + + #include "transformInt.h" +-#include "haval.1996/haval.h" ++#include "haval-1.1/haval.h" + + /* + * Generator description +@@ -204,4 +204,4 @@ + * External code from here on. + */ + +-#include "haval.1996/haval.c" /* THREADING: import of one constant var, read-only => safe */ ++#include "haval-1.1/haval.c" /* THREADING: import of one constant var, read-only => safe */ +--- tcltrf-2.1.4-dfsg.orig/generic/haval-1.1/havalapp.h ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/havalapp.h +@@ -60,11 +60,19 @@ + * FPTLEN define the length of a fingerprint (128, 160, 192, 224 or 256) + */ + +-#include "config.h" ++/* #include "config.h" -- Sergei Golovan */ + +-#ifdef THIS_IS_JUST_A_DUMMY_DIRECTIVE ++/* #ifdef THIS_IS_JUST_A_DUMMY_DIRECTIVE -- Sergei Golovan */ + +-#undef LITTLE_ENDIAN ++/*#undef LITTLE_ENDIAN -- aku */ ++ ++/* aku -- use configure of Tcl-TRF */ ++#ifdef WORDS_BIGENDIAN ++#undef LITTLE_ENDIAN ++#else ++#undef LITTLE_ENDIAN ++#define LITTLE_ENDIAN ++#endif + + #ifndef PASS + #define PASS 3 /* 3, 4, or 5 */ +@@ -75,6 +83,6 @@ + #define FPTLEN 256 /* 128, 160, 192, 224 or 256 */ + #endif + +-#endif /* THIS_IS_JUST_A_DUMMY_DIRECTIVE */ ++/* #endif -- Sergei Golovan */ /* THIS_IS_JUST_A_DUMMY_DIRECTIVE */ + + +--- tcltrf-2.1.4-dfsg.orig/generic/haval-1.1/haval.c ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/haval.c +@@ -76,21 +76,21 @@ + + #include + #include +-/* #include "havalapp.h" */ +-#include "config.h" ++#include "havalapp.h" /* uncommented by Sergei Golovan */ ++/* #include "config.h" -- Sergei Golovan */ + #include "haval.h" + + #define HAVAL_VERSION 1 /* current version number */ + +-void haval_string (char *, unsigned char *); /* hash a string */ +-int haval_file (char *, unsigned char *); /* hash a file */ +-void haval_stdin (void); /* hash input from stdin */ +-void haval_start (haval_state *); /* initialization */ +-void haval_hash (haval_state *, +- unsigned char *, unsigned int); /* updating routine */ +-void haval_end (haval_state *, unsigned char *); /* finalization */ +-void haval_hash_block (haval_state *); /* hash a 32-word block */ +-static void haval_tailor (haval_state *); /* folding the last output */ ++void haval_string _ANSI_ARGS_((char *, unsigned char *)); /* hash a string */ ++int haval_file _ANSI_ARGS_((char *, unsigned char *)); /* hash a file */ ++void haval_stdin _ANSI_ARGS_((void)); /* hash input from stdin */ ++void haval_start _ANSI_ARGS_((haval_state *)); /* initialization */ ++void haval_hash _ANSI_ARGS_((haval_state *, ++ unsigned char *, unsigned int)); /* updating routine */ ++void haval_end _ANSI_ARGS_((haval_state *, unsigned char *)); /* finalization */ ++void haval_hash_block _ANSI_ARGS_((haval_state *)); /* hash a 32-word block */ ++static void haval_tailor _ANSI_ARGS_((haval_state *)); /* folding the last output */ + + static unsigned char padding[128] = { /* constants for padding */ + 0x01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +@@ -103,26 +103,30 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + }; + ++/* aku, Jul 8, 1997, added () to eliminate gcc warnings: ++ * "suggest parentheses around arithmetic in operand of ^" ++ * semantics not changed! ++ */ + #define f_1(x6, x5, x4, x3, x2, x1, x0) \ +- ((x1) & ((x0) ^ (x4)) ^ (x2) & (x5) ^ \ +- (x3) & (x6) ^ (x0)) ++ (((x1) & ((x0) ^ (x4))) ^ ((x2) & (x5)) ^ \ ++ ((x3) & (x6)) ^ (x0)) + + #define f_2(x6, x5, x4, x3, x2, x1, x0) \ +- ((x2) & ((x1) & ~(x3) ^ (x4) & (x5) ^ (x6) ^ (x0)) ^ \ +- (x4) & ((x1) ^ (x5)) ^ (x3) & (x5) ^ (x0)) ++ (((x2) & (((x1) & ~(x3)) ^ ((x4) & (x5)) ^ (x6) ^ (x0))) ^ \ ++ ((x4) & ((x1) ^ (x5))) ^ ((x3) & (x5)) ^ (x0)) + + #define f_3(x6, x5, x4, x3, x2, x1, x0) \ +- ((x3) & ((x1) & (x2) ^ (x6) ^ (x0)) ^ \ +- (x1) & (x4) ^ (x2) & (x5) ^ (x0)) ++ (((x3) & (((x1) & (x2)) ^ (x6) ^ (x0))) ^ \ ++ ((x1) & (x4)) ^ ((x2) & (x5)) ^ (x0)) + + #define f_4(x6, x5, x4, x3, x2, x1, x0) \ +- ((x4) & ((x5) & ~(x2) ^ (x3) & ~(x6) ^ (x1) ^ (x6) ^ (x0)) ^ \ +- (x3) & ((x1) & (x2) ^ (x5) ^ (x6)) ^ \ +- (x2) & (x6) ^ (x0)) ++ (((x4) & (((x5) & ~(x2)) ^ ((x3) & ~(x6)) ^ (x1) ^ (x6) ^ (x0))) ^ \ ++ ((x3) & (((x1) & (x2)) ^ (x5) ^ (x6))) ^ \ ++ ((x2) & (x6)) ^ (x0)) + + #define f_5(x6, x5, x4, x3, x2, x1, x0) \ +- ((x0) & ((x1) & (x2) & (x3) ^ ~(x5)) ^ \ +- (x1) & (x4) ^ (x2) & (x5) ^ (x3) & (x6)) ++ (((x0) & (((x1) & (x2) & (x3)) ^ ~(x5))) ^ \ ++ ((x1) & (x4)) ^ ((x2) & (x5)) ^ ((x3) & (x6))) + + /* + * Permutations phi_{i,j}, i=3,4,5, j=1,...,i. +@@ -633,7 +637,9 @@ + /* tailor the last output */ + static void haval_tailor (haval_state *state) + { ++#if (FPTLEN != 224) && (FPTLEN != 256) /* aku, Jul 8, 1997, define temp only if necessary */ + haval_word temp; ++#endif + + #if FPTLEN == 128 + temp = (state->fingerprint[7] & 0x000000FFL) | +--- tcltrf-2.1.4-dfsg.orig/generic/haval-1.1/haval.h ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/haval.h +@@ -68,7 +68,16 @@ + * For a list of changes, see the ChangeLog file. + */ + ++#ifndef HAVAL_H ++#define HAVAL_H ++ ++#include /* to surely have _ANSI_ARGS_ */ ++ ++#ifdef __alpha /* aku, Sep 23, 1996 */ ++typedef unsigned int haval_word; /* a HAVAL word = 32 bits */ ++#else + typedef unsigned long int haval_word; /* a HAVAL word = 32 bits */ ++#endif + + typedef struct { + haval_word count[2]; /* number of bits in a message */ +@@ -77,13 +86,13 @@ + unsigned char remainder[32*4]; /* unhashed chars (No.<128) */ + } haval_state; + +-void haval_string (char *, unsigned char *); /* hash a string */ +-int haval_file (char *, unsigned char *); /* hash a file */ +-void haval_stdin (void); /* filter -- hash input from stdin */ +-void haval_start (haval_state *); /* initialization */ +-void haval_hash (haval_state *, unsigned char *, +- unsigned int); /* updating routine */ +-void haval_end (haval_state *, unsigned char *); /* finalization */ +-void haval_hash_block (haval_state *); /* hash a 32-word block */ +- ++void haval_string _ANSI_ARGS_((char *, unsigned char *)); /* hash a string */ ++int haval_file _ANSI_ARGS_((char *, unsigned char *)); /* hash a file */ ++void haval_stdin _ANSI_ARGS_((void)); /* filter -- hash input from stdin */ ++void haval_start _ANSI_ARGS_((haval_state *)); /* initialization */ ++void haval_hash _ANSI_ARGS_((haval_state *, unsigned char *, ++ unsigned int)); /* updating routine */ ++void haval_end _ANSI_ARGS_((haval_state *, unsigned char *)); /* finalization */ ++void haval_hash_block _ANSI_ARGS_((haval_state *)); /* hash a 32-word block */ + ++#endif /* HAVAL_H */ --- tcltrf-2.1.4-dfsg2.orig/debian/patches/haval-1.1.diff +++ tcltrf-2.1.4-dfsg2/debian/patches/haval-1.1.diff @@ -0,0 +1,9063 @@ +Patch adds HAVAL message digest implementation from +http://labs.calyptix.com/haval-1.1.tar.gz which is relicensed to +BSD license instead of removed non-free version. + +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/acinclude.m4 +@@ -0,0 +1,90 @@ ++dnl $Id: acinclude.m4,v 1.3 2003/01/20 05:44:48 lteo Exp $ ++ ++dnl acinclude.m4: self-defined m4 macros. ++dnl ++dnl Copyright (c) 2003 Calyptix Security Corporation ++dnl All rights reserved. ++dnl ++dnl Redistribution and use in source and binary forms, with or without ++dnl modification, are permitted provided that the following conditions ++dnl are met: ++dnl 1. Redistributions of source code must retain the above copyright ++dnl notice, this list of conditions and the following disclaimer. ++dnl 2. Redistributions in binary form must reproduce the above ++dnl copyright notice, this list of conditions and the following ++dnl disclaimer in the documentation and/or other materials provided ++dnl with the distribution. ++dnl 3. Neither the name of Calyptix Security Corporation nor the ++dnl names of its contributors may be used to endorse or promote ++dnl products derived from this software without specific prior ++dnl written permission. ++dnl ++dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++dnl "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++dnl LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++dnl FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++dnl COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++dnl INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++dnl BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++dnl LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++dnl CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++dnl LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++dnl ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++dnl POSSIBILITY OF SUCH DAMAGE. ++dnl ++dnl ------------------------------------------------------------------- ++ ++ ++dnl Check endianness ++AC_DEFUN(AC_CALYPTIX_ENDIAN_CHECK, ++ [AC_MSG_CHECKING(machine endianess) ++ ++ cat > conftest.c << EOF ++ /* test endianity */ ++ int main() ++ { ++ unsigned long *wp; ++ unsigned char str[[4]] = {'A', 'B', 'C', 'D'}; ++ ++ wp = (unsigned long *)str; ++ if (str[[0]] == (unsigned char)( *wp & 0xFF)) { ++ printf("L"); /* little endian */ ++ } else { ++ printf("B"); /* big endian */ ++ } ++ } ++EOF ++ ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS > /dev/null 2>&1 ++ if test ! -x conftest ; then ++dnl failed to compile for some reason ++ ac_cv_calyptix_endianess=unknown ++ else ++ ./conftest > conftest.out ++ result=`cat conftest.out` ++ if test $result = "B"; then ++ ac_cv_calyptix_endianess=big ++ elif test $result = "L"; then ++ ac_cv_calyptix_endianess=little ++ else ++ ac_cv_calyptix_endianess=unknown ++ fi ++ fi ++ rm -f conftest* core core.conftest ++ ++ AC_MSG_RESULT($ac_cv_calyptix_endianess) ++ ++ if test $ac_cv_calyptix_endianess = little ; then ++ AC_DEFINE_UNQUOTED(LITTLE_ENDIAN, 1, [Little-endian]) ++ fi ++ ++# if test $ac_cv_calyptix_endianess = big ; then ++# # AC_DEFINE(LIBNET_BIG_ENDIAN) ++# ENDIANESS="LIBNET_BIG_ENDIAN" ++# # LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_BIG_ENDIAN" ++# CFLAGS= ++# elif test $ac_cv_calyptix_endianess = lil ; then ++# # AC_DEFINE(LIBNET_LIL_ENDIAN) ++# ENDIANESS="LIBNET_LIL_ENDIAN" ++# # LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_LIL_ENDIAN" ++# fi ++ ]) +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/aclocal.m4 +@@ -0,0 +1,651 @@ ++# aclocal.m4 generated automatically by aclocal 1.5 ++ ++# Copyright 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++dnl $Id: acinclude.m4,v 1.3 2003/01/20 05:44:48 lteo Exp $ ++ ++dnl acinclude.m4: self-defined m4 macros. ++dnl ++dnl Copyright (c) 2003 Calyptix Security Corporation ++dnl All rights reserved. ++dnl ++dnl Redistribution and use in source and binary forms, with or without ++dnl modification, are permitted provided that the following conditions ++dnl are met: ++dnl 1. Redistributions of source code must retain the above copyright ++dnl notice, this list of conditions and the following disclaimer. ++dnl 2. Redistributions in binary form must reproduce the above ++dnl copyright notice, this list of conditions and the following ++dnl disclaimer in the documentation and/or other materials provided ++dnl with the distribution. ++dnl 3. Neither the name of Calyptix Security Corporation nor the ++dnl names of its contributors may be used to endorse or promote ++dnl products derived from this software without specific prior ++dnl written permission. ++dnl ++dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++dnl "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++dnl LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++dnl FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++dnl COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++dnl INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++dnl BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++dnl LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++dnl CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++dnl LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++dnl ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++dnl POSSIBILITY OF SUCH DAMAGE. ++dnl ++dnl ------------------------------------------------------------------- ++ ++ ++dnl Check endianness ++AC_DEFUN(AC_CALYPTIX_ENDIAN_CHECK, ++ [AC_MSG_CHECKING(machine endianess) ++ ++ cat > conftest.c << EOF ++ /* test endianity */ ++ int main() ++ { ++ unsigned long *wp; ++ unsigned char str[[4]] = {'A', 'B', 'C', 'D'}; ++ ++ wp = (unsigned long *)str; ++ if (str[[0]] == (unsigned char)( *wp & 0xFF)) { ++ printf("L"); /* little endian */ ++ } else { ++ printf("B"); /* big endian */ ++ } ++ } ++EOF ++ ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS > /dev/null 2>&1 ++ if test ! -x conftest ; then ++dnl failed to compile for some reason ++ ac_cv_calyptix_endianess=unknown ++ else ++ ./conftest > conftest.out ++ result=`cat conftest.out` ++ if test $result = "B"; then ++ ac_cv_calyptix_endianess=big ++ elif test $result = "L"; then ++ ac_cv_calyptix_endianess=little ++ else ++ ac_cv_calyptix_endianess=unknown ++ fi ++ fi ++ rm -f conftest* core core.conftest ++ ++ AC_MSG_RESULT($ac_cv_calyptix_endianess) ++ ++ if test $ac_cv_calyptix_endianess = little ; then ++ AC_DEFINE_UNQUOTED(LITTLE_ENDIAN, 1, [Little-endian]) ++ fi ++ ++# if test $ac_cv_calyptix_endianess = big ; then ++# # AC_DEFINE(LIBNET_BIG_ENDIAN) ++# ENDIANESS="LIBNET_BIG_ENDIAN" ++# # LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_BIG_ENDIAN" ++# CFLAGS= ++# elif test $ac_cv_calyptix_endianess = lil ; then ++# # AC_DEFINE(LIBNET_LIL_ENDIAN) ++# ENDIANESS="LIBNET_LIL_ENDIAN" ++# # LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_LIL_ENDIAN" ++# fi ++ ]) ++ ++# Like AC_CONFIG_HEADER, but automatically create stamp file. ++ ++# serial 3 ++ ++# When config.status generates a header, we must update the stamp-h file. ++# This file resides in the same directory as the config header ++# that is generated. We must strip everything past the first ":", ++# and everything past the last "/". ++ ++AC_PREREQ([2.12]) ++ ++AC_DEFUN([AM_CONFIG_HEADER], ++[ifdef([AC_FOREACH],dnl ++ [dnl init our file count if it isn't already ++ m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0])) ++ dnl prepare to store our destination file list for use in config.status ++ AC_FOREACH([_AM_File], [$1], ++ [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*])) ++ m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index)) ++ dnl and add it to the list of files AC keeps track of, along ++ dnl with our hook ++ AC_CONFIG_HEADERS(_AM_File, ++dnl COMMANDS, [, INIT-CMDS] ++[# update the timestamp ++echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index[" ++][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS ++ m4_popdef([_AM_Dest])])],dnl ++[AC_CONFIG_HEADER([$1]) ++ AC_OUTPUT_COMMANDS( ++ ifelse(patsubst([$1], [[^ ]], []), ++ [], ++ [test -z "$CONFIG_HEADERS" || echo timestamp >dnl ++ patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl ++[am_indx=1 ++for am_file in $1; do ++ case " \$CONFIG_HEADERS " in ++ *" \$am_file "*) ++ am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\` ++ if test -n "\$am_dir"; then ++ am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\` ++ for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do ++ am_tmpdir=\$am_tmpdir\$am_subdir/ ++ if test ! -d \$am_tmpdir; then ++ mkdir \$am_tmpdir ++ fi ++ done ++ fi ++ echo timestamp > "\$am_dir"stamp-h\$am_indx ++ ;; ++ esac ++ am_indx=\`expr \$am_indx + 1\` ++done]) ++])]) # AM_CONFIG_HEADER ++ ++# _AM_DIRNAME(PATH) ++# ----------------- ++# Like AS_DIRNAME, only do it during macro expansion ++AC_DEFUN([_AM_DIRNAME], ++ [m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1, ++ m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1, ++ m4_if(m4_regexp([$1], [^/.*]), -1, ++ [.], ++ m4_patsubst([$1], [^\(/\).*], [\1])), ++ m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])), ++ m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl ++]) # _AM_DIRNAME ++ ++# Do all the work for Automake. This macro actually does too much -- ++# some checks are only needed if your package does certain things. ++# But this isn't really a big deal. ++ ++# serial 5 ++ ++# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be ++# written in clear, in which case automake, when reading aclocal.m4, ++# will think it sees a *use*, and therefore will trigger all it's ++# C support machinery. Also note that it means that autoscan, seeing ++# CC etc. in the Makefile, will ask for an AC_PROG_CC use... ++ ++ ++# We require 2.13 because we rely on SHELL being computed by configure. ++AC_PREREQ([2.13]) ++ ++# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) ++# ----------------------------------------------------------- ++# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED. ++# The purpose of this macro is to provide the user with a means to ++# check macros which are provided without letting her know how the ++# information is coded. ++# If this macro is not defined by Autoconf, define it here. ++ifdef([AC_PROVIDE_IFELSE], ++ [], ++ [define([AC_PROVIDE_IFELSE], ++ [ifdef([AC_PROVIDE_$1], ++ [$2], [$3])])]) ++ ++ ++# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE]) ++# ---------------------------------------------- ++AC_DEFUN([AM_INIT_AUTOMAKE], ++[AC_REQUIRE([AC_PROG_INSTALL])dnl ++# test to see if srcdir already configured ++if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && ++ test -f $srcdir/config.status; then ++ AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first]) ++fi ++ ++# Define the identity of the package. ++PACKAGE=$1 ++AC_SUBST(PACKAGE)dnl ++VERSION=$2 ++AC_SUBST(VERSION)dnl ++ifelse([$3],, ++[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) ++AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])]) ++ ++# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow ++# the ones we care about. ++ifdef([m4_pattern_allow], ++ [m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl ++ ++# Autoconf 2.50 always computes EXEEXT. However we need to be ++# compatible with 2.13, for now. So we always define EXEEXT, but we ++# don't compute it. ++AC_SUBST(EXEEXT) ++# Similar for OBJEXT -- only we only use OBJEXT if the user actually ++# requests that it be used. This is a bit dumb. ++: ${OBJEXT=o} ++AC_SUBST(OBJEXT) ++ ++# Some tools Automake needs. ++AC_REQUIRE([AM_SANITY_CHECK])dnl ++AC_REQUIRE([AC_ARG_PROGRAM])dnl ++AM_MISSING_PROG(ACLOCAL, aclocal) ++AM_MISSING_PROG(AUTOCONF, autoconf) ++AM_MISSING_PROG(AUTOMAKE, automake) ++AM_MISSING_PROG(AUTOHEADER, autoheader) ++AM_MISSING_PROG(MAKEINFO, makeinfo) ++AM_MISSING_PROG(AMTAR, tar) ++AM_PROG_INSTALL_SH ++AM_PROG_INSTALL_STRIP ++# We need awk for the "check" target. The system "awk" is bad on ++# some platforms. ++AC_REQUIRE([AC_PROG_AWK])dnl ++AC_REQUIRE([AC_PROG_MAKE_SET])dnl ++AC_REQUIRE([AM_DEP_TRACK])dnl ++AC_REQUIRE([AM_SET_DEPDIR])dnl ++AC_PROVIDE_IFELSE([AC_PROG_][CC], ++ [_AM_DEPENDENCIES(CC)], ++ [define([AC_PROG_][CC], ++ defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl ++AC_PROVIDE_IFELSE([AC_PROG_][CXX], ++ [_AM_DEPENDENCIES(CXX)], ++ [define([AC_PROG_][CXX], ++ defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl ++]) ++ ++# ++# Check to make sure that the build environment is sane. ++# ++ ++# serial 3 ++ ++# AM_SANITY_CHECK ++# --------------- ++AC_DEFUN([AM_SANITY_CHECK], ++[AC_MSG_CHECKING([whether build environment is sane]) ++# Just in case ++sleep 1 ++echo timestamp > conftest.file ++# Do `set' in a subshell so we don't clobber the current shell's ++# arguments. Must try -L first in case configure is actually a ++# symlink; some systems play weird games with the mod time of symlinks ++# (eg FreeBSD returns the mod time of the symlink's containing ++# directory). ++if ( ++ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` ++ if test "$[*]" = "X"; then ++ # -L didn't work. ++ set X `ls -t $srcdir/configure conftest.file` ++ fi ++ rm -f conftest.file ++ if test "$[*]" != "X $srcdir/configure conftest.file" \ ++ && test "$[*]" != "X conftest.file $srcdir/configure"; then ++ ++ # If neither matched, then we have a broken ls. This can happen ++ # if, for instance, CONFIG_SHELL is bash and it inherits a ++ # broken ls alias from the environment. This has actually ++ # happened. Such a system could not be considered "sane". ++ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken ++alias in your environment]) ++ fi ++ ++ test "$[2]" = conftest.file ++ ) ++then ++ # Ok. ++ : ++else ++ AC_MSG_ERROR([newly created file is older than distributed files! ++Check your system clock]) ++fi ++AC_MSG_RESULT(yes)]) ++ ++ ++# serial 2 ++ ++# AM_MISSING_PROG(NAME, PROGRAM) ++# ------------------------------ ++AC_DEFUN([AM_MISSING_PROG], ++[AC_REQUIRE([AM_MISSING_HAS_RUN]) ++$1=${$1-"${am_missing_run}$2"} ++AC_SUBST($1)]) ++ ++ ++# AM_MISSING_HAS_RUN ++# ------------------ ++# Define MISSING if not defined so far and test if it supports --run. ++# If it does, set am_missing_run to use it, otherwise, to nothing. ++AC_DEFUN([AM_MISSING_HAS_RUN], ++[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl ++test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" ++# Use eval to expand $SHELL ++if eval "$MISSING --run true"; then ++ am_missing_run="$MISSING --run " ++else ++ am_missing_run= ++ am_backtick='`' ++ AC_MSG_WARN([${am_backtick}missing' script is too old or missing]) ++fi ++]) ++ ++# AM_AUX_DIR_EXPAND ++ ++# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets ++# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to ++# `$srcdir', `$srcdir/..', or `$srcdir/../..'. ++# ++# Of course, Automake must honor this variable whenever it calls a ++# tool from the auxiliary directory. The problem is that $srcdir (and ++# therefore $ac_aux_dir as well) can be either absolute or relative, ++# depending on how configure is run. This is pretty annoying, since ++# it makes $ac_aux_dir quite unusable in subdirectories: in the top ++# source directory, any form will work fine, but in subdirectories a ++# relative path needs to be adjusted first. ++# ++# $ac_aux_dir/missing ++# fails when called from a subdirectory if $ac_aux_dir is relative ++# $top_srcdir/$ac_aux_dir/missing ++# fails if $ac_aux_dir is absolute, ++# fails when called from a subdirectory in a VPATH build with ++# a relative $ac_aux_dir ++# ++# The reason of the latter failure is that $top_srcdir and $ac_aux_dir ++# are both prefixed by $srcdir. In an in-source build this is usually ++# harmless because $srcdir is `.', but things will broke when you ++# start a VPATH build or use an absolute $srcdir. ++# ++# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, ++# iff we strip the leading $srcdir from $ac_aux_dir. That would be: ++# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` ++# and then we would define $MISSING as ++# MISSING="\${SHELL} $am_aux_dir/missing" ++# This will work as long as MISSING is not called from configure, because ++# unfortunately $(top_srcdir) has no meaning in configure. ++# However there are other variables, like CC, which are often used in ++# configure, and could therefore not use this "fixed" $ac_aux_dir. ++# ++# Another solution, used here, is to always expand $ac_aux_dir to an ++# absolute PATH. The drawback is that using absolute paths prevent a ++# configured tree to be moved without reconfiguration. ++ ++AC_DEFUN([AM_AUX_DIR_EXPAND], [ ++# expand $ac_aux_dir to an absolute path ++am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` ++]) ++ ++# AM_PROG_INSTALL_SH ++# ------------------ ++# Define $install_sh. ++AC_DEFUN([AM_PROG_INSTALL_SH], ++[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl ++install_sh=${install_sh-"$am_aux_dir/install-sh"} ++AC_SUBST(install_sh)]) ++ ++# One issue with vendor `install' (even GNU) is that you can't ++# specify the program used to strip binaries. This is especially ++# annoying in cross-compiling environments, where the build's strip ++# is unlikely to handle the host's binaries. ++# Fortunately install-sh will honor a STRIPPROG variable, so we ++# always use install-sh in `make install-strip', and initialize ++# STRIPPROG with the value of the STRIP variable (set by the user). ++AC_DEFUN([AM_PROG_INSTALL_STRIP], ++[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl ++INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" ++AC_SUBST([INSTALL_STRIP_PROGRAM])]) ++ ++# serial 4 -*- Autoconf -*- ++ ++ ++ ++# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be ++# written in clear, in which case automake, when reading aclocal.m4, ++# will think it sees a *use*, and therefore will trigger all it's ++# C support machinery. Also note that it means that autoscan, seeing ++# CC etc. in the Makefile, will ask for an AC_PROG_CC use... ++ ++ ++ ++# _AM_DEPENDENCIES(NAME) ++# --------------------- ++# See how the compiler implements dependency checking. ++# NAME is "CC", "CXX" or "OBJC". ++# We try a few techniques and use that to set a single cache variable. ++# ++# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was ++# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular ++# dependency, and given that the user is not expected to run this macro, ++# just rely on AC_PROG_CC. ++AC_DEFUN([_AM_DEPENDENCIES], ++[AC_REQUIRE([AM_SET_DEPDIR])dnl ++AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl ++AC_REQUIRE([AM_MAKE_INCLUDE])dnl ++AC_REQUIRE([AM_DEP_TRACK])dnl ++ ++ifelse([$1], CC, [depcc="$CC" am_compiler_list=], ++ [$1], CXX, [depcc="$CXX" am_compiler_list=], ++ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'] ++ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], ++ [depcc="$$1" am_compiler_list=]) ++ ++AC_CACHE_CHECK([dependency style of $depcc], ++ [am_cv_$1_dependencies_compiler_type], ++[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named `D' -- because `-MD' means `put the output ++ # in D'. ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ ++ am_cv_$1_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` ++ fi ++ for depmode in $am_compiler_list; do ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ echo '#include "conftest.h"' > conftest.c ++ echo 'int i;' > conftest.h ++ echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf ++ ++ case $depmode in ++ nosideeffect) ++ # after this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ none) break ;; ++ esac ++ # We check with `-c' and `-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle `-M -o', and we need to detect this. ++ if depmode=$depmode \ ++ source=conftest.c object=conftest.o \ ++ depfile=conftest.Po tmpdepfile=conftest.TPo \ ++ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && ++ grep conftest.h conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ am_cv_$1_dependencies_compiler_type=$depmode ++ break ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_$1_dependencies_compiler_type=none ++fi ++]) ++$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type" ++AC_SUBST([$1DEPMODE]) ++]) ++ ++ ++# AM_SET_DEPDIR ++# ------------- ++# Choose a directory name for dependency files. ++# This macro is AC_REQUIREd in _AM_DEPENDENCIES ++AC_DEFUN([AM_SET_DEPDIR], ++[rm -f .deps 2>/dev/null ++mkdir .deps 2>/dev/null ++if test -d .deps; then ++ DEPDIR=.deps ++else ++ # MS-DOS does not allow filenames that begin with a dot. ++ DEPDIR=_deps ++fi ++rmdir .deps 2>/dev/null ++AC_SUBST(DEPDIR) ++]) ++ ++ ++# AM_DEP_TRACK ++# ------------ ++AC_DEFUN([AM_DEP_TRACK], ++[AC_ARG_ENABLE(dependency-tracking, ++[ --disable-dependency-tracking Speeds up one-time builds ++ --enable-dependency-tracking Do not reject slow dependency extractors]) ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++fi ++AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) ++pushdef([subst], defn([AC_SUBST])) ++subst(AMDEPBACKSLASH) ++popdef([subst]) ++]) ++ ++# Generate code to set up dependency tracking. ++# This macro should only be invoked once -- use via AC_REQUIRE. ++# Usage: ++# AM_OUTPUT_DEPENDENCY_COMMANDS ++ ++# ++# This code is only required when automatic dependency tracking ++# is enabled. FIXME. This creates each `.P' file that we will ++# need in order to bootstrap the dependency handling code. ++AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[ ++AC_OUTPUT_COMMANDS([ ++test x"$AMDEP_TRUE" != x"" || ++for mf in $CONFIG_FILES; do ++ case "$mf" in ++ Makefile) dirpart=.;; ++ */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; ++ *) continue;; ++ esac ++ grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue ++ # Extract the definition of DEP_FILES from the Makefile without ++ # running `make'. ++ DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ # When using ansi2knr, U may be empty or an underscore; expand it ++ U=`sed -n -e '/^U = / s///p' < "$mf"` ++ test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" ++ # We invoke sed twice because it is the simplest approach to ++ # changing $(DEPDIR) to its actual value in the expansion. ++ for file in `sed -n -e ' ++ /^DEP_FILES = .*\\\\$/ { ++ s/^DEP_FILES = // ++ :loop ++ s/\\\\$// ++ p ++ n ++ /\\\\$/ b loop ++ p ++ } ++ /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`echo "$file" | sed -e 's|/[^/]*$||'` ++ $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++done ++], [AMDEP_TRUE="$AMDEP_TRUE" ++ac_aux_dir="$ac_aux_dir"])]) ++ ++# AM_MAKE_INCLUDE() ++# ----------------- ++# Check to see how make treats includes. ++AC_DEFUN([AM_MAKE_INCLUDE], ++[am_make=${MAKE-make} ++cat > confinc << 'END' ++doit: ++ @echo done ++END ++# If we don't find an include directive, just comment out the code. ++AC_MSG_CHECKING([for style of include used by $am_make]) ++am__include='#' ++am__quote= ++_am_result=none ++# First try GNU make style include. ++echo "include confinc" > confmf ++# We grep out `Entering directory' and `Leaving directory' ++# messages which can occur if `w' ends up in MAKEFLAGS. ++# In particular we don't look at `^make:' because GNU make might ++# be invoked under some other name (usually "gmake"), in which ++# case it prints its new name instead of `make'. ++if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then ++ am__include=include ++ am__quote= ++ _am_result=GNU ++fi ++# Now try BSD make style include. ++if test "$am__include" = "#"; then ++ echo '.include "confinc"' > confmf ++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then ++ am__include=.include ++ am__quote='"' ++ _am_result=BSD ++ fi ++fi ++AC_SUBST(am__include) ++AC_SUBST(am__quote) ++AC_MSG_RESULT($_am_result) ++rm -f confinc confmf ++]) ++ ++# serial 3 ++ ++# AM_CONDITIONAL(NAME, SHELL-CONDITION) ++# ------------------------------------- ++# Define a conditional. ++# ++# FIXME: Once using 2.50, use this: ++# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl ++AC_DEFUN([AM_CONDITIONAL], ++[ifelse([$1], [TRUE], ++ [errprint(__file__:__line__: [$0: invalid condition: $1 ++])dnl ++m4exit(1)])dnl ++ifelse([$1], [FALSE], ++ [errprint(__file__:__line__: [$0: invalid condition: $1 ++])dnl ++m4exit(1)])dnl ++AC_SUBST([$1_TRUE]) ++AC_SUBST([$1_FALSE]) ++if $2; then ++ $1_TRUE= ++ $1_FALSE='#' ++else ++ $1_TRUE='#' ++ $1_FALSE= ++fi]) ++ +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/cert.data +@@ -0,0 +1,166 @@ ++ ++HAVAL certification data (PASS=3, FPTLEN=128): ++HAVAL("") = C68F39913F901F3DDF44C707357A7D70 ++HAVAL("a") = 0CD40739683E15F01CA5DBCEEF4059F1 ++HAVAL("HAVAL") = DC1F3C893D17CC4EDD9AE94AF76A0AF0 ++HAVAL("0123456789") = D4BE2164EF387D9F4D46EA8EFB180CF5 ++HAVAL("abcdefghijklmnopqrstuvwxyz") = DC502247FB3EB8376109EDA32D361D82 ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = DE5EB3F7D9EB08FAE7A07D68E3047EC6 ++HAVAL(File pi.frac) = 78DF3722C78E040D22A63355500803F8 ++ ++ ++HAVAL certification data (PASS=3, FPTLEN=160): ++HAVAL("") = D353C3AE22A25401D257643836D7231A9A95F953 ++HAVAL("a") = 4DA08F514A7275DBC4CECE4A347385983983A830 ++HAVAL("HAVAL") = 8822BC6F3E694E73798920C77CE3245120DD8214 ++HAVAL("0123456789") = BE68981EB3EBD3F6748B081EE5D4E1818F9BA86C ++HAVAL("abcdefghijklmnopqrstuvwxyz") = EBA9FA6050F24C07C29D1834A60900EA4E32E61B ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = 97DC988D97CAAE757BE7523C4E8D4EA63007A4B9 ++HAVAL(File pi.frac) = A3A5D4AE1BADFB2435ECC4CAB92B012DB24874C1 ++ ++ ++HAVAL certification data (PASS=3, FPTLEN=192): ++HAVAL("") = E9C48D7903EAF2A91C5B350151EFCB175C0FC82DE2289A4E ++HAVAL("a") = B359C8835647F5697472431C142731FF6E2CDDCACC4F6E08 ++HAVAL("HAVAL") = 8DA26DDAB4317B392B22B638998FE65B0FBE4610D345CF89 ++HAVAL("0123456789") = DE561F6D818A760D65BDD2823ABE79CDD97E6CFA4021B0C8 ++HAVAL("abcdefghijklmnopqrstuvwxyz") = A25E1456E6863E7D7C74017BB3E098E086AD4BE0580D7056 ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = DEF6653091E3005B43A61681014A066CD189009D00856EE7 ++HAVAL(File pi.frac) = 8E7A13CB0D4D6FEE34976E81392DC71E747B9B49638F7A17 ++ ++ ++HAVAL certification data (PASS=3, FPTLEN=224): ++HAVAL("") = C5AAE9D47BFFCAAF84A8C6E7CCACD60A0DD1932BE7B1A192B9214B6D ++HAVAL("a") = 731814BA5605C59B673E4CAAE4AD28EEB515B3ABC2B198336794E17B ++HAVAL("HAVAL") = AD33E0596C575D7175E9F72361CA767C89E46E2609D88E719EE69AAA ++HAVAL("0123456789") = EE345C97A58190BF0F38BF7CE890231AA5FCF9862BF8E7BEBBF76789 ++HAVAL("abcdefghijklmnopqrstuvwxyz") = 06AE38EBC43DB58BD6B1D477C7B4E01B85A1E7B19B0BD088E33B58D1 ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = 939F7ED7801C1CE4B32BC74A4056EEE6081C999ED246907ADBA880A7 ++HAVAL(File pi.frac) = C5C22E1A463BDD61823B68B0BD04E75ED41189D60F91628354D88913 ++ ++ ++HAVAL certification data (PASS=3, FPTLEN=256): ++HAVAL("") = 4F6938531F0BC8991F62DA7BBD6F7DE3FAD44562B8C6F4EBF146D5B4E46F7C17 ++HAVAL("a") = 47C838FBB4081D9525A0FF9B1E2C05A98F625714E72DB289010374E27DB021D8 ++HAVAL("HAVAL") = 91850C6487C9829E791FC5B58E98E372F3063256BB7D313A93F1F83B426AEDCC ++HAVAL("0123456789") = 63238D99C02BE18C3C5DB7CCE8432F51329012C228CCC17EF048A5D0FD22D4AE ++HAVAL("abcdefghijklmnopqrstuvwxyz") = 72FAD4BDE1DA8C8332FB60561A780E7F504F21547B98686824FC33FC796AFA76 ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = 899397D96489281E9E76D5E65ABAB751F312E06C06C07C9C1D42ABD31BB6A404 ++HAVAL(File pi.frac) = DC2E548796DDA1BD4D575B2249BFBC59BE2902B1DA045F88891DEB43369D0CFD ++ ++ ++HAVAL certification data (PASS=4, FPTLEN=128): ++HAVAL("") = EE6BBF4D6A46A679B3A856C88538BB98 ++HAVAL("a") = 5CD07F03330C3B5020B29BA75911E17D ++HAVAL("HAVAL") = 958195D3DAC591030EAA0292A37A0CF2 ++HAVAL("0123456789") = 2215D3702A80025C858062C53D76CBE5 ++HAVAL("abcdefghijklmnopqrstuvwxyz") = B2A73B99775FFB17CD8781B85EC66221 ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = CAD57C0563BDA208D66BB89EB922E2A2 ++HAVAL(File pi.frac) = 10A3B1BAA6C34BDD72CA03D9855BEE19 ++ ++ ++HAVAL certification data (PASS=4, FPTLEN=160): ++HAVAL("") = 1D33AAE1BE4146DBAACA0B6E70D7A11F10801525 ++HAVAL("a") = E0A5BE29627332034D4DD8A910A1A0E6FE04084D ++HAVAL("HAVAL") = 221BA4DD206172F12C2EBA3295FDE08D25B2F982 ++HAVAL("0123456789") = E387C743D14DF304CE5C7A552F4C19CA9B8E741C ++HAVAL("abcdefghijklmnopqrstuvwxyz") = 1C7884AF86D11AC120FE5DF75CEE792D2DFA48EF ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = 148334AAD24B658BDC946C521CDD2B1256608C7B ++HAVAL(File pi.frac) = 2983B32D6B0B76498BD6D94966BBF1A16D87DA13 ++ ++ ++HAVAL certification data (PASS=4, FPTLEN=192): ++HAVAL("") = 4A8372945AFA55C7DEAD800311272523CA19D42EA47B72DA ++HAVAL("a") = 856C19F86214EA9A8A2F0C4B758B973CCE72A2D8FF55505C ++HAVAL("HAVAL") = 0C1396D7772689C46773F3DAACA4EFA982ADBFB2F1467EEA ++HAVAL("0123456789") = C3A5420BB9D7D82A168F6624E954AAA9CDC69FB0F67D785E ++HAVAL("abcdefghijklmnopqrstuvwxyz") = 2E2E581D725E799FDA1948C75E85A28CFE1CF0C6324A1ADA ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = E5C9F81AE0B31FC8780FC37CB63BB4EC96496F79A9B58344 ++HAVAL(File pi.frac) = 7714262AD7D5E7ACE5F38E2F5AA16DBD61788E0F950C4DB8 ++ ++ ++HAVAL certification data (PASS=4, FPTLEN=224): ++HAVAL("") = 3E56243275B3B81561750550E36FCD676AD2F5DD9E15F2E89E6ED78E ++HAVAL("a") = 742F1DBEEAF17F74960558B44F08AA98BDC7D967E6C0AB8F799B3AC1 ++HAVAL("HAVAL") = 85538FFC06F3B1C693C792C49175639666F1DDE227DA8BD000C1E6B4 ++HAVAL("0123456789") = BEBD7816F09BAEECF8903B1B9BC672D9FA428E462BA699F814841529 ++HAVAL("abcdefghijklmnopqrstuvwxyz") = A0AC696CDB2030FA67F6CC1D14613B1962A7B69B4378A9A1B9738796 ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = 3E63C95727E0CD85D42034191314401E42AB9063A94772647E3E8E0F ++HAVAL(File pi.frac) = 2491A1689A35DFE63C4B4F6810E676133F44412C5ADC959478DDB9F8 ++ ++ ++HAVAL certification data (PASS=4, FPTLEN=256): ++HAVAL("") = C92B2E23091E80E375DADCE26982482D197B1A2521BE82DA819F8CA2C579B99B ++HAVAL("a") = E686D2394A49B44D306ECE295CF9021553221DB132B36CC0FF5B593D39295899 ++HAVAL("HAVAL") = E20643CFA66F5BE2145D13ED09C2FF622B3F0DA426A693FA3B3E529CA89E0D3C ++HAVAL("0123456789") = ACE5D6E5B155F7C9159F6280327B07CBD4FF54143DC333F0582E9BCEB895C05D ++HAVAL("abcdefghijklmnopqrstuvwxyz") = 124F6EB645DC407637F8F719CC31250089C89903BF1DB8FAC21EA4614DF4E99A ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = 46A3A1DFE867EDE652425CCD7FE8006537EAD26372251686BEA286DA152DC35A ++HAVAL(File pi.frac) = E8162C7F8A83FF15549CD84B991333A5B3851A0FC600B513B25B69EC17B58AFC ++ ++ ++ ++HAVAL certification data (PASS=5, FPTLEN=128): ++HAVAL("") = 184B8482A0C050DCA54B59C7F05BF5DD ++HAVAL("a") = F23FBE704BE8494BFA7A7FB4F8AB09E5 ++HAVAL("HAVAL") = C97990F4FCC8FBA76AF935C405995355 ++HAVAL("0123456789") = 466FDCD81C3477CAC6A31FFA1C999CA8 ++HAVAL("abcdefghijklmnopqrstuvwxyz") = 0EFFF71D7D14344CBA1F4B25F924A693 ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = 4B27D04DDB516BDCDFEB96EB8C7C8E90 ++HAVAL(File pi.frac) = 7BCF71603BA4B06DA1807B3553A32A9D ++ ++ ++HAVAL certification data (PASS=5, FPTLEN=160): ++HAVAL("") = 255158CFC1EED1A7BE7C55DDD64D9790415B933B ++HAVAL("a") = F5147DF7ABC5E3C81B031268927C2B5761B5A2B5 ++HAVAL("HAVAL") = 7730CA184CEA2272E88571A7D533E035F33B1096 ++HAVAL("0123456789") = 41CC7C1267E88CEF0BB93697D0B6C8AFE59061E6 ++HAVAL("abcdefghijklmnopqrstuvwxyz") = 917836A9D27EED42D406F6002E7D11A0F87C404C ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = 6DDBDE98EA1C4F8C7F360FB9163C7C952680AA70 ++HAVAL(File pi.frac) = 6B20574F400699BE71CBFDBD9FEE4BB922FEDF8C ++ ++ ++HAVAL certification data (PASS=5, FPTLEN=192): ++HAVAL("") = 4839D0626F95935E17EE2FC4509387BBE2CC46CB382FFE85 ++HAVAL("a") = 5FFA3B3548A6E2CFC06B7908CEB5263595DF67CF9C4B9341 ++HAVAL("HAVAL") = 794A896D1780B76E2767CC4011BAD8885D5CE6BD835A71B8 ++HAVAL("0123456789") = A0B635746E6CFFFFD4B4A503620FEF1040C6C0C5C326476E ++HAVAL("abcdefghijklmnopqrstuvwxyz") = 85F1F1C0ECA04330CF2DE5C8C83CF85A611B696F793284DE ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = D651C8AC45C9050810D9FD64FC919909900C4664BE0336D0 ++HAVAL(File pi.frac) = 4F656849D05EFC42EAF3C603DB4435DDCED1985297070A47 ++ ++ ++HAVAL certification data (PASS=5, FPTLEN=224): ++HAVAL("") = 4A0513C032754F5582A758D35917AC9ADF3854219B39E3AC77D1837E ++HAVAL("a") = 67B3CB8D4068E3641FA4F156E03B52978B421947328BFB9168C7655D ++HAVAL("HAVAL") = 9D7AE77B8C5C8C1C0BA854EBE3B2673C4163CFD304AD7CD527CE0C82 ++HAVAL("0123456789") = 59836D19269135BC815F37B2AEB15F894B5435F2C698D57716760F2B ++HAVAL("abcdefghijklmnopqrstuvwxyz") = 1B360ACFF7806502B5D40C71D237CC0C40343D2000AE2F65CF487C94 ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = 180AED7F988266016719F60148BA2C9B4F5EC3B9758960FC735DF274 ++HAVAL(File pi.frac) = 76A6D848358C9883BB28CA358A34558CD13FD9EC5DFDF7DBBCBF629B ++ ++ ++HAVAL certification data (PASS=5, FPTLEN=256): ++HAVAL("") = BE417BB4DD5CFB76C7126F4F8EEB1553A449039307B1A3CD451DBFDC0FBBE330 ++HAVAL("a") = DE8FD5EE72A5E4265AF0A756F4E1A1F65C9B2B2F47CF17ECF0D1B88679A3E22F ++HAVAL("HAVAL") = 153D2C81CD3C24249AB7CD476934287AF845AF37F53F51F5C7E2BE99BA28443F ++HAVAL("0123456789") = 357E2032774ABBF5F04D5F1DEC665112EA03B23E6E00425D0DF75EA155813126 ++HAVAL("abcdefghijklmnopqrstuvwxyz") = C9C7D8AFA159FD9E965CB83FF5EE6F58AEDA352C0EFF005548153A61551C38EE ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = B45CB6E62F2B1320E4F8F1B0B273D45ADD47C321FD23999DCF403AC37636D963 ++HAVAL(File pi.frac) = AABF0B45AC4A4E84268F50ABCC3EF3806BCC9860EA6A92425F537C46A957963A ++ +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/ChangeLog +@@ -0,0 +1,115 @@ ++2003-01-21 Lawrence Teo ++ ++ * Makefile.am (EXTRA_DIST): Distribute haval-paper.pdf and not ++ haval.ps. ++ ++2003-01-20 Lawrence Teo ++ ++ * All source files: Added/updated preambles to reflect new license. ++ ++2003-01-19 Lawrence Teo ++ ++ * Repackaged for Calyptix Security Corporation. ++ * Relicensed under the BSD license. ++ * Created this ChangeLog. ++ * TODO: Added. To-do list. ++ * COPYING.BSD: Added. The BSD license. ++ * INSTALL: Added. Build and installation instructions. ++ * Used GNU autoconf and automake to facilitate project management. ++ * Tested compilation with Debian GNU/Linux 3.0/x86, Red Hat ++ Linux 8.0/x86, OpenBSD 3.0/x86, and Solaris 8/SPARC, ++ * configure.in: Added. ++ * Makefile.am: Added. Forced -Wall switch to gcc, so that all ++ warnings are displayed. ++ * acinclude.m4: Added. Self-defined m4 macros. ++ * bootstrap: Added. Bootstraps the project by invoking the ++ autotools. ++ * configure.in: Enabled the user to specify number of passes with ++ the --with-num-passes switch to the configure switch, e.g. ++ ./configure --with-num-passes=3 ++ * configure.in: Enabled fingerprint length to be specified ++ using --with-fpt-len. ++ * configure.in: Enabled number of test blocks to be specified ++ using --with-test-blocks. ++ * configure.in: Enabled test block size to be specified using ++ --with-block-size. ++ * configure.in: Preliminary check for endianness, so that user ++ does not have to define/undefine LITTLE_ENDIAN manually. Still ++ needs more work, since LITTLE_ENDIAN exists in ++ /usr/include/endian.h on Linux systems. ++ * configure.in: Added the --enable-extra-optimization switch, ++ which will get gcc to perform extra optimization (for i686 only). ++ * havaltest.c: Added Id tag to facilitate binary identification. ++ * havaltest.c: When producing the hash of a file (say, file.txt), ++ print HAVAL(file.txt) instead of HAVAL(File file.txt) to make ++ it more consistent with other hashing programs. ++ * havaltest.c (usage): New. Usage is now printed in a more uniform ++ manner like other UNIX software. ++ * havaltest.c: Include config.h instead of havalapp.h. ++ * haval.c: Added Id tag to facilitate binary identification. ++ * haval.c: s/VERSION/HAVAL_VERSION/ to avoid conflicts and ++ confusion with package version generated by autotools. ++ * haval.c (haval_stdin): Fixed bug where hash of stdin produces ++ raw characters. Now produces regular hexadecimal output. ++ * haval.c (haval_stdin): Got rid of compile warning because of the ++ use of assignment as a truth value without parentheses. ++ * haval.c (haval_file): Got rid of compile warning because of the ++ use of assignment as a truth value without parentheses. ++ * havalapp.h: Moving towards deprecation, once config.h is ++ stabilized. ++ ++1997-04-01 Yuliang Zheng ++ ++ * haval.c: Corrected the first byte in padding[128] ++ (from 0x80 to 0x01). ++ * Thanks go to Paulo Barreto (pbarreto@uninet.com.br) who ++ detected the padding error while implementing HAVAL ++ independently. ++ ++1996-04-01 Yuliang Zheng ++ ++ * haval.c: Added #include ++ * haval.c: Deleted #include ++ * haval.c: Appended 'L' to all 32-bit constants. ++ * Many thanks to Ross Williams (ross@rocksoft.com) for his ++ invaluable comments on the previous version of the code. ++ * havaltest.c: Now we use CPU time, instead of elapsed time to ++ measure the speed of HAVAL. ++ ++1993-06-01 Yuliang Zheng ++ ++ First release. ++ ++ ++ ++ Copyright (c) 2003 Calyptix Security Corporation ++ All rights reserved. ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions ++ are met: ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ 2. Redistributions in binary form must reproduce the above ++ copyright notice, this list of conditions and the following ++ disclaimer in the documentation and/or other materials provided ++ with the distribution. ++ 3. Neither the name of Calyptix Security Corporation nor the ++ names of its contributors may be used to endorse or promote ++ products derived from this software without specific prior ++ written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++ FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++ COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++ ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++ POSSIBILITY OF SUCH DAMAGE. ++ ++ +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/config/compile +@@ -0,0 +1,99 @@ ++#! /bin/sh ++ ++# Wrapper for compilers which do not understand `-c -o'. ++ ++# Copyright 1999, 2000 Free Software Foundation, Inc. ++# Written by Tom Tromey . ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ ++# As a special exception to the GNU General Public License, if you ++# distribute this file as part of a program that contains a ++# configuration script generated by Autoconf, you may include it under ++# the same distribution terms that you use for the rest of that program. ++ ++# Usage: ++# compile PROGRAM [ARGS]... ++# `-o FOO.o' is removed from the args passed to the actual compile. ++ ++prog=$1 ++shift ++ ++ofile= ++cfile= ++args= ++while test $# -gt 0; do ++ case "$1" in ++ -o) ++ # configure might choose to run compile as `compile cc -o foo foo.c'. ++ # So we do something ugly here. ++ ofile=$2 ++ shift ++ case "$ofile" in ++ *.o | *.obj) ++ ;; ++ *) ++ args="$args -o $ofile" ++ ofile= ++ ;; ++ esac ++ ;; ++ *.c) ++ cfile=$1 ++ args="$args $1" ++ ;; ++ *) ++ args="$args $1" ++ ;; ++ esac ++ shift ++done ++ ++if test -z "$ofile" || test -z "$cfile"; then ++ # If no `-o' option was seen then we might have been invoked from a ++ # pattern rule where we don't need one. That is ok -- this is a ++ # normal compilation that the losing compiler can handle. If no ++ # `.c' file was seen then we are probably linking. That is also ++ # ok. ++ exec "$prog" $args ++fi ++ ++# Name of file we expect compiler to create. ++cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'` ++ ++# Create the lock directory. ++# Note: use `[/.-]' here to ensure that we don't use the same name ++# that we are using for the .o file. Also, base the name on the expected ++# object file name, since that is what matters with a parallel build. ++lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d ++while true; do ++ if mkdir $lockdir > /dev/null 2>&1; then ++ break ++ fi ++ sleep 1 ++done ++# FIXME: race condition here if user kills between mkdir and trap. ++trap "rmdir $lockdir; exit 1" 1 2 15 ++ ++# Run the compile. ++"$prog" $args ++status=$? ++ ++if test -f "$cofile"; then ++ mv "$cofile" "$ofile" ++fi ++ ++rmdir $lockdir ++exit $status +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/config/config.guess +@@ -0,0 +1,1321 @@ ++#! /bin/sh ++# Attempt to guess a canonical system name. ++# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, ++# 2000, 2001, 2002 Free Software Foundation, Inc. ++ ++timestamp='2002-03-20' ++ ++# This file is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++# ++# As a special exception to the GNU General Public License, if you ++# distribute this file as part of a program that contains a ++# configuration script generated by Autoconf, you may include it under ++# the same distribution terms that you use for the rest of that program. ++ ++# Originally written by Per Bothner . ++# Please send patches to . Submit a context ++# diff and a properly formatted ChangeLog entry. ++# ++# This script attempts to guess a canonical system name similar to ++# config.sub. If it succeeds, it prints the system name on stdout, and ++# exits with 0. Otherwise, it exits with 1. ++# ++# The plan is that this can be called by configure scripts if you ++# don't specify an explicit build system type. ++ ++me=`echo "$0" | sed -e 's,.*/,,'` ++ ++usage="\ ++Usage: $0 [OPTION] ++ ++Output the configuration name of the system \`$me' is run on. ++ ++Operation modes: ++ -h, --help print this help, then exit ++ -t, --time-stamp print date of last modification, then exit ++ -v, --version print version number, then exit ++ ++Report bugs and patches to ." ++ ++version="\ ++GNU config.guess ($timestamp) ++ ++Originally written by Per Bothner. ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++Free Software Foundation, Inc. ++ ++This is free software; see the source for copying conditions. There is NO ++warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." ++ ++help=" ++Try \`$me --help' for more information." ++ ++# Parse command line ++while test $# -gt 0 ; do ++ case $1 in ++ --time-stamp | --time* | -t ) ++ echo "$timestamp" ; exit 0 ;; ++ --version | -v ) ++ echo "$version" ; exit 0 ;; ++ --help | --h* | -h ) ++ echo "$usage"; exit 0 ;; ++ -- ) # Stop option processing ++ shift; break ;; ++ - ) # Use stdin as input. ++ break ;; ++ -* ) ++ echo "$me: invalid option $1$help" >&2 ++ exit 1 ;; ++ * ) ++ break ;; ++ esac ++done ++ ++if test $# != 0; then ++ echo "$me: too many arguments$help" >&2 ++ exit 1 ++fi ++ ++ ++dummy=dummy-$$ ++trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 ++ ++# CC_FOR_BUILD -- compiler used by this script. ++# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still ++# use `HOST_CC' if defined, but it is deprecated. ++ ++set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in ++ ,,) echo "int dummy(){}" > $dummy.c ; ++ for c in cc gcc c89 c99 ; do ++ ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; ++ if test $? = 0 ; then ++ CC_FOR_BUILD="$c"; break ; ++ fi ; ++ done ; ++ rm -f $dummy.c $dummy.o $dummy.rel ; ++ if test x"$CC_FOR_BUILD" = x ; then ++ CC_FOR_BUILD=no_compiler_found ; ++ fi ++ ;; ++ ,,*) CC_FOR_BUILD=$CC ;; ++ ,*,*) CC_FOR_BUILD=$HOST_CC ;; ++esac' ++ ++# This is needed to find uname on a Pyramid OSx when run in the BSD universe. ++# (ghazi@noc.rutgers.edu 1994-08-24) ++if (test -f /.attbin/uname) >/dev/null 2>&1 ; then ++ PATH=$PATH:/.attbin ; export PATH ++fi ++ ++UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown ++UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown ++UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown ++UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown ++ ++# Note: order is significant - the case branches are not exclusive. ++ ++case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ++ *:NetBSD:*:*) ++ # NetBSD (nbsd) targets should (where applicable) match one or ++ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, ++ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently ++ # switched to ELF, *-*-netbsd* would select the old ++ # object file format. This provides both forward ++ # compatibility and a consistent mechanism for selecting the ++ # object file format. ++ # ++ # Note: NetBSD doesn't particularly care about the vendor ++ # portion of the name. We always set it to "unknown". ++ sysctl="sysctl -n hw.machine_arch" ++ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ ++ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` ++ case "${UNAME_MACHINE_ARCH}" in ++ arm*) machine=arm-unknown ;; ++ sh3el) machine=shl-unknown ;; ++ sh3eb) machine=sh-unknown ;; ++ *) machine=${UNAME_MACHINE_ARCH}-unknown ;; ++ esac ++ # The Operating System including object format, if it has switched ++ # to ELF recently, or will in the future. ++ case "${UNAME_MACHINE_ARCH}" in ++ arm*|i386|m68k|ns32k|sh3*|sparc|vax) ++ eval $set_cc_for_build ++ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep __ELF__ >/dev/null ++ then ++ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). ++ # Return netbsd for either. FIX? ++ os=netbsd ++ else ++ os=netbsdelf ++ fi ++ ;; ++ *) ++ os=netbsd ++ ;; ++ esac ++ # The OS release ++ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ++ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: ++ # contains redundant information, the shorter form: ++ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. ++ echo "${machine}-${os}${release}" ++ exit 0 ;; ++ amiga:OpenBSD:*:*) ++ echo m68k-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ arc:OpenBSD:*:*) ++ echo mipsel-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ hp300:OpenBSD:*:*) ++ echo m68k-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ mac68k:OpenBSD:*:*) ++ echo m68k-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ macppc:OpenBSD:*:*) ++ echo powerpc-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ mvme68k:OpenBSD:*:*) ++ echo m68k-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ mvme88k:OpenBSD:*:*) ++ echo m88k-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ mvmeppc:OpenBSD:*:*) ++ echo powerpc-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ pmax:OpenBSD:*:*) ++ echo mipsel-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ sgi:OpenBSD:*:*) ++ echo mipseb-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ sun3:OpenBSD:*:*) ++ echo m68k-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ wgrisc:OpenBSD:*:*) ++ echo mipsel-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ *:OpenBSD:*:*) ++ echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ alpha:OSF1:*:*) ++ if test $UNAME_RELEASE = "V4.0"; then ++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ++ fi ++ # A Vn.n version is a released version. ++ # A Tn.n version is a released field test version. ++ # A Xn.n version is an unreleased experimental baselevel. ++ # 1.2 uses "1.2" for uname -r. ++ cat <$dummy.s ++ .data ++\$Lformat: ++ .byte 37,100,45,37,120,10,0 # "%d-%x\n" ++ ++ .text ++ .globl main ++ .align 4 ++ .ent main ++main: ++ .frame \$30,16,\$26,0 ++ ldgp \$29,0(\$27) ++ .prologue 1 ++ .long 0x47e03d80 # implver \$0 ++ lda \$2,-1 ++ .long 0x47e20c21 # amask \$2,\$1 ++ lda \$16,\$Lformat ++ mov \$0,\$17 ++ not \$1,\$18 ++ jsr \$26,printf ++ ldgp \$29,0(\$26) ++ mov 0,\$16 ++ jsr \$26,exit ++ .end main ++EOF ++ eval $set_cc_for_build ++ $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null ++ if test "$?" = 0 ; then ++ case `./$dummy` in ++ 0-0) ++ UNAME_MACHINE="alpha" ++ ;; ++ 1-0) ++ UNAME_MACHINE="alphaev5" ++ ;; ++ 1-1) ++ UNAME_MACHINE="alphaev56" ++ ;; ++ 1-101) ++ UNAME_MACHINE="alphapca56" ++ ;; ++ 2-303) ++ UNAME_MACHINE="alphaev6" ++ ;; ++ 2-307) ++ UNAME_MACHINE="alphaev67" ++ ;; ++ 2-1307) ++ UNAME_MACHINE="alphaev68" ++ ;; ++ esac ++ fi ++ rm -f $dummy.s $dummy ++ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` ++ exit 0 ;; ++ Alpha\ *:Windows_NT*:*) ++ # How do we know it's Interix rather than the generic POSIX subsystem? ++ # Should we change UNAME_MACHINE based on the output of uname instead ++ # of the specific Alpha model? ++ echo alpha-pc-interix ++ exit 0 ;; ++ 21064:Windows_NT:50:3) ++ echo alpha-dec-winnt3.5 ++ exit 0 ;; ++ Amiga*:UNIX_System_V:4.0:*) ++ echo m68k-unknown-sysv4 ++ exit 0;; ++ *:[Aa]miga[Oo][Ss]:*:*) ++ echo ${UNAME_MACHINE}-unknown-amigaos ++ exit 0 ;; ++ *:[Mm]orph[Oo][Ss]:*:*) ++ echo ${UNAME_MACHINE}-unknown-morphos ++ exit 0 ;; ++ *:OS/390:*:*) ++ echo i370-ibm-openedition ++ exit 0 ;; ++ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) ++ echo arm-acorn-riscix${UNAME_RELEASE} ++ exit 0;; ++ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) ++ echo hppa1.1-hitachi-hiuxmpp ++ exit 0;; ++ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) ++ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. ++ if test "`(/bin/universe) 2>/dev/null`" = att ; then ++ echo pyramid-pyramid-sysv3 ++ else ++ echo pyramid-pyramid-bsd ++ fi ++ exit 0 ;; ++ NILE*:*:*:dcosx) ++ echo pyramid-pyramid-svr4 ++ exit 0 ;; ++ sun4H:SunOS:5.*:*) ++ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit 0 ;; ++ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) ++ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit 0 ;; ++ i86pc:SunOS:5.*:*) ++ echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit 0 ;; ++ sun4*:SunOS:6*:*) ++ # According to config.sub, this is the proper way to canonicalize ++ # SunOS6. Hard to guess exactly what SunOS6 will be like, but ++ # it's likely to be more like Solaris than SunOS4. ++ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit 0 ;; ++ sun4*:SunOS:*:*) ++ case "`/usr/bin/arch -k`" in ++ Series*|S4*) ++ UNAME_RELEASE=`uname -v` ++ ;; ++ esac ++ # Japanese Language versions have a version number like `4.1.3-JL'. ++ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` ++ exit 0 ;; ++ sun3*:SunOS:*:*) ++ echo m68k-sun-sunos${UNAME_RELEASE} ++ exit 0 ;; ++ sun*:*:4.2BSD:*) ++ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` ++ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 ++ case "`/bin/arch`" in ++ sun3) ++ echo m68k-sun-sunos${UNAME_RELEASE} ++ ;; ++ sun4) ++ echo sparc-sun-sunos${UNAME_RELEASE} ++ ;; ++ esac ++ exit 0 ;; ++ aushp:SunOS:*:*) ++ echo sparc-auspex-sunos${UNAME_RELEASE} ++ exit 0 ;; ++ # The situation for MiNT is a little confusing. The machine name ++ # can be virtually everything (everything which is not ++ # "atarist" or "atariste" at least should have a processor ++ # > m68000). The system name ranges from "MiNT" over "FreeMiNT" ++ # to the lowercase version "mint" (or "freemint"). Finally ++ # the system name "TOS" denotes a system which is actually not ++ # MiNT. But MiNT is downward compatible to TOS, so this should ++ # be no problem. ++ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) ++ echo m68k-atari-mint${UNAME_RELEASE} ++ exit 0 ;; ++ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) ++ echo m68k-atari-mint${UNAME_RELEASE} ++ exit 0 ;; ++ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) ++ echo m68k-atari-mint${UNAME_RELEASE} ++ exit 0 ;; ++ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) ++ echo m68k-milan-mint${UNAME_RELEASE} ++ exit 0 ;; ++ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) ++ echo m68k-hades-mint${UNAME_RELEASE} ++ exit 0 ;; ++ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) ++ echo m68k-unknown-mint${UNAME_RELEASE} ++ exit 0 ;; ++ powerpc:machten:*:*) ++ echo powerpc-apple-machten${UNAME_RELEASE} ++ exit 0 ;; ++ RISC*:Mach:*:*) ++ echo mips-dec-mach_bsd4.3 ++ exit 0 ;; ++ RISC*:ULTRIX:*:*) ++ echo mips-dec-ultrix${UNAME_RELEASE} ++ exit 0 ;; ++ VAX*:ULTRIX*:*:*) ++ echo vax-dec-ultrix${UNAME_RELEASE} ++ exit 0 ;; ++ 2020:CLIX:*:* | 2430:CLIX:*:*) ++ echo clipper-intergraph-clix${UNAME_RELEASE} ++ exit 0 ;; ++ mips:*:*:UMIPS | mips:*:*:RISCos) ++ eval $set_cc_for_build ++ sed 's/^ //' << EOF >$dummy.c ++#ifdef __cplusplus ++#include /* for printf() prototype */ ++ int main (int argc, char *argv[]) { ++#else ++ int main (argc, argv) int argc; char *argv[]; { ++#endif ++ #if defined (host_mips) && defined (MIPSEB) ++ #if defined (SYSTYPE_SYSV) ++ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); ++ #endif ++ #if defined (SYSTYPE_SVR4) ++ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); ++ #endif ++ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) ++ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); ++ #endif ++ #endif ++ exit (-1); ++ } ++EOF ++ $CC_FOR_BUILD $dummy.c -o $dummy \ ++ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ ++ && rm -f $dummy.c $dummy && exit 0 ++ rm -f $dummy.c $dummy ++ echo mips-mips-riscos${UNAME_RELEASE} ++ exit 0 ;; ++ Motorola:PowerMAX_OS:*:*) ++ echo powerpc-motorola-powermax ++ exit 0 ;; ++ Night_Hawk:Power_UNIX:*:*) ++ echo powerpc-harris-powerunix ++ exit 0 ;; ++ m88k:CX/UX:7*:*) ++ echo m88k-harris-cxux7 ++ exit 0 ;; ++ m88k:*:4*:R4*) ++ echo m88k-motorola-sysv4 ++ exit 0 ;; ++ m88k:*:3*:R3*) ++ echo m88k-motorola-sysv3 ++ exit 0 ;; ++ AViiON:dgux:*:*) ++ # DG/UX returns AViiON for all architectures ++ UNAME_PROCESSOR=`/usr/bin/uname -p` ++ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] ++ then ++ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ ++ [ ${TARGET_BINARY_INTERFACE}x = x ] ++ then ++ echo m88k-dg-dgux${UNAME_RELEASE} ++ else ++ echo m88k-dg-dguxbcs${UNAME_RELEASE} ++ fi ++ else ++ echo i586-dg-dgux${UNAME_RELEASE} ++ fi ++ exit 0 ;; ++ M88*:DolphinOS:*:*) # DolphinOS (SVR3) ++ echo m88k-dolphin-sysv3 ++ exit 0 ;; ++ M88*:*:R3*:*) ++ # Delta 88k system running SVR3 ++ echo m88k-motorola-sysv3 ++ exit 0 ;; ++ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) ++ echo m88k-tektronix-sysv3 ++ exit 0 ;; ++ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) ++ echo m68k-tektronix-bsd ++ exit 0 ;; ++ *:IRIX*:*:*) ++ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` ++ exit 0 ;; ++ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. ++ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id ++ exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' ++ i*86:AIX:*:*) ++ echo i386-ibm-aix ++ exit 0 ;; ++ ia64:AIX:*:*) ++ if [ -x /usr/bin/oslevel ] ; then ++ IBM_REV=`/usr/bin/oslevel` ++ else ++ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ fi ++ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} ++ exit 0 ;; ++ *:AIX:2:3) ++ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then ++ eval $set_cc_for_build ++ sed 's/^ //' << EOF >$dummy.c ++ #include ++ ++ main() ++ { ++ if (!__power_pc()) ++ exit(1); ++ puts("powerpc-ibm-aix3.2.5"); ++ exit(0); ++ } ++EOF ++ $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 ++ rm -f $dummy.c $dummy ++ echo rs6000-ibm-aix3.2.5 ++ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then ++ echo rs6000-ibm-aix3.2.4 ++ else ++ echo rs6000-ibm-aix3.2 ++ fi ++ exit 0 ;; ++ *:AIX:*:[45]) ++ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` ++ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then ++ IBM_ARCH=rs6000 ++ else ++ IBM_ARCH=powerpc ++ fi ++ if [ -x /usr/bin/oslevel ] ; then ++ IBM_REV=`/usr/bin/oslevel` ++ else ++ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ fi ++ echo ${IBM_ARCH}-ibm-aix${IBM_REV} ++ exit 0 ;; ++ *:AIX:*:*) ++ echo rs6000-ibm-aix ++ exit 0 ;; ++ ibmrt:4.4BSD:*|romp-ibm:BSD:*) ++ echo romp-ibm-bsd4.4 ++ exit 0 ;; ++ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and ++ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to ++ exit 0 ;; # report: romp-ibm BSD 4.3 ++ *:BOSX:*:*) ++ echo rs6000-bull-bosx ++ exit 0 ;; ++ DPX/2?00:B.O.S.:*:*) ++ echo m68k-bull-sysv3 ++ exit 0 ;; ++ 9000/[34]??:4.3bsd:1.*:*) ++ echo m68k-hp-bsd ++ exit 0 ;; ++ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) ++ echo m68k-hp-bsd4.4 ++ exit 0 ;; ++ 9000/[34678]??:HP-UX:*:*) ++ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` ++ case "${UNAME_MACHINE}" in ++ 9000/31? ) HP_ARCH=m68000 ;; ++ 9000/[34]?? ) HP_ARCH=m68k ;; ++ 9000/[678][0-9][0-9]) ++ if [ -x /usr/bin/getconf ]; then ++ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` ++ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` ++ case "${sc_cpu_version}" in ++ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 ++ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 ++ 532) # CPU_PA_RISC2_0 ++ case "${sc_kernel_bits}" in ++ 32) HP_ARCH="hppa2.0n" ;; ++ 64) HP_ARCH="hppa2.0w" ;; ++ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 ++ esac ;; ++ esac ++ fi ++ if [ "${HP_ARCH}" = "" ]; then ++ eval $set_cc_for_build ++ sed 's/^ //' << EOF >$dummy.c ++ ++ #define _HPUX_SOURCE ++ #include ++ #include ++ ++ int main () ++ { ++ #if defined(_SC_KERNEL_BITS) ++ long bits = sysconf(_SC_KERNEL_BITS); ++ #endif ++ long cpu = sysconf (_SC_CPU_VERSION); ++ ++ switch (cpu) ++ { ++ case CPU_PA_RISC1_0: puts ("hppa1.0"); break; ++ case CPU_PA_RISC1_1: puts ("hppa1.1"); break; ++ case CPU_PA_RISC2_0: ++ #if defined(_SC_KERNEL_BITS) ++ switch (bits) ++ { ++ case 64: puts ("hppa2.0w"); break; ++ case 32: puts ("hppa2.0n"); break; ++ default: puts ("hppa2.0"); break; ++ } break; ++ #else /* !defined(_SC_KERNEL_BITS) */ ++ puts ("hppa2.0"); break; ++ #endif ++ default: puts ("hppa1.0"); break; ++ } ++ exit (0); ++ } ++EOF ++ (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy` ++ if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi ++ rm -f $dummy.c $dummy ++ fi ;; ++ esac ++ echo ${HP_ARCH}-hp-hpux${HPUX_REV} ++ exit 0 ;; ++ ia64:HP-UX:*:*) ++ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` ++ echo ia64-hp-hpux${HPUX_REV} ++ exit 0 ;; ++ 3050*:HI-UX:*:*) ++ eval $set_cc_for_build ++ sed 's/^ //' << EOF >$dummy.c ++ #include ++ int ++ main () ++ { ++ long cpu = sysconf (_SC_CPU_VERSION); ++ /* The order matters, because CPU_IS_HP_MC68K erroneously returns ++ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct ++ results, however. */ ++ if (CPU_IS_PA_RISC (cpu)) ++ { ++ switch (cpu) ++ { ++ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; ++ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; ++ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; ++ default: puts ("hppa-hitachi-hiuxwe2"); break; ++ } ++ } ++ else if (CPU_IS_HP_MC68K (cpu)) ++ puts ("m68k-hitachi-hiuxwe2"); ++ else puts ("unknown-hitachi-hiuxwe2"); ++ exit (0); ++ } ++EOF ++ $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 ++ rm -f $dummy.c $dummy ++ echo unknown-hitachi-hiuxwe2 ++ exit 0 ;; ++ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) ++ echo hppa1.1-hp-bsd ++ exit 0 ;; ++ 9000/8??:4.3bsd:*:*) ++ echo hppa1.0-hp-bsd ++ exit 0 ;; ++ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) ++ echo hppa1.0-hp-mpeix ++ exit 0 ;; ++ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) ++ echo hppa1.1-hp-osf ++ exit 0 ;; ++ hp8??:OSF1:*:*) ++ echo hppa1.0-hp-osf ++ exit 0 ;; ++ i*86:OSF1:*:*) ++ if [ -x /usr/sbin/sysversion ] ; then ++ echo ${UNAME_MACHINE}-unknown-osf1mk ++ else ++ echo ${UNAME_MACHINE}-unknown-osf1 ++ fi ++ exit 0 ;; ++ parisc*:Lites*:*:*) ++ echo hppa1.1-hp-lites ++ exit 0 ;; ++ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) ++ echo c1-convex-bsd ++ exit 0 ;; ++ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) ++ if getsysinfo -f scalar_acc ++ then echo c32-convex-bsd ++ else echo c2-convex-bsd ++ fi ++ exit 0 ;; ++ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) ++ echo c34-convex-bsd ++ exit 0 ;; ++ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) ++ echo c38-convex-bsd ++ exit 0 ;; ++ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) ++ echo c4-convex-bsd ++ exit 0 ;; ++ CRAY*Y-MP:*:*:*) ++ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ exit 0 ;; ++ CRAY*[A-Z]90:*:*:*) ++ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ ++ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ ++ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ ++ -e 's/\.[^.]*$/.X/' ++ exit 0 ;; ++ CRAY*TS:*:*:*) ++ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ exit 0 ;; ++ CRAY*T3D:*:*:*) ++ echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ exit 0 ;; ++ CRAY*T3E:*:*:*) ++ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ exit 0 ;; ++ CRAY*SV1:*:*:*) ++ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ exit 0 ;; ++ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) ++ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` ++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` ++ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` ++ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" ++ exit 0 ;; ++ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) ++ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} ++ exit 0 ;; ++ sparc*:BSD/OS:*:*) ++ echo sparc-unknown-bsdi${UNAME_RELEASE} ++ exit 0 ;; ++ *:BSD/OS:*:*) ++ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} ++ exit 0 ;; ++ *:FreeBSD:*:*) ++ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ++ exit 0 ;; ++ i*:CYGWIN*:*) ++ echo ${UNAME_MACHINE}-pc-cygwin ++ exit 0 ;; ++ i*:MINGW*:*) ++ echo ${UNAME_MACHINE}-pc-mingw32 ++ exit 0 ;; ++ i*:PW*:*) ++ echo ${UNAME_MACHINE}-pc-pw32 ++ exit 0 ;; ++ x86:Interix*:3*) ++ echo i386-pc-interix3 ++ exit 0 ;; ++ i*:Windows_NT*:* | Pentium*:Windows_NT*:*) ++ # How do we know it's Interix rather than the generic POSIX subsystem? ++ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we ++ # UNAME_MACHINE based on the output of uname instead of i386? ++ echo i386-pc-interix ++ exit 0 ;; ++ i*:UWIN*:*) ++ echo ${UNAME_MACHINE}-pc-uwin ++ exit 0 ;; ++ p*:CYGWIN*:*) ++ echo powerpcle-unknown-cygwin ++ exit 0 ;; ++ prep*:SunOS:5.*:*) ++ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit 0 ;; ++ *:GNU:*:*) ++ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` ++ exit 0 ;; ++ i*86:Minix:*:*) ++ echo ${UNAME_MACHINE}-pc-minix ++ exit 0 ;; ++ arm*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit 0 ;; ++ ia64:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit 0 ;; ++ m68*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit 0 ;; ++ mips:Linux:*:*) ++ eval $set_cc_for_build ++ sed 's/^ //' << EOF >$dummy.c ++ #undef CPU ++ #undef mips ++ #undef mipsel ++ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) ++ CPU=mipsel ++ #else ++ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) ++ CPU=mips ++ #else ++ CPU= ++ #endif ++ #endif ++EOF ++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` ++ rm -f $dummy.c ++ test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0 ++ ;; ++ ppc:Linux:*:*) ++ echo powerpc-unknown-linux-gnu ++ exit 0 ;; ++ ppc64:Linux:*:*) ++ echo powerpc64-unknown-linux-gnu ++ exit 0 ;; ++ alpha:Linux:*:*) ++ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in ++ EV5) UNAME_MACHINE=alphaev5 ;; ++ EV56) UNAME_MACHINE=alphaev56 ;; ++ PCA56) UNAME_MACHINE=alphapca56 ;; ++ PCA57) UNAME_MACHINE=alphapca56 ;; ++ EV6) UNAME_MACHINE=alphaev6 ;; ++ EV67) UNAME_MACHINE=alphaev67 ;; ++ EV68*) UNAME_MACHINE=alphaev68 ;; ++ esac ++ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null ++ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi ++ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ++ exit 0 ;; ++ parisc:Linux:*:* | hppa:Linux:*:*) ++ # Look for CPU level ++ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in ++ PA7*) echo hppa1.1-unknown-linux-gnu ;; ++ PA8*) echo hppa2.0-unknown-linux-gnu ;; ++ *) echo hppa-unknown-linux-gnu ;; ++ esac ++ exit 0 ;; ++ parisc64:Linux:*:* | hppa64:Linux:*:*) ++ echo hppa64-unknown-linux-gnu ++ exit 0 ;; ++ s390:Linux:*:* | s390x:Linux:*:*) ++ echo ${UNAME_MACHINE}-ibm-linux ++ exit 0 ;; ++ sh*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit 0 ;; ++ sparc:Linux:*:* | sparc64:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit 0 ;; ++ x86_64:Linux:*:*) ++ echo x86_64-unknown-linux-gnu ++ exit 0 ;; ++ i*86:Linux:*:*) ++ # The BFD linker knows what the default object file format is, so ++ # first see if it will tell us. cd to the root directory to prevent ++ # problems with other programs or directories called `ld' in the path. ++ # Set LC_ALL=C to ensure ld outputs messages in English. ++ ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ ++ | sed -ne '/supported targets:/!d ++ s/[ ][ ]*/ /g ++ s/.*supported targets: *// ++ s/ .*// ++ p'` ++ case "$ld_supported_targets" in ++ elf32-i386) ++ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ++ ;; ++ a.out-i386-linux) ++ echo "${UNAME_MACHINE}-pc-linux-gnuaout" ++ exit 0 ;; ++ coff-i386) ++ echo "${UNAME_MACHINE}-pc-linux-gnucoff" ++ exit 0 ;; ++ "") ++ # Either a pre-BFD a.out linker (linux-gnuoldld) or ++ # one that does not give us useful --help. ++ echo "${UNAME_MACHINE}-pc-linux-gnuoldld" ++ exit 0 ;; ++ esac ++ # Determine whether the default compiler is a.out or elf ++ eval $set_cc_for_build ++ sed 's/^ //' << EOF >$dummy.c ++ #include ++ #ifdef __ELF__ ++ # ifdef __GLIBC__ ++ # if __GLIBC__ >= 2 ++ LIBC=gnu ++ # else ++ LIBC=gnulibc1 ++ # endif ++ # else ++ LIBC=gnulibc1 ++ # endif ++ #else ++ #ifdef __INTEL_COMPILER ++ LIBC=gnu ++ #else ++ LIBC=gnuaout ++ #endif ++ #endif ++EOF ++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` ++ rm -f $dummy.c ++ test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 ++ test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ++ ;; ++ i*86:DYNIX/ptx:4*:*) ++ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. ++ # earlier versions are messed up and put the nodename in both ++ # sysname and nodename. ++ echo i386-sequent-sysv4 ++ exit 0 ;; ++ i*86:UNIX_SV:4.2MP:2.*) ++ # Unixware is an offshoot of SVR4, but it has its own version ++ # number series starting with 2... ++ # I am not positive that other SVR4 systems won't match this, ++ # I just have to hope. -- rms. ++ # Use sysv4.2uw... so that sysv4* matches it. ++ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} ++ exit 0 ;; ++ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) ++ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` ++ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then ++ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} ++ else ++ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} ++ fi ++ exit 0 ;; ++ i*86:*:5:[78]*) ++ case `/bin/uname -X | grep "^Machine"` in ++ *486*) UNAME_MACHINE=i486 ;; ++ *Pentium) UNAME_MACHINE=i586 ;; ++ *Pent*|*Celeron) UNAME_MACHINE=i686 ;; ++ esac ++ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} ++ exit 0 ;; ++ i*86:*:3.2:*) ++ if test -f /usr/options/cb.name; then ++ UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then ++ UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` ++ (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 ++ (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ ++ && UNAME_MACHINE=i586 ++ (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ ++ && UNAME_MACHINE=i686 ++ (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ ++ && UNAME_MACHINE=i686 ++ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL ++ else ++ echo ${UNAME_MACHINE}-pc-sysv32 ++ fi ++ exit 0 ;; ++ i*86:*DOS:*:*) ++ echo ${UNAME_MACHINE}-pc-msdosdjgpp ++ exit 0 ;; ++ pc:*:*:*) ++ # Left here for compatibility: ++ # uname -m prints for DJGPP always 'pc', but it prints nothing about ++ # the processor, so we play safe by assuming i386. ++ echo i386-pc-msdosdjgpp ++ exit 0 ;; ++ Intel:Mach:3*:*) ++ echo i386-pc-mach3 ++ exit 0 ;; ++ paragon:*:*:*) ++ echo i860-intel-osf1 ++ exit 0 ;; ++ i860:*:4.*:*) # i860-SVR4 ++ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then ++ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 ++ else # Add other i860-SVR4 vendors below as they are discovered. ++ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 ++ fi ++ exit 0 ;; ++ mini*:CTIX:SYS*5:*) ++ # "miniframe" ++ echo m68010-convergent-sysv ++ exit 0 ;; ++ M68*:*:R3V[567]*:*) ++ test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; ++ 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0) ++ OS_REL='' ++ test -r /etc/.relid \ ++ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` ++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ && echo i486-ncr-sysv4.3${OS_REL} && exit 0 ++ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ ++ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; ++ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) ++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ && echo i486-ncr-sysv4 && exit 0 ;; ++ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) ++ echo m68k-unknown-lynxos${UNAME_RELEASE} ++ exit 0 ;; ++ mc68030:UNIX_System_V:4.*:*) ++ echo m68k-atari-sysv4 ++ exit 0 ;; ++ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) ++ echo i386-unknown-lynxos${UNAME_RELEASE} ++ exit 0 ;; ++ TSUNAMI:LynxOS:2.*:*) ++ echo sparc-unknown-lynxos${UNAME_RELEASE} ++ exit 0 ;; ++ rs6000:LynxOS:2.*:*) ++ echo rs6000-unknown-lynxos${UNAME_RELEASE} ++ exit 0 ;; ++ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) ++ echo powerpc-unknown-lynxos${UNAME_RELEASE} ++ exit 0 ;; ++ SM[BE]S:UNIX_SV:*:*) ++ echo mips-dde-sysv${UNAME_RELEASE} ++ exit 0 ;; ++ RM*:ReliantUNIX-*:*:*) ++ echo mips-sni-sysv4 ++ exit 0 ;; ++ RM*:SINIX-*:*:*) ++ echo mips-sni-sysv4 ++ exit 0 ;; ++ *:SINIX-*:*:*) ++ if uname -p 2>/dev/null >/dev/null ; then ++ UNAME_MACHINE=`(uname -p) 2>/dev/null` ++ echo ${UNAME_MACHINE}-sni-sysv4 ++ else ++ echo ns32k-sni-sysv ++ fi ++ exit 0 ;; ++ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort ++ # says ++ echo i586-unisys-sysv4 ++ exit 0 ;; ++ *:UNIX_System_V:4*:FTX*) ++ # From Gerald Hewes . ++ # How about differentiating between stratus architectures? -djm ++ echo hppa1.1-stratus-sysv4 ++ exit 0 ;; ++ *:*:*:FTX*) ++ # From seanf@swdc.stratus.com. ++ echo i860-stratus-sysv4 ++ exit 0 ;; ++ *:VOS:*:*) ++ # From Paul.Green@stratus.com. ++ echo hppa1.1-stratus-vos ++ exit 0 ;; ++ mc68*:A/UX:*:*) ++ echo m68k-apple-aux${UNAME_RELEASE} ++ exit 0 ;; ++ news*:NEWS-OS:6*:*) ++ echo mips-sony-newsos6 ++ exit 0 ;; ++ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) ++ if [ -d /usr/nec ]; then ++ echo mips-nec-sysv${UNAME_RELEASE} ++ else ++ echo mips-unknown-sysv${UNAME_RELEASE} ++ fi ++ exit 0 ;; ++ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. ++ echo powerpc-be-beos ++ exit 0 ;; ++ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. ++ echo powerpc-apple-beos ++ exit 0 ;; ++ BePC:BeOS:*:*) # BeOS running on Intel PC compatible. ++ echo i586-pc-beos ++ exit 0 ;; ++ SX-4:SUPER-UX:*:*) ++ echo sx4-nec-superux${UNAME_RELEASE} ++ exit 0 ;; ++ SX-5:SUPER-UX:*:*) ++ echo sx5-nec-superux${UNAME_RELEASE} ++ exit 0 ;; ++ Power*:Rhapsody:*:*) ++ echo powerpc-apple-rhapsody${UNAME_RELEASE} ++ exit 0 ;; ++ *:Rhapsody:*:*) ++ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} ++ exit 0 ;; ++ *:Darwin:*:*) ++ echo `uname -p`-apple-darwin${UNAME_RELEASE} ++ exit 0 ;; ++ *:procnto*:*:* | *:QNX:[0123456789]*:*) ++ UNAME_PROCESSOR=`uname -p` ++ if test "$UNAME_PROCESSOR" = "x86"; then ++ UNAME_PROCESSOR=i386 ++ UNAME_MACHINE=pc ++ fi ++ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} ++ exit 0 ;; ++ *:QNX:*:4*) ++ echo i386-pc-qnx ++ exit 0 ;; ++ NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*) ++ echo nsr-tandem-nsk${UNAME_RELEASE} ++ exit 0 ;; ++ *:NonStop-UX:*:*) ++ echo mips-compaq-nonstopux ++ exit 0 ;; ++ BS2000:POSIX*:*:*) ++ echo bs2000-siemens-sysv ++ exit 0 ;; ++ DS/*:UNIX_System_V:*:*) ++ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} ++ exit 0 ;; ++ *:Plan9:*:*) ++ # "uname -m" is not consistent, so use $cputype instead. 386 ++ # is converted to i386 for consistency with other x86 ++ # operating systems. ++ if test "$cputype" = "386"; then ++ UNAME_MACHINE=i386 ++ else ++ UNAME_MACHINE="$cputype" ++ fi ++ echo ${UNAME_MACHINE}-unknown-plan9 ++ exit 0 ;; ++ i*86:OS/2:*:*) ++ # If we were able to find `uname', then EMX Unix compatibility ++ # is probably installed. ++ echo ${UNAME_MACHINE}-pc-os2-emx ++ exit 0 ;; ++ *:TOPS-10:*:*) ++ echo pdp10-unknown-tops10 ++ exit 0 ;; ++ *:TENEX:*:*) ++ echo pdp10-unknown-tenex ++ exit 0 ;; ++ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) ++ echo pdp10-dec-tops20 ++ exit 0 ;; ++ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) ++ echo pdp10-xkl-tops20 ++ exit 0 ;; ++ *:TOPS-20:*:*) ++ echo pdp10-unknown-tops20 ++ exit 0 ;; ++ *:ITS:*:*) ++ echo pdp10-unknown-its ++ exit 0 ;; ++ i*86:XTS-300:*:STOP) ++ echo ${UNAME_MACHINE}-unknown-stop ++ exit 0 ;; ++ i*86:atheos:*:*) ++ echo ${UNAME_MACHINE}-unknown-atheos ++ exit 0 ;; ++esac ++ ++#echo '(No uname command or uname output not recognized.)' 1>&2 ++#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 ++ ++eval $set_cc_for_build ++cat >$dummy.c < ++# include ++#endif ++main () ++{ ++#if defined (sony) ++#if defined (MIPSEB) ++ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, ++ I don't know.... */ ++ printf ("mips-sony-bsd\n"); exit (0); ++#else ++#include ++ printf ("m68k-sony-newsos%s\n", ++#ifdef NEWSOS4 ++ "4" ++#else ++ "" ++#endif ++ ); exit (0); ++#endif ++#endif ++ ++#if defined (__arm) && defined (__acorn) && defined (__unix) ++ printf ("arm-acorn-riscix"); exit (0); ++#endif ++ ++#if defined (hp300) && !defined (hpux) ++ printf ("m68k-hp-bsd\n"); exit (0); ++#endif ++ ++#if defined (NeXT) ++#if !defined (__ARCHITECTURE__) ++#define __ARCHITECTURE__ "m68k" ++#endif ++ int version; ++ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; ++ if (version < 4) ++ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); ++ else ++ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); ++ exit (0); ++#endif ++ ++#if defined (MULTIMAX) || defined (n16) ++#if defined (UMAXV) ++ printf ("ns32k-encore-sysv\n"); exit (0); ++#else ++#if defined (CMU) ++ printf ("ns32k-encore-mach\n"); exit (0); ++#else ++ printf ("ns32k-encore-bsd\n"); exit (0); ++#endif ++#endif ++#endif ++ ++#if defined (__386BSD__) ++ printf ("i386-pc-bsd\n"); exit (0); ++#endif ++ ++#if defined (sequent) ++#if defined (i386) ++ printf ("i386-sequent-dynix\n"); exit (0); ++#endif ++#if defined (ns32000) ++ printf ("ns32k-sequent-dynix\n"); exit (0); ++#endif ++#endif ++ ++#if defined (_SEQUENT_) ++ struct utsname un; ++ ++ uname(&un); ++ ++ if (strncmp(un.version, "V2", 2) == 0) { ++ printf ("i386-sequent-ptx2\n"); exit (0); ++ } ++ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ ++ printf ("i386-sequent-ptx1\n"); exit (0); ++ } ++ printf ("i386-sequent-ptx\n"); exit (0); ++ ++#endif ++ ++#if defined (vax) ++# if !defined (ultrix) ++# include ++# if defined (BSD) ++# if BSD == 43 ++ printf ("vax-dec-bsd4.3\n"); exit (0); ++# else ++# if BSD == 199006 ++ printf ("vax-dec-bsd4.3reno\n"); exit (0); ++# else ++ printf ("vax-dec-bsd\n"); exit (0); ++# endif ++# endif ++# else ++ printf ("vax-dec-bsd\n"); exit (0); ++# endif ++# else ++ printf ("vax-dec-ultrix\n"); exit (0); ++# endif ++#endif ++ ++#if defined (alliant) && defined (i860) ++ printf ("i860-alliant-bsd\n"); exit (0); ++#endif ++ ++ exit (1); ++} ++EOF ++ ++$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 ++rm -f $dummy.c $dummy ++ ++# Apollos put the system type in the environment. ++ ++test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } ++ ++# Convex versions that predate uname can use getsysinfo(1) ++ ++if [ -x /usr/convex/getsysinfo ] ++then ++ case `getsysinfo -f cpu_type` in ++ c1*) ++ echo c1-convex-bsd ++ exit 0 ;; ++ c2*) ++ if getsysinfo -f scalar_acc ++ then echo c32-convex-bsd ++ else echo c2-convex-bsd ++ fi ++ exit 0 ;; ++ c34*) ++ echo c34-convex-bsd ++ exit 0 ;; ++ c38*) ++ echo c38-convex-bsd ++ exit 0 ;; ++ c4*) ++ echo c4-convex-bsd ++ exit 0 ;; ++ esac ++fi ++ ++cat >&2 < in order to provide the needed ++information to handle your system. ++ ++config.guess timestamp = $timestamp ++ ++uname -m = `(uname -m) 2>/dev/null || echo unknown` ++uname -r = `(uname -r) 2>/dev/null || echo unknown` ++uname -s = `(uname -s) 2>/dev/null || echo unknown` ++uname -v = `(uname -v) 2>/dev/null || echo unknown` ++ ++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` ++/bin/uname -X = `(/bin/uname -X) 2>/dev/null` ++ ++hostinfo = `(hostinfo) 2>/dev/null` ++/bin/universe = `(/bin/universe) 2>/dev/null` ++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` ++/bin/arch = `(/bin/arch) 2>/dev/null` ++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` ++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` ++ ++UNAME_MACHINE = ${UNAME_MACHINE} ++UNAME_RELEASE = ${UNAME_RELEASE} ++UNAME_SYSTEM = ${UNAME_SYSTEM} ++UNAME_VERSION = ${UNAME_VERSION} ++EOF ++ ++exit 1 ++ ++# Local variables: ++# eval: (add-hook 'write-file-hooks 'time-stamp) ++# time-stamp-start: "timestamp='" ++# time-stamp-format: "%:y-%02m-%02d" ++# time-stamp-end: "'" ++# End: +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/config/config.sub +@@ -0,0 +1,1443 @@ ++#! /bin/sh ++# Configuration validation subroutine script. ++# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, ++# 2000, 2001, 2002 Free Software Foundation, Inc. ++ ++timestamp='2002-03-07' ++ ++# This file is (in principle) common to ALL GNU software. ++# The presence of a machine in this file suggests that SOME GNU software ++# can handle that machine. It does not imply ALL GNU software can. ++# ++# This file is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, ++# Boston, MA 02111-1307, USA. ++ ++# As a special exception to the GNU General Public License, if you ++# distribute this file as part of a program that contains a ++# configuration script generated by Autoconf, you may include it under ++# the same distribution terms that you use for the rest of that program. ++ ++# Please send patches to . Submit a context ++# diff and a properly formatted ChangeLog entry. ++# ++# Configuration subroutine to validate and canonicalize a configuration type. ++# Supply the specified configuration type as an argument. ++# If it is invalid, we print an error message on stderr and exit with code 1. ++# Otherwise, we print the canonical config type on stdout and succeed. ++ ++# This file is supposed to be the same for all GNU packages ++# and recognize all the CPU types, system types and aliases ++# that are meaningful with *any* GNU software. ++# Each package is responsible for reporting which valid configurations ++# it does not support. The user should be able to distinguish ++# a failure to support a valid configuration from a meaningless ++# configuration. ++ ++# The goal of this file is to map all the various variations of a given ++# machine specification into a single specification in the form: ++# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM ++# or in some cases, the newer four-part form: ++# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM ++# It is wrong to echo any other type of specification. ++ ++me=`echo "$0" | sed -e 's,.*/,,'` ++ ++usage="\ ++Usage: $0 [OPTION] CPU-MFR-OPSYS ++ $0 [OPTION] ALIAS ++ ++Canonicalize a configuration name. ++ ++Operation modes: ++ -h, --help print this help, then exit ++ -t, --time-stamp print date of last modification, then exit ++ -v, --version print version number, then exit ++ ++Report bugs and patches to ." ++ ++version="\ ++GNU config.sub ($timestamp) ++ ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++Free Software Foundation, Inc. ++ ++This is free software; see the source for copying conditions. There is NO ++warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." ++ ++help=" ++Try \`$me --help' for more information." ++ ++# Parse command line ++while test $# -gt 0 ; do ++ case $1 in ++ --time-stamp | --time* | -t ) ++ echo "$timestamp" ; exit 0 ;; ++ --version | -v ) ++ echo "$version" ; exit 0 ;; ++ --help | --h* | -h ) ++ echo "$usage"; exit 0 ;; ++ -- ) # Stop option processing ++ shift; break ;; ++ - ) # Use stdin as input. ++ break ;; ++ -* ) ++ echo "$me: invalid option $1$help" ++ exit 1 ;; ++ ++ *local*) ++ # First pass through any local machine types. ++ echo $1 ++ exit 0;; ++ ++ * ) ++ break ;; ++ esac ++done ++ ++case $# in ++ 0) echo "$me: missing argument$help" >&2 ++ exit 1;; ++ 1) ;; ++ *) echo "$me: too many arguments$help" >&2 ++ exit 1;; ++esac ++ ++# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). ++# Here we must recognize all the valid KERNEL-OS combinations. ++maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` ++case $maybe_os in ++ nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*) ++ os=-$maybe_os ++ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ++ ;; ++ *) ++ basic_machine=`echo $1 | sed 's/-[^-]*$//'` ++ if [ $basic_machine != $1 ] ++ then os=`echo $1 | sed 's/.*-/-/'` ++ else os=; fi ++ ;; ++esac ++ ++### Let's recognize common machines as not being operating systems so ++### that things like config.sub decstation-3100 work. We also ++### recognize some manufacturers as not being operating systems, so we ++### can provide default operating systems below. ++case $os in ++ -sun*os*) ++ # Prevent following clause from handling this invalid input. ++ ;; ++ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ ++ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ ++ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ ++ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ ++ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ ++ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ ++ -apple | -axis) ++ os= ++ basic_machine=$1 ++ ;; ++ -sim | -cisco | -oki | -wec | -winbond) ++ os= ++ basic_machine=$1 ++ ;; ++ -scout) ++ ;; ++ -wrs) ++ os=-vxworks ++ basic_machine=$1 ++ ;; ++ -chorusos*) ++ os=-chorusos ++ basic_machine=$1 ++ ;; ++ -chorusrdb) ++ os=-chorusrdb ++ basic_machine=$1 ++ ;; ++ -hiux*) ++ os=-hiuxwe2 ++ ;; ++ -sco5) ++ os=-sco3.2v5 ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -sco4) ++ os=-sco3.2v4 ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -sco3.2.[4-9]*) ++ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -sco3.2v[4-9]*) ++ # Don't forget version if it is 3.2v4 or newer. ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -sco*) ++ os=-sco3.2v2 ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -udk*) ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -isc) ++ os=-isc2.2 ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -clix*) ++ basic_machine=clipper-intergraph ++ ;; ++ -isc*) ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -lynx*) ++ os=-lynxos ++ ;; ++ -ptx*) ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ++ ;; ++ -windowsnt*) ++ os=`echo $os | sed -e 's/windowsnt/winnt/'` ++ ;; ++ -psos*) ++ os=-psos ++ ;; ++ -mint | -mint[0-9]*) ++ basic_machine=m68k-atari ++ os=-mint ++ ;; ++esac ++ ++# Decode aliases for certain CPU-COMPANY combinations. ++case $basic_machine in ++ # Recognize the basic CPU types without company name. ++ # Some are omitted here because they have special meanings below. ++ 1750a | 580 \ ++ | a29k \ ++ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ ++ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ ++ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ ++ | c4x | clipper \ ++ | d10v | d30v | dsp16xx \ ++ | fr30 \ ++ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ ++ | i370 | i860 | i960 | ia64 \ ++ | m32r | m68000 | m68k | m88k | mcore \ ++ | mips | mips16 | mips64 | mips64el | mips64orion | mips64orionel \ ++ | mips64vr4100 | mips64vr4100el | mips64vr4300 \ ++ | mips64vr4300el | mips64vr5000 | mips64vr5000el \ ++ | mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \ ++ | mipsisa32 | mipsisa64 \ ++ | mn10200 | mn10300 \ ++ | ns16k | ns32k \ ++ | openrisc | or32 \ ++ | pdp10 | pdp11 | pj | pjl \ ++ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ ++ | pyramid \ ++ | sh | sh[34] | sh[34]eb | shbe | shle | sh64 \ ++ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ ++ | strongarm \ ++ | tahoe | thumb | tic80 | tron \ ++ | v850 | v850e \ ++ | we32k \ ++ | x86 | xscale | xstormy16 | xtensa \ ++ | z8k) ++ basic_machine=$basic_machine-unknown ++ ;; ++ m6811 | m68hc11 | m6812 | m68hc12) ++ # Motorola 68HC11/12. ++ basic_machine=$basic_machine-unknown ++ os=-none ++ ;; ++ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ++ ;; ++ ++ # We use `pc' rather than `unknown' ++ # because (1) that's what they normally are, and ++ # (2) the word "unknown" tends to confuse beginning users. ++ i*86 | x86_64) ++ basic_machine=$basic_machine-pc ++ ;; ++ # Object if more than one company name word. ++ *-*-*) ++ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 ++ exit 1 ++ ;; ++ # Recognize the basic CPU types with company name. ++ 580-* \ ++ | a29k-* \ ++ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ ++ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ ++ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ ++ | arm-* | armbe-* | armle-* | armv*-* \ ++ | avr-* \ ++ | bs2000-* \ ++ | c[123]* | c30-* | [cjt]90-* | c54x-* \ ++ | clipper-* | cydra-* \ ++ | d10v-* | d30v-* \ ++ | elxsi-* \ ++ | f30[01]-* | f700-* | fr30-* | fx80-* \ ++ | h8300-* | h8500-* \ ++ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ ++ | i*86-* | i860-* | i960-* | ia64-* \ ++ | m32r-* \ ++ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ ++ | m88110-* | m88k-* | mcore-* \ ++ | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \ ++ | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \ ++ | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipseb-* \ ++ | mipsle-* | mipsel-* | mipstx39-* | mipstx39el-* \ ++ | none-* | np1-* | ns16k-* | ns32k-* \ ++ | orion-* \ ++ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ ++ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ ++ | pyramid-* \ ++ | romp-* | rs6000-* \ ++ | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* | sh64-* \ ++ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ ++ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ ++ | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \ ++ | v850-* | v850e-* | vax-* \ ++ | we32k-* \ ++ | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ ++ | xtensa-* \ ++ | ymp-* \ ++ | z8k-*) ++ ;; ++ # Recognize the various machine names and aliases which stand ++ # for a CPU type and a company and sometimes even an OS. ++ 386bsd) ++ basic_machine=i386-unknown ++ os=-bsd ++ ;; ++ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) ++ basic_machine=m68000-att ++ ;; ++ 3b*) ++ basic_machine=we32k-att ++ ;; ++ a29khif) ++ basic_machine=a29k-amd ++ os=-udi ++ ;; ++ adobe68k) ++ basic_machine=m68010-adobe ++ os=-scout ++ ;; ++ alliant | fx80) ++ basic_machine=fx80-alliant ++ ;; ++ altos | altos3068) ++ basic_machine=m68k-altos ++ ;; ++ am29k) ++ basic_machine=a29k-none ++ os=-bsd ++ ;; ++ amdahl) ++ basic_machine=580-amdahl ++ os=-sysv ++ ;; ++ amiga | amiga-*) ++ basic_machine=m68k-unknown ++ ;; ++ amigaos | amigados) ++ basic_machine=m68k-unknown ++ os=-amigaos ++ ;; ++ amigaunix | amix) ++ basic_machine=m68k-unknown ++ os=-sysv4 ++ ;; ++ apollo68) ++ basic_machine=m68k-apollo ++ os=-sysv ++ ;; ++ apollo68bsd) ++ basic_machine=m68k-apollo ++ os=-bsd ++ ;; ++ aux) ++ basic_machine=m68k-apple ++ os=-aux ++ ;; ++ balance) ++ basic_machine=ns32k-sequent ++ os=-dynix ++ ;; ++ c90) ++ basic_machine=c90-cray ++ os=-unicos ++ ;; ++ convex-c1) ++ basic_machine=c1-convex ++ os=-bsd ++ ;; ++ convex-c2) ++ basic_machine=c2-convex ++ os=-bsd ++ ;; ++ convex-c32) ++ basic_machine=c32-convex ++ os=-bsd ++ ;; ++ convex-c34) ++ basic_machine=c34-convex ++ os=-bsd ++ ;; ++ convex-c38) ++ basic_machine=c38-convex ++ os=-bsd ++ ;; ++ cray | j90) ++ basic_machine=j90-cray ++ os=-unicos ++ ;; ++ crds | unos) ++ basic_machine=m68k-crds ++ ;; ++ cris | cris-* | etrax*) ++ basic_machine=cris-axis ++ ;; ++ da30 | da30-*) ++ basic_machine=m68k-da30 ++ ;; ++ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) ++ basic_machine=mips-dec ++ ;; ++ decsystem10* | dec10*) ++ basic_machine=pdp10-dec ++ os=-tops10 ++ ;; ++ decsystem20* | dec20*) ++ basic_machine=pdp10-dec ++ os=-tops20 ++ ;; ++ delta | 3300 | motorola-3300 | motorola-delta \ ++ | 3300-motorola | delta-motorola) ++ basic_machine=m68k-motorola ++ ;; ++ delta88) ++ basic_machine=m88k-motorola ++ os=-sysv3 ++ ;; ++ dpx20 | dpx20-*) ++ basic_machine=rs6000-bull ++ os=-bosx ++ ;; ++ dpx2* | dpx2*-bull) ++ basic_machine=m68k-bull ++ os=-sysv3 ++ ;; ++ ebmon29k) ++ basic_machine=a29k-amd ++ os=-ebmon ++ ;; ++ elxsi) ++ basic_machine=elxsi-elxsi ++ os=-bsd ++ ;; ++ encore | umax | mmax) ++ basic_machine=ns32k-encore ++ ;; ++ es1800 | OSE68k | ose68k | ose | OSE) ++ basic_machine=m68k-ericsson ++ os=-ose ++ ;; ++ fx2800) ++ basic_machine=i860-alliant ++ ;; ++ genix) ++ basic_machine=ns32k-ns ++ ;; ++ gmicro) ++ basic_machine=tron-gmicro ++ os=-sysv ++ ;; ++ go32) ++ basic_machine=i386-pc ++ os=-go32 ++ ;; ++ h3050r* | hiux*) ++ basic_machine=hppa1.1-hitachi ++ os=-hiuxwe2 ++ ;; ++ h8300hms) ++ basic_machine=h8300-hitachi ++ os=-hms ++ ;; ++ h8300xray) ++ basic_machine=h8300-hitachi ++ os=-xray ++ ;; ++ h8500hms) ++ basic_machine=h8500-hitachi ++ os=-hms ++ ;; ++ harris) ++ basic_machine=m88k-harris ++ os=-sysv3 ++ ;; ++ hp300-*) ++ basic_machine=m68k-hp ++ ;; ++ hp300bsd) ++ basic_machine=m68k-hp ++ os=-bsd ++ ;; ++ hp300hpux) ++ basic_machine=m68k-hp ++ os=-hpux ++ ;; ++ hp3k9[0-9][0-9] | hp9[0-9][0-9]) ++ basic_machine=hppa1.0-hp ++ ;; ++ hp9k2[0-9][0-9] | hp9k31[0-9]) ++ basic_machine=m68000-hp ++ ;; ++ hp9k3[2-9][0-9]) ++ basic_machine=m68k-hp ++ ;; ++ hp9k6[0-9][0-9] | hp6[0-9][0-9]) ++ basic_machine=hppa1.0-hp ++ ;; ++ hp9k7[0-79][0-9] | hp7[0-79][0-9]) ++ basic_machine=hppa1.1-hp ++ ;; ++ hp9k78[0-9] | hp78[0-9]) ++ # FIXME: really hppa2.0-hp ++ basic_machine=hppa1.1-hp ++ ;; ++ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) ++ # FIXME: really hppa2.0-hp ++ basic_machine=hppa1.1-hp ++ ;; ++ hp9k8[0-9][13679] | hp8[0-9][13679]) ++ basic_machine=hppa1.1-hp ++ ;; ++ hp9k8[0-9][0-9] | hp8[0-9][0-9]) ++ basic_machine=hppa1.0-hp ++ ;; ++ hppa-next) ++ os=-nextstep3 ++ ;; ++ hppaosf) ++ basic_machine=hppa1.1-hp ++ os=-osf ++ ;; ++ hppro) ++ basic_machine=hppa1.1-hp ++ os=-proelf ++ ;; ++ i370-ibm* | ibm*) ++ basic_machine=i370-ibm ++ ;; ++# I'm not sure what "Sysv32" means. Should this be sysv3.2? ++ i*86v32) ++ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` ++ os=-sysv32 ++ ;; ++ i*86v4*) ++ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` ++ os=-sysv4 ++ ;; ++ i*86v) ++ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` ++ os=-sysv ++ ;; ++ i*86sol2) ++ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` ++ os=-solaris2 ++ ;; ++ i386mach) ++ basic_machine=i386-mach ++ os=-mach ++ ;; ++ i386-vsta | vsta) ++ basic_machine=i386-unknown ++ os=-vsta ++ ;; ++ iris | iris4d) ++ basic_machine=mips-sgi ++ case $os in ++ -irix*) ++ ;; ++ *) ++ os=-irix4 ++ ;; ++ esac ++ ;; ++ isi68 | isi) ++ basic_machine=m68k-isi ++ os=-sysv ++ ;; ++ m88k-omron*) ++ basic_machine=m88k-omron ++ ;; ++ magnum | m3230) ++ basic_machine=mips-mips ++ os=-sysv ++ ;; ++ merlin) ++ basic_machine=ns32k-utek ++ os=-sysv ++ ;; ++ mingw32) ++ basic_machine=i386-pc ++ os=-mingw32 ++ ;; ++ miniframe) ++ basic_machine=m68000-convergent ++ ;; ++ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) ++ basic_machine=m68k-atari ++ os=-mint ++ ;; ++ mips3*-*) ++ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ++ ;; ++ mips3*) ++ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ++ ;; ++ mmix*) ++ basic_machine=mmix-knuth ++ os=-mmixware ++ ;; ++ monitor) ++ basic_machine=m68k-rom68k ++ os=-coff ++ ;; ++ morphos) ++ basic_machine=powerpc-unknown ++ os=-morphos ++ ;; ++ msdos) ++ basic_machine=i386-pc ++ os=-msdos ++ ;; ++ mvs) ++ basic_machine=i370-ibm ++ os=-mvs ++ ;; ++ ncr3000) ++ basic_machine=i486-ncr ++ os=-sysv4 ++ ;; ++ netbsd386) ++ basic_machine=i386-unknown ++ os=-netbsd ++ ;; ++ netwinder) ++ basic_machine=armv4l-rebel ++ os=-linux ++ ;; ++ news | news700 | news800 | news900) ++ basic_machine=m68k-sony ++ os=-newsos ++ ;; ++ news1000) ++ basic_machine=m68030-sony ++ os=-newsos ++ ;; ++ news-3600 | risc-news) ++ basic_machine=mips-sony ++ os=-newsos ++ ;; ++ necv70) ++ basic_machine=v70-nec ++ os=-sysv ++ ;; ++ next | m*-next ) ++ basic_machine=m68k-next ++ case $os in ++ -nextstep* ) ++ ;; ++ -ns2*) ++ os=-nextstep2 ++ ;; ++ *) ++ os=-nextstep3 ++ ;; ++ esac ++ ;; ++ nh3000) ++ basic_machine=m68k-harris ++ os=-cxux ++ ;; ++ nh[45]000) ++ basic_machine=m88k-harris ++ os=-cxux ++ ;; ++ nindy960) ++ basic_machine=i960-intel ++ os=-nindy ++ ;; ++ mon960) ++ basic_machine=i960-intel ++ os=-mon960 ++ ;; ++ nonstopux) ++ basic_machine=mips-compaq ++ os=-nonstopux ++ ;; ++ np1) ++ basic_machine=np1-gould ++ ;; ++ nsr-tandem) ++ basic_machine=nsr-tandem ++ ;; ++ op50n-* | op60c-*) ++ basic_machine=hppa1.1-oki ++ os=-proelf ++ ;; ++ or32 | or32-*) ++ basic_machine=or32-unknown ++ os=-coff ++ ;; ++ OSE68000 | ose68000) ++ basic_machine=m68000-ericsson ++ os=-ose ++ ;; ++ os68k) ++ basic_machine=m68k-none ++ os=-os68k ++ ;; ++ pa-hitachi) ++ basic_machine=hppa1.1-hitachi ++ os=-hiuxwe2 ++ ;; ++ paragon) ++ basic_machine=i860-intel ++ os=-osf ++ ;; ++ pbd) ++ basic_machine=sparc-tti ++ ;; ++ pbb) ++ basic_machine=m68k-tti ++ ;; ++ pc532 | pc532-*) ++ basic_machine=ns32k-pc532 ++ ;; ++ pentium | p5 | k5 | k6 | nexgen | viac3) ++ basic_machine=i586-pc ++ ;; ++ pentiumpro | p6 | 6x86 | athlon) ++ basic_machine=i686-pc ++ ;; ++ pentiumii | pentium2) ++ basic_machine=i686-pc ++ ;; ++ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) ++ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ pentiumpro-* | p6-* | 6x86-* | athlon-*) ++ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ pentiumii-* | pentium2-*) ++ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ pn) ++ basic_machine=pn-gould ++ ;; ++ power) basic_machine=power-ibm ++ ;; ++ ppc) basic_machine=powerpc-unknown ++ ;; ++ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ ppcle | powerpclittle | ppc-le | powerpc-little) ++ basic_machine=powerpcle-unknown ++ ;; ++ ppcle-* | powerpclittle-*) ++ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ ppc64) basic_machine=powerpc64-unknown ++ ;; ++ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ ppc64le | powerpc64little | ppc64-le | powerpc64-little) ++ basic_machine=powerpc64le-unknown ++ ;; ++ ppc64le-* | powerpc64little-*) ++ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ ps2) ++ basic_machine=i386-ibm ++ ;; ++ pw32) ++ basic_machine=i586-unknown ++ os=-pw32 ++ ;; ++ rom68k) ++ basic_machine=m68k-rom68k ++ os=-coff ++ ;; ++ rm[46]00) ++ basic_machine=mips-siemens ++ ;; ++ rtpc | rtpc-*) ++ basic_machine=romp-ibm ++ ;; ++ s390 | s390-*) ++ basic_machine=s390-ibm ++ ;; ++ s390x | s390x-*) ++ basic_machine=s390x-ibm ++ ;; ++ sa29200) ++ basic_machine=a29k-amd ++ os=-udi ++ ;; ++ sequent) ++ basic_machine=i386-sequent ++ ;; ++ sh) ++ basic_machine=sh-hitachi ++ os=-hms ++ ;; ++ sparclite-wrs | simso-wrs) ++ basic_machine=sparclite-wrs ++ os=-vxworks ++ ;; ++ sps7) ++ basic_machine=m68k-bull ++ os=-sysv2 ++ ;; ++ spur) ++ basic_machine=spur-unknown ++ ;; ++ st2000) ++ basic_machine=m68k-tandem ++ ;; ++ stratus) ++ basic_machine=i860-stratus ++ os=-sysv4 ++ ;; ++ sun2) ++ basic_machine=m68000-sun ++ ;; ++ sun2os3) ++ basic_machine=m68000-sun ++ os=-sunos3 ++ ;; ++ sun2os4) ++ basic_machine=m68000-sun ++ os=-sunos4 ++ ;; ++ sun3os3) ++ basic_machine=m68k-sun ++ os=-sunos3 ++ ;; ++ sun3os4) ++ basic_machine=m68k-sun ++ os=-sunos4 ++ ;; ++ sun4os3) ++ basic_machine=sparc-sun ++ os=-sunos3 ++ ;; ++ sun4os4) ++ basic_machine=sparc-sun ++ os=-sunos4 ++ ;; ++ sun4sol2) ++ basic_machine=sparc-sun ++ os=-solaris2 ++ ;; ++ sun3 | sun3-*) ++ basic_machine=m68k-sun ++ ;; ++ sun4) ++ basic_machine=sparc-sun ++ ;; ++ sun386 | sun386i | roadrunner) ++ basic_machine=i386-sun ++ ;; ++ sv1) ++ basic_machine=sv1-cray ++ os=-unicos ++ ;; ++ symmetry) ++ basic_machine=i386-sequent ++ os=-dynix ++ ;; ++ t3d) ++ basic_machine=alpha-cray ++ os=-unicos ++ ;; ++ t3e) ++ basic_machine=alphaev5-cray ++ os=-unicos ++ ;; ++ t90) ++ basic_machine=t90-cray ++ os=-unicos ++ ;; ++ tic54x | c54x*) ++ basic_machine=tic54x-unknown ++ os=-coff ++ ;; ++ tx39) ++ basic_machine=mipstx39-unknown ++ ;; ++ tx39el) ++ basic_machine=mipstx39el-unknown ++ ;; ++ toad1) ++ basic_machine=pdp10-xkl ++ os=-tops20 ++ ;; ++ tower | tower-32) ++ basic_machine=m68k-ncr ++ ;; ++ udi29k) ++ basic_machine=a29k-amd ++ os=-udi ++ ;; ++ ultra3) ++ basic_machine=a29k-nyu ++ os=-sym1 ++ ;; ++ v810 | necv810) ++ basic_machine=v810-nec ++ os=-none ++ ;; ++ vaxv) ++ basic_machine=vax-dec ++ os=-sysv ++ ;; ++ vms) ++ basic_machine=vax-dec ++ os=-vms ++ ;; ++ vpp*|vx|vx-*) ++ basic_machine=f301-fujitsu ++ ;; ++ vxworks960) ++ basic_machine=i960-wrs ++ os=-vxworks ++ ;; ++ vxworks68) ++ basic_machine=m68k-wrs ++ os=-vxworks ++ ;; ++ vxworks29k) ++ basic_machine=a29k-wrs ++ os=-vxworks ++ ;; ++ w65*) ++ basic_machine=w65-wdc ++ os=-none ++ ;; ++ w89k-*) ++ basic_machine=hppa1.1-winbond ++ os=-proelf ++ ;; ++ windows32) ++ basic_machine=i386-pc ++ os=-windows32-msvcrt ++ ;; ++ xps | xps100) ++ basic_machine=xps100-honeywell ++ ;; ++ ymp) ++ basic_machine=ymp-cray ++ os=-unicos ++ ;; ++ z8k-*-coff) ++ basic_machine=z8k-unknown ++ os=-sim ++ ;; ++ none) ++ basic_machine=none-none ++ os=-none ++ ;; ++ ++# Here we handle the default manufacturer of certain CPU types. It is in ++# some cases the only manufacturer, in others, it is the most popular. ++ w89k) ++ basic_machine=hppa1.1-winbond ++ ;; ++ op50n) ++ basic_machine=hppa1.1-oki ++ ;; ++ op60c) ++ basic_machine=hppa1.1-oki ++ ;; ++ romp) ++ basic_machine=romp-ibm ++ ;; ++ rs6000) ++ basic_machine=rs6000-ibm ++ ;; ++ vax) ++ basic_machine=vax-dec ++ ;; ++ pdp10) ++ # there are many clones, so DEC is not a safe bet ++ basic_machine=pdp10-unknown ++ ;; ++ pdp11) ++ basic_machine=pdp11-dec ++ ;; ++ we32k) ++ basic_machine=we32k-att ++ ;; ++ sh3 | sh4 | sh3eb | sh4eb) ++ basic_machine=sh-unknown ++ ;; ++ sh64) ++ basic_machine=sh64-unknown ++ ;; ++ sparc | sparcv9 | sparcv9b) ++ basic_machine=sparc-sun ++ ;; ++ cydra) ++ basic_machine=cydra-cydrome ++ ;; ++ orion) ++ basic_machine=orion-highlevel ++ ;; ++ orion105) ++ basic_machine=clipper-highlevel ++ ;; ++ mac | mpw | mac-mpw) ++ basic_machine=m68k-apple ++ ;; ++ pmac | pmac-mpw) ++ basic_machine=powerpc-apple ++ ;; ++ c4x*) ++ basic_machine=c4x-none ++ os=-coff ++ ;; ++ *-unknown) ++ # Make sure to match an already-canonicalized machine name. ++ ;; ++ *) ++ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 ++ exit 1 ++ ;; ++esac ++ ++# Here we canonicalize certain aliases for manufacturers. ++case $basic_machine in ++ *-digital*) ++ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ++ ;; ++ *-commodore*) ++ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ++ ;; ++ *) ++ ;; ++esac ++ ++# Decode manufacturer-specific aliases for certain operating systems. ++ ++if [ x"$os" != x"" ] ++then ++case $os in ++ # First match some system type aliases ++ # that might get confused with valid system types. ++ # -solaris* is a basic system type, with this one exception. ++ -solaris1 | -solaris1.*) ++ os=`echo $os | sed -e 's|solaris1|sunos4|'` ++ ;; ++ -solaris) ++ os=-solaris2 ++ ;; ++ -svr4*) ++ os=-sysv4 ++ ;; ++ -unixware*) ++ os=-sysv4.2uw ++ ;; ++ -gnu/linux*) ++ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ++ ;; ++ # First accept the basic system types. ++ # The portable systems comes first. ++ # Each alternative MUST END IN A *, to match a version number. ++ # -sysv* is not here because it comes later, after sysvr4. ++ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ ++ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ ++ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ ++ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ ++ | -aos* \ ++ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ ++ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ ++ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ ++ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ ++ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ ++ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ ++ | -chorusos* | -chorusrdb* \ ++ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ ++ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ ++ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ ++ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ ++ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ ++ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ ++ | -morphos* | -superux* | -rtmk* | -rtmk-nova*) ++ # Remember, each alternative MUST END IN *, to match a version number. ++ ;; ++ -qnx*) ++ case $basic_machine in ++ x86-* | i*86-*) ++ ;; ++ *) ++ os=-nto$os ++ ;; ++ esac ++ ;; ++ -nto*) ++ os=-nto-qnx ++ ;; ++ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ ++ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ ++ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ++ ;; ++ -mac*) ++ os=`echo $os | sed -e 's|mac|macos|'` ++ ;; ++ -linux*) ++ os=`echo $os | sed -e 's|linux|linux-gnu|'` ++ ;; ++ -sunos5*) ++ os=`echo $os | sed -e 's|sunos5|solaris2|'` ++ ;; ++ -sunos6*) ++ os=`echo $os | sed -e 's|sunos6|solaris3|'` ++ ;; ++ -opened*) ++ os=-openedition ++ ;; ++ -wince*) ++ os=-wince ++ ;; ++ -osfrose*) ++ os=-osfrose ++ ;; ++ -osf*) ++ os=-osf ++ ;; ++ -utek*) ++ os=-bsd ++ ;; ++ -dynix*) ++ os=-bsd ++ ;; ++ -acis*) ++ os=-aos ++ ;; ++ -atheos*) ++ os=-atheos ++ ;; ++ -386bsd) ++ os=-bsd ++ ;; ++ -ctix* | -uts*) ++ os=-sysv ++ ;; ++ -nova*) ++ os=-rtmk-nova ++ ;; ++ -ns2 ) ++ os=-nextstep2 ++ ;; ++ -nsk*) ++ os=-nsk ++ ;; ++ # Preserve the version number of sinix5. ++ -sinix5.*) ++ os=`echo $os | sed -e 's|sinix|sysv|'` ++ ;; ++ -sinix*) ++ os=-sysv4 ++ ;; ++ -triton*) ++ os=-sysv3 ++ ;; ++ -oss*) ++ os=-sysv3 ++ ;; ++ -svr4) ++ os=-sysv4 ++ ;; ++ -svr3) ++ os=-sysv3 ++ ;; ++ -sysvr4) ++ os=-sysv4 ++ ;; ++ # This must come after -sysvr4. ++ -sysv*) ++ ;; ++ -ose*) ++ os=-ose ++ ;; ++ -es1800*) ++ os=-ose ++ ;; ++ -xenix) ++ os=-xenix ++ ;; ++ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) ++ os=-mint ++ ;; ++ -none) ++ ;; ++ *) ++ # Get rid of the `-' at the beginning of $os. ++ os=`echo $os | sed 's/[^-]*-//'` ++ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 ++ exit 1 ++ ;; ++esac ++else ++ ++# Here we handle the default operating systems that come with various machines. ++# The value should be what the vendor currently ships out the door with their ++# machine or put another way, the most popular os provided with the machine. ++ ++# Note that if you're going to try to match "-MANUFACTURER" here (say, ++# "-sun"), then you have to tell the case statement up towards the top ++# that MANUFACTURER isn't an operating system. Otherwise, code above ++# will signal an error saying that MANUFACTURER isn't an operating ++# system, and we'll never get to this point. ++ ++case $basic_machine in ++ *-acorn) ++ os=-riscix1.2 ++ ;; ++ arm*-rebel) ++ os=-linux ++ ;; ++ arm*-semi) ++ os=-aout ++ ;; ++ # This must come before the *-dec entry. ++ pdp10-*) ++ os=-tops20 ++ ;; ++ pdp11-*) ++ os=-none ++ ;; ++ *-dec | vax-*) ++ os=-ultrix4.2 ++ ;; ++ m68*-apollo) ++ os=-domain ++ ;; ++ i386-sun) ++ os=-sunos4.0.2 ++ ;; ++ m68000-sun) ++ os=-sunos3 ++ # This also exists in the configure program, but was not the ++ # default. ++ # os=-sunos4 ++ ;; ++ m68*-cisco) ++ os=-aout ++ ;; ++ mips*-cisco) ++ os=-elf ++ ;; ++ mips*-*) ++ os=-elf ++ ;; ++ or32-*) ++ os=-coff ++ ;; ++ *-tti) # must be before sparc entry or we get the wrong os. ++ os=-sysv3 ++ ;; ++ sparc-* | *-sun) ++ os=-sunos4.1.1 ++ ;; ++ *-be) ++ os=-beos ++ ;; ++ *-ibm) ++ os=-aix ++ ;; ++ *-wec) ++ os=-proelf ++ ;; ++ *-winbond) ++ os=-proelf ++ ;; ++ *-oki) ++ os=-proelf ++ ;; ++ *-hp) ++ os=-hpux ++ ;; ++ *-hitachi) ++ os=-hiux ++ ;; ++ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) ++ os=-sysv ++ ;; ++ *-cbm) ++ os=-amigaos ++ ;; ++ *-dg) ++ os=-dgux ++ ;; ++ *-dolphin) ++ os=-sysv3 ++ ;; ++ m68k-ccur) ++ os=-rtu ++ ;; ++ m88k-omron*) ++ os=-luna ++ ;; ++ *-next ) ++ os=-nextstep ++ ;; ++ *-sequent) ++ os=-ptx ++ ;; ++ *-crds) ++ os=-unos ++ ;; ++ *-ns) ++ os=-genix ++ ;; ++ i370-*) ++ os=-mvs ++ ;; ++ *-next) ++ os=-nextstep3 ++ ;; ++ *-gould) ++ os=-sysv ++ ;; ++ *-highlevel) ++ os=-bsd ++ ;; ++ *-encore) ++ os=-bsd ++ ;; ++ *-sgi) ++ os=-irix ++ ;; ++ *-siemens) ++ os=-sysv4 ++ ;; ++ *-masscomp) ++ os=-rtu ++ ;; ++ f30[01]-fujitsu | f700-fujitsu) ++ os=-uxpv ++ ;; ++ *-rom68k) ++ os=-coff ++ ;; ++ *-*bug) ++ os=-coff ++ ;; ++ *-apple) ++ os=-macos ++ ;; ++ *-atari*) ++ os=-mint ++ ;; ++ *) ++ os=-none ++ ;; ++esac ++fi ++ ++# Here we handle the case where we know the os, and the CPU type, but not the ++# manufacturer. We pick the logical manufacturer. ++vendor=unknown ++case $basic_machine in ++ *-unknown) ++ case $os in ++ -riscix*) ++ vendor=acorn ++ ;; ++ -sunos*) ++ vendor=sun ++ ;; ++ -aix*) ++ vendor=ibm ++ ;; ++ -beos*) ++ vendor=be ++ ;; ++ -hpux*) ++ vendor=hp ++ ;; ++ -mpeix*) ++ vendor=hp ++ ;; ++ -hiux*) ++ vendor=hitachi ++ ;; ++ -unos*) ++ vendor=crds ++ ;; ++ -dgux*) ++ vendor=dg ++ ;; ++ -luna*) ++ vendor=omron ++ ;; ++ -genix*) ++ vendor=ns ++ ;; ++ -mvs* | -opened*) ++ vendor=ibm ++ ;; ++ -ptx*) ++ vendor=sequent ++ ;; ++ -vxsim* | -vxworks*) ++ vendor=wrs ++ ;; ++ -aux*) ++ vendor=apple ++ ;; ++ -hms*) ++ vendor=hitachi ++ ;; ++ -mpw* | -macos*) ++ vendor=apple ++ ;; ++ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) ++ vendor=atari ++ ;; ++ -vos*) ++ vendor=stratus ++ ;; ++ esac ++ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ++ ;; ++esac ++ ++echo $basic_machine$os ++exit 0 ++ ++# Local variables: ++# eval: (add-hook 'write-file-hooks 'time-stamp) ++# time-stamp-start: "timestamp='" ++# time-stamp-format: "%:y-%02m-%02d" ++# time-stamp-end: "'" ++# End: +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/config/depcomp +@@ -0,0 +1,411 @@ ++#! /bin/sh ++ ++# depcomp - compile a program generating dependencies as side-effects ++# Copyright 1999, 2000 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++# As a special exception to the GNU General Public License, if you ++# distribute this file as part of a program that contains a ++# configuration script generated by Autoconf, you may include it under ++# the same distribution terms that you use for the rest of that program. ++ ++# Originally written by Alexandre Oliva . ++ ++if test -z "$depmode" || test -z "$source" || test -z "$object"; then ++ echo "depcomp: Variables source, object and depmode must be set" 1>&2 ++ exit 1 ++fi ++# `libtool' can also be set to `yes' or `no'. ++ ++depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`} ++tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} ++ ++rm -f "$tmpdepfile" ++ ++# Some modes work just like other modes, but use different flags. We ++# parameterize here, but still list the modes in the big case below, ++# to make depend.m4 easier to write. Note that we *cannot* use a case ++# here, because this file can only contain one case statement. ++if test "$depmode" = hp; then ++ # HP compiler uses -M and no extra arg. ++ gccflag=-M ++ depmode=gcc ++fi ++ ++if test "$depmode" = dashXmstdout; then ++ # This is just like dashmstdout with a different argument. ++ dashmflag=-xM ++ depmode=dashmstdout ++fi ++ ++case "$depmode" in ++gcc3) ++## gcc 3 implements dependency tracking that does exactly what ++## we want. Yay! Note: for some reason libtool 1.4 doesn't like ++## it if -MD -MP comes after the -MF stuff. Hmm. ++ "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" ++ stat=$? ++ if test $stat -eq 0; then : ++ else ++ rm -f "$tmpdepfile" ++ exit $stat ++ fi ++ mv "$tmpdepfile" "$depfile" ++ ;; ++ ++gcc) ++## There are various ways to get dependency output from gcc. Here's ++## why we pick this rather obscure method: ++## - Don't want to use -MD because we'd like the dependencies to end ++## up in a subdir. Having to rename by hand is ugly. ++## (We might end up doing this anyway to support other compilers.) ++## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ++## -MM, not -M (despite what the docs say). ++## - Using -M directly means running the compiler twice (even worse ++## than renaming). ++ if test -z "$gccflag"; then ++ gccflag=-MD, ++ fi ++ "$@" -Wp,"$gccflag$tmpdepfile" ++ stat=$? ++ if test $stat -eq 0; then : ++ else ++ rm -f "$tmpdepfile" ++ exit $stat ++ fi ++ rm -f "$depfile" ++ echo "$object : \\" > "$depfile" ++ alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ++## The second -e expression handles DOS-style file names with drive letters. ++ sed -e 's/^[^:]*: / /' \ ++ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ++## This next piece of magic avoids the `deleted header file' problem. ++## The problem is that when a header file which appears in a .P file ++## is deleted, the dependency causes make to die (because there is ++## typically no way to rebuild the header). We avoid this by adding ++## dummy dependencies for each header file. Too bad gcc doesn't do ++## this for us directly. ++ tr ' ' ' ++' < "$tmpdepfile" | ++## Some versions of gcc put a space before the `:'. On the theory ++## that the space means something, we add a space to the output as ++## well. ++## Some versions of the HPUX 10.20 sed can't process this invocation ++## correctly. Breaking it into two sed invocations is a workaround. ++ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" ++ rm -f "$tmpdepfile" ++ ;; ++ ++hp) ++ # This case exists only to let depend.m4 do its work. It works by ++ # looking at the text of this script. This case will never be run, ++ # since it is checked for above. ++ exit 1 ++ ;; ++ ++sgi) ++ if test "$libtool" = yes; then ++ "$@" "-Wp,-MDupdate,$tmpdepfile" ++ else ++ "$@" -MDupdate "$tmpdepfile" ++ fi ++ stat=$? ++ if test $stat -eq 0; then : ++ else ++ rm -f "$tmpdepfile" ++ exit $stat ++ fi ++ rm -f "$depfile" ++ ++ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files ++ echo "$object : \\" > "$depfile" ++ ++ # Clip off the initial element (the dependent). Don't try to be ++ # clever and replace this with sed code, as IRIX sed won't handle ++ # lines with more than a fixed number of characters (4096 in ++ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; ++ # the IRIX cc adds comments like `#:fec' to the end of the ++ # dependency line. ++ tr ' ' ' ++' < "$tmpdepfile" \ ++ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ ++ tr ' ++' ' ' >> $depfile ++ echo >> $depfile ++ ++ # The second pass generates a dummy entry for each header file. ++ tr ' ' ' ++' < "$tmpdepfile" \ ++ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ ++ >> $depfile ++ else ++ # The sourcefile does not contain any dependencies, so just ++ # store a dummy comment line, to avoid errors with the Makefile ++ # "include basename.Plo" scheme. ++ echo "#dummy" > "$depfile" ++ fi ++ rm -f "$tmpdepfile" ++ ;; ++ ++aix) ++ # The C for AIX Compiler uses -M and outputs the dependencies ++ # in a .u file. This file always lives in the current directory. ++ # Also, the AIX compiler puts `$object:' at the start of each line; ++ # $object doesn't have directory information. ++ stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` ++ tmpdepfile="$stripped.u" ++ outname="$stripped.o" ++ if test "$libtool" = yes; then ++ "$@" -Wc,-M ++ else ++ "$@" -M ++ fi ++ ++ stat=$? ++ if test $stat -eq 0; then : ++ else ++ rm -f "$tmpdepfile" ++ exit $stat ++ fi ++ ++ if test -f "$tmpdepfile"; then ++ # Each line is of the form `foo.o: dependent.h'. ++ # Do two passes, one to just change these to ++ # `$object: dependent.h' and one to simply `dependent.h:'. ++ sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" ++ sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" ++ else ++ # The sourcefile does not contain any dependencies, so just ++ # store a dummy comment line, to avoid errors with the Makefile ++ # "include basename.Plo" scheme. ++ echo "#dummy" > "$depfile" ++ fi ++ rm -f "$tmpdepfile" ++ ;; ++ ++tru64) ++ # The Tru64 AIX compiler uses -MD to generate dependencies as a side ++ # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. ++ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put ++ # dependencies in `foo.d' instead, so we check for that too. ++ # Subdirectories are respected. ++ ++ tmpdepfile1="$object.d" ++ tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'` ++ if test "$libtool" = yes; then ++ "$@" -Wc,-MD ++ else ++ "$@" -MD ++ fi ++ ++ stat=$? ++ if test $stat -eq 0; then : ++ else ++ rm -f "$tmpdepfile1" "$tmpdepfile2" ++ exit $stat ++ fi ++ ++ if test -f "$tmpdepfile1"; then ++ tmpdepfile="$tmpdepfile1" ++ else ++ tmpdepfile="$tmpdepfile2" ++ fi ++ if test -f "$tmpdepfile"; then ++ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" ++ # That's a space and a tab in the []. ++ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" ++ else ++ echo "#dummy" > "$depfile" ++ fi ++ rm -f "$tmpdepfile" ++ ;; ++ ++#nosideeffect) ++ # This comment above is used by automake to tell side-effect ++ # dependency tracking mechanisms from slower ones. ++ ++dashmstdout) ++ # Important note: in order to support this mode, a compiler *must* ++ # always write the proprocessed file to stdout, regardless of -o, ++ # because we must use -o when running libtool. ++ test -z "$dashmflag" && dashmflag=-M ++ ( IFS=" " ++ case " $* " in ++ *" --mode=compile "*) # this is libtool, let us make it quiet ++ for arg ++ do # cycle over the arguments ++ case "$arg" in ++ "--mode=compile") ++ # insert --quiet before "--mode=compile" ++ set fnord "$@" --quiet ++ shift # fnord ++ ;; ++ esac ++ set fnord "$@" "$arg" ++ shift # fnord ++ shift # "$arg" ++ done ++ ;; ++ esac ++ "$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" ++ ) & ++ proc=$! ++ "$@" ++ stat=$? ++ wait "$proc" ++ if test "$stat" != 0; then exit $stat; fi ++ rm -f "$depfile" ++ cat < "$tmpdepfile" > "$depfile" ++ tr ' ' ' ++' < "$tmpdepfile" | \ ++## Some versions of the HPUX 10.20 sed can't process this invocation ++## correctly. Breaking it into two sed invocations is a workaround. ++ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" ++ rm -f "$tmpdepfile" ++ ;; ++ ++dashXmstdout) ++ # This case only exists to satisfy depend.m4. It is never actually ++ # run, as this mode is specially recognized in the preamble. ++ exit 1 ++ ;; ++ ++makedepend) ++ # X makedepend ++ ( ++ shift ++ cleared=no ++ for arg in "$@"; do ++ case $cleared in no) ++ set ""; shift ++ cleared=yes ++ esac ++ case "$arg" in ++ -D*|-I*) ++ set fnord "$@" "$arg"; shift;; ++ -*) ++ ;; ++ *) ++ set fnord "$@" "$arg"; shift;; ++ esac ++ done ++ obj_suffix="`echo $object | sed 's/^.*\././'`" ++ touch "$tmpdepfile" ++ ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@" ++ ) & ++ proc=$! ++ "$@" ++ stat=$? ++ wait "$proc" ++ if test "$stat" != 0; then exit $stat; fi ++ rm -f "$depfile" ++ cat < "$tmpdepfile" > "$depfile" ++ tail +3 "$tmpdepfile" | tr ' ' ' ++' | \ ++## Some versions of the HPUX 10.20 sed can't process this invocation ++## correctly. Breaking it into two sed invocations is a workaround. ++ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" ++ rm -f "$tmpdepfile" "$tmpdepfile".bak ++ ;; ++ ++cpp) ++ # Important note: in order to support this mode, a compiler *must* ++ # always write the proprocessed file to stdout, regardless of -o, ++ # because we must use -o when running libtool. ++ ( IFS=" " ++ case " $* " in ++ *" --mode=compile "*) ++ for arg ++ do # cycle over the arguments ++ case $arg in ++ "--mode=compile") ++ # insert --quiet before "--mode=compile" ++ set fnord "$@" --quiet ++ shift # fnord ++ ;; ++ esac ++ set fnord "$@" "$arg" ++ shift # fnord ++ shift # "$arg" ++ done ++ ;; ++ esac ++ "$@" -E | ++ sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | ++ sed '$ s: \\$::' > "$tmpdepfile" ++ ) & ++ proc=$! ++ "$@" ++ stat=$? ++ wait "$proc" ++ if test "$stat" != 0; then exit $stat; fi ++ rm -f "$depfile" ++ echo "$object : \\" > "$depfile" ++ cat < "$tmpdepfile" >> "$depfile" ++ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" ++ rm -f "$tmpdepfile" ++ ;; ++ ++msvisualcpp) ++ # Important note: in order to support this mode, a compiler *must* ++ # always write the proprocessed file to stdout, regardless of -o, ++ # because we must use -o when running libtool. ++ ( IFS=" " ++ case " $* " in ++ *" --mode=compile "*) ++ for arg ++ do # cycle over the arguments ++ case $arg in ++ "--mode=compile") ++ # insert --quiet before "--mode=compile" ++ set fnord "$@" --quiet ++ shift # fnord ++ ;; ++ esac ++ set fnord "$@" "$arg" ++ shift # fnord ++ shift # "$arg" ++ done ++ ;; ++ esac ++ "$@" -E | ++ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" ++ ) & ++ proc=$! ++ "$@" ++ stat=$? ++ wait "$proc" ++ if test "$stat" != 0; then exit $stat; fi ++ rm -f "$depfile" ++ echo "$object : \\" > "$depfile" ++ . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" ++ echo " " >> "$depfile" ++ . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" ++ rm -f "$tmpdepfile" ++ ;; ++ ++none) ++ exec "$@" ++ ;; ++ ++*) ++ echo "Unknown depmode $depmode" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++exit 0 +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/config/install-sh +@@ -0,0 +1,251 @@ ++#!/bin/sh ++# ++# install - install a program, script, or datafile ++# This comes from X11R5 (mit/util/scripts/install.sh). ++# ++# Copyright 1991 by the Massachusetts Institute of Technology ++# ++# Permission to use, copy, modify, distribute, and sell this software and its ++# documentation for any purpose is hereby granted without fee, provided that ++# the above copyright notice appear in all copies and that both that ++# copyright notice and this permission notice appear in supporting ++# documentation, and that the name of M.I.T. not be used in advertising or ++# publicity pertaining to distribution of the software without specific, ++# written prior permission. M.I.T. makes no representations about the ++# suitability of this software for any purpose. It is provided "as is" ++# without express or implied warranty. ++# ++# Calling this script install-sh is preferred over install.sh, to prevent ++# `make' implicit rules from creating a file called install from it ++# when there is no Makefile. ++# ++# This script is compatible with the BSD install script, but was written ++# from scratch. It can only install one file at a time, a restriction ++# shared with many OS's install programs. ++ ++ ++# set DOITPROG to echo to test this script ++ ++# Don't use :- since 4.3BSD and earlier shells don't like it. ++doit="${DOITPROG-}" ++ ++ ++# put in absolute paths if you don't have them in your path; or use env. vars. ++ ++mvprog="${MVPROG-mv}" ++cpprog="${CPPROG-cp}" ++chmodprog="${CHMODPROG-chmod}" ++chownprog="${CHOWNPROG-chown}" ++chgrpprog="${CHGRPPROG-chgrp}" ++stripprog="${STRIPPROG-strip}" ++rmprog="${RMPROG-rm}" ++mkdirprog="${MKDIRPROG-mkdir}" ++ ++transformbasename="" ++transform_arg="" ++instcmd="$mvprog" ++chmodcmd="$chmodprog 0755" ++chowncmd="" ++chgrpcmd="" ++stripcmd="" ++rmcmd="$rmprog -f" ++mvcmd="$mvprog" ++src="" ++dst="" ++dir_arg="" ++ ++while [ x"$1" != x ]; do ++ case $1 in ++ -c) instcmd="$cpprog" ++ shift ++ continue;; ++ ++ -d) dir_arg=true ++ shift ++ continue;; ++ ++ -m) chmodcmd="$chmodprog $2" ++ shift ++ shift ++ continue;; ++ ++ -o) chowncmd="$chownprog $2" ++ shift ++ shift ++ continue;; ++ ++ -g) chgrpcmd="$chgrpprog $2" ++ shift ++ shift ++ continue;; ++ ++ -s) stripcmd="$stripprog" ++ shift ++ continue;; ++ ++ -t=*) transformarg=`echo $1 | sed 's/-t=//'` ++ shift ++ continue;; ++ ++ -b=*) transformbasename=`echo $1 | sed 's/-b=//'` ++ shift ++ continue;; ++ ++ *) if [ x"$src" = x ] ++ then ++ src=$1 ++ else ++ # this colon is to work around a 386BSD /bin/sh bug ++ : ++ dst=$1 ++ fi ++ shift ++ continue;; ++ esac ++done ++ ++if [ x"$src" = x ] ++then ++ echo "install: no input file specified" ++ exit 1 ++else ++ true ++fi ++ ++if [ x"$dir_arg" != x ]; then ++ dst=$src ++ src="" ++ ++ if [ -d $dst ]; then ++ instcmd=: ++ chmodcmd="" ++ else ++ instcmd=mkdir ++ fi ++else ++ ++# Waiting for this to be detected by the "$instcmd $src $dsttmp" command ++# might cause directories to be created, which would be especially bad ++# if $src (and thus $dsttmp) contains '*'. ++ ++ if [ -f $src -o -d $src ] ++ then ++ true ++ else ++ echo "install: $src does not exist" ++ exit 1 ++ fi ++ ++ if [ x"$dst" = x ] ++ then ++ echo "install: no destination specified" ++ exit 1 ++ else ++ true ++ fi ++ ++# If destination is a directory, append the input filename; if your system ++# does not like double slashes in filenames, you may need to add some logic ++ ++ if [ -d $dst ] ++ then ++ dst="$dst"/`basename $src` ++ else ++ true ++ fi ++fi ++ ++## this sed command emulates the dirname command ++dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` ++ ++# Make sure that the destination directory exists. ++# this part is taken from Noah Friedman's mkinstalldirs script ++ ++# Skip lots of stat calls in the usual case. ++if [ ! -d "$dstdir" ]; then ++defaultIFS=' ++' ++IFS="${IFS-${defaultIFS}}" ++ ++oIFS="${IFS}" ++# Some sh's can't handle IFS=/ for some reason. ++IFS='%' ++set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` ++IFS="${oIFS}" ++ ++pathcomp='' ++ ++while [ $# -ne 0 ] ; do ++ pathcomp="${pathcomp}${1}" ++ shift ++ ++ if [ ! -d "${pathcomp}" ] ; ++ then ++ $mkdirprog "${pathcomp}" ++ else ++ true ++ fi ++ ++ pathcomp="${pathcomp}/" ++done ++fi ++ ++if [ x"$dir_arg" != x ] ++then ++ $doit $instcmd $dst && ++ ++ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && ++ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && ++ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && ++ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi ++else ++ ++# If we're going to rename the final executable, determine the name now. ++ ++ if [ x"$transformarg" = x ] ++ then ++ dstfile=`basename $dst` ++ else ++ dstfile=`basename $dst $transformbasename | ++ sed $transformarg`$transformbasename ++ fi ++ ++# don't allow the sed command to completely eliminate the filename ++ ++ if [ x"$dstfile" = x ] ++ then ++ dstfile=`basename $dst` ++ else ++ true ++ fi ++ ++# Make a temp file name in the proper directory. ++ ++ dsttmp=$dstdir/#inst.$$# ++ ++# Move or copy the file name to the temp name ++ ++ $doit $instcmd $src $dsttmp && ++ ++ trap "rm -f ${dsttmp}" 0 && ++ ++# and set any options; do chmod last to preserve setuid bits ++ ++# If any of these fail, we abort the whole thing. If we want to ++# ignore errors from any of these, just make sure not to ignore ++# errors from the above "$doit $instcmd $src $dsttmp" command. ++ ++ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && ++ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && ++ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && ++ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && ++ ++# Now rename the file to the real destination. ++ ++ $doit $rmcmd -f $dstdir/$dstfile && ++ $doit $mvcmd $dsttmp $dstdir/$dstfile ++ ++fi && ++ ++ ++exit 0 +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/config/missing +@@ -0,0 +1,283 @@ ++#! /bin/sh ++# Common stub for a few missing GNU programs while installing. ++# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc. ++# Originally by Fran,cois Pinard , 1996. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++# As a special exception to the GNU General Public License, if you ++# distribute this file as part of a program that contains a ++# configuration script generated by Autoconf, you may include it under ++# the same distribution terms that you use for the rest of that program. ++ ++if test $# -eq 0; then ++ echo 1>&2 "Try \`$0 --help' for more information" ++ exit 1 ++fi ++ ++run=: ++ ++# In the cases where this matters, `missing' is being run in the ++# srcdir already. ++if test -f configure.ac; then ++ configure_ac=configure.ac ++else ++ configure_ac=configure.in ++fi ++ ++case "$1" in ++--run) ++ # Try to run requested program, and just exit if it succeeds. ++ run= ++ shift ++ "$@" && exit 0 ++ ;; ++esac ++ ++# If it does not exist, or fails to run (possibly an outdated version), ++# try to emulate it. ++case "$1" in ++ ++ -h|--h|--he|--hel|--help) ++ echo "\ ++$0 [OPTION]... PROGRAM [ARGUMENT]... ++ ++Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an ++error status if there is no known handling for PROGRAM. ++ ++Options: ++ -h, --help display this help and exit ++ -v, --version output version information and exit ++ --run try to run the given command, and emulate it if it fails ++ ++Supported PROGRAM values: ++ aclocal touch file \`aclocal.m4' ++ autoconf touch file \`configure' ++ autoheader touch file \`config.h.in' ++ automake touch all \`Makefile.in' files ++ bison create \`y.tab.[ch]', if possible, from existing .[ch] ++ flex create \`lex.yy.c', if possible, from existing .c ++ help2man touch the output file ++ lex create \`lex.yy.c', if possible, from existing .c ++ makeinfo touch the output file ++ tar try tar, gnutar, gtar, then tar without non-portable flags ++ yacc create \`y.tab.[ch]', if possible, from existing .[ch]" ++ ;; ++ ++ -v|--v|--ve|--ver|--vers|--versi|--versio|--version) ++ echo "missing 0.3 - GNU automake" ++ ;; ++ ++ -*) ++ echo 1>&2 "$0: Unknown \`$1' option" ++ echo 1>&2 "Try \`$0 --help' for more information" ++ exit 1 ++ ;; ++ ++ aclocal) ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified \`acinclude.m4' or \`${configure_ac}'. You might want ++ to install the \`Automake' and \`Perl' packages. Grab them from ++ any GNU archive site." ++ touch aclocal.m4 ++ ;; ++ ++ autoconf) ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified \`${configure_ac}'. You might want to install the ++ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU ++ archive site." ++ touch configure ++ ;; ++ ++ autoheader) ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified \`acconfig.h' or \`${configure_ac}'. You might want ++ to install the \`Autoconf' and \`GNU m4' packages. Grab them ++ from any GNU archive site." ++ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` ++ test -z "$files" && files="config.h" ++ touch_files= ++ for f in $files; do ++ case "$f" in ++ *:*) touch_files="$touch_files "`echo "$f" | ++ sed -e 's/^[^:]*://' -e 's/:.*//'`;; ++ *) touch_files="$touch_files $f.in";; ++ esac ++ done ++ touch $touch_files ++ ;; ++ ++ automake) ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. ++ You might want to install the \`Automake' and \`Perl' packages. ++ Grab them from any GNU archive site." ++ find . -type f -name Makefile.am -print | ++ sed 's/\.am$/.in/' | ++ while read f; do touch "$f"; done ++ ;; ++ ++ bison|yacc) ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified a \`.y' file. You may need the \`Bison' package ++ in order for those modifications to take effect. You can get ++ \`Bison' from any GNU archive site." ++ rm -f y.tab.c y.tab.h ++ if [ $# -ne 1 ]; then ++ eval LASTARG="\${$#}" ++ case "$LASTARG" in ++ *.y) ++ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` ++ if [ -f "$SRCFILE" ]; then ++ cp "$SRCFILE" y.tab.c ++ fi ++ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` ++ if [ -f "$SRCFILE" ]; then ++ cp "$SRCFILE" y.tab.h ++ fi ++ ;; ++ esac ++ fi ++ if [ ! -f y.tab.h ]; then ++ echo >y.tab.h ++ fi ++ if [ ! -f y.tab.c ]; then ++ echo 'main() { return 0; }' >y.tab.c ++ fi ++ ;; ++ ++ lex|flex) ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified a \`.l' file. You may need the \`Flex' package ++ in order for those modifications to take effect. You can get ++ \`Flex' from any GNU archive site." ++ rm -f lex.yy.c ++ if [ $# -ne 1 ]; then ++ eval LASTARG="\${$#}" ++ case "$LASTARG" in ++ *.l) ++ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` ++ if [ -f "$SRCFILE" ]; then ++ cp "$SRCFILE" lex.yy.c ++ fi ++ ;; ++ esac ++ fi ++ if [ ! -f lex.yy.c ]; then ++ echo 'main() { return 0; }' >lex.yy.c ++ fi ++ ;; ++ ++ help2man) ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified a dependency of a manual page. You may need the ++ \`Help2man' package in order for those modifications to take ++ effect. You can get \`Help2man' from any GNU archive site." ++ ++ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` ++ if test -z "$file"; then ++ file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` ++ fi ++ if [ -f "$file" ]; then ++ touch $file ++ else ++ test -z "$file" || exec >$file ++ echo ".ab help2man is required to generate this page" ++ exit 1 ++ fi ++ ;; ++ ++ makeinfo) ++ if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then ++ # We have makeinfo, but it failed. ++ exit 1 ++ fi ++ ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified a \`.texi' or \`.texinfo' file, or any other file ++ indirectly affecting the aspect of the manual. The spurious ++ call might also be the consequence of using a buggy \`make' (AIX, ++ DU, IRIX). You might want to install the \`Texinfo' package or ++ the \`GNU make' package. Grab either from any GNU archive site." ++ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` ++ if test -z "$file"; then ++ file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` ++ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` ++ fi ++ touch $file ++ ;; ++ ++ tar) ++ shift ++ if test -n "$run"; then ++ echo 1>&2 "ERROR: \`tar' requires --run" ++ exit 1 ++ fi ++ ++ # We have already tried tar in the generic part. ++ # Look for gnutar/gtar before invocation to avoid ugly error ++ # messages. ++ if (gnutar --version > /dev/null 2>&1); then ++ gnutar ${1+"$@"} && exit 0 ++ fi ++ if (gtar --version > /dev/null 2>&1); then ++ gtar ${1+"$@"} && exit 0 ++ fi ++ firstarg="$1" ++ if shift; then ++ case "$firstarg" in ++ *o*) ++ firstarg=`echo "$firstarg" | sed s/o//` ++ tar "$firstarg" ${1+"$@"} && exit 0 ++ ;; ++ esac ++ case "$firstarg" in ++ *h*) ++ firstarg=`echo "$firstarg" | sed s/h//` ++ tar "$firstarg" ${1+"$@"} && exit 0 ++ ;; ++ esac ++ fi ++ ++ echo 1>&2 "\ ++WARNING: I can't seem to be able to run \`tar' with the given arguments. ++ You may want to install GNU tar or Free paxutils, or check the ++ command line arguments." ++ exit 1 ++ ;; ++ ++ *) ++ echo 1>&2 "\ ++WARNING: \`$1' is needed, and you do not seem to have it handy on your ++ system. You might have modified some files without having the ++ proper tools for further handling them. Check the \`README' file, ++ it often tells you about the needed prerequirements for installing ++ this package. You may also peek at any GNU archive site, in case ++ some other package would contain this missing \`$1' program." ++ exit 1 ++ ;; ++esac ++ ++exit 0 +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/config/mkinstalldirs +@@ -0,0 +1,40 @@ ++#! /bin/sh ++# mkinstalldirs --- make directory hierarchy ++# Author: Noah Friedman ++# Created: 1993-05-16 ++# Public domain ++ ++# $Id: mkinstalldirs,v 1.13 1999/01/05 03:18:55 bje Exp $ ++ ++errstatus=0 ++ ++for file ++do ++ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` ++ shift ++ ++ pathcomp= ++ for d ++ do ++ pathcomp="$pathcomp$d" ++ case "$pathcomp" in ++ -* ) pathcomp=./$pathcomp ;; ++ esac ++ ++ if test ! -d "$pathcomp"; then ++ echo "mkdir $pathcomp" ++ ++ mkdir "$pathcomp" || lasterr=$? ++ ++ if test ! -d "$pathcomp"; then ++ errstatus=$lasterr ++ fi ++ fi ++ ++ pathcomp="$pathcomp/" ++ done ++done ++ ++exit $errstatus ++ ++# mkinstalldirs ends here +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/config-h.in +@@ -0,0 +1,26 @@ ++/* config-h.in. Generated automatically from configure.in by autoheader 2.13. */ ++ ++/* Name of package */ ++#undef PACKAGE ++ ++/* Version number of package */ ++#undef VERSION ++ ++/* Number of passes */ ++#undef PASS ++ ++/* Length of a fingerprint */ ++#undef FPTLEN ++ ++/* Number of test blocks */ ++#undef NUMBER_OF_BLOCKS ++ ++/* Test block size */ ++#undef BLOCK_SIZE ++ ++/* Little-endian */ ++#undef LITTLE_ENDIAN ++ ++/* Package name */ ++#undef PACKAGE_NAME ++ +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/configure +@@ -0,0 +1,1952 @@ ++#! /bin/sh ++ ++# Guess values for system-dependent variables and create Makefiles. ++# Generated automatically using autoconf version 2.13 ++# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. ++# ++# This configure script is free software; the Free Software Foundation ++# gives unlimited permission to copy, distribute and modify it. ++ ++# Defaults: ++ac_help= ++ac_default_prefix=/usr/local ++# Any additions from configure.in: ++ac_help="$ac_help ++ --disable-dependency-tracking Speeds up one-time builds ++ --enable-dependency-tracking Do not reject slow dependency extractors" ++ac_help="$ac_help ++ --with-num-passes=NUM use NUM number of passes (3,4,5) (default=3)" ++ac_help="$ac_help ++ --with-fpt-len=LEN use LEN fingerprint length (128,160,192,224,256) (default=256)" ++ac_help="$ac_help ++ --with-test-blocks=NUM use NUM test blocks (default=5000)" ++ac_help="$ac_help ++ --with-block-size=NUM use block size of NUM bytes (default=5000)" ++ac_help="$ac_help ++ --enable-extra-optimization enable extra optimization (i686 only)" ++ ++# Initialize some variables set by options. ++# The variables have the same names as the options, with ++# dashes changed to underlines. ++build=NONE ++cache_file=./config.cache ++exec_prefix=NONE ++host=NONE ++no_create= ++nonopt=NONE ++no_recursion= ++prefix=NONE ++program_prefix=NONE ++program_suffix=NONE ++program_transform_name=s,x,x, ++silent= ++site= ++srcdir= ++target=NONE ++verbose= ++x_includes=NONE ++x_libraries=NONE ++bindir='${exec_prefix}/bin' ++sbindir='${exec_prefix}/sbin' ++libexecdir='${exec_prefix}/libexec' ++datadir='${prefix}/share' ++sysconfdir='${prefix}/etc' ++sharedstatedir='${prefix}/com' ++localstatedir='${prefix}/var' ++libdir='${exec_prefix}/lib' ++includedir='${prefix}/include' ++oldincludedir='/usr/include' ++infodir='${prefix}/info' ++mandir='${prefix}/man' ++ ++# Initialize some other variables. ++subdirs= ++MFLAGS= MAKEFLAGS= ++SHELL=${CONFIG_SHELL-/bin/sh} ++# Maximum number of lines to put in a shell here document. ++ac_max_here_lines=12 ++ ++ac_prev= ++for ac_option ++do ++ ++ # If the previous option needs an argument, assign it. ++ if test -n "$ac_prev"; then ++ eval "$ac_prev=\$ac_option" ++ ac_prev= ++ continue ++ fi ++ ++ case "$ac_option" in ++ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; ++ *) ac_optarg= ;; ++ esac ++ ++ # Accept the important Cygnus configure options, so we can diagnose typos. ++ ++ case "$ac_option" in ++ ++ -bindir | --bindir | --bindi | --bind | --bin | --bi) ++ ac_prev=bindir ;; ++ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) ++ bindir="$ac_optarg" ;; ++ ++ -build | --build | --buil | --bui | --bu) ++ ac_prev=build ;; ++ -build=* | --build=* | --buil=* | --bui=* | --bu=*) ++ build="$ac_optarg" ;; ++ ++ -cache-file | --cache-file | --cache-fil | --cache-fi \ ++ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ++ ac_prev=cache_file ;; ++ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ ++ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) ++ cache_file="$ac_optarg" ;; ++ ++ -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ++ ac_prev=datadir ;; ++ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ ++ | --da=*) ++ datadir="$ac_optarg" ;; ++ ++ -disable-* | --disable-*) ++ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` ++ # Reject names that are not valid shell variable names. ++ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then ++ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } ++ fi ++ ac_feature=`echo $ac_feature| sed 's/-/_/g'` ++ eval "enable_${ac_feature}=no" ;; ++ ++ -enable-* | --enable-*) ++ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` ++ # Reject names that are not valid shell variable names. ++ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then ++ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } ++ fi ++ ac_feature=`echo $ac_feature| sed 's/-/_/g'` ++ case "$ac_option" in ++ *=*) ;; ++ *) ac_optarg=yes ;; ++ esac ++ eval "enable_${ac_feature}='$ac_optarg'" ;; ++ ++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ ++ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ ++ | --exec | --exe | --ex) ++ ac_prev=exec_prefix ;; ++ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ ++ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ ++ | --exec=* | --exe=* | --ex=*) ++ exec_prefix="$ac_optarg" ;; ++ ++ -gas | --gas | --ga | --g) ++ # Obsolete; use --with-gas. ++ with_gas=yes ;; ++ ++ -help | --help | --hel | --he) ++ # Omit some internal or obsolete options to make the list less imposing. ++ # This message is too long to be a string in the A/UX 3.1 sh. ++ cat << EOF ++Usage: configure [options] [host] ++Options: [defaults in brackets after descriptions] ++Configuration: ++ --cache-file=FILE cache test results in FILE ++ --help print this message ++ --no-create do not create output files ++ --quiet, --silent do not print \`checking...' messages ++ --version print the version of autoconf that created configure ++Directory and file names: ++ --prefix=PREFIX install architecture-independent files in PREFIX ++ [$ac_default_prefix] ++ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX ++ [same as prefix] ++ --bindir=DIR user executables in DIR [EPREFIX/bin] ++ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] ++ --libexecdir=DIR program executables in DIR [EPREFIX/libexec] ++ --datadir=DIR read-only architecture-independent data in DIR ++ [PREFIX/share] ++ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] ++ --sharedstatedir=DIR modifiable architecture-independent data in DIR ++ [PREFIX/com] ++ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] ++ --libdir=DIR object code libraries in DIR [EPREFIX/lib] ++ --includedir=DIR C header files in DIR [PREFIX/include] ++ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] ++ --infodir=DIR info documentation in DIR [PREFIX/info] ++ --mandir=DIR man documentation in DIR [PREFIX/man] ++ --srcdir=DIR find the sources in DIR [configure dir or ..] ++ --program-prefix=PREFIX prepend PREFIX to installed program names ++ --program-suffix=SUFFIX append SUFFIX to installed program names ++ --program-transform-name=PROGRAM ++ run sed PROGRAM on installed program names ++EOF ++ cat << EOF ++Host type: ++ --build=BUILD configure for building on BUILD [BUILD=HOST] ++ --host=HOST configure for HOST [guessed] ++ --target=TARGET configure for TARGET [TARGET=HOST] ++Features and packages: ++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) ++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] ++ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] ++ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) ++ --x-includes=DIR X include files are in DIR ++ --x-libraries=DIR X library files are in DIR ++EOF ++ if test -n "$ac_help"; then ++ echo "--enable and --with options recognized:$ac_help" ++ fi ++ exit 0 ;; ++ ++ -host | --host | --hos | --ho) ++ ac_prev=host ;; ++ -host=* | --host=* | --hos=* | --ho=*) ++ host="$ac_optarg" ;; ++ ++ -includedir | --includedir | --includedi | --included | --include \ ++ | --includ | --inclu | --incl | --inc) ++ ac_prev=includedir ;; ++ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ ++ | --includ=* | --inclu=* | --incl=* | --inc=*) ++ includedir="$ac_optarg" ;; ++ ++ -infodir | --infodir | --infodi | --infod | --info | --inf) ++ ac_prev=infodir ;; ++ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) ++ infodir="$ac_optarg" ;; ++ ++ -libdir | --libdir | --libdi | --libd) ++ ac_prev=libdir ;; ++ -libdir=* | --libdir=* | --libdi=* | --libd=*) ++ libdir="$ac_optarg" ;; ++ ++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ ++ | --libexe | --libex | --libe) ++ ac_prev=libexecdir ;; ++ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ ++ | --libexe=* | --libex=* | --libe=*) ++ libexecdir="$ac_optarg" ;; ++ ++ -localstatedir | --localstatedir | --localstatedi | --localstated \ ++ | --localstate | --localstat | --localsta | --localst \ ++ | --locals | --local | --loca | --loc | --lo) ++ ac_prev=localstatedir ;; ++ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ ++ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ ++ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) ++ localstatedir="$ac_optarg" ;; ++ ++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ++ ac_prev=mandir ;; ++ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) ++ mandir="$ac_optarg" ;; ++ ++ -nfp | --nfp | --nf) ++ # Obsolete; use --without-fp. ++ with_fp=no ;; ++ ++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ ++ | --no-cr | --no-c) ++ no_create=yes ;; ++ ++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ ++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ++ no_recursion=yes ;; ++ ++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ ++ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ ++ | --oldin | --oldi | --old | --ol | --o) ++ ac_prev=oldincludedir ;; ++ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ ++ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ ++ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) ++ oldincludedir="$ac_optarg" ;; ++ ++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ++ ac_prev=prefix ;; ++ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ++ prefix="$ac_optarg" ;; ++ ++ -program-prefix | --program-prefix | --program-prefi | --program-pref \ ++ | --program-pre | --program-pr | --program-p) ++ ac_prev=program_prefix ;; ++ -program-prefix=* | --program-prefix=* | --program-prefi=* \ ++ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) ++ program_prefix="$ac_optarg" ;; ++ ++ -program-suffix | --program-suffix | --program-suffi | --program-suff \ ++ | --program-suf | --program-su | --program-s) ++ ac_prev=program_suffix ;; ++ -program-suffix=* | --program-suffix=* | --program-suffi=* \ ++ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) ++ program_suffix="$ac_optarg" ;; ++ ++ -program-transform-name | --program-transform-name \ ++ | --program-transform-nam | --program-transform-na \ ++ | --program-transform-n | --program-transform- \ ++ | --program-transform | --program-transfor \ ++ | --program-transfo | --program-transf \ ++ | --program-trans | --program-tran \ ++ | --progr-tra | --program-tr | --program-t) ++ ac_prev=program_transform_name ;; ++ -program-transform-name=* | --program-transform-name=* \ ++ | --program-transform-nam=* | --program-transform-na=* \ ++ | --program-transform-n=* | --program-transform-=* \ ++ | --program-transform=* | --program-transfor=* \ ++ | --program-transfo=* | --program-transf=* \ ++ | --program-trans=* | --program-tran=* \ ++ | --progr-tra=* | --program-tr=* | --program-t=*) ++ program_transform_name="$ac_optarg" ;; ++ ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ silent=yes ;; ++ ++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ++ ac_prev=sbindir ;; ++ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ ++ | --sbi=* | --sb=*) ++ sbindir="$ac_optarg" ;; ++ ++ -sharedstatedir | --sharedstatedir | --sharedstatedi \ ++ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ ++ | --sharedst | --shareds | --shared | --share | --shar \ ++ | --sha | --sh) ++ ac_prev=sharedstatedir ;; ++ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ ++ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ ++ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ ++ | --sha=* | --sh=*) ++ sharedstatedir="$ac_optarg" ;; ++ ++ -site | --site | --sit) ++ ac_prev=site ;; ++ -site=* | --site=* | --sit=*) ++ site="$ac_optarg" ;; ++ ++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ++ ac_prev=srcdir ;; ++ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ++ srcdir="$ac_optarg" ;; ++ ++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ ++ | --syscon | --sysco | --sysc | --sys | --sy) ++ ac_prev=sysconfdir ;; ++ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ ++ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) ++ sysconfdir="$ac_optarg" ;; ++ ++ -target | --target | --targe | --targ | --tar | --ta | --t) ++ ac_prev=target ;; ++ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) ++ target="$ac_optarg" ;; ++ ++ -v | -verbose | --verbose | --verbos | --verbo | --verb) ++ verbose=yes ;; ++ ++ -version | --version | --versio | --versi | --vers) ++ echo "configure generated by autoconf version 2.13" ++ exit 0 ;; ++ ++ -with-* | --with-*) ++ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` ++ # Reject names that are not valid shell variable names. ++ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then ++ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } ++ fi ++ ac_package=`echo $ac_package| sed 's/-/_/g'` ++ case "$ac_option" in ++ *=*) ;; ++ *) ac_optarg=yes ;; ++ esac ++ eval "with_${ac_package}='$ac_optarg'" ;; ++ ++ -without-* | --without-*) ++ ac_package=`echo $ac_option|sed -e 's/-*without-//'` ++ # Reject names that are not valid shell variable names. ++ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then ++ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } ++ fi ++ ac_package=`echo $ac_package| sed 's/-/_/g'` ++ eval "with_${ac_package}=no" ;; ++ ++ --x) ++ # Obsolete; use --with-x. ++ with_x=yes ;; ++ ++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ ++ | --x-incl | --x-inc | --x-in | --x-i) ++ ac_prev=x_includes ;; ++ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ ++ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) ++ x_includes="$ac_optarg" ;; ++ ++ -x-libraries | --x-libraries | --x-librarie | --x-librari \ ++ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ++ ac_prev=x_libraries ;; ++ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ ++ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) ++ x_libraries="$ac_optarg" ;; ++ ++ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } ++ ;; ++ ++ *) ++ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then ++ echo "configure: warning: $ac_option: invalid host type" 1>&2 ++ fi ++ if test "x$nonopt" != xNONE; then ++ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ++ fi ++ nonopt="$ac_option" ++ ;; ++ ++ esac ++done ++ ++if test -n "$ac_prev"; then ++ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } ++fi ++ ++trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 ++ ++# File descriptor usage: ++# 0 standard input ++# 1 file creation ++# 2 errors and warnings ++# 3 some systems may open it to /dev/tty ++# 4 used on the Kubota Titan ++# 6 checking for... messages and results ++# 5 compiler messages saved in config.log ++if test "$silent" = yes; then ++ exec 6>/dev/null ++else ++ exec 6>&1 ++fi ++exec 5>./config.log ++ ++echo "\ ++This file contains any messages produced by compilers while ++running configure, to aid debugging if configure makes a mistake. ++" 1>&5 ++ ++# Strip out --no-create and --no-recursion so they do not pile up. ++# Also quote any args containing shell metacharacters. ++ac_configure_args= ++for ac_arg ++do ++ case "$ac_arg" in ++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ ++ | --no-cr | --no-c) ;; ++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ ++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; ++ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) ++ ac_configure_args="$ac_configure_args '$ac_arg'" ;; ++ *) ac_configure_args="$ac_configure_args $ac_arg" ;; ++ esac ++done ++ ++# NLS nuisances. ++# Only set these to C if already set. These must not be set unconditionally ++# because not all systems understand e.g. LANG=C (notably SCO). ++# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! ++# Non-C LC_CTYPE values break the ctype check. ++if test "${LANG+set}" = set; then LANG=C; export LANG; fi ++if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi ++if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi ++if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi ++ ++# confdefs.h avoids OS command line length limits that DEFS can exceed. ++rm -rf conftest* confdefs.h ++# AIX cpp loses on an empty file, so make sure it contains at least a newline. ++echo > confdefs.h ++ ++# A filename unique to this package, relative to the directory that ++# configure is in, which we can look for to find out if srcdir is correct. ++ac_unique_file=havaltest.c ++ ++# Find the source files, if location was not specified. ++if test -z "$srcdir"; then ++ ac_srcdir_defaulted=yes ++ # Try the directory containing this script, then its parent. ++ ac_prog=$0 ++ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` ++ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. ++ srcdir=$ac_confdir ++ if test ! -r $srcdir/$ac_unique_file; then ++ srcdir=.. ++ fi ++else ++ ac_srcdir_defaulted=no ++fi ++if test ! -r $srcdir/$ac_unique_file; then ++ if test "$ac_srcdir_defaulted" = yes; then ++ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } ++ else ++ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } ++ fi ++fi ++srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` ++ ++# Prefer explicitly selected file to automatically selected ones. ++if test -z "$CONFIG_SITE"; then ++ if test "x$prefix" != xNONE; then ++ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" ++ else ++ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" ++ fi ++fi ++for ac_site_file in $CONFIG_SITE; do ++ if test -r "$ac_site_file"; then ++ echo "loading site script $ac_site_file" ++ . "$ac_site_file" ++ fi ++done ++ ++if test -r "$cache_file"; then ++ echo "loading cache $cache_file" ++ . $cache_file ++else ++ echo "creating cache $cache_file" ++ > $cache_file ++fi ++ ++ac_ext=c ++# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ++ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' ++cross_compiling=$ac_cv_prog_cc_cross ++ ++ac_exeext= ++ac_objext=o ++if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then ++ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. ++ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then ++ ac_n= ac_c=' ++' ac_t=' ' ++ else ++ ac_n=-n ac_c= ac_t= ++ fi ++else ++ ac_n= ac_c='\c' ac_t= ++fi ++ ++ ++HAVAL_VERSION=`cat VERSION` ++ac_aux_dir= ++for ac_dir in config $srcdir/config; do ++ if test -f $ac_dir/install-sh; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install-sh -c" ++ break ++ elif test -f $ac_dir/install.sh; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install.sh -c" ++ break ++ fi ++done ++if test -z "$ac_aux_dir"; then ++ { echo "configure: error: can not find install-sh or install.sh in config $srcdir/config" 1>&2; exit 1; } ++fi ++ac_config_guess=$ac_aux_dir/config.guess ++ac_config_sub=$ac_aux_dir/config.sub ++ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. ++ ++ ++ ++ ++ ++# expand $ac_aux_dir to an absolute path ++am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` ++ ++# Find a good install program. We prefer a C program (faster), ++# so one script is as good as another. But avoid the broken or ++# incompatible versions: ++# SysV /etc/install, /usr/sbin/install ++# SunOS /usr/etc/install ++# IRIX /sbin/install ++# AIX /bin/install ++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag ++# AFS /usr/afsws/bin/install, which mishandles nonexistent args ++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" ++# ./install, which can be erroneously created by make from ./install.sh. ++echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 ++echo "configure:577: checking for a BSD compatible install" >&5 ++if test -z "$INSTALL"; then ++if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" ++ for ac_dir in $PATH; do ++ # Account for people who put trailing slashes in PATH elements. ++ case "$ac_dir/" in ++ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; ++ *) ++ # OSF1 and SCO ODT 3.0 have their own names for install. ++ # Don't use installbsd from OSF since it installs stuff as root ++ # by default. ++ for ac_prog in ginstall scoinst install; do ++ if test -f $ac_dir/$ac_prog; then ++ if test $ac_prog = install && ++ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then ++ # AIX install. It has an incompatible calling convention. ++ : ++ else ++ ac_cv_path_install="$ac_dir/$ac_prog -c" ++ break 2 ++ fi ++ fi ++ done ++ ;; ++ esac ++ done ++ IFS="$ac_save_IFS" ++ ++fi ++ if test "${ac_cv_path_install+set}" = set; then ++ INSTALL="$ac_cv_path_install" ++ else ++ # As a last resort, use the slow shell script. We don't cache a ++ # path for INSTALL within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the path is relative. ++ INSTALL="$ac_install_sh" ++ fi ++fi ++echo "$ac_t""$INSTALL" 1>&6 ++ ++# Use test -z because SunOS4 sh mishandles braces in ${var-val}. ++# It thinks the first close brace ends the variable substitution. ++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' ++ ++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' ++ ++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ++ ++echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 ++echo "configure:630: checking whether build environment is sane" >&5 ++# Just in case ++sleep 1 ++echo timestamp > conftest.file ++# Do `set' in a subshell so we don't clobber the current shell's ++# arguments. Must try -L first in case configure is actually a ++# symlink; some systems play weird games with the mod time of symlinks ++# (eg FreeBSD returns the mod time of the symlink's containing ++# directory). ++if ( ++ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` ++ if test "$*" = "X"; then ++ # -L didn't work. ++ set X `ls -t $srcdir/configure conftest.file` ++ fi ++ rm -f conftest.file ++ if test "$*" != "X $srcdir/configure conftest.file" \ ++ && test "$*" != "X conftest.file $srcdir/configure"; then ++ ++ # If neither matched, then we have a broken ls. This can happen ++ # if, for instance, CONFIG_SHELL is bash and it inherits a ++ # broken ls alias from the environment. This has actually ++ # happened. Such a system could not be considered "sane". ++ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken ++alias in your environment" 1>&2; exit 1; } ++ fi ++ ++ test "$2" = conftest.file ++ ) ++then ++ # Ok. ++ : ++else ++ { echo "configure: error: newly created file is older than distributed files! ++Check your system clock" 1>&2; exit 1; } ++fi ++echo "$ac_t""yes" 1>&6 ++if test "$program_transform_name" = s,x,x,; then ++ program_transform_name= ++else ++ # Double any \ or $. echo might interpret backslashes. ++ cat <<\EOF_SED > conftestsed ++s,\\,\\\\,g; s,\$,$$,g ++EOF_SED ++ program_transform_name="`echo $program_transform_name|sed -f conftestsed`" ++ rm -f conftestsed ++fi ++test "$program_prefix" != NONE && ++ program_transform_name="s,^,${program_prefix},; $program_transform_name" ++# Use a double $ so make ignores it. ++test "$program_suffix" != NONE && ++ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name" ++ ++# sed with no file args requires a program. ++test "$program_transform_name" = "" && program_transform_name="s,x,x," ++ ++test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" ++# Use eval to expand $SHELL ++if eval "$MISSING --run true"; then ++ am_missing_run="$MISSING --run " ++else ++ am_missing_run= ++ am_backtick='`' ++ echo "configure: warning: ${am_backtick}missing' script is too old or missing" 1>&2 ++fi ++ ++for ac_prog in mawk gawk nawk awk ++do ++# Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ++echo "configure:701: checking for $ac_word" >&5 ++if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ if test -n "$AWK"; then ++ ac_cv_prog_AWK="$AWK" # Let the user override the test. ++else ++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ++ ac_dummy="$PATH" ++ for ac_dir in $ac_dummy; do ++ test -z "$ac_dir" && ac_dir=. ++ if test -f $ac_dir/$ac_word; then ++ ac_cv_prog_AWK="$ac_prog" ++ break ++ fi ++ done ++ IFS="$ac_save_ifs" ++fi ++fi ++AWK="$ac_cv_prog_AWK" ++if test -n "$AWK"; then ++ echo "$ac_t""$AWK" 1>&6 ++else ++ echo "$ac_t""no" 1>&6 ++fi ++ ++test -n "$AWK" && break ++done ++ ++echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 ++echo "configure:731: checking whether ${MAKE-make} sets \${MAKE}" >&5 ++set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` ++if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ cat > conftestmake <<\EOF ++all: ++ @echo 'ac_maketemp="${MAKE}"' ++EOF ++# GNU make sometimes prints "make[1]: Entering...", which would confuse us. ++eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=` ++if test -n "$ac_maketemp"; then ++ eval ac_cv_prog_make_${ac_make}_set=yes ++else ++ eval ac_cv_prog_make_${ac_make}_set=no ++fi ++rm -f conftestmake ++fi ++if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then ++ echo "$ac_t""yes" 1>&6 ++ SET_MAKE= ++else ++ echo "$ac_t""no" 1>&6 ++ SET_MAKE="MAKE=${MAKE-make}" ++fi ++ ++# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. ++if test "${enable_dependency_tracking+set}" = set; then ++ enableval="$enable_dependency_tracking" ++ : ++fi ++ ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++fi ++ ++ ++if test "x$enable_dependency_tracking" != xno; then ++ AMDEP_TRUE= ++ AMDEP_FALSE='#' ++else ++ AMDEP_TRUE='#' ++ AMDEP_FALSE= ++fi ++ ++ ++ ++ ++rm -f .deps 2>/dev/null ++mkdir .deps 2>/dev/null ++if test -d .deps; then ++ DEPDIR=.deps ++else ++ # MS-DOS does not allow filenames that begin with a dot. ++ DEPDIR=_deps ++fi ++rmdir .deps 2>/dev/null ++ ++ ++# test to see if srcdir already configured ++if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && ++ test -f $srcdir/config.status; then ++ { echo "configure: error: source directory already configured; run \"make distclean\" there first" 1>&2; exit 1; } ++fi ++ ++# Define the identity of the package. ++PACKAGE="haval" ++VERSION=$HAVAL_VERSION ++cat >> confdefs.h <> confdefs.h <&6 ++echo "configure:853: checking for $ac_word" >&5 ++if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ++ ac_dummy="$PATH" ++ for ac_dir in $ac_dummy; do ++ test -z "$ac_dir" && ac_dir=. ++ if test -f $ac_dir/$ac_word; then ++ ac_cv_prog_CC="gcc" ++ break ++ fi ++ done ++ IFS="$ac_save_ifs" ++fi ++fi ++CC="$ac_cv_prog_CC" ++if test -n "$CC"; then ++ echo "$ac_t""$CC" 1>&6 ++else ++ echo "$ac_t""no" 1>&6 ++fi ++ ++if test -z "$CC"; then ++ # Extract the first word of "cc", so it can be a program name with args. ++set dummy cc; ac_word=$2 ++echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ++echo "configure:883: checking for $ac_word" >&5 ++if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ++ ac_prog_rejected=no ++ ac_dummy="$PATH" ++ for ac_dir in $ac_dummy; do ++ test -z "$ac_dir" && ac_dir=. ++ if test -f $ac_dir/$ac_word; then ++ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then ++ ac_prog_rejected=yes ++ continue ++ fi ++ ac_cv_prog_CC="cc" ++ break ++ fi ++ done ++ IFS="$ac_save_ifs" ++if test $ac_prog_rejected = yes; then ++ # We found a bogon in the path, so make sure we never use it. ++ set dummy $ac_cv_prog_CC ++ shift ++ if test $# -gt 0; then ++ # We chose a different compiler from the bogus one. ++ # However, it has the same basename, so the bogon will be chosen ++ # first if we set CC to just the basename; use the full file name. ++ shift ++ set dummy "$ac_dir/$ac_word" "$@" ++ shift ++ ac_cv_prog_CC="$@" ++ fi ++fi ++fi ++fi ++CC="$ac_cv_prog_CC" ++if test -n "$CC"; then ++ echo "$ac_t""$CC" 1>&6 ++else ++ echo "$ac_t""no" 1>&6 ++fi ++ ++ if test -z "$CC"; then ++ case "`uname -s`" in ++ *win32* | *WIN32*) ++ # Extract the first word of "cl", so it can be a program name with args. ++set dummy cl; ac_word=$2 ++echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ++echo "configure:934: checking for $ac_word" >&5 ++if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ++ ac_dummy="$PATH" ++ for ac_dir in $ac_dummy; do ++ test -z "$ac_dir" && ac_dir=. ++ if test -f $ac_dir/$ac_word; then ++ ac_cv_prog_CC="cl" ++ break ++ fi ++ done ++ IFS="$ac_save_ifs" ++fi ++fi ++CC="$ac_cv_prog_CC" ++if test -n "$CC"; then ++ echo "$ac_t""$CC" 1>&6 ++else ++ echo "$ac_t""no" 1>&6 ++fi ++ ;; ++ esac ++ fi ++ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } ++fi ++ ++echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 ++echo "configure:966: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ++ ++ac_ext=c ++# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ++ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' ++cross_compiling=$ac_cv_prog_cc_cross ++ ++cat > conftest.$ac_ext << EOF ++ ++#line 977 "configure" ++#include "confdefs.h" ++ ++main(){return(0);} ++EOF ++if { (eval echo configure:982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++ ac_cv_prog_cc_works=yes ++ # If we can't run a trivial program, we are probably using a cross compiler. ++ if (./conftest; exit) 2>/dev/null; then ++ ac_cv_prog_cc_cross=no ++ else ++ ac_cv_prog_cc_cross=yes ++ fi ++else ++ echo "configure: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ ac_cv_prog_cc_works=no ++fi ++rm -fr conftest* ++ac_ext=c ++# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ++ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' ++cross_compiling=$ac_cv_prog_cc_cross ++ ++echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 ++if test $ac_cv_prog_cc_works = no; then ++ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } ++fi ++echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 ++echo "configure:1008: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 ++echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 ++cross_compiling=$ac_cv_prog_cc_cross ++ ++echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 ++echo "configure:1013: checking whether we are using GNU C" >&5 ++if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ++ ac_cv_prog_gcc=yes ++else ++ ac_cv_prog_gcc=no ++fi ++fi ++ ++echo "$ac_t""$ac_cv_prog_gcc" 1>&6 ++ ++if test $ac_cv_prog_gcc = yes; then ++ GCC=yes ++else ++ GCC= ++fi ++ ++ac_test_CFLAGS="${CFLAGS+set}" ++ac_save_CFLAGS="$CFLAGS" ++CFLAGS= ++echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 ++echo "configure:1041: checking whether ${CC-cc} accepts -g" >&5 ++if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ echo 'void f(){}' > conftest.c ++if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then ++ ac_cv_prog_cc_g=yes ++else ++ ac_cv_prog_cc_g=no ++fi ++rm -f conftest* ++ ++fi ++ ++echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 ++if test "$ac_test_CFLAGS" = set; then ++ CFLAGS="$ac_save_CFLAGS" ++elif test $ac_cv_prog_cc_g = yes; then ++ if test "$GCC" = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-g" ++ fi ++else ++ if test "$GCC" = yes; then ++ CFLAGS="-O2" ++ else ++ CFLAGS= ++ fi ++fi ++ ++ ++am_make=${MAKE-make} ++cat > confinc << 'END' ++doit: ++ @echo done ++END ++# If we don't find an include directive, just comment out the code. ++echo $ac_n "checking for style of include used by $am_make""... $ac_c" 1>&6 ++echo "configure:1080: checking for style of include used by $am_make" >&5 ++am__include='#' ++am__quote= ++_am_result=none ++# First try GNU make style include. ++echo "include confinc" > confmf ++# We grep out `Entering directory' and `Leaving directory' ++# messages which can occur if `w' ends up in MAKEFLAGS. ++# In particular we don't look at `^make:' because GNU make might ++# be invoked under some other name (usually "gmake"), in which ++# case it prints its new name instead of `make'. ++if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then ++ am__include=include ++ am__quote= ++ _am_result=GNU ++fi ++# Now try BSD make style include. ++if test "$am__include" = "#"; then ++ echo '.include "confinc"' > confmf ++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then ++ am__include=.include ++ am__quote='"' ++ _am_result=BSD ++ fi ++fi ++ ++ ++echo "$ac_t""$_am_result" 1>&6 ++rm -f confinc confmf ++ ++ ++depcc="$CC" am_compiler_list= ++ ++echo $ac_n "checking dependency style of $depcc""... $ac_c" 1>&6 ++echo "configure:1114: checking dependency style of $depcc" >&5 ++if eval "test \"`echo '$''{'am_cv_CC_dependencies_compiler_type'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named `D' -- because `-MD' means `put the output ++ # in D'. ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ ++ am_cv_CC_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` ++ fi ++ for depmode in $am_compiler_list; do ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ echo '#include "conftest.h"' > conftest.c ++ echo 'int i;' > conftest.h ++ echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf ++ ++ case $depmode in ++ nosideeffect) ++ # after this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ none) break ;; ++ esac ++ # We check with `-c' and `-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle `-M -o', and we need to detect this. ++ if depmode=$depmode \ ++ source=conftest.c object=conftest.o \ ++ depfile=conftest.Po tmpdepfile=conftest.TPo \ ++ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && ++ grep conftest.h conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ am_cv_CC_dependencies_compiler_type=$depmode ++ break ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_CC_dependencies_compiler_type=none ++fi ++ ++fi ++ ++echo "$ac_t""$am_cv_CC_dependencies_compiler_type" 1>&6 ++CCDEPMODE="depmode=$am_cv_CC_dependencies_compiler_type" ++ ++ ++# Find a good install program. We prefer a C program (faster), ++# so one script is as good as another. But avoid the broken or ++# incompatible versions: ++# SysV /etc/install, /usr/sbin/install ++# SunOS /usr/etc/install ++# IRIX /sbin/install ++# AIX /bin/install ++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag ++# AFS /usr/afsws/bin/install, which mishandles nonexistent args ++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" ++# ./install, which can be erroneously created by make from ./install.sh. ++echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 ++echo "configure:1192: checking for a BSD compatible install" >&5 ++if test -z "$INSTALL"; then ++if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" ++ for ac_dir in $PATH; do ++ # Account for people who put trailing slashes in PATH elements. ++ case "$ac_dir/" in ++ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; ++ *) ++ # OSF1 and SCO ODT 3.0 have their own names for install. ++ # Don't use installbsd from OSF since it installs stuff as root ++ # by default. ++ for ac_prog in ginstall scoinst install; do ++ if test -f $ac_dir/$ac_prog; then ++ if test $ac_prog = install && ++ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then ++ # AIX install. It has an incompatible calling convention. ++ : ++ else ++ ac_cv_path_install="$ac_dir/$ac_prog -c" ++ break 2 ++ fi ++ fi ++ done ++ ;; ++ esac ++ done ++ IFS="$ac_save_IFS" ++ ++fi ++ if test "${ac_cv_path_install+set}" = set; then ++ INSTALL="$ac_cv_path_install" ++ else ++ # As a last resort, use the slow shell script. We don't cache a ++ # path for INSTALL within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the path is relative. ++ INSTALL="$ac_install_sh" ++ fi ++fi ++echo "$ac_t""$INSTALL" 1>&6 ++ ++# Use test -z because SunOS4 sh mishandles braces in ${var-val}. ++# It thinks the first close brace ends the variable substitution. ++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' ++ ++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' ++ ++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ++ ++#AM_PROG_LIBTOOL ++ ++ ++# Make sure we can run config.sub. ++if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : ++else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } ++fi ++ ++echo $ac_n "checking host system type""... $ac_c" 1>&6 ++echo "configure:1253: checking host system type" >&5 ++ ++host_alias=$host ++case "$host_alias" in ++NONE) ++ case $nonopt in ++ NONE) ++ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : ++ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } ++ fi ;; ++ *) host_alias=$nonopt ;; ++ esac ;; ++esac ++ ++host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` ++host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` ++host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` ++host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ++echo "$ac_t""$host" 1>&6 ++ ++ ++ ++ ++echo $ac_n "checking for HAVAL number of passes""... $ac_c" 1>&6 ++echo "configure:1277: checking for HAVAL number of passes" >&5 ++# Check whether --with-num-passes or --without-num-passes was given. ++if test "${with_num_passes+set}" = set; then ++ withval="$with_num_passes" ++ case "$withval" in ++ 3) ++ echo "$ac_t""3" 1>&6 ++ num_passes=3 ++ ;; ++ 4) ++ echo "$ac_t""4" 1>&6 ++ num_passes=4 ++ ;; ++ 5) ++ echo "$ac_t""5" 1>&6 ++ num_passes=5 ++ ;; ++ *) ++ echo " " ++ echo "ERROR: number of passes MUST be 3, 4, or 5." ++ exit 1 ++ ;; ++ esac ++ ++else ++ ++ echo "$ac_t""3" 1>&6 ++ num_passes=3 ++ ++ ++fi ++ ++ ++cat >> confdefs.h <&6 ++echo "configure:1319: checking for HAVAL fingerprint length" >&5 ++# Check whether --with-fpt-len or --without-fpt-len was given. ++if test "${with_fpt_len+set}" = set; then ++ withval="$with_fpt_len" ++ case "$withval" in ++ 128) ++ echo "$ac_t""128" 1>&6 ++ fpt_len=128 ++ ;; ++ 160) ++ echo "$ac_t""160" 1>&6 ++ fpt_len=160 ++ ;; ++ 192) ++ echo "$ac_t""192" 1>&6 ++ fpt_len=192 ++ ;; ++ 224) ++ echo "$ac_t""224" 1>&6 ++ fpt_len=224 ++ ;; ++ 256) ++ echo "$ac_t""256" 1>&6 ++ fpt_len=256 ++ ;; ++ *) ++ echo " " ++ echo "ERROR: fingerprint length MUST be 128, 160, 192, 224, or 256." ++ exit 1 ++ ;; ++ esac ++ ++else ++ ++ echo "$ac_t""256" 1>&6 ++ fpt_len=256 ++ ++ ++fi ++ ++ ++cat >> confdefs.h <&6 ++echo "configure:1367: checking for HAVAL number of test blocks" >&5 ++# Check whether --with-test-blocks or --without-test-blocks was given. ++if test "${with_test_blocks+set}" = set; then ++ withval="$with_test_blocks" ++ ++ echo "$ac_t""$withval" 1>&6 ++ test_blocks=$withval ++ ++else ++ ++ echo "$ac_t""5000" 1>&6 ++ test_blocks=5000 ++ ++ ++fi ++ ++ ++cat >> confdefs.h <&6 ++echo "configure:1393: checking for HAVAL test block size" >&5 ++# Check whether --with-block-size or --without-block-size was given. ++if test "${with_block_size+set}" = set; then ++ withval="$with_block_size" ++ ++ echo "$ac_t""$withval" 1>&6 ++ block_size=$withval ++ ++else ++ ++ echo "$ac_t""5000" 1>&6 ++ block_size=5000 ++ ++ ++fi ++ ++ ++cat >> confdefs.h <&6 ++echo "configure:1418: checking whether we should enable extra optimization" >&5 ++# Check whether --enable-extra-optimization or --disable-extra-optimization was given. ++if test "${enable_extra_optimization+set}" = set; then ++ enableval="$enable_extra_optimization" ++ ++ echo "$ac_t""$enableval" 1>&6 ++ CFLAGS="$CFLAGS -O3 -mcpu=i686 -march=i686 -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -malign-functions=4" ++ ++else ++ ++ echo "$ac_t""no" 1>&6 ++ ++ ++fi ++ ++ ++ ++echo $ac_n "checking machine endianess""... $ac_c" 1>&6 ++echo "configure:1436: checking machine endianess" >&5 ++ ++ cat > conftest.c << EOF ++ /* test endianity */ ++ int main() ++ { ++ unsigned long *wp; ++ unsigned char str[4] = {'A', 'B', 'C', 'D'}; ++ ++ wp = (unsigned long *)str; ++ if (str[0] == (unsigned char)( *wp & 0xFF)) { ++ printf("L"); /* little endian */ ++ } else { ++ printf("B"); /* big endian */ ++ } ++ } ++EOF ++ ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS > /dev/null 2>&1 ++ if test ! -x conftest ; then ++ ac_cv_calyptix_endianess=unknown ++ else ++ ./conftest > conftest.out ++ result=`cat conftest.out` ++ if test $result = "B"; then ++ ac_cv_calyptix_endianess=big ++ elif test $result = "L"; then ++ ac_cv_calyptix_endianess=little ++ else ++ ac_cv_calyptix_endianess=unknown ++ fi ++ fi ++ rm -f conftest* core core.conftest ++ ++ echo "$ac_t""$ac_cv_calyptix_endianess" 1>&6 ++ ++ if test $ac_cv_calyptix_endianess = little ; then ++ cat >> confdefs.h <> confdefs.h <<\EOF ++#define PACKAGE_NAME "HAVAL" ++EOF ++ ++ ++trap '' 1 2 15 ++cat > confcache <<\EOF ++# This file is a shell script that caches the results of configure ++# tests run on this system so they can be shared between configure ++# scripts and configure runs. It is not useful on other systems. ++# If it contains results you don't want to keep, you may remove or edit it. ++# ++# By default, configure uses ./config.cache as the cache file, ++# creating it if it does not exist already. You can give configure ++# the --cache-file=FILE option to use a different cache file; that is ++# what configure does when it calls configure scripts in ++# subdirectories, so they share the cache. ++# Giving --cache-file=/dev/null disables caching, for debugging configure. ++# config.status only pays attention to the cache file if you give it the ++# --recheck option to rerun configure. ++# ++EOF ++# The following way of writing the cache mishandles newlines in values, ++# but we know of no workaround that is simple, portable, and efficient. ++# So, don't put newlines in cache variables' values. ++# Ultrix sh set writes to stderr and can't be redirected directly, ++# and sets the high bit in the cache file unless we assign to the vars. ++(set) 2>&1 | ++ case `(ac_space=' '; set | grep ac_space) 2>&1` in ++ *ac_space=\ *) ++ # `set' does not quote correctly, so add quotes (double-quote substitution ++ # turns \\\\ into \\, and sed turns \\ into \). ++ sed -n \ ++ -e "s/'/'\\\\''/g" \ ++ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" ++ ;; ++ *) ++ # `set' quotes correctly as required by POSIX, so do not add quotes. ++ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' ++ ;; ++ esac >> confcache ++if cmp -s $cache_file confcache; then ++ : ++else ++ if test -w $cache_file; then ++ echo "updating cache $cache_file" ++ cat confcache > $cache_file ++ else ++ echo "not updating unwritable cache $cache_file" ++ fi ++fi ++rm -f confcache ++ ++trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 ++ ++test "x$prefix" = xNONE && prefix=$ac_default_prefix ++# Let make expand exec_prefix. ++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' ++ ++# Any assignment to VPATH causes Sun make to only execute ++# the first set of double-colon rules, so remove it if not needed. ++# If there is a colon in the path, we need to keep it. ++if test "x$srcdir" = x.; then ++ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' ++fi ++ ++trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 ++ ++DEFS=-DHAVE_CONFIG_H ++ ++# Without the "./", some shells look in PATH for config.status. ++: ${CONFIG_STATUS=./config.status} ++ ++echo creating $CONFIG_STATUS ++rm -f $CONFIG_STATUS ++cat > $CONFIG_STATUS </dev/null | sed 1q`: ++# ++# $0 $ac_configure_args ++# ++# Compiler output produced by configure, useful for debugging ++# configure, is in ./config.log if it exists. ++ ++ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" ++for ac_option ++do ++ case "\$ac_option" in ++ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ++ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" ++ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; ++ -version | --version | --versio | --versi | --vers | --ver | --ve | --v) ++ echo "$CONFIG_STATUS generated by autoconf version 2.13" ++ exit 0 ;; ++ -help | --help | --hel | --he | --h) ++ echo "\$ac_cs_usage"; exit 0 ;; ++ *) echo "\$ac_cs_usage"; exit 1 ;; ++ esac ++done ++ ++ac_given_srcdir=$srcdir ++ac_given_INSTALL="$INSTALL" ++ ++trap 'rm -fr `echo "Makefile config.h:config-h.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 ++EOF ++cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF ++$ac_vpsub ++$extrasub ++s%@SHELL@%$SHELL%g ++s%@CFLAGS@%$CFLAGS%g ++s%@CPPFLAGS@%$CPPFLAGS%g ++s%@CXXFLAGS@%$CXXFLAGS%g ++s%@FFLAGS@%$FFLAGS%g ++s%@DEFS@%$DEFS%g ++s%@LDFLAGS@%$LDFLAGS%g ++s%@LIBS@%$LIBS%g ++s%@exec_prefix@%$exec_prefix%g ++s%@prefix@%$prefix%g ++s%@program_transform_name@%$program_transform_name%g ++s%@bindir@%$bindir%g ++s%@sbindir@%$sbindir%g ++s%@libexecdir@%$libexecdir%g ++s%@datadir@%$datadir%g ++s%@sysconfdir@%$sysconfdir%g ++s%@sharedstatedir@%$sharedstatedir%g ++s%@localstatedir@%$localstatedir%g ++s%@libdir@%$libdir%g ++s%@includedir@%$includedir%g ++s%@oldincludedir@%$oldincludedir%g ++s%@infodir@%$infodir%g ++s%@mandir@%$mandir%g ++s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g ++s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g ++s%@INSTALL_DATA@%$INSTALL_DATA%g ++s%@PACKAGE@%$PACKAGE%g ++s%@VERSION@%$VERSION%g ++s%@EXEEXT@%$EXEEXT%g ++s%@OBJEXT@%$OBJEXT%g ++s%@ACLOCAL@%$ACLOCAL%g ++s%@AUTOCONF@%$AUTOCONF%g ++s%@AUTOMAKE@%$AUTOMAKE%g ++s%@AUTOHEADER@%$AUTOHEADER%g ++s%@MAKEINFO@%$MAKEINFO%g ++s%@AMTAR@%$AMTAR%g ++s%@install_sh@%$install_sh%g ++s%@INSTALL_STRIP_PROGRAM@%$INSTALL_STRIP_PROGRAM%g ++s%@AWK@%$AWK%g ++s%@SET_MAKE@%$SET_MAKE%g ++s%@AMDEP_TRUE@%$AMDEP_TRUE%g ++s%@AMDEP_FALSE@%$AMDEP_FALSE%g ++s%@AMDEPBACKSLASH@%$AMDEPBACKSLASH%g ++s%@DEPDIR@%$DEPDIR%g ++s%@CC@%$CC%g ++s%@am__include@%$am__include%g ++s%@am__quote@%$am__quote%g ++s%@CCDEPMODE@%$CCDEPMODE%g ++s%@host@%$host%g ++s%@host_alias@%$host_alias%g ++s%@host_cpu@%$host_cpu%g ++s%@host_vendor@%$host_vendor%g ++s%@host_os@%$host_os%g ++s%@num_passes@%$num_passes%g ++s%@fpt_len@%$fpt_len%g ++s%@test_blocks@%$test_blocks%g ++s%@block_size@%$block_size%g ++ ++CEOF ++EOF ++ ++cat >> $CONFIG_STATUS <<\EOF ++ ++# Split the substitutions into bite-sized pieces for seds with ++# small command number limits, like on Digital OSF/1 and HP-UX. ++ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. ++ac_file=1 # Number of current file. ++ac_beg=1 # First line for current file. ++ac_end=$ac_max_sed_cmds # Line after last line for current file. ++ac_more_lines=: ++ac_sed_cmds="" ++while $ac_more_lines; do ++ if test $ac_beg -gt 1; then ++ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file ++ else ++ sed "${ac_end}q" conftest.subs > conftest.s$ac_file ++ fi ++ if test ! -s conftest.s$ac_file; then ++ ac_more_lines=false ++ rm -f conftest.s$ac_file ++ else ++ if test -z "$ac_sed_cmds"; then ++ ac_sed_cmds="sed -f conftest.s$ac_file" ++ else ++ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" ++ fi ++ ac_file=`expr $ac_file + 1` ++ ac_beg=$ac_end ++ ac_end=`expr $ac_end + $ac_max_sed_cmds` ++ fi ++done ++if test -z "$ac_sed_cmds"; then ++ ac_sed_cmds=cat ++fi ++EOF ++ ++cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF ++for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then ++ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". ++ case "$ac_file" in ++ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` ++ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; ++ *) ac_file_in="${ac_file}.in" ;; ++ esac ++ ++ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. ++ ++ # Remove last slash and all that follows it. Not all systems have dirname. ++ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` ++ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then ++ # The file is in a subdirectory. ++ test ! -d "$ac_dir" && mkdir "$ac_dir" ++ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" ++ # A "../" for each directory in $ac_dir_suffix. ++ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` ++ else ++ ac_dir_suffix= ac_dots= ++ fi ++ ++ case "$ac_given_srcdir" in ++ .) srcdir=. ++ if test -z "$ac_dots"; then top_srcdir=. ++ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; ++ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; ++ *) # Relative path. ++ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" ++ top_srcdir="$ac_dots$ac_given_srcdir" ;; ++ esac ++ ++ case "$ac_given_INSTALL" in ++ [/$]*) INSTALL="$ac_given_INSTALL" ;; ++ *) INSTALL="$ac_dots$ac_given_INSTALL" ;; ++ esac ++ ++ echo creating "$ac_file" ++ rm -f "$ac_file" ++ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." ++ case "$ac_file" in ++ *Makefile*) ac_comsub="1i\\ ++# $configure_input" ;; ++ *) ac_comsub= ;; ++ esac ++ ++ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` ++ sed -e "$ac_comsub ++s%@configure_input@%$configure_input%g ++s%@srcdir@%$srcdir%g ++s%@top_srcdir@%$top_srcdir%g ++s%@INSTALL@%$INSTALL%g ++" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file ++fi; done ++rm -f conftest.s* ++ ++# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where ++# NAME is the cpp macro being defined and VALUE is the value it is being given. ++# ++# ac_d sets the value in "#define NAME VALUE" lines. ++ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' ++ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' ++ac_dC='\3' ++ac_dD='%g' ++# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". ++ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ++ac_uB='\([ ]\)%\1#\2define\3' ++ac_uC=' ' ++ac_uD='\4%g' ++# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ++ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ++ac_eB='$%\1#\2define\3' ++ac_eC=' ' ++ac_eD='%g' ++ ++if test "${CONFIG_HEADERS+set}" != set; then ++EOF ++cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF ++fi ++for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then ++ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". ++ case "$ac_file" in ++ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` ++ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; ++ *) ac_file_in="${ac_file}.in" ;; ++ esac ++ ++ echo creating $ac_file ++ ++ rm -f conftest.frag conftest.in conftest.out ++ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` ++ cat $ac_file_inputs > conftest.in ++ ++EOF ++ ++# Transform confdefs.h into a sed script conftest.vals that substitutes ++# the proper values into config.h.in to produce config.h. And first: ++# Protect against being on the right side of a sed subst in config.status. ++# Protect against being in an unquoted here document in config.status. ++rm -f conftest.vals ++cat > conftest.hdr <<\EOF ++s/[\\&%]/\\&/g ++s%[\\$`]%\\&%g ++s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp ++s%ac_d%ac_u%gp ++s%ac_u%ac_e%gp ++EOF ++sed -n -f conftest.hdr confdefs.h > conftest.vals ++rm -f conftest.hdr ++ ++# This sed command replaces #undef with comments. This is necessary, for ++# example, in the case of _POSIX_SOURCE, which is predefined and required ++# on some systems where configure will not decide to define it. ++cat >> conftest.vals <<\EOF ++s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% ++EOF ++ ++# Break up conftest.vals because some shells have a limit on ++# the size of here documents, and old seds have small limits too. ++ ++rm -f conftest.tail ++while : ++do ++ ac_lines=`grep -c . conftest.vals` ++ # grep -c gives empty output for an empty file on some AIX systems. ++ if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi ++ # Write a limited-size here document to conftest.frag. ++ echo ' cat > conftest.frag <> $CONFIG_STATUS ++ sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS ++ echo 'CEOF ++ sed -f conftest.frag conftest.in > conftest.out ++ rm -f conftest.in ++ mv conftest.out conftest.in ++' >> $CONFIG_STATUS ++ sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail ++ rm -f conftest.vals ++ mv conftest.tail conftest.vals ++done ++rm -f conftest.vals ++ ++cat >> $CONFIG_STATUS <<\EOF ++ rm -f conftest.frag conftest.h ++ echo "/* $ac_file. Generated automatically by configure. */" > conftest.h ++ cat conftest.in >> conftest.h ++ rm -f conftest.in ++ if cmp -s $ac_file conftest.h 2>/dev/null; then ++ echo "$ac_file is unchanged" ++ rm -f conftest.h ++ else ++ # Remove last slash and all that follows it. Not all systems have dirname. ++ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` ++ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then ++ # The file is in a subdirectory. ++ test ! -d "$ac_dir" && mkdir "$ac_dir" ++ fi ++ rm -f $ac_file ++ mv conftest.h $ac_file ++ fi ++fi; done ++ ++EOF ++cat >> $CONFIG_STATUS < "\$am_dir"stamp-h\$am_indx ++ ;; ++ esac ++ am_indx=\`expr \$am_indx + 1\` ++done ++AMDEP_TRUE="$AMDEP_TRUE" ++ac_aux_dir="$ac_aux_dir" ++ ++EOF ++cat >> $CONFIG_STATUS <<\EOF ++test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ++ ++test x"$AMDEP_TRUE" != x"" || ++for mf in $CONFIG_FILES; do ++ case "$mf" in ++ Makefile) dirpart=.;; ++ */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; ++ *) continue;; ++ esac ++ grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue ++ # Extract the definition of DEP_FILES from the Makefile without ++ # running `make'. ++ DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ # When using ansi2knr, U may be empty or an underscore; expand it ++ U=`sed -n -e '/^U = / s///p' < "$mf"` ++ test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" ++ # We invoke sed twice because it is the simplest approach to ++ # changing $(DEPDIR) to its actual value in the expansion. ++ for file in `sed -n -e ' ++ /^DEP_FILES = .*\\\\$/ { ++ s/^DEP_FILES = // ++ :loop ++ s/\\\\$// ++ p ++ n ++ /\\\\$/ b loop ++ p ++ } ++ /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`echo "$file" | sed -e 's|/[^/]*$||'` ++ $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++done ++ ++ ++exit 0 ++EOF ++chmod +x $CONFIG_STATUS ++rm -fr confdefs* $ac_clean_files ++test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 ++ +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/configure.in +@@ -0,0 +1,195 @@ ++dnl $Id: configure.in,v 1.5 2003/01/20 05:44:48 lteo Exp $ ++ ++dnl configure.in: specifies compile-time configuration options. ++dnl ++dnl Copyright (c) 2003 Calyptix Security Corporation ++dnl All rights reserved. ++dnl ++dnl Redistribution and use in source and binary forms, with or without ++dnl modification, are permitted provided that the following conditions ++dnl are met: ++dnl 1. Redistributions of source code must retain the above copyright ++dnl notice, this list of conditions and the following disclaimer. ++dnl 2. Redistributions in binary form must reproduce the above ++dnl copyright notice, this list of conditions and the following ++dnl disclaimer in the documentation and/or other materials provided ++dnl with the distribution. ++dnl 3. Neither the name of Calyptix Security Corporation nor the ++dnl names of its contributors may be used to endorse or promote ++dnl products derived from this software without specific prior ++dnl written permission. ++dnl ++dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++dnl "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++dnl LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++dnl FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++dnl COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++dnl INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++dnl BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++dnl LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++dnl CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++dnl LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++dnl ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++dnl POSSIBILITY OF SUCH DAMAGE. ++dnl ++dnl ------------------------------------------------------------------- ++ ++ ++dnl Process this file with autoconf to produce a configure script. ++AC_INIT(havaltest.c) ++HAVAL_VERSION=`cat VERSION` ++AC_CONFIG_AUX_DIR(config) ++AM_CONFIG_HEADER(config.h:config-h.in) ++AM_INIT_AUTOMAKE("haval", $HAVAL_VERSION) ++#AC_CONFIG_SRCDIR([src/main.cpp]) ++#AC_CONFIG_HEADER([config.h]) ++ ++dnl Checks for programs. ++AC_PROG_CC ++AC_PROG_INSTALL ++#AM_PROG_LIBTOOL ++ ++AC_CANONICAL_HOST ++ ++ ++ ++AC_MSG_CHECKING(for HAVAL number of passes) ++AC_ARG_WITH(num-passes, ++ [ --with-num-passes=NUM use NUM number of passes (3,4,5) (default=3)], ++ [case "$withval" in ++ 3) ++ AC_MSG_RESULT(3) ++ num_passes=3 ++ ;; ++ 4) ++ AC_MSG_RESULT(4) ++ num_passes=4 ++ ;; ++ 5) ++ AC_MSG_RESULT(5) ++ num_passes=5 ++ ;; ++ *) ++ echo " " ++ echo "ERROR: number of passes MUST be 3, 4, or 5." ++ exit 1 ++ ;; ++ esac ++ ], ++ [ ++ AC_MSG_RESULT(3) ++ num_passes=3 ++ ] ++ ) ++AC_SUBST(num_passes) ++AC_DEFINE_UNQUOTED(PASS, $num_passes, [Number of passes]) ++ ++ ++ ++ ++AC_MSG_CHECKING(for HAVAL fingerprint length) ++AC_ARG_WITH(fpt-len, ++ [ --with-fpt-len=LEN use LEN fingerprint length (128,160,192,224,256) (default=256)], ++ [case "$withval" in ++ 128) ++ AC_MSG_RESULT(128) ++ fpt_len=128 ++ ;; ++ 160) ++ AC_MSG_RESULT(160) ++ fpt_len=160 ++ ;; ++ 192) ++ AC_MSG_RESULT(192) ++ fpt_len=192 ++ ;; ++ 224) ++ AC_MSG_RESULT(224) ++ fpt_len=224 ++ ;; ++ 256) ++ AC_MSG_RESULT(256) ++ fpt_len=256 ++ ;; ++ *) ++ echo " " ++ echo "ERROR: fingerprint length MUST be 128, 160, 192, 224, or 256." ++ exit 1 ++ ;; ++ esac ++ ], ++ [ ++ AC_MSG_RESULT(256) ++ fpt_len=256 ++ ] ++ ) ++AC_SUBST(fpt_len) ++AC_DEFINE_UNQUOTED(FPTLEN, $fpt_len, [Length of a fingerprint]) ++ ++ ++AC_MSG_CHECKING(for HAVAL number of test blocks) ++AC_ARG_WITH(test-blocks, ++ [ --with-test-blocks=NUM use NUM test blocks (default=5000)], ++ [ ++ AC_MSG_RESULT($withval) ++ test_blocks=$withval ++ ], ++ [ ++ AC_MSG_RESULT(5000) ++ test_blocks=5000 ++ ] ++ ) ++AC_SUBST(test_blocks) ++AC_DEFINE_UNQUOTED(NUMBER_OF_BLOCKS, $test_blocks, [Number of test blocks]) ++ ++ ++ ++ ++AC_MSG_CHECKING(for HAVAL test block size) ++AC_ARG_WITH(block-size, ++ [ --with-block-size=NUM use block size of NUM bytes (default=5000)], ++ [ ++ AC_MSG_RESULT($withval) ++ block_size=$withval ++ ], ++ [ ++ AC_MSG_RESULT(5000) ++ block_size=5000 ++ ] ++ ) ++AC_SUBST(block_size) ++AC_DEFINE_UNQUOTED(BLOCK_SIZE, $block_size, [Test block size]) ++ ++ ++ ++AC_MSG_CHECKING(whether we should enable extra optimization) ++AC_ARG_ENABLE(extra-optimization, ++ [ --enable-extra-optimization enable extra optimization (i686 only)], ++ [ ++ AC_MSG_RESULT($enableval) ++ CFLAGS="$CFLAGS -O3 -mcpu=i686 -march=i686 -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -malign-functions=4" ++ ], ++ [ ++ AC_MSG_RESULT(no) ++ ] ++ ) ++ ++ ++dnl Check endianness ++AC_CALYPTIX_ENDIAN_CHECK ++ ++#AC_CONFIG_LINKS(host.h:config/$machine.h ++# object.h:config/$obj_format.h) ++ ++# Checks for libraries. ++ ++# Checks for header files. ++# AC_CHECK_HEADERS(getopt.h unistd.h) ++ ++# Checks for typedefs, structures, and compiler characteristics. ++ ++# Checks for library functions. ++ ++AC_DEFINE(PACKAGE_NAME, "HAVAL", [Package name]) ++ ++AC_OUTPUT(Makefile) +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/COPYING.BSD +@@ -0,0 +1,33 @@ ++Copyright (c) 2003 Calyptix Security Corporation ++All rights reserved. ++ ++Redistribution and use in source and binary forms, with or without ++modification, are permitted provided that the following conditions ++are met: ++ ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ ++ 2. Redistributions in binary form must reproduce the above ++ copyright notice, this list of conditions and the following ++ disclaimer in the documentation and/or other materials provided ++ with the distribution. ++ ++ 3. Neither the name of Calyptix Security Corporation nor the ++ names of its contributors may be used to endorse or promote ++ products derived from this software without specific prior ++ written permission. ++ ++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++POSSIBILITY OF SUCH DAMAGE. ++ +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/havalapp.h +@@ -0,0 +1,80 @@ ++ ++/* $Id: havalapp.h,v 1.3 2003/01/20 05:44:48 lteo Exp $ */ ++ ++/* ++ * havalapp.h: specifies the following three constants needed to ++ * compile the HAVAL hashing library: ++ * LITTLE_ENDIAN, PASS and FPTLEN ++ * ++ * Copyright (c) 2003 Calyptix Security Corporation ++ * All rights reserved. ++ * ++ * This code is derived from software contributed to Calyptix Security ++ * Corporation by Yuliang Zheng. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above ++ * copyright notice, this list of conditions and the following ++ * disclaimer in the documentation and/or other materials provided ++ * with the distribution. ++ * 3. Neither the name of Calyptix Security Corporation nor the ++ * names of its contributors may be used to endorse or promote ++ * products derived from this software without specific prior ++ * written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++ * POSSIBILITY OF SUCH DAMAGE. ++ * ++ * ------------------------------------------------------------------- ++ * ++ * Descriptions: ++ * ++ * LITTLE_ENDIAN define this only if your machine is little-endian ++ * (such as 80X86 family). ++ * ++ * Note: ++ * 1. In general, HAVAL is faster on a little endian ++ * machine than on a big endian one. ++ * ++ * 2. The test program "havaltest.c" provides an option ++ * for testing the endianity of your machine. ++ * ++ * 3. The speed of HAVAL is even more remarkable on a ++ * machine that has a large number of internal registers. ++ * ++ * PASS define the number of passes (3, 4, or 5) ++ * FPTLEN define the length of a fingerprint (128, 160, 192, 224 or 256) ++ */ ++ ++#include "config.h" ++ ++#ifdef THIS_IS_JUST_A_DUMMY_DIRECTIVE ++ ++#undef LITTLE_ENDIAN ++ ++#ifndef PASS ++#define PASS 3 /* 3, 4, or 5 */ ++#endif ++ ++ ++#ifndef FPTLEN ++#define FPTLEN 256 /* 128, 160, 192, 224 or 256 */ ++#endif ++ ++#endif /* THIS_IS_JUST_A_DUMMY_DIRECTIVE */ ++ ++ +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/haval.c +@@ -0,0 +1,724 @@ ++ ++/* $Id: haval.c,v 1.8 2003/01/20 05:44:48 lteo Exp $ */ ++ ++/* ++ * haval.c: specifies the routines in the HAVAL (V.1) hashing library. ++ * ++ * Copyright (c) 2003 Calyptix Security Corporation ++ * All rights reserved. ++ * ++ * This code is derived from software contributed to Calyptix Security ++ * Corporation by Yuliang Zheng. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above ++ * copyright notice, this list of conditions and the following ++ * disclaimer in the documentation and/or other materials provided ++ * with the distribution. ++ * 3. Neither the name of Calyptix Security Corporation nor the ++ * names of its contributors may be used to endorse or promote ++ * products derived from this software without specific prior ++ * written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++ * POSSIBILITY OF SUCH DAMAGE. ++ * ++ * ------------------------------------------------------------------- ++ * ++ * HAVAL is a one-way hashing algorithm with the following ++ * collision-resistant property: ++ * It is computationally infeasible to find two or more ++ * messages that are hashed into the same fingerprint. ++ * ++ * Reference: ++ * Y. Zheng, J. Pieprzyk and J. Seberry: ++ * ``HAVAL --- a one-way hashing algorithm with variable ++ * length of output'', Advances in Cryptology --- AUSCRYPT'92, ++ * Lecture Notes in Computer Science, Vol.718, pp.83-104, ++ * Springer-Verlag, 1993. ++ * ++ * Descriptions: ++ * - haval_string: hash a string ++ * - haval_file: hash a file ++ * - haval_stdin: filter -- hash input from the stdin device ++ * - haval_hash: hash a string of specified length ++ * (Haval_hash is used in conjunction with ++ * haval_start & haval_end.) ++ * - haval_hash_block: hash a 32-word block ++ * - haval_start: initialization ++ * - haval_end: finalization ++ * ++ * Authors: Yuliang Zheng and Lawrence Teo ++ * Calyptix Security Corporation ++ * P.O. Box 561508, Charlotte, NC 28213, USA ++ * Email: info@calyptix.com ++ * URL: http://www.calyptix.com/ ++ * Voice: +1 704 806 8635 ++ * ++ * For a list of changes, see the ChangeLog file. ++ */ ++ ++static char rcsid[] = "$Id: haval.c,v 1.8 2003/01/20 05:44:48 lteo Exp $"; ++ ++#include ++#include ++/* #include "havalapp.h" */ ++#include "config.h" ++#include "haval.h" ++ ++#define HAVAL_VERSION 1 /* current version number */ ++ ++void haval_string (char *, unsigned char *); /* hash a string */ ++int haval_file (char *, unsigned char *); /* hash a file */ ++void haval_stdin (void); /* hash input from stdin */ ++void haval_start (haval_state *); /* initialization */ ++void haval_hash (haval_state *, ++ unsigned char *, unsigned int); /* updating routine */ ++void haval_end (haval_state *, unsigned char *); /* finalization */ ++void haval_hash_block (haval_state *); /* hash a 32-word block */ ++static void haval_tailor (haval_state *); /* folding the last output */ ++ ++static unsigned char padding[128] = { /* constants for padding */ ++0x01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ++}; ++ ++#define f_1(x6, x5, x4, x3, x2, x1, x0) \ ++ ((x1) & ((x0) ^ (x4)) ^ (x2) & (x5) ^ \ ++ (x3) & (x6) ^ (x0)) ++ ++#define f_2(x6, x5, x4, x3, x2, x1, x0) \ ++ ((x2) & ((x1) & ~(x3) ^ (x4) & (x5) ^ (x6) ^ (x0)) ^ \ ++ (x4) & ((x1) ^ (x5)) ^ (x3) & (x5) ^ (x0)) ++ ++#define f_3(x6, x5, x4, x3, x2, x1, x0) \ ++ ((x3) & ((x1) & (x2) ^ (x6) ^ (x0)) ^ \ ++ (x1) & (x4) ^ (x2) & (x5) ^ (x0)) ++ ++#define f_4(x6, x5, x4, x3, x2, x1, x0) \ ++ ((x4) & ((x5) & ~(x2) ^ (x3) & ~(x6) ^ (x1) ^ (x6) ^ (x0)) ^ \ ++ (x3) & ((x1) & (x2) ^ (x5) ^ (x6)) ^ \ ++ (x2) & (x6) ^ (x0)) ++ ++#define f_5(x6, x5, x4, x3, x2, x1, x0) \ ++ ((x0) & ((x1) & (x2) & (x3) ^ ~(x5)) ^ \ ++ (x1) & (x4) ^ (x2) & (x5) ^ (x3) & (x6)) ++ ++/* ++ * Permutations phi_{i,j}, i=3,4,5, j=1,...,i. ++ * ++ * PASS = 3: ++ * 6 5 4 3 2 1 0 ++ * | | | | | | | (replaced by) ++ * phi_{3,1}: 1 0 3 5 6 2 4 ++ * phi_{3,2}: 4 2 1 0 5 3 6 ++ * phi_{3,3}: 6 1 2 3 4 5 0 ++ * ++ * PASS = 4: ++ * 6 5 4 3 2 1 0 ++ * | | | | | | | (replaced by) ++ * phi_{4,1}: 2 6 1 4 5 3 0 ++ * phi_{4,2}: 3 5 2 0 1 6 4 ++ * phi_{4,3}: 1 4 3 6 0 2 5 ++ * phi_{4,4}: 6 4 0 5 2 1 3 ++ * ++ * PASS = 5: ++ * 6 5 4 3 2 1 0 ++ * | | | | | | | (replaced by) ++ * phi_{5,1}: 3 4 1 0 5 2 6 ++ * phi_{5,2}: 6 2 1 0 3 4 5 ++ * phi_{5,3}: 2 6 0 4 3 1 5 ++ * phi_{5,4}: 1 5 3 2 0 4 6 ++ * phi_{5,5}: 2 5 0 6 4 3 1 ++ */ ++ ++#if PASS == 3 ++#define Fphi_1(x6, x5, x4, x3, x2, x1, x0) \ ++ f_1(x1, x0, x3, x5, x6, x2, x4) ++#elif PASS == 4 ++#define Fphi_1(x6, x5, x4, x3, x2, x1, x0) \ ++ f_1(x2, x6, x1, x4, x5, x3, x0) ++#else ++#define Fphi_1(x6, x5, x4, x3, x2, x1, x0) \ ++ f_1(x3, x4, x1, x0, x5, x2, x6) ++#endif ++ ++#if PASS == 3 ++#define Fphi_2(x6, x5, x4, x3, x2, x1, x0) \ ++ f_2(x4, x2, x1, x0, x5, x3, x6) ++#elif PASS == 4 ++#define Fphi_2(x6, x5, x4, x3, x2, x1, x0) \ ++ f_2(x3, x5, x2, x0, x1, x6, x4) ++#else ++#define Fphi_2(x6, x5, x4, x3, x2, x1, x0) \ ++ f_2(x6, x2, x1, x0, x3, x4, x5) ++#endif ++ ++#if PASS == 3 ++#define Fphi_3(x6, x5, x4, x3, x2, x1, x0) \ ++ f_3(x6, x1, x2, x3, x4, x5, x0) ++#elif PASS == 4 ++#define Fphi_3(x6, x5, x4, x3, x2, x1, x0) \ ++ f_3(x1, x4, x3, x6, x0, x2, x5) ++#else ++#define Fphi_3(x6, x5, x4, x3, x2, x1, x0) \ ++ f_3(x2, x6, x0, x4, x3, x1, x5) ++#endif ++ ++#if PASS == 4 ++#define Fphi_4(x6, x5, x4, x3, x2, x1, x0) \ ++ f_4(x6, x4, x0, x5, x2, x1, x3) ++#else ++#define Fphi_4(x6, x5, x4, x3, x2, x1, x0) \ ++ f_4(x1, x5, x3, x2, x0, x4, x6) ++#endif ++ ++#define Fphi_5(x6, x5, x4, x3, x2, x1, x0) \ ++ f_5(x2, x5, x0, x6, x4, x3, x1) ++ ++#define rotate_right(x, n) (((x) >> (n)) | ((x) << (32-(n)))) ++ ++#define FF_1(x7, x6, x5, x4, x3, x2, x1, x0, w) { \ ++ register haval_word temp = Fphi_1(x6, x5, x4, x3, x2, x1, x0); \ ++ (x7) = rotate_right(temp, 7) + rotate_right((x7), 11) + (w); \ ++ } ++ ++#define FF_2(x7, x6, x5, x4, x3, x2, x1, x0, w, c) { \ ++ register haval_word temp = Fphi_2(x6, x5, x4, x3, x2, x1, x0); \ ++ (x7) = rotate_right(temp, 7) + rotate_right((x7), 11) + (w) + (c); \ ++ } ++ ++#define FF_3(x7, x6, x5, x4, x3, x2, x1, x0, w, c) { \ ++ register haval_word temp = Fphi_3(x6, x5, x4, x3, x2, x1, x0); \ ++ (x7) = rotate_right(temp, 7) + rotate_right((x7), 11) + (w) + (c); \ ++ } ++ ++#define FF_4(x7, x6, x5, x4, x3, x2, x1, x0, w, c) { \ ++ register haval_word temp = Fphi_4(x6, x5, x4, x3, x2, x1, x0); \ ++ (x7) = rotate_right(temp, 7) + rotate_right((x7), 11) + (w) + (c); \ ++ } ++ ++#define FF_5(x7, x6, x5, x4, x3, x2, x1, x0, w, c) { \ ++ register haval_word temp = Fphi_5(x6, x5, x4, x3, x2, x1, x0); \ ++ (x7) = rotate_right(temp, 7) + rotate_right((x7), 11) + (w) + (c); \ ++ } ++ ++/* ++ * translate every four characters into a word. ++ * assume the number of characters is a multiple of four. ++ */ ++#define ch2uint(string, word, slen) { \ ++ unsigned char *sp = string; \ ++ haval_word *wp = word; \ ++ while (sp < (string) + (slen)) { \ ++ *wp++ = (haval_word)*sp | \ ++ ((haval_word)*(sp+1) << 8) | \ ++ ((haval_word)*(sp+2) << 16) | \ ++ ((haval_word)*(sp+3) << 24); \ ++ sp += 4; \ ++ } \ ++} ++ ++/* translate each word into four characters */ ++#define uint2ch(word, string, wlen) { \ ++ haval_word *wp = word; \ ++ unsigned char *sp = string; \ ++ while (wp < (word) + (wlen)) { \ ++ *(sp++) = (unsigned char)( *wp & 0xFF); \ ++ *(sp++) = (unsigned char)((*wp >> 8) & 0xFF); \ ++ *(sp++) = (unsigned char)((*wp >> 16) & 0xFF); \ ++ *(sp++) = (unsigned char)((*wp >> 24) & 0xFF); \ ++ wp++; \ ++ } \ ++} ++ ++ ++/* hash a string */ ++void haval_string (char *string, unsigned char *fingerprint) ++{ ++ haval_state state; ++ unsigned int len = strlen (string); ++ ++ haval_start (&state); ++ haval_hash (&state, (unsigned char *)string, len); ++ haval_end (&state, fingerprint); ++} ++ ++/* hash a file */ ++int haval_file (char *file_name, unsigned char *fingerprint) ++{ ++ FILE *file; ++ haval_state state; ++ int len; ++ unsigned char buffer[1024]; ++ ++ if ((file = fopen (file_name, "rb")) == NULL){ ++ return (1); /* fail */ ++ } else { ++ haval_start (&state); ++ while ((len = fread (buffer, 1, 1024, file))) { ++ haval_hash (&state, buffer, len); ++ } ++ fclose (file); ++ haval_end (&state, fingerprint); ++ return (0); /* success */ ++ } ++} ++ ++/* hash input from stdin */ ++void haval_stdin (void) ++{ ++ haval_state state; ++ int i, len; ++ unsigned char buffer[32], ++ fingerprint[FPTLEN >> 3]; ++ ++ haval_start (&state); ++ /* while (len = fread (buffer, 1, 32, stdin)) { */ ++ while ((len = fread (buffer, 1, 32, stdin))) { ++ haval_hash (&state, buffer, len); ++ } ++ haval_end (&state, fingerprint); ++ ++ for (i = 0; i < FPTLEN >> 3; i++) { ++ /* putchar(fingerprint[i]); */ ++ printf ("%02X", fingerprint[i]); ++ } ++ printf("\n"); ++} ++ ++/* initialization */ ++void haval_start (haval_state *state) ++{ ++ state->count[0] = state->count[1] = 0; /* clear count */ ++ state->fingerprint[0] = 0x243F6A88L; /* initial fingerprint */ ++ state->fingerprint[1] = 0x85A308D3L; ++ state->fingerprint[2] = 0x13198A2EL; ++ state->fingerprint[3] = 0x03707344L; ++ state->fingerprint[4] = 0xA4093822L; ++ state->fingerprint[5] = 0x299F31D0L; ++ state->fingerprint[6] = 0x082EFA98L; ++ state->fingerprint[7] = 0xEC4E6C89L; ++} ++ ++/* ++ * hash a string of specified length. ++ * to be used in conjunction with haval_start and haval_end. ++ */ ++void haval_hash (haval_state *state, ++ unsigned char *str, unsigned int str_len) ++{ ++ unsigned int i, ++ rmd_len, ++ fill_len; ++ ++ /* calculate the number of bytes in the remainder */ ++ rmd_len = (unsigned int)((state->count[0] >> 3) & 0x7F); ++ fill_len = 128 - rmd_len; ++ ++ /* update the number of bits */ ++ if ((state->count[0] += (haval_word)str_len << 3) ++ < ((haval_word)str_len << 3)) { ++ state->count[1]++; ++ } ++ state->count[1] += (haval_word)str_len >> 29; ++ ++#ifdef LITTLE_ENDIAN ++ ++ /* hash as many blocks as possible */ ++ if (rmd_len + str_len >= 128) { ++ memcpy (((unsigned char *)state->block)+rmd_len, str, fill_len); ++ haval_hash_block (state); ++ for (i = fill_len; i + 127 < str_len; i += 128){ ++ memcpy ((unsigned char *)state->block, str+i, 128); ++ haval_hash_block (state); ++ } ++ rmd_len = 0; ++ } else { ++ i = 0; ++ } ++ memcpy (((unsigned char *)state->block)+rmd_len, str+i, str_len-i); ++ ++#else ++ ++ /* hash as many blocks as possible */ ++ if (rmd_len + str_len >= 128) { ++ memcpy (&state->remainder[rmd_len], str, fill_len); ++ ch2uint(state->remainder, state->block, 128); ++ haval_hash_block (state); ++ for (i = fill_len; i + 127 < str_len; i += 128){ ++ memcpy (state->remainder, str+i, 128); ++ ch2uint(state->remainder, state->block, 128); ++ haval_hash_block (state); ++ } ++ rmd_len = 0; ++ } else { ++ i = 0; ++ } ++ /* save the remaining input chars */ ++ memcpy (&state->remainder[rmd_len], str+i, str_len-i); ++ ++#endif ++} ++ ++/* finalization */ ++void haval_end (haval_state *state, unsigned char *final_fpt) ++{ ++ unsigned char tail[10]; ++ unsigned int rmd_len, pad_len; ++ ++ /* ++ * save the version number, the number of passes, the fingerprint ++ * length and the number of bits in the unpadded message. ++ */ ++ tail[0] = (unsigned char)(((FPTLEN & 0x3) << 6) | ++ ((PASS & 0x7) << 3) | ++ (HAVAL_VERSION & 0x7)); ++ tail[1] = (unsigned char)((FPTLEN >> 2) & 0xFF); ++ uint2ch (state->count, &tail[2], 2); ++ ++ /* pad out to 118 mod 128 */ ++ rmd_len = (unsigned int)((state->count[0] >> 3) & 0x7f); ++ pad_len = (rmd_len < 118) ? (118 - rmd_len) : (246 - rmd_len); ++ haval_hash (state, padding, pad_len); ++ ++ /* ++ * append the version number, the number of passes, ++ * the fingerprint length and the number of bits ++ */ ++ haval_hash (state, tail, 10); ++ ++ /* tailor the last output */ ++ haval_tailor(state); ++ ++ /* translate and save the final fingerprint */ ++ uint2ch (state->fingerprint, final_fpt, FPTLEN >> 5); ++ ++ /* clear the state information */ ++ memset ((unsigned char *)state, 0, sizeof (*state)); ++} ++ ++/* hash a 32-word block */ ++void haval_hash_block (haval_state *state) ++{ ++ register haval_word t0 = state->fingerprint[0], /* make use of */ ++ t1 = state->fingerprint[1], /* internal registers */ ++ t2 = state->fingerprint[2], ++ t3 = state->fingerprint[3], ++ t4 = state->fingerprint[4], ++ t5 = state->fingerprint[5], ++ t6 = state->fingerprint[6], ++ t7 = state->fingerprint[7], ++ *w = state->block; ++ ++ /* Pass 1 */ ++ FF_1(t7, t6, t5, t4, t3, t2, t1, t0, *(w )); ++ FF_1(t6, t5, t4, t3, t2, t1, t0, t7, *(w+ 1)); ++ FF_1(t5, t4, t3, t2, t1, t0, t7, t6, *(w+ 2)); ++ FF_1(t4, t3, t2, t1, t0, t7, t6, t5, *(w+ 3)); ++ FF_1(t3, t2, t1, t0, t7, t6, t5, t4, *(w+ 4)); ++ FF_1(t2, t1, t0, t7, t6, t5, t4, t3, *(w+ 5)); ++ FF_1(t1, t0, t7, t6, t5, t4, t3, t2, *(w+ 6)); ++ FF_1(t0, t7, t6, t5, t4, t3, t2, t1, *(w+ 7)); ++ ++ FF_1(t7, t6, t5, t4, t3, t2, t1, t0, *(w+ 8)); ++ FF_1(t6, t5, t4, t3, t2, t1, t0, t7, *(w+ 9)); ++ FF_1(t5, t4, t3, t2, t1, t0, t7, t6, *(w+10)); ++ FF_1(t4, t3, t2, t1, t0, t7, t6, t5, *(w+11)); ++ FF_1(t3, t2, t1, t0, t7, t6, t5, t4, *(w+12)); ++ FF_1(t2, t1, t0, t7, t6, t5, t4, t3, *(w+13)); ++ FF_1(t1, t0, t7, t6, t5, t4, t3, t2, *(w+14)); ++ FF_1(t0, t7, t6, t5, t4, t3, t2, t1, *(w+15)); ++ ++ FF_1(t7, t6, t5, t4, t3, t2, t1, t0, *(w+16)); ++ FF_1(t6, t5, t4, t3, t2, t1, t0, t7, *(w+17)); ++ FF_1(t5, t4, t3, t2, t1, t0, t7, t6, *(w+18)); ++ FF_1(t4, t3, t2, t1, t0, t7, t6, t5, *(w+19)); ++ FF_1(t3, t2, t1, t0, t7, t6, t5, t4, *(w+20)); ++ FF_1(t2, t1, t0, t7, t6, t5, t4, t3, *(w+21)); ++ FF_1(t1, t0, t7, t6, t5, t4, t3, t2, *(w+22)); ++ FF_1(t0, t7, t6, t5, t4, t3, t2, t1, *(w+23)); ++ ++ FF_1(t7, t6, t5, t4, t3, t2, t1, t0, *(w+24)); ++ FF_1(t6, t5, t4, t3, t2, t1, t0, t7, *(w+25)); ++ FF_1(t5, t4, t3, t2, t1, t0, t7, t6, *(w+26)); ++ FF_1(t4, t3, t2, t1, t0, t7, t6, t5, *(w+27)); ++ FF_1(t3, t2, t1, t0, t7, t6, t5, t4, *(w+28)); ++ FF_1(t2, t1, t0, t7, t6, t5, t4, t3, *(w+29)); ++ FF_1(t1, t0, t7, t6, t5, t4, t3, t2, *(w+30)); ++ FF_1(t0, t7, t6, t5, t4, t3, t2, t1, *(w+31)); ++ ++ /* Pass 2 */ ++ FF_2(t7, t6, t5, t4, t3, t2, t1, t0, *(w+ 5), 0x452821E6L); ++ FF_2(t6, t5, t4, t3, t2, t1, t0, t7, *(w+14), 0x38D01377L); ++ FF_2(t5, t4, t3, t2, t1, t0, t7, t6, *(w+26), 0xBE5466CFL); ++ FF_2(t4, t3, t2, t1, t0, t7, t6, t5, *(w+18), 0x34E90C6CL); ++ FF_2(t3, t2, t1, t0, t7, t6, t5, t4, *(w+11), 0xC0AC29B7L); ++ FF_2(t2, t1, t0, t7, t6, t5, t4, t3, *(w+28), 0xC97C50DDL); ++ FF_2(t1, t0, t7, t6, t5, t4, t3, t2, *(w+ 7), 0x3F84D5B5L); ++ FF_2(t0, t7, t6, t5, t4, t3, t2, t1, *(w+16), 0xB5470917L); ++ ++ FF_2(t7, t6, t5, t4, t3, t2, t1, t0, *(w ), 0x9216D5D9L); ++ FF_2(t6, t5, t4, t3, t2, t1, t0, t7, *(w+23), 0x8979FB1BL); ++ FF_2(t5, t4, t3, t2, t1, t0, t7, t6, *(w+20), 0xD1310BA6L); ++ FF_2(t4, t3, t2, t1, t0, t7, t6, t5, *(w+22), 0x98DFB5ACL); ++ FF_2(t3, t2, t1, t0, t7, t6, t5, t4, *(w+ 1), 0x2FFD72DBL); ++ FF_2(t2, t1, t0, t7, t6, t5, t4, t3, *(w+10), 0xD01ADFB7L); ++ FF_2(t1, t0, t7, t6, t5, t4, t3, t2, *(w+ 4), 0xB8E1AFEDL); ++ FF_2(t0, t7, t6, t5, t4, t3, t2, t1, *(w+ 8), 0x6A267E96L); ++ ++ FF_2(t7, t6, t5, t4, t3, t2, t1, t0, *(w+30), 0xBA7C9045L); ++ FF_2(t6, t5, t4, t3, t2, t1, t0, t7, *(w+ 3), 0xF12C7F99L); ++ FF_2(t5, t4, t3, t2, t1, t0, t7, t6, *(w+21), 0x24A19947L); ++ FF_2(t4, t3, t2, t1, t0, t7, t6, t5, *(w+ 9), 0xB3916CF7L); ++ FF_2(t3, t2, t1, t0, t7, t6, t5, t4, *(w+17), 0x0801F2E2L); ++ FF_2(t2, t1, t0, t7, t6, t5, t4, t3, *(w+24), 0x858EFC16L); ++ FF_2(t1, t0, t7, t6, t5, t4, t3, t2, *(w+29), 0x636920D8L); ++ FF_2(t0, t7, t6, t5, t4, t3, t2, t1, *(w+ 6), 0x71574E69L); ++ ++ FF_2(t7, t6, t5, t4, t3, t2, t1, t0, *(w+19), 0xA458FEA3L); ++ FF_2(t6, t5, t4, t3, t2, t1, t0, t7, *(w+12), 0xF4933D7EL); ++ FF_2(t5, t4, t3, t2, t1, t0, t7, t6, *(w+15), 0x0D95748FL); ++ FF_2(t4, t3, t2, t1, t0, t7, t6, t5, *(w+13), 0x728EB658L); ++ FF_2(t3, t2, t1, t0, t7, t6, t5, t4, *(w+ 2), 0x718BCD58L); ++ FF_2(t2, t1, t0, t7, t6, t5, t4, t3, *(w+25), 0x82154AEEL); ++ FF_2(t1, t0, t7, t6, t5, t4, t3, t2, *(w+31), 0x7B54A41DL); ++ FF_2(t0, t7, t6, t5, t4, t3, t2, t1, *(w+27), 0xC25A59B5L); ++ ++ /* Pass 3 */ ++ FF_3(t7, t6, t5, t4, t3, t2, t1, t0, *(w+19), 0x9C30D539L); ++ FF_3(t6, t5, t4, t3, t2, t1, t0, t7, *(w+ 9), 0x2AF26013L); ++ FF_3(t5, t4, t3, t2, t1, t0, t7, t6, *(w+ 4), 0xC5D1B023L); ++ FF_3(t4, t3, t2, t1, t0, t7, t6, t5, *(w+20), 0x286085F0L); ++ FF_3(t3, t2, t1, t0, t7, t6, t5, t4, *(w+28), 0xCA417918L); ++ FF_3(t2, t1, t0, t7, t6, t5, t4, t3, *(w+17), 0xB8DB38EFL); ++ FF_3(t1, t0, t7, t6, t5, t4, t3, t2, *(w+ 8), 0x8E79DCB0L); ++ FF_3(t0, t7, t6, t5, t4, t3, t2, t1, *(w+22), 0x603A180EL); ++ ++ FF_3(t7, t6, t5, t4, t3, t2, t1, t0, *(w+29), 0x6C9E0E8BL); ++ FF_3(t6, t5, t4, t3, t2, t1, t0, t7, *(w+14), 0xB01E8A3EL); ++ FF_3(t5, t4, t3, t2, t1, t0, t7, t6, *(w+25), 0xD71577C1L); ++ FF_3(t4, t3, t2, t1, t0, t7, t6, t5, *(w+12), 0xBD314B27L); ++ FF_3(t3, t2, t1, t0, t7, t6, t5, t4, *(w+24), 0x78AF2FDAL); ++ FF_3(t2, t1, t0, t7, t6, t5, t4, t3, *(w+30), 0x55605C60L); ++ FF_3(t1, t0, t7, t6, t5, t4, t3, t2, *(w+16), 0xE65525F3L); ++ FF_3(t0, t7, t6, t5, t4, t3, t2, t1, *(w+26), 0xAA55AB94L); ++ ++ FF_3(t7, t6, t5, t4, t3, t2, t1, t0, *(w+31), 0x57489862L); ++ FF_3(t6, t5, t4, t3, t2, t1, t0, t7, *(w+15), 0x63E81440L); ++ FF_3(t5, t4, t3, t2, t1, t0, t7, t6, *(w+ 7), 0x55CA396AL); ++ FF_3(t4, t3, t2, t1, t0, t7, t6, t5, *(w+ 3), 0x2AAB10B6L); ++ FF_3(t3, t2, t1, t0, t7, t6, t5, t4, *(w+ 1), 0xB4CC5C34L); ++ FF_3(t2, t1, t0, t7, t6, t5, t4, t3, *(w ), 0x1141E8CEL); ++ FF_3(t1, t0, t7, t6, t5, t4, t3, t2, *(w+18), 0xA15486AFL); ++ FF_3(t0, t7, t6, t5, t4, t3, t2, t1, *(w+27), 0x7C72E993L); ++ ++ FF_3(t7, t6, t5, t4, t3, t2, t1, t0, *(w+13), 0xB3EE1411L); ++ FF_3(t6, t5, t4, t3, t2, t1, t0, t7, *(w+ 6), 0x636FBC2AL); ++ FF_3(t5, t4, t3, t2, t1, t0, t7, t6, *(w+21), 0x2BA9C55DL); ++ FF_3(t4, t3, t2, t1, t0, t7, t6, t5, *(w+10), 0x741831F6L); ++ FF_3(t3, t2, t1, t0, t7, t6, t5, t4, *(w+23), 0xCE5C3E16L); ++ FF_3(t2, t1, t0, t7, t6, t5, t4, t3, *(w+11), 0x9B87931EL); ++ FF_3(t1, t0, t7, t6, t5, t4, t3, t2, *(w+ 5), 0xAFD6BA33L); ++ FF_3(t0, t7, t6, t5, t4, t3, t2, t1, *(w+ 2), 0x6C24CF5CL); ++ ++#if PASS >= 4 ++ /* Pass 4. executed only when PASS =4 or 5 */ ++ FF_4(t7, t6, t5, t4, t3, t2, t1, t0, *(w+24), 0x7A325381L); ++ FF_4(t6, t5, t4, t3, t2, t1, t0, t7, *(w+ 4), 0x28958677L); ++ FF_4(t5, t4, t3, t2, t1, t0, t7, t6, *(w ), 0x3B8F4898L); ++ FF_4(t4, t3, t2, t1, t0, t7, t6, t5, *(w+14), 0x6B4BB9AFL); ++ FF_4(t3, t2, t1, t0, t7, t6, t5, t4, *(w+ 2), 0xC4BFE81BL); ++ FF_4(t2, t1, t0, t7, t6, t5, t4, t3, *(w+ 7), 0x66282193L); ++ FF_4(t1, t0, t7, t6, t5, t4, t3, t2, *(w+28), 0x61D809CCL); ++ FF_4(t0, t7, t6, t5, t4, t3, t2, t1, *(w+23), 0xFB21A991L); ++ ++ FF_4(t7, t6, t5, t4, t3, t2, t1, t0, *(w+26), 0x487CAC60L); ++ FF_4(t6, t5, t4, t3, t2, t1, t0, t7, *(w+ 6), 0x5DEC8032L); ++ FF_4(t5, t4, t3, t2, t1, t0, t7, t6, *(w+30), 0xEF845D5DL); ++ FF_4(t4, t3, t2, t1, t0, t7, t6, t5, *(w+20), 0xE98575B1L); ++ FF_4(t3, t2, t1, t0, t7, t6, t5, t4, *(w+18), 0xDC262302L); ++ FF_4(t2, t1, t0, t7, t6, t5, t4, t3, *(w+25), 0xEB651B88L); ++ FF_4(t1, t0, t7, t6, t5, t4, t3, t2, *(w+19), 0x23893E81L); ++ FF_4(t0, t7, t6, t5, t4, t3, t2, t1, *(w+ 3), 0xD396ACC5L); ++ ++ FF_4(t7, t6, t5, t4, t3, t2, t1, t0, *(w+22), 0x0F6D6FF3L); ++ FF_4(t6, t5, t4, t3, t2, t1, t0, t7, *(w+11), 0x83F44239L); ++ FF_4(t5, t4, t3, t2, t1, t0, t7, t6, *(w+31), 0x2E0B4482L); ++ FF_4(t4, t3, t2, t1, t0, t7, t6, t5, *(w+21), 0xA4842004L); ++ FF_4(t3, t2, t1, t0, t7, t6, t5, t4, *(w+ 8), 0x69C8F04AL); ++ FF_4(t2, t1, t0, t7, t6, t5, t4, t3, *(w+27), 0x9E1F9B5EL); ++ FF_4(t1, t0, t7, t6, t5, t4, t3, t2, *(w+12), 0x21C66842L); ++ FF_4(t0, t7, t6, t5, t4, t3, t2, t1, *(w+ 9), 0xF6E96C9AL); ++ ++ FF_4(t7, t6, t5, t4, t3, t2, t1, t0, *(w+ 1), 0x670C9C61L); ++ FF_4(t6, t5, t4, t3, t2, t1, t0, t7, *(w+29), 0xABD388F0L); ++ FF_4(t5, t4, t3, t2, t1, t0, t7, t6, *(w+ 5), 0x6A51A0D2L); ++ FF_4(t4, t3, t2, t1, t0, t7, t6, t5, *(w+15), 0xD8542F68L); ++ FF_4(t3, t2, t1, t0, t7, t6, t5, t4, *(w+17), 0x960FA728L); ++ FF_4(t2, t1, t0, t7, t6, t5, t4, t3, *(w+10), 0xAB5133A3L); ++ FF_4(t1, t0, t7, t6, t5, t4, t3, t2, *(w+16), 0x6EEF0B6CL); ++ FF_4(t0, t7, t6, t5, t4, t3, t2, t1, *(w+13), 0x137A3BE4L); ++#endif ++ ++#if PASS == 5 ++ /* Pass 5. executed only when PASS = 5 */ ++ FF_5(t7, t6, t5, t4, t3, t2, t1, t0, *(w+27), 0xBA3BF050L); ++ FF_5(t6, t5, t4, t3, t2, t1, t0, t7, *(w+ 3), 0x7EFB2A98L); ++ FF_5(t5, t4, t3, t2, t1, t0, t7, t6, *(w+21), 0xA1F1651DL); ++ FF_5(t4, t3, t2, t1, t0, t7, t6, t5, *(w+26), 0x39AF0176L); ++ FF_5(t3, t2, t1, t0, t7, t6, t5, t4, *(w+17), 0x66CA593EL); ++ FF_5(t2, t1, t0, t7, t6, t5, t4, t3, *(w+11), 0x82430E88L); ++ FF_5(t1, t0, t7, t6, t5, t4, t3, t2, *(w+20), 0x8CEE8619L); ++ FF_5(t0, t7, t6, t5, t4, t3, t2, t1, *(w+29), 0x456F9FB4L); ++ ++ FF_5(t7, t6, t5, t4, t3, t2, t1, t0, *(w+19), 0x7D84A5C3L); ++ FF_5(t6, t5, t4, t3, t2, t1, t0, t7, *(w ), 0x3B8B5EBEL); ++ FF_5(t5, t4, t3, t2, t1, t0, t7, t6, *(w+12), 0xE06F75D8L); ++ FF_5(t4, t3, t2, t1, t0, t7, t6, t5, *(w+ 7), 0x85C12073L); ++ FF_5(t3, t2, t1, t0, t7, t6, t5, t4, *(w+13), 0x401A449FL); ++ FF_5(t2, t1, t0, t7, t6, t5, t4, t3, *(w+ 8), 0x56C16AA6L); ++ FF_5(t1, t0, t7, t6, t5, t4, t3, t2, *(w+31), 0x4ED3AA62L); ++ FF_5(t0, t7, t6, t5, t4, t3, t2, t1, *(w+10), 0x363F7706L); ++ ++ FF_5(t7, t6, t5, t4, t3, t2, t1, t0, *(w+ 5), 0x1BFEDF72L); ++ FF_5(t6, t5, t4, t3, t2, t1, t0, t7, *(w+ 9), 0x429B023DL); ++ FF_5(t5, t4, t3, t2, t1, t0, t7, t6, *(w+14), 0x37D0D724L); ++ FF_5(t4, t3, t2, t1, t0, t7, t6, t5, *(w+30), 0xD00A1248L); ++ FF_5(t3, t2, t1, t0, t7, t6, t5, t4, *(w+18), 0xDB0FEAD3L); ++ FF_5(t2, t1, t0, t7, t6, t5, t4, t3, *(w+ 6), 0x49F1C09BL); ++ FF_5(t1, t0, t7, t6, t5, t4, t3, t2, *(w+28), 0x075372C9L); ++ FF_5(t0, t7, t6, t5, t4, t3, t2, t1, *(w+24), 0x80991B7BL); ++ ++ FF_5(t7, t6, t5, t4, t3, t2, t1, t0, *(w+ 2), 0x25D479D8L); ++ FF_5(t6, t5, t4, t3, t2, t1, t0, t7, *(w+23), 0xF6E8DEF7L); ++ FF_5(t5, t4, t3, t2, t1, t0, t7, t6, *(w+16), 0xE3FE501AL); ++ FF_5(t4, t3, t2, t1, t0, t7, t6, t5, *(w+22), 0xB6794C3BL); ++ FF_5(t3, t2, t1, t0, t7, t6, t5, t4, *(w+ 4), 0x976CE0BDL); ++ FF_5(t2, t1, t0, t7, t6, t5, t4, t3, *(w+ 1), 0x04C006BAL); ++ FF_5(t1, t0, t7, t6, t5, t4, t3, t2, *(w+25), 0xC1A94FB6L); ++ FF_5(t0, t7, t6, t5, t4, t3, t2, t1, *(w+15), 0x409F60C4L); ++#endif ++ ++ state->fingerprint[0] += t0; ++ state->fingerprint[1] += t1; ++ state->fingerprint[2] += t2; ++ state->fingerprint[3] += t3; ++ state->fingerprint[4] += t4; ++ state->fingerprint[5] += t5; ++ state->fingerprint[6] += t6; ++ state->fingerprint[7] += t7; ++} ++ ++/* tailor the last output */ ++static void haval_tailor (haval_state *state) ++{ ++ haval_word temp; ++ ++#if FPTLEN == 128 ++ temp = (state->fingerprint[7] & 0x000000FFL) | ++ (state->fingerprint[6] & 0xFF000000L) | ++ (state->fingerprint[5] & 0x00FF0000L) | ++ (state->fingerprint[4] & 0x0000FF00L); ++ state->fingerprint[0] += rotate_right(temp, 8); ++ ++ temp = (state->fingerprint[7] & 0x0000FF00L) | ++ (state->fingerprint[6] & 0x000000FFL) | ++ (state->fingerprint[5] & 0xFF000000L) | ++ (state->fingerprint[4] & 0x00FF0000L); ++ state->fingerprint[1] += rotate_right(temp, 16); ++ ++ temp = (state->fingerprint[7] & 0x00FF0000L) | ++ (state->fingerprint[6] & 0x0000FF00L) | ++ (state->fingerprint[5] & 0x000000FFL) | ++ (state->fingerprint[4] & 0xFF000000L); ++ state->fingerprint[2] += rotate_right(temp, 24); ++ ++ temp = (state->fingerprint[7] & 0xFF000000L) | ++ (state->fingerprint[6] & 0x00FF0000L) | ++ (state->fingerprint[5] & 0x0000FF00L) | ++ (state->fingerprint[4] & 0x000000FFL); ++ state->fingerprint[3] += temp; ++ ++#elif FPTLEN == 160 ++ temp = (state->fingerprint[7] & (haval_word)0x3F) | ++ (state->fingerprint[6] & ((haval_word)0x7F << 25)) | ++ (state->fingerprint[5] & ((haval_word)0x3F << 19)); ++ state->fingerprint[0] += rotate_right(temp, 19); ++ ++ temp = (state->fingerprint[7] & ((haval_word)0x3F << 6)) | ++ (state->fingerprint[6] & (haval_word)0x3F) | ++ (state->fingerprint[5] & ((haval_word)0x7F << 25)); ++ state->fingerprint[1] += rotate_right(temp, 25); ++ ++ temp = (state->fingerprint[7] & ((haval_word)0x7F << 12)) | ++ (state->fingerprint[6] & ((haval_word)0x3F << 6)) | ++ (state->fingerprint[5] & (haval_word)0x3F); ++ state->fingerprint[2] += temp; ++ ++ temp = (state->fingerprint[7] & ((haval_word)0x3F << 19)) | ++ (state->fingerprint[6] & ((haval_word)0x7F << 12)) | ++ (state->fingerprint[5] & ((haval_word)0x3F << 6)); ++ state->fingerprint[3] += temp >> 6; ++ ++ temp = (state->fingerprint[7] & ((haval_word)0x7F << 25)) | ++ (state->fingerprint[6] & ((haval_word)0x3F << 19)) | ++ (state->fingerprint[5] & ((haval_word)0x7F << 12)); ++ state->fingerprint[4] += temp >> 12; ++ ++#elif FPTLEN == 192 ++ temp = (state->fingerprint[7] & (haval_word)0x1F) | ++ (state->fingerprint[6] & ((haval_word)0x3F << 26)); ++ state->fingerprint[0] += rotate_right(temp, 26); ++ ++ temp = (state->fingerprint[7] & ((haval_word)0x1F << 5)) | ++ (state->fingerprint[6] & (haval_word)0x1F); ++ state->fingerprint[1] += temp; ++ ++ temp = (state->fingerprint[7] & ((haval_word)0x3F << 10)) | ++ (state->fingerprint[6] & ((haval_word)0x1F << 5)); ++ state->fingerprint[2] += temp >> 5; ++ ++ temp = (state->fingerprint[7] & ((haval_word)0x1F << 16)) | ++ (state->fingerprint[6] & ((haval_word)0x3F << 10)); ++ state->fingerprint[3] += temp >> 10; ++ ++ temp = (state->fingerprint[7] & ((haval_word)0x1F << 21)) | ++ (state->fingerprint[6] & ((haval_word)0x1F << 16)); ++ state->fingerprint[4] += temp >> 16; ++ ++ temp = (state->fingerprint[7] & ((haval_word)0x3F << 26)) | ++ (state->fingerprint[6] & ((haval_word)0x1F << 21)); ++ state->fingerprint[5] += temp >> 21; ++ ++#elif FPTLEN == 224 ++ state->fingerprint[0] += (state->fingerprint[7] >> 27) & 0x1F; ++ state->fingerprint[1] += (state->fingerprint[7] >> 22) & 0x1F; ++ state->fingerprint[2] += (state->fingerprint[7] >> 18) & 0x0F; ++ state->fingerprint[3] += (state->fingerprint[7] >> 13) & 0x1F; ++ state->fingerprint[4] += (state->fingerprint[7] >> 9) & 0x0F; ++ state->fingerprint[5] += (state->fingerprint[7] >> 4) & 0x1F; ++ state->fingerprint[6] += state->fingerprint[7] & 0x0F; ++#endif ++} ++ +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/haval.cert +@@ -0,0 +1,22 @@ ++ ++ HAVAL (V.1) CERTIFICATION DATA ++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ++ ++PASS=3, FPTLEN=128: ++HAVAL("") = C68F39913F901F3DDF44C707357A7D70 ++ ++PASS=3, FPTLEN=160: ++HAVAL("a") = 4DA08F514A7275DBC4CECE4A347385983983A830 ++ ++PASS=4, FPTLEN=192: ++HAVAL("HAVAL") = 0C1396D7772689C46773F3DAACA4EFA982ADBFB2F1467EEA ++ ++PASS=4, FPTLEN=224: ++HAVAL("0123456789") = BEBD7816F09BAEECF8903B1B9BC672D9FA428E462BA699F814841529 ++ ++PASS=5, FPTLEN=256: ++HAVAL("abcdefghijklmnopqrstuvwxyz") ++ = C9C7D8AFA159FD9E965CB83FF5EE6F58AEDA352C0EFF005548153A61551C38EE ++HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") ++ = B45CB6E62F2B1320E4F8F1B0B273D45ADD47C321FD23999DCF403AC37636D963 ++ +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/haval.h +@@ -0,0 +1,89 @@ ++ ++/* $Id: haval.h,v 1.2 2003/01/20 05:44:48 lteo Exp $ */ ++ ++/* ++ * haval.h: specifies the interface to the HAVAL (V.1) hashing library. ++ * ++ * Copyright (c) 2003 Calyptix Security Corporation ++ * All rights reserved. ++ * ++ * This code is derived from software contributed to Calyptix Security ++ * Corporation by Yuliang Zheng. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above ++ * copyright notice, this list of conditions and the following ++ * disclaimer in the documentation and/or other materials provided ++ * with the distribution. ++ * 3. Neither the name of Calyptix Security Corporation nor the ++ * names of its contributors may be used to endorse or promote ++ * products derived from this software without specific prior ++ * written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++ * POSSIBILITY OF SUCH DAMAGE. ++ * ++ * ------------------------------------------------------------------- ++ * ++ * HAVAL is a one-way hashing algorithm with the following ++ * collision-resistant property: ++ * It is computationally infeasible to find two or more ++ * messages that are hashed into the same fingerprint. ++ * ++ * Reference: ++ * Y. Zheng, J. Pieprzyk and J. Seberry: ++ * ``HAVAL --- a one-way hashing algorithm with variable ++ * length of output'', Advances in Cryptology --- AUSCRYPT'92, ++ * Lecture Notes in Computer Science, Vol.718, pp.83-104, ++ * Springer-Verlag, 1993. ++ * ++ * This library provides routines to hash ++ * - a string, ++ * - a file, ++ * - input from the standard input device, ++ * - a 32-word block, and ++ * - a string of specified length. ++ * ++ * Authors: Yuliang Zheng and Lawrence Teo ++ * Calyptix Security Corporation ++ * P.O. Box 561508, Charlotte, NC 28213, USA ++ * Email: info@calyptix.com ++ * URL: http://www.calyptix.com/ ++ * Voice: +1 704 806 8635 ++ * ++ * For a list of changes, see the ChangeLog file. ++ */ ++ ++typedef unsigned long int haval_word; /* a HAVAL word = 32 bits */ ++ ++typedef struct { ++ haval_word count[2]; /* number of bits in a message */ ++ haval_word fingerprint[8]; /* current state of fingerprint */ ++ haval_word block[32]; /* buffer for a 32-word block */ ++ unsigned char remainder[32*4]; /* unhashed chars (No.<128) */ ++} haval_state; ++ ++void haval_string (char *, unsigned char *); /* hash a string */ ++int haval_file (char *, unsigned char *); /* hash a file */ ++void haval_stdin (void); /* filter -- hash input from stdin */ ++void haval_start (haval_state *); /* initialization */ ++void haval_hash (haval_state *, unsigned char *, ++ unsigned int); /* updating routine */ ++void haval_end (haval_state *, unsigned char *); /* finalization */ ++void haval_hash_block (haval_state *); /* hash a 32-word block */ ++ ++ +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/havaltest.c +@@ -0,0 +1,263 @@ ++ ++/* $Id: havaltest.c,v 1.4 2003/01/20 05:44:48 lteo Exp $ */ ++ ++/* ++ * havaltest.c: specifies a test program for the HAVAL hashing library. ++ * ++ * Copyright (c) 2003 Calyptix Security Corporation ++ * All rights reserved. ++ * ++ * This code is derived from software contributed to Calyptix Security ++ * Corporation by Yuliang Zheng. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above ++ * copyright notice, this list of conditions and the following ++ * disclaimer in the documentation and/or other materials provided ++ * with the distribution. ++ * 3. Neither the name of Calyptix Security Corporation nor the ++ * names of its contributors may be used to endorse or promote ++ * products derived from this software without specific prior ++ * written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++ * POSSIBILITY OF SUCH DAMAGE. ++ * ++ * ------------------------------------------------------------------- ++ * ++ * Arguments for the test program: ++ * ++ * (none) - hash input from stdin ++ * ?,-?,-h - show help menu ++ * -c - hash certification data ++ * -e - test whether your machine is little-endian ++ * -mstring - hash message (string of chars) ++ * -s - test speed ++ * file_name - hash file ++ * ++ * Authors: Yuliang Zheng and Lawrence Teo ++ * Calyptix Security Corporation ++ * P.O. Box 561508, Charlotte, NC 28213, USA ++ * Email: info@calyptix.com ++ * URL: http://www.calyptix.com/ ++ * Voice: +1 704 806 8635 ++ * ++ * For a list of changes, see the ChangeLog file. ++ */ ++ ++static char rcsid[] = "$Id: havaltest.c,v 1.4 2003/01/20 05:44:48 lteo Exp $"; ++ ++#include ++#include ++#include ++#include ++/* #include "havalapp.h" */ ++#include "haval.h" ++#include "config.h" ++ ++/* #define NUMBER_OF_BLOCKS 5000 */ /* number of test blocks */ ++/* #define BLOCK_SIZE 5000 */ /* number of bytes in a block */ ++ ++static void haval_speed (void); /* test the speed of HAVAL */ ++static void haval_cert (void); /* hash test data set */ ++static void haval_print (unsigned char *); /* print a fingerprint */ ++static int little_endian (void); /* test endianity */ ++static void usage (void); /* usage */ ++ ++int main (int argc, char *argv[]) ++{ ++ int i; ++ unsigned char fingerprint[FPTLEN >> 3]; ++ ++ if (argc <= 1) { ++ haval_stdin (); /* filter */ ++ } ++ for (i = 1; i < argc; i++) { ++ if ((argv[i][0] == '?') || /* show help info */ ++ (argv[i][0] == '-' && argv[i][1] == '?') || ++ (argv[i][0] == '-' && argv[i][1] == 'h')) { ++ usage(); ++ } else if (argv[i][0] == '-' && argv[i][1] == 'm') { /* hash string */ ++ haval_string (argv[i]+2, fingerprint); ++ printf ("HAVAL(\"%s\") = ", argv[i]+2); ++ haval_print (fingerprint); ++ printf ("\n"); ++ } else if (strcmp (argv[i], "-c") == 0) { /* hash test set */ ++ haval_cert (); ++ } else if (strcmp (argv[i], "-s") == 0) { /* test speed */ ++ haval_speed (); ++ } else if (strcmp (argv[i], "-e") == 0) { /* test endianity */ ++ if (little_endian()) { ++ printf ("Your machine is little-endian.\n"); ++ printf ("You may define LITTLE_ENDIAN to speed up processing.\n"); ++ } else { ++ printf ("Your machine is NOT little-endian.\n"); ++ printf ("You must NOT define LITTLE_ENDIAN.\n"); ++ } ++ } else { /* hash file */ ++ if (haval_file (argv[i], fingerprint)) { ++ printf ("%s can not be opened !\n= ", argv[i]); ++ } else { ++ printf ("HAVAL(%s) = ", argv[i]); ++ haval_print (fingerprint); ++ printf ("\n"); ++ } ++ } ++ } ++ return (0); ++} ++ ++/* test the speed of HAVAL */ ++static void haval_speed (void) ++{ ++ haval_state state; ++ unsigned char buff[BLOCK_SIZE]; ++ unsigned char fingerprint[FPTLEN >> 3]; ++ clock_t clks; ++ double cpu_time; ++ unsigned int i; ++ ++ printf ("Test the speed of HAVAL (PASS = %d, FPTLEN = %d bits).\n", PASS, FPTLEN); ++ printf ("Hashing %d %d-byte blocks ...\n", NUMBER_OF_BLOCKS, BLOCK_SIZE); ++ ++ /* initialize test block */ ++ for (i = 0; i < BLOCK_SIZE; i++) { ++ buff[i] = ~0; ++ } ++ ++ /* reset the clock */ ++ clock(); ++ ++ /* hash */ ++ haval_start (&state); ++ for (i = 0; i < NUMBER_OF_BLOCKS; i++) { ++ haval_hash (&state, buff, BLOCK_SIZE); ++ } ++ haval_end (&state, fingerprint); ++ ++ /* get the number of clocks */ ++ clks = clock(); ++ /* get cpu time */ ++ cpu_time = (double)clks / (double)CLOCKS_PER_SEC; ++ ++ if (cpu_time > 0.0) { ++ printf ("CPU Time = %3.1f seconds\n", cpu_time); ++ printf (" Speed = %4.2f MBPS (megabits/second)\n", ++ (NUMBER_OF_BLOCKS * BLOCK_SIZE * 8)/(1.0E6 * cpu_time)); ++ } else { ++ printf ("not enough blocks !\n"); ++ } ++} ++ ++/* hash a set of certification data and print the results. */ ++static void haval_cert (void) ++{ ++ char *str; ++ unsigned char fingerprint[FPTLEN >> 3]; ++ ++ printf ("\n"); ++ printf ("HAVAL certification data (PASS=%d, FPTLEN=%d):", PASS, FPTLEN); ++ printf ("\n"); ++ ++ str = ""; ++ haval_string (str, fingerprint); ++ printf ("HAVAL(\"%s\") = ", str); ++ haval_print (fingerprint); ++ printf ("\n"); ++ ++ str = "a"; ++ haval_string (str, fingerprint); ++ printf ("HAVAL(\"%s\") = ", str); ++ haval_print (fingerprint); ++ printf ("\n"); ++ ++ str = "HAVAL"; ++ haval_string (str, fingerprint); ++ printf ("HAVAL(\"%s\") = ", str); ++ haval_print (fingerprint); ++ printf ("\n"); ++ ++ str = "0123456789"; ++ haval_string (str, fingerprint); ++ printf ("HAVAL(\"%s\") = ", str); ++ haval_print (fingerprint); ++ printf ("\n"); ++ ++ str = "abcdefghijklmnopqrstuvwxyz"; ++ haval_string (str, fingerprint); ++ printf ("HAVAL(\"%s\") = ", str); ++ haval_print (fingerprint); ++ printf ("\n"); ++ ++ str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; ++ haval_string (str, fingerprint); ++ printf ("HAVAL(\"%s\")\n = ", str); ++ haval_print (fingerprint); ++ printf ("\n"); ++ ++ str = "pi.frac"; ++ if (haval_file (str, fingerprint)) { ++ printf ("%s cannot be opened! Skipping test...\n", str); ++ } else { ++ printf ("HAVAL(%s) = ", str); ++ haval_print (fingerprint); ++ printf ("\n"); ++ } ++} ++ ++/* test endianity */ ++static int little_endian(void) ++{ ++ unsigned long *wp; ++ unsigned char str[4] = {'A', 'B', 'C', 'D'}; ++ ++ wp = (unsigned long *)str; ++ if (str[0] == (unsigned char)( *wp & 0xFF)) { ++ return (1); /* little endian */ ++ } else { ++ return (0); /* big endian */ ++ } ++} ++ ++/* print a fingerprint in hexadecimal */ ++static void haval_print (unsigned char fingerprint[FPTLEN >> 3]) ++{ ++ int i; ++ ++ for (i = 0; i < FPTLEN >> 3; i++) { ++ printf ("%02X", fingerprint[i]); ++ } ++} ++ ++/* print usage */ ++static void usage (void) ++{ ++ fprintf (stderr, "Usage: haval [OPTION] [FILE]...\n"); ++ fprintf (stderr, " or: haval -m [STRING]\n"); ++ fprintf (stderr, "Generates HAVAL hashes.\n"); ++ fprintf (stderr, "With no FILE, read standard input.\n\n"); ++ fprintf (stderr, "Compiled to use %d passes and a %d-bit fingerprint length.\n\n", PASS, FPTLEN); ++ fprintf (stderr, " ?/-?/-h show help menu\n"); ++ fprintf (stderr, " -c hash certification data\n"); ++ fprintf (stderr, " -e test endianity\n"); ++ fprintf (stderr, " -m string hash the given string\n"); ++ fprintf (stderr, " -s test speed\n"); ++ fprintf (stderr, "\nReport bugs to .\n"); ++} ++ ++ ++ +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/INSTALL +@@ -0,0 +1,121 @@ ++Installation instructions for HAVAL ++=================================== ++$Id: INSTALL,v 1.3 2003/01/20 07:48:02 lteo Exp $ ++ ++Copyright (c) 2003 Calyptix Security Corporation ++All rights reserved. ++ ++Redistribution and use in source and binary forms, with or without ++modification, are permitted provided that the following conditions ++are met: ++ ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ ++ 2. Redistributions in binary form must reproduce the above ++ copyright notice, this list of conditions and the following ++ disclaimer in the documentation and/or other materials provided ++ with the distribution. ++ ++ 3. Neither the name of Calyptix Security Corporation nor the ++ names of its contributors may be used to endorse or promote ++ products derived from this software without specific prior ++ written permission. ++ ++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++POSSIBILITY OF SUCH DAMAGE. ++ ++------------------------------------------------------------------- ++ ++Building and installing HAVAL ++============================= ++ ++To build the package, use the following commands: ++ ++ ./configure ++ make ++ ++This will build the haval binary. ++ ++After building, if you wish to install HAVAL, type: ++ ++ make install ++ ++This will usually install the haval binary to /usr/bin or ++/usr/local/bin, depending on your setup. If you wish to install ++the binary elsewhere, say in /home/joe/mystuff, use the --prefix ++switch to configure as follows: ++ ++ ./configure --prefix=/home/joe/mystuff ++ make ++ make install ++ ++ ++Configure options for HAVAL ++=========================== ++ ++--with-num-passes= This will make HAVAL use the number of ++ passes specified by . This value can ++ be 3, 4, or 5. If this option is not ++ specified, the number of passes is set ++ to 3. ++ ++--with-fpt-len= This will make HAVAL use a fingerprint ++ length of bits. This value can be ++ 128, 160, 192, 224, or 256. If this option ++ is not specified, the fingerprint length ++ is set to 256 bits. ++ ++--with-test-blocks= This will make HAVAL use blocks ++ for testing its speed. If this option ++ is not specified, 5000 test blocks are used. ++ ++--with-block-size= This will make HAVAL use test block sizes ++ of bytes each. If not specified, ++ a 5000-byte block size is used. ++ ++--enable-extra-optimization This will make HAVAL use extra optimization ++ settings from gcc. Note that this is ++ specific to the i686 platform. ++ ++A short description of these options can also be displayed by ++typing: ++ ++ ./configure --help. ++ ++ ++Examples ++======== ++ ++To configure HAVAL to use 4 passes: ++ ++ ./configure --with-num-passes=4 ++ ++To configure HAVAL to use 5 passes and a fingerprint length of 192 bits: ++ ++ ./configure --with-num-passes=5 --with-fpt-len=192 ++ ++To configure HAVAL to use 10,000 blocks in its speed test: ++ ++ ./configure --with-test-blocks=10000 ++ ++To configure HAVAL to use a block size of 3,000 bytes in its speed test: ++ ++ ./configure --with-block-size=3000 ++ ++To configure HAVAL to use 4 passes, a fingerprint length of 224 bits, ++7,000 blocks in its speed test, with block sizes of 4,000 bytes: ++ ++ ./configure --with-num-passes=4 --with-fpt-len=224 \ ++ --with-test-blocks=7000 --with-block-size=3000 ++ +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/Makefile.am +@@ -0,0 +1,56 @@ ++# $Id: Makefile.am,v 1.6 2003/01/21 06:18:09 lteo Exp $ ++ ++# Copyright (c) 2003 Calyptix Security Corporation ++# All rights reserved. ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions ++# are met: ++# 1. Redistributions of source code must retain the above copyright ++# notice, this list of conditions and the following disclaimer. ++# 2. Redistributions in binary form must reproduce the above ++# copyright notice, this list of conditions and the following ++# disclaimer in the documentation and/or other materials provided ++# with the distribution. ++# 3. Neither the name of Calyptix Security Corporation nor the ++# names of its contributors may be used to endorse or promote ++# products derived from this software without specific prior ++# written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++# POSSIBILITY OF SUCH DAMAGE. ++ ++AUX_DIST = $(ac_aux_dir)/config.guess \ ++ $(ac_aux_dir)/config.sub \ ++ $(ac_aux_dir)/install-sh \ ++ $(ac_aux_dir)/ltconfig \ ++ $(ac_aux_dir)/ltmain.sh \ ++ $(ac_aux_dir)/mdate-sh \ ++ $(ac_aux_dir)/missing \ ++ $(ac_aux_dir)/mkinstalldirs ++ ++MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in \ ++ stamp-h.in $(AUX_DIST) ++ ++EXTRA_DIST = VERSION pi.frac haval.cert cert.data ChangeLog \ ++ TODO COPYING.BSD INSTALL haval-paper.pdf ++ ++INCLUDES = -I$(top_builddir) -I$(top_srcdir) ++ ++bin_PROGRAMS = haval ++ ++haval_SOURCES = havaltest.c haval.c havalapp.h haval.h ++ ++haval_CFLAGS = -Wall -ansi ++ ++ +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/Makefile.in +@@ -0,0 +1,477 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++# $Id: Makefile.am,v 1.6 2003/01/21 06:18:09 lteo Exp $ ++ ++# Copyright (c) 2003 Calyptix Security Corporation ++# All rights reserved. ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions ++# are met: ++# 1. Redistributions of source code must retain the above copyright ++# notice, this list of conditions and the following disclaimer. ++# 2. Redistributions in binary form must reproduce the above ++# copyright notice, this list of conditions and the following ++# disclaimer in the documentation and/or other materials provided ++# with the distribution. ++# 3. Neither the name of Calyptix Security Corporation nor the ++# names of its contributors may be used to endorse or promote ++# products derived from this software without specific prior ++# written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++# POSSIBILITY OF SUCH DAMAGE. ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = . ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++host_alias = @host_alias@ ++host_triplet = @host@ ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++VERSION = @VERSION@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++block_size = @block_size@ ++fpt_len = @fpt_len@ ++install_sh = @install_sh@ ++num_passes = @num_passes@ ++test_blocks = @test_blocks@ ++ ++AUX_DIST = $(ac_aux_dir)/config.guess \ ++ $(ac_aux_dir)/config.sub \ ++ $(ac_aux_dir)/install-sh \ ++ $(ac_aux_dir)/ltconfig \ ++ $(ac_aux_dir)/ltmain.sh \ ++ $(ac_aux_dir)/mdate-sh \ ++ $(ac_aux_dir)/missing \ ++ $(ac_aux_dir)/mkinstalldirs ++ ++ ++MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in \ ++ stamp-h.in $(AUX_DIST) ++ ++ ++EXTRA_DIST = VERSION pi.frac haval.cert cert.data ChangeLog \ ++ TODO COPYING.BSD INSTALL haval-paper.pdf ++ ++ ++INCLUDES = -I$(top_builddir) -I$(top_srcdir) ++ ++bin_PROGRAMS = haval ++ ++haval_SOURCES = havaltest.c haval.c havalapp.h haval.h ++ ++haval_CFLAGS = -Wall -ansi ++subdir = . ++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ++mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs ++CONFIG_HEADER = config.h ++CONFIG_CLEAN_FILES = ++bin_PROGRAMS = haval$(EXEEXT) ++PROGRAMS = $(bin_PROGRAMS) ++ ++am_haval_OBJECTS = haval-havaltest.$(OBJEXT) haval-haval.$(OBJEXT) ++haval_OBJECTS = $(am_haval_OBJECTS) ++haval_LDADD = $(LDADD) ++haval_DEPENDENCIES = ++haval_LDFLAGS = ++ ++DEFS = @DEFS@ ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I. ++CPPFLAGS = @CPPFLAGS@ ++LDFLAGS = @LDFLAGS@ ++LIBS = @LIBS@ ++depcomp = $(SHELL) $(top_srcdir)/config/depcomp ++@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/haval-haval.Po \ ++@AMDEP_TRUE@ $(DEPDIR)/haval-havaltest.Po ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++CCLD = $(CC) ++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ ++CFLAGS = @CFLAGS@ ++DIST_SOURCES = $(haval_SOURCES) ++DIST_COMMON = README ./stamp-h.in ChangeLog INSTALL Makefile.am \ ++ Makefile.in TODO acinclude.m4 aclocal.m4 config-h.in \ ++ config/compile config/config.guess config/config.sub \ ++ config/depcomp config/install-sh config/missing \ ++ config/mkinstalldirs configure configure.in ++SOURCES = $(haval_SOURCES) ++ ++all: config.h ++ $(MAKE) $(AM_MAKEFLAGS) all-am ++ ++.SUFFIXES: ++.SUFFIXES: .c .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$@ $(SHELL) ./config.status ++ ++$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) ++ $(SHELL) ./config.status --recheck ++$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) ++ cd $(srcdir) && $(AUTOCONF) ++ ++$(ACLOCAL_M4): configure.in acinclude.m4 ++ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) ++config.h: stamp-h ++ @if test ! -f $@; then \ ++ rm -f stamp-h; \ ++ $(MAKE) stamp-h; \ ++ else :; fi ++stamp-h: $(srcdir)/config-h.in $(top_builddir)/config.status ++ @rm -f stamp-h stamp-hT ++ @echo timestamp > stamp-hT 2> /dev/null ++ cd $(top_builddir) \ ++ && CONFIG_FILES= CONFIG_HEADERS=config.h:config-h.in \ ++ $(SHELL) ./config.status ++ @mv stamp-hT stamp-h ++$(srcdir)/config-h.in: $(srcdir)/./stamp-h.in ++ @if test ! -f $@; then \ ++ rm -f $(srcdir)/./stamp-h.in; \ ++ $(MAKE) $(srcdir)/./stamp-h.in; \ ++ else :; fi ++$(srcdir)/./stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ @rm -f $(srcdir)/./stamp-h.in $(srcdir)/./stamp-h.inT ++ @echo timestamp > $(srcdir)/./stamp-h.inT 2> /dev/null ++ cd $(top_srcdir) && $(AUTOHEADER) ++ @mv $(srcdir)/./stamp-h.inT $(srcdir)/./stamp-h.in ++ ++distclean-hdr: ++ -rm -f config.h ++install-binPROGRAMS: $(bin_PROGRAMS) ++ @$(NORMAL_INSTALL) ++ $(mkinstalldirs) $(DESTDIR)$(bindir) ++ @list='$(bin_PROGRAMS)'; for p in $$list; do \ ++ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ ++ if test -f $$p \ ++ ; then \ ++ f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \ ++ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \ ++ else :; fi; \ ++ done ++ ++uninstall-binPROGRAMS: ++ @$(NORMAL_UNINSTALL) ++ @list='$(bin_PROGRAMS)'; for p in $$list; do \ ++ f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ ++ rm -f $(DESTDIR)$(bindir)/$$f; \ ++ done ++ ++clean-binPROGRAMS: ++ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) ++haval-havaltest.$(OBJEXT): havaltest.c ++haval-haval.$(OBJEXT): haval.c ++haval$(EXEEXT): $(haval_OBJECTS) $(haval_DEPENDENCIES) ++ @rm -f haval$(EXEEXT) ++ $(LINK) $(haval_LDFLAGS) $(haval_OBJECTS) $(haval_LDADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/haval-haval.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/haval-havaltest.Po@am__quote@ ++ ++distclean-depend: ++ -rm -rf $(DEPDIR) ++ ++.c.o: ++@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$< ++ ++.c.obj: ++@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(COMPILE) -c `cygpath -w $<` ++ ++haval-havaltest.o: havaltest.c ++@AMDEP_TRUE@ source='havaltest.c' object='haval-havaltest.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/haval-havaltest.Po' tmpdepfile='$(DEPDIR)/haval-havaltest.TPo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(haval_CFLAGS) $(CFLAGS) -c -o haval-havaltest.o `test -f havaltest.c || echo '$(srcdir)/'`havaltest.c ++ ++haval-havaltest.obj: havaltest.c ++@AMDEP_TRUE@ source='havaltest.c' object='haval-havaltest.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/haval-havaltest.Po' tmpdepfile='$(DEPDIR)/haval-havaltest.TPo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(haval_CFLAGS) $(CFLAGS) -c -o haval-havaltest.obj `cygpath -w havaltest.c` ++ ++haval-haval.o: haval.c ++@AMDEP_TRUE@ source='haval.c' object='haval-haval.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/haval-haval.Po' tmpdepfile='$(DEPDIR)/haval-haval.TPo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(haval_CFLAGS) $(CFLAGS) -c -o haval-haval.o `test -f haval.c || echo '$(srcdir)/'`haval.c ++ ++haval-haval.obj: haval.c ++@AMDEP_TRUE@ source='haval.c' object='haval-haval.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/haval-haval.Po' tmpdepfile='$(DEPDIR)/haval-haval.TPo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(haval_CFLAGS) $(CFLAGS) -c -o haval-haval.obj `cygpath -w haval.c` ++CCDEPMODE = @CCDEPMODE@ ++uninstall-info-am: ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: $(HEADERS) $(SOURCES) config-h.in $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)config-h.in$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags config-h.in $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = . ++# Avoid unsightly `./'. ++distdir = $(PACKAGE)-$(VERSION) ++ ++GZIP_ENV = --best ++ ++distdir: $(DISTFILES) ++ -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) ++ mkdir $(distdir) ++ $(mkinstalldirs) $(distdir)/config ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ++ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ++ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ++ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ ++ || chmod -R a+r $(distdir) ++dist: distdir ++ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz ++ -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) ++ ++# This target untars the dist file and tries a VPATH configuration. Then ++# it guarantees that the distribution is self-contained by making another ++# tarfile. ++distcheck: dist ++ -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) ++ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ++ chmod -R a-w $(distdir); chmod a+w $(distdir) ++ mkdir $(distdir)/=build ++ mkdir $(distdir)/=inst ++ chmod a-w $(distdir) ++ dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \ ++ && cd $(distdir)/=build \ ++ && ../configure --srcdir=.. --prefix=$$dc_install_base \ ++ && $(MAKE) $(AM_MAKEFLAGS) \ ++ && $(MAKE) $(AM_MAKEFLAGS) dvi \ ++ && $(MAKE) $(AM_MAKEFLAGS) check \ ++ && $(MAKE) $(AM_MAKEFLAGS) install \ ++ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ ++ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ ++ && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \ ++ || (echo "Error: files left after uninstall" 1>&2; \ ++ exit 1) ) \ ++ && $(MAKE) $(AM_MAKEFLAGS) dist \ ++ && $(MAKE) $(AM_MAKEFLAGS) distclean \ ++ && rm -f $(distdir).tar.gz \ ++ && (test `find . -type f -print | wc -l` -eq 0 \ ++ || (echo "Error: files left after distclean" 1>&2; \ ++ exit 1) ) ++ -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) ++ @echo "$(distdir).tar.gz is ready for distribution" | \ ++ sed 'h;s/./=/g;p;x;p;x' ++check-am: all-am ++check: check-am ++all-am: Makefile $(PROGRAMS) config.h ++ ++installdirs: ++ $(mkinstalldirs) $(DESTDIR)$(bindir) ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) ++clean: clean-am ++ ++clean-am: clean-binPROGRAMS clean-generic mostlyclean-am ++ ++dist-all: distdir ++ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz ++ -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) ++distclean: distclean-am ++ -rm -f config.status config.cache config.log ++distclean-am: clean-am distclean-compile distclean-depend \ ++ distclean-generic distclean-hdr distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: install-binPROGRAMS ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-binPROGRAMS uninstall-info-am ++ ++.PHONY: GTAGS all all-am check check-am clean clean-binPROGRAMS \ ++ clean-generic dist dist-all distcheck distclean \ ++ distclean-compile distclean-depend distclean-generic \ ++ distclean-hdr distclean-tags distdir dvi dvi-am info info-am \ ++ install install-am install-binPROGRAMS install-data \ ++ install-data-am install-exec install-exec-am install-info \ ++ install-info-am install-man install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic tags uninstall uninstall-am \ ++ uninstall-binPROGRAMS uninstall-info-am ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/pi.frac +@@ -0,0 +1 @@ ++243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89452821E638D01377BE5466CF34E90C6CC0AC29B7C97C50DD3F84D5B5B54709179216D5D98979FB1BD1310BA698DFB5AC2FFD72DBD01ADFB7B8E1AFED6A267E96BA7C9045F12C7F9924A19947B3916CF70801F2E2858EFC16636920D871574E69A458FEA3F4933D7E0D95748F728EB658718BCD5882154AEE7B54A41DC25A59B5 +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/README +@@ -0,0 +1,53 @@ ++ $Id: README,v 1.3 2003/01/20 07:48:02 lteo Exp $ ++ ++HAVAL Version 1.1 ++================= ++ ++Copyright (c) 2003 Calyptix Security Corporation ++All rights reserved. ++ ++Redistribution and use in source and binary forms, with or without ++modification, are permitted provided that the following conditions ++are met: ++ ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ ++ 2. Redistributions in binary form must reproduce the above ++ copyright notice, this list of conditions and the following ++ disclaimer in the documentation and/or other materials provided ++ with the distribution. ++ ++ 3. Neither the name of Calyptix Security Corporation nor the ++ names of its contributors may be used to endorse or promote ++ products derived from this software without specific prior ++ written permission. ++ ++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++POSSIBILITY OF SUCH DAMAGE. ++ ++------------------------------------------------------------------- ++ ++Introduction ++============ ++ ++Files ++===== ++ ++README this file ++havalapp.h define LITTLE_ENDIAN, PASS and FPTLEN ++haval.h interface to the HAVAL (V.1) hashing library ++haval.c the HAVAL (V.1) hashing library ++havaltest.c test program for the library ++haval.cert HAVAL certification data set ++pi.frac a test data file for HAVAL +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/stamp-h.in +@@ -0,0 +1 @@ ++timestamp +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/TODO +@@ -0,0 +1,11 @@ ++ * Make code compilable with Microsoft Visual C++ (add a MS VC++ ++ project file), and possibly other Windows compilers. ++ ++ * Get rid of compile warnings if possible. ++ ++ * Add/update documentation (installation notes, license info, etc.). ++ ++ * Add a manpage. ++ ++ * Use getopt() to get command-line options. ++ +--- /dev/null ++++ tcltrf-2.1.4-dfsg/generic/haval-1.1/VERSION +@@ -0,0 +1 @@ ++1.1 --- tcltrf-2.1.4-dfsg2.orig/debian/patches/ssl_static.diff +++ tcltrf-2.1.4-dfsg2/debian/patches/ssl_static.diff @@ -0,0 +1,80 @@ +Patch (a quick hack actually) together with two lines in debian/rules +allows to link libcrypto at build time (not using dl_open at runtime). + +--- tcltrf-2.1.4-dfsg.orig/generic/loadman.c ++++ tcltrf-2.1.4-dfsg/generic/loadman.c +@@ -134,6 +134,13 @@ + TrfLoadMD2 (interp) + Tcl_Interp* interp; + { ++#ifdef SSL_STATIC_BUILD ++ md2f.loaded = 1; ++ md2f.init = MD2_Init; ++ md2f.update = MD2_Update; ++ md2f.final = MD2_Final; ++ return TCL_OK; ++#else + int res; + + TrfLock; /* THREADING: serialize initialization */ +@@ -161,6 +168,7 @@ + + TrfUnlock; + return TCL_ERROR; ++#endif + } + + /* +@@ -234,6 +242,13 @@ + TrfLoadSHA1 (interp) + Tcl_Interp* interp; + { ++#ifdef SSL_STATIC_BUILD ++ sha1f.loaded = 1; ++ sha1f.init = SHA1_Init; ++ sha1f.update = SHA1_Update; ++ sha1f.final = SHA1_Final; ++ return TCL_OK; ++#else + int res; + + TrfLock; /* THREADING: serialize initialization */ +@@ -261,5 +276,6 @@ + + TrfUnlock; + return TCL_ERROR; ++#endif + } + +--- tcltrf-2.1.4-dfsg.orig/generic/loadman.h ++++ tcltrf-2.1.4-dfsg/generic/loadman.h +@@ -101,10 +101,10 @@ + + typedef struct Md2Functions { + long loaded; +- void (* init) _ANSI_ARGS_ ((MD2_CTX* c)); +- void (* update) _ANSI_ARGS_ ((MD2_CTX* c, unsigned char* data, +- unsigned long length)); +- void (* final) _ANSI_ARGS_ ((unsigned char* digest, MD2_CTX* c)); ++ int (* init) _ANSI_ARGS_ ((MD2_CTX* c)); ++ int (* update) _ANSI_ARGS_ ((MD2_CTX* c, const unsigned char* data, ++ size_t length)); ++ int (* final) _ANSI_ARGS_ ((unsigned char* digest, MD2_CTX* c)); + } md2Functions; + + typedef struct Md5Functions { +@@ -120,10 +120,10 @@ + + typedef struct Sha1Functions { + long loaded; +- void (* init) _ANSI_ARGS_ ((SHA_CTX* c)); +- void (* update) _ANSI_ARGS_ ((SHA_CTX* c, unsigned char* data, +- unsigned long length)); +- void (* final) _ANSI_ARGS_ ((unsigned char* digest, SHA_CTX* c)); ++ int (* init) _ANSI_ARGS_ ((SHA_CTX* c)); ++ int (* update) _ANSI_ARGS_ ((SHA_CTX* c, const void *data, ++ size_t length)); ++ int (* final) _ANSI_ARGS_ ((unsigned char* digest, SHA_CTX* c)); + } sha1Functions; + + --- tcltrf-2.1.4-dfsg2.orig/debian/patches/static.diff +++ tcltrf-2.1.4-dfsg2/debian/patches/static.diff @@ -0,0 +1,74 @@ +Patch fixes linking of Trf library at build time. It is taken from +http://sourceforge.net/tracker/index.php?func=detail&aid=680667&group_id=60766&atid=495205 + +--- tcltrf-2.1.4-dfsg.orig/generic/zlib.c ++++ tcltrf-2.1.4-dfsg/generic/zlib.c +@@ -44,11 +44,11 @@ + 0, + deflate, + deflateEnd, +- deflateInit_, ++ deflateInit2_, + deflateReset, + inflate, + inflateEnd, +- inflateInit_, ++ inflateInit2_, + inflateReset, + adler32, + crc32, +--- tcltrf-2.1.4-dfsg.orig/trf.m4 ++++ tcltrf-2.1.4-dfsg/trf.m4 +@@ -155,15 +155,15 @@ + + AC_ARG_ENABLE(static-zlib, + [ --enable-static-zlib link 'zlib' statically], +- [STATIC_ZLIB=$enableval], [STATIC_ZLIB=no]) ++ [ZLIB_STATIC=$enableval], [ZLIB_STATIC=no]) + + AC_ARG_ENABLE(static-bzlib, + [ --enable-static-bzlib link 'bzlib' statically], +- [STATIC_BZLIB=$enableval], [STATIC_BZLIB=no]) ++ [BZLIB_STATIC=$enableval], [BZLIB_STATIC=no]) + + AC_ARG_ENABLE(static-md5, + [ --enable-static-md5 link 'md5' statically], +- [STATIC_MD5=$enableval], [STATIC_MD5=no]) ++ [MD5_STATIC=$enableval], [MD5_STATIC=no]) + + AC_ARG_ENABLE(trf_debug, + [ --enable-trf-debug enable debugging output], +--- tcltrf-2.1.4-dfsg.orig/configure ++++ tcltrf-2.1.4-dfsg/configure +@@ -13087,25 +13087,25 @@ + + # Check whether --enable-static-zlib was given. + if test "${enable_static_zlib+set}" = set; then +- enableval=$enable_static_zlib; STATIC_ZLIB=$enableval ++ enableval=$enable_static_zlib; ZLIB_STATIC=$enableval + else +- STATIC_ZLIB=no ++ ZLIB_STATIC=no + fi + + + # Check whether --enable-static-bzlib was given. + if test "${enable_static_bzlib+set}" = set; then +- enableval=$enable_static_bzlib; STATIC_BZLIB=$enableval ++ enableval=$enable_static_bzlib; BZLIB_STATIC=$enableval + else +- STATIC_BZLIB=no ++ BZLIB_STATIC=no + fi + + + # Check whether --enable-static-md5 was given. + if test "${enable_static_md5+set}" = set; then +- enableval=$enable_static_md5; STATIC_MD5=$enableval ++ enableval=$enable_static_md5; MD5_STATIC=$enableval + else +- STATIC_MD5=no ++ MD5_STATIC=no + fi + + --- tcltrf-2.1.4-dfsg2.orig/debian/patches/bzip2.diff +++ tcltrf-2.1.4-dfsg2/debian/patches/bzip2.diff @@ -0,0 +1,23 @@ +Patch allows to link Trf to newer bzip2 library. + +--- tcltrf-2.1.4-dfsg.orig/generic/bz2lib.c ++++ tcltrf-2.1.4-dfsg/generic/bz2lib.c +@@ -42,12 +42,12 @@ + #ifdef BZLIB_STATIC_BUILD + bzFunctions bz = { + 0, +- bzCompress, +- bzCompressEnd, +- bzCompressInit, +- bzDecompress, +- bzDecompressEnd, +- bzDecompressInit, ++ BZ2_bzCompress, ++ BZ2_bzCompressEnd, ++ BZ2_bzCompressInit, ++ BZ2_bzDecompress, ++ BZ2_bzDecompressEnd, ++ BZ2_bzDecompressInit, + }; + #else + bzFunctions bz = {0}; /* THREADING: serialize initialization */ --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_FlushTransformation.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_FlushTransformation.3 @@ -0,0 +1,71 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_FlushTransformation" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_FlushTransformation \- Interface to procedures used to flush buffered characters. +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_FlushTransformation +.br +( +.br + Trf_ControlBlock ctrlBlock, +.br + Tcl_Interp *interp, +.br + ClientData clientData +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Trf_ControlBlock ctrlBlock" +State of encoder/decoder. +.TP +.B "Tcl_Interp *interp" +Interpreter for error messages +(NULL posssible). +.TP +.B "ClientData clientData" +Arbitrary information, as defined in +Trf_TypeDefinition.clientData. +.SH "DESCRIPTION" +An encoder/decoder is allowed to buffer characters internally. A procedure +of this type is called just before destruction to invoke special processing +of such characters. Return value is a standard tcl error code. In case of +failure and interp not NULL an error message should be left in the result +area of the specified interpreter. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_LoadLibrary.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_LoadLibrary.3 @@ -0,0 +1,75 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_LoadLibrary" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_LoadLibrary \- General purpose library loader functionality. +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_LoadLibrary +.br +( +.br + Tcl_Interp *interp, +.br + const char *libName, +.br + void **handlePtr, +.br + char **symbols, +.br + int num +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Tcl_Interp *interp" +Not Documented. +.TP +.B "const char *libName" +Not Documented. +.TP +.B "void **handlePtr" +Not Documented. +.TP +.B "char **symbols" +Not Documented. +.TP +.B "int num" +Not Documented. +.SH "DESCRIPTION" +Used by -> TrfLoadZlib, -> TrfLoadLibdes. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_MDUpdate.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_MDUpdate.3 @@ -0,0 +1,61 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_MDUpdate" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_MDUpdate \- Interface to procedures for update of a MD context. +.SH "SYNOPSIS" +.ft B +#include +.sp +void Trf_MDUpdate +.br +( +.br + void *context, +.br + unsigned int character +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "void *context" +State to update. +.TP +.B "unsigned int character" +Character to hash into the state. +.SH "DESCRIPTION" +A procedure of this type is called for every character to hash +into the final digest. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_SafeInit.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_SafeInit.3 @@ -0,0 +1,53 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_SafeInit" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_SafeInit \- Initialize extension in SAFE interpreter. +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_SafeInit(Tcl_Interp *interp); +.ft R +.SH "PARAMETERS" +.TP +.B "Tcl_Interp *interp" +Interpreter to initialize. +.SH "DESCRIPTION" +Same as --> Trf_Init. The only security +relevant operations are reading from and +writing to a file. As Tcl-Handles are +given to these commands it is assumed that +they were checked and cleared beforehand. +.SH "SEE ALSO" +Trf_Init(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_XorBuffer.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_XorBuffer.3 @@ -0,0 +1,66 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_XorBuffer" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_XorBuffer \- XOR the bytes in a buffer with a mask. +.SH "SYNOPSIS" +.ft B +#include +.sp +void Trf_XorBuffer +.br +( +.br + void *buffer, +.br + void *mask, +.br + int length +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "void *buffer" +Buffer to xor the mask with. +.TP +.B "void *mask" +Mask bytes xor'ed into the buffer. +.TP +.B "int length" +Length of mask and buffer (in byte). +.SH "DESCRIPTION" +Internally used by the implementation of the +various stream modes available to blockciphers. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_DeleteCtrlBlock.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_DeleteCtrlBlock.3 @@ -0,0 +1,63 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_DeleteCtrlBlock" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_DeleteCtrlBlock \- Interface to procedure for destruction of encoder/decoder control structures. +.SH "SYNOPSIS" +.ft B +#include +.sp +void Trf_DeleteCtrlBlock +.br +( +.br + Trf_ControlBlock ctrlBlock, +.br + ClientData clientData +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Trf_ControlBlock ctrlBlock" +Control structure to destroy. +.TP +.B "ClientData clientData" +Arbitrary information, as defined in +Trf_TypeDefinition.clientData. +.SH "DESCRIPTION" +It is the responsibility of the procedure to clear and release all memory +associated to the specified control structure (which must have been created +by the appropriate procedure of type 'Trf_CreateCtrlBlock'). +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_MDCheck.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_MDCheck.3 @@ -0,0 +1,49 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_MDCheck" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_MDCheck \- Interface to procedures for check/manipulation of the environment (shared libraries, ...). +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_MDCheck(Tcl_Interp *interp); +.ft R +.SH "PARAMETERS" +.TP +.B "Tcl_Interp *interp" +The interpreter for error messages. +.SH "DESCRIPTION" +A procedure of this type is called before doing any sort of processing. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_RegisterMessageDigest.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_RegisterMessageDigest.3 @@ -0,0 +1,63 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_RegisterMessageDigest" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_RegisterMessageDigest \- Procedure to register a message digest algorithm in an interpreter. +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_RegisterMessageDigest +.br +( +.br + Tcl_Interp *interp, +.br + const Trf_MessageDigestDescription *md_desc +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Tcl_Interp *interp" +Interpreter to register the MD algorithm at. +.TP +.B "const Trf_MessageDigestDescription *md_desc" +Description of the MD +algorithm. +.SH "DESCRIPTION" +The procedure registers the described MDA at the given interpreter. Return +value is a standard tcl error code. In case of failure an error message +should be left in the result area of the given interpreter. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_SetOption.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_SetOption.3 @@ -0,0 +1,83 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_SetOption" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_SetOption \- Interface to procedures to define the value of an option. +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_SetOption +.br +( +.br + Trf_Options options, +.br + Tcl_Interp *interp, +.br + const char *optname, +.br + const char *optvalue, +.br + ClientData clientData +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Trf_Options options" +Container to place the value into. +.TP +.B "Tcl_Interp *interp" +Interpreter for error messages +(NULL possible). +.TP +.B "const char *optname" +Name of option to define. +.TP +.B "const char *optvalue" +Value to set into the container. +.TP +.B "ClientData clientData" +Arbitrary information, as defined in +Trf_TypeDefinition.clientData. +.SH "DESCRIPTION" +The procedure takes the specified optionname (rejecting +illegal ones) and places the given optionvalue into the +container. All necessary conversions from a string to the +required type should be done here. Return value is a standard +tcl error code. In case of failure and interp not NULL an +error message should be left in the result area of the +specified interpreter. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_Register.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_Register.3 @@ -0,0 +1,62 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_Register" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_Register \- Register the specified transformation at the given interpreter. +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_Register +.br +( +.br + Tcl_Interp *interp, +.br + const Trf_TypeDefinition *type +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Tcl_Interp *interp" +Interpreter to register at. +.TP +.B "const Trf_TypeDefinition *type" +Transformation to register. +.SH "DESCRIPTION" +Extends the given interpreter with a new command giving access +to the transformation described in 'type'. 'Type->name' is used +as name of the command. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_SetObjOption.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_SetObjOption.3 @@ -0,0 +1,84 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_SetObjOption" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_SetObjOption \- Interface to procedures to define the value of an option. +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_SetObjOption +.br +( +.br + Trf_Options options, +.br + Tcl_Interp *interp, +.br + const char *optname, +.br + const Tcl_Obj *optvalue, +.br + ClientData clientData +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Trf_Options options" +Container to place the value into. +.TP +.B "Tcl_Interp *interp" +Interpreter for error messages +(NULL possible). +.TP +.B "const char *optname" +Name of option to define. +.TP +.B "const Tcl_Obj *optvalue" +Value to set into the container. +.TP +.B "ClientData clientData" +Arbitrary information, as defined in +Trf_TypeDefinition.clientData. +.SH "DESCRIPTION" +The procedure takes the specified optionname (rejecting +illegal ones) and places the given optionvalue into the +container. All necessary conversions from a Tcl_Obj to the +required type should be done here. Return value is a standard +tcl error code. In case of failure and interp not NULL an +error message should be left in the result area of the +specified interpreter. This procedure makes sense for tcl +version 8 and above only. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_FlipRegisterLong.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_FlipRegisterLong.3 @@ -0,0 +1,60 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_FlipRegisterLong" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_FlipRegisterLong \- Swap the bytes of all 4-byte words contained in the buffer. +.SH "SYNOPSIS" +.ft B +#include +.sp +void Trf_FlipRegisterLong +.br +( +.br + void *buffer, +.br + int length +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "void *buffer" +Data to swap. +.TP +.B "int length" +Length of buffer (in byte). +.SH "DESCRIPTION" +Swap the bytes of all 4-byte words contained in the buffer. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_DeleteOptions.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_DeleteOptions.3 @@ -0,0 +1,63 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_DeleteOptions" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_DeleteOptions \- Interface to proceduress to delete a container made with 'Trf_CreateOptions'. +.SH "SYNOPSIS" +.ft B +#include +.sp +void Trf_DeleteOptions +.br +( +.br + Trf_Options options, +.br + ClientData clientData +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Trf_Options options" +The container to destroy. +.TP +.B "ClientData clientData" +Arbitrary information, as defined in +Trf_TypeDefinition.clientData. +.SH "DESCRIPTION" +It is the responsibility of this procedure to clear and release +all memory of the specified container (which must have been +created by the corresponding procedure of type 'Trf_CreateOptions'). +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_WriteProc.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_WriteProc.3 @@ -0,0 +1,76 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_WriteProc" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_WriteProc \- Interface to procedures used by an encoder/decoder to write its transformation results. +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_WriteProc +.br +( +.br + ClientData clientData, +.br + unsigned char *outString, +.br + int outLen, +.br + Tcl_Interp *interp +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "ClientData clientData" +Arbitrary information, defined during +controlblock creation. +.TP +.B "unsigned char *outString" +Buffer with characters to write. +.TP +.B "int outLen" +Number of characters in buffer. +.TP +.B "Tcl_Interp *interp" +Interpreter for error messages +(NULL possible). +.SH "DESCRIPTION" +Procedures of this type are called by an encoder/decoder to write +(partial) transformation results, decoupling the final destination +from result generation. Return value is a standard tcl error code. In +case of failure and interp not NULL an error message should be left +in the result area of the specified interpreter. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_MDFinal.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_MDFinal.3 @@ -0,0 +1,62 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_MDFinal" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_MDFinal \- Interface to procedures for generation of the final digest from a MD state. +.SH "SYNOPSIS" +.ft B +#include +.sp +void Trf_MDFinal +.br +( +.br + void *context, +.br + void *digest +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "void *context" +State to finalize. +.TP +.B "void *digest" +Result area to fill. +.SH "DESCRIPTION" +A procedure of this type is called after processing the final character. It +is its responsibility to finalize the internal state of the MD algorithm and +to generate the resulting digest from this. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_QueryMaxRead.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_QueryMaxRead.3 @@ -0,0 +1,71 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_QueryMaxRead" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_QueryMaxRead \- Interface for procedures to query a transformation about the max. +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_QueryMaxRead +.br +( +.br + Trf_ControlBlock ctrlBlock, +.br + ClientData clientData +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Trf_ControlBlock ctrlBlock" +State of +encoder/decoder. +.TP +.B "ClientData clientData" +Arbitrary +information, as +defined in +Trf_TypeDefinition.clientData. +.SH "DESCRIPTION" + Number of bytes to read in the next call to the down channel. +This procedure will be called by the generic trf layer just before reading +data from the channel below the transformation. This way a transformation +is able to control its consumption of characters. An example would +be 'identity with stop after n characters'. This would transfer at most n +characters and then basically fake higher transformations into believing +that EOF occured. Then popping it would reveal the truth. Pattern matching +could be used here too (internet protocols !). +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_TransformBuffer.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_TransformBuffer.3 @@ -0,0 +1,82 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_TransformBuffer" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_TransformBuffer \- Interface to procedures for transformation of character sequences. +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_TransformBuffer +.br +( +.br + Trf_ControlBlock ctrlBlock, +.br + unsigned char *buf, +.br + int bufLen, +.br + Tcl_Interp *interp, +.br + ClientData clientData +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Trf_ControlBlock ctrlBlock" +State of encoder/decoder. +.TP +.B "unsigned char *buf" +Characters to transform. +.TP +.B "int bufLen" +Number of characters. +.TP +.B "Tcl_Interp *interp" +Interpreter for error messages +(NULL possible). +.TP +.B "ClientData clientData" +Arbitrary information, as defined +in Trf_TypeDefinition.clientData. +.SH "DESCRIPTION" +A procedure of this type is called to encode/decode a complete buffer. Return +value is a standard tcl error code. In case of failure and interp not +NULL an error message should be left in the result area of the specified +interpreter. Only one of 'Trf_TransformCharacter' and 'Trf_TransformBuffer' +must be provided. The first named is easier to implement, this one should be +faster. If both are provided, -> 'Trf_TransformBuffer' takes precedence. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_CreateCtrlBlock.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_CreateCtrlBlock.3 @@ -0,0 +1,86 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_CreateCtrlBlock" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_CreateCtrlBlock \- Interface to procedure for creation of encoder/decoder control structures. +.SH "SYNOPSIS" +.ft B +#include +.sp +Trf_ControlBlock Trf_CreateCtrlBlock +.br +( +.br + ClientData writeClientData, +.br + Trf_WriteProc *fun, +.br + Trf_Options optInfo, +.br + Tcl_Interp *interp, +.br + ClientData clientData +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "ClientData writeClientData" +Arbitrary information +given as clientdata +to 'fun'. +.TP +.B "Trf_WriteProc *fun" +Vector to use for writing +generated results. +.TP +.B "Trf_Options optInfo" +Options to configure the +control. +.TP +.B "Tcl_Interp *interp" +Interpreter for error +messages. +.TP +.B "ClientData clientData" +Arbitrary information, +as defined in +Trf_TypeDefinition.clientData. +.SH "DESCRIPTION" +The procedure has to create a control structure for an encoder/decoder. The +structure must be initialized with the contents of the the option +container. Return value is an opaque handle aof the control structure or NULL +in case of failure. An error message should be left in the result area +of the specified interpreter then. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_Init.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_Init.3 @@ -0,0 +1,52 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_Init" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_Init \- Initialize extension in standard interpreter. +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_Init(Tcl_Interp *interp); +.ft R +.SH "PARAMETERS" +.TP +.B "Tcl_Interp *interp" +Interpreter to initialize. +.SH "DESCRIPTION" +Extends the interpreter with extension-specific +structures and installs the globally visible +command of Tcl-TRF. Will catch attempts for +multiple initialization of an interpreter. +.SH "SEE ALSO" +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_IsInitialized.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_IsInitialized.3 @@ -0,0 +1,50 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_IsInitialized" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_IsInitialized \- Check initialization state of specified interpreter. +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_IsInitialized(Tcl_Interp *interp); +.ft R +.SH "PARAMETERS" +.TP +.B "Tcl_Interp *interp" +Interpreter to check for initialization. +.SH "DESCRIPTION" +Check, wether this extension was initialized for the +specified interpreter or not. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_MDUpdateBuf.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_MDUpdateBuf.3 @@ -0,0 +1,67 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_MDUpdateBuf" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_MDUpdateBuf \- Interface to procedures for update of a MD context. +.SH "SYNOPSIS" +.ft B +#include +.sp +void Trf_MDUpdateBuf +.br +( +.br + void *context, +.br + unsigned char *buf, +.br + int bufLen +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "void *context" +State to update. +.TP +.B "unsigned char *buf" +Buffer to hash into the state. +.TP +.B "int bufLen" +Number of characters in the buffer. +.SH "DESCRIPTION" +A procedure of this type is called for character buffer to hash +into the final digest. This procedure is optional, its definition +has precedence over 'Trf_MDUpdate'. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_CheckOptions.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_CheckOptions.3 @@ -0,0 +1,78 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_CheckOptions" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_CheckOptions \- Interface to procedures to check an option container. +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_CheckOptions +.br +( +.br + Trf_Options options, +.br + Tcl_Interp *interp, +.br + const Trf_BaseOptions *baseOptions, +.br + ClientData clientData +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Trf_Options options" +Container with options to check. +.TP +.B "Tcl_Interp *interp" +Interpreter to write error +messages to (NULL possible!). +.TP +.B "const Trf_BaseOptions *baseOptions" +Info about common options. +.TP +.B "ClientData clientData" +Arbitrary information, as defined +in +Trf_TypeDefinition.clientData. +.SH "DESCRIPTION" +The procedure has to check the contents of the specified +container for errors, consistency, etc. It is allowed to +set default values into unspecified slots. Return value +is a standard tcl error code. In case of failure and interp +not NULL an error message should be left in the result area +of the specified interpreter. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_SeekQueryOptions.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_SeekQueryOptions.3 @@ -0,0 +1,80 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_SeekQueryOptions" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_SeekQueryOptions \- Interface to procedures to query an option container. +.SH "SYNOPSIS" +.ft B +#include +.sp +void Trf_SeekQueryOptions +.br +( +.br + Tcl_Interp *interp, +.br + Trf_Options options, +.br + Trf_SeekInformation *seekInfo, +.br + ClientData clientData +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Tcl_Interp *interp" +Interpreter to use +for reflecting the +query up into tcl, +if necessary. +.TP +.B "Trf_Options options" +Option container +to query. +.TP +.B "Trf_SeekInformation *seekInfo" +The policy to modify. +.TP +.B "ClientData clientData" +Arbitrary +information, as +defined in +Trf_TypeDefinition.clientData. +.SH "DESCRIPTION" +The procedure is allowed to change the natural seek policy defined for the +transformation according to the current configuration. +.SH "RETURNS" +Nothing. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_TransformCharacter.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_TransformCharacter.3 @@ -0,0 +1,78 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_TransformCharacter" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_TransformCharacter \- Interface to procedures for transformation of a single character. +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_TransformCharacter +.br +( +.br + Trf_ControlBlock ctrlBlock, +.br + unsigned int character, +.br + Tcl_Interp *interp, +.br + ClientData clientData +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Trf_ControlBlock ctrlBlock" +State of encoder/decoder. +.TP +.B "unsigned int character" +Character to transform. +.TP +.B "Tcl_Interp *interp" +Interpreter for error messages +(NULL possible). +.TP +.B "ClientData clientData" +Arbitrary information, as defined +in Trf_TypeDefinition.clientData. +.SH "DESCRIPTION" +A procedure of this type is called to encode/decode a single +character. Return value is a standard tcl error code. In case of +failure and interp not NULL an error message should be left in the +result area of the specified interpreter. Only one of 'Trf_TransformCharacter' +and 'Trf_TransformBuffer' must be provided. This one is easier to +implement, the second one should be faster. If both are +provided, -> 'Trf_TransformBuffer' takes precedence. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_ClearCtrlBlock.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_ClearCtrlBlock.3 @@ -0,0 +1,66 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_ClearCtrlBlock" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_ClearCtrlBlock \- Interface for procedures to reset the internal state of an encoder/decoder. +.SH "SYNOPSIS" +.ft B +#include +.sp +void Trf_ClearCtrlBlock +.br +( +.br + Trf_ControlBlock ctrlBlock, +.br + ClientData clientData +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Trf_ControlBlock ctrlBlock" +State of +encoder/decoder. +.TP +.B "ClientData clientData" +Arbitrary +information, +as defined in +Trf_TypeDefinition.clientData. +.SH "DESCRIPTION" +The generic io layer of tcl sometimes discards its input buffer. A procedure +of this type will be called in such a case to reset the internal state of +the control structure and to discard buffered characters. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_InitStubs.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_InitStubs.3 @@ -0,0 +1,66 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_InitStubs" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_InitStubs \- Convenience declaration of Trf_InitStubs. +.SH "SYNOPSIS" +.ft B +#include +.sp +extern char *Trf_InitStubs +.br +( +.br + Tcl_Interp *interp, +.br + const char *version, +.br + int exact +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Tcl_Interp *interp" +Not Documented. +.TP +.B "const char *version" +Not Documented. +.TP +.B "int exact" +Not Documented. +.SH "DESCRIPTION" +This function is not *implemented* by the trf library, so the storage +class is neither DLLEXPORT nor DLLIMPORT. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_ConverterOptions.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_ConverterOptions.3 @@ -0,0 +1,45 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_ConverterOptions" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_ConverterOptions \- Return the set of option processing procedures required by conversion transformers. +.SH "SYNOPSIS" +.ft B +#include +.sp +Trf_OptionVectors *Trf_ConverterOptions(void); +.ft R +.SH "DESCRIPTION" +Return the set of option processing procedures required by conversion transformers. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_ShiftRegister.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_ShiftRegister.3 @@ -0,0 +1,72 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_ShiftRegister" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_ShiftRegister \- Shift the register. +.SH "SYNOPSIS" +.ft B +#include +.sp +void Trf_ShiftRegister +.br +( +.br + void *buffer, +.br + void *in, +.br + int shift, +.br + int buffer_length +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "void *buffer" +Data shifted to the left. +.TP +.B "void *in" +2nd register shifted into the buffer. +.TP +.B "int shift" +Number of bytes to shift out (and in). +.TP +.B "int buffer_length" +Length of buffer and in (in byte). +.SH "DESCRIPTION" +The register is shifted 'shift' bytes to the left. The same +number of bytes from the left of the 2nd register ('in') is +inserted at the right of 'buffer' to replace the lost bytes. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_QueryOptions.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_QueryOptions.3 @@ -0,0 +1,70 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_QueryOptions" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_QueryOptions \- Interface to procedures to query an option container. +.SH "SYNOPSIS" +.ft B +#include +.sp +int Trf_QueryOptions +.br +( +.br + Trf_Options options, +.br + ClientData clientData +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "Trf_Options options" +Option container to query. +.TP +.B "ClientData clientData" +Arbitrary information, as defined in +Trf_TypeDefinition.clientData. +.SH "DESCRIPTION" +The result value decides wether the encoder- or decoder-set of vectors +must be used during immediate execution of the transformer configured +with the container contents. +.SH "RETURNS" +.TP +.B "0" +Use decoder. +.TP +.B "1" +Use encoder. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_CreateOptions.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_CreateOptions.3 @@ -0,0 +1,52 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_CreateOptions" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_CreateOptions \- Interface to procedures to create a container holding option values. +.SH "SYNOPSIS" +.ft B +#include +.sp +Trf_Options Trf_CreateOptions(ClientData clientData); +.ft R +.SH "PARAMETERS" +.TP +.B "ClientData clientData" +Arbitrary information, as defined in +Trf_TypeDefinition.clientData. +.SH "DESCRIPTION" +It is the responsibility of the procedure to create and +initialize a container to hold option values. An opaque +handle to the new container has to be returned. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_FlipRegisterShort.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_FlipRegisterShort.3 @@ -0,0 +1,60 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_FlipRegisterShort" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_FlipRegisterShort \- Swap the bytes of all 2-byte words contained in the buffer. +.SH "SYNOPSIS" +.ft B +#include +.sp +void Trf_FlipRegisterShort +.br +( +.br + void *buffer, +.br + int length +.br +); +.ft R +.SH "PARAMETERS" +.TP +.B "void *buffer" +Data to swap. +.TP +.B "int length" +Length of buffer (in byte). +.SH "DESCRIPTION" +Swap the bytes of all 2-byte words contained in the buffer. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDStart(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/man/Trf_MDStart.3 +++ tcltrf-2.1.4-dfsg2/doc/capi/man/Trf_MDStart.3 @@ -0,0 +1,52 @@ +.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! +.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! +.TH "Trf_MDStart" 3 "27 August 2002" "c2man transform.h" +.SH "NAME" +Trf_MDStart \- Interface to procedures for initialization of a MD context. +.SH "SYNOPSIS" +.ft B +#include +.sp +void Trf_MDStart(void *context); +.ft R +.SH "PARAMETERS" +.TP +.B "void *context" +State to initialize. +.SH "DESCRIPTION" +A procedure of this type is called to initialize the structure +containing the state of a special message digest algorithm. The +memory block was allocated by the caller, with the size as specified +in the 'Trf_MessageDigestDescription' structure of the algorithm. +.SH "SEE ALSO" +Trf_Init(3), +Trf_SafeInit(3), +Trf_IsInitialized(3), +Trf_CreateOptions(3), +Trf_DeleteOptions(3), +Trf_CheckOptions(3), +Trf_SetOption(3), +Trf_SetObjOption(3), +Trf_QueryOptions(3), +Trf_SeekQueryOptions(3), +Trf_WriteProc(3), +Trf_CreateCtrlBlock(3), +Trf_DeleteCtrlBlock(3), +Trf_TransformCharacter(3), +Trf_TransformBuffer(3), +Trf_FlushTransformation(3), +Trf_ClearCtrlBlock(3), +Trf_QueryMaxRead(3), +Trf_Register(3), +Trf_ConverterOptions(3), +Trf_MDUpdate(3), +Trf_MDUpdateBuf(3), +Trf_MDFinal(3), +Trf_MDCheck(3), +Trf_RegisterMessageDigest(3), +Trf_LoadLibrary(3), +Trf_XorBuffer(3), +Trf_ShiftRegister(3), +Trf_FlipRegisterShort(3), +Trf_FlipRegisterLong(3), +Trf_InitStubs(3) --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_Init.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_Init.html @@ -0,0 +1,88 @@ + +Trf_Init - Initialize extension in standard interpreter. + + +

NAME

+Trf_Init - Initialize extension in standard interpreter. +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_Init(Tcl_Interp *interp);
+
+

PARAMETERS

+
+Tcl_Interp *interp
+Interpreter to initialize. +
+

DESCRIPTION

+Extends the interpreter with extension-specific +structures and installs the globally visible +command of Tcl-TRF. Will catch attempts for +multiple initialization of an interpreter. +

SEE ALSO

+Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_SafeInit.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_SafeInit.html @@ -0,0 +1,89 @@ + +Trf_SafeInit - Initialize extension in SAFE interpreter. + + +

NAME

+Trf_SafeInit - Initialize extension in SAFE interpreter. +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_SafeInit(Tcl_Interp *interp);
+
+

PARAMETERS

+
+Tcl_Interp *interp
+Interpreter to initialize. +
+

DESCRIPTION

+Same as --> Trf_Init. The only security +relevant operations are reading from and +writing to a file. As Tcl-Handles are +given to these commands it is assumed that +they were checked and cleared beforehand. +

SEE ALSO

+Trf_Init +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_MDUpdateBuf.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_MDUpdateBuf.html @@ -0,0 +1,98 @@ + +Trf_MDUpdateBuf - Interface to procedures for update of a MD context. + + +

NAME

+Trf_MDUpdateBuf - Interface to procedures for update of a MD context. +

SYNOPSIS

+
#include <transform.h>
+
+void Trf_MDUpdateBuf
+(
+	void *context,
+	unsigned char *buf,
+	int bufLen
+);
+
+

PARAMETERS

+
+void *context
+State to update. +
+unsigned char *buf
+Buffer to hash into the state. +
+int bufLen
+Number of characters in the buffer. +
+

DESCRIPTION

+A procedure of this type is called for character buffer to hash +into the final digest. This procedure is optional, its definition +has precedence over 'Trf_MDUpdate'. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_RegisterMessageDigest.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_RegisterMessageDigest.html @@ -0,0 +1,95 @@ + +Trf_RegisterMessageDigest - Procedure to register a message digest algorithm in an interpreter. + + +

NAME

+Trf_RegisterMessageDigest - Procedure to register a message digest algorithm in an interpreter. +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_RegisterMessageDigest
+(
+	Tcl_Interp *interp,
+	const Trf_MessageDigestDescription *md_desc
+);
+
+

PARAMETERS

+
+Tcl_Interp *interp
+Interpreter to register the MD algorithm at. +
+const Trf_MessageDigestDescription *md_desc
+Description of the MD +algorithm. +
+

DESCRIPTION

+The procedure registers the described MDA at the given interpreter. Return +value is a standard tcl error code. In case of failure an error message +should be left in the result area of the given interpreter. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_CheckOptions.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_CheckOptions.html @@ -0,0 +1,108 @@ + +Trf_CheckOptions - Interface to procedures to check an option container. + + +

NAME

+Trf_CheckOptions - Interface to procedures to check an option container. +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_CheckOptions
+(
+	Trf_Options options,
+	Tcl_Interp *interp,
+	const Trf_BaseOptions *baseOptions,
+	ClientData clientData
+);
+
+

PARAMETERS

+
+Trf_Options options
+Container with options to check. +
+Tcl_Interp *interp
+Interpreter to write error +messages to (NULL possible!). +
+const Trf_BaseOptions *baseOptions
+Info about common options. +
+ClientData clientData
+Arbitrary information, as defined +in +Trf_TypeDefinition.clientData. +
+

DESCRIPTION

+The procedure has to check the contents of the specified +container for errors, consistency, etc. It is allowed to +set default values into unspecified slots. Return value +is a standard tcl error code. In case of failure and interp +not NULL an error message should be left in the result area +of the specified interpreter. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_SeekQueryOptions.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_SeekQueryOptions.html @@ -0,0 +1,110 @@ + +Trf_SeekQueryOptions - Interface to procedures to query an option container. + + +

NAME

+Trf_SeekQueryOptions - Interface to procedures to query an option container. +

SYNOPSIS

+
#include <transform.h>
+
+void Trf_SeekQueryOptions
+(
+	Tcl_Interp *interp,
+	Trf_Options options,
+	Trf_SeekInformation *seekInfo,
+	ClientData clientData
+);
+
+

PARAMETERS

+
+Tcl_Interp *interp
+Interpreter to use +for reflecting the +query up into tcl, +if necessary. +
+Trf_Options options
+Option container +to query. +
+Trf_SeekInformation *seekInfo
+The policy to modify. +
+ClientData clientData
+Arbitrary +information, as +defined in +Trf_TypeDefinition.clientData. +
+

DESCRIPTION

+The procedure is allowed to change the natural seek policy defined for the +transformation according to the current configuration. +

RETURNS

+Nothing. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_InitStubs.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_InitStubs.html @@ -0,0 +1,97 @@ + +Trf_InitStubs - Convenience declaration of Trf_InitStubs. + + +

NAME

+Trf_InitStubs - Convenience declaration of Trf_InitStubs. +

SYNOPSIS

+
#include <transform.h>
+
+extern char *Trf_InitStubs
+(
+	Tcl_Interp *interp,
+	const char *version,
+	int exact
+);
+
+

PARAMETERS

+
+Tcl_Interp *interp
+Not Documented. +
+const char *version
+Not Documented. +
+int exact
+Not Documented. +
+

DESCRIPTION

+This function is not *implemented* by the trf library, so the storage +class is neither DLLEXPORT nor DLLIMPORT. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_Register.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_Register.html @@ -0,0 +1,94 @@ + +Trf_Register - Register the specified transformation at the given interpreter. + + +

NAME

+Trf_Register - Register the specified transformation at the given interpreter. +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_Register
+(
+	Tcl_Interp *interp,
+	const Trf_TypeDefinition *type
+);
+
+

PARAMETERS

+
+Tcl_Interp *interp
+Interpreter to register at. +
+const Trf_TypeDefinition *type
+Transformation to register. +
+

DESCRIPTION

+Extends the given interpreter with a new command giving access +to the transformation described in 'type'. 'Type->name' is used +as name of the command. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_ConverterOptions.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_ConverterOptions.html @@ -0,0 +1,80 @@ + +Trf_ConverterOptions - Return the set of option processing procedures required by conversion transformers. + + +

NAME

+Trf_ConverterOptions - Return the set of option processing procedures required by conversion transformers. +

SYNOPSIS

+
#include <transform.h>
+
+Trf_OptionVectors *Trf_ConverterOptions(void);
+
+

DESCRIPTION

+Return the set of option processing procedures required by conversion transformers. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_ShiftRegister.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_ShiftRegister.html @@ -0,0 +1,102 @@ + +Trf_ShiftRegister - Shift the register. + + +

NAME

+Trf_ShiftRegister - Shift the register. +

SYNOPSIS

+
#include <transform.h>
+
+void Trf_ShiftRegister
+(
+	void *buffer,
+	void *in,
+	int shift,
+	int buffer_length
+);
+
+

PARAMETERS

+
+void *buffer
+Data shifted to the left. +
+void *in
+2nd register shifted into the buffer. +
+int shift
+Number of bytes to shift out (and in). +
+int buffer_length
+Length of buffer and in (in byte). +
+

DESCRIPTION

+The register is shifted 'shift' bytes to the left. The same +number of bytes from the left of the 2nd register ('in') is +inserted at the right of 'buffer' to replace the lost bytes. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_QueryOptions.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_QueryOptions.html @@ -0,0 +1,103 @@ + +Trf_QueryOptions - Interface to procedures to query an option container. + + +

NAME

+Trf_QueryOptions - Interface to procedures to query an option container. +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_QueryOptions
+(
+	Trf_Options options,
+	ClientData clientData
+);
+
+

PARAMETERS

+
+Trf_Options options
+Option container to query. +
+ClientData clientData
+Arbitrary information, as defined in +Trf_TypeDefinition.clientData. +
+

DESCRIPTION

+The result value decides wether the encoder- or decoder-set of vectors +must be used during immediate execution of the transformer configured +with the container contents. +

RETURNS

+
+0
+Use decoder. +
+1
+Use encoder. +
+

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_MDStart.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_MDStart.html @@ -0,0 +1,88 @@ + +Trf_MDStart - Interface to procedures for initialization of a MD context. + + +

NAME

+Trf_MDStart - Interface to procedures for initialization of a MD context. +

SYNOPSIS

+
#include <transform.h>
+
+void Trf_MDStart(void *context);
+
+

PARAMETERS

+
+void *context
+State to initialize. +
+

DESCRIPTION

+A procedure of this type is called to initialize the structure +containing the state of a special message digest algorithm. The +memory block was allocated by the caller, with the size as specified +in the 'Trf_MessageDigestDescription' structure of the algorithm. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_FlushTransformation.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_FlushTransformation.html @@ -0,0 +1,102 @@ + +Trf_FlushTransformation - Interface to procedures used to flush buffered characters. + + +

NAME

+Trf_FlushTransformation - Interface to procedures used to flush buffered characters. +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_FlushTransformation
+(
+	Trf_ControlBlock ctrlBlock,
+	Tcl_Interp *interp,
+	ClientData clientData
+);
+
+

PARAMETERS

+
+Trf_ControlBlock ctrlBlock
+State of encoder/decoder. +
+Tcl_Interp *interp
+Interpreter for error messages +(NULL posssible). +
+ClientData clientData
+Arbitrary information, as defined in +Trf_TypeDefinition.clientData. +
+

DESCRIPTION

+An encoder/decoder is allowed to buffer characters internally. A procedure +of this type is called just before destruction to invoke special processing +of such characters. Return value is a standard tcl error code. In case of +failure and interp not NULL an error message should be left in the result +area of the specified interpreter. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_TransformBuffer.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_TransformBuffer.html @@ -0,0 +1,111 @@ + +Trf_TransformBuffer - Interface to procedures for transformation of character sequences. + + +

NAME

+Trf_TransformBuffer - Interface to procedures for transformation of character sequences. +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_TransformBuffer
+(
+	Trf_ControlBlock ctrlBlock,
+	unsigned char *buf,
+	int bufLen,
+	Tcl_Interp *interp,
+	ClientData clientData
+);
+
+

PARAMETERS

+
+Trf_ControlBlock ctrlBlock
+State of encoder/decoder. +
+unsigned char *buf
+Characters to transform. +
+int bufLen
+Number of characters. +
+Tcl_Interp *interp
+Interpreter for error messages +(NULL possible). +
+ClientData clientData
+Arbitrary information, as defined +in Trf_TypeDefinition.clientData. +
+

DESCRIPTION

+A procedure of this type is called to encode/decode a complete buffer. Return +value is a standard tcl error code. In case of failure and interp not +NULL an error message should be left in the result area of the specified +interpreter. Only one of 'Trf_TransformCharacter' and 'Trf_TransformBuffer' +must be provided. The first named is easier to implement, this one should be +faster. If both are provided, -> 'Trf_TransformBuffer' takes precedence. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_LoadLibrary.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_LoadLibrary.html @@ -0,0 +1,104 @@ + +Trf_LoadLibrary - General purpose library loader functionality. + + +

NAME

+Trf_LoadLibrary - General purpose library loader functionality. +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_LoadLibrary
+(
+	Tcl_Interp *interp,
+	const char *libName,
+	void **handlePtr,
+	char **symbols,
+	int num
+);
+
+

PARAMETERS

+
+Tcl_Interp *interp
+Not Documented. +
+const char *libName
+Not Documented. +
+void **handlePtr
+Not Documented. +
+char **symbols
+Not Documented. +
+int num
+Not Documented. +
+

DESCRIPTION

+Used by -> TrfLoadZlib, -> TrfLoadLibdes. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_CreateCtrlBlock.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_CreateCtrlBlock.html @@ -0,0 +1,115 @@ + +Trf_CreateCtrlBlock - Interface to procedure for creation of encoder/decoder control structures. + + +

NAME

+Trf_CreateCtrlBlock - Interface to procedure for creation of encoder/decoder control structures. +

SYNOPSIS

+
#include <transform.h>
+
+Trf_ControlBlock Trf_CreateCtrlBlock
+(
+	ClientData writeClientData,
+	Trf_WriteProc *fun,
+	Trf_Options optInfo,
+	Tcl_Interp *interp,
+	ClientData clientData
+);
+
+

PARAMETERS

+
+ClientData writeClientData
+Arbitrary information +given as clientdata +to 'fun'. +
+Trf_WriteProc *fun
+Vector to use for writing +generated results. +
+Trf_Options optInfo
+Options to configure the +control. +
+Tcl_Interp *interp
+Interpreter for error +messages. +
+ClientData clientData
+Arbitrary information, +as defined in +Trf_TypeDefinition.clientData. +
+

DESCRIPTION

+The procedure has to create a control structure for an encoder/decoder. The +structure must be initialized with the contents of the the option +container. Return value is an opaque handle aof the control structure or NULL +in case of failure. An error message should be left in the result area +of the specified interpreter then. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_MDUpdate.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_MDUpdate.html @@ -0,0 +1,93 @@ + +Trf_MDUpdate - Interface to procedures for update of a MD context. + + +

NAME

+Trf_MDUpdate - Interface to procedures for update of a MD context. +

SYNOPSIS

+
#include <transform.h>
+
+void Trf_MDUpdate
+(
+	void *context,
+	unsigned int character
+);
+
+

PARAMETERS

+
+void *context
+State to update. +
+unsigned int character
+Character to hash into the state. +
+

DESCRIPTION

+A procedure of this type is called for every character to hash +into the final digest. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_DeleteCtrlBlock.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_DeleteCtrlBlock.html @@ -0,0 +1,95 @@ + +Trf_DeleteCtrlBlock - Interface to procedure for destruction of encoder/decoder control structures. + + +

NAME

+Trf_DeleteCtrlBlock - Interface to procedure for destruction of encoder/decoder control structures. +

SYNOPSIS

+
#include <transform.h>
+
+void Trf_DeleteCtrlBlock
+(
+	Trf_ControlBlock ctrlBlock,
+	ClientData clientData
+);
+
+

PARAMETERS

+
+Trf_ControlBlock ctrlBlock
+Control structure to destroy. +
+ClientData clientData
+Arbitrary information, as defined in +Trf_TypeDefinition.clientData. +
+

DESCRIPTION

+It is the responsibility of the procedure to clear and release all memory +associated to the specified control structure (which must have been created +by the appropriate procedure of type 'Trf_CreateCtrlBlock'). +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_XorBuffer.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_XorBuffer.html @@ -0,0 +1,97 @@ + +Trf_XorBuffer - XOR the bytes in a buffer with a mask. + + +

NAME

+Trf_XorBuffer - XOR the bytes in a buffer with a mask. +

SYNOPSIS

+
#include <transform.h>
+
+void Trf_XorBuffer
+(
+	void *buffer,
+	void *mask,
+	int length
+);
+
+

PARAMETERS

+
+void *buffer
+Buffer to xor the mask with. +
+void *mask
+Mask bytes xor'ed into the buffer. +
+int length
+Length of mask and buffer (in byte). +
+

DESCRIPTION

+Internally used by the implementation of the +various stream modes available to blockciphers. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_IsInitialized.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_IsInitialized.html @@ -0,0 +1,86 @@ + +Trf_IsInitialized - Check initialization state of specified interpreter. + + +

NAME

+Trf_IsInitialized - Check initialization state of specified interpreter. +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_IsInitialized(Tcl_Interp *interp);
+
+

PARAMETERS

+
+Tcl_Interp *interp
+Interpreter to check for initialization. +
+

DESCRIPTION

+Check, wether this extension was initialized for the +specified interpreter or not. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_MDCheck.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_MDCheck.html @@ -0,0 +1,85 @@ + +Trf_MDCheck - Interface to procedures for check/manipulation of the environment (shared libraries, ...). + + +

NAME

+Trf_MDCheck - Interface to procedures for check/manipulation of the environment (shared libraries, ...). +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_MDCheck(Tcl_Interp *interp);
+
+

PARAMETERS

+
+Tcl_Interp *interp
+The interpreter for error messages. +
+

DESCRIPTION

+A procedure of this type is called before doing any sort of processing. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_TransformCharacter.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_TransformCharacter.html @@ -0,0 +1,108 @@ + +Trf_TransformCharacter - Interface to procedures for transformation of a single character. + + +

NAME

+Trf_TransformCharacter - Interface to procedures for transformation of a single character. +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_TransformCharacter
+(
+	Trf_ControlBlock ctrlBlock,
+	unsigned int character,
+	Tcl_Interp *interp,
+	ClientData clientData
+);
+
+

PARAMETERS

+
+Trf_ControlBlock ctrlBlock
+State of encoder/decoder. +
+unsigned int character
+Character to transform. +
+Tcl_Interp *interp
+Interpreter for error messages +(NULL possible). +
+ClientData clientData
+Arbitrary information, as defined +in Trf_TypeDefinition.clientData. +
+

DESCRIPTION

+A procedure of this type is called to encode/decode a single +character. Return value is a standard tcl error code. In case of +failure and interp not NULL an error message should be left in the +result area of the specified interpreter. Only one of 'Trf_TransformCharacter' +and 'Trf_TransformBuffer' must be provided. This one is easier to +implement, the second one should be faster. If both are +provided, -> 'Trf_TransformBuffer' takes precedence. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_ClearCtrlBlock.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_ClearCtrlBlock.html @@ -0,0 +1,98 @@ + +Trf_ClearCtrlBlock - Interface for procedures to reset the internal state of an encoder/decoder. + + +

NAME

+Trf_ClearCtrlBlock - Interface for procedures to reset the internal state of an encoder/decoder. +

SYNOPSIS

+
#include <transform.h>
+
+void Trf_ClearCtrlBlock
+(
+	Trf_ControlBlock ctrlBlock,
+	ClientData clientData
+);
+
+

PARAMETERS

+
+Trf_ControlBlock ctrlBlock
+State of +encoder/decoder. +
+ClientData clientData
+Arbitrary +information, +as defined in +Trf_TypeDefinition.clientData. +
+

DESCRIPTION

+The generic io layer of tcl sometimes discards its input buffer. A procedure +of this type will be called in such a case to reset the internal state of +the control structure and to discard buffered characters. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_SetOption.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_SetOption.html @@ -0,0 +1,112 @@ + +Trf_SetOption - Interface to procedures to define the value of an option. + + +

NAME

+Trf_SetOption - Interface to procedures to define the value of an option. +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_SetOption
+(
+	Trf_Options options,
+	Tcl_Interp *interp,
+	const char *optname,
+	const char *optvalue,
+	ClientData clientData
+);
+
+

PARAMETERS

+
+Trf_Options options
+Container to place the value into. +
+Tcl_Interp *interp
+Interpreter for error messages +(NULL possible). +
+const char *optname
+Name of option to define. +
+const char *optvalue
+Value to set into the container. +
+ClientData clientData
+Arbitrary information, as defined in +Trf_TypeDefinition.clientData. +
+

DESCRIPTION

+The procedure takes the specified optionname (rejecting +illegal ones) and places the given optionvalue into the +container. All necessary conversions from a string to the +required type should be done here. Return value is a standard +tcl error code. In case of failure and interp not NULL an +error message should be left in the result area of the +specified interpreter. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_FlipRegisterLong.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_FlipRegisterLong.html @@ -0,0 +1,92 @@ + +Trf_FlipRegisterLong - Swap the bytes of all 4-byte words contained in the buffer. + + +

NAME

+Trf_FlipRegisterLong - Swap the bytes of all 4-byte words contained in the buffer. +

SYNOPSIS

+
#include <transform.h>
+
+void Trf_FlipRegisterLong
+(
+	void *buffer,
+	int length
+);
+
+

PARAMETERS

+
+void *buffer
+Data to swap. +
+int length
+Length of buffer (in byte). +
+

DESCRIPTION

+Swap the bytes of all 4-byte words contained in the buffer. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_SetObjOption.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_SetObjOption.html @@ -0,0 +1,113 @@ + +Trf_SetObjOption - Interface to procedures to define the value of an option. + + +

NAME

+Trf_SetObjOption - Interface to procedures to define the value of an option. +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_SetObjOption
+(
+	Trf_Options options,
+	Tcl_Interp *interp,
+	const char *optname,
+	const Tcl_Obj *optvalue,
+	ClientData clientData
+);
+
+

PARAMETERS

+
+Trf_Options options
+Container to place the value into. +
+Tcl_Interp *interp
+Interpreter for error messages +(NULL possible). +
+const char *optname
+Name of option to define. +
+const Tcl_Obj *optvalue
+Value to set into the container. +
+ClientData clientData
+Arbitrary information, as defined in +Trf_TypeDefinition.clientData. +
+

DESCRIPTION

+The procedure takes the specified optionname (rejecting +illegal ones) and places the given optionvalue into the +container. All necessary conversions from a Tcl_Obj to the +required type should be done here. Return value is a standard +tcl error code. In case of failure and interp not NULL an +error message should be left in the result area of the +specified interpreter. This procedure makes sense for tcl +version 8 and above only. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_CreateOptions.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_CreateOptions.html @@ -0,0 +1,88 @@ + +Trf_CreateOptions - Interface to procedures to create a container holding option values. + + +

NAME

+Trf_CreateOptions - Interface to procedures to create a container holding option values. +

SYNOPSIS

+
#include <transform.h>
+
+Trf_Options Trf_CreateOptions(ClientData clientData);
+
+

PARAMETERS

+
+ClientData clientData
+Arbitrary information, as defined in +Trf_TypeDefinition.clientData. +
+

DESCRIPTION

+It is the responsibility of the procedure to create and +initialize a container to hold option values. An opaque +handle to the new container has to be returned. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_FlipRegisterShort.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_FlipRegisterShort.html @@ -0,0 +1,92 @@ + +Trf_FlipRegisterShort - Swap the bytes of all 2-byte words contained in the buffer. + + +

NAME

+Trf_FlipRegisterShort - Swap the bytes of all 2-byte words contained in the buffer. +

SYNOPSIS

+
#include <transform.h>
+
+void Trf_FlipRegisterShort
+(
+	void *buffer,
+	int length
+);
+
+

PARAMETERS

+
+void *buffer
+Data to swap. +
+int length
+Length of buffer (in byte). +
+

DESCRIPTION

+Swap the bytes of all 2-byte words contained in the buffer. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_WriteProc.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_WriteProc.html @@ -0,0 +1,106 @@ + +Trf_WriteProc - Interface to procedures used by an encoder/decoder to write its transformation results. + + +

NAME

+Trf_WriteProc - Interface to procedures used by an encoder/decoder to write its transformation results. +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_WriteProc
+(
+	ClientData clientData,
+	unsigned char *outString,
+	int outLen,
+	Tcl_Interp *interp
+);
+
+

PARAMETERS

+
+ClientData clientData
+Arbitrary information, defined during +controlblock creation. +
+unsigned char *outString
+Buffer with characters to write. +
+int outLen
+Number of characters in buffer. +
+Tcl_Interp *interp
+Interpreter for error messages +(NULL possible). +
+

DESCRIPTION

+Procedures of this type are called by an encoder/decoder to write +(partial) transformation results, decoupling the final destination +from result generation. Return value is a standard tcl error code. In +case of failure and interp not NULL an error message should be left +in the result area of the specified interpreter. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_DeleteOptions.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_DeleteOptions.html @@ -0,0 +1,95 @@ + +Trf_DeleteOptions - Interface to proceduress to delete a container made with 'Trf_CreateOptions'. + + +

NAME

+Trf_DeleteOptions - Interface to proceduress to delete a container made with 'Trf_CreateOptions'. +

SYNOPSIS

+
#include <transform.h>
+
+void Trf_DeleteOptions
+(
+	Trf_Options options,
+	ClientData clientData
+);
+
+

PARAMETERS

+
+Trf_Options options
+The container to destroy. +
+ClientData clientData
+Arbitrary information, as defined in +Trf_TypeDefinition.clientData. +
+

DESCRIPTION

+It is the responsibility of this procedure to clear and release +all memory of the specified container (which must have been +created by the corresponding procedure of type 'Trf_CreateOptions'). +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_MDFinal.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_MDFinal.html @@ -0,0 +1,94 @@ + +Trf_MDFinal - Interface to procedures for generation of the final digest from a MD state. + + +

NAME

+Trf_MDFinal - Interface to procedures for generation of the final digest from a MD state. +

SYNOPSIS

+
#include <transform.h>
+
+void Trf_MDFinal
+(
+	void *context,
+	void *digest
+);
+
+

PARAMETERS

+
+void *context
+State to finalize. +
+void *digest
+Result area to fill. +
+

DESCRIPTION

+A procedure of this type is called after processing the final character. It +is its responsibility to finalize the internal state of the MD algorithm and +to generate the resulting digest from this. +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_QueryMaxRead +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + + --- tcltrf-2.1.4-dfsg2.orig/doc/capi/html/Trf_QueryMaxRead.html +++ tcltrf-2.1.4-dfsg2/doc/capi/html/Trf_QueryMaxRead.html @@ -0,0 +1,103 @@ + +Trf_QueryMaxRead - Interface for procedures to query a transformation about the max. + + +

NAME

+Trf_QueryMaxRead - Interface for procedures to query a transformation about the max. +

SYNOPSIS

+
#include <transform.h>
+
+int Trf_QueryMaxRead
+(
+	Trf_ControlBlock ctrlBlock,
+	ClientData clientData
+);
+
+

PARAMETERS

+
+Trf_ControlBlock ctrlBlock
+State of +encoder/decoder. +
+ClientData clientData
+Arbitrary +information, as +defined in +Trf_TypeDefinition.clientData. +
+

DESCRIPTION

+ Number of bytes to read in the next call to the down channel. +This procedure will be called by the generic trf layer just before reading +data from the channel below the transformation. This way a transformation +is able to control its consumption of characters. An example would be +'identity with stop after n characters'. This would transfer at most n +characters and then basically fake higher transformations into believing +that EOF occured. Then popping it would reveal the truth. Pattern matching +could be used here too (internet protocols !). +

SEE ALSO

+Trf_Init +, +Trf_SafeInit +, +Trf_IsInitialized +, +Trf_CreateOptions +, +Trf_DeleteOptions +, +Trf_CheckOptions +, +Trf_SetOption +, +Trf_SetObjOption +, +Trf_QueryOptions +, +Trf_SeekQueryOptions +, +Trf_WriteProc +, +Trf_CreateCtrlBlock +, +Trf_DeleteCtrlBlock +, +Trf_TransformCharacter +, +Trf_TransformBuffer +, +Trf_FlushTransformation +, +Trf_ClearCtrlBlock +, +Trf_Register +, +Trf_ConverterOptions +, +Trf_MDStart +, +Trf_MDUpdate +, +Trf_MDUpdateBuf +, +Trf_MDFinal +, +Trf_MDCheck +, +Trf_RegisterMessageDigest +, +Trf_LoadLibrary +, +Trf_XorBuffer +, +Trf_ShiftRegister +, +Trf_FlipRegisterShort +, +Trf_FlipRegisterLong +, +Trf_InitStubs + + +