summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcvs2git <rtems-devel@rtems.org>2008-09-09 18:14:53 +0000
committercvs2git <rtems-devel@rtems.org>2008-09-09 18:14:53 +0000
commit59ccbe2f34e8eaaf9e3ed6025e17052b9ab9f2b4 (patch)
tree554acdef215c73a2e728b9f2190f842b5c723fef
parent2008-09-09 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-59ccbe2f34e8eaaf9e3ed6025e17052b9ab9f2b4.tar.bz2
This commit was manufactured by cvs2svn to create branch 'rtems-4-9-branch'.
Sprout from master 2008-09-09 18:14:52 UTC Joel Sherrill <joel.sherrill@OARcorp.com> '2008-09-09 Joel Sherrill <joel.sherrill@oarcorp.com>' Cherrypick from shttpd 2007-06-11 13:24:29 UTC Ralf Corsepius <ralf.corsepius@rtems.org> 'Import from shttpd-1.37.': cpukit/shttpd/auth.c cpukit/shttpd/cgi.c cpukit/shttpd/compat_unix.c cpukit/shttpd/compat_unix.h cpukit/shttpd/compat_win32.c cpukit/shttpd/compat_win32.h cpukit/shttpd/compat_wince.c cpukit/shttpd/compat_wince.h cpukit/shttpd/config.c cpukit/shttpd/io.h cpukit/shttpd/io_cgi.c cpukit/shttpd/io_dir.c cpukit/shttpd/io_emb.c cpukit/shttpd/io_file.c cpukit/shttpd/io_socket.c cpukit/shttpd/io_ssl.c cpukit/shttpd/llist.h cpukit/shttpd/md5.c cpukit/shttpd/md5.h cpukit/shttpd/mime_type.c cpukit/shttpd/shttpd.1 cpukit/shttpd/shttpd.c cpukit/shttpd/shttpd.h cpukit/shttpd/ssl.h cpukit/shttpd/standalone.c cpukit/shttpd/std_includes.h Cherrypick from B_rtems_mvme3100_bsp_slac 2007-12-14 06:30:15 UTC Till Straumann <strauman@slac.stanford.edu> ' - imported MVME3100 BSP (from SLAC repository)': c/src/lib/libbsp/powerpc/mvme3100/.cvsignore c/src/lib/libbsp/powerpc/mvme3100/KNOWN_PROBLEMS c/src/lib/libbsp/powerpc/mvme3100/LICENSE c/src/lib/libbsp/powerpc/mvme3100/README c/src/lib/libbsp/powerpc/mvme3100/bsp_specs c/src/lib/libbsp/powerpc/mvme3100/configure.ac c/src/lib/libbsp/powerpc/mvme3100/flash/flashcfg.c c/src/lib/libbsp/powerpc/mvme3100/i2c/mpc8540_i2c_busdrv.h c/src/lib/libbsp/powerpc/mvme3100/include/bspopts.h.in c/src/lib/libbsp/powerpc/mvme3100/irq/irq.h c/src/lib/libbsp/powerpc/mvme3100/network/if_tsec_pub.h c/src/lib/libbsp/powerpc/mvme3100/startup/misc.c c/src/lib/libbsp/powerpc/mvme3100/tod/todcfg.c c/src/lib/libbsp/powerpc/mvme3100/vme/VMEConfig.h Cherrypick from zlib 2005-10-28 07:22:42 UTC Ralf Corsepius <ralf.corsepius@rtems.org> 'Import of zlib-1.2.2.2.tar.gz': cpukit/zlib/FAQ cpukit/zlib/INDEX cpukit/zlib/algorithm.txt cpukit/zlib/crc32.h cpukit/zlib/inffast.h cpukit/zlib/inffixed.h cpukit/zlib/inflate.h cpukit/zlib/trees.h Cherrypick from rtemsdoc-4-5-branch 1997-05-27 12:40:10 UTC Joel Sherrill <joel.sherrill@OARcorp.com> 'base RTEMS documentation': doc/common/treedef.tex Delete: contrib/crossrpms/cygwin/.cvsignore contrib/crossrpms/cygwin/Makefile.am contrib/crossrpms/cygwin/binutils.am contrib/crossrpms/cygwin/cygwin.am contrib/crossrpms/cygwin/expat.am contrib/crossrpms/cygwin/gcc-prep.add contrib/crossrpms/cygwin/gcc.am contrib/crossrpms/cygwin/gmp.am contrib/crossrpms/cygwin/i686/.cvsignore contrib/crossrpms/cygwin/i686/Makefile.am contrib/crossrpms/cygwin/i686/binutils-sources.add contrib/crossrpms/cygwin/i686/expat.add contrib/crossrpms/cygwin/i686/gcc-sources.add contrib/crossrpms/cygwin/i686/gmp.add contrib/crossrpms/cygwin/i686/libs.add contrib/crossrpms/cygwin/i686/mpfr.add contrib/crossrpms/cygwin/i686/ncurses.add contrib/crossrpms/cygwin/i686/readline.add contrib/crossrpms/cygwin/i686/target-expat.add contrib/crossrpms/cygwin/i686/target-gmp.add contrib/crossrpms/cygwin/i686/target-libs.add contrib/crossrpms/cygwin/i686/target-mpfr.add contrib/crossrpms/cygwin/i686/target-ncurses.add contrib/crossrpms/cygwin/i686/target-readline.add contrib/crossrpms/cygwin/i686/target-termcap.add contrib/crossrpms/cygwin/i686/target-terminfo.add contrib/crossrpms/cygwin/i686/target-w32api.add contrib/crossrpms/cygwin/i686/target-zlib.add contrib/crossrpms/cygwin/i686/termcap.add contrib/crossrpms/cygwin/i686/terminfo.add contrib/crossrpms/cygwin/i686/w32api.add contrib/crossrpms/cygwin/i686/zlib.add contrib/crossrpms/cygwin/mpfr.am contrib/crossrpms/cygwin/ncurses.am contrib/crossrpms/cygwin/readline.am contrib/crossrpms/cygwin/termcap.am contrib/crossrpms/cygwin/terminfo.am contrib/crossrpms/cygwin/w32api.am contrib/crossrpms/cygwin/zlib.am contrib/crossrpms/freebsd6.2/.cvsignore contrib/crossrpms/freebsd6.2/Makefile.am contrib/crossrpms/freebsd6.2/binutils.am contrib/crossrpms/freebsd6.2/gcc-prep.add contrib/crossrpms/freebsd6.2/gcc.am contrib/crossrpms/freebsd6.2/i586/.cvsignore contrib/crossrpms/freebsd6.2/i586/Makefile.am contrib/crossrpms/freebsd6.2/i586/binutils-sources.add contrib/crossrpms/freebsd6.2/i586/gcc-sources.add contrib/crossrpms/freebsd6.2/i586/libs.add contrib/crossrpms/freebsd6.2/i586/target-libs.add contrib/crossrpms/freebsd6.3/.cvsignore contrib/crossrpms/freebsd6.3/Makefile.am contrib/crossrpms/freebsd6.3/binutils.am contrib/crossrpms/freebsd6.3/gcc-prep.add contrib/crossrpms/freebsd6.3/gcc.am contrib/crossrpms/freebsd6.3/i586/.cvsignore contrib/crossrpms/freebsd6.3/i586/Makefile.am contrib/crossrpms/freebsd6.3/i586/binutils-sources.add contrib/crossrpms/freebsd6.3/i586/gcc-sources.add contrib/crossrpms/freebsd6.3/i586/libs.add contrib/crossrpms/freebsd6.3/i586/target-libs.add contrib/crossrpms/freebsd7.0/.cvsignore contrib/crossrpms/freebsd7.0/Makefile.am contrib/crossrpms/freebsd7.0/binutils.am contrib/crossrpms/freebsd7.0/gcc-prep.add contrib/crossrpms/freebsd7.0/gcc.am contrib/crossrpms/freebsd7.0/i586/.cvsignore contrib/crossrpms/freebsd7.0/i586/Makefile.am contrib/crossrpms/freebsd7.0/i586/binutils-sources.add contrib/crossrpms/freebsd7.0/i586/gcc-sources.add contrib/crossrpms/freebsd7.0/i586/libs.add contrib/crossrpms/freebsd7.0/i586/target-libs.add contrib/crossrpms/mingw32/.cvsignore contrib/crossrpms/mingw32/Makefile.am contrib/crossrpms/mingw32/binutils.am contrib/crossrpms/mingw32/gcc-prep.add contrib/crossrpms/mingw32/gcc.am contrib/crossrpms/mingw32/i686/.cvsignore contrib/crossrpms/mingw32/i686/Makefile.am contrib/crossrpms/mingw32/i686/binutils-sources.add contrib/crossrpms/mingw32/i686/gcc-sources.add contrib/crossrpms/mingw32/i686/libs.add contrib/crossrpms/mingw32/i686/target-libs.add contrib/crossrpms/mingw32/i686/target-w32api.add contrib/crossrpms/mingw32/i686/w32api.add contrib/crossrpms/solaris2.7/.cvsignore contrib/crossrpms/solaris2.7/Makefile.am contrib/crossrpms/solaris2.7/binutils.am contrib/crossrpms/solaris2.7/gcc-prep.add contrib/crossrpms/solaris2.7/gcc.am contrib/crossrpms/solaris2.7/sparc/.cvsignore contrib/crossrpms/solaris2.7/sparc/Makefile.am contrib/crossrpms/solaris2.7/sparc/binutils-sources.add contrib/crossrpms/solaris2.7/sparc/gcc-sources.add contrib/crossrpms/solaris2.7/sparc/libs.add contrib/crossrpms/solaris2.7/sparc/target-libs.add cpukit/zlib/doc/rfc1950.txt cpukit/zlib/doc/rfc1951.txt cpukit/zlib/doc/rfc1952.txt cpukit/zlib/doc/txtvsbin.txt cpukit/zlib/examples/enough.c cpukit/zlib/examples/zran.c cpukit/zlib/old/as400/bndsrc cpukit/zlib/old/as400/compile.clp cpukit/zlib/old/as400/readme.txt cpukit/zlib/old/visualc6/README.txt cpukit/zlib/old/visualc6/example.dsp cpukit/zlib/old/visualc6/minigzip.dsp cpukit/zlib/old/visualc6/zlib.dsw cpukit/zlib/zlib.pc.in cpukit/zlib/zlib2ansi
-rw-r--r--contrib/crossrpms/cygwin/.cvsignore2
-rw-r--r--contrib/crossrpms/cygwin/Makefile.am3
-rw-r--r--contrib/crossrpms/cygwin/binutils.am31
-rw-r--r--contrib/crossrpms/cygwin/cygwin.am21
-rw-r--r--contrib/crossrpms/cygwin/expat.am21
-rw-r--r--contrib/crossrpms/cygwin/gcc-prep.add4
-rw-r--r--contrib/crossrpms/cygwin/gcc.am39
-rw-r--r--contrib/crossrpms/cygwin/gmp.am21
-rw-r--r--contrib/crossrpms/cygwin/i686/.cvsignore4
-rw-r--r--contrib/crossrpms/cygwin/i686/Makefile.am60
-rw-r--r--contrib/crossrpms/cygwin/i686/binutils-sources.add5
-rw-r--r--contrib/crossrpms/cygwin/i686/expat.add38
-rw-r--r--contrib/crossrpms/cygwin/i686/gcc-sources.add38
-rw-r--r--contrib/crossrpms/cygwin/i686/gmp.add41
-rw-r--r--contrib/crossrpms/cygwin/i686/libs.add35
-rw-r--r--contrib/crossrpms/cygwin/i686/mpfr.add41
-rw-r--r--contrib/crossrpms/cygwin/i686/ncurses.add50
-rw-r--r--contrib/crossrpms/cygwin/i686/readline.add39
-rw-r--r--contrib/crossrpms/cygwin/i686/target-expat.add6
-rw-r--r--contrib/crossrpms/cygwin/i686/target-gmp.add6
-rw-r--r--contrib/crossrpms/cygwin/i686/target-libs.add11
-rw-r--r--contrib/crossrpms/cygwin/i686/target-mpfr.add6
-rw-r--r--contrib/crossrpms/cygwin/i686/target-ncurses.add6
-rw-r--r--contrib/crossrpms/cygwin/i686/target-readline.add6
-rw-r--r--contrib/crossrpms/cygwin/i686/target-termcap.add6
-rw-r--r--contrib/crossrpms/cygwin/i686/target-terminfo.add6
-rw-r--r--contrib/crossrpms/cygwin/i686/target-w32api.add19
-rw-r--r--contrib/crossrpms/cygwin/i686/target-zlib.add6
-rw-r--r--contrib/crossrpms/cygwin/i686/termcap.add36
-rw-r--r--contrib/crossrpms/cygwin/i686/terminfo.add42
-rw-r--r--contrib/crossrpms/cygwin/i686/w32api.add38
-rw-r--r--contrib/crossrpms/cygwin/i686/zlib.add36
-rw-r--r--contrib/crossrpms/cygwin/mpfr.am22
-rw-r--r--contrib/crossrpms/cygwin/ncurses.am21
-rw-r--r--contrib/crossrpms/cygwin/readline.am21
-rw-r--r--contrib/crossrpms/cygwin/termcap.am21
-rw-r--r--contrib/crossrpms/cygwin/terminfo.am21
-rw-r--r--contrib/crossrpms/cygwin/w32api.am21
-rw-r--r--contrib/crossrpms/cygwin/zlib.am21
-rw-r--r--contrib/crossrpms/freebsd6.2/.cvsignore2
-rw-r--r--contrib/crossrpms/freebsd6.2/Makefile.am3
-rw-r--r--contrib/crossrpms/freebsd6.2/binutils.am30
-rw-r--r--contrib/crossrpms/freebsd6.2/gcc-prep.add0
-rw-r--r--contrib/crossrpms/freebsd6.2/gcc.am40
-rw-r--r--contrib/crossrpms/freebsd6.2/i586/.cvsignore4
-rw-r--r--contrib/crossrpms/freebsd6.2/i586/Makefile.am42
-rw-r--r--contrib/crossrpms/freebsd6.2/i586/binutils-sources.add5
-rw-r--r--contrib/crossrpms/freebsd6.2/i586/gcc-sources.add33
-rw-r--r--contrib/crossrpms/freebsd6.2/i586/libs.add92
-rw-r--r--contrib/crossrpms/freebsd6.2/i586/target-libs.add11
-rw-r--r--contrib/crossrpms/freebsd6.3/.cvsignore2
-rw-r--r--contrib/crossrpms/freebsd6.3/Makefile.am3
-rw-r--r--contrib/crossrpms/freebsd6.3/binutils.am30
-rw-r--r--contrib/crossrpms/freebsd6.3/gcc-prep.add0
-rw-r--r--contrib/crossrpms/freebsd6.3/gcc.am40
-rw-r--r--contrib/crossrpms/freebsd6.3/i586/.cvsignore4
-rw-r--r--contrib/crossrpms/freebsd6.3/i586/Makefile.am42
-rw-r--r--contrib/crossrpms/freebsd6.3/i586/binutils-sources.add5
-rw-r--r--contrib/crossrpms/freebsd6.3/i586/gcc-sources.add33
-rw-r--r--contrib/crossrpms/freebsd6.3/i586/libs.add94
-rw-r--r--contrib/crossrpms/freebsd6.3/i586/target-libs.add11
-rw-r--r--contrib/crossrpms/freebsd7.0/.cvsignore2
-rw-r--r--contrib/crossrpms/freebsd7.0/Makefile.am3
-rw-r--r--contrib/crossrpms/freebsd7.0/binutils.am30
-rw-r--r--contrib/crossrpms/freebsd7.0/gcc-prep.add0
-rw-r--r--contrib/crossrpms/freebsd7.0/gcc.am40
-rw-r--r--contrib/crossrpms/freebsd7.0/i586/.cvsignore4
-rw-r--r--contrib/crossrpms/freebsd7.0/i586/Makefile.am42
-rw-r--r--contrib/crossrpms/freebsd7.0/i586/binutils-sources.add5
-rw-r--r--contrib/crossrpms/freebsd7.0/i586/gcc-sources.add33
-rw-r--r--contrib/crossrpms/freebsd7.0/i586/libs.add97
-rw-r--r--contrib/crossrpms/freebsd7.0/i586/target-libs.add11
-rw-r--r--contrib/crossrpms/mingw32/.cvsignore2
-rw-r--r--contrib/crossrpms/mingw32/Makefile.am3
-rw-r--r--contrib/crossrpms/mingw32/binutils.am30
-rw-r--r--contrib/crossrpms/mingw32/gcc-prep.add0
-rw-r--r--contrib/crossrpms/mingw32/gcc.am38
-rw-r--r--contrib/crossrpms/mingw32/i686/.cvsignore4
-rw-r--r--contrib/crossrpms/mingw32/i686/Makefile.am66
-rw-r--r--contrib/crossrpms/mingw32/i686/binutils-sources.add3
-rw-r--r--contrib/crossrpms/mingw32/i686/gcc-sources.add33
-rw-r--r--contrib/crossrpms/mingw32/i686/libs.add35
-rw-r--r--contrib/crossrpms/mingw32/i686/target-libs.add11
-rw-r--r--contrib/crossrpms/mingw32/i686/target-w32api.add11
-rw-r--r--contrib/crossrpms/mingw32/i686/w32api.add35
-rw-r--r--contrib/crossrpms/solaris2.7/.cvsignore2
-rw-r--r--contrib/crossrpms/solaris2.7/Makefile.am3
-rw-r--r--contrib/crossrpms/solaris2.7/binutils.am30
-rw-r--r--contrib/crossrpms/solaris2.7/gcc-prep.add0
-rw-r--r--contrib/crossrpms/solaris2.7/gcc.am40
-rw-r--r--contrib/crossrpms/solaris2.7/sparc/.cvsignore4
-rw-r--r--contrib/crossrpms/solaris2.7/sparc/Makefile.am42
-rw-r--r--contrib/crossrpms/solaris2.7/sparc/binutils-sources.add5
-rw-r--r--contrib/crossrpms/solaris2.7/sparc/gcc-sources.add33
-rw-r--r--contrib/crossrpms/solaris2.7/sparc/libs.add38
-rw-r--r--contrib/crossrpms/solaris2.7/sparc/target-libs.add11
-rw-r--r--cpukit/zlib/doc/rfc1950.txt619
-rw-r--r--cpukit/zlib/doc/rfc1951.txt955
-rw-r--r--cpukit/zlib/doc/rfc1952.txt675
-rw-r--r--cpukit/zlib/doc/txtvsbin.txt107
-rw-r--r--cpukit/zlib/examples/enough.c569
-rw-r--r--cpukit/zlib/examples/zran.c404
-rw-r--r--cpukit/zlib/old/as400/bndsrc132
-rw-r--r--cpukit/zlib/old/as400/compile.clp123
-rw-r--r--cpukit/zlib/old/as400/readme.txt111
-rw-r--r--cpukit/zlib/old/visualc6/README.txt73
-rw-r--r--cpukit/zlib/old/visualc6/example.dsp278
-rw-r--r--cpukit/zlib/old/visualc6/minigzip.dsp278
-rw-r--r--cpukit/zlib/old/visualc6/zlib.dsw59
-rw-r--r--cpukit/zlib/zlib.pc.in12
-rwxr-xr-xcpukit/zlib/zlib2ansi152
111 files changed, 0 insertions, 6690 deletions
diff --git a/contrib/crossrpms/cygwin/.cvsignore b/contrib/crossrpms/cygwin/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/contrib/crossrpms/cygwin/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/contrib/crossrpms/cygwin/Makefile.am b/contrib/crossrpms/cygwin/Makefile.am
deleted file mode 100644
index cc27914cf0..0000000000
--- a/contrib/crossrpms/cygwin/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-# $Id$
-
-SUBDIRS = i686
diff --git a/contrib/crossrpms/cygwin/binutils.am b/contrib/crossrpms/cygwin/binutils.am
deleted file mode 100644
index 6ca8c7dba4..0000000000
--- a/contrib/crossrpms/cygwin/binutils.am
+++ /dev/null
@@ -1,31 +0,0 @@
-EXTRA_DIST += binutils-sources.add
-
-BINUTILS_OPTS =
-
-BINUTILS_SUBPACKAGES = $(top_srcdir)/common/common.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/binutils.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/prep.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/build.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/install.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/rpm-install.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/common/clean.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/target-binutils.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/base-binutils.add
-
-$(TARGET)-binutils.spec.in: $(BINUTILS_SUBPACKAGES) Makefile.am $(srcdir)/binutils-sources.add
- cat $(BINUTILS_SUBPACKAGES) | sed \
- -e "/[@]SOURCES[@]/r $(srcdir)/binutils-sources.add" \
- -e "/[@]SOURCES[@]/d" \
- | $(MKSPEC0) \
- -e "s/[@]BINUTILS_VERS[@]/$(BINUTILS_VERS)/g" \
- -e "s/[@]BINUTILS_PKGVERS[@]/$(BINUTILS_PKGVERS)/g" \
- -e "s/[@]BINUTILS_RPMREL[@]/$(BINUTILS_RPMREL)/g" \
- > $(TARGET)-binutils.spec.in
-CLEANFILES += $(TARGET)-binutils.spec.in
-
-@rpmprefix@$(TARGET)-binutils.spec: $(TARGET)-binutils.spec.in
- $(MKSPEC) $(TARGET)-binutils.spec.in | $(SPECSTRIP) $(BINUTILS_OPTS) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-binutils.spec
-noinst_DATA += @rpmprefix@$(TARGET)-binutils.spec
-
-EXTRA_DIST += $(BINUTILS_SUBPACKAGES)
diff --git a/contrib/crossrpms/cygwin/cygwin.am b/contrib/crossrpms/cygwin/cygwin.am
deleted file mode 100644
index 6c0473a925..0000000000
--- a/contrib/crossrpms/cygwin/cygwin.am
+++ /dev/null
@@ -1,21 +0,0 @@
-EXTRA_DIST += libs.add
-EXTRA_DIST += target-libs.add
-
-LIBS_SUBPACKAGES = $(top_srcdir)/common/common.add
-LIBS_SUBPACKAGES += $(srcdir)/libs.add
-LIBS_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-LIBS_SUBPACKAGES += $(top_srcdir)/common/clean.add
-LIBS_SUBPACKAGES += $(srcdir)/target-libs.add
-
-$(TARGET)-libs.spec.in: $(LIBS_SUBPACKAGES) Makefile.am
- cat $(LIBS_SUBPACKAGES) | sed \
- -e "s/[@]CYGWIN_VERS[@]/$(CYGWIN_VERS)/g" \
- -e "s/[@]CYGWIN_RPMREL[@]/$(CYGWIN_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{cygwin_rpmvers},g" \
- | $(MKSPEC0) > $(TARGET)-libs.spec.in
-CLEANFILES += $(TARGET)-libs.spec.in
-
-@rpmprefix@$(TARGET)-libs.spec: $(TARGET)-libs.spec.in
- $(MKSPEC) $(TARGET)-libs.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-libs.spec
-noinst_DATA += @rpmprefix@$(TARGET)-libs.spec
diff --git a/contrib/crossrpms/cygwin/expat.am b/contrib/crossrpms/cygwin/expat.am
deleted file mode 100644
index 3c9ae5d4e5..0000000000
--- a/contrib/crossrpms/cygwin/expat.am
+++ /dev/null
@@ -1,21 +0,0 @@
-EXTRA_DIST += target-expat.add
-EXTRA_DIST += expat.add
-
-EXPAT_SUBPACKAGES = $(top_srcdir)/common/common.add
-EXPAT_SUBPACKAGES += $(srcdir)/expat.add
-EXPAT_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-EXPAT_SUBPACKAGES += $(top_srcdir)/common/clean.add
-EXPAT_SUBPACKAGES += $(srcdir)/target-expat.add
-
-$(TARGET)-expat.spec.in: $(EXPAT_SUBPACKAGES) Makefile.am
- cat $(EXPAT_SUBPACKAGES) | sed \
- -e "s/[@]EXPAT_VERS[@]/$(EXPAT_VERS)/g" \
- -e "s/[@]EXPAT_RPMREL[@]/$(EXPAT_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{expat_rpmvers},g" \
- | $(MKSPEC0) > $(TARGET)-expat.spec.in
-CLEANFILES += $(TARGET)-expat.spec.in
-
-@rpmprefix@$(TARGET)-expat.spec: $(TARGET)-expat.spec.in
- $(MKSPEC) $(TARGET)-expat.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-expat.spec
-noinst_DATA += @rpmprefix@$(TARGET)-expat.spec
diff --git a/contrib/crossrpms/cygwin/gcc-prep.add b/contrib/crossrpms/cygwin/gcc-prep.add
deleted file mode 100644
index 4c68d1d57d..0000000000
--- a/contrib/crossrpms/cygwin/gcc-prep.add
+++ /dev/null
@@ -1,4 +0,0 @@
-# cygwin patches can't be directly applied through rpm
-cd gcc-%{gcc_pkgvers}
-patch -p1 -t < %{SOURCE70} || true
-cd ..
diff --git a/contrib/crossrpms/cygwin/gcc.am b/contrib/crossrpms/cygwin/gcc.am
deleted file mode 100644
index 026e9a8f83..0000000000
--- a/contrib/crossrpms/cygwin/gcc.am
+++ /dev/null
@@ -1,39 +0,0 @@
-EXTRA_DIST += $(srcdir)/../gcc-prep.add
-EXTRA_DIST += $(srcdir)/gcc-sources.add
-
-GCC_OPTS =
-
-GCC_SUBPACKAGES = $(top_srcdir)/common/common.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/gccnewlib.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/prep.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/build.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/install.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-GCC_SUBPACKAGES += $(top_srcdir)/common/clean.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gcc.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gcc.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-c++.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gfortran.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gfortran.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-objc.add
-
-$(TARGET)-gcc.spec.in: $(GCC_SUBPACKAGES) Makefile.am $(srcdir)/gcc-sources.add $(srcdir)/../gcc-prep.add
- cat $(GCC_SUBPACKAGES) | sed \
- -e "/[@]SOURCES[@]/r $(srcdir)/gcc-sources.add" \
- -e "/[@]SOURCES[@]/d" \
- -e "/[@]PREP[@]/r $(srcdir)/../gcc-prep.add" \
- -e "/[@]PREP[@]/d" \
- -e "s/[@]GCC_VERS[@]/$(GCC_VERS)/g" \
- -e "s/[@]GCC_PKGVERS[@]/$(GCC_PKGVERS)/g" \
- -e "s/[@]GCC_RPMREL[@]/$(GCC_RPMREL)/g" \
- -e "/^BuildRequ.*[@]tool_target[@]-w32api-sys-root/d" \
- -e "s,[@]tool_target[@]-w32api-sys-root,@tool_target@-w32api," \
- | $(MKSPEC0) > $(TARGET)-gcc.spec.in
-CLEANFILES += $(TARGET)-gcc.spec.in
-
-@rpmprefix@$(TARGET)-gcc.spec: $(TARGET)-gcc.spec.in
- $(MKSPEC) $(TARGET)-gcc.spec.in | $(SPECSTRIP) $(GCC_OPTS) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-gcc.spec
-noinst_DATA += @rpmprefix@$(TARGET)-gcc.spec
-
-EXTRA_DIST += $(GCC_SUBPACKAGES)
diff --git a/contrib/crossrpms/cygwin/gmp.am b/contrib/crossrpms/cygwin/gmp.am
deleted file mode 100644
index ab5a542a00..0000000000
--- a/contrib/crossrpms/cygwin/gmp.am
+++ /dev/null
@@ -1,21 +0,0 @@
-EXTRA_DIST += target-gmp.add
-EXTRA_DIST += gmp.add
-
-GMP_SUBPACKAGES = $(top_srcdir)/common/common.add
-GMP_SUBPACKAGES += $(srcdir)/gmp.add
-GMP_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-GMP_SUBPACKAGES += $(top_srcdir)/common/clean.add
-GMP_SUBPACKAGES += $(srcdir)/target-gmp.add
-
-$(TARGET)-gmp.spec.in: $(GMP_SUBPACKAGES) Makefile.am
- cat $(GMP_SUBPACKAGES) | sed \
- -e "s/[@]GMP_VERS[@]/$(GMP_VERS)/g" \
- -e "s/[@]GMP_RPMREL[@]/$(GMP_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{gmp_rpmvers},g" \
- | $(MKSPEC0) > $(TARGET)-gmp.spec.in
-CLEANFILES += $(TARGET)-gmp.spec.in
-
-@rpmprefix@$(TARGET)-gmp.spec: $(TARGET)-gmp.spec.in
- $(MKSPEC) $(TARGET)-gmp.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-gmp.spec
-noinst_DATA += @rpmprefix@$(TARGET)-gmp.spec
diff --git a/contrib/crossrpms/cygwin/i686/.cvsignore b/contrib/crossrpms/cygwin/i686/.cvsignore
deleted file mode 100644
index c3dcdce8bd..0000000000
--- a/contrib/crossrpms/cygwin/i686/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-Makefile
-Makefile.in
-*.spec
-*.spec.in
diff --git a/contrib/crossrpms/cygwin/i686/Makefile.am b/contrib/crossrpms/cygwin/i686/Makefile.am
deleted file mode 100644
index d2046ca528..0000000000
--- a/contrib/crossrpms/cygwin/i686/Makefile.am
+++ /dev/null
@@ -1,60 +0,0 @@
-# $Id$
-
-TARGET = i686-pc-cygwin
-
-include $(top_srcdir)/mkspec.am
-
-CYGWIN_VERS = 1.5.25-14
-CYGWIN_RPMREL = 0.20080604.1%{?dist}
-include ../cygwin.am
-
-W32API_VERS = 3.11-1
-W32API_RPMREL = 0.20080323.1%{?dist}
-include ../w32api.am
-
-NCURSES_VERS = 5.5-3
-NCURSES_RPMREL = 0.20080604.2%{?dist}
-include ../ncurses.am
-
-EXPAT_VERS = 1.95.8-2
-EXPAT_RPMREL = 0.20080323.1%{?dist}
-include ../expat.am
-
-READLINE_VERS = 5.2.12-10
-READLINE_RPMREL = 0.20080323.1%{?dist}
-include ../readline.am
-
-TERMCAP_VERS = 20050421-1
-TERMCAP_RPMREL = 0.20080323.1%{?dist}
-include ../termcap.am
-
-TERMINFO_VERS = 5.5_20061104-1
-TERMINFO_RPMREL = 0.20080604.1%{?dist}
-include ../terminfo.am
-
-ZLIB_VERS = 1.2.3-2
-ZLIB_RPMREL = 0.20080323.1%{?dist}
-include ../zlib.am
-
-GMP_VERS = 4.2.1-1
-GMP_RPMREL = 0.20080323.1%{?dist}
-include ../gmp.am
-
-MPFR_VERS = 2.2.1-1
-MPFR_RPMREL = 0.20080323.1%{?dist}
-include ../mpfr.am
-
-# Cygwin's binutils' versioning is bizarre
-# Check bfd/configure for the real version number
-BINUTILS_VERS = 2.18.50
-BINUTILS_PKGVERS = 20080523-1
-BINUTILS_RPMREL = 0.20080604.1%{?dist}
-include ../binutils.am
-BINUTILS_OPTS += --disable-infos
-
-GCC_VERS = 3.4.4
-GCC_PKGVERS = $(GCC_VERS)
-GCC_RPMREL = 0.20080604.1%{?dist}
-include ../gcc.am
-GCC_OPTS += --languages=c,cxx
-GCC_OPTS += --disable-infos
diff --git a/contrib/crossrpms/cygwin/i686/binutils-sources.add b/contrib/crossrpms/cygwin/i686/binutils-sources.add
deleted file mode 100644
index 70989ab661..0000000000
--- a/contrib/crossrpms/cygwin/i686/binutils-sources.add
+++ /dev/null
@@ -1,5 +0,0 @@
-Source0: ftp://cygwin.com/pub/cygwin/release/binutils/binutils-%{binutils_pkgvers}-src.tar.bz2
-%{?_without_sources:NoSource: 0}
-%if "%{binutils_version}" == "2.17.50"
-Patch0: binutils-2.17.50-cygwin-%{binutils_pkgvers}.diff
-%endif
diff --git a/contrib/crossrpms/cygwin/i686/expat.add b/contrib/crossrpms/cygwin/i686/expat.add
deleted file mode 100644
index 1f2e73f5aa..0000000000
--- a/contrib/crossrpms/cygwin/i686/expat.add
+++ /dev/null
@@ -1,38 +0,0 @@
-%define expat_version @EXPAT_VERS@
-%define expat_rpmvers %{expand:%(echo @EXPAT_VERS@ | tr - _)}
-
-Name: @rpmprefix@@tool_target@-expat
-Release: @EXPAT_RPMREL@
-License: GPL
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %expat_rpmvers
-Summary: Cygwin expat Libraries
-
-Source0: ftp://cygwin.com/pub/cygwin/release/expat/expat-%{expat_version}.tar.bz2
-Source1: ftp://cygwin.com/pub/cygwin/release/expat/libexpat0/libexpat0-%{expat_version}.tar.bz2
-
-Provides: @rpmprefix@@tool_target@-expat-devel = %{version}-%{release}
-
-%description
-Cygwin expat libraries.
-
-%prep
-%setup -c -q
-
-%build
- rm -rf @tool_target@
-
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root
- ( cd @tool_target@/sys-root ; %{__tar} xvjf %{SOURCE0})
- ( cd @tool_target@/sys-root ; %{__tar} xvjf %{SOURCE1})
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
diff --git a/contrib/crossrpms/cygwin/i686/gcc-sources.add b/contrib/crossrpms/cygwin/i686/gcc-sources.add
deleted file mode 100644
index d42156cde1..0000000000
--- a/contrib/crossrpms/cygwin/i686/gcc-sources.add
+++ /dev/null
@@ -1,38 +0,0 @@
-Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-core-%{gcc_pkgvers}.tar.bz2
-@PATCH0@
-%{?_without_sources:NoSource: 0}
-
-%if %build_cxx
-Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-g++-%{gcc_pkgvers}.tar.bz2
-@PATCH1@
-%{?_without_sources:NoSource: 1}
-
-%endif
-%if %build_f95
-Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-fortran-%{gcc_pkgvers}.tar.bz2
-@PATCH2@
-%{?_without_sources:NoSource: 2}
-
-%endif
-%if %build_gcj
-Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-java-%{gcc_pkgvers}.tar.bz2
-@PATCH3@
-%{?_without_sources:NoSource: 3}
-
-%endif
-%if %build_gnat
-Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-ada-%{gcc_pkgvers}.tar.bz2
-@PATCH4@
-%{?_without_sources:NoSource: 4}
-
-%endif
-%if %build_objc
-Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-objc-%{gcc_pkgvers}.tar.bz2
-@PATCH5@
-%{?_without_sources:NoSource: 5}
-%endif
-
-# Cygwin patch from
-# ftp://cygwin.com/pub/cygwin/release/gcc/gcc-core/gcc-core-3.4.4-3-src.tar.bz2
-Source70: gcc-3.4.4-3.patch
-
diff --git a/contrib/crossrpms/cygwin/i686/gmp.add b/contrib/crossrpms/cygwin/i686/gmp.add
deleted file mode 100644
index 8092c09c77..0000000000
--- a/contrib/crossrpms/cygwin/i686/gmp.add
+++ /dev/null
@@ -1,41 +0,0 @@
-%define gmp_version @GMP_VERS@
-%define gmp_rpmvers %{expand:%(echo @GMP_VERS@ | tr - _)}
-
-Name: @rpmprefix@@tool_target@-gmp
-Release: @GMP_RPMREL@
-License: GPL
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %gmp_rpmvers
-Summary: Cygwin gmp Libraries
-
-Source0: ftp://cygwin.com/pub/cygwin/release/gmp/gmp-%{gmp_version}.tar.bz2
-Source1: ftp://cygwin.com/pub/cygwin/release/gmp/libgmp3/libgmp3-%{gmp_version}.tar.bz2
-Source2: ftp://cygwin.com/pub/cygwin/release/gmp/libgmp-devel/libgmp-devel-%{gmp_version}.tar.bz2
-
-Provides: @rpmprefix@@tool_target@-gmp-devel = %{version}-%{release}
-
-%description
-Cygwin gmp libraries.
-
-%prep
-%setup -c -q
-
-%build
- rm -rf @tool_target@
-
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root
- ( cd @tool_target@/sys-root; %{__tar} xvjf %{SOURCE0})
- ( cd @tool_target@/sys-root; %{__tar} xvjf %{SOURCE1})
- ( cd @tool_target@/sys-root; %{__tar} xvjf %{SOURCE2})
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
-
diff --git a/contrib/crossrpms/cygwin/i686/libs.add b/contrib/crossrpms/cygwin/i686/libs.add
deleted file mode 100644
index 4986b5a49c..0000000000
--- a/contrib/crossrpms/cygwin/i686/libs.add
+++ /dev/null
@@ -1,35 +0,0 @@
-%define cygwin_version @CYGWIN_VERS@
-%define cygwin_rpmvers %{expand:%(echo @CYGWIN_VERS@ | tr - _)}
-
-Name: @rpmprefix@@tool_target@
-Release: @CYGWIN_RPMREL@
-License: GPL
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %cygwin_rpmvers
-Summary: @tool_target@ libraries
-
-Source0: ftp://cygwin.com/pub/cygwin/release/cygwin/cygwin-%{cygwin_version}.tar.bz2
-%{?_without_sources:NoSource: 0}
-
-%description
-@tool_target@ libraries.
-
-%prep
-%setup -c -q
-
-%build
- rm -rf @tool_target@
-
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root
- %{__tar} cf - usr/lib usr/include | ( cd @tool_target@/sys-root ; %{__tar} xf -)
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
diff --git a/contrib/crossrpms/cygwin/i686/mpfr.add b/contrib/crossrpms/cygwin/i686/mpfr.add
deleted file mode 100644
index 3887892fe4..0000000000
--- a/contrib/crossrpms/cygwin/i686/mpfr.add
+++ /dev/null
@@ -1,41 +0,0 @@
-%define mpfr_version @MPFR_VERS@
-%define mpfr_rpmvers %{expand:%(echo @MPFR_VERS@ | tr - _)}
-
-Name: @rpmprefix@@tool_target@-mpfr
-Release: @MPFR_RPMREL@
-License: GPL
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %mpfr_rpmvers
-Summary: Cygwin mpfr Libraries
-
-Source0: ftp://cygwin.com/pub/cygwin/release/mpfr/mpfr-%{mpfr_version}.tar.bz2
-Source1: ftp://cygwin.com/pub/cygwin/release/mpfr/libmpfr1/libmpfr1-%{mpfr_version}.tar.bz2
-Source2: ftp://cygwin.com/pub/cygwin/release/mpfr/libmpfr-devel/libmpfr-devel-%{mpfr_version}.tar.bz2
-
-Provides: @rpmprefix@@tool_target@-mpfr-devel = %{version}-%{release}
-
-%description
-Cygwin mpfr libraries.
-
-%prep
-%setup -c -q
-
-%build
- rm -rf @tool_target@
-
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root
- ( cd @tool_target@/sys-root; %{__tar} xvjf %{SOURCE0})
- ( cd @tool_target@/sys-root; %{__tar} xvjf %{SOURCE1})
- ( cd @tool_target@/sys-root; %{__tar} xvjf %{SOURCE2})
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
-
diff --git a/contrib/crossrpms/cygwin/i686/ncurses.add b/contrib/crossrpms/cygwin/i686/ncurses.add
deleted file mode 100644
index c8886930e7..0000000000
--- a/contrib/crossrpms/cygwin/i686/ncurses.add
+++ /dev/null
@@ -1,50 +0,0 @@
-%define ncurses_version @NCURSES_VERS@
-%define ncurses_rpmvers %{expand:%(echo @NCURSES_VERS@ | tr - _)}
-
-Name: @rpmprefix@@tool_target@-ncurses
-Release: @NCURSES_RPMREL@
-License: GPL
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %ncurses_rpmvers
-Summary: Cygwin ncurses Libraries
-
-Source0: ftp://cygwin.com/pub/cygwin/release/ncurses/ncurses-%{ncurses_version}.tar.bz2
-Source1: ftp://cygwin.com/pub/cygwin/release/ncurses/libncurses8/libncurses8-%{ncurses_version}.tar.bz2
-Source2: ftp://cygwin.com/pub/cygwin/release/ncurses/libncurses-devel/libncurses-devel-%{ncurses_version}.tar.bz2
-
-BuildRequires: @rpmprefix@@tool_target@-terminfo
-
-Provides: @rpmprefix@@tool_target@-libncurses-devel = %{version}-%{release}
-Provides: @rpmprefix@@tool_target@-ncurses-devel = %{version}-%{release}
-Requires: @rpmprefix@@tool_target@-terminfo
-
-%description
-Cygwin ncurses libraries.
-
-%prep
-%setup -c -q
-
-%build
- rm -rf @tool_target@
-
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root
- ( cd @tool_target@/sys-root ; %{__tar} xvjf %{SOURCE0})
- ( cd @tool_target@/sys-root ; %{__tar} xvjf %{SOURCE1})
- ( cd @tool_target@/sys-root ; %{__tar} xvjf %{SOURCE2})
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
- sed \
- -e "s,^prefix=.*$,prefix=$RPM_BUILD_ROOT%{_prefix}/@tool_target@/sys-root/usr," \
- < @tool_target@/sys-root/etc/postinstall/libncurses-devel.sh \
- > postinst.sh
-
- /bin/sh -x ./postinst.sh
diff --git a/contrib/crossrpms/cygwin/i686/readline.add b/contrib/crossrpms/cygwin/i686/readline.add
deleted file mode 100644
index a02d4db18c..0000000000
--- a/contrib/crossrpms/cygwin/i686/readline.add
+++ /dev/null
@@ -1,39 +0,0 @@
-%define readline_version @READLINE_VERS@
-%define readline_rpmvers %{expand:%(echo @READLINE_VERS@ | tr - _)}
-
-Name: @rpmprefix@@tool_target@-readline
-Release: @READLINE_RPMREL@
-License: GPL
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %readline_rpmvers
-Summary: Cygwin readline Libraries
-
-Source0: ftp://cygwin.com/pub/cygwin/release/readline/readline-%{readline_version}.tar.bz2
-Source1: ftp://cygwin.com/pub/cygwin/release/readline/libreadline6/libreadline6-%{readline_version}.tar.bz2
-
-Requires: @rpmprefix@@tool_target@-libncurses-devel
-Provides: @rpmprefix@@tool_target@-readline-devel = %{version}-%{release}
-
-%description
-Cygwin readline libraries.
-
-%prep
-%setup -c -q
-
-%build
- rm -rf @tool_target@
-
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root
- ( cd @tool_target@/sys-root ; %{__tar} xvjf %{SOURCE0})
- ( cd @tool_target@/sys-root ; %{__tar} xvjf %{SOURCE1})
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
diff --git a/contrib/crossrpms/cygwin/i686/target-expat.add b/contrib/crossrpms/cygwin/i686/target-expat.add
deleted file mode 100644
index 693e50e255..0000000000
--- a/contrib/crossrpms/cygwin/i686/target-expat.add
+++ /dev/null
@@ -1,6 +0,0 @@
-%files
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
-
-
diff --git a/contrib/crossrpms/cygwin/i686/target-gmp.add b/contrib/crossrpms/cygwin/i686/target-gmp.add
deleted file mode 100644
index 693e50e255..0000000000
--- a/contrib/crossrpms/cygwin/i686/target-gmp.add
+++ /dev/null
@@ -1,6 +0,0 @@
-%files
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
-
-
diff --git a/contrib/crossrpms/cygwin/i686/target-libs.add b/contrib/crossrpms/cygwin/i686/target-libs.add
deleted file mode 100644
index 0550fc7c07..0000000000
--- a/contrib/crossrpms/cygwin/i686/target-libs.add
+++ /dev/null
@@ -1,11 +0,0 @@
-%package sys-root
-Group: Development/Tools
-Summary: @tool_target@ target files for gcc >= 3.4
-
-%description sys-root
-@tool_target@ target files for gcc >= 3.4
-
-%files sys-root
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
diff --git a/contrib/crossrpms/cygwin/i686/target-mpfr.add b/contrib/crossrpms/cygwin/i686/target-mpfr.add
deleted file mode 100644
index 693e50e255..0000000000
--- a/contrib/crossrpms/cygwin/i686/target-mpfr.add
+++ /dev/null
@@ -1,6 +0,0 @@
-%files
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
-
-
diff --git a/contrib/crossrpms/cygwin/i686/target-ncurses.add b/contrib/crossrpms/cygwin/i686/target-ncurses.add
deleted file mode 100644
index 693e50e255..0000000000
--- a/contrib/crossrpms/cygwin/i686/target-ncurses.add
+++ /dev/null
@@ -1,6 +0,0 @@
-%files
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
-
-
diff --git a/contrib/crossrpms/cygwin/i686/target-readline.add b/contrib/crossrpms/cygwin/i686/target-readline.add
deleted file mode 100644
index 693e50e255..0000000000
--- a/contrib/crossrpms/cygwin/i686/target-readline.add
+++ /dev/null
@@ -1,6 +0,0 @@
-%files
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
-
-
diff --git a/contrib/crossrpms/cygwin/i686/target-termcap.add b/contrib/crossrpms/cygwin/i686/target-termcap.add
deleted file mode 100644
index 693e50e255..0000000000
--- a/contrib/crossrpms/cygwin/i686/target-termcap.add
+++ /dev/null
@@ -1,6 +0,0 @@
-%files
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
-
-
diff --git a/contrib/crossrpms/cygwin/i686/target-terminfo.add b/contrib/crossrpms/cygwin/i686/target-terminfo.add
deleted file mode 100644
index 693e50e255..0000000000
--- a/contrib/crossrpms/cygwin/i686/target-terminfo.add
+++ /dev/null
@@ -1,6 +0,0 @@
-%files
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
-
-
diff --git a/contrib/crossrpms/cygwin/i686/target-w32api.add b/contrib/crossrpms/cygwin/i686/target-w32api.add
deleted file mode 100644
index d5039f04e9..0000000000
--- a/contrib/crossrpms/cygwin/i686/target-w32api.add
+++ /dev/null
@@ -1,19 +0,0 @@
-%files
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/lib
-%{_prefix}/@tool_target@/include
-
-%package sys-root
-Group: Development/Tools
-Summary: @tool_target@ target files for gcc >= 3.4
-
-%description sys-root
-@tool_target@ target files for gcc >= 3.4
-
-%files sys-root
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
-
-
diff --git a/contrib/crossrpms/cygwin/i686/target-zlib.add b/contrib/crossrpms/cygwin/i686/target-zlib.add
deleted file mode 100644
index 693e50e255..0000000000
--- a/contrib/crossrpms/cygwin/i686/target-zlib.add
+++ /dev/null
@@ -1,6 +0,0 @@
-%files
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
-
-
diff --git a/contrib/crossrpms/cygwin/i686/termcap.add b/contrib/crossrpms/cygwin/i686/termcap.add
deleted file mode 100644
index c258ee6622..0000000000
--- a/contrib/crossrpms/cygwin/i686/termcap.add
+++ /dev/null
@@ -1,36 +0,0 @@
-%define termcap_version @TERMCAP_VERS@
-%define termcap_rpmvers %{expand:%(echo @TERMCAP_VERS@ | tr - _)}
-
-Name: @rpmprefix@@tool_target@-termcap
-Release: @TERMCAP_RPMREL@
-License: GPL
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %termcap_rpmvers
-Summary: Cygwin termcap Libraries
-
-Source0: ftp://cygwin.com/pub/cygwin/release/termcap/termcap-%{termcap_version}.tar.bz2
-
-Provides: @rpmprefix@@tool_target@-termcap-devel = %{version}-%{release}
-
-%description
-Cygwin termcap libraries.
-
-%prep
-%setup -c -q
-
-%build
- rm -rf @tool_target@
-
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root
- ( cd @tool_target@/sys-root ; %{__tar} xvjf %{SOURCE0})
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
diff --git a/contrib/crossrpms/cygwin/i686/terminfo.add b/contrib/crossrpms/cygwin/i686/terminfo.add
deleted file mode 100644
index 6c31cda285..0000000000
--- a/contrib/crossrpms/cygwin/i686/terminfo.add
+++ /dev/null
@@ -1,42 +0,0 @@
-%define terminfo_version @TERMINFO_VERS@
-%define terminfo_rpmvers %{expand:%(echo @TERMINFO_VERS@ | tr - _)}
-
-Name: @rpmprefix@@tool_target@-terminfo
-Release: @TERMINFO_RPMREL@
-License: GPL
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %terminfo_rpmvers
-Summary: Cygwin terminfo Libraries
-
-Source0: ftp://cygwin.com/pub/cygwin/release/terminfo/terminfo-%{terminfo_version}.tar.bz2
-
-Provides: @rpmprefix@@tool_target@-terminfo-devel = %{version}-%{release}
-
-%description
-Cygwin terminfo libraries.
-
-%prep
-%setup -c -q
-
-%build
- rm -rf @tool_target@
-
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root
- ( cd @tool_target@/sys-root ; %{__tar} xvjf %{SOURCE0})
- rm -f @tool_target@/sys-root/usr/share/terminfo/e/Eterm-color
- rm -f @tool_target@/sys-root/usr/share/terminfo/n/ncr260vt300wpp
- pushd @tool_target@/sys-root/usr/share/terminfo
- ln -s ../e/Eterm e/Eterm-color
- ln -s ../n/NCR260VT300WPP0 n/ncr260vt300wpp
- popd
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
diff --git a/contrib/crossrpms/cygwin/i686/w32api.add b/contrib/crossrpms/cygwin/i686/w32api.add
deleted file mode 100644
index fdd73b1a63..0000000000
--- a/contrib/crossrpms/cygwin/i686/w32api.add
+++ /dev/null
@@ -1,38 +0,0 @@
-%define w32api_version @W32API_VERS@
-%define w32api_rpmvers %{expand:%(echo @W32API_VERS@ | tr - _)}
-
-Name: @rpmprefix@@tool_target@-w32api
-Release: @W32API_RPMREL@
-License: GPL
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %w32api_rpmvers
-Summary: Cygwin w32api Libraries
-
-Source0: ftp://cygwin.com/pub/cygwin/release/w32api/w32api-%{w32api_version}.tar.bz2
-%{?_without_sources:NoSource: 0}
-
-%description
-Cygwin w32api libraries.
-
-%prep
-%setup -c -q
-
-%build
- rm -rf @tool_target@
-
- mkdir -p @tool_target@
- cp -a usr/lib usr/include @tool_target@
-
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root
- %{__tar} cf - usr/lib usr/include | ( cd @tool_target@/sys-root ; %{__tar} xf -)
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
diff --git a/contrib/crossrpms/cygwin/i686/zlib.add b/contrib/crossrpms/cygwin/i686/zlib.add
deleted file mode 100644
index a8d997d169..0000000000
--- a/contrib/crossrpms/cygwin/i686/zlib.add
+++ /dev/null
@@ -1,36 +0,0 @@
-%define zlib_version @ZLIB_VERS@
-%define zlib_rpmvers %{expand:%(echo @ZLIB_VERS@ | tr - _)}
-
-Name: @rpmprefix@@tool_target@-zlib
-Release: @ZLIB_RPMREL@
-License: GPL
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %zlib_rpmvers
-Summary: Cygwin zlib Libraries
-
-Source0: ftp://cygwin.com/pub/cygwin/release/zlib/zlib-%{zlib_version}.tar.bz2
-%{?_without_sources:NoSource: 0}
-
-%description
-Cygwin zlib libraries.
-
-%prep
-%setup -c -q
-
-%build
- rm -rf @tool_target@
-
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root
- ( cd @tool_target@/sys-root ; %{__tar} xvjf %{SOURCE0})
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
-
diff --git a/contrib/crossrpms/cygwin/mpfr.am b/contrib/crossrpms/cygwin/mpfr.am
deleted file mode 100644
index da89f57e01..0000000000
--- a/contrib/crossrpms/cygwin/mpfr.am
+++ /dev/null
@@ -1,22 +0,0 @@
-EXTRA_DIST += target-mpfr.add
-EXTRA_DIST += mpfr.add
-
-MPFR_SUBPACKAGES = $(top_srcdir)/common/common.add
-MPFR_SUBPACKAGES += $(srcdir)/mpfr.add
-MPFR_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-MPFR_SUBPACKAGES += $(top_srcdir)/common/clean.add
-MPFR_SUBPACKAGES += $(srcdir)/target-mpfr.add
-
-$(TARGET)-mpfr.spec.in: $(MPFR_SUBPACKAGES) Makefile.am
- cat $(MPFR_SUBPACKAGES) | sed \
- -e "s/[@]MPFR_VERS[@]/$(MPFR_VERS)/g" \
- -e "s/[@]MPFR_RPMREL[@]/$(MPFR_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{mpfr_rpmvers},g" \
- | $(MKSPEC0) > $(TARGET)-mpfr.spec.in
-CLEANFILES += $(TARGET)-mpfr.spec.in
-
-@rpmprefix@$(TARGET)-mpfr.spec: $(TARGET)-mpfr.spec.in
- $(MKSPEC) $(TARGET)-mpfr.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-mpfr.spec
-noinst_DATA += @rpmprefix@$(TARGET)-mpfr.spec
-
diff --git a/contrib/crossrpms/cygwin/ncurses.am b/contrib/crossrpms/cygwin/ncurses.am
deleted file mode 100644
index 32c83f0002..0000000000
--- a/contrib/crossrpms/cygwin/ncurses.am
+++ /dev/null
@@ -1,21 +0,0 @@
-EXTRA_DIST += target-ncurses.add
-EXTRA_DIST += ncurses.add
-
-NCURSES_SUBPACKAGES = $(top_srcdir)/common/common.add
-NCURSES_SUBPACKAGES += $(srcdir)/ncurses.add
-NCURSES_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-NCURSES_SUBPACKAGES += $(top_srcdir)/common/clean.add
-NCURSES_SUBPACKAGES += $(srcdir)/target-ncurses.add
-
-$(TARGET)-ncurses.spec.in: $(NCURSES_SUBPACKAGES) Makefile.am
- cat $(NCURSES_SUBPACKAGES) | sed \
- -e "s/[@]NCURSES_VERS[@]/$(NCURSES_VERS)/g" \
- -e "s/[@]NCURSES_RPMREL[@]/$(NCURSES_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{ncurses_rpmvers},g" \
- | $(MKSPEC0) > $(TARGET)-ncurses.spec.in
-CLEANFILES += $(TARGET)-ncurses.spec.in
-
-@rpmprefix@$(TARGET)-ncurses.spec: $(TARGET)-ncurses.spec.in
- $(MKSPEC) $(TARGET)-ncurses.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-ncurses.spec
-noinst_DATA += @rpmprefix@$(TARGET)-ncurses.spec
diff --git a/contrib/crossrpms/cygwin/readline.am b/contrib/crossrpms/cygwin/readline.am
deleted file mode 100644
index 585535f910..0000000000
--- a/contrib/crossrpms/cygwin/readline.am
+++ /dev/null
@@ -1,21 +0,0 @@
-EXTRA_DIST += target-readline.add
-EXTRA_DIST += readline.add
-
-READLINE_SUBPACKAGES = $(top_srcdir)/common/common.add
-READLINE_SUBPACKAGES += $(srcdir)/readline.add
-READLINE_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-READLINE_SUBPACKAGES += $(top_srcdir)/common/clean.add
-READLINE_SUBPACKAGES += $(srcdir)/target-readline.add
-
-$(TARGET)-readline.spec.in: $(READLINE_SUBPACKAGES) Makefile.am
- cat $(READLINE_SUBPACKAGES) | sed \
- -e "s/[@]READLINE_VERS[@]/$(READLINE_VERS)/g" \
- -e "s/[@]READLINE_RPMREL[@]/$(READLINE_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{readline_rpmvers},g" \
- | $(MKSPEC0) > $(TARGET)-readline.spec.in
-CLEANFILES += $(TARGET)-readline.spec.in
-
-@rpmprefix@$(TARGET)-readline.spec: $(TARGET)-readline.spec.in
- $(MKSPEC) $(TARGET)-readline.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-readline.spec
-noinst_DATA += @rpmprefix@$(TARGET)-readline.spec
diff --git a/contrib/crossrpms/cygwin/termcap.am b/contrib/crossrpms/cygwin/termcap.am
deleted file mode 100644
index d63fa28953..0000000000
--- a/contrib/crossrpms/cygwin/termcap.am
+++ /dev/null
@@ -1,21 +0,0 @@
-EXTRA_DIST += target-termcap.add
-EXTRA_DIST += termcap.add
-
-TERMCAP_SUBPACKAGES = $(top_srcdir)/common/common.add
-TERMCAP_SUBPACKAGES += $(srcdir)/termcap.add
-TERMCAP_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-TERMCAP_SUBPACKAGES += $(top_srcdir)/common/clean.add
-TERMCAP_SUBPACKAGES += $(srcdir)/target-termcap.add
-
-$(TARGET)-termcap.spec.in: $(TERMCAP_SUBPACKAGES) Makefile.am
- cat $(TERMCAP_SUBPACKAGES) | sed \
- -e "s/[@]TERMCAP_VERS[@]/$(TERMCAP_VERS)/g" \
- -e "s/[@]TERMCAP_RPMREL[@]/$(TERMCAP_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{termcap_rpmvers},g" \
- | $(MKSPEC0) > $(TARGET)-termcap.spec.in
-CLEANFILES += $(TARGET)-termcap.spec.in
-
-@rpmprefix@$(TARGET)-termcap.spec: $(TARGET)-termcap.spec.in
- $(MKSPEC) $(TARGET)-termcap.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-termcap.spec
-noinst_DATA += @rpmprefix@$(TARGET)-termcap.spec
diff --git a/contrib/crossrpms/cygwin/terminfo.am b/contrib/crossrpms/cygwin/terminfo.am
deleted file mode 100644
index 249e31e3dd..0000000000
--- a/contrib/crossrpms/cygwin/terminfo.am
+++ /dev/null
@@ -1,21 +0,0 @@
-EXTRA_DIST += target-terminfo.add
-EXTRA_DIST += terminfo.add
-
-TERMINFO_SUBPACKAGES = $(top_srcdir)/common/common.add
-TERMINFO_SUBPACKAGES += $(srcdir)/terminfo.add
-TERMINFO_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-TERMINFO_SUBPACKAGES += $(top_srcdir)/common/clean.add
-TERMINFO_SUBPACKAGES += $(srcdir)/target-terminfo.add
-
-$(TARGET)-terminfo.spec.in: $(TERMINFO_SUBPACKAGES) Makefile.am
- cat $(TERMINFO_SUBPACKAGES) | sed \
- -e "s/[@]TERMINFO_VERS[@]/$(TERMINFO_VERS)/g" \
- -e "s/[@]TERMINFO_RPMREL[@]/$(TERMINFO_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{terminfo_rpmvers},g" \
- | $(MKSPEC0) > $(TARGET)-terminfo.spec.in
-CLEANFILES += $(TARGET)-terminfo.spec.in
-
-@rpmprefix@$(TARGET)-terminfo.spec: $(TARGET)-terminfo.spec.in
- $(MKSPEC) $(TARGET)-terminfo.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-terminfo.spec
-noinst_DATA += @rpmprefix@$(TARGET)-terminfo.spec
diff --git a/contrib/crossrpms/cygwin/w32api.am b/contrib/crossrpms/cygwin/w32api.am
deleted file mode 100644
index 6f024ef13e..0000000000
--- a/contrib/crossrpms/cygwin/w32api.am
+++ /dev/null
@@ -1,21 +0,0 @@
-EXTRA_DIST += target-w32api.add
-EXTRA_DIST += w32api.add
-
-W32API_SUBPACKAGES = $(top_srcdir)/common/common.add
-W32API_SUBPACKAGES += $(srcdir)/w32api.add
-W32API_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-W32API_SUBPACKAGES += $(top_srcdir)/common/clean.add
-W32API_SUBPACKAGES += $(srcdir)/target-w32api.add
-
-$(TARGET)-w32api.spec.in: $(W32API_SUBPACKAGES) Makefile.am
- cat $(W32API_SUBPACKAGES) | sed \
- -e "s/[@]W32API_VERS[@]/$(W32API_VERS)/g" \
- -e "s/[@]W32API_RPMREL[@]/$(W32API_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{w32api_rpmvers},g" \
- | $(MKSPEC0) > $(TARGET)-w32api.spec.in
-CLEANFILES += $(TARGET)-w32api.spec.in
-
-@rpmprefix@$(TARGET)-w32api.spec: $(TARGET)-w32api.spec.in
- $(MKSPEC) $(TARGET)-w32api.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-w32api.spec
-noinst_DATA += @rpmprefix@$(TARGET)-w32api.spec
diff --git a/contrib/crossrpms/cygwin/zlib.am b/contrib/crossrpms/cygwin/zlib.am
deleted file mode 100644
index 3f773bf3af..0000000000
--- a/contrib/crossrpms/cygwin/zlib.am
+++ /dev/null
@@ -1,21 +0,0 @@
-EXTRA_DIST += target-zlib.add
-EXTRA_DIST += zlib.add
-
-ZLIB_SUBPACKAGES = $(top_srcdir)/common/common.add
-ZLIB_SUBPACKAGES += $(srcdir)/zlib.add
-ZLIB_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-ZLIB_SUBPACKAGES += $(top_srcdir)/common/clean.add
-ZLIB_SUBPACKAGES += $(srcdir)/target-zlib.add
-
-$(TARGET)-zlib.spec.in: $(ZLIB_SUBPACKAGES) Makefile.am
- cat $(ZLIB_SUBPACKAGES) | sed \
- -e "s/[@]ZLIB_VERS[@]/$(ZLIB_VERS)/g" \
- -e "s/[@]ZLIB_RPMREL[@]/$(ZLIB_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{zlib_rpmvers},g" \
- | $(MKSPEC0) > $(TARGET)-zlib.spec.in
-CLEANFILES += $(TARGET)-zlib.spec.in
-
-@rpmprefix@$(TARGET)-zlib.spec: $(TARGET)-zlib.spec.in
- $(MKSPEC) $(TARGET)-zlib.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-zlib.spec
-noinst_DATA += @rpmprefix@$(TARGET)-zlib.spec
diff --git a/contrib/crossrpms/freebsd6.2/.cvsignore b/contrib/crossrpms/freebsd6.2/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/contrib/crossrpms/freebsd6.2/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/contrib/crossrpms/freebsd6.2/Makefile.am b/contrib/crossrpms/freebsd6.2/Makefile.am
deleted file mode 100644
index 184ab637ca..0000000000
--- a/contrib/crossrpms/freebsd6.2/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-# $Id$
-
-SUBDIRS = i586
diff --git a/contrib/crossrpms/freebsd6.2/binutils.am b/contrib/crossrpms/freebsd6.2/binutils.am
deleted file mode 100644
index 2772db3784..0000000000
--- a/contrib/crossrpms/freebsd6.2/binutils.am
+++ /dev/null
@@ -1,30 +0,0 @@
-EXTRA_DIST += binutils-sources.add
-
-BINUTILS_OPTS =
-
-BINUTILS_SUBPACKAGES = $(top_srcdir)/common/common.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/binutils.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/prep.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/build.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/install.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/rpm-install.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/common/clean.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/target-binutils.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/base-binutils.add
-
-$(TARGET)-binutils.spec.in: $(BINUTILS_SUBPACKAGES) Makefile.am $(srcdir)/binutils-sources.add
- cat $(BINUTILS_SUBPACKAGES) | sed \
- -e "/[@]SOURCES[@]/r $(srcdir)/binutils-sources.add" \
- -e "/[@]SOURCES[@]/d" \
- -e "s/[@]BINUTILS_VERS[@]/$(BINUTILS_VERS)/g" \
- -e "s/[@]BINUTILS_PKGVERS[@]/$(BINUTILS_PKGVERS)/g" \
- -e "s/[@]BINUTILS_RPMREL[@]/$(BINUTILS_RPMREL)/g" \
- | $(MKSPEC0) > $(TARGET)-binutils.spec.in
-CLEANFILES += $(TARGET)-binutils.spec.in
-
-@rpmprefix@$(TARGET)-binutils.spec: $(TARGET)-binutils.spec.in
- $(MKSPEC) $(TARGET)-binutils.spec.in | $(SPECSTRIP) $(BINUTILS_OPTS) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-binutils.spec
-noinst_DATA += @rpmprefix@$(TARGET)-binutils.spec
-
-EXTRA_DIST += $(BINUTILS_SUBPACKAGES)
diff --git a/contrib/crossrpms/freebsd6.2/gcc-prep.add b/contrib/crossrpms/freebsd6.2/gcc-prep.add
deleted file mode 100644
index e69de29bb2..0000000000
--- a/contrib/crossrpms/freebsd6.2/gcc-prep.add
+++ /dev/null
diff --git a/contrib/crossrpms/freebsd6.2/gcc.am b/contrib/crossrpms/freebsd6.2/gcc.am
deleted file mode 100644
index 5114102ccb..0000000000
--- a/contrib/crossrpms/freebsd6.2/gcc.am
+++ /dev/null
@@ -1,40 +0,0 @@
-EXTRA_DIST += $(srcdir)/../gcc-prep.add
-EXTRA_DIST += $(srcdir)/gcc-sources.add
-
-GCC_OPTS =
-
-GCC_SUBPACKAGES = $(top_srcdir)/common/common.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/gccnewlib.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/prep.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/build.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/install.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-GCC_SUBPACKAGES += $(top_srcdir)/common/clean.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gcc.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gcc.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-c++.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gfortran.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gfortran.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-objc.add
-
-$(TARGET)-gcc.spec.in: $(GCC_SUBPACKAGES) Makefile.am $(srcdir)/gcc-sources.add $(srcdir)/../gcc-prep.add
- cat $(GCC_SUBPACKAGES) | sed \
- -e "/[@]SOURCES[@]/r $(srcdir)/gcc-sources.add" \
- -e "/[@]SOURCES[@]/d" \
- -e "/[@]PREP[@]/r $(srcdir)/../gcc-prep.add" \
- -e "/[@]PREP[@]/d" \
- -e "s/[@]GCC_VERS[@]/$(GCC_VERS)/g" \
- -e "s/[@]GCC_PKGVERS[@]/$(GCC_PKGVERS)/g" \
- -e "s/[@]GCC_RPMREL[@]/$(GCC_RPMREL)/g" \
- -e "/[@]tool_target[@]-newlib/d" \
- -e "/[@]tool_target[@]-w32api-sys-root/d" \
- -e "/--with-newlib/d" \
- | $(MKSPEC0) > $(TARGET)-gcc.spec.in
-CLEANFILES += $(TARGET)-gcc.spec.in
-
-@rpmprefix@$(TARGET)-gcc.spec: $(TARGET)-gcc.spec.in
- $(MKSPEC) $(TARGET)-gcc.spec.in | $(SPECSTRIP) $(GCC_OPTS) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-gcc.spec
-noinst_DATA += @rpmprefix@$(TARGET)-gcc.spec
-
-EXTRA_DIST += $(GCC_SUBPACKAGES)
diff --git a/contrib/crossrpms/freebsd6.2/i586/.cvsignore b/contrib/crossrpms/freebsd6.2/i586/.cvsignore
deleted file mode 100644
index c3dcdce8bd..0000000000
--- a/contrib/crossrpms/freebsd6.2/i586/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-Makefile
-Makefile.in
-*.spec
-*.spec.in
diff --git a/contrib/crossrpms/freebsd6.2/i586/Makefile.am b/contrib/crossrpms/freebsd6.2/i586/Makefile.am
deleted file mode 100644
index 802451fe7c..0000000000
--- a/contrib/crossrpms/freebsd6.2/i586/Makefile.am
+++ /dev/null
@@ -1,42 +0,0 @@
-# $Id$
-
-TARGET = i586-pc-freebsd6.2
-
-include $(top_srcdir)/mkspec.am
-
-FREEBSD_VERS = 6.2
-FREEBSD_RPMREL = @VERSION@
-EXTRA_DIST += libs.add
-EXTRA_DIST += target-libs.add
-
-LIBS_SUBPACKAGES = $(top_srcdir)/common/common.add
-LIBS_SUBPACKAGES += $(srcdir)/libs.add
-LIBS_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-LIBS_SUBPACKAGES += $(top_srcdir)/common/clean.add
-LIBS_SUBPACKAGES += $(srcdir)/target-libs.add
-
-$(TARGET)-libs.spec.in: $(LIBS_SUBPACKAGES) Makefile.am
- cat $(LIBS_SUBPACKAGES) | sed \
- -e "s/[@]FREEBSD_VERS[@]/$(FREEBSD_VERS)/g" \
- -e "s/[@]FREEBSD_RPMREL[@]/$(FREEBSD_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{freebsd_rpmvers},g" \
- > $(TARGET)-libs.spec.in
-CLEANFILES += $(TARGET)-libs.spec.in
-
-@rpmprefix@$(TARGET)-libs.spec: $(TARGET)-libs.spec.in
- $(MKSPEC) $(TARGET)-libs.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-libs.spec
-noinst_DATA += @rpmprefix@$(TARGET)-libs.spec
-
-
-BINUTILS_VERS = 2.18
-BINUTILS_PKGVERS = $(BINUTILS_VERS)
-BINUTILS_RPMREL = @VERSION@%{?dist}
-include ../binutils.am
-BINUTILS_OPTS +=
-
-GCC_VERS = 4.2.3
-GCC_PKGVERS = $(GCC_VERS)
-GCC_RPMREL = @VERSION@%{?dist}
-include ../gcc.am
-GCC_OPTS += --languages=c,cxx,f95,objc
diff --git a/contrib/crossrpms/freebsd6.2/i586/binutils-sources.add b/contrib/crossrpms/freebsd6.2/i586/binutils-sources.add
deleted file mode 100644
index ed6028708d..0000000000
--- a/contrib/crossrpms/freebsd6.2/i586/binutils-sources.add
+++ /dev/null
@@ -1,5 +0,0 @@
-Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2
-%{?_without_sources:NoSource: 0}
-%if "%{binutils_version}" == "2.18"
-Patch0: binutils-2.18-rtems4.9-20080211.diff
-%endif
diff --git a/contrib/crossrpms/freebsd6.2/i586/gcc-sources.add b/contrib/crossrpms/freebsd6.2/i586/gcc-sources.add
deleted file mode 100644
index a88f28b0ea..0000000000
--- a/contrib/crossrpms/freebsd6.2/i586/gcc-sources.add
+++ /dev/null
@@ -1,33 +0,0 @@
-Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-core-%{gcc_pkgvers}.tar.bz2
-@PATCH0@
-%{?_without_sources:NoSource: 0}
-
-%if %build_cxx
-Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-g++-%{gcc_pkgvers}.tar.bz2
-@PATCH1@
-%{?_without_sources:NoSource: 1}
-
-%endif
-%if %build_f95
-Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-fortran-%{gcc_pkgvers}.tar.bz2
-@PATCH2@
-%{?_without_sources:NoSource: 2}
-
-%endif
-%if %build_gcj
-Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-java-%{gcc_pkgvers}.tar.bz2
-@PATCH3@
-%{?_without_sources:NoSource: 3}
-
-%endif
-%if %build_gnat
-Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-ada-%{gcc_pkgvers}.tar.bz2
-@PATCH4@
-%{?_without_sources:NoSource: 4}
-
-%endif
-%if %build_objc
-Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-objc-%{gcc_pkgvers}.tar.bz2
-@PATCH5@
-%{?_without_sources:NoSource: 5}
-%endif
diff --git a/contrib/crossrpms/freebsd6.2/i586/libs.add b/contrib/crossrpms/freebsd6.2/i586/libs.add
deleted file mode 100644
index ec6d4bd1b4..0000000000
--- a/contrib/crossrpms/freebsd6.2/i586/libs.add
+++ /dev/null
@@ -1,92 +0,0 @@
-%define freebsd_version @FREEBSD_VERS@
-%define freebsd_rpmvers %{expand:%(echo @FREEBSD_VERS@ | tr - _)}
-
-%define _use_internal_dependency_generator 0
-%define __debug_install_post %{nil}
-
-Name: @rpmprefix@@tool_target@
-Release: @FREEBSD_RPMREL@%{?dist}
-License: FreeBSD
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %freebsd_rpmvers
-Summary: @tool_target@ Libraries
-
-Source0: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.aa
-Source1: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ab
-Source2: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ac
-Source3: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ad
-Source4: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ae
-Source5: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.af
-Source6: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ag
-Source7: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ah
-Source8: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ai
-Source9: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.aj
-Source10: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ak
-Source11: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.al
-Source12: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.am
-Source13: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.an
-Source14: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ao
-Source15: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ap
-Source16: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.aq
-Source17: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ar
-Source18: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.as
-Source19: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.at
-Source20: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.au
-Source21: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.av
-Source22: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.aw
-Source23: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ax
-Source24: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ay
-Source25: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.az
-Source26: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ba
-Source27: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.bb
-Source28: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.bc
-Source29: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.bd
-
-%description
-@tool_target@ libraries.
-
-%prep
-%setup -q -c -T -n %{name}-%{version}
-
- cat \
- %SOURCE0 %SOURCE1 %SOURCE2 %SOURCE3 %SOURCE4 \
- %SOURCE5 %SOURCE6 %SOURCE7 %SOURCE8 %SOURCE9 \
- %SOURCE10 %SOURCE11 %SOURCE12 %SOURCE13 %SOURCE14 \
- %SOURCE15 %SOURCE16 %SOURCE17 %SOURCE18 %SOURCE19 \
- %SOURCE20 %SOURCE21 %SOURCE22 %SOURCE23 %SOURCE24 \
- %SOURCE25 %SOURCE26 %SOURCE27 %SOURCE28 %SOURCE29 \
- | %{__tar} --unlink -pxzf - lib usr/lib usr/include
-
-%build
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root
- %{__tar} cf - lib usr/lib usr/include | ( cd @tool_target@/sys-root ; %{__tar} xf -)
-
- pushd @tool_target@/sys-root/usr/lib > /dev/null
- # missing files
- rm -f lib*_p.*
- # not needed
- rm -rf aout compat
-
- # Fix up symlinks
- find -type l -exec ls -l {} \; | \
- while read a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aA ; do \
- case $aA in
- /lib* ) # link
- rm $a8;
- b=`basename $aA`
- ln -s ../../lib/$b $a8
- ;;
- esac
- done
- popd > /dev/null
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
diff --git a/contrib/crossrpms/freebsd6.2/i586/target-libs.add b/contrib/crossrpms/freebsd6.2/i586/target-libs.add
deleted file mode 100644
index 0550fc7c07..0000000000
--- a/contrib/crossrpms/freebsd6.2/i586/target-libs.add
+++ /dev/null
@@ -1,11 +0,0 @@
-%package sys-root
-Group: Development/Tools
-Summary: @tool_target@ target files for gcc >= 3.4
-
-%description sys-root
-@tool_target@ target files for gcc >= 3.4
-
-%files sys-root
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
diff --git a/contrib/crossrpms/freebsd6.3/.cvsignore b/contrib/crossrpms/freebsd6.3/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/contrib/crossrpms/freebsd6.3/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/contrib/crossrpms/freebsd6.3/Makefile.am b/contrib/crossrpms/freebsd6.3/Makefile.am
deleted file mode 100644
index 184ab637ca..0000000000
--- a/contrib/crossrpms/freebsd6.3/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-# $Id$
-
-SUBDIRS = i586
diff --git a/contrib/crossrpms/freebsd6.3/binutils.am b/contrib/crossrpms/freebsd6.3/binutils.am
deleted file mode 100644
index 2772db3784..0000000000
--- a/contrib/crossrpms/freebsd6.3/binutils.am
+++ /dev/null
@@ -1,30 +0,0 @@
-EXTRA_DIST += binutils-sources.add
-
-BINUTILS_OPTS =
-
-BINUTILS_SUBPACKAGES = $(top_srcdir)/common/common.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/binutils.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/prep.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/build.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/install.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/rpm-install.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/common/clean.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/target-binutils.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/base-binutils.add
-
-$(TARGET)-binutils.spec.in: $(BINUTILS_SUBPACKAGES) Makefile.am $(srcdir)/binutils-sources.add
- cat $(BINUTILS_SUBPACKAGES) | sed \
- -e "/[@]SOURCES[@]/r $(srcdir)/binutils-sources.add" \
- -e "/[@]SOURCES[@]/d" \
- -e "s/[@]BINUTILS_VERS[@]/$(BINUTILS_VERS)/g" \
- -e "s/[@]BINUTILS_PKGVERS[@]/$(BINUTILS_PKGVERS)/g" \
- -e "s/[@]BINUTILS_RPMREL[@]/$(BINUTILS_RPMREL)/g" \
- | $(MKSPEC0) > $(TARGET)-binutils.spec.in
-CLEANFILES += $(TARGET)-binutils.spec.in
-
-@rpmprefix@$(TARGET)-binutils.spec: $(TARGET)-binutils.spec.in
- $(MKSPEC) $(TARGET)-binutils.spec.in | $(SPECSTRIP) $(BINUTILS_OPTS) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-binutils.spec
-noinst_DATA += @rpmprefix@$(TARGET)-binutils.spec
-
-EXTRA_DIST += $(BINUTILS_SUBPACKAGES)
diff --git a/contrib/crossrpms/freebsd6.3/gcc-prep.add b/contrib/crossrpms/freebsd6.3/gcc-prep.add
deleted file mode 100644
index e69de29bb2..0000000000
--- a/contrib/crossrpms/freebsd6.3/gcc-prep.add
+++ /dev/null
diff --git a/contrib/crossrpms/freebsd6.3/gcc.am b/contrib/crossrpms/freebsd6.3/gcc.am
deleted file mode 100644
index 5114102ccb..0000000000
--- a/contrib/crossrpms/freebsd6.3/gcc.am
+++ /dev/null
@@ -1,40 +0,0 @@
-EXTRA_DIST += $(srcdir)/../gcc-prep.add
-EXTRA_DIST += $(srcdir)/gcc-sources.add
-
-GCC_OPTS =
-
-GCC_SUBPACKAGES = $(top_srcdir)/common/common.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/gccnewlib.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/prep.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/build.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/install.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-GCC_SUBPACKAGES += $(top_srcdir)/common/clean.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gcc.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gcc.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-c++.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gfortran.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gfortran.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-objc.add
-
-$(TARGET)-gcc.spec.in: $(GCC_SUBPACKAGES) Makefile.am $(srcdir)/gcc-sources.add $(srcdir)/../gcc-prep.add
- cat $(GCC_SUBPACKAGES) | sed \
- -e "/[@]SOURCES[@]/r $(srcdir)/gcc-sources.add" \
- -e "/[@]SOURCES[@]/d" \
- -e "/[@]PREP[@]/r $(srcdir)/../gcc-prep.add" \
- -e "/[@]PREP[@]/d" \
- -e "s/[@]GCC_VERS[@]/$(GCC_VERS)/g" \
- -e "s/[@]GCC_PKGVERS[@]/$(GCC_PKGVERS)/g" \
- -e "s/[@]GCC_RPMREL[@]/$(GCC_RPMREL)/g" \
- -e "/[@]tool_target[@]-newlib/d" \
- -e "/[@]tool_target[@]-w32api-sys-root/d" \
- -e "/--with-newlib/d" \
- | $(MKSPEC0) > $(TARGET)-gcc.spec.in
-CLEANFILES += $(TARGET)-gcc.spec.in
-
-@rpmprefix@$(TARGET)-gcc.spec: $(TARGET)-gcc.spec.in
- $(MKSPEC) $(TARGET)-gcc.spec.in | $(SPECSTRIP) $(GCC_OPTS) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-gcc.spec
-noinst_DATA += @rpmprefix@$(TARGET)-gcc.spec
-
-EXTRA_DIST += $(GCC_SUBPACKAGES)
diff --git a/contrib/crossrpms/freebsd6.3/i586/.cvsignore b/contrib/crossrpms/freebsd6.3/i586/.cvsignore
deleted file mode 100644
index c3dcdce8bd..0000000000
--- a/contrib/crossrpms/freebsd6.3/i586/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-Makefile
-Makefile.in
-*.spec
-*.spec.in
diff --git a/contrib/crossrpms/freebsd6.3/i586/Makefile.am b/contrib/crossrpms/freebsd6.3/i586/Makefile.am
deleted file mode 100644
index e90bf3b78c..0000000000
--- a/contrib/crossrpms/freebsd6.3/i586/Makefile.am
+++ /dev/null
@@ -1,42 +0,0 @@
-# $Id$
-
-TARGET = i586-pc-freebsd6.3
-
-include $(top_srcdir)/mkspec.am
-
-FREEBSD_VERS = 6.3
-FREEBSD_RPMREL = @VERSION@
-EXTRA_DIST += libs.add
-EXTRA_DIST += target-libs.add
-
-LIBS_SUBPACKAGES = $(top_srcdir)/common/common.add
-LIBS_SUBPACKAGES += $(srcdir)/libs.add
-LIBS_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-LIBS_SUBPACKAGES += $(top_srcdir)/common/clean.add
-LIBS_SUBPACKAGES += $(srcdir)/target-libs.add
-
-$(TARGET)-libs.spec.in: $(LIBS_SUBPACKAGES) Makefile.am
- cat $(LIBS_SUBPACKAGES) | sed \
- -e "s/[@]FREEBSD_VERS[@]/$(FREEBSD_VERS)/g" \
- -e "s/[@]FREEBSD_RPMREL[@]/$(FREEBSD_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{freebsd_rpmvers},g" \
- > $(TARGET)-libs.spec.in
-CLEANFILES += $(TARGET)-libs.spec.in
-
-@rpmprefix@$(TARGET)-libs.spec: $(TARGET)-libs.spec.in
- $(MKSPEC) $(TARGET)-libs.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-libs.spec
-noinst_DATA += @rpmprefix@$(TARGET)-libs.spec
-
-
-BINUTILS_VERS = 2.18
-BINUTILS_PKGVERS = $(BINUTILS_VERS)
-BINUTILS_RPMREL = @VERSION@%{?dist}
-include ../binutils.am
-BINUTILS_OPTS +=
-
-GCC_VERS = 4.2.3
-GCC_PKGVERS = $(GCC_VERS)
-GCC_RPMREL = @VERSION@%{?dist}
-include ../gcc.am
-GCC_OPTS += --languages=c,cxx,f95,objc
diff --git a/contrib/crossrpms/freebsd6.3/i586/binutils-sources.add b/contrib/crossrpms/freebsd6.3/i586/binutils-sources.add
deleted file mode 100644
index ed6028708d..0000000000
--- a/contrib/crossrpms/freebsd6.3/i586/binutils-sources.add
+++ /dev/null
@@ -1,5 +0,0 @@
-Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2
-%{?_without_sources:NoSource: 0}
-%if "%{binutils_version}" == "2.18"
-Patch0: binutils-2.18-rtems4.9-20080211.diff
-%endif
diff --git a/contrib/crossrpms/freebsd6.3/i586/gcc-sources.add b/contrib/crossrpms/freebsd6.3/i586/gcc-sources.add
deleted file mode 100644
index a88f28b0ea..0000000000
--- a/contrib/crossrpms/freebsd6.3/i586/gcc-sources.add
+++ /dev/null
@@ -1,33 +0,0 @@
-Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-core-%{gcc_pkgvers}.tar.bz2
-@PATCH0@
-%{?_without_sources:NoSource: 0}
-
-%if %build_cxx
-Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-g++-%{gcc_pkgvers}.tar.bz2
-@PATCH1@
-%{?_without_sources:NoSource: 1}
-
-%endif
-%if %build_f95
-Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-fortran-%{gcc_pkgvers}.tar.bz2
-@PATCH2@
-%{?_without_sources:NoSource: 2}
-
-%endif
-%if %build_gcj
-Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-java-%{gcc_pkgvers}.tar.bz2
-@PATCH3@
-%{?_without_sources:NoSource: 3}
-
-%endif
-%if %build_gnat
-Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-ada-%{gcc_pkgvers}.tar.bz2
-@PATCH4@
-%{?_without_sources:NoSource: 4}
-
-%endif
-%if %build_objc
-Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-objc-%{gcc_pkgvers}.tar.bz2
-@PATCH5@
-%{?_without_sources:NoSource: 5}
-%endif
diff --git a/contrib/crossrpms/freebsd6.3/i586/libs.add b/contrib/crossrpms/freebsd6.3/i586/libs.add
deleted file mode 100644
index 4fda0de754..0000000000
--- a/contrib/crossrpms/freebsd6.3/i586/libs.add
+++ /dev/null
@@ -1,94 +0,0 @@
-%define freebsd_version @FREEBSD_VERS@
-%define freebsd_rpmvers %{expand:%(echo @FREEBSD_VERS@ | tr - _)}
-
-%define _use_internal_dependency_generator 0
-%define __debug_install_post %{nil}
-
-Name: @rpmprefix@@tool_target@
-Release: @FREEBSD_RPMREL@%{?dist}
-License: FreeBSD
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %freebsd_rpmvers
-Summary: @tool_target@ Libraries
-
-Source0: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.aa
-Source1: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ab
-Source2: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ac
-Source3: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ad
-Source4: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ae
-Source5: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.af
-Source6: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ag
-Source7: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ah
-Source8: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ai
-Source9: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.aj
-Source10: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ak
-Source11: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.al
-Source12: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.am
-Source13: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.an
-Source14: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ao
-Source15: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ap
-Source16: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.aq
-Source17: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ar
-Source18: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.as
-Source19: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.at
-Source20: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.au
-Source21: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.av
-Source22: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.aw
-Source23: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ax
-Source24: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ay
-Source25: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.az
-Source26: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ba
-Source27: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.bb
-Source28: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.bc
-Source29: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.bd
-Source30: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.be
-
-%description
-@tool_target@ libraries.
-
-%prep
-%setup -q -c -T -n %{name}-%{version}
-
- cat \
- %SOURCE0 %SOURCE1 %SOURCE2 %SOURCE3 %SOURCE4 \
- %SOURCE5 %SOURCE6 %SOURCE7 %SOURCE8 %SOURCE9 \
- %SOURCE10 %SOURCE11 %SOURCE12 %SOURCE13 %SOURCE14 \
- %SOURCE15 %SOURCE16 %SOURCE17 %SOURCE18 %SOURCE19 \
- %SOURCE20 %SOURCE21 %SOURCE22 %SOURCE23 %SOURCE24 \
- %SOURCE25 %SOURCE26 %SOURCE27 %SOURCE28 %SOURCE29 \
- %SOURCE30 \
- | %{__tar} --unlink -pxzf - ./lib ./usr/lib ./usr/include
-
-%build
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root
- %{__tar} cf - lib usr/lib usr/include | ( cd @tool_target@/sys-root ; %{__tar} xf -)
-
- pushd @tool_target@/sys-root/usr/lib > /dev/null
- # missing files
- rm -f lib*_p.*
- # not needed
- rm -rf aout compat
-
- # Fix up symlinks
- find -type l -exec ls -l {} \; | \
- while read a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aA ; do \
- case $aA in
- /lib* ) # link
- rm $a8;
- b=`basename $aA`
- ln -s ../../lib/$b $a8
- ;;
- esac
- done
- popd > /dev/null
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
diff --git a/contrib/crossrpms/freebsd6.3/i586/target-libs.add b/contrib/crossrpms/freebsd6.3/i586/target-libs.add
deleted file mode 100644
index 0550fc7c07..0000000000
--- a/contrib/crossrpms/freebsd6.3/i586/target-libs.add
+++ /dev/null
@@ -1,11 +0,0 @@
-%package sys-root
-Group: Development/Tools
-Summary: @tool_target@ target files for gcc >= 3.4
-
-%description sys-root
-@tool_target@ target files for gcc >= 3.4
-
-%files sys-root
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
diff --git a/contrib/crossrpms/freebsd7.0/.cvsignore b/contrib/crossrpms/freebsd7.0/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/contrib/crossrpms/freebsd7.0/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/contrib/crossrpms/freebsd7.0/Makefile.am b/contrib/crossrpms/freebsd7.0/Makefile.am
deleted file mode 100644
index 184ab637ca..0000000000
--- a/contrib/crossrpms/freebsd7.0/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-# $Id$
-
-SUBDIRS = i586
diff --git a/contrib/crossrpms/freebsd7.0/binutils.am b/contrib/crossrpms/freebsd7.0/binutils.am
deleted file mode 100644
index 2772db3784..0000000000
--- a/contrib/crossrpms/freebsd7.0/binutils.am
+++ /dev/null
@@ -1,30 +0,0 @@
-EXTRA_DIST += binutils-sources.add
-
-BINUTILS_OPTS =
-
-BINUTILS_SUBPACKAGES = $(top_srcdir)/common/common.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/binutils.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/prep.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/build.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/install.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/rpm-install.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/common/clean.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/target-binutils.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/base-binutils.add
-
-$(TARGET)-binutils.spec.in: $(BINUTILS_SUBPACKAGES) Makefile.am $(srcdir)/binutils-sources.add
- cat $(BINUTILS_SUBPACKAGES) | sed \
- -e "/[@]SOURCES[@]/r $(srcdir)/binutils-sources.add" \
- -e "/[@]SOURCES[@]/d" \
- -e "s/[@]BINUTILS_VERS[@]/$(BINUTILS_VERS)/g" \
- -e "s/[@]BINUTILS_PKGVERS[@]/$(BINUTILS_PKGVERS)/g" \
- -e "s/[@]BINUTILS_RPMREL[@]/$(BINUTILS_RPMREL)/g" \
- | $(MKSPEC0) > $(TARGET)-binutils.spec.in
-CLEANFILES += $(TARGET)-binutils.spec.in
-
-@rpmprefix@$(TARGET)-binutils.spec: $(TARGET)-binutils.spec.in
- $(MKSPEC) $(TARGET)-binutils.spec.in | $(SPECSTRIP) $(BINUTILS_OPTS) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-binutils.spec
-noinst_DATA += @rpmprefix@$(TARGET)-binutils.spec
-
-EXTRA_DIST += $(BINUTILS_SUBPACKAGES)
diff --git a/contrib/crossrpms/freebsd7.0/gcc-prep.add b/contrib/crossrpms/freebsd7.0/gcc-prep.add
deleted file mode 100644
index e69de29bb2..0000000000
--- a/contrib/crossrpms/freebsd7.0/gcc-prep.add
+++ /dev/null
diff --git a/contrib/crossrpms/freebsd7.0/gcc.am b/contrib/crossrpms/freebsd7.0/gcc.am
deleted file mode 100644
index 5114102ccb..0000000000
--- a/contrib/crossrpms/freebsd7.0/gcc.am
+++ /dev/null
@@ -1,40 +0,0 @@
-EXTRA_DIST += $(srcdir)/../gcc-prep.add
-EXTRA_DIST += $(srcdir)/gcc-sources.add
-
-GCC_OPTS =
-
-GCC_SUBPACKAGES = $(top_srcdir)/common/common.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/gccnewlib.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/prep.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/build.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/install.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-GCC_SUBPACKAGES += $(top_srcdir)/common/clean.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gcc.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gcc.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-c++.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gfortran.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gfortran.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-objc.add
-
-$(TARGET)-gcc.spec.in: $(GCC_SUBPACKAGES) Makefile.am $(srcdir)/gcc-sources.add $(srcdir)/../gcc-prep.add
- cat $(GCC_SUBPACKAGES) | sed \
- -e "/[@]SOURCES[@]/r $(srcdir)/gcc-sources.add" \
- -e "/[@]SOURCES[@]/d" \
- -e "/[@]PREP[@]/r $(srcdir)/../gcc-prep.add" \
- -e "/[@]PREP[@]/d" \
- -e "s/[@]GCC_VERS[@]/$(GCC_VERS)/g" \
- -e "s/[@]GCC_PKGVERS[@]/$(GCC_PKGVERS)/g" \
- -e "s/[@]GCC_RPMREL[@]/$(GCC_RPMREL)/g" \
- -e "/[@]tool_target[@]-newlib/d" \
- -e "/[@]tool_target[@]-w32api-sys-root/d" \
- -e "/--with-newlib/d" \
- | $(MKSPEC0) > $(TARGET)-gcc.spec.in
-CLEANFILES += $(TARGET)-gcc.spec.in
-
-@rpmprefix@$(TARGET)-gcc.spec: $(TARGET)-gcc.spec.in
- $(MKSPEC) $(TARGET)-gcc.spec.in | $(SPECSTRIP) $(GCC_OPTS) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-gcc.spec
-noinst_DATA += @rpmprefix@$(TARGET)-gcc.spec
-
-EXTRA_DIST += $(GCC_SUBPACKAGES)
diff --git a/contrib/crossrpms/freebsd7.0/i586/.cvsignore b/contrib/crossrpms/freebsd7.0/i586/.cvsignore
deleted file mode 100644
index c3dcdce8bd..0000000000
--- a/contrib/crossrpms/freebsd7.0/i586/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-Makefile
-Makefile.in
-*.spec
-*.spec.in
diff --git a/contrib/crossrpms/freebsd7.0/i586/Makefile.am b/contrib/crossrpms/freebsd7.0/i586/Makefile.am
deleted file mode 100644
index d460722ae0..0000000000
--- a/contrib/crossrpms/freebsd7.0/i586/Makefile.am
+++ /dev/null
@@ -1,42 +0,0 @@
-# $Id$
-
-TARGET = i586-pc-freebsd7.0
-
-include $(top_srcdir)/mkspec.am
-
-FREEBSD_VERS = 7.0
-FREEBSD_RPMREL = @VERSION@
-EXTRA_DIST += libs.add
-EXTRA_DIST += target-libs.add
-
-LIBS_SUBPACKAGES = $(top_srcdir)/common/common.add
-LIBS_SUBPACKAGES += $(srcdir)/libs.add
-LIBS_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-LIBS_SUBPACKAGES += $(top_srcdir)/common/clean.add
-LIBS_SUBPACKAGES += $(srcdir)/target-libs.add
-
-$(TARGET)-libs.spec.in: $(LIBS_SUBPACKAGES) Makefile.am
- cat $(LIBS_SUBPACKAGES) | sed \
- -e "s/[@]FREEBSD_VERS[@]/$(FREEBSD_VERS)/g" \
- -e "s/[@]FREEBSD_RPMREL[@]/$(FREEBSD_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{freebsd_rpmvers},g" \
- > $(TARGET)-libs.spec.in
-CLEANFILES += $(TARGET)-libs.spec.in
-
-@rpmprefix@$(TARGET)-libs.spec: $(TARGET)-libs.spec.in
- $(MKSPEC) $(TARGET)-libs.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-libs.spec
-noinst_DATA += @rpmprefix@$(TARGET)-libs.spec
-
-
-BINUTILS_VERS = 2.18
-BINUTILS_PKGVERS = $(BINUTILS_VERS)
-BINUTILS_RPMREL = @VERSION@%{?dist}
-include ../binutils.am
-BINUTILS_OPTS +=
-
-GCC_VERS = 4.2.3
-GCC_PKGVERS = $(GCC_VERS)
-GCC_RPMREL = @VERSION@%{?dist}
-include ../gcc.am
-GCC_OPTS += --languages=cxx,f95,objc
diff --git a/contrib/crossrpms/freebsd7.0/i586/binutils-sources.add b/contrib/crossrpms/freebsd7.0/i586/binutils-sources.add
deleted file mode 100644
index ed6028708d..0000000000
--- a/contrib/crossrpms/freebsd7.0/i586/binutils-sources.add
+++ /dev/null
@@ -1,5 +0,0 @@
-Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2
-%{?_without_sources:NoSource: 0}
-%if "%{binutils_version}" == "2.18"
-Patch0: binutils-2.18-rtems4.9-20080211.diff
-%endif
diff --git a/contrib/crossrpms/freebsd7.0/i586/gcc-sources.add b/contrib/crossrpms/freebsd7.0/i586/gcc-sources.add
deleted file mode 100644
index a88f28b0ea..0000000000
--- a/contrib/crossrpms/freebsd7.0/i586/gcc-sources.add
+++ /dev/null
@@ -1,33 +0,0 @@
-Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-core-%{gcc_pkgvers}.tar.bz2
-@PATCH0@
-%{?_without_sources:NoSource: 0}
-
-%if %build_cxx
-Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-g++-%{gcc_pkgvers}.tar.bz2
-@PATCH1@
-%{?_without_sources:NoSource: 1}
-
-%endif
-%if %build_f95
-Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-fortran-%{gcc_pkgvers}.tar.bz2
-@PATCH2@
-%{?_without_sources:NoSource: 2}
-
-%endif
-%if %build_gcj
-Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-java-%{gcc_pkgvers}.tar.bz2
-@PATCH3@
-%{?_without_sources:NoSource: 3}
-
-%endif
-%if %build_gnat
-Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-ada-%{gcc_pkgvers}.tar.bz2
-@PATCH4@
-%{?_without_sources:NoSource: 4}
-
-%endif
-%if %build_objc
-Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-objc-%{gcc_pkgvers}.tar.bz2
-@PATCH5@
-%{?_without_sources:NoSource: 5}
-%endif
diff --git a/contrib/crossrpms/freebsd7.0/i586/libs.add b/contrib/crossrpms/freebsd7.0/i586/libs.add
deleted file mode 100644
index 5c190ceebb..0000000000
--- a/contrib/crossrpms/freebsd7.0/i586/libs.add
+++ /dev/null
@@ -1,97 +0,0 @@
-%define freebsd_version @FREEBSD_VERS@
-%define freebsd_rpmvers %{expand:%(echo @FREEBSD_VERS@ | tr - _)}
-
-%define _use_internal_dependency_generator 0
-%define __debug_install_post %{nil}
-
-Name: @rpmprefix@@tool_target@
-Release: @FREEBSD_RPMREL@%{?dist}
-License: FreeBSD
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %freebsd_rpmvers
-Summary: @tool_target@ Libraries
-
-Source0: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.aa
-Source1: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ab
-Source2: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ac
-Source3: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ad
-Source4: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ae
-Source5: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.af
-Source6: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ag
-Source7: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ah
-Source8: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ai
-Source9: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.aj
-Source10: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ak
-Source11: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.al
-Source12: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.am
-Source13: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.an
-Source14: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ao
-Source15: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ap
-Source16: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.aq
-Source17: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ar
-Source18: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.as
-Source19: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.at
-Source20: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.au
-Source21: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.av
-Source22: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.aw
-Source23: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ax
-Source24: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ay
-Source25: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.az
-Source26: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.ba
-Source27: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.bb
-Source28: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.bc
-Source29: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.bd
-Source30: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.be
-Source31: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.bf
-Source32: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.bg
-Source33: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/@FREEBSD_VERS@-RELEASE/base/base.bh
-
-%description
-@tool_target@ libraries.
-
-%prep
-%setup -q -c -T -n %{name}-%{version}
-
- cat \
- %SOURCE0 %SOURCE1 %SOURCE2 %SOURCE3 %SOURCE4 \
- %SOURCE5 %SOURCE6 %SOURCE7 %SOURCE8 %SOURCE9 \
- %SOURCE10 %SOURCE11 %SOURCE12 %SOURCE13 %SOURCE14 \
- %SOURCE15 %SOURCE16 %SOURCE17 %SOURCE18 %SOURCE19 \
- %SOURCE20 %SOURCE21 %SOURCE22 %SOURCE23 %SOURCE24 \
- %SOURCE25 %SOURCE26 %SOURCE27 %SOURCE28 %SOURCE29 \
- %SOURCE30 %SOURCE31 %SOURCE32 %SOURCE33 \
- | %{__tar} --unlink -pxzf - ./lib ./usr/lib ./usr/include
-
-%build
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root
- %{__tar} cf - lib usr/lib usr/include | ( cd @tool_target@/sys-root ; %{__tar} xf -)
-
- pushd @tool_target@/sys-root/usr/lib > /dev/null
- # missing files
- rm -f lib*_p.*
- # not needed
- rm -rf aout compat
-
- # Fix up symlinks
- find -type l -exec ls -l {} \; | \
- while read a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aA ; do \
- case $aA in
- /lib* ) # link
- rm $a8;
- b=`basename $aA`
- ln -s ../../lib/$b $a8
- ;;
- esac
- done
- popd > /dev/null
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
diff --git a/contrib/crossrpms/freebsd7.0/i586/target-libs.add b/contrib/crossrpms/freebsd7.0/i586/target-libs.add
deleted file mode 100644
index 0550fc7c07..0000000000
--- a/contrib/crossrpms/freebsd7.0/i586/target-libs.add
+++ /dev/null
@@ -1,11 +0,0 @@
-%package sys-root
-Group: Development/Tools
-Summary: @tool_target@ target files for gcc >= 3.4
-
-%description sys-root
-@tool_target@ target files for gcc >= 3.4
-
-%files sys-root
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
diff --git a/contrib/crossrpms/mingw32/.cvsignore b/contrib/crossrpms/mingw32/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/contrib/crossrpms/mingw32/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/contrib/crossrpms/mingw32/Makefile.am b/contrib/crossrpms/mingw32/Makefile.am
deleted file mode 100644
index cc27914cf0..0000000000
--- a/contrib/crossrpms/mingw32/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-# $Id$
-
-SUBDIRS = i686
diff --git a/contrib/crossrpms/mingw32/binutils.am b/contrib/crossrpms/mingw32/binutils.am
deleted file mode 100644
index 2772db3784..0000000000
--- a/contrib/crossrpms/mingw32/binutils.am
+++ /dev/null
@@ -1,30 +0,0 @@
-EXTRA_DIST += binutils-sources.add
-
-BINUTILS_OPTS =
-
-BINUTILS_SUBPACKAGES = $(top_srcdir)/common/common.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/binutils.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/prep.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/build.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/install.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/rpm-install.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/common/clean.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/target-binutils.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/base-binutils.add
-
-$(TARGET)-binutils.spec.in: $(BINUTILS_SUBPACKAGES) Makefile.am $(srcdir)/binutils-sources.add
- cat $(BINUTILS_SUBPACKAGES) | sed \
- -e "/[@]SOURCES[@]/r $(srcdir)/binutils-sources.add" \
- -e "/[@]SOURCES[@]/d" \
- -e "s/[@]BINUTILS_VERS[@]/$(BINUTILS_VERS)/g" \
- -e "s/[@]BINUTILS_PKGVERS[@]/$(BINUTILS_PKGVERS)/g" \
- -e "s/[@]BINUTILS_RPMREL[@]/$(BINUTILS_RPMREL)/g" \
- | $(MKSPEC0) > $(TARGET)-binutils.spec.in
-CLEANFILES += $(TARGET)-binutils.spec.in
-
-@rpmprefix@$(TARGET)-binutils.spec: $(TARGET)-binutils.spec.in
- $(MKSPEC) $(TARGET)-binutils.spec.in | $(SPECSTRIP) $(BINUTILS_OPTS) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-binutils.spec
-noinst_DATA += @rpmprefix@$(TARGET)-binutils.spec
-
-EXTRA_DIST += $(BINUTILS_SUBPACKAGES)
diff --git a/contrib/crossrpms/mingw32/gcc-prep.add b/contrib/crossrpms/mingw32/gcc-prep.add
deleted file mode 100644
index e69de29bb2..0000000000
--- a/contrib/crossrpms/mingw32/gcc-prep.add
+++ /dev/null
diff --git a/contrib/crossrpms/mingw32/gcc.am b/contrib/crossrpms/mingw32/gcc.am
deleted file mode 100644
index 27e8650f10..0000000000
--- a/contrib/crossrpms/mingw32/gcc.am
+++ /dev/null
@@ -1,38 +0,0 @@
-EXTRA_DIST += $(srcdir)/../gcc-prep.add
-EXTRA_DIST += $(srcdir)/gcc-sources.add
-
-GCC_OPTS =
-
-GCC_SUBPACKAGES = $(top_srcdir)/common/common.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/gccnewlib.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/prep.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/build.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/install.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-GCC_SUBPACKAGES += $(top_srcdir)/common/clean.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gcc.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gcc.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-c++.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gfortran.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gfortran.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-objc.add
-
-$(TARGET)-gcc.spec.in: $(GCC_SUBPACKAGES) Makefile.am $(srcdir)/gcc-sources.add $(srcdir)/../gcc-prep.add
- cat $(GCC_SUBPACKAGES) | sed \
- -e "/[@]SOURCES[@]/r $(srcdir)/gcc-sources.add" \
- -e "/[@]SOURCES[@]/d" \
- -e "/[@]PREP[@]/r $(srcdir)/../gcc-prep.add" \
- -e "/[@]PREP[@]/d" \
- -e "s/[@]GCC_VERS[@]/$(GCC_VERS)/g" \
- -e "s/[@]GCC_PKGVERS[@]/$(GCC_PKGVERS)/g" \
- -e "s/[@]GCC_RPMREL[@]/$(GCC_RPMREL)/g" \
- -e "/[@]tool_target[@]-newlib/d" \
- | $(MKSPEC0) > $(TARGET)-gcc.spec.in
-CLEANFILES += $(TARGET)-gcc.spec.in
-
-@rpmprefix@$(TARGET)-gcc.spec: $(TARGET)-gcc.spec.in
- $(MKSPEC) $(TARGET)-gcc.spec.in | $(SPECSTRIP) $(GCC_OPTS) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-gcc.spec
-noinst_DATA += @rpmprefix@$(TARGET)-gcc.spec
-
-EXTRA_DIST += $(GCC_SUBPACKAGES)
diff --git a/contrib/crossrpms/mingw32/i686/.cvsignore b/contrib/crossrpms/mingw32/i686/.cvsignore
deleted file mode 100644
index c3dcdce8bd..0000000000
--- a/contrib/crossrpms/mingw32/i686/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-Makefile
-Makefile.in
-*.spec
-*.spec.in
diff --git a/contrib/crossrpms/mingw32/i686/Makefile.am b/contrib/crossrpms/mingw32/i686/Makefile.am
deleted file mode 100644
index 7b7caffd08..0000000000
--- a/contrib/crossrpms/mingw32/i686/Makefile.am
+++ /dev/null
@@ -1,66 +0,0 @@
-# $Id$
-
-TARGET = i686-pc-mingw32
-
-include $(top_srcdir)/mkspec.am
-
-MINGW32_VERS = 3.11
-MINGW32_RPMREL = 1
-EXTRA_DIST += libs.add
-EXTRA_DIST += target-libs.add
-
-LIBS_SUBPACKAGES = $(top_srcdir)/common/common.add
-LIBS_SUBPACKAGES += $(srcdir)/libs.add
-LIBS_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-LIBS_SUBPACKAGES += $(top_srcdir)/common/clean.add
-LIBS_SUBPACKAGES += $(srcdir)/target-libs.add
-
-$(TARGET)-libs.spec.in: $(LIBS_SUBPACKAGES) Makefile.am
- cat $(LIBS_SUBPACKAGES) | sed \
- -e "s/[@]MINGW32_VERS[@]/$(MINGW32_VERS)/g" \
- -e "s/[@]MINGW32_RPMREL[@]/$(MINGW32_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{mingw32_rpmvers},g" \
- > $(TARGET)-libs.spec.in
-CLEANFILES += $(TARGET)-libs.spec.in
-
-@rpmprefix@$(TARGET)-libs.spec: $(TARGET)-libs.spec.in
- $(MKSPEC) $(TARGET)-libs.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-libs.spec
-noinst_DATA += @rpmprefix@$(TARGET)-libs.spec
-
-W32API_VERS = 3.8
-W32API_RPMREL = 1
-EXTRA_DIST += target-w32api.add
-EXTRA_DIST += w32api.add
-
-W32API_SUBPACKAGES = $(top_srcdir)/common/common.add
-W32API_SUBPACKAGES += $(srcdir)/w32api.add
-W32API_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-W32API_SUBPACKAGES += $(top_srcdir)/common/clean.add
-W32API_SUBPACKAGES += $(srcdir)/target-w32api.add
-
-$(TARGET)-w32api.spec.in: $(W32API_SUBPACKAGES) Makefile.am
- cat $(W32API_SUBPACKAGES) | sed \
- -e "s/[@]W32API_VERS[@]/$(W32API_VERS)/g" \
- -e "s/[@]W32API_RPMREL[@]/$(W32API_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{w32api_rpmvers},g" \
- > $(TARGET)-w32api.spec.in
-CLEANFILES += $(TARGET)-w32api.spec.in
-
-@rpmprefix@$(TARGET)-w32api.spec: $(TARGET)-w32api.spec.in
- $(MKSPEC) $(TARGET)-w32api.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-w32api.spec
-noinst_DATA += @rpmprefix@$(TARGET)-w32api.spec
-
-
-BINUTILS_VERS = 2.16.91-20060119-1
-BINUTILS_PKGVERS = $(BINUTILS_VERS)
-BINUTILS_RPMREL = 1%{?dist}
-include ../binutils.am
-BINUTILS_OPTS += --disable-infos
-
-GCC_VERS = 4.1.0
-GCC_PKGVERS = $(GCC_VERS)
-GCC_RPMREL = @VERSION@%{?dist}
-include ../gcc.am
-GCC_OPTS += --languages=c
diff --git a/contrib/crossrpms/mingw32/i686/binutils-sources.add b/contrib/crossrpms/mingw32/i686/binutils-sources.add
deleted file mode 100644
index 96aa05a7ed..0000000000
--- a/contrib/crossrpms/mingw32/i686/binutils-sources.add
+++ /dev/null
@@ -1,3 +0,0 @@
-Source0: http://downloads.sourceforge.net/mingw/binutils-%{binutils_pkgvers}-src.tar.gz
-%{?_without_sources:NoSource: 0}
-@PATCH0@
diff --git a/contrib/crossrpms/mingw32/i686/gcc-sources.add b/contrib/crossrpms/mingw32/i686/gcc-sources.add
deleted file mode 100644
index a88f28b0ea..0000000000
--- a/contrib/crossrpms/mingw32/i686/gcc-sources.add
+++ /dev/null
@@ -1,33 +0,0 @@
-Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-core-%{gcc_pkgvers}.tar.bz2
-@PATCH0@
-%{?_without_sources:NoSource: 0}
-
-%if %build_cxx
-Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-g++-%{gcc_pkgvers}.tar.bz2
-@PATCH1@
-%{?_without_sources:NoSource: 1}
-
-%endif
-%if %build_f95
-Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-fortran-%{gcc_pkgvers}.tar.bz2
-@PATCH2@
-%{?_without_sources:NoSource: 2}
-
-%endif
-%if %build_gcj
-Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-java-%{gcc_pkgvers}.tar.bz2
-@PATCH3@
-%{?_without_sources:NoSource: 3}
-
-%endif
-%if %build_gnat
-Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-ada-%{gcc_pkgvers}.tar.bz2
-@PATCH4@
-%{?_without_sources:NoSource: 4}
-
-%endif
-%if %build_objc
-Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-objc-%{gcc_pkgvers}.tar.bz2
-@PATCH5@
-%{?_without_sources:NoSource: 5}
-%endif
diff --git a/contrib/crossrpms/mingw32/i686/libs.add b/contrib/crossrpms/mingw32/i686/libs.add
deleted file mode 100644
index d916dae268..0000000000
--- a/contrib/crossrpms/mingw32/i686/libs.add
+++ /dev/null
@@ -1,35 +0,0 @@
-%define mingw32_version @MINGW32_VERS@
-%define mingw32_rpmvers %{expand:%(echo @MINGW32_VERS@ | tr - _)}
-
-Name: @rpmprefix@@tool_target@
-Release: @MINGW32_RPMREL@%{?dist}
-License: GPL
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %mingw32_rpmvers
-Summary: MinGW Libraries
-
-Source0: http://downloads.sourceforge.net/mingw/mingw-runtime-%{mingw32_version}.tar.gz
-%{?_without_sources:NoSource: 0}
-
-%description
-Mingw libraries.
-
-%prep
-%setup -c -q
-
-%build
- rm -rf @tool_target@
-
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root/mingw
- cp -a include lib @tool_target@/sys-root/mingw
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
diff --git a/contrib/crossrpms/mingw32/i686/target-libs.add b/contrib/crossrpms/mingw32/i686/target-libs.add
deleted file mode 100644
index 0550fc7c07..0000000000
--- a/contrib/crossrpms/mingw32/i686/target-libs.add
+++ /dev/null
@@ -1,11 +0,0 @@
-%package sys-root
-Group: Development/Tools
-Summary: @tool_target@ target files for gcc >= 3.4
-
-%description sys-root
-@tool_target@ target files for gcc >= 3.4
-
-%files sys-root
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
diff --git a/contrib/crossrpms/mingw32/i686/target-w32api.add b/contrib/crossrpms/mingw32/i686/target-w32api.add
deleted file mode 100644
index 0550fc7c07..0000000000
--- a/contrib/crossrpms/mingw32/i686/target-w32api.add
+++ /dev/null
@@ -1,11 +0,0 @@
-%package sys-root
-Group: Development/Tools
-Summary: @tool_target@ target files for gcc >= 3.4
-
-%description sys-root
-@tool_target@ target files for gcc >= 3.4
-
-%files sys-root
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
diff --git a/contrib/crossrpms/mingw32/i686/w32api.add b/contrib/crossrpms/mingw32/i686/w32api.add
deleted file mode 100644
index 46c28b2d22..0000000000
--- a/contrib/crossrpms/mingw32/i686/w32api.add
+++ /dev/null
@@ -1,35 +0,0 @@
-%define w32api_version @W32API_VERS@
-%define w32api_rpmvers %{expand:%(echo @W32API_VERS@ | tr - _)}
-
-Name: @rpmprefix@@tool_target@-w32api
-Release: @W32API_RPMREL@%{?dist}
-License: GPL
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %w32api_rpmvers
-Summary: MinGW Libraries
-
-Source0: http://downloads.sourceforge.net/mingw/w32api-%{w32api_version}.tar.gz
-%{?_without_sources:NoSource: 0}
-
-%description
-Mingw libraries.
-
-%prep
-%setup -c -q
-
-%build
- rm -rf @tool_target@
-
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root/mingw
- cp -a include lib @tool_target@/sys-root/mingw
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
diff --git a/contrib/crossrpms/solaris2.7/.cvsignore b/contrib/crossrpms/solaris2.7/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/contrib/crossrpms/solaris2.7/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/contrib/crossrpms/solaris2.7/Makefile.am b/contrib/crossrpms/solaris2.7/Makefile.am
deleted file mode 100644
index b34d2a36b7..0000000000
--- a/contrib/crossrpms/solaris2.7/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-# $Id$
-
-SUBDIRS = sparc
diff --git a/contrib/crossrpms/solaris2.7/binutils.am b/contrib/crossrpms/solaris2.7/binutils.am
deleted file mode 100644
index 2772db3784..0000000000
--- a/contrib/crossrpms/solaris2.7/binutils.am
+++ /dev/null
@@ -1,30 +0,0 @@
-EXTRA_DIST += binutils-sources.add
-
-BINUTILS_OPTS =
-
-BINUTILS_SUBPACKAGES = $(top_srcdir)/common/common.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/binutils.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/prep.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/build.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/install.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/rpm-install.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/common/clean.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/target-binutils.add
-BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/base-binutils.add
-
-$(TARGET)-binutils.spec.in: $(BINUTILS_SUBPACKAGES) Makefile.am $(srcdir)/binutils-sources.add
- cat $(BINUTILS_SUBPACKAGES) | sed \
- -e "/[@]SOURCES[@]/r $(srcdir)/binutils-sources.add" \
- -e "/[@]SOURCES[@]/d" \
- -e "s/[@]BINUTILS_VERS[@]/$(BINUTILS_VERS)/g" \
- -e "s/[@]BINUTILS_PKGVERS[@]/$(BINUTILS_PKGVERS)/g" \
- -e "s/[@]BINUTILS_RPMREL[@]/$(BINUTILS_RPMREL)/g" \
- | $(MKSPEC0) > $(TARGET)-binutils.spec.in
-CLEANFILES += $(TARGET)-binutils.spec.in
-
-@rpmprefix@$(TARGET)-binutils.spec: $(TARGET)-binutils.spec.in
- $(MKSPEC) $(TARGET)-binutils.spec.in | $(SPECSTRIP) $(BINUTILS_OPTS) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-binutils.spec
-noinst_DATA += @rpmprefix@$(TARGET)-binutils.spec
-
-EXTRA_DIST += $(BINUTILS_SUBPACKAGES)
diff --git a/contrib/crossrpms/solaris2.7/gcc-prep.add b/contrib/crossrpms/solaris2.7/gcc-prep.add
deleted file mode 100644
index e69de29bb2..0000000000
--- a/contrib/crossrpms/solaris2.7/gcc-prep.add
+++ /dev/null
diff --git a/contrib/crossrpms/solaris2.7/gcc.am b/contrib/crossrpms/solaris2.7/gcc.am
deleted file mode 100644
index 5114102ccb..0000000000
--- a/contrib/crossrpms/solaris2.7/gcc.am
+++ /dev/null
@@ -1,40 +0,0 @@
-EXTRA_DIST += $(srcdir)/../gcc-prep.add
-EXTRA_DIST += $(srcdir)/gcc-sources.add
-
-GCC_OPTS =
-
-GCC_SUBPACKAGES = $(top_srcdir)/common/common.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/gccnewlib.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/prep.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/build.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/install.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-GCC_SUBPACKAGES += $(top_srcdir)/common/clean.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gcc.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gcc.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-c++.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gfortran.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gfortran.add
-GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-objc.add
-
-$(TARGET)-gcc.spec.in: $(GCC_SUBPACKAGES) Makefile.am $(srcdir)/gcc-sources.add $(srcdir)/../gcc-prep.add
- cat $(GCC_SUBPACKAGES) | sed \
- -e "/[@]SOURCES[@]/r $(srcdir)/gcc-sources.add" \
- -e "/[@]SOURCES[@]/d" \
- -e "/[@]PREP[@]/r $(srcdir)/../gcc-prep.add" \
- -e "/[@]PREP[@]/d" \
- -e "s/[@]GCC_VERS[@]/$(GCC_VERS)/g" \
- -e "s/[@]GCC_PKGVERS[@]/$(GCC_PKGVERS)/g" \
- -e "s/[@]GCC_RPMREL[@]/$(GCC_RPMREL)/g" \
- -e "/[@]tool_target[@]-newlib/d" \
- -e "/[@]tool_target[@]-w32api-sys-root/d" \
- -e "/--with-newlib/d" \
- | $(MKSPEC0) > $(TARGET)-gcc.spec.in
-CLEANFILES += $(TARGET)-gcc.spec.in
-
-@rpmprefix@$(TARGET)-gcc.spec: $(TARGET)-gcc.spec.in
- $(MKSPEC) $(TARGET)-gcc.spec.in | $(SPECSTRIP) $(GCC_OPTS) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-gcc.spec
-noinst_DATA += @rpmprefix@$(TARGET)-gcc.spec
-
-EXTRA_DIST += $(GCC_SUBPACKAGES)
diff --git a/contrib/crossrpms/solaris2.7/sparc/.cvsignore b/contrib/crossrpms/solaris2.7/sparc/.cvsignore
deleted file mode 100644
index c3dcdce8bd..0000000000
--- a/contrib/crossrpms/solaris2.7/sparc/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-Makefile
-Makefile.in
-*.spec
-*.spec.in
diff --git a/contrib/crossrpms/solaris2.7/sparc/Makefile.am b/contrib/crossrpms/solaris2.7/sparc/Makefile.am
deleted file mode 100644
index ea61b052b1..0000000000
--- a/contrib/crossrpms/solaris2.7/sparc/Makefile.am
+++ /dev/null
@@ -1,42 +0,0 @@
-# $Id$
-
-TARGET = sparc-sun-solaris2.7
-
-include $(top_srcdir)/mkspec.am
-
-SOLARIS_VERS = 2.7
-SOLARIS_RPMREL = @VERSION@
-EXTRA_DIST += libs.add
-EXTRA_DIST += target-libs.add
-
-LIBS_SUBPACKAGES = $(top_srcdir)/common/common.add
-LIBS_SUBPACKAGES += $(srcdir)/libs.add
-LIBS_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
-LIBS_SUBPACKAGES += $(top_srcdir)/common/clean.add
-LIBS_SUBPACKAGES += $(srcdir)/target-libs.add
-
-$(TARGET)-libs.spec.in: $(LIBS_SUBPACKAGES) Makefile.am
- cat $(LIBS_SUBPACKAGES) | sed \
- -e "s/[@]SOLARIS_VERS[@]/$(SOLARIS_VERS)/g" \
- -e "s/[@]SOLARIS_RPMREL[@]/$(SOLARIS_RPMREL)/g" \
- -e "s,%{gcc_rpmvers},%{solaris_rpmvers},g" \
- > $(TARGET)-libs.spec.in
-CLEANFILES += $(TARGET)-libs.spec.in
-
-@rpmprefix@$(TARGET)-libs.spec: $(TARGET)-libs.spec.in
- $(MKSPEC) $(TARGET)-libs.spec.in | $(SPECSTRIP) > $@
-CLEANFILES += @rpmprefix@$(TARGET)-libs.spec
-noinst_DATA += @rpmprefix@$(TARGET)-libs.spec
-
-
-BINUTILS_VERS = 2.18
-BINUTILS_PKGVERS = $(BINUTILS_VERS)
-BINUTILS_RPMREL = @VERSION@%{?dist}
-include ../binutils.am
-BINUTILS_OPTS +=
-
-GCC_VERS = 4.2.3
-GCC_PKGVERS = $(GCC_VERS)
-GCC_RPMREL = @VERSION@%{?dist}
-include ../gcc.am
-GCC_OPTS += --languages=c,cxx,f95,objc
diff --git a/contrib/crossrpms/solaris2.7/sparc/binutils-sources.add b/contrib/crossrpms/solaris2.7/sparc/binutils-sources.add
deleted file mode 100644
index ed6028708d..0000000000
--- a/contrib/crossrpms/solaris2.7/sparc/binutils-sources.add
+++ /dev/null
@@ -1,5 +0,0 @@
-Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2
-%{?_without_sources:NoSource: 0}
-%if "%{binutils_version}" == "2.18"
-Patch0: binutils-2.18-rtems4.9-20080211.diff
-%endif
diff --git a/contrib/crossrpms/solaris2.7/sparc/gcc-sources.add b/contrib/crossrpms/solaris2.7/sparc/gcc-sources.add
deleted file mode 100644
index a88f28b0ea..0000000000
--- a/contrib/crossrpms/solaris2.7/sparc/gcc-sources.add
+++ /dev/null
@@ -1,33 +0,0 @@
-Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-core-%{gcc_pkgvers}.tar.bz2
-@PATCH0@
-%{?_without_sources:NoSource: 0}
-
-%if %build_cxx
-Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-g++-%{gcc_pkgvers}.tar.bz2
-@PATCH1@
-%{?_without_sources:NoSource: 1}
-
-%endif
-%if %build_f95
-Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-fortran-%{gcc_pkgvers}.tar.bz2
-@PATCH2@
-%{?_without_sources:NoSource: 2}
-
-%endif
-%if %build_gcj
-Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-java-%{gcc_pkgvers}.tar.bz2
-@PATCH3@
-%{?_without_sources:NoSource: 3}
-
-%endif
-%if %build_gnat
-Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-ada-%{gcc_pkgvers}.tar.bz2
-@PATCH4@
-%{?_without_sources:NoSource: 4}
-
-%endif
-%if %build_objc
-Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-objc-%{gcc_pkgvers}.tar.bz2
-@PATCH5@
-%{?_without_sources:NoSource: 5}
-%endif
diff --git a/contrib/crossrpms/solaris2.7/sparc/libs.add b/contrib/crossrpms/solaris2.7/sparc/libs.add
deleted file mode 100644
index f0d20035b3..0000000000
--- a/contrib/crossrpms/solaris2.7/sparc/libs.add
+++ /dev/null
@@ -1,38 +0,0 @@
-%define solaris_version @SOLARIS_VERS@
-%define solaris_rpmvers %{expand:%(echo @SOLARIS_VERS@ | tr - _)}
-
-%define _use_internal_dependency_generator 0
-%define __debug_install_post %{nil}
-
-Name: @rpmprefix@@tool_target@
-Release: @SOLARIS_RPMREL@%{?dist}
-License: Sun Microsystems
-Group: Development/Tools
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-
-Version: %solaris_rpmvers
-Summary: @tool_target@ Libraries
-
-Source0: sparc-sun-solaris2.7-libs-%{solaris_version}.tar.bz2
-%{?_without_sources:NoSource: 0}
-
-%description
-@tool_target@ libraries.
-
-%prep
-%setup -c -q
-
-%build
- rm -rf @tool_target@
-
- # Setup sys-root (Usable for gcc >= 3.4)
- mkdir -p @tool_target@/sys-root
- %{__tar} cf - usr/lib usr/include lib | ( cd @tool_target@/sys-root ; %{__tar} xf -)
-
-%install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_prefix}
- cp -a @tool_target@ $RPM_BUILD_ROOT%{_prefix}
-
diff --git a/contrib/crossrpms/solaris2.7/sparc/target-libs.add b/contrib/crossrpms/solaris2.7/sparc/target-libs.add
deleted file mode 100644
index 0550fc7c07..0000000000
--- a/contrib/crossrpms/solaris2.7/sparc/target-libs.add
+++ /dev/null
@@ -1,11 +0,0 @@
-%package sys-root
-Group: Development/Tools
-Summary: @tool_target@ target files for gcc >= 3.4
-
-%description sys-root
-@tool_target@ target files for gcc >= 3.4
-
-%files sys-root
-%defattr(-,root,root,-)
-%dir %{_prefix}/@tool_target@
-%{_prefix}/@tool_target@/sys-root
diff --git a/cpukit/zlib/doc/rfc1950.txt b/cpukit/zlib/doc/rfc1950.txt
deleted file mode 100644
index ce6428a0f2..0000000000
--- a/cpukit/zlib/doc/rfc1950.txt
+++ /dev/null
@@ -1,619 +0,0 @@
-
-
-
-
-
-
-Network Working Group P. Deutsch
-Request for Comments: 1950 Aladdin Enterprises
-Category: Informational J-L. Gailly
- Info-ZIP
- May 1996
-
-
- ZLIB Compressed Data Format Specification version 3.3
-
-Status of This Memo
-
- This memo provides information for the Internet community. This memo
- does not specify an Internet standard of any kind. Distribution of
- this memo is unlimited.
-
-IESG Note:
-
- The IESG takes no position on the validity of any Intellectual
- Property Rights statements contained in this document.
-
-Notices
-
- Copyright (c) 1996 L. Peter Deutsch and Jean-Loup Gailly
-
- Permission is granted to copy and distribute this document for any
- purpose and without charge, including translations into other
- languages and incorporation into compilations, provided that the
- copyright notice and this notice are preserved, and that any
- substantive changes or deletions from the original are clearly
- marked.
-
- A pointer to the latest version of this and related documentation in
- HTML format can be found at the URL
- <ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html>.
-
-Abstract
-
- This specification defines a lossless compressed data format. The
- data can be produced or consumed, even for an arbitrarily long
- sequentially presented input data stream, using only an a priori
- bounded amount of intermediate storage. The format presently uses
- the DEFLATE compression method but can be easily extended to use
- other compression methods. It can be implemented readily in a manner
- not covered by patents. This specification also defines the ADLER-32
- checksum (an extension and improvement of the Fletcher checksum),
- used for detection of data corruption, and provides an algorithm for
- computing it.
-
-
-
-
-Deutsch & Gailly Informational [Page 1]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
-Table of Contents
-
- 1. Introduction ................................................... 2
- 1.1. Purpose ................................................... 2
- 1.2. Intended audience ......................................... 3
- 1.3. Scope ..................................................... 3
- 1.4. Compliance ................................................ 3
- 1.5. Definitions of terms and conventions used ................ 3
- 1.6. Changes from previous versions ............................ 3
- 2. Detailed specification ......................................... 3
- 2.1. Overall conventions ....................................... 3
- 2.2. Data format ............................................... 4
- 2.3. Compliance ................................................ 7
- 3. References ..................................................... 7
- 4. Source code .................................................... 8
- 5. Security Considerations ........................................ 8
- 6. Acknowledgements ............................................... 8
- 7. Authors' Addresses ............................................. 8
- 8. Appendix: Rationale ............................................ 9
- 9. Appendix: Sample code ..........................................10
-
-1. Introduction
-
- 1.1. Purpose
-
- The purpose of this specification is to define a lossless
- compressed data format that:
-
- * Is independent of CPU type, operating system, file system,
- and character set, and hence can be used for interchange;
-
- * Can be produced or consumed, even for an arbitrarily long
- sequentially presented input data stream, using only an a
- priori bounded amount of intermediate storage, and hence can
- be used in data communications or similar structures such as
- Unix filters;
-
- * Can use a number of different compression methods;
-
- * Can be implemented readily in a manner not covered by
- patents, and hence can be practiced freely.
-
- The data format defined by this specification does not attempt to
- allow random access to compressed data.
-
-
-
-
-
-
-
-Deutsch & Gailly Informational [Page 2]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
- 1.2. Intended audience
-
- This specification is intended for use by implementors of software
- to compress data into zlib format and/or decompress data from zlib
- format.
-
- The text of the specification assumes a basic background in
- programming at the level of bits and other primitive data
- representations.
-
- 1.3. Scope
-
- The specification specifies a compressed data format that can be
- used for in-memory compression of a sequence of arbitrary bytes.
-
- 1.4. Compliance
-
- Unless otherwise indicated below, a compliant decompressor must be
- able to accept and decompress any data set that conforms to all
- the specifications presented here; a compliant compressor must
- produce data sets that conform to all the specifications presented
- here.
-
- 1.5. Definitions of terms and conventions used
-
- byte: 8 bits stored or transmitted as a unit (same as an octet).
- (For this specification, a byte is exactly 8 bits, even on
- machines which store a character on a number of bits different
- from 8.) See below, for the numbering of bits within a byte.
-
- 1.6. Changes from previous versions
-
- Version 3.1 was the first public release of this specification.
- In version 3.2, some terminology was changed and the Adler-32
- sample code was rewritten for clarity. In version 3.3, the
- support for a preset dictionary was introduced, and the
- specification was converted to RFC style.
-
-2. Detailed specification
-
- 2.1. Overall conventions
-
- In the diagrams below, a box like this:
-
- +---+
- | | <-- the vertical bars might be missing
- +---+
-
-
-
-
-Deutsch & Gailly Informational [Page 3]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
- represents one byte; a box like this:
-
- +==============+
- | |
- +==============+
-
- represents a variable number of bytes.
-
- Bytes stored within a computer do not have a "bit order", since
- they are always treated as a unit. However, a byte considered as
- an integer between 0 and 255 does have a most- and least-
- significant bit, and since we write numbers with the most-
- significant digit on the left, we also write bytes with the most-
- significant bit on the left. In the diagrams below, we number the
- bits of a byte so that bit 0 is the least-significant bit, i.e.,
- the bits are numbered:
-
- +--------+
- |76543210|
- +--------+
-
- Within a computer, a number may occupy multiple bytes. All
- multi-byte numbers in the format described here are stored with
- the MOST-significant byte first (at the lower memory address).
- For example, the decimal number 520 is stored as:
-
- 0 1
- +--------+--------+
- |00000010|00001000|
- +--------+--------+
- ^ ^
- | |
- | + less significant byte = 8
- + more significant byte = 2 x 256
-
- 2.2. Data format
-
- A zlib stream has the following structure:
-
- 0 1
- +---+---+
- |CMF|FLG| (more-->)
- +---+---+
-
-
-
-
-
-
-
-
-Deutsch & Gailly Informational [Page 4]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
- (if FLG.FDICT set)
-
- 0 1 2 3
- +---+---+---+---+
- | DICTID | (more-->)
- +---+---+---+---+
-
- +=====================+---+---+---+---+
- |...compressed data...| ADLER32 |
- +=====================+---+---+---+---+
-
- Any data which may appear after ADLER32 are not part of the zlib
- stream.
-
- CMF (Compression Method and flags)
- This byte is divided into a 4-bit compression method and a 4-
- bit information field depending on the compression method.
-
- bits 0 to 3 CM Compression method
- bits 4 to 7 CINFO Compression info
-
- CM (Compression method)
- This identifies the compression method used in the file. CM = 8
- denotes the "deflate" compression method with a window size up
- to 32K. This is the method used by gzip and PNG (see
- references [1] and [2] in Chapter 3, below, for the reference
- documents). CM = 15 is reserved. It might be used in a future
- version of this specification to indicate the presence of an
- extra field before the compressed data.
-
- CINFO (Compression info)
- For CM = 8, CINFO is the base-2 logarithm of the LZ77 window
- size, minus eight (CINFO=7 indicates a 32K window size). Values
- of CINFO above 7 are not allowed in this version of the
- specification. CINFO is not defined in this specification for
- CM not equal to 8.
-
- FLG (FLaGs)
- This flag byte is divided as follows:
-
- bits 0 to 4 FCHECK (check bits for CMF and FLG)
- bit 5 FDICT (preset dictionary)
- bits 6 to 7 FLEVEL (compression level)
-
- The FCHECK value must be such that CMF and FLG, when viewed as
- a 16-bit unsigned integer stored in MSB order (CMF*256 + FLG),
- is a multiple of 31.
-
-
-
-
-Deutsch & Gailly Informational [Page 5]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
- FDICT (Preset dictionary)
- If FDICT is set, a DICT dictionary identifier is present
- immediately after the FLG byte. The dictionary is a sequence of
- bytes which are initially fed to the compressor without
- producing any compressed output. DICT is the Adler-32 checksum
- of this sequence of bytes (see the definition of ADLER32
- below). The decompressor can use this identifier to determine
- which dictionary has been used by the compressor.
-
- FLEVEL (Compression level)
- These flags are available for use by specific compression
- methods. The "deflate" method (CM = 8) sets these flags as
- follows:
-
- 0 - compressor used fastest algorithm
- 1 - compressor used fast algorithm
- 2 - compressor used default algorithm
- 3 - compressor used maximum compression, slowest algorithm
-
- The information in FLEVEL is not needed for decompression; it
- is there to indicate if recompression might be worthwhile.
-
- compressed data
- For compression method 8, the compressed data is stored in the
- deflate compressed data format as described in the document
- "DEFLATE Compressed Data Format Specification" by L. Peter
- Deutsch. (See reference [3] in Chapter 3, below)
-
- Other compressed data formats are not specified in this version
- of the zlib specification.
-
- ADLER32 (Adler-32 checksum)
- This contains a checksum value of the uncompressed data
- (excluding any dictionary data) computed according to Adler-32
- algorithm. This algorithm is a 32-bit extension and improvement
- of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073
- standard. See references [4] and [5] in Chapter 3, below)
-
- Adler-32 is composed of two sums accumulated per byte: s1 is
- the sum of all bytes, s2 is the sum of all s1 values. Both sums
- are done modulo 65521. s1 is initialized to 1, s2 to zero. The
- Adler-32 checksum is stored as s2*65536 + s1 in most-
- significant-byte first (network) order.
-
-
-
-
-
-
-
-
-Deutsch & Gailly Informational [Page 6]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
- 2.3. Compliance
-
- A compliant compressor must produce streams with correct CMF, FLG
- and ADLER32, but need not support preset dictionaries. When the
- zlib data format is used as part of another standard data format,
- the compressor may use only preset dictionaries that are specified
- by this other data format. If this other format does not use the
- preset dictionary feature, the compressor must not set the FDICT
- flag.
-
- A compliant decompressor must check CMF, FLG, and ADLER32, and
- provide an error indication if any of these have incorrect values.
- A compliant decompressor must give an error indication if CM is
- not one of the values defined in this specification (only the
- value 8 is permitted in this version), since another value could
- indicate the presence of new features that would cause subsequent
- data to be interpreted incorrectly. A compliant decompressor must
- give an error indication if FDICT is set and DICTID is not the
- identifier of a known preset dictionary. A decompressor may
- ignore FLEVEL and still be compliant. When the zlib data format
- is being used as a part of another standard format, a compliant
- decompressor must support all the preset dictionaries specified by
- the other format. When the other format does not use the preset
- dictionary feature, a compliant decompressor must reject any
- stream in which the FDICT flag is set.
-
-3. References
-
- [1] Deutsch, L.P.,"GZIP Compressed Data Format Specification",
- available in ftp://ftp.uu.net/pub/archiving/zip/doc/
-
- [2] Thomas Boutell, "PNG (Portable Network Graphics) specification",
- available in ftp://ftp.uu.net/graphics/png/documents/
-
- [3] Deutsch, L.P.,"DEFLATE Compressed Data Format Specification",
- available in ftp://ftp.uu.net/pub/archiving/zip/doc/
-
- [4] Fletcher, J. G., "An Arithmetic Checksum for Serial
- Transmissions," IEEE Transactions on Communications, Vol. COM-30,
- No. 1, January 1982, pp. 247-252.
-
- [5] ITU-T Recommendation X.224, Annex D, "Checksum Algorithms,"
- November, 1993, pp. 144, 145. (Available from
- gopher://info.itu.ch). ITU-T X.244 is also the same as ISO 8073.
-
-
-
-
-
-
-
-Deutsch & Gailly Informational [Page 7]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
-4. Source code
-
- Source code for a C language implementation of a "zlib" compliant
- library is available at ftp://ftp.uu.net/pub/archiving/zip/zlib/.
-
-5. Security Considerations
-
- A decoder that fails to check the ADLER32 checksum value may be
- subject to undetected data corruption.
-
-6. Acknowledgements
-
- Trademarks cited in this document are the property of their
- respective owners.
-
- Jean-Loup Gailly and Mark Adler designed the zlib format and wrote
- the related software described in this specification. Glenn
- Randers-Pehrson converted this document to RFC and HTML format.
-
-7. Authors' Addresses
-
- L. Peter Deutsch
- Aladdin Enterprises
- 203 Santa Margarita Ave.
- Menlo Park, CA 94025
-
- Phone: (415) 322-0103 (AM only)
- FAX: (415) 322-1734
- EMail: <ghost@aladdin.com>
-
-
- Jean-Loup Gailly
-
- EMail: <gzip@prep.ai.mit.edu>
-
- Questions about the technical content of this specification can be
- sent by email to
-
- Jean-Loup Gailly <gzip@prep.ai.mit.edu> and
- Mark Adler <madler@alumni.caltech.edu>
-
- Editorial comments on this specification can be sent by email to
-
- L. Peter Deutsch <ghost@aladdin.com> and
- Glenn Randers-Pehrson <randeg@alumni.rpi.edu>
-
-
-
-
-
-
-Deutsch & Gailly Informational [Page 8]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
-8. Appendix: Rationale
-
- 8.1. Preset dictionaries
-
- A preset dictionary is specially useful to compress short input
- sequences. The compressor can take advantage of the dictionary
- context to encode the input in a more compact manner. The
- decompressor can be initialized with the appropriate context by
- virtually decompressing a compressed version of the dictionary
- without producing any output. However for certain compression
- algorithms such as the deflate algorithm this operation can be
- achieved without actually performing any decompression.
-
- The compressor and the decompressor must use exactly the same
- dictionary. The dictionary may be fixed or may be chosen among a
- certain number of predefined dictionaries, according to the kind
- of input data. The decompressor can determine which dictionary has
- been chosen by the compressor by checking the dictionary
- identifier. This document does not specify the contents of
- predefined dictionaries, since the optimal dictionaries are
- application specific. Standard data formats using this feature of
- the zlib specification must precisely define the allowed
- dictionaries.
-
- 8.2. The Adler-32 algorithm
-
- The Adler-32 algorithm is much faster than the CRC32 algorithm yet
- still provides an extremely low probability of undetected errors.
-
- The modulo on unsigned long accumulators can be delayed for 5552
- bytes, so the modulo operation time is negligible. If the bytes
- are a, b, c, the second sum is 3a + 2b + c + 3, and so is position
- and order sensitive, unlike the first sum, which is just a
- checksum. That 65521 is prime is important to avoid a possible
- large class of two-byte errors that leave the check unchanged.
- (The Fletcher checksum uses 255, which is not prime and which also
- makes the Fletcher check insensitive to single byte changes 0 <->
- 255.)
-
- The sum s1 is initialized to 1 instead of zero to make the length
- of the sequence part of s2, so that the length does not have to be
- checked separately. (Any sequence of zeroes has a Fletcher
- checksum of zero.)
-
-
-
-
-
-
-
-
-Deutsch & Gailly Informational [Page 9]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
-9. Appendix: Sample code
-
- The following C code computes the Adler-32 checksum of a data buffer.
- It is written for clarity, not for speed. The sample code is in the
- ANSI C programming language. Non C users may find it easier to read
- with these hints:
-
- & Bitwise AND operator.
- >> Bitwise right shift operator. When applied to an
- unsigned quantity, as here, right shift inserts zero bit(s)
- at the left.
- << Bitwise left shift operator. Left shift inserts zero
- bit(s) at the right.
- ++ "n++" increments the variable n.
- % modulo operator: a % b is the remainder of a divided by b.
-
- #define BASE 65521 /* largest prime smaller than 65536 */
-
- /*
- Update a running Adler-32 checksum with the bytes buf[0..len-1]
- and return the updated checksum. The Adler-32 checksum should be
- initialized to 1.
-
- Usage example:
-
- unsigned long adler = 1L;
-
- while (read_buffer(buffer, length) != EOF) {
- adler = update_adler32(adler, buffer, length);
- }
- if (adler != original_adler) error();
- */
- unsigned long update_adler32(unsigned long adler,
- unsigned char *buf, int len)
- {
- unsigned long s1 = adler & 0xffff;
- unsigned long s2 = (adler >> 16) & 0xffff;
- int n;
-
- for (n = 0; n < len; n++) {
- s1 = (s1 + buf[n]) % BASE;
- s2 = (s2 + s1) % BASE;
- }
- return (s2 << 16) + s1;
- }
-
- /* Return the adler32 of the bytes buf[0..len-1] */
-
-
-
-
-Deutsch & Gailly Informational [Page 10]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
- unsigned long adler32(unsigned char *buf, int len)
- {
- return update_adler32(1L, buf, len);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Deutsch & Gailly Informational [Page 11]
-
diff --git a/cpukit/zlib/doc/rfc1951.txt b/cpukit/zlib/doc/rfc1951.txt
deleted file mode 100644
index 403c8c722f..0000000000
--- a/cpukit/zlib/doc/rfc1951.txt
+++ /dev/null
@@ -1,955 +0,0 @@
-
-
-
-
-
-
-Network Working Group P. Deutsch
-Request for Comments: 1951 Aladdin Enterprises
-Category: Informational May 1996
-
-
- DEFLATE Compressed Data Format Specification version 1.3
-
-Status of This Memo
-
- This memo provides information for the Internet community. This memo
- does not specify an Internet standard of any kind. Distribution of
- this memo is unlimited.
-
-IESG Note:
-
- The IESG takes no position on the validity of any Intellectual
- Property Rights statements contained in this document.
-
-Notices
-
- Copyright (c) 1996 L. Peter Deutsch
-
- Permission is granted to copy and distribute this document for any
- purpose and without charge, including translations into other
- languages and incorporation into compilations, provided that the
- copyright notice and this notice are preserved, and that any
- substantive changes or deletions from the original are clearly
- marked.
-
- A pointer to the latest version of this and related documentation in
- HTML format can be found at the URL
- <ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html>.
-
-Abstract
-
- This specification defines a lossless compressed data format that
- compresses data using a combination of the LZ77 algorithm and Huffman
- coding, with efficiency comparable to the best currently available
- general-purpose compression methods. The data can be produced or
- consumed, even for an arbitrarily long sequentially presented input
- data stream, using only an a priori bounded amount of intermediate
- storage. The format can be implemented readily in a manner not
- covered by patents.
-
-
-
-
-
-
-
-
-Deutsch Informational [Page 1]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
-Table of Contents
-
- 1. Introduction ................................................... 2
- 1.1. Purpose ................................................... 2
- 1.2. Intended audience ......................................... 3
- 1.3. Scope ..................................................... 3
- 1.4. Compliance ................................................ 3
- 1.5. Definitions of terms and conventions used ................ 3
- 1.6. Changes from previous versions ............................ 4
- 2. Compressed representation overview ............................. 4
- 3. Detailed specification ......................................... 5
- 3.1. Overall conventions ....................................... 5
- 3.1.1. Packing into bytes .................................. 5
- 3.2. Compressed block format ................................... 6
- 3.2.1. Synopsis of prefix and Huffman coding ............... 6
- 3.2.2. Use of Huffman coding in the "deflate" format ....... 7
- 3.2.3. Details of block format ............................. 9
- 3.2.4. Non-compressed blocks (BTYPE=00) ................... 11
- 3.2.5. Compressed blocks (length and distance codes) ...... 11
- 3.2.6. Compression with fixed Huffman codes (BTYPE=01) .... 12
- 3.2.7. Compression with dynamic Huffman codes (BTYPE=10) .. 13
- 3.3. Compliance ............................................... 14
- 4. Compression algorithm details ................................. 14
- 5. References .................................................... 16
- 6. Security Considerations ....................................... 16
- 7. Source code ................................................... 16
- 8. Acknowledgements .............................................. 16
- 9. Author's Address .............................................. 17
-
-1. Introduction
-
- 1.1. Purpose
-
- The purpose of this specification is to define a lossless
- compressed data format that:
- * Is independent of CPU type, operating system, file system,
- and character set, and hence can be used for interchange;
- * Can be produced or consumed, even for an arbitrarily long
- sequentially presented input data stream, using only an a
- priori bounded amount of intermediate storage, and hence
- can be used in data communications or similar structures
- such as Unix filters;
- * Compresses data with efficiency comparable to the best
- currently available general-purpose compression methods,
- and in particular considerably better than the "compress"
- program;
- * Can be implemented readily in a manner not covered by
- patents, and hence can be practiced freely;
-
-
-
-Deutsch Informational [Page 2]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- * Is compatible with the file format produced by the current
- widely used gzip utility, in that conforming decompressors
- will be able to read data produced by the existing gzip
- compressor.
-
- The data format defined by this specification does not attempt to:
-
- * Allow random access to compressed data;
- * Compress specialized data (e.g., raster graphics) as well
- as the best currently available specialized algorithms.
-
- A simple counting argument shows that no lossless compression
- algorithm can compress every possible input data set. For the
- format defined here, the worst case expansion is 5 bytes per 32K-
- byte block, i.e., a size increase of 0.015% for large data sets.
- English text usually compresses by a factor of 2.5 to 3;
- executable files usually compress somewhat less; graphical data
- such as raster images may compress much more.
-
- 1.2. Intended audience
-
- This specification is intended for use by implementors of software
- to compress data into "deflate" format and/or decompress data from
- "deflate" format.
-
- The text of the specification assumes a basic background in
- programming at the level of bits and other primitive data
- representations. Familiarity with the technique of Huffman coding
- is helpful but not required.
-
- 1.3. Scope
-
- The specification specifies a method for representing a sequence
- of bytes as a (usually shorter) sequence of bits, and a method for
- packing the latter bit sequence into bytes.
-
- 1.4. Compliance
-
- Unless otherwise indicated below, a compliant decompressor must be
- able to accept and decompress any data set that conforms to all
- the specifications presented here; a compliant compressor must
- produce data sets that conform to all the specifications presented
- here.
-
- 1.5. Definitions of terms and conventions used
-
- Byte: 8 bits stored or transmitted as a unit (same as an octet).
- For this specification, a byte is exactly 8 bits, even on machines
-
-
-
-Deutsch Informational [Page 3]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- which store a character on a number of bits different from eight.
- See below, for the numbering of bits within a byte.
-
- String: a sequence of arbitrary bytes.
-
- 1.6. Changes from previous versions
-
- There have been no technical changes to the deflate format since
- version 1.1 of this specification. In version 1.2, some
- terminology was changed. Version 1.3 is a conversion of the
- specification to RFC style.
-
-2. Compressed representation overview
-
- A compressed data set consists of a series of blocks, corresponding
- to successive blocks of input data. The block sizes are arbitrary,
- except that non-compressible blocks are limited to 65,535 bytes.
-
- Each block is compressed using a combination of the LZ77 algorithm
- and Huffman coding. The Huffman trees for each block are independent
- of those for previous or subsequent blocks; the LZ77 algorithm may
- use a reference to a duplicated string occurring in a previous block,
- up to 32K input bytes before.
-
- Each block consists of two parts: a pair of Huffman code trees that
- describe the representation of the compressed data part, and a
- compressed data part. (The Huffman trees themselves are compressed
- using Huffman encoding.) The compressed data consists of a series of
- elements of two types: literal bytes (of strings that have not been
- detected as duplicated within the previous 32K input bytes), and
- pointers to duplicated strings, where a pointer is represented as a
- pair <length, backward distance>. The representation used in the
- "deflate" format limits distances to 32K bytes and lengths to 258
- bytes, but does not limit the size of a block, except for
- uncompressible blocks, which are limited as noted above.
-
- Each type of value (literals, distances, and lengths) in the
- compressed data is represented using a Huffman code, using one code
- tree for literals and lengths and a separate code tree for distances.
- The code trees for each block appear in a compact form just before
- the compressed data for that block.
-
-
-
-
-
-
-
-
-
-
-Deutsch Informational [Page 4]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
-3. Detailed specification
-
- 3.1. Overall conventions In the diagrams below, a box like this:
-
- +---+
- | | <-- the vertical bars might be missing
- +---+
-
- represents one byte; a box like this:
-
- +==============+
- | |
- +==============+
-
- represents a variable number of bytes.
-
- Bytes stored within a computer do not have a "bit order", since
- they are always treated as a unit. However, a byte considered as
- an integer between 0 and 255 does have a most- and least-
- significant bit, and since we write numbers with the most-
- significant digit on the left, we also write bytes with the most-
- significant bit on the left. In the diagrams below, we number the
- bits of a byte so that bit 0 is the least-significant bit, i.e.,
- the bits are numbered:
-
- +--------+
- |76543210|
- +--------+
-
- Within a computer, a number may occupy multiple bytes. All
- multi-byte numbers in the format described here are stored with
- the least-significant byte first (at the lower memory address).
- For example, the decimal number 520 is stored as:
-
- 0 1
- +--------+--------+
- |00001000|00000010|
- +--------+--------+
- ^ ^
- | |
- | + more significant byte = 2 x 256
- + less significant byte = 8
-
- 3.1.1. Packing into bytes
-
- This document does not address the issue of the order in which
- bits of a byte are transmitted on a bit-sequential medium,
- since the final data format described here is byte- rather than
-
-
-
-Deutsch Informational [Page 5]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- bit-oriented. However, we describe the compressed block format
- in below, as a sequence of data elements of various bit
- lengths, not a sequence of bytes. We must therefore specify
- how to pack these data elements into bytes to form the final
- compressed byte sequence:
-
- * Data elements are packed into bytes in order of
- increasing bit number within the byte, i.e., starting
- with the least-significant bit of the byte.
- * Data elements other than Huffman codes are packed
- starting with the least-significant bit of the data
- element.
- * Huffman codes are packed starting with the most-
- significant bit of the code.
-
- In other words, if one were to print out the compressed data as
- a sequence of bytes, starting with the first byte at the
- *right* margin and proceeding to the *left*, with the most-
- significant bit of each byte on the left as usual, one would be
- able to parse the result from right to left, with fixed-width
- elements in the correct MSB-to-LSB order and Huffman codes in
- bit-reversed order (i.e., with the first bit of the code in the
- relative LSB position).
-
- 3.2. Compressed block format
-
- 3.2.1. Synopsis of prefix and Huffman coding
-
- Prefix coding represents symbols from an a priori known
- alphabet by bit sequences (codes), one code for each symbol, in
- a manner such that different symbols may be represented by bit
- sequences of different lengths, but a parser can always parse
- an encoded string unambiguously symbol-by-symbol.
-
- We define a prefix code in terms of a binary tree in which the
- two edges descending from each non-leaf node are labeled 0 and
- 1 and in which the leaf nodes correspond one-for-one with (are
- labeled with) the symbols of the alphabet; then the code for a
- symbol is the sequence of 0's and 1's on the edges leading from
- the root to the leaf labeled with that symbol. For example:
-
-
-
-
-
-
-
-
-
-
-
-Deutsch Informational [Page 6]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- /\ Symbol Code
- 0 1 ------ ----
- / \ A 00
- /\ B B 1
- 0 1 C 011
- / \ D 010
- A /\
- 0 1
- / \
- D C
-
- A parser can decode the next symbol from an encoded input
- stream by walking down the tree from the root, at each step
- choosing the edge corresponding to the next input bit.
-
- Given an alphabet with known symbol frequencies, the Huffman
- algorithm allows the construction of an optimal prefix code
- (one which represents strings with those symbol frequencies
- using the fewest bits of any possible prefix codes for that
- alphabet). Such a code is called a Huffman code. (See
- reference [1] in Chapter 5, references for additional
- information on Huffman codes.)
-
- Note that in the "deflate" format, the Huffman codes for the
- various alphabets must not exceed certain maximum code lengths.
- This constraint complicates the algorithm for computing code
- lengths from symbol frequencies. Again, see Chapter 5,
- references for details.
-
- 3.2.2. Use of Huffman coding in the "deflate" format
-
- The Huffman codes used for each alphabet in the "deflate"
- format have two additional rules:
-
- * All codes of a given bit length have lexicographically
- consecutive values, in the same order as the symbols
- they represent;
-
- * Shorter codes lexicographically precede longer codes.
-
-
-
-
-
-
-
-
-
-
-
-
-Deutsch Informational [Page 7]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- We could recode the example above to follow this rule as
- follows, assuming that the order of the alphabet is ABCD:
-
- Symbol Code
- ------ ----
- A 10
- B 0
- C 110
- D 111
-
- I.e., 0 precedes 10 which precedes 11x, and 110 and 111 are
- lexicographically consecutive.
-
- Given this rule, we can define the Huffman code for an alphabet
- just by giving the bit lengths of the codes for each symbol of
- the alphabet in order; this is sufficient to determine the
- actual codes. In our example, the code is completely defined
- by the sequence of bit lengths (2, 1, 3, 3). The following
- algorithm generates the codes as integers, intended to be read
- from most- to least-significant bit. The code lengths are
- initially in tree[I].Len; the codes are produced in
- tree[I].Code.
-
- 1) Count the number of codes for each code length. Let
- bl_count[N] be the number of codes of length N, N >= 1.
-
- 2) Find the numerical value of the smallest code for each
- code length:
-
- code = 0;
- bl_count[0] = 0;
- for (bits = 1; bits <= MAX_BITS; bits++) {
- code = (code + bl_count[bits-1]) << 1;
- next_code[bits] = code;
- }
-
- 3) Assign numerical values to all codes, using consecutive
- values for all codes of the same length with the base
- values determined at step 2. Codes that are never used
- (which have a bit length of zero) must not be assigned a
- value.
-
- for (n = 0; n <= max_code; n++) {
- len = tree[n].Len;
- if (len != 0) {
- tree[n].Code = next_code[len];
- next_code[len]++;
- }
-
-
-
-Deutsch Informational [Page 8]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- }
-
- Example:
-
- Consider the alphabet ABCDEFGH, with bit lengths (3, 3, 3, 3,
- 3, 2, 4, 4). After step 1, we have:
-
- N bl_count[N]
- - -----------
- 2 1
- 3 5
- 4 2
-
- Step 2 computes the following next_code values:
-
- N next_code[N]
- - ------------
- 1 0
- 2 0
- 3 2
- 4 14
-
- Step 3 produces the following code values:
-
- Symbol Length Code
- ------ ------ ----
- A 3 010
- B 3 011
- C 3 100
- D 3 101
- E 3 110
- F 2 00
- G 4 1110
- H 4 1111
-
- 3.2.3. Details of block format
-
- Each block of compressed data begins with 3 header bits
- containing the following data:
-
- first bit BFINAL
- next 2 bits BTYPE
-
- Note that the header bits do not necessarily begin on a byte
- boundary, since a block does not necessarily occupy an integral
- number of bytes.
-
-
-
-
-
-Deutsch Informational [Page 9]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- BFINAL is set if and only if this is the last block of the data
- set.
-
- BTYPE specifies how the data are compressed, as follows:
-
- 00 - no compression
- 01 - compressed with fixed Huffman codes
- 10 - compressed with dynamic Huffman codes
- 11 - reserved (error)
-
- The only difference between the two compressed cases is how the
- Huffman codes for the literal/length and distance alphabets are
- defined.
-
- In all cases, the decoding algorithm for the actual data is as
- follows:
-
- do
- read block header from input stream.
- if stored with no compression
- skip any remaining bits in current partially
- processed byte
- read LEN and NLEN (see next section)
- copy LEN bytes of data to output
- otherwise
- if compressed with dynamic Huffman codes
- read representation of code trees (see
- subsection below)
- loop (until end of block code recognized)
- decode literal/length value from input stream
- if value < 256
- copy value (literal byte) to output stream
- otherwise
- if value = end of block (256)
- break from loop
- otherwise (value = 257..285)
- decode distance from input stream
-
- move backwards distance bytes in the output
- stream, and copy length bytes from this
- position to the output stream.
- end loop
- while not last block
-
- Note that a duplicated string reference may refer to a string
- in a previous block; i.e., the backward distance may cross one
- or more block boundaries. However a distance cannot refer past
- the beginning of the output stream. (An application using a
-
-
-
-Deutsch Informational [Page 10]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- preset dictionary might discard part of the output stream; a
- distance can refer to that part of the output stream anyway)
- Note also that the referenced string may overlap the current
- position; for example, if the last 2 bytes decoded have values
- X and Y, a string reference with <length = 5, distance = 2>
- adds X,Y,X,Y,X to the output stream.
-
- We now specify each compression method in turn.
-
- 3.2.4. Non-compressed blocks (BTYPE=00)
-
- Any bits of input up to the next byte boundary are ignored.
- The rest of the block consists of the following information:
-
- 0 1 2 3 4...
- +---+---+---+---+================================+
- | LEN | NLEN |... LEN bytes of literal data...|
- +---+---+---+---+================================+
-
- LEN is the number of data bytes in the block. NLEN is the
- one's complement of LEN.
-
- 3.2.5. Compressed blocks (length and distance codes)
-
- As noted above, encoded data blocks in the "deflate" format
- consist of sequences of symbols drawn from three conceptually
- distinct alphabets: either literal bytes, from the alphabet of
- byte values (0..255), or <length, backward distance> pairs,
- where the length is drawn from (3..258) and the distance is
- drawn from (1..32,768). In fact, the literal and length
- alphabets are merged into a single alphabet (0..285), where
- values 0..255 represent literal bytes, the value 256 indicates
- end-of-block, and values 257..285 represent length codes
- (possibly in conjunction with extra bits following the symbol
- code) as follows:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Deutsch Informational [Page 11]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- Extra Extra Extra
- Code Bits Length(s) Code Bits Lengths Code Bits Length(s)
- ---- ---- ------ ---- ---- ------- ---- ---- -------
- 257 0 3 267 1 15,16 277 4 67-82
- 258 0 4 268 1 17,18 278 4 83-98
- 259 0 5 269 2 19-22 279 4 99-114
- 260 0 6 270 2 23-26 280 4 115-130
- 261 0 7 271 2 27-30 281 5 131-162
- 262 0 8 272 2 31-34 282 5 163-194
- 263 0 9 273 3 35-42 283 5 195-226
- 264 0 10 274 3 43-50 284 5 227-257
- 265 1 11,12 275 3 51-58 285 0 258
- 266 1 13,14 276 3 59-66
-
- The extra bits should be interpreted as a machine integer
- stored with the most-significant bit first, e.g., bits 1110
- represent the value 14.
-
- Extra Extra Extra
- Code Bits Dist Code Bits Dist Code Bits Distance
- ---- ---- ---- ---- ---- ------ ---- ---- --------
- 0 0 1 10 4 33-48 20 9 1025-1536
- 1 0 2 11 4 49-64 21 9 1537-2048
- 2 0 3 12 5 65-96 22 10 2049-3072
- 3 0 4 13 5 97-128 23 10 3073-4096
- 4 1 5,6 14 6 129-192 24 11 4097-6144
- 5 1 7,8 15 6 193-256 25 11 6145-8192
- 6 2 9-12 16 7 257-384 26 12 8193-12288
- 7 2 13-16 17 7 385-512 27 12 12289-16384
- 8 3 17-24 18 8 513-768 28 13 16385-24576
- 9 3 25-32 19 8 769-1024 29 13 24577-32768
-
- 3.2.6. Compression with fixed Huffman codes (BTYPE=01)
-
- The Huffman codes for the two alphabets are fixed, and are not
- represented explicitly in the data. The Huffman code lengths
- for the literal/length alphabet are:
-
- Lit Value Bits Codes
- --------- ---- -----
- 0 - 143 8 00110000 through
- 10111111
- 144 - 255 9 110010000 through
- 111111111
- 256 - 279 7 0000000 through
- 0010111
- 280 - 287 8 11000000 through
- 11000111
-
-
-
-Deutsch Informational [Page 12]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- The code lengths are sufficient to generate the actual codes,
- as described above; we show the codes in the table for added
- clarity. Literal/length values 286-287 will never actually
- occur in the compressed data, but participate in the code
- construction.
-
- Distance codes 0-31 are represented by (fixed-length) 5-bit
- codes, with possible additional bits as shown in the table
- shown in Paragraph 3.2.5, above. Note that distance codes 30-
- 31 will never actually occur in the compressed data.
-
- 3.2.7. Compression with dynamic Huffman codes (BTYPE=10)
-
- The Huffman codes for the two alphabets appear in the block
- immediately after the header bits and before the actual
- compressed data, first the literal/length code and then the
- distance code. Each code is defined by a sequence of code
- lengths, as discussed in Paragraph 3.2.2, above. For even
- greater compactness, the code length sequences themselves are
- compressed using a Huffman code. The alphabet for code lengths
- is as follows:
-
- 0 - 15: Represent code lengths of 0 - 15
- 16: Copy the previous code length 3 - 6 times.
- The next 2 bits indicate repeat length
- (0 = 3, ... , 3 = 6)
- Example: Codes 8, 16 (+2 bits 11),
- 16 (+2 bits 10) will expand to
- 12 code lengths of 8 (1 + 6 + 5)
- 17: Repeat a code length of 0 for 3 - 10 times.
- (3 bits of length)
- 18: Repeat a code length of 0 for 11 - 138 times
- (7 bits of length)
-
- A code length of 0 indicates that the corresponding symbol in
- the literal/length or distance alphabet will not occur in the
- block, and should not participate in the Huffman code
- construction algorithm given earlier. If only one distance
- code is used, it is encoded using one bit, not zero bits; in
- this case there is a single code length of one, with one unused
- code. One distance code of zero bits means that there are no
- distance codes used at all (the data is all literals).
-
- We can now define the format of the block:
-
- 5 Bits: HLIT, # of Literal/Length codes - 257 (257 - 286)
- 5 Bits: HDIST, # of Distance codes - 1 (1 - 32)
- 4 Bits: HCLEN, # of Code Length codes - 4 (4 - 19)
-
-
-
-Deutsch Informational [Page 13]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- (HCLEN + 4) x 3 bits: code lengths for the code length
- alphabet given just above, in the order: 16, 17, 18,
- 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15
-
- These code lengths are interpreted as 3-bit integers
- (0-7); as above, a code length of 0 means the
- corresponding symbol (literal/length or distance code
- length) is not used.
-
- HLIT + 257 code lengths for the literal/length alphabet,
- encoded using the code length Huffman code
-
- HDIST + 1 code lengths for the distance alphabet,
- encoded using the code length Huffman code
-
- The actual compressed data of the block,
- encoded using the literal/length and distance Huffman
- codes
-
- The literal/length symbol 256 (end of data),
- encoded using the literal/length Huffman code
-
- The code length repeat codes can cross from HLIT + 257 to the
- HDIST + 1 code lengths. In other words, all code lengths form
- a single sequence of HLIT + HDIST + 258 values.
-
- 3.3. Compliance
-
- A compressor may limit further the ranges of values specified in
- the previous section and still be compliant; for example, it may
- limit the range of backward pointers to some value smaller than
- 32K. Similarly, a compressor may limit the size of blocks so that
- a compressible block fits in memory.
-
- A compliant decompressor must accept the full range of possible
- values defined in the previous section, and must accept blocks of
- arbitrary size.
-
-4. Compression algorithm details
-
- While it is the intent of this document to define the "deflate"
- compressed data format without reference to any particular
- compression algorithm, the format is related to the compressed
- formats produced by LZ77 (Lempel-Ziv 1977, see reference [2] below);
- since many variations of LZ77 are patented, it is strongly
- recommended that the implementor of a compressor follow the general
- algorithm presented here, which is known not to be patented per se.
- The material in this section is not part of the definition of the
-
-
-
-Deutsch Informational [Page 14]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- specification per se, and a compressor need not follow it in order to
- be compliant.
-
- The compressor terminates a block when it determines that starting a
- new block with fresh trees would be useful, or when the block size
- fills up the compressor's block buffer.
-
- The compressor uses a chained hash table to find duplicated strings,
- using a hash function that operates on 3-byte sequences. At any
- given point during compression, let XYZ be the next 3 input bytes to
- be examined (not necessarily all different, of course). First, the
- compressor examines the hash chain for XYZ. If the chain is empty,
- the compressor simply writes out X as a literal byte and advances one
- byte in the input. If the hash chain is not empty, indicating that
- the sequence XYZ (or, if we are unlucky, some other 3 bytes with the
- same hash function value) has occurred recently, the compressor
- compares all strings on the XYZ hash chain with the actual input data
- sequence starting at the current point, and selects the longest
- match.
-
- The compressor searches the hash chains starting with the most recent
- strings, to favor small distances and thus take advantage of the
- Huffman encoding. The hash chains are singly linked. There are no
- deletions from the hash chains; the algorithm simply discards matches
- that are too old. To avoid a worst-case situation, very long hash
- chains are arbitrarily truncated at a certain length, determined by a
- run-time parameter.
-
- To improve overall compression, the compressor optionally defers the
- selection of matches ("lazy matching"): after a match of length N has
- been found, the compressor searches for a longer match starting at
- the next input byte. If it finds a longer match, it truncates the
- previous match to a length of one (thus producing a single literal
- byte) and then emits the longer match. Otherwise, it emits the
- original match, and, as described above, advances N bytes before
- continuing.
-
- Run-time parameters also control this "lazy match" procedure. If
- compression ratio is most important, the compressor attempts a
- complete second search regardless of the length of the first match.
- In the normal case, if the current match is "long enough", the
- compressor reduces the search for a longer match, thus speeding up
- the process. If speed is most important, the compressor inserts new
- strings in the hash table only when no match was found, or when the
- match is not "too long". This degrades the compression ratio but
- saves time since there are both fewer insertions and fewer searches.
-
-
-
-
-
-Deutsch Informational [Page 15]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
-5. References
-
- [1] Huffman, D. A., "A Method for the Construction of Minimum
- Redundancy Codes", Proceedings of the Institute of Radio
- Engineers, September 1952, Volume 40, Number 9, pp. 1098-1101.
-
- [2] Ziv J., Lempel A., "A Universal Algorithm for Sequential Data
- Compression", IEEE Transactions on Information Theory, Vol. 23,
- No. 3, pp. 337-343.
-
- [3] Gailly, J.-L., and Adler, M., ZLIB documentation and sources,
- available in ftp://ftp.uu.net/pub/archiving/zip/doc/
-
- [4] Gailly, J.-L., and Adler, M., GZIP documentation and sources,
- available as gzip-*.tar in ftp://prep.ai.mit.edu/pub/gnu/
-
- [5] Schwartz, E. S., and Kallick, B. "Generating a canonical prefix
- encoding." Comm. ACM, 7,3 (Mar. 1964), pp. 166-169.
-
- [6] Hirschberg and Lelewer, "Efficient decoding of prefix codes,"
- Comm. ACM, 33,4, April 1990, pp. 449-459.
-
-6. Security Considerations
-
- Any data compression method involves the reduction of redundancy in
- the data. Consequently, any corruption of the data is likely to have
- severe effects and be difficult to correct. Uncompressed text, on
- the other hand, will probably still be readable despite the presence
- of some corrupted bytes.
-
- It is recommended that systems using this data format provide some
- means of validating the integrity of the compressed data. See
- reference [3], for example.
-
-7. Source code
-
- Source code for a C language implementation of a "deflate" compliant
- compressor and decompressor is available within the zlib package at
- ftp://ftp.uu.net/pub/archiving/zip/zlib/.
-
-8. Acknowledgements
-
- Trademarks cited in this document are the property of their
- respective owners.
-
- Phil Katz designed the deflate format. Jean-Loup Gailly and Mark
- Adler wrote the related software described in this specification.
- Glenn Randers-Pehrson converted this document to RFC and HTML format.
-
-
-
-Deutsch Informational [Page 16]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
-9. Author's Address
-
- L. Peter Deutsch
- Aladdin Enterprises
- 203 Santa Margarita Ave.
- Menlo Park, CA 94025
-
- Phone: (415) 322-0103 (AM only)
- FAX: (415) 322-1734
- EMail: <ghost@aladdin.com>
-
- Questions about the technical content of this specification can be
- sent by email to:
-
- Jean-Loup Gailly <gzip@prep.ai.mit.edu> and
- Mark Adler <madler@alumni.caltech.edu>
-
- Editorial comments on this specification can be sent by email to:
-
- L. Peter Deutsch <ghost@aladdin.com> and
- Glenn Randers-Pehrson <randeg@alumni.rpi.edu>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Deutsch Informational [Page 17]
-
diff --git a/cpukit/zlib/doc/rfc1952.txt b/cpukit/zlib/doc/rfc1952.txt
deleted file mode 100644
index a8e51b4567..0000000000
--- a/cpukit/zlib/doc/rfc1952.txt
+++ /dev/null
@@ -1,675 +0,0 @@
-
-
-
-
-
-
-Network Working Group P. Deutsch
-Request for Comments: 1952 Aladdin Enterprises
-Category: Informational May 1996
-
-
- GZIP file format specification version 4.3
-
-Status of This Memo
-
- This memo provides information for the Internet community. This memo
- does not specify an Internet standard of any kind. Distribution of
- this memo is unlimited.
-
-IESG Note:
-
- The IESG takes no position on the validity of any Intellectual
- Property Rights statements contained in this document.
-
-Notices
-
- Copyright (c) 1996 L. Peter Deutsch
-
- Permission is granted to copy and distribute this document for any
- purpose and without charge, including translations into other
- languages and incorporation into compilations, provided that the
- copyright notice and this notice are preserved, and that any
- substantive changes or deletions from the original are clearly
- marked.
-
- A pointer to the latest version of this and related documentation in
- HTML format can be found at the URL
- <ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html>.
-
-Abstract
-
- This specification defines a lossless compressed data format that is
- compatible with the widely used GZIP utility. The format includes a
- cyclic redundancy check value for detecting data corruption. The
- format presently uses the DEFLATE method of compression but can be
- easily extended to use other compression methods. The format can be
- implemented readily in a manner not covered by patents.
-
-
-
-
-
-
-
-
-
-
-Deutsch Informational [Page 1]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
-Table of Contents
-
- 1. Introduction ................................................... 2
- 1.1. Purpose ................................................... 2
- 1.2. Intended audience ......................................... 3
- 1.3. Scope ..................................................... 3
- 1.4. Compliance ................................................ 3
- 1.5. Definitions of terms and conventions used ................. 3
- 1.6. Changes from previous versions ............................ 3
- 2. Detailed specification ......................................... 4
- 2.1. Overall conventions ....................................... 4
- 2.2. File format ............................................... 5
- 2.3. Member format ............................................. 5
- 2.3.1. Member header and trailer ........................... 6
- 2.3.1.1. Extra field ................................... 8
- 2.3.1.2. Compliance .................................... 9
- 3. References .................................................. 9
- 4. Security Considerations .................................... 10
- 5. Acknowledgements ........................................... 10
- 6. Author's Address ........................................... 10
- 7. Appendix: Jean-Loup Gailly's gzip utility .................. 11
- 8. Appendix: Sample CRC Code .................................. 11
-
-1. Introduction
-
- 1.1. Purpose
-
- The purpose of this specification is to define a lossless
- compressed data format that:
-
- * Is independent of CPU type, operating system, file system,
- and character set, and hence can be used for interchange;
- * Can compress or decompress a data stream (as opposed to a
- randomly accessible file) to produce another data stream,
- using only an a priori bounded amount of intermediate
- storage, and hence can be used in data communications or
- similar structures such as Unix filters;
- * Compresses data with efficiency comparable to the best
- currently available general-purpose compression methods,
- and in particular considerably better than the "compress"
- program;
- * Can be implemented readily in a manner not covered by
- patents, and hence can be practiced freely;
- * Is compatible with the file format produced by the current
- widely used gzip utility, in that conforming decompressors
- will be able to read data produced by the existing gzip
- compressor.
-
-
-
-
-Deutsch Informational [Page 2]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- The data format defined by this specification does not attempt to:
-
- * Provide random access to compressed data;
- * Compress specialized data (e.g., raster graphics) as well as
- the best currently available specialized algorithms.
-
- 1.2. Intended audience
-
- This specification is intended for use by implementors of software
- to compress data into gzip format and/or decompress data from gzip
- format.
-
- The text of the specification assumes a basic background in
- programming at the level of bits and other primitive data
- representations.
-
- 1.3. Scope
-
- The specification specifies a compression method and a file format
- (the latter assuming only that a file can store a sequence of
- arbitrary bytes). It does not specify any particular interface to
- a file system or anything about character sets or encodings
- (except for file names and comments, which are optional).
-
- 1.4. Compliance
-
- Unless otherwise indicated below, a compliant decompressor must be
- able to accept and decompress any file that conforms to all the
- specifications presented here; a compliant compressor must produce
- files that conform to all the specifications presented here. The
- material in the appendices is not part of the specification per se
- and is not relevant to compliance.
-
- 1.5. Definitions of terms and conventions used
-
- byte: 8 bits stored or transmitted as a unit (same as an octet).
- (For this specification, a byte is exactly 8 bits, even on
- machines which store a character on a number of bits different
- from 8.) See below for the numbering of bits within a byte.
-
- 1.6. Changes from previous versions
-
- There have been no technical changes to the gzip format since
- version 4.1 of this specification. In version 4.2, some
- terminology was changed, and the sample CRC code was rewritten for
- clarity and to eliminate the requirement for the caller to do pre-
- and post-conditioning. Version 4.3 is a conversion of the
- specification to RFC style.
-
-
-
-Deutsch Informational [Page 3]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
-2. Detailed specification
-
- 2.1. Overall conventions
-
- In the diagrams below, a box like this:
-
- +---+
- | | <-- the vertical bars might be missing
- +---+
-
- represents one byte; a box like this:
-
- +==============+
- | |
- +==============+
-
- represents a variable number of bytes.
-
- Bytes stored within a computer do not have a "bit order", since
- they are always treated as a unit. However, a byte considered as
- an integer between 0 and 255 does have a most- and least-
- significant bit, and since we write numbers with the most-
- significant digit on the left, we also write bytes with the most-
- significant bit on the left. In the diagrams below, we number the
- bits of a byte so that bit 0 is the least-significant bit, i.e.,
- the bits are numbered:
-
- +--------+
- |76543210|
- +--------+
-
- This document does not address the issue of the order in which
- bits of a byte are transmitted on a bit-sequential medium, since
- the data format described here is byte- rather than bit-oriented.
-
- Within a computer, a number may occupy multiple bytes. All
- multi-byte numbers in the format described here are stored with
- the least-significant byte first (at the lower memory address).
- For example, the decimal number 520 is stored as:
-
- 0 1
- +--------+--------+
- |00001000|00000010|
- +--------+--------+
- ^ ^
- | |
- | + more significant byte = 2 x 256
- + less significant byte = 8
-
-
-
-Deutsch Informational [Page 4]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- 2.2. File format
-
- A gzip file consists of a series of "members" (compressed data
- sets). The format of each member is specified in the following
- section. The members simply appear one after another in the file,
- with no additional information before, between, or after them.
-
- 2.3. Member format
-
- Each member has the following structure:
-
- +---+---+---+---+---+---+---+---+---+---+
- |ID1|ID2|CM |FLG| MTIME |XFL|OS | (more-->)
- +---+---+---+---+---+---+---+---+---+---+
-
- (if FLG.FEXTRA set)
-
- +---+---+=================================+
- | XLEN |...XLEN bytes of "extra field"...| (more-->)
- +---+---+=================================+
-
- (if FLG.FNAME set)
-
- +=========================================+
- |...original file name, zero-terminated...| (more-->)
- +=========================================+
-
- (if FLG.FCOMMENT set)
-
- +===================================+
- |...file comment, zero-terminated...| (more-->)
- +===================================+
-
- (if FLG.FHCRC set)
-
- +---+---+
- | CRC16 |
- +---+---+
-
- +=======================+
- |...compressed blocks...| (more-->)
- +=======================+
-
- 0 1 2 3 4 5 6 7
- +---+---+---+---+---+---+---+---+
- | CRC32 | ISIZE |
- +---+---+---+---+---+---+---+---+
-
-
-
-
-Deutsch Informational [Page 5]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- 2.3.1. Member header and trailer
-
- ID1 (IDentification 1)
- ID2 (IDentification 2)
- These have the fixed values ID1 = 31 (0x1f, \037), ID2 = 139
- (0x8b, \213), to identify the file as being in gzip format.
-
- CM (Compression Method)
- This identifies the compression method used in the file. CM
- = 0-7 are reserved. CM = 8 denotes the "deflate"
- compression method, which is the one customarily used by
- gzip and which is documented elsewhere.
-
- FLG (FLaGs)
- This flag byte is divided into individual bits as follows:
-
- bit 0 FTEXT
- bit 1 FHCRC
- bit 2 FEXTRA
- bit 3 FNAME
- bit 4 FCOMMENT
- bit 5 reserved
- bit 6 reserved
- bit 7 reserved
-
- If FTEXT is set, the file is probably ASCII text. This is
- an optional indication, which the compressor may set by
- checking a small amount of the input data to see whether any
- non-ASCII characters are present. In case of doubt, FTEXT
- is cleared, indicating binary data. For systems which have
- different file formats for ascii text and binary data, the
- decompressor can use FTEXT to choose the appropriate format.
- We deliberately do not specify the algorithm used to set
- this bit, since a compressor always has the option of
- leaving it cleared and a decompressor always has the option
- of ignoring it and letting some other program handle issues
- of data conversion.
-
- If FHCRC is set, a CRC16 for the gzip header is present,
- immediately before the compressed data. The CRC16 consists
- of the two least significant bytes of the CRC32 for all
- bytes of the gzip header up to and not including the CRC16.
- [The FHCRC bit was never set by versions of gzip up to
- 1.2.4, even though it was documented with a different
- meaning in gzip 1.2.4.]
-
- If FEXTRA is set, optional extra fields are present, as
- described in a following section.
-
-
-
-Deutsch Informational [Page 6]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- If FNAME is set, an original file name is present,
- terminated by a zero byte. The name must consist of ISO
- 8859-1 (LATIN-1) characters; on operating systems using
- EBCDIC or any other character set for file names, the name
- must be translated to the ISO LATIN-1 character set. This
- is the original name of the file being compressed, with any
- directory components removed, and, if the file being
- compressed is on a file system with case insensitive names,
- forced to lower case. There is no original file name if the
- data was compressed from a source other than a named file;
- for example, if the source was stdin on a Unix system, there
- is no file name.
-
- If FCOMMENT is set, a zero-terminated file comment is
- present. This comment is not interpreted; it is only
- intended for human consumption. The comment must consist of
- ISO 8859-1 (LATIN-1) characters. Line breaks should be
- denoted by a single line feed character (10 decimal).
-
- Reserved FLG bits must be zero.
-
- MTIME (Modification TIME)
- This gives the most recent modification time of the original
- file being compressed. The time is in Unix format, i.e.,
- seconds since 00:00:00 GMT, Jan. 1, 1970. (Note that this
- may cause problems for MS-DOS and other systems that use
- local rather than Universal time.) If the compressed data
- did not come from a file, MTIME is set to the time at which
- compression started. MTIME = 0 means no time stamp is
- available.
-
- XFL (eXtra FLags)
- These flags are available for use by specific compression
- methods. The "deflate" method (CM = 8) sets these flags as
- follows:
-
- XFL = 2 - compressor used maximum compression,
- slowest algorithm
- XFL = 4 - compressor used fastest algorithm
-
- OS (Operating System)
- This identifies the type of file system on which compression
- took place. This may be useful in determining end-of-line
- convention for text files. The currently defined values are
- as follows:
-
-
-
-
-
-
-Deutsch Informational [Page 7]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- 0 - FAT filesystem (MS-DOS, OS/2, NT/Win32)
- 1 - Amiga
- 2 - VMS (or OpenVMS)
- 3 - Unix
- 4 - VM/CMS
- 5 - Atari TOS
- 6 - HPFS filesystem (OS/2, NT)
- 7 - Macintosh
- 8 - Z-System
- 9 - CP/M
- 10 - TOPS-20
- 11 - NTFS filesystem (NT)
- 12 - QDOS
- 13 - Acorn RISCOS
- 255 - unknown
-
- XLEN (eXtra LENgth)
- If FLG.FEXTRA is set, this gives the length of the optional
- extra field. See below for details.
-
- CRC32 (CRC-32)
- This contains a Cyclic Redundancy Check value of the
- uncompressed data computed according to CRC-32 algorithm
- used in the ISO 3309 standard and in section 8.1.1.6.2 of
- ITU-T recommendation V.42. (See http://www.iso.ch for
- ordering ISO documents. See gopher://info.itu.ch for an
- online version of ITU-T V.42.)
-
- ISIZE (Input SIZE)
- This contains the size of the original (uncompressed) input
- data modulo 2^32.
-
- 2.3.1.1. Extra field
-
- If the FLG.FEXTRA bit is set, an "extra field" is present in
- the header, with total length XLEN bytes. It consists of a
- series of subfields, each of the form:
-
- +---+---+---+---+==================================+
- |SI1|SI2| LEN |... LEN bytes of subfield data ...|
- +---+---+---+---+==================================+
-
- SI1 and SI2 provide a subfield ID, typically two ASCII letters
- with some mnemonic value. Jean-Loup Gailly
- <gzip@prep.ai.mit.edu> is maintaining a registry of subfield
- IDs; please send him any subfield ID you wish to use. Subfield
- IDs with SI2 = 0 are reserved for future use. The following
- IDs are currently defined:
-
-
-
-Deutsch Informational [Page 8]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- SI1 SI2 Data
- ---------- ---------- ----
- 0x41 ('A') 0x70 ('P') Apollo file type information
-
- LEN gives the length of the subfield data, excluding the 4
- initial bytes.
-
- 2.3.1.2. Compliance
-
- A compliant compressor must produce files with correct ID1,
- ID2, CM, CRC32, and ISIZE, but may set all the other fields in
- the fixed-length part of the header to default values (255 for
- OS, 0 for all others). The compressor must set all reserved
- bits to zero.
-
- A compliant decompressor must check ID1, ID2, and CM, and
- provide an error indication if any of these have incorrect
- values. It must examine FEXTRA/XLEN, FNAME, FCOMMENT and FHCRC
- at least so it can skip over the optional fields if they are
- present. It need not examine any other part of the header or
- trailer; in particular, a decompressor may ignore FTEXT and OS
- and always produce binary output, and still be compliant. A
- compliant decompressor must give an error indication if any
- reserved bit is non-zero, since such a bit could indicate the
- presence of a new field that would cause subsequent data to be
- interpreted incorrectly.
-
-3. References
-
- [1] "Information Processing - 8-bit single-byte coded graphic
- character sets - Part 1: Latin alphabet No.1" (ISO 8859-1:1987).
- The ISO 8859-1 (Latin-1) character set is a superset of 7-bit
- ASCII. Files defining this character set are available as
- iso_8859-1.* in ftp://ftp.uu.net/graphics/png/documents/
-
- [2] ISO 3309
-
- [3] ITU-T recommendation V.42
-
- [4] Deutsch, L.P.,"DEFLATE Compressed Data Format Specification",
- available in ftp://ftp.uu.net/pub/archiving/zip/doc/
-
- [5] Gailly, J.-L., GZIP documentation, available as gzip-*.tar in
- ftp://prep.ai.mit.edu/pub/gnu/
-
- [6] Sarwate, D.V., "Computation of Cyclic Redundancy Checks via Table
- Look-Up", Communications of the ACM, 31(8), pp.1008-1013.
-
-
-
-
-Deutsch Informational [Page 9]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- [7] Schwaderer, W.D., "CRC Calculation", April 85 PC Tech Journal,
- pp.118-133.
-
- [8] ftp://ftp.adelaide.edu.au/pub/rocksoft/papers/crc_v3.txt,
- describing the CRC concept.
-
-4. Security Considerations
-
- Any data compression method involves the reduction of redundancy in
- the data. Consequently, any corruption of the data is likely to have
- severe effects and be difficult to correct. Uncompressed text, on
- the other hand, will probably still be readable despite the presence
- of some corrupted bytes.
-
- It is recommended that systems using this data format provide some
- means of validating the integrity of the compressed data, such as by
- setting and checking the CRC-32 check value.
-
-5. Acknowledgements
-
- Trademarks cited in this document are the property of their
- respective owners.
-
- Jean-Loup Gailly designed the gzip format and wrote, with Mark Adler,
- the related software described in this specification. Glenn
- Randers-Pehrson converted this document to RFC and HTML format.
-
-6. Author's Address
-
- L. Peter Deutsch
- Aladdin Enterprises
- 203 Santa Margarita Ave.
- Menlo Park, CA 94025
-
- Phone: (415) 322-0103 (AM only)
- FAX: (415) 322-1734
- EMail: <ghost@aladdin.com>
-
- Questions about the technical content of this specification can be
- sent by email to:
-
- Jean-Loup Gailly <gzip@prep.ai.mit.edu> and
- Mark Adler <madler@alumni.caltech.edu>
-
- Editorial comments on this specification can be sent by email to:
-
- L. Peter Deutsch <ghost@aladdin.com> and
- Glenn Randers-Pehrson <randeg@alumni.rpi.edu>
-
-
-
-Deutsch Informational [Page 10]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
-7. Appendix: Jean-Loup Gailly's gzip utility
-
- The most widely used implementation of gzip compression, and the
- original documentation on which this specification is based, were
- created by Jean-Loup Gailly <gzip@prep.ai.mit.edu>. Since this
- implementation is a de facto standard, we mention some more of its
- features here. Again, the material in this section is not part of
- the specification per se, and implementations need not follow it to
- be compliant.
-
- When compressing or decompressing a file, gzip preserves the
- protection, ownership, and modification time attributes on the local
- file system, since there is no provision for representing protection
- attributes in the gzip file format itself. Since the file format
- includes a modification time, the gzip decompressor provides a
- command line switch that assigns the modification time from the file,
- rather than the local modification time of the compressed input, to
- the decompressed output.
-
-8. Appendix: Sample CRC Code
-
- The following sample code represents a practical implementation of
- the CRC (Cyclic Redundancy Check). (See also ISO 3309 and ITU-T V.42
- for a formal specification.)
-
- The sample code is in the ANSI C programming language. Non C users
- may find it easier to read with these hints:
-
- & Bitwise AND operator.
- ^ Bitwise exclusive-OR operator.
- >> Bitwise right shift operator. When applied to an
- unsigned quantity, as here, right shift inserts zero
- bit(s) at the left.
- ! Logical NOT operator.
- ++ "n++" increments the variable n.
- 0xNNN 0x introduces a hexadecimal (base 16) constant.
- Suffix L indicates a long value (at least 32 bits).
-
- /* Table of CRCs of all 8-bit messages. */
- unsigned long crc_table[256];
-
- /* Flag: has the table been computed? Initially false. */
- int crc_table_computed = 0;
-
- /* Make the table for a fast CRC. */
- void make_crc_table(void)
- {
- unsigned long c;
-
-
-
-Deutsch Informational [Page 11]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- int n, k;
- for (n = 0; n < 256; n++) {
- c = (unsigned long) n;
- for (k = 0; k < 8; k++) {
- if (c & 1) {
- c = 0xedb88320L ^ (c >> 1);
- } else {
- c = c >> 1;
- }
- }
- crc_table[n] = c;
- }
- crc_table_computed = 1;
- }
-
- /*
- Update a running crc with the bytes buf[0..len-1] and return
- the updated crc. The crc should be initialized to zero. Pre- and
- post-conditioning (one's complement) is performed within this
- function so it shouldn't be done by the caller. Usage example:
-
- unsigned long crc = 0L;
-
- while (read_buffer(buffer, length) != EOF) {
- crc = update_crc(crc, buffer, length);
- }
- if (crc != original_crc) error();
- */
- unsigned long update_crc(unsigned long crc,
- unsigned char *buf, int len)
- {
- unsigned long c = crc ^ 0xffffffffL;
- int n;
-
- if (!crc_table_computed)
- make_crc_table();
- for (n = 0; n < len; n++) {
- c = crc_table[(c ^ buf[n]) & 0xff] ^ (c >> 8);
- }
- return c ^ 0xffffffffL;
- }
-
- /* Return the CRC of the bytes buf[0..len-1]. */
- unsigned long crc(unsigned char *buf, int len)
- {
- return update_crc(0L, buf, len);
- }
-
-
-
-
-Deutsch Informational [Page 12]
-
diff --git a/cpukit/zlib/doc/txtvsbin.txt b/cpukit/zlib/doc/txtvsbin.txt
deleted file mode 100644
index 3d0f0634f7..0000000000
--- a/cpukit/zlib/doc/txtvsbin.txt
+++ /dev/null
@@ -1,107 +0,0 @@
-A Fast Method for Identifying Plain Text Files
-==============================================
-
-
-Introduction
-------------
-
-Given a file coming from an unknown source, it is sometimes desirable
-to find out whether the format of that file is plain text. Although
-this may appear like a simple task, a fully accurate detection of the
-file type requires heavy-duty semantic analysis on the file contents.
-It is, however, possible to obtain satisfactory results by employing
-various heuristics.
-
-Previous versions of PKZip and other zip-compatible compression tools
-were using a crude detection scheme: if more than 80% (4/5) of the bytes
-found in a certain buffer are within the range [7..127], the file is
-labeled as plain text, otherwise it is labeled as binary. A prominent
-limitation of this scheme is the restriction to Latin-based alphabets.
-Other alphabets, like Greek, Cyrillic or Asian, make extensive use of
-the bytes within the range [128..255], and texts using these alphabets
-are most often misidentified by this scheme; in other words, the rate
-of false negatives is sometimes too high, which means that the recall
-is low. Another weakness of this scheme is a reduced precision, due to
-the false positives that may occur when binary files containing large
-amounts of textual characters are misidentified as plain text.
-
-In this article we propose a new, simple detection scheme that features
-a much increased precision and a near-100% recall. This scheme is
-designed to work on ASCII, Unicode and other ASCII-derived alphabets,
-and it handles single-byte encodings (ISO-8859, MacRoman, KOI8, etc.)
-and variable-sized encodings (ISO-2022, UTF-8, etc.). Wider encodings
-(UCS-2/UTF-16 and UCS-4/UTF-32) are not handled, however.
-
-
-The Algorithm
--------------
-
-The algorithm works by dividing the set of bytecodes [0..255] into three
-categories:
-- The white list of textual bytecodes:
- 9 (TAB), 10 (LF), 13 (CR), 32 (SPACE) to 255.
-- The gray list of tolerated bytecodes:
- 7 (BEL), 8 (BS), 11 (VT), 12 (FF), 26 (SUB), 27 (ESC).
-- The black list of undesired, non-textual bytecodes:
- 0 (NUL) to 6, 14 to 31.
-
-If a file contains at least one byte that belongs to the white list and
-no byte that belongs to the black list, then the file is categorized as
-plain text; otherwise, it is categorized as binary. (The boundary case,
-when the file is empty, automatically falls into the latter category.)
-
-
-Rationale
----------
-
-The idea behind this algorithm relies on two observations.
-
-The first observation is that, although the full range of 7-bit codes
-[0..127] is properly specified by the ASCII standard, most control
-characters in the range [0..31] are not used in practice. The only
-widely-used, almost universally-portable control codes are 9 (TAB),
-10 (LF) and 13 (CR). There are a few more control codes that are
-recognized on a reduced range of platforms and text viewers/editors:
-7 (BEL), 8 (BS), 11 (VT), 12 (FF), 26 (SUB) and 27 (ESC); but these
-codes are rarely (if ever) used alone, without being accompanied by
-some printable text. Even the newer, portable text formats such as
-XML avoid using control characters outside the list mentioned here.
-
-The second observation is that most of the binary files tend to contain
-control characters, especially 0 (NUL). Even though the older text
-detection schemes observe the presence of non-ASCII codes from the range
-[128..255], the precision rarely has to suffer if this upper range is
-labeled as textual, because the files that are genuinely binary tend to
-contain both control characters and codes from the upper range. On the
-other hand, the upper range needs to be labeled as textual, because it
-is used by virtually all ASCII extensions. In particular, this range is
-used for encoding non-Latin scripts.
-
-Since there is no counting involved, other than simply observing the
-presence or the absence of some byte values, the algorithm produces
-consistent results, regardless what alphabet encoding is being used.
-(If counting were involved, it could be possible to obtain different
-results on a text encoded, say, using ISO-8859-16 versus UTF-8.)
-
-There is an extra category of plain text files that are "polluted" with
-one or more black-listed codes, either by mistake or by peculiar design
-considerations. In such cases, a scheme that tolerates a small fraction
-of black-listed codes would provide an increased recall (i.e. more true
-positives). This, however, incurs a reduced precision overall, since
-false positives are more likely to appear in binary files that contain
-large chunks of textual data. Furthermore, "polluted" plain text should
-be regarded as binary by general-purpose text detection schemes, because
-general-purpose text processing algorithms might not be applicable.
-Under this premise, it is safe to say that our detection method provides
-a near-100% recall.
-
-Experiments have been run on many files coming from various platforms
-and applications. We tried plain text files, system logs, source code,
-formatted office documents, compiled object code, etc. The results
-confirm the optimistic assumptions about the capabilities of this
-algorithm.
-
-
---
-Cosmin Truta
-Last updated: 2006-May-28
diff --git a/cpukit/zlib/examples/enough.c b/cpukit/zlib/examples/enough.c
deleted file mode 100644
index c40410bade..0000000000
--- a/cpukit/zlib/examples/enough.c
+++ /dev/null
@@ -1,569 +0,0 @@
-/* enough.c -- determine the maximum size of inflate's Huffman code tables over
- * all possible valid and complete Huffman codes, subject to a length limit.
- * Copyright (C) 2007, 2008 Mark Adler
- * Version 1.3 17 February 2008 Mark Adler
- */
-
-/* Version history:
- 1.0 3 Jan 2007 First version (derived from codecount.c version 1.4)
- 1.1 4 Jan 2007 Use faster incremental table usage computation
- Prune examine() search on previously visited states
- 1.2 5 Jan 2007 Comments clean up
- As inflate does, decrease root for short codes
- Refuse cases where inflate would increase root
- 1.3 17 Feb 2008 Add argument for initial root table size
- Fix bug for initial root table size == max - 1
- Use a macro to compute the history index
- */
-
-/*
- Examine all possible Huffman codes for a given number of symbols and a
- maximum code length in bits to determine the maximum table size for zilb's
- inflate. Only complete Huffman codes are counted.
-
- Two codes are considered distinct if the vectors of the number of codes per
- length are not identical. So permutations of the symbol assignments result
- in the same code for the counting, as do permutations of the assignments of
- the bit values to the codes (i.e. only canonical codes are counted).
-
- We build a code from shorter to longer lengths, determining how many symbols
- are coded at each length. At each step, we have how many symbols remain to
- be coded, what the last code length used was, and how many bit patterns of
- that length remain unused. Then we add one to the code length and double the
- number of unused patterns to graduate to the next code length. We then
- assign all portions of the remaining symbols to that code length that
- preserve the properties of a correct and eventually complete code. Those
- properties are: we cannot use more bit patterns than are available; and when
- all the symbols are used, there are exactly zero possible bit patterns
- remaining.
-
- The inflate Huffman decoding algorithm uses two-level lookup tables for
- speed. There is a single first-level table to decode codes up to root bits
- in length (root == 9 in the current inflate implementation). The table
- has 1 << root entries and is indexed by the next root bits of input. Codes
- shorter than root bits have replicated table entries, so that the correct
- entry is pointed to regardless of the bits that follow the short code. If
- the code is longer than root bits, then the table entry points to a second-
- level table. The size of that table is determined by the longest code with
- that root-bit prefix. If that longest code has length len, then the table
- has size 1 << (len - root), to index the remaining bits in that set of
- codes. Each subsequent root-bit prefix then has its own sub-table. The
- total number of table entries required by the code is calculated
- incrementally as the number of codes at each bit length is populated. When
- all of the codes are shorter than root bits, then root is reduced to the
- longest code length, resulting in a single, smaller, one-level table.
-
- The inflate algorithm also provides for small values of root (relative to
- the log2 of the number of symbols), where the shortest code has more bits
- than root. In that case, root is increased to the length of the shortest
- code. This program, by design, does not handle that case, so it is verified
- that the number of symbols is less than 2^(root + 1).
-
- In order to speed up the examination (by about ten orders of magnitude for
- the default arguments), the intermediate states in the build-up of a code
- are remembered and previously visited branches are pruned. The memory
- required for this will increase rapidly with the total number of symbols and
- the maximum code length in bits. However this is a very small price to pay
- for the vast speedup.
-
- First, all of the possible Huffman codes are counted, and reachable
- intermediate states are noted by a non-zero count in a saved-results array.
- Second, the intermediate states that lead to (root + 1) bit or longer codes
- are used to look at all sub-codes from those junctures for their inflate
- memory usage. (The amount of memory used is not affected by the number of
- codes of root bits or less in length.) Third, the visited states in the
- construction of those sub-codes and the associated calculation of the table
- size is recalled in order to avoid recalculating from the same juncture.
- Beginning the code examination at (root + 1) bit codes, which is enabled by
- identifying the reachable nodes, accounts for about six of the orders of
- magnitude of improvement for the default arguments. About another four
- orders of magnitude come from not revisiting previous states. Out of
- approximately 2x10^16 possible Huffman codes, only about 2x10^6 sub-codes
- need to be examined to cover all of the possible table memory usage cases
- for the default arguments of 286 symbols limited to 15-bit codes.
-
- Note that an unsigned long long type is used for counting. It is quite easy
- to exceed the capacity of an eight-byte integer with a large number of
- symbols and a large maximum code length, so multiple-precision arithmetic
- would need to replace the unsigned long long arithmetic in that case. This
- program will abort if an overflow occurs. The big_t type identifies where
- the counting takes place.
-
- An unsigned long long type is also used for calculating the number of
- possible codes remaining at the maximum length. This limits the maximum
- code length to the number of bits in a long long minus the number of bits
- needed to represent the symbols in a flat code. The code_t type identifies
- where the bit pattern counting takes place.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#define local static
-
-/* special data types */
-typedef unsigned long long big_t; /* type for code counting */
-typedef unsigned long long code_t; /* type for bit pattern counting */
-struct tab { /* type for been here check */
- size_t len; /* length of bit vector in char's */
- char *vec; /* allocated bit vector */
-};
-
-/* The array for saving results, num[], is indexed with this triplet:
-
- syms: number of symbols remaining to code
- left: number of available bit patterns at length len
- len: number of bits in the codes currently being assigned
-
- Those indices are constrained thusly when saving results:
-
- syms: 3..totsym (totsym == total symbols to code)
- left: 2..syms - 1, but only the evens (so syms == 8 -> 2, 4, 6)
- len: 1..max - 1 (max == maximum code length in bits)
-
- syms == 2 is not saved since that immediately leads to a single code. left
- must be even, since it represents the number of available bit patterns at
- the current length, which is double the number at the previous length.
- left ends at syms-1 since left == syms immediately results in a single code.
- (left > sym is not allowed since that would result in an incomplete code.)
- len is less than max, since the code completes immediately when len == max.
-
- The offset into the array is calculated for the three indices with the
- first one (syms) being outermost, and the last one (len) being innermost.
- We build the array with length max-1 lists for the len index, with syms-3
- of those for each symbol. There are totsym-2 of those, with each one
- varying in length as a function of sym. See the calculation of index in
- count() for the index, and the calculation of size in main() for the size
- of the array.
-
- For the deflate example of 286 symbols limited to 15-bit codes, the array
- has 284,284 entries, taking up 2.17 MB for an 8-byte big_t. More than
- half of the space allocated for saved results is actually used -- not all
- possible triplets are reached in the generation of valid Huffman codes.
- */
-
-/* The array for tracking visited states, done[], is itself indexed identically
- to the num[] array as described above for the (syms, left, len) triplet.
- Each element in the array is further indexed by the (mem, rem) doublet,
- where mem is the amount of inflate table space used so far, and rem is the
- remaining unused entries in the current inflate sub-table. Each indexed
- element is simply one bit indicating whether the state has been visited or
- not. Since the ranges for mem and rem are not known a priori, each bit
- vector is of a variable size, and grows as needed to accommodate the visited
- states. mem and rem are used to calculate a single index in a triangular
- array. Since the range of mem is expected in the default case to be about
- ten times larger than the range of rem, the array is skewed to reduce the
- memory usage, with eight times the range for mem than for rem. See the
- calculations for offset and bit in beenhere() for the details.
-
- For the deflate example of 286 symbols limited to 15-bit codes, the bit
- vectors grow to total approximately 21 MB, in addition to the 4.3 MB done[]
- array itself.
- */
-
-/* Globals to avoid propagating constants or constant pointers recursively */
-local int max; /* maximum allowed bit length for the codes */
-local int root; /* size of base code table in bits */
-local int large; /* largest code table so far */
-local size_t size; /* number of elements in num and done */
-local int *code; /* number of symbols assigned to each bit length */
-local big_t *num; /* saved results array for code counting */
-local struct tab *done; /* states already evaluated array */
-
-/* Index function for num[] and done[] */
-#define INDEX(i,j,k) (((size_t)((i-1)>>1)*((i-2)>>1)+(j>>1)-1)*(max-1)+k-1)
-
-/* Free allocated space. Uses globals code, num, and done. */
-local void cleanup(void)
-{
- size_t n;
-
- if (done != NULL) {
- for (n = 0; n < size; n++)
- if (done[n].len)
- free(done[n].vec);
- free(done);
- }
- if (num != NULL)
- free(num);
- if (code != NULL)
- free(code);
-}
-
-/* Return the number of possible Huffman codes using bit patterns of lengths
- len through max inclusive, coding syms symbols, with left bit patterns of
- length len unused -- return -1 if there is an overflow in the counting.
- Keep a record of previous results in num to prevent repeating the same
- calculation. Uses the globals max and num. */
-local big_t count(int syms, int len, int left)
-{
- big_t sum; /* number of possible codes from this juncture */
- big_t got; /* value returned from count() */
- int least; /* least number of syms to use at this juncture */
- int most; /* most number of syms to use at this juncture */
- int use; /* number of bit patterns to use in next call */
- size_t index; /* index of this case in *num */
-
- /* see if only one possible code */
- if (syms == left)
- return 1;
-
- /* note and verify the expected state */
- assert(syms > left && left > 0 && len < max);
-
- /* see if we've done this one already */
- index = INDEX(syms, left, len);
- got = num[index];
- if (got)
- return got; /* we have -- return the saved result */
-
- /* we need to use at least this many bit patterns so that the code won't be
- incomplete at the next length (more bit patterns than symbols) */
- least = (left << 1) - syms;
- if (least < 0)
- least = 0;
-
- /* we can use at most this many bit patterns, lest there not be enough
- available for the remaining symbols at the maximum length (if there were
- no limit to the code length, this would become: most = left - 1) */
- most = (((code_t)left << (max - len)) - syms) /
- (((code_t)1 << (max - len)) - 1);
-
- /* count all possible codes from this juncture and add them up */
- sum = 0;
- for (use = least; use <= most; use++) {
- got = count(syms - use, len + 1, (left - use) << 1);
- sum += got;
- if (got == -1 || sum < got) /* overflow */
- return -1;
- }
-
- /* verify that all recursive calls are productive */
- assert(sum != 0);
-
- /* save the result and return it */
- num[index] = sum;
- return sum;
-}
-
-/* Return true if we've been here before, set to true if not. Set a bit in a
- bit vector to indicate visiting this state. Each (syms,len,left) state
- has a variable size bit vector indexed by (mem,rem). The bit vector is
- lengthened if needed to allow setting the (mem,rem) bit. */
-local int beenhere(int syms, int len, int left, int mem, int rem)
-{
- size_t index; /* index for this state's bit vector */
- size_t offset; /* offset in this state's bit vector */
- int bit; /* mask for this state's bit */
- size_t length; /* length of the bit vector in bytes */
- char *vector; /* new or enlarged bit vector */
-
- /* point to vector for (syms,left,len), bit in vector for (mem,rem) */
- index = INDEX(syms, left, len);
- mem -= 1 << root;
- offset = (mem >> 3) + rem;
- offset = ((offset * (offset + 1)) >> 1) + rem;
- bit = 1 << (mem & 7);
-
- /* see if we've been here */
- length = done[index].len;
- if (offset < length && (done[index].vec[offset] & bit) != 0)
- return 1; /* done this! */
-
- /* we haven't been here before -- set the bit to show we have now */
-
- /* see if we need to lengthen the vector in order to set the bit */
- if (length <= offset) {
- /* if we have one already, enlarge it, zero out the appended space */
- if (length) {
- do {
- length <<= 1;
- } while (length <= offset);
- vector = realloc(done[index].vec, length);
- if (vector != NULL)
- memset(vector + done[index].len, 0, length - done[index].len);
- }
-
- /* otherwise we need to make a new vector and zero it out */
- else {
- length = 1 << (len - root);
- while (length <= offset)
- length <<= 1;
- vector = calloc(length, sizeof(char));
- }
-
- /* in either case, bail if we can't get the memory */
- if (vector == NULL) {
- fputs("abort: unable to allocate enough memory\n", stderr);
- cleanup();
- exit(1);
- }
-
- /* install the new vector */
- done[index].len = length;
- done[index].vec = vector;
- }
-
- /* set the bit */
- done[index].vec[offset] |= bit;
- return 0;
-}
-
-/* Examine all possible codes from the given node (syms, len, left). Compute
- the amount of memory required to build inflate's decoding tables, where the
- number of code structures used so far is mem, and the number remaining in
- the current sub-table is rem. Uses the globals max, code, root, large, and
- done. */
-local void examine(int syms, int len, int left, int mem, int rem)
-{
- int least; /* least number of syms to use at this juncture */
- int most; /* most number of syms to use at this juncture */
- int use; /* number of bit patterns to use in next call */
-
- /* see if we have a complete code */
- if (syms == left) {
- /* set the last code entry */
- code[len] = left;
-
- /* complete computation of memory used by this code */
- while (rem < left) {
- left -= rem;
- rem = 1 << (len - root);
- mem += rem;
- }
- assert(rem == left);
-
- /* if this is a new maximum, show the entries used and the sub-code */
- if (mem > large) {
- large = mem;
- printf("max %d: ", mem);
- for (use = root + 1; use <= max; use++)
- if (code[use])
- printf("%d[%d] ", code[use], use);
- putchar('\n');
- fflush(stdout);
- }
-
- /* remove entries as we drop back down in the recursion */
- code[len] = 0;
- return;
- }
-
- /* prune the tree if we can */
- if (beenhere(syms, len, left, mem, rem))
- return;
-
- /* we need to use at least this many bit patterns so that the code won't be
- incomplete at the next length (more bit patterns than symbols) */
- least = (left << 1) - syms;
- if (least < 0)
- least = 0;
-
- /* we can use at most this many bit patterns, lest there not be enough
- available for the remaining symbols at the maximum length (if there were
- no limit to the code length, this would become: most = left - 1) */
- most = (((code_t)left << (max - len)) - syms) /
- (((code_t)1 << (max - len)) - 1);
-
- /* occupy least table spaces, creating new sub-tables as needed */
- use = least;
- while (rem < use) {
- use -= rem;
- rem = 1 << (len - root);
- mem += rem;
- }
- rem -= use;
-
- /* examine codes from here, updating table space as we go */
- for (use = least; use <= most; use++) {
- code[len] = use;
- examine(syms - use, len + 1, (left - use) << 1,
- mem + (rem ? 1 << (len - root) : 0), rem << 1);
- if (rem == 0) {
- rem = 1 << (len - root);
- mem += rem;
- }
- rem--;
- }
-
- /* remove entries as we drop back down in the recursion */
- code[len] = 0;
-}
-
-/* Look at all sub-codes starting with root + 1 bits. Look at only the valid
- intermediate code states (syms, left, len). For each completed code,
- calculate the amount of memory required by inflate to build the decoding
- tables. Find the maximum amount of memory required and show the code that
- requires that maximum. Uses the globals max, root, and num. */
-local void enough(int syms)
-{
- int n; /* number of remaing symbols for this node */
- int left; /* number of unused bit patterns at this length */
- size_t index; /* index of this case in *num */
-
- /* clear code */
- for (n = 0; n <= max; n++)
- code[n] = 0;
-
- /* look at all (root + 1) bit and longer codes */
- large = 1 << root; /* base table */
- if (root < max) /* otherwise, there's only a base table */
- for (n = 3; n <= syms; n++)
- for (left = 2; left < n; left += 2)
- {
- /* look at all reachable (root + 1) bit nodes, and the
- resulting codes (complete at root + 2 or more) */
- index = INDEX(n, left, root + 1);
- if (root + 1 < max && num[index]) /* reachable node */
- examine(n, root + 1, left, 1 << root, 0);
-
- /* also look at root bit codes with completions at root + 1
- bits (not saved in num, since complete), just in case */
- if (num[index - 1] && n <= left << 1)
- examine((n - left) << 1, root + 1, (n - left) << 1,
- 1 << root, 0);
- }
-
- /* done */
- printf("done: maximum of %d table entries\n", large);
-}
-
-/*
- Examine and show the total number of possible Huffman codes for a given
- maximum number of symbols, initial root table size, and maximum code length
- in bits -- those are the command arguments in that order. The default
- values are 286, 9, and 15 respectively, for the deflate literal/length code.
- The possible codes are counted for each number of coded symbols from two to
- the maximum. The counts for each of those and the total number of codes are
- shown. The maximum number of inflate table entires is then calculated
- across all possible codes. Each new maximum number of table entries and the
- associated sub-code (starting at root + 1 == 10 bits) is shown.
-
- To count and examine Huffman codes that are not length-limited, provide a
- maximum length equal to the number of symbols minus one.
-
- For the deflate literal/length code, use "enough". For the deflate distance
- code, use "enough 30 6".
-
- This uses the %llu printf format to print big_t numbers, which assumes that
- big_t is an unsigned long long. If the big_t type is changed (for example
- to a multiple precision type), the method of printing will also need to be
- updated.
- */
-int main(int argc, char **argv)
-{
- int syms; /* total number of symbols to code */
- int n; /* number of symbols to code for this run */
- big_t got; /* return value of count() */
- big_t sum; /* accumulated number of codes over n */
-
- /* set up globals for cleanup() */
- code = NULL;
- num = NULL;
- done = NULL;
-
- /* get arguments -- default to the deflate literal/length code */
- syms = 286;
- root = 9;
- max = 15;
- if (argc > 1) {
- syms = atoi(argv[1]);
- if (argc > 2) {
- root = atoi(argv[2]);
- if (argc > 3)
- max = atoi(argv[3]);
- }
- }
- if (argc > 4 || syms < 2 || root < 1 || max < 1) {
- fputs("invalid arguments, need: [sym >= 2 [root >= 1 [max >= 1]]]\n",
- stderr);
- return 1;
- }
-
- /* if not restricting the code length, the longest is syms - 1 */
- if (max > syms - 1)
- max = syms - 1;
-
- /* determine the number of bits in a code_t */
- n = 0;
- while (((code_t)1 << n) != 0)
- n++;
-
- /* make sure that the calculation of most will not overflow */
- if (max > n || syms - 2 >= (((code_t)0 - 1) >> (max - 1))) {
- fputs("abort: code length too long for internal types\n", stderr);
- return 1;
- }
-
- /* reject impossible code requests */
- if (syms - 1 > ((code_t)1 << max) - 1) {
- fprintf(stderr, "%d symbols cannot be coded in %d bits\n",
- syms, max);
- return 1;
- }
-
- /* allocate code vector */
- code = calloc(max + 1, sizeof(int));
- if (code == NULL) {
- fputs("abort: unable to allocate enough memory\n", stderr);
- return 1;
- }
-
- /* determine size of saved results array, checking for overflows,
- allocate and clear the array (set all to zero with calloc()) */
- if (syms == 2) /* iff max == 1 */
- num = NULL; /* won't be saving any results */
- else {
- size = syms >> 1;
- if (size > ((size_t)0 - 1) / (n = (syms - 1) >> 1) ||
- (size *= n, size > ((size_t)0 - 1) / (n = max - 1)) ||
- (size *= n, size > ((size_t)0 - 1) / sizeof(big_t)) ||
- (num = calloc(size, sizeof(big_t))) == NULL) {
- fputs("abort: unable to allocate enough memory\n", stderr);
- cleanup();
- return 1;
- }
- }
-
- /* count possible codes for all numbers of symbols, add up counts */
- sum = 0;
- for (n = 2; n <= syms; n++) {
- got = count(n, 1, 2);
- sum += got;
- if (got == -1 || sum < got) { /* overflow */
- fputs("abort: can't count that high!\n", stderr);
- cleanup();
- return 1;
- }
- printf("%llu %d-codes\n", got, n);
- }
- printf("%llu total codes for 2 to %d symbols", sum, syms);
- if (max < syms - 1)
- printf(" (%d-bit length limit)\n", max);
- else
- puts(" (no length limit)");
-
- /* allocate and clear done array for beenhere() */
- if (syms == 2)
- done = NULL;
- else if (size > ((size_t)0 - 1) / sizeof(struct tab) ||
- (done = calloc(size, sizeof(struct tab))) == NULL) {
- fputs("abort: unable to allocate enough memory\n", stderr);
- cleanup();
- return 1;
- }
-
- /* find and show maximum inflate table usage */
- if (root > max) /* reduce root to max length */
- root = max;
- if (syms < ((code_t)1 << (root + 1)))
- enough(syms);
- else
- puts("cannot handle minimum code lengths > root");
-
- /* done */
- cleanup();
- return 0;
-}
diff --git a/cpukit/zlib/examples/zran.c b/cpukit/zlib/examples/zran.c
deleted file mode 100644
index 617a13086f..0000000000
--- a/cpukit/zlib/examples/zran.c
+++ /dev/null
@@ -1,404 +0,0 @@
-/* zran.c -- example of zlib/gzip stream indexing and random access
- * Copyright (C) 2005 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- Version 1.0 29 May 2005 Mark Adler */
-
-/* Illustrate the use of Z_BLOCK, inflatePrime(), and inflateSetDictionary()
- for random access of a compressed file. A file containing a zlib or gzip
- stream is provided on the command line. The compressed stream is decoded in
- its entirety, and an index built with access points about every SPAN bytes
- in the uncompressed output. The compressed file is left open, and can then
- be read randomly, having to decompress on the average SPAN/2 uncompressed
- bytes before getting to the desired block of data.
-
- An access point can be created at the start of any deflate block, by saving
- the starting file offset and bit of that block, and the 32K bytes of
- uncompressed data that precede that block. Also the uncompressed offset of
- that block is saved to provide a referece for locating a desired starting
- point in the uncompressed stream. build_index() works by decompressing the
- input zlib or gzip stream a block at a time, and at the end of each block
- deciding if enough uncompressed data has gone by to justify the creation of
- a new access point. If so, that point is saved in a data structure that
- grows as needed to accommodate the points.
-
- To use the index, an offset in the uncompressed data is provided, for which
- the latest accees point at or preceding that offset is located in the index.
- The input file is positioned to the specified location in the index, and if
- necessary the first few bits of the compressed data is read from the file.
- inflate is initialized with those bits and the 32K of uncompressed data, and
- the decompression then proceeds until the desired offset in the file is
- reached. Then the decompression continues to read the desired uncompressed
- data from the file.
-
- Another approach would be to generate the index on demand. In that case,
- requests for random access reads from the compressed data would try to use
- the index, but if a read far enough past the end of the index is required,
- then further index entries would be generated and added.
-
- There is some fair bit of overhead to starting inflation for the random
- access, mainly copying the 32K byte dictionary. So if small pieces of the
- file are being accessed, it would make sense to implement a cache to hold
- some lookahead and avoid many calls to extract() for small lengths.
-
- Another way to build an index would be to use inflateCopy(). That would
- not be constrained to have access points at block boundaries, but requires
- more memory per access point, and also cannot be saved to file due to the
- use of pointers in the state. The approach here allows for storage of the
- index in a file.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "zlib.h"
-
-#define local static
-
-#define SPAN 1048576L /* desired distance between access points */
-#define WINSIZE 32768U /* sliding window size */
-#define CHUNK 16384 /* file input buffer size */
-
-/* access point entry */
-struct point {
- off_t out; /* corresponding offset in uncompressed data */
- off_t in; /* offset in input file of first full byte */
- int bits; /* number of bits (1-7) from byte at in - 1, or 0 */
- unsigned char window[WINSIZE]; /* preceding 32K of uncompressed data */
-};
-
-/* access point list */
-struct access {
- int have; /* number of list entries filled in */
- int size; /* number of list entries allocated */
- struct point *list; /* allocated list */
-};
-
-/* Deallocate an index built by build_index() */
-local void free_index(struct access *index)
-{
- if (index != NULL) {
- free(index->list);
- free(index);
- }
-}
-
-/* Add an entry to the access point list. If out of memory, deallocate the
- existing list and return NULL. */
-local struct access *addpoint(struct access *index, int bits,
- off_t in, off_t out, unsigned left, unsigned char *window)
-{
- struct point *next;
-
- /* if list is empty, create it (start with eight points) */
- if (index == NULL) {
- index = malloc(sizeof(struct access));
- if (index == NULL) return NULL;
- index->list = malloc(sizeof(struct point) << 3);
- if (index->list == NULL) {
- free(index);
- return NULL;
- }
- index->size = 8;
- index->have = 0;
- }
-
- /* if list is full, make it bigger */
- else if (index->have == index->size) {
- index->size <<= 1;
- next = realloc(index->list, sizeof(struct point) * index->size);
- if (next == NULL) {
- free_index(index);
- return NULL;
- }
- index->list = next;
- }
-
- /* fill in entry and increment how many we have */
- next = index->list + index->have;
- next->bits = bits;
- next->in = in;
- next->out = out;
- if (left)
- memcpy(next->window, window + WINSIZE - left, left);
- if (left < WINSIZE)
- memcpy(next->window + left, window, WINSIZE - left);
- index->have++;
-
- /* return list, possibly reallocated */
- return index;
-}
-
-/* Make one entire pass through the compressed stream and build an index, with
- access points about every span bytes of uncompressed output -- span is
- chosen to balance the speed of random access against the memory requirements
- of the list, about 32K bytes per access point. Note that data after the end
- of the first zlib or gzip stream in the file is ignored. build_index()
- returns the number of access points on success (>= 1), Z_MEM_ERROR for out
- of memory, Z_DATA_ERROR for an error in the input file, or Z_ERRNO for a
- file read error. On success, *built points to the resulting index. */
-local int build_index(FILE *in, off_t span, struct access **built)
-{
- int ret;
- off_t totin, totout; /* our own total counters to avoid 4GB limit */
- off_t last; /* totout value of last access point */
- struct access *index; /* access points being generated */
- z_stream strm;
- unsigned char input[CHUNK];
- unsigned char window[WINSIZE];
-
- /* initialize inflate */
- strm.zalloc = Z_NULL;
- strm.zfree = Z_NULL;
- strm.opaque = Z_NULL;
- strm.avail_in = 0;
- strm.next_in = Z_NULL;
- ret = inflateInit2(&strm, 47); /* automatic zlib or gzip decoding */
- if (ret != Z_OK)
- return ret;
-
- /* inflate the input, maintain a sliding window, and build an index -- this
- also validates the integrity of the compressed data using the check
- information at the end of the gzip or zlib stream */
- totin = totout = last = 0;
- index = NULL; /* will be allocated by first addpoint() */
- strm.avail_out = 0;
- do {
- /* get some compressed data from input file */
- strm.avail_in = fread(input, 1, CHUNK, in);
- if (ferror(in)) {
- ret = Z_ERRNO;
- goto build_index_error;
- }
- if (strm.avail_in == 0) {
- ret = Z_DATA_ERROR;
- goto build_index_error;
- }
- strm.next_in = input;
-
- /* process all of that, or until end of stream */
- do {
- /* reset sliding window if necessary */
- if (strm.avail_out == 0) {
- strm.avail_out = WINSIZE;
- strm.next_out = window;
- }
-
- /* inflate until out of input, output, or at end of block --
- update the total input and output counters */
- totin += strm.avail_in;
- totout += strm.avail_out;
- ret = inflate(&strm, Z_BLOCK); /* return at end of block */
- totin -= strm.avail_in;
- totout -= strm.avail_out;
- if (ret == Z_NEED_DICT)
- ret = Z_DATA_ERROR;
- if (ret == Z_MEM_ERROR || ret == Z_DATA_ERROR)
- goto build_index_error;
- if (ret == Z_STREAM_END)
- break;
-
- /* if at end of block, consider adding an index entry (note that if
- data_type indicates an end-of-block, then all of the
- uncompressed data from that block has been delivered, and none
- of the compressed data after that block has been consumed,
- except for up to seven bits) -- the totout == 0 provides an
- entry point after the zlib or gzip header, and assures that the
- index always has at least one access point; we avoid creating an
- access point after the last block by checking bit 6 of data_type
- */
- if ((strm.data_type & 128) && !(strm.data_type & 64) &&
- (totout == 0 || totout - last > span)) {
- index = addpoint(index, strm.data_type & 7, totin,
- totout, strm.avail_out, window);
- if (index == NULL) {
- ret = Z_MEM_ERROR;
- goto build_index_error;
- }
- last = totout;
- }
- } while (strm.avail_in != 0);
- } while (ret != Z_STREAM_END);
-
- /* clean up and return index (release unused entries in list) */
- (void)inflateEnd(&strm);
- index = realloc(index, sizeof(struct point) * index->have);
- index->size = index->have;
- *built = index;
- return index->size;
-
- /* return error */
- build_index_error:
- (void)inflateEnd(&strm);
- if (index != NULL)
- free_index(index);
- return ret;
-}
-
-/* Use the index to read len bytes from offset into buf, return bytes read or
- negative for error (Z_DATA_ERROR or Z_MEM_ERROR). If data is requested past
- the end of the uncompressed data, then extract() will return a value less
- than len, indicating how much as actually read into buf. This function
- should not return a data error unless the file was modified since the index
- was generated. extract() may also return Z_ERRNO if there is an error on
- reading or seeking the input file. */
-local int extract(FILE *in, struct access *index, off_t offset,
- unsigned char *buf, int len)
-{
- int ret, skip;
- z_stream strm;
- struct point *here;
- unsigned char input[CHUNK];
- unsigned char discard[WINSIZE];
-
- /* proceed only if something reasonable to do */
- if (len < 0)
- return 0;
-
- /* find where in stream to start */
- here = index->list;
- ret = index->have;
- while (--ret && here[1].out <= offset)
- here++;
-
- /* initialize file and inflate state to start there */
- strm.zalloc = Z_NULL;
- strm.zfree = Z_NULL;
- strm.opaque = Z_NULL;
- strm.avail_in = 0;
- strm.next_in = Z_NULL;
- ret = inflateInit2(&strm, -15); /* raw inflate */
- if (ret != Z_OK)
- return ret;
- ret = fseeko(in, here->in - (here->bits ? 1 : 0), SEEK_SET);
- if (ret == -1)
- goto extract_ret;
- if (here->bits) {
- ret = getc(in);
- if (ret == -1) {
- ret = ferror(in) ? Z_ERRNO : Z_DATA_ERROR;
- goto extract_ret;
- }
- (void)inflatePrime(&strm, here->bits, ret >> (8 - here->bits));
- }
- (void)inflateSetDictionary(&strm, here->window, WINSIZE);
-
- /* skip uncompressed bytes until offset reached, then satisfy request */
- offset -= here->out;
- strm.avail_in = 0;
- skip = 1; /* while skipping to offset */
- do {
- /* define where to put uncompressed data, and how much */
- if (offset == 0 && skip) { /* at offset now */
- strm.avail_out = len;
- strm.next_out = buf;
- skip = 0; /* only do this once */
- }
- if (offset > WINSIZE) { /* skip WINSIZE bytes */
- strm.avail_out = WINSIZE;
- strm.next_out = discard;
- offset -= WINSIZE;
- }
- else if (offset != 0) { /* last skip */
- strm.avail_out = (unsigned)offset;
- strm.next_out = discard;
- offset = 0;
- }
-
- /* uncompress until avail_out filled, or end of stream */
- do {
- if (strm.avail_in == 0) {
- strm.avail_in = fread(input, 1, CHUNK, in);
- if (ferror(in)) {
- ret = Z_ERRNO;
- goto extract_ret;
- }
- if (strm.avail_in == 0) {
- ret = Z_DATA_ERROR;
- goto extract_ret;
- }
- strm.next_in = input;
- }
- ret = inflate(&strm, Z_NO_FLUSH); /* normal inflate */
- if (ret == Z_NEED_DICT)
- ret = Z_DATA_ERROR;
- if (ret == Z_MEM_ERROR || ret == Z_DATA_ERROR)
- goto extract_ret;
- if (ret == Z_STREAM_END)
- break;
- } while (strm.avail_out != 0);
-
- /* if reach end of stream, then don't keep trying to get more */
- if (ret == Z_STREAM_END)
- break;
-
- /* do until offset reached and requested data read, or stream ends */
- } while (skip);
-
- /* compute number of uncompressed bytes read after offset */
- ret = skip ? 0 : len - strm.avail_out;
-
- /* clean up and return bytes read or error */
- extract_ret:
- (void)inflateEnd(&strm);
- return ret;
-}
-
-/* Demonstrate the use of build_index() and extract() by processing the file
- provided on the command line, and the extracting 16K from about 2/3rds of
- the way through the uncompressed output, and writing that to stdout. */
-int main(int argc, char **argv)
-{
- int len;
- off_t offset;
- FILE *in;
- struct access *index = NULL;
- unsigned char buf[CHUNK];
-
- /* open input file */
- if (argc != 2) {
- fprintf(stderr, "usage: zran file.gz\n");
- return 1;
- }
- in = fopen(argv[1], "rb");
- if (in == NULL) {
- fprintf(stderr, "zran: could not open %s for reading\n", argv[1]);
- return 1;
- }
-
- /* build index */
- len = build_index(in, SPAN, &index);
- if (len < 0) {
- fclose(in);
- switch (len) {
- case Z_MEM_ERROR:
- fprintf(stderr, "zran: out of memory\n");
- break;
- case Z_DATA_ERROR:
- fprintf(stderr, "zran: compressed data error in %s\n", argv[1]);
- break;
- case Z_ERRNO:
- fprintf(stderr, "zran: read error on %s\n", argv[1]);
- break;
- default:
- fprintf(stderr, "zran: error %d while building index\n", len);
- }
- return 1;
- }
- fprintf(stderr, "zran: built index with %d access points\n", len);
-
- /* use index by reading some bytes from an arbitrary offset */
- offset = (index->list[index->have - 1].out << 1) / 3;
- len = extract(in, index, offset, buf, CHUNK);
- if (len < 0)
- fprintf(stderr, "zran: extraction failed: %s error\n",
- len == Z_MEM_ERROR ? "out of memory" : "input corrupted");
- else {
- fwrite(buf, 1, len, stdout);
- fprintf(stderr, "zran: extracted %d bytes at %llu\n", len, offset);
- }
-
- /* clean up and exit */
- free_index(index);
- fclose(in);
- return 0;
-}
diff --git a/cpukit/zlib/old/as400/bndsrc b/cpukit/zlib/old/as400/bndsrc
deleted file mode 100644
index 9cf94bb356..0000000000
--- a/cpukit/zlib/old/as400/bndsrc
+++ /dev/null
@@ -1,132 +0,0 @@
-STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('ZLIB')
-
-/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
-/* Version 1.1.3 entry points. */
-/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
-
-/********************************************************************/
-/* *MODULE ADLER32 ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("adler32")
-
-/********************************************************************/
-/* *MODULE COMPRESS ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("compress")
- EXPORT SYMBOL("compress2")
-
-/********************************************************************/
-/* *MODULE CRC32 ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("crc32")
- EXPORT SYMBOL("get_crc_table")
-
-/********************************************************************/
-/* *MODULE DEFLATE ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("deflate")
- EXPORT SYMBOL("deflateEnd")
- EXPORT SYMBOL("deflateSetDictionary")
- EXPORT SYMBOL("deflateCopy")
- EXPORT SYMBOL("deflateReset")
- EXPORT SYMBOL("deflateParams")
- EXPORT SYMBOL("deflatePrime")
- EXPORT SYMBOL("deflateInit_")
- EXPORT SYMBOL("deflateInit2_")
-
-/********************************************************************/
-/* *MODULE GZIO ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("gzopen")
- EXPORT SYMBOL("gzdopen")
- EXPORT SYMBOL("gzsetparams")
- EXPORT SYMBOL("gzread")
- EXPORT SYMBOL("gzwrite")
- EXPORT SYMBOL("gzprintf")
- EXPORT SYMBOL("gzputs")
- EXPORT SYMBOL("gzgets")
- EXPORT SYMBOL("gzputc")
- EXPORT SYMBOL("gzgetc")
- EXPORT SYMBOL("gzflush")
- EXPORT SYMBOL("gzseek")
- EXPORT SYMBOL("gzrewind")
- EXPORT SYMBOL("gztell")
- EXPORT SYMBOL("gzeof")
- EXPORT SYMBOL("gzclose")
- EXPORT SYMBOL("gzerror")
-
-/********************************************************************/
-/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("inflate")
- EXPORT SYMBOL("inflateEnd")
- EXPORT SYMBOL("inflateSetDictionary")
- EXPORT SYMBOL("inflateSync")
- EXPORT SYMBOL("inflateReset")
- EXPORT SYMBOL("inflateInit_")
- EXPORT SYMBOL("inflateInit2_")
- EXPORT SYMBOL("inflateSyncPoint")
-
-/********************************************************************/
-/* *MODULE UNCOMPR ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("uncompress")
-
-/********************************************************************/
-/* *MODULE ZUTIL ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("zlibVersion")
- EXPORT SYMBOL("zError")
-
-/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
-/* Version 1.2.1 additional entry points. */
-/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
-
-/********************************************************************/
-/* *MODULE COMPRESS ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("compressBound")
-
-/********************************************************************/
-/* *MODULE DEFLATE ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("deflateBound")
-
-/********************************************************************/
-/* *MODULE GZIO ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("gzungetc")
- EXPORT SYMBOL("gzclearerr")
-
-/********************************************************************/
-/* *MODULE INFBACK ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("inflateBack")
- EXPORT SYMBOL("inflateBackEnd")
- EXPORT SYMBOL("inflateBackInit_")
-
-/********************************************************************/
-/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("inflateCopy")
-
-/********************************************************************/
-/* *MODULE ZUTIL ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("zlibCompileFlags")
-
-ENDPGMEXP
diff --git a/cpukit/zlib/old/as400/compile.clp b/cpukit/zlib/old/as400/compile.clp
deleted file mode 100644
index 8554951500..0000000000
--- a/cpukit/zlib/old/as400/compile.clp
+++ /dev/null
@@ -1,123 +0,0 @@
-/******************************************************************************/
-/* */
-/* ZLIB */
-/* */
-/* Compile sources into modules and link them into a service program. */
-/* */
-/******************************************************************************/
-
- PGM
-
-/* Configuration adjustable parameters. */
-
- DCL VAR(&SRCLIB) TYPE(*CHAR) LEN(10) +
- VALUE('ZLIB') /* Source library. */
- DCL VAR(&SRCFILE) TYPE(*CHAR) LEN(10) +
- VALUE('SOURCES') /* Source member file. */
- DCL VAR(&CTLFILE) TYPE(*CHAR) LEN(10) +
- VALUE('TOOLS') /* Control member file. */
-
- DCL VAR(&MODLIB) TYPE(*CHAR) LEN(10) +
- VALUE('ZLIB') /* Module library. */
-
- DCL VAR(&SRVLIB) TYPE(*CHAR) LEN(10) +
- VALUE('LGPL') /* Service program library. */
-
- DCL VAR(&CFLAGS) TYPE(*CHAR) +
- VALUE('OPTIMIZE(40)') /* Compile options. */
-
-
-/* Working storage. */
-
- DCL VAR(&CMDLEN) TYPE(*DEC) LEN(15 5) VALUE(300) /* Command length. */
- DCL VAR(&CMD) TYPE(*CHAR) LEN(512)
-
-
-/* Compile sources into modules. */
-
- CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT +
- '/ADLER32) SRCFILE(' *TCAT +
- &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT +
- ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT +
- '/COMPRESS) SRCFILE(' *TCAT +
- &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT +
- ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT +
- '/CRC32) SRCFILE(' *TCAT +
- &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT +
- ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT +
- '/DEFLATE) SRCFILE(' *TCAT +
- &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT +
- ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT +
- '/GZIO) SRCFILE(' *TCAT +
- &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT +
- ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT +
- '/INFBACK) SRCFILE(' *TCAT +
- &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT +
- ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT +
- '/INFFAST) SRCFILE(' *TCAT +
- &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT +
- ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT +
- '/INFLATE) SRCFILE(' *TCAT +
- &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT +
- ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT +
- '/INFTREES) SRCFILE(' *TCAT +
- &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT +
- ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT +
- '/TREES) SRCFILE(' *TCAT +
- &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT +
- ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT +
- '/UNCOMPR) SRCFILE(' *TCAT +
- &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT +
- ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT +
- '/ZUTIL) SRCFILE(' *TCAT +
- &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT +
- ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
-
-/* Link modules into a service program. */
-
- CRTSRVPGM SRVPGM(&SRVLIB/ZLIB) +
- MODULE(&MODLIB/ADLER32 &MODLIB/COMPRESS +
- &MODLIB/CRC32 &MODLIB/DEFLATE +
- &MODLIB/GZIO &MODLIB/INFBACK +
- &MODLIB/INFFAST &MODLIB/INFLATE +
- &MODLIB/INFTREES &MODLIB/TREES +
- &MODLIB/UNCOMPR &MODLIB/ZUTIL) +
- SRCFILE(&SRCLIB/&CTLFILE) SRCMBR(BNDSRC) +
- TEXT('ZLIB 1.2.3') TGTRLS(V4R4M0)
-
- ENDPGM
diff --git a/cpukit/zlib/old/as400/readme.txt b/cpukit/zlib/old/as400/readme.txt
deleted file mode 100644
index beae13f565..0000000000
--- a/cpukit/zlib/old/as400/readme.txt
+++ /dev/null
@@ -1,111 +0,0 @@
- ZLIB version 1.2.3 for AS400 installation instructions
-
-I) From an AS400 *SAVF file:
-
-1) Unpacking archive to an AS400 save file
-
-On the AS400:
-
-_ Create the ZLIB AS400 library:
-
- CRTLIB LIB(ZLIB) TYPE(PROD) TEXT('ZLIB compression API library')
-
-_ Create a work save file, for example:
-
- CRTSAVF FILE(ZLIB/ZLIBSAVF)
-
-On a PC connected to the target AS400:
-
-_ Unpack the save file image to a PC file "ZLIBSAVF"
-_ Upload this file into the save file on the AS400, for example
- using ftp in BINARY mode.
-
-
-2) Populating the ZLIB AS400 source library
-
-On the AS400:
-
-_ Extract the saved objects into the ZLIB AS400 library using:
-
-RSTOBJ OBJ(*ALL) SAVLIB(ZLIB) DEV(*SAVF) SAVF(ZLIB/ZLIBSAVF) RSTLIB(ZLIB)
-
-
-3) Customize installation:
-
-_ Edit CL member ZLIB/TOOLS(COMPILE) and change parameters if needed,
- according to the comments.
-
-_ Compile this member with:
-
- CRTCLPGM PGM(ZLIB/COMPILE) SRCFILE(ZLIB/TOOLS) SRCMBR(COMPILE)
-
-
-4) Compile and generate the service program:
-
-_ This can now be done by executing:
-
- CALL PGM(ZLIB/COMPILE)
-
-
-
-II) From the original source distribution:
-
-1) On the AS400, create the source library:
-
- CRTLIB LIB(ZLIB) TYPE(PROD) TEXT('ZLIB compression API library')
-
-2) Create the source files:
-
- CRTSRCPF FILE(ZLIB/SOURCES) RCDLEN(112) TEXT('ZLIB library modules')
- CRTSRCPF FILE(ZLIB/H) RCDLEN(112) TEXT('ZLIB library includes')
- CRTSRCPF FILE(ZLIB/TOOLS) RCDLEN(112) TEXT('ZLIB library control utilities')
-
-3) From the machine hosting the distribution files, upload them (with
- FTP in text mode, for example) according to the following table:
-
- Original AS400 AS400 AS400 AS400
- file file member type description
- SOURCES Original ZLIB C subprogram sources
- adler32.c ADLER32 C ZLIB - Compute the Adler-32 checksum of a dta strm
- compress.c COMPRESS C ZLIB - Compress a memory buffer
- crc32.c CRC32 C ZLIB - Compute the CRC-32 of a data stream
- deflate.c DEFLATE C ZLIB - Compress data using the deflation algorithm
- gzio.c GZIO C ZLIB - IO on .gz files
- infback.c INFBACK C ZLIB - Inflate using a callback interface
- inffast.c INFFAST C ZLIB - Fast proc. literals & length/distance pairs
- inflate.c INFLATE C ZLIB - Interface to inflate modules
- inftrees.c INFTREES C ZLIB - Generate Huffman trees for efficient decode
- trees.c TREES C ZLIB - Output deflated data using Huffman coding
- uncompr.c UNCOMPR C ZLIB - Decompress a memory buffer
- zutil.c ZUTIL C ZLIB - Target dependent utility functions
- H Original ZLIB C and ILE/RPG include files
- crc32.h CRC32 C ZLIB - CRC32 tables
- deflate.h DEFLATE C ZLIB - Internal compression state
- inffast.h INFFAST C ZLIB - Header to use inffast.c
- inffixed.h INFFIXED C ZLIB - Table for decoding fixed codes
- inflate.h INFLATE C ZLIB - Internal inflate state definitions
- inftrees.h INFTREES C ZLIB - Header to use inftrees.c
- trees.h TREES C ZLIB - Created automatically with -DGEN_TREES_H
- zconf.h ZCONF C ZLIB - Compression library configuration
- zlib.h ZLIB C ZLIB - Compression library C user interface
- as400/zlib.inc ZLIB.INC RPGLE ZLIB - Compression library ILE RPG user interface
- zutil.h ZUTIL C ZLIB - Internal interface and configuration
- TOOLS Building source software & AS/400 README
- as400/bndsrc BNDSRC Entry point exportation list
- as400/compile.clp COMPILE CLP Compile sources & generate service program
- as400/readme.txt README TXT Installation instructions
-
-4) Continue as in I)3).
-
-
-
-
-Notes: For AS400 ILE RPG programmers, a /copy member defining the ZLIB
- API prototypes for ILE RPG can be found in ZLIB/H(ZLIB.INC).
- Please read comments in this member for more information.
-
- Remember that most foreign textual data are ASCII coded: this
- implementation does not handle conversion from/to ASCII, so
- text data code conversions must be done explicitely.
-
- Always open zipped files in binary mode.
diff --git a/cpukit/zlib/old/visualc6/README.txt b/cpukit/zlib/old/visualc6/README.txt
deleted file mode 100644
index d0296c272c..0000000000
--- a/cpukit/zlib/old/visualc6/README.txt
+++ /dev/null
@@ -1,73 +0,0 @@
-Microsoft Developer Studio Project Files, Format Version 6.00 for zlib.
-
-Copyright (C) 2000-2004 Simon-Pierre Cadieux.
-Copyright (C) 2004 Cosmin Truta.
-For conditions of distribution and use, see copyright notice in zlib.h.
-
-
-This project builds the zlib binaries as follows:
-
-* Win32_DLL_Release\zlib1.dll DLL build
-* Win32_DLL_Debug\zlib1d.dll DLL build (debug version)
-* Win32_DLL_ASM_Release\zlib1.dll DLL build using ASM code
-* Win32_DLL_ASM_Debug\zlib1d.dll DLL build using ASM code (debug version)
-* Win32_LIB_Release\zlib.lib static build
-* Win32_LIB_Debug\zlibd.lib static build (debug version)
-* Win32_LIB_ASM_Release\zlib.lib static build using ASM code
-* Win32_LIB_ASM_Debug\zlibd.lib static build using ASM code (debug version)
-
-
-For more information regarding the DLL builds, please see the DLL FAQ
-in ..\..\win32\DLL_FAQ.txt.
-
-
-To build and test:
-
-1) On the main menu, select "File | Open Workspace".
- Open "zlib.dsw".
-
-2) Select "Build | Set Active Configuration".
- Choose the configuration you wish to build.
-
-3) Select "Build | Clean".
-
-4) Select "Build | Build ... (F7)". Ignore warning messages about
- not being able to find certain include files (e.g. alloc.h).
-
-5) If you built one of the sample programs (example or minigzip),
- select "Build | Execute ... (Ctrl+F5)".
-
-
-To use:
-
-1) Select "Project | Settings (Alt+F7)".
- Make note of the configuration names used in your project.
- Usually, these names are "Win32 Release" and "Win32 Debug".
-
-2) In the Workspace window, select the "FileView" tab.
- Right-click on the root item "Workspace '...'".
- Select "Insert Project into Workspace".
- Switch on the checkbox "Dependency of:", and select the name
- of your project. Open "zlib.dsp".
-
-3) Select "Build | Configurations".
- For each configuration of your project:
- 3.1) Choose the zlib configuration you wish to use.
- 3.2) Click on "Add".
- 3.3) Set the new zlib configuration name to the name used by
- the configuration from the current iteration.
-
-4) Select "Build | Set Active Configuration".
- Choose the configuration you wish to build.
-
-5) Select "Build | Build ... (F7)".
-
-6) If you built an executable program, select
- "Build | Execute ... (Ctrl+F5)".
-
-
-Note:
-
-To build the ASM-enabled code, you need Microsoft Assembler
-(ML.EXE). You can get it by downloading and installing the
-latest Processor Pack for Visual C++ 6.0.
diff --git a/cpukit/zlib/old/visualc6/example.dsp b/cpukit/zlib/old/visualc6/example.dsp
deleted file mode 100644
index d3580525bd..0000000000
--- a/cpukit/zlib/old/visualc6/example.dsp
+++ /dev/null
@@ -1,278 +0,0 @@
-# Microsoft Developer Studio Project File - Name="example" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=example - Win32 LIB Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "example.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "example.mak" CFG="example - Win32 LIB Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "example - Win32 DLL ASM Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "example - Win32 DLL ASM Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "example - Win32 DLL Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "example - Win32 DLL Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "example - Win32 LIB ASM Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "example - Win32 LIB ASM Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "example - Win32 LIB Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "example - Win32 LIB Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "example - Win32 DLL ASM Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "example___Win32_DLL_ASM_Release"
-# PROP BASE Intermediate_Dir "example___Win32_DLL_ASM_Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Win32_DLL_ASM_Release"
-# PROP Intermediate_Dir "Win32_DLL_ASM_Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "example - Win32 DLL ASM Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "example___Win32_DLL_ASM_Debug"
-# PROP BASE Intermediate_Dir "example___Win32_DLL_ASM_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Win32_DLL_ASM_Debug"
-# PROP Intermediate_Dir "Win32_DLL_ASM_Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF "$(CFG)" == "example - Win32 DLL Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "example___Win32_DLL_Release"
-# PROP BASE Intermediate_Dir "example___Win32_DLL_Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Win32_DLL_Release"
-# PROP Intermediate_Dir "Win32_DLL_Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "example - Win32 DLL Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "example___Win32_DLL_Debug"
-# PROP BASE Intermediate_Dir "example___Win32_DLL_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Win32_DLL_Debug"
-# PROP Intermediate_Dir "Win32_DLL_Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF "$(CFG)" == "example - Win32 LIB ASM Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "example___Win32_LIB_ASM_Release"
-# PROP BASE Intermediate_Dir "example___Win32_LIB_ASM_Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Win32_LIB_ASM_Release"
-# PROP Intermediate_Dir "Win32_LIB_ASM_Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "example - Win32 LIB ASM Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "example___Win32_LIB_ASM_Debug"
-# PROP BASE Intermediate_Dir "example___Win32_LIB_ASM_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Win32_LIB_ASM_Debug"
-# PROP Intermediate_Dir "Win32_LIB_ASM_Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF "$(CFG)" == "example - Win32 LIB Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "example___Win32_LIB_Release"
-# PROP BASE Intermediate_Dir "example___Win32_LIB_Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Win32_LIB_Release"
-# PROP Intermediate_Dir "Win32_LIB_Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "example - Win32 LIB Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "example___Win32_LIB_Debug"
-# PROP BASE Intermediate_Dir "example___Win32_LIB_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Win32_LIB_Debug"
-# PROP Intermediate_Dir "Win32_LIB_Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "example - Win32 DLL ASM Release"
-# Name "example - Win32 DLL ASM Debug"
-# Name "example - Win32 DLL Release"
-# Name "example - Win32 DLL Debug"
-# Name "example - Win32 LIB ASM Release"
-# Name "example - Win32 LIB ASM Debug"
-# Name "example - Win32 LIB Release"
-# Name "example - Win32 LIB Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\example.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\zconf.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\zlib.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/cpukit/zlib/old/visualc6/minigzip.dsp b/cpukit/zlib/old/visualc6/minigzip.dsp
deleted file mode 100644
index 71034684d8..0000000000
--- a/cpukit/zlib/old/visualc6/minigzip.dsp
+++ /dev/null
@@ -1,278 +0,0 @@
-# Microsoft Developer Studio Project File - Name="minigzip" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=minigzip - Win32 LIB Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "minigzip.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "minigzip.mak" CFG="minigzip - Win32 LIB Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "minigzip - Win32 DLL ASM Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "minigzip - Win32 DLL ASM Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "minigzip - Win32 DLL Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "minigzip - Win32 DLL Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "minigzip - Win32 LIB ASM Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "minigzip - Win32 LIB ASM Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "minigzip - Win32 LIB Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "minigzip - Win32 LIB Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "minigzip - Win32 DLL ASM Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "minigzip___Win32_DLL_ASM_Release"
-# PROP BASE Intermediate_Dir "minigzip___Win32_DLL_ASM_Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Win32_DLL_ASM_Release"
-# PROP Intermediate_Dir "Win32_DLL_ASM_Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "minigzip - Win32 DLL ASM Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "minigzip___Win32_DLL_ASM_Debug"
-# PROP BASE Intermediate_Dir "minigzip___Win32_DLL_ASM_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Win32_DLL_ASM_Debug"
-# PROP Intermediate_Dir "Win32_DLL_ASM_Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF "$(CFG)" == "minigzip - Win32 DLL Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "minigzip___Win32_DLL_Release"
-# PROP BASE Intermediate_Dir "minigzip___Win32_DLL_Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Win32_DLL_Release"
-# PROP Intermediate_Dir "Win32_DLL_Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "minigzip - Win32 DLL Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "minigzip___Win32_DLL_Debug"
-# PROP BASE Intermediate_Dir "minigzip___Win32_DLL_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Win32_DLL_Debug"
-# PROP Intermediate_Dir "Win32_DLL_Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF "$(CFG)" == "minigzip - Win32 LIB ASM Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "minigzip___Win32_LIB_ASM_Release"
-# PROP BASE Intermediate_Dir "minigzip___Win32_LIB_ASM_Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Win32_LIB_ASM_Release"
-# PROP Intermediate_Dir "Win32_LIB_ASM_Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "minigzip - Win32 LIB ASM Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "minigzip___Win32_LIB_ASM_Debug"
-# PROP BASE Intermediate_Dir "minigzip___Win32_LIB_ASM_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Win32_LIB_ASM_Debug"
-# PROP Intermediate_Dir "Win32_LIB_ASM_Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF "$(CFG)" == "minigzip - Win32 LIB Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "minigzip___Win32_LIB_Release"
-# PROP BASE Intermediate_Dir "minigzip___Win32_LIB_Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Win32_LIB_Release"
-# PROP Intermediate_Dir "Win32_LIB_Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W3 /O2 /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "NDEBUG" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "minigzip - Win32 LIB Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "minigzip___Win32_LIB_Debug"
-# PROP BASE Intermediate_Dir "minigzip___Win32_LIB_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Win32_LIB_Debug"
-# PROP Intermediate_Dir "Win32_LIB_Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_DEBUG" /FR /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "minigzip - Win32 DLL ASM Release"
-# Name "minigzip - Win32 DLL ASM Debug"
-# Name "minigzip - Win32 DLL Release"
-# Name "minigzip - Win32 DLL Debug"
-# Name "minigzip - Win32 LIB ASM Release"
-# Name "minigzip - Win32 LIB ASM Debug"
-# Name "minigzip - Win32 LIB Release"
-# Name "minigzip - Win32 LIB Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\minigzip.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\zconf.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\zlib.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/cpukit/zlib/old/visualc6/zlib.dsw b/cpukit/zlib/old/visualc6/zlib.dsw
deleted file mode 100644
index 3a771fce07..0000000000
--- a/cpukit/zlib/old/visualc6/zlib.dsw
+++ /dev/null
@@ -1,59 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "example"=.\example.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name zlib
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "minigzip"=.\minigzip.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name zlib
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "zlib"=.\zlib.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/cpukit/zlib/zlib.pc.in b/cpukit/zlib/zlib.pc.in
deleted file mode 100644
index b4f98e5e61..0000000000
--- a/cpukit/zlib/zlib.pc.in
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: zlib
-Description: zlib compression library
-Version: @VERSION@
-
-Requires:
-Libs: -L${libdir} -lz
-Cflags: -I${includedir}
diff --git a/cpukit/zlib/zlib2ansi b/cpukit/zlib/zlib2ansi
deleted file mode 100755
index 15e3e165f3..0000000000
--- a/cpukit/zlib/zlib2ansi
+++ /dev/null
@@ -1,152 +0,0 @@
-#!/usr/bin/perl
-
-# Transform K&R C function definitions into ANSI equivalent.
-#
-# Author: Paul Marquess
-# Version: 1.0
-# Date: 3 October 2006
-
-# TODO
-#
-# Asumes no function pointer parameters. unless they are typedefed.
-# Assumes no literal strings that look like function definitions
-# Assumes functions start at the beginning of a line
-
-use strict;
-use warnings;
-
-local $/;
-$_ = <>;
-
-my $sp = qr{ \s* (?: /\* .*? \*/ )? \s* }x; # assume no nested comments
-
-my $d1 = qr{ $sp (?: [\w\*\s]+ $sp)* $sp \w+ $sp [\[\]\s]* $sp }x ;
-my $decl = qr{ $sp (?: \w+ $sp )+ $d1 }xo ;
-my $dList = qr{ $sp $decl (?: $sp , $d1 )* $sp ; $sp }xo ;
-
-
-while (s/^
- ( # Start $1
- ( # Start $2
- .*? # Minimal eat content
- ( ^ \w [\w\s\*]+ ) # $3 -- function name
- \s* # optional whitespace
- ) # $2 - Matched up to before parameter list
-
- \( \s* # Literal "(" + optional whitespace
- ( [^\)]+ ) # $4 - one or more anythings except ")"
- \s* \) # optional whitespace surrounding a Literal ")"
-
- ( (?: $dList )+ ) # $5
-
- $sp ^ { # literal "{" at start of line
- ) # Remember to $1
- //xsom
- )
-{
- my $all = $1 ;
- my $prefix = $2;
- my $param_list = $4 ;
- my $params = $5;
-
- StripComments($params);
- StripComments($param_list);
- $param_list =~ s/^\s+//;
- $param_list =~ s/\s+$//;
-
- my $i = 0 ;
- my %pList = map { $_ => $i++ }
- split /\s*,\s*/, $param_list;
- my $pMatch = '(\b' . join('|', keys %pList) . '\b)\W*$' ;
-
- my @params = split /\s*;\s*/, $params;
- my @outParams = ();
- foreach my $p (@params)
- {
- if ($p =~ /,/)
- {
- my @bits = split /\s*,\s*/, $p;
- my $first = shift @bits;
- $first =~ s/^\s*//;
- push @outParams, $first;
- $first =~ /^(\w+\s*)/;
- my $type = $1 ;
- push @outParams, map { $type . $_ } @bits;
- }
- else
- {
- $p =~ s/^\s+//;
- push @outParams, $p;
- }
- }
-
-
- my %tmp = map { /$pMatch/; $_ => $pList{$1} }
- @outParams ;
-
- @outParams = map { " $_" }
- sort { $tmp{$a} <=> $tmp{$b} }
- @outParams ;
-
- print $prefix ;
- print "(\n" . join(",\n", @outParams) . ")\n";
- print "{" ;
-
-}
-
-# Output any trailing code.
-print ;
-exit 0;
-
-
-sub StripComments
-{
-
- no warnings;
-
- # Strip C & C++ coments
- # From the perlfaq
- $_[0] =~
-
- s{
- /\* ## Start of /* ... */ comment
- [^*]*\*+ ## Non-* followed by 1-or-more *'s
- (
- [^/*][^*]*\*+
- )* ## 0-or-more things which don't start with /
- ## but do end with '*'
- / ## End of /* ... */ comment
-
- | ## OR C++ Comment
- // ## Start of C++ comment //
- [^\n]* ## followed by 0-or-more non end of line characters
-
- | ## OR various things which aren't comments:
-
- (
- " ## Start of " ... " string
- (
- \\. ## Escaped char
- | ## OR
- [^"\\] ## Non "\
- )*
- " ## End of " ... " string
-
- | ## OR
-
- ' ## Start of ' ... ' string
- (
- \\. ## Escaped char
- | ## OR
- [^'\\] ## Non '\
- )*
- ' ## End of ' ... ' string
-
- | ## OR
-
- . ## Anything other char
- [^/"'\\]* ## Chars which doesn't start a comment, string or escape
- )
- }{$2}gxs;
-
-}