[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-cvs: pcb.git: branch: master updated (ebcc08a6d4d8d3071e4fb31e7e010d0c095c7ad9)



The branch, master has been updated
       via  ebcc08a6d4d8d3071e4fb31e7e010d0c095c7ad9 (commit)
       via  b257c10be738af0f256a3fe80132447eb2d18a4b (commit)
      from  f6c2d4907583614a10918a121f45670620f1946e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


=========
 Summary
=========

 Makefile.am                                        |    4 +-
 README.w32                                         |   22 ++
 README.win32                                       |   64 ----
 configure.ac                                       |    6 +-
 w32/.gitignore                                     |    3 +
 w32/Makefile.am                                    |   18 +
 w32/README                                         |   50 +++
 w32/build-all.sh                                   |   50 +++
 w32/minipack.conf                                  |   40 +++
 w32/mpk                                            |  130 +++++++
 ...001-Export-sysbols-when-building-as-a-DLL.patch |   35 ++
 ...tool-requires-no-undefined-to-build-a-DLL.patch |   26 ++
 ...nflit-between-libjpeg-and-windows-headers.patch |   33 ++
 w32/patches/gettext/01-revert-sed-string.patch     |   21 ++
 .../02-Avoid-missing-open-argument-error.patch     |   15 +
 w32/patches/gtk+/01-mousewheel.patch               |   29 ++
 w32/patches/zlib/01-shared-lib-support.patch       |  249 +++++++++++++
 w32/patches/zlib/02-cross-build.patch              |   61 ++++
 w32/recipes/atk.recipe                             |    4 +
 w32/recipes/cairo.recipe                           |    8 +
 w32/recipes/gd.recipe                              |   29 ++
 w32/recipes/gettext.recipe                         |    8 +
 w32/recipes/glib.recipe                            |    8 +
 w32/recipes/gtk+.recipe                            |   14 +
 w32/recipes/jpeg.recipe                            |    5 +
 w32/recipes/libiconv.recipe                        |    4 +
 w32/recipes/libpng.recipe                          |   13 +
 w32/recipes/pango.recipe                           |    9 +
 w32/recipes/pcb.recipe                             |   18 +
 w32/recipes/pixman.recipe                          |    4 +
 w32/recipes/tiff.recipe                            |    4 +
 w32/recipes/zlib.recipe                            |    6 +
 w32/tools/mpk-build                                |  123 +++++++
 w32/tools/mpk-clean                                |   38 ++
 config.guess => w32/tools/mpk-config.guess         |   85 ++++-
 w32/tools/mpk-help                                 |   13 +
 w32/tools/mpk-install                              |   61 ++++
 w32/tools/mpk-remove                               |   61 ++++
 w32/tools/mpk-shell                                |   69 ++++
 w32/tools/mpk-source                               |   79 +++++
 w32/tools/mpk-unpack                               |  100 ++++++
 w32/tools/mpk-version                              |    5 +
 w32/tools/tool.template                            |    4 +
 win32/.cvsignore                                   |    3 -
 win32/Makefile.am                                  |   13 -
 win32/Readme.txt                                   |   15 -
 win32/build_pcb                                    |  366 --------------------
 win32/extract_gtk_win32                            |  286 ---------------
 win32/pcb.nsi.in                                   |  189 ----------
 win32/registerExtension.nsh                        |   69 ----
 50 files changed, 1543 insertions(+), 1026 deletions(-)
 create mode 100644 README.w32
 delete mode 100644 README.win32
 create mode 100644 w32/.gitignore
 create mode 100644 w32/Makefile.am
 create mode 100644 w32/README
 create mode 100755 w32/build-all.sh
 create mode 100644 w32/minipack.conf
 create mode 100755 w32/mpk
 create mode 100644 w32/patches/gd/0001-Export-sysbols-when-building-as-a-DLL.patch
 create mode 100644 w32/patches/gd/0002-Libtool-requires-no-undefined-to-build-a-DLL.patch
 create mode 100644 w32/patches/gd/0003-Avoid-conflit-between-libjpeg-and-windows-headers.patch
 create mode 100644 w32/patches/gettext/01-revert-sed-string.patch
 create mode 100644 w32/patches/gettext/02-Avoid-missing-open-argument-error.patch
 create mode 100644 w32/patches/gtk+/01-mousewheel.patch
 create mode 100644 w32/patches/zlib/01-shared-lib-support.patch
 create mode 100644 w32/patches/zlib/02-cross-build.patch
 create mode 100644 w32/recipes/atk.recipe
 create mode 100644 w32/recipes/cairo.recipe
 create mode 100644 w32/recipes/gd.recipe
 create mode 100644 w32/recipes/gettext.recipe
 create mode 100644 w32/recipes/glib.recipe
 create mode 100644 w32/recipes/gtk+.recipe
 create mode 100644 w32/recipes/jpeg.recipe
 create mode 100644 w32/recipes/libiconv.recipe
 create mode 100644 w32/recipes/libpng.recipe
 create mode 100644 w32/recipes/pango.recipe
 create mode 100644 w32/recipes/pcb.recipe
 create mode 100644 w32/recipes/pixman.recipe
 create mode 100644 w32/recipes/tiff.recipe
 create mode 100644 w32/recipes/zlib.recipe
 create mode 100644 w32/tools/mpk-build
 create mode 100644 w32/tools/mpk-clean
 copy config.guess => w32/tools/mpk-config.guess (95%)
 create mode 100644 w32/tools/mpk-help
 create mode 100644 w32/tools/mpk-install
 create mode 100644 w32/tools/mpk-remove
 create mode 100644 w32/tools/mpk-shell
 create mode 100644 w32/tools/mpk-source
 create mode 100644 w32/tools/mpk-unpack
 create mode 100644 w32/tools/mpk-version
 create mode 100755 w32/tools/tool.template
 delete mode 100644 win32/.cvsignore
 delete mode 100644 win32/Makefile.am
 delete mode 100644 win32/Readme.txt
 delete mode 100755 win32/build_pcb
 delete mode 100755 win32/extract_gtk_win32
 delete mode 100644 win32/pcb.nsi.in
 delete mode 100644 win32/registerExtension.nsh


=================
 Commit Messages
=================

commit ebcc08a6d4d8d3071e4fb31e7e010d0c095c7ad9
Author: Cesar Strauss <cstrauss@xxxxxxxxxxxxxxxxxxx>
Commit: DJ Delorie <dj@xxxxxxxxxxx>

    Add Windows cross-build script.
    
    Closes-bug: lp-699494

:100644 100644 1cfe9b2... c6927f1... M	Makefile.am
:000000 100644 0000000... 84f9ba1... A	README.w32
:100644 100644 13c1bf7... 422347a... M	configure.ac
:000000 100644 0000000... d4d22bb... A	w32/.gitignore
:000000 100644 0000000... af86e32... A	w32/Makefile.am
:000000 100644 0000000... f487d3c... A	w32/README
:000000 100755 0000000... 36e45d9... A	w32/build-all.sh
:000000 100644 0000000... 27c69ac... A	w32/minipack.conf
:000000 100755 0000000... 1652bc0... A	w32/mpk
:000000 100644 0000000... 34a25bc... A	w32/patches/gd/0001-Export-sysbols-when-building-as-a-DLL.patch
:000000 100644 0000000... 7180dc2... A	w32/patches/gd/0002-Libtool-requires-no-undefined-to-build-a-DLL.patch
:000000 100644 0000000... 2283db9... A	w32/patches/gd/0003-Avoid-conflit-between-libjpeg-and-windows-headers.patch
:000000 100644 0000000... 701d24c... A	w32/patches/gettext/01-revert-sed-string.patch
:000000 100644 0000000... af88a3a... A	w32/patches/gettext/02-Avoid-missing-open-argument-error.patch
:000000 100644 0000000... 996f6de... A	w32/patches/gtk+/01-mousewheel.patch
:000000 100644 0000000... 02eb2ff... A	w32/patches/zlib/01-shared-lib-support.patch
:000000 100644 0000000... 9e8ae86... A	w32/patches/zlib/02-cross-build.patch
:000000 100644 0000000... ea4e91d... A	w32/recipes/atk.recipe
:000000 100644 0000000... 8654d5c... A	w32/recipes/cairo.recipe
:000000 100644 0000000... c9588a3... A	w32/recipes/gd.recipe
:000000 100644 0000000... 49b35f7... A	w32/recipes/gettext.recipe
:000000 100644 0000000... a73ae9e... A	w32/recipes/glib.recipe
:000000 100644 0000000... 254aca1... A	w32/recipes/gtk+.recipe
:000000 100644 0000000... b305399... A	w32/recipes/jpeg.recipe
:000000 100644 0000000... 747de81... A	w32/recipes/libiconv.recipe
:000000 100644 0000000... a621866... A	w32/recipes/libpng.recipe
:000000 100644 0000000... 5cd9212... A	w32/recipes/pango.recipe
:000000 100644 0000000... 629883e... A	w32/recipes/pcb.recipe
:000000 100644 0000000... 73fa26c... A	w32/recipes/pixman.recipe
:000000 100644 0000000... db2baaa... A	w32/recipes/tiff.recipe
:000000 100644 0000000... c143197... A	w32/recipes/zlib.recipe
:000000 100644 0000000... d90f658... A	w32/tools/mpk-build
:000000 100644 0000000... 08cc285... A	w32/tools/mpk-clean
:000000 100755 0000000... 278f9e9... A	w32/tools/mpk-config.guess
:000000 100644 0000000... e74236a... A	w32/tools/mpk-help
:000000 100644 0000000... 04f32be... A	w32/tools/mpk-install
:000000 100644 0000000... 008cc35... A	w32/tools/mpk-remove
:000000 100644 0000000... 207884a... A	w32/tools/mpk-shell
:000000 100644 0000000... 8004b23... A	w32/tools/mpk-source
:000000 100644 0000000... 021adf6... A	w32/tools/mpk-unpack
:000000 100644 0000000... 0a7ff61... A	w32/tools/mpk-version
:000000 100755 0000000... 60bec87... A	w32/tools/tool.template

commit b257c10be738af0f256a3fe80132447eb2d18a4b
Author: Cesar Strauss <cstrauss@xxxxxxxxxxxxxxxxxxx>
Commit: DJ Delorie <dj@xxxxxxxxxxx>

    Remove previous Windows build script.
    
    Affects-bug: lp-699494

:100644 100644 41ca65a... 1cfe9b2... M	Makefile.am
:100644 000000 6598a06... 0000000... D	README.win32
:100644 100644 1c4ee58... 13c1bf7... M	configure.ac
:100644 000000 0615b48... 0000000... D	win32/.cvsignore
:100644 000000 cdef81c... 0000000... D	win32/Makefile.am
:100644 000000 93273a4... 0000000... D	win32/Readme.txt
:100755 000000 7e12ae9... 0000000... D	win32/build_pcb
:100755 000000 14f831f... 0000000... D	win32/extract_gtk_win32
:100644 000000 04cd086... 0000000... D	win32/pcb.nsi.in
:100644 000000 46e8779... 0000000... D	win32/registerExtension.nsh

=========
 Changes
=========

commit ebcc08a6d4d8d3071e4fb31e7e010d0c095c7ad9
Author: Cesar Strauss <cstrauss@xxxxxxxxxxxxxxxxxxx>
Commit: DJ Delorie <dj@xxxxxxxxxxx>

    Add Windows cross-build script.
    
    Closes-bug: lp-699494

diff --git a/Makefile.am b/Makefile.am
index 1cfe9b2..c6927f1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,13 +3,13 @@
 ##
 ## Top level automake file for PCB
 
-DIRS=		intl gts src data lib newlib example tools tutorial README_FILES po tests
+DIRS=		w32 intl gts src data lib newlib example tools tutorial README_FILES po tests
 SUBDIRS=	${DIRS} @DOC@
 DIST_SUBDIRS=	${DIRS} doc
 
 INTLTOOL_FILES = intltool-extract.in intltool-merge.in  intltool-update.in
 
-EXTRA_DIST=	config.rpath globalconst.h README.git icon-theme-installer $(INTLTOOL_FILES)
+EXTRA_DIST=	config.rpath globalconst.h README.git README.w32 icon-theme-installer $(INTLTOOL_FILES)
 
 DISTCLEANFILES= configure.lineno intltool-extract intltool-merge intltool-update po/.intltool-merge-cache
 
diff --git a/README.w32 b/README.w32
new file mode 100644
index 0000000..84f9ba1
--- /dev/null
+++ b/README.w32
@@ -0,0 +1,22 @@
+Building PCB for Windows with a MinGW cross-compiler
+
+1) Install a MinGW cross-compiler.
+On Debian and derivatives, you can type 'sudo apt-get install mingw32.'.
+You can also build your own by using the build script provided by the
+MinGW project.
+
+2) Install native (non-cross) dependencies.
+
+* autoconf, automake, libtool, gettext, intltool.
+* glib and gtk+.
+
+3) Edit the w32/minipack.conf file to suit your compiler setup.
+
+4) Enter the w32 directory and run ./build_all.
+
+5) Wait while the script fetches and compiles the PCB dependencies and PCB itself.
+
+6) Run the result with wine: wine result/bin/pcb.exe
+
+7) Copy the result directory to a Windows installation (packaging script is not supplied).
+
diff --git a/configure.ac b/configure.ac
index 13c1bf7..422347a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1288,6 +1288,9 @@ AC_CONFIG_FILES(tests/Makefile)
 dnl GTS 0.7.6 - http://gts.sourceforge.net/
 AC_CONFIG_FILES(gts/Makefile)
 
+dnl win32 build scripts
+AC_CONFIG_FILES(w32/Makefile)
+
 AC_OUTPUT
 
 with_gui=`echo $with_gui`
diff --git a/w32/.gitignore b/w32/.gitignore
new file mode 100644
index 0000000..d4d22bb
--- /dev/null
+++ b/w32/.gitignore
@@ -0,0 +1,3 @@
+build
+result
+sources
diff --git a/w32/Makefile.am b/w32/Makefile.am
new file mode 100644
index 0000000..af86e32
--- /dev/null
+++ b/w32/Makefile.am
@@ -0,0 +1,18 @@
+EXTRA_DIST= build-all.sh minipack.conf mpk README \
+  patches/gd patches/gd/0001-Export-sysbols-when-building-as-a-DLL.patch \
+  patches/gd/0002-Libtool-requires-no-undefined-to-build-a-DLL.patch \
+  patches/gd/0003-Avoid-conflit-between-libjpeg-and-windows-headers.patch \
+  patches/gettext/01-revert-sed-string.patch \
+  patches/gettext/02-Avoid-missing-open-argument-error.patch \
+  patches/gtk+ patches/gtk+/01-mousewheel.patch \
+  patches/zlib patches/zlib/01-shared-lib-support.patch \
+  patches/zlib/02-cross-build.patch \
+  recipes/atk.recipe recipes/cairo.recipe recipes/gd.recipe \
+  recipes/gettext.recipe recipes/glib.recipe recipes/gtk+.recipe \
+  recipes/jpeg.recipe recipes/libiconv.recipe recipes/libpng.recipe \
+  recipes/pango.recipe recipes/pcb.recipe recipes/pixman.recipe \
+  recipes/tiff.recipe recipes/zlib.recipe \
+  tools/mpk-build tools/mpk-clean tools/mpk-config.guess \
+  tools/mpk-help tools/mpk-install tools/mpk-remove tools/mpk-shell \
+  tools/mpk-source tools/mpk-unpack tools/mpk-version \
+  tools/tool.template
diff --git a/w32/README b/w32/README
new file mode 100644
index 0000000..f487d3c
--- /dev/null
+++ b/w32/README
@@ -0,0 +1,50 @@
+========
+Minipack
+========
+
+Homepage: http://code.google.com/p/minipack
+This minipack distribution was customized for the PCB project.
+
+Minipack is an automated build tool. Given a set of recipes and patches, it
+downloads the sources, unpacks them, applies local patches, builds them and
+installs them. Its primary use is for cross-compiling free software to
+Windows, but minipack is more general-purpose than that.
+
+To install, unpack it in any directory, and optionally set the PATH to it.
+
+The tool can be run from anywhere, but it looks for a minipack.conf file
+in the current directory or in a parent directory.
+
+Some recipes for cross-compiling to Windows are included in the distribution:
+* libraries: gtk+, guile, gd, freetype, libpng, jpeg, zlib, gettext.
+* applications: gEDA/gaf, PCB.
+See the 'recipes' directory for a full list.
+
+When cross-compiling, you need a suitable cross-compiler for the host you are
+targeting. On Debian and derivatives, you can type 'sudo apt-get install mingw32'
+to get a MinGW cross-compiler. You can also build your own by using the build
+script provided by the MinGW project.
+
+Modify the host setting in the minipack.conf file to reflect the cross-compiler
+being used. It can be found as the prefix of the compiler, eg. i586-mingw32msvc.
+
+The build-all.sh script can be used to build all packages in one run. Edit the
+BUILD list to select only a subset. Beware, some recipes require a native
+version of pkg-config, others need the autotools and/or intltool as well.
+
+=======
+  mpk
+=======
+
+The main (and only) tool of minipack is called mpk:
+* mpk build <package>  - download, unpack, and build a package.
+* mpk unpack <package> - download and unpack a package
+* mpk source <package> - download a source package
+* mpk shell [package]  - enter a shell with a pre-defined build environment
+
+A cache of downloaded sources is kept in the 'sources' directory.
+
+To add more recipes to minipack, place the recipe in the 'recipes' directory
+and place the patches in a subdirectory of the 'patches' directory.
+
+Have fun!
diff --git a/w32/build-all.sh b/w32/build-all.sh
new file mode 100755
index 0000000..36e45d9
--- /dev/null
+++ b/w32/build-all.sh
@@ -0,0 +1,50 @@
+NEVERBUILD="
+"
+
+NOBUILD="
+"
+
+BUILD="
+jpeg
+zlib
+libpng
+tiff
+pixman
+libiconv
+gettext
+glib
+atk
+cairo
+pango
+gtk+
+gd
+pcb
+"
+
+fail()
+{
+  echo
+  echo "=================="
+  echo "Build failed."
+  echo "=================="
+  exit 1
+}
+
+succeed()
+{
+  echo
+  echo "====================="
+  echo "Build succeeded."
+  echo "====================="
+}
+
+for D in $BUILD; do
+  ./mpk source $D || fail
+done
+
+for D in $BUILD; do
+  ./mpk build $D || fail
+done
+
+succeed
+
diff --git a/w32/minipack.conf b/w32/minipack.conf
new file mode 100644
index 0000000..27c69ac
--- /dev/null
+++ b/w32/minipack.conf
@@ -0,0 +1,40 @@
+# Change the host for your toolchain.
+# Or comment to use native building.
+host=i586-mingw32msvc
+
+# Guess the build platform.
+build=`mpk-config.guess`
+
+# Some useful mingw 32-bit flags.
+CFLAGS='-O3 -s -mms-bitfields -march=i686'
+CXXFLAGS=$CFLAGS
+
+# Useful for multi-core CPUs
+default_make_opts=-j3
+
+# Needed (at least on Ubuntu 9.10) so mingw-runtime include files
+# can override certain ones provided by mingw-gcc.
+CPPFLAGS=-B/usr/i586-mingw32msvc
+
+# Place your favorite GNU mirror here.
+gnu_mirror=http://ftp.unicamp.br/pub/gnu
+
+# Full path to the source cache.
+# Default: $topdir/sources
+# sourcedir=
+
+# Full path to the directory to place the results.
+# Default: $topdir/result
+# resultdir=
+
+# Full path to the build directory.
+# Default: $topdir/build
+# builddir=
+
+# Full path to the build recipes directory.
+# Default: $prefix/recipes
+# recipedir=
+
+# Full path to the patches directory.
+# Default: $prefix/patches
+# patchdir=
diff --git a/w32/mpk b/w32/mpk
new file mode 100755
index 0000000..1652bc0
--- /dev/null
+++ b/w32/mpk
@@ -0,0 +1,130 @@
+#! /bin/sh
+
+# mpk - top level, user visible script.
+# Copyright (C) 2008,2010 Cesar Strauss
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Minipack. If not, see <http://www.gnu.org/licenses/>.
+
+bindir=$(dirname $0)
+prog=$(basename $0)
+case $bindir in
+/*) ;;
+*) bindir=$PWD/$bindir;;
+esac
+mpk=$bindir/$prog
+prefix=$(cd $bindir && pwd)
+tooldir=$prefix/tools
+recipedir=$prefix/recipes
+patchdir=$prefix/patches
+
+MPK_VERSION=1.1.0
+
+export PATH=$tooldir:$PATH
+
+test -f ~/minipack.conf && . ~/minipack.conf
+
+cwd=$PWD
+topdir=$cwd
+until [ "$topdir" = "/" ]; do
+  if [ -f $topdir/minipack.conf ]; then
+    break;
+  fi
+  cd ..
+  topdir=$PWD
+done
+cd $cwd
+
+if [ "$topdir" = "/" ]; then
+  echo Warning: no minipack.conf found.
+  topdir=$cwd
+fi
+
+builddir=$topdir/build
+resultdir=$topdir/result
+sourcedir=$topdir/sources
+local_tooldir=$resultdir/lib/mpk/tools
+
+# Export resultdir in case we need to call our newly built tools.
+export resultdir
+
+test -f $topdir/minipack.conf && . $topdir/minipack.conf
+
+# Setup environment variables
+export PATH=$local_tooldir:$PATH
+export ACLOCAL="aclocal -I $resultdir/share/aclocal"  
+export ACLOCAL_FLAGS="-I $resultdir/share/aclocal"
+export PKG_CONFIG_LIBDIR=$resultdir/lib/pkgconfig
+
+get_recipe_name()
+{
+  name=$recipedir/$1.recipe
+  if [ ! -f $name ]; then
+    echo >&2 "Recipe for \"$1\" not found."
+    exit 1
+  fi
+  echo $name
+}
+
+setup_configure_options()
+{
+  pkg_configure_opt="$def_configure_opt $configure_opt"
+  pkg_configure_opt="$pkg_configure_opt --prefix=$resultdir"
+
+  if [ -n "$host" ]; then
+    pkg_configure_opt="$pkg_configure_opt --host=$host"
+  fi
+  if [ -n "$build" ]; then
+    pkg_configure_opt="$pkg_configure_opt --build=$build"
+  fi
+
+  # Local compiler/linker search path
+  CPPFLAGS="$CPPFLAGS -I$resultdir/include"
+  LDFLAGS="$LDFLAGS -L$resultdir/lib"
+  
+  test -n "$configure_no_more_flags" && return
+  
+  # Add search paths to the configure line.
+  pkg_configure_opt="$pkg_configure_opt CPPFLAGS=\"$CPPFLAGS\""
+  pkg_configure_opt="$pkg_configure_opt LDFLAGS=\"$LDFLAGS\""
+    
+  # Add extra flags to the configure line, if present.
+  if [ -n "$CFLAGS" ]; then
+    pkg_configure_opt="$pkg_configure_opt CFLAGS=\"$CFLAGS\""
+  fi
+  if [ -n "$CXXFLAGS" ]; then
+    pkg_configure_opt="$pkg_configure_opt CXXFLAGS=\"$CXXFLAGS\""
+  fi
+}
+
+if [ -n "$1" ]; then
+  cmd=$1
+  shift
+else
+  echo "$prog: missing argument."
+  cmd=help
+fi
+
+case $cmd in
+  --version)
+    cmd=version ;;
+  --help)
+    cmd=help ;;
+esac
+tool=$tooldir/mpk-$cmd
+if [ -f $tool ]; then
+  . $tool "$@"
+else
+  echo $prog: Invalid command: $cmd
+fi
+
diff --git a/w32/patches/gd/0001-Export-sysbols-when-building-as-a-DLL.patch b/w32/patches/gd/0001-Export-sysbols-when-building-as-a-DLL.patch
new file mode 100644
index 0000000..34a25bc
--- /dev/null
+++ b/w32/patches/gd/0001-Export-sysbols-when-building-as-a-DLL.patch
@@ -0,0 +1,35 @@
+From 1173eecef02205a48e4d70535fca91bfdcee3dd9 Mon Sep 17 00:00:00 2001
+From: Cesar Strauss <cestrauss@xxxxxxxxx>
+Date: Fri, 24 Oct 2008 20:07:43 -0200
+Subject: [PATCH] Export symbols when building as a DLL.
+
+libtool defines DLL_EXPORT when building a DLL,
+so we use dllexport in that case.
+---
+ gd.h |    8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/gd.h b/gd.h
+index f136ea6..4916373 100644
+--- a/gd.h
++++ b/gd.h
+@@ -26,8 +26,16 @@ extern "C" {
+ 	wish to build gd as a static library or by directly including
+ 	the gd sources in a project. */
+ 
++/* libtool defines DLL_EXPORT when building a DLL, so we use dllexport
++   in that case.
++*/
++
+ #ifndef WIN32
+ #define NONDLL 1
++#else
++#ifdef DLL_EXPORT
++#define BGDWIN32 1
++#endif
+ #endif /* WIN32 */
+ 
+ #ifdef NONDLL
+-- 
+1.5.4.3
+
diff --git a/w32/patches/gd/0002-Libtool-requires-no-undefined-to-build-a-DLL.patch b/w32/patches/gd/0002-Libtool-requires-no-undefined-to-build-a-DLL.patch
new file mode 100644
index 0000000..7180dc2
--- /dev/null
+++ b/w32/patches/gd/0002-Libtool-requires-no-undefined-to-build-a-DLL.patch
@@ -0,0 +1,26 @@
+From 59069ae7191d091fae75bb57d12651281d6bdee6 Mon Sep 17 00:00:00 2001
+From: Cesar Strauss <cestrauss@xxxxxxxxx>
+Date: Fri, 24 Oct 2008 20:09:39 -0200
+Subject: [PATCH] Libtool requires -no-undefined to build a DLL.
+
+---
+ configure.ac |    3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index bc7b83c..ed9b052 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -33,6 +33,9 @@ case "$target" in
+   *-*-cygwin*) XTRA_LDFLAGS="-no-undefined"
+                os_cygwin=yes
+                ;;
++  *-*-mingw*)  XTRA_LDFLAGS="-no-undefined"
++               os_cygwin=no
++               ;;
+            *)  XTRA_LDFLAGS=
+                os_cygwin=no
+                ;;
+-- 
+1.5.4.3
+
diff --git a/w32/patches/gd/0003-Avoid-conflit-between-libjpeg-and-windows-headers.patch b/w32/patches/gd/0003-Avoid-conflit-between-libjpeg-and-windows-headers.patch
new file mode 100644
index 0000000..2283db9
--- /dev/null
+++ b/w32/patches/gd/0003-Avoid-conflit-between-libjpeg-and-windows-headers.patch
@@ -0,0 +1,33 @@
+From 600059ab3efa924b0a8f3753dce3da2ed0ab89b1 Mon Sep 17 00:00:00 2001
+From: Cesar Strauss <cestrauss@xxxxxxxxx>
+Date: Fri, 24 Oct 2008 20:12:22 -0200
+Subject: [PATCH] Avoid conflit between libjpeg and windows headers.
+
+---
+ gdhelpers.h |    4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/gdhelpers.h b/gdhelpers.h
+index 0c45ad3..6c4b52f 100644
+--- a/gdhelpers.h
++++ b/gdhelpers.h
+@@ -31,12 +31,16 @@ int overflow2(int a, int b);
+ 
+ #ifdef WIN32
+ /* 2.0.18: must include windows.h to get CRITICAL_SECTION. */
++#define INT32 INT32_W32
++#define boolean boolean_W32
+ #include <windows.h>
+ #define gdMutexDeclare(x) CRITICAL_SECTION x
+ #define gdMutexSetup(x) InitializeCriticalSection(&x)
+ #define gdMutexShutdown(x) DeleteCriticalSection(&x)
+ #define gdMutexLock(x) EnterCriticalSection(&x)
+ #define gdMutexUnlock(x) LeaveCriticalSection(&x)
++#undef INT32
++#undef boolean
+ #else
+ #ifdef HAVE_PTHREAD
+ #include <pthread.h>
+-- 
+1.5.4.3
+
diff --git a/w32/patches/gettext/01-revert-sed-string.patch b/w32/patches/gettext/01-revert-sed-string.patch
new file mode 100644
index 0000000..701d24c
--- /dev/null
+++ b/w32/patches/gettext/01-revert-sed-string.patch
@@ -0,0 +1,21 @@
+diff -Nraup gettext-0.17/gettext-runtime/intl/Makefile.in gettext-0.17-1/gettext-runtime/intl/Makefile.in
+--- gettext-0.17/gettext-runtime/intl/Makefile.in	2007-11-04 19:21:12.000000000 -0200
++++ gettext-0.17-1/gettext-runtime/intl/Makefile.in	2008-04-20 23:40:22.000000000 -0300
+@@ -280,10 +280,12 @@ intl-compat.lo: $(srcdir)/intl-compat.c
+ # so that they work with the sed-3.02 that is shipped with MSYS. We can use
+ # GNU bash's $'\n' syntax to obtain such a newline.
+ libintl.res: $(srcdir)/libintl.rc
+-	nl=$$'\n'; \
+-	sed_extract_major='/^[0-9]/{'$${nl}'s/^\([0-9]*\).*/\1/p'$${nl}q$${nl}'}'$${nl}'c\'$${nl}0$${nl}q; \
+-	sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{'$${nl}'s/^[0-9]*[.]\([0-9]*\).*/\1/p'$${nl}q$${nl}'}'$${nl}'c\'$${nl}0$${nl}q; \
+-	sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{'$${nl}'s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p'$${nl}q$${nl}'}'$${nl}'c\'$${nl}0$${nl}q; \
++	sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q};a\
++	0'; \
++	sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q};a\
++	0'; \
++	sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q};a\
++	0'; \
+ 	$(WINDRES) \
+ 	  "-DPACKAGE_VERSION_STRING=\\\"$(VERSION)\\\"" \
+ 	  "-DPACKAGE_VERSION_MAJOR="`echo '$(VERSION)' | sed -n -e "$$sed_extract_major"` \
+
diff --git a/w32/patches/gettext/02-Avoid-missing-open-argument-error.patch b/w32/patches/gettext/02-Avoid-missing-open-argument-error.patch
new file mode 100644
index 0000000..af88a3a
--- /dev/null
+++ b/w32/patches/gettext/02-Avoid-missing-open-argument-error.patch
@@ -0,0 +1,15 @@
+diff --git a/gettext-tools/src/write-catalog.c b/gettext-tools/src/write-catalog.c
+index 0447744..ea4f9cf 100644
+--- a/gettext-tools/src/write-catalog.c
++++ b/gettext-tools/src/write-catalog.c
+@@ -220,7 +220,9 @@ message catalog has plural form translations, but the output format does not sup
+       /* Open the output file.  */
+       if (!to_stdout)
+ 	{
+-	  fd = open (filename, O_WRONLY | O_CREAT);
++	  fd = open (filename, O_WRONLY | O_CREAT | O_TRUNC,
++		     /* 0666 in portable POSIX notation: */
++		     S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
+ 	  if (fd < 0)
+ 	    {
+ 	      const char *errno_description = strerror (errno);
diff --git a/w32/patches/gtk+/01-mousewheel.patch b/w32/patches/gtk+/01-mousewheel.patch
new file mode 100644
index 0000000..996f6de
--- /dev/null
+++ b/w32/patches/gtk+/01-mousewheel.patch
@@ -0,0 +1,29 @@
+--- a/gdk/win32/gdkevents-win32.c	2008-10-17 05:06:36.000000000 +0100
++++ b/gdk/win32/gdkevents-win32.c	2008-11-23 14:56:17.000000000 +0000
+@@ -2243,7 +2243,7 @@
+   RECT rect, *drag, orig_drag;
+   POINT point;
+   MINMAXINFO *mmi;
+-  HWND hwnd;
++  HWND hwnd, hwndc;
+   HCURSOR hcursor;
+   BYTE key_state[256];
+   HIMC himc;
+@@ -2855,8 +2855,15 @@
+       point.x = GET_X_LPARAM (msg->lParam);
+       point.y = GET_Y_LPARAM (msg->lParam);
+ 
+-      if ((hwnd = WindowFromPoint (point)) == NULL)
+-	break;
++      /* Find our toplevel window */
++      hwnd = GetAncestor (msg->hwnd, GA_ROOT);
++
++      /* Walk back up to the outermost child at the desired point */
++      do {
++        ScreenToClient (hwnd, &point);
++        hwndc = ChildWindowFromPoint (hwnd, point);
++        ClientToScreen (hwnd, &point);
++      } while (hwndc != hwnd && (hwnd = hwndc, 1));
+ 
+       msg->hwnd = hwnd;
+       if ((new_window = gdk_win32_handle_table_lookup ((GdkNativeWindow) msg->hwnd)) == NULL)
diff --git a/w32/patches/zlib/01-shared-lib-support.patch b/w32/patches/zlib/01-shared-lib-support.patch
new file mode 100644
index 0000000..02eb2ff
--- /dev/null
+++ b/w32/patches/zlib/01-shared-lib-support.patch
@@ -0,0 +1,249 @@
+diff --git a/Makefile.in b/Makefile.in
+index 2fd6e45..eb980dc 100755
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -28,10 +28,14 @@ LDFLAGS=libz.a
+ LDSHARED=$(CC)
+ CPP=$(CC) -E
+ 
+-LIBS=libz.a
++STATICLIB=libz.a
+ SHAREDLIB=libz.so
+ SHAREDLIBV=libz.so.1.2.3
+ SHAREDLIBM=libz.so.1
++IMPORTLIB=
++SHAREDLIBPOST='(rm -f $(SHAREDLIB) $(SHAREDLIBM); ln -s $@ $(SHAREDLIB) ; ln -s $@ $(SHAREDLIBM) )'
++SHAREDTARGET=$(SHAREDLIBV)
++LIBS=$(STATICLIB)
+ 
+ AR=ar rc
+ RANLIB=ranlib
+@@ -42,6 +46,7 @@ EXE=
+ prefix = /usr/local
+ exec_prefix = ${prefix}
+ libdir = ${exec_prefix}/lib
++bindir = ${exec_prefix}/bin
+ includedir = ${prefix}/include
+ mandir = ${prefix}/share/man
+ man3dir = ${mandir}/man3
+@@ -67,7 +72,7 @@ test: all
+ 	  echo '		*** zlib test FAILED ***'; \
+ 	fi
+ 
+-libz.a: $(OBJS) $(OBJA)
++$(STATICLIB): $(OBJS) $(OBJA)
+ 	$(AR) $@ $(OBJS) $(OBJA)
+ 	-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
+ 
+@@ -77,11 +82,9 @@ match.o: match.S
+ 	mv _match.o match.o
+ 	rm -f _match.s
+ 
+-$(SHAREDLIBV): $(OBJS)
++$(SHAREDTARGET): $(OBJS)
+ 	$(LDSHARED) -o $@ $(OBJS)
+-	rm -f $(SHAREDLIB) $(SHAREDLIBM)
+-	ln -s $@ $(SHAREDLIB)
+-	ln -s $@ $(SHAREDLIBM)
++	$(SHAREDLIBPOST)
+ 
+ example$(EXE): example.o $(LIBS)
+ 	$(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS)
+@@ -90,37 +93,58 @@ minigzip$(EXE): minigzip.o $(LIBS)
+ 	$(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS)
+ 
+ install: $(LIBS)
+-	-@if [ ! -d $(exec_prefix) ]; then mkdir -p $(exec_prefix); fi
+-	-@if [ ! -d $(includedir)  ]; then mkdir -p $(includedir); fi
+-	-@if [ ! -d $(libdir)      ]; then mkdir -p $(libdir); fi
+-	-@if [ ! -d $(man3dir)     ]; then mkdir -p $(man3dir); fi
+-	cp zlib.h zconf.h $(includedir)
+-	chmod 644 $(includedir)/zlib.h $(includedir)/zconf.h
+-	cp $(LIBS) $(libdir)
+-	cd $(libdir); chmod 755 $(LIBS)
+-	-@(cd $(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1
+-	cd $(libdir); if test -f $(SHAREDLIBV); then \
+-	  rm -f $(SHAREDLIB) $(SHAREDLIBM); \
+-	  ln -s $(SHAREDLIBV) $(SHAREDLIB); \
+-	  ln -s $(SHAREDLIBV) $(SHAREDLIBM); \
+-	  (ldconfig || true)  >/dev/null 2>&1; \
+-	fi
+-	cp zlib.3 $(man3dir)
+-	chmod 644 $(man3dir)/zlib.3
++	-@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi
++	-@if [ ! -d $(DESTDIR)$(includedir)  ]; then mkdir -p $(DESTDIR)$(includedir); fi
++	-@if [ ! -d $(DESTDIR)$(libdir)      ]; then mkdir -p $(DESTDIR)$(libdir); fi
++	-@if [ ! -d $(DESTDIR)$(bindir)      ]; then mkdir -p $(DESTDIR)$(bindir); fi
++	-@if [ ! -d $(DESTDIR)$(man3dir)     ]; then mkdir -p $(DESTDIR)$(man3dir); fi
++	cp zlib.h zconf.h $(DESTDIR)$(includedir)
++	chmod 644 $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h
++	cp zlib.3 $(DESTDIR)$(man3dir)
++	chmod 644 $(DESTDIR)$(man3dir)/zlib.3
++# Install static lib (and import lib, if set) into libdir
+ # The ranlib in install is needed on NeXTSTEP which checks file times
++	-cp $(STATICLIB) $(IMPORTLIB) $(DESTDIR)$(libdir)
++	-@(cd $(DESTDIR)$(libdir); \
++	$(RANLIB) libz.a || true; \
++	chmod 755 $(STATICLIB) $(IMPORTLIB)) >/dev/null 2>&1
++# Install shared lib -- if IMPORTLIB is set, then sharedlib goes into bindir
+ # ldconfig is for Linux
++	if test -z "$(IMPORTLIB)" ; then \
++	  if test -n "$(SHAREDTARGET)" ; then \
++	    if test -f "$(SHAREDTARGET)" ; then \
++	      cp $(SHAREDTARGET) $(DESTDIR)$(libdir); \
++	    fi; \
++	  fi; \
++	  cd $(DESTDIR)$(libdir); \
++	  if test -n "$(SHAREDLIBV)" ; then \
++	    if test -f "$(SHAREDLIBV)" ; then \
++	      rm -f $(SHAREDLIB) $(SHAREDLIBM); \
++	      ln -s $(SHAREDLIBV) $(SHAREDLIB); \
++	      ln -s $(SHAREDLIBV) $(SHAREDLIBM); \
++	      (ldconfig || true) >/dev/null 2>&1; \
++	    fi; \
++	  fi; \
++	else \
++	  cp $(SHAREDTARGET) $(DESTDIR)$(bindir); \
++	  (cd $(DESTDIR)$(bindir); chmod 755 $(SHAREDTARGET)); \
++	fi
+ 
+ uninstall:
+-	cd $(includedir); \
+-	cd $(libdir); rm -f libz.a; \
+-	if test -f $(SHAREDLIBV); then \
+-	  rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \
++	cd $(DESTDIR)$(includedir); \
++	cd $(DESTDIR)$(libdir); rm -f $(STATICLIB) $(IMPORTLIB); \
++	if test -f "$(SHAREDLIBV)"; then \
++	  if test -f "$(SHAREDLIBV)"; then \
++	    rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \
++	  fi \
+ 	fi
+-	cd $(man3dir); rm -f zlib.3
++	cd $(DESTDIR)$(man3dir); rm -f zlib.3
++	cd $(DESTDIR)$(bindir); (rm -f $(SHAREDLIB) || true) > /dev/null 2>&1
+ 
+ mostlyclean: clean
+ clean:
+ 	rm -f *.o *~ example$(EXE) minigzip$(EXE) \
++	   $(STATICLIB) $(IMPORTLIB) $(SHAREDLIBV) $(SHAREDLIBV) $(SHAREDLIBM) \
+ 	   libz.* foo.gz so_locations \
+ 	   _match.s maketree contrib/infback9/*.o
+ 
+diff --git a/configure b/configure
+index d7ffdc3..b81ed63 100755
+--- a/configure
++++ b/configure
+@@ -18,8 +18,9 @@
+ # If you have problems, try without defining CC and CFLAGS before reporting
+ # an error.
+ 
+-LIBS=libz.a
+-LDFLAGS="-L. ${LIBS}"
++STATICLIB=libz.a
++old_ldflags="$LDFLAGS"
++LDFLAGS="-L. ${STATICLIB}"
+ VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`
+ VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < zlib.h`
+ VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < zlib.h`
+@@ -28,6 +29,7 @@ RANLIB=${RANLIB-"ranlib"}
+ prefix=${prefix-/usr/local}
+ exec_prefix=${exec_prefix-'${prefix}'}
+ libdir=${libdir-'${exec_prefix}/lib'}
++bindir=${bindir-'${exec_prefix}/bin'}
+ includedir=${includedir-'${prefix}/include'}
+ mandir=${mandir-'${prefix}/share/man'}
+ shared_ext='.so'
+@@ -71,13 +73,32 @@ case "$cc" in
+   *gcc*) gcc=1;;
+ esac
+ 
++BUILDPLATFORM=`(uname -s || echo unknown) 2>/dev/null`;
++TARGETPLATFORM=${target-${BUILDPLATFORM}}
++
+ if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then
+   CC="$cc"
+   SFLAGS=${CFLAGS-"-fPIC -O3"}
+   CFLAGS="$cflags"
+-  case `(uname -s || echo unknown) 2>/dev/null` in
++  case ${TARGETPLATFORM} in
+   Linux | linux | GNU | GNU/*) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1"};;
+-  CYGWIN* | Cygwin* | cygwin* | OS/2* )
++  OS/2* )
++             EXE='.exe';;
++  *CYGWIN* | *Cygwin* | *cygwin* )
++             SFLAGS=${CFLAGS}
++             LDFLAGS="-L. -lz ${old_ldflags}"
++             shared_ext='.dll'
++             SHAREDLIB='cygz.dll'
++             IMPORTLIB='libz.dll.a'
++             LDSHARED=${LDSHARED-"${CC} -shared -Wl,-export-all -Wl,--enable-auto-image-base -Wl,--out-implib=${IMPORTLIB}"}
++             EXE='.exe';;
++  *MINGW* | *Mingw* | *mingw* ) 
++             SFLAGS=${CFLAGS}
++             LDFLAGS="-L. -lz ${old_ldflags}"
++             shared_ext='.dll'
++             SHAREDLIB='libz.dll'
++             IMPORTLIB='libz.dll.a'
++             LDSHARED=${LDSHARED-"${CC} -shared -Wl,-export-all -Wl,--enable-auto-image-base -Wl,--out-implib=${IMPORTLIB}"}
+              EXE='.exe';;
+   QNX*)  # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4
+          # (alain.bonnefoy@xxxxxxxx)
+@@ -163,6 +184,20 @@ else
+              LDSHARED=${LDSHARED-"cc -shared"};;
+   esac
+ fi
++case ${TARGETPLATFORM} in
++  *CYGWIN* | *Cygwin* | *cygwin* )
++    # On cygwin, we always build both shared and static libs
++    LIBS="${SHAREDLIB} ${STATICLIB}"
++    SHAREDLIBPOST='/bin/true'
++    SHAREDTARGET=${SHAREDLIB}
++    ;;
++  *MINGW* | *Mingw* | *mingw* ) 
++    # On Mingw-cygwin-special, we always build both shared and static libs
++    LIBS="${SHAREDLIB} ${STATICLIB}"
++    SHAREDLIBPOST='/bin/true'
++    SHAREDTARGET=${SHAREDLIB}
++    ;;
++  *)
+ 
+ SHAREDLIB=${SHAREDLIB-"libz$shared_ext"}
+ SHAREDLIBV=${SHAREDLIBV-"libz$shared_ext.$VER"}
+@@ -186,10 +221,14 @@ if test $shared -eq 1; then
+ fi
+ if test $shared -eq 0; then
+   LDSHARED="$CC"
+-  echo Building static library $LIBS version $VER with $CC.
++  LIBS="$STATICLIB"
++  LDFLAGS="-L. ${STATICLIB}"
++  echo Building static library $STATICLIB version $VER with $CC.
+ else
+   LDFLAGS="-L. ${SHAREDLIBV}"
+ fi
++  ;;
++esac
+ 
+ cat > $test.c <<EOF
+ #include <unistd.h>
+@@ -444,15 +483,20 @@ sed < Makefile.in "
+ /^CPP *=/s#=.*#=$CPP#
+ /^LDSHARED *=/s#=.*#=$LDSHARED#
+ /^LIBS *=/s#=.*#=$LIBS#
++/^STATICLIB *=/s#=.*#=$STATICLIB#
+ /^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
+ /^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
+ /^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
++/^IMPORTLIB *=/s#=.*#=$IMPORTLIB#
++/^SHAREDLIBPOST *=/s#=.*#=$SHAREDLIBPOST#
++/^SHAREDTARGET *=/s#=.*#=$SHAREDTARGET#
+ /^AR *=/s#=.*#=$AR#
+ /^RANLIB *=/s#=.*#=$RANLIB#
+ /^EXE *=/s#=.*#=$EXE#
+ /^prefix *=/s#=.*#=$prefix#
+ /^exec_prefix *=/s#=.*#=$exec_prefix#
+ /^libdir *=/s#=.*#=$libdir#
++/^bindir *=/s#=.*#=$bindir#
+ /^includedir *=/s#=.*#=$includedir#
+ /^mandir *=/s#=.*#=$mandir#
+ /^LDFLAGS *=/s#=.*#=$LDFLAGS#
diff --git a/w32/patches/zlib/02-cross-build.patch b/w32/patches/zlib/02-cross-build.patch
new file mode 100644
index 0000000..9e8ae86
--- /dev/null
+++ b/w32/patches/zlib/02-cross-build.patch
@@ -0,0 +1,61 @@
+diff --git a/configure b/configure
+index b81ed63..864bba2 100755
+--- a/configure
++++ b/configure
+@@ -41,10 +41,10 @@ old_cflags="$CFLAGS"
+ while test $# -ge 1
+ do
+ case "$1" in
+-    -h* | --h*)
++    -h | -help | --help)
+       echo 'usage:'
+       echo '  configure [--shared] [--prefix=PREFIX]  [--exec_prefix=EXPREFIX]'
+-      echo '     [--libdir=LIBDIR] [--includedir=INCLUDEDIR]'
++      echo '     [--libdir=LIBDIR] [--includedir=INCLUDEDIR] [--host=HOST]'
+         exit 0;;
+     -p*=* | --p*=*) prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
+     -e*=* | --e*=*) exec_prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
+@@ -55,6 +55,8 @@ case "$1" in
+     -l* | --l*) libdir="$2"; shift; shift;;
+     -i* | --i*) includedir="$2"; shift; shift;;
+     -s* | --s*) shared=1; shift;;
++    -host=* | --host=*) host=`echo $1 | sed 's/[-a-z_]*=//'`;shift;;
++    -host | --host) host="$2"; shift; shift;;
+     *) echo "unknown option: $1"; echo "$0 --help for help"; exit 1;;
+     esac
+ done
+@@ -66,7 +68,8 @@ int hello() {return getchar();}
+ EOF
+ 
+ test -z "$CC" && echo Checking for gcc...
+-cc=${CC-gcc}
++test -n "$host" && cross_gcc=$host-gcc
++cc=${CC-${cross_gcc-gcc}}
+ cflags=${CFLAGS-"-O3"}
+ # to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
+ case "$cc" in
+@@ -74,13 +77,13 @@ case "$cc" in
+ esac
+ 
+ BUILDPLATFORM=`(uname -s || echo unknown) 2>/dev/null`;
+-TARGETPLATFORM=${target-${BUILDPLATFORM}}
++HOSTPLATFORM=${host-${BUILDPLATFORM}}
+ 
+ if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then
+   CC="$cc"
+   SFLAGS=${CFLAGS-"-fPIC -O3"}
+   CFLAGS="$cflags"
+-  case ${TARGETPLATFORM} in
++  case ${HOSTPLATFORM} in
+   Linux | linux | GNU | GNU/*) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1"};;
+   OS/2* )
+              EXE='.exe';;
+@@ -184,7 +187,7 @@ else
+              LDSHARED=${LDSHARED-"cc -shared"};;
+   esac
+ fi
+-case ${TARGETPLATFORM} in
++case ${HOSTPLATFORM} in
+   *CYGWIN* | *Cygwin* | *cygwin* )
+     # On cygwin, we always build both shared and static libs
+     LIBS="${SHAREDLIB} ${STATICLIB}"
diff --git a/w32/recipes/atk.recipe b/w32/recipes/atk.recipe
new file mode 100644
index 0000000..ea4e91d
--- /dev/null
+++ b/w32/recipes/atk.recipe
@@ -0,0 +1,4 @@
+name=atk
+version=1.28.0
+release=1
+download=http://ftp.gnome.org/pub/gnome/sources/atk/1.28
diff --git a/w32/recipes/cairo.recipe b/w32/recipes/cairo.recipe
new file mode 100644
index 0000000..8654d5c
--- /dev/null
+++ b/w32/recipes/cairo.recipe
@@ -0,0 +1,8 @@
+name=cairo
+version=1.8.8
+release=1
+download=http://www.cairographics.org/releases
+
+case "$host" in
+  *mingw*) configure_opt=--without-x ;;
+esac
diff --git a/w32/recipes/gd.recipe b/w32/recipes/gd.recipe
new file mode 100644
index 0000000..c9588a3
--- /dev/null
+++ b/w32/recipes/gd.recipe
@@ -0,0 +1,29 @@
+name=gd
+version=2.0.35
+release=1
+download=http://www.libgd.org/releases
+
+configure_opt="
+  --disable-static
+  --enable-shared
+  --without-x
+"
+
+src_prep()
+{
+  autoreconf -ivf
+}
+
+# Compatibility with existing binary package
+src_install()
+{
+  do_install
+  
+  case "$host" in
+    *mingw*) ln -f $resultdir/lib/libgd.dll.a $resultdir/lib/bgd.lib ;;
+  esac
+  
+  mkdir -p $local_tooldir
+  cp $tooldir/tool.template $local_tooldir/gdlib-config
+}
+
diff --git a/w32/recipes/gettext.recipe b/w32/recipes/gettext.recipe
new file mode 100644
index 0000000..49b35f7
--- /dev/null
+++ b/w32/recipes/gettext.recipe
@@ -0,0 +1,8 @@
+name=gettext
+version=0.17
+release=1
+origin=gnu
+configure_opt=--enable-relocatable
+
+# Solve an incompatibility with newer MinGW runtimes
+export ac_cv_func_getopt_long_only=no
diff --git a/w32/recipes/glib.recipe b/w32/recipes/glib.recipe
new file mode 100644
index 0000000..a73ae9e
--- /dev/null
+++ b/w32/recipes/glib.recipe
@@ -0,0 +1,8 @@
+name=glib
+version=2.22.2
+release=1
+download=http://ftp.gnome.org/pub/gnome/sources/glib/2.22
+
+configure_opt="
+  CXX=${host:+$host-g++}
+"
diff --git a/w32/recipes/gtk+.recipe b/w32/recipes/gtk+.recipe
new file mode 100644
index 0000000..254aca1
--- /dev/null
+++ b/w32/recipes/gtk+.recipe
@@ -0,0 +1,14 @@
+name=gtk+
+version=2.16.6
+release=1
+download=http://ftp.gnome.org/pub/gnome/sources/gtk+/2.16
+
+configure_opt="
+  --without-libjasper
+  --disable-cups
+  --disable-gdiplus
+  --with-included-loaders
+  --with-included-immodules
+  --disable-rebuilds
+  CXX=${host:+$host-g++}
+"
diff --git a/w32/recipes/jpeg.recipe b/w32/recipes/jpeg.recipe
new file mode 100644
index 0000000..b305399
--- /dev/null
+++ b/w32/recipes/jpeg.recipe
@@ -0,0 +1,5 @@
+name=jpeg
+version=7
+release=1
+download=http://www.ijg.org/files
+source=jpegsrc.v7.tar.gz
diff --git a/w32/recipes/libiconv.recipe b/w32/recipes/libiconv.recipe
new file mode 100644
index 0000000..747de81
--- /dev/null
+++ b/w32/recipes/libiconv.recipe
@@ -0,0 +1,4 @@
+name=libiconv
+version=1.13.1
+release=1
+origin=gnu
diff --git a/w32/recipes/libpng.recipe b/w32/recipes/libpng.recipe
new file mode 100644
index 0000000..a621866
--- /dev/null
+++ b/w32/recipes/libpng.recipe
@@ -0,0 +1,13 @@
+name=libpng
+version=1.2.40
+release=1
+origin=sf
+make_opts="SYMBOL_PREFIX="
+
+src_install()
+{
+  do_install
+  mkdir -p $local_tooldir
+  cp $tooldir/tool.template $local_tooldir/libpng-config
+  cp $tooldir/tool.template $local_tooldir/libpng12-config
+}
diff --git a/w32/recipes/pango.recipe b/w32/recipes/pango.recipe
new file mode 100644
index 0000000..5cd9212
--- /dev/null
+++ b/w32/recipes/pango.recipe
@@ -0,0 +1,9 @@
+name=pango
+version=1.26.0
+release=1
+download=http://ftp.gnome.org/pub/gnome/sources/pango/1.26
+
+configure_opt="
+  --with-included-modules
+  CXX=${host:+$host-g++}  
+"
diff --git a/w32/recipes/pcb.recipe b/w32/recipes/pcb.recipe
new file mode 100644
index 0000000..629883e
--- /dev/null
+++ b/w32/recipes/pcb.recipe
@@ -0,0 +1,18 @@
+name=pcb
+
+pkg_builddir=$(cd $bindir/.. && pwd)
+
+configure_opt="--disable-update-desktop-database --disable-update-mime-database --disable-dbus"
+
+# configure-time test fails because of stdcall signature
+export ac_cv_func_gdImageGif=yes
+export ac_cv_func_gdImageJpeg=yes
+export ac_cv_func_gdImagePng=yes
+
+src_configure()
+{
+  if [ ! -f configure ]; then
+    ./autogen.sh || return 1
+  fi
+  do_configure
+}
diff --git a/w32/recipes/pixman.recipe b/w32/recipes/pixman.recipe
new file mode 100644
index 0000000..73fa26c
--- /dev/null
+++ b/w32/recipes/pixman.recipe
@@ -0,0 +1,4 @@
+name=pixman
+version=0.16.2
+release=1
+download=http://www.cairographics.org/releases
diff --git a/w32/recipes/tiff.recipe b/w32/recipes/tiff.recipe
new file mode 100644
index 0000000..db2baaa
--- /dev/null
+++ b/w32/recipes/tiff.recipe
@@ -0,0 +1,4 @@
+name=tiff
+version=3.9.1
+release=1
+download=ftp://ftp.remotesensing.org/pub/libtiff
diff --git a/w32/recipes/zlib.recipe b/w32/recipes/zlib.recipe
new file mode 100644
index 0000000..c143197
--- /dev/null
+++ b/w32/recipes/zlib.recipe
@@ -0,0 +1,6 @@
+name=zlib
+version=1.2.3
+release=1
+pkg_download=http://prdownloads.sourceforge.net/libpng/zlib-1.2.3.tar.gz?download
+unset build
+configure_no_more_flags=true
diff --git a/w32/tools/mpk-build b/w32/tools/mpk-build
new file mode 100644
index 0000000..d90f658
--- /dev/null
+++ b/w32/tools/mpk-build
@@ -0,0 +1,123 @@
+# mpk-build - Build packages.
+# Copyright (C) 2008,2010 Cesar Strauss
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+build_source()
+{
+  : ${top_srcdir:=$name-$version}
+
+  : ${pkg_builddir:=$builddir/$name-$version-$release/$top_srcdir}
+
+  if [ ! -d $pkg_builddir ]; then
+    $mpk unpack $pkg
+    if [ $? != 0 -o ! -d $pkg_builddir ]; then
+      echo >&2 "$(basename $0) build: Could not unpack $pkg"
+      exit 1
+    fi
+  fi
+  
+  cd $pkg_builddir
+  
+  src_build && success
+}
+
+src_build()
+{
+  do_build
+}
+
+src_configure()
+{
+  do_configure
+}
+
+src_compile()
+{
+  do_compile
+}
+
+src_install()
+{
+  do_install
+}
+
+do_build()
+{
+  src_configure || fail
+  src_compile || fail
+  src_install || fail
+}
+
+do_configure()
+{
+  setup_configure_options
+
+  echo "Configuring $pkg..."
+  mkdir -p ../logs
+  echo "$pkg_configure_opt" | xargs ./configure > ../logs/configure.log
+}
+
+do_compile()
+{
+  echo "Compiling $pkg..."
+  mkdir -p ../logs
+  make $default_make_opts $make_opts > ../logs/make.log
+}
+
+do_install()
+{
+  echo "Installing $pkg..."
+  mkdir -p ../logs
+  make install > ../logs/install.log
+}
+
+fail()
+{
+  echo
+  echo "================="
+  echo "$pkg:"
+  echo "  Build failed."
+  echo "================="
+  echo
+  exit 1
+}
+
+success()
+{
+  echo
+  echo "===================="
+  echo "$pkg:"
+  echo "  Build succeeded."
+  echo "===================="
+  echo
+}
+
+if [ -z "$1" ]; then
+  echo "Usage: $(basename $0) build package-name"
+  exit 1
+fi
+pkg=$1
+
+if [ -z "$pkg" ]; then
+  echo "Usage: $(basename $0) build package-name ..."
+  exit 1
+fi
+
+recipe=$(get_recipe_name $pkg) || exit 1
+
+. $recipe
+
+build_source
+
diff --git a/w32/tools/mpk-clean b/w32/tools/mpk-clean
new file mode 100644
index 0000000..08cc285
--- /dev/null
+++ b/w32/tools/mpk-clean
@@ -0,0 +1,38 @@
+# mpk-clean - Clean build directory.
+# Copyright (C) 2009,2010 Cesar Strauss
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+clean()
+{
+  buildroot=$builddir/$name-$version-$release
+  rm -rf "$buildroot"  
+}
+
+if [ -z "$1" ]; then
+  echo "Usage: $(basename $0) clean package-name"
+  exit 1
+fi
+pkg=$1
+
+if [ -z "$pkg" ]; then
+  echo "Usage: $(basename $0) clean package-name ..."
+  exit 1
+fi
+
+recipe=$(get_recipe_name $pkg) || exit 1
+
+. $recipe
+
+clean
diff --git a/w32/tools/mpk-config.guess b/w32/tools/mpk-config.guess
new file mode 100755
index 0000000..278f9e9
--- /dev/null
+++ b/w32/tools/mpk-config.guess
@@ -0,0 +1,1516 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+#   Inc.
+
+timestamp='2007-07-22'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner <per@xxxxxxxxxxx>.
+# Please send patches to <config-patches@xxxxxxx>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@xxxxxxx>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@xxxxxxxxxxxxxxx 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    sh5el) machine=sh5le-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep __ELF__ >/dev/null
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+	        os=netbsd
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    *:SolidBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+		;;
+	*5.*)
+	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-morphos
+	exit ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+	exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee@xxxxxxxxxxxxxxxxxxxx (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+        exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+ 	exit ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit ;;
+    *:AIX:*:[45])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+              	{
+              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+              	case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+              	    switch (bits)
+              		{
+              		case 64: puts ("hppa2.0w"); break;
+              		case 32: puts ("hppa2.0n"); break;
+              		default: puts ("hppa2.0"); break;
+              		} break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+              	    puts ("hppa2.0"); break;
+              #endif
+              	default: puts ("hppa1.0"); break;
+              	}
+                  exit (0);
+              }
+EOF
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
+	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep __LP64__ >/dev/null
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit ;;
+    3050*:HI-UX:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
+	echo unknown-hitachi-hiuxwe2
+	exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+        exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+        exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+        exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+        exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+        exit ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:FreeBSD:*:*)
+	case ${UNAME_MACHINE} in
+	    pc98)
+		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	    amd64)
+		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	    *)
+		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	esac
+	exit ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit ;;
+    *:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit ;;
+    i*:windows32*:*)
+    	# uname -m includes "-pc" on this system.
+    	echo ${UNAME_MACHINE}-mingw32
+	exit ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit ;;
+    *:Interix*:[3456]*)
+    	case ${UNAME_MACHINE} in
+	    x86)
+		echo i586-pc-interix${UNAME_RELEASE}
+		exit ;;
+	    EM64T | authenticamd)
+		echo x86_64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	esac ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i586-pc-interix
+	exit ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+	echo x86_64-unknown-cygwin
+	exit ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    *:GNU:*:*)
+	# the GNU system
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	exit ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit ;;
+    arm*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    avr32*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    cris:Linux:*:*)
+	echo cris-axis-linux-gnu
+	exit ;;
+    crisv32:Linux:*:*)
+	echo crisv32-axis-linux-gnu
+	exit ;;
+    frv:Linux:*:*)
+    	echo frv-unknown-linux-gnu
+	exit ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m32r*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    mips:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips
+	#undef mipsel
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mipsel
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+	    /^CPU/{
+		s: ::g
+		p
+	    }'`"
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips64
+	#undef mips64el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mips64el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips64
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+	    /^CPU/{
+		s: ::g
+		p
+	    }'`"
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    or32:Linux:*:*)
+	echo or32-unknown-linux-gnu
+	exit ;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-gnu
+	exit ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-gnu
+	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
+	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
+	  *)    echo hppa-unknown-linux-gnu ;;
+	esac
+	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-gnu
+	exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux
+	exit ;;
+    sh64*:Linux:*:*)
+    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    vax:Linux:*:*)
+	echo ${UNAME_MACHINE}-dec-linux-gnu
+	exit ;;
+    x86_64:Linux:*:*)
+	echo x86_64-unknown-linux-gnu
+	exit ;;
+    xtensa:Linux:*:*)
+    	echo xtensa-unknown-linux-gnu
+	exit ;;
+    i*86:Linux:*:*)
+	# The BFD linker knows what the default object file format is, so
+	# first see if it will tell us. cd to the root directory to prevent
+	# problems with other programs or directories called `ld' in the path.
+	# Set LC_ALL=C to ensure ld outputs messages in English.
+	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+			 | sed -ne '/supported targets:/!d
+				    s/[ 	][ 	]*/ /g
+				    s/.*supported targets: *//
+				    s/ .*//
+				    p'`
+        case "$ld_supported_targets" in
+	  elf32-i386)
+		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+		;;
+	  a.out-i386-linux)
+		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+		exit ;;
+	  coff-i386)
+		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+		exit ;;
+	  "")
+		# Either a pre-BFD a.out linker (linux-gnuoldld) or
+		# one that does not give us useful --help.
+		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+		exit ;;
+	esac
+	# Determine whether the default compiler is a.out or elf
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <features.h>
+	#ifdef __ELF__
+	# ifdef __GLIBC__
+	#  if __GLIBC__ >= 2
+	LIBC=gnu
+	#  else
+	LIBC=gnulibc1
+	#  endif
+	# else
+	LIBC=gnulibc1
+	# endif
+	#else
+	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+	LIBC=gnu
+	#else
+	LIBC=gnuaout
+	#endif
+	#endif
+	#ifdef __dietlibc__
+	LIBC=dietlibc
+	#endif
+EOF
+	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+	    /^LIBC/{
+		s: ::g
+		p
+	    }'`"
+	test x"${LIBC}" != x && {
+		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+		exit
+	}
+	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+	;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
+	echo i386-sequent-sysv4
+	exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit ;;
+    i*86:*:5:[678]*)
+    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	exit ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i386.
+	echo i386-pc-msdosdjgpp
+        exit ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && { echo i486-ncr-sysv4; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel@xxxxxxxxxxxxxxxxx>
+        echo i586-unisys-sysv4
+        exit ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes@xxxxxxxxxxxxxx>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit ;;
+    *:*:*:FTX*)
+	# From seanf@xxxxxxxxxxxxxxxxx
+	echo i860-stratus-sysv4
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green@xxxxxxxxxxxx
+	echo ${UNAME_MACHINE}-stratus-vos
+	exit ;;
+    *:VOS:*:*)
+	# From Paul.Green@xxxxxxxxxxxx
+	echo hppa1.1-stratus-vos
+	exit ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+	        echo mips-nec-sysv${UNAME_RELEASE}
+	else
+	        echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+        exit ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-7:SUPER-UX:*:*)
+	echo sx7-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8:SUPER-UX:*:*)
+	echo sx8-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8R:SUPER-UX:*:*)
+	echo sx8r-nec-superux${UNAME_RELEASE}
+	exit ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Rhapsody:*:*)
+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Darwin:*:*)
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	case $UNAME_PROCESSOR in
+	    unknown) UNAME_PROCESSOR=powerpc ;;
+	esac
+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	UNAME_PROCESSOR=`uname -p`
+	if test "$UNAME_PROCESSOR" = "x86"; then
+		UNAME_PROCESSOR=i386
+		UNAME_MACHINE=pc
+	fi
+	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+	exit ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+	echo nse-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    *:*VMS:*:*)
+    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms ; exit ;;
+	    I*) echo ia64-dec-vms ; exit ;;
+	    V*) echo vax-dec-vms ; exit ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
+	exit ;;
+    i*86:skyos:*:*)
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	exit ;;
+    i*86:rdos:*:*)
+	echo ${UNAME_MACHINE}-pc-rdos
+	exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+	  ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+	printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+	printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+	{ echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+	echo c1-convex-bsd
+	exit ;;
+    c2*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    c34*)
+	echo c34-convex-bsd
+	exit ;;
+    c38*)
+	echo c38-convex-bsd
+	exit ;;
+    c4*)
+	echo c4-convex-bsd
+	exit ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+and
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@xxxxxxx> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/w32/tools/mpk-help b/w32/tools/mpk-help
new file mode 100644
index 0000000..e74236a
--- /dev/null
+++ b/w32/tools/mpk-help
@@ -0,0 +1,13 @@
+echo "Usage:
+* $prog build <package>   - Download, unpack, and build a package.
+* $prog unpack <package>  - Download and unpack a package.
+* $prog source <package>  - Download a source package.
+* $prog remove <package>  - Remove an installed package.
+* $prog install <package> - Install a previously built package.
+* $prog clean <package>   - Clean the build directory of a package.
+* $prog shell [package]   - Enters a shell with a pre-defined environment.
+* $prog --version         - Show the current Minipack version.
+* $prog --help            - Show this screen.
+
+Report bugs to http://code.google.com/p/minipack/issues/list";
+
diff --git a/w32/tools/mpk-install b/w32/tools/mpk-install
new file mode 100644
index 0000000..04f32be
--- /dev/null
+++ b/w32/tools/mpk-install
@@ -0,0 +1,61 @@
+# mpk-install - Install packages.
+# Copyright (C) 2009,2010 Cesar Strauss
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+install()
+{
+  : ${top_srcdir:=$name-$version}
+
+  pkg_builddir=$builddir/$name-$version-$release/$top_srcdir
+
+  if [ ! -d $pkg_builddir ]; then
+    echo >&2 "$(basename $0) install: Could not find the build location of $pkg."
+    fail
+  fi
+  
+  cd $pkg_builddir
+  
+  if [ ! -f Makefile ]; then
+    echo >&2 "$(basename $0) install: $pkg not build yet."
+  fi
+  
+  (make install > ../logs/install.log) || fail
+}
+
+fail()
+{
+  echo
+  echo "================="
+  echo "Install failed."
+  echo "================="
+  exit 1
+}
+
+if [ -z "$1" ]; then
+  echo "Usage: $(basename $0) install package-name"
+  exit 1
+fi
+pkg=$1
+
+if [ -z "$pkg" ]; then
+  echo "Usage: $(basename $0) install package-name ..."
+  exit 1
+fi
+
+recipe=$(get_recipe_name $pkg) || exit 1
+
+. $recipe
+
+install
diff --git a/w32/tools/mpk-remove b/w32/tools/mpk-remove
new file mode 100644
index 0000000..008cc35
--- /dev/null
+++ b/w32/tools/mpk-remove
@@ -0,0 +1,61 @@
+# mpk-remove - Uninstall packages.
+# Copyright (C) 2008,2010 Cesar Strauss
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+remove()
+{
+  : ${top_srcdir:=$name-$version}
+
+  pkg_builddir=$builddir/$name-$version-$release/$top_srcdir
+
+  if [ ! -d $pkg_builddir ]; then
+    echo >&2 "$(basename $0) remove: Could not find the build location of $pkg."
+    fail
+  fi
+  
+  cd $pkg_builddir
+  
+  if [ ! -f Makefile ]; then
+    echo >&2 "$(basename $0) remove: $pkg not build yet."
+  fi
+  
+  (make uninstall > ../logs/remove.log) || fail
+}
+
+fail()
+{
+  echo
+  echo "================="
+  echo "Removal failed."
+  echo "================="
+  exit 1
+}
+
+if [ -z "$1" ]; then
+  echo "Usage: $(basename $0) remove package-name"
+  exit 1
+fi
+pkg=$1
+
+if [ -z "$pkg" ]; then
+  echo "Usage: $(basename $0) remove package-name ..."
+  exit 1
+fi
+
+recipe=$(get_recipe_name $pkg) || exit 1
+
+. $recipe
+
+remove
diff --git a/w32/tools/mpk-shell b/w32/tools/mpk-shell
new file mode 100644
index 0000000..207884a
--- /dev/null
+++ b/w32/tools/mpk-shell
@@ -0,0 +1,69 @@
+# mpk-shell - enters a shell with a pre-defined environment.
+# Copyright (C) 2008,2010 Cesar Strauss
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+create_shell()
+{
+  setup_configure_options
+  
+  export mpk_opt="$pkg_configure_opt"
+  export topdir builddir resultdir
+
+  : ${SHELL:=/bin/sh}
+
+  echo "
+==============
+Minipack shell
+==============
+
+The following variables are set:
+
+mpk_opt=\""
+
+for opt in $mpk_opt; do
+  echo "   $opt"
+done
+
+echo "\"
+topdir=$topdir
+builddir=$builddir
+resultdir=$resultdir
+
+Most software can be built like this:
+
+   echo \"\$mpk_opt\" | xargs ./configure
+   make
+   make install
+
+[To exit the Minipack shell, type 'exit'].
+"
+
+$SHELL --login -i
+
+echo "
+========================
+Minipack shell finished.
+========================
+"
+}
+
+pkg=$1
+
+if [ -n "$pkg" ]; then
+  recipe=$(get_recipe_name $pkg) || exit 1
+  . $recipe
+fi
+
+create_shell
diff --git a/w32/tools/mpk-source b/w32/tools/mpk-source
new file mode 100644
index 0000000..8004b23
--- /dev/null
+++ b/w32/tools/mpk-source
@@ -0,0 +1,79 @@
+# mpk-source - downloads source code.
+# Copyright (C) 2008,2010 Cesar Strauss
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+get_source()
+{
+  do_get_source
+}
+
+do_get_source()
+{
+  : ${source_package_type:=tar.gz}
+  : ${source:=$name-$version.$source_package_type}
+  : ${gnu_mirror:=http://ftp.gnu.org/pub/gnu}
+
+  if [ -z "$force" -a -e $sourcedir/$source ]; then
+    exit 0
+  fi
+
+  if [ -n "$origin" ]; then
+    case $origin in
+      gnu) pkg_download="$gnu_mirror/$name/$source";;
+      sf) pkg_download="http://downloads.sourceforge.net/sourceforge/$name/$source";;;
+      *) echo >&2 "$name: Unknown origin."; exit 1;;
+    esac
+  fi
+  
+  if [ -n "$download" ]; then
+    pkg_download=$download/$source
+  fi
+
+  if [ -z "$pkg_download" ]; then
+    echo >&2 "$name: download location not found."
+    exit 1
+  fi
+
+  mkdir -p $sourcedir/partial
+  cd $sourcedir/partial
+  echo Downloading $name from $pkg_download ...
+  wget -c $pkg_download
+
+  if [ $? != 0 ]; then
+    echo >&2 "$(basename $0) source: Failed to download $name"
+    exit 1
+  fi
+  
+  mv $sourcedir/partial/$source $sourcedir
+}
+
+case $1 in
+  -f|--force) force=yes; shift;;
+  -*) echo "$(basename $0) source: unrecognized option"; exit 1;;
+esac
+
+pkg=$1
+
+if [ -z "$pkg" ]; then
+  echo "Usage: $(basename $0) source package-name ..."
+  exit 1
+fi
+
+recipe=$(get_recipe_name $pkg) || exit 1
+
+. $recipe
+
+get_source
+
diff --git a/w32/tools/mpk-unpack b/w32/tools/mpk-unpack
new file mode 100644
index 0000000..021adf6
--- /dev/null
+++ b/w32/tools/mpk-unpack
@@ -0,0 +1,100 @@
+# mpk-unpack - unpacks source code.
+# Copyright (C) 2008 Cesar Strauss
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+unpack_source()
+{
+  : ${source_package_type:=tar.gz}
+  : ${source:=$name-$version.$source_package_type}
+  : ${top_srcdir:=$name-$version}
+
+  buildroot=$builddir/$name-$version-$release
+  
+  if [ -d $buildroot/$top_srcdir ]; then
+    exit 0
+  fi
+  
+  sourcename=$sourcedir/$source
+  if [ ! -e $sourcename ]; then
+    $mpk source $pkg
+    if [ ! -e $sourcename ]; then
+      echo >&2 "$(basename $0) unpack: Could not find source for $pkg"
+      exit 1
+    fi
+  fi
+
+  mkdir -p $buildroot
+  cd $buildroot
+  
+  echo "Unpacking $pkg..."
+
+  case $source_package_type in
+    tar.*)
+      tar -xf $sourcename ;;
+    zip)
+      unzip $sourcename ;;
+  esac
+
+  if [ $? != 0 ]; then
+    echo >&2 "$(basename $0) unpack: Failed to unpack $sourcename"
+    exit 1
+  fi
+  
+  cd ${top_srcdir}
+  
+  pkg_patchdir=$patchdir/$name
+  
+  if [ -d $pkg_patchdir ]; then
+    patches=`find $pkg_patchdir -name '*.patch' | sort`
+    for p in $patches; do
+      patch -p1 -i "$p"
+      if [ $? != 0 ]; then
+        echo >&2 "$(basename $0) unpack: Failed apply patches for $sourcename"
+        exit 1
+      fi
+    done
+  fi
+
+  src_prep
+
+  if [ $? != 0 ]; then
+    echo >&2 "$(basename $0) unpack: Failed to prepare build directory for $sourcename"
+    exit 1
+  fi
+  
+}
+
+src_prep()
+{
+  do_prep
+}
+
+do_prep()
+{
+  :
+}
+
+pkg=$1
+
+if [ -z "$pkg" ]; then
+  echo "Usage: $(basename $0) unpack package-name ..."
+  exit 1
+fi
+
+recipe=$(get_recipe_name $pkg) || exit 1
+
+. $recipe
+
+unpack_source
diff --git a/w32/tools/mpk-version b/w32/tools/mpk-version
new file mode 100644
index 0000000..0a7ff61
--- /dev/null
+++ b/w32/tools/mpk-version
@@ -0,0 +1,5 @@
+echo "$prog (Minipack) $MPK_VERSION
+Copyright (C) 2008,2010 Cesar Strauss
+License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law."
diff --git a/w32/tools/tool.template b/w32/tools/tool.template
new file mode 100755
index 0000000..60bec87
--- /dev/null
+++ b/w32/tools/tool.template
@@ -0,0 +1,4 @@
+#! /bin/sh
+
+prog=`basename $0`
+${resultdir}/bin/$prog "$@"

commit b257c10be738af0f256a3fe80132447eb2d18a4b
Author: Cesar Strauss <cstrauss@xxxxxxxxxxxxxxxxxxx>
Commit: DJ Delorie <dj@xxxxxxxxxxx>

    Remove previous Windows build script.
    
    Affects-bug: lp-699494

diff --git a/Makefile.am b/Makefile.am
index 41ca65a..1cfe9b2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,13 +3,13 @@
 ##
 ## Top level automake file for PCB
 
-DIRS=		win32 intl gts src data lib newlib example tools tutorial README_FILES po tests
+DIRS=		intl gts src data lib newlib example tools tutorial README_FILES po tests
 SUBDIRS=	${DIRS} @DOC@
 DIST_SUBDIRS=	${DIRS} doc
 
 INTLTOOL_FILES = intltool-extract.in intltool-merge.in  intltool-update.in
 
-EXTRA_DIST=	config.rpath globalconst.h README.git README.win32 icon-theme-installer $(INTLTOOL_FILES)
+EXTRA_DIST=	config.rpath globalconst.h README.git icon-theme-installer $(INTLTOOL_FILES)
 
 DISTCLEANFILES= configure.lineno intltool-extract intltool-merge intltool-update po/.intltool-merge-cache
 
diff --git a/README.win32 b/README.win32
deleted file mode 100644
index 6598a06..0000000
--- a/README.win32
+++ /dev/null
@@ -1,64 +0,0 @@
-$Id$
-
-*** there are some issues with the use of popen+cat and popen+m4 for
-*** reading files and libraries which still need to be addressed
-*** before PCB for windows will be usable.  These should be simple
-*** fixes whenever someone has time.  The core program seems to
-*** run ok though.
- 
-Yes, PCB runs on windows too!  To build from source, you need cygwin
-and also the mingw compilers.  It builds as a native WIN32 application.
-The configure script is set up to assume that you are using the native
-win32 gtk libraries as opposed to the cygwin ones.  One method which
-seems to work for building from source is:
-
-- Go to http://www.gtk.org and follow links to gtk for win32.
-
-- Download the runtime and developer .zip files for glib, atk, pango,
-  gtk+, gettext, libiconv, and pkg-config.
-
-- In cygwin, 
-
-  mkdir ~/gtk_win32
-
-  and extract the zip files into that directory.
-
-  mkdir ~/gtk_win32_runtime
-
-  and extract only the runtime zip files into that directory.
-
-- Make sure the dll's have the correct permissions
-
-  find ~/gtk_win32 -name \*.dll -exec chmod a+x {} \;
-  find ~/gtk_win32_runtime -name \*.dll -exec chmod a+x {} \;
-
-- In cygwin,
-
-    ./win32/build_pcb
-
-
-The file win32/build_pcb in the PCB distribution shows how
-I managed to build the win32 version and the windows installer.
-
-If you have the normal cygwin and cygwin for X gtk libraries installed
-you will have problems.  It is related to libtool changing things like
--L/path/to/nativewin32gtk -lgtk to /usr/lib/libgtk-2.0.a.  Watch when
-PCB.exe in gtk-PCB/ is actually linked and you'll see it happen.
-An ugly work around is to just modify the Makefile to not use libtool
-for linking or to run the link command by hand.  But that is ugly.
-Anyone with a real fix?  I worked around this by not installing the
-X gtk libraries on my cygwin installation.
-
-Binary Version:
----------------
-The installer was created using NSIS (http://nsis.sourceforge.net).
-Many thanks to Bob Paddock for pointing me towards NSIS and answering
-some naive questions about windows.
-
-The pcb.nsi file in the win32 directory was used to build the
-installer.  Note, pcb.nsi is actually created from pcb.nsi.in
-by build_pcb in the win32 directory.  There are still a few
-things which aren't automatically done since some paths on your
-system need to go into build_pcb.  Once you edit the top part
-of build_pcb, it should complete everything else.
-
diff --git a/configure.ac b/configure.ac
index 1c4ee58..13c1bf7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1285,9 +1285,6 @@ AC_CONFIG_FILES(tests/golden/hid_png2/Makefile)
 AC_CONFIG_FILES(tests/golden/hid_png3/Makefile)
 AC_CONFIG_FILES(tests/Makefile)
 
-dnl win32 build scripts
-AC_CONFIG_FILES(win32/Makefile)
-
 dnl GTS 0.7.6 - http://gts.sourceforge.net/
 AC_CONFIG_FILES(gts/Makefile)
 
diff --git a/win32/.cvsignore b/win32/.cvsignore
deleted file mode 100644
index 0615b48..0000000
--- a/win32/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*~
-Makefile
-Makefile.in
diff --git a/win32/Makefile.am b/win32/Makefile.am
deleted file mode 100644
index cdef81c..0000000
--- a/win32/Makefile.am
+++ /dev/null
@@ -1,13 +0,0 @@
-## -*- Makefile -*-
-##
-## $Id$
-##
-
-
-EXTRA_DIST= build_pcb extract_gtk_win32 pcb.nsi.in Readme.txt \
-	registerExtension.nsh
-
-if WIN32
-doc_DATA=	Readme.txt
-endif
-
diff --git a/win32/Readme.txt b/win32/Readme.txt
deleted file mode 100644
index 93273a4..0000000
--- a/win32/Readme.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-# $Id$
-#
-
-This is the windows port of the pcb printed circuit board
-layout editor.
-
-Please visit http://pcb.gpleda.org for more information about PCB.
-
-The windows port makes use of GTK+ for windows.   Please visit 
-http://www.gtk.org for more information about GTK.  Without all the hard
-work of the GTK+ authors, PCB would not exist in its current form.
-
-The windows installer was created with NSIS.  Please visit
-http://nsis.sourceforge.net for more information about NSIS.
-
diff --git a/win32/build_pcb b/win32/build_pcb
deleted file mode 100755
index 7e12ae9..0000000
--- a/win32/build_pcb
+++ /dev/null
@@ -1,366 +0,0 @@
-#!/bin/sh
-#
-# $Id$
-#
-
-# error out on failed commands whose return code wasn't explicitly
-# checked
-set -e
-
-usage() {
-cat << EOF
-
-$0 [options]
-
-Builds a non-cygwin version of pcb and create a standalone
-windows installer.
-
-Supported options:
-
-  --debug         - Omits the compiler flag which prevents
-                    a command window from being opened.  This
-                    is useful when trying to use debug printf's
-
-  --disable-doc   - Pass "--disable-doc" to the configure script.
-
-  --enable-maintainer-mode
-                  - Pass "--enable-maintainer-mode" to the
-                    configure script.
-
-
-  --help          - Show this message and exit.
-
-  --force-autogen - Force running ./autogen.sh.  Normally this is
-                    only done if the configure script is not present.
-
-  --nsis-only     - Only run NSIS to create the installer.  This is
-                    shorthand for all of the following --skip-* options.
-
-  --skip-build    - Skip the "make" step of the process.
-
-  --skip-clean    - Skip the "make clean" step of the process.
-
-  --skip-config   - Skip the "./configure" step of the process.
-
-  --skip-install  - Skip the "make install" step of the process.
-
-  --with-tex      - Set TEX=tex
-
-  --with-etex     - set TEX=etex
-
-For the $0 script to work, you must have the gtk_win32 files
-as well as gdlib installed on your system in very specific
-locations.  Edit $0 to change these.  While you are at it, feel
-free to provide a patch to improve the documentation about 
-those libraries.
-
-EOF
-}
-
-debug=no
-do_autogen=no
-do_config=yes
-do_build=yes
-do_clean=yes
-do_install=yes
-config_args=""
-tex_flag="TEX=tex"
-while test $# -ne 0 ; do
-	case $1 in
-		--debug)
-			debug=yes
-			shift
-			;;
-
-               --disable-doc)
-                       config_args="${config_args} --disable-doc"
-                       shift
-                       ;;
-
-               --enable-maintainer-mode)
-                       config_args="${config_args} --enable-maintainer-mode"
-                       shift
-                       ;;
-
-		--help)
-			usage
-			exit 0
-			;;
-
-		--force-autogen)
-			do_autogen=yes
-			shift
-			;;
-
-		--nsis-only)
-			do_build=no
-			do_clean=no
-			do_config=no
-			do_install=no
-			shift
-			;;
-
-		--skip-build)
-			do_build=no
-			shift
-			;;
-
-		--skip-clean)
-			do_clean=no
-			shift
-			;;
-
-		--skip-config)
-			do_config=no
-			shift
-			;;
-
-		--skip-install)
-			do_install=no
-			shift
-			;;
-
-		--with-etex)
-			tex_flag="TEX=etex"
-			shift
-			;;
-
-		--with-tex)
-			tex_flag="TEX=tex"
-			shift
-			;;
-
-		-*)
-			echo "ERROR:  Unknown option $1"
-			usage
-			exit 1
-			;;
-
-		*)
-			break
-			;;
-	esac
-done
-
-if test ! -f win32/build_pcb ; then
-	echo "$0:  ERROR.  This script must be run from the top level of the pcb source tree."
-	exit 1
-fi
-
-# Run this under cygwin to build pcb and create a windows installer for
-# it.  Thanks to Bob Paddock for pointing me to NSIS and answering some 
-# beginner windows questions.
-
-# where gtk_win32 is installed
-gtk_win32=c:\\cygwin\\home\\${USER}\\gtk_win32
-
-# where only the runtime components are installed
-gtk_win32_runtime=c:\\\\cygwin\\\\home\\\\${USER}\\\\gtk_win32_runtime
-
-
-# where the gdwin32.zip archive has been extracted
-# gdwin32.zip can be downloaded from http://www.boutell.com/gd/http/gdwin32.zip
-# I have used 2.0.33
-gd_win32=c:\\cygwin\\home\\${USER}\\gd_win32
-gd_win32_runtime=c:\\\\cygwin\\\\home\\\\${USER}\\\\gd_win32_runtime
-
-
-# pcb version
-
-pcb_version=`awk '/AC_INIT/ {gsub(/.*,[ \t]*\[/, ""); gsub(/\]\).*/, ""); print}' configure.ac`
-echo "pcb_version=${pcb_version}"
-
-# location of the NSIS makensis executible (see http://nsis.sourceforge.net)
-makensis="/cygdrive/c/Program Files/NSIS/makensis.exe"
-
-
-# ########################################################################
-#
-# The rest should be ok without editing
-#
-# ########################################################################
-
-
-if test ! -f configure -o $do_autogen = yes ; then
-	echo "Bootstrapping autotools"
-	ACLOCAL_FLAGS="-I ${gtk_win32}\\share\\aclocal" ./autogen.sh
-fi
-
-# source directory
-srcdir=`pwd.exe`/win32
-top_srcdir=${srcdir}/..
-
-src_dir=c:\\\\cygwin`echo ${srcdir} | sed 's;/;\\\\\\\\;g'`
-top_src_dir=c:\\\\cygwin`echo ${top_srcdir} | sed 's;/;\\\\\\\\;g'`
-
-
-# where to install pcb
-pcb_inst=`pwd`/pcb_inst
-
-# DOS version
-pcb_inst_dir=c:\\\\cygwin`echo ${pcb_inst} | sed 's;/;\\\\\\\\;g'`
-
-PKG_CONFIG_PATH=${gtk_win32}\\lib\\pkgconfig
-export PKG_CONFIG_PATH
-
-PATH=${HOME}/gd_win32_runtime/bin:${HOME}/gtk_win32_runtime/bin:${PATH}
-export PATH
-echo "Set PATH=${PATH}"
-
-echo "Showing packages known to pkg-config:"
-pkg-config --list-all
-
-
-# do not try to use libpng-config, it seems broken on win32
-LIBPNG_CONFIG=/usr/bin/true
-export LIBPNG_CONFIG
-LIBPNG_CFLAGS="-I${HOME}/gtk_win32/include"
-LIBPNG_LDFLAGS="-L${HOME}/gtk_win32/lib"
-LIBPNG_LIBS="-lpng"
-
-# do not try and build the tk based QFP footprint
-# builder
-WISH=/usr/bin/true
-export WISH
-
-# do not try and use the gdlib-config script to 
-# configure gdlib
-GDLIB_CONFIG=/usr/bin/true
-export GDLIB_CONFIG
- 
-GDLIB_CFLAGS="-I${HOME}/gd_win32/include"
-GDLIB_LDFLAGS="-L${HOME}/gd_win32/lib -lbgd"
-
-# add the gcc options to produce a native windows binary that
-# does not need cygwin to run
-if test "x${debug}" = "xno" ; then
-	EXTRA_FLAGS="-mwindows"
-fi
-
-CYGWIN_CFLAGS="-mms-bitfields -mno-cygwin ${EXTRA_FLAGS}"
-export CYGWIN_CFLAGS
-
-CYGWIN_CPPFLAGS="-mms-bitfields -mno-cygwin ${EXTRA_FLAGS}"
-export CYGWIN_CPPFLAGS
-
-# setting WIN32=yes will make sure that the desktop icon
-# gets compiled in
-if test "$do_config" = "yes" ; then
-rm -fr src/.deps
-echo "Configuring for cygwin"
-( ( ( env WIN32=yes \
-	./configure \
-	--prefix=${pcb_inst} \
-	--docdir=${pcb_inst}/doc \
-	--pdfdir=${pcb_inst}/doc/pdf \
-	--htmldir=${pcb_inst}/doc/html \
-	--datadir=${pcb_inst}/share \
-       ac_cv_func_gdImageGif="yes" \
-       ac_cv_func_gdImageJpeg="yes" \
-       ac_cv_func_gdImagePng="yes" \
-	--disable-dependency-tracking \
-	--disable-nls \
-	--disable-update-desktop-database \
-	--disable-update-mime-database \
-	${config_args} \
-        CFLAGS="${GDLIB_CFLAGS}" \
-        LDFLAGS="${GDLIB_LDFLAGS}" \
-	WIN32=yes \
-	2>&1 ; echo $? >&4 ) | tee c.log 1>&3) 4>&1 | (read a ; exit $a)) 3>&1
-
-if test $? -ne 0 ; then
-	echo "**** ERROR **** Configure failed. See log in c.log"
-	exit 1
-fi
-
-# If the win32 pkg-config is used, then you end up with spurious CR's
-# in the generated Makefile's and we need to get rid of them.
-
-for f in `find . -name Makefile -print`; do
-	mv $f $f.bak
-	cat $f.bak | tr '\r' ' ' > $f
-	rm $f.bak
-done
-
-fi
-
-if test "$do_clean" = "yes" ; then
-echo "Cleaning"
-( ( ( make clean 2>&1 ; echo $? >&4) | tee clean.log 1>&3) 4>&1 | (read a ; exit $a) ) 3>&1
-if test $? -ne 0 ; then
-	echo "**** ERROR **** Clean failed. See log in clean.log"
-	exit 1
-fi
-fi
-
-if test "$do_build" = "yes" ; then
-echo "Building for cygwin"
-( ( ( make $tex_flag 2>&1 ; echo $? >&4) | tee m.log 1>&3) 4>&1 | (read a ; exit $a) ) 3>&1
-if test $? -ne 0 ; then
-	echo "**** ERROR **** Build failed. See log in m.log"
-	exit 1
-fi
-fi
-
-if test "$do_install" = "yes" ; then
-echo "Installing for cygwin"
-# first clean out the installation directory to make sure
-# we don't have old junk lying around.
-if test -d ${pcb_inst} ; then
-	rm -fr ${pcb_inst}
-fi
-( ( ( make install 2>&1 ; echo $? >&4) | tee -a m.log 1>&3) 4>&1 | (read a ; exit $a) ) 3>&1
-if test $? -ne 0 ; then
-	echo "**** ERROR **** Build failed. See log in m.log"
-	exit 1
-fi
-fi
-
-cat << EOF
-Creating NSIS script
-
-srcdir = ${srcdir}
-src_dir = ${src_dir}
-top_srcdir = ${top_srcdir}
-top_src_dir = ${top_src_dir}
-
-EOF
-
-sed \
-	-e "s;@pcb_version@;${pcb_version};g" \
-	-e "s;@pcb_prefix@;${pcb_inst_dir};g" \
-	-e "s;@pcb_srcdir@;${top_src_dir};g" \
-	-e "s;@gtk_win32_runtime@;${gtk_win32_runtime};g" \
-	-e "s;@gd_win32@;${gd_win32};g" \
-	-e "s;@gd_win32_runtime@;${gd_win32_runtime};g" \
-	${srcdir}/pcb.nsi.in > ${srcdir}/pcb.nsi
-
-echo "Creating windows installer"
-"${makensis}" ${src_dir}/pcb.nsi
-
-
-echo "Windows installer left in ${srcdir}:"
-ls -l ${srcdir}/*.exe
-
-bat=run_install.bat
-
-cat << EOF
-
-Creating DOS batch file wrapper for the installer.
-If you have just built this under cygwin on Vista, 
-you will need to either run the installer from
-the Vista start menu, Windows explorer or directly from
-the cygwin shell with
-
-./${bat}
-
-EOF
-
-cat > ${bat} << EOF
-
-.\win32\pcbinst-${pcb_version}.exe
-
-EOF
-chmod 755 ${bat}
-
-
diff --git a/win32/extract_gtk_win32 b/win32/extract_gtk_win32
deleted file mode 100755
index 14f831f..0000000
--- a/win32/extract_gtk_win32
+++ /dev/null
@@ -1,286 +0,0 @@
-#!/bin/sh
-#
-# $Id$
-#
-# This script is probably not useful to most people.  It is used
-# to extract a set of downloaded files for gtk for windows and 
-# also extract a bunch of license files.
-#
-# It is used when initially setting up a cygwin environment for 
-# building gerbv or pcb with a non-cygwin version for windows
-# as the goal.
-
-# directory where all the files have been downloaded
-gtk_win32_downloads=${HOME}/gtk_win32_downloads
-
-# directory to extract everything (including headers) to.
-# This must match ./build_pcb.
-gtk_win32=${HOME}/gtk_win32
-gd_win32=${HOME}/gd_win32
-
-# directory to extract runtime files (excluding headers) to.
-# This must match ./build_pcb.
-gtk_win32_runtime=${HOME}/gtk_win32_runtime
-gd_win32_runtime=${HOME}/gd_win32_runtime
-
-# clean out old directories
-test ! -d ${gtk_win32} || rm -fr ${gtk_win32}
-test ! -d ${gtk_win32_runtime} || rm -fr ${gtk_win32_runtime}
-
-test ! -d ${gd_win32} || rm -fr ${gd_win32}
-test ! -d ${gd_win32_runtime} || rm -fr ${gd_win32_runtime}
-
-# make the new ones
-mkdir -p ${gtk_win32}
-mkdir -p ${gtk_win32_runtime}
-
-mkdir -p ${gd_win32}
-mkdir -p ${gd_win32_runtime}/bin
-
-# extract the runtime files
-cd ${gtk_win32_runtime}
-for f in ${gtk_win32_downloads}/*.zip ; do
-	fb=`basename "${f}"`
-	case "$fb" in
-		gd-*)
-			echo "Skip gd"
-			;;
-		*dev*)
-			echo "Skip developer file `basename ${fb}`"
-			;;
-		*src*)
-			echo "Skip source file `basename ${fb}`"
-			;;
-		*)
-			echo "Extract ${fb}"
-			unzip -n -q "$f"
-			;;
-	esac
-done
-
-# extract the runtime+developer files
-cd ${gtk_win32}
-for f in ${gtk_win32_downloads}/*.zip ; do
-	fb=`basename "${f}"`
-	case "$fb" in
-		gd-*)
-			echo "Skip gd"
-			;;
-		*src*)
-			echo "Skip source file `basename ${fb}`"
-			;;
-		*)
-			echo "Extract ${fb}"
-			unzip -n -q "$f"
-			;;
-	esac
-done
-
-chmod 755 ${gtk_win32}/bin/*
-mv ${gtk_win32_runtime}/zlib*.dll ${gtk_win32_runtime}/bin
-chmod 755 ${gtk_win32_runtime}/bin/*
-
-cd ${HOME}
-
-
-cd ${gd_win32}
-unzip ${gtk_win32_downloads}/gd-*-win32.zip
-cp */*.dll ${gd_win32_runtime}/bin
-cat > ${gd_win32_runtime}/gd-license.txt << EOF
-The GD library which provides png/gif/jpeg exporting
-is covered by the following license:
-
-EOF
-cat ${gd_win32}/COPYING.TXT >> ${gd_win32_runtime}/gd-license.txt
-chmod 755 ${gd_win32}/*/*
-chmod 755 ${gd_win32_runtime}/*
-
-cd ${HOME}
-
-# extract licenses
-
-cd
-tmpd=/tmp/ext.$$
-mkdir ${tmpd}
-
-cd ${tmpd}
-
-
-cat > ${gtk_win32_runtime}/LICENSE-lgpl << EOF
-The following packages are covered by the 
-GNU Library General Public License (LGPL)
-
-atk
-cairo
-glib
-gtk+
-libiconv
-pango
-proxy-libintl
-
-----------------------------------------
-
-EOF
-
-cat > ${gtk_win32_runtime}/LICENSE-gpl2 << EOF
-The following packages are covered by the GNU General Public License (GPL) v2.
-
-freetype
-pkg-config
-
-----------------------------------------
-
-EOF
-
-cat > ${gtk_win32_runtime}/LICENSE-gpl3 << EOF
-The following packages are covered by the GNU General Public License (GPL) v3.
-
-gettext
-
-----------------------------------------
-
-EOF
-
-
-# LGPL
-#
-# atk-1.22.0.tar.bz2
-# atk-1.22.0.zip
-# atk-dev-1.22.0.zip
-
-bzcat ${gtk_win32_downloads}/atk-*.tar.bz2 | tar -xf -
-cat atk-*/COPYING >> ${gtk_win32_runtime}/LICENSE-lgpl
-rm -fr atk-*
-
-# dual LGPL and MPL (Mozilla public license)
-#
-#cairo-1.6.4.tar.gz
-#cairo-1.6.4.zip
-#cairo-dev-1.6.4.zip
-
-# no copyright assigned and placed in public domain
-#
-# dirent.zip
-
-# sort of BSD with advertising like
-#expat-2.0.0.zip
-echo "expat is covered by the following copyright and license" > ${gtk_win32_runtime}/LICENSE-expat
-cat ${gtk_win32_downloads}/COPYING-expat >> ${gtk_win32_runtime}/LICENSE-expat
-
-
-#fontconfig-2.4.2-tml-20071015.diff
-#fontconfig-2.4.2-tml-20071015.zip
-#fontconfig-2.4.2.tar.gz
-#fontconfig-dev-2.4.2-tml-20071015.zip
-tar -zxvf ${gtk_win32_downloads}/fontconfig-*.tar.gz 
-echo "fontconfig is covered by the following license" > ${gtk_win32_runtime}/LICENSE-fontconfig
-cat fontconfig*/COPYING >> ${gtk_win32_runtime}/LICENSE-fontconfig
-rm -fr fontconfig-*
-
-#
-# Dual, "you choose" license.  We pick GPL v2.
-#freetype-2.3.4.tar.bz2
-#freetype-2.3.4.zip
-#freetype-dev-2.3.4.zip
-#bzcat  ${gtk_win32_downloads}/freetype-2.3.4.tar.bz2  | tar -xvf - mv freetype-*/*/LICENSE.TXT ${gtk_win32_runtime}/LICENSE-freetype
-#rm -fr freetype-*
-
-
-# GPL v3
-#
-#gettext-0.17.tar.gz
-#gettext-runtime-0.17.zip
-#gettext-runtime-dev-0.17.zip
-#gettext-tools-0.17.zip
-tar -zxvf ${gtk_win32_downloads}/gettext-*.tar.gz
-cat gettext-*/COPYING >> ${gtk_win32_runtime}/LICENSE-gpl3
-rm -fr gettext-*
-
-
-# LGPL
-#glib-2.16.5.tar.bz2
-#glib-2.16.5.zip
-#glib-dev-2.16.5.zip
-
-# LGPL
-#
-#gtk+-2.12.11.tar.bz2
-#gtk+-2.12.11.zip
-#gtk+-dev-2.12.11.zip
-
-
-# jpeg license
-#
-#jpeg-6b-4-bin.zip
-#jpeg-6b-4-dep.zip
-#jpeg-6b-4-lib.zip
-#jpegsrc.v6b.tar.gz
-
-#unzip ${gtk_win32_downloads}/jpeg-*-src.zip
-tar -zxvf ${gtk_win32_downloads}/jpegsrc.v6b.tar.gz
-echo "libjpeg is covered by the following license:" > ${gtk_win32_runtime}/LICENSE-jpeg
-cat jpeg-6b/README >> ${gtk_win32_runtime}/LICENSE-jpeg
-rm -fr jpeg-6b
-
-# LGPL
-#
-#libiconv-1.9.1.bin.woe32.zip
-#libiconv-1.9.1.tar.gz
-
-#libpng-1.2.9.tar.gz
-#libpng-dev-1.2.9.zip
-#libpng-1.2.9.zip
-mkdir tmppng
-cd tmppng
-unzip ${gtk_win32_downloads}/libpng-dev-*.zip
-ls 
-ls include
-
-echo "libpng is covered by the following copyright and license" > ${gtk_win32_runtime}/LICENSE-png
-awk '/COPYRIGHT/,/^[ \t]*$/ {print}' include/png.h >> ${gtk_win32_runtime}/LICENSE-png
-cd ..
-rm -fr tmppng
-
-# LGPL
-#
-#pango-1.20.5.tar.bz2
-#pango-1.20.5.zip
-#pango-dev-1.20.5.zip
-
-
-# GPL
-#
-#pkg-config-0.23.tar.gz
-#pkg-config-0.23-2.zip
-tar -zxvf ${gtk_win32_downloads}/pkg-config-*.tar.gz
-cat pkg-config-*/COPYING >> ${gtk_win32_runtime}/LICENSE-gpl2
-rm -fr pkg-config-*
-
-# LGPL
-#
-# proxy-libintl-20080728.zip
-
-# BSD-like with advertising clause
-#
-#tiff-3.8.2.tar.gz
-#libtiff-3.8.2.zip
-#libtiff-dev-3.8.2.zip
-tar -zxvf ${gtk_win32_downloads}/tiff-*.tar.gz
-echo "libtiff is covered by the following license:" > ${gtk_win32_runtime}/LICENSE-tiff
-cat tiff-*/COPYRIGHT >> ${gtk_win32_runtime}/LICENSE-tiff
-rm -fr tiff-*
-
-# Not needed anymore
-#xpm-nox-4.0.3-20020617.zip
-#xpm-nox-dev-4.0.3-20020112.zip
-#tar -zxvf ${gtk_win32_downloads}/xpm-*.tar.gz
-#echo "The xpm library is covered by the following license and copyright:" > ${gtk_win32_runtime}/LICENSE-xpm
-#cat xpm-*/COPYRIGHT >> ${gtk_win32_runtime}/LICENSE-xpm
-#rm -fr xpm-*
-
-#zlib123-dll.zip
-# the license had to be found on the zlib web site
-echo "zlib is covered by the following license and copyright" > ${gtk_win32_runtime}/LICENSE-zlib
-cat ${gtk_win32_downloads}/zlib_license.txt >> ${gtk_win32_runtime}/LICENSE-zlib
-
-
diff --git a/win32/pcb.nsi.in b/win32/pcb.nsi.in
deleted file mode 100644
index 04cd086..0000000
--- a/win32/pcb.nsi.in
+++ /dev/null
@@ -1,189 +0,0 @@
-;; $Id$
-;;
-;; Installer script file for PCB for windows.  See http://nsis.sourceforge.net
-;; for details on NSIS.
-;;
-
-; Started with:
-;
-;NSIS Modern User Interface
-;Start Menu Folder Selection Example Script
-;Written by Joost Verburg
-;
-; and modified for wcalc by Dan McMahill
-;
-; Later copied for use by PCB by Dan McMahill
-
-;--------------------------------
-;Include Modern UI
-
-  !include "MUI.nsh"
-
-
-;--------------------------------
-;Include macros for associating file 
-;extensions
-!include "registerExtension.nsh"
-
-
-;General
-
-  ;Name and file
-  Name "PCB-@pcb_version@"
-  OutFile "pcbinst-@pcb_version@.exe"
-
-
-  ;See http://nsis.sourceforge.net/Shortcuts_removal_fails_on_Windows_Vista
-  ;for more details.
-  RequestExecutionLevel admin
-
-  ;Default installation folder
-  InstallDir "$PROGRAMFILES\PCB-@pcb_version@"
-  
-  ;Get installation folder from registry if available
-  InstallDirRegKey HKCU "Software\pcb-@pcb_version@" ""
-
-;--------------------------------
-;Variables
-
-  Var MUI_TEMP
-  Var STARTMENU_FOLDER
-
-;--------------------------------
-;Interface Settings
-
-  !define MUI_ABORTWARNING
-
-;--------------------------------
-;Pages
-
-  !insertmacro MUI_PAGE_LICENSE "@pcb_srcdir@\COPYING"
-  !insertmacro MUI_PAGE_LICENSE "@gd_win32_runtime@\gd-license.txt"
-  !insertmacro MUI_PAGE_LICENSE "@gtk_win32_runtime@\LICENSE-gpl2"
-  !insertmacro MUI_PAGE_LICENSE "@gtk_win32_runtime@\LICENSE-gpl3"
-  !insertmacro MUI_PAGE_LICENSE "@gtk_win32_runtime@\LICENSE-lgpl"
-  !insertmacro MUI_PAGE_LICENSE "@gtk_win32_runtime@\LICENSE-expat"
-  !insertmacro MUI_PAGE_LICENSE "@gtk_win32_runtime@\LICENSE-fontconfig"
-  !insertmacro MUI_PAGE_LICENSE "@gtk_win32_runtime@\LICENSE-jpeg"
-  !insertmacro MUI_PAGE_LICENSE "@gtk_win32_runtime@\LICENSE-png"
-  !insertmacro MUI_PAGE_LICENSE "@gtk_win32_runtime@\LICENSE-tiff"
-  !insertmacro MUI_PAGE_LICENSE "@gtk_win32_runtime@\LICENSE-zlib"
-;  !insertmacro MUI_PAGE_COMPONENTS
-  !insertmacro MUI_PAGE_DIRECTORY
-  
-  ;Start Menu Folder Page Configuration
-  !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" 
-  !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\PCB-@pcb_version@" 
-  !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
-  
-  !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
-  
-  !insertmacro MUI_PAGE_INSTFILES
-  
-  !insertmacro MUI_UNPAGE_CONFIRM
-  !insertmacro MUI_UNPAGE_INSTFILES
-
-;--------------------------------
-;Languages
- 
-  !insertmacro MUI_LANGUAGE "English"
-
-;--------------------------------
-;Installer Sections
-
-Section "Dummy Section" SecDummy
-
-  SetOutPath "$INSTDIR"
-  SetShellVarContext all
-
-  
-  ;ADD YOUR OWN FILES HERE...
-  File /a /r "@gtk_win32_runtime@\*.*"
-  File /a /r "@gd_win32_runtime@\*.*"
-  File /a /r "@pcb_prefix@\*.*"
-
-  ;Associate file types and icons
-  ${registerExtension} "$INSTDIR\bin\pcb.exe" "" ".pcb" "PCB Layout File"
-  ${registerExtension} "$INSTDIR\bin\pcb.exe" "" ".fp" "PCB Footprint File"
- 
-
-  ;Store installation folder
-  WriteRegStr HKCU "Software\pcb-@pcb_version@" "" $INSTDIR
-  
-  ;Create uninstaller
-  WriteUninstaller "$INSTDIR\Uninstall.exe"
-  
-  !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
-    
-    ;Create shortcuts
-    CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
-    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
-    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\HTML Manual.lnk" "$INSTDIR\doc\html\pcb.html"
-    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\PDF Manual.lnk" "$INSTDIR\doc\pdf\pcb.pdf"
-    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Readme.lnk" "$INSTDIR\doc\Readme.txt"
-
-    SetShellVarContext current
-    SetOutPath "$DOCUMENTS"
-    SetShellVarContext all
-
-    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\PCB.lnk" "$INSTDIR\bin\pcb.exe" "" "$INSTDIR\bin\pcb.exe" 0 "" "" "PCB Printed Circuit Board Layout Editor"
-    SetOutPath "$INSTDIR"
-
-;; CreateShortCut  link.lnk target.file [parameters [icon.file [icon_index_number [start_options [keyboard_shortcut [description]]]]]]
-
-  !insertmacro MUI_STARTMENU_WRITE_END
-
-SectionEnd
-
-;--------------------------------
-;Descriptions
-
-  ;Language strings
-;  LangString DESC_SecDummy ${LANG_ENGLISH} "A test section."
-
-  ;Assign language strings to sections
-;  !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
-;    !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy)
-;  !insertmacro MUI_FUNCTION_DESCRIPTION_END
-
-;--------------------------------
-;Uninstaller Section
-
-Section "Uninstall"
-  SetShellVarContext all
-
-  ;ADD YOUR OWN FILES HERE...
-
-  ${unregisterExtension} ".pcb" "PCB Layout File"
-  ${unregisterExtension} ".fp"  "PCB Footprint File"
-
-  Delete "$INSTDIR\Uninstall.exe"
-  Delete "$INSTDIR\*.*"
-
-  RMDir /r "$INSTDIR\*.*"
-  RMDir "$INSTDIR"
-  
-  !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
-    
-  Delete "$SMPROGRAMS\$MUI_TEMP\HTML Manual.lnk"
-  Delete "$SMPROGRAMS\$MUI_TEMP\PCB.lnk"
-  Delete "$SMPROGRAMS\$MUI_TEMP\PDF Manual.lnk"
-  Delete "$SMPROGRAMS\$MUI_TEMP\Readme.lnk"
-  Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
-  
-  ;Delete empty start menu parent diretories
-  StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
- 
-  startMenuDeleteLoop:
-	ClearErrors
-    RMDir $MUI_TEMP
-    GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
-    
-    IfErrors startMenuDeleteLoopDone
-  
-    StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
-  startMenuDeleteLoopDone:
-
-  DeleteRegKey /ifempty HKCU "Software\pcb-@pcb_version@"
-
-SectionEnd
diff --git a/win32/registerExtension.nsh b/win32/registerExtension.nsh
deleted file mode 100644
index 46e8779..0000000
--- a/win32/registerExtension.nsh
+++ /dev/null
@@ -1,69 +0,0 @@
-;; From http://nsis.sourceforge.net/How_can_I_associate_a_file_extension_with_my_application
-
-
-!define registerExtension "!insertmacro registerExtension"
-!define unregisterExtension "!insertmacro unregisterExtension"
- 
-!macro registerExtension executable flags extension description
-       Push "${executable}"  ; "full path to my.exe"
-       Push "${flags}"  ; "options to pass to my.exe"
-       Push "${extension}"   ;  ".mkv"
-       Push "${description}" ;  "MKV File"
-       Call registerExtension
-!macroend
- 
-; back up old value of .opt
-Function registerExtension
-!define Index "Line${__LINE__}"
-  pop $R0 ; description
-  pop $R1 ; extension
-  pop $R3 ; flags
-  pop $R2 ; binary
-  push $1
-  push $0
-  ReadRegStr $1 HKCR $R1 ""
-  StrCmp $1 "" "${Index}-NoBackup"
-    StrCmp $1 "OptionsFile" "${Index}-NoBackup"
-    WriteRegStr HKCR $R1 "backup_val" $1
-"${Index}-NoBackup:"
-  WriteRegStr HKCR $R1 "" $R0
-  ReadRegStr $0 HKCR $R0 ""
-  StrCmp $0 "" 0 "${Index}-Skip"
-	WriteRegStr HKCR $R0 "" $R0
-	WriteRegStr HKCR "$R0\shell" "" "open"
-	WriteRegStr HKCR "$R0\DefaultIcon" "" "$R2,0"
-"${Index}-Skip:"
-  WriteRegStr HKCR "$R0\shell\open\command" "" '$R2 $R3 "%1"'
-  WriteRegStr HKCR "$R0\shell\edit" "" "Edit $R0"
-  WriteRegStr HKCR "$R0\shell\edit\command" "" '$R2 $R3 "%1"'
-  pop $0
-  pop $1
-!undef Index
-FunctionEnd
- 
-!macro unregisterExtension extension description
-       Push "${extension}"   ;  ".mkv"
-       Push "${description}"   ;  "MKV File"
-       Call un.unregisterExtension
-!macroend
- 
-Function un.unregisterExtension
-  pop $R1 ; description
-  pop $R0 ; extension
-!define Index "Line${__LINE__}"
-  push $1
-  ReadRegStr $1 HKCR $R0 ""
-  StrCmp $1 $R1 0 "${Index}-NoOwn" ; only do this if we own it
-  ReadRegStr $1 HKCR $R0 "backup_val"
-  StrCmp $1 "" 0 "${Index}-Restore" ; if backup="" then delete the whole key
-  DeleteRegKey HKCR $R0
-  Goto "${Index}-NoOwn"
-"${Index}-Restore:"
-  WriteRegStr HKCR $R0 "" $1
-  DeleteRegValue HKCR $R0 "backup_val"
-  DeleteRegKey HKCR $R1 ;Delete key with association name settings
-"${Index}-NoOwn:"
-  pop $1
-!undef Index
-FunctionEnd
-




_______________________________________________
geda-cvs mailing list
geda-cvs@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-cvs