[gimp] build/win: Add a jhbuild project for making windows binaries.



commit 7e80a4f891310a1c029420cda53c9e1adc9d1f41
Author: Michael Henning <drawoc darkrefraction com>
Date:   Wed Aug 28 16:05:18 2013 -0400

    build/win: Add a jhbuild project for making windows binaries.
    
    This was originally here:
    http://github.com/drawoc/windows-gimp-jhbuild

 build/windows/jhbuild/.gitignore                   |    2 +
 build/windows/jhbuild/README.md                    |   55 +
 build/windows/jhbuild/build                        |    6 +
 build/windows/jhbuild/build.jhbuildrc              |  244 ++
 build/windows/jhbuild/checkversions.sh             |   14 +
 build/windows/jhbuild/clean                        |   10 +
 build/windows/jhbuild/compresslibs.moduleset       |   34 +
 build/windows/jhbuild/fake.mk                      |    3 +
 build/windows/jhbuild/gdb.moduleset                |   25 +
 build/windows/jhbuild/gimp.moduleset               |   81 +
 build/windows/jhbuild/glib.moduleset               |   48 +
 build/windows/jhbuild/gtk+.moduleset               |  187 +
 build/windows/jhbuild/imglibs.moduleset            |   85 +
 build/windows/jhbuild/misclibs.moduleset           |  119 +
 build/windows/jhbuild/mkarchive                    |   83 +
 .../jhbuild/patches/bzip2-1.0.5-slash.patch        |   11 +
 .../patches/bzip2-1.0.6-autoconfiscated.patch      |  287 ++
 .../patches/fontconfig-fix-config-dir.patch        |   11 +
 ...ettext_0_18_crossbuild_override_tools_fix.patch |   11 +
 .../jhbuild/patches/ghostscript-8.71-windows.patch | 4535 ++++++++++++++++++++
 .../patches/ghostscript-change-install-paths.patch |   24 +
 build/windows/jhbuild/patches/gtk2-uuid.patch      |   30 +
 .../jhbuild/patches/icu-fix-library-names.patch    |   21 +
 .../jhbuild/patches/icu-unexport-target.patch      |   11 +
 .../jhbuild/patches/jasper-1.900.1-mingw32.patch   |   22 +
 .../jhbuild/patches/jasper-1.900.1-sleep.patch     |   18 +
 .../jhbuild/patches/libjpeg-turbo-boolean.patch    |   11 +
 .../jhbuild/patches/libjpeg-turbo-int32.patch      |   17 +
 .../jhbuild/patches/libmng-1.0.10-mingw.patch      |   44 +
 .../libmng-1.0.9-dont-leak-zlib-streams.patch      |   14 +
 .../jhbuild/patches/libmng-change-locations.patch  |   19 +
 .../patches/libsoup-request-file-string-h.patch    |   13 +
 .../patches/libwmf/libwmf-0.2.8.3-nodocs.patch     |   29 +
 .../libwmf/libwmf-0.2.8.3-relocatablefonts.patch   |   36 +
 .../patches/libwmf/libwmf-0.2.8.4-deps.patch       |   27 +
 .../libwmf/libwmf-0.2.8.4-fallbackfont.patch       |   18 +
 .../libwmf/libwmf-0.2.8.4-intoverflow.patch        |   27 +
 .../patches/libwmf/libwmf-0.2.8.4-libpng-1.5.patch |   12 +
 .../libwmf/libwmf-0.2.8.4-multiarchdevel.patch     |  130 +
 .../libwmf/libwmf-0.2.8.4-reducesymbols.patch      |  520 +++
 .../libwmf/libwmf-0.2.8.4-useafterfree.patch       |   10 +
 .../jhbuild/patches/libxslt-1.1.26-w64.patch       |   24 +
 .../jhbuild/patches/pthreads-add-install-mk.patch  |    8 +
 .../jhbuild/patches/webkit-2.0-disable-tests.patch |   15 +
 .../jhbuild/patches/webkit-add-autogen.patch       |   31 +
 build/windows/jhbuild/split-build                  |   31 +
 build/windows/jhbuild/targetisunchanged            |   10 +
 build/windows/jhbuild/webkitgtk.moduleset          |   58 +
 build/windows/jhbuild/win32.cache                  |    6 +
 49 files changed, 7087 insertions(+), 0 deletions(-)
---
diff --git a/build/windows/jhbuild/.gitignore b/build/windows/jhbuild/.gitignore
new file mode 100644
index 0000000..58b5464
--- /dev/null
+++ b/build/windows/jhbuild/.gitignore
@@ -0,0 +1,2 @@
+checkout/
+targets/
diff --git a/build/windows/jhbuild/README.md b/build/windows/jhbuild/README.md
new file mode 100644
index 0000000..1c1a198
--- /dev/null
+++ b/build/windows/jhbuild/README.md
@@ -0,0 +1,55 @@
+Doing a Simple Build
+====================
+To begin with, you need to install jhbuild, mingw-w64, and a few other build-related dependencies.
+
+If you're using debian, install these packages:
+
+       sudo apt-get install build-essential mingw-w64 git jhbuild automake autoconf libtool libgtk2.0-dev 
ragel intltool bison flex gperf gtk-doc-tools nasm ruby
+
+From there, in theory, you can simply clone this repo, cd into it, and run:
+
+       ./build
+
+That will build the development version of the gimp.
+
+If you'd rather build the stable version of the gimp, run this instead:
+
+       MODULE=gimp-stable ./build
+
+If you'd like to build with debigging information, run:
+
+       BUILD_FLAVOUR=dbg ./build
+
+What if it doesn't work out of the box?
+=======================================
+I've actually never had that work out of the box, so chances are you'll need to adjust things a bit.
+
+If you get an error along the lines of `no: command not found` while building GTK+, then that means 
gdk-pixbuf-csource can't be found.
+You can fix this by installing your distro's GTK+ 2 development package.
+(libgtk2.0-dev on debian)
+
+If you get an error that looks like this while building cairo:
+
+       In file included from getline.c:31:0:
+       cairo-missing.h:45:17: error: conflicting types for 'ssize_t'
+       In file included from /usr/lib/gcc/i486-mingw32/4.7.0/../../../../i486-mingw32/include/stdio.h:534:0,
+                            from cairo-missing.h:36,
+                            from getline.c:31:
+       /usr/lib/gcc/i486-mingw32/4.7.0/../../../../i486-mingw32/include/sys/types.h:118:18: note: previous 
declaration of 'ssize_t' was here
+       In file included from strndup.c:31:0:
+       cairo-missing.h:45:17: error: conflicting types for 'ssize_t'
+       In file included from /usr/lib/gcc/i486-mingw32/4.7.0/../../../../i486-mingw32/include/stdio.h:534:0,
+                            from cairo-missing.h:36,
+                            from strndup.c:31:
+       /usr/lib/gcc/i486-mingw32/4.7.0/../../../../i486-mingw32/include/sys/types.h:118:18: note: previous 
declaration of 'ssize_t' was here
+
+Then you need to add `-D_SSIZE_T_DEFINED` to your MINGW_CFLAGS, like this:
+
+       export MINGW_CFLAGS="-D_SSIZE_T_DEFINED"
+
+Other Scripts
+=============
+There are a few other scripts included in this repo:
+ * ./clean will remove all build artifacts (but leave the downloaded tarballs), leaving you with a clean 
setup.
+ * ./mkarchive will create self extracting archives of the gimp.
+ * ./split-build will do a special build where it builds both gimp-dev and gimp-stable but the two builds 
share the same dependencies. The directories then needs to be merged using ./mkarchive.
diff --git a/build/windows/jhbuild/build b/build/windows/jhbuild/build
new file mode 100755
index 0000000..b4c2c9e
--- /dev/null
+++ b/build/windows/jhbuild/build
@@ -0,0 +1,6 @@
+#!/bin/sh
+set -e
+
+chmod a-w win32.cache
+jhbuild --file=build.jhbuildrc $*
+chmod u+w win32.cache
diff --git a/build/windows/jhbuild/build.jhbuildrc b/build/windows/jhbuild/build.jhbuildrc
new file mode 100644
index 0000000..9459bf9
--- /dev/null
+++ b/build/windows/jhbuild/build.jhbuildrc
@@ -0,0 +1,244 @@
+# -*- mode: python -*-
+# This code is licensed under the GPLv2 License
+# Derived work from the original freedesktop.org example.jhbuildrc
+#
+# This jhbuildrc file is created for the purpose of cross compile Gtk+
+# with Mingw32 under Linux.
+#
+# Author:      Alberto Ruiz <aruiz gnome org>
+#
+# modified by: Rolf Gebhardt <rg klige de>
+# 
+
+moduleset = os.environ['PWD']+'/gimp.moduleset'
+
+module = os.environ.get('MODULE', 'gimp-dev')
+modules = [module]
+
+flavour = os.environ.get('BUILD_FLAVOUR', 'rls')
+
+if flavour == 'rls':
+        flavour_ext = ''
+        flavour_opt = '--enable-debug=no'
+        flavour_cflags = ""
+else:
+        flavour_ext = '-dbg'
+        flavour_opt = "--enable-debug=yes"
+        flavour_cflags = " -g -O0 "
+        if module == 'gimp-common':
+                modules.append ("gdb")
+
+
+# checkoutroot: path to download packages elsewhere
+# prefix:       target path to install the compiled binaries
+checkoutroot = os.environ['PWD']+'/checkout/'
+prefix = os.environ['PWD'] + '/targets/' + module + flavour_ext + '/'
+
+os.environ['prefix'] = prefix
+
+searchprefix = os.environ['PWD']+'/targets/gimp-common' + flavour_ext + '/'
+
+#The host value is obtained with the result of executing
+#the config.guess script on any of the packages.
+#This value must be valid for most linux/x86 out there
+os.environ['HOST'] = 'x86_64-unknown-linux-gnu'
+os.environ['TARGET'] = os.environ.get('MINGW_TARGET', 'i686-w64-mingw32')
+
+os.environ['PKG_CONFIG_LIBDIR'] = ""
+addpath('PKG_CONFIG_LIBDIR', os.path.join(searchprefix, 'lib', 'pkgconfig'))
+addpath('PKG_CONFIG_LIBDIR', os.path.join(searchprefix, 'share', 'pkgconfig'))
+os.environ['PKG_CONFIG_PATH'] = os.environ['PKG_CONFIG_LIBDIR']
+
+#Prefix for all the tools
+mingw_tool_prefix = os.environ.get('MINGW_TOOLPREFIX', os.environ.get('MINGW_LOCATION', '/usr') + '/bin/' + 
os.environ['TARGET'] + '-')
+
+mingw_tools = {'ADDR2LINE': 'addr2line',
+       'AS': 'as', 'CC': 'gcc', 'CPP': 'cpp',
+       'Cppfilt': 'c++filt', 'CXX': 'g++',
+       'DLLTOOL': 'dlltool', 'DLLWRAP': 'dllwrap',
+       'GCOV': 'gcov', 'LD': 'ld', 'NM': 'nm',
+       'OBJCOPY': 'objcopy', 'OBJDUMP': 'objdump',
+       'READELF': 'readelf', 'SIZE': 'size',
+       'STRINGS': 'strings', 'WINDRES': 'windres',
+       'AR': 'ar', 'RANLIB': 'ranlib', 'STRIP': 'strip'}
+
+#Exporting all as enviroment variables with its prefix
+mingw_tools_args = str()
+for tool in mingw_tools.keys():
+       fullpath_tool = mingw_tool_prefix + mingw_tools[tool]
+       os.environ[tool] = fullpath_tool
+
+# Allow enabling ccache
+if os.environ.get('MINGW_USE_CCACHE', '') == 'yes':
+    os.environ['CC']  = 'ccache ' + os.environ['CC']
+    os.environ['CPP'] = 'ccache ' + os.environ['CPP']
+    os.environ['CXX'] = 'ccache ' + os.environ['CXX']
+
+#Added another common env var name for windres
+os.environ['RC'] = os.environ['WINDRES']
+
+#Exporting tool flags enviroment variables
+os.environ['LDFLAGS']  = '-L'+searchprefix+'/lib'
+os.environ['CFLAGS']   = '-mms-bitfields -march=i686 -I'+searchprefix+'/include -DLIBXML_STATIC '
+os.environ['CPPFLAGS'] = '-I'+searchprefix+'/include'
+os.environ['CXXFLAGS'] = '-mms-bitfields -march=i686'
+
+os.environ['CFLAGS']  += os.environ.get('MINGW_CFLAGS', '')
+
+os.environ['CFLAGS']  += flavour_cflags
+os.environ['CXXFLAGS']+= flavour_cflags
+
+#Don't install libraries in lib64, even if compiling on 64-bit machines
+use_lib64 = False
+
+#Make scripts run with the interpreter that's running this script
+#(required wherever /usr/bin/python is python 3)
+import sys
+os.environ['PYTHON'] = os.environ.get("PYTHON", sys.executable)
+
+#needed by win32/Makefile.gcc of zlib
+os.environ['INCLUDE_PATH'] = prefix+'/include'
+os.environ['LIBRARY_PATH'] = prefix+'/lib'
+os.environ['BINARY_PATH']  = prefix+'/bin'
+
+#Populating autogenargs
+autogenargs  = ' --build='+os.environ['HOST']
+autogenargs += ' --host='+os.environ['TARGET']
+autogenargs += ' --disable-docs'
+autogenargs += ' --enable-all-warnings --enable-maintainer-mode'
+autogenargs += ' --disable-static'
+autogenargs += ' '+flavour_opt
+
+for tool in ('AR', 'RANLIB', 'STRIP', 'AS',
+            'DLLTOOL', 'OBJDUMP', 'NM', 'WINDRES'):
+       autogenargs += ' '+tool+'="'+os.environ[tool]+'" '
+
+#Module specific configure arguments
+module_autogenargs['zlib']       = ' --prefix='+prefix+' --shared'
+
+module_autogenargs['jasper']     = autogenargs + """ --enable-shared"""
+
+module_autogenargs['gettext']    = autogenargs + """ --without-emacs \
+                                                     --without-cvs \
+                                                     --disable-curses \
+                                                     --disable-java \
+                                                     --disable-native-java \
+                                                     --enable-relocatable \
+                                                     --enable-threads=win32"""
+
+module_autogenargs['glib2']      = autogenargs + """ --disable-gtk-doc \
+                                                     --disable-modular-tests \
+                                                     --cache-file=""" + os.environ['PWD'] + "/win32.cache"
+
+module_autogenargs['cairo']      = autogenargs + """ --enable-xlib=no \
+                                                     --enable-xlib-xrender=no \
+                                                     --enable-xcb=no \
+                                                     --enable-xcb-shm=no \
+                                                     --enable-pthread=no \
+                                                     --enable-win32-font=yes"""
+
+module_autogenargs['pixman']     = autogenargs + """ --enable-gtk=no"""
+
+module_autogenargs['pango']      = autogenargs + """ --disable-gtk-doc \
+                                                     --enable-explicit-deps=no \
+                                                     --with-included-modules"""
+
+module_autogenargs['atk']        = autogenargs + """ --disable-glibtest \
+                                                     --disable-gtk-doc \
+                                                     --enable-introspection=no"""
+
+module_autogenargs['gdk-pixbuf2']= autogenargs + """ --with-included-loaders"""
+
+module_autogenargs['gtk2']       = autogenargs + """ --disable-glibtest \
+                                                     --disable-gtk-doc \
+                                                     --disable-cups"""
+
+module_autogenargs['gtk3']       = autogenargs + """ --disable-glibtest \
+                                                     --disable-gtk-doc \
+                                                     --disable-cups \
+                                                     --enable-gtk2-dependency"""
+
+module_autogenargs['fontconfig'] = autogenargs + """ --with-arch=i686 \
+                                                     --enable-libxml2"""
+
+module_autogenargs['icu']        = autogenargs + """ --with-cross-build=$(pwd)/../icu-native/ """
+
+module_autogenargs['libxml2']    = autogenargs + """ --with-python=no \
+                                                     --with-iconv=yes"""
+
+module_autogenargs['librsvg']    = autogenargs + """ --enable-introspection=no"""
+
+module_autogenargs['libsoup']    = autogenargs + """ --without-apache-httpd"""
+
+module_autogenargs['libwmf']     = autogenargs + """ --disable-gd \
+                                                     --without-x \
+                                                     --with-freetype=""" + prefix
+
+
+module_autogenargs['ghostscript']= autogenargs + """ --without-jasper \
+                                                     --with-system-libtiff \
+                                                     --without-x \
+                                                     --disable-cups \
+                                                     --disable-contrib """
+
+module_autogenargs['poppler']= autogenargs + """ ac_cv_func_strcpy_s='no'\
+                                                 ac_cv_func_strcat_s='no' """
+
+module_autogenargs['webkitgtk']  = autogenargs + """ --with-gtk=2.0 \
+                                                     --with-target=win32 \
+                                                     --disable-webkit2 \
+                                                     --disable-geolocation \
+                                                     --disable-video \
+                                                     --disable-spellcheck \
+                                                     --disable-credential-storage \
+                                                     --disable-fast-malloc \
+                                                     --disable-debug \
+                                                     --disable-debug-symbols \
+                                                     --disable-debug-features \
+\
+                                                     --disable-gamepad \
+                                                     --with-acceleration_backend=none"""
+
+module_autogenargs['babl']       = autogenargs + """ --enable-introspection=no"""
+
+module_autogenargs['gegl']       = autogenargs + """ --enable-introspection=no \
+                                                     --with-sdl=no"""
+
+module_autogenargs['gimp-stable']= autogenargs + """ --disable-python \
+                                                     --disable-gtk-doc """
+
+module_autogenargs['gimp-dev']   = autogenargs + """ --disable-python \
+                                                     --disable-gtk-doc """
+
+module_autogenargs['gimp-gtk3']  = autogenargs + """ --disable-python \
+                                                     --disable-gtk-doc """
+
+module_autogenargs['gdb']        = autogenargs.replace ("--disable-static", "")
+
+module_makeargs['mingw32-pthreads']= " CROSS=" + mingw_tool_prefix
+module_makeargs['libmng'] = " CC=" + mingw_tool_prefix + "gcc"
+module_extra_env.update (
+{'mingw32-pthreads': 
+       {'PREFIX': prefix, 'INSTALL': 'install'},
+ 'webkitgtk':
+       {'CXXFLAGS': os.environ['CXXFLAGS'] + ' -I' + checkoutroot + 'pthreads-w32-2-9-1-release -w'},
+ 'libmng': 
+       {'PREFIX': prefix, 'CFLAGS': os.environ['CFLAGS'] + os.environ['LDFLAGS']},
+ 'ghostscript':
+       {'CFLAGS': os.environ['CFLAGS'].replace ("-march=i686", "").replace ("-O0", "").replace 
("-mms-bitfields", ""), 'ac_cv_lib_pthread_pthread_create': 'no', 'CC': os.environ['CC'] + " -mms-bitfields"},
+  'icu-native': {},
+
+# Ensure that gimp doesn't get the host machine's freetype-config
+  'gimp-dev':
+    {'FREETYPE_CONFIG': os.path.join(searchprefix, 'bin', 'freetype-config'),
+     'ac_cv_lib_bz2_BZ2_bzCompress': 'yes',
+     'WMF_CONFIG': os.path.join(searchprefix, 'bin', 'libwmf-config')},
+  'gimp-stable':
+    {'FREETYPE_CONFIG': os.path.join(searchprefix, 'bin', 'freetype-config'),
+     'ac_cv_lib_bz2_BZ2_bzCompress': 'yes',
+     'WMF_CONFIG': os.path.join(searchprefix, 'bin', 'libwmf-config')},
+  'gimp-gtk3':
+    {'FREETYPE_CONFIG': os.path.join(searchprefix, 'bin', 'freetype-config'),
+     'ac_cv_lib_bz2_BZ2_bzCompress': 'yes',
+     'WMF_CONFIG': os.path.join(searchprefix, 'bin', 'libwmf-config')},
+})
diff --git a/build/windows/jhbuild/checkversions.sh b/build/windows/jhbuild/checkversions.sh
new file mode 100755
index 0000000..84e388f
--- /dev/null
+++ b/build/windows/jhbuild/checkversions.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+grep -e entry targets/*/_jhbuild/packagedb.xml | grep -o -e "package[^//]*" | while read line; do 
+    COUPLE=`echo $line | grep -o -e "\"[^\"]*\"" | sed s/\"//g`
+       PACKAGE=`echo "$COUPLE" | sed -n 1p`
+       VERSION=`echo "$COUPLE" | sed -n 2p | grep -o -e "[^- :]*" | sed -n 1p`
+
+       PACVERSION=`pacman -Qi $PACKAGE | grep Version | grep -o -e "[^- :]*" | sed -n 2p`
+       if [ "$VERSION" != "$PACVERSION" ]; then
+               echo $PACKAGE ":" $VERSION ":" $PACVERSION
+       fi
+done
+
+#pacman -Qi $1 | grep Version | grep -o -e "[^- :]*" | sed -n 2p
diff --git a/build/windows/jhbuild/clean b/build/windows/jhbuild/clean
new file mode 100755
index 0000000..fdd5728
--- /dev/null
+++ b/build/windows/jhbuild/clean
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+pushd checkout
+rm -rf *-*/
+popd
+
+if [[ "$1" != "--skip-targets" ]]; then
+       echo "Cleaning targets"
+       rm -rf targets/*
+fi
diff --git a/build/windows/jhbuild/compresslibs.moduleset b/build/windows/jhbuild/compresslibs.moduleset
new file mode 100644
index 0000000..7677517
--- /dev/null
+++ b/build/windows/jhbuild/compresslibs.moduleset
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<moduleset>
+       <repository type="tarball" name="bzip.org" href="http://www.bzip.org/"; />
+       <repository type="tarball" name="tukaani.org"
+               href="http://tukaani.org/"; />
+       <repository type="tarball" name="zlib.net"
+               href="http://zlib.net/"; />
+
+<autotools id="bzip2">
+       <branch version="1.0.6" repo="bzip.org"
+                       module="1.0.6/bzip2-1.0.6.tar.gz"
+                       hash="md5:00b516f4704d4a7cb50a1d97e6e8e15b">
+               <!-- From http://ftp.suse.com/pub/people/sbrabec/bzip2/ -->
+               <patch file="bzip2-1.0.6-autoconfiscated.patch" strip="1" />
+               <!-- From openSUSE buildservice -->
+               <patch file="bzip2-1.0.5-slash.patch" strip="1" />
+       </branch>
+</autotools>
+
+<autotools id="xz" autogen-sh="configure">
+       <branch version="5.0.5" repo="tukaani.org"
+                       module="xz/xz-5.0.5.tar.xz"
+                       hash="sha256:3515c74d170d0f6ec00820de63106ad16c07bae55a59c174b4741242c76264a4">
+       </branch>
+</autotools>
+
+<autotools id="zlib" autogen-sh="configure" makeargs="-f win32/Makefile.gcc -e zlib1.dll SHARED_MODE=1" 
makeinstallargs="-f win32/Makefile.gcc -e install SHARED_MODE=1">
+       <branch version="1.2.8" repo="zlib.net"
+                       module="zlib-1.2.8.tar.xz"
+                       hash="md5:28f1205d8dd2001f26fec1e8c2cebe37">
+       </branch>
+</autotools>
+
+</moduleset>
diff --git a/build/windows/jhbuild/fake.mk b/build/windows/jhbuild/fake.mk
new file mode 100644
index 0000000..cd151b8
--- /dev/null
+++ b/build/windows/jhbuild/fake.mk
@@ -0,0 +1,3 @@
+all:
+       mkdir -p $(DESTDIR)/$(DESTDIR)/bin/
+       #echo hi > $(DESTDIR)/$(DESTDIR)/bin/friendly.sh
diff --git a/build/windows/jhbuild/gdb.moduleset b/build/windows/jhbuild/gdb.moduleset
new file mode 100644
index 0000000..bf29eb4
--- /dev/null
+++ b/build/windows/jhbuild/gdb.moduleset
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<moduleset>
+       <repository type="tarball" name="ftp.gnu.org"
+               href="http://ftp.gnu.org/gnu/"; />
+       <repository type="tarball" name="sf.net"
+               href="http://downloads.sourceforge.net/project/"; />
+
+<autotools id="expat" autogen-sh="configure">
+       <branch version="2.1.0" repo="sf.net"
+                       module="expat/expat/2.1.0/expat-2.1.0.tar.gz"
+                       hash="sha1:b08197d146930a5543a7b99e871cba3da614f6f0">
+       </branch>
+</autotools>
+
+<autotools id="gdb" autogen-sh="configure" makeargs="-j1">
+       <branch version="7.5.1" repo="ftp.gnu.org"
+                       module="gdb/gdb-7.5.1.tar.bz2"
+                       hash="sha1:d04c832698ac470a88788e719d19ca7c1d4d803d">
+       </branch>
+       <dependencies>
+               <dep package="expat"/>
+       </dependencies>
+</autotools>
+
+</moduleset>
diff --git a/build/windows/jhbuild/gimp.moduleset b/build/windows/jhbuild/gimp.moduleset
new file mode 100644
index 0000000..e5f4b6e
--- /dev/null
+++ b/build/windows/jhbuild/gimp.moduleset
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<moduleset>
+       <repository type="git" name="git.gnome.org" default="yes"
+               href="git://git.gnome.org/"/>
+
+       <include href="gtk+.moduleset"/>
+       <include href="webkitgtk.moduleset"/>
+       <include href="misclibs.moduleset"/>
+       <include href="gdb.moduleset"/>
+
+<autotools id="babl">
+       <branch/>
+</autotools>
+
+<autotools id="gegl-0.2">
+       <branch module="gegl" revision="gegl-0-2"/>
+       <dependencies>
+               <dep package="glib2"/>
+               <dep package="babl"/>
+       </dependencies>
+</autotools>
+
+<autotools id="gegl">
+       <branch/>
+       <dependencies>
+               <dep package="glib2"/>
+               <dep package="babl"/>
+
+               <dep package="libpng"/>
+               <dep package="libjpeg-turbo"/>
+               <dep package="libwebp"/>
+       </dependencies>
+</autotools>
+
+<metamodule id="gimp-common">
+       <dependencies>
+               <dep package="babl"/>
+               <dep package="gtk2"/>
+               <dep package="xz"/>
+               <dep package="librsvg"/>
+               <dep package="libexif"/>
+               <dep package="libmng"/>
+               <dep package="iso-codes"/>
+               <dep package="libwmf"/>
+               <dep package="ghostscript"/>
+               <dep package="poppler"/>
+       </dependencies>
+       <suggests>
+               <dep package="webkitgtk"/>
+       </suggests>
+</metamodule>
+
+<autotools id="gimp-stable">
+       <branch module="gimp" revision="gimp-2-8"/>
+       <dependencies>
+               <dep package="gimp-common"/>
+               <dep package="lcms"/>
+               <dep package="gegl-0.2"/>
+       </dependencies>
+</autotools>
+
+<autotools id="gimp-dev">
+       <branch module="gimp" revision="master"/>
+       <dependencies>
+               <dep package="gimp-common"/>
+               <dep package="lcms2"/>
+               <dep package="gegl"/>
+       </dependencies>
+</autotools>
+
+<autotools id="gimp-gtk3">
+       <branch module="gimp" revision="origin/gtk3-port"/>
+       <dependencies>
+               <dep package="gimp-common"/>
+               <dep package="lcms2"/>
+               <dep package="gegl"/>
+               <dep package="gtk3"/>
+       </dependencies>
+</autotools>
+
+</moduleset>
diff --git a/build/windows/jhbuild/glib.moduleset b/build/windows/jhbuild/glib.moduleset
new file mode 100644
index 0000000..c6a96a7
--- /dev/null
+++ b/build/windows/jhbuild/glib.moduleset
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<moduleset>
+       <repository type="tarball" name="gnu.org"
+               href="http://ftp.gnu.org/pub/gnu/"; />
+       <repository type="tarball" name="gnome.org"
+               href="http://ftp.gnome.org/pub/gnome/sources/"; />
+       <repository type="tarball" name="sourceware.org"
+               href="ftp://sourceware.org/pub/"; />
+
+<autotools id="iconv" autogen-sh="configure">
+       <branch version="1.14" repo="gnu.org"
+                       module="libiconv/libiconv-1.14.tar.gz"
+                       hash="sha256:72b24ded17d687193c3366d0ebe7cde1e6b18f0df8c55438ac95be39e8a30613">
+       </branch>
+</autotools>
+
+<autotools id="gettext" autogen-sh="configure">
+       <branch version="0.18.1.1" repo="gnu.org"
+                       module="gettext/gettext-0.18.1.1.tar.gz"
+                       hash="sha256:93ac71a7afa5b70c1b1032516663658c51e653087f42a3fc8044752c026443e9">
+               <patch file="gettext_0_18_crossbuild_override_tools_fix.patch"/>
+       </branch>
+       <dependencies>
+               <dep package="iconv"/>
+       </dependencies>
+</autotools>
+
+<autotools id="libffi" autogen-sh="configure">
+       <branch version="3.0.13" repo="sourceware.org"
+                       module="libffi/libffi-3.0.13.tar.gz"
+                       hash="md5:45f3b6dbc9ee7c7dfbbbc5feba571529">
+       </branch>
+</autotools>
+
+<autotools id="glib2">
+       <branch version="2.36.3" repo="gnome.org"
+                       module="glib/2.36/glib-2.36.3.tar.xz"
+                       hash="sha256:5ec433bf6ce02e4c436619c3d0b9cecdd1898469398a636bad27c1f5804c761e">
+       </branch>
+       <dependencies>
+               <dep package="gettext"/>
+               <dep package="iconv"/>
+               <dep package="zlib"/>
+               <dep package="libffi"/>
+       </dependencies>
+</autotools>
+
+</moduleset>
diff --git a/build/windows/jhbuild/gtk+.moduleset b/build/windows/jhbuild/gtk+.moduleset
new file mode 100644
index 0000000..c91d0dd
--- /dev/null
+++ b/build/windows/jhbuild/gtk+.moduleset
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<moduleset>
+       <include href="glib.moduleset"/>
+       <include href="imglibs.moduleset"/>
+       <include href="compresslibs.moduleset"/>
+
+       <repository type="tarball" name="cairographics.org"
+               href="http://cairographics.org/releases/"; />
+       <repository type="tarball" name="freedesktop.org"
+               href="http://www.freedesktop.org/software/"; />
+       <repository type="tarball" name="gnome.org"
+               href="http://ftp.gnome.org/pub/gnome/sources/"; />
+       <repository type="tarball" name="savannah.gnu.org"
+               href="http://download.savannah.gnu.org/releases/"; />
+       <repository type="tarball" name="xmlsoft.org"
+               href="ftp://xmlsoft.org/"; />
+       <repository type="git" name="anongit.freedesktop.org"
+               href="git://anongit.freedesktop.org/"/>
+       <repository type="tarball" name="icu-project.org"
+               href="http://download.icu-project.org/files/"; />
+
+<autotools id="cairo">
+       <branch module="cairo" repo="anongit.freedesktop.org"
+               revision="fb8881e84bb24b2a54ee5aa449b6f5638de36404"/>
+       <dependencies>
+               <dep package="zlib"/>
+               <dep package="libpng"/>
+               <dep package="pixman"/>
+               <dep package="fontconfig"/>
+               <dep package="glib2"/>
+       </dependencies>
+</autotools>
+
+<autotools id="pixman" autogen-sh="configure">
+       <branch version="0.30.0" repo="cairographics.org"
+                       module="pixman-0.30.0.tar.gz"
+                       hash="sha1:9c25dd0efa2023216e82033b71fcfe1bae9ebaac">
+       </branch>
+</autotools>
+
+<autotools id="pango" autogen-sh="configure">
+       <branch version="1.34.1" repo="gnome.org"
+                       module="pango/1.34/pango-1.34.1.tar.xz"
+                       hash="sha256:1aea30df34a8ae4fcce71afd22aa5b57224b52916d46e3ea81ff9f1eb130e64c">
+       </branch>
+       <dependencies>
+               <dep package="cairo"/>
+               <dep package="pixman"/>
+               <dep package="glib2"/>
+               <dep package="fontconfig"/>
+               <dep package="harfbuzz"/>
+       </dependencies>
+</autotools>
+
+<autotools id="atk" autogen-sh="configure" makeinstallargs="install -j1">
+       <branch version="2.8.0" repo="gnome.org"
+                       module="atk/2.8/atk-2.8.0.tar.xz"
+                       hash="sha256:b22519176226f3e07cf6d932b77852e6b6be4780977770704b32d0f4e0686df4">
+       </branch>
+       <dependencies>
+               <dep package="glib2"/>
+       </dependencies>
+</autotools>
+
+<autotools id="fontconfig" autogen-sh="configure" makeinstallargs="install -j1">
+       <branch version="2.10.93" repo="freedesktop.org"
+                       module="fontconfig/release/fontconfig-2.10.93.tar.bz2"
+                       hash="sha256:ea901f278848829ed9937d76fb0ce63ad362d7d5b9e75aa6a6b78bfef42e529c">
+               <!-- local config patch -->
+               <patch file="fontconfig-fix-config-dir.patch" strip="0"/>
+       </branch>
+       <dependencies>
+               <dep package="freetype2"/>
+       </dependencies>
+</autotools>
+
+<autotools id="freetype2" autogen-sh="configure">
+       <branch version="2.4.10" repo="savannah.gnu.org"
+                       module="freetype/freetype-2.4.10.tar.bz2"
+                       hash="sha256:0c8e242c33c45928de560d7d595db06feb41d1b22167e37260ceabe72f9e992f">
+       </branch>
+       <dependencies>
+               <dep package="bzip2"/>
+               <dep package="libxml2"/>
+       </dependencies>
+</autotools>
+
+<autotools id="icu" autogen-sh="source/runConfigureICU MinGW ">
+       <branch version="51.2" repo="icu-project.org"
+                       checkoutdir="icu-mingw"
+                       module="icu4c/51.2/icu4c-51_2-src.tgz"
+                       hash="md5:072e501b87065f3a0ca888f1b5165709">
+               <patch file="icu-unexport-target.patch" strip="1"/>
+               <patch file="icu-fix-library-names.patch" strip="1"/>
+       </branch>
+       <dependencies>
+               <dep package="icu-native"/>
+       </dependencies>
+</autotools>
+
+<autotools id="icu-native" autogen-sh=" || env -i source/runConfigureICU Linux ; true " makeinstallargs=" -f 
../../fake.mk ">
+       <branch version="51.2" repo="icu-project.org"
+                       checkoutdir="icu-native"
+                       module="icu4c/51.2/icu4c-51_2-src.tgz"
+                       hash="md5:072e501b87065f3a0ca888f1b5165709">
+               <patch file="icu-unexport-target.patch" strip="1"/>
+       </branch>
+</autotools>
+
+<autotools id="harfbuzz">
+       <branch version="0.9.19" repo="freedesktop.org"
+                       module="harfbuzz/release/harfbuzz-0.9.19.tar.bz2"
+                       hash="sha256:d2da0f060d47f6ad9de8c8781bb21fa4b9eae8ea1cd1e956b814095baa002f35">
+       </branch>
+       <dependencies>
+               <dep package="cairo"/>
+               <dep package="icu"/>
+               <dep package="freetype2"/>
+       </dependencies>
+</autotools>
+
+<autotools id="libxml2" autogen-sh="configure">
+       <branch version="2.9.1" repo="xmlsoft.org"
+                       module="libxml2/libxml2-2.9.1.tar.gz"
+                       hash="sha256:fd3c64cb66f2c4ea27e934d275904d92cec494a8e8405613780cbc8a71680fdb">
+       </branch>
+       <dependencies>
+               <dep package="iconv"/>
+       </dependencies>
+</autotools>
+
+<autotools id="libxslt" autogen-sh="configure">
+       <branch version="1.1.28" repo="xmlsoft.org"
+                       module="libxslt/libxslt-1.1.28.tar.gz"
+                       hash="sha256:5fc7151a57b89c03d7b825df5a0fae0a8d5f05674c0e7cf2937ecec4d54a028c">
+               <!-- From: OBS -->
+               <patch file="libxslt-1.1.26-w64.patch" strip="1"/>
+       </branch>
+       <dependencies>
+               <dep package="iconv"/>
+               <dep package="libxml2"/>
+               <dep package="zlib"/>
+       </dependencies>
+</autotools>
+
+<autotools id="gdk-pixbuf2" autogen-sh="configure">
+       <branch version="2.28.2" repo="gnome.org"
+                       module="gdk-pixbuf/2.28/gdk-pixbuf-2.28.2.tar.xz"
+                       hash="sha256:183113c2eb2232963e88864a6a54fd963dbfeb1a3679fb0d3456f9e0b79e4617">
+       </branch>
+       <dependencies>
+               <dep package="glib2"/>
+               <dep package="imglibs"/>
+       </dependencies>
+</autotools>
+
+<autotools id="gtk2" autogen-sh="configure" makeinstallargs="install -j1">
+       <branch version="2.24.20" repo="gnome.org"
+                       module="gtk+/2.24/gtk+-2.24.20.tar.xz"
+                       hash="sha256:cc66bcbf9239a7d9861175c681ba95894b55c70dc0b37aad8345c46ecfda0da3">
+               <!-- https://bug699673.bugzilla-attachments.gnome.org/attachment.cgi?id=244107 -->
+               <patch file="gtk2-uuid.patch" strip="1"/>
+       </branch>
+       <dependencies>
+               <dep package="glib2"/>
+               <dep package="gdk-pixbuf2"/>
+               <dep package="cairo"/>
+               <dep package="atk"/>
+               <dep package="pango"/>
+       </dependencies>
+</autotools>
+
+<autotools id="gtk3" autogen-sh="configure" makeinstallargs="install -j1">
+       <branch version="3.8.2" repo="gnome.org"
+                       module="gtk+/3.8/gtk+-3.8.2.tar.xz"
+                       hash="sha256:1ca80c9c15a1df95d74cefb8c2afe4682ba272a4b489106f04877be2a7aff297">
+       </branch>
+       <dependencies>
+               <dep package="glib2"/>
+               <dep package="gdk-pixbuf2"/>
+               <dep package="cairo"/>
+               <dep package="atk"/>
+               <dep package="pango"/>
+       </dependencies>
+</autotools>
+
+</moduleset>
diff --git a/build/windows/jhbuild/imglibs.moduleset b/build/windows/jhbuild/imglibs.moduleset
new file mode 100644
index 0000000..9ccc721
--- /dev/null
+++ b/build/windows/jhbuild/imglibs.moduleset
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<moduleset>
+       <repository type="tarball" name="jasper" href="http://www.ece.uvic.ca/~frodo/jasper/software/"; />
+       <repository type="tarball" name="osgeo.org"
+               href="http://download.osgeo.org/"; />
+       <repository type="tarball" name="sf.net"
+               href="http://downloads.sourceforge.net/project/"; />
+       <repository type="tarball" name="webp"
+               href="https://webp.googlecode.com/files/"; />
+
+       <include href="compresslibs.moduleset"/>
+
+<autotools id="libtiff" autogen-sh="configure">
+       <branch version="4.0.3" repo="osgeo.org"
+                       module="libtiff/tiff-4.0.3.zip"
+                       hash="sha1:851126a9876e261bee808f347711be74e3566ed6">
+       </branch>
+       <dependencies>
+               <dep package="libjpeg-turbo"/>
+       </dependencies>
+</autotools>
+
+<autotools id="libpng" autogen-sh="configure">
+       <branch version="1.6.3" repo="sf.net"
+                       module="libpng/libpng16/1.6.3/libpng-1.6.3.tar.xz"
+                       hash="sha1:adc60a2c117a0929e18bf357e0a1e6115a9e3b76">
+       </branch>
+       <dependencies>
+               <dep package="zlib"/>
+       </dependencies>
+</autotools>
+
+<autotools id="libjpeg-turbo" autogen-sh="configure">
+       <branch version="1.3.0" repo="sf.net"
+                       module="libjpeg-turbo/1.3.0/libjpeg-turbo-1.3.0.tar.gz"
+                       hash="sha1:1792c964b35604cebd3a8846f1ca6de5976e9c28">
+               <patch file="libjpeg-turbo-int32.patch" strip="1"/>
+               <patch file="libjpeg-turbo-boolean.patch" strip="1"/>
+       </branch>
+</autotools>
+
+<autotools id="jasper">
+       <branch version="1.900.1" repo="jasper"
+                       module="jasper-1.900.1.zip"
+                       hash="sha256:6b905a9c2aca2e275544212666eefc4eb44d95d0a57e4305457b407fe63f9494">
+               <!-- From openSUSE buildservice -->
+               <patch file="jasper-1.900.1-sleep.patch" strip="1"/>
+               <patch file="jasper-1.900.1-mingw32.patch" strip="1"/>
+       </branch>
+       <dependencies>
+               <dep package="libjpeg-turbo"/>
+       </dependencies>
+</autotools>
+
+<metamodule id="imglibs">
+       <dependencies>
+               <dep package="libpng"/>
+               <dep package="libtiff"/>
+               <dep package="libjpeg-turbo"/>
+               <dep package="jasper"/>
+       </dependencies>
+</metamodule>
+
+<autotools id="libmng"  autogen-sh=" || true" makeargs="-f makefiles/makefile.mingwdll" makeinstallargs="-f 
makefiles/makefile.mingwdll install">
+       <branch version="1.0.10" repo="sf.net"
+                       module="libmng/libmng-devel/1.0.10/libmng-1.0.10.tar.gz"
+                       hash="sha1:78ad516a1de79d00de720bf2a7c9afea2c896b09">
+               <patch file="libmng-1.0.10-mingw.patch" strip="1"/>
+               <patch file="libmng-1.0.9-dont-leak-zlib-streams.patch" strip="0"/>
+               <patch file="libmng-change-locations.patch" strip="1"/>
+       </branch>
+       <dependencies>
+               <dep package="zlib"/>
+               <dep package="libjpeg-turbo"/>
+       </dependencies>
+</autotools>
+
+<autotools id="libwebp" autogen-sh="configure">
+       <branch version="0.3.1" repo="webp"
+                       module="libwebp-0.3.1.tar.gz"
+                       hash="sha1:52e3d2b6c0b80319baa33b8ebed89618769d9dd8">
+       </branch>
+</autotools>
+
+</moduleset>
diff --git a/build/windows/jhbuild/misclibs.moduleset b/build/windows/jhbuild/misclibs.moduleset
new file mode 100644
index 0000000..0326ad1
--- /dev/null
+++ b/build/windows/jhbuild/misclibs.moduleset
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<moduleset>
+       <repository type="tarball" name="gnome.org"
+               href="http://ftp.gnome.org/pub/gnome/sources/"; />
+       <repository type="tarball" name="sf.net"
+               href="http://downloads.sourceforge.net/project/"; />
+       <repository type="tarball" name="pkg-isocodes"
+               href="http://pkg-isocodes.alioth.debian.org/downloads/"; />
+       <repository type="tarball" name="poppler"
+               href="http://poppler.freedesktop.org/"; />
+
+       <include href="gtk+.moduleset"/>
+
+<autotools id="libcroco" autogen-sh="configure">
+       <branch version="0.6.8" repo="gnome.org"
+                       module="libcroco/0.6/libcroco-0.6.8.tar.xz"
+                       hash="sha256:ea6e1b858c55219cefd7109756bff5bc1a774ba7a55f7d3ccd734d6b871b8570">
+       </branch>
+       <dependencies>
+               <dep package="glib2"/>
+               <dep package="libxml2"/>
+       </dependencies>
+</autotools>
+
+<autotools id="librsvg" autogen-sh="configure">
+       <branch version="2.37.0" repo="gnome.org"
+                       module="librsvg/2.37/librsvg-2.37.0.tar.xz"
+                       hash="sha256:06c57dbcb29369d147b4e6ff4257c42ae5120c504c30fb567a27034ee30fd835">
+       </branch>
+       <dependencies>
+               <dep package="glib2"/>
+               <dep package="gdk-pixbuf2"/>
+               <dep package="libxml2"/>
+               <dep package="cairo"/>
+               <dep package="pango"/>
+               <dep package="libcroco"/>
+       </dependencies>
+</autotools>
+
+<autotools id="lcms" autogen-sh="configure">
+       <branch version="1.19" repo="sf.net"
+                       module="lcms/lcms/1.19/lcms-1.19.tar.gz"
+                       hash="sha256:80ae32cb9f568af4dc7ee4d3c05a4c31fc513fc3e31730fed0ce7378237273a9">
+       </branch>
+</autotools>
+
+<autotools id="lcms2" autogen-sh="configure">
+       <branch version="2.5" repo="sf.net"
+                       module="lcms/lcms/2.5/lcms2-2.5.tar.gz"
+                       hash="sha256:6727772b44470a2111dba53b9ce4c952b87e7d1b72a31c5ebdf44ba6eb0aa72b">
+       </branch>
+</autotools>
+
+<autotools id="libexif" autogen-sh="configure">
+       <branch version="0.6.21" repo="sf.net"
+                       module="libexif/libexif/0.6.21/libexif-0.6.21.tar.bz2"
+                       hash="sha1:a52219b12dbc8d33fc096468591170fda71316c0">
+       </branch>
+</autotools>
+
+<autotools id="iso-codes" autogen-sh="configure">
+       <branch version="3.44" repo="pkg-isocodes"
+                       module="iso-codes-3.44.tar.xz"
+                       hash="sha1:628300675948a637ebd69b21673df73a0fbe1cf4">
+       </branch>
+</autotools>
+
+<autotools id="libwmf" autogen-sh=" || (make clean || true); ./configure">
+       <branch version="0.2.8.4" repo="sf.net"
+                       module="wvware/libwmf/0.2.8.4/libwmf-0.2.8.4.tar.gz"
+                       hash="sha1:822ab3bd0f5e8f39ad732f2774a8e9f18fc91e89">
+               <!-- sigh... upstream practically gone... so many patches. -->
+               <!-- from OBS -->
+               <patch file="libwmf/libwmf-0.2.8.3-nodocs.patch" strip="1"/>
+               <patch file="libwmf/libwmf-0.2.8.3-relocatablefonts.patch" strip="1"/>
+               <patch file="libwmf/libwmf-0.2.8.4-intoverflow.patch" strip="1"/>
+               <patch file="libwmf/libwmf-0.2.8.4-multiarchdevel.patch" strip="1"/>
+               <patch file="libwmf/libwmf-0.2.8.4-deps.patch" strip="1"/>
+               <patch file="libwmf/libwmf-0.2.8.4-reducesymbols.patch" strip="1"/>
+               <patch file="libwmf/libwmf-0.2.8.4-fallbackfont.patch" strip="1"/>
+               <patch file="libwmf/libwmf-0.2.8.4-useafterfree.patch" strip="1"/>
+               <!-- from archlinux -->
+               <patch file="libwmf/libwmf-0.2.8.4-libpng-1.5.patch" strip="1"/>
+       </branch>
+       <dependencies>
+               <dep package="freetype2"/>
+               <dep package="zlib"/>
+               <dep package="libpng"/>
+               <dep package="libjpeg-turbo"/>
+       </dependencies>
+</autotools>
+
+<autotools id="ghostscript" makeargs="so" makeinstallargs="soinstall">
+       <branch version="8.71" repo="sf.net"
+                       module="ghostscript/GPL%20Ghostscript/8.71/ghostscript-8.71.tar.xz"
+                       hash="sha1:aa2df7ba23abdfe95d36acec7333eac51768c47d">
+               <!-- From OBS -->
+               <patch file="ghostscript-8.71-windows.patch" strip="1"/>
+               <!-- Local patch: -->
+               <patch file="ghostscript-change-install-paths.patch" strip="1"/>
+       </branch>
+       <dependencies>
+               <dep package="libtiff"/>
+       </dependencies>
+</autotools>
+
+<autotools id="poppler" autogen-sh="configure">
+       <branch version="0.22.5" repo="poppler"
+                       module="poppler-0.22.5.tar.gz"
+                       hash="sha1:9491bb33788d7f0ee67da572dc4798004f98323a">
+       </branch>
+       <dependencies>
+               <dep package="freetype2"/>
+               <dep package="imglibs"/>
+               <dep package="cairo"/>
+       </dependencies>
+</autotools>
+
+</moduleset>
diff --git a/build/windows/jhbuild/mkarchive b/build/windows/jhbuild/mkarchive
new file mode 100755
index 0000000..4c010bd
--- /dev/null
+++ b/build/windows/jhbuild/mkarchive
@@ -0,0 +1,83 @@
+#!/bin/bash
+
+dll_loc=${DLL_LOC:-/usr/lib/gcc/i686-w64-mingw32/4.6}
+
+add_dll (){
+       cp --reflink=auto $dll_loc/$1 ./bin/
+}
+
+dostuff (){
+       f=$1-i686-`date +%Y-%m-%d`
+
+       mkdir -p combined/$f
+       cp -R -d -L --reflink=auto ./gimp-common$3/* combined/$f
+       cp -R -d -L --reflink=auto ./$1/* combined/$f
+
+       pushd combined
+       pushd $f
+
+       mv lib/libicu*.dll bin/
+
+       rm -rf _jhbuild
+       rm -rf man
+       rm -rf share/doc
+       rm -rf share/gtk-doc
+       rm -rf share/gtk-2.0/demo
+       rm -rf share/icons
+       rm -rf share/applications
+       rm -rf share/info
+       rm -rf share/man
+       rm -rf share/gdb
+       rm -rf share/gettext
+
+       rm -f etc/gconf/2/path.jhbuild
+
+       rm -f `find -name *.exe | sed -e /gimp/d -e /gspawn/d -e /gdb.exe/d`
+
+       add_dll libstdc++-6.dll
+       add_dll libgcc_s_sjlj-1.dll
+
+       pushd bin
+       rm -f `ls | sed -e /.exe/d -e /.dll/d`
+       popd
+
+       rm -f `find -name *.html`
+       rm -f `find -name *.htm`
+       rm -f `find -name *.a`
+       rm -f `find -name *.def`
+       rm -f `find -name *.sh`
+       rm -f `find -name *.h`
+       rm -f `find -name *.c`
+       rm -f `find -name *.hxx`
+       rm -f `find -name *.pc`
+       rm -f `find -name *.m4`
+       rm -f `find -name *.manifest`
+
+       find -depth -type d -empty -exec rmdir {} \;
+
+       echo "@echo off
+SET PATH=%~dp0bin\\
+start $2" | unix2dos > run_gimp.bat
+
+       popd
+
+       if [ -e $f/bin/gimp-2.*.exe ]; then
+               7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on $f.7z $f
+               cat ~/bin/7z.sfx $f.7z > $f.exe
+               rm -f $f.7z
+       else
+               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+               echo "!!            GIMP EXECUTABLE NOT FOUND                !!"
+               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+       fi
+
+       rm -rf $f
+
+       popd
+}
+
+cd targets
+dostuff gimp-stable gimp-2.8.exe ""
+dostuff gimp-dev gimp-2.9.exe ""
+dostuff gimp-stable-dbg gimp-2.8.exe "-dbg"
+dostuff gimp-dev-dbg gimp-2.9.exe "-dbg"
diff --git a/build/windows/jhbuild/patches/bzip2-1.0.5-slash.patch 
b/build/windows/jhbuild/patches/bzip2-1.0.5-slash.patch
new file mode 100644
index 0000000..3b5ed14
--- /dev/null
+++ b/build/windows/jhbuild/patches/bzip2-1.0.5-slash.patch
@@ -0,0 +1,11 @@
+--- bzip2-1.0.5.orig/bzip2.c   2007-12-09 12:22:06.000000000 +0000
++++ bzip2-1.0.5/bzip2.c        2008-09-25 12:31:02.000000000 +0100
+@@ -128,7 +128,7 @@
+ #if BZ_LCCWIN32
+ #   include <io.h>
+ #   include <fcntl.h>
+-#   include <sys\stat.h>
++#   include <sys/stat.h>
+ 
+ #   define NORETURN       /**/
+ #   define PATH_SEP       '\\'
diff --git a/build/windows/jhbuild/patches/bzip2-1.0.6-autoconfiscated.patch 
b/build/windows/jhbuild/patches/bzip2-1.0.6-autoconfiscated.patch
new file mode 100644
index 0000000..a12a0fb
--- /dev/null
+++ b/build/windows/jhbuild/patches/bzip2-1.0.6-autoconfiscated.patch
@@ -0,0 +1,287 @@
+diff -urN files/autogen.sh ./autogen.sh
+--- bzip2-1.0.5.orig/autogen.sh        1970-01-01 01:00:00.000000000 +0100
++++ bzip2-1.0.5.autoconfiscated/autogen.sh     2009-11-06 12:10:43.574602171 +0100
+@@ -0,0 +1,9 @@
++mv LICENSE COPYING
++mv CHANGES NEWS
++touch AUTHORS
++touch ChangeLog
++libtoolize --force
++aclocal
++automake --add-missing --gnu
++autoconf
++./configure "$@"
+diff -urN bzip2-1.0.5.orig/README.autotools bzip2-1.0.5.autoconfiscated/README.autotools
+--- bzip2-1.0.5.orig/README.autotools  1970-01-01 01:00:00.000000000 +0100
++++ bzip2-1.0.5.autoconfiscated/README.autotools       2010-11-02 17:04:06.000000000 +0100
+@@ -0,0 +1,39 @@
++bzip2 autoconfiscated
++=====================
++
++Temporarily at http://ftp.suse.com/pub/people/sbrabec/bzip2/ expecting
++that it will become a new upstream version to prevent per-distribution
++shared library patching done by nearly each Linux vendor separately.
++
++Autoconfiscation brings standard ./configure ; make ; make install
++installation, seamless support of DESTDIR, automatic check for supported
++CFLAGS, standard shared library support, automatic large files CFLAGS
++check and all things that are supported by automake.
++
++It makes obsolete Makefile-libbz2_so and README.COMPILATION.PROBLEMS.
++Now configure should automatically detect correct build flags.
++
++In case of any problem or question with autotools support feel free to
++contact me: Stanislav Brabec <sbrabec suse cz>
++
++Autoconfiscated version binaries are exactly equal to
++bzip2-1.0.5.tar.gz. There are only few changes. See below.
++
++
++New features:
++
++Trivial link man pages for bzcat and bunzip2 added.
++
++bzip2.pc file for pkg-config. Packages can use it for checks.
++
++
++Incompatible changes:
++
++soname change. Libtool has no support for two parts soname suffix (e. g.
++libbz2.so.1.0). It must be a single number (e. g. libbz2.so.1). That is
++why soname must change. But I see not a big problem with it. Several
++distributions already use the new number instead of the non-standard
++number from Makefile-libbz2_so.
++
++To be super-safe, I incremented minor number of the library file, so
++both instances of the shared library can live together.
+diff -urN bzip2-1.0.5.orig/configure.ac bzip2-1.0.5.autoconfiscated/configure.ac
+--- bzip2-1.0.5.orig/configure.ac      1970-01-01 01:00:00.000000000 +0100
++++ bzip2-1.0.5.autoconfiscated/configure.ac   2010-11-02 17:53:47.000000000 +0100
+@@ -0,0 +1,70 @@
++#                                               -*- Autoconf -*-
++# Process this file with autoconf to produce a configure script.
++
++AC_PREREQ([2.57])
++AC_INIT([bzip2], [1.0.5], [Julian Seward <jseward bzip org>])
++BZIP2_LT_CURRENT=1
++BZIP2_LT_REVISION=6
++BZIP2_LT_AGE=0
++AC_CONFIG_SRCDIR([bzlib.h])
++AC_CONFIG_MACRO_DIR([m4])
++
++AM_INIT_AUTOMAKE
++AM_MAINTAINER_MODE
++
++# Checks for programs.
++AC_PROG_AWK
++AC_PROG_CC
++AC_PROG_INSTALL
++AC_PROG_LN_S
++AC_PROG_MAKE_SET
++AC_PROG_LIBTOOL
++PKG_PROG_PKG_CONFIG
++
++# Checks for libraries.
++
++# Checks for header files.
++
++# Checks for typedefs, structures, and compiler characteristics.
++
++# Check for system features.
++AC_SYS_LARGEFILE
++
++AC_MSG_CHECKING([whether compiler understands -Wall])
++save_CFLAGS="$CFLAGS"
++CFLAGS="$CFLAGS -Wall"
++AC_TRY_COMPILE([], [], [
++      AC_MSG_RESULT([yes])
++], [
++      AC_MSG_RESULT([no])
++      CFLAGS="$save_CFLAGS"
++])
++
++AC_MSG_CHECKING([whether compiler understands -Winline])
++save_CFLAGS="$CFLAGS"
++CFLAGS="$CFLAGS -Winline"
++AC_TRY_COMPILE([], [], [
++      AC_MSG_RESULT([yes])
++], [
++      AC_MSG_RESULT([no])
++      CFLAGS="$save_CFLAGS"
++])
++
++AC_MSG_CHECKING([whether compiler understands -fno-strength-reduce])
++save_CFLAGS="$CFLAGS"
++CFLAGS="$CFLAGS -fno-strength-reduce"
++AC_TRY_COMPILE([], [], [
++      AC_MSG_RESULT([yes])
++], [
++      AC_MSG_RESULT([no])
++      CFLAGS="$save_CFLAGS"
++])
++
++# Checks for library functions.
++
++# Write the output.
++AC_SUBST([BZIP2_LT_CURRENT])
++AC_SUBST([BZIP2_LT_REVISION])
++AC_SUBST([BZIP2_LT_AGE])
++AC_CONFIG_FILES([Makefile bzip2.pc])
++AC_OUTPUT
+diff -urN bzip2-1.0.5.orig/Makefile.am bzip2-1.0.5.autoconfiscated/Makefile.am
+--- bzip2-1.0.5.orig/Makefile.am       1970-01-01 01:00:00.000000000 +0100
++++ bzip2-1.0.5.autoconfiscated/Makefile.am    2009-11-05 16:45:11.000000000 +0100
+@@ -0,0 +1,138 @@
++lib_LTLIBRARIES = libbz2.la
++
++libbz2_la_SOURCES = \
++      blocksort.c \
++      huffman.c \
++      crctable.c \
++      randtable.c \
++      compress.c \
++      decompress.c \
++      bzlib.c
++
++libbz2_la_LDFLAGS = \
++      -version-info $(BZIP2_LT_CURRENT):$(BZIP2_LT_REVISION):$(BZIP2_LT_AGE) \
++      -no-undefined
++
++include_HEADERS = bzlib.h
++
++noinst_HEADERS = bzlib_private.h
++
++bin_PROGRAMS = bzip2 bzip2recover
++
++bzip2_SOURCES = bzip2.c
++bzip2_LDADD = libbz2.la
++
++bzip2recover_SOURCES = bzip2recover.c
++bzip2recover_LDADD = libbz2.la
++
++bin_SCRIPTS = bzgrep bzmore bzdiff
++
++man_MANS = bzip2.1 bzgrep.1 bzmore.1 bzdiff.1
++
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = bzip2.pc
++
++$(pkgconfig_DATA): $(srcdir)/bzip2.pc.in config.status
++
++install-exec-hook:
++      rm -f $(DESTDIR)$(bindir)/`echo "bunzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      rm -f $(DESTDIR)$(bindir)/`echo "bzcat" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      rm -f $(DESTDIR)$(bindir)/`echo "bzegrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      rm -f $(DESTDIR)$(bindir)/`echo "bzfgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      rm -f $(DESTDIR)$(bindir)/`echo "bzless" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      rm -f $(DESTDIR)$(bindir)/`echo "bzcmp" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      $(LN_S) `echo "bzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo 
"bunzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      $(LN_S) `echo "bzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo 
"bzcat" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      $(LN_S) `echo "bzgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo 
"bzegrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      $(LN_S) `echo "bzgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo 
"bzfgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      $(LN_S) `echo "bzmore" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo 
"bzless" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      $(LN_S) `echo "bzdiff" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo 
"bzcmp" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++
++install-data-hook:
++      echo ".so man1/`echo "bzip2" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo 
"bunzip2" | sed 's,^.*/,,;$(transform)'`.1
++      echo ".so man1/`echo "bzip2" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo 
"bzcat" | sed 's,^.*/,,;$(transform)'`.1
++      echo ".so man1/`echo "bzgrep" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo 
"bzegrep" | sed 's,^.*/,,;$(transform)'`.1
++      echo ".so man1/`echo "bzgrep" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo 
"bzfgrep" | sed 's,^.*/,,;$(transform)'`.1
++      echo ".so man1/`echo "bzmore" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo 
"bzless" | sed 's,^.*/,,;$(transform)'`.1
++      echo ".so man1/`echo "bzdiff" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo 
"bzcmp" | sed 's,^.*/,,;$(transform)'`.1
++
++uninstall-hook:
++      rm -f $(DESTDIR)$(bindir)/`echo "bunzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      rm -f $(DESTDIR)$(bindir)/`echo "bzcat" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      rm -f $(DESTDIR)$(bindir)/`echo "bzegrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      rm -f $(DESTDIR)$(bindir)/`echo "bzfgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      rm -f $(DESTDIR)$(bindir)/`echo "bzless" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      rm -f $(DESTDIR)$(bindir)/`echo "bzcmp" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
++      rm -f $(DESTDIR)$(mandir)/man1/`echo "bunzip2" | sed 's,^.*/,,;$(transform)'`.1
++      rm -f $(DESTDIR)$(mandir)/man1/`echo "bzcat" | sed 's,^.*/,,;$(transform)'`.1
++      rm -f $(DESTDIR)$(mandir)/man1/`echo "bzegrep" | sed 's,^.*/,,;$(transform)'`.1
++      rm -f $(DESTDIR)$(mandir)/man1/`echo "bzfgrep" | sed 's,^.*/,,;$(transform)'`.1
++      rm -f $(DESTDIR)$(mandir)/man1/`echo "bzless" | sed 's,^.*/,,;$(transform)'`.1
++      rm -f $(DESTDIR)$(mandir)/man1/`echo "bzcmp" | sed 's,^.*/,,;$(transform)'`.1
++
++test: bzip2
++      @cat $(srcdir)/words1
++      ./bzip2 -1  <$(srcdir)/sample1.ref >sample1.rb2
++      ./bzip2 -2  <$(srcdir)/sample2.ref >sample2.rb2
++      ./bzip2 -3  <$(srcdir)/sample3.ref >sample3.rb2
++      ./bzip2 -d  <$(srcdir)/sample1.bz2 >sample1.tst
++      ./bzip2 -d  <$(srcdir)/sample2.bz2 >sample2.tst
++      ./bzip2 -ds <$(srcdir)/sample3.bz2 >sample3.tst
++      cmp $(srcdir)/sample1.bz2 sample1.rb2
++      cmp $(srcdir)/sample2.bz2 sample2.rb2
++      cmp $(srcdir)/sample3.bz2 sample3.rb2
++      cmp sample1.tst $(srcdir)/sample1.ref
++      cmp sample2.tst $(srcdir)/sample2.ref
++      cmp sample3.tst $(srcdir)/sample3.ref
++      @cat $(srcdir)/words3
++
++manual: $(srcdir)/manual.html $(srcdir)/manual.ps $(srcdir)/manual.pdf
++
++manual.ps: $(MANUAL_SRCS)
++      cd $(srcdir); ./xmlproc.sh -ps manual.xml
++
++manual.pdf: $(MANUAL_SRCS)
++      cd $(srcdir); ./xmlproc.sh -pdf manual.xml
++
++manual.html: $(MANUAL_SRCS)
++      cd $(srcdir); ./xmlproc.sh -html manual.xml
++
++EXTRA_DIST = \
++      $(bin_SCRIPTS) \
++      $(man_MANS) \
++      README.autotools \
++      README.XML.STUFF \
++      bz-common.xsl \
++      bz-fo.xsl \
++      bz-html.xsl \
++      bzip.css \
++      bzip2.1.preformatted \
++      bzip2.pc.in \
++      bzip2.txt \
++      dlltest.c \
++      dlltest.dsp \
++      entities.xml \
++      format.pl \
++      libbz2.def \
++      libbz2.dsp \
++      makefile.msc \
++      manual.html \
++      manual.pdf \
++      manual.ps \
++      manual.xml \
++      mk251.c \
++      sample1.bz2 \
++      sample1.ref \
++      sample2.bz2 \
++      sample2.ref \
++      sample3.bz2 \
++      sample3.ref \
++      spewG.c \
++      unzcrash.c \
++      words0 \
++      words1 \
++      words2 \
++      words3 \
++      xmlproc.sh
++
++ACLOCAL_AMFLAGS = -I m4
+diff -urN bzip2-1.0.5.orig/bzip2.pc.in bzip2-1.0.5.autoconfiscated/bzip2.pc.in
+--- bzip2-1.0.5.orig/bzip2.pc.in       1970-01-01 01:00:00.000000000 +0100
++++ bzip2-1.0.5.autoconfiscated/bzip2.pc.in    2009-11-03 18:48:28.000000000 +0100
+@@ -0,0 +1,11 @@
++prefix= prefix@
++exec_prefix= exec_prefix@
++bindir= bindir@
++libdir= libdir@
++includedir= includedir@
++
++Name: bzip2
++Description: Lossless, block-sorting data compression
++Version: @VERSION@
++Libs: -L${libdir} -lbz2
++Cflags: -I${includedir}
diff --git a/build/windows/jhbuild/patches/fontconfig-fix-config-dir.patch 
b/build/windows/jhbuild/patches/fontconfig-fix-config-dir.patch
new file mode 100644
index 0000000..9299e16
--- /dev/null
+++ b/build/windows/jhbuild/patches/fontconfig-fix-config-dir.patch
@@ -0,0 +1,11 @@
+--- fonts.conf.in.b    2012-07-23 22:01:32.000000000 -0400
++++ fonts.conf.in      2012-12-08 13:47:35.035690934 -0500
+@@ -68,7 +68,7 @@
+ <!--
+   Load local system customization file
+ -->
+-      <include ignore_missing="yes">@CONFIGDIR@</include>
++      <include ignore_missing="yes">conf.d</include>
+ 
+ <!-- Font cache directory list -->
+ 
diff --git a/build/windows/jhbuild/patches/gettext_0_18_crossbuild_override_tools_fix.patch 
b/build/windows/jhbuild/patches/gettext_0_18_crossbuild_override_tools_fix.patch
new file mode 100644
index 0000000..190a670
--- /dev/null
+++ b/build/windows/jhbuild/patches/gettext_0_18_crossbuild_override_tools_fix.patch
@@ -0,0 +1,11 @@
+--- Makefile.in.orig   2010-05-09 20:59:19.000000000 +0200
++++ Makefile.in        2010-10-02 00:59:46.000000000 +0200
+@@ -211,7 +211,7 @@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
+ ACLOCAL_AMFLAGS = -I m4
+-SUBDIRS = gnulib-local gettext-runtime gettext-tools
++SUBDIRS = gnulib-local gettext-runtime
+ 
+ # DJGPP port.
+ 
diff --git a/build/windows/jhbuild/patches/ghostscript-8.71-windows.patch 
b/build/windows/jhbuild/patches/ghostscript-8.71-windows.patch
new file mode 100644
index 0000000..7f6ab4b
--- /dev/null
+++ b/build/windows/jhbuild/patches/ghostscript-8.71-windows.patch
@@ -0,0 +1,4535 @@
+--- ghostscript-8.71/base/aux.mak      1970-01-01 01:00:00.000000000 +0100
++++ ghostscript-8.71/base/aux.mak      2010-02-26 16:33:59.000000000 +0100
+@@ -0,0 +1,50 @@
++#  Copyright (C) 2001-2006 Artifex Software, Inc.
++#  All Rights Reserved.
++#
++#  This software is provided AS-IS with no warranty, either express or
++#  implied.
++#
++#  This software is distributed under license and may not be copied, modified
++#  or distributed except as expressly authorized under the terms of that
++#  license.  Refer to licensing information at http://www.artifex.com/
++#  or contact Artifex Software, Inc.,  7 Mt. Lassen Drive - Suite A-134,
++#  San Rafael, CA  94903, U.S.A., +1(415)492-9861, for further information.
++#
++# $Id$
++# Partial makefile common to all configurations.
++# This makefile contains the build rules for the auxiliary programs such as
++# echogs.
++
++# Define the name of this makefile.
++AUX_MAK=$(GLSRC)aux.mak
++
++# -------------------------- Auxiliary programs --------------------------- #
++
++$(ECHOGS_XE): $(GLSRC)echogs.c $(AK) $(stdpre_h)
++      $(CCAUX) $(I_)$(GLSRCDIR)$(_I) $(O_)$(ECHOGS_XE) $(GLSRC)echogs.c
++
++# On the RS/6000 (at least), compiling genarch.c with gcc with -O
++# produces a buggy executable.
++$(GENARCH_XE): $(GLSRC)genarch.c $(AK) $(GENARCH_DEPS)
++      $(CCAUX) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENARCH_XE) $(GLSRC)genarch.c
++
++$(GENCONF_XE): $(GLSRC)genconf.c $(AK) $(GENCONF_DEPS)
++      $(CCAUX) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENCONF_XE) $(GLSRC)genconf.c
++
++$(GENDEV_XE): $(GLSRC)gendev.c $(AK) $(GENDEV_DEPS)
++      $(CCAUX) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENDEV_XE) $(GLSRC)gendev.c
++
++$(GENHT_XE): $(GLSRC)genht.c $(AK) $(GENHT_DEPS)
++      $(CCAUX) $(GENHT_CFLAGS) $(O_)$(GENHT_XE) $(GLSRC)genht.c
++
++$(GENINIT_XE): $(GLSRC)geninit.c $(AK) $(GENINIT_DEPS)
++      $(CCAUX) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENINIT_XE) $(GLSRC)geninit.c
++
++MKROMFS_SOURCES=$(GLSRC)mkromfs.c $(MKROMFS_ZLIB_SOURCES) $(GLGEN)gscdefs.c \
++ $(GLSRC)gsmisc.c $(GLSRC)gpmisc.c $(GLSRC)gslibctx.c $(GLSRC)gp_getnv.c \
++ $(GLSRC)gp_unifs.c $(GLSRC)gp_unifn.c \
++ $(GLSRC)gp_stdia.c $(GLSRC)gsutil.c
++
++$(MKROMFS_XE): $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_SOURCES)
++      $(CCAUX) $(GENOPT) $(CFLAGS) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) 
$(MKROMFS_SOURCES) $(O_)$(MKROMFS_XE) -lm
++
+--- ghostscript-8.71/base/configure.ac 2009-11-24 09:36:27.000000000 +0100
++++ ghostscript-8.71/base/configure.ac 2010-02-26 16:33:59.000000000 +0100
+@@ -21,6 +21,7 @@
+ AC_INIT
+ AC_PREREQ(2.52)
+ AC_CONFIG_SRCDIR(psi/gs.c)
++AC_CONFIG_HEADERS([config.h:config.hin])
+ 
+ dnl Inherit compiler flags from the environment...
+ CFLAGS="${CFLAGS:=}"
+@@ -63,6 +64,38 @@
+ done
+ ])
+ 
++AC_DEFUN([AM_CONDITIONAL],
++[
++AC_SUBST([$1_TRUE])
++AC_SUBST([$1_FALSE])
++if $2; then
++  $1_TRUE=
++  $1_FALSE='#'
++else
++  $1_TRUE='#'
++  $1_FALSE=
++fi
++])
++
++dnl --------------------------------------------------
++dnl Check for OS
++dnl --------------------------------------------------
++
++AC_CANONICAL_HOST
++
++case "$host_os" in
++  mingw*)
++    os_win32=yes
++    LIBS="$LIBS -lwinspool"
++  ;;
++  *)
++    os_unix=yes
++  ;;
++esac
++
++AM_CONDITIONAL(OS_UNIX, test x"$os_unix" = "xyes")
++AM_CONDITIONAL(OS_WIN32, test x"$os_win32" = "xyes")
++
+ dnl --------------------------------------------------  
+ dnl Check for programs
+ dnl --------------------------------------------------  
+@@ -74,6 +107,25 @@
+ AC_PROG_CPP
+ CFLAGS=$save_cflags
+ 
++dnl ---HACK  -0-------------------------------------
++dnl AC_PROG_CC_AUX
++
++AC_LANG_PUSH(C)dnl
++AC_ARG_VAR([CCAUX],[C compiler command for auxiliary build programs])dnl
++AC_CHECK_PROG(CCAUX, gcc, gcc)
++if test -z "$CCAUX"; then
++    AC_CHECK_PROG(CCAUX, cc, cc)
++fi
++if test -z "$CCAUX"; then
++  AC_CHECK_PROG(CCAUX, cc, cc, , , /usr/ucb/cc)
++fi
++if test -z "$CCAUX"; then
++  AC_CHECK_PROGS(CCAUX, cl.exe)
++fi
++AC_LANG_POP(C)dnl
++AC_SUBST(CCAUX)
++dnl ---HACK END -0-------------------------------------
++
+ AC_PROG_RANLIB
+ #AC_PROG_INSTALL
+ 
+@@ -144,7 +196,7 @@
+ 
+ AC_HEADER_DIRENT
+ AC_HEADER_STDC
+-AC_CHECK_HEADERS([errno.h fcntl.h limits.h malloc.h memory.h stdlib.h string.h strings.h sys/ioctl.h 
sys/param.h sys/time.h syslog.h unistd.h])
++AC_CHECK_HEADERS([errno.h fcntl.h limits.h malloc.h memory.h stdlib.h string.h strings.h sys/ioctl.h 
sys/param.h sys/time.h syslog.h unistd.h ndir.h sys/dir.h sys/ndir.h sys/times.h])
+ 
+ # for gdev3b1.c (AT&T terminal interface)
+ AC_CHECK_HEADER([sys/window.h])
+@@ -209,7 +261,7 @@
+ fi
+ 
+ dnl pkg-config is used for several tests now...
+-AC_PATH_PROG(PKGCONFIG, pkg-config)
++AC_PATH_TOOL([PKGCONFIG], [pkg-config])
+ 
+ dnl Fontconfig support
+ HAVE_FONTCONFIG=""
+--- ghostscript-8.71/base/gp_mswin.c   2007-09-25 15:31:24.000000000 +0200
++++ ghostscript-8.71/base/gp_mswin.c   2010-02-26 16:33:59.000000000 +0100
+@@ -720,7 +720,7 @@
+ 
+ /* Microsoft Visual C++ 2005  doesn't properly define snprintf,
+    which is defined in the C standard ISO/IEC 9899:1999 (E) */
+-
++#if _MSC_VER==1400
+ int snprintf(char *buffer, size_t count, const char *format, ...)
+ {
+     if (count > 0) {
+@@ -735,3 +735,4 @@
+     } else
+       return 0;
+ }
++#endif
+--- ghostscript-8.71/base/head.mak     1970-01-01 01:00:00.000000000 +0100
++++ ghostscript-8.71/base/head.mak     2010-02-26 16:33:59.000000000 +0100
+@@ -0,0 +1,68 @@
++#  Copyright (C) 2001-2006 Artifex Software, Inc.
++#  All Rights Reserved.
++#
++#  This software is provided AS-IS with no warranty, either express or
++#  implied.
++#
++#  This software is distributed under license and may not be copied, modified
++#  or distributed except as expressly authorized under the terms of that
++#  license.  Refer to licensing information at http://www.artifex.com/
++#  or contact Artifex Software, Inc.,  7 Mt. Lassen Drive - Suite A-134,
++#  San Rafael, CA  94903, U.S.A., +1(415)492-9861, for further information.
++#
++# $Id$
++# Partial makefile common to all unix-like configurations.
++
++
++# ----------------------------- Generic stuff ----------------------------- #
++
++# Define the syntax for command, object, and executable files.
++
++# Work around the fact that some `make' programs drop trailing spaces
++# or interpret == as a special definition operator.
++NULL=
++
++CMD=
++C_=-c
++D_=-D
++_D_=$(NULL)=
++_D=
++I_=-I
++II=-I
++_I=
++NO_OP=@:
++O_=-o $(NULL)
++OBJ=o
++Q=
++
++# Define the current directory prefix and command invocations.
++
++CAT=cat
++D=/
++EXP=
++SHELL=/bin/sh
++SH=$(SHELL)
++
++# Define generic commands.
++
++CP_=cp
++RM_=rm -f
++RMN_=rm -f
++
++# Define the arguments for genconf.
++
++CONFILES=-p "%s&s&&" -pl "&-l%s&s&&" -pL "&-L%s&s&&"
++CONFLDTR=-ol
++
++# Define the compilation rules and flags.
++
++CC_D=$(CC_)
++CC_INT=$(CC_)
++
++BEGINFILES=
++
++# Define the default build rule, so the object directories get created
++# automatically.
++
++std: STDDIRS default
++      $(NO_OP)
+--- ghostscript-8.71/base/lib.mak      2009-12-29 23:18:01.000000000 +0100
++++ ghostscript-8.71/base/lib.mak      2010-02-26 16:33:59.000000000 +0100
+@@ -532,10 +532,12 @@
+       $(CP_) $(GLSRC)gconf.c $(GLGEN)gconfig.c
+       $(GLCC) $(GLO_)gconfig.$(OBJ) $(C_) $(GLGEN)gconfig.c
+ 
+-$(GLOBJ)gscdefs.$(OBJ) : $(GLSRC)gscdef.c\
+- $(std_h) $(gscdefs_h) $(gconfigd_h) $(TOP_MAKEFILES)
++$(GLGEN)gscdefs.c: $(GLSRC)gscdef.c
+       $(RM_) $(GLGEN)gscdefs.c
+       $(CP_) $(GLSRC)gscdef.c $(GLGEN)gscdefs.c
++
++$(GLOBJ)gscdefs.$(OBJ) : $(GLGEN)gscdefs.c\
++ $(std_h) $(gscdefs_h) $(gconfigd_h) $(TOP_MAKEFILES)
+       $(GLCC) $(GLO_)gscdefs.$(OBJ) $(C_) $(GLGEN)gscdefs.c
+ 
+ $(GLOBJ)gxacpath.$(OBJ) : $(GLSRC)gxacpath.c $(GXERR)\
+@@ -2712,6 +2714,8 @@
+ 
+ # Define the ZLIB modules needed by mnkromfs here to factor it out of top makefiles
+ # Also put the .h dependencies here for the same reason
++MKROMFS_ZLIB_SOURCES=$(ZSRC)compress.c $(ZSRC)deflate.c $(ZSRC)zutil.c \
++      $(ZSRC)adler32.c $(ZSRC)crc32.c  $(ZSRC)trees.c
+ MKROMFS_ZLIB_OBJS=$(GLOBJ)compress.$(OBJ) $(GLOBJ)deflate.$(OBJ) \
+       $(GLOBJ)zutil.$(OBJ) $(GLOBJ)adler32.$(OBJ) $(GLOBJ)crc32.$(OBJ) \
+       $(GLOBJ)trees.$(OBJ)
+--- ghostscript-8.71/base/Makefile.in  2009-12-18 08:04:10.000000000 +0100
++++ ghostscript-8.71/base/Makefile.in  2010-02-26 16:35:12.000000000 +0100
+@@ -136,7 +136,7 @@
+ 
+ # Define the name of the executable file.
+ 
+-GS= GS@@EXEEXT@
++GS= GS@
+ 
+ # Define the directories for debugging and profiling binaries, relative to
+ # the standard binaries.
+@@ -223,7 +223,8 @@
+ # See ijs.mak for more information.
+  
+ IJSSRCDIR= IJSDIR@
+-IJSEXECTYPE=unix
++ OS_UNIX_TRUE@IJSEXECTYPE=unix
++ OS_WIN32_TRUE@IJSEXECTYPE=win
+ 
+ # Define the directory where the imdi library source is stored.
+ # See devs.mak for more information.
+@@ -239,6 +240,16 @@
+ 
+ # ------ Platform-specific options ------ #
+ 
++# Define the platform name.  For a "stock" System V platform,
++# use sysv_ instead of unix_.
++
++ OS_UNIX_TRUE@PLATFORM=unix_
++ OS_WIN32_TRUE@PLATFORM=mswin32_
++
++# Define executable files extension.
++
++XE= EXEEXT@
++
+ # Define the name of the C compiler.
+ 
+ CC= CC@
+@@ -468,7 +479,7 @@
+ # used in dependencies.
+ 
+ MAKEFILE=Makefile
+-TOP_MAKEFILES=$(MAKEFILE) $(GLSRCDIR)/unixhead.mak
++TOP_MAKEFILES=$(MAKEFILE) $(GLSRCDIR)/head.mak
+ 
+ # Define the auxiliary program dependency. We don't use this.
+ 
+@@ -478,7 +489,8 @@
+ 
+ CCFLAGS=$(GENOPT) $(CAPOPT) $(CFLAGS)
+ CC_=$(CC) $(CCFLAGS)
+-CCAUX=$(CC) $(CFLAGS)
++CCAUX= CCAUX@ $(GCFLAGS)
++XEAUX=
+ CC_LEAF=$(CC_)
+ # note gcc can't use -fomit-frame-pointer with -pg.
+ CC_LEAF_PG=$(CC_)
+@@ -490,7 +502,7 @@
+ # ---------------- End of platform-specific section ---------------- #
+ 
+ INSTALL_CONTRIB= INSTALL_CONTRIB@
+-include $(GLSRCDIR)/unixhead.mak
++include $(GLSRCDIR)/head.mak
+ include $(GLSRCDIR)/gs.mak
+ # psromfs.mak must precede lib.mak
+ include $(PSSRCDIR)/psromfs.mak
+@@ -509,7 +521,13 @@
+ include $(GLSRCDIR)/ijs.mak
+ include $(GLSRCDIR)/devs.mak
+ include $(GLSRCDIR)/contrib.mak
+-include $(GLSRCDIR)/unix-aux.mak
++include $(GLSRCDIR)/aux.mak
++ OS_UNIX_TRUE@include $(GLSRCDIR)/unix-plt.mak
++ OS_WIN32_TRUE@CC_WX=$(CC)
++ OS_WIN32_TRUE@GLCCWIN=$(CC_WX) $(GENOPT) -DCHECK_INTERRUPTS -D_Windows -D__WIN32__ $(CCWINFLAGS) 
$(I_)$(GLI_)$(_I) $(GLF_)
++ OS_WIN32_TRUE@include $(GLSRCDIR)/winplat.mak
++ OS_WIN32_TRUE@include $(GLSRCDIR)/pcwin.mak
++ OS_WIN32_TRUE@include $(GLSRCDIR)/w32-plt.mak
+ include $(GLSRCDIR)/unixlink.mak
+ include $(GLSRCDIR)/unix-dll.mak
+ include $(GLSRCDIR)/unix-end.mak
+@@ -534,3 +552,6 @@
+ check : default
+       $(NO_OP)
+ 
++$(gconfig__h): config.h
++      $(CP_) config.h $(gconfig__h)
++
+--- ghostscript-8.71/base/unix-aux.mak 2009-01-08 10:17:18.000000000 +0100
++++ ghostscript-8.71/base/unix-aux.mak 2010-02-26 16:33:59.000000000 +0100
+@@ -18,84 +18,7 @@
+ # Define the name of this makefile.
+ UNIX_AUX_MAK=$(GLSRC)unix-aux.mak
+ 
+-# -------------------------------- Library -------------------------------- #
++include unix-plt.mak
++include aux.mak
++include unix-cfg.mak
+ 
+-## The Unix platforms
+-
+-# We have to include a test for the existence of sys/time.h,
+-# because some System V platforms don't have it.
+-
+-# Unix platforms other than System V, and also System V Release 4
+-# (SVR4) platforms.
+-unix__=$(GLOBJ)gp_getnv.$(OBJ) $(GLOBJ)gp_upapr.$(OBJ) $(GLOBJ)gp_unix.$(OBJ) $(GLOBJ)gp_unifs.$(OBJ) 
$(GLOBJ)gp_unifn.$(OBJ) $(GLOBJ)gp_stdia.$(OBJ) $(GLOBJ)gp_unix_cache.$(OBJ)
+-$(GLGEN)unix_.dev: $(unix__) $(GLD)nosync.dev $(GLD)smd5.dev
+-      $(SETMOD) $(GLGEN)unix_ $(unix__) -include $(GLD)nosync
+-      $(ADDMOD) $(GLGEN)unix_ -include $(GLD)smd5
+-
+-$(GLOBJ)gp_unix.$(OBJ): $(GLSRC)gp_unix.c $(AK)\
+- $(pipe__h) $(string__h) $(time__h)\
+- $(gx_h) $(gsexit_h) $(gp_h)
+-      $(GLCC) $(FONTCONFIG_CFLAGS) $(GLO_)gp_unix.$(OBJ) $(C_) $(GLSRC)gp_unix.c
+-
+-$(GLOBJ)gp_unix_cache.$(OBJ): $(GLSRC)gp_unix_cache.c $(AK)\
+- $(stdio__h) $(string__h) $(time__h) $(gconfigd_h) $(gp_h) $(md5_h)
+-      $(GLCC) $(GLO_)gp_unix_cache.$(OBJ) $(C_) $(GLSRC)gp_unix_cache.c
+-
+-# assume all Unix platforms support unbuffered read
+-$(GLOBJ)gp_stdia.$(OBJ): $(GLSRC)gp_stdia.c $(AK)\
+-  $(stdio__h) $(time__h) $(unistd__h) $(gx_h) $(gp_h)
+-      $(GLCC) $(GLO_)gp_stdia.$(OBJ) $(C_) $(GLSRC)gp_stdia.c
+-
+-# System V platforms other than SVR4, which lack some system calls,
+-# but have pipes.
+-sysv__=$(GLOBJ)gp_getnv.$(OBJ) $(GLOBJ)gp_upapr.$(OBJ) $(GLOBJ)gp_unix.$(OBJ) $(GLOBJ)gp_unifs.$(OBJ) 
$(GLOBJ)gp_unifn.$(OBJ) $(GLOBJ)gp_sysv.$(OBJ)
+-$(GLGEN)sysv_.dev: $(sysv__) $(GLD)nosync.dev
+-      $(SETMOD) $(GLGEN)sysv_ $(sysv__) -include $(GLD)nosync
+-
+-$(GLOBJ)gp_sysv.$(OBJ): $(GLSRC)gp_sysv.c $(stdio__h) $(time__h) $(AK)
+-      $(GLCC) $(GLO_)gp_sysv.$(OBJ) $(C_) $(GLSRC)gp_sysv.c
+-
+-# -------------------------- Auxiliary programs --------------------------- #
+-
+-$(ECHOGS_XE): $(GLSRC)echogs.c $(AK) $(stdpre_h)
+-      $(CCAUX) $(I_)$(GLSRCDIR)$(_I) $(O_)$(ECHOGS_XE) $(GLSRC)echogs.c
+-
+-# On the RS/6000 (at least), compiling genarch.c with gcc with -O
+-# produces a buggy executable.
+-$(GENARCH_XE): $(GLSRC)genarch.c $(AK) $(GENARCH_DEPS)
+-      $(CCAUX) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENARCH_XE) $(GLSRC)genarch.c
+-
+-$(GENCONF_XE): $(GLSRC)genconf.c $(AK) $(GENCONF_DEPS)
+-      $(CCAUX) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENCONF_XE) $(GLSRC)genconf.c
+-
+-$(GENDEV_XE): $(GLSRC)gendev.c $(AK) $(GENDEV_DEPS)
+-      $(CCAUX) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENDEV_XE) $(GLSRC)gendev.c
+-
+-$(GENHT_XE): $(GLSRC)genht.c $(AK) $(GENHT_DEPS)
+-      $(CCAUX) $(GENHT_CFLAGS) $(O_)$(GENHT_XE) $(GLSRC)genht.c
+-
+-$(GENINIT_XE): $(GLSRC)geninit.c $(AK) $(GENINIT_DEPS)
+-      $(CCAUX) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENINIT_XE) $(GLSRC)geninit.c
+-
+-MKROMFS_OBJS=$(MKROMFS_ZLIB_OBJS) $(GLOBJ)gscdefs.$(OBJ) $(GLOBJ)gsmisc.$(OBJ) \
+- $(GLOBJ)gpmisc.$(OBJ) $(GLOBJ)gslibctx.$(OBJ) $(GLOBJ)gp_getnv.$(OBJ) \
+- $(GLOBJ)gp_unix.$(OBJ) $(GLOBJ)gp_unifs.$(OBJ) $(GLOBJ)gp_unifn.$(OBJ) \
+- $(GLOBJ)gp_stdia.$(OBJ) $(GLOBJ)gsutil.$(OBJ)
+-
+-$(MKROMFS_XE): $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS)
+-      $(CCAUX) $(GENOPT) $(CFLAGS) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) 
$(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE) $(MKROMFS_OBJS) -lm $(EXTRALIBS)
+-
+-# Query the environment to construct gconfig_.h.
+-# The "else true;" is required because Ultrix's implementation of sh -e
+-# terminates execution of a command if any error occurs, even if the command
+-# traps the error with ||.
+-INCLUDE=/usr/include
+-$(gconfig__h): $(UNIX_AUX_MAK) $(ECHOGS_XE)
+-      $(ECHOGS_XE) -w $(gconfig__h) -x 2f2a -s This file was generated automatically by unix-aux.mak. -s -x 
2a2f
+-      if ( test -f $(INCLUDE)/dirent.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_DIRENT_H; 
else true; fi
+-      if ( test -f $(INCLUDE)/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_NDIR_H; else 
true; fi
+-      if ( test -f $(INCLUDE)/sys/dir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_DIR_H; 
else true; fi
+-      if ( test -f $(INCLUDE)/sys/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define 
HAVE_SYS_NDIR_H; else true; fi
+-      if ( test -f $(INCLUDE)/sys/time.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define 
HAVE_SYS_TIME_H; else true; fi
+-      if ( test -f $(INCLUDE)/sys/times.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define 
HAVE_SYS_TIMES_H; else true; fi
+-      if ( test -f $(JSRCDIR)/jmemsys.h); then true; else $(ECHOGS_XE) -a $(gconfig__h) -x 23 define 
DONT_HAVE_JMEMSYS_H; fi
+--- ghostscript-8.71/base/unix-cfg.mak 1970-01-01 01:00:00.000000000 +0100
++++ ghostscript-8.71/base/unix-cfg.mak 2010-02-26 16:33:59.000000000 +0100
+@@ -0,0 +1,33 @@
++#  Copyright (C) 2001-2006 Artifex Software, Inc.
++#  All Rights Reserved.
++#
++#  This software is provided AS-IS with no warranty, either express or
++#  implied.
++#
++#  This software is distributed under license and may not be copied, modified
++#  or distributed except as expressly authorized under the terms of that
++#  license.  Refer to licensing information at http://www.artifex.com/
++#  or contact Artifex Software, Inc.,  7 Mt. Lassen Drive - Suite A-134,
++#  San Rafael, CA  94903, U.S.A., +1(415)492-9861, for further information.
++#
++# $Id$
++# Partial makefile common to all Unix configurations.
++# This makefile contains the build rules for configuration files.
++
++# Define the name of this makefile.
++UNIX_CFG_MAK=$(GLSRC)unix-cfg.mak
++
++# Query the environment to construct gconfig_.h.
++# The "else true;" is required because Ultrix's implementation of sh -e
++# terminates execution of a command if any error occurs, even if the command
++# traps the error with ||.
++INCLUDE=/usr/include
++$(gconfig__h): $(UNIX_CFG_MAK) $(ECHOGS_XE)
++      $(ECHOGS_XE) -w $(gconfig__h) -x 2f2a -s This file was generated automatically by unix-aux.mak. -s -x 
2a2f
++      if ( test -f $(INCLUDE)/dirent.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_DIRENT_H; 
else true; fi
++      if ( test -f $(INCLUDE)/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_NDIR_H; else 
true; fi
++      if ( test -f $(INCLUDE)/sys/dir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_DIR_H; 
else true; fi
++      if ( test -f $(INCLUDE)/sys/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define 
HAVE_SYS_NDIR_H; else true; fi
++      if ( test -f $(INCLUDE)/sys/time.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define 
HAVE_SYS_TIME_H; else true; fi
++      if ( test -f $(INCLUDE)/sys/times.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define 
HAVE_SYS_TIMES_H; else true; fi
++      if ( test -f $(JSRCDIR)/jmemsys.h); then true; else $(ECHOGS_XE) -a $(gconfig__h) -x 23 define 
DONT_HAVE_JMEMSYS_H; fi
+--- ghostscript-8.71/base/unix-dll.mak 2009-10-19 22:24:53.000000000 +0200
++++ ghostscript-8.71/base/unix-dll.mak 2010-02-26 16:33:59.000000000 +0100
+@@ -49,7 +49,10 @@
+ GS_SONAME=$(GS_SONAME_BASE).$(GS_SOEXT)
+ GS_SONAME_MAJOR=$(GS_SONAME).$(GS_VERSION_MAJOR)
+ GS_SONAME_MAJOR_MINOR=$(GS_SONAME).$(GS_VERSION_MAJOR).$(GS_VERSION_MINOR)
+-LDFLAGS_SO=-shared -Wl,-soname=$(GS_SONAME_MAJOR)
++LDFLAGS_SO=-shared -Wl,-soname=$(GS_SONAME_MAJOR) -Wl,--out-implib=./sobin/$(GS_SONAME_BASE).dll.a 
./$(GS_SONAME_BASE).def
++
++# Windows
++GS_SONAME_MAJOR_MINOR=$(GS_SONAME_BASE)-$(GS_VERSION_MAJOR).dll
+ 
+ # MacOS X
+ #GS_SOEXT=dylib
+@@ -88,8 +91,9 @@
+ 
+ # ------------------------- Recursive make targets ------------------------- #
+ 
+-SODEFS=LDFLAGS='$(LDFLAGS) $(LDFLAGS_SO)'\
++SODEFS=\
+  GS_XE=$(BINDIR)/$(SOBINRELDIR)/$(GS_SONAME_MAJOR_MINOR)\
++ GS_XE_LDFLAGS="$(LDFLAGS_SO)"\
+  STDIO_IMPLEMENTATION=c\
+  DISPLAY_DEV=$(DD)$(SOOBJRELDIR)/display.dev\
+  BINDIR=$(BINDIR)/$(SOBINRELDIR)\
+--- ghostscript-8.71/base/unixhead.mak 2007-12-31 19:07:59.000000000 +0100
++++ ghostscript-8.71/base/unixhead.mak 2010-02-26 16:33:59.000000000 +0100
+@@ -23,55 +23,9 @@
+ 
+ PLATFORM=unix_
+ 
+-# Define the syntax for command, object, and executable files.
+-
+-# Work around the fact that some `make' programs drop trailing spaces
+-# or interpret == as a special definition operator.
+-NULL=
+-
+-CMD=
+-C_=-c
+-D_=-D
+-_D_=$(NULL)=
+-_D=
+-I_=-I
+-II=-I
+-_I=
+-NO_OP=@:
+-O_=-o $(NULL)
+-OBJ=o
+-Q=
++# Define executable files extension.
+ XE=
+ XEAUX=
+ 
+-# Define the current directory prefix and command invocations.
+-
+-CAT=cat
+-D=/
+-EXP=
+-SHELL=/bin/sh
+-SH=$(SHELL)
+-
+-# Define generic commands.
+-
+-CP_=cp
+-RM_=rm -f
+-RMN_=rm -f
+-
+-# Define the arguments for genconf.
+-
+-CONFILES=-p "%s&s&&" -pl "&-l%s&s&&" -pL "&-L%s&s&&"
+-CONFLDTR=-ol
+-
+-# Define the compilation rules and flags.
+-
+-CC_D=$(CC_)
+-CC_INT=$(CC_)
+-
+-BEGINFILES=
+-
+-# Define the default build rule, so the object directories get created
+-# automatically.
++include $(GLSRCDIR)/head.mak
+ 
+-std: STDDIRS default
+-      $(NO_OP)
+--- ghostscript-8.71/base/unixlink.mak 2008-02-29 09:13:08.000000000 +0100
++++ ghostscript-8.71/base/unixlink.mak 2010-02-26 16:33:59.000000000 +0100
+@@ -50,7 +50,7 @@
+ # which has limited environment space.
+ ldt_tr=$(PSOBJ)ldt.tr
+ $(GS_XE): $(ld_tr) $(ECHOGS_XE) $(XE_ALL) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ)
+-      $(ECHOGS_XE) -w $(ldt_tr) -n - $(CCLD) $(LDFLAGS) -o $(GS_XE)
++      $(ECHOGS_XE) -w $(ldt_tr) -n - $(CCLD) $(GS_XE_LDFLAGS) $(LDFLAGS) -o $(GS_XE)
+       $(ECHOGS_XE) -a $(ldt_tr) -n -s $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) $(PSOBJ)gs.$(OBJ) -s
+       cat $(ld_tr) >>$(ldt_tr)
+       $(ECHOGS_XE) -a $(ldt_tr) -s - $(EXTRALIBS) $(STDLIBS)
+--- ghostscript-8.71/base/unix-plt.mak 1970-01-01 01:00:00.000000000 +0100
++++ ghostscript-8.71/base/unix-plt.mak 2010-02-26 16:33:59.000000000 +0100
+@@ -0,0 +1,56 @@
++#  Copyright (C) 2001-2006 Artifex Software, Inc.
++#  All Rights Reserved.
++#
++#  This software is provided AS-IS with no warranty, either express or
++#  implied.
++#
++#  This software is distributed under license and may not be copied, modified
++#  or distributed except as expressly authorized under the terms of that
++#  license.  Refer to licensing information at http://www.artifex.com/
++#  or contact Artifex Software, Inc.,  7 Mt. Lassen Drive - Suite A-134,
++#  San Rafael, CA  94903, U.S.A., +1(415)492-9861, for further information.
++#
++# $Id$
++# Partial makefile common to all Unix configurations.
++# This makefile contains the build rules for the 'platform' modules.
++
++# Define the name of this makefile.
++UNIX_PLT_MAK=$(GLSRC)unix-plt.mak
++
++# -------------------------------- Library -------------------------------- #
++
++## The Unix platforms
++
++# We have to include a test for the existence of sys/time.h,
++# because some System V platforms don't have it.
++
++# Unix platforms other than System V, and also System V Release 4
++# (SVR4) platforms.
++unix__=$(GLOBJ)gp_getnv.$(OBJ) $(GLOBJ)gp_upapr.$(OBJ) $(GLOBJ)gp_unix.$(OBJ) $(GLOBJ)gp_unifs.$(OBJ) 
$(GLOBJ)gp_unifn.$(OBJ) $(GLOBJ)gp_stdia.$(OBJ) $(GLOBJ)gp_unix_cache.$(OBJ)
++$(GLGEN)unix_.dev: $(unix__) $(GLD)nosync.dev $(GLD)smd5.dev
++      $(SETMOD) $(GLGEN)unix_ $(unix__) -include $(GLD)nosync
++      $(ADDMOD) $(GLGEN)unix_ -include $(GLD)smd5
++
++$(GLOBJ)gp_unix.$(OBJ): $(GLSRC)gp_unix.c $(AK)\
++ $(pipe__h) $(string__h) $(time__h)\
++ $(gx_h) $(gsexit_h) $(gp_h)
++      $(GLCC) $(FONTCONFIG_CFLAGS) $(GLO_)gp_unix.$(OBJ) $(C_) $(GLSRC)gp_unix.c
++
++$(GLOBJ)gp_unix_cache.$(OBJ): $(GLSRC)gp_unix_cache.c $(AK)\
++ $(stdio__h) $(string__h) $(time__h) $(gconfigd_h) $(gp_h) $(md5_h)
++      $(GLCC) $(GLO_)gp_unix_cache.$(OBJ) $(C_) $(GLSRC)gp_unix_cache.c
++
++# assume all Unix platforms support unbuffered read
++$(GLOBJ)gp_stdia.$(OBJ): $(GLSRC)gp_stdia.c $(AK)\
++  $(stdio__h) $(time__h) $(unistd__h) $(gx_h) $(gp_h)
++      $(GLCC) $(GLO_)gp_stdia.$(OBJ) $(C_) $(GLSRC)gp_stdia.c
++
++# System V platforms other than SVR4, which lack some system calls,
++# but have pipes.
++sysv__=$(GLOBJ)gp_getnv.$(OBJ) $(GLOBJ)gp_upapr.$(OBJ) $(GLOBJ)gp_unix.$(OBJ) $(GLOBJ)gp_unifs.$(OBJ) 
$(GLOBJ)gp_unifn.$(OBJ) $(GLOBJ)gp_sysv.$(OBJ)
++$(GLGEN)sysv_.dev: $(sysv__) $(GLD)nosync.dev
++      $(SETMOD) $(GLGEN)sysv_ $(sysv__) -include $(GLD)nosync
++
++$(GLOBJ)gp_sysv.$(OBJ): $(GLSRC)gp_sysv.c $(stdio__h) $(time__h) $(AK)
++      $(GLCC) $(GLO_)gp_sysv.$(OBJ) $(C_) $(GLSRC)gp_sysv.c
++
+--- ghostscript-8.71/base/w32-plt.mak  1970-01-01 01:00:00.000000000 +0100
++++ ghostscript-8.71/base/w32-plt.mak  2010-02-26 16:33:59.000000000 +0100
+@@ -0,0 +1,79 @@
++#  Copyright (C) 2001-2006 Artifex Software, Inc.
++#  All Rights Reserved.
++#
++#  This software is provided AS-IS with no warranty, either express or
++#  implied.
++#
++#  This software is distributed under license and may not be copied, modified
++#  or distributed except as expressly authorized under the terms of that
++#  license.  Refer to licensing information at http://www.artifex.com/
++#  or contact Artifex Software, Inc.,  7 Mt. Lassen Drive - Suite A-134,
++#  San Rafael, CA  94903, U.S.A., +1(415)492-9861, for further information.
++#
++# $Id$
++# Common makefile section for 32-bit MS Windows.
++
++# This makefile must be acceptable for all make's. For this reason,
++# no directives are allowed.
++
++# -------------------------------- Library -------------------------------- #
++
++# The Windows Win32 platform
++
++mswin32__=$(GLOBJ)gp_mswin.$(OBJ) $(GLOBJ)gp_wgetv.$(OBJ) $(GLOBJ)gp_wpapr.$(OBJ) $(GLOBJ)gp_stdia.$(OBJ)
++mswin32_inc=$(GLD)nosync.dev $(GLD)winplat.dev
++
++$(GLGEN)mswin32_.dev:  $(mswin32__) $(ECHOGS_XE) $(mswin32_inc)
++      $(SETMOD) $(GLGEN)mswin32_ $(mswin32__)
++      $(ADDMOD) $(GLGEN)mswin32_ -include $(mswin32_inc)
++
++$(GLOBJ)gp_mswin.$(OBJ): $(GLSRC)gp_mswin.c $(AK) $(gp_mswin_h) \
++ $(ctype__h) $(dos__h) $(malloc__h) $(memory__h) $(pipe__h) \
++ $(stdio__h) $(string__h) $(windows__h) \
++ $(gx_h) $(gp_h) $(gpcheck_h) $(gpmisc_h) $(gserrors_h) $(gsexit_h)
++      $(GLCCWIN) $(GLO_)gp_mswin.$(OBJ) $(C_) $(GLSRC)gp_mswin.c
++
++$(GLOBJ)gp_wgetv.$(OBJ): $(GLSRC)gp_wgetv.c $(AK) $(gscdefs_h)
++      $(GLCCWIN) $(GLO_)gp_wgetv.$(OBJ) $(C_) $(GLSRC)gp_wgetv.c
++
++$(GLOBJ)gp_wpapr.$(OBJ): $(GLSRC)gp_wpapr.c $(AK) $(gp_h)
++      $(GLCCWIN) $(GLO_)gp_wpapr.$(OBJ) $(C_) $(GLSRC)gp_wpapr.c
++
++$(GLOBJ)gp_stdia.$(OBJ): $(GLSRC)gp_stdia.c $(AK)\
++  $(stdio__h) $(time__h) $(unistd__h) $(gx_h) $(gp_h)
++      $(GLCCWIN) $(GLO_)gp_stdia.$(OBJ) $(C_) $(GLSRC)gp_stdia.c
++
++# Define MS-Windows handles (file system) as a separable feature.
++
++mshandle_=$(GLOBJ)gp_mshdl.$(OBJ)
++$(GLD)mshandle.dev: $(ECHOGS_XE) $(mshandle_)
++      $(SETMOD) $(GLD)mshandle $(mshandle_)
++      $(ADDMOD) $(GLD)mshandle -iodev handle
++
++$(GLOBJ)gp_mshdl.$(OBJ): $(GLSRC)gp_mshdl.c $(AK)\
++ $(ctype__h) $(errno__h) $(stdio__h) $(string__h)\
++ $(gserror_h) $(gsmemory_h) $(gstypes_h) $(gxiodev_h)
++      $(GLCC) $(GLO_)gp_mshdl.$(OBJ) $(C_) $(GLSRC)gp_mshdl.c
++
++# Define MS-Windows printer (file system) as a separable feature.
++
++msprinter_=$(GLOBJ)gp_msprn.$(OBJ)
++$(GLD)msprinter.dev: $(ECHOGS_XE) $(msprinter_)
++      $(SETMOD) $(GLD)msprinter $(msprinter_)
++      $(ADDMOD) $(GLD)msprinter -iodev printer
++
++$(GLOBJ)gp_msprn.$(OBJ): $(GLSRC)gp_msprn.c $(AK)\
++ $(ctype__h) $(errno__h) $(stdio__h) $(string__h)\
++ $(gserror_h) $(gsmemory_h) $(gstypes_h) $(gxiodev_h)
++      $(GLCCWIN) $(GLO_)gp_msprn.$(OBJ) $(C_) $(GLSRC)gp_msprn.c
++
++# Define MS-Windows polling as a separable feature
++# because it is not needed by the gslib.
++mspoll_=$(GLOBJ)gp_mspol.$(OBJ)
++$(GLD)mspoll.dev: $(ECHOGS_XE) $(mspoll_)
++      $(SETMOD) $(GLD)mspoll $(mspoll_)
++
++$(GLOBJ)gp_mspol.$(OBJ): $(GLSRC)gp_mspol.c $(AK)\
++ $(gx_h) $(gp_h) $(gpcheck_h)
++      $(GLCCWIN) $(GLO_)gp_mspol.$(OBJ) $(C_) $(GLSRC)gp_mspol.c
++
+--- ghostscript-8.71/base/winlib.mak   2009-11-11 16:50:28.000000000 +0100
++++ ghostscript-8.71/base/winlib.mak   2010-02-26 16:33:59.000000000 +0100
+@@ -135,65 +135,8 @@
+ $(gconfig__h): $(TOP_MAKEFILES)
+       $(ECHOGS_XE) -w $(gconfig__h) -x 2f2a20 This file deliberately left blank. -x 2a2f
+ 
+-# -------------------------------- Library -------------------------------- #
++# ---------------------------------------------------------------------- #
+ 
+-# The Windows Win32 platform
+-
+-mswin32__=$(GLOBJ)gp_mswin.$(OBJ) $(GLOBJ)gp_wgetv.$(OBJ) $(GLOBJ)gp_wpapr.$(OBJ) $(GLOBJ)gp_stdia.$(OBJ)
+-mswin32_inc=$(GLD)nosync.dev $(GLD)winplat.dev
+-
+-$(GLGEN)mswin32_.dev:  $(mswin32__) $(ECHOGS_XE) $(mswin32_inc)
+-      $(SETMOD) $(GLGEN)mswin32_ $(mswin32__)
+-      $(ADDMOD) $(GLGEN)mswin32_ -include $(mswin32_inc)
+-
+-$(GLOBJ)gp_mswin.$(OBJ): $(GLSRC)gp_mswin.c $(AK) $(gp_mswin_h) \
+- $(ctype__h) $(dos__h) $(malloc__h) $(memory__h) $(pipe__h) \
+- $(stdio__h) $(string__h) $(windows__h) \
+- $(gx_h) $(gp_h) $(gpcheck_h) $(gpmisc_h) $(gserrors_h) $(gsexit_h)
+-      $(GLCCWIN) $(GLO_)gp_mswin.$(OBJ) $(C_) $(GLSRC)gp_mswin.c
+-
+-$(GLOBJ)gp_wgetv.$(OBJ): $(GLSRC)gp_wgetv.c $(AK) $(gscdefs_h)
+-      $(GLCCWIN) $(GLO_)gp_wgetv.$(OBJ) $(C_) $(GLSRC)gp_wgetv.c
+-
+-$(GLOBJ)gp_wpapr.$(OBJ): $(GLSRC)gp_wpapr.c $(AK) $(gp_h)
+-      $(GLCCWIN) $(GLO_)gp_wpapr.$(OBJ) $(C_) $(GLSRC)gp_wpapr.c
+-
+-$(GLOBJ)gp_stdia.$(OBJ): $(GLSRC)gp_stdia.c $(AK)\
+-  $(stdio__h) $(time__h) $(unistd__h) $(gx_h) $(gp_h)
+-      $(GLCCWIN) $(GLO_)gp_stdia.$(OBJ) $(C_) $(GLSRC)gp_stdia.c
+-
+-# Define MS-Windows handles (file system) as a separable feature.
+-
+-mshandle_=$(GLOBJ)gp_mshdl.$(OBJ)
+-$(GLD)mshandle.dev: $(ECHOGS_XE) $(mshandle_)
+-      $(SETMOD) $(GLD)mshandle $(mshandle_)
+-      $(ADDMOD) $(GLD)mshandle -iodev handle
+-
+-$(GLOBJ)gp_mshdl.$(OBJ): $(GLSRC)gp_mshdl.c $(AK)\
+- $(ctype__h) $(errno__h) $(stdio__h) $(string__h)\
+- $(gserror_h) $(gsmemory_h) $(gstypes_h) $(gxiodev_h)
+-      $(GLCC) $(GLO_)gp_mshdl.$(OBJ) $(C_) $(GLSRC)gp_mshdl.c
+-
+-# Define MS-Windows printer (file system) as a separable feature.
+-
+-msprinter_=$(GLOBJ)gp_msprn.$(OBJ)
+-$(GLD)msprinter.dev: $(ECHOGS_XE) $(msprinter_)
+-      $(SETMOD) $(GLD)msprinter $(msprinter_)
+-      $(ADDMOD) $(GLD)msprinter -iodev printer
+-
+-$(GLOBJ)gp_msprn.$(OBJ): $(GLSRC)gp_msprn.c $(AK)\
+- $(ctype__h) $(errno__h) $(stdio__h) $(string__h)\
+- $(gserror_h) $(gsmemory_h) $(gstypes_h) $(gxiodev_h)
+-      $(GLCCWIN) $(GLO_)gp_msprn.$(OBJ) $(C_) $(GLSRC)gp_msprn.c
+-
+-# Define MS-Windows polling as a separable feature
+-# because it is not needed by the gslib.
+-mspoll_=$(GLOBJ)gp_mspol.$(OBJ)
+-$(GLD)mspoll.dev: $(ECHOGS_XE) $(mspoll_)
+-      $(SETMOD) $(GLD)mspoll $(mspoll_)
+-
+-$(GLOBJ)gp_mspol.$(OBJ): $(GLSRC)gp_mspol.c $(AK)\
+- $(gx_h) $(gp_h) $(gpcheck_h)
+-      $(GLCCWIN) $(GLO_)gp_mspol.$(OBJ) $(C_) $(GLSRC)gp_mspol.c
++!include $(GLSRCDIR)\w32-plt.mak
+ 
+ # end of winlib.mak
+--- ghostscript-8.71/config.guess      1970-01-01 01:00:00.000000000 +0100
++++ ghostscript-8.71/config.guess      2010-02-26 16:33:59.000000000 +0100
+@@ -0,0 +1,1526 @@
++#! /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, 2007, 2008
++#   Free Software Foundation, Inc.
++
++timestamp='2008-01-23'
++
++# 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 bothner com>.
++# Please send patches to <config-patches gnu org>.  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 gnu org>."
++
++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, 2006, 2007, 2008 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 noc rutgers edu 1994-08-24)
++if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
++      PATH=$PATH:/.attbin ; export PATH
++fi
++
++UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
++UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
++UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
++UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
++
++# Note: order is significant - the case branches are not exclusive.
++
++case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
++    *:NetBSD:*:*)
++      # NetBSD (nbsd) targets should (where applicable) match one or
++      # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
++      # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
++      # switched to ELF, *-*-netbsd* would select the old
++      # object file format.  This provides both forward
++      # compatibility and a consistent mechanism for selecting the
++      # object file format.
++      #
++      # Note: NetBSD doesn't particularly care about the vendor
++      # portion of the name.  We always set it to "unknown".
++      sysctl="sysctl -n hw.machine_arch"
++      UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
++          /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
++      case "${UNAME_MACHINE_ARCH}" in
++          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 wpdis03 wpafb af mil (Earle F. Ake) contributed MIS and NILE.
++      if test "`(/bin/universe) 2>/dev/null`" = att ; then
++              echo pyramid-pyramid-sysv3
++      else
++              echo pyramid-pyramid-bsd
++      fi
++      exit ;;
++    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:*:[456])
++      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}-w64-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 ;;
++          IA64)
++              echo ia64-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:*:*)
++      eval $set_cc_for_build
++      if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
++          | grep -q __ARM_EABI__
++      then
++          echo ${UNAME_MACHINE}-unknown-linux-gnu
++      else
++          echo ${UNAME_MACHINE}-unknown-linux-gnueabi
++      fi
++      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 ${UNAME_MACHINE}-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 ccMail Census GOV>
++        echo i586-unisys-sysv4
++        exit ;;
++    *:UNIX_System_V:4*:FTX*)
++      # From Gerald Hewes <hewes openmarket com>.
++      # How about differentiating between stratus architectures? -djm
++      echo hppa1.1-stratus-sysv4
++      exit ;;
++    *:*:*:FTX*)
++      # From seanf swdc stratus com 
++      echo i860-stratus-sysv4
++      exit ;;
++    i*86:VOS:*:*)
++      # From Paul Green stratus com 
++      echo ${UNAME_MACHINE}-stratus-vos
++      exit ;;
++    *:VOS:*:*)
++      # From Paul Green stratus com 
++      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://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
++and
++  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
++
++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 gnu org> 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:
+--- ghostscript-8.71/config.hin        1970-01-01 01:00:00.000000000 +0100
++++ ghostscript-8.71/config.hin        2010-02-26 16:33:59.000000000 +0100
+@@ -0,0 +1,21 @@
++
++/* Define to 1 if you have the <dirent.h> header file. */
++#undef HAVE_DIRENT_H
++
++/* Define to 1 if you have the <ndir.h> header file. */
++#undef HAVE_NDIR_H
++
++/* Define to 1 if you have the <sys/dir.h> header file. */
++#undef HAVE_SYS_DIR_H
++
++/* Define to 1 if you have the <sys/ndir.h> header file. */
++#undef HAVE_SYS_NDIR_H
++
++/* Define to 1 if you have the <sys/time.h> header file. */
++#undef HAVE_SYS_TIME_H
++
++/* Define to 1 if you have the <sys/times.h> header file. */
++#undef HAVE_SYS_TIMES_H
++
++/* TODO: jmemsys.h */
++
+--- ghostscript-8.71/config.sub        1970-01-01 01:00:00.000000000 +0100
++++ ghostscript-8.71/config.sub        2010-02-26 16:33:59.000000000 +0100
+@@ -0,0 +1,1658 @@
++#! /bin/sh
++# Configuration validation subroutine script.
++#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
++#   Free Software Foundation, Inc.
++
++timestamp='2008-01-16'
++
++# This file is (in principle) common to ALL GNU software.
++# The presence of a machine in this file suggests that SOME GNU software
++# can handle that machine.  It does not imply ALL GNU software can.
++#
++# This file is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 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.
++
++
++# Please send patches to <config-patches gnu org>.  Submit a context
++# diff and a properly formatted ChangeLog entry.
++#
++# Configuration subroutine to validate and canonicalize a configuration type.
++# Supply the specified configuration type as an argument.
++# If it is invalid, we print an error message on stderr and exit with code 1.
++# Otherwise, we print the canonical config type on stdout and succeed.
++
++# This file is supposed to be the same for all GNU packages
++# and recognize all the CPU types, system types and aliases
++# that are meaningful with *any* GNU software.
++# Each package is responsible for reporting which valid configurations
++# it does not support.  The user should be able to distinguish
++# a failure to support a valid configuration from a meaningless
++# configuration.
++
++# The goal of this file is to map all the various variations of a given
++# machine specification into a single specification in the form:
++#     CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
++# or in some cases, the newer four-part form:
++#     CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
++# It is wrong to echo any other type of specification.
++
++me=`echo "$0" | sed -e 's,.*/,,'`
++
++usage="\
++Usage: $0 [OPTION] CPU-MFR-OPSYS
++       $0 [OPTION] ALIAS
++
++Canonicalize a configuration name.
++
++Operation modes:
++  -h, --help         print this help, then exit
++  -t, --time-stamp   print date of last modification, then exit
++  -v, --version      print version number, then exit
++
++Report bugs and patches to <config-patches gnu org>."
++
++version="\
++GNU config.sub ($timestamp)
++
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
++2002, 2003, 2004, 2005, 2006, 2007, 2008 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"
++       exit 1 ;;
++
++    *local*)
++       # First pass through any local machine types.
++       echo $1
++       exit ;;
++
++    * )
++       break ;;
++  esac
++done
++
++case $# in
++ 0) echo "$me: missing argument$help" >&2
++    exit 1;;
++ 1) ;;
++ *) echo "$me: too many arguments$help" >&2
++    exit 1;;
++esac
++
++# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
++# Here we must recognize all the valid KERNEL-OS combinations.
++maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
++case $maybe_os in
++  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
++  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
++  storm-chaos* | os2-emx* | rtmk-nova*)
++    os=-$maybe_os
++    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
++    ;;
++  *)
++    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
++    if [ $basic_machine != $1 ]
++    then os=`echo $1 | sed 's/.*-/-/'`
++    else os=; fi
++    ;;
++esac
++
++### Let's recognize common machines as not being operating systems so
++### that things like config.sub decstation-3100 work.  We also
++### recognize some manufacturers as not being operating systems, so we
++### can provide default operating systems below.
++case $os in
++      -sun*os*)
++              # Prevent following clause from handling this invalid input.
++              ;;
++      -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
++      -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
++      -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
++      -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
++      -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
++      -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
++      -apple | -axis | -knuth | -cray)
++              os=
++              basic_machine=$1
++              ;;
++      -sim | -cisco | -oki | -wec | -winbond)
++              os=
++              basic_machine=$1
++              ;;
++      -scout)
++              ;;
++      -wrs)
++              os=-vxworks
++              basic_machine=$1
++              ;;
++      -chorusos*)
++              os=-chorusos
++              basic_machine=$1
++              ;;
++      -chorusrdb)
++              os=-chorusrdb
++              basic_machine=$1
++              ;;
++      -hiux*)
++              os=-hiuxwe2
++              ;;
++      -sco6)
++              os=-sco5v6
++              basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++              ;;
++      -sco5)
++              os=-sco3.2v5
++              basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++              ;;
++      -sco4)
++              os=-sco3.2v4
++              basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++              ;;
++      -sco3.2.[4-9]*)
++              os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
++              basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++              ;;
++      -sco3.2v[4-9]*)
++              # Don't forget version if it is 3.2v4 or newer.
++              basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++              ;;
++      -sco5v6*)
++              # Don't forget version if it is 3.2v4 or newer.
++              basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++              ;;
++      -sco*)
++              os=-sco3.2v2
++              basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++              ;;
++      -udk*)
++              basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++              ;;
++      -isc)
++              os=-isc2.2
++              basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++              ;;
++      -clix*)
++              basic_machine=clipper-intergraph
++              ;;
++      -isc*)
++              basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++              ;;
++      -lynx*)
++              os=-lynxos
++              ;;
++      -ptx*)
++              basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
++              ;;
++      -windowsnt*)
++              os=`echo $os | sed -e 's/windowsnt/winnt/'`
++              ;;
++      -psos*)
++              os=-psos
++              ;;
++      -mint | -mint[0-9]*)
++              basic_machine=m68k-atari
++              os=-mint
++              ;;
++esac
++
++# Decode aliases for certain CPU-COMPANY combinations.
++case $basic_machine in
++      # Recognize the basic CPU types without company name.
++      # Some are omitted here because they have special meanings below.
++      1750a | 580 \
++      | a29k \
++      | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
++      | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
++      | am33_2.0 \
++      | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
++      | bfin \
++      | c4x | clipper \
++      | d10v | d30v | dlx | dsp16xx \
++      | fido | fr30 | frv \
++      | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
++      | i370 | i860 | i960 | ia64 \
++      | ip2k | iq2000 \
++      | m32c | m32r | m32rle | m68000 | m68k | m88k \
++      | maxq | mb | microblaze | mcore | mep \
++      | mips | mipsbe | mipseb | mipsel | mipsle \
++      | mips16 \
++      | mips64 | mips64el \
++      | mips64vr | mips64vrel \
++      | mips64orion | mips64orionel \
++      | mips64vr4100 | mips64vr4100el \
++      | mips64vr4300 | mips64vr4300el \
++      | mips64vr5000 | mips64vr5000el \
++      | mips64vr5900 | mips64vr5900el \
++      | mipsisa32 | mipsisa32el \
++      | mipsisa32r2 | mipsisa32r2el \
++      | mipsisa64 | mipsisa64el \
++      | mipsisa64r2 | mipsisa64r2el \
++      | mipsisa64sb1 | mipsisa64sb1el \
++      | mipsisa64sr71k | mipsisa64sr71kel \
++      | mipstx39 | mipstx39el \
++      | mn10200 | mn10300 \
++      | mt \
++      | msp430 \
++      | nios | nios2 \
++      | ns16k | ns32k \
++      | or32 \
++      | pdp10 | pdp11 | pj | pjl \
++      | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
++      | pyramid \
++      | score \
++      | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
++      | sh64 | sh64le \
++      | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
++      | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
++      | spu | strongarm \
++      | tahoe | thumb | tic4x | tic80 | tron \
++      | v850 | v850e \
++      | we32k \
++      | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
++      | z8k)
++              basic_machine=$basic_machine-unknown
++              ;;
++      m6811 | m68hc11 | m6812 | m68hc12)
++              # Motorola 68HC11/12.
++              basic_machine=$basic_machine-unknown
++              os=-none
++              ;;
++      m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
++              ;;
++      ms1)
++              basic_machine=mt-unknown
++              ;;
++
++      # We use `pc' rather than `unknown'
++      # because (1) that's what they normally are, and
++      # (2) the word "unknown" tends to confuse beginning users.
++      i*86 | x86_64)
++        basic_machine=$basic_machine-pc
++        ;;
++      # Object if more than one company name word.
++      *-*-*)
++              echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
++              exit 1
++              ;;
++      # Recognize the basic CPU types with company name.
++      580-* \
++      | a29k-* \
++      | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
++      | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
++      | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
++      | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
++      | avr-* | avr32-* \
++      | bfin-* | bs2000-* \
++      | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
++      | clipper-* | craynv-* | cydra-* \
++      | d10v-* | d30v-* | dlx-* \
++      | elxsi-* \
++      | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
++      | h8300-* | h8500-* \
++      | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
++      | i*86-* | i860-* | i960-* | ia64-* \
++      | ip2k-* | iq2000-* \
++      | m32c-* | m32r-* | m32rle-* \
++      | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
++      | m88110-* | m88k-* | maxq-* | mcore-* \
++      | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
++      | mips16-* \
++      | mips64-* | mips64el-* \
++      | mips64vr-* | mips64vrel-* \
++      | mips64orion-* | mips64orionel-* \
++      | mips64vr4100-* | mips64vr4100el-* \
++      | mips64vr4300-* | mips64vr4300el-* \
++      | mips64vr5000-* | mips64vr5000el-* \
++      | mips64vr5900-* | mips64vr5900el-* \
++      | mipsisa32-* | mipsisa32el-* \
++      | mipsisa32r2-* | mipsisa32r2el-* \
++      | mipsisa64-* | mipsisa64el-* \
++      | mipsisa64r2-* | mipsisa64r2el-* \
++      | mipsisa64sb1-* | mipsisa64sb1el-* \
++      | mipsisa64sr71k-* | mipsisa64sr71kel-* \
++      | mipstx39-* | mipstx39el-* \
++      | mmix-* \
++      | mt-* \
++      | msp430-* \
++      | nios-* | nios2-* \
++      | none-* | np1-* | ns16k-* | ns32k-* \
++      | orion-* \
++      | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
++      | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
++      | pyramid-* \
++      | romp-* | rs6000-* \
++      | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
++      | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
++      | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
++      | sparclite-* \
++      | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
++      | tahoe-* | thumb-* \
++      | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
++      | tron-* \
++      | v850-* | v850e-* | vax-* \
++      | we32k-* \
++      | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
++      | xstormy16-* | xtensa*-* \
++      | ymp-* \
++      | z8k-*)
++              ;;
++      # Recognize the basic CPU types without company name, with glob match.
++      xtensa*)
++              basic_machine=$basic_machine-unknown
++              ;;
++      # Recognize the various machine names and aliases which stand
++      # for a CPU type and a company and sometimes even an OS.
++      386bsd)
++              basic_machine=i386-unknown
++              os=-bsd
++              ;;
++      3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
++              basic_machine=m68000-att
++              ;;
++      3b*)
++              basic_machine=we32k-att
++              ;;
++      a29khif)
++              basic_machine=a29k-amd
++              os=-udi
++              ;;
++      abacus)
++              basic_machine=abacus-unknown
++              ;;
++      adobe68k)
++              basic_machine=m68010-adobe
++              os=-scout
++              ;;
++      alliant | fx80)
++              basic_machine=fx80-alliant
++              ;;
++      altos | altos3068)
++              basic_machine=m68k-altos
++              ;;
++      am29k)
++              basic_machine=a29k-none
++              os=-bsd
++              ;;
++      amd64)
++              basic_machine=x86_64-pc
++              ;;
++      amd64-*)
++              basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
++      amdahl)
++              basic_machine=580-amdahl
++              os=-sysv
++              ;;
++      amiga | amiga-*)
++              basic_machine=m68k-unknown
++              ;;
++      amigaos | amigados)
++              basic_machine=m68k-unknown
++              os=-amigaos
++              ;;
++      amigaunix | amix)
++              basic_machine=m68k-unknown
++              os=-sysv4
++              ;;
++      apollo68)
++              basic_machine=m68k-apollo
++              os=-sysv
++              ;;
++      apollo68bsd)
++              basic_machine=m68k-apollo
++              os=-bsd
++              ;;
++      aux)
++              basic_machine=m68k-apple
++              os=-aux
++              ;;
++      balance)
++              basic_machine=ns32k-sequent
++              os=-dynix
++              ;;
++      blackfin)
++              basic_machine=bfin-unknown
++              os=-linux
++              ;;
++      blackfin-*)
++              basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
++              os=-linux
++              ;;
++      c90)
++              basic_machine=c90-cray
++              os=-unicos
++              ;;
++      convex-c1)
++              basic_machine=c1-convex
++              os=-bsd
++              ;;
++      convex-c2)
++              basic_machine=c2-convex
++              os=-bsd
++              ;;
++      convex-c32)
++              basic_machine=c32-convex
++              os=-bsd
++              ;;
++      convex-c34)
++              basic_machine=c34-convex
++              os=-bsd
++              ;;
++      convex-c38)
++              basic_machine=c38-convex
++              os=-bsd
++              ;;
++      cray | j90)
++              basic_machine=j90-cray
++              os=-unicos
++              ;;
++      craynv)
++              basic_machine=craynv-cray
++              os=-unicosmp
++              ;;
++      cr16)
++              basic_machine=cr16-unknown
++              os=-elf
++              ;;
++      crds | unos)
++              basic_machine=m68k-crds
++              ;;
++      crisv32 | crisv32-* | etraxfs*)
++              basic_machine=crisv32-axis
++              ;;
++      cris | cris-* | etrax*)
++              basic_machine=cris-axis
++              ;;
++      crx)
++              basic_machine=crx-unknown
++              os=-elf
++              ;;
++      da30 | da30-*)
++              basic_machine=m68k-da30
++              ;;
++      decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
++              basic_machine=mips-dec
++              ;;
++      decsystem10* | dec10*)
++              basic_machine=pdp10-dec
++              os=-tops10
++              ;;
++      decsystem20* | dec20*)
++              basic_machine=pdp10-dec
++              os=-tops20
++              ;;
++      delta | 3300 | motorola-3300 | motorola-delta \
++            | 3300-motorola | delta-motorola)
++              basic_machine=m68k-motorola
++              ;;
++      delta88)
++              basic_machine=m88k-motorola
++              os=-sysv3
++              ;;
++      djgpp)
++              basic_machine=i586-pc
++              os=-msdosdjgpp
++              ;;
++      dpx20 | dpx20-*)
++              basic_machine=rs6000-bull
++              os=-bosx
++              ;;
++      dpx2* | dpx2*-bull)
++              basic_machine=m68k-bull
++              os=-sysv3
++              ;;
++      ebmon29k)
++              basic_machine=a29k-amd
++              os=-ebmon
++              ;;
++      elxsi)
++              basic_machine=elxsi-elxsi
++              os=-bsd
++              ;;
++      encore | umax | mmax)
++              basic_machine=ns32k-encore
++              ;;
++      es1800 | OSE68k | ose68k | ose | OSE)
++              basic_machine=m68k-ericsson
++              os=-ose
++              ;;
++      fx2800)
++              basic_machine=i860-alliant
++              ;;
++      genix)
++              basic_machine=ns32k-ns
++              ;;
++      gmicro)
++              basic_machine=tron-gmicro
++              os=-sysv
++              ;;
++      go32)
++              basic_machine=i386-pc
++              os=-go32
++              ;;
++      h3050r* | hiux*)
++              basic_machine=hppa1.1-hitachi
++              os=-hiuxwe2
++              ;;
++      h8300hms)
++              basic_machine=h8300-hitachi
++              os=-hms
++              ;;
++      h8300xray)
++              basic_machine=h8300-hitachi
++              os=-xray
++              ;;
++      h8500hms)
++              basic_machine=h8500-hitachi
++              os=-hms
++              ;;
++      harris)
++              basic_machine=m88k-harris
++              os=-sysv3
++              ;;
++      hp300-*)
++              basic_machine=m68k-hp
++              ;;
++      hp300bsd)
++              basic_machine=m68k-hp
++              os=-bsd
++              ;;
++      hp300hpux)
++              basic_machine=m68k-hp
++              os=-hpux
++              ;;
++      hp3k9[0-9][0-9] | hp9[0-9][0-9])
++              basic_machine=hppa1.0-hp
++              ;;
++      hp9k2[0-9][0-9] | hp9k31[0-9])
++              basic_machine=m68000-hp
++              ;;
++      hp9k3[2-9][0-9])
++              basic_machine=m68k-hp
++              ;;
++      hp9k6[0-9][0-9] | hp6[0-9][0-9])
++              basic_machine=hppa1.0-hp
++              ;;
++      hp9k7[0-79][0-9] | hp7[0-79][0-9])
++              basic_machine=hppa1.1-hp
++              ;;
++      hp9k78[0-9] | hp78[0-9])
++              # FIXME: really hppa2.0-hp
++              basic_machine=hppa1.1-hp
++              ;;
++      hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
++              # FIXME: really hppa2.0-hp
++              basic_machine=hppa1.1-hp
++              ;;
++      hp9k8[0-9][13679] | hp8[0-9][13679])
++              basic_machine=hppa1.1-hp
++              ;;
++      hp9k8[0-9][0-9] | hp8[0-9][0-9])
++              basic_machine=hppa1.0-hp
++              ;;
++      hppa-next)
++              os=-nextstep3
++              ;;
++      hppaosf)
++              basic_machine=hppa1.1-hp
++              os=-osf
++              ;;
++      hppro)
++              basic_machine=hppa1.1-hp
++              os=-proelf
++              ;;
++      i370-ibm* | ibm*)
++              basic_machine=i370-ibm
++              ;;
++# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
++      i*86v32)
++              basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
++              os=-sysv32
++              ;;
++      i*86v4*)
++              basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
++              os=-sysv4
++              ;;
++      i*86v)
++              basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
++              os=-sysv
++              ;;
++      i*86sol2)
++              basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
++              os=-solaris2
++              ;;
++      i386mach)
++              basic_machine=i386-mach
++              os=-mach
++              ;;
++      i386-vsta | vsta)
++              basic_machine=i386-unknown
++              os=-vsta
++              ;;
++      iris | iris4d)
++              basic_machine=mips-sgi
++              case $os in
++                  -irix*)
++                      ;;
++                  *)
++                      os=-irix4
++                      ;;
++              esac
++              ;;
++      isi68 | isi)
++              basic_machine=m68k-isi
++              os=-sysv
++              ;;
++      m68knommu)
++              basic_machine=m68k-unknown
++              os=-linux
++              ;;
++      m68knommu-*)
++              basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
++              os=-linux
++              ;;
++      m88k-omron*)
++              basic_machine=m88k-omron
++              ;;
++      magnum | m3230)
++              basic_machine=mips-mips
++              os=-sysv
++              ;;
++      merlin)
++              basic_machine=ns32k-utek
++              os=-sysv
++              ;;
++      mingw32)
++              basic_machine=i386-pc
++              os=-mingw32
++              ;;
++      mingw32ce)
++              basic_machine=arm-unknown
++              os=-mingw32ce
++              ;;
++      miniframe)
++              basic_machine=m68000-convergent
++              ;;
++      *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
++              basic_machine=m68k-atari
++              os=-mint
++              ;;
++      mips3*-*)
++              basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
++              ;;
++      mips3*)
++              basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
++              ;;
++      monitor)
++              basic_machine=m68k-rom68k
++              os=-coff
++              ;;
++      morphos)
++              basic_machine=powerpc-unknown
++              os=-morphos
++              ;;
++      msdos)
++              basic_machine=i386-pc
++              os=-msdos
++              ;;
++      ms1-*)
++              basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
++              ;;
++      mvs)
++              basic_machine=i370-ibm
++              os=-mvs
++              ;;
++      ncr3000)
++              basic_machine=i486-ncr
++              os=-sysv4
++              ;;
++      netbsd386)
++              basic_machine=i386-unknown
++              os=-netbsd
++              ;;
++      netwinder)
++              basic_machine=armv4l-rebel
++              os=-linux
++              ;;
++      news | news700 | news800 | news900)
++              basic_machine=m68k-sony
++              os=-newsos
++              ;;
++      news1000)
++              basic_machine=m68030-sony
++              os=-newsos
++              ;;
++      news-3600 | risc-news)
++              basic_machine=mips-sony
++              os=-newsos
++              ;;
++      necv70)
++              basic_machine=v70-nec
++              os=-sysv
++              ;;
++      next | m*-next )
++              basic_machine=m68k-next
++              case $os in
++                  -nextstep* )
++                      ;;
++                  -ns2*)
++                    os=-nextstep2
++                      ;;
++                  *)
++                    os=-nextstep3
++                      ;;
++              esac
++              ;;
++      nh3000)
++              basic_machine=m68k-harris
++              os=-cxux
++              ;;
++      nh[45]000)
++              basic_machine=m88k-harris
++              os=-cxux
++              ;;
++      nindy960)
++              basic_machine=i960-intel
++              os=-nindy
++              ;;
++      mon960)
++              basic_machine=i960-intel
++              os=-mon960
++              ;;
++      nonstopux)
++              basic_machine=mips-compaq
++              os=-nonstopux
++              ;;
++      np1)
++              basic_machine=np1-gould
++              ;;
++      nsr-tandem)
++              basic_machine=nsr-tandem
++              ;;
++      op50n-* | op60c-*)
++              basic_machine=hppa1.1-oki
++              os=-proelf
++              ;;
++      openrisc | openrisc-*)
++              basic_machine=or32-unknown
++              ;;
++      os400)
++              basic_machine=powerpc-ibm
++              os=-os400
++              ;;
++      OSE68000 | ose68000)
++              basic_machine=m68000-ericsson
++              os=-ose
++              ;;
++      os68k)
++              basic_machine=m68k-none
++              os=-os68k
++              ;;
++      pa-hitachi)
++              basic_machine=hppa1.1-hitachi
++              os=-hiuxwe2
++              ;;
++      paragon)
++              basic_machine=i860-intel
++              os=-osf
++              ;;
++      parisc)
++              basic_machine=hppa-unknown
++              os=-linux
++              ;;
++      parisc-*)
++              basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
++              os=-linux
++              ;;
++      pbd)
++              basic_machine=sparc-tti
++              ;;
++      pbb)
++              basic_machine=m68k-tti
++              ;;
++      pc532 | pc532-*)
++              basic_machine=ns32k-pc532
++              ;;
++      pc98)
++              basic_machine=i386-pc
++              ;;
++      pc98-*)
++              basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
++      pentium | p5 | k5 | k6 | nexgen | viac3)
++              basic_machine=i586-pc
++              ;;
++      pentiumpro | p6 | 6x86 | athlon | athlon_*)
++              basic_machine=i686-pc
++              ;;
++      pentiumii | pentium2 | pentiumiii | pentium3)
++              basic_machine=i686-pc
++              ;;
++      pentium4)
++              basic_machine=i786-pc
++              ;;
++      pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
++              basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
++      pentiumpro-* | p6-* | 6x86-* | athlon-*)
++              basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
++      pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
++              basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
++      pentium4-*)
++              basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
++      pn)
++              basic_machine=pn-gould
++              ;;
++      power)  basic_machine=power-ibm
++              ;;
++      ppc)    basic_machine=powerpc-unknown
++              ;;
++      ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
++      ppcle | powerpclittle | ppc-le | powerpc-little)
++              basic_machine=powerpcle-unknown
++              ;;
++      ppcle-* | powerpclittle-*)
++              basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
++      ppc64)  basic_machine=powerpc64-unknown
++              ;;
++      ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
++      ppc64le | powerpc64little | ppc64-le | powerpc64-little)
++              basic_machine=powerpc64le-unknown
++              ;;
++      ppc64le-* | powerpc64little-*)
++              basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
++      ps2)
++              basic_machine=i386-ibm
++              ;;
++      pw32)
++              basic_machine=i586-unknown
++              os=-pw32
++              ;;
++      rdos)
++              basic_machine=i386-pc
++              os=-rdos
++              ;;
++      rom68k)
++              basic_machine=m68k-rom68k
++              os=-coff
++              ;;
++      rm[46]00)
++              basic_machine=mips-siemens
++              ;;
++      rtpc | rtpc-*)
++              basic_machine=romp-ibm
++              ;;
++      s390 | s390-*)
++              basic_machine=s390-ibm
++              ;;
++      s390x | s390x-*)
++              basic_machine=s390x-ibm
++              ;;
++      sa29200)
++              basic_machine=a29k-amd
++              os=-udi
++              ;;
++      sb1)
++              basic_machine=mipsisa64sb1-unknown
++              ;;
++      sb1el)
++              basic_machine=mipsisa64sb1el-unknown
++              ;;
++      sde)
++              basic_machine=mipsisa32-sde
++              os=-elf
++              ;;
++      sei)
++              basic_machine=mips-sei
++              os=-seiux
++              ;;
++      sequent)
++              basic_machine=i386-sequent
++              ;;
++      sh)
++              basic_machine=sh-hitachi
++              os=-hms
++              ;;
++      sh5el)
++              basic_machine=sh5le-unknown
++              ;;
++      sh64)
++              basic_machine=sh64-unknown
++              ;;
++      sparclite-wrs | simso-wrs)
++              basic_machine=sparclite-wrs
++              os=-vxworks
++              ;;
++      sps7)
++              basic_machine=m68k-bull
++              os=-sysv2
++              ;;
++      spur)
++              basic_machine=spur-unknown
++              ;;
++      st2000)
++              basic_machine=m68k-tandem
++              ;;
++      stratus)
++              basic_machine=i860-stratus
++              os=-sysv4
++              ;;
++      sun2)
++              basic_machine=m68000-sun
++              ;;
++      sun2os3)
++              basic_machine=m68000-sun
++              os=-sunos3
++              ;;
++      sun2os4)
++              basic_machine=m68000-sun
++              os=-sunos4
++              ;;
++      sun3os3)
++              basic_machine=m68k-sun
++              os=-sunos3
++              ;;
++      sun3os4)
++              basic_machine=m68k-sun
++              os=-sunos4
++              ;;
++      sun4os3)
++              basic_machine=sparc-sun
++              os=-sunos3
++              ;;
++      sun4os4)
++              basic_machine=sparc-sun
++              os=-sunos4
++              ;;
++      sun4sol2)
++              basic_machine=sparc-sun
++              os=-solaris2
++              ;;
++      sun3 | sun3-*)
++              basic_machine=m68k-sun
++              ;;
++      sun4)
++              basic_machine=sparc-sun
++              ;;
++      sun386 | sun386i | roadrunner)
++              basic_machine=i386-sun
++              ;;
++      sv1)
++              basic_machine=sv1-cray
++              os=-unicos
++              ;;
++      symmetry)
++              basic_machine=i386-sequent
++              os=-dynix
++              ;;
++      t3e)
++              basic_machine=alphaev5-cray
++              os=-unicos
++              ;;
++      t90)
++              basic_machine=t90-cray
++              os=-unicos
++              ;;
++      tic54x | c54x*)
++              basic_machine=tic54x-unknown
++              os=-coff
++              ;;
++      tic55x | c55x*)
++              basic_machine=tic55x-unknown
++              os=-coff
++              ;;
++      tic6x | c6x*)
++              basic_machine=tic6x-unknown
++              os=-coff
++              ;;
++      tile*)
++              basic_machine=tile-unknown
++              os=-linux-gnu
++              ;;
++      tx39)
++              basic_machine=mipstx39-unknown
++              ;;
++      tx39el)
++              basic_machine=mipstx39el-unknown
++              ;;
++      toad1)
++              basic_machine=pdp10-xkl
++              os=-tops20
++              ;;
++      tower | tower-32)
++              basic_machine=m68k-ncr
++              ;;
++      tpf)
++              basic_machine=s390x-ibm
++              os=-tpf
++              ;;
++      udi29k)
++              basic_machine=a29k-amd
++              os=-udi
++              ;;
++      ultra3)
++              basic_machine=a29k-nyu
++              os=-sym1
++              ;;
++      v810 | necv810)
++              basic_machine=v810-nec
++              os=-none
++              ;;
++      vaxv)
++              basic_machine=vax-dec
++              os=-sysv
++              ;;
++      vms)
++              basic_machine=vax-dec
++              os=-vms
++              ;;
++      vpp*|vx|vx-*)
++              basic_machine=f301-fujitsu
++              ;;
++      vxworks960)
++              basic_machine=i960-wrs
++              os=-vxworks
++              ;;
++      vxworks68)
++              basic_machine=m68k-wrs
++              os=-vxworks
++              ;;
++      vxworks29k)
++              basic_machine=a29k-wrs
++              os=-vxworks
++              ;;
++      w65*)
++              basic_machine=w65-wdc
++              os=-none
++              ;;
++      w89k-*)
++              basic_machine=hppa1.1-winbond
++              os=-proelf
++              ;;
++      xbox)
++              basic_machine=i686-pc
++              os=-mingw32
++              ;;
++      xps | xps100)
++              basic_machine=xps100-honeywell
++              ;;
++      ymp)
++              basic_machine=ymp-cray
++              os=-unicos
++              ;;
++      z8k-*-coff)
++              basic_machine=z8k-unknown
++              os=-sim
++              ;;
++      none)
++              basic_machine=none-none
++              os=-none
++              ;;
++
++# Here we handle the default manufacturer of certain CPU types.  It is in
++# some cases the only manufacturer, in others, it is the most popular.
++      w89k)
++              basic_machine=hppa1.1-winbond
++              ;;
++      op50n)
++              basic_machine=hppa1.1-oki
++              ;;
++      op60c)
++              basic_machine=hppa1.1-oki
++              ;;
++      romp)
++              basic_machine=romp-ibm
++              ;;
++      mmix)
++              basic_machine=mmix-knuth
++              ;;
++      rs6000)
++              basic_machine=rs6000-ibm
++              ;;
++      vax)
++              basic_machine=vax-dec
++              ;;
++      pdp10)
++              # there are many clones, so DEC is not a safe bet
++              basic_machine=pdp10-unknown
++              ;;
++      pdp11)
++              basic_machine=pdp11-dec
++              ;;
++      we32k)
++              basic_machine=we32k-att
++              ;;
++      sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
++              basic_machine=sh-unknown
++              ;;
++      sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
++              basic_machine=sparc-sun
++              ;;
++      cydra)
++              basic_machine=cydra-cydrome
++              ;;
++      orion)
++              basic_machine=orion-highlevel
++              ;;
++      orion105)
++              basic_machine=clipper-highlevel
++              ;;
++      mac | mpw | mac-mpw)
++              basic_machine=m68k-apple
++              ;;
++      pmac | pmac-mpw)
++              basic_machine=powerpc-apple
++              ;;
++      *-unknown)
++              # Make sure to match an already-canonicalized machine name.
++              ;;
++      *)
++              echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
++              exit 1
++              ;;
++esac
++
++# Here we canonicalize certain aliases for manufacturers.
++case $basic_machine in
++      *-digital*)
++              basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
++              ;;
++      *-commodore*)
++              basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
++              ;;
++      *)
++              ;;
++esac
++
++# Decode manufacturer-specific aliases for certain operating systems.
++
++if [ x"$os" != x"" ]
++then
++case $os in
++        # First match some system type aliases
++        # that might get confused with valid system types.
++      # -solaris* is a basic system type, with this one exception.
++      -solaris1 | -solaris1.*)
++              os=`echo $os | sed -e 's|solaris1|sunos4|'`
++              ;;
++      -solaris)
++              os=-solaris2
++              ;;
++      -svr4*)
++              os=-sysv4
++              ;;
++      -unixware*)
++              os=-sysv4.2uw
++              ;;
++      -gnu/linux*)
++              os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
++              ;;
++      # First accept the basic system types.
++      # The portable systems comes first.
++      # Each alternative MUST END IN A *, to match a version number.
++      # -sysv* is not here because it comes later, after sysvr4.
++      -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
++            | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
++            | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
++            | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
++            | -aos* \
++            | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
++            | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
++            | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
++            | -openbsd* | -solidbsd* \
++            | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
++            | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
++            | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
++            | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
++            | -chorusos* | -chorusrdb* \
++            | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
++            | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
++            | -uxpv* | -beos* | -mpeix* | -udk* \
++            | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
++            | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
++            | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
++            | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
++            | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
++            | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
++            | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
++      # Remember, each alternative MUST END IN *, to match a version number.
++              ;;
++      -qnx*)
++              case $basic_machine in
++                  x86-* | i*86-*)
++                      ;;
++                  *)
++                      os=-nto$os
++                      ;;
++              esac
++              ;;
++      -nto-qnx*)
++              ;;
++      -nto*)
++              os=`echo $os | sed -e 's|nto|nto-qnx|'`
++              ;;
++      -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
++            | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
++            | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
++              ;;
++      -mac*)
++              os=`echo $os | sed -e 's|mac|macos|'`
++              ;;
++      -linux-dietlibc)
++              os=-linux-dietlibc
++              ;;
++      -linux*)
++              os=`echo $os | sed -e 's|linux|linux-gnu|'`
++              ;;
++      -sunos5*)
++              os=`echo $os | sed -e 's|sunos5|solaris2|'`
++              ;;
++      -sunos6*)
++              os=`echo $os | sed -e 's|sunos6|solaris3|'`
++              ;;
++      -opened*)
++              os=-openedition
++              ;;
++        -os400*)
++              os=-os400
++              ;;
++      -wince*)
++              os=-wince
++              ;;
++      -osfrose*)
++              os=-osfrose
++              ;;
++      -osf*)
++              os=-osf
++              ;;
++      -utek*)
++              os=-bsd
++              ;;
++      -dynix*)
++              os=-bsd
++              ;;
++      -acis*)
++              os=-aos
++              ;;
++      -atheos*)
++              os=-atheos
++              ;;
++      -syllable*)
++              os=-syllable
++              ;;
++      -386bsd)
++              os=-bsd
++              ;;
++      -ctix* | -uts*)
++              os=-sysv
++              ;;
++      -nova*)
++              os=-rtmk-nova
++              ;;
++      -ns2 )
++              os=-nextstep2
++              ;;
++      -nsk*)
++              os=-nsk
++              ;;
++      # Preserve the version number of sinix5.
++      -sinix5.*)
++              os=`echo $os | sed -e 's|sinix|sysv|'`
++              ;;
++      -sinix*)
++              os=-sysv4
++              ;;
++        -tpf*)
++              os=-tpf
++              ;;
++      -triton*)
++              os=-sysv3
++              ;;
++      -oss*)
++              os=-sysv3
++              ;;
++      -svr4)
++              os=-sysv4
++              ;;
++      -svr3)
++              os=-sysv3
++              ;;
++      -sysvr4)
++              os=-sysv4
++              ;;
++      # This must come after -sysvr4.
++      -sysv*)
++              ;;
++      -ose*)
++              os=-ose
++              ;;
++      -es1800*)
++              os=-ose
++              ;;
++      -xenix)
++              os=-xenix
++              ;;
++      -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
++              os=-mint
++              ;;
++      -aros*)
++              os=-aros
++              ;;
++      -kaos*)
++              os=-kaos
++              ;;
++      -zvmoe)
++              os=-zvmoe
++              ;;
++      -none)
++              ;;
++      *)
++              # Get rid of the `-' at the beginning of $os.
++              os=`echo $os | sed 's/[^-]*-//'`
++              echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
++              exit 1
++              ;;
++esac
++else
++
++# Here we handle the default operating systems that come with various machines.
++# The value should be what the vendor currently ships out the door with their
++# machine or put another way, the most popular os provided with the machine.
++
++# Note that if you're going to try to match "-MANUFACTURER" here (say,
++# "-sun"), then you have to tell the case statement up towards the top
++# that MANUFACTURER isn't an operating system.  Otherwise, code above
++# will signal an error saying that MANUFACTURER isn't an operating
++# system, and we'll never get to this point.
++
++case $basic_machine in
++        score-*)
++              os=-elf
++              ;;
++        spu-*)
++              os=-elf
++              ;;
++      *-acorn)
++              os=-riscix1.2
++              ;;
++      arm*-rebel)
++              os=-linux
++              ;;
++      arm*-semi)
++              os=-aout
++              ;;
++        c4x-* | tic4x-*)
++              os=-coff
++              ;;
++      # This must come before the *-dec entry.
++      pdp10-*)
++              os=-tops20
++              ;;
++      pdp11-*)
++              os=-none
++              ;;
++      *-dec | vax-*)
++              os=-ultrix4.2
++              ;;
++      m68*-apollo)
++              os=-domain
++              ;;
++      i386-sun)
++              os=-sunos4.0.2
++              ;;
++      m68000-sun)
++              os=-sunos3
++              # This also exists in the configure program, but was not the
++              # default.
++              # os=-sunos4
++              ;;
++      m68*-cisco)
++              os=-aout
++              ;;
++        mep-*)
++              os=-elf
++              ;;
++      mips*-cisco)
++              os=-elf
++              ;;
++      mips*-*)
++              os=-elf
++              ;;
++      or32-*)
++              os=-coff
++              ;;
++      *-tti)  # must be before sparc entry or we get the wrong os.
++              os=-sysv3
++              ;;
++      sparc-* | *-sun)
++              os=-sunos4.1.1
++              ;;
++      *-be)
++              os=-beos
++              ;;
++      *-haiku)
++              os=-haiku
++              ;;
++      *-ibm)
++              os=-aix
++              ;;
++      *-knuth)
++              os=-mmixware
++              ;;
++      *-wec)
++              os=-proelf
++              ;;
++      *-winbond)
++              os=-proelf
++              ;;
++      *-oki)
++              os=-proelf
++              ;;
++      *-hp)
++              os=-hpux
++              ;;
++      *-hitachi)
++              os=-hiux
++              ;;
++      i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
++              os=-sysv
++              ;;
++      *-cbm)
++              os=-amigaos
++              ;;
++      *-dg)
++              os=-dgux
++              ;;
++      *-dolphin)
++              os=-sysv3
++              ;;
++      m68k-ccur)
++              os=-rtu
++              ;;
++      m88k-omron*)
++              os=-luna
++              ;;
++      *-next )
++              os=-nextstep
++              ;;
++      *-sequent)
++              os=-ptx
++              ;;
++      *-crds)
++              os=-unos
++              ;;
++      *-ns)
++              os=-genix
++              ;;
++      i370-*)
++              os=-mvs
++              ;;
++      *-next)
++              os=-nextstep3
++              ;;
++      *-gould)
++              os=-sysv
++              ;;
++      *-highlevel)
++              os=-bsd
++              ;;
++      *-encore)
++              os=-bsd
++              ;;
++      *-sgi)
++              os=-irix
++              ;;
++      *-siemens)
++              os=-sysv4
++              ;;
++      *-masscomp)
++              os=-rtu
++              ;;
++      f30[01]-fujitsu | f700-fujitsu)
++              os=-uxpv
++              ;;
++      *-rom68k)
++              os=-coff
++              ;;
++      *-*bug)
++              os=-coff
++              ;;
++      *-apple)
++              os=-macos
++              ;;
++      *-atari*)
++              os=-mint
++              ;;
++      *)
++              os=-none
++              ;;
++esac
++fi
++
++# Here we handle the case where we know the os, and the CPU type, but not the
++# manufacturer.  We pick the logical manufacturer.
++vendor=unknown
++case $basic_machine in
++      *-unknown)
++              case $os in
++                      -riscix*)
++                              vendor=acorn
++                              ;;
++                      -sunos*)
++                              vendor=sun
++                              ;;
++                      -aix*)
++                              vendor=ibm
++                              ;;
++                      -beos*)
++                              vendor=be
++                              ;;
++                      -hpux*)
++                              vendor=hp
++                              ;;
++                      -mpeix*)
++                              vendor=hp
++                              ;;
++                      -hiux*)
++                              vendor=hitachi
++                              ;;
++                      -unos*)
++                              vendor=crds
++                              ;;
++                      -dgux*)
++                              vendor=dg
++                              ;;
++                      -luna*)
++                              vendor=omron
++                              ;;
++                      -genix*)
++                              vendor=ns
++                              ;;
++                      -mvs* | -opened*)
++                              vendor=ibm
++                              ;;
++                      -os400*)
++                              vendor=ibm
++                              ;;
++                      -ptx*)
++                              vendor=sequent
++                              ;;
++                      -tpf*)
++                              vendor=ibm
++                              ;;
++                      -vxsim* | -vxworks* | -windiss*)
++                              vendor=wrs
++                              ;;
++                      -aux*)
++                              vendor=apple
++                              ;;
++                      -hms*)
++                              vendor=hitachi
++                              ;;
++                      -mpw* | -macos*)
++                              vendor=apple
++                              ;;
++                      -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
++                              vendor=atari
++                              ;;
++                      -vos*)
++                              vendor=stratus
++                              ;;
++              esac
++              basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
++              ;;
++esac
++
++echo $basic_machine$os
++exit
++
++# Local variables:
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "timestamp='"
++# time-stamp-format: "%:y-%02m-%02d"
++# time-stamp-end: "'"
++# End:
+--- ghostscript-8.71/install-sh        1970-01-01 01:00:00.000000000 +0100
++++ ghostscript-8.71/install-sh        2010-02-26 16:33:59.000000000 +0100
+@@ -0,0 +1,519 @@
++#!/bin/sh
++# install - install a program, script, or datafile
++
++scriptversion=2006-12-25.00
++
++# This originates from X11R5 (mit/util/scripts/install.sh), which was
++# later released in X11R6 (xc/config/util/install.sh) with the
++# following copyright and license.
++#
++# Copyright (C) 1994 X Consortium
++#
++# Permission is hereby granted, free of charge, to any person obtaining a copy
++# of this software and associated documentation files (the "Software"), to
++# deal in the Software without restriction, including without limitation the
++# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
++# sell copies of the Software, and to permit persons to whom the Software is
++# furnished to do so, subject to the following conditions:
++#
++# The above copyright notice and this permission notice shall be included in
++# all copies or substantial portions of the Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
++# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
++# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
++# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++#
++# Except as contained in this notice, the name of the X Consortium shall not
++# be used in advertising or otherwise to promote the sale, use or other deal-
++# ings in this Software without prior written authorization from the X Consor-
++# tium.
++#
++#
++# FSF changes to this file are in the public domain.
++#
++# Calling this script install-sh is preferred over install.sh, to prevent
++# `make' implicit rules from creating a file called install from it
++# when there is no Makefile.
++#
++# This script is compatible with the BSD install script, but was written
++# from scratch.
++
++nl='
++'
++IFS=" ""      $nl"
++
++# set DOITPROG to echo to test this script
++
++# Don't use :- since 4.3BSD and earlier shells don't like it.
++doit=${DOITPROG-}
++if test -z "$doit"; then
++  doit_exec=exec
++else
++  doit_exec=$doit
++fi
++
++# Put in absolute file names if you don't have them in your path;
++# or use environment vars.
++
++chgrpprog=${CHGRPPROG-chgrp}
++chmodprog=${CHMODPROG-chmod}
++chownprog=${CHOWNPROG-chown}
++cmpprog=${CMPPROG-cmp}
++cpprog=${CPPROG-cp}
++mkdirprog=${MKDIRPROG-mkdir}
++mvprog=${MVPROG-mv}
++rmprog=${RMPROG-rm}
++stripprog=${STRIPPROG-strip}
++
++posix_glob='?'
++initialize_posix_glob='
++  test "$posix_glob" != "?" || {
++    if (set -f) 2>/dev/null; then
++      posix_glob=
++    else
++      posix_glob=:
++    fi
++  }
++'
++
++posix_mkdir=
++
++# Desired mode of installed file.
++mode=0755
++
++chgrpcmd=
++chmodcmd=$chmodprog
++chowncmd=
++mvcmd=$mvprog
++rmcmd="$rmprog -f"
++stripcmd=
++
++src=
++dst=
++dir_arg=
++dst_arg=
++
++copy_on_change=false
++no_target_directory=
++
++usage="\
++Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
++   or: $0 [OPTION]... SRCFILES... DIRECTORY
++   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
++   or: $0 [OPTION]... -d DIRECTORIES...
++
++In the 1st form, copy SRCFILE to DSTFILE.
++In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
++In the 4th, create DIRECTORIES.
++
++Options:
++     --help     display this help and exit.
++     --version  display version info and exit.
++
++  -c            (ignored)
++  -C            install only if different (preserve the last data modification time)
++  -d            create directories instead of installing files.
++  -g GROUP      $chgrpprog installed files to GROUP.
++  -m MODE       $chmodprog installed files to MODE.
++  -o USER       $chownprog installed files to USER.
++  -s            $stripprog installed files.
++  -t DIRECTORY  install into DIRECTORY.
++  -T            report an error if DSTFILE is a directory.
++
++Environment variables override the default commands:
++  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
++  RMPROG STRIPPROG
++"
++
++while test $# -ne 0; do
++  case $1 in
++    -c) ;;
++
++    -C) copy_on_change=true;;
++
++    -d) dir_arg=true;;
++
++    -g) chgrpcmd="$chgrpprog $2"
++      shift;;
++
++    --help) echo "$usage"; exit $?;;
++
++    -m) mode=$2
++      case $mode in
++        *' '* | *'    '* | *'
++'*      | *'*'* | *'?'* | *'['*)
++          echo "$0: invalid mode: $mode" >&2
++          exit 1;;
++      esac
++      shift;;
++
++    -o) chowncmd="$chownprog $2"
++      shift;;
++
++    -s) stripcmd=$stripprog;;
++
++    -t) dst_arg=$2
++      shift;;
++
++    -T) no_target_directory=true;;
++
++    --version) echo "$0 $scriptversion"; exit $?;;
++
++    --)       shift
++      break;;
++
++    -*)       echo "$0: invalid option: $1" >&2
++      exit 1;;
++
++    *)  break;;
++  esac
++  shift
++done
++
++if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
++  # When -d is used, all remaining arguments are directories to create.
++  # When -t is used, the destination is already specified.
++  # Otherwise, the last argument is the destination.  Remove it from $  
++  for arg
++  do
++    if test -n "$dst_arg"; then
++      # $@ is not empty: it contains at least $arg.
++      set fnord "$@" "$dst_arg"
++      shift # fnord
++    fi
++    shift # arg
++    dst_arg=$arg
++  done
++fi
++
++if test $# -eq 0; then
++  if test -z "$dir_arg"; then
++    echo "$0: no input file specified." >&2
++    exit 1
++  fi
++  # It's OK to call `install-sh -d' without argument.
++  # This can happen when creating conditional directories.
++  exit 0
++fi
++
++if test -z "$dir_arg"; then
++  trap '(exit $?); exit' 1 2 13 15
++
++  # Set umask so as not to create temps with too-generous modes.
++  # However, 'strip' requires both read and write access to temps.
++  case $mode in
++    # Optimize common cases.
++    *644) cp_umask=133;;
++    *755) cp_umask=22;;
++
++    *[0-7])
++      if test -z "$stripcmd"; then
++      u_plus_rw=
++      else
++      u_plus_rw='% 200'
++      fi
++      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
++    *)
++      if test -z "$stripcmd"; then
++      u_plus_rw=
++      else
++      u_plus_rw=,u+rw
++      fi
++      cp_umask=$mode$u_plus_rw;;
++  esac
++fi
++
++for src
++do
++  # Protect names starting with `-'.
++  case $src in
++    -*) src=./$src;;
++  esac
++
++  if test -n "$dir_arg"; then
++    dst=$src
++    dstdir=$dst
++    test -d "$dstdir"
++    dstdir_status=$?
++  else
++
++    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
++    # might cause directories to be created, which would be especially bad
++    # if $src (and thus $dsttmp) contains '*'.
++    if test ! -f "$src" && test ! -d "$src"; then
++      echo "$0: $src does not exist." >&2
++      exit 1
++    fi
++
++    if test -z "$dst_arg"; then
++      echo "$0: no destination specified." >&2
++      exit 1
++    fi
++
++    dst=$dst_arg
++    # Protect names starting with `-'.
++    case $dst in
++      -*) dst=./$dst;;
++    esac
++
++    # If destination is a directory, append the input filename; won't work
++    # if double slashes aren't ignored.
++    if test -d "$dst"; then
++      if test -n "$no_target_directory"; then
++      echo "$0: $dst_arg: Is a directory" >&2
++      exit 1
++      fi
++      dstdir=$dst
++      dst=$dstdir/`basename "$src"`
++      dstdir_status=0
++    else
++      # Prefer dirname, but fall back on a substitute if dirname fails.
++      dstdir=`
++      (dirname "$dst") 2>/dev/null ||
++      expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++           X"$dst" : 'X\(//\)[^/]' \| \
++           X"$dst" : 'X\(//\)$' \| \
++           X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
++      echo X"$dst" |
++          sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++                 s//\1/
++                 q
++               }
++               /^X\(\/\/\)[^/].*/{
++                 s//\1/
++                 q
++               }
++               /^X\(\/\/\)$/{
++                 s//\1/
++                 q
++               }
++               /^X\(\/\).*/{
++                 s//\1/
++                 q
++               }
++               s/.*/./; q'
++      `
++
++      test -d "$dstdir"
++      dstdir_status=$?
++    fi
++  fi
++
++  obsolete_mkdir_used=false
++
++  if test $dstdir_status != 0; then
++    case $posix_mkdir in
++      '')
++      # Create intermediate dirs using mode 755 as modified by the umask.
++      # This is like FreeBSD 'install' as of 1997-10-28.
++      umask=`umask`
++      case $stripcmd.$umask in
++        # Optimize common cases.
++        *[2367][2367]) mkdir_umask=$umask;;
++        .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
++
++        *[0-7])
++          mkdir_umask=`expr $umask + 22 \
++            - $umask % 100 % 40 + $umask % 20 \
++            - $umask % 10 % 4 + $umask % 2
++          `;;
++        *) mkdir_umask=$umask,go-w;;
++      esac
++
++      # With -d, create the new directory with the user-specified mode.
++      # Otherwise, rely on $mkdir_umask.
++      if test -n "$dir_arg"; then
++        mkdir_mode=-m$mode
++      else
++        mkdir_mode=
++      fi
++
++      posix_mkdir=false
++      case $umask in
++        *[123567][0-7][0-7])
++          # POSIX mkdir -p sets u+wx bits regardless of umask, which
++          # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
++          ;;
++        *)
++          tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
++          trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
++
++          if (umask $mkdir_umask &&
++              exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
++          then
++            if test -z "$dir_arg" || {
++                 # Check for POSIX incompatibilities with -m.
++                 # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
++                 # other-writeable bit of parent directory when it shouldn't.
++                 # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
++                 ls_ld_tmpdir=`ls -ld "$tmpdir"`
++                 case $ls_ld_tmpdir in
++                   d????-?r-*) different_mode=700;;
++                   d????-?--*) different_mode=755;;
++                   *) false;;
++                 esac &&
++                 $mkdirprog -m$different_mode -p -- "$tmpdir" && {
++                   ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
++                   test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
++                 }
++               }
++            then posix_mkdir=:
++            fi
++            rmdir "$tmpdir/d" "$tmpdir"
++          else
++            # Remove any dirs left behind by ancient mkdir implementations.
++            rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
++          fi
++          trap '' 0;;
++      esac;;
++    esac
++
++    if
++      $posix_mkdir && (
++      umask $mkdir_umask &&
++      $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
++      )
++    then :
++    else
++
++      # The umask is ridiculous, or mkdir does not conform to POSIX,
++      # or it failed possibly due to a race condition.  Create the
++      # directory the slow way, step by step, checking for races as we go.
++
++      case $dstdir in
++      /*) prefix='/';;
++      -*) prefix='./';;
++      *)  prefix='';;
++      esac
++
++      eval "$initialize_posix_glob"
++
++      oIFS=$IFS
++      IFS=/
++      $posix_glob set -f
++      set fnord $dstdir
++      shift
++      $posix_glob set +f
++      IFS=$oIFS
++
++      prefixes=
++
++      for d
++      do
++      test -z "$d" && continue
++
++      prefix=$prefix$d
++      if test -d "$prefix"; then
++        prefixes=
++      else
++        if $posix_mkdir; then
++          (umask=$mkdir_umask &&
++           $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
++          # Don't fail if two instances are running concurrently.
++          test -d "$prefix" || exit 1
++        else
++          case $prefix in
++            *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
++            *) qprefix=$prefix;;
++          esac
++          prefixes="$prefixes '$qprefix'"
++        fi
++      fi
++      prefix=$prefix/
++      done
++
++      if test -n "$prefixes"; then
++      # Don't fail if two instances are running concurrently.
++      (umask $mkdir_umask &&
++       eval "\$doit_exec \$mkdirprog $prefixes") ||
++        test -d "$dstdir" || exit 1
++      obsolete_mkdir_used=true
++      fi
++    fi
++  fi
++
++  if test -n "$dir_arg"; then
++    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
++    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
++    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
++      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
++  else
++
++    # Make a couple of temp file names in the proper directory.
++    dsttmp=$dstdir/_inst.$$_
++    rmtmp=$dstdir/_rm.$$_
++
++    # Trap to clean up those temp files at exit.
++    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
++
++    # Copy the file name to the temp name.
++    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
++
++    # and set any options; do chmod last to preserve setuid bits.
++    #
++    # If any of these fail, we abort the whole thing.  If we want to
++    # ignore errors from any of these, just make sure not to ignore
++    # errors from the above "$doit $cpprog $src $dsttmp" command.
++    #
++    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
++    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
++    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
++    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
++
++    # If -C, don't bother to copy if it wouldn't change the file.
++    if $copy_on_change &&
++       old=`LC_ALL=C ls -dlL "$dst"   2>/dev/null` &&
++       new=`LC_ALL=C ls -dlL "$dsttmp"        2>/dev/null` &&
++
++       eval "$initialize_posix_glob" &&
++       $posix_glob set -f &&
++       set X $old && old=:$2:$4:$5:$6 &&
++       set X $new && new=:$2:$4:$5:$6 &&
++       $posix_glob set +f &&
++
++       test "$old" = "$new" &&
++       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
++    then
++      rm -f "$dsttmp"
++    else
++      # Rename the file to the real destination.
++      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
++
++      # The rename failed, perhaps because mv can't rename something else
++      # to itself, or perhaps because mv is so ancient that it does not
++      # support -f.
++      {
++      # Now remove or move aside any old file at destination location.
++      # We try this two ways since rm can't unlink itself on some
++      # systems and the destination file might be busy for other
++      # reasons.  In this case, the final cleanup might fail but the new
++      # file should still install successfully.
++      {
++        test ! -f "$dst" ||
++        $doit $rmcmd -f "$dst" 2>/dev/null ||
++        { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
++          { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
++        } ||
++        { echo "$0: cannot unlink or rename $dst" >&2
++          (exit 1); exit 1
++        }
++      } &&
++
++      # Now rename the file to the real destination.
++      $doit $mvcmd "$dsttmp" "$dst"
++      }
++    fi || exit 1
++
++    trap '' 0
++  fi
++done
++
++# Local variables:
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "scriptversion="
++# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-end: "$"
++# End:
+--- ghostscript-8.71/libgs.def 1970-01-01 01:00:00.000000000 +0100
++++ ghostscript-8.71/libgs.def 2010-02-26 16:33:59.000000000 +0100
+@@ -0,0 +1,16 @@
++EXPORTS
++gsapi_delete_instance
++gsapi_exit
++gsapi_init_with_args
++gsapi_new_instance
++gsapi_revision
++gsapi_run_file
++gsapi_run_string
++gsapi_run_string_begin
++gsapi_run_string_continue
++gsapi_run_string_end
++gsapi_run_string_with_length
++gsapi_set_display_callback
++gsapi_set_poll
++gsapi_set_stdio
++gsapi_set_visual_tracer
diff --git a/build/windows/jhbuild/patches/ghostscript-change-install-paths.patch 
b/build/windows/jhbuild/patches/ghostscript-change-install-paths.patch
new file mode 100644
index 0000000..5803f5e
--- /dev/null
+++ b/build/windows/jhbuild/patches/ghostscript-change-install-paths.patch
@@ -0,0 +1,24 @@
+--- a/base/unix-dll.mak        2013-01-26 13:47:45.112366000 -0500
++++ b/base/unix-dll.mak        2013-01-26 14:03:08.292073462 -0500
+@@ -127,13 +127,14 @@
+       -mkdir -p $(DESTDIR)$(bindir)
+       -mkdir -p $(DESTDIR)$(libdir)
+       -mkdir -p $(DESTDIR)$(gsincludedir)
+-      $(INSTALL_PROGRAM) $(GSSOC) $(DESTDIR)$(bindir)/$(GSSOC_XENAME)
+-      $(INSTALL_PROGRAM) $(GSSOX) $(DESTDIR)$(bindir)/$(GSSOX_XENAME)
+-      $(INSTALL_PROGRAM) $(BINDIR)/$(SOBINRELDIR)/$(GS_SONAME_MAJOR_MINOR) 
$(DESTDIR)$(libdir)/$(GS_SONAME_MAJOR_MINOR)
+-      $(RM_) $(DESTDIR)$(libdir)/$(GS_SONAME)
+-      ln -s $(GS_SONAME_MAJOR_MINOR) $(DESTDIR)$(libdir)/$(GS_SONAME)
+-      $(RM_) $(DESTDIR)$(libdir)/$(GS_SONAME_MAJOR)
+-      ln -s $(GS_SONAME_MAJOR_MINOR) $(DESTDIR)$(libdir)/$(GS_SONAME_MAJOR)
++      #$(INSTALL_PROGRAM) $(GSSOC) $(DESTDIR)$(bindir)/$(GSSOC_XENAME)
++      #$(INSTALL_PROGRAM) $(GSSOX) $(DESTDIR)$(bindir)/$(GSSOX_XENAME)
++      $(INSTALL_PROGRAM) $(BINDIR)/$(SOBINRELDIR)/$(GS_SONAME_MAJOR_MINOR) 
$(DESTDIR)$(bindir)/$(GS_SONAME_MAJOR_MINOR)
++      $(INSTALL_PROGRAM) $(BINDIR)/$(SOBINRELDIR)/$(GS_SONAME_BASE).dll.a 
$(DESTDIR)$(libdir)/$(GS_SONAME_BASE).dll.a
++      #$(RM_) $(DESTDIR)$(libdir)/$(GS_SONAME)
++      #ln -s $(GS_SONAME_MAJOR_MINOR) $(DESTDIR)$(libdir)/$(GS_SONAME)
++      #$(RM_) $(DESTDIR)$(libdir)/$(GS_SONAME_MAJOR)
++      #ln -s $(GS_SONAME_MAJOR_MINOR) $(DESTDIR)$(libdir)/$(GS_SONAME_MAJOR)
+       $(INSTALL_DATA) $(PSSRC)iapi.h $(DESTDIR)$(gsincludedir)iapi.h
+       $(INSTALL_DATA) $(PSSRC)ierrors.h $(DESTDIR)$(gsincludedir)ierrors.h
+       $(INSTALL_DATA) $(GLSRC)gdevdsp.h $(DESTDIR)$(gsincludedir)gdevdsp.h
diff --git a/build/windows/jhbuild/patches/gtk2-uuid.patch b/build/windows/jhbuild/patches/gtk2-uuid.patch
new file mode 100644
index 0000000..4e73be6
--- /dev/null
+++ b/build/windows/jhbuild/patches/gtk2-uuid.patch
@@ -0,0 +1,30 @@
+From be65810b445b429e5db935c8cf8cb1639dcd9356 Mon Sep 17 00:00:00 2001
+From: Hib Eris <hib hiberis nl>
+Date: Mon, 13 May 2013 15:45:18 +0200
+Subject: [PATCH] Define INITGUID only for mingw.org compiler
+
+Defining INITGUID causes a build failure with mingw-w64 > r5589.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=699673
+---
+ gdk/win32/gdkdnd-win32.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/gdk/win32/gdkdnd-win32.c b/gdk/win32/gdkdnd-win32.c
+index 35ab204..6b35059 100644
+--- a/gdk/win32/gdkdnd-win32.c
++++ b/gdk/win32/gdkdnd-win32.c
+@@ -68,7 +68,11 @@
+  *
+  */
+  
++/* The mingw.org compiler does not export GUIDS in it's import library. To work
++ * around that, define INITGUID to have the GUIDS declared. */
++#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR)
+ #define INITGUID
++#endif
+ 
+ #include "gdkdnd.h"
+ #include "gdkproperty.h"
+-- 
+1.8.1.2
\ No newline at end of file
diff --git a/build/windows/jhbuild/patches/icu-fix-library-names.patch 
b/build/windows/jhbuild/patches/icu-fix-library-names.patch
new file mode 100644
index 0000000..ecd9f6d
--- /dev/null
+++ b/build/windows/jhbuild/patches/icu-fix-library-names.patch
@@ -0,0 +1,21 @@
+--- a/source/config/mh-mingw   2012-12-28 16:52:21.141964000 -0500
++++ b/source/config/mh-mingw   2012-12-28 18:24:11.955818449 -0500
+@@ -66,16 +66,8 @@
+ LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
+ A = a
+ 
+-## An import library is needed for z/OS and MSVC
+-IMPORT_LIB_EXT = .lib
+-
+-LIBPREFIX=
+-
+-# Change the stubnames so that poorly working FAT disks and installation programs can work.
+-# This is also for backwards compatibility.
+-DATA_STUBNAME = dt
+-I18N_STUBNAME = in
+-LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)
++## import libraries are nice to have under mingw
++IMPORT_LIB_EXT = .dll.a
+ 
+ # The #M# is used to delete lines for icu-config
+ # Current full path directory.
diff --git a/build/windows/jhbuild/patches/icu-unexport-target.patch 
b/build/windows/jhbuild/patches/icu-unexport-target.patch
new file mode 100644
index 0000000..a64ae06
--- /dev/null
+++ b/build/windows/jhbuild/patches/icu-unexport-target.patch
@@ -0,0 +1,11 @@
+--- a/source/Makefile.in       2012-12-17 13:17:16.000000000 -0500
++++ b/source/Makefile.in       2012-12-28 14:16:07.628294189 -0500
+@@ -21,6 +21,8 @@
+ docsrchdir = $(docfilesdir)/search
+ docsrchfiles = $(docsrchdir)/*
+ 
++unexport TARGET
++
+ ##
+ 
+ ## Build directory information
diff --git a/build/windows/jhbuild/patches/jasper-1.900.1-mingw32.patch 
b/build/windows/jhbuild/patches/jasper-1.900.1-mingw32.patch
new file mode 100644
index 0000000..02180ea
--- /dev/null
+++ b/build/windows/jhbuild/patches/jasper-1.900.1-mingw32.patch
@@ -0,0 +1,22 @@
+diff -rup jasper-1.900.1.orig/src/libjasper/Makefile.am jasper-1.900.1.new/src/libjasper/Makefile.am
+--- jasper-1.900.1.orig/src/libjasper/Makefile.am      2007-01-19 16:43:07.000000000 -0500
++++ jasper-1.900.1.new/src/libjasper/Makefile.am       2008-09-09 10:08:53.000000000 -0400
+@@ -85,5 +85,5 @@ libjasper_la_LIBADD = \
+ 
+ # -release $(LT_RELEASE)
+ libjasper_la_LDFLAGS = \
+-      -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++      -no-undefined -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
+ 
+diff -rup jasper-1.900.1.orig/src/libjasper/Makefile.in jasper-1.900.1.new/src/libjasper/Makefile.in
+--- jasper-1.900.1.orig/src/libjasper/Makefile.in      2007-01-19 16:54:45.000000000 -0500
++++ jasper-1.900.1.new/src/libjasper/Makefile.in       2008-09-09 10:08:43.000000000 -0400
+@@ -290,7 +290,7 @@ libjasper_la_LIBADD = \
+ 
+ # -release $(LT_RELEASE)
+ libjasper_la_LDFLAGS = \
+-      -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++      -no-undefined -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
+ 
+ all: all-recursive
+ 
diff --git a/build/windows/jhbuild/patches/jasper-1.900.1-sleep.patch 
b/build/windows/jhbuild/patches/jasper-1.900.1-sleep.patch
new file mode 100644
index 0000000..b647e48
--- /dev/null
+++ b/build/windows/jhbuild/patches/jasper-1.900.1-sleep.patch
@@ -0,0 +1,18 @@
+diff -rup jasper-1.900.1/src/appl/tmrdemo.c jasper-1.900.1.new/src/appl/tmrdemo.c
+--- jasper-1.900.1/src/appl/tmrdemo.c  2007-01-19 16:43:08.000000000 -0500
++++ jasper-1.900.1.new/src/appl/tmrdemo.c      2008-09-09 09:14:21.000000000 -0400
+@@ -1,4 +1,5 @@
+ #include <jasper/jasper.h>
++#include <windows.h>
+ 
+ int main(int argc, char **argv)
+ {
+@@ -43,7 +44,7 @@ int main(int argc, char **argv)
+       printf("zero time %.3f us\n", t * 1e6);
+ 
+       jas_tmr_start(&tmr);
+-      sleep(1);
++      Sleep(1);
+       jas_tmr_stop(&tmr);
+       t = jas_tmr_get(&tmr);
+       printf("time delay %.8f s\n", t);
diff --git a/build/windows/jhbuild/patches/libjpeg-turbo-boolean.patch 
b/build/windows/jhbuild/patches/libjpeg-turbo-boolean.patch
new file mode 100644
index 0000000..3675938
--- /dev/null
+++ b/build/windows/jhbuild/patches/libjpeg-turbo-boolean.patch
@@ -0,0 +1,11 @@
+--- a/jmorecfg.h       2013-07-23 22:01:08.303919000 -0400
++++ b/jmorecfg.h       2013-07-23 22:48:46.230315172 -0400
+@@ -235,7 +235,7 @@
+  */
+ 
+ #ifndef HAVE_BOOLEAN
+-typedef int boolean;
++typedef unsigned char boolean;
+ #endif
+ #ifndef FALSE                 /* in case these macros already exist */
+ #define FALSE 0               /* values of boolean */
diff --git a/build/windows/jhbuild/patches/libjpeg-turbo-int32.patch 
b/build/windows/jhbuild/patches/libjpeg-turbo-int32.patch
new file mode 100644
index 0000000..56231a8
--- /dev/null
+++ b/build/windows/jhbuild/patches/libjpeg-turbo-int32.patch
@@ -0,0 +1,17 @@
+--- a/jmorecfg.h       2013-01-06 12:59:42.000000000 -0500
++++ b/jmorecfg.h       2013-07-23 21:55:22.913095787 -0400
+@@ -160,8 +160,14 @@
+ /* INT32 must hold at least signed 32-bit values. */
+ 
+ #ifndef XMD_H                 /* X11/xmd.h correctly defines INT32 */
++#ifndef _BASETSD_H_           /* Microsoft defines it in basetsd.h */
++#ifndef _BASETSD_H            /* MinGW is slightly different */
++#ifndef QGLOBAL_H             /* Qt defines it in qglobal.h */
+ typedef long INT32;
+ #endif
++#endif
++#endif
++#endif
+ 
+ /* Datatype used for image dimensions.  The JPEG standard only supports
+  * images up to 64K*64K due to 16-bit fields in SOF markers.  Therefore
diff --git a/build/windows/jhbuild/patches/libmng-1.0.10-mingw.patch 
b/build/windows/jhbuild/patches/libmng-1.0.10-mingw.patch
new file mode 100644
index 0000000..e790df7
--- /dev/null
+++ b/build/windows/jhbuild/patches/libmng-1.0.10-mingw.patch
@@ -0,0 +1,44 @@
+diff -u -r libmng-1.0.10/makefiles/makefile.mingwdll libmng-1.0.10/makefiles/makefile.mingwdll
+--- libmng-1.0.10/makefiles/makefile.mingwdll  2005-01-30 11:28:00.000000000 +0100
++++ libmng-1.0.10/makefiles/makefile.mingwdll  2009-12-08 09:35:23.000000000 +0100
+@@ -10,8 +10,8 @@
+ #
+ 
+ # outputs
+-LIBMNG_A   = libmng.a
+-LIBMNG_DLL   = libmng.1.dll
++LIBMNG_A   = libmng.dll.a
++LIBMNG_DLL   = libmng-1.dll
+ INSTALL_PREFIX = C:/MinGW/
+ # maybe you sould replace with anti-slashes
+ 
+@@ -51,7 +51,7 @@
+ # for i386:
+ #ALIGN=-malign-loops=2 -malign-functions=2
+ 
+-CFLAGS=$(ZLIBINC) $(JPEGINC) $(LCMSINC) -Wall -O3 -funroll-loops $(OPTIONS) $(ALIGN) -s
++CFLAGS+=$(ZLIBINC) $(JPEGINC) $(OPTIONS) $(ALIGN) -s
+ LDFLAGS=-L. -lmng $(ZLIBLIB) $(JPEGLIB) $(LCMSLIB) -lm -s
+ 
+ INCPATH=$(prefix)/include
+@@ -88,9 +88,11 @@
+ $(LIBMNG_A): $(LIBMNG_DLL)
+ 
+ $(LIBMNG_DLL) : $(OBJS)
+-      dllwrap --implib=$(LIBMNG_A) --dllname=$(LIBMNG_DLL) $(OBJS) $(LDFLAGS)
++      $(CC) --shared -o $(LIBMNG_DLL) $(OBJS) -Wl,--out-implib,$(LIBMNG_A) -Wl,--kill-at $(JPEGLIB) 
$(ZLIBLIB)
+    
+ install : $(LIBMNG_A)
++      $(MKDIR)                 $(INSTALL_PREFIX)bin
++      $(COPY)  $(LIBMNG_DLL)   $(INSTALL_PREFIX)bin
+       $(MKDIR)                 $(INSTALL_PREFIX)include       
+       $(COPY)  libmng.h        $(INSTALL_PREFIX)include
+       $(COPY)  libmng_conf.h   $(INSTALL_PREFIX)include
+@@ -99,7 +101,7 @@
+       $(COPY)  $(LIBMNG_A)     $(INSTALL_PREFIX)lib
+ 
+ clean:
+-      $(RM) *.o
++      $(RM) *.o $(LIBMNG_DLL) $(LIBMNG_A)
+ 
+ # DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/build/windows/jhbuild/patches/libmng-1.0.9-dont-leak-zlib-streams.patch 
b/build/windows/jhbuild/patches/libmng-1.0.9-dont-leak-zlib-streams.patch
new file mode 100644
index 0000000..9ac03d6
--- /dev/null
+++ b/build/windows/jhbuild/patches/libmng-1.0.9-dont-leak-zlib-streams.patch
@@ -0,0 +1,14 @@
+diff -ur libmng-orig/libmng_zlib.c libmng-1.0.10/libmng_zlib.c
+--- libmng_zlib.c      2005-12-15 00:53:13.000000000 +0100
++++ libmng_zlib.c      2007-07-19 13:17:44.000000000 +0200
+@@ -162,6 +162,9 @@
+ #ifdef MNG_SUPPORT_TRACE
+   MNG_TRACE (pData, MNG_FN_ZLIB_INFLATEINIT, MNG_LC_START);
+ #endif
++
++  if (pData->bInflating)               /* free the old zlib structures */
++     inflateEnd(&pData->sZlib);
+                                        /* initialize zlib structures and such */
+   iZrslt = inflateInit (&pData->sZlib);
+ 
+
diff --git a/build/windows/jhbuild/patches/libmng-change-locations.patch 
b/build/windows/jhbuild/patches/libmng-change-locations.patch
new file mode 100644
index 0000000..2ea23b8
--- /dev/null
+++ b/build/windows/jhbuild/patches/libmng-change-locations.patch
@@ -0,0 +1,19 @@
+--- a/makefiles/makefile.mingwdll      2013-01-06 19:22:47.420140000 -0500
++++ b/makefiles/makefile.mingwdll      2013-01-06 19:23:21.192600233 -0500
+@@ -12,14 +12,14 @@
+ # outputs
+ LIBMNG_A   = libmng.dll.a
+ LIBMNG_DLL   = libmng-1.dll
+-INSTALL_PREFIX = C:/MinGW/
++INSTALL_PREFIX = $(DESTDIR)/$(PREFIX)
+ # maybe you sould replace with anti-slashes
+ 
+ # default build options
+ OPTIONS = -DMNG_BUILD_DLL -DMNG_ACCESS_CHUNKS -DMNG_STORE_CHUNKS
+ 
+ # Where the zlib library and include files are located
+-ZLIBLIB=-lz
++ZLIBLIB=-L$(PREFIX)/lib -lz
+ #ZLIBLIB=-L../zlib -lz
+ #ZLIBINC=-I../zlib
+ 
diff --git a/build/windows/jhbuild/patches/libsoup-request-file-string-h.patch 
b/build/windows/jhbuild/patches/libsoup-request-file-string-h.patch
new file mode 100644
index 0000000..58684a8
--- /dev/null
+++ b/build/windows/jhbuild/patches/libsoup-request-file-string-h.patch
@@ -0,0 +1,13 @@
+--- a/libsoup/soup-request-file.c      2013-03-10 12:57:01.000000000 -0400
++++ b/libsoup/soup-request-file.c      2013-06-27 14:38:43.857078461 -0400
+@@ -30,6 +30,10 @@
+ #include "soup-directory-input-stream.h"
+ #include "soup-requester.h"
+ 
++#ifdef G_OS_WIN32
++#include <string.h>
++#endif
++
+ /**
+  * SECTION:soup-request-file
+  * @short_description: SoupRequest support for "file" and "resource" URIs
diff --git a/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.3-nodocs.patch 
b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.3-nodocs.patch
new file mode 100644
index 0000000..cc48fcb
--- /dev/null
+++ b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.3-nodocs.patch
@@ -0,0 +1,29 @@
+diff -ru libwmf-0.2.8.3.orig/Makefile.am libwmf-0.2.8.3/Makefile.am
+--- libwmf-0.2.8.3.orig/Makefile.am    2002-12-05 17:09:53.000000000 +0000
++++ libwmf-0.2.8.3/Makefile.am 2004-06-11 13:28:56.149819830 +0100
+@@ -1,10 +1,10 @@
+ if LIBWMF_BUILD_ALL
+-DIRHEAVY = . src include fonts doc
++DIRHEAVY = . src include fonts
+ else
+ DIRHEAVY = . src include
+ endif
+ 
+-DIST_SUBDIRS = . src include fonts doc
++DIST_SUBDIRS = . src include fonts
+ 
+ SUBDIRS = $(DIRHEAVY)
+
+--- libwmf-0.2.8.4.orig/Makefile.in    2005-07-28 09:46:20.000000000 +0100
++++ libwmf-0.2.8.4/Makefile.in 2005-07-28 09:46:29.000000000 +0100
+@@ -231,8 +231,8 @@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ @LIBWMF_BUILD_ALL_FALSE DIRHEAVY = . src include
+- LIBWMF_BUILD_ALL_TRUE@DIRHEAVY = . src include fonts doc
+-DIST_SUBDIRS = . src include fonts doc
++ LIBWMF_BUILD_ALL_TRUE@DIRHEAVY = . src include fonts
++DIST_SUBDIRS = . src include fonts
+ SUBDIRS = $(DIRHEAVY)
+ bin_SCRIPTS = libwmf-config
+ WMFEXAMPLES = \
diff --git a/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.3-relocatablefonts.patch 
b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.3-relocatablefonts.patch
new file mode 100644
index 0000000..a5708b1
--- /dev/null
+++ b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.3-relocatablefonts.patch
@@ -0,0 +1,36 @@
+diff -r -u libwmf-0.2.8.3.old/configure.in libwmf-0.2.8.3/configure.in
+--- libwmf-0.2.8.3.old/configure.in    2004-02-10 12:47:44.000000000 +0000
++++ libwmf-0.2.8.3/configure.in        2004-05-20 14:16:15.804198513 +0100
+@@ -764,14 +764,15 @@
+       fi
+ ])
+ 
+-AC_ARG_WITH(fontdir,[  --with-fontdir=DIR      install Type1 fonts in DIR],[
+-      WMF_FONTDIR=$withval
+-],[   if test "x$prefix" = "xNONE"; then
+-              WMF_FONTDIR=$ac_default_prefix/share/$PACKAGE/fonts
+-      else
+-              WMF_FONTDIR=$prefix/share/$PACKAGE/fonts
+-      fi
+-])
++#AC_ARG_WITH(fontdir,[  --with-fontdir=DIR      install Type1 fonts in DIR],[
++#     WMF_FONTDIR=$withval
++#],[  if test "x$prefix" = "xNONE"; then
++#             WMF_FONTDIR=$ac_default_prefix/share/$PACKAGE/fonts
++#     else
++#             WMF_FONTDIR=$prefix/share/$PACKAGE/fonts
++#     fi
++#])
++WMF_FONTDIR=$datadir/$PACKAGE/fonts
+ 
+ AC_ARG_WITH(sysfontmap,[  --with-sysfontmap=FILE  [default is /usr/share/fonts/fontmap]],[
+       WMF_SYS_FONTMAP=$withval
+diff -r -u libwmf-0.2.8.3.old/fonts/Makefile.am libwmf-0.2.8.3/fonts/Makefile.am
+--- libwmf-0.2.8.3.old/fonts/Makefile.am       2001-08-11 15:49:27.000000000 +0100
++++ libwmf-0.2.8.3/fonts/Makefile.am   2004-05-20 14:17:22.970701362 +0100
+@@ -1,4 +1,4 @@
+-fontdir = @WMF_FONTDIR@
++fontdir = $(datadir)/libwmf/fonts/
+ 
+ bin_SCRIPTS = libwmf-fontmap
+ 
diff --git a/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-deps.patch 
b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-deps.patch
new file mode 100644
index 0000000..ee38ecb
--- /dev/null
+++ b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-deps.patch
@@ -0,0 +1,27 @@
+--- libwmf-0.2.8.3/libwmf-config.in.noextras-2 2004-02-10 06:41:26.000000000 -0600
++++ libwmf-0.2.8.3/libwmf-config.in    2005-07-06 15:18:26.000000000 -0500
+@@ -105,7 +105,7 @@
+ 
+ libwmf_buildstyle= LIBWMF_BUILDSTYLE@
+ if test $libwmf_buildstyle = heavy; then
+-      wmf_libs="-lwmf -lwmflite $wmf_liblflags"
++      wmf_libs="-lwmf -lwmflite"
+ else
+       wmf_libs="-lwmflite"
+ fi
+@@ -116,7 +116,7 @@
+               includes="$includes -I includedir@/libwmf/gd"
+       fi
+       if test "$lib_wmf" = "yes"; then
+-              includes="$includes -I includedir@"
++              includes="$includes"
+       fi
+       echo $includes
+ fi
+@@ -134,5 +134,5 @@
+               fi
+       done
+ 
+-      echo $libdirs $my_wmf_libs
++      echo $my_wmf_libs
+ fi      
diff --git a/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-fallbackfont.patch 
b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-fallbackfont.patch
new file mode 100644
index 0000000..8338313
--- /dev/null
+++ b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-fallbackfont.patch
@@ -0,0 +1,18 @@
+diff -ru libwmf-0.2.8.4.orig/src/font.c libwmf-0.2.8.4/src/font.c
+--- libwmf-0.2.8.4.orig/src/font.c     2005-07-27 21:35:06.000000000 +0100
++++ libwmf-0.2.8.4/src/font.c  2006-01-03 12:53:38.000000000 +0000
+@@ -1429,11 +1429,9 @@
+       if (GS->len == 0) return (0);
+ 
+       name = font->lfFaceName;
+-      if (name == 0)
+-      {       WMF_DEBUG (API,"No font name?");
+-              API->err = wmf_E_Glitch;
+-              return (0);
+-      }
++
++      if (name == 0 || name[0] == 0)
++              name = "Times";
+ 
+       /* Find first white-space character or eol
+        */
diff --git a/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-intoverflow.patch 
b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-intoverflow.patch
new file mode 100644
index 0000000..507fe66
--- /dev/null
+++ b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-intoverflow.patch
@@ -0,0 +1,27 @@
+--- libwmf-0.2.8.4.orig/src/player.c   2002-12-10 19:30:26.000000000 +0000
++++ libwmf-0.2.8.4/src/player.c        2006-07-12 15:12:52.000000000 +0100
+@@ -42,6 +42,7 @@
+ #include "player/defaults.h" /* Provides: default settings               */
+ #include "player/record.h"   /* Provides: parameter mechanism            */
+ #include "player/meta.h"     /* Provides: record interpreters            */
++#include <stdint.h>
+ 
+ /**
+  * @internal
+@@ -132,8 +134,14 @@
+               }
+       }
+ 
+-/*    P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API)-3) * 2 * sizeof (unsigned char));
+- */   P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API)  ) * 2 * sizeof (unsigned char));
++      if (MAX_REC_SIZE(API) > UINT32_MAX / 2)
++      {
++              API->err = wmf_E_InsMem;
++              WMF_DEBUG (API,"bailing...");
++              return (API->err);
++      }
++      
++      P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API)  ) * 2 * sizeof (unsigned char));
+ 
+       if (ERR (API))
+       {       WMF_DEBUG (API,"bailing...");
diff --git a/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-libpng-1.5.patch 
b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-libpng-1.5.patch
new file mode 100644
index 0000000..ab04e41
--- /dev/null
+++ b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-libpng-1.5.patch
@@ -0,0 +1,12 @@
+diff -urN libwmf-0.2.8.4.old/src/ipa/ipa/bmp.h libwmf-0.2.8.4/src/ipa/ipa/bmp.h
+--- libwmf-0.2.8.4.old/src/ipa/ipa/bmp.h       2011-05-23 19:14:23.000000000 +0200
++++ libwmf-0.2.8.4/src/ipa/ipa/bmp.h   2011-05-23 19:15:11.000000000 +0200
+@@ -66,7 +66,7 @@
+               return;
+       }
+
+-      if (setjmp (png_ptr->jmpbuf))
++      if (setjmp(png_jmpbuf(png_ptr)))
+       {       WMF_DEBUG (API,"Failed to write bitmap as PNG! (setjmp failed)");
+               png_destroy_write_struct (&png_ptr,&info_ptr);
+               wmf_free (API,buffer);
diff --git a/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-multiarchdevel.patch 
b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-multiarchdevel.patch
new file mode 100644
index 0000000..3afcc94
--- /dev/null
+++ b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-multiarchdevel.patch
@@ -0,0 +1,130 @@
+--- libwmf-0.2.8.4.orig/configure.in   2006-05-02 09:08:35.000000000 +0100
++++ libwmf-0.2.8.4/configure.in        2006-05-02 09:21:10.000000000 +0100
+@@ -884,7 +884,7 @@
+ src/extra/gd/Makefile
+ src/ipa/Makefile
+ src/convert/Makefile
+-libwmf-config
++libwmf.pc
+ libwmf.spec
+ ])
+ 
+--- /dev/null  2006-04-29 13:38:37.035974750 +0100
++++ libwmf-0.2.8.4/libwmf-config       2006-05-02 09:20:49.000000000 +0100
+@@ -0,0 +1,91 @@
++#!/bin/sh
++
++exec_prefix_set=no
++
++prefix=`pkg-config --variable=prefix libwmf`
++exec_prefix=`pkg-config --variable=exec_prefix libwmf`
++
++usage()
++{
++      cat <<EOF
++Usage: libwmf-config [OPTIONS] [LIBRARIES]
++Options:
++      [--prefix[=DIR]]
++      [--exec-prefix[=DIR]]
++      [--version]
++      [--libs]
++      [--cflags]
++Libraries/Headers:
++      gd
++      wmf
++EOF
++      exit $1
++}
++
++if test $# -eq 0; then
++      usage 1 1>&2
++fi
++
++lib_gd=no
++lib_wmf=yes
++
++while test $# -gt 0; do
++  case "$1" in
++  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
++  *) optarg= ;;
++  esac
++
++  case $1 in
++    --prefix=*)
++      prefix=$optarg
++      if test $exec_prefix_set = no ; then
++        exec_prefix=$optarg
++      fi
++      ;;
++    --prefix)
++      echo_prefix=yes
++      ;;
++    --exec-prefix=*)
++      exec_prefix=$optarg
++      exec_prefix_set=yes
++      ;;
++    --exec-prefix)
++      echo_exec_prefix=yes
++      ;;
++    --version)
++      pkg-config --modversion libwmf
++      ;;
++    --cflags)
++      echo_cflags=yes
++      ;;
++    --libs)
++      echo_libs=yes
++      ;;
++    gd)
++      lib_gd=yes
++      ;;
++    wmf)
++      lib_wmf=yes
++      ;;
++    *)
++      usage 1 1>&2
++      ;;
++  esac
++  shift
++done
++
++if test "$echo_prefix" = "yes"; then
++      echo $prefix
++fi
++
++if test "$echo_exec_prefix" = "yes"; then
++      echo $exec_prefix
++fi
++
++if test "$echo_cflags" = "yes"; then
++    pkg-config --cflags libwmf
++fi
++
++if test "$echo_libs" = "yes"; then
++    pkg-config --libs libwmf
++fi      
+--- /dev/null  2006-04-29 13:38:37.035974750 +0100
++++ libwmf-0.2.8.4/libwmf.pc.in        2006-05-02 09:21:24.000000000 +0100
+@@ -0,0 +1,10 @@
++prefix= prefix@
++exec_prefix= exec_prefix@
++libdir= libdir@
++includedir= includedir@
++
++Name: libwmf
++Description: A library for reading and converting Windows MetaFile vector graphics (WMF)
++Version: @LIBWMF_VERSION@
++Libs: -lwmf -lwmflite @WMF_LIBFLAGS@
++Cflags: @WMF_CONFIG_CFLAGS@
+--- libwmf-0.2.8.4.orig/Makefile.am    2006-05-02 09:08:35.000000000 +0100
++++ libwmf-0.2.8.4/Makefile.am 2006-05-02 09:28:34.000000000 +0100
+@@ -10,6 +10,9 @@
+ 
+ bin_SCRIPTS = libwmf-config
+ 
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = libwmf.pc
++
+ WMFEXAMPLES = \
+       examples/2doorvan.wmf \
+       examples/Eg.wmf \
diff --git a/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-reducesymbols.patch 
b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-reducesymbols.patch
new file mode 100644
index 0000000..45d82b3
--- /dev/null
+++ b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-reducesymbols.patch
@@ -0,0 +1,520 @@
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd.c libwmf-0.2.8.4.symbols/src/extra/gd/gd.c
+--- libwmf-0.2.8.4/src/extra/gd/gd.c   2005-07-27 21:35:05.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd.c   2006-11-16 12:27:05.000000000 +0000
+@@ -249,6 +249,7 @@
+   }
+ HWBType;
+ 
++#if 0
+ static HWBType *
+ RGB_to_HWB (RGBType RGB, HWBType * HWB)
+ {
+@@ -308,7 +309,6 @@
+   return diff;
+ }
+ 
+-#if 0
+ /*
+  * This is not actually used, but is here for completeness, in case someone wants to
+  * use the HWB stuff for anything else...
+@@ -355,6 +355,7 @@
+ }
+ #endif
+ 
++#if 0
+ int
+ gdImageColorClosestHWB (gdImagePtr im, int r, int g, int b)
+ {
+@@ -384,6 +385,7 @@
+     }
+   return ct;
+ }
++#endif
+ 
+ int
+ gdImageColorExact (gdImagePtr im, int r, int g, int b)
+@@ -677,7 +679,7 @@
+     }
+ }
+ 
+-int
++static int
+ gdImageGetTrueColorPixel (gdImagePtr im, int x, int y)
+ {
+   int p = gdImageGetPixel (im, x, y);
+@@ -1286,11 +1288,11 @@
+   return len;
+ }
+ 
+-#ifndef HAVE_LSQRT
++#if 0
+ /* If you don't have a nice square root function for longs, you can use
+    ** this hack
+  */
+-long
++static long
+ lsqrt (long n)
+ {
+   long result = (long) sqrt ((double) n);
+@@ -2250,7 +2252,7 @@
+     }
+ }
+ 
+-int gdCompareInt (const void *a, const void *b);
++static int gdCompareInt (const void *a, const void *b);
+ 
+ /* THANKS to Kirsten Schulz for the polygon fixes! */
+ 
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdcache.h libwmf-0.2.8.4.symbols/src/extra/gd/gdcache.h
+--- libwmf-0.2.8.4/src/extra/gd/gdcache.h      2001-08-21 15:40:33.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdcache.h      2006-11-16 12:13:40.000000000 +0000
+@@ -41,6 +41,9 @@
+ /*********************************************************/
+ 
+ /* #include <malloc.h> */
++
++#pragma GCC visibility push(hidden)
++
+ #ifndef NULL
+ #define NULL (void *)0
+ #endif
+@@ -81,3 +84,5 @@
+ 
+ void *
+ gdCacheGet( gdCache_head_t *head, void *keydata );
++
++#pragma GCC visibility pop
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_clip.h libwmf-0.2.8.4.symbols/src/extra/gd/gd_clip.h
+--- libwmf-0.2.8.4/src/extra/gd/gd_clip.h      2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_clip.h      2006-11-16 12:11:49.000000000 +0000
+@@ -1,6 +1,8 @@
+ #ifndef GD_CLIP_H
+ #define GD_CLIP_H 1
+ 
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -23,4 +25,6 @@
+ }
+ #endif
+ 
++#pragma GCC visibility pop
++
+ #endif /* GD_CLIP_H */
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontg.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontg.h
+--- libwmf-0.2.8.4/src/extra/gd/gdfontg.h      2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontg.h      2006-11-16 12:12:03.000000000 +0000
+@@ -2,6 +2,8 @@
+ #ifndef _GDFONTG_H_
+ #define _GDFONTG_H_ 1
+ 
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -25,5 +27,7 @@
+ }
+ #endif
+ 
++#pragma GCC visibility pop
++
+ #endif
+ 
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontl.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontl.h
+--- libwmf-0.2.8.4/src/extra/gd/gdfontl.h      2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontl.h      2006-11-16 12:12:11.000000000 +0000
+@@ -2,6 +2,8 @@
+ #ifndef _GDFONTL_H_
+ #define _GDFONTL_H_ 1
+ 
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -26,5 +28,7 @@
+ }
+ #endif
+ 
++#pragma GCC visibility pop
++
+ #endif
+ 
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontmb.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontmb.h
+--- libwmf-0.2.8.4/src/extra/gd/gdfontmb.h     2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontmb.h     2006-11-16 12:12:19.000000000 +0000
+@@ -2,6 +2,8 @@
+ #ifndef _GDFONTMB_H_
+ #define _GDFONTMB_H_ 1
+ 
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -24,5 +26,7 @@
+ }
+ #endif
+ 
++#pragma GCC visibility pop
++
+ #endif
+ 
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdfonts.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfonts.h
+--- libwmf-0.2.8.4/src/extra/gd/gdfonts.h      2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfonts.h      2006-11-16 12:12:28.000000000 +0000
+@@ -2,6 +2,8 @@
+ #ifndef _GDFONTS_H_
+ #define _GDFONTS_H_ 1
+ 
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -24,5 +26,7 @@
+ }
+ #endif
+ 
++#pragma GCC visibility pop
++
+ #endif
+ 
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontt.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontt.h
+--- libwmf-0.2.8.4/src/extra/gd/gdfontt.h      2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontt.h      2006-11-16 12:12:36.000000000 +0000
+@@ -2,6 +2,8 @@
+ #ifndef _GDFONTT_H_
+ #define _GDFONTT_H_ 1
+ 
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -25,5 +27,7 @@
+ }
+ #endif
+ 
++#pragma GCC visibility pop
++
+ #endif
+ 
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdft.c libwmf-0.2.8.4.symbols/src/extra/gd/gdft.c
+--- libwmf-0.2.8.4/src/extra/gd/gdft.c 2005-07-27 21:35:05.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdft.c 2006-11-16 12:24:50.000000000 +0000
+@@ -533,7 +533,7 @@
+ }
+ 
+ /* draw_bitmap - transfers glyph bitmap to GD image */
+-/* static */ char *
++static char *
+ gdft_draw_bitmap (gdImage * im, int fg, FT_Bitmap bitmap, int pen_x, int pen_y)
+ {
+   unsigned char *pixel = 0;
+@@ -643,7 +643,7 @@
+   return (char *) NULL;
+ }
+ 
+-int
++static int
+ gdroundupdown (FT_F26Dot6 v1, int updown)
+ {
+   return (!updown)
+@@ -651,7 +651,9 @@
+     : (v1 > 0 ? ((v1 + 63) >> 6) : v1 >> 6);
+ }
+ 
++#pragma GCC visibility push(hidden)
+ extern int any2eucjp (char *, char *, unsigned int);
++#pragma GCC visibility pop
+ 
+ /********************************************************************/
+ /* gdImageStringFT -  render a utf8 string onto a gd image          */
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_gd2.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd2.c
+--- libwmf-0.2.8.4/src/extra/gd/gd_gd2.c       2005-07-27 21:35:05.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd2.c       2006-11-16 12:21:28.000000000 +0000
+@@ -34,8 +34,10 @@
+   }
+ t_chunk_info;
+ 
++#pragma GCC visibility push(hidden)
+ extern int _gdGetColors (gdIOCtx * in, gdImagePtr im, int gd2xFlag);
+ extern void _gdPutColors (gdImagePtr im, gdIOCtx * out);
++#pragma GCC visibility pop
+ 
+ /* */
+ /* Read the extra info in the gd2 header. */
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_gd.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd.c
+--- libwmf-0.2.8.4/src/extra/gd/gd_gd.c        2005-07-27 21:35:05.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd.c        2006-11-16 12:21:43.000000000 +0000
+@@ -11,6 +11,11 @@
+ /* Exported functions: */
+ extern void gdImageGd (gdImagePtr im, FILE * out);
+ 
++#pragma GCC visibility push(hidden)
++int _gdGetColors (gdIOCtx * in, gdImagePtr im, int gd2xFlag);
++void _gdPutColors (gdImagePtr im, gdIOCtx * out);
++#pragma GCC visibility pop
++
+ 
+ /* Use this for commenting out debug-print statements. */
+ /* Just use the first '#define' to allow all the prints... */
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd.h libwmf-0.2.8.4.symbols/src/extra/gd/gd.h
+--- libwmf-0.2.8.4/src/extra/gd/gd.h   2002-12-05 20:09:11.000000000 +0000
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd.h   2006-11-16 12:14:11.000000000 +0000
+@@ -25,6 +25,8 @@
+ #include <gd_io.h>
+ #include <gd_clip.h>
+ 
++#pragma GCC visibility push(hidden)
++
+ /* The maximum number of palette entries in palette-based images.
+       In the wonderful new world of gd 2.0, you can of course have
+       many more colors when using truecolor mode. */
+@@ -497,6 +499,8 @@
+ /* resolution affects ttf font rendering, particularly hinting */
+ #define GD_RESOLUTION           96      /* pixels per inch */
+ 
++#pragma GCC visibility pop
++
+ #ifdef __cplusplus
+ }
+ #endif
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdhelpers.h libwmf-0.2.8.4.symbols/src/extra/gd/gdhelpers.h
+--- libwmf-0.2.8.4/src/extra/gd/gdhelpers.h    2001-03-28 10:37:31.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdhelpers.h    2006-11-16 12:12:55.000000000 +0000
+@@ -1,6 +1,8 @@
+ #ifndef GDHELPERS_H 
+ #define GDHELPERS_H 1
+ 
++#pragma GCC visibility push(hidden)
++
+ /* TBB: strtok_r is not universal; provide an implementation of it. */
+ 
+ extern char *gd_strtok_r(char *s, char *sep, char **state);
+@@ -13,5 +15,7 @@
+ void *gdMalloc(size_t size);
+ void *gdRealloc(void *ptr, size_t size);
+ 
++#pragma GCC visibility pop
++
+ #endif /* GDHELPERS_H */
+ 
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_io.h libwmf-0.2.8.4.symbols/src/extra/gd/gd_io.h
+--- libwmf-0.2.8.4/src/extra/gd/gd_io.h        2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_io.h        2006-11-16 12:13:08.000000000 +0000
+@@ -2,6 +2,8 @@
+ #define GD_IO_H 1
+ 
+ #include <stdio.h>
++
++#pragma GCC visibility push(hidden)
+  
+ typedef struct gdIOCtx {
+       int     (*getC)(struct gdIOCtx*);
+@@ -36,4 +38,6 @@
+ int gdSeek(gdIOCtx *ctx, const int);
+ long gdTell(gdIOCtx *ctx);
+ 
++#pragma GCC visibility pop
++
+ #endif
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_jpeg.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_jpeg.c
+--- libwmf-0.2.8.4/src/extra/gd/gd_jpeg.c      2005-07-27 21:35:06.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_jpeg.c      2006-11-16 12:28:13.000000000 +0000
+@@ -99,7 +99,7 @@
+   return rv;
+ }
+ 
+-void jpeg_gdIOCtx_dest (j_compress_ptr cinfo, gdIOCtx * outfile);
++static void jpeg_gdIOCtx_dest (j_compress_ptr cinfo, gdIOCtx * outfile);
+ 
+ void
+ gdImageJpegCtx (gdImagePtr im, gdIOCtx * outfile, int quality)
+@@ -266,7 +266,7 @@
+   return im;
+ }
+ 
+-void
++static void
+   jpeg_gdIOCtx_src (j_decompress_ptr cinfo,
+                   gdIOCtx * infile);
+ 
+@@ -511,7 +511,7 @@
+  * before any data is actually read.
+  */
+ 
+-void
++static void
+ init_source (j_decompress_ptr cinfo)
+ {
+   my_src_ptr src = (my_src_ptr) cinfo->src;
+@@ -559,7 +559,7 @@
+ 
+ #define END_JPEG_SEQUENCE "\r\n[*]--:END JPEG:--[*]\r\n"
+ 
+-safeboolean
++static safeboolean
+ fill_input_buffer (j_decompress_ptr cinfo)
+ {
+   my_src_ptr src = (my_src_ptr) cinfo->src;
+@@ -627,7 +627,7 @@
+  * buffer is the application writer's problem.
+  */
+ 
+-void
++static void
+ skip_input_data (j_decompress_ptr cinfo, long num_bytes)
+ {
+   my_src_ptr src = (my_src_ptr) cinfo->src;
+@@ -669,7 +669,7 @@
+  * for error exit.
+  */
+ 
+-void
++static void
+ term_source (j_decompress_ptr cinfo)
+ {
+   
+@@ -742,7 +742,7 @@
+  * before any data is actually written.
+  */
+ 
+-void
++static void
+ init_destination (j_compress_ptr cinfo)
+ {
+   my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
+@@ -780,7 +780,7 @@
+  * write it out when emptying the buffer externally.
+  */
+ 
+-safeboolean
++static safeboolean
+ empty_output_buffer (j_compress_ptr cinfo)
+ {
+   my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
+@@ -805,7 +805,7 @@
+  * for error exit.
+  */
+ 
+-void
++static void
+ term_destination (j_compress_ptr cinfo)
+ {
+   my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdkanji.c libwmf-0.2.8.4.symbols/src/extra/gd/gdkanji.c
+--- libwmf-0.2.8.4/src/extra/gd/gdkanji.c      2001-05-19 14:09:34.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdkanji.c      2006-11-16 12:29:42.000000000 +0000
+@@ -555,6 +555,11 @@
+   return kanji;
+ }
+ 
++#pragma GCC visibility push(hidden)
++int
++any2eucjp (unsigned char *dest, unsigned char *src, unsigned int dest_max);
++#pragma GCC visibility pop
++
+ int
+ any2eucjp (unsigned char *dest, unsigned char *src, unsigned int dest_max)
+ {
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_topal.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_topal.c
+--- libwmf-0.2.8.4/src/extra/gd/gd_topal.c     2005-07-27 21:35:06.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_topal.c     2006-11-16 12:25:45.000000000 +0000
+@@ -1129,7 +1129,7 @@
+  * Map some rows of pixels to the output colormapped representation.
+  */
+ 
+-void
++static void
+ pass2_no_dither (gdImagePtr im, my_cquantize_ptr cquantize)
+ /* This version performs no dithering */
+ {
+@@ -1217,7 +1217,7 @@
+ #endif
+ 
+ 
+-void
++static void
+ pass2_fs_dither (gdImagePtr im, my_cquantize_ptr cquantize)
+ 
+ /* This version performs Floyd-Steinberg dithering */
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_wbmp.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_wbmp.c
+--- libwmf-0.2.8.4/src/extra/gd/gd_wbmp.c      2001-05-19 14:09:34.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_wbmp.c      2006-11-16 12:28:33.000000000 +0000
+@@ -67,7 +67,7 @@
+    ** Wrapper around gdPutC for use with writewbmp
+    **
+  */
+-void
++static void
+ gd_putout (int i, void *out)
+ {
+   gdPutC (i, (gdIOCtx *) out);
+@@ -79,7 +79,7 @@
+    ** Wrapper around gdGetC for use with readwbmp
+    **
+  */
+-int
++static int
+ gd_getin (void *in)
+ {
+   return (gdGetC ((gdIOCtx *) in));
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdxpm.c libwmf-0.2.8.4.symbols/src/extra/gd/gdxpm.c
+--- libwmf-0.2.8.4/src/extra/gd/gdxpm.c        2001-05-19 14:09:34.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdxpm.c        2006-11-16 12:18:29.000000000 +0000
+@@ -10,6 +10,7 @@
+ #include "gd.h"
+ #include "gdhelpers.h"
+ 
++#if 0
+ #ifndef HAVE_XPM
+ gdImagePtr
+ gdImageCreateFromXpm (char *filename)
+@@ -146,3 +147,4 @@
+   return (im);
+ }
+ #endif
++#endif
+diff -ru libwmf-0.2.8.4/src/extra/gd/jisx0208.h libwmf-0.2.8.4.symbols/src/extra/gd/jisx0208.h
+--- libwmf-0.2.8.4/src/extra/gd/jisx0208.h     2001-03-28 10:37:35.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/jisx0208.h     2006-11-16 12:13:19.000000000 +0000
+@@ -1,5 +1,8 @@
+ #ifndef JISX0208_H
+ #define JISX0208_H
++
++#pragma GCC visibility push(hidden)
++
+ /* This file was derived from "src/VF_Ftype.c" in VFlib2-2.24.2
+    by Dr. Kakugawa */
+ 
+@@ -1202,4 +1205,6 @@
+ 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177,
+ 0x2178, 0x2179, 0xFFE2, 0xFFE4, 0xFF07, 0xFF02}};
+ 
++#pragma GCC visibility pop
++
+ #endif /* JISX0208_H */
+diff -ru libwmf-0.2.8.4/src/extra/gd/wbmp.h libwmf-0.2.8.4.symbols/src/extra/gd/wbmp.h
+--- libwmf-0.2.8.4/src/extra/gd/wbmp.h 2001-03-28 10:37:37.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/wbmp.h 2006-11-16 12:14:19.000000000 +0000
+@@ -12,6 +12,8 @@
+ #ifndef __WBMP_H
+ #define __WBMP_H      1
+ 
++#pragma GCC visibility push(hidden)
++
+ 
+ /* WBMP struct
+ ** -----------
+@@ -44,4 +46,6 @@
+ void    freewbmp( Wbmp *wbmp );
+ void    printwbmp( Wbmp *wbmp );  
+ 
++#pragma GCC visibility pop
++
+ #endif
diff --git a/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-useafterfree.patch 
b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-useafterfree.patch
new file mode 100644
index 0000000..328c541
--- /dev/null
+++ b/build/windows/jhbuild/patches/libwmf/libwmf-0.2.8.4-useafterfree.patch
@@ -0,0 +1,10 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_clip.c.CVE-2009-1364-im-clip-list   2009-04-24 04:06:44.000000000 -0400
++++ libwmf-0.2.8.4/src/extra/gd/gd_clip.c      2009-04-24 04:08:30.000000000 -0400
+@@ -70,6 +70,7 @@ void gdClipSetAdd(gdImagePtr im,gdClipRe
+       {       more = gdRealloc (im->clip->list,(im->clip->max + 8) * sizeof (gdClipRectangle));
+               if (more == 0) return;
+               im->clip->max += 8;
++                im->clip->list = more;
+       }
+       im->clip->list[im->clip->count] = (*rect);
+       im->clip->count++;
diff --git a/build/windows/jhbuild/patches/libxslt-1.1.26-w64.patch 
b/build/windows/jhbuild/patches/libxslt-1.1.26-w64.patch
new file mode 100644
index 0000000..c67474c
--- /dev/null
+++ b/build/windows/jhbuild/patches/libxslt-1.1.26-w64.patch
@@ -0,0 +1,24 @@
+diff -ur libxslt-1.1.26/configure.in libxslt-1.1.26/configure.in
+--- libxslt-1.1.26/configure.in        2009-09-24 16:27:30.000000000 +0200
++++ libxslt-1.1.26/configure.in        2009-11-11 17:51:06.000000000 +0100
+@@ -627,7 +627,7 @@
+  WIN32_EXTRA_LDFLAGS="-no-undefined"
+  ;;
+  *-*-mingw*)
+- WIN32_EXTRA_LIBADD="-lwsock32"
++ WIN32_EXTRA_LIBADD="-lws2_32 -lmswsock"
+  WIN32_EXTRA_LDFLAGS="-no-undefined"
+  AC_DEFINE([_WINSOCKAPI_],1,[Using the Win32 Socket implementation])
+  AC_DEFINE([snprintf],[_snprintf],[Win32 Std C name mangling work-around])
+Only in libxslt-1.1.26: configure.in.orig
+diff -ur libxslt-1.1.26/libxslt/security.c libxslt-1.1.26/libxslt/security.c
+--- libxslt-1.1.26/libxslt/security.c  2009-08-13 15:04:24.000000000 +0200
++++ libxslt-1.1.26/libxslt/security.c  2009-11-11 17:51:06.000000000 +0100
+@@ -39,6 +39,7 @@
+ #ifndef INVALID_FILE_ATTRIBUTES
+ #define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
+ #endif
++#define mkdir(d,m) _mkdir(d)
+ #endif
+ 
+ #ifndef HAVE_STAT
diff --git a/build/windows/jhbuild/patches/pthreads-add-install-mk.patch 
b/build/windows/jhbuild/patches/pthreads-add-install-mk.patch
new file mode 100644
index 0000000..56b6b23
--- /dev/null
+++ b/build/windows/jhbuild/patches/pthreads-add-install-mk.patch
@@ -0,0 +1,8 @@
+--- a/install.mk       2012-12-30 01:59:23.989187337 -0500
++++ b/install.mk       2012-12-30 15:13:26.126841253 -0500
+@@ -0,0 +1,5 @@
++install:
++      mkdir -p $(DESTDIR)/$(PREFIX)/bin
++      mkdir -p $(DESTDIR)/$(PREFIX)/lib
++      $(INSTALL) pthreadGC2.dll $(DESTDIR)/$(PREFIX)/bin/pthreadGC2.dll
++      $(INSTALL) libpthreadGC2.a $(DESTDIR)/$(PREFIX)/lib/libpthread.a
diff --git a/build/windows/jhbuild/patches/webkit-2.0-disable-tests.patch 
b/build/windows/jhbuild/patches/webkit-2.0-disable-tests.patch
new file mode 100644
index 0000000..2da38da
--- /dev/null
+++ b/build/windows/jhbuild/patches/webkit-2.0-disable-tests.patch
@@ -0,0 +1,15 @@
+--- a/Tools/GNUmakefile.am     2013-06-28 11:37:12.433956926 -0400
++++ b/Tools/GNUmakefile.am     2013-06-28 11:40:42.681835206 -0400
+@@ -1,12 +1,6 @@
+ noinst_PROGRAMS += \
+       Programs/ImageDiff
+ 
+-if ENABLE_WEBKIT1
+-noinst_PROGRAMS += \
+-      Programs/DumpRenderTree \
+-      Programs/GtkLauncher
+-endif
+-
+ # GtkLauncher
+ Programs_GtkLauncher_CPPFLAGS = \
+       -I$(srcdir)/Source/WebKit/gtk \
diff --git a/build/windows/jhbuild/patches/webkit-add-autogen.patch 
b/build/windows/jhbuild/patches/webkit-add-autogen.patch
new file mode 100644
index 0000000..c397008
--- /dev/null
+++ b/build/windows/jhbuild/patches/webkit-add-autogen.patch
@@ -0,0 +1,31 @@
+--- a/autogen.sh       2012-12-28 01:35:14.039456371 -0500
++++ b/autogen.sh       2012-12-28 20:52:50.687399680 -0500
+@@ -0,0 +1,28 @@
++#! /bin/sh
++
++# Allow invocation from a separate build directory; in that case, we change
++# to the source directory to run the auto*, then change back before running configure
++srcdir=`dirname $0`
++test -z "$srcdir" && srcdir=.
++
++ORIGDIR=`pwd`
++cd $srcdir
++
++rm -f $top_srcdir/autom4te.cache
++
++touch README INSTALL
++
++Tools/gtk/override-feature-defines $ORIGDIR
++
++if test -z `which autoreconf`; then
++    echo "Error: autoreconf not found, please install it."
++    exit 1
++fi
++autoreconf --verbose --install -I Source/autotools $ACLOCAL_FLAGS|| exit $?
++
++cd $ORIGDIR || exit 1
++
++if test -z "$NOCONFIGURE"; then
++    $srcdir/configure $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
++fi
++
diff --git a/build/windows/jhbuild/split-build b/build/windows/jhbuild/split-build
new file mode 100755
index 0000000..2eee4af
--- /dev/null
+++ b/build/windows/jhbuild/split-build
@@ -0,0 +1,31 @@
+#!/bin/sh
+set -e
+
+if [ "x$BUILD_FLAVOUR" == "xdbg" ]; then
+       EXT="-dbg"
+else
+       EXT=""
+fi
+
+init_target (){
+       echo "Cleaning Target $1"
+       rm -rf targets/$1 || true
+       mkdir -p targets/$1/_jhbuild/manifests
+       cp -a targets/gimp-common$EXT/_jhbuild/manifests/* targets/$1/_jhbuild/manifests
+       cp -a targets/gimp-common$EXT/_jhbuild/packagedb.xml targets/$1/_jhbuild/
+}
+
+chmod a-w win32.cache
+
+export MODULE=gimp-common
+jhbuild --file=build.jhbuildrc $* build gimp-common || true
+
+./targetisunchanged gimp-common$EXT gimp-stable$EXT || init_target gimp-stable$EXT
+export MODULE=gimp-stable
+jhbuild --file=build.jhbuildrc $* build --start-at=gimp-common || true
+
+./targetisunchanged gimp-common$EXT gimp-dev$EXT || init_target gimp-dev$EXT
+export MODULE=gimp-dev
+jhbuild --file=build.jhbuildrc $* build --start-at=gimp-common || true
+
+chmod u+w win32.cache
diff --git a/build/windows/jhbuild/targetisunchanged b/build/windows/jhbuild/targetisunchanged
new file mode 100755
index 0000000..d9a0a72
--- /dev/null
+++ b/build/windows/jhbuild/targetisunchanged
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+sort targets/$1/_jhbuild/packagedb.xml > /tmp/packagedb.xml.a
+sort targets/$2/_jhbuild/packagedb.xml > /tmp/packagedb.xml.b
+
+COUNT=`diff -u  /tmp/packagedb.xml.a /tmp/packagedb.xml.b | grep "^-" --count --max-count 2`
+
+rm /tmp/packagedb.xml.{a,b}
+
+exit $((COUNT - 1))
diff --git a/build/windows/jhbuild/webkitgtk.moduleset b/build/windows/jhbuild/webkitgtk.moduleset
new file mode 100644
index 0000000..6e46179
--- /dev/null
+++ b/build/windows/jhbuild/webkitgtk.moduleset
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<moduleset>
+       <repository type="tarball" name="gnome.org"
+               href="http://ftp.gnome.org/pub/gnome/sources/"; />
+       <repository type="tarball" name="webkitgtk.org"
+               href="http://webkitgtk.org/releases/"; />
+       <repository type="tarball" name="sqlite.org"
+               href="http://www.sqlite.org/"; />
+       <repository type="tarball" name="sourceware.org"
+               href="ftp://sourceware.org/pub/"; />
+
+       <include href="gtk+.moduleset"/>
+
+<autotools id="mingw32-pthreads" autogen-sh=" || true" makeargs="clean GC -j1" makeinstallargs=" -f 
install.mk">
+       <branch version="2.9.1" repo="sourceware.org"
+                       module="pthreads-win32/pthreads-w32-2-9-1-release.tar.gz"
+                       hash="md5:36ba827d6aa0fa9f9ae740a35626e2e3">
+               <patch file="pthreads-add-install-mk.patch" strip="1"/>
+       </branch>
+</autotools>
+
+<autotools id="libsoup" autogen-sh="configure">
+       <branch version="2.42.2" repo="gnome.org"
+                       module="libsoup/2.42/libsoup-2.42.2.tar.xz"
+                       hash="sha256:1f4f9cc55ba483dc8defea0c3f97cc507dc48384c5529179e29c1e6d05630dbf">
+               <patch file="libsoup-request-file-string-h.patch" strip="1"/>
+       </branch>
+       <dependencies>
+               <dep package="gtk2"/>
+               <dep package="sqlite"/>
+       </dependencies>
+</autotools>
+
+<autotools id="sqlite" autogen-sh="configure">
+       <branch version="3071501" repo="sqlite.org"
+                       module="sqlite-autoconf-3071501.tar.gz"
+                       hash="sha1:0247b4ff581e7bacaad97663116a029ad1976f1c">
+       </branch>
+</autotools>
+
+<autotools id="webkitgtk">
+       <branch version="2.0.3" repo="webkitgtk.org"
+                       module="webkitgtk-2.0.3.tar.xz"
+                       hash="sha1:136c649c34956cadfaac9b13bbad368b70d38820">
+               <patch file="webkit-add-autogen.patch" strip="1"/>
+               <patch file="webkit-2.0-disable-tests.patch" strip="1"/>
+       </branch>
+       <dependencies>
+               <dep package="mingw32-pthreads"/>
+               <dep package="libsoup"/>
+               <dep package="sqlite"/>
+               <dep package="gtk2"/>
+               <dep package="libwebp"/>
+               <dep package="libxslt"/>
+       </dependencies>
+</autotools>
+
+</moduleset>
diff --git a/build/windows/jhbuild/win32.cache b/build/windows/jhbuild/win32.cache
new file mode 100644
index 0000000..0bf5a06
--- /dev/null
+++ b/build/windows/jhbuild/win32.cache
@@ -0,0 +1,6 @@
+ac_cv_alignof_guint32=${ac_cv_alignof_guint32=4}
+ac_cv_alignof_guint64=${ac_cv_alignof_guint64=8}
+ac_cv_alignof_unsigned_long=${ac_cv_alignof_unsigned_long=4}
+
+glib_cv_long_long_format=I64
+glib_cv_stack_grows=no


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