changeset 5661:143a4181d569 release

reactivate release branch
author John W. Eaton <jwe@octave.org>
date Fri, 12 Feb 2021 17:29:18 -0500
parents e9741f369ee4 (current diff) c724e30df2ba (diff)
children 76ad6fcad4c6
files
diffstat 796 files changed, 74924 insertions(+), 10893 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Fri Dec 06 23:02:15 2013 -0500
+++ b/.hgignore	Fri Feb 12 17:29:18 2021 -0500
@@ -1,19 +1,21 @@
-^settings.mk
+^settings\.mk
 ^usr/
 ^log/
 ^pkg/
+^built-packages/
 ^installed-packages/
 ^wip/
 ^tmp-.*/
 
-^autom4te.cache/
+^autom4te\.cache/
 ^configure
-^config.status
-^config.log
+^config\.status
+^config\.log
 ^Makefile
-^cmake-toolchain-file.stamp
+^cmake-toolchain-file\.stamp
 
 ^cross-tools/
 ^gnuplot/
 ^octave/
-^tools/set_mxe_env.sh
+^tools/makeinst-script\.sh
+^tools/set-mxe-env\.sh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgtags	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,14 @@
+1cab2860069ea9401ff3f28f1fd9654bc777026b release-4-0-0
+a047bc8d7910849a3ddcb4d1856ce3dd2b912aa4 octave-4.0.1-binary
+e622765c49c736f6e8e4627310a59f1c49fae283 octave-release-4.2.0
+ebc418be26ec62519a6ddceb6a6f35b368e49f92 octave-release-4.4.0
+7f8ff4800eefbf0ba6c842af4d20c0dc1ae6e89a octave-release-4.4.1
+3ef2868263e4ac69b09508acf07255e8fa397afb octave-release-5.1.0
+9057112edb8e26e6880cbddabcaa43acaafcc841 octave-release-5.2.0
+9057112edb8e26e6880cbddabcaa43acaafcc841 octave-release-5.2.0
+8c1e1ef46ed22ddb1e0c1ab94137d631cd97495f octave-release-5.2.0
+00a0eac6b6cd816937d25914d371e856d839bcd8 octave-release-5.2.0_1
+039563087c70904213cd835dc3e9a8c5025ec6eb octave-rc-6.0.90
+60c8f985d8f59effea0fddb7ccf4b7a7c63c71fd octave-rc-6-0-92
+a1004ea5643dc65ef0f156fc1f5fce561feb1e57 octave-release-6.1.0
+f062783e4ace3bb551cf51d7592920255770f583 octave-rc-6.1.90
--- a/Makefile.in	Fri Dec 06 23:02:15 2013 -0500
+++ b/Makefile.in	Fri Feb 12 17:29:18 2021 -0500
@@ -1,34 +1,93 @@
 # This file is part of MXE.
 # See index.html for further information.
 
+OCTAVE_TARGET := @ENABLE_OCTAVE@octave
+
 PWD := $(shell pwd)
+TOP_BUILD_DIR := @abs_builddir@
+TOP_DIR := @abs_srcdir@
+
+STRIP_DIST_FILES := @STRIP_DIST_FILES@
+
+DATE := $(shell date +%Y-%m-%d-%H-%M)
 
 ## Configuration variables.
 
 # Set the following configuration variables with a configure script?
 
-# Current valid values are mingw (cross) and gnu-linux (native).
+# Current valid values are mingw (cross or native), msvc (native)
+# and gnu-linux (native).
 MXE_SYSTEM := @MXE_SYSTEM@
+ifeq ($(MXE_SYSTEM),mingw)
+else ifeq ($(MXE_SYSTEM),msvc)
+else ifeq ($(MXE_SYSTEM),gnu-linux)
+else
+$(error "$(MXE_SYSTEM)" is not a valid value for MXE_SYSTEM)
+endif
 
 # Set to "no" if doing a cross compile build.
 MXE_NATIVE_BUILD := @MXE_NATIVE_BUILD@
 
+# Set to "yes" to use ccache
+USE_CCACHE := @USE_CCACHE@
+CCACHE := @CCACHE@
+
 # Set to "yes" to use the versions of GCC and binutils already
 # installed on your system (default is yes if doing native build).
 USE_SYSTEM_GCC := @USE_SYSTEM_GCC@
 
 # Set to "yes" to use the version of fontconfig already installed
-# on your system (default is yes if doing native build). 
+# on your system (default is yes if doing native build).
 USE_SYSTEM_FONTCONFIG := @USE_SYSTEM_FONTCONFIG@
 
+# Set to "yes" to use the OpenGL libraries already installed
+# on your system (default is yes).
+USE_SYSTEM_OPENGL := @USE_SYSTEM_OPENGL@
+
+# Set to "yes" to use the X11 libraries already installed
+# on your system (default is yes if doing native build).
+USE_SYSTEM_X11_LIBS := @USE_SYSTEM_X11_LIBS@
+
+# Build compiler for 64-bit Windows.  Using this option will build
+# binaries that require a 64-bit Windows system.
+ENABLE_WINDOWS_64 := @ENABLE_WINDOWS_64@
+
+# Build Octave with 64-bit indexing enabled (This is the default).
+ENABLE_64 := @ENABLE_64@
+
+# Build Fortran (and other) numerical library dependencies with
+# 64-bit indexing enabled (experimental; requires 64-bit system and
+# compiler).  The usual configuration is to build with ENABLE_64 but
+# not ENABLE_FORTRAN_INT64.
+ENABLE_FORTRAN_INT64 := @ENABLE_FORTRAN_INT64@
+
+# create binary octave forge tools.
+# if cross, compiling, this also means we will attempt to create cross mkoctfile
+ENABLE_BINARY_PACKAGES := @ENABLE_BINARY_PACKAGES@
+
+# Set to "no" to build a minimal Octave that runs on the build system.
+# That version can be used for cross-building binary packages that depend
+# on Octave as a build tool. If "yes", it is tried to use an Octave that
+# is already installed on the build system (default is "yes").
+USE_SYSTEM_OCTAVE := @USE_SYSTEM_OCTAVE@
+
+# create and install devel tools (default no)
+ENABLE_DEVEL_TOOLS := @ENABLE_DEVEL_TOOLS@
+
+# use qt5 instead of qt4
+ENABLE_QT5 := @ENABLE_QT5@
+
+# Set to "yes" to use msys2
+USE_MSYS2 := @USE_MSYS2@
+
 # Should match what config.guess prints for your system.
-# If cross compiling, you must set it manually.
+# If cross compiling, you must set it manually (defaults are set by configure).
 ifeq ($(MXE_NATIVE_BUILD),yes)
-  TARGET := $(shell tools/config.guess)
+  TARGET := $(shell $(TOP_DIR)/tools/config.guess)
 else
-  TARGET := i686-pc-mingw32
+  TARGET := @MXE_TARGET@
 endif
-BUILD_SYSTEM := $(shell tools/config.guess)
+BUILD_SYSTEM := $(shell $(TOP_DIR)/tools/config.guess)
 
 # Enable shared or static libs, or perhaps both.  Probably it doesn't
 # make sense to disable both...
@@ -37,9 +96,8 @@
 
 USE_PIC_FLAG := @USE_PIC_FLAG@
 
-# Attempt to build Octave and dependencies with 64-bit indexing
-# enabled (experimental; requires 64-bit system and compiler).
-ENABLE_64 := @ENABLE_64@
+# Compile Qhull with -fno-strict-aliasing flag.
+ENABLE_QHULL_NO_STRICT_ALIASING_FLAG := @ENABLE_QHULL_NO_STRICT_ALIASING_FLAG@
 
 # Attempt to build with support for Java.
 ENABLE_JAVA := @ENABLE_JAVA@
@@ -47,9 +105,15 @@
 # Attempt to build LLVM and enable Octave's experimental JIT compiler.
 ENABLE_JIT := @ENABLE_JIT@
 
+# Build octave docs 
+ENABLE_DOCS := @ENABLE_DOCS@
+
 # Use openblas for octave
 ENABLE_OPENBLAS := @ENABLE_OPENBLAS@
 
+# Install dependancy pkg docs
+ENABLE_DEP_DOCS := @ENABLE_DEP_DOCS@
+
 # Look in lib64 directory.
 MXE_USE_LIB64_DIRECTORY := @ENABLE_LIB64_DIRECTORY@
 
@@ -82,7 +146,7 @@
 # and it's not clear to me how to change that.
 #
 # For native builds, dump everything all together in one directory tree.
-ROOT_PREFIX := $(PWD)/usr
+ROOT_PREFIX := $(TOP_BUILD_DIR)/usr
 BUILD_TOOLS_PREFIX := $(ROOT_PREFIX)
 ifeq ($(MXE_NATIVE_BUILD),yes)
   HOST_PREFIX := $(ROOT_PREFIX)
@@ -95,20 +159,56 @@
 $(shell mkdir -p $(BUILD_TOOLS_PREFIX))
 $(shell mkdir -p $(HOST_PREFIX))
 
-# At least one package uses --with instead of --enable.  
+## The mk-hg-id.sh script will be executed each time Make runs.  It will
+## update the HG-ID file in the build tree.
+$(shell $(TOP_DIR)/tools/mk-hg-id.sh "$(TOP_DIR)")
+
+## At least one package uses --with instead of --enable.
+## Some cmake packages use BUILD_STATIC_LIBS and at least
+## one uses ONLY_SHARED_LIBS
 ifeq ($(BUILD_SHARED),yes)
   ifeq ($(BUILD_STATIC),yes)
     ENABLE_SHARED_OR_STATIC := --enable-shared --enable-static
     WITH_SHARED_OR_STATIC := --with-shared --with-static
+    CMAKE_BUILD_SHARED_OR_STATIC := -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DONLY_SHARED_LIBS=OFF
   else
     ENABLE_SHARED_OR_STATIC := --enable-shared --disable-static
     WITH_SHARED_OR_STATIC := --with-shared --without-static
+    CMAKE_BUILD_SHARED_OR_STATIC := -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF -DONLY_SHARED_LIBS=ON
   endif
 else
   ENABLE_SHARED_OR_STATIC := --disable-shared --enable-static
   WITH_SHARED_OR_STATIC := --without-shared --with-static
+  CMAKE_BUILD_SHARED_OR_STATIC := -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON -DONLY_SHARED_LIBS=OFF
 endif
 
+ifeq ($(ENABLE_DEP_DOCS),no)
+  MXE_DISABLE_DOCS := \
+    man_MANS= \
+    dist_man_MANS= \
+    man1_MANS= \
+    dist_man1_MANS= \
+    man2_MANS= \
+    man3_MANS= \
+    dist_man3_MANS= \
+    man4_MANS= \
+    man5_MANS= \
+    dist_man5_MANS= \
+    doc_DATA= \
+    dist_doc_DATA= \
+    html_DATA= \
+    dist_html_DATA= \
+    pkghtml_DATA= \
+    examples_DATA= \
+    dist_examples_SCRIPTS= \
+    dist_apidoc_DATA= \
+    INFO_DEPS= 
+else
+  MXE_DISABLE_DOCS :=
+endif
+
+MXE_DISABLE_PROGS := bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= 
+
 ifeq ($(USE_PIC_FLAG),yes)
   MXE_CC_PICFLAG := -fPIC
   MXE_CXX_PICFLAG := -fPIC
@@ -116,18 +216,31 @@
 endif
 
 JOBS               := 1
-SOURCEFORGE_MIRROR := freefr.dl.sourceforge.net
-PKG_MIRROR         := s3.amazonaws.com/mxe-pkg
-PKG_CDN            := d1yihgixbnrglp.cloudfront.net
+SOURCEFORGE_MIRROR := downloads.sourceforge.net
+MXE_MIRROR         := https://mirror.mxe.cc/pkg
+MXE_OCTAVE_MIRROR  := https://octave.org/mxe-pkg-src
+PKG_MIRROR         := https://s3.amazonaws.com/mxe-pkg
+PKG_CDN            := http://d1yihgixbnrglp.cloudfront.net
+GITLAB_BACKUP      := https://gitlab.com/starius/mxe-backup2/raw/master
+# reorder as required, ensuring final one is a http fallback
+MIRROR_SITES       := GITLAB_BACKUP MXE_MIRROR PKG_MIRROR PKG_CDN MXE_OCTAVE_MIRROR
 
 SHELL := @SHELL@
 
+GREP       ?= grep
 INSTALL    := $(shell ginstall --help >/dev/null 2>&1 && echo g)install
 PATCH      := $(shell gpatch --help >/dev/null 2>&1 && echo g)patch
 SED        := $(shell gsed --help >/dev/null 2>&1 && echo g)sed
-WGET       := wget --no-check-certificate \
-                   --user-agent=$(shell wget --version | \
-                   $(SED) -n 's,GNU \(Wget\) \([0-9.]*\).*,\1/\2,p')
+SORT       := $(shell gsort --help >/dev/null 2>&1 && echo g)sort
+## The --compression option for wget is new in 1.19.2 and now without
+## using --compression=none, wget seems to uncompress .gz archives
+## automatically?!?
+WGET_TOOL   = wget
+WGET_COMP  := $(shell $(WGET_TOOL) --compression=none --help >/dev/null 2>&1 && echo x--compression=none | $(SED) 's/x//')
+DEFAULT_UA := $(shell $(WGET_TOOL) --version | $(SED) -n 's,GNU \(Wget\) \([0-9.]*\).*,\1/\2,p')
+WGET        = $(WGET_TOOL) $(WGET_COMP) --no-check-certificate \
+                 --user-agent='$(or $($(1)_UA),$(DEFAULT_UA))'
+
 # The MSYS GNU tar does not support long uid/gid, leading to unpacking
 # errors for some archives. Bsdtar does not have that limitation, so
 # use it on Win32 platform if GNU tar fails to unpack the archive.
@@ -138,27 +251,29 @@
     TAR  := tar
 endif
 
-REQUIREMENTS := bash bzip2 $(MAKE) openssl $(PATCH) $(PERL) \
+REQUIREMENTS := bash bzip2 $(MAKE) $(PATCH) $(PERL) \
                 $(SED) tar unzip wget
 
 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
   REQUIREMENTS += bsdtar
 endif
 
-# if we want jit (llvm) we need python
-ifeq ($(ENABLE_JIT),yes)
-  REQUIREMENTS += python
-endif
-
 LIBTOOL     := libtool
 LIBTOOLIZE  := libtoolize
 
 ## Build tools are tools that we need to build everything else.
 ## They run on the build system.  Some, like gcc and binutils may
 ## generate output that runs on the host system (TARGET in MXE terms).
-ALL_BUILD_TOOLS := $(patsubst src/%.mk, %, $(wildcard src/build-*.mk))
+ALL_BUILD_TOOLS := $(shell $(SED) -n 's/^.* class="package">\(build-[^<]*\)<.*$$/\1/p' '$(TOP_DIR)/index.html')
+
 BUILD_COMPILER_TOOLS := build-gcc build-binutils
 BUILD_TOOLS := $(ALL_BUILD_TOOLS)
+# some build tools are optional and added as explicit dependencies
+# to packages that need them
+BUILD_TOOLS_OPT := \
+  build-mako build-markupsafe build-meson build-ninja build-python3 \
+  build-python build-octave build-setuptools build-scons
+BUILD_TOOLS := $(filter-out $(BUILD_TOOLS_OPT), $(BUILD_TOOLS))
 # Building flex for native mingw fails, so disable it.
 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
   REQUIREMENTS += flex
@@ -180,7 +295,18 @@
   REQUIREMENTS += makeinfo xz
   BUILD_TOOLS := $(filter-out build-texinfo build-xz, $(BUILD_TOOLS))
 endif
+# use the a native python in native mingw
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+  REQUIREMENTS += python3
+  BUILD_TOOLS := $(filter-out build-python3, $(BUILD_TOOLS))
+endif
+PYTHON3 ?= python3
 
+# use the a native awk in native mingw
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+  REQUIREMENTS += awk
+  BUILD_TOOLS := $(filter-out build-gawk, $(BUILD_TOOLS))
+endif
 
 ifeq ($(USE_SYSTEM_GCC),yes)
   BUILD_TOOLS := $(filter-out $(BUILD_COMPILER_TOOLS), $(BUILD_TOOLS))
@@ -189,26 +315,48 @@
   BUILD_TOOLS := $(filter-out build-msvctools, $(BUILD_TOOLS))
 endif
 
-STAMP_DIR  := $(PWD)/installed-packages
-MSYS_INFO_DIR := $(PWD)/msys-info
-LOG_DIR    := $(PWD)/log
+STAMP_DIR  := $(TOP_BUILD_DIR)/installed-packages
+BUILT_PKGS_DIR := $(TOP_BUILD_DIR)/built-packages
+MSYS_INFO_DIR := $(TOP_BUILD_DIR)/msys-info
+LOG_DIR    := $(TOP_BUILD_DIR)/log
 TIMESTAMP  := $(shell date +%Y%m%d_%H%M%S)
-PKG_DIR    := $(PWD)/pkg
-TMP_DIR     = $(PWD)/tmp-$(1)
-TOP_DIR    := $(PWD)
-MAKEFILE   := $(TOP_DIR)/Makefile
-PKGS       := $(filter-out $(ALL_BUILD_TOOLS), $(shell $(SED) -n 's/^.* id="\([^"]*\)-package">.*$$/\1/p' '$(TOP_DIR)/index.html'))
+PKG_DIR    := @PKG_DIR@
+TMP_DIR     = $(TOP_BUILD_DIR)/tmp-$(1)
+MAKEFILE   := $(TOP_BUILD_DIR)/Makefile
+PKGS       := $(filter-out $(ALL_BUILD_TOOLS), $(shell $(SED) -n 's/^.* class="package">\([^<]*\)<.*$$/\1/p' '$(TOP_DIR)/index.html'))
+PKGS += $(BUILD_TOOLS_OPT)
 
+ENV_PATH := $(PATH)
 PATH := $(BUILD_TOOLS_PREFIX)/bin:$(PATH)
+ifeq ($(USE_CCACHE),yes)
+  PATH := $(BUILD_TOOLS_PREFIX)/bin/ccache:$(PATH)
+  CCACHE_LINKS_TARGET := ccache-links
+endif
+
+ENV_PKG_CONFIG_PATH := $(PKG_CONFIG_PATH)
+
+BUILD_PKG_CONFIG_PATH ?= @BUILD_PKG_CONFIG_PATH@
 
 CONFIGURE_CPPFLAGS := CPPFLAGS='-I$(HOST_PREFIX)/include'
 ifeq ($(MXE_USE_LIB64_DIRECTORY),yes)
   CONFIGURE_LDFLAGS := LDFLAGS='-L$(HOST_PREFIX)/lib -L$(HOST_PREFIX)/lib64'
+  PKG_CONFIG_PATH := $(HOST_PREFIX)/lib/pkgconfig:$(HOST_PREFIX)/lib64/pkgconfig
+  export PKG_CONFIG_PATH
 else
   CONFIGURE_LDFLAGS := LDFLAGS='-L$(HOST_PREFIX)/lib'
+  PKG_CONFIG_PATH := $(HOST_PREFIX)/lib/pkgconfig
+  export PKG_CONFIG_PATH
 endif
 CONFIGURE_POST_HOOK := true
 
+HOST_BINDIR := $(HOST_PREFIX)/bin
+HOST_LIBDIR := $(HOST_PREFIX)/lib
+HOST_LIB64DIR := $(HOST_PREFIX)/lib64
+HOST_INCDIR := $(HOST_PREFIX)/include
+
+CMAKE_HOST_PREFIX := $(HOST_PREFIX)
+CMAKE_ROOT_PREFIX := $(ROOT_PREFIX)
+
 ifeq ($(MXE_NATIVE_BUILD),yes)
   MXE_TOOL_PREFIX := 
   ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
@@ -263,6 +411,14 @@
     MXE_PKG_CONFIG := pkg-config
     MXE_QMAKE := qmake
   endif
+
+  MXE_MOC := $(HOST_BINDIR)/moc
+  MXE_UIC := $(HOST_BINDIR)/uic
+  MXE_LRELEASE := $(HOST_BINDIR)/lrelease
+  MXE_RCC := $(HOST_BINDIR)/rcc
+
+  MXE_MKOCTFILE := $(HOST_BINDIR)/mkoctfile
+  MXE_OCTAVECONFIG := $(HOST_BINDIR)/octave-config
 else
   MXE_TOOL_PREFIX := $(TARGET)-
   MXE_AR := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)ar'
@@ -280,32 +436,59 @@
     MXE_WINDRES := true
   endif
   MXE_PKG_CONFIG := '$(BUILD_TOOLS_PREFIX)/bin/pkg-config'
-  MXE_QMAKE := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)qmake'
+  ifeq ($(ENABLE_QT5),yes)
+    MXE_QMAKE := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)qmake-qt5'
+  else
+    MXE_QMAKE := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)qmake'
+  endif
+
+  MXE_MOC := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)moc'
+  MXE_UIC := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)uic'
+  MXE_LRELEASE := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)lrelease'
+  MXE_RCC := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)rcc'
+
+  MXE_MKOCTFILE := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)mkoctfile'
+  MXE_OCTAVECONFIG := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)octave-config'
 endif
 
 ifeq ($(MXE_SYSTEM),mingw)
   MAKE_SHARED_FROM_STATIC_OPTIONS := --windowsdll
 endif
 
-HOST_BINDIR := $(HOST_PREFIX)/bin
-HOST_LIBDIR := $(HOST_PREFIX)/lib
-HOST_LIB64DIR := $(HOST_PREFIX)/lib64
-HOST_INCDIR := $(HOST_PREFIX)/include
+ENV_LD_LIBRARY_PATH := $(LD_LIBRARY_PATH)
 
 ifeq ($(MXE_SYSTEM),mingw)
+  MXE_WINDOWS_BUILD := yes
   ifneq ($(MXE_NATIVE_BUILD),yes)
     MSYS_URL := http://sourceforge.net/projects/mingw/files/MSYS
     MSYS_BASE_URL := $(MSYS_URL)/Base
     MSYS_EXTENSION_URL := $(MSYS_URL)/Extension
     MSYS_BASE_VER := 1.0.13
     MSYS_EXTENSION_VER := 1.0.13
-    MSYS_BASE_DIR := $(TOP_DIR)/msys-base
-    MSYS_EXTENSION_DIR := $(TOP_DIR)/msys-extension
-    MSYS_BASE_PACKAGES := $(addprefix msys-,bash coreutils diffutils dos2unix file findutils gawk grep gzip less libiconv libintl libmagic make msys-core regex sed tar termcap unzip wget)
+    MSYS_BASE_DIR := $(TOP_BUILD_DIR)/msys-base
+    MSYS_EXTENSION_DIR := $(TOP_BUILD_DIR)/msys-extension
+    MSYS_BASE_PACKAGES := $(addprefix msys-,bash coreutils diffutils dos2unix file findutils gawk grep gzip less libcrypt libiconv libintl libmagic libopenssl make msys-core patch perl regex sed tar termcap unzip zip wget zlib)
+
+    MSYS_BASE_SOURCES := $(addprefix src-,$(MSYS_BASE_PACKAGES))
+    PKGS += $(MSYS_BASE_SOURCES)
+
+    NOTEPAD_BASE_DIR := $(TOP_BUILD_DIR)/notepad++
 
-    NOTEPAD_BASE_DIR := $(TOP_DIR)/notepad++
+    MSYS2_ARCH ?= $(shell echo $(TARGET) | $(SED) -n 's|\([^-]*\).*|\1|p')
+    MSYS2_PACKAGES := $(shell $(SED) -n 's/^.* class="package">\([^<]*\)<.*$$/\1/p' '$(TOP_DIR)/index.html' | $(GREP) msys2-)
+    MSYS2_SOURCES := $(addprefix src-,$(MSYS2_PACKAGES))
+    PKGS += $(MSYS2_SOURCES)
+    MSYS2_BASE_URL := http://repo.msys2.org/msys
+    MSYS2_URL := $(MSYS2_BASE_URL)/$(MSYS2_ARCH)
+    MSYS2_SRC_URL := $(MSYS2_BASE_URL)/sources
+    MSYS2_DIR := $(TOP_BUILD_DIR)/msys2
+
+    MSYS2_UPDATE_TMP_FILE := $(TOP_BUILD_DIR)/msys_updates.html
   endif
-else ifneq ($(MXE_SYSTEM),msvc)
+else ifeq ($(MXE_SYSTEM),msvc)
+  MXE_WINDOWS_BUILD := yes
+else
+  MXE_WINDOWS_BUILD := no
   MXE_CPPFLAGS := '-I$(HOST_INCDIR)'
   ifeq ($(MXE_USE_LIB64_DIRECTORY),yes)
     MXE_LDFLAGS := '-L$(HOST_LIBDIR) -L$(HOST_LIB64DIR)'
@@ -346,19 +529,44 @@
   MAKE_SHARED_FROM_STATIC_OPTIONS := --windowsdll --msvc --libprefix '$(LIBRARY_PREFIX)' --libsuffix '$(LIBRARY_SUFFIX)'
 endif
 
-OCTAVE_FORGE_BASE_URL := 'http://sourceforge.net/projects/octave/files/Octave Forge Packages/Individual Package Releases'
-OCTAVE_FORGE_PACKAGES := $(addprefix of-,miscellaneous struct optim specfun general signal communications image io statistics control)
+OCTAVE_FORGE_BASE_URL := 'https://sourceforge.net/projects/octave/files/Octave Forge Packages/Individual Package Releases'
+## Packages removed from list because build is broken:
+## None.
+OCTAVE_FORGE_PACKAGES := $(addprefix of-,miscellaneous struct optim general signal communications image io statistics control geometry windows linear-algebra sockets data-smoothing fuzzy-logic-toolkit quaternion fits tsa netcdf ltfat database instrument-control generate_html nurbs strings financial stk splines dataframe lssa queueing ga interval nan ocs mapping tisean video zeromq gsl optiminterp dicom sparsersb audio symbolic matgeom)
+# get ALL deps for all of- packages, regardless of whether building the actual forge package in the installer
+OCTAVE_FORGE_DEPS:= $(sort $(foreach p,$(addprefix $(TOP_DIR)/src/,$(addsuffix .mk,$(OCTAVE_FORGE_PACKAGES))),$(shell $(SED) -n 's/.*_DEPS.*:=\(.*\)/\1/p' $p)))
+
+BLAS_PACKAGES := blas
+ifeq ($(ENABLE_OPENBLAS),yes)
+  BLAS_PACKAGES += openblas
+endif
+
+DEVEL_PACKAGES := 
+ifeq ($(ENABLE_DEVEL_TOOLS),yes)
+  DEVEL_PACKAGES += gdb
+  DEVEL_PACKAGES += cmake
+endif
+
 
 MAKE_SHARED_FROM_STATIC := \
   $(TOP_DIR)/tools/make-shared-from-static $(MAKE_SHARED_FROM_STATIC_OPTIONS)
 
+ifeq ($(USE_CCACHE),yes)
+  CMAKE_CCACHE_FLAGS := \
+    -DCMAKE_CXX_COMPILER_LAUNCHER='$(CCACHE)' \
+    -DCMAKE_C_COMPILER_LAUNCHER='$(CCACHE)' \
+    -DCMAKE_Fortran_COMPILER_LAUNCHER='$(CCACHE)'
+endif
+
 CMAKE_TOOLCHAIN_FILE := $(HOST_PREFIX)/share/cmake/mxe-conf.cmake
+CMAKE_NATIVE_TOOLCHAIN_FILE := $(TOP_BUILD_DIR)/usr/share/cmake/native-conf.cmake
 
 # unexport any environment variables that might cause trouble
 unexport AR CC CFLAGS C_INCLUDE_PATH CPATH CPLUS_INCLUDE_PATH CPP F77 FFLAGS
 unexport CPPFLAGS CROSS CXX CXXCPP CXXFLAGS EXEEXT EXTRA_CFLAGS
 unexport EXTRA_LDFLAGS LD LDFLAGS LIBRARY_PATH LIBS NM
 unexport OBJC_INCLUDE_PATH PKG_CONFIG QMAKESPEC RANLIB STRIP
+unexport CONFIG_SITE
 
 SHORT_PKG_VERSION = \
     $(word 1,$(subst ., ,$($(1)_VERSION))).$(word 2,$(subst ., ,$($(1)_VERSION)))
@@ -367,68 +575,147 @@
     $(if $(filter %.tgz,     $(1)),$(3) xzf '$(1)', \
     $(if $(filter %.tar.gz,  $(1)),$(3) xzf '$(1)', \
     $(if $(filter %.tar.bz2, $(1)),$(3) xjf '$(1)', \
+    $(if $(filter %.tar.lz, $(1)),$(3) xaf '$(1)', \
     $(if $(filter %.tar.lzma,$(1)),xz -dc -F lzma '$(1)' | $(3) xf -, \
     $(if $(filter %.tar.xz,$(1)),xz -dc '$(1)' | $(3) xf -, \
     $(if $(filter %.zip,     $(1)),unzip -q '$(1)', \
-    $(error Unknown archive format for $(2): $(1))))))))
+    $(error Unknown archive format for $(2): $(1)))))))))
 
 UNPACK_PKG_ARCHIVE = \
     $(if $(value $(1)_FILE),$(call UNPACK_ARCHIVE,$(PKG_DIR)/$($(1)_FILE),$(1),$(2)),true)
 
 PKG_CHECKSUM = \
-    openssl sha1 '$(PKG_DIR)/$($(1)_FILE)' 2>/dev/null | $(SED) -n 's,^.*\([0-9a-f]\{40\}\)$$,\1,p'
+    openssl sha1 $(or $(2),'$(PKG_DIR)/$($(1)_FILE)') 2>/dev/null | $(SED) -n 's,^.*\([0-9a-f]\{40\}\)$$,\1,p'
 
 CHECK_PKG_ARCHIVE = \
-    [ -z "$($(1)_CHECKSUM)" -o '$($(1)_CHECKSUM)' == "`$$(call PKG_CHECKSUM,$(1))`" ]
+    $(if $($(1)_SOURCE_TREE),\
+        echo '[local]' '$(1)' '$($(1)_SOURCE_TREE)' \
+    $(else),$(if $(SKIP_CHECHSUM),true, \
+        [ -z "$($(1)_CHECKSUM)" -o '$($(1)_CHECKSUM)' == "`$$(call PKG_CHECKSUM,$(1),$(2))`" ]\
+    ))
+
+ESCAPE_PKG = \
+	echo '$($(1)_FILE)' | perl -lpe 's/([^A-Za-z0-9])/sprintf("%%%02X", ord($$$$1))/seg'
+
+BACKUP_DOWNLOAD = \
+    (echo "MXE Warning! Downloading $(1) from backup." >&2 && \
+    ($(foreach SITE,$(MIRROR_SITES), \
+        $(WGET) -O '$(TMP_FILE)' $($(SITE))/`$(call ESCAPE_PKG,$(1))` || ) false))
 
 DOWNLOAD_PKG_ARCHIVE = \
-    mkdir -p '$(PKG_DIR)' && \
-    $(if $($(1)_URL_2), \
-        ( $(WGET) -T 30 -t 3 -O- '$($(1)_URL)' || \
-          $(WGET) -O- '$($(1)_URL_2)' || \
-          $(WGET) -O- '$(PKG_MIRROR)/$($(1)_FILE)' || \
-          $(WGET) -O- '$(PKG_CDN)/$($(1)_FILE)' ), \
-        ( $(WGET) -O- '$($(1)_URL)' || \
-          $(WGET) -O- '$(PKG_MIRROR)/$($(1)_FILE)' || \
-          $(WGET) -O- '$(PKG_CDN)/$($(1)_FILE)' )) \
-    $(if $($(1)_FIX_GZIP), \
-        | gzip -d | gzip -9n, \
-        ) \
-    > '$(PKG_DIR)/$($(1)_FILE)' || rm -f '$(PKG_DIR)/$($(1)_FILE)'
+    $(eval TMP_FILE := $(PKG_DIR)/.tmp-$($(1)_FILE)) \
+    $(if $($(1)_SOURCE_TREE),\
+        true\
+    $(else),\
+        mkdir -p '$(PKG_DIR)' && ( \
+            ($(WGET) -T 30 -t 3 -O '$(TMP_FILE)' '$($(1)_URL)' && \
+             $(call CHECK_PKG_ARCHIVE,$(1),'$(TMP_FILE)')) \
+            $(if $($(1)_URL_2), \
+                || (echo "MXE Warning! Downloading $(1) from second URL." >&2 && \
+                    $(WGET) -T 30 -t 3 -O '$(TMP_FILE)' '$($(1)_URL_2)' && \
+                    $(call CHECK_PKG_ARCHIVE,$(1),'$(TMP_FILE)'))) \
+            $(if $(MXE_NO_BACKUP_DL),, \
+                || $(BACKUP_DOWNLOAD)) \
+        ) && cat '$(TMP_FILE)' \
+        $(if $($(1)_FIX_GZIP), \
+            | gzip -d | gzip -9n, \
+            ) \
+        > '$(PKG_DIR)/$($(1)_FILE)' && \
+        $(if $(CREATE_SUFFIXED_ARCHIVE),cp '$(PKG_DIR)/$($(1)_FILE)' '$(PKG_DIR)/$($(1)_FILE)_$($(1)_CHECKSUM)' &&) \
+        rm '$(TMP_FILE)' || \
+        ( echo; \
+          echo 'Download failed!'; \
+          echo; \
+          rm -f '$(PKG_DIR)/$($(1)_FILE)' '$(TMP_FILE)'; )\
+    )
 
 ifeq ($(IGNORE_SETTINGS),yes)
     $(info [ignore settings.mk])
-else ifeq ($(wildcard $(PWD)/settings.mk),$(PWD)/settings.mk)
-    include $(PWD)/settings.mk
+else ifeq ($(wildcard $(TOP_BUILD_DIR)/settings.mk),$(TOP_BUILD_DIR)/settings.mk)
+    include $(TOP_BUILD_DIR)/settings.mk
 else
     $(info [create settings.mk])
     $(shell { \
         echo '#JOBS = $(JOBS)'; \
         echo '#PKGS ='; \
-    } >'$(PWD)/settings.mk')
+    } >'$(TOP_BUILD_DIR)/settings.mk')
 endif
 
 .PHONY: all
-all: configure Makefile octave
+all:
+	$(MAKE) prerequisites
+	$(MAKE) all-targets
+
+.PHONY: prerequisites
+prerequisites: $(TOP_DIR)/configure Makefile $(CCACHE_LINKS_TARGET)
+
+.PHONY: ccache-links
+ccache-links:
+	@echo "creating ccache links"
+	@mkdir -p usr/bin/ccache && \
+	for f in gcc g++ gfortran; do \
+	  if test ! -e usr/bin/ccache/$(MXE_TOOL_PREFIX)$$f; then \
+	    ln -s "$(CCACHE)" usr/bin/ccache/$(MXE_TOOL_PREFIX)$$f; \
+	  fi; \
+	done && \
+	for f in gcc g++ gfortran; do \
+	  if test ! -e usr/bin/ccache/$$f; then \
+	    ln -s "$(CCACHE)" usr/bin/ccache/$$f; \
+	  fi; \
+	done
+
+.PHONY: all-targets
+all-targets: $(OCTAVE_TARGET)
 
 .PHONY: all-packages
 all-packages: $(PKGS)
 
-$(PKGS): $(BUILD_TOOLS) cmake-toolchain-file.stamp
+$(PKGS): $(BUILD_TOOLS) cmake-toolchain-file.stamp cmake-native-toolchain-file.stamp
 
 .PHONY: msys-base
 msys-base:  $(MSYS_BASE_PACKAGES)
 
-.PHONY: octave-forge-packages
-octave-forge-packages: $(OCTAVE_FORGE_PACKAGES)
+.PHONY: msys-base-sources
+msys-base-sources:  $(MSYS_BASE_SOURCES)
+
+define MSYS2_PKG_BUILD
+  cd '$(1)/' && \
+  mkdir -p '$(3)' && \
+  (tar cf $(3)/$($(PKG)_FILE) '.') && \
+  (TMP="$(3)" \
+  $(PYTHON3) $(TOP_DIR)/tools/msys2-install.py --verbose --msys-dir="$(MSYS2_DIR)" "$(3)/$($(PKG)_FILE)")
+endef
+
+define MSYS2_PKG_UPDATE
+  $(WGET) -q -O- '$(MSYS2_URL)/' | \
+  $(GREP) $($(PKG)_NAME) | $(GREP) "$($(PKG)_FILTER)" | \
+  $(SED) -n 's,.*href="$($(PKG)_NAME)-\(r\?[0-9][^-]*-[0-9]*\)-[^\.]*\.pkg\.tar\.xz".*,\1,p' | \
+  $(SORT) -V | \
+  tail -1
+endef
 
-configure: configure.ac
-	autoconf
+.PHONY: msys2
+msys2:  $(MSYS2_PACKAGES)
+
+.PHONY: msys2-sources
+msys2-sources:  $(MSYS2_SOURCES)
+
+.PHONY: octave-forge-packages
+octave-forge-packages: $(OCTAVE_FORGE_DEPS) $(OCTAVE_FORGE_PACKAGES)
 
-config.status: configure
+.PHONY: blas-packages
+blas-packages: $(BLAS_PACKAGES)
+
+.PHONY: devel-packages
+devel-packages: $(DEVEL_PACKAGES)
+
+$(TOP_DIR)/configure: $(TOP_DIR)/configure.ac
+	cd $(TOP_DIR) && autoconf
+
+config.status: $(TOP_DIR)/configure
 	$(SHELL) ./config.status --recheck
 
-Makefile: Makefile.in config.status
+Makefile: $(TOP_DIR)/Makefile.in config.status
 	$(SHELL) ./config.status Makefile
 
 .PHONY: check-requirements
@@ -460,11 +747,20 @@
 $(STAMP_DIR)/check-requirements: $(MAKEFILE)
 	@echo '[check requirements]'
 	$(foreach REQUIREMENT,$(REQUIREMENTS),$(call CHECK_REQUIREMENT,$(REQUIREMENT)))
+ifneq ($(MXE_NATIVE_BUILD),yes)
+  ifeq ($(USE_SYSTEM_OCTAVE),yes)
+    ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+	@if ! octave -W --version | head -1 | grep ' \($($(OCTAVE_TARGET)_VERSION)\)$$' >/dev/null; then \
+	  echo "Warning - could not find native build version $($(OCTAVE_TARGET)_VERSION) of Octave - some packages may fail, but continuing"; \
+	fi
+    endif
+  endif
+endif
 	@[ -d '$(STAMP_DIR)' ] || mkdir -p '$(STAMP_DIR)'
 	@if test "$(USE_SYSTEM_GCC)" = yes; then \
 	  $(INSTALL) -d '$(BUILD_TOOLS_PREFIX)/bin' ; \
-	  $(INSTALL) -m 755 tools/config.guess '$(BUILD_TOOLS_PREFIX)/bin/config.guess' ; \
-	  $(INSTALL) -m 755 tools/config.sub '$(BUILD_TOOLS_PREFIX)/bin/config.sub' ; \
+	  $(INSTALL) -m 755 $(TOP_DIR)/tools/config.guess '$(BUILD_TOOLS_PREFIX)/bin/config.guess' ; \
+	  $(INSTALL) -m 755 $(TOP_DIR)/tools/config.sub '$(BUILD_TOOLS_PREFIX)/bin/config.sub' ; \
 	fi
 	@touch '$@'
 
@@ -472,11 +768,6 @@
 
 
 endef
-$(eval $(subst #,$(newline),$(shell \
-    $(SED) -n \
-        's/^.* id="\([A-Za-z0-9_+-]*\)-version">\([^<]*\)<.*$$/\1_VERSION := \2#/p' \
-        '$(TOP_DIR)/index.html' \
-)))
 
 include $(patsubst %,$(TOP_DIR)/src/%.mk,$(ALL_BUILD_TOOLS))
 include $(patsubst %,$(TOP_DIR)/src/%.mk,$(PKGS))
@@ -505,15 +796,47 @@
     fi
 endef
 
-define INSTALL_DESTDIR
-    if [ -d '$(1)$(ROOT_PREFIX)' ]; then \
-        (cd '$(1)$(ROOT_PREFIX)' && tar c .) | (cd '$(ROOT_PREFIX)' && tar x -p); \
+define CREATE_PKG
+    [ -d '$(BUILT_PKGS_DIR)' ] || mkdir -p '$(BUILT_PKGS_DIR)'; \
+    if [ -d '$(2)$(ROOT_PREFIX)' ]; then \
+        (cd '$(2)$(ROOT_PREFIX)' && tar caf '$(BUILT_PKGS_DIR)/$(1).tar.xz' .); \
     fi; \
-    if [ "$(ROOT_PREFIX)" != "$(CMAKE_ROOT_PREFIX)" ] && [ -d '$(1)$(CMAKE_ROOT_PREFIX)' ]; then \
-        (cd '$(1)$(CMAKE_ROOT_PREFIX)' && tar c .) | (cd '$(ROOT_PREFIX)' && tar x -p); \
+    if [ "$(ROOT_PREFIX)" != "$(CMAKE_ROOT_PREFIX)" ] && [ -d '$(2)$(CMAKE_ROOT_PREFIX)' ]; then \
+        (cd '$(2)$(CMAKE_ROOT_PREFIX)' && tar caf '$(BUILT_PKGS_DIR)/$(1).tar.xz' .); \
     fi
 endef
 
+define INSTALL_PKG_TO_DESTDIR
+    (cd '$(ROOT_PREFIX)' && tar xaf '$(BUILT_PKGS_DIR)/$(1).tar.xz')
+endef
+
+define OCTAVE_FORGE_PKG_COMPILE
+  if [ -d '$(1)/src' ]; then \
+    if [ -f '$(1)/src/configure' ]; then \
+      cd '$(1)/src' && ./configure $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) MKOCTFILE='$(MXE_MKOCTFILE)' \
+        OCTAVE_CONFIG='$(MXE_OCTAVECONFIG)' \
+        $(4); \
+    fi; \
+    if [ -f '$(1)/src/Makefile' ]; then \
+      $(MAKE) -C '$(1)/src' MKOCTFILE='$(MXE_MKOCTFILE) --verbose' \
+        OCTAVE_CONFIG='$(MXE_OCTAVECONFIG)' || exit 1; \
+      rm -f $(1)/src/Makefile; \
+    fi; \
+    if [ -f '$(1)/src/configure' ]; then \
+      rm -f $(1)/src/configure; \
+    fi; \
+    find '$(1)/src' -type f -name "*.o" -exec rm -f {} \; ; \
+  fi
+endef
+
+define OCTAVE_FORGE_PKG_BUILD_NOCOMPILE
+    mkdir -p '$(3)$(HOST_PREFIX)/src'
+    cd '$(1)/..' \
+      && tar cvfz $($(PKG)_FILE) $($(PKG)_SUBDIR) \
+      && $(INSTALL) -m644 '$($(PKG)_FILE)' '$(3)$(HOST_PREFIX)/src'
+endef
+
 ifeq ($(MXE_SYSTEM),msvc)
 define OCTAVE_FORGE_PKG_BUILD
     $(INSTALL) -d '$(3)$(HOST_PREFIX)/local/octave-$(octave_VERSION)/share/octave'
@@ -526,20 +849,69 @@
 endef
 else
 define OCTAVE_FORGE_PKG_BUILD
-    mkdir -p '$(3)$(HOST_PREFIX)/src'
-    cd '$(1)/..' \
-      && tar cvfz $($(PKG)_FILE) $($(PKG)_SUBDIR) \
-      && $(INSTALL) -m644 '$(PKG_DIR)/$($(PKG)_FILE)' '$(3)$(HOST_PREFIX)/src'
+    if [ $(ENABLE_BINARY_PACKAGES) = no ]; then \
+      mkdir -p '$(3)$(HOST_PREFIX)/src'; \
+      cd '$(1)/..' \
+        && tar cvfz $($(PKG)_FILE) $($(PKG)_SUBDIR) \
+        && $(INSTALL) -m644 '$($(PKG)_FILE)' '$(3)$(HOST_PREFIX)/src'; \
+    else \
+      cd '$(1)/..' && \
+      tar cfz $($(PKG)_FILE) $($(PKG)_SUBDIR) && \
+        OCTAVE_CONFIG=$(MXE_OCTAVECONFIG) TMP="$(1)/.." \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        MKOCTFILE=$(MXE_MKOCTFILE) MAKE=$(MAKE) \
+        CONFIGURE_OPTIONS="$(HOST_AND_BUILD_CONFIGURE_OPTIONS)" $(4) \
+        $(PYTHON3) $(TOP_DIR)/tools/pkg-install.py install -verbose "$($(PKG)_FILE)"; \
+     fi
 endef
 endif
 
+define OCTAVE_FORGE_PKG_UPDATE
+    $(WGET) -q -O- 'https://sourceforge.net/projects/octave/files/Octave%20Forge%20Packages/Individual%20Package%20Releases/' | \
+    $(SED) -n 's,.*title="$(subst of-,,$(PKG))-\([0-9][^"]*\).tar.gz".*,\1,p' | \
+    head -1
+endef
+
+define PREPARE_PKG_SOURCE
+    ( cd '$(2)' && $(call UNPACK_PKG_ARCHIVE,$(1),$(TAR)) ) || \
+	    $(if $(TAR2), \
+		 ( rm -rf '$(2)'; mkdir -p '$(2)'; \
+		   cd '$(2)' && $(call UNPACK_PKG_ARCHIVE,$(1),$(TAR2)) ), \
+		 false )
+    test ! -d '$(TOP_DIR)/src/$(1)' || cp -a '$(TOP_DIR)/src/$(1)' '$(2)'
+    cd '$(2)/$($(1)_SUBDIR)'
+    $(foreach PKG_PATCH,$(sort $(wildcard $(TOP_DIR)/src/$(1)-*.patch)),
+	(cd '$(2)/$($(1)_SUBDIR)' && $(PATCH) -p1 -u) < $(PKG_PATCH))
+    $(foreach PKG_PATCH,$(sort $(wildcard $(TOP_DIR)/src/$(MXE_SYSTEM)-$(1)-*.patch)),
+	(cd '$(2)/$($(1)_SUBDIR)' && $(PATCH) -p1 -u) < $(PKG_PATCH))
+endef
+
 define PKG_RULE
 .PHONY: download-$(1)
-download-$(1): $(addprefix download-,$($(1)_DEPS))
-	if ! $(call CHECK_PKG_ARCHIVE,$(1)); then \
-	    $(call DOWNLOAD_PKG_ARCHIVE,$(1)); \
-	    $(call CHECK_PKG_ARCHIVE,$(1)) || { echo 'Wrong checksum!'; exit 1; }; \
-	fi
+.PHONY: download-$($(1)_FILE)
+download-$(1): download-$($(1)_FILE)
+download-$($(1)_FILE)::
+	$(and $($(1)_URL),
+	@$$(if $$(REMOVE_DOWNLOAD),rm -f '$(PKG_DIR)/$($(1)_FILE)')
+	@if ! $(call CHECK_PKG_ARCHIVE,$(1)); then \
+	    echo '[download]' '$($(1)_FILE)'; \
+	    [ -d '$(LOG_DIR)/$(TIMESTAMP)' ] || mkdir -p '$(LOG_DIR)/$(TIMESTAMP)'; \
+	    ($(call DOWNLOAD_PKG_ARCHIVE,$(1))) &> '$(LOG_DIR)/$(TIMESTAMP)/$(1)-download'; \
+	    grep 'MXE Warning' '$(LOG_DIR)/$(TIMESTAMP)/$(1)-download'; \
+	    ln -sf '$(TIMESTAMP)/$(1)-download' '$(LOG_DIR)/$(1)-download'; \
+	    if ! $(call CHECK_PKG_ARCHIVE,$(1)); then \
+	        echo; \
+	        echo 'Download failed or wrong checksum of package $(1)!'; \
+	        echo '------------------------------------------------------------'; \
+	        $(if $(findstring undefined, $(origin MXE_VERBOSE)),\
+	            tail -n 10 '$(LOG_DIR)/$(1)-download' | $(SED) -n '/./p';, \
+	            $(SED) -n '/./p' '$(LOG_DIR)/$(1)-download';) \
+	        echo '------------------------------------------------------------'; \
+	        echo '[log]      $(LOG_DIR)/$(1)-download'; \
+	        echo; \
+	        exit 1; \
+	    fi; \
+	fi)
 
 .PHONY: $(1)
 $(1): $(STAMP_DIR)/$(1)
@@ -549,34 +921,19 @@
                           $(wildcard $(TOP_DIR)/src/$(1)-test*) \
 			  $(shell test -d $(TOPDIR)/src/$(1) && find $(TOPDIR)/src/$(1) -type f) \
                           $(addprefix $(STAMP_DIR)/,$($(1)_DEPS)) \
-                          | check-requirements
-	@[ -d '$(LOG_DIR)/$(TIMESTAMP)' ] || mkdir -p '$(LOG_DIR)/$(TIMESTAMP)'
-	@if ! $(call CHECK_PKG_ARCHIVE,$(1)); then \
-	    echo '[download] $(1)'; \
-	    touch '$(LOG_DIR)/$(TIMESTAMP)/$(1)-download'; \
-	    ln -sf '$(TIMESTAMP)/$(1)-download' '$(LOG_DIR)/$(1)-download'; \
-	    ($(call DOWNLOAD_PKG_ARCHIVE,$(1))) &> '$(LOG_DIR)/$(1)-download'; \
-	    if ! $(call CHECK_PKG_ARCHIVE,$(1)); then \
-	        echo; \
-	        echo 'Wrong checksum of package $(1)!'; \
-	        echo '------------------------------------------------------------'; \
-	        tail -n 10 '$(LOG_DIR)/$(1)-download' | $(SED) -n '/./p'; \
-	        echo '------------------------------------------------------------'; \
-	        echo '[log]      $(LOG_DIR)/$(1)-download'; \
-	        echo; \
-	        exit 1; \
-	    fi; \
-	fi
+                          | check-requirements \
+                          $(addprefix download-,$(1))
 	$(if $(value $(1)_BUILD),
 	    @echo '[build]    $(1)'
 	    ,)
+	@[ -d '$(LOG_DIR)/$(TIMESTAMP)' ] || mkdir -p '$(LOG_DIR)/$(TIMESTAMP)'
 	@touch '$(LOG_DIR)/$(TIMESTAMP)/$(1)'
 	@ln -sf '$(TIMESTAMP)/$(1)' '$(LOG_DIR)/$(1)'
 	@if ! (time $(MAKE) -f '$(MAKEFILE)' 'build-only-$(1)') &> '$(LOG_DIR)/$(1)'; then \
 	    echo; \
 	    echo 'Failed to build package $(1)!'; \
 	    echo '------------------------------------------------------------'; \
-	    tail -n 10 '$(LOG_DIR)/$(1)' | $(SED) -n '/./p'; \
+	    tail -n 30 '$(LOG_DIR)/$(1)' | $(SED) -n '/./p'; \
 	    echo '------------------------------------------------------------'; \
 	    echo '[log]      $(LOG_DIR)/$(1)'; \
 	    echo; \
@@ -590,24 +947,15 @@
 	$(if $(value $(1)_BUILD),
 	    rm -rf   '$(2)' '$(2)-install'
 	    mkdir -p '$(2)'
-	    ( cd '$(2)' && $(call UNPACK_PKG_ARCHIVE,$(1),$(TAR)) ) || \
-		    $(if $(TAR2), \
-		         ( rm -rf '$(2)'; mkdir -p '$(2)'; \
-		           cd '$(2)' && $(call UNPACK_PKG_ARCHIVE,$(1),$(TAR2)) ), \
-			 false )
-	    test ! -d '$(TOP_DIR)/src/$(1)' || cp -a '$(TOP_DIR)/src/$(1)' '$(2)'
-	    cd '$(2)/$($(1)_SUBDIR)'
-	    $(foreach PKG_PATCH,$(sort $(wildcard $(TOP_DIR)/src/$(1)-*.patch)),
-	        (cd '$(2)/$($(1)_SUBDIR)' && $(PATCH) -p1 -u) < $(PKG_PATCH))
-	    $(foreach PKG_PATCH,$(sort $(wildcard $(TOP_DIR)/src/$(MXE_SYSTEM)-$(1)-*.patch)),
-	        (cd '$(2)/$($(1)_SUBDIR)' && $(PATCH) -p1 -u) < $(PKG_PATCH))
+	    $$(call PREPARE_PKG_SOURCE,$(1),$(2))
 	    $$(call $(1)_BUILD,$(2)/$($(1)_SUBDIR),$(TOP_DIR)/src/$(1)-test,$(2)-install)
 	    if [ -d '$(2)-install' ]; then \
                 $(call GENERATE_FILE_LIST,$(1),$(2)-install); \
-                $(call INSTALL_DESTDIR,$(2)-install); \
+                $(call CREATE_PKG,$(1),$(2)-install); \
+                $(call INSTALL_PKG_TO_DESTDIR,$(1),$(2)-install); \
 		(du -k -d 0 '$(2)-install' 2>/dev/null || du -k --max-depth 0 '$(2)-install') | \
 			$(SED) -n 's/^\(\S*\).*/du: \1 KiB/p'; \
-		rm -rfv  '$(2)-install'; \
+		[ '$(KEEP_BUILD)' = '1' ] || rm -rfv  '$(2)-install'; \
 	    fi
 	    (du -k -d 0 '$(2)' 2>/dev/null || du -k --max-depth 0 '$(2)') | $(SED) -n 's/^\(\S*\).*/du: \1 KiB/p'
 	    [ '$(KEEP_BUILD)' = '1' ] || rm -rfv  '$(2)'
@@ -622,9 +970,16 @@
 clean:
 	rm -rf $(call TMP_DIR,*) $(BUILD_TOOLS_PREFIX)
 	rm -rf $(STAMP_DIR) $(MSYS_INFO_DIR) $(LOG_DIR)
-	rm -rf $(MSYS_BASE_DIR) $(NOTEPAD_BASE_DIR)
+	rm -rf $(MSYS_BASE_DIR) $(MSYS_EXTENSION_DIR) $(NOTEPAD_BASE_DIR)
+	rm -rf $(MSYS2_DIR)
+	rm -f $(MSYS2_UPDATE_TMP_FILE)
 	rm -rf native-tools cross-tools octave gnuplot
-	rm -f Makefile cmake-toolchain-file.stamp
+	rm -f Makefile cmake-toolchain-file.stamp cmake-native-toolchain-file.stamp
+	rm -f tools/set-mxe-env.sh
+
+.PHONY: realclean
+realclean: clean
+	rm -rf $(BUILT_PKGS_DIR)
 
 .PHONY: clean-pkg
 clean-pkg:
@@ -641,20 +996,81 @@
             $(if $(filter $(2),$($(1)_VERSION)),
                 $(info .        $(1)  $(2)),
                 $(info NEW      $(1)  $($(1)_VERSION) --> $(2))
-                $(SED) -i 's/\( id="$(1)-version"\)>[^<]*/\1>$(2)/' '$(TOP_DIR)/index.html'
+                $(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $(2)/' '$(TOP_DIR)/src/$(1).mk'
                 $(MAKE) -f '$(MAKEFILE)' 'update-checksum-$(1)' \
-                    || { $(SED) -i 's/\( id="$(1)-version"\)>[^<]*/\1>$($(1)_VERSION)/' '$(TOP_DIR)/index.html'; \
+                    || { $(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $($(1)_VERSION)/' '$(TOP_DIR)/src/$(1).mk'; \
                          exit 1; })),
         $(error Unable to update version number of package $(1)))
 
 endef
 update:
-	$(foreach PKG,$(PKGS),$(call UPDATE,$(PKG),$(shell $($(PKG)_UPDATE))))
+	$(foreach PKG,$(PKGS),\
+		$(if $($(PKG)_UPDATE),$(call UPDATE,$(PKG),$(shell $($(PKG)_UPDATE))),$(info Warning: No update rule for $(PKG))))
+
+.PHONY: update-octaveforge
+update-octaveforge:
+	$(foreach PKG,$(OCTAVE_FORGE_PACKAGES),$(call UPDATE,$(PKG),$(shell $($(PKG)_UPDATE))))
+
+.PHONY: update-build-tools
+update-build-tools:
+	$(foreach PKG,$(BUILD_TOOLS),$(call UPDATE,$(PKG),$(shell $($(PKG)_UPDATE))))
 
 update-checksum-%:
 	$(call DOWNLOAD_PKG_ARCHIVE,$*)
 	$(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1 '"`$(call PKG_CHECKSUM,$*)`"'/' '$(TOP_DIR)/src/$*.mk'
 
+.PHONY: update-msys2 update-msys2-filelist
+PKG_MK_CHECKSUM = \
+    $(GREP) _CHECKSUM '$(TOP_DIR)/src/$(1).mk' 2>/dev/null | $(SED) -n 's,^.*\([0-9a-f]\{40\}\)$$,\1,p'
+define MSYS2_UPDATE
+    $(if $(2),
+        $(if $(filter $(2),$($(1)_IGNORE)),
+            $(info IGNORED  $(1)  $(2)),
+            $(if $(filter $(2),$($(1)_VERSION)),
+                $(info .        $(1)  $(2)),
+                $(info NEW      $(1)  $($(1)_VERSION) --> $(2))
+                $(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $(2)/' '$(TOP_DIR)/src/$(1).mk'
+                $(SED) -i 's/^\([^ ]*_i686_CS *:=\).*/\1/' '$(TOP_DIR)/src/$(1).mk'
+                $(SED) -i 's/^\([^ ]*_x86_64_CS *:=\).*/\1/' '$(TOP_DIR)/src/$(1).mk'
+                $(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1/' '$(TOP_DIR)/src/$(1).mk'
+                MSYS2_ARCH=x86_64 $(MAKE) -f '$(MAKEFILE)' 'update-checksum-$(1)' \
+                    || { $(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $($(1)_VERSION)/' '$(TOP_DIR)/src/$(1).mk'; \
+		         $(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1 $$($$(PKG)_CS)/' '$(TOP_DIR)/src/$(1).mk'; \
+			 $(SED) -i 's/^\([^ ]*_i686_CS *:=\).*/\1 $($(1)_i686_CS)' '$(TOP_DIR)/src/$(1).mk'; \
+			 $(SED) -i 's/^\([^ ]*_x86_64_CS *:=\).*/\1 $($(1)_x86_64_CS)' '$(TOP_DIR)/src/$(1).mk'; \
+                         exit 1; }
+	        $(SED) -i 's/^\([^ ]*_x86_64_CS *:=\).*/\1 '"`$(call PKG_MK_CHECKSUM,$(1))`"'/' '$(TOP_DIR)/src/$(1).mk'
+                $(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1/' '$(TOP_DIR)/src/$(1).mk'
+                MSYS2_ARCH=i686 $(MAKE) -f '$(MAKEFILE)' 'update-checksum-$(1)' \
+                    || { $(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $($(1)_VERSION)/' '$(TOP_DIR)/src/$(1).mk'; \
+		         $(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1 $$($$(PKG)_CS)/' '$(TOP_DIR)/src/$(1).mk'; \
+			 $(SED) -i 's/^\([^ ]*_i686_CS *:=\).*/\1 $($(1)_i686_CS)' '$(TOP_DIR)/src/$(1).mk'; \
+                         exit 1; }
+	        $(SED) -i 's/^\([^ ]*_i686_CS *:=\).*/\1 '"`$(call PKG_MK_CHECKSUM,$(1))`"'/' '$(TOP_DIR)/src/$(1).mk'
+		$(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1 $$($$(PKG)_CS)/' '$(TOP_DIR)/src/$(1).mk'
+                $(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $(2)/' '$(TOP_DIR)/src/src-$(1).mk'
+                $(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1/' '$(TOP_DIR)/src/src-$(1).mk'
+                $(MAKE) -f '$(MAKEFILE)' 'update-checksum-src-$(1)' \
+                    || { $(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $(src-$(1)_VERSION)/' '$(TOP_DIR)/src/src-$(1).mk'; \
+                         exit 1; }
+		)),
+        $(error Unable to update version number of package $(1)))
+endef
+
+define MSYS2_PKG_UPDATE_FILE
+  cat $(MSYS2_UPDATE_TMP_FILE) | \
+  $(GREP) $($(PKG)_NAME) | $(GREP) "$($(PKG)_FILTER)" | \
+  $(SED) -n 's,.*href="$($(PKG)_NAME)-\(r\?[0-9][^-]*-[0-9]*\)-[^\.]*\.pkg\.tar\.xz".*,\1,p' | \
+  $(SORT) -V | \
+  tail -1
+endef
+
+update-msys2-filelist:
+	$(shell $(WGET) -q -O$(MSYS2_UPDATE_TMP_FILE) '$(MSYS2_URL)/')
+
+update-msys2: update-msys2-filelist
+	$(foreach PKG,$(MSYS2_PACKAGES),$(call MSYS2_UPDATE,$(PKG),$(shell $(MSYS2_PKG_UPDATE_FILE))))
+
 cleanup-style:
 	@$(foreach FILE,$(wildcard $(addprefix $(TOP_DIR)/,Makefile index.html CNAME src/*.mk src/*test.* tools/*)),\
             $(SED) ' \
@@ -681,16 +1097,6 @@
      if [ $(MXE_SYSTEM) = msvc ]; then \
        echo 'set(MSVC 1)'; \
      fi; \
-     if [ $(BUILD_SHARED) = yes ]; then \
-       echo 'set(BUILD_SHARED_LIBS ON)'; \
-     else \
-       echo 'set(BUILD_SHARED_LIBS OFF)'; \
-     fi; \
-     if [ $(BUILD_STATIC) = yes ]; then \
-       echo 'set(BUILD_STATIC_LIBS ON)'; \
-     else \
-       echo 'set(BUILD_STATIC_LIBS OFF)'; \
-     fi; \
      echo 'set(CMAKE_BUILD_TYPE Release)'; \
      if [ $(MXE_SYSTEM) = msvc ]; then \
          echo 'set(CMAKE_FIND_ROOT_PATH $(HOST_PREFIX_NATIVE))'; \
@@ -717,20 +1123,45 @@
 endef
 
 cmake-toolchain-file.stamp:
-	$(build-cmake-toolchain-file)
-	touch cmake-toolchain-file.stamp
+	@echo [creating CMake toolchain file]
+	@$(build-cmake-toolchain-file)
+	@touch cmake-toolchain-file.stamp
+	@echo [done]
+
+define build-native-cmake-toolchain-file
+    # create the native CMake toolchain file
+    [ -d '$(dir $(CMAKE_NATIVE_TOOLCHAIN_FILE))' ] || mkdir -p '$(dir $(CMAKE_NATIVE_TOOLCHAIN_FILE))'
+    (echo 'set(CMAKE_C_COMPILER $(CC))'; \
+     echo 'set(CMAKE_CXX_COMPILER $(CXX))'; \
+     echo 'set(CMAKE_Fortran_COMPILER $(F77))'; \
+     echo 'set(CMAKE_RC_COMPILER $(WINDRES))'; \
+     echo 'set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")') \
+    > '$(CMAKE_NATIVE_TOOLCHAIN_FILE)'
+endef
+
+cmake-native-toolchain-file.stamp:
+	@echo [creating native CMake toolchain file]
+	@$(build-native-cmake-toolchain-file)
+	@touch cmake-native-toolchain-file.stamp
+	@echo [done]
 
 # Files to distribute
-include dist-files.mk
+include $(TOP_DIR)/dist-files.mk
 
 PACKAGE_VERSION := @PACKAGE_VERSION@
 PACKAGE_TARNAME := @PACKAGE_TARNAME@
 
-distdir := $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
+DIST_FILE_VERSION := $(shell if [ -f HG-ID ]; then cat HG-ID; else echo $(PACKAGE_VERSION); fi)
+
+distdir := $(PACKAGE_TARNAME)-$(DIST_FILE_VERSION)
 
 .PHONY: dist
 dist:
 	rm -rf $(distdir)
 	mkdir $(distdir)
-	$(TAR) cf - $(DIST_FILES) | ( cd $(distdir) ; $(TAR) xpf - )
+	( cd $(TOP_DIR) ; $(TAR) cf - $(DIST_FILES) ) | ( cd $(distdir) ; $(TAR) xpf - )
 	$(TAR) czf $(distdir).tar.gz $(distdir)
+
+include $(TOP_DIR)/binary-dist-rules.mk
+
+include $(TOP_DIR)/hg-octave-dist.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,47 @@
+HISTORY
+=======
+
+mxe-octave was forked from the MXE project(http://mxe.cc) in November
+2012 when I was looking for a reliable way to cross-compile Octave
+for Windows.  At the time, the MXE developers did not seem interested
+in modifying MXE to build shared libraries (.  Since then, MXE has been modified
+
+As stated here:
+http://lists.defectivebydesign.org/archive/html/mingw-cross-env-list/2013-10/msg00006.html
+I never intended to permanently fork MXE, I was only looking for a way
+to build Octave and all its dependencies, primarily for Windows
+systems.
+
+Later, I needed to build Octave for old RHEL and SuSE systems that did
+not have sufficiently recent versions of the build tools or other
+dependencies.  Adapting MXE to handle native builds seemed like a
+reasonable solution at the time, but there always seem to be issues
+with replacing many (but not all) system libraries that are needed to
+support Octave.  At what point do you stop?  You probably don't want
+to build your own OpenGL, X11, or C libraries, and mxe-octave does not
+attempt to build these.
+
+FUTURE
+======
+
+Now that MXE supports static and shared library builds for 32- and
+64-bit Windows systems, it might be good to consider using MXE
+directly and abandon the mxe-octave fork, at least for Windows
+builds.  Instead of mxe-octave duplicating all that MXE does, we could
+use MXE to build the cross tools and cross compile the libraries.
+Everything else could be built using those tools.  We might still end
+up with some duplication, but we would
+
+For native builds, I'm not sure what the best option is.  Many things
+could be simplified in mxe-octave if cross compiling and supporting
+Windows were not required, but there would still be a lot of overlap
+with MXE.  Another option is to use docker, but older kernel versions
+may not support it properly.  For example, for RHEL 6, docker is
+apparently only supported using the EPEL packages, and if people were
+able to use EPEL, then they could probably get dependencies that are
+new enough to build Octave.  I my experience, people using these old
+systems are not willing to use packages from EPEL or similar projects.
+
+John W. Eaton
+jwe@octave.org
+2017-04-11
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/binary-dist-rules.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,281 @@
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  ifeq ($(ENABLE_WINDOWS_64),yes)
+    ifeq ($(ENABLE_FORTRAN_INT64),yes)
+      OCTAVE_PLATFORM_SUFFIX := -w64-64
+    else
+      OCTAVE_PLATFORM_SUFFIX := -w64
+    endif
+  else
+      OCTAVE_PLATFORM_SUFFIX := -w32
+  endif
+endif
+
+ifeq ($(OCTAVE_TARGET),release-octave)
+  OCTAVE_DIST_NAME := octave-$($(OCTAVE_TARGET)_VERSION)$(OCTAVE_PLATFORM_SUFFIX)
+else
+  OCTAVE_DIST_NAME := octave-$(DATE)$(OCTAVE_PLATFORM_SUFFIX)
+endif
+
+OCTAVE_DIST_DIR := $(TOP_BUILD_DIR)/dist/$(OCTAVE_DIST_NAME)
+
+OCTAVE_NSI_FILE := $(TOP_BUILD_DIR)/dist/octave.nsi
+
+OCTAVE_ADD_PATH := /
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  TAR_H_OPTION := -h
+  WINDOWS_BINARY_DIST_DEPS := \
+    win7appid blas_switch
+
+  ifeq ($(USE_MSYS2),yes)
+    WINDOWS_BINARY_DIST_DEPS += \
+      msys2 \
+      msys2-sources
+
+    ifeq ($(ENABLE_WINDOWS_64),yes)
+      OCTAVE_ADD_PATH := /mingw64
+    else
+      OCTAVE_ADD_PATH := /mingw32
+    endif
+  else
+    WINDOWS_BINARY_DIST_DEPS += \
+      msys-base \
+      msys-base-sources
+  endif
+
+  ifeq ($(MXE_NATIVE_BUILD),no)
+    WINDOWS_BINARY_DIST_DEPS += \
+      native-binutils \
+      native-gcc \
+      npp
+  endif
+
+  # other packages we want to include
+  WINDOWS_BINARY_DIST_DEPS += \
+    biosig
+endif
+
+BINARY_DIST_DEPS := \
+  $(OCTAVE_TARGET) \
+  blas-packages \
+  octave-forge-packages \
+  devel-packages \
+  units \
+  transfig \
+  $(WINDOWS_BINARY_DIST_DEPS)
+
+define delete-dist-directory
+  echo "deleting previous dist directory..."
+  rm -rf $(TOP_BUILD_DIR)/dist
+endef
+
+define make-dist-directory
+  echo "creating dist directory..."
+  mkdir -p $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)
+endef
+
+define copy-dist-files
+  echo "copying files..."
+  echo "  octave and dependencies..."
+  cd $(HOST_PREFIX) \
+    && tar -c $(TAR_H_OPTION) -f - . | ( cd $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH) ; tar xpf - )
+  echo "  octaverc file..."
+  cp $(TOP_DIR)/octaverc $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/share/octave/site/m/startup/octaverc
+  if [ $(ENABLE_BINARY_PACKAGES) = no ]; then \
+    echo "  build_packages.m..."; \
+    cp $(TOP_DIR)/build_packages.m $(OCTAVE_DIST_DIR)/src; \
+  fi
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  ifeq ($(MXE_NATIVE_BUILD),no)
+    define copy-windows-dist-files
+      echo "  DLL files..."
+      cp $(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/*.dll $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin
+      cp $(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/*.dll $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin
+      cp $(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/$(build-gcc_VERSION)/*.dll $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin
+      if [ "$(USE_MSYS2)" = "yes" ]; then \
+        echo "  msys2 files..."; \
+        cd $(TOP_BUILD_DIR)/msys2 \
+          && tar -c $(TAR_H_OPTION) -f - . | ( cd $(OCTAVE_DIST_DIR) ; tar xpf - ); \
+      else \
+        echo "  msys base files..."; \
+        cd $(TOP_BUILD_DIR)/msys-base \
+          && tar -c $(TAR_H_OPTION) -f - . | ( cd $(OCTAVE_DIST_DIR) ; tar xpf - ); \
+        echo "  msys extension files..."; \
+        cd $(TOP_BUILD_DIR)/msys-extension \
+          && tar -c $(TAR_H_OPTION) -f - . | ( cd $(OCTAVE_DIST_DIR) ; tar xpf - ); \
+      fi
+      echo "  notepad++..."
+      cd $(TOP_BUILD_DIR) \
+          && tar -c $(TAR_H_OPTION) -f - notepad++ | ( cd $(OCTAVE_DIST_DIR) ; tar xpf - )
+      echo "  README.html..."
+      cp $(TOP_DIR)/installer-files/README.html $(OCTAVE_DIST_DIR)/
+      echo "  refblas..."
+      cp $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin/libblas.dll $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin/librefblas.dll
+      echo "  octave.vbs..."
+      cp $(TOP_DIR)/installer-files/octave.vbs $(OCTAVE_DIST_DIR)/
+      cp $(TOP_DIR)/installer-files/octave-firsttime.vbs $(OCTAVE_DIST_DIR)/
+      cp $(TOP_DIR)/installer-files/fc_update.bat $(OCTAVE_DIST_DIR)/
+      cp $(TOP_DIR)/installer-files/post-install.bat $(OCTAVE_DIST_DIR)/
+      cp $(TOP_BUILD_DIR)/HG-ID $(OCTAVE_DIST_DIR)/
+      echo "  updating octave .exe to script files..."
+      rm -f $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin/octave.exe
+      rm -f $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin/octave-$($(OCTAVE_TARGET)_VERSION).exe
+      cp $(TOP_DIR)/installer-files/octave.bat $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin/octave.bat
+      cp $(TOP_DIR)/installer-files/octave.bat $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin/octave-$($(OCTAVE_TARGET)_VERSION).bat
+      echo "  updating libtool references..."
+      find '$(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/' -type f -name "*.la" \
+        -exec $(SED) -i 's|$(HOST_PREFIX)|/usr|g;s|$(BUILD_TOOLS_PREFIX)|/usr|g' {} \; ;
+      echo "  updating pkg-config .pc references..."
+      find '$(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/lib/pkgconfig' -type f -name "*.pc" \
+        -exec $(SED) -i 's|$(HOST_PREFIX)|/usr|g;s|$(BUILD_TOOLS_PREFIX)|/usr|g' {} \; ;
+      if [ "$(ENABLE_DEVEL_TOOLS)" = "yes" ]; then \
+        cp $(TOP_DIR)/installer-files/cmdshell.bat $(OCTAVE_DIST_DIR)/; \
+      fi
+      echo "  updating script tool references..."
+      #find '$(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin' -type f ! -name "*.*" \
+      #  -exec $(SED) -i 's|$(HOST_PREFIX)|/$(OCTAVE_ADD_PATH)|g;s|$(BUILD_TOOLS_PREFIX)|/$(OCTAVE_ADD_PATH)|g' {} \; ;
+      find '$(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin' -type f ! -name "*.*" \
+        -exec sh -c 'test `head -c2 {}` = "#!" && $(SED) -i "s|$(HOST_PREFIX)|$(OCTAVE_ADD_PATH)|g;s|$(BUILD_TOOLS_PREFIX)|$(OCTAVE_ADD_PATH)|g" {}' \; ;
+      # some additional script files to fix
+      $(SED) -i "s|datadir = '/usr/share'|datadir = '$(OCTAVE_ADD_PATH)/share'|g" '$(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin/makeinfo'
+
+    endef
+  else
+    define copy-windows-dist-files
+      echo "  DLL files..."
+      cp /mingw/bin/*.dll $(OCTAVE_DIST_DIR)/bin
+      echo "  README.html..."
+      cp $(TOP_DIR)/installer-files/README.html $(OCTAVE_DIST_DIR)/
+      echo "  refblas..."
+      cp $(OCTAVE_DIST_DIR)/bin/libblas.dll $(OCTAVE_DIST_DIR)/bin/librefblas.dll
+      echo "  octave.vbs..."
+      cp $(TOP_DIR)/installer-files/octave.vbs $(OCTAVE_DIST_DIR)/
+      cp $(TOP_DIR)/installer-files/octave-firsttime.vbs $(OCTAVE_DIST_DIR)/
+      cp $(TOP_DIR)/installer-files/fc_update.bat $(OCTAVE_DIST_DIR)/
+      cp $(TOP_DIR)/installer-files/post-install.bat $(OCTAVE_DIST_DIR)/
+      echo "  updating octave .exe to script files..."
+      rm -f $(OCTAVE_DIST_DIR)/bin/octave.exe
+      rm -f $(OCTAVE_DIST_DIR)/bin/octave-$($(OCTAVE_TARGET)_VERSION).exe
+      cp $(TOP_DIR)/installer-files/octave.bat $(OCTAVE_DIST_DIR)/bin/octave.bat
+      cp $(TOP_DIR)/installer-files/octave.bat $(OCTAVE_DIST_DIR)/bin/octave-$($(OCTAVE_TARGET)_VERSION).bat
+    endef
+  endif
+endif
+
+define make-dist-files-writable
+  echo "making all dist files writable by user..."
+  chmod -R u+w $(OCTAVE_DIST_DIR)
+endef
+
+ifeq ($(STRIP_DIST_FILES),yes)
+  ifeq ($(MXE_WINDOWS_BUILD),yes)
+    define strip-dist-files
+      echo "stripping files..."
+      for f in `find $(OCTAVE_DIST_DIR) -name '*.dll' -o -name '*.exe' -o -name '*.oct' | $(GREP) -v "notepad++" | $(GREP) -v "msys-2.0.dll"`; do \
+        if [ "$$(head -n1 $$f | cut -c1-2)" != "#!" ]; then \
+          $(MXE_STRIP) $$f; \
+        fi; \
+      done
+    endef
+  else
+    define strip-dist-files
+      echo "stripping files..."
+      for f in `find $(OCTAVE_DIST_DIR) -type f -a -perm /a+x`; do \
+        case "`file $$f`" in \
+          *script*) \
+          ;; \
+          *executable* | *archive* | *"shared object"*) \
+            $(MXE_STRIP) $$f; \
+          ;; \
+        esac; \
+      done
+    endef
+  endif
+else
+  define strip-dist-files
+    echo "not stripping files..."
+  endef
+endif
+
+OCTAVE_WRAPPER_SCRIPTS = octave octave-cli octave-config
+
+ifeq ($(MXE_SYSTEM), gnu-linux)
+  define install-octave-wrapper-scripts
+    echo "installing octave wrapper scripts..."
+    for f in $(OCTAVE_WRAPPER_SCRIPTS); do \
+      mv $(OCTAVE_DIST_DIR)/bin/$$f-$($(OCTAVE_TARGET)_VERSION) \
+	 $(OCTAVE_DIST_DIR)/bin/$$f-$($(OCTAVE_TARGET)_VERSION).real; \
+      $(SED) < $(TOP_DIR)/octave-wrapper.in \
+	-e "s|@GCC_VERSION@|$(native-gcc_VERSION)|" \
+	-e "s|@GCC_ARCH@|$(TARGET)|" \
+	-e "s|@OCTAVE_VERSION@|$($(OCTAVE_TARGET)_VERSION)|" \
+	-e "s|@GNUPLOT_MAJOR_MINOR_VERSION@|$(shell echo $(gnuplot_VERSION) | $(SED) -e 's/\(^[0-9][0-9]*\.[0-9][0-9]*\)\..*/\1/')|" \
+	-e "s|@PROGRAM_NAME@|$$f|" > $$f-t \
+      && $(INSTALL) -m 755 $$f-t $(OCTAVE_DIST_DIR)/bin/$$f-$($(OCTAVE_TARGET)_VERSION); \
+      rm -f $(OCTAVE_DIST_DIR)/bin/$$f; \
+      ln -s $$f-$($(OCTAVE_TARGET)_VERSION) $(OCTAVE_DIST_DIR)/bin/$$f; \
+    done
+  endef
+else
+  define install-octave-wrapper-scripts
+    echo "no octave wrapper scripts to install for this system..."
+  endef
+endif
+
+.PHONY: binary-dist-files
+binary-dist-files: $(BINARY_DIST_DEPS)
+	@$(delete-dist-directory)
+	@$(make-dist-directory)
+	@$(copy-dist-files)
+	@$(copy-windows-dist-files)
+	@$(make-dist-files-writable)
+	@$(strip-dist-files)
+	@$(install-octave-wrapper-scripts)
+
+define make-installer-file
+  if [ -f $(OCTAVE_NSI_FILE) ]; then \
+    echo "deleting previous installer script..."; \
+    rm -f $(OCTAVE_NSI_FILE); \
+  fi
+  echo "generating installer script..."
+  $(TOP_BUILD_DIR)/tools/makeinst-script.sh $(OCTAVE_DIST_DIR) $(OCTAVE_DIST_NAME)-installer.exe $(OCTAVE_NSI_FILE)
+  echo "generating installer..."
+  $(TARGET)-makensis $(OCTAVE_NSI_FILE) > $(TOP_BUILD_DIR)/dist/nsis.log
+endef
+
+$(OCTAVE_DIST_NAME)-installer.exe: nsis binary-dist-files
+	@$(make-installer-file)
+
+.PHONY: nsis-installer
+nsis-installer: $(OCTAVE_DIST_NAME)-installer.exe
+
+define make-7z-dist
+  echo "generating 7z file..."
+  cd $(TOP_BUILD_DIR)/dist && p7zip -k $(OCTAVE_DIST_NAME)
+endef
+
+.PHONY: 7z-dist
+7z-dist: binary-dist-files
+	@$(make-7z-dist)
+
+define make-zip-dist
+  echo "generating zip file..."
+  cd $(TOP_BUILD_DIR)/dist \
+    && zip -q -9 -r $(OCTAVE_DIST_NAME).zip $(OCTAVE_DIST_NAME)
+endef
+
+.PHONY: zip-dist
+zip-dist: binary-dist-files
+	@$(make-zip-dist)
+
+define make-tar-dist
+  echo "generating tar file..."
+  cd $(TOP_BUILD_DIR)/dist \
+    && tar -c -z -f $(OCTAVE_DIST_NAME).tgz $(OCTAVE_DIST_NAME)
+endef
+
+.PHONY: tar-dist
+tar-dist: binary-dist-files
+	@$(make-tar-dist)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bootstrap	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,7 @@
+#!/bin/bash
+## bootstrap script
+## Run this to generate the configure script
+
+set -e      # halt if unhandled error
+aclocal
+autoconf    # generate configure script
--- a/build_packages.m	Fri Dec 06 23:02:15 2013 -0500
+++ b/build_packages.m	Fri Feb 12 17:29:18 2021 -0500
@@ -1,13 +1,81 @@
-more ("off");
-echo ("on");
-pkg install -global -auto general-1.3.2.tar.gz
-pkg install -global -auto miscellaneous-1.2.0.tar.gz
-pkg install -global -auto struct-1.0.10.tar.gz
-pkg install -global -auto optim-1.2.2a.tar.gz
-pkg install -global -auto specfun-1.1.0.tar.gz
-pkg install -global -auto control-2.4.1.tar.gz
-pkg install -global -auto signal-1.2.0.tar.gz
-pkg install -global -auto communications-1.1.1a.tar.gz
-pkg install -global -auto image-2.0.0.tar.gz
-pkg install -global -auto io-1.2.0.tar.gz
-pkg install -global -auto statistics-1.1.3.tar.gz
+ attempt to compile and install the octave packages
+
+orig_echo = echo_executing_commands ();
+orig_more = page_screen_output();
+
+% helper function to try install a package, and recover
+function try_install (pkgname)
+  currdir = pwd ();
+ 
+  try
+    pkg ('install', pkgname, '-noauto')
+  catch err
+    warning (err.identifier, err.message);
+  end_try_catch
+
+  cd (currdir);
+endfunction
+
+unwind_protect
+
+  more ("off");
+  echo ("on");
+
+  % cd to script directory as the packages files are in the same place
+  [packagedir] = fileparts(mfilename("fullpathext"));
+  if length(packagedir) > 0
+    cd(packagedir);
+  endif
+
+  % install the packages
+  try_install general-2.1.0.tar.gz
+  try_install miscellaneous-1.2.1.tar.gz
+  try_install struct-1.0.15.tar.gz
+  try_install optim-1.5.3.tar.gz
+  try_install control-3.1.0.tar.gz
+  try_install signal-1.4.0.tar.gz
+  try_install communications-1.2.1.tar.gz
+  try_install image-2.10.0.tar.gz
+  try_install io-2.4.12.tar.gz
+  try_install statistics-1.4.0.tar.gz
+  try_install geometry-3.0.0.tar.gz
+  try_install windows-1.3.0.tar.gz
+  try_install odepkg-0.8.5.tar.gz
+  try_install linear-algebra-2.2.2.tar.gz
+  try_install sockets-1.2.0.tar.gz
+  try_install data-smoothing-1.3.0.tar.gz
+  try_install fuzzy-logic-toolkit-0.4.5.tar.gz
+  try_install quaternion-2.4.0.tar.gz
+  try_install fits-1.0.7.tar.gz
+  try_install tsa-4.4.5.tar.gz
+  try_install dicom-0.2.1.tar.gz
+  try_install netcdf-1.0.12.tar.gz
+  try_install ltfat-2.2.0.tar.gz
+  try_install database-2.4.3.tar.gz
+  try_install instrument-control-0.3.1.tar.gz
+  try_install generate_html-0.3.1.tar.gz
+  try_install financial-0.5.3.tar.gz
+  try_install stk-2.5.1.tar.gz
+  try_install splines-1.3.2.tar.gz
+  try_install dataframe-1.2.0.tar.gz
+  try_install lssa-0.1.3.tar.gz
+  try_install queueing-1.2.6.tar.gz
+  try_install nurbs-1.3.13.tar.gz
+  try_install strings-1.2.0.tar.gz
+  try_install ga-0.10.0.tar.gz
+  try_install interval-3.2.0.tar.gz
+  try_install nan-3.1.4.tar.gz
+  try_install ocs-0.1.5.tar.gz
+  try_install mapping-1.2.1.tar.gz
+  try_install tisean-0.2.3.tar.gz
+  try_install sparsersb-1.0.6.tar.gz
+  try_install video-1.2.4.tar.gz
+  try_install zeromq-1.3.0.tar.gz
+  try_install gsl-2.1.1.tar.gz
+  try_install optiminterp-0.3.5.tar.gz
+
+unwind_protect_cleanup
+  echo_executing_commands (orig_echo);
+  page_screen_output(orig_more);
+  clear ("orig_echo", "orig_more");
+end_unwind_protect  
--- a/configure.ac	Fri Dec 06 23:02:15 2013 -0500
+++ b/configure.ac	Fri Feb 12 17:29:18 2021 -0500
@@ -1,9 +1,9 @@
 dnl Process this file with autoconf to produce a configure script.
 
 AC_PREREQ([2.62])
-AC_INIT([MXE-Octave], [0.0.14], [http://octave.org/bugs.html], [mxe-octave])
+AC_INIT([MXE-Octave], [0.0.35], [https://octave.org/bugs.html], [mxe-octave])
 
-AC_CONFIG_SRCDIR([src/octave.mk])
+AC_CONFIG_SRCDIR([src/default-octave.mk])
 AC_CONFIG_AUX_DIR([tools])
 
 ### Check for bootstrap tools.  This list is probably not complete yet.
@@ -37,10 +37,10 @@
 ### ensure /bin/sh is the default shell so this can be safely ignored by
 ### almost everyone.  However, when building for Android, for example,
 ### this will need to be set.
-SHELL=bash
+SHELL=/bin/bash
 AC_ARG_WITH([shell],
   [AS_HELP_STRING([--with-shell=SHELL],
-    [use SHELL as the shell interpreter (default: bash)])])
+    [use SHELL as the shell interpreter (default: /bin/bash)])])
 case $with_shell in
   no)
     AC_MSG_ERROR([A shell interpreter is required])
@@ -53,80 +53,320 @@
 esac
 AC_SUBST(SHELL)
 
-### If possible, use a 64-bit integer type for array dimensions and indexing.
+PKG_DIR="pkg"
+AC_ARG_WITH([pkg-dir],
+  [AS_HELP_STRING([--with-pkg-dir=DIR],
+    [use DIR as the location for downloaded packages (default: pkg)])])
+case $with_pkg_dir in
+  no)
+    AC_MSG_ERROR([A pkg directory is required])
+  ;;
+  yes | "")
+  ;;
+  *)
+    PKG_DIR="$withval"
+  ;;
+esac
+## Ensure directory exists and that we refer to it using an absolute name
+if ! test -d "$PKG_DIR"; then
+  mkdir -p "$PKG_DIR"
+fi
+PKG_DIR=`(cd "$PKG_DIR"; pwd)`
+AC_SUBST(PKG_DIR)
+
+AC_ARG_WITH([ccache],
+  [AS_HELP_STRING([--with-ccache], [use ccache (default: no)])],
+  [case $withval in
+     no) USE_CCACHE=no ;;
+     yes) USE_CCACHE=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --with-ccache]) ;;
+   esac], [USE_CCACHE=no])
+if test "$USE_CCACHE" = yes; then
+  AC_PATH_PROG(CCACHE, ccache)
+  if test -z "$CCACHE"; then
+    AC_MSG_WARN([ccache program not found; not using ccache for build])
+    USE_CCACHE=no
+  fi
+fi
+AC_SUBST(USE_CCACHE)
 
-ENABLE_64=no
-AC_ARG_ENABLE(64,
+AC_ARG_WITH([msys2],
+  [AS_HELP_STRING([--with-msys2], [use msys2 in windows distribution (default: yes)])],
+  [case $withval in
+     no) USE_MSYS2=no ;;
+     yes) USE_MSYS2=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --with-msys2]) ;;
+   esac], [USE_MSYS2=yes])
+AC_SUBST(USE_MSYS2)
+
+# try find pkg-config build paths
+BUILD_PKG_CONFIG_PATH=auto
+AC_ARG_WITH([build-pkg-config-path],
+  [AS_HELP_STRING([--with-build-pkg-config-path=PATH],
+		  [use PATH as the build pkg-config path (default: auto)])],
+  [BUILD_PKG_CONFIG_PATH=$withval],
+  [BUILD_PKG_CONFIG_PATH=auto])
+
+if test "x$BUILD_PKG_CONFIG_PATH" = "xauto"; then
+  PKG_CHECK_VAR([BUILDPKGCONFIGPATH], [pkg-config], [pc_path])
+  AC_MSG_CHECKING([for build pkg-config paths])
+  if test "x$BUILDPKGCONFIGPATH" = "x"; then
+    AC_MSG_RESULT([couldnt auto detect pkg-config paths"])
+    BUILD_PKG_CONFIG_PATH=""
+  else
+    BUILD_PKG_CONFIG_PATH="$BUILDPKGCONFIGPATH"
+    AC_MSG_RESULT([$BUILD_PKG_CONFIG_PATH])
+  fi
+fi
+AC_SUBST(BUILD_PKG_CONFIG_PATH)
+
+
+AC_ARG_ENABLE([windows-64],
+  [AS_HELP_STRING([--disable-windows-64],
+    [build Windows 32bit binaries (default: enable, i.e. 64bit binaries)])],
+  [case $enableval in
+     no) ENABLE_WINDOWS_64=no ;;
+     yes) ENABLE_WINDOWS_64=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-windows-64]) ;;
+   esac], [ENABLE_WINDOWS_64=yes])
+
+AC_ARG_ENABLE([64],
   [AS_HELP_STRING([--enable-64],
-    [(EXPERIMENTAL) use 64-bit integers for array dimensions and indexing])],
-  [if test "$enableval" = yes; then ENABLE_64=yes; fi], [])
-AC_SUBST(ENABLE_64)
+    [use 64-bit integers for array dimensions and indexing])],
+  [case $enableval in
+     no) ENABLE_64=no ;;
+     yes) ENABLE_64=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-64]) ;;
+   esac], [ENABLE_64=unknown])
+
+if test "$ENABLE_64" = unknown; then
+  ENABLE_64="$ENABLE_WINDOWS_64"
+fi
 
-BUILD_SHARED=yes
-AC_ARG_ENABLE(shared,
-  [AS_HELP_STRING([--disable-shared], [Disable shared libraries])],
-  [if test "$enableval" = no; then BUILD_SHARED=no; fi], [])
+AC_ARG_ENABLE([fortran-int64],
+  [AS_HELP_STRING([--enable-fortran-int64],
+    [use 64-bit integers for fortran (and other) numerical library code (default: disable)])],
+  [case $enableval in
+     no) ENABLE_FORTRAN_INT64=no ;;
+     yes) ENABLE_FORTRAN_INT64=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-fortran-int64]) ;;
+   esac], [ENABLE_FORTRAN_INT64=no])
+
+if test "$ENABLE_64" = yes || test "$ENABLE_FORTRAN_INT64" = yes; then
+  if test "$ENABLE_WINDOWS_64" = no; then
+    AC_MSG_ERROR([--enable-fortran-int64 and --enable-64 both require --enable-windows-64])
+  fi
+fi
+
+AC_SUBST(ENABLE_64)
+AC_SUBST(ENABLE_FORTRAN_INT64)
+AC_SUBST(ENABLE_WINDOWS_64)
+
+AC_ARG_ENABLE([shared],
+  [AS_HELP_STRING([--disable-shared], [Disable shared libraries (default: enable)])],
+  [case "$enableval" in
+     no) BUILD_SHARED=no ;;
+     yes) BUILD_SHARED=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-shared]) ;;
+   esac], [BUILD_SHARED=yes])
 AC_SUBST(BUILD_SHARED)
 
-BUILD_STATIC=no
-AC_ARG_ENABLE(static,
-  [AS_HELP_STRING([--enable-static], [Enable static libraries])],
-  [if test "$enableval" = yes; then BUILD_STATIC=yes; fi], [])
+AC_ARG_ENABLE([static],
+  [AS_HELP_STRING([--enable-static], [Enable static libraries (default: disable)])],
+  [case "$enableval" in
+     no) BUILD_STATIC=no ;;
+     yes) BUILD_STATIC=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-static]) ;;
+   esac], [BUILD_STATIC=no])
 AC_SUBST(BUILD_STATIC)
 
-ENABLE_JIT=yes
 AC_ARG_ENABLE([jit],
-  [AS_HELP_STRING([--disable-jit], [Disable Octave JIT compiler])],
-  [if test "$enableval" = no; then ENABLE_JIT=no; fi], [])
+  [AS_HELP_STRING([--enable-jit], [Enable Octave JIT compiler (default: disable)])],
+  [case "$enableval" in
+     no) ENABLE_JIT=no ;;
+     yes) ENABLE_JIT=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-jit]) ;;
+   esac], [ENABLE_JIT=no])
 AC_SUBST(ENABLE_JIT)
 
-ENABLE_JAVA=yes
 AC_ARG_ENABLE([java],
-  [AS_HELP_STRING([--disable-java], [Disable Java])],
-  [if test "$enableval" = no; then ENABLE_JAVA=no; fi], [])
+  [AS_HELP_STRING([--disable-java], [Disable Java/Octave interface (default: enable)])],
+  [case "$enableval" in
+     no) ENABLE_JAVA=no ;;
+     yes) ENABLE_JAVA=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-java]) ;;
+   esac], [ENABLE_JAVA=yes])
 AC_SUBST(ENABLE_JAVA)
 
-MXE_NATIVE_BUILD=no
-AC_ARG_ENABLE([native-build],
+AC_ARG_ENABLE([[docs]],
+  [AS_HELP_STRING([--disable-docs], [Disable building Octave documentation (default: enable)])],
+  [case "$enableval" in
+     no) ENABLE_DOCS=no ;;
+     yes) ENABLE_DOCS=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-[docs]]) ;;
+   esac], [ENABLE_DOCS=yes])
+AC_SUBST(ENABLE_DOCS)
+
+AC_ARG_ENABLE([[native-build]],
   [AS_HELP_STRING([--enable-native-build],
-    [Enable native build (default is cross compile)])],
-  [if test "$enableval" = yes; then MXE_NATIVE_BUILD=yes; fi], [])
+    [Enable native build (default is cross compile for mingw)])],
+  [case "$enableval" in
+     no) MXE_NATIVE_BUILD=no ;;
+     yes) MXE_NATIVE_BUILD=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-[native-build]]) ;;
+   esac], [MXE_NATIVE_BUILD=no])
 AC_SUBST(MXE_NATIVE_BUILD)
 
-USE_SYSTEM_FONTCONFIG=$MXE_NATIVE_BUILD
 AC_ARG_ENABLE([system-fontconfig],
   [AS_HELP_STRING([--enable-system-fontconfig],
-    [Use fontconfig already installed on system])],
-  [if test "$enableval" = yes; then USE_SYSTEM_FONTCONFIG=yes; else USE_SYSTEM_FONTCONFIG=no; fi], [])
+    [Use fontconfig already installed on system (default: same as native-build)])],
+  [case "$enableval" in
+     no) USE_SYSTEM_FONTCONFIG=no ;;
+     yes) USE_SYSTEM_FONTCONFIG=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-system-fontconfig]) ;;
+   esac], [USE_SYSTEM_FONTCONFIG=$MXE_NATIVE_BUILD])
 AC_SUBST(USE_SYSTEM_FONTCONFIG)
 
-USE_SYSTEM_GCC=$MXE_NATIVE_BUILD
+AC_ARG_ENABLE([system-opengl],
+  [AS_HELP_STRING([--disable-system-opengl],
+    [Use OpenGL libraries already installed on system (default: same as native-build)])],
+  [case "$enableval" in
+     no) USE_SYSTEM_OPENGL=no ;;
+     yes) USE_SYSTEM_OPENGL=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-system-opengl]) ;;
+   esac], [USE_SYSTEM_OPENGL=$MXE_NATIVE_BUILD])
+AC_SUBST(USE_SYSTEM_OPENGL)
+
+AC_ARG_ENABLE([system-x11-libs],
+  [AS_HELP_STRING([--enable-system-x11-libs],
+    [Use X11 libraries already installed on system (default: same as native-build)])],
+  [case "$enableval" in
+     no) USE_SYSTEM_X11_LIBS=no ;;
+     yes) USE_SYSTEM_X11_LIBS=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-system-x11-libs]) ;;
+   esac], [USE_SYSTEM_X11_LIBS=$MXE_NATIVE_BUILD])
+AC_SUBST(USE_SYSTEM_X11_LIBS)
+
 AC_ARG_ENABLE([system-gcc],
   [AS_HELP_STRING([--enable-system-gcc],
-    [Use GCC already installed on system])],
-  [if test "$enableval" = yes; then USE_SYSTEM_GCC=yes; else USE_SYSTEM_GCC=no; fi], [])
+    [Use GCC already installed on system (default: same as native-build)])],
+  [case "$enableval" in
+     no) USE_SYSTEM_GCC=no ;;
+     yes) USE_SYSTEM_GCC=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-system-gcc]) ;;
+   esac], [USE_SYSTEM_GCC=$MXE_NATIVE_BUILD])
 AC_SUBST(USE_SYSTEM_GCC)
 
-ENABLE_LIB64_DIRECTORY=no
-AC_ARG_ENABLE(lib64-directory,
+AC_ARG_ENABLE([lib64-directory],
   [AS_HELP_STRING([--enable-lib64-directory],
-    [Search lib64 directory for libraries])],
-  [if test "$enableval" = yes; then ENABLE_LIB64_DIRECTORY=yes; fi], [])
+    [Search lib64 directory for libraries (default: disable)])],
+  [case "$enableval" in
+     no) ENABLE_LIB64_DIRECTORY=no ;;
+     yes) ENABLE_LIB64_DIRECTORY=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-lib64-directory]) ;;
+   esac], [ENABLE_LIB64_DIRECTORY=no])
 AC_SUBST(ENABLE_LIB64_DIRECTORY)
 
-USE_PIC_FLAG=no
 AC_ARG_ENABLE([pic-flag],
-  [AS_HELP_STRING([--enable-pic-flag], [Compile with PIC flag])],
-  [if test "$enableval" = yes; then USE_PIC_FLAG=yes; fi], [])
+  [AS_HELP_STRING([--enable-pic-flag], [Compile with PIC flag (default: disable)])],
+  [case "$enableval" in
+     no) USE_PIC_FLAG=no ;;
+     yes) USE_PIC_FLAG=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-pic-flag]) ;;
+   esac], [USE_PIC_FLAG=no])
 AC_SUBST(USE_PIC_FLAG)
 
-ENABLE_OPENBLAS=no
+AC_ARG_ENABLE([strip-dist-files],
+  [AS_HELP_STRING([--disable-strip-dist-files], [Don't strip distributed files (default: enable)])],
+  [case "$enableval" in
+     no) STRIP_DIST_FILES=no ;;
+     yes) STRIP_DIST_FILES=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-strip-dist-files]) ;;
+   esac], [STRIP_DIST_FILES=yes])
+AC_SUBST(STRIP_DIST_FILES)
+
 AC_ARG_ENABLE([openblas],
-  [AS_HELP_STRING([--enable-openblas],
-    [(EXPERIMENTAL) enable use of openblas in Octave])],
-  [if test "$enableval" = yes; then ENABLE_OPENBLAS=yes; fi], [])
+  [AS_HELP_STRING([--disable-openblas],
+    [Disable use of OpenBLAS in Octave (default: enable, i.e. build and use package)])],
+  [case "$enableval" in
+     no) ENABLE_OPENBLAS=no ;;
+     yes) ENABLE_OPENBLAS=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-openblas]) ;;
+   esac], [ENABLE_OPENBLAS=yes])
 AC_SUBST(ENABLE_OPENBLAS)
 
+AC_ARG_ENABLE([qhull-no-strict-aliasing-flag],
+  [AS_HELP_STRING([--enable-qhull-no-strict-aliasing-flag],
+    [Compile Qhull with -fno-strict-aliasing flag (default: disable)])],
+  [case "$enableval" in
+     no) ENABLE_QHULL_NO_STRICT_ALIASING_FLAG=no ;;
+     yes) ENABLE_QHULL_NO_STRICT_ALIASING_FLAG=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-qhull-no-strict-aliasing-flag]) ;;
+   esac], [ENABLE_QHULL_NO_STRICT_ALIASING_FLAG=no])
+AC_SUBST(ENABLE_QHULL_NO_STRICT_ALIASING_FLAG)
+
+AC_ARG_ENABLE([octave],
+  [AS_HELP_STRING([--enable-octave=stable],
+    [Enable a specific build of Octave (release, stable, default) (default: "release")])],
+  [case $enableval in
+     release) ENABLE_OCTAVE="release-" ;;
+     stable) ENABLE_OCTAVE="stable-" ;;
+     default) ENABLE_OCTAVE="default-" ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-octave]) ;;
+   esac], [ENABLE_OCTAVE="release-"])
+AC_SUBST(ENABLE_OCTAVE)
+
+AC_ARG_ENABLE([binary-packages],
+  [AS_HELP_STRING([--enable-binary-packages],
+    [Enable building binary Octave Forge packages (default: disable)])],
+  [case "$enableval" in
+     no) ENABLE_BINARY_PACKAGES=no ;;
+     yes) ENABLE_BINARY_PACKAGES=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-binary-packages]) ;;
+   esac], [ENABLE_BINARY_PACKAGES=no])
+AC_SUBST(ENABLE_BINARY_PACKAGES)
+
+AC_ARG_ENABLE([system-octave],
+  [AS_HELP_STRING([--disable-system-octave],
+    [Build a minimal Octave that runs on the build system. This only applies if binary packages are cross-built (default: same as native-build)])],
+  [case "$enableval" in
+     no) USE_SYSTEM_OCTAVE=no ;;
+     yes) USE_SYSTEM_OCTAVE=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --disable-system-octave]) ;;
+   esac], [USE_SYSTEM_OCTAVE=$MXE_NATIVE_BUILD])
+AC_SUBST(USE_SYSTEM_OCTAVE)
+
+AC_ARG_ENABLE([devel-tools],
+  [AS_HELP_STRING([--enable-devel-tools],
+    [Enable building developer tools such as gdb (default: disable)])],
+  [case "$enableval" in
+     no) ENABLE_DEVEL_TOOLS=no ;;
+     yes) ENABLE_DEVEL_TOOLS=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-devel-tools]) ;;
+   esac], [ENABLE_DEVEL_TOOLS=no])
+AC_SUBST(ENABLE_DEVEL_TOOLS)
+
+AC_ARG_ENABLE([qt5],
+  [AS_HELP_STRING([--disable-qt5],
+    [Build GNU Octave using Qt 4 instead of the default Qt 5 (default: enable, i.e. use Qt5)])],
+  [case "$enableval" in
+     no) ENABLE_QT5=no ;;
+     yes) ENABLE_QT5=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-qt5]) ;;
+   esac], [ENABLE_QT5=yes])
+AC_SUBST(ENABLE_QT5)
+
+# install documentation of build dependency packages (or not to save space)
+AC_ARG_ENABLE([dep-docs],
+  [AS_HELP_STRING([--enable-dep-docs],
+    [Enable installation of documentation for dependency packages (default: disable)])],
+  [case "$enableval" in
+     no) ENABLE_DEP_DOCS=no ;;
+     yes) ENABLE_DEP_DOCS=yes ;;
+     *) AC_MSG_ERROR([bad value "$enableval" for --enable-dep-docs]) ;;
+   esac], [ENABLE_DEP_DOCS=no])
+AC_SUBST(ENABLE_DEP_DOCS)
+
 ### Default is to cross compile for mingw.
 
 echo $host_alias
@@ -138,10 +378,20 @@
 AC_SUBST(MXE_SYSTEM)
 
 # set MXE_ROOTDIR for knowing the mxe root
-MXE_ROOTDIR=`cd $srcdir; pwd`
+MXE_ROOTDIR=`cd "$builddir"; pwd`
 AC_SUBST(MXE_ROOTDIR)
 
-AC_CONFIG_FILES([Makefile tools/set_mxe_env.sh])
+if test "$MXE_NATIVE_BUILD" = no; then
+  if test "$ENABLE_WINDOWS_64" = yes; then
+    MXE_TARGET=x86_64-w64-mingw32
+  else
+    MXE_TARGET=i686-w64-mingw32
+  fi
+fi
+AC_SUBST(MXE_TARGET)
+
+AC_CONFIG_FILES([Makefile tools/set-mxe-env.sh])
+AC_CONFIG_FILES([tools/makeinst-script.sh], [chmod a+x tools/makeinst-script.sh])
 
 AC_OUTPUT
 
--- a/dist-files.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/dist-files.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -1,4 +1,5 @@
 SRC_FILES_1 := \
+  a52dec.mk \
   agg-1-fixes.patch \
   agg.mk \
   apr-util.mk \
@@ -6,6 +7,7 @@
   armadillo-1-staticlib.patch \
   armadillo-test.cpp \
   armadillo.mk \
+  arpack-1-gcc10.patch \
   arpack.mk \
   atk-1-DllMain.patch \
   atk.mk \
@@ -13,7 +15,11 @@
   aubio-1-fix-pkg-config.patch \
   aubio.mk \
   bfd.mk \
+  biosig.mk \
   blas.mk \
+  blas_switch.mk \
+  boost-1-intrinsics-fix.patch \
+  boost-2-winerror.patch \
   boost-test.cpp \
   boost.mk \
   build-autoconf.mk \
@@ -21,18 +27,36 @@
   build-binutils.mk \
   build-bison.mk \
   build-cmake.mk \
+  build-flex-1-fixes.patch \
   build-flex.mk \
+  build-gawk.mk \
   build-gcc.mk \
+  build-gettext.mk \
   build-gperf.mk \
   build-libtool.mk \
-  build-m4-1-fixes.patch \
+  build-lzip.mk \
+  build-m4-glibc2-28.patch \
   build-m4.mk \
+  build-mako.mk \
+  build-markupsafe.mk \
+  build-meson.mk \
   build-msvctools.mk \
+  build-ninja.mk \
+  build-octave.mk \
+  build-perl.mk \
   build-pkg-config-1-fixes.patch \
   build-pkg-config.mk \
+  build-python.mk \
+  build-python3.mk \
+  build-scons.mk \
+  build-sed.mk \
+  build-setuptools.mk \
   build-texinfo.mk \
   build-xz.mk \
+  build-yasm.mk \
+  bzip2-1-fixes.patch \
   bzip2.mk \
+  c-ares.mk \
   cairo-2-static-init.patch \
   cairo.mk \
   cairomm.mk \
@@ -40,32 +64,41 @@
   cfitsio.mk \
   cgal-1-fixes.patch \
   cgal.mk \
+  cloog.mk \
+  cmake.mk \
   cminpack.mk \
   cppunit.mk \
   cunit.mk \
   curl-test.c \
   curl.mk \
+  damageproto.mk \
   dbus-1-fixes.patch \
   dbus.mk \
   dcmtk-1-fixes.patch \
+  dcmtk-2-mingw-w64.patch \
+  dcmtk-3-pointer-fixes.patch \
+  dcmtk-4-c++11-related-fixes.patch \
   dcmtk.mk \
+  default-octave-1-gnulib.patch \
+  default-octave.mk \
   devil-1-png.patch \
   devil.mk \
+  double-conversion.mk \
+  dri2proto.mk \
   eigen.mk \
+  epstool.mk \
   exiv2-issue847.patch \
   exiv2-r2796.patch \
   exiv2.mk \
   expat.mk \
-  faad2-1-uint.patch \
+  faad2-1-fixes.patch \
   faad2.mk \
   ffmpeg.mk \
   fftw.mk \
   file-test.c \
   file.mk \
-  flac-1-win32.patch \
-  flac-2-lwsock32.patch \
+  fixesproto.mk \
   flac.mk \
-  fltk-1-darwin-cross-compile.patch \
   fltk-2-uuid-mod.patch \
   fltk-test.cpp \
   fltk.mk \
@@ -77,36 +110,44 @@
   freeimage.mk \
   freetds.mk \
   freetype.mk \
-  fribidi-1-fixes.patch \
   fribidi.mk \
   ftgl-1-gl-m4.patch \
   ftgl.mk \
   gc.mk \
   gcab.mk \
-  gcc-1-mingw-float.patch \
-  gcc-2-darwin-no-pie.patch \
+  gcc-cloog.mk \
   gcc-gmp.mk \
+  gcc-isl.mk \
   gcc-mpc.mk \
   gcc-mpfr.mk \
   gd-1-libpng15.patch \
   gd-test.c \
   gd.mk \
   gdal.mk \
-  gdb-1-fix-shell.patch \
   gdb.mk \
+  gdcm-1-nosecapi.patch \
   gdcm.mk \
   gdk-pixbuf-1-fixes.patch \
   gdk-pixbuf.mk \
   geos-test.c \
   geos.mk \
+  gettext-1.patch \
   gettext.mk \
+  ghostscript-1-fixes.patch \
+  ghostscript.mk \
   giflib.mk \
+  gl2ps-1-configure.patch \
+  gl2ps-2-docpath.patch \
+  gl2ps.mk \
   glew-test.c \
   glew.mk \
+  glib-1-fixes.patch \
   glib.mk \
   glibmm.mk \
   glpk-1-fixes.patch \
   glpk.mk \
+  glproto.mk \
+  glu.mk \
   gmp.mk \
   gnuplot-1-fixes.patch \
   gnuplot.mk \
@@ -114,6 +155,7 @@
   gnutls-test.c \
   gnutls.mk \
   graphicsmagick-1-fix-xml2-config.patch \
+  graphicsmagick-2-dynamicpath.patch \
   graphicsmagick-test.cpp \
   graphicsmagick.mk \
   gsl-test.c \
@@ -148,13 +190,15 @@
   hdf5.mk \
   hunspell-test.cpp \
   hunspell.mk \
+  ice.mk \
+  icu4c.mk \
   id3lib-1-win32.patch \
   id3lib.mk \
-  ilmbase-1-gcc45-include.patch \
-  ilmbase-2-osx-cxxflags.patch \
   ilmbase.mk \
   imagemagick.mk \
+  inputproto.mk \
   intltool.mk \
+  isl.mk \
   itsol.mk \
   itstool.mk \
   jasper-1-fixes.patch \
@@ -165,6 +209,8 @@
   json-c-2-patch-remove-rpl.patch \
   json-c-test.c \
   json-c.mk \
+  kbproto.mk \
+  lame-1-fixes.patch \
   lame.mk \
   lapack-test.f \
   lapack.mk \
@@ -178,15 +224,17 @@
   libarchive.mk \
   libass-test.c \
   libass.mk \
+  libb64.mk \
+  libcdio.mk \
   libcroco.mk \
   libdnet-1-fixes.patch \
   libdnet.mk \
+  libdrm.mk \
   libevent.mk \
   libf2c-1.patch \
   libf2c.mk \
   libffi-test.c \
   libffi.mk \
-  libgcrypt-1-fixes.patch \
   libgcrypt-test.c \
   libgcrypt.mk \
   libgd.mk \
@@ -212,24 +260,25 @@
   libiberty.mk \
   libical-test.c \
   libical.mk \
-  libiconv-1-fix.patch \
   libiconv.mk \
   libidn-1-fixes.patch \
   libidn-test.c \
   libidn.mk \
+  libidn2.mk \
   libircclient-1-fixes.patch \
   libircclient-test.cpp \
   libircclient.mk \
+  libjbig.mk \
   liblo.mk \
   libmad.mk \
   libmikmod-1-fixes.patch \
   libmikmod-test.c \
   libmikmod.mk \
-  libmng-1-fixes.patch \
-  libmng-1-libtool.patch \
   libmng.mk \
   libmodplug-test.c \
   libmodplug.mk \
+  libmpcdec-1-configure_ac.patch \
+  libmpcdec.mk \
   libntlm.mk \
   liboauth-test.c \
   liboauth.mk \
@@ -238,9 +287,12 @@
   libodbc++.mk \
   liboil.mk \
   libpano13.mk \
+  libpaper-1-noundefined.patch \
   libpaper.mk \
   libpng-test.c \
   libpng.mk \
+  libproxy.mk \
+  librsb.mk \
   librsvg-1-fixes.patch \
   librsvg-test.c \
   librsvg.mk \
@@ -252,9 +304,9 @@
   libshout.mk \
   libsigc++.mk \
   libsndfile.mk \
-  libssh2-1-fixes.patch \
   libssh2-test.c \
   libssh2.mk \
+  libtasn1.mk \
   libtool.mk \
   libunistring.mk \
   libusb.mk \
@@ -263,6 +315,7 @@
   libxml++.mk \
   libxml2-1-fixes.patch \
   libxml2.mk \
+  libxshmfence.mk \
   libxslt.mk \
   llvm.mk \
   log4cxx-1-gcc.4.4.patch \
@@ -277,20 +330,36 @@
   lzo.mk \
   matio.mk \
   mdbtools.mk \
+  mesa-1-meson.patch \
+  mesa-proto.mk \
+  mesa.mk \
+  mingw-blas-1-xerbla.patch \
   mingw-cairo-1-ssize-t-defined.patch \
   mingw-cfitsio-1-fixes.patch \
-  mingw-glib-1-fixes.patch \
-  mingw-glib-2-fixes.patch \
+  mingw-epstool-1-fixes.patch \
+  mingw-glpk-1-fixes.patch \
   mingw-hdf5-1.patch \
-  mingw-pango-1-fixes.patch \
+  mingw-lapack-1-xerbla.patch \
+  mingw-libgcrypt-1-fixes.patch \
+  mingw-libmng-1-noundefines.patch \
+  mingw-llvm-1-config.patch \
+  mingw-openblas-1-xerbla.patch \
+  mingw-portaudio-1-pkgconfig.patch \
+  mingw-s2tc-1-fixes.patch \
+  mingw-texinfo-1-fixes.patch \
   mingw-utils-1-portability-fix.patch \
-  mingw-utils.mk \
+  mingw-w64-1-float-h.patch \
+  mingw-w64.mk \
   mingwrt.mk \
+  mman-win32-1-include_name_change.patch \
+  mman-win32.mk \
+  mpc.mk \
   mpfr.mk \
   msitools.mk \
   msvc-atk-1.patch \
   msvc-build-cmake-1.patch \
   msvc-cairo-1.patch \
+  msvc-curl-1.patch \
   msvc-dbus-1.patch \
   msvc-fftw-1.patch \
   msvc-fltk-1.patch \
@@ -298,6 +367,7 @@
   msvc-gcab-1.patch \
   msvc-gdk-pixbuf-1.patch \
   msvc-gettext-1.patch \
+  msvc-gl2ps-1.patch \
   msvc-glib-1.patch \
   msvc-gnuplot-1.patch \
   msvc-gnutls-1.patch \
@@ -315,6 +385,7 @@
   msvc-libgsf-1.patch \
   msvc-libiconv-1.patch \
   msvc-libidn-1.patch \
+  msvc-libmng-1.patch \
   msvc-libssh2-1.patch \
   msvc-libxml2-1.patch \
   msvc-llvm-1.patch \
@@ -324,7 +395,10 @@
   msvc-netcdf-1.patch \
   msvc-nettle-1.patch \
   msvc-octave-1.patch \
+  msvc-of-image-1.patch \
+  msvc-of-miscellaneous-1.patch \
   msvc-openssl-1.patch \
+  msvc-openssl-3-libdeps.patch \
   msvc-pango-1.patch \
   msvc-pixman-1.patch \
   msvc-proj-1.patch \
@@ -340,35 +414,43 @@
   msys-bash.mk \
   msys-coreutils.mk \
   msys-diffutils.mk \
+  msys-dos2unix.mk \
   msys-file.mk \
   msys-findutils.mk \
   msys-gawk.mk \
   msys-grep.mk \
   msys-gzip.mk \
   msys-less.mk \
+  msys-libcrypt.mk \
   msys-libiconv.mk \
   msys-libintl.mk \
   msys-libmagic.mk \
+  msys-libopenssl.mk \
   msys-make.mk \
   msys-msys-core.mk \
+  msys-patch.mk \
+  msys-perl.mk \
   msys-regex.mk \
   msys-sed.mk \
   msys-tar.mk \
+  msys-termcap.mk \
   msys-unzip.mk \
-  msys-termcap.mk \
-  msys-texinfo.mk \
-  msys-xz.mk \
+  msys-wget.mk \
+  msys-zip.mk \
+  msys-zlib.mk \
   muparser.mk \
   mxml-test.c \
   mxml.mk \
   native-binutils.mk \
-  native-gcc-1-float.patch \
   native-gcc.mk \
+  ncurses-1-gcc-5-fix.patch \
   ncurses.mk \
+  netcdf-1-fixes.patch \
   netcdf.mk \
+  nettle-1-fixes.patch \
   nettle.mk \
   npp.mk \
-  nsis-1-fixes.patch \
+  nsis-2-fixes.patch \
   nsis.mk \
   ocaml-core-1-fixes.patch \
   ocaml-core-test.ml \
@@ -378,21 +460,83 @@
   ocaml-flexdll.mk \
   ocaml-native-1-fixes.patch \
   ocaml-native.mk \
-  octave.mk \
-  of-communications-1-fixes.patch \
+  of-actuarial.mk \
+  of-audio.mk \
+  of-communications-1-catop.patch \
   of-communications.mk \
   of-control.mk \
+  of-data-smoothing.mk \
+  of-database.mk \
+  of-dataframe.mk \
+  of-dicom.mk \
+  of-financial.mk \
+  of-fits-1-cross-fixes.patch \
+  of-fits-2-fixes.patch \
+  of-fits.mk \
+  of-fl-core-1-fixes.patch \
+  of-fl-core.mk \
+  of-fuzzy-logic-toolkit.mk \
+  of-ga.mk \
   of-general.mk \
+  of-generate_html.mk \
+  of-geometry.mk \
+  of-gsl-1-cross-fixes.patch \
+  of-gsl.mk \
   of-image.mk \
+  of-instrument-control.mk \
+  of-interval-1-cross-fixes.patch \
+  of-interval.mk \
   of-io.mk \
+  of-linear-algebra.mk \
+  of-lssa.mk \
+  of-ltfat-1-cross-fixes.patch \
+  of-ltfat.mk \
+  of-matgeom.mk \
+  of-mapping.mk \
   of-miscellaneous.mk \
-  of-optim-1-fixes.patch \
+  of-nan.mk \
+  of-netcdf.mk \
+  of-nurbs-1-fixes.patch \
+  of-nurbs-2-dev-fixes.patch \
+  of-nurbs.mk \
+  of-ocs-1-cross-fixes.patch \
+  of-ocs-2-dev-fixes.patch \
+  of-ocs-3-break-fixes.patch \
+  of-ocs-4-pkgadd-fixes.patch \
+  of-ocs-5-no-odepkg.patch \
+  of-ocs.mk \
+  of-octcdf.mk \
+  of-odepkg-1-fixes.patch \
+  of-odepkg-2-fixes.patch \
+  of-odepkg-3-deprecated.patch \
+  of-odepkg.mk \
   of-optim.mk \
+  of-optiminterp.mk \
+  of-quaternion-1-cross-fixes.patch \
+  of-quaternion-2-dev-fixes.patch \
+  of-quaternion.mk \
+  of-queueing.mk \
   of-signal.mk \
+  of-sockets.mk \
+  of-sparsersb.mk \
+  of-specfun-1-deprecated.patch \
   of-specfun.mk \
+  of-splines.mk \
+  of-statistics-1-cross.patch \
   of-statistics.mk \
+  of-stk.mk \
+  of-strings-1-fixes.patch \
+  of-strings.mk \
   of-struct.mk \
+  of-symbolic.mk \
+  of-tisean-1-fixes.patch \
+  of-tisean.mk \
+  of-tsa.mk \
+  of-video-1-fixes.patch \
+  of-video.mk \
   of-windows.mk \
+  of-zenity.mk \
+  of-zeromq.mk \
   ogg.mk \
   old.mk \
   openal-1-fixes.patch \
@@ -402,14 +546,18 @@
   opencore-amr.mk \
   opencsg-1-fixes.patch \
   opencsg.mk \
-  openexr-1-disable-zlib_winapi.patch \
+  opencv-1-fixes.patch \
+  opencv.mk \
   openexr.mk \
+  openscenegraph-1-fixes.patch \
   openscenegraph.mk \
-  openssl-1-winsock2.patch \
+  openssl-1-fixes.patch \
   openssl.mk \
+  pango-1-fixes.patch \
   pango.mk \
   pangomm.mk \
   pcre.mk \
+  pcre2.mk \
   pdcurses.mk \
   pdflib_lite-1-mingw.patch \
   pdflib_lite.mk \
@@ -417,6 +565,7 @@
   physfs-test.c \
   physfs.mk \
   pixman.mk \
+  pkg-config.mk \
   plibc.mk \
   plotmm-1-fixes.patch \
   plotmm.mk \
@@ -433,45 +582,69 @@
   portaudio-1-win32.patch \
   portaudio-test.c \
   portaudio.mk \
-  postgresql-1-fixes.patch \
   postgresql.mk \
   proj.mk \
   protobuf-test.cpp \
   protobuf.mk \
   pstoedit-1-fixes.patch \
   pstoedit-2-gs.patch \
+  pstoedit-3-nosecapi.patch \
+  pstoedit-4-winlibemf.patch \
+  pstoedit-5-use_gs_env.patch \
   pstoedit.mk \
-  pthreads-1-fixes.patch \
+  pthread-stubs.mk \
   pthreads-test.c \
   pthreads.mk \
+  python-embedded.mk \
+  python-mpmath.mk \
+  python-sympy.mk \
   qdbm-test.c \
   qdbm.mk \
   qhull-1-fixes.patch \
-  qhull-2-fixes.patch \
   qhull.mk \
   qjson-1-static.patch \
   qjson.mk \
   qrupdate-1-fixes.patch \
   qrupdate.mk \
-  qscintilla-1-matlab-blockcomments.patch \
+  qscintilla-1-fixes.patch \
   qscintilla.mk \
   qt-1-cherrypicks.patch \
-  qt-1-pcre.patch \
-  qt-2-dbus.patch \
+  qt-2-shared-tools-fixes.patch \
   qt-test.cpp \
   qt-test.pro \
   qt-test.ui \
   qt.mk \
+  qt5.mk \
+  qtbase-1-fixes.patch \
+  qtbase.mk \
+  qtimageformats.mk \
+  qtsvg.mk \
+  qttranslations.mk \
+  qttools-1.patch \
+  qttools.mk \
   qwt-1-fixes.patch \
   qwt.mk \
   qwtplot3d-1-fixes.patch \
   qwtplot3d.mk \
-  readline-1-binding.patch \
+  rapidjson-1-prettywriter.patch \
+  rapidjson.mk \
+  readline-0-001.patch \
+  readline-0-002.patch \
+  readline-0-003.patch \
+  readline-0-004.patch \
   readline-1-display.patch \
+  readline-1-fixes.patch \
   readline-1-input.patch \
-  readline-1-paste.patch \
   readline-1-sigwinch.patch \
+  readline-2-event-hook.patch \
+  readline-2-history.patch \
   readline.mk \
+  release-octave-1-gnulib.patch \
+  release-octave.mk \
+  renderproto.mk \
+  rtmidi.mk \
+  s2tc.mk \
+  sdl-1-xdata.patch \
   sdl-test.c \
   sdl.mk \
   sdl_image-test.c \
@@ -487,15 +660,46 @@
   sdl_sound-test.c \
   sdl_sound.mk \
   sdl_ttf.mk \
+  sm.mk \
   smpeg-test.c \
   smpeg.mk \
   sox-test.c \
   sox.mk \
   speex.mk \
   sqlite.mk \
+  src-msys-bash.mk \
+  src-msys-coreutils.mk \
+  src-msys-diffutils.mk \
+  src-msys-dos2unix.mk \
+  src-msys-file.mk \
+  src-msys-findutils.mk \
+  src-msys-gawk.mk \
+  src-msys-grep.mk \
+  src-msys-gzip.mk \
+  src-msys-less.mk \
+  src-msys-libcrypt.mk \
+  src-msys-libiconv.mk \
+  src-msys-libintl.mk \
+  src-msys-libmagic.mk \
+  src-msys-libopenssl.mk \
+  src-msys-make.mk \
+  src-msys-msys-core.mk \
+  src-msys-patch.mk \
+  src-msys-perl.mk \
+  src-msys-regex.mk \
+  src-msys-sed.mk \
+  src-msys-tar.mk \
+  src-msys-termcap.mk \
+  src-msys-unzip.mk \
+  src-msys-wget.mk \
+  src-msys-zip.mk \
+  src-msys-zlib.mk \
+  stable-octave-1-gnulib.patch \
   stable-octave.mk \
-  suitesparse-1.patch \
+  suitesparse-1-fixes.patch \
+  suitesparse-2-metis.patch \
   suitesparse.mk \
+  sundials-ida.mk \
   t4k_common.mk \
   taglib-1-static.patch \
   taglib.mk \
@@ -506,9 +710,16 @@
   tiff.mk \
   tinyxml-test.cpp \
   tinyxml.mk \
+  transfig-1-fixes.patch \
+  transfig.mk \
   tre.mk \
+  units.mk \
+  util-linux.mk \
+  util-macros.mk \
   uuid.mk \
   vala.mk \
+  vcdimager-1-configure.patch \
+  vcdimager.mk \
   vigra-test.cpp \
   vigra.mk \
   vmime-1-fixes.patch \
@@ -524,26 +735,61 @@
   w32api-1-dinput-dsound.patch \
   w32api-2-directx-additions-for-qt.patch \
   w32api.mk \
+  wavpack-1-exec_prefix.patch \
+  wavpack.mk \
   wget.mk \
+  win64-nsis.patch \
+  win7appid.mk \
   winpcap-1-fixes.patch \
   winpcap.mk \
   wt-1-fixes.patch \
   wt.mk \
   wxwidgets-test.cpp \
   wxwidgets.mk \
+  x11.mk \
   x264-1-fix-bin-bash.patch \
   x264.mk \
   xapian-core.mk \
+  xau.mk \
+  xcb-proto.mk \
+  xcb-util-cursor.mk \
+  xcb-util-image.mk \
+  xcb-util-keysyms.mk \
+  xcb-util-renderutil.mk \
+  xcb-util-wm.mk \
+  xcb-util.mk \
+  xcb.mk \
+  xcursor.mk \
+  xdamage.mk \
+  xdmcp.mk \
   xerces-1-fix-pkgconfig.patch \
   xerces-test.cpp \
   xerces.mk \
-  xine-lib-1-fixes.patch \
+  xext.mk \
+  xextproto.mk \
+  xf86vidmodeproto.mk \
+  xfixes.mk \
+  xft.mk \
+  xi.mk \
+  xine-lib-1-configure_ac.patch \
+  xine-lib-2-build_fixes.patch \
+  xine-lib-3-more_build_fixes.patch \
+  xine-lib-4-mkdir.patch \
+  xine-lib-5-change_mma_h_to_mma_win32_h.patch \
   xine-lib.mk \
+  xkbcommon-1-fixes.patch \
+  xkbcommon.mk \
   xmlwrapp.mk \
-  xvidcore-1-fixes.patch \
+  xproto.mk \
+  xrender.mk \
+  xt.mk \
+  xtrans.mk \
   xvidcore.mk \
+  xxf86vm.mk \
   xz.mk \
+  yasm.mk \
   zenity.mk \
+  zeromq.mk \
   zlib-1-win32-static.patch \
   zlib.mk \
   zziplib-1-fix-fnmatch.patch \
@@ -652,6 +898,140 @@
 SRC_MSVCTOOLS_MATH_FILES := \
   $(addprefix src/build-msvctools/math/, $(SRC_MSVCTOOLS_MATH_FILES_1))
 
+SRC_MSYS2_FILES_1 := \
+  msys2-bash.mk \
+  msys2-coreutils.mk \
+  msys2-diffutils.mk \
+  msys2-dos2unix.mk \
+  msys2-filesystem.mk \
+  msys2-findutils.mk \
+  msys2-gawk.mk \
+  msys2-gcc-libs.mk \
+  msys2-gmp.mk \
+  msys2-gnupg.mk \
+  msys2-grep.mk \
+  msys2-gzip.mk \
+  msys2-icu.mk \
+  msys2-info.mk \
+  msys2-keyring.mk \
+  msys2-less.mk \
+  msys2-libassuan.mk \
+  msys2-libbz2.mk \
+  msys2-libcrypt.mk \
+  msys2-libexpat.mk \
+  msys2-libffi.mk \
+  msys2-libgnutls.mk \
+  msys2-libgcrypt.mk \
+  msys2-libgpg-error.mk \
+  msys2-libgpgme.mk \
+  msys2-libhogweed.mk \
+  msys2-libiconv.mk \
+  msys2-libidn2.mk \
+  msys2-libintl.mk \
+  msys2-libksba.mk \
+  msys2-liblzma.mk \
+  msys2-libmetalink.mk \
+  msys2-libnettle.mk \
+  msys2-libnpth.mk \
+  msys2-libopenssl.mk \
+  msys2-libp11-kit.mk \
+  msys2-libpcre.mk \
+  msys2-libpcre2.mk \
+  msys2-libpsl.mk \
+  msys2-libreadline.mk \
+  msys2-libsqlite.mk \
+  msys2-libtasn1.mk \
+  msys2-libunistring.mk \
+  msys2-libutil-linux.mk \
+  msys2-libxml2.mk \
+  msys2-make.mk \
+  msys2-mintty.mk \
+  msys2-mpdecimal.mk \
+  msys2-mpfr.mk \
+  msys2-ncurses.mk \
+  msys2-pacman-mirrors.mk \
+  msys2-pacman.mk \
+  msys2-patch.mk \
+  msys2-perl.mk \
+  msys2-python.mk \
+  msys2-runtime.mk \
+  msys2-sed.mk \
+  msys2-tar.mk \
+  msys2-unzip.mk \
+  msys2-wget.mk \
+  msys2-zip.mk \
+  msys2-zlib.mk
+
+SRC_MSYS2_FILES := \
+  $(addprefix src/, $(SRC_MSYS2_FILES_1))
+
+SRC_MSYS2_SRC_FILES_1 := \
+  src-msys2-bash.mk \
+  src-msys2-coreutils.mk \
+  src-msys2-diffutils.mk \
+  src-msys2-dos2unix.mk \
+  src-msys2-filesystem.mk \
+  src-msys2-findutils.mk \
+  src-msys2-gawk.mk \
+  src-msys2-gcc-libs.mk \
+  src-msys2-gmp.mk \
+  src-msys2-gnupg.mk \
+  src-msys2-grep.mk \
+  src-msys2-gzip.mk \
+  src-msys2-icu.mk \
+  src-msys2-info.mk \
+  src-msys2-keyring.mk \
+  src-msys2-less.mk \
+  src-msys2-libassuan.mk \
+  src-msys2-libbz2.mk \
+  src-msys2-libcrypt.mk \
+  src-msys2-libexpat.mk \
+  src-msys2-libffi.mk \
+  src-msys2-libgcrypt.mk \
+  src-msys2-libgnutls.mk \
+  src-msys2-libgpg-error.mk \
+  src-msys2-libgpgme.mk \
+  src-msys2-libhogweed.mk \
+  src-msys2-libiconv.mk \
+  src-msys2-libidn2.mk \
+  src-msys2-libintl.mk \
+  src-msys2-libksba.mk \
+  src-msys2-liblzma.mk \
+  src-msys2-libmetalink.mk \
+  src-msys2-libnettle.mk \
+  src-msys2-libnpth.mk \
+  src-msys2-libopenssl.mk \
+  src-msys2-libp11-kit.mk \
+  src-msys2-libpcre.mk \
+  src-msys2-libpcre2.mk \
+  src-msys2-libpsl.mk \
+  src-msys2-libreadline.mk \
+  src-msys2-libsqlite.mk \
+  src-msys2-libtasn1.mk \
+  src-msys2-libunistring.mk \
+  src-msys2-libutil-linux.mk \
+  src-msys2-libxml2.mk \
+  src-msys2-make.mk \
+  src-msys2-mintty.mk \
+  src-msys2-mpdecimal.mk \
+  src-msys2-mpfr.mk \
+  src-msys2-ncurses.mk \
+  src-msys2-pacman-mirrors.mk \
+  src-msys2-pacman.mk \
+  src-msys2-patch.mk \
+  src-msys2-perl.mk \
+  src-msys2-python.mk \
+  src-msys2-runtime.mk \
+  src-msys2-sed.mk \
+  src-msys2-tar.mk \
+  src-msys2-unzip.mk \
+  src-msys2-wget.mk \
+  src-msys2-zip.mk \
+  src-msys2-zlib.mk
+
+SRC_MSYS2_SRC_FILES := \
+  $(addprefix src/, $(SRC_MSYS2_SRC_FILES_1))
+
 TOOLS_FILES_1 := \
   build-make.sh \
   config.guess \
@@ -659,37 +1039,58 @@
   create-screenshot-for-doc \
   install-sh \
   make-shared-from-static \
+  makeinst-script.sh.in \
+  mk-hg-id.sh \
+  msys2-install.py \
   patch-tool-mxe \
+  pkg-install.py \
   s3-fetch-and-sync \
-  set_mxe_env.sh.in
+  set-mxe-env.sh.in \
+  gen-bat-wrapper
 
 TOOLS_FILES := $(addprefix tools/, $(TOOLS_FILES_1))
 
 FILES := \
+  $(TOP_BUILD_DIR)/HG-ID \
+  CNAME \
+  README \
+  aclocal.m4 \
+  binary-dist-rules.mk \
+  bootstrap \
   build_packages.m \
-  CNAME \
   configure \
   configure.ac \
   dist-files.mk \
+  hg-octave-dist.mk \
   index.html \
   Makefile.in \
-  makeinst-script.sh \
-  mk-dist \
+  octave-wrapper.in \
   octaverc
 
-DOC_FILES_1 := \
-  screenshot-4th-compile.png \
-  screenshot-4th-compile-small.png \
-  screenshot-4th-run.png \
-  screenshot-4th-run-small.png
-
-DOC_FILES := $(addprefix doc/, $(DOC_FILES_1))
+INSTALL_FILES_1 := \
+  cmdshell.bat \
+  post-install.bat \
+  fc_update.bat \
+  gpl-3.0.txt \
+  octave.bat \
+  octave.bmp \
+  octave.vbs \
+  octave-firsttime.vbs \
+  octave-hdr.bmp \
+  octave-logo.ico \
+  post-install.bat \
+  README.html
+INSTALL_FILES := $(addprefix installer-files/, $(INSTALL_FILES_1))
 
 DIST_FILES := \
   $(SRC_FILES) \
+  $(SRC_MSYS2_FILES) \
+  $(SRC_MSYS2_SRC_FILES) \
   $(SRC_MSVCTOOLS_FILES) \
   $(SRC_MSVCTOOLS_COMPAT_FILES) \
   $(SRC_MSVCTOOLS_MATH_FILES) \
   $(TOOLS_FILES) \
   $(FILES) \
-  $(DOC_FILES)
+  $(INSTALL_FILES)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hg-octave-dist.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,54 @@
+## Build and Octave tarball distribution from hg sources.  The
+## resulting tarball may then be used by the default-octave target to
+## build.  So the typical steps for building Octave from the mercurial
+## sources are
+##
+##  ./bootstrap
+##  ./configure --enable-octave=default
+##  make hg-octave-dist
+##  make
+##
+## The version number set in the mercurial sources for Octave must
+## match the one used in src/default-octave.mk.
+##
+## We also install the resulting binary to run natively when
+## building packages during a cross build.
+
+## Set PATH, PKG_CONFIG_PATH, and LD_LIBRARY_PATH to the original
+## values from the environment so that we avoid the tools that we've
+## built for cross compiling.  For these rules to work, you must have
+## appropriate versions of the required tool installed outside of the
+## mxe-octave build tree.  Things like pkg-config and other tools that
+## are built for mxe-octave may produce the wrong values for these
+## steps, especially if we eventually intend to cross compile Octave.
+## Rather than try to work around those issues, it seems simpler to
+## just use the system tools for this job.
+
+HG_OCTAVE_DIST_ENV_FLAGS := \
+  PKG_CONFIG_PATH='$(ENV_PKG_CONFIG_PATH)' \
+  LD_LIBRARY_PATH='$(LD_LIBRARY_PATH)' \
+  PATH='$(ENV_PATH)'
+
+.PHONY: hg-octave-dist
+hg-octave-dist: $(BUILD_TOOLS) update-hg-octave-repo
+	cd octave-hg-repo && \
+	rm -rf .build && \
+	mkdir .build && \
+	$(HG_OCTAVE_DIST_ENV_FLAGS) ./bootstrap && \
+	cd .build && \
+	$(HG_OCTAVE_DIST_ENV_FLAGS) ../configure --prefix=$(ROOT_PREFIX) && \
+	$(HG_OCTAVE_DIST_ENV_FLAGS) make -j '$(JOBS)' all && \
+	$(HG_OCTAVE_DIST_ENV_FLAGS) make -j '$(JOBS)' install && \
+	$(HG_OCTAVE_DIST_ENV_FLAGS) make -j '$(JOBS)' dist && \
+	mv '$($(OCTAVE_TARGET)_FILE)' '$(PKG_DIR)'
+
+.PHONY: update-hg-octave-repo
+update-hg-octave-repo:
+	if [ -d octave-hg-repo ]; then \
+	  cd octave-hg-repo \
+	    && hg pull && hg update $(hg-octave-branch); \
+	else \
+	  hg clone https://hg.savannah.gnu.org/hgweb/octave octave-hg-repo \
+	    && cd octave-hg-repo \
+	    && hg pull && hg update $(hg-octave-branch); \
+	fi
--- a/index.html	Fri Dec 06 23:02:15 2013 -0500
+++ b/index.html	Fri Feb 12 17:29:18 2021 -0500
@@ -761,20 +761,19 @@
     </p>
 
     <h3 id="requirements-mingw">MingW</h3>
-    Make sure to update and upgrade packages as some of the default versions
-    of packages are too old to work correctly.
-    <pre>mingw-get update</pre>
-    <pre>mingw-get upgrade</pre>
     <p>
-    And then get required packages.
-    <pre>mingw-get install autoconf bash msys-bison msys-flex gcc gcc-c++ \
-	      gcc-fortran gettext msys-m4 msys-make msys-sed \
-	      libiconv msys-openssl msys-patch msys-perl \
-              msys-libarchive msys-unzip msys-wget msys-bsdtar
+    Get required packages by running:
+    </p>
+    <pre>mingw-get install gcc gcc-c++ gcc-fortran mingw32-make \
+              msys-autoconf msys-bash msys-bison msys-bsdtar \
+              msys-flex msys-gettext mysys-libiconv \
+              msys-libarchive msys-libz msys-m4 msys-make \
+              msys-openssl msys-patch msys-perl msys-sed \
+              msys-unzip msys-wget 
     </pre>
     <p>
     You will also need to install Windows versions of python  
-    and ghostscript and ensure they are in visisble in the PATH.
+    and ensure it is visisble in the PATH.
     <p>
 
     <h3 id="requirements-opensuse">openSUSE</h3>
@@ -927,1479 +926,2036 @@
     </p>
     <table id="package-list">
     <tr>
-        <td id="agg-package">agg</td>
-        <td id="agg-version">2.5</td>
-        <td id="agg-website"><a href="http://www.antigrain.com/">Anti-Grain Geometry</a></td>
-    </tr>
-    <tr>
-        <td id="apr-util-package">apr-util</td>
-        <td id="apr-util-version">1.3.10</td>
-        <td id="apr-util-website"><a href="http://apr.apache.org/">APR-util</a></td>
-    </tr>
-    <tr>
-        <td id="apr-package">apr</td>
-        <td id="apr-version">1.4.2</td>
-        <td id="apr-website"><a href="http://apr.apache.org/">APR</a></td>
-    </tr>
-    <tr>
-        <td id="armadillo-package">armadillo</td>
-        <td id="armadillo-version">3.4.4</td>
-        <td id="armadillo-website"><a href="http://armadillo.sf.net/">Armadillo C++ linear algebra library</a></td>
-    </tr>
-    <tr>
-        <td id="arpack-package">arpack</td>
-        <td id="arpack-version">3.1.3</td>
-        <td id="arpack-website"><a href="http://forge.scilab.org/index.php/p/arpack-ng/">ARPACK</a></td>
-    </tr>
-    <tr>
-        <td id="atk-package">atk</td>
-        <td id="atk-version">2.8.0</td>
-        <td id="atk-website"><a href="http://www.gtk.org/">ATK</a></td>
-    </tr>
-    <tr>
-        <td id="atkmm-package">atkmm</td>
-        <td id="atkmm-version">2.22.6</td>
-        <td id="atkmm-website"><a href="http://www.gtkmm.org/">ATKmm</a></td>
-    </tr>
-    <tr>
-        <td id="aubio-package">aubio</td>
-        <td id="aubio-version">0.3.2</td>
-        <td id="aubio-website"><a href="http://www.aubio.org/">aubio</a></td>
-    </tr>
-    <tr>
-        <td id="bfd-package">bfd</td>
-        <td id="bfd-version">2.22</td>
-        <td id="bfd-website"><a href="http://www.gnu.org/software/binutils/">Binary File Descriptor library</a></td>
-    </tr>
-    <tr>
-        <td id="blas-package">blas</td>
-        <td id="blas-version">1</td>
-        <td id="blas-website"><a href="http://www.netlib.org/blas/">blas</a></td>
-    </tr>
-    <tr>
-        <td id="boost-package">boost</td>
-        <td id="boost-version">1.52.0</td>
-        <td id="boost-website"><a href="http://www.boost.org/">Boost C++ Library</a></td>
-    </tr>
-    <tr>
-        <td id="build-autoconf-package">autoconf</td>
-        <td id="build-autoconf-version">2.69</td>
-        <td id="build-autoconf-website"><a href="http://www.gnu.org/software/autoconf">autoconf</a></td>
-    </tr>
-    <tr>
-        <td id="build-automake-package">automake</td>
-        <td id="build-automake-version">1.11.6</td>
-        <td id="build-automake-website"><a href="http://www.gnu.org/software/automake">automake</a></td>
-    </tr>
-    <tr>
-        <td id="build-binutils-package">binutils</td>
-        <td id="build-binutils-version">2.23.1</td>
-        <td id="build-binutils-website"><a href="http://www.gnu.org/software/binutils/">GNU Binutils</a></td>
-    </tr>
-    <tr>
-        <td id="build-bison-package">bison</td>
-        <td id="build-bison-version">2.7.1</td>
-        <td id="build-bison-website"><a href="http://www.gnu.org/software/bison">bison</a></td>
-    </tr>
-    <tr>
-        <td id="build-cmake-package">cmake</td>
-        <td id="build-cmake-version">2.8.9</td>
-        <td id="build-cmake-website"><a href="http://www.cmake.org">cmake</a></td>
-    </tr>
-    <tr>
-        <td id="build-flex-package">bison</td>
-        <td id="build-flex-version">2.5.37</td>
-        <td id="build-flex-website"><a href="http://flex.sourceforge.net">flex</a></td>
-    </tr>
-    <tr>
-        <td id="build-gcc-package">gcc</td>
-        <td id="build-gcc-version">4.8.1</td>
-        <td id="build-gcc-website"><a href="http://gcc.gnu.org/">GCC</a></td>
-    </tr>
-    <tr>
-        <td id="build-gperf-package">gperf</td>
-        <td id="build-gperf-version">3.0.4</td>
-        <td id="build-gperf-website"><a href="http://www.gnu.org/software/gperf">gperf</a></td>
-    </tr>
-    <tr>
-        <td id="build-libtool-package">libtool</td>
-        <td id="build-libtool-version">2.4.2</td>
-        <td id="build-libtool-website"><a href="http://www.gnu.org/software/libtool">libtool</a></td>
-    </tr>
-    <tr>
-        <td id="build-m4-package">m4</td>
-        <td id="build-m4-version">1.4.16</td>
-        <td id="build-m4-website"><a href="http://www.gnu.org/software/m4">m4</a></td>
-    </tr>
-    <tr>
-        <td id="build-msvctools-package">msvctools</td>
-        <td id="build-msvctools-version"></td>
-        <td id="build-msvctools-website"></td>
-    </tr>
-    <tr>
-        <td id="build-pkg-config-package">pkg-config</td>
-        <td id="build-pkg-config-version">0.28</td>
-        <td id="build-pkg-config-website"><a href="http://www.freedesktop.org/wiki/Software/pkg-config">pkg-config</a></td>
-    </tr>
-    <tr>
-        <td id="build-texinfo-package">texinfo</td>
-        <td id="build-texinfo-version">4.13a</td>
-        <td id="build-texinfo-website"><a href="http://www.gnu.org/software/texinfo">texinfo</a></td>
-    </tr>
-    <tr>
-        <td id="build-xz-package">xz</td>
-        <td id="build-xz-version">5.0.4</td>
-        <td id="build-xz-website"><a href="http://tukaani.org/xz/">XZ</a></td>
-    </tr>
-    <tr>
-        <td id="bzip2-package">bzip2</td>
-        <td id="bzip2-version">1.0.6</td>
-        <td id="bzip2-website"><a href="http://www.bzip.org/">bzip2</a></td>
-    </tr>
-    <tr>
-        <td id="cairo-package">cairo</td>
-        <td id="cairo-version">1.12.14</td>
-        <td id="cairo-website"><a href="http://cairographics.org/">cairo</a></td>
-    </tr>
-    <tr>
-        <td id="cairomm-package">cairomm</td>
-        <td id="cairomm-version">1.10.0</td>
-        <td id="cairomm-website"><a href="http://cairographics.org/cairomm/">cairomm</a></td>
-    </tr>
-    <tr>
-        <td id="cblas-package">cblas</td>
-        <td id="cblas-version">1</td>
-        <td id="cblas-website"><a href="http://www.netlib.org/blas/">cblas</a></td>
-    </tr>
-    <tr>
-        <td id="cfitsio-package">cfitsio</td>
-        <td id="cfitsio-version">3.350</td>
-        <td id="cfitsio-website"><a href="http://heasarc.gsfc.nasa.gov/fitsio/">CFITSIO</a></td>
-    </tr>
-    <tr>
-        <td id="cgal-package">cgal</td>
-        <td id="cgal-version">4.0.2</td>
-        <td id="cgal-website"><a href="http://www.cgal.org/">cgal</a></td>
-    </tr>
-    <tr>
-        <td id="cminpack-package">cminpack</td>
-        <td id="cminpack-version">1.3.0</td>
-        <td id="cminpack-website"><a href="http://devernay.free.fr/hacks/cminpack/cminpack.html">cminpack</a></td>
-    </tr>
-    <tr>
-        <td id="cppunit-package">cppunit</td>
-        <td id="cppunit-version">1.12.1</td>
-        <td id="cppunit-website"><a href="http://apps.sourceforge.net/mediawiki/cppunit/">CppUnit</a></td>
-    </tr>
-    <tr>
-        <td id="cunit-package">cunit</td>
-        <td id="cunit-version">2.1-2</td>
-        <td id="cunit-website"><a href="http://cunit.sourceforge.net/">cunit</a></td>
-    </tr>
-    <tr>
-        <td id="curl-package">curl</td>
-        <td id="curl-version">7.33.0</td>
-        <td id="curl-website"><a href="http://curl.haxx.se/libcurl/">cURL</a></td>
-    </tr>
-    <tr>
-        <td id="dbus-package">dbus</td>
-        <td id="dbus-version">1.7.6</td>
-        <td id="dbus-website"><a href="http://dbus.freedesktop.org/">dbus</a></td>
-    </tr>
-    <tr>
-        <td id="dcmtk-package">dcmtk</td>
-        <td id="dcmtk-version">3.6.0</td>
-        <td id="dcmtk-website"><a href="http://dicom.offis.de/dcmtk.php.en">DCMTK</a></td>
-    </tr>
-    <tr>
-        <td id="devil-package">devil</td>
-        <td id="devil-version">1.7.8</td>
-        <td id="devil-website"><a href="http://openil.sourceforge.net/">DevIL</a></td>
-    </tr>
-    <tr>
-        <td id="eigen-package">eigen</td>
-        <td id="eigen-version">2.0.17</td>
-        <td id="eigen-website"><a href="http://eigen.tuxfamily.org/">eigen</a></td>
-    </tr>
-    <tr>
-        <td id="exiv2-package">exiv2</td>
-        <td id="exiv2-version">0.23</td>
-        <td id="exiv2-website"><a href="http://www.exiv2.org/">Exiv2</a></td>
-    </tr>
-    <tr>
-        <td id="expat-package">expat</td>
-        <td id="expat-version">2.1.0</td>
-        <td id="expat-website"><a href="http://expat.sourceforge.net/">Expat XML Parser</a></td>
-    </tr>
-    <tr>
-        <td id="faad2-package">faad2</td>
-        <td id="faad2-version">2.7</td>
-        <td id="faad2-website"><a href="http://www.audiocoding.com/">faad2</a></td>
-    </tr>
-    <tr>
-        <td id="ffmpeg-package">ffmpeg</td>
-        <td id="ffmpeg-version">1.0</td>
-        <td id="ffmpeg-website"><a href="http://www.ffmpeg.org/">ffmpeg</a></td>
-    </tr>
-    <tr>
-        <td id="fftw-package">fftw</td>
-        <td id="fftw-version">3.3.3</td>
-        <td id="fftw-website"><a href="http://www.fftw.org/">fftw</a></td>
-    </tr>
-    <tr>
-        <td id="file-package">file</td>
-        <td id="file-version">5.11</td>
-        <td id="file-website"><a href="http://www.darwinsys.com/file/">file</a></td>
-    </tr>
-    <tr>
-        <td id="flac-package">flac</td>
-        <td id="flac-version">1.2.1</td>
-        <td id="flac-website"><a href="http://www.xiph.org/ogg/">FLAC</a></td>
-    </tr>
-    <tr>
-        <td id="fltk-package">fltk</td>
-        <td id="fltk-version">1.3.1</td>
-        <td id="fltk-website"><a href="http://www.fltk.org/">FLTK</a></td>
-    </tr>
-    <tr>
-        <td id="fontconfig-package">fontconfig</td>
-        <td id="fontconfig-version">2.10.93</td>
-        <td id="fontconfig-website"><a href="http://fontconfig.org/">fontconfig</a></td>
-    </tr>
-    <tr>
-        <td id="freeglut-package">freeglut</td>
-        <td id="freeglut-version">2.8.0</td>
-        <td id="freeglut-website"><a href="http://freeglut.sourceforge.net/">freeglut</a></td>
-    </tr>
-    <tr>
-        <td id="freeimage-package">freeimage</td>
-        <td id="freeimage-version">3.15.4</td>
-        <td id="freeimage-website"><a href="http://freeimage.sourceforge.net/">FreeImage</a></td>
-    </tr>
-    <tr>
-        <td id="freetds-package">freetds</td>
-        <td id="freetds-version">0.91</td>
-        <td id="freetds-website"><a href="http://www.freetds.org/">FreeTDS</a></td>
-    </tr>
-    <tr>
-        <td id="freetype-package">freetype</td>
-        <td id="freetype-version">2.4.10</td>
-        <td id="freetype-website"><a href="http://freetype.sourceforge.net/">freetype</a></td>
-    </tr>
-    <tr>
-        <td id="fribidi-package">fribidi</td>
-        <td id="fribidi-version">0.19.4</td>
-        <td id="fribidi-website"><a href="http://fribidi.org/">FriBidi</a></td>
-    </tr>
-    <tr>
-        <td id="ftgl-package">ftgl</td>
-        <td id="ftgl-version">2.1.3~rc5</td>
-        <td id="ftgl-website"><a href="http://sourceforge.net/projects/ftgl/">ftgl</a></td>
-    </tr>
-    <tr>
-        <td id="gc-package">gc</td>
-        <td id="gc-version">7.2d</td>
-        <td id="gc-website"><a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/">gc</a></td>
-    </tr>
-    <tr>
-        <td id="gcab-package">gcab</td>
-        <td id="gcab-version">0.4</td>
-        <td id="gcab-website"><a href="http://ftp.gnome.org/pub/GNOME/sources/gcab/">gcab</a></td>
-    </tr>
-    <tr>
-        <td id="gcc-gmp-package">gcc-gmp</td>
-        <td id="gcc-gmp-version">5.0.5</td>
-        <td id="gcc-gmp-website"><a href="http://www.gmplib.org/">GMP for GCC</a></td>
-    </tr>
-    <tr>
-        <td id="gcc-mpc-package">gcc-mpc</td>
-        <td id="gcc-mpc-version">1.0.1</td>
-        <td id="gcc-mpc-website"><a href="http://www.multiprecision.org/">MPC for GCC</a></td>
-    </tr>
-    <tr>
-        <td id="gcc-mpfr-package">gcc-mpfr</td>
-        <td id="gcc-mpfr-version">3.1.1</td>
-        <td id="gcc-mpfr-website"><a href="http://www.mpfr.org/">MPFR for GCC</a></td>
-    </tr>
-    <tr>
-        <td id="gd-package">gd</td>
-        <td id="gd-version">2.0.35</td>
-        <td id="gd-website"><a href="http://www.libgd.org/">GD  (without support for xpm)</a></td>
-    </tr>
-    <tr>
-        <td id="gdal-package">gdal</td>
-        <td id="gdal-version">1.9.2</td>
-        <td id="gdal-website"><a href="http://www.gdal.org/">GDAL</a></td>
-    </tr>
-    <tr>
-        <td id="gdb-package">gdb</td>
-        <td id="gdb-version">7.5</td>
-        <td id="gdb-website"><a href="http://www.gnu.org/software/gdb/">gdb</a></td>
-    </tr>
-    <tr>
-        <td id="gdcm-package">gdcm</td>
-        <td id="gdcm-version">2.2.3</td>
-        <td id="gdcm-website"><a href="http://gdcm.sourceforge.net/">GDCM</a></td>
-    </tr>
-    <tr>
-        <td id="gdk-pixbuf-package">gdk-pixbuf</td>
-        <td id="gdk-pixbuf-version">2.28.2</td>
-        <td id="gdk-pixbuf-website"><a href="http://www.gdk-pixbuf.org/">GDK-pixbuf</a></td>
-    </tr>
-    <tr>
-        <td id="geos-package">geos</td>
-        <td id="geos-version">3.3.5</td>
-        <td id="geos-website"><a href="http://trac.osgeo.org/geos/">GEOS</a></td>
-    </tr>
-    <tr>
-        <td id="gettext-package">gettext</td>
-        <td id="gettext-version">0.18.3.1</td>
-        <td id="gettext-website"><a href="http://www.gnu.org/software/gettext/">gettext</a></td>
-    </tr>
-    <tr>
-        <td id="giflib-package">giflib</td>
-        <td id="giflib-version">5.0.2</td>
-        <td id="giflib-website"><a href="http://sourceforge.net/projects/libungif/">giflib</a></td>
-    </tr>
-    <tr>
-        <td id="glew-package">glew</td>
-        <td id="glew-version">1.9.0</td>
-        <td id="glew-website"><a href="http://glew.sourceforge.net/">GLEW</a></td>
-    </tr>
-    <tr>
-        <td id="gl2ps-package">gl2ps</td>
-        <td id="gl2ps-version">1.3.8<td>
-        <td id="gl2ps-website"><a href="http://www.geuz.org/gl2ps/">GL2PS</a></td>
-    </tr>
-    <tr>
-        <td id="glib-package">glib</td>
-        <td id="glib-version">2.36.3</td>
-        <td id="glib-website"><a href="http://www.gtk.org/">GLib</a></td>
-    </tr>
-    <tr>
-        <td id="glibmm-package">glibmm</td>
-        <td id="glibmm-version">2.32.0</td>
-        <td id="glibmm-website"><a href="http://www.gtkmm.org/">GLibmm</a></td>
-    </tr>
-    <tr>
-        <td id="glpk-package">glpk</td>
-        <td id="glpk-version">4.52.1<td>
-        <td id="glpk-website"><a href="http://www.gnu.org/software/glpk/">GLPK</a></td>
-    </tr>
-    <tr>
-        <td id="gmp-package">gmp</td>
-        <td id="gmp-version">5.0.5</td>
-        <td id="gmp-website"><a href="http://www.gmplib.org/">GMP</a></td>
-    </tr>
-    <tr>
-        <td id="gnuplot-package">gnuplot</td>
-        <td id="gnuplot-version">4.6.4</td>
-        <td id="gnuplot-website"><a href="http://www.gnuplot.info/">gnuplot</a></td>
-    </tr>
-    <tr>
-        <td id="gnutls-package">gnutls</td>
-        <td id="gnutls-version">3.2.3</td>
-        <td id="gnutls-website"><a href="http://www.gnu.org/software/gnutls/">GnuTLS</a></td>
-    </tr>
-    <tr>
-        <td id="graphicsmagick-package">graphicsmagick</td>
-        <td id="graphicsmagick-version">1.3.17</td>
-        <td id="graphicsmagick-website"><a href="http://www.graphicsmagick.org/">GraphicsMagick</a></td>
-    </tr>
-    <tr>
-        <td id="gsl-package">gsl</td>
-        <td id="gsl-version">1.15</td>
-        <td id="gsl-website"><a href="http://www.gnu.org/software/gsl/">GSL</a></td>
-    </tr>
-    <tr>
-        <td id="gsoap-package">gsoap</td>
-        <td id="gsoap-version">2.8.11</td>
-        <td id="gsoap-website"><a href="http://gsoap2.sourceforge.net/">gSOAP</a></td>
-    </tr>
-    <tr>
-        <td id="gst-plugins-base-package">gst-plugins-base</td>
-        <td id="gst-plugins-base-version">0.10.36</td>
-        <td id="gst-plugins-base-website"><a href="http://gstreamer.freedesktop.org/">gst-plugins-base</a></td>
-    </tr>
-    <tr>
-        <td id="gst-plugins-good-package">gst-plugins-good</td>
-        <td id="gst-plugins-good-version">0.10.31</td>
-        <td id="gst-plugins-good-website"><a href="http://gstreamer.freedesktop.org/">gst-plugins-good</a></td>
-    </tr>
-    <tr>
-        <td id="gstreamer-package">gstreamer</td>
-        <td id="gstreamer-version">0.10.36</td>
-        <td id="gstreamer-website"><a href="http://gstreamer.freedesktop.org/">gstreamer</a></td>
-    </tr>
-    <tr>
-        <td id="gta-package">gta</td>
-        <td id="gta-version">1.0.3</td>
-        <td id="gta-website"><a href="http://gta.nongnu.org/">gta</a></td>
-    </tr>
-    <tr>
-        <td id="gtk2-package">gtk2</td>
-        <td id="gtk2-version">2.24.10</td>
-        <td id="gtk2-website"><a href="http://www.gtk.org/">GTK+</a></td>
-    </tr>
-    <tr>
-        <td id="gtk3-package">gtk3</td>
-        <td id="gtk3-version">3.8.2</td>
-        <td id="gtk3-website"><a href="http://www.gtk.org/">GTK+</a></td>
-    </tr>
-    <tr>
-        <td id="gtkglarea-package">gtkGLArea</td>
-        <td id="gtkglarea-version">2.0.1</td>
-        <td id="gtkglarea-website"><a href="http://www.mono-project.com/GtkGLArea/">GtkGLArea</a></td>
-    </tr>
-    <tr>
-        <td id="gtkglext-package">gtkglext</td>
-        <td id="gtkglext-version">1.2.0</td>
-        <td id="gtkglext-website"><a href="http://gtkglext.sourceforge.net/">GtkGLExt</a></td>
-    </tr>
-    <tr>
-        <td id="gtkglextmm-package">gtkglextmm</td>
-        <td id="gtkglextmm-version">1.2.0</td>
-        <td id="gtkglextmm-website"><a href="http://gtkglext.sourceforge.net/">GtkGLExtmm</a></td>
-    </tr>
-    <tr>
-        <td id="gtkmm2-package">gtkmm2</td>
-        <td id="gtkmm2-version">2.24.0</td>
-        <td id="gtkmm2-website"><a href="http://www.gtkmm.org/">GTKMM</a></td>
-    </tr>
-    <tr>
-        <td id="gtksourceview-package">gtksourceview</td>
-        <td id="gtksourceview-version">2.10.5</td>
-        <td id="gtksourceview-website"><a href="http://projects.gnome.org/gtksourceview/">GTKSourceView</a></td>
-    </tr>
-    <tr>
-        <td id="gtksourceviewmm2-package">gtksourceviewmm2</td>
-        <td id="gtksourceviewmm2-version">2.10.3</td>
-        <td id="gtksourceviewmm2-website"><a href="http://projects.gnome.org/gtksourceviewmm/">GtkSourceViewmm</a></td>
-    </tr>
-    <tr>
-        <td id="guile-package">guile</td>
-        <td id="guile-version">1.8.7</td>
-        <td id="guile-website"><a href="http://www.gnu.org/software/guile/">GNU Guile</a></td>
-    </tr>
-    <tr>
-        <td id="harfbuzz-package">harfbuzz</td>
-        <td id="harfbuzz-version">0.9.19</td>
-        <td id="harfbuzz-website"><a href="http://harfbuzz.sourceforge.net/">HarfBuzz</a></td>
-    </tr>
-    <tr>
-        <td id="hdf5-package">hdf5</td>
-        <td id="hdf5-version">1.8.10</td>
-        <td id="hdf5-website"><a href="http://www.hdfgroup.org/HDF5/">HDF5</a></td>
-    </tr>
-    <tr>
-        <td id="hunspell-package">hunspell</td>
-        <td id="hunspell-version">1.3.2</td>
-        <td id="hunspell-website"><a href="http://hunspell.sourceforge.net/">Hunspell</a></td>
-    </tr>
-    <tr>
-        <td id="id3lib-package">id3lib</td>
-        <td id="id3lib-version">3.8.3</td>
-        <td id="id3lib-website"><a href="http://id3lib.sourceforge.net/">id3lib</a></td>
-    </tr>
-    <tr>
-        <td id="ilmbase-package">ilmbase</td>
-        <td id="ilmbase-version">1.0.2</td>
-        <td id="ilmbase-website"><a href="http://www.openexr.com/">IlmBase</a></td>
-    </tr>
-    <tr>
-        <td id="imagemagick-package">imagemagick</td>
-        <td id="imagemagick-version">6.7.2-7</td>
-        <td id="imagemagick-website"><a href="http://www.imagemagick.org/">ImageMagick</a></td>
-    </tr>
-    <tr>
-        <td id="intltool-package">intltool</td>
-        <td id="intltool-version">0.50.2</td>
-        <td id="intltool-website"><a href="https://launchpad.net/intltool/+download">intltool</a></td>
-    </tr>
-    <tr>
-        <td id="itsol-package">ITSOL</td>
-        <td id="itsol-version">2</td>
-        <td id="itsol-website"><a href="http://www-users.cs.umn.edu/~saad/software/ITSOL/">ITSOL</a></td>
-    </tr>
-    <tr>
-        <td id="itstool-package">itstool</td>
-        <td id="itstool-version">1.2.0</td>
-        <td id="itstool-website"><a href="http://itstool.org/">ITS Tool</a></td>
-    </tr>
-    <tr>
-        <td id="jasper-package">jasper</td>
-        <td id="jasper-version">1.900.1</td>
-        <td id="jasper-website"><a href="http://www.ece.uvic.ca/~mdadams/jasper/">JasPer</a></td>
-    </tr>
-    <tr>
-        <td id="jpeg-package">jpeg</td>
-        <td id="jpeg-version">8d</td>
-        <td id="jpeg-website"><a href="http://www.ijg.org/">jpeg</a></td>
-    </tr>
-    <tr>
-        <td id="json-c-package">json-c</td>
-        <td id="json-c-version">0.10</td>
-        <td id="json-c-website"><a href="http://oss.metaparadigm.com/json-c/">json-c</a></td>
-    </tr>
-    <tr>
-        <td id="lame-package">lame</td>
-        <td id="lame-version">3.99</td>
-        <td id="lame-website"><a href="http://lame.sourceforge.net/">lame</a></td>
-    </tr>
-    <tr>
-        <td id="lapack-package">lapack</td>
-        <td id="lapack-version">3.4.2</td>
-        <td id="lapack-website"><a href="http://www.netlib.org/lapack/">lapack</a></td>
-    </tr>
-    <tr>
-        <td id="lcms-package">lcms</td>
-        <td id="lcms-version">2.4</td>
-        <td id="lcms-website"><a href="http://www.littlecms.com/">lcms</a></td>
-    </tr>
-    <tr>
-        <td id="lcms1-package">lcms1</td>
-        <td id="lcms1-version">1.19</td>
-        <td id="lcms1-website"><a href="http://www.littlecms.com/">lcms1</a></td>
-    </tr>
-    <tr>
-        <td id="levmar-package">levmar</td>
-        <td id="levmar-version">2.6</td>
-        <td id="levmar-website"><a href="http://www.ics.forth.gr/~lourakis/levmar">levmar</a></td>
-    </tr>
-    <tr>
-        <td id="libarchive-package">libarchive</td>
-        <td id="libarchive-version">3.0.3</td>
-        <td id="libarchive-website"><a href="http://code.google.com/p/libarchive/">Libarchive</a></td>
-    </tr>
-    <tr>
-        <td id="libass-package">libass</td>
-        <td id="libass-version">0.10.1</td>
-        <td id="libass-website"><a href="http://code.google.com/p/libass/">libass</a></td>
-    </tr>
-    <tr>
-        <td id="libcroco-package">libcroco</td>
-        <td id="libcroco-version">0.6.2</td>
-        <td id="libcroco-website"><a href="http://www.freespiders.org/projects/libcroco/">Libcroco</a></td>
-    </tr>
-    <tr>
-        <td id="libdnet-package">libdnet</td>
-        <td id="libdnet-version">1.11</td>
-        <td id="libdnet-website"><a href="http://libdnet.sourceforge.net/">libdnet</a></td>
-    </tr>
-    <tr>
-        <td id="libevent-package">libevent</td>
-        <td id="libevent-version">2.0.20</td>
-        <td id="libevent-website"><a href="http://libevent.org/">libevent</a></td>
-    </tr>
-    <tr>
-        <td id="libf2c-package">libf2c</td>
-        <td id="libf2c-version">1</td>
-        <td id="libf2c-website"><a href="http://www.netlib.org/f2c/">libf2c</a></td>
-    </tr>
-    <tr>
-        <td id="libffi-package">libffi</td>
-        <td id="libffi-version">3.0.11</td>
-        <td id="libffi-website"><a href="http://sourceware.org/libffi/">libffi</a></td>
-    </tr>
-    <tr>
-        <td id="libgcrypt-package">libgcrypt</td>
-        <td id="libgcrypt-version">1.5.3</td>
-        <td id="libgcrypt-website"><a href="ftp://ftp.gnupg.org/gcrypt/libgcrypt/">libgcrypt</a></td>
-    </tr>
-    <tr>
-        <td id="libgd-package">libgd</td>
-        <td id="libgd-version">2.1.0</td>
-        <td id="libgd-website"><a href="http://www.libgd.org/">libgd</a></td>
-    </tr>
-    <tr>
-        <td id="libgda-package">libgda</td>
-        <td id="libgda-version">4.2.13</td>
-        <td id="libgda-website"><a href="http://www.gnome-db.org/">libgda</a></td>
-    </tr>
-    <tr>
-        <td id="libgdamm-package">libgdamm</td>
-        <td id="libgdamm-version">4.1.3</td>
-        <td id="libgdamm-website"><a href="https://launchpad.net/libgdamm">libgdamm</a></td>
-    </tr>
-    <tr>
-        <td id="libgee-package">libgee</td>
-        <td id="libgee-version">0.5.0</td>
-        <td id="libgee-website"><a href="http://live.gnome.org/Libgee">libgee</a></td>
-    </tr>
-    <tr>
-        <td id="libgeotiff-package">libgeotiff</td>
-        <td id="libgeotiff-version">1.4.0</td>
-        <td id="libgeotiff-website"><a href="http://trac.osgeo.org/geotiff/">GeoTiff</a></td>
-    </tr>
-    <tr>
-        <td id="libglade-package">libglade</td>
-        <td id="libglade-version">2.6.4</td>
-        <td id="libglade-website"><a href="http://glade.gnome.org/">glade</a></td>
-    </tr>
-    <tr>
-        <td id="libgnurx-package">libgnurx</td>
-        <td id="libgnurx-version">2.5.1</td>
-        <td id="libgnurx-website"><a href="http://sourceforge.net/projects/mingw/files/UserContributed/regex/">libgnurx</a></td>
-    </tr>
-    <tr>
-        <td id="libgomp-package">libgomp</td>
-        <td id="libgomp-version">4.7.0</td>
-        <td id="libgomp-website"><a href="http://gcc.gnu.org/projects/gomp/">GCC-libgomp</a></td>
-    </tr>
-    <tr>
-        <td id="libgpg_error-package">libgpg_error</td>
-        <td id="libgpg_error-version">1.11</td>
-        <td id="libgpg_error-website"><a href="ftp://ftp.gnupg.org/gcrypt/libgpg-error/">libgpg-error</a></td>
-    </tr>
-    <tr>
-        <td id="libgsasl-package">libgsasl</td>
-        <td id="libgsasl-version">1.8.0</td>
-        <td id="libgsasl-website"><a href="http://www.gnu.org/software/gsasl/">Libgsasl</a></td>
-    </tr>
-    <tr>
-        <td id="libgsf-package">libgsf</td>
-        <td id="libgsf-version">1.14.27</td>
-        <td id="libgsf-website"><a href="http://projects.gnome.org/libgsf/">libgsf</a></td>
-    </tr>
-    <tr>
-        <td id="libharu-package">libharu</td>
-        <td id="libharu-version">2.2.1</td>
-        <td id="libharu-website"><a href="http://libharu.org/">libharu</a></td>
-    </tr>
-    <tr>
-        <td id="libiberty-package">libiberty</td>
-        <td id="libiberty-version">2.22</td>
-        <td id="libiberty-website"><a href="http://gcc.gnu.org/onlinedocs/libiberty/">libiberty</a></td>
-    </tr>
-    <tr>
-        <td id="libical-package">libical</td>
-        <td id="libical-version">0.48</td>
-        <td id="libical-website"><a href="http://freeassociation.sourceforge.net/">libical</a></td>
-    </tr>
-    <tr>
-        <td id="libiconv-package">libiconv</td>
-        <td id="libiconv-version">1.14</td>
-        <td id="libiconv-website"><a href="http://www.gnu.org/software/libiconv/">libiconv</a></td>
-    </tr>
-    <tr>
-        <td id="libidn-package">libidn</td>
-        <td id="libidn-version">1.28</td>
-        <td id="libidn-website"><a href="http://www.gnu.org/software/libidn/">Libidn</a></td>
-    </tr>
-    <tr>
-        <td id="libircclient-package">libircclient</td>
-        <td id="libircclient-version">1.6</td>
-        <td id="libircclient-website"><a href="http://sourceforge.net/projects/libircclient/">libircclient</a></td>
-    </tr>
-    <tr>
-        <td id="liblo-package">liblo</td>
-        <td id="liblo-version">0.26</td>
-        <td id="liblo-website"><a href="http://liblo.sourceforge.net/">liblo</a></td>
-    </tr>
-    <tr>
-        <td id="libmad-package">libmad</td>
-        <td id="libmad-version">0.15.1b</td>
-        <td id="libmad-website"><a href="http://www.underbit.com/products/mad/">libmad</a></td>
-    </tr>
-    <tr>
-        <td id="libmikmod-package">libmikmod</td>
-        <td id="libmikmod-version">3.2.0-beta2</td>
-        <td id="libmikmod-website"><a href="http://mikmod.raphnet.net/">libMikMod</a></td>
-    </tr>
-    <tr>
-        <td id="libmng-package">libmng</td>
-        <td id="libmng-version">2.0.2</td>
-        <td id="libmng-website"><a href="http://www.libmng.com/">libmng</a></td>
-    </tr>
-    <tr>
-        <td id="libmodplug-package">libmodplug</td>
-        <td id="libmodplug-version">0.8.8.4</td>
-        <td id="libmodplug-website"><a href="http://modplug-xmms.sourceforge.net/">libmodplug</a></td>
-    </tr>
-    <tr>
-        <td id="libntlm-package">libntlm</td>
-        <td id="libntlm-version">1.3</td>
-        <td id="libntlm-website"><a href="http://www.nongnu.org/libntlm/">Libntlm</a></td>
-    </tr>
-    <tr>
-        <td id="liboauth-package">liboauth</td>
-        <td id="liboauth-version">1.0.0</td>
-        <td id="liboauth-website"><a href="http://liboauth.sourceforge.net/">liboauth</a></td>
-    </tr>
-    <tr>
-        <td id="libodbc++-package">libodbc++</td>
-        <td id="libodbc++-version">0.2.5</td>
-        <td id="libodbc++-website"><a href="http://libodbcxx.sourceforge.net/">libodbc++</a></td>
-    </tr>
-    <tr>
-        <td id="liboil-package">liboil</td>
-        <td id="liboil-version">0.3.17</td>
-        <td id="liboil-website"><a href="http://liboil.freedesktop.org/">liboil</a></td>
-    </tr>
-    <tr>
-        <td id="libpano13-package">libpano13</td>
-        <td id="libpano13-version">2.9.18_rc2</td>
-        <td id="libpano13-website"><a href="http://panotools.sourceforge.net/">libpano13</a></td>
-    </tr>
-    <tr>
-        <td id="libpaper-package">libpaper</td>
-        <td id="libpaper-version">1.1.24+nmu2</td>
-        <td id="libpaper-website"><a href="http://packages.debian.org/unstable/libpaper1">libpaper</a></td>
-    </tr>
-    <tr>
-        <td id="libpng-package">libpng</td>
-        <td id="libpng-version">1.6.3</td>
-        <td id="libpng-website"><a href="http://www.libpng.org/">libpng</a></td>
-    </tr>
-    <tr>
-        <td id="librsvg-package">librsvg</td>
-        <td id="librsvg-version">2.36.4</td>
-        <td id="librsvg-website"><a href="http://librsvg.sourceforge.net/">librsvg</a></td>
-	</tr>
-    <tr>
-        <td id="librtmp-package">librtmp</td>
-        <td id="librtmp-version">2.4</td>
-        <td id="librtmp-website"><a href="http://rtmpdump.mplayerhq.hu/">librtmp</a></td>
-    </tr>
-    <tr>
-        <td id="libsamplerate-package">libsamplerate</td>
-        <td id="libsamplerate-version">0.1.8</td>
-        <td id="libsamplerate-website"><a href="http://www.mega-nerd.com/SRC/">libsamplerate</a></td>
-    </tr>
-    <tr>
-        <td id="libshout-package">libshout</td>
-        <td id="libshout-version">2.3.1</td>
-        <td id="libshout-website"><a href="http://www.icecast.org/">libshout</a></td>
-    </tr>
-    <tr>
-        <td id="libsigc++-package">libsigc++</td>
-        <td id="libsigc++-version">2.3.1</td>
-        <td id="libsigc++-website"><a href="http://libsigc.sourceforge.net/">libsigc++</a></td>
-    </tr>
-    <tr>
-        <td id="libsndfile-package">libsndfile</td>
-        <td id="libsndfile-version">1.0.25</td>
-        <td id="libsndfile-website"><a href="http://www.mega-nerd.com/libsndfile/">libsndfile</a></td>
-    </tr>
-    <tr>
-        <td id="libssh2-package">libssh2</td>
-        <td id="libssh2-version">1.4.2</td>
-        <td id="libssh2-website"><a href="http://www.libssh2.org">libssh2</a></td>
-    </tr>
-    <tr>
-        <td id="libtool-package">libtool</td>
-        <td id="libtool-version">2.4.2</td>
-        <td id="libtool-website"><a href="http://www.gnu.org/software/libtool/">GNU Libtool</a></td>
-    </tr>
-    <tr>
-        <td id="libunistring-package">libunistring</td>
-        <td id="libunistring-version">0.9.3</td>
-        <td id="libunistring-website"><a href="http://www.gnu.org/software/libunistring/">libunistring</a></td>
-    </tr>
-    <tr>
-        <td id="libusb-package">libusb</td>
-        <td id="libusb-version">1.2.6.0</td>
-        <td id="libusb-website"><a href="http://libusb-win32.sourceforge.net/">LibUsb</a></td>
-    </tr>
-    <tr>
-        <td id="libvpx-package">libvpx</td>
-        <td id="libvpx-version">1.1.0</td>
-        <td id="libvpx-website"><a href="http://code.google.com/p/webm/">vpx</a></td>
-    </tr>
-    <tr>
-        <td id="libxml++-package">libxml++</td>
-        <td id="libxml++-version">2.36.0</td>
-        <td id="libxml++-website"><a href="http://libxmlplusplus.sourceforge.net/">libxml2</a></td>
-    </tr>
-    <tr>
-        <td id="libxml2-package">libxml2</td>
-        <td id="libxml2-version">2.9.0</td>
-        <td id="libxml2-website"><a href="http://www.xmlsoft.org/">libxml2</a></td>
-    </tr>
-    <tr>
-        <td id="libxslt-package">libxslt</td>
-        <td id="libxslt-version">1.1.27</td>
-        <td id="libxslt-website"><a href="http://xmlsoft.org/XSLT/">libxslt</a></td>
-    </tr>
-    <tr>
-        <td id="llvm-package">llvm</td>
-        <td id="llvm-version">3.3</td>
-        <td id="llvm-website"><a href="http://llvm.org/">llvm</a></td>
-    </tr>
-    <tr>
-        <td id="log4cxx-package">log4cxx</td>
-        <td id="log4cxx-version">0.10.0</td>
-        <td id="log4cxx-website"><a href="http://logging.apache.org/log4cxx/">log4cxx</a></td>
-    </tr>
-    <tr>
-        <td id="lua-package">lua</td>
-        <td id="lua-version">5.2.1</td>
-        <td id="lua-website"><a href="http://www.lua.org/">Lua</a></td>
-    </tr>
-    <tr>
-        <td id="lzo-package">lzo</td>
-        <td id="lzo-version">2.06</td>
-        <td id="lzo-website"><a href="http://www.oberhumer.com/opensource/lzo/">lzo</a></td>
-    </tr>
-    <tr>
-        <td id="matio-package">matio</td>
-        <td id="matio-version">1.3.4</td>
-        <td id="matio-website"><a href="http://sourceforge.net/projects/matio/">matio</a></td>
-    </tr>
-    <tr>
-        <td id="mdbtools-package">mdbtools</td>
-        <td id="mdbtools-version">0.7</td>
-        <td id="mdbtools-website"><a href="http://sourceforge.net/projects/mdbtools/">mdbtools</a></td>
-    </tr>
-    <tr>
-        <td id="mingwrt-package">mingwrt</td>
-        <td id="mingwrt-version">3.20-2</td>
-        <td id="mingwrt-website"><a href="http://www.mingw.org/">MinGW Runtime</a></td>
-    </tr>
-    <tr>
-        <td id="mpfr-package">mpfr</td>
-        <td id="mpfr-version">3.1.1</td>
-        <td id="mpfr-website"><a href="http://www.mpfr.org/">mpfr</a></td>
-    </tr>
-    <tr>
-        <td id="msitools-package">msitools</td>
-        <td id="msitools-version">0.92</td>
-	<td id="msitools-website"><a href="https://wiki.gnome.org/msitools">msitools</a></td>
-    </tr>
-    <tr>
-        <td id="msys-bash-package">msys-bash</td>
-        <td id="msys-bash-version">3.1.17-4</td>
-        <td id="msys-bash-website"><a href="http://www.mingw.org/">MinGW bash</a></td>
-    </tr>
-    <tr>
-        <td id="msys-coreutils-package">msys-coreutils</td>
-        <td id="msys-coreutils-version">5.97-3</td>
-        <td id="msys-coreutils-website"><a href="http://www.mingw.org/">MinGW coreutils</a></td>
-    </tr>
-    <tr>
-        <td id="msys-diffutils-package">msys-diffutils</td>
-        <td id="msys-diffutils-version">2.8.7.20071206cvs-3</td>
-        <td id="msys-diffutils-website"><a href="http://www.mingw.org/">MinGW diffutils</a></td>
+        <td class="package">a52dec</td>
+        <td class="website"><a href="http://liba52.sourceforge.net">A52dec</a></td>
+    </tr>
+    <tr>
+        <td class="package">agg</td>
+        <td class="website"><a href="http://www.antigrain.com/">Anti-Grain Geometry</a></td>
+    </tr>
+    <tr>
+        <td class="package">apr-util</td>
+        <td class="website"><a href="http://apr.apache.org/">APR-util</a></td>
+    </tr>
+    <tr>
+        <td class="package">apr</td>
+        <td class="website"><a href="http://apr.apache.org/">APR</a></td>
+    </tr>
+    <tr>
+        <td class="package">armadillo</td>
+        <td class="website"><a href="http://armadillo.sf.net/">Armadillo C++ linear algebra library</a></td>
+    </tr>
+    <tr>
+        <td class="package">arpack</td>
+        <td class="website"><a href="http://forge.scilab.org/index.php/p/arpack-ng/">ARPACK</a></td>
+    </tr>
+    <tr>
+        <td class="package">atk</td>
+        <td class="website"><a href="http://www.gtk.org/">ATK</a></td>
+    </tr>
+    <tr>
+        <td class="package">atkmm</td>
+        <td class="website"><a href="http://www.gtkmm.org/">ATKmm</a></td>
+    </tr>
+    <tr>
+        <td class="package">aubio</td>
+        <td class="website"><a href="http://www.aubio.org/">aubio</a></td>
+    </tr>
+    <tr>
+        <td class="package">bfd</td>
+        <td class="website"><a href="http://www.gnu.org/software/binutils/">Binary File Descriptor library</a></td>
+    </tr>
+    <tr>
+        <td class="package">biosig</td>
+        <td class="website"><a href="https://biosig.sourceforge.io/">Biosig</a></td>
+    </tr>
+    <tr>
+        <td class="package">blas</td>
+        <td class="website"><a href="http://www.netlib.org/blas/">blas</a></td>
+    </tr>
+    <tr>
+        <td class="package">blas_switch</td>
+        <td class="website"><a href="https://github.com/lostbard/blas_switch/">blas_switch</a></td>
+    </tr>
+    <tr>
+        <td class="package">boost</td>
+        <td class="website"><a href="http://www.boost.org/">Boost C++ Library</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-autoconf</td>
+        <td class="website"><a href="http://www.gnu.org/software/autoconf">autoconf</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-automake</td>
+        <td class="website"><a href="http://www.gnu.org/software/automake">automake</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-binutils</td>
+        <td class="website"><a href="http://www.gnu.org/software/binutils/">GNU Binutils</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-bison</td>
+        <td class="website"><a href="http://www.gnu.org/software/bison">bison</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-cmake</td>
+        <td class="website"><a href="http://www.cmake.org">cmake</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-flex</td>
+        <td class="website"><a href="http://flex.sourceforge.net">flex</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-gawk</td>
+        <td class="website"><a href="http://gcc.gnu.org/">GAWK</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-gettext</td>
+        <td class="website"><a href="http://www.gnu.org/software/gettext/">gettext</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-gcc</td>
+        <td class="website"><a href="http://gcc.gnu.org/">GCC</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-gperf</td>
+        <td class="website"><a href="http://www.gnu.org/software/gperf">gperf</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-libtool</td>
+        <td class="website"><a href="http://www.gnu.org/software/libtool">libtool</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-lzip</td>
+        <td class="website"><a href="http://www.nongnu.org/lzip/lzip.html">Lzip</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-mako</td>
+        <td class="website"><a href="http://pypi.python.org/pypi/Mako">mako</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-markupsafe</td>
+        <td class="website"><a href="http://pypi.python.org/pypi/MarkupSafe">markupsafe</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-m4</td>
+        <td class="website"><a href="http://www.gnu.org/software/m4">m4</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-meson</td>
+        <td class="website"><a href="https://mesonbuild.com/">build-meson</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-msvctools</td>
+        <td class="website"></td>
+    </tr>
+    <tr>
+        <td class="package">build-ninja</td>
+        <td class="website"><a href="https://ninja-build.org/">build-ninja</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-octave</td>
+        <td class="website">Minimal version of <a href="http://www.octave.org">Octave</a> for cross-compiling some binary packages</td>
+    </tr>
+    <tr>
+        <td class="package">build-perl</td>
+        <td class="website"><a href="http://www.perl.org">perl</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-pkg-config</td>
+        <td class="website"><a href="http://www.freedesktop.org/wiki/Software/pkg-config">pkg-config</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-python</td>
+        <td class="website"><a href="https://www.python.org/dev/peps/pep-0373/">python2</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-python3</td>
+        <td class="website"><a href="http://www.python.org">python3</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-scons</td>
+        <td class="website"><a href="http://www.scons.org">scons</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-sed</td>
+        <td class="website"><a href="http://www.gnu.org/software/sed">sed</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-setuptools</td>
+        <td class="website"><a href="http://pypi.python.org/pypi/setuptools">setuptools</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-texinfo</td>
+        <td class="website"><a href="http://www.gnu.org/software/texinfo">texinfo</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-xz</td>
+        <td class="website"><a href="http://tukaani.org/xz/">XZ</a></td>
+    </tr>
+    <tr>
+        <td class="package">build-yasm</td>
+        <td class="website"><a href="http://yasm.tortall.net/">Yasm</a></td>
+    </tr>
+    <tr>
+        <td class="package">bzip2</td>
+        <td class="website"><a href="http://www.bzip.org/">bzip2</a></td>
+    </tr>
+    <tr>
+        <td class="package">c-ares</td>
+        <td class="website"><a href="http://c-ares.haxx.se/">c-ares</a></td>
+    </tr>
+    <tr>
+        <td class="package">cairo</td>
+        <td class="website"><a href="http://cairographics.org/">cairo</a></td>
+    </tr>
+    <tr>
+        <td class="package">cairomm</td>
+        <td class="website"><a href="http://cairographics.org/cairomm/">cairomm</a></td>
+    </tr>
+    <tr>
+        <td class="package">cblas</td>
+        <td class="website"><a href="http://www.netlib.org/blas/">cblas</a></td>
+    </tr>
+    <tr>
+        <td class="package">cfitsio</td>
+        <td class="website"><a href="http://heasarc.gsfc.nasa.gov/fitsio/">CFITSIO</a></td>
+    </tr>
+    <tr>
+        <td class="package">cgal</td>
+        <td class="website"><a href="http://www.cgal.org/">cgal</a></td>
+    </tr>
+    <tr>
+        <td class="package">cloog</td>
+        <td class="website"><a href="http://www.cloog.org/">CLooG Code Generator</a></td>
+    </tr>
+    <tr>
+        <td class="package">cmake</td>
+        <td class="website"><a href="http://www.cmake.org">cmake</a></td>
+    </tr>
+    <tr>
+        <td class="package">cminpack</td>
+        <td class="website"><a href="http://devernay.free.fr/hacks/cminpack/cminpack.html">cminpack</a></td>
+    </tr>
+    <tr>
+        <td class="package">cppunit</td>
+        <td class="website"><a href="http://apps.sourceforge.net/mediawiki/cppunit/">CppUnit</a></td>
+    </tr>
+    <tr>
+        <td class="package">cunit</td>
+        <td class="website"><a href="http://cunit.sourceforge.net/">cunit</a></td>
+    </tr>
+    <tr>
+        <td class="package">curl</td>
+        <td class="website"><a href="http://curl.haxx.se/libcurl/">cURL</a></td>
+    </tr>
+    <tr>
+        <td class="package">damageproto</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">damageproto</a></td>
+    </tr>
+    <tr>
+        <td class="package">dbus</td>
+        <td class="website"><a href="http://dbus.freedesktop.org/">dbus</a></td>
+    </tr>
+    <tr>
+        <td class="package">dcmtk</td>
+        <td class="website"><a href="http://dicom.offis.de/dcmtk.php.en">DCMTK</a></td>
+    </tr>
+    <tr>
+        <td class="package">default-octave</td>
+        <td class="website"><a href="https://octave.org/">Default Octave</a></td>
+    </tr>
+    <tr>
+        <td class="package">devil</td>
+        <td class="website"><a href="http://openil.sourceforge.net/">DevIL</a></td>
+    </tr>
+    <tr>
+        <td class="package">double-conversion</td>
+        <td class="website"><a href="https://opensource.google.com/projects/double-conversion">double-conversion</a></td>
+    </tr>
+    <tr>
+        <td class="package">dri2proto</td>
+        <td class="website"><a href="http//xorg.freedesktop.org/">dri2proto</a></td>
+    </tr>
+    <tr>
+        <td class="package">eigen</td>
+        <td class="website"><a href="http://eigen.tuxfamily.org/">eigen</a></td>
+    </tr>
+    <tr>
+        <td class="package">exiv2</td>
+        <td class="website"><a href="http://www.exiv2.org/">Exiv2</a></td>
+    </tr>
+    <tr>
+        <td class="package">expat</td>
+        <td class="website"><a href="http://expat.sourceforge.net/">Expat XML Parser</a></td>
+    </tr>
+    <tr>
+        <td class="package">faad2</td>
+        <td class="website"><a href="http://www.audiocoding.com/">faad2</a></td>
+    </tr>
+    <tr>
+        <td class="package">ffmpeg</td>
+        <td class="website"><a href="http://www.ffmpeg.org/">ffmpeg</a></td>
+    </tr>
+    <tr>
+        <td class="package">fftw</td>
+        <td class="website"><a href="http://www.fftw.org/">fftw</a></td>
+    </tr>
+    <tr>
+        <td class="package">file</td>
+        <td class="website"><a href="http://www.darwinsys.com/file/">file</a></td>
+    </tr>
+    <tr>
+        <td class="package">fixesproto</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">fixesproto</a></td>
+    </tr>
+    <tr>
+        <td class="package">flac</td>
+        <td class="website"><a href="http://www.xiph.org/ogg/">FLAC</a></td>
+    </tr>
+    <tr>
+        <td class="package">fltk</td>
+        <td class="website"><a href="http://www.fltk.org/">FLTK</a></td>
+    </tr>
+    <tr>
+        <td class="package">fontconfig</td>
+        <td class="website"><a href="http://fontconfig.org/">fontconfig</a></td>
+    </tr>
+    <tr>
+        <td class="package">freeglut</td>
+        <td class="website"><a href="http://freeglut.sourceforge.net/">freeglut</a></td>
+    </tr>
+    <tr>
+        <td class="package">freeimage</td>
+        <td class="website"><a href="http://freeimage.sourceforge.net/">FreeImage</a></td>
+    </tr>
+    <tr>
+        <td class="package">freetds</td>
+        <td class="website"><a href="http://www.freetds.org/">FreeTDS</a></td>
+    </tr>
+    <tr>
+        <td class="package">freetype</td>
+        <td class="website"><a href="http://freetype.sourceforge.net/">freetype</a></td>
+    </tr>
+    <tr>
+        <td class="package">fribidi</td>
+        <td class="website"><a href="http://fribidi.org/">FriBidi</a></td>
+    </tr>
+    <tr>
+        <td class="package">ftgl</td>
+        <td class="website"><a href="http://sourceforge.net/projects/ftgl/">ftgl</a></td>
+    </tr>
+    <tr>
+        <td class="package">gc</td>
+        <td class="website"><a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/">gc</a></td>
+    </tr>
+    <tr>
+        <td class="package">gcab</td>
+        <td class="website"><a href="http://ftp.gnome.org/pub/GNOME/sources/gcab/">gcab</a></td>
+    </tr>
+    <tr>
+        <td class="package">gcc-cloog</td>
+        <td class="website"><a href="http://www.cloog.org/">CLooG for GCC</a></td>
+    </tr>
+    <tr>
+        <td class="package">gcc-gmp</td>
+        <td class="website"><a href="http://www.gmplib.org/">GMP for GCC</a></td>
+    </tr>
+    <tr>
+        <td class="package">gcc-isl</td>
+        <td class="website"><a href="http://isl.gforge.inria.fr/">ISL for GCC</a></td>
+    </tr>
+    <tr>
+        <td class="package">gcc-mpc</td>
+        <td class="website"><a href="http://www.multiprecision.org/">MPC for GCC</a></td>
+    </tr>
+    <tr>
+        <td class="package">gcc-mpfr</td>
+        <td class="website"><a href="http://www.mpfr.org/">MPFR for GCC</a></td>
+    </tr>
+    <tr>
+        <td class="package">gd</td>
+        <td class="website"><a href="http://www.libgd.org/">GD  (without support for xpm)</a></td>
+    </tr>
+    <tr>
+        <td class="package">gdal</td>
+        <td class="website"><a href="http://www.gdal.org/">GDAL</a></td>
+    </tr>
+    <tr>
+        <td class="package">gdb</td>
+        <td class="website"><a href="http://www.gnu.org/software/gdb/">gdb</a></td>
+    </tr>
+    <tr>
+        <td class="package">gdcm</td>
+        <td class="website"><a href="http://gdcm.sourceforge.net/">GDCM</a></td>
+    </tr>
+    <tr>
+        <td class="package">gdk-pixbuf</td>
+        <td class="website"><a href="http://www.gdk-pixbuf.org/">GDK-pixbuf</a></td>
+    </tr>
+    <tr>
+        <td class="package">geos</td>
+        <td class="website"><a href="http://trac.osgeo.org/geos/">GEOS</a></td>
+    </tr>
+    <tr>
+        <td class="package">gettext</td>
+        <td class="website"><a href="http://www.gnu.org/software/gettext/">gettext</a></td>
+    </tr>
+    <tr>
+        <td class="package">ghostscript</td>
+        <td class="website"><a href="http://ghostscript.com">ghostscript</a></td>
+    </tr>
+    <tr>
+        <td class="package">giflib</td>
+        <td class="website"><a href="http://sourceforge.net/projects/libungif/">giflib</a></td>
+    </tr>
+    <tr>
+        <td class="package">gl2ps</td>
+        <td class="website"><a href="http://www.geuz.org/gl2ps/">GL2PS</a></td>
+    </tr>
+    <tr>
+        <td class="package">glew</td>
+        <td class="website"><a href="http://glew.sourceforge.net/">GLEW</a></td>
+    </tr>
+    <tr>
+        <td class="package">glib</td>
+        <td class="website"><a href="http://www.gtk.org/">GLib</a></td>
+    </tr>
+    <tr>
+        <td class="package">glibmm</td>
+        <td class="website"><a href="http://www.gtkmm.org/">GLibmm</a></td>
+    </tr>
+    <tr>
+        <td class="package">glpk</td>
+        <td class="website"><a href="http://www.gnu.org/software/glpk/">GLPK</a></td>
+    </tr>
+    <tr>
+        <td class="package">glproto</td>
+        <td class="website"><a href="http//xorg.freedesktop.org/">glproto</a></td>
+    </tr>
+    <tr>
+        <td class="package">glu</td>
+        <td class="website"><a href="http://www.mesa3d.org/osmesa.html">GLU</a></td>
+    </tr>
+    <tr>
+        <td class="package">gmp</td>
+        <td class="website"><a href="http://www.gmplib.org/">GMP</a></td>
+    </tr>
+    <tr>
+        <td class="package">gnuplot</td>
+        <td class="website"><a href="http://www.gnuplot.info/">gnuplot</a></td>
+    </tr>
+   <tr>
+        <td class="package">epstool</td>
+        <td class="website"><a href="http://pages.cs.wisc.edu/">epstool</a></td>
+    </tr>
+    <tr>
+        <td class="package">gnutls</td>
+        <td class="website"><a href="http://www.gnu.org/software/gnutls/">GnuTLS</a></td>
+    </tr>
+    <tr>
+        <td class="package">graphicsmagick</td>
+        <td class="website"><a href="http://www.graphicsmagick.org/">GraphicsMagick</a></td>
+    </tr>
+    <tr>
+        <td class="package">gsl</td>
+        <td class="website"><a href="http://www.gnu.org/software/gsl/">GSL</a></td>
+    </tr>
+    <tr>
+        <td class="package">gsoap</td>
+        <td class="website"><a href="http://gsoap2.sourceforge.net/">gSOAP</a></td>
+    </tr>
+    <tr>
+        <td class="package">gst-plugins-base</td>
+        <td class="website"><a href="http://gstreamer.freedesktop.org/">gst-plugins-base</a></td>
+    </tr>
+    <tr>
+        <td class="package">gst-plugins-good</td>
+        <td class="website"><a href="http://gstreamer.freedesktop.org/">gst-plugins-good</a></td>
+    </tr>
+    <tr>
+        <td class="package">gstreamer</td>
+        <td class="website"><a href="http://gstreamer.freedesktop.org/">gstreamer</a></td>
+    </tr>
+    <tr>
+        <td class="package">gta</td>
+        <td class="website"><a href="http://gta.nongnu.org/">gta</a></td>
+    </tr>
+    <tr>
+        <td class="package">gtk2</td>
+        <td class="website"><a href="http://www.gtk.org/">GTK+</a></td>
+    </tr>
+    <tr>
+        <td class="package">gtk3</td>
+        <td class="website"><a href="http://www.gtk.org/">GTK+</a></td>
+    </tr>
+    <tr>
+        <td class="package">gtkglarea</td>
+        <td class="website"><a href="http://www.mono-project.com/GtkGLArea/">GtkGLArea</a></td>
+    </tr>
+    <tr>
+        <td class="package">gtkglext</td>
+        <td class="website"><a href="http://gtkglext.sourceforge.net/">GtkGLExt</a></td>
+    </tr>
+    <tr>
+        <td class="package">gtkglextmm</td>
+        <td class="website"><a href="http://gtkglext.sourceforge.net/">GtkGLExtmm</a></td>
+    </tr>
+    <tr>
+        <td class="package">gtkmm2</td>
+        <td class="website"><a href="http://www.gtkmm.org/">GTKMM</a></td>
+    </tr>
+    <tr>
+        <td class="package">gtksourceview</td>
+        <td class="website"><a href="http://projects.gnome.org/gtksourceview/">GTKSourceView</a></td>
+    </tr>
+    <tr>
+        <td class="package">gtksourceviewmm2</td>
+        <td class="website"><a href="http://projects.gnome.org/gtksourceviewmm/">GtkSourceViewmm</a></td>
+    </tr>
+    <tr>
+        <td class="package">guile</td>
+        <td class="website"><a href="http://www.gnu.org/software/guile/">GNU Guile</a></td>
+    </tr>
+    <tr>
+        <td class="package">harfbuzz</td>
+        <td class="website"><a href="http://harfbuzz.sourceforge.net/">HarfBuzz</a></td>
+    </tr>
+    <tr>
+        <td class="package">hdf5</td>
+        <td class="website"><a href="http://www.hdfgroup.org/HDF5/">HDF5</a></td>
+    </tr>
+    <tr>
+        <td class="package">hunspell</td>
+        <td class="website"><a href="http://hunspell.sourceforge.net/">Hunspell</a></td>
+    </tr>
+    <tr>
+        <td class="package">ice</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">ice</a></td>
+    </tr>
+    <tr>
+        <td class="package">id3lib</td>
+        <td class="website"><a href="http://id3lib.sourceforge.net/">id3lib</a></td>
+    </tr>
+    <tr>
+        <td class="package">ilmbase</td>
+        <td class="website"><a href="http://www.openexr.com/">IlmBase</a></td>
+    </tr>
+    <tr>
+        <td class="package">imagemagick</td>
+        <td class="website"><a href="http://www.imagemagick.org/">ImageMagick</a></td>
+    </tr>
+    <tr>
+        <td class="package">inputproto</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">inputproto></a></td>
+    </tr>
+    <tr>
+        <td class="package">intltool</td>
+        <td class="website"><a href="https://launchpad.net/intltool/+download">intltool</a></td>
+    </tr>
+    <tr>
+        <td class="package">isl</td>
+        <td class="website"><a href="http://isl.gforge.inria.fr/">Integer Set Library</a></td>
+    </tr>
+    <tr>
+        <td class="package">itsol</td>
+        <td class="website"><a href="http://www-users.cs.umn.edu/~saad/software/ITSOL/">ITSOL</a></td>
+    </tr>
+    <tr>
+        <td class="package">itstool</td>
+        <td class="website"><a href="http://itstool.org/">ITS Tool</a></td>
+    </tr>
+    <tr>
+        <td class="package">jasper</td>
+        <td class="website"><a href="http://www.ece.uvic.ca/~mdadams/jasper/">JasPer</a></td>
+    </tr>
+    <tr>
+        <td class="package">jpeg</td>
+        <td class="website"><a href="http://www.ijg.org/">jpeg</a></td>
+    </tr>
+    <tr>
+        <td class="package">json-c</td>
+        <td class="website"><a href="http://oss.metaparadigm.com/json-c/">json-c</a></td>
+    </tr>
+    <tr>
+        <td class="package">kbproto</td>
+        <td class="website"><a href="http://xorg.freedesktop.org">kbproto></a></td>
+    </tr>
+    <tr>
+        <td class="package">lame</td>
+        <td class="website"><a href="http://lame.sourceforge.net/">lame</a></td>
+    </tr>
+    <tr>
+        <td class="package">lapack</td>
+        <td class="website"><a href="http://www.netlib.org/lapack/">lapack</a></td>
+    </tr>
+    <tr>
+        <td class="package">lcms</td>
+        <td class="website"><a href="http://www.littlecms.com/">lcms</a></td>
+    </tr>
+    <tr>
+        <td class="package">lcms1</td>
+        <td class="website"><a href="http://www.littlecms.com/">lcms1</a></td>
+    </tr>
+    <tr>
+        <td class="package">levmar</td>
+        <td class="website"><a href="http://www.ics.forth.gr/~lourakis/levmar">levmar</a></td>
+    </tr>
+    <tr>
+        <td class="package">libarchive</td>
+        <td class="website"><a href="http://code.google.com/p/libarchive/">Libarchive</a></td>
+    </tr>
+    <tr>
+        <td class="package">libass</td>
+        <td class="website"><a href="http://code.google.com/p/libass/">libass</a></td>
+    </tr>
+    <tr>
+        <td class="package">libb64</td>
+        <td class="website"><a  href="https://libb64.sourceforge.io/">libb64</a></td>
+    </tr>
+    <tr>
+        <td class="package">libcdio</td>
+        <td class="website"><a href="http://ftp.gnu.org/gnu/libcdio">Libcdio</a></td>
+    </tr>
+    <tr>
+        <td class="package">libcroco</td>
+        <td class="website"><a href="http://www.freespiders.org/projects/libcroco/">Libcroco</a></td>
+    </tr>
+    <tr>
+        <td class="package">libdnet</td>
+        <td class="website"><a href="http://libdnet.sourceforge.net/">libdnet</a></td>
+    </tr>
+    <tr>
+        <td class="package">libdrm</td>
+        <td class="website"><a href="http//xorg.freedesktop.org/">libdrm</a></td>
+    </tr>
+    <tr>
+        <td class="package">libevent</td>
+        <td class="website"><a href="http://libevent.org/">libevent</a></td>
+    </tr>
+    <tr>
+        <td class="package">libf2c</td>
+        <td class="website"><a href="http://www.netlib.org/f2c/">libf2c</a></td>
+    </tr>
+    <tr>
+        <td class="package">libffi</td>
+        <td class="website"><a href="http://sourceware.org/libffi/">libffi</a></td>
+    </tr>
+    <tr>
+        <td class="package">libgcrypt</td>
+        <td class="website"><a href="ftp://ftp.gnupg.org/gcrypt/libgcrypt/">libgcrypt</a></td>
+    </tr>
+    <tr>
+        <td class="package">libgd</td>
+        <td class="website"><a href="http://www.libgd.org/">libgd</a></td>
+    </tr>
+    <tr>
+        <td class="package">libgda</td>
+        <td class="website"><a href="http://www.gnome-db.org/">libgda</a></td>
+    </tr>
+    <tr>
+        <td class="package">libgdamm</td>
+        <td class="website"><a href="https://launchpad.net/libgdamm">libgdamm</a></td>
+    </tr>
+    <tr>
+        <td class="package">libgee</td>
+        <td class="website"><a href="http://live.gnome.org/Libgee">libgee</a></td>
+    </tr>
+    <tr>
+        <td class="package">libgeotiff</td>
+        <td class="website"><a href="http://trac.osgeo.org/geotiff/">GeoTiff</a></td>
+    </tr>
+    <tr>
+        <td class="package">libglade</td>
+        <td class="website"><a href="http://glade.gnome.org/">glade</a></td>
+    </tr>
+    <tr>
+        <td class="package">libgnurx</td>
+        <td class="website"><a href="http://sourceforge.net/projects/mingw/files/UserContributed/regex/">libgnurx</a></td>
+    </tr>
+    <tr>
+        <td class="package">libgomp</td>
+        <td class="website"><a href="http://gcc.gnu.org/projects/gomp/">GCC-libgomp</a></td>
+    </tr>
+    <tr>
+        <td class="package">libgpg_error</td>
+        <td class="website"><a href="ftp://ftp.gnupg.org/gcrypt/libgpg-error/">libgpg-error</a></td>
+    </tr>
+    <tr>
+        <td class="package">libgsasl</td>
+        <td class="website"><a href="http://www.gnu.org/software/gsasl/">Libgsasl</a></td>
+    </tr>
+    <tr>
+        <td class="package">libgsf</td>
+        <td class="website"><a href="http://projects.gnome.org/libgsf/">libgsf</a></td>
+    </tr>
+    <tr>
+        <td class="package">libharu</td>
+        <td class="website"><a href="http://libharu.org/">libharu</a></td>
+    </tr>
+    <tr>
+        <td class="package">libiberty</td>
+        <td class="website"><a href="http://gcc.gnu.org/onlinedocs/libiberty/">libiberty</a></td>
+    </tr>
+    <tr>
+        <td class="package">libical</td>
+        <td class="website"><a href="http://freeassociation.sourceforge.net/">libical</a></td>
+    </tr>
+    <tr>
+        <td class="package">libiconv</td>
+        <td class="website"><a href="http://www.gnu.org/software/libiconv/">libiconv</a></td>
+    </tr>
+    <tr>
+        <td class="package">icu4c</td>
+        <td class="website"><a href="http://site.icu-project.org/">icu4c</a></td>
+    </tr>
+    <tr>
+        <td class="package">libidn</td>
+        <td class="website"><a href="http://www.gnu.org/software/libidn/">Libidn</a></td>
+    </tr>
+    <tr>
+        <td class="package">libidn2</td>
+        <td class="website"><a href="http://www.gnu.org/software/libidn/">Libidn2</a></td>
+    </tr>
+    <tr>
+        <td class="package">libircclient</td>
+        <td class="website"><a href="http://sourceforge.net/projects/libircclient/">libircclient</a></td>
+    </tr>
+    <tr>
+        <td class="package">libjbig</td>
+        <td class="website"><a href="https://www.cl.cam.ac.uk/~mgk25/jbigkit/">libjbig</a></td>
+    </tr>
+    <tr>
+        <td class="package">liblo</td>
+        <td class="website"><a href="http://liblo.sourceforge.net/">liblo</a></td>
+    </tr>
+    <tr>
+        <td class="package">libmad</td>
+        <td class="website"><a href="http://www.underbit.com/products/mad/">libmad</a></td>
+    </tr>
+    <tr>
+        <td class="package">libmikmod</td>
+        <td class="website"><a href="http://mikmod.raphnet.net/">libMikMod</a></td>
+    </tr>
+    <tr>
+        <td class="package">libmng</td>
+        <td class="website"><a href="http://www.libmng.com/">libmng</a></td>
+    </tr>
+    <tr>
+        <td class="package">libmpcdec</td>
+        <td class="website"><a href="www.musepack.net/index.php">libmpcdec</a></td>
+    </tr>
+    <tr>
+        <td class="package">libmodplug</td>
+        <td class="website"><a href="http://modplug-xmms.sourceforge.net/">libmodplug</a></td>
+    </tr>
+    <tr>
+        <td class="package">libntlm</td>
+        <td class="website"><a href="http://www.nongnu.org/libntlm/">Libntlm</a></td>
+    </tr>
+    <tr>
+        <td class="package">liboauth</td>
+        <td class="website"><a href="http://liboauth.sourceforge.net/">liboauth</a></td>
+    </tr>
+    <tr>
+        <td class="package">libodbc++</td>
+        <td class="website"><a href="http://libodbcxx.sourceforge.net/">libodbc++</a></td>
+    </tr>
+    <tr>
+        <td class="package">liboil</td>
+        <td class="website"><a href="http://liboil.freedesktop.org/">liboil</a></td>
+    </tr>
+    <tr>
+        <td class="package">libpano13</td>
+        <td class="website"><a href="http://panotools.sourceforge.net/">libpano13</a></td>
+    </tr>
+    <tr>
+        <td class="package">libpaper</td>
+        <td class="website"><a href="http://packages.debian.org/unstable/libpaper1">libpaper</a></td>
+    </tr>
+    <tr>
+        <td class="package">libpng</td>
+        <td class="website"><a href="http://www.libpng.org/">libpng</a></td>
+    </tr>
+    <tr>
+        <td class="package">libproxy</td>
+        <td class="website"><a href="http://libproxy.github.io/libproxy/">libproxy</a></td>
+    </tr>
+    <tr>
+        <td class="package">librsb</td>
+        <td class="website"><a href="http://librsb.sourceforge.net/">librsb</a></td>
+    </tr>
+    <tr>
+        <td class="package">librsvg</td>
+        <td class="website"><a href="http://librsvg.sourceforge.net/">librsvg</a></td>
+    </tr>
+    <tr>
+        <td class="package">librtmp</td>
+        <td class="website"><a href="http://rtmpdump.mplayerhq.hu/">librtmp</a></td>
+    </tr>
+    <tr>
+        <td class="package">libsamplerate</td>
+        <td class="website"><a href="http://www.mega-nerd.com/SRC/">libsamplerate</a></td>
+    </tr>
+    <tr>
+        <td class="package">libshout</td>
+        <td class="website"><a href="http://www.icecast.org/">libshout</a></td>
+    </tr>
+    <tr>
+        <td class="package">libsigc++</td>
+        <td class="website"><a href="http://libsigc.sourceforge.net/">libsigc++</a></td>
+    </tr>
+    <tr>
+        <td class="package">libsndfile</td>
+        <td class="website"><a href="http://www.mega-nerd.com/libsndfile/">libsndfile</a></td>
+    </tr>
+    <tr>
+        <td class="package">libssh2</td>
+        <td class="website"><a href="http://www.libssh2.org">libssh2</a></td>
+    </tr>
+    <tr>
+        <td class="package">libtasn1</td>
+        <td class="website"><a href="https://www.gnu.org/software/libtasn1/">libtasn1</a></td>
+    </tr>
+    <tr>
+        <td class="package">libtool</td>
+        <td class="website"><a href="http://www.gnu.org/software/libtool/">GNU Libtool</a></td>
+    </tr>
+    <tr>
+        <td class="package">libunistring</td>
+        <td class="website"><a href="http://www.gnu.org/software/libunistring/">libunistring</a></td>
+    </tr>
+    <tr>
+        <td class="package">libusb</td>
+        <td class="website"><a href="http://libusb-win32.sourceforge.net/">LibUsb</a></td>
+    </tr>
+    <tr>
+        <td class="package">libvpx</td>
+        <td class="website"><a href="http://code.google.com/p/webm/">vpx</a></td>
+    </tr>
+    <tr>
+        <td class="package">libxml++</td>
+        <td class="website"><a href="http://libxmlplusplus.sourceforge.net/">libxml2</a></td>
+    </tr>
+    <tr>
+        <td class="package">libxml2</td>
+        <td class="website"><a href="http://www.xmlsoft.org/">libxml2</a></td>
+    </tr>
+    <tr>
+        <td class="package">libxshmfence</td>
+        <td class="website"><a href="http//xorg.freedesktop.org/">libxshmfence</a></td>
+    </tr>
+    <tr>
+        <td class="package">libxslt</td>
+        <td class="website"><a href="http://xmlsoft.org/XSLT/">libxslt</a></td>
+    </tr>
+    <tr>
+        <td class="package">llvm</td>
+        <td class="website"><a href="http://llvm.org/">llvm</a></td>
+    </tr>
+    <tr>
+        <td class="package">log4cxx</td>
+        <td class="website"><a href="http://logging.apache.org/log4cxx/">log4cxx</a></td>
+    </tr>
+    <tr>
+        <td class="package">lua</td>
+        <td class="website"><a href="http://www.lua.org/">Lua</a></td>
+    </tr>
+    <tr>
+        <td class="package">lzo</td>
+        <td class="website"><a href="http://www.oberhumer.com/opensource/lzo/">lzo</a></td>
+    </tr>
+    <tr>
+        <td class="package">matio</td>
+        <td class="website"><a href="http://sourceforge.net/projects/matio/">matio</a></td>
+    </tr>
+    <tr>
+        <td class="package">mdbtools</td>
+        <td class="website"><a href="http://sourceforge.net/projects/mdbtools/">mdbtools</a></td>
+    </tr>
+    <tr>
+        <td class="package">mingw-w64</td>
+        <td class="website"><a href="http://mingw-w64.sourceforge.net/">MinGW-w64 Runtime</a></td>
+    </tr>
+    <tr>
+        <td class="package">mingwrt</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW Runtime</a></td>
+    </tr>
+    <tr>
+        <td class="package">mman-win32</td>
+        <td class="website"><a href="https://github.com/witwall/mman-win32/">mman-win32</a></td>
+    </tr>
+    <tr>
+        <td class="package">mpc</td>
+        <td class="website"><a href="http://www.multiprecision.org/">mpc</a></td>
+    </tr>
+    <tr>
+        <td class="package">mpfr</td>
+        <td class="website"><a href="http://www.mpfr.org/">mpfr</a></td>
+    </tr>
+    <tr>
+        <td class="package">msitools</td>
+        <td class="website"><a href="https://wiki.gnome.org/msitools">msitools</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-bash</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW bash</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-coreutils</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW coreutils</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-diffutils</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW diffutils</a></td>
+    </tr>
+    <tr>        
+        <td class="package">msys-dos2unix</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW dos2unix</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-file</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW file</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-findutils</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW findutils</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-gawk</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW gawk</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-grep</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW grep</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-gzip</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW gzip</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-less</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW less</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-libcrypt</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW libcrypt</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-libiconv</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW libiconv</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-libintl</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW libintl</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-libmagic</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW libmagic</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-libopenssl</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW libopenssl</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-make</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW make</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-msys-core</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW msys-core</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-patch</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW patch</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-perl</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW perl</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-regex</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW regex</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-sed</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW sed</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-tar</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW tar</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-unzip</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW unzip</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-zip</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW zip</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys-termcap</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW termcap</a></td>
+    </tr>
+    <tr>        
+        <td class="package">msys-wget</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW wget</a></td>
     </tr>
     <tr>        
-	<td id="msys-dos2unix-package">msys-dos2unix</td>
-        <td id="msys-dos2unix-version">6.0.3-1</td>
-        <td id="msys-dos2unix-website"><a href="http://www.mingw.org/">MinGW dos2unix</a></td>
-    </tr>
-    <tr>
-        <td id="msys-file-package">msys-file</td>
-        <td id="msys-file-version">5.04-1</td>
-        <td id="msys-file-website"><a href="http://www.mingw.org/">MinGW file</a></td>
-    </tr>
-    <tr>
-        <td id="msys-findutils-package">msys-findutils</td>
-        <td id="msys-findutils-version">4.4.2-2</td>
-        <td id="msys-findutils-website"><a href="http://www.mingw.org/">MinGW findutils</a></td>
-    </tr>
-    <tr>
-        <td id="msys-gawk-package">msys-gawk</td>
-        <td id="msys-gawk-version">3.1.7-2</td>
-        <td id="msys-gawk-website"><a href="http://www.mingw.org/">MinGW gawk</a></td>
-    </tr>
-    <tr>
-        <td id="msys-grep-package">msys-grep</td>
-        <td id="msys-grep-version">2.5.4-2</td>
-        <td id="msys-grep-website"><a href="http://www.mingw.org/">MinGW grep</a></td>
-    </tr>
-    <tr>
-        <td id="msys-gzip-package">msys-gzip</td>
-        <td id="msys-gzip-version">1.3.12-2</td>
-        <td id="msys-gzip-website"><a href="http://www.mingw.org/">MinGW gzip</a></td>
-    </tr>
-    <tr>
-        <td id="msys-less-package">msys-less</td>
-        <td id="msys-less-version">436-2</td>
-        <td id="msys-less-website"><a href="http://www.mingw.org/">MinGW less</a></td>
-    </tr>
-    <tr>
-        <td id="msys-libiconv-package">msys-libiconv</td>
-        <td id="msys-libiconv-version">1.14-1</td>
-        <td id="msys-libiconv-website"><a href="http://www.mingw.org/">MinGW libiconv</a></td>
-    </tr>
-    <tr>
-        <td id="msys-libintl-package">msys-libintl</td>
-        <td id="msys-libintl-version">0.18.1.1-1</td>
-        <td id="msys-libintl-website"><a href="http://www.mingw.org/">MinGW libintl</a></td>
-    </tr>
-    <tr>
-        <td id="msys-libmagic-package">msys-libmagic</td>
-        <td id="msys-libmagic-version">5.04-1</td>
-        <td id="msys-libmagic-website"><a href="http://www.mingw.org/">MinGW libmagic</a></td>
-    </tr>
-    <tr>
-        <td id="msys-make-package">msys-make</td>
-        <td id="msys-make-version">3.81-3</td>
-        <td id="msys-make-website"><a href="http://www.mingw.org/">MinGW make</a></td>
-    </tr>
-    <tr>
-        <td id="msys-msys-core-package">msys-msys-core</td>
-        <td id="msys-msys-core-version">1.0.18-1</td>
-        <td id="msys-msys-core-website"><a href="http://www.mingw.org/">MinGW msys-core</a></td>
-    </tr>
-    <tr>
-        <td id="msys-regex-package">msys-regex</td>
-        <td id="msys-regex-version">1.20090805-2</td>
-        <td id="msys-regex-website"><a href="http://www.mingw.org/">MinGW regex</a></td>
-    </tr>
-    <tr>
-        <td id="msys-sed-package">msys-sed</td>
-        <td id="msys-sed-version">4.2.1-2</td>
-        <td id="msys-sed-website"><a href="http://www.mingw.org/">MinGW sed</a></td>
-    </tr>
-    <tr>
-        <td id="msys-tar-package">msys-tar</td>
-        <td id="msys-tar-version">1.23-1</td>
-        <td id="msys-tar-website"><a href="http://www.mingw.org/">MinGW tar</a></td>
-    </tr>
-    <tr>
-        <td id="msys-unzip-package">msys-unzip</td>
-        <td id="msys-unzip-version">6.0-1</td>
-        <td id="msys-unzip-website"><a href="http://www.mingw.org/">MinGW unzip</a></td>
-    </tr>
-    <tr>
-        <td id="msys-termcap-package">msys-termcap</td>
-        <td id="msys-termcap-version">0.20050421_1-2</td>
-        <td id="msys-termcap-website"><a href="http://www.mingw.org/">MinGW termcap</a></td>
-    </tr>
-    <tr>        
-	<td id="msys-wget-package">msys-wget</td>
-	<td id="msys-wget-version">1.12-1</td>        
-	<td id="msys-wget-website"><a href="http://www.mingw.org/">MinGW wget</a></td>
-    </tr>
-    <tr>
-        <td id="muparser-package">muparser</td>
-        <td id="muparser-version">2.2.2</td>
-        <td id="muparser-website"><a href="http://muparser.sourceforge.net/">muParser</a></td>
-    </tr>
-    <tr>
-        <td id="mxml-package">mxml</td>
-        <td id="mxml-version">2.7</td>
-        <td id="mxml-website"><a href="http://www.minixml.org/">Mini-XML</a></td>
-    </tr>
-    <tr>
-        <td id="native-binutils-package">native-binutils</td>
-        <td id="native-binutils-version">2.23.1</td>
-        <td id="native-binutils-website"><a href="http://www.gnu.org/software/binutils/">GNU Binutils</a></td>
-    </tr>
-    <tr>
-        <td id="native-gcc-package">native-gcc</td>
-        <td id="native-gcc-version">4.8.1</td>
-        <td id="native-gcc-website"><a href="http://gcc.gnu.org/">GCC</a></td>
-    </tr>
-    <tr>
-        <td id="ncurses-package">ncurses</td>
-        <td id="ncurses-version">5.9</td>
-        <td id="ncurses-website"><a href="http://www.gnu.org/software/ncurses/">Ncurses</a></td>
-    </tr>
-    <tr>
-        <td id="netcdf-package">netcdf</td>
-        <td id="netcdf-version">4.3.0</td>
-        <td id="netcdf-website"><a href="http://www.unidata.ucar.edu/software/netcdf/">NetCDF</a></td>
-    </tr>
-    <tr>
-        <td id="nettle-package">nettle</td>
-        <td id="nettle-version">2.7</td>
-        <td id="nettle-website"><a href="http://www.lysator.liu.se/~nisse/nettle/">nettle</a></td>
-    </tr>
-    <tr>
-        <td id="nsis-package">nsis</td>
-        <td id="nsis-version">2.46</td>
-        <td id="nsis-website"><a href="http://nsis.sourceforge.net/">NSIS</a></td>
-    </tr>
-    <tr>
-        <td id="npp-package">nsis</td>
-        <td id="npp-version">6.2.3</td>
-        <td id="npp-website"><a href="http://notepad-plus-plus.org">Notepad++</a></td>
-    </tr>
-    <tr>
-        <td id="ocaml-native-package">ocaml</td>
-        <td id="ocaml-native-version">4.00.0</td>
-        <td id="ocaml-native-website"><a href="http://caml.inria.fr/">ocaml</a></td>
-    </tr>
-    <tr>
-        <td id="ocaml-core-package">ocaml</td>
-        <td id="ocaml-core-version">4.00.0</td>
-        <td id="ocaml-core-website"><a href="http://caml.inria.fr/">ocaml</a></td>
-    </tr>
-    <tr>
-        <td id="ocaml-flexdll-package">ocaml-flexdll</td>
-        <td id="ocaml-flexdll-version">0.30</td>
-        <td id="ocaml-flexdll-website"><a href="http://alain.frisch.fr/">flexdll</a></td>
-    </tr>
-    <tr>
-        <td id="octave-package">octave</td>
-        <td id="octave-version">3.8.0-rc1</td>
-        <td id="octave-website"><a href="http://octave.org/">Octave</a></td>
-    </tr>
-    <tr>
-        <td id="of-communications-package">of-communications</td>
-        <td id="of-communications-version">1.1.1</td>
-        <td id="of-communications-website"><a href="http://octave.sf.net/">Octave Forge communications package</a></td>
-    </tr>
-    <tr>
-        <td id="of-control-package">of-control</td>
-        <td id="of-control-version">2.4.1</td>
-        <td id="of-control-website"><a href="http://octave.sf.net/">Octave Forge control package</a></td>
-    </tr>
-    <tr>
-        <td id="of-general-package">of-general</td>
-        <td id="of-general-version">1.3.2</td>
-        <td id="of-general-website"><a href="http://octave.sf.net/">Octave Forge general package</a></td>
-    </tr>
-    <tr>
-        <td id="of-image-package">of-image</td>
-        <td id="of-image-version">2.0.0</td>
-        <td id="of-image-website"><a href="http://octave.sf.net/">Octave Forge image package</a></td>
-    </tr>
-    <tr>
-        <td id="of-io-package">of-io</td>
-        <td id="of-io-version">1.2.0</td>
-        <td id="of-io-website"><a href="http://octave.sf.net/">Octave Forge io package</a></td>
-    </tr>
-    <tr>
-        <td id="of-miscellaneous-package">of-miscellaneous</td>
-        <td id="of-miscellaneous-version">1.2.0</td>
-        <td id="of-miscellaneous-website"><a href="http://octave.sf.net/">Octave Forge miscellaneous package</a></td>
-    </tr>
-    <tr>
-        <td id="of-optim-package">of-optim</td>
-        <td id="of-optim-version">1.2.2</td>
-        <td id="of-optim-website"><a href="http://octave.sf.net/">Octave Forge optim package</a></td>
-    </tr>
-    <tr>
-        <td id="of-signal-package">of-signal</td>
-        <td id="of-signal-version">1.2.0</td>
-        <td id="of-signal-website"><a href="http://octave.sf.net/">Octave Forge signal package</a></td>
-    </tr>
-    <tr>
-        <td id="of-specfun-package">of-specfun</td>
-        <td id="of-specfun-version">1.1.0</td>
-        <td id="of-specfun-website"><a href="http://octave.sf.net/">Octave Forge specfun package</a></td>
-    </tr>
-    <tr>
-        <td id="of-statistics-package">of-statistics</td>
-        <td id="of-statistics-version">1.1.3</td>
-        <td id="of-statistics-website"><a href="http://octave.sf.net/">Octave Forge statistics package</a></td>
-    </tr>
-    <tr>
-        <td id="of-struct-package">of-struct</td>
-        <td id="of-struct-version">1.0.10</td>
-        <td id="of-struct-website"><a href="http://octave.sf.net/">Octave Forge struct package</a></td>
-    </tr>
-    <tr>
-        <td id="of-windows-package">of-windows</td>
-        <td id="of-windows-version">1.2.1</td>
-        <td id="of-windows-website"><a href="http://octave.sf.net/">Octave Forge struct package</a></td>
-    </tr>
-    <tr>
-        <td id="stable-octave-package">stable-octave</td>
-        <td id="stable-octave-version">3.6.4</td>
-        <td id="stable-octave-website"><a href="http://octave.org/">Octave</a></td>
-    </tr>
-    <tr>
-        <td id="ogg-package">ogg</td>
-        <td id="ogg-version">1.3.0</td>
-        <td id="ogg-website"><a href="http://www.xiph.org/ogg/">OGG</a></td>
-    </tr>
-    <tr>
-        <td id="old-package">old</td>
-        <td id="old-version">0.17</td>
-        <td id="old-website"><a href="http://blitiri.com.ar/p/old/">old</a></td>
-    </tr>
-    <tr>
-        <td id="openal-package">openal</td>
-        <td id="openal-version">1.14</td>
-        <td id="openal-website"><a href="http://kcat.strangesoft.net/openal.html">openal</a></td>
+        <td class="package">msys-zlib</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW zlib</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-bash</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 bash</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-coreutils</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 coreutils</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-diffutils</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 diffutils</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-dos2unix</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 dos2unix</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-filesystem</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 filesystem</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-findutils</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 findutils</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-gawk</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 gawk</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-gcc-libs</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 gcc libs</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-gmp</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 gmp</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-gnupg</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 gngpg</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-grep</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 grep</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-gzip</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 gzip</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-icu</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 icu</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-info</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 info</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-keyring</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 keyring</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-less</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 less</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libassuan</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libassuan</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libbz2</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libbz2</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libcrypt</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libcrypt</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libexpat</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libexpat</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libffi</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libffi</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libgpg-error</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libgpg-error</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libgcrypt</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libgcrypt</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libgnutls</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libgnutls</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libgpgme</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libgpgme</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libhogweed</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libhogweed</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libiconv</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libiconv</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libidn2</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libidn2</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libintl</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libintl</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libksba</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libksba</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-liblzma</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 liblzma</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libmetalink</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libmetalink</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libnettle</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libnettle</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libnpth</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libnpth</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libopenssl</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libopenssl</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libp11-kit</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libp11-kit</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libpcre</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libpcre</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libpcre2</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libpcre2</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libpsl</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libpsl</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libreadline</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libreadline</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libsqlite</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libsqlite</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libtasn1</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libtasn1</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libunistring</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libunistring</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libutil-linux</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libutil-linux</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-libxml2</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 libxm2</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-make</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 make</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-mintty</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 mintty</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-mpdecimal</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 mpdecimal</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-mpfr</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 mpfr</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-ncurses</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 ncurses</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-pacman-mirrors</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 pacman mirrors</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-pacman</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 pacman</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-patch</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 patch</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-perl</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 perl</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-python</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 python</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-runtime</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 runtime</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-sed</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 sed</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-tar</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 tar</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-unzip</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 unzip</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-wget</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 wget</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-zip</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 zip</a></td>
+    </tr>
+    <tr>
+        <td class="package">msys2-zlib</td>
+        <td class="website"><a href="https://www.msys2.org/">MSYS2 zlib</a></td>
+    </tr>
+    <tr>
+        <td class="package">muparser</td>
+        <td class="website"><a href="http://muparser.sourceforge.net/">muParser</a></td>
+    </tr>
+    <tr>
+        <td class="package">mxml</td>
+        <td class="website"><a href="http://www.minixml.org/">Mini-XML</a></td>
+    </tr>
+    <tr>
+        <td class="package">native-binutils</td>
+        <td class="website"><a href="http://www.gnu.org/software/binutils/">GNU Binutils</a></td>
+    </tr>
+    <tr>
+        <td class="package">native-gcc</td>
+        <td class="website"><a href="http://gcc.gnu.org/">GCC</a></td>
+    </tr>
+    <tr>
+        <td class="package">ncurses</td>
+        <td class="website"><a href="http://www.gnu.org/software/ncurses/">Ncurses</a></td>
+    </tr>
+    <tr>
+        <td class="package">netcdf</td>
+        <td class="website"><a href="http://www.unidata.ucar.edu/software/netcdf/">NetCDF</a></td>
+    </tr>
+    <tr>
+        <td class="package">nettle</td>
+        <td class="website"><a href="http://www.lysator.liu.se/~nisse/nettle/">nettle</a></td>
+    </tr>
+    <tr>
+        <td class="package">nsis</td>
+        <td class="website"><a href="http://nsis.sourceforge.net/">NSIS</a></td>
+    </tr>
+    <tr>
+        <td class="package">npp</td>
+        <td class="website"><a href="http://notepad-plus-plus.org">Notepad++</a></td>
+    </tr>
+    <tr>
+        <td class="package">ocaml-core</td>
+        <td class="website"><a href="http://caml.inria.fr/">ocaml</a></td>
+    </tr>
+    <tr>
+        <td class="package">ocaml-flexdll</td>
+        <td class="website"><a href="http://alain.frisch.fr/">flexdll</a></td>
+    </tr>
+    <tr>
+        <td class="package">ocaml-native</td>
+        <td class="website"><a href="http://caml.inria.fr/">ocaml</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-actuarial</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge actuarial package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-audio</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge audio package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-communications</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge communications package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-control</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge control package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-data-smoothing</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge data-smoothing package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-database</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge database package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-dataframe</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge dataframe package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-dicom</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge dicom package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-financial</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge financial package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-fits</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge fits package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-fl-core</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge fl-core package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-fuzzy-logic-toolkit</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge fuzzy-logic-toolkit package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-ga</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge ga package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-general</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge general package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-generate_html</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge generate_html package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-geometry</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge geometry package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-gsl</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge gsl package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-image</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge image package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-interval</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge interval package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-instrument-control</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge instrument-control package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-io</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge io package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-linear-algebra</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge linear-algebra package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-lssa</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge lssa package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-ltfat</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge ltfat package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-matgeom</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge matgeom package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-mapping</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge mapping package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-miscellaneous</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge miscellaneous package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-nan</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge NaN package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-netcdf</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge netcdf package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-nurbs</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge nurbs package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-ocs</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge ocs package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-octcdf</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge octcdf package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-odepkg</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge odepkg package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-optim</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge optim package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-optiminterp</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge optimintperp package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-quaternion</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge quaternion package</a></td>
+    </tr>
+   <tr>
+        <td class="package">of-queueing</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge queueing package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-signal</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge signal package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-sockets</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge sockets package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-sparsersb</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge sparsersb package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-specfun</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge specfun package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-splines</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge splines package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-statistics</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge statistics package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-stk</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge stk package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-strings</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge strings package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-struct</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge struct package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-symbolic</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge symbolic package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-tisean</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge tisean package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-tsa</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge tsa package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-windows</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge struct package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-video</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge video package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-zenity</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge zenity package</a></td>
+    </tr>
+    <tr>
+        <td class="package">of-zeromq</td>
+        <td class="website"><a href="https://octave.sourceforge.io/">Octave Forge zeromq package</a></td>
+    </tr>
+    <tr>
+        <td class="package">ogg</td>
+        <td class="website"><a href="http://www.xiph.org/ogg/">OGG</a></td>
+    </tr>
+    <tr>
+        <td class="package">old</td>
+        <td class="website"><a href="http://blitiri.com.ar/p/old/">old</a></td>
+    </tr>
+    <tr>
+        <td class="package">openal</td>
+        <td class="website"><a href="http://kcat.strangesoft.net/openal.html">openal</a></td>
     </tr>
      <tr>
-        <td id="openblas-package">openblas</td>
-        <td id="openblas-version">0.2.8</td>
-        <td id="openblas-website"><a href="http://xianyi.github.io/OpenBLAS/">OpenBLAS</a></td>
-    </tr>
-    <tr>
-        <td id="opencore-amr-package">opencore-amr</td>
-        <td id="opencore-amr-version">0.1.2</td>
-        <td id="opencore-amr-website"><a href="http://opencore-amr.sourceforge.net/">opencore-amr</a></td>
-    </tr>
-    <tr>
-        <td id="opencsg-package">opencsg</td>
-        <td id="opencsg-version">1.3.2</td>
-        <td id="opencsg-website"><a href="http://www.opencsg.org/">opencsg</a></td>
-    </tr>
-    <tr>
-        <td id="openexr-package">openexr</td>
-        <td id="openexr-version">1.7.0</td>
-        <td id="openexr-website"><a href="http://www.openexr.com/">OpenEXR</a></td>
-    </tr>
-    <tr>
-        <td id="openscenegraph-package">openscenegraph</td>
-        <td id="openscenegraph-version">3.0.1</td>
-        <td id="openscenegraph-website"><a href="http://www.openscenegraph.org/">OpenSceneGraph</a></td>
-    </tr>
-    <tr>
-        <td id="openssl-package">openssl</td>
-        <td id="openssl-version">1.0.1e</td>
-        <td id="openssl-website"><a href="http://www.openssl.org/">openssl</a></td>
-    </tr>
-    <tr>
-        <td id="pango-package">pango</td>
-        <td id="pango-version">1.34.1</td>
-        <td id="pango-website"><a href="http://www.pango.org/">Pango</a></td>
-    </tr>
-    <tr>
-        <td id="pangomm-package">pangomm</td>
-        <td id="pangomm-version">2.28.4</td>
-        <td id="pangomm-website"><a href="http://www.pango.org/">Pangomm</a></td>
-    </tr>
-    <tr>
-        <td id="pcre-package">pcre</td>
-        <td id="pcre-version">8.33</td>
-        <td id="pcre-website"><a href="http://www.pcre.org/">PCRE</a></td>
-    </tr>
-    <tr>
-        <td id="pdcurses-package">pdcurses</td>
-        <td id="pdcurses-version">3.4</td>
-        <td id="pdcurses-website"><a href="http://pdcurses.sourceforge.net/">PDcurses</a></td>
-    </tr>
-    <tr>
-        <td id="plibc-package">plibc</td>
-        <td id="plibc-version">0.1.7</td>
-        <td id="plibc-website"><a href="http://plibc.sourceforge.net/">Plibc</a></td>
-    </tr>
-    <tr>
-        <td id="pdflib_lite-package">pdflib_lite</td>
-        <td id="pdflib_lite-version">7.0.5p3</td>
-        <td id="pdflib_lite-website"><a href="http://www.pdflib.com/download/free-software/pdflib-lite-7/">PDFlib Lite</a></td>
-    </tr>
-    <tr>
-        <td id="pfstools-package">pfstools</td>
-        <td id="pfstools-version">1.8.5</td>
-        <td id="pfstools-website"><a href="http://pfstools.sourceforge.net/">pfstools</a></td>
-    </tr>
-    <tr>
-        <td id="physfs-package">physfs</td>
-        <td id="physfs-version">2.0.3</td>
-        <td id="physfs-website"><a href="http://icculus.org/physfs/">physfs</a></td>
-    </tr>
-    <tr>
-        <td id="pixman-package">pixman</td>
-        <td id="pixman-version">0.30.0</td>
-        <td id="pixman-website"><a href="http://cairographics.org/">pixman</a></td>
-    </tr>
-    <tr>
-        <td id="plotmm-package">plotmm</td>
-        <td id="plotmm-version">0.1.2</td>
-        <td id="plotmm-website"><a href="http://plotmm.sourceforge.net/">PlotMM</a></td>
-    </tr>
-    <tr>
-        <td id="plotutils-package">plotutils</td>
-        <td id="plotutils-version">2.6</td>
-        <td id="plotutils-website"><a href="http://www.gnu.org/software/plotutils/">plotutils</a></td>
-    </tr>
-    <tr>
-        <td id="poco-package">poco</td>
-        <td id="poco-version">1.4.4</td>
-        <td id="poco-website"><a href="http://pocoproject.org/">POCO C++ Libraries</a></td>
-    </tr>
-    <tr>
-        <td id="poppler-package">poppler</td>
-        <td id="poppler-version">0.20.5</td>
-        <td id="poppler-website"><a href="http://poppler.freedesktop.org/">poppler</a></td>
-    </tr>
-    <tr>
-        <td id="popt-package">popt</td>
-        <td id="popt-version">1.16</td>
-        <td id="popt-website"><a href="http://freshmeat.net/projects/popt/">popt</a></td>
-    </tr>
-    <tr>
-        <td id="portaudio-package">portaudio</td>
-        <td id="portaudio-version">19_20111121</td>
-        <td id="portaudio-website"><a href="http://www.portaudio.com/">portaudio</a></td>
-    </tr>
-    <tr>
-        <td id="postgresql-package">postgresql</td>
-        <td id="postgresql-version">9.2.1</td>
-        <td id="postgresql-website"><a href="http://www.postgresql.org/">PostgreSQL</a></td>
-    </tr>
-    <tr>
-        <td id="proj-package">proj</td>
-        <td id="proj-version">4.8.0</td>
-        <td id="proj-website"><a href="http://trac.osgeo.org/proj/">proj</a></td>
-    </tr>
-    <tr>
-        <td id="protobuf-package">protobuf</td>
-        <td id="protobuf-version">2.4.1</td>
-        <td id="protobuf-website"><a href="http://code.google.com/p/protobuf"/>protobuf</a></td>
-    </tr>
-    <tr>
-        <td id="pstoedit-package">pstoedit</td>
-        <td id="pstoedit-version">3.61</td>
-        <td id="pstoedit-website"><a href="http://www.pstoedit.net"</a></td>
-    </tr>
-    <tr>
-        <td id="pthreads-package">pthreads</td>
-        <td id="pthreads-version">2-9-1</td>
-        <td id="pthreads-website"><a href="http://sourceware.org/pthreads-win32/">Pthreads-w32</a></td>
-    </tr>
-    <tr>
-        <td id="qdbm-package">qdbm</td>
-        <td id="qdbm-version">1.8.78</td>
-        <td id="qdbm-website"><a href="http://fallabs.com/qdbm/">QDBM</a></td>
-    </tr>
-    <tr>
-        <td id="qhull-package">qhull</td>
-        <td id="qhull-version">2009.1</td>
-        <td id="qhull-website"><a href="http://qjson.sourceforge.net/">QHull</a></td>
-    </tr>
-    <tr>
-        <td id="qjson-package">qjson</td>
-        <td id="qjson-version">0.7.1</td>
-        <td id="qjson-website"><a href="http://qjson.sourceforge.net/">QJson</a></td>
-    </tr>
-    <tr>
-        <td id="qrupdate-package">qrupdate</td>
-        <td id="qrupdate-version">1.1.2</td>
-        <td id="qrupdate-website"><a href="http://sourceforge.net/projects/qrupdate/">qrupdate</a></td>
-    </tr>
-    <tr>
-        <td id="qscintilla-package">qscintilla</td>
-        <td id="qscintilla-version">2.8</td>
-        <td id="qscintilla-website"><a href="http://www.riverbankcomputing.com/software/qscintilla/intro">QScintilla</a></td>
-    </tr>
-    <tr>
-        <td id="qt-package">qt</td>
-        <td id="qt-version">4.8.3</td>
-        <td id="qt-website"><a href="http://qt.nokia.com/">Qt</a></td>
-    </tr>
-    <tr>
-        <td id="qwt-package">qwt</td>
-        <td id="qwt-version">6.0.1</td>
-        <td id="qwt-website"><a href="http://qwt.sourceforge.net/">Qwt</a></td>
-    </tr>
-    <tr>
-        <td id="qwtplot3d-package">qwtplot3d</td>
-        <td id="qwtplot3d-version">0.2.7</td>
-        <td id="qwtplot3d-website"><a href="http://qwtplot3d.sourceforge.net/">QwtPlot3D</a></td>
-    </tr>
-    <tr>
-        <td id="readline-package">readline</td>
-        <td id="readline-version">6.2</td>
-        <td id="readline-website"><a href="http://tiswww.case.edu/php/chet/readline/rltop.html">Readline</a></td>
-    </tr>
-    <tr>
-        <td id="sdl-package">sdl</td>
-        <td id="sdl-version">1.2.15</td>
-        <td id="sdl-website"><a href="http://www.libsdl.org/">SDL</a></td>
-    </tr>
-    <tr>
-        <td id="sdl_image-package">sdl_image</td>
-        <td id="sdl_image-version">1.2.12</td>
-        <td id="sdl_image-website"><a href="http://www.libsdl.org/projects/SDL_image/">SDL_image</a></td>
-    </tr>
-    <tr>
-        <td id="sdl_mixer-package">sdl_mixer</td>
-        <td id="sdl_mixer-version">1.2.12</td>
-        <td id="sdl_mixer-website"><a href="http://www.libsdl.org/projects/SDL_mixer/">SDL_mixer</a></td>
-    </tr>
-    <tr>
-        <td id="sdl_net-package">sdl_net</td>
-        <td id="sdl_net-version">1.2.8</td>
-        <td id="sdl_net-website"><a href="http://www.libsdl.org/projects/SDL_net/">SDL_net</a></td>
-    </tr>
-    <tr>
-        <td id="sdl_pango-package">sdl_pango</td>
-        <td id="sdl_pango-version">0.1.2</td>
-        <td id="sdl_pango-website"><a href="http://sdlpango.sourceforge.net/">SDL_Pango</a></td>
-    </tr>
-    <tr>
-        <td id="sdl_sound-package">sdl_sound</td>
-        <td id="sdl_sound-version">1.0.3</td>
-        <td id="sdl_sound-website"><a href="http://icculus.org/SDL_sound/">SDL_sound</a></td>
-    </tr>
-    <tr>
-        <td id="sdl_ttf-package">sdl_ttf</td>
-        <td id="sdl_ttf-version">2.0.11</td>
-        <td id="sdl_ttf-website"><a href="http://www.libsdl.org/projects/SDL_ttf/">SDL_ttf</a></td>
-    </tr>
-    <tr>
-        <td id="smpeg-package">smpeg</td>
-        <td id="smpeg-version">0.4.5+cvs20030824</td>
-        <td id="smpeg-website"><a href="http://icculus.org/smpeg/">smpeg</a></td>
-    </tr>
-    <tr>
-        <td id="sox-package">sox</td>
-        <td id="sox-version">14.4.0</td>
-        <td id="sox-website"><a href="http://sox.sourceforge.net/">SoX</a></td>
-    </tr>
-    <tr>
-        <td id="speex-package">speex</td>
-        <td id="speex-version">1.2rc1</td>
-        <td id="speex-website"><a href="http://www.speex.org/">Speex</a></td>
-    </tr>
-    <tr>
-        <td id="sqlite-package">sqlite</td>
-        <td id="sqlite-version">3071401</td>
-        <td id="sqlite-website"><a href="http://www.sqlite.org/">SQLite</a></td>
-    </tr>
-    <tr>
-        <td id="suitesparse-package">suitesparse</td>
-        <td id="suitesparse-version">4.0.2</td>
-        <td id="suitesparse-website"><a href="http://www.cise.ufl.edu/research/sparse/SuiteSparse/">SuiteSparse</a></td>
-    </tr>
-    <tr>
-        <td id="t4k_common-package">t4k_common</td>
-        <td id="t4k_common-version">0.1.1</td>
-        <td id="t4k_common-website"><a href="http://tux4kids.alioth.debian.org/">t4k_common</a></td>
-    </tr>
-    <tr>
-        <td id="taglib-package">taglib</td>
-        <td id="taglib-version">1.7.2</td>
-        <td id="taglib-website"><a href="http://developer.kde.org/~wheeler/taglib.html">TagLib</a></td>
-    </tr>
-    <tr>
-        <td id="termcap-package">termcap</td>
-        <td id="termcap-version">1.3.1</td>
-        <td id="termcap-website"><a href="ftp://ftp.gnu.org/gnu/termcap/">GNU termcap</a></td>
-    </tr>
-    <tr>
-        <td id="texinfo-package">texinfo</td>
-        <td id="texinfo-version">4.13a</td>
-        <td id="texinfo-website"><a href="http://www.gnu.org/software/texinfo/">GNU Texinfo</a></td>
-    </tr>
-    <tr>
-        <td id="theora-package">theora</td>
-        <td id="theora-version">1.1.1</td>
-        <td id="theora-website"><a href="http://theora.org/">Theora</a></td>
-    </tr>
-    <tr>
-        <td id="tiff-package">tiff</td>
-        <td id="tiff-version">4.0.3</td>
-        <td id="tiff-website"><a href="http://www.remotesensing.org/libtiff/">LibTIFF</a></td>
-    </tr>
-    <tr>
-        <td id="tinyxml-package">tinyxml</td>
-        <td id="tinyxml-version">2.6.2</td>
-        <td id="tinyxml-website"><a href="http://sourceforge.net/projects/tinyxml/">tinyxml</a></td>
-    </tr>
-    <tr>
-        <td id="tre-package">tre</td>
-        <td id="tre-version">0.8.0</td>
-        <td id="tre-website"><a href="http://laurikari.net/tre/">TRE</a></td>
-    </tr>
-    <tr>
-        <td id="units-package">units</td>
-        <td id="units-version">2.02</td>
-        <td id="units-website"><a href="http://www.gnu.org/software/units/units.html">GNU Units</a></td>
-    </tr>
-    <tr>
-        <td id="uuid-package">uuid</td>
-        <td id="uuid-version">3.17</td>
-        <td id="uuid-website"><a href="http://www.mingw.org/">MingWG Windows API</a></td>
-    </tr>
-    <tr>
-        <td id="vala-package">vala</td>
-        <td id="vala-version">0.20.1</td>
-        <td id="vala-website"><a href="https://wiki.gnome.org/Vala/">Vala</a></td>
-    </tr>
-    <tr>
-        <td id="vigra-package">vigra</td>
-        <td id="vigra-version">1.9.0</td>
-        <td id="vigra-website"><a href="http://hci.iwr.uni-heidelberg.de/vigra">vigra</a></td>
-    </tr>
-    <tr>
-        <td id="vmime-package">vmime</td>
-        <td id="vmime-version">fc9bc26</td>
-        <td id="vmime-website"><a href="http://www.vmime.org/">VMime</a></td>
-    </tr>
-    <tr>
-        <td id="vorbis-package">vorbis</td>
-        <td id="vorbis-version">1.3.3</td>
-        <td id="vorbis-website"><a href="http://www.vorbis.com/">Vorbis</a></td>
-    </tr>
-    <tr>
-        <td id="vtk-package">vtk</td>
-        <td id="vtk-version">5.8.0</td>
-        <td id="vtk-website"><a href="http://www.vtk.org/">vtk</a></td>
-    </tr>
-    <tr>
-        <td id="w32api-package">w32api</td>
-        <td id="w32api-version">3.17</td>
-        <td id="w32api-website"><a href="http://www.mingw.org/">MinGW Windows API</a></td>
-    </tr>
-    <tr>
-        <td id="wget-package">wget</td>
-        <td id="wget-version">1.14</td>
-        <td id="wget-website"><a href="http://www.gnu.org/software/wget/">wget</a></td>
-    </tr>
-    <tr>
-        <td id="winpcap-package">winpcap</td>
-        <td id="winpcap-version">4_1_2</td>
-        <td id="winpcap-website"><a href="http://www.winpcap.org/">WinPcap</a></td>
-    </tr>
-    <tr>
-        <td id="wt-package">wt</td>
-        <td id="wt-version">3.2.3</td>
-        <td id="wt-website"><a href="http://witty.sourceforge.net/">Wt</a></td>
-    </tr>
-    <tr>
-        <td id="wxwidgets-package">wxwidgets</td>
-        <td id="wxwidgets-version">2.8.12</td>
-        <td id="wxwidgets-website"><a href="http://www.wxwidgets.org/">wxWidgets</a></td>
-    </tr>
-    <tr>
-        <td id="x264-package">x264</td>
-        <td id="x264-version">20111018-2245</td>
-        <td id="x264-website"><a href="http://www.videolan.org/developers/x264.html">x264</a></td>
-    </tr>
-    <tr>
-        <td id="xapian-core-package">xapian-core</td>
-        <td id="xapian-core-version">1.2.12</td>
-        <td id="xapian-core-website"><a href="http://xapian.org/">Xapian-Core</a></td>
-    </tr>
-    <tr>
-        <td id="xerces-package">xerces</td>
-        <td id="xerces-version">3.1.1</td>
-        <td id="xerces-website"><a href="http://xerces.apache.org/xerces-c/">Xerces-C++</a></td>
-    </tr>
-    <tr>
-        <td id="xine-lib-package">xine-lib</td>
-        <td id="xine-lib-version">1.1.21</td>
-        <td id="xine-lib-website"><a href="http://www.xine-project.org/">xine-lib</a></td>
-    </tr>
-    <tr>
-        <td id="xmlwrapp-package">xmlwrapp</td>
-        <td id="xmlwrapp-version">0.6.3</td>
-        <td id="xmlwrapp-website"><a href="http://sourceforge.net/projects/xmlwrapp/">xmlwrapp</a></td>
-    </tr>
-    <tr>
-        <td id="xvidcore-package">xvidcore</td>
-        <td id="xvidcore-version">1.3.2</td>
-        <td id="xvidcore-website"><a href="http://www.xvid.org/">xvidcore</a></td>
-    </tr>
-    <tr>
-        <td id="xz-package">xz</td>
-        <td id="xz-version">5.0.4</td>
-        <td id="xz-website"><a href="http://tukaani.org/xz/">XZ</a></td>
-    </tr>
-    <tr>
-        <td id="zenity-package">zenity</td>
-        <td id="zenity-version">3.8.0</td>
-        <td id="zenity-website"><a href="https://wiki.gnome.org/Zenity">Zenity</a></td>
-    </tr>
-    <tr>
-        <td id="zlib-package">zlib</td>
-        <td id="zlib-version">1.2.8</td>
-        <td id="zlib-website"><a href="http://zlib.net/">zlib</a></td>
-    </tr>
-    <tr>
-        <td id="zziplib-package">zziplib</td>
-        <td id="zziplib-version">0.13.59</td>
-        <td id="zziplib-website"><a href="http://zziplib.sourceforge.net/">ZZIPlib</a></td>
+        <td class="package">openblas</td>
+        <td class="website"><a href="http://xianyi.github.io/OpenBLAS/">OpenBLAS</a></td>
+    </tr>
+    <tr>
+        <td class="package">opencore-amr</td>
+        <td class="website"><a href="http://opencore-amr.sourceforge.net/">opencore-amr</a></td>
+    </tr>
+    <tr>
+        <td class="package">opencsg</td>
+        <td class="website"><a href="http://www.opencsg.org/">opencsg</a></td>
+    </tr>
+    <tr>
+        <td class="package">opencv</td>
+        <td class="website"><a href="http://www.opencv.org/">OpenCV</a></td>
+    </tr>
+    <tr>
+        <td class="package">openexr</td>
+        <td class="website"><a href="http://www.openexr.com/">OpenEXR</a></td>
+    </tr>
+    <tr>
+        <td class="package">openscenegraph</td>
+        <td class="website"><a href="http://www.openscenegraph.org/">OpenSceneGraph</a></td>
+    </tr>
+    <tr>
+        <td class="package">openssl</td>
+        <td class="website"><a href="http://www.openssl.org/">openssl</a></td>
+    </tr>
+    <tr>
+        <td class="package">mesa</td>
+        <td class="website"><a href="http://www.mesa3d.org/osmesa.html">Mesa</a></td>
+    </tr>
+    <tr>
+        <td class="package">mesa-proto</td>
+        <td class="website"><a href="http://www.mesa3d.org/osmesa.html">Mesa</a></td>
+    </tr>
+    <tr>
+        <td class="package">pango</td>
+        <td class="website"><a href="http://www.pango.org/">Pango</a></td>
+    </tr>
+    <tr>
+        <td class="package">pangomm</td>
+        <td class="website"><a href="http://www.pango.org/">Pangomm</a></td>
+    </tr>
+    <tr>
+        <td class="package">pcre</td>
+        <td class="website"><a href="http://www.pcre.org/">PCRE</a></td>
+    </tr>
+    <tr>
+        <td class="package">pcre2</td>
+        <td class="website"><a href="http://www.pcre.org/">PCRE2</a></td>
+    </tr>
+    <tr>
+        <td class="package">pdcurses</td>
+        <td class="website"><a href="http://pdcurses.sourceforge.net/">PDcurses</a></td>
+    </tr>
+    <tr>
+        <td class="package">plibc</td>
+        <td class="website"><a href="http://plibc.sourceforge.net/">Plibc</a></td>
+    </tr>
+    <tr>
+        <td class="package">pdflib_lite</td>
+        <td class="website"><a href="http://www.pdflib.com/download/free-software/pdflib-lite-7/">PDFlib Lite</a></td>
+    </tr>
+    <tr>
+        <td class="package">pfstools</td>
+        <td class="website"><a href="http://pfstools.sourceforge.net/">pfstools</a></td>
+    </tr>
+    <tr>
+        <td class="package">physfs</td>
+        <td class="website"><a href="http://icculus.org/physfs/">physfs</a></td>
+    </tr>
+    <tr>
+        <td class="package">pixman</td>
+        <td class="website"><a href="http://cairographics.org/">pixman</a></td>
+    </tr>
+    <tr>
+        <td class="package">pkg-config</td>
+        <td class="website"><a href="http://www.freedesktop.org/wiki/Software/pkg-config">pkg-config</a></td>
+    </tr>
+    <tr>
+        <td class="package">plotmm</td>
+        <td class="website"><a href="http://plotmm.sourceforge.net/">PlotMM</a></td>
+    </tr>
+    <tr>
+        <td class="package">plotutils</td>
+        <td class="website"><a href="http://www.gnu.org/software/plotutils/">plotutils</a></td>
+    </tr>
+    <tr>
+        <td class="package">poco</td>
+        <td class="website"><a href="http://pocoproject.org/">POCO C++ Libraries</a></td>
+    </tr>
+    <tr>
+        <td class="package">poppler</td>
+        <td class="website"><a href="http://poppler.freedesktop.org/">poppler</a></td>
+    </tr>
+    <tr>
+        <td class="package">popt</td>
+        <td class="website"><a href="http://freshmeat.net/projects/popt/">popt</a></td>
+    </tr>
+    <tr>
+        <td class="package">portaudio</td>
+        <td class="website"><a href="http://www.portaudio.com/">portaudio</a></td>
+    </tr>
+    <tr>
+        <td class="package">postgresql</td>
+        <td class="website"><a href="http://www.postgresql.org/">PostgreSQL</a></td>
+    </tr>
+    <tr>
+        <td class="package">proj</td>
+        <td class="website"><a href="http://trac.osgeo.org/proj/">proj</a></td>
+    </tr>
+    <tr>
+        <td class="package">protobuf</td>
+        <td class="website"><a href="http://code.google.com/p/protobuf"/>protobuf</a></td>
+    </tr>
+    <tr>
+        <td class="package">pstoedit</td>
+        <td class="website"><a href="http://www.pstoedit.net"</a></td>
+    </tr>
+    <tr>
+        <td class="package">pthread-stubs</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">pthread-stubs</a></td>
+    </tr>
+    <tr>
+        <td class="package">pthreads</td>
+        <td class="website"><a href="http://sourceware.org/pthreads-win32/">Pthreads-w32</a></td>
+    </tr>
+    <tr>
+        <td class="package">python-embedded</td>
+        <td class="website"><a href="https://www.python.org/downloads/windows/">python-embedded</a></td>
+    </tr>
+    <tr>
+        <td class="package">python-mpmath</td>
+        <td class="website"><a href="https://mpmath.org/">python mpmath</a></td>
+    </tr>
+    <tr>
+        <td class="package">python-sympy</td>
+        <td class="website"><a href="https://sympy.org/">python sympy</a></td>
+    </tr>
+    <tr>
+        <td class="package">qdbm</td>
+        <td class="website"><a href="http://fallabs.com/qdbm/">QDBM</a></td>
+    </tr>
+    <tr>
+        <td class="package">qhull</td>
+        <td class="website"><a href="http://qjson.sourceforge.net/">QHull</a></td>
+    </tr>
+    <tr>
+        <td class="package">qjson</td>
+        <td class="website"><a href="http://qjson.sourceforge.net/">QJson</a></td>
+    </tr>
+    <tr>
+        <td class="package">qrupdate</td>
+        <td class="website"><a href="http://sourceforge.net/projects/qrupdate/">qrupdate</a></td>
+    </tr>
+    <tr>
+        <td class="package">qscintilla</td>
+        <td class="website"><a href="http://www.riverbankcomputing.com/software/qscintilla/intro">QScintilla</a></td>
+    </tr>
+    <tr>
+        <td class="package">qt</td>
+        <td class="website"><a href="http://qt.nokia.com/">Qt</a></td>
+    </tr>
+    <tr>
+        <td class="package">qt5</td>
+        <td class="website"><a href="http://qt.nokia.com/">Qt5</a></td>
+    </tr>
+    <tr>
+        <td class="package">qtbase</td>
+        <td class="website"><a href="http://qt.nokia.com/">Qt5 base</a></td>
+    </tr>
+    <tr>
+        <td class="package">qttranslations</td>
+        <td class="website"><a href="http://qt.nokia.com/">Qt5 qttranslations</a></td>
+    </tr>
+    <tr>
+        <td class="package">qttools</td>
+        <td class="website"><a href="http://qt.nokia.com/">Qt5 tools</a></td>
+    </tr>
+    <tr>
+        <td class="package">qtsvg</td>
+        <td class="website"><a href="http://qt.nokia.com/">Qt5 svg</a></td>
+    </tr>
+    <tr>
+        <td class="package">qtimageformats</td>
+        <td class="website"><a href="http://qt.nokia.com/">Qt5 imageformats</a></td>
+    </tr>
+    <tr>
+        <td class="package">qwt</td>
+        <td class="website"><a href="http://qwt.sourceforge.net/">Qwt</a></td>
+    </tr>
+    <tr>
+        <td class="package">qwtplot3d</td>
+        <td class="website"><a href="http://qwtplot3d.sourceforge.net/">QwtPlot3D</a></td>
+    </tr>
+    <tr>
+        <td class="package">rapidjson</td>
+        <td class="website"><a href="https://rapidjson.org/">RapidJSON</a></td>
+    </tr>
+    <tr>
+        <td class="package">readline</td>
+        <td class="website"><a href="http://tiswww.case.edu/php/chet/readline/rltop.html">Readline</a></td>
+    </tr>
+    <tr>
+        <td class="package">release-octave</td>
+        <td class="website"><a href="https://octave.org/">Release Octave</a></td>
+    </tr>
+    <tr>
+        <td class="package">renderproto</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">renderproto</a></td>
+    </tr>
+    <tr>
+        <td class="package">rtmidi</td>
+        <td class="website"><a href="https://github.com/thestk/rtmidi">rtmidi</a></td>
+    </tr>
+    <tr>
+        <td class="package">s2tc</td>
+        <td class="website"><a href="https://github.com/divVerent/s2tc/wiki/">s2tc</a></td>
+    </tr>
+    <tr>
+        <td class="package">sdl</td>
+        <td class="website"><a href="http://www.libsdl.org/">SDL</a></td>
+    </tr>
+    <tr>
+        <td class="package">sdl_image</td>
+        <td class="website"><a href="http://www.libsdl.org/projects/SDL_image/">SDL_image</a></td>
+    </tr>
+    <tr>
+        <td class="package">sdl_mixer</td>
+        <td class="website"><a href="http://www.libsdl.org/projects/SDL_mixer/">SDL_mixer</a></td>
+    </tr>
+    <tr>
+        <td class="package">sdl_net</td>
+        <td class="website"><a href="http://www.libsdl.org/projects/SDL_net/">SDL_net</a></td>
+    </tr>
+    <tr>
+        <td class="package">sdl_pango</td>
+        <td class="website"><a href="http://sdlpango.sourceforge.net/">SDL_Pango</a></td>
+    </tr>
+    <tr>
+        <td class="package">sdl_sound</td>
+        <td class="website"><a href="http://icculus.org/SDL_sound/">SDL_sound</a></td>
+    </tr>
+    <tr>
+        <td class="package">sdl_ttf</td>
+        <td class="website"><a href="http://www.libsdl.org/projects/SDL_ttf/">SDL_ttf</a></td>
+    </tr>
+    <tr>
+        <td class="package">sm</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">sm</a></td>
+    </tr>
+    <tr>
+        <td class="package">smpeg</td>
+        <td class="website"><a href="http://icculus.org/smpeg/">smpeg</a></td>
+    </tr>
+    <tr>
+        <td class="package">sox</td>
+        <td class="website"><a href="http://sox.sourceforge.net/">SoX</a></td>
+    </tr>
+    <tr>
+        <td class="package">speex</td>
+        <td class="website"><a href="http://www.speex.org/">Speex</a></td>
+    </tr>
+    <tr>
+        <td class="package">sqlite</td>
+        <td class="website"><a href="http://www.sqlite.org/">SQLite</a></td>
+    </tr>
+    <tr>
+        <td class="package">stable-octave</td>
+        <td class="website"><a href="https://octave.org/">Stable Octave</a></td>
+    </tr>
+    <tr>
+        <td class="package">suitesparse</td>
+        <td class="website"><a href="http://www.cise.ufl.edu/research/sparse/SuiteSparse/">SuiteSparse</a></td>
+    </tr>
+    <tr>
+        <td class="package">sundials-ida</td>
+        <td class="website"><a href="http://computation.llnl.gov/projects/sundials/">Sundials IDA</a></td>
+    </tr>
+    <tr>
+        <td class="package">t4k_common</td>
+        <td class="website"><a href="http://tux4kids.alioth.debian.org/">t4k_common</a></td>
+    </tr>
+    <tr>
+        <td class="package">taglib</td>
+        <td class="website"><a href="http://developer.kde.org/~wheeler/taglib.html">TagLib</a></td>
+    </tr>
+    <tr>
+        <td class="package">termcap</td>
+        <td class="website"><a href="ftp://ftp.gnu.org/gnu/termcap/">GNU termcap</a></td>
+    </tr>
+    <tr>
+        <td class="package">texinfo</td>
+        <td class="website"><a href="http://www.gnu.org/software/texinfo/">GNU Texinfo</a></td>
+    </tr>
+    <tr>
+        <td class="package">theora</td>
+        <td class="website"><a href="http://theora.org/">Theora</a></td>
+    </tr>
+    <tr>
+        <td class="package">tiff</td>
+        <td class="website"><a href="http://www.remotesensing.org/libtiff/">LibTIFF</a></td>
+    </tr>
+    <tr>
+        <td class="package">tinyxml</td>
+        <td class="website"><a href="http://sourceforge.net/projects/tinyxml/">tinyxml</a></td>
+    </tr>
+    <tr>
+        <td class="package">transfig</td>
+        <td class="website"><a href="http://xfig.org/">transfig</a></td>
+    </tr>
+    <tr>
+        <td class="package">tre</td>
+        <td class="website"><a href="http://laurikari.net/tre/">TRE</a></td>
+    </tr>
+    <tr>
+        <td class="package">units</td>
+        <td class="website"><a href="http://www.gnu.org/software/units/units.html">GNU Units</a></td>
+    </tr>
+    <tr>
+        <td class="package">util-linux</td>
+        <td class="website"><a href="http://www.kernel.org/">util-linux</a></td>
+    </tr>
+    <tr>
+        <td class="package">util-macros</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">util-macrosi</a></td>
+    </tr>
+    <tr>
+        <td class="package">uuid</td>
+        <td class="website"><a href="http://www.mingw.org/">MingWG Windows API</a></td>
+    </tr>
+    <tr>
+        <td class="package">vala</td>
+        <td class="website"><a href="https://wiki.gnome.org/Vala/">Vala</a></td>
+    </tr>
+    <tr>
+        <td class="package">vcdimager</td>
+        <td class="website"><a href="http://ftp.gnu.org/gnu/vcdimager">vcdimager</a></td>
+    </tr>
+    <tr>
+        <td class="package">vigra</td>
+        <td class="website"><a href="http://hci.iwr.uni-heidelberg.de/vigra">vigra</a></td>
+    </tr>
+    <tr>
+        <td class="package">vmime</td>
+        <td class="website"><a href="http://www.vmime.org/">VMime</a></td>
+    </tr>
+    <tr>
+        <td class="package">vorbis</td>
+        <td class="website"><a href="http://www.vorbis.com/">Vorbis</a></td>
+    </tr>
+    <tr>
+        <td class="package">vtk</td>
+        <td class="website"><a href="http://www.vtk.org/">vtk</a></td>
+    </tr>
+    <tr>
+        <td class="package">w32api</td>
+        <td class="website"><a href="http://www.mingw.org/">MinGW Windows API</a></td>
+    </tr>
+    <tr>
+        <td class="package">wavpack</td>
+        <td class="website"><a href="ttp://www.wavpack.com/">Wavpack</a></td>
+    </tr>
+    <tr>
+        <td class="package">wget</td>
+        <td class="website"><a href="http://www.gnu.org/software/wget/">wget</a></td>
+    </tr>
+    <tr>
+        <td class="package">win7appid</td>
+        <td class="website"><a href="https://code.google.com/archive/p/win7appid/">Win7AppId</a></td>
+    </tr>
+    <tr>
+        <td class="package">winpcap</td>
+        <td class="website"><a href="http://www.winpcap.org/">WinPcap</a></td>
+    </tr>
+    <tr>
+        <td class="package">wt</td>
+        <td class="website"><a href="http://witty.sourceforge.net/">Wt</a></td>
+    </tr>
+    <tr>
+        <td class="package">wxwidgets</td>
+        <td class="website"><a href="http://www.wxwidgets.org/">wxWidgets</a></td>
+    </tr>
+    <tr>
+        <td class="package">x11</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">X11</a></td>
+    </tr>
+    <tr>
+        <td class="package">x264</td>
+        <td class="website"><a href="http://www.videolan.org/developers/x264.html">x264</a></td>
+    </tr>
+    <tr>
+        <td class="package">xapian-core</td>
+        <td class="website"><a href="http://xapian.org/">Xapian-Core</a></td>
+    </tr>
+    <tr>
+        <td class="package">xau</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xau</a></td>
+    </tr>
+    <tr>
+        <td class="package">xcb</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xcb</a></td>
+    </tr>
+    <tr>
+        <td class="package">xcb-util</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xcb-util</a></td>
+    </tr>
+    <tr>
+        <td class="package">xcb-util-cursor</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xcb-util-cursor</a></td>
+    </tr>
+    <tr>
+        <td class="package">xcb-util-image</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xcb-util-image</a></td>
+    </tr>
+    <tr>
+        <td class="package">xcb-util-keysyms</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xcb-util-keysyms</a></td>
+    </tr>
+    <tr>
+        <td class="package">xcb-util-renderutil</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xcb-util-renderutil</a></td>
+    </tr>
+    <tr>
+        <td class="package">xcb-util-wm</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xcb-util-wm</a></td>
+    </tr>
+    <tr>
+        <td class="package">xcursor</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xcursor</a></td>
+    </tr>
+    <tr>
+        <td class="package">xcb-proto</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xcb-proto</a></td>
+    </tr>
+    <tr>
+        <td class="package">xdamage</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xdamage</a></td>
+    </tr>
+    <tr>
+        <td class="package">xdmcp</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xdmcp</a></td>
+    </tr>
+    <tr>
+        <td class="package">xkbcommon</td>
+        <td class="website"><a href="https://github.com/xkbcommon/libxkbcommon">xkbcommon</a></td>
+    </tr>
+    <tr>
+        <td class="package">xerces</td>
+        <td class="website"><a href="http://xerces.apache.org/xerces-c/">Xerces-C++</a></td>
+    </tr>
+    <tr>
+        <td class="package">xext</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xext</a></td>
+    </tr>
+    <tr>
+        <td class="package">xextproto</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xextproto</a></td>
+    </tr>
+    <tr>
+        <td class="package">xfixes</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xfixes</a></td>
+    </tr>
+    <tr>
+        <td class="package">xf86vidmodeproto</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xf86vidmodeproto</a></td>
+    </tr>
+    <tr>
+        <td class="package">xft</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xft</a></td>
+    </tr>
+    <tr>
+        <td class="package">xi</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xi</a></td>
+    </tr>
+    <tr>
+        <td class="package">xine-lib</td>
+        <td class="website"><a href="http://www.xine-project.org/">xine-lib</a></td>
+    </tr>
+    <tr>
+        <td class="package">xmlwrapp</td>
+        <td class="website"><a href="http://sourceforge.net/projects/xmlwrapp/">xmlwrapp</a></td>
+    </tr>
+    <tr>
+        <td class="package">xproto</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xproto></a></td>
+    </tr>
+    <tr>
+        <td class="package">xrender</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xrender</a></td>
+    </tr>
+    <tr>
+        <td class="package">xt</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xt</a></td>
+    </tr>
+    <tr>
+        <td class="package">xtrans</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xtrans</a></td>
+    </tr>
+    <tr>
+        <td class="package">xvidcore</td>
+        <td class="website"><a href="http://www.xvid.org/">xvidcore</a></td>
+    </tr>
+    <tr>
+        <td class="package">xxf86vm</td>
+        <td class="website"><a href="http://xorg.freedesktop.org/">xxf86vm</a></td>
+    </tr>
+    <tr>
+        <td class="package">xz</td>
+        <td class="website"><a href="http://tukaani.org/xz/">XZ</a></td>
+    </tr>
+    <tr>
+        <td class="package">yasm</td>
+        <td class="website"><a href="http://yasm.tortall.net/">Yasm</a></td>
+    </tr>
+    <tr>
+        <td class="package">zenity</td>
+        <td class="website"><a href="https://wiki.gnome.org/Zenity">Zenity</a></td>
+    </tr>
+    <tr>
+        <td class="package">zeromq</td>
+        <td class="website"><a href="http://zeromq.org/">ZeroMQ</a></td>
+    </tr>
+    <tr>
+        <td class="package">zlib</td>
+        <td class="website"><a href="http://zlib.net/">zlib</a></td>
+    </tr>
+    <tr>
+        <td class="package">zziplib</td>
+        <td class="website"><a href="http://zziplib.sourceforge.net/">ZZIPlib</a></td>
     </tr>
     </table>
 </div>
@@ -2636,7 +3192,7 @@
 </div>
 
 <div class="section">
-<h2 id="copyright">Copyright © <span class="years">2007–2012</span></h2>
+<h2 id="copyright">Copyright © <span class="years">2007–2018</span></h2>
 
     <ul id="authors-list" class="compact-list">
     <li>Volker Grabsch</li>
@@ -2679,7 +3235,6 @@
 
     <dl>
 
-    <dt>2012-04-12 &ndash; Release <span id="latest-version">2.22</span></dt>
     <dd>
         <p>
         <a href="http://mxe.cc/#download">Download</a> |
@@ -3552,3 +4107,4 @@
 
 </body>
 </html>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/installer-files/README.html	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,58 @@
+<html>
+<head>
+<title>GNU Octave</title>
+</head>
+<body>
+<h1>Welcome</h1>
+<p>
+Thank you for installing GNU Octave!
+</p>
+<p>
+Octave 6.1 is a major release with many new features and improvements. Among
+other things, it brings updates for Matlab compatibility, better graphics, and
+many general improvements since version 5.2.
+</p>
+<p>
+A full list of changes can be found in the Release Notes from the News menu.
+</p>
+
+<h2>Changed default installation location</h2>
+<p>By default, Octave now installs to the system wide default program installation
+location (likely inside <code>C:\Program Files\GNU Octave</code>).</p>
+<p>It is now also possible to install Octave without administrative privileges.
+<br>In that case (or if an admin choses to install for the "local user" only),
+the default installation location is inside
+<code>%LOCALAPPDATA%\Programs\GNU Octave</code>.</p>
+
+<h2>BLAS Library Selection</h2>
+<p>During the installation, a default BLAS library was selected. The installer
+contains two BLAS implementations,
+the <a href="http://www.netlib.org/blas/">NetLib reference BLAS</a>
+and <a href="http://www.openblas.net/">OpenBLAS</a>.</p>
+<p>The used implementation can be changed after installation with the "BLAS
+Switcher" in the Start menu.</p>
+
+<h2>Included Octave Forge Packages</h2>
+<p>A <a href="https://wiki.octave.org/Octave_for_Microsoft_Windows#Packages">
+number of Octave-Forge packages</a> has been included with Octave for Windows.
+However, the packages must be loaded in order to use them.</p>
+<p>
+<ul>
+<li>To list the available installed packages, use the
+<code>pkg list</code> command.</li>
+<li>To load a package in order to use its functions, use the
+<code>pkg load PACKAGENAME</code> command.</li>
+</ul>
+</p>
+<p>Other packages are available from
+<a href="https://octave.sourceforge.io/">Octave-Forge</a>.</p>
+
+<h2>Contributing to Octave</h2>
+<p>Octave has a community that lives from its users. You are welcome to share
+with that community.</p>
+<p>For help and support, visit the
+<a href="https://octave.discourse.group/">Octave Discourse forum</a>.</p>
+<p>Please, report any problems with Octave on the
+<a href="https://octave.org/bugs.html">Octave website</a>.</p>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/installer-files/cmdshell.bat	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,39 @@
+@echo off
+
+set OCTAVE_HOME=%~dp0
+Rem NOTE: OCTAVE_HOME has a end \
+Rem convert to 8.3 format
+for %%I in ("%OCTAVE_HOME%") do set OCTAVE_HOME=%%~sI
+
+Rem set home if not already set
+if "%HOME%"=="" set HOME=%USERPROFILE%
+if "%HOME%"=="" set HOME=%HOMEDRIVE%%HOMEPATH%
+
+Rem set HOME to 8.3 format
+for %%I in ("%HOME%") do set HOME=%%~sI
+
+set MSYSDIR=%OCTAVE_HOME%
+set MSYSTEM=MSYS
+
+Rem if no msys-1.0, must be msys2
+if NOT EXIST %OCTAVE_HOME%bin\msys-1.0.dll set MSYSDIR=%OCTAVE_HOME%usr
+
+Rem 32 or 64 bit
+if EXIST %OCTAVE_HOME%mingw32\bin\octave-cli.exe set MSYSTEM=MINGW32
+if EXIST %OCTAVE_HOME%mingw64\bin\octave-cli.exe set MSYSTEM=MINGW64
+
+if EXIST %OCTAVE_HOME%mingw32\bin\octave-cli.exe set OCTAVE_HOME=%OCTAVE_HOME%mingw32\
+if EXIST %OCTAVE_HOME%mingw64\bin\octave-cli.exe set OCTAVE_HOME=%OCTAVE_HOME%mingw64\
+
+Rem   Set up PATH. Make sure the octave bin dir
+Rem   comes first.
+set PATH=%OCTAVE_HOME%qt5\bin;%OCTAVE_HOME%bin;%OCTAVE_HOME%python;%PATH%
+set TERM=cygwin
+set GS=gs.exe
+set GNUTERM=wxt
+
+Rem tell msys2 to use the paths we set here which matches what octave would do
+set MSYS2_PATH_TYPE=inherit
+
+%MSYSDIR%\bin\bash.exe --login -i
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/installer-files/fc_update.bat	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,12 @@
+@echo off
+
+REM Remove contents of cache directory including tmp and lock files (bug #45458)
+del /Q /S %LOCALAPPDATA%\fontconfig\cache\ >nul 2>&1
+
+set ROOT_DIR=%~dp0
+if EXIST %ROOT_DIR%\mingw32\bin\octave-cli.exe set ROOT_DIR=%ROOT_DIR%\mingw32
+if EXIST %ROOT_DIR%\mingw64\bin\octave-cli.exe set ROOT_DIR=%ROOT_DIR%\mingw64
+echo "Updating fc-cache (may take a while) ..."
+%ROOT_DIR%\bin\fc-cache.exe -v
+echo "Done."
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/installer-files/gpl-3.0.txt	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,675 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/installer-files/octave-firsttime.vbs	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,70 @@
+' script to run octave in gui/command mode
+
+Set wshShell = CreateObject( "WScript.Shell" )
+
+' get the directory that script resides in
+Set fso = CreateObject("Scripting.FileSystemObject")
+OctavePath = fso.GetParentFolderName(WScript.ScriptFullName)
+
+' ctavePath is now the root of the install folder, but for msys2,
+' OctavePath should be OctavePath/mingw64 or OctavePath/ming32
+MSysType = "MSYS"
+MSysPath = OctavePath
+Set objFSO = CreateObject("Scripting.FileSystemObject")
+If objFSO.FileExists(OctavePath & "\mingw64\bin\octave-cli.exe") Then
+  MSysPath = OctavePath & "\usr"
+  MSysType = "MINGW64"
+  OctavePath = OctavePath & "\mingw64" 
+ ElseIf objFSO.FileExists(OctavePath & "\mingw32\bin\octave-cli.exe") Then
+  MSysPath = OctavePath & "\usr"
+  MSysType = "MINGW32"
+  OctavePath = OctavePath & "\mingw32" 
+End If
+
+' get path as a 8.3 path
+Set fo = fso.GetFolder(OctavePath)
+OctavePath = fo.ShortPath
+Set fo = Nothing
+
+' set up path to ensure octave bin comes first
+Set wshSystemEnv = wshShell.Environment( "PROCESS" )
+if OctavePath <> MSysPath Then
+  wshSystemEnv("PATH") = MSysPath  & "\bin;" & wshSystemEnv("PATH")
+End If
+wshSystemEnv("PATH") = OctavePath & "\bin;" & wshSystemEnv("PATH")
+
+wshSystemEnv("MSYSTEM") = MSysType
+' set terminal type
+wshSystemEnv("TERM") = "cygwin"
+wshSystemEnv("GNUTERM") = "wxt"
+
+wshSystemEnv("GS") = "gs.exe"
+
+If wshShell.ExpandEnvironmentStrings("%HOME%") = "%HOME%" Then
+  Home = wshSystemEnv("USERPROFILE")
+  Set fo = fso.GetFolder(Home)
+  wshSystemEnv("HOME") = fo.ShortPath
+  Set fo = Nothing
+End If
+
+' set Qt plugin directory and path 
+If objFSO.FolderExists(OctavePath & "\qt5\bin") Then
+  wshSystemEnv("PATH") = OctavePath & "\qt5\bin;" & wshSystemEnv("PATH")
+  wshSystemEnv("QT_PLUGIN_PATH") = OctavePath & "\qt5\plugins"
+Else
+  wshSystemEnv("QT_PLUGIN_PATH") = OctavePath & "\plugins"
+End If
+
+' set directory to users
+startpath = wshShell.ExpandEnvironmentStrings("%UserProfile%")
+wshShell.CurrentDirectory = startpath
+
+GUIArg = " " & chr(34) & "--gui" & chr(34)
+wshShell.Run chr(34) & OctavePath & "\bin\octave-gui.exe" & Chr(34) & GUIArg, 0
+
+' free our objects
+Set fso = Nothing
+Set wshShell = Nothing
+Set wshSystemEnv = Nothing
+Set wshArgs = Nothing
+
Binary file installer-files/octave-hdr.bmp has changed
Binary file installer-files/octave-logo.ico has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/installer-files/octave.bat	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,79 @@
+:; # if running from bash, recall using cmd.exe
+:; cmd.exe //c "$0" "$@"; exit $?
+@echo off
+Rem   Find Octave's install directory through cmd.exe variables.
+Rem   This batch file should reside in Octaves installation bin dir!
+Rem
+Rem   This trick finds the location where the batch file resides.
+Rem   Note: the result ends with a backslash.
+set OCT_HOME=%~dp0\.\..\
+set ROOT_PATH=%~dp0\.\..\..\
+Rem Convert to 8.3 format so we don't have to worry about spaces.
+for %%I in ("%OCT_HOME%") do set OCT_HOME=%%~sI
+for %%I in ("%ROOT_PATH%") do set ROOT_PATH=%%~sI
+
+set MSYSTEM=MSYS
+set MSYSPATH=%OCT_HOME%
+IF EXIST "%ROOT_PATH%mingw64\bin\octave.bat" (
+  set MSYSTEM=MINGW64
+  set MSYSPATH=%ROOT_PATH%usr\
+) ELSE (
+  IF EXIST "%ROOT_PATH%mingw32\bin\octave.bat" (
+    set MSYSTEM=MINGW64
+    set MSYSPATH=%ROOT_PATH%usr\
+  )
+)
+ 
+Rem   Set up PATH.  Make sure the octave bin dir comes first.
+
+set PATH=%OCT_HOME%qt5\bin;%OCT_HOME%bin;%MSYSPATH%bin;%PATH%
+
+Rem   Set up any environment vars we may need.
+
+set TERM=cygwin
+set GNUTERM=wxt
+set GS=gs.exe
+
+Rem QT_PLUGIN_PATH must be set to avoid segfault (bug #53419).
+IF EXIST "%OCT_HOME%\qt5\bin\" (
+  set QT_PLUGIN_PATH=%OCT_HOME%\qt5\plugins
+) ELSE (
+  set QT_PLUGIN_PATH=%OCT_HOME%\plugins
+)
+
+Rem set home if not already set
+if "%HOME%"=="" set HOME=%USERPROFILE%
+if "%HOME%"=="" set HOME=%HOMEDRIVE%%HOMEPATH%
+Rem set HOME to 8.3 format
+for %%I in ("%HOME%") do set HOME=%%~sI
+
+Rem   Check for args to determine if GUI (--gui, --force-gui)
+Rem   or CLI (--no-gui) should be started.
+Rem   If nothing is specified, start the CLI.
+set GUI_MODE=0
+:checkargs
+if -%1-==-- goto args_done
+
+if %1==--gui (
+  set GUI_MODE=1
+) else (
+if %1==--force-gui (
+  set GUI_MODE=1
+) else (
+if %1==--no-gui (
+  set GUI_MODE=0
+)))
+
+Rem move to next argument and continue processing
+shift
+goto checkargs
+
+:args_done
+
+Rem   Start Octave (this detaches and immediately returns).
+if %GUI_MODE%==1 (
+  start octave-gui.exe --gui %*
+) else (
+  octave-cli.exe %*
+)
+
Binary file installer-files/octave.bmp has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/installer-files/octave.vbs	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,82 @@
+' script to run octave in gui/command mode
+
+Set wshShell = CreateObject( "WScript.Shell" )
+
+' get the directory that script resides in
+Set fso = CreateObject("Scripting.FileSystemObject")
+OctavePath = fso.GetParentFolderName(WScript.ScriptFullName)
+
+' ctavePath is now the root of the install folder, but for msys2,
+' OctavePath should be OctavePath/mingw64 or OctavePath/ming32
+MSysType = "MSYS"
+MSysPath = OctavePath
+Set objFSO = CreateObject("Scripting.FileSystemObject")
+If objFSO.FileExists(OctavePath & "\mingw64\bin\octave-cli.exe") Then
+  MSysPath = OctavePath & "\usr"
+  MSysType = "MINGW64"
+  OctavePath = OctavePath & "\mingw64" 
+ ElseIf objFSO.FileExists(OctavePath & "\mingw32\bin\octave-cli.exe") Then
+  MSysPath = OctavePath & "\usr"
+  MSysType = "MINGW32"
+  OctavePath = OctavePath & "\mingw32" 
+End If
+
+' get path as a 8.3 path
+Set fo = fso.GetFolder(OctavePath)
+OctavePath = fo.ShortPath
+Set fo = Nothing
+
+' set up path to ensure octave bin comes first
+Set wshSystemEnv = wshShell.Environment( "PROCESS" )
+if OctavePath <> MSysPath Then
+  wshSystemEnv("PATH") = MSysPath  & "\bin;" & wshSystemEnv("PATH")
+End If
+wshSystemEnv("PATH") = OctavePath & "\bin;" & wshSystemEnv("PATH")
+
+wshSystemEnv("MSYSTEM") = MSysType
+
+' set terminal type
+wshSystemEnv("TERM") = "cygwin"
+wshSystemEnv("GNUTERM") = "wxt"
+
+wshSystemEnv("GS") = "gs.exe"
+
+If wshShell.ExpandEnvironmentStrings("%HOME%") = "%HOME%" Then
+  Home = wshSystemEnv("USERPROFILE")
+  Set fo = fso.GetFolder(Home)
+  wshSystemEnv("HOME") = fo.ShortPath
+  Set fo = Nothing
+End If
+
+' set Qt plugin directory and path 
+If objFSO.FolderExists(OctavePath & "\qt5\bin") Then
+  wshSystemEnv("PATH") = OctavePath & "\qt5\bin;" & wshSystemEnv("PATH")
+  wshSystemEnv("QT_PLUGIN_PATH") = OctavePath & "\qt5\plugins"
+Else
+  wshSystemEnv("QT_PLUGIN_PATH") = OctavePath & "\plugins"
+End If
+
+' check args to see if told to run gui or command line
+' and build other args to use
+GUI_MODE=1
+AllArgs = ""
+Set wshArgs = WScript.Arguments
+For I = 0 to wshArgs.Count - 1
+  If wshArgs(I) = "--no-gui" Then GUI_MODE=0
+  AllArgs = AllArgs & " " & chr(34) & wshArgs(I) & chr(34)
+Next
+
+' start octave-gui, either with console shown or hidden
+If GUI_MODE = 1 then
+  AllArgs = AllArgs & " " & chr(34) & "--gui" & chr(34)
+  wshShell.Run chr(34) & OctavePath & "\bin\octave-gui.exe" & Chr(34) & AllArgs, 0
+Else
+  wshShell.Run chr(34) & OctavePath & "\bin\octave-gui.exe" & Chr(34) & AllArgs, 1
+End If
+
+' free our objects
+Set fso = Nothing
+Set wshShell = Nothing
+Set wshSystemEnv = Nothing
+Set wshArgs = Nothing
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/installer-files/post-install.bat	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,47 @@
+@echo off
+Rem   Run on initial install /update
+set ROOT_DIR=%~dp0
+Rem Convert to 8.3 format so we don't have to worry about spaces.
+for %%I in ("%ROOT_DIR%") do set ROOT_DIR=%%~sI
+
+set MSYSDIR=%ROOT_DIR%
+set MSYSTEM=MSYS
+
+if NOT EXIST %ROOT_DIR%\bin\msys-1.0.dll set MSYSDIR=%ROOT_DIR%\usr
+if EXIST %ROOT_DIR%\mingw32\bin\octave.bat set MSYSTEM=MINGW32
+if EXIST %ROOT_DIR%\mingw64\bin\octave.bat set MSYSTEM=MINGW64
+
+if %MSYSTEM%==MSYS (
+ set OCTAVE_HOME=%ROOT_DIR%
+) else (
+ if %MSYSTEM%==MINGW32 (
+ set OCTAVE_HOME=%ROOT_DIR%mingw32
+) else (
+ set OCTAVE_HOME=%ROOT_DIR%mingw64
+))
+
+Rem QT subdir path
+IF EXIST "%OCTAVE_HOME%\qt5" (
+  set QT_SUBDIR=qt5/
+) ELSE (
+  set QT_SUBDIR=
+)
+
+Rem Create qt.conf
+set QT_CONF=%OCTAVE_HOME%\bin\qt.conf
+echo [Paths] > %QT_CONF%
+echo Prefix=%OCTAVE_HOME:\=/% >> %QT_CONF%
+echo Documentation=%QT_SUBDIR%doc >> %QT_CONF%
+echo Headers=%QT_SUBDIR%include >> %QT_CONF%
+echo Libraries=%QT_SUBDIR%libs >> %QT_CONF%
+echo Plugins=%QT_SUBDIR%plugins >> %QT_CONF%
+echo Translations=%QT_SUBDIR%translations >> %QT_CONF%
+
+Rem run bash to to regitser the initial envorinment
+echo "Setting up MSYS system ..."
+"%MSYSDIR%\bin\bash.exe" --login -c echo
+echo "Updating fc-cache (may take a while) ..."
+"%OCTAVE_HOME%\bin\fc-cache.exe" -v
+echo "Updating octave packages ..."
+"%OCTAVE_HOME%\bin\octave.bat" --no-gui -W -H -f -q --eval "if version()(1) < '6', pkg rebuild, end"
+
--- a/makeinst-script.sh	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-#! /bin/bash
-set -e
-
-if [ $# != 1 ]; then
-  echo "Expected octave folder"
-  exit
-fi
-
-ARG1=$1
-
-TOPDIR=`dirname $ARG1`
-OCTAVE_SOURCE=`basename $ARG1`
-
-echo "Generating installer script ... "
-
-cd $TOPDIR
-
-# find icon
-ICON=`find $OCTAVE_SOURCE -name octave-logo.ico -printf "%P" | head -1 | sed 's,/,\\\\,g'`
-
-# create installer script
-echo "; octave setup script $OCTAVE_SOURCE" > octave.nsi
-
-# initial installer settings
-  cat >> octave.nsi << EOF
-
-; installer settings
-Name "Octave"
-OutFile "Octave-Installer.exe"
-InstallDir "c:\\$OCTAVE_SOURCE"
-Icon "$OCTAVE_SOURCE\\$ICON"
-ShowInstDetails show
-ShowUnInstDetails show
-
-Page directory
-Page instfiles
-
-UninstPage uninstConfirm
-Uninstpage instfiles
-
-RequestExecutionLevel admin
- 
-; file section
-Section "MainFiles"
-
-EOF
-
-# insert the files
-  IFS=$'\n'
-  for f in $(find $OCTAVE_SOURCE -type d -printf "%P\n"); do
-    winf=`echo $f | sed 's,/,\\\\,g'`
-    echo " CreateDirectory \"\$INSTDIR\\$winf\"" >> octave.nsi
-    echo " SetOutPath \"\$INSTDIR\\$winf\"" >> octave.nsi
-    find "$OCTAVE_SOURCE/$f" -maxdepth 1 -type f -printf " File \"%p\"\n" >> octave.nsi 
-  done
-
-  cat >> octave.nsi << EOF
-
-SectionEnd
-
-Section make_uninstaller
- ; Write the uninstall keys for Windows
- SetOutPath "\$INSTDIR"
- WriteRegStr HKLM "Software\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave" "DisplayName" "Octave"
- WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave" "UninstallString" "\$INSTDIR\uninstall.exe"
- WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave" "NoModify" 1
- WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave" "NoRepair" 1
- WriteUninstaller "uninstall.exe"
-SectionEnd
-
-; start menu (currently hardcoded)
-Section "Shortcuts"
-
- CreateDirectory "\$SMPROGRAMS\\Octave"
- CreateShortCut "\$SMPROGRAMS\\Octave\\Uninstall.lnk" "\$INSTDIR\\uninstall.exe" "" "\$INSTDIR\\uninstall.exe" 0
- CreateShortCut "\$SMPROGRAMS\Octave\\Octave.lnk" "\$INSTDIR\\bin\\octave.exe" "" "\$INSTDIR\\$ICON" 0
- CreateShortCut "\$SMPROGRAMS\Octave\\Octave (No GUI).lnk" "\$INSTDIR\\bin\\octave-cli.exe" "" "\$INSTDIR\\$ICON" 0
-  
-SectionEnd
-
-Section "Uninstall"
-
- DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Octave"
- DeleteRegKey HKLM "Software\Octave"
-
- ; Remove shortcuts
- Delete "\$SMPROGRAMS\Octave\*.*"
- RMDir "\$SMPROGRAMS\Octave"
-
-EOF
-
-# insert dir list (backwards order) for uninstall files
-  for f in $(find $OCTAVE_SOURCE -depth -type d -printf "%P\n"); do
-    winf=`echo $f | sed 's,/,\\\\,g'`
-    echo " Delete \"\$INSTDIR\\$winf\\*.*\"" >> octave.nsi
-    echo " RmDir \"\$INSTDIR\\$winf\"" >> octave.nsi
-  done
-
-# last bit of the uninstaller
-  cat >> octave.nsi << EOF
- Delete "\$INSTDIR\*.*"
- RmDir "\$INSTDIR"
-SectionEnd
-EOF
-
-echo "Generation Completed"
-
--- a/mk-dist	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-#! /bin/bash
-
-set -e
-
-## Override with --jobs option or set JOBS variable in settings.mk
-jobs=0
-
-OCTAVE_TARGET=octave
-
-strip=yes
-installer=no
-while [ $# -gt 0 ]; do
-  case "$1" in
-    --jobs)
-      shift
-      if [ $# -gt 0 ]; then
-        jobs=$1
-        shift
-      else
-        echo "mk-dist: expecting argument for --jobs option" 1>&2
-        exit 1
-      fi
-    ;;
-    --stable)
-      OCTAVE_TARGET=stable-octave
-      shift
-    ;;
-    --no-strip)
-      strip=no
-      shift
-    ;;
-    --installer)
-      installer=yes
-      echo "making installer"
-      shift
-    ;;
-    *)
-      echo "mk-dist: unrecognized option: $1" 1>&2
-      exit 1
-    ;;
-  esac
-done
-
-TOPDIR=$(pwd)
-PATH=$TOPDIR/usr/bin:$PATH
-TARGET=i686-pc-mingw32
-PREFIX=/usr/$TARGET
-STRIP=$TARGET-strip
-DATE=$(date +%Y-%m-%d-%H-%M)
-OCTAVE_DIST_DIR=$TOPDIR/dist/$OCTAVE_TARGET-$DATE
-INSTALLER_PKG=
-
-if [ $installer = "yes" ]; then
-  echo "Adding installer to build dependancies"
-  INSTALLER_PKG="nsis"
-fi
-
-echo "deleting previous dist directory..."
-rm -rf $TOPDIR/dist
-mkdir -p $OCTAVE_DIST_DIR
-
-echo "building octave and dependencies..."
-if [ $jobs -gt 0 ]; then
-  make $OCTAVE_TARGET $INSTALLER_PKG msys-base native-gcc native-binutils octave-forge-packages npp units JOBS=$jobs
-else
-  make $OCTAVE_TARGET $INSTALLER_PKG msys-base native-gcc native-binutils octave-forge-packages npp units
-fi
-
-echo "generating lists of files to exclude..."
-
-echo "  native files..."
-cat > $TOPDIR/excluded-native-files << EOF
-./$TARGET
-./bin/$TARGET-*.exe
-EOF
-
-echo "  gcc cross compiler files..."
-cd $TOPDIR/cross-tools/$TOPDIR/$PREFIX
-find . -type f -o -type l | sed "s,./,," > $TOPDIR/excluded-gcc-files
-
-echo "copying files..."
-
-echo "  octave and dependencies..."
-cd $TOPDIR/$PREFIX
-tar -c -h -X $TOPDIR/excluded-gcc-files -f - . | ( cd $OCTAVE_DIST_DIR ; tar xpf - )
-cp $TOPDIR/build_packages.m $OCTAVE_DIST_DIR/src
-
-echo "  octaverc file..."
-cp $TOPDIR/octaverc $OCTAVE_DIST_DIR/share/octave/site/m/startup/octaverc
-
-echo "  native tools..."
-cd $TOPDIR/native-tools/usr
-tar -c -h -X $TOPDIR/excluded-native-files -f - . | ( cd $OCTAVE_DIST_DIR ; tar xpf - )
-
-echo "  libgcc_s_dw2-1.dll to bin directory"
-cd $OCTAVE_DIST_DIR
-cp lib/gcc/i686-pc-mingw32/libgcc_s_dw2-1.dll bin
-
-echo "  msys base files..."
-cd $TOPDIR/msys-base
-tar -c -h -f - . | ( cd $OCTAVE_DIST_DIR ; tar xpf - )
-
-echo "  notepad++..."
-cd $TOPDIR
-tar -c -h -f - notepad++ | ( cd $OCTAVE_DIST_DIR ; tar xpf - )
-cp $TOPDIR/build_packages.m $OCTAVE_DIST_DIR/src
-
-echo "making all files writable by user..."
-chmod -R u+w $OCTAVE_DIST_DIR
-
-if [ $strip = "yes" ]; then
-  echo "stripping files..."
-  cd $OCTAVE_DIST_DIR
-  for f in $(find . -name '*.dll' -o -name '*.exe'); do
-    echo "  $f"
-    $STRIP $f
-  done
-fi
-
-#echo "creating tar file..."
-#cd $TOPDIR/dist
-#tar -c -j -f $OCTAVE_TARGET-$DATE.tar.bz2 $OCTAVE_TARGET-$DATE
-
-cd $TOPDIR/dist
-
-if [ $installer = "yes" ]; then
-  ../makeinst-script.sh $OCTAVE_TARGET-$DATE
-
-  echo "Generating installer ..."
-  $TOPDIR/usr/bin/$TARGET-makensis octave.nsi > /dev/null
-
-  if [ -e Octave-Installer.exe ]; then
-    echo "Installer created"
-    rm octave.nsi
-  fi
-
-else
-  echo "creating zip file..."
-  zip -q -9 -r $OCTAVE_TARGET-$DATE.zip $OCTAVE_TARGET-$DATE
-fi
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/octave-wrapper.in	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,49 @@
+#! /bin/sh
+
+OCTAVE_HOME=""
+
+if [ -z "$OCTAVE_HOME" ]; then
+  echo "you must edit $0 to set OCTAVE_HOME" 1>&2
+  exit 1;
+fi
+
+PATH="$OCTAVE_HOME/bin/:$PATH"
+
+GCC_VERSION="@GCC_VERSION@"
+GCC_ARCH="@GCC_ARCH@"
+GCC_LIB_DIR="$OCTAVE_HOME/lib/gcc/$GCC_ARCH/$GCC_VERSION"
+
+LD_LIBRARY_PATH="$OCTAVE_HOME/lib:$OCTAVE_HOME/lib64:$OCTAVE_HOME/lib/octave/@OCTAVE_VERSION@:$GCC_LIB_DIR"
+
+TERMINFO="$OCTAVE_HOME/share/terminfo"
+
+TERM="vt100"
+
+FONTCONFIG_PATH="$OCTAVE_HOME/etc/fonts"
+
+GNUPLOT_DRIVER_DIR="$OCTAVE_HOME/libexec/gnuplot/@GNUPLOT_MAJOR_MINOR_VERSION@"
+GNUPLOT_SHARE_DIR="$OCTAVE_HOME/share/gnuplot/@GNUPLOT_MAJOR_MINOR_VERSION@"
+GNUPLOT_PS_DIR="$GNUPLOT_SHARE_DIR/PostScript"
+
+LIBGL_ALWAYS_SOFTWARE=1
+LIBGL_DRIVERS_PATH="$OCTAVE_HOME/lib/dri"
+
+PERL5LIB="$OCTAVE_HOME/lib/perl5"
+
+QT_PLUGIN_PATH="$OCTAVE_HOME/plugins"
+
+export OCTAVE_HOME
+export PATH
+export LD_LIBRARY_PATH
+export TERMINFO
+export TERM
+export FONTCONFIG_PATH
+export GNUPLOT_DRIVER_DIR
+export GNUPLOT_SHARE_DIR
+export GNUPLOT_PS_DIR
+export LIBGL_ALWAYS_SOFTWARE
+export LIBGL_DRIVERS_PATH
+export PERL5LIB
+export QT_PLUGIN_PATH
+
+exec "$OCTAVE_HOME/bin/@PROGRAM_NAME@-@OCTAVE_VERSION@.real" "$@"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/a52dec.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := a52dec
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.7.4
+$(PKG)_CHECKSUM := 79b33bd8d89dad7436f85b9154ad35667aa37321
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://liba52.sourceforge.net/files/$(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://liba52.sourceforge.net/downloads.html' | \
+    $(SED) -n 's,.*files/a52dec-\([0-9][^"]*\)\.tar.*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && autoreconf -fi # The autotools files came with a52dec is _ancient_
+    cd '$(1)' && ./configure \
+         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        $(ENABLE_SHARED_OR_STATIC) 
+    $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+endef
--- a/src/agg.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/agg.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,16 @@
 
 PKG             := agg
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.5
 $(PKG)_CHECKSUM := 08f23da64da40b90184a0414369f450115cdb328
 $(PKG)_SUBDIR   := agg-$($(PKG)_VERSION)
 $(PKG)_FILE     := agg-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://www.antigrain.com/$($(PKG)_FILE)
+$(PKG)_URL      := https://web.archive.org/20150812005010/http://www.antigrain.com/$($(PKG)_FILE)
 $(PKG)_DEPS     := freetype sdl
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.antigrain.com/download/index.html' | \
-    $(SED) -n 's,.*<A href="http://www.antigrain.com/agg-\([0-9.]*\).tar.gz".*,\1,p' | \
+    $(WGET) -q -O- 'https://web.archive.org/20150812005010/http://www.antigrain.com/download/index.html' | \
+    $(SED) -n 's,.*www.antigrain.com/agg-\([0-9.]*\).tar.gz".*,\1,p' | \
     head -1
 endef
 
--- a/src/apr-util.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/apr-util.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := apr-util
 $(PKG)_IGNORE   := 1.4.1
+$(PKG)_VERSION  := 1.3.10
 $(PKG)_CHECKSUM := f5aaf15542209fee479679299dc4cb1ac0924a59
 $(PKG)_SUBDIR   := apr-util-$($(PKG)_VERSION)
 $(PKG)_FILE     := apr-util-$($(PKG)_VERSION).tar.gz
--- a/src/apr.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/apr.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := apr
 $(PKG)_IGNORE   := 1.4.6
+$(PKG)_VERSION  := 1.4.2
 $(PKG)_CHECKSUM := d48324efb0280749a5d7ccbb053d68545c568b4b
 $(PKG)_SUBDIR   := apr-$($(PKG)_VERSION)
 $(PKG)_FILE     := apr-$($(PKG)_VERSION).tar.gz
--- a/src/armadillo.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/armadillo.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -4,6 +4,7 @@
 # armadillo
 PKG             := armadillo
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.4.4
 $(PKG)_CHECKSUM := e293a56695e7447cf5caa395932f1f0d41e13ffc
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -17,7 +18,10 @@
 endef
 
 define $(PKG)_BUILD
-    cd '$(1)' && cmake . -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)'
+    cd '$(1)' && cmake . \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
+        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)'
     $(MAKE) -C '$(1)' -j '$(JOBS)' install VERBOSE=1
 
     # note: don't use -Werror with GCC 4.7.0 and .1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/arpack-1-gcc10.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,4438 @@
+From 9418632214acf6d387896ab29a8f5bdff2d4e38a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?David=20Schw=C3=B6rer?= <davidsch@fedoraproject.org>
+Date: Wed, 19 Feb 2020 20:07:47 +0000
+Subject: [PATCH] ?vout expects a vector, so make sure to pass a vector
+
+gcc10 throws an error otherwise
+
+diff --git a/SRC/cgetv0.f b/SRC/cgetv0.f
+index 322b35c7..a91ef926 100644
+--- a/SRC/cgetv0.f
++++ b/SRC/cgetv0.f
+@@ -361,9 +361,9 @@ subroutine cgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call svout (logfil, 1, rnorm0, ndigit,
++          call svout (logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call svout (logfil, 1, rnorm, ndigit,
++          call svout (logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+@@ -394,7 +394,7 @@ subroutine cgetv0
+    50 continue
+ c
+       if (msglvl .gt. 0) then
+-         call svout (logfil, 1, rnorm, ndigit,
++         call svout (logfil, 1, [rnorm], ndigit,
+      &        '_getv0: B-norm of initial / restarted starting vector')
+       end if
+       if (msglvl .gt. 2) then
+diff --git a/SRC/cnaitr.f b/SRC/cnaitr.f
+index 2bb93fff..bebd8236 100644
+--- a/SRC/cnaitr.f
++++ b/SRC/cnaitr.f
+@@ -378,9 +378,9 @@ subroutine cnaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -400,7 +400,7 @@ subroutine cnaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, j, ndigit,
++               call ivout (logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -729,7 +729,7 @@ subroutine cnaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0 ) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 rtemp(1) = rnorm
+diff --git a/SRC/cnapps.f b/SRC/cnapps.f
+index fdf878d8..c3a55623 100644
+--- a/SRC/cnapps.f
++++ b/SRC/cnapps.f
+@@ -268,9 +268,9 @@ subroutine cnapps
+          sigma = shift(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call ivout (logfil, 1, jj, ndigit,
++            call ivout (logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call cvout (logfil, 1, sigma, ndigit,
++            call cvout (logfil, 1, [sigma], ndigit,
+      &               '_napps: Value of the shift ')
+          end if
+ c
+@@ -291,9 +291,9 @@ subroutine cnapps
+             if ( abs(real(h(i+1,i)))
+      &           .le. max(ulp*tst1, smlnum) )  then
+                if (msglvl .gt. 0) then
+-                  call ivout (logfil, 1, i, ndigit,
++                  call ivout (logfil, 1, [i], ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call ivout (logfil, 1, jj, ndigit,
++                  call ivout (logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call cvout (logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -307,9 +307,9 @@ subroutine cnapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call ivout (logfil, 1, istart, ndigit,
++             call ivout (logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call ivout (logfil, 1, iend, ndigit,
++             call ivout (logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -485,7 +485,7 @@ subroutine cnapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call cvout (logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call ivout (logfil, 1, kev, ndigit,
++         call ivout (logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call cmout (logfil, kev, kev, h, ldh, ndigit,
+diff --git a/SRC/cnaup2.f b/SRC/cnaup2.f
+index e528a890..3f106f05 100644
+--- a/SRC/cnaup2.f
++++ b/SRC/cnaup2.f
+@@ -389,7 +389,7 @@ subroutine cnaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, iter, ndigit,
++            call ivout (logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -402,9 +402,9 @@ subroutine cnaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, nev, ndigit,
++            call ivout (logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -430,7 +430,7 @@ subroutine cnaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -658,7 +658,7 @@ subroutine cnaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, nconv, ndigit,
++            call ivout (logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -698,7 +698,7 @@ subroutine cnaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call cvout (logfil, np, ritz, ndigit,
+      &                  '_naup2: values of the shifts')
+@@ -762,7 +762,7 @@ subroutine cnaup2
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call cmout (logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/SRC/cnaupd.f b/SRC/cnaupd.f
+index 7bf37fd1..57be328b 100644
+--- a/SRC/cnaupd.f
++++ b/SRC/cnaupd.f
+@@ -601,9 +601,9 @@ subroutine cnaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, mxiter, ndigit,
++         call ivout (logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call ivout (logfil, 1, np, ndigit,
++         call ivout (logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call cvout (logfil, np, workl(ritz), ndigit,
+      &               '_naupd: The final Ritz values')
+diff --git a/SRC/cneupd.f b/SRC/cneupd.f
+index c557fa08..34a78f70 100644
+--- a/SRC/cneupd.f
++++ b/SRC/cneupd.f
+@@ -536,9 +536,9 @@ subroutine cneupd(rvec , howmny, select, d     ,
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call ivout(logfil, 1, numcnv, ndigit,
++             call ivout(logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call ivout(logfil, 1, nconv, ndigit,
++             call ivout(logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/SRC/cngets.f b/SRC/cngets.f
+index 7686e133..20626a2d 100644
+--- a/SRC/cngets.f
++++ b/SRC/cngets.f
+@@ -161,8 +161,8 @@ subroutine cngets ( ishift, which, kev, np, ritz, bounds)
+       tcgets = tcgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call ivout (logfil, 1, np, ndigit, '_ngets: NP is')
++         call ivout (logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call ivout (logfil, 1, [np], ndigit, '_ngets: NP is')
+          call cvout (logfil, kev+np, ritz, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix ')
+          call cvout (logfil, kev+np, bounds, ndigit,
+diff --git a/SRC/dgetv0.f b/SRC/dgetv0.f
+index fbb4fe2a..1d6dc01b 100644
+--- a/SRC/dgetv0.f
++++ b/SRC/dgetv0.f
+@@ -366,9 +366,9 @@ subroutine dgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call dvout (logfil, 1, rnorm0, ndigit,
++          call dvout (logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call dvout (logfil, 1, rnorm, ndigit,
++          call dvout (logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+@@ -399,7 +399,7 @@ subroutine dgetv0
+    50 continue
+ c
+       if (msglvl .gt. 0) then
+-         call dvout (logfil, 1, rnorm, ndigit,
++         call dvout (logfil, 1, [rnorm], ndigit,
+      &        '_getv0: B-norm of initial / restarted starting vector')
+       end if
+       if (msglvl .gt. 3) then
+diff --git a/SRC/dnaitr.f b/SRC/dnaitr.f
+index baaec038..c02cd390 100644
+--- a/SRC/dnaitr.f
++++ b/SRC/dnaitr.f
+@@ -371,9 +371,9 @@ subroutine dnaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call dvout (logfil, 1, rnorm, ndigit,
++            call dvout (logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -393,7 +393,7 @@ subroutine dnaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, j, ndigit,
++               call ivout (logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -721,7 +721,7 @@ subroutine dnaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/SRC/dnapps.f b/SRC/dnapps.f
+index 872d35ae..7fb37d87 100644
+--- a/SRC/dnapps.f
++++ b/SRC/dnapps.f
+@@ -266,11 +266,11 @@ subroutine dnapps
+          sigmai = shifti(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call ivout (logfil, 1, jj, ndigit,
++            call ivout (logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call dvout (logfil, 1, sigmar, ndigit,
++            call dvout (logfil, 1, [sigmar], ndigit,
+      &               '_napps: The real part of the shift ')
+-            call dvout (logfil, 1, sigmai, ndigit,
++            call dvout (logfil, 1, [sigmai], ndigit,
+      &               '_napps: The imaginary part of the shift ')
+          end if
+ c
+@@ -335,9 +335,9 @@ subroutine dnapps
+      &         tst1 = dlanhs( '1', kplusp-jj+1, h, ldh, workl )
+             if( abs( h( i+1,i ) ).le.max( ulp*tst1, smlnum ) ) then
+                if (msglvl .gt. 0) then
+-                  call ivout (logfil, 1, i, ndigit,
++                  call ivout (logfil, 1, [i], ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call ivout (logfil, 1, jj, ndigit,
++                  call ivout (logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call dvout (logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -351,9 +351,9 @@ subroutine dnapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call ivout (logfil, 1, istart, ndigit,
++             call ivout (logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call ivout (logfil, 1, iend, ndigit,
++             call ivout (logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -627,7 +627,7 @@ subroutine dnapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call dvout (logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call ivout (logfil, 1, kev, ndigit,
++         call ivout (logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call dmout (logfil, kev, kev, h, ldh, ndigit,
+diff --git a/SRC/dnaup2.f b/SRC/dnaup2.f
+index 4c9948d4..18ad20a0 100644
+--- a/SRC/dnaup2.f
++++ b/SRC/dnaup2.f
+@@ -388,7 +388,7 @@ subroutine dnaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, iter, ndigit,
++            call ivout (logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -401,9 +401,9 @@ subroutine dnaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, nev, ndigit,
++            call ivout (logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -435,7 +435,7 @@ subroutine dnaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call dvout  (logfil, 1, rnorm, ndigit,
++            call dvout  (logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -689,7 +689,7 @@ subroutine dnaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, nconv, ndigit,
++            call ivout (logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -741,7 +741,7 @@ subroutine dnaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call dvout  (logfil, np, ritzr, ndigit,
+      &                  '_naup2: Real part of the shifts')
+@@ -807,7 +807,7 @@ subroutine dnaup2
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call dvout  (logfil, 1, rnorm, ndigit,
++            call dvout  (logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call dmout  (logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/SRC/dnaupd.f b/SRC/dnaupd.f
+index 51d3018e..dcf1f77a 100644
+--- a/SRC/dnaupd.f
++++ b/SRC/dnaupd.f
+@@ -628,9 +628,9 @@ subroutine dnaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, mxiter, ndigit,
++         call ivout (logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call ivout (logfil, 1, np, ndigit,
++         call ivout (logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call dvout  (logfil, np, workl(ritzr), ndigit,
+      &               '_naupd: Real part of the final Ritz values')
+diff --git a/SRC/dneupd.f b/SRC/dneupd.f
+index 424ad2bf..9c2ece0e 100644
+--- a/SRC/dneupd.f
++++ b/SRC/dneupd.f
+@@ -601,9 +601,9 @@ subroutine dneupd (rvec , howmny, select, dr    , di,
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call ivout(logfil, 1, numcnv, ndigit,
++             call ivout(logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call ivout(logfil, 1, nconv, ndigit,
++             call ivout(logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/SRC/dngets.f b/SRC/dngets.f
+index a3145506..47d3ac2c 100644
+--- a/SRC/dngets.f
++++ b/SRC/dngets.f
+@@ -212,8 +212,8 @@ subroutine dngets ( ishift, which, kev, np, ritzr, ritzi, bounds,
+       tngets = tngets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call ivout (logfil, 1, np, ndigit, '_ngets: NP is')
++         call ivout (logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call ivout (logfil, 1, [np], ndigit, '_ngets: NP is')
+          call dvout (logfil, kev+np, ritzr, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix -- real part')
+          call dvout (logfil, kev+np, ritzi, ndigit,
+diff --git a/SRC/dsaitr.f b/SRC/dsaitr.f
+index 00dabfd2..3460d990 100644
+--- a/SRC/dsaitr.f
++++ b/SRC/dsaitr.f
+@@ -364,9 +364,9 @@ subroutine dsaitr
+  1000 continue
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &                  '_saitr: generating Arnoldi vector no.')
+-            call dvout (logfil, 1, rnorm, ndigit,
++            call dvout (logfil, 1, [rnorm], ndigit,
+      &                  '_saitr: B-norm of the current residual =')
+          end if
+ c
+@@ -384,7 +384,7 @@ subroutine dsaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, j, ndigit,
++               call ivout (logfil, 1, [j], ndigit,
+      &                     '_saitr: ****** restart at step ******')
+             end if
+ c
+@@ -735,7 +735,7 @@ subroutine dsaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &           '_saitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/SRC/dsapps.f b/SRC/dsapps.f
+index 12108d0f..f84ef838 100644
+--- a/SRC/dsapps.f
++++ b/SRC/dsapps.f
+@@ -261,9 +261,9 @@ subroutine dsapps
+             big   = abs(h(i,2)) + abs(h(i+1,2))
+             if (h(i+1,1) .le. epsmch*big) then
+                if (msglvl .gt. 0) then
+-                  call ivout (logfil, 1, i, ndigit,
++                  call ivout (logfil, 1, [i], ndigit,
+      &                 '_sapps: deflation at row/column no.')
+-                  call ivout (logfil, 1, jj, ndigit,
++                  call ivout (logfil, 1, [jj], ndigit,
+      &                 '_sapps: occurred before shift number.')
+                   call dvout (logfil, 1, h(i+1,1), ndigit,
+      &                 '_sapps: the corresponding off diagonal element')
+@@ -432,7 +432,7 @@ subroutine dsapps
+          big   = abs(h(i,2)) + abs(h(i+1,2))
+          if (h(i+1,1) .le. epsmch*big) then
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, i, ndigit,
++               call ivout (logfil, 1, [i], ndigit,
+      &              '_sapps: deflation at row/column no.')
+                call dvout (logfil, 1, h(i+1,1), ndigit,
+      &              '_sapps: the corresponding off diagonal element')
+diff --git a/SRC/dsaup2.f b/SRC/dsaup2.f
+index f4c5f90c..f7d4a119 100644
+--- a/SRC/dsaup2.f
++++ b/SRC/dsaup2.f
+@@ -402,13 +402,13 @@ subroutine dsaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, iter, ndigit,
++            call ivout (logfil, 1, [iter], ndigit,
+      &           '_saup2: **** Start of major iteration number ****')
+          end if
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, nev, ndigit,
++            call ivout (logfil, 1, [nev], ndigit,
+      &     '_saup2: The length of the current Lanczos factorization')
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &           '_saup2: Extend the Lanczos factorization by')
+          end if
+ c
+@@ -446,7 +446,7 @@ subroutine dsaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call dvout (logfil, 1, rnorm, ndigit,
++            call dvout (logfil, 1, [rnorm], ndigit,
+      &           '_saup2: Current B-norm of residual for factorization')
+          end if
+ c
+@@ -695,7 +695,7 @@ subroutine dsaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, nconv, ndigit,
++            call ivout (logfil, 1, [nconv], ndigit,
+      &           '_saup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -743,7 +743,7 @@ subroutine dsaup2
+          if (ishift .eq. 0) call dcopy (np, workl, 1, ritz, 1)
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &                  '_saup2: The number of shifts to apply ')
+             call dvout (logfil, np, workl, ndigit,
+      &                  '_saup2: shifts selected')
+@@ -810,7 +810,7 @@ subroutine dsaup2
+   130    continue
+ c
+          if (msglvl .gt. 2) then
+-            call dvout (logfil, 1, rnorm, ndigit,
++            call dvout (logfil, 1, [rnorm], ndigit,
+      &      '_saup2: B-norm of residual for NEV factorization')
+             call dvout (logfil, nev, h(1,2), ndigit,
+      &           '_saup2: main diagonal of compressed H matrix')
+diff --git a/SRC/dsaupd.f b/SRC/dsaupd.f
+index bd4afc26..c5b08d6b 100644
+--- a/SRC/dsaupd.f
++++ b/SRC/dsaupd.f
+@@ -628,9 +628,9 @@ subroutine dsaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, mxiter, ndigit,
++         call ivout (logfil, 1, [mxiter], ndigit,
+      &               '_saupd: number of update iterations taken')
+-         call ivout (logfil, 1, np, ndigit,
++         call ivout (logfil, 1, [np], ndigit,
+      &               '_saupd: number of "converged" Ritz values')
+          call dvout  (logfil, np, workl(Ritz), ndigit,
+      &               '_saupd: final Ritz values')
+diff --git a/SRC/dseupd.f b/SRC/dseupd.f
+index e89fdccf..ae123a20 100644
+--- a/SRC/dseupd.f
++++ b/SRC/dseupd.f
+@@ -513,9 +513,9 @@ subroutine dseupd (rvec  , howmny, select, d    ,
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call ivout(logfil, 1, numcnv, ndigit,
++             call ivout(logfil, 1, [numcnv], ndigit,
+      &            '_seupd: Number of specified eigenvalues')
+-             call ivout(logfil, 1, nconv, ndigit,
++             call ivout(logfil, 1, [nconv], ndigit,
+      &            '_seupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/SRC/dsgets.f b/SRC/dsgets.f
+index 800a02f4..436a4fe8 100644
+--- a/SRC/dsgets.f
++++ b/SRC/dsgets.f
+@@ -202,8 +202,8 @@ subroutine dsgets ( ishift, which, kev, np, ritz, bounds, shifts )
+       tsgets = tsgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, kev, ndigit, '_sgets: KEV is')
+-         call ivout (logfil, 1, np, ndigit, '_sgets: NP is')
++         call ivout (logfil, 1, [kev], ndigit, '_sgets: KEV is')
++         call ivout (logfil, 1, [np], ndigit, '_sgets: NP is')
+          call dvout (logfil, kev+np, ritz, ndigit,
+      &        '_sgets: Eigenvalues of current H matrix')
+          call dvout (logfil, kev+np, bounds, ndigit,
+diff --git a/SRC/sgetv0.f b/SRC/sgetv0.f
+index c768daae..d861b2d6 100644
+--- a/SRC/sgetv0.f
++++ b/SRC/sgetv0.f
+@@ -366,9 +366,9 @@ subroutine sgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call svout (logfil, 1, rnorm0, ndigit,
++          call svout (logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call svout (logfil, 1, rnorm, ndigit,
++          call svout (logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+@@ -399,7 +399,7 @@ subroutine sgetv0
+    50 continue
+ c
+       if (msglvl .gt. 0) then
+-         call svout (logfil, 1, rnorm, ndigit,
++         call svout (logfil, 1, [rnorm], ndigit,
+      &        '_getv0: B-norm of initial / restarted starting vector')
+       end if
+       if (msglvl .gt. 3) then
+diff --git a/SRC/snaitr.f b/SRC/snaitr.f
+index 5ecdebb7..8a5d795b 100644
+--- a/SRC/snaitr.f
++++ b/SRC/snaitr.f
+@@ -371,9 +371,9 @@ subroutine snaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -393,7 +393,7 @@ subroutine snaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, j, ndigit,
++               call ivout (logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -721,7 +721,7 @@ subroutine snaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/SRC/snapps.f b/SRC/snapps.f
+index 914c9b8b..9b767285 100644
+--- a/SRC/snapps.f
++++ b/SRC/snapps.f
+@@ -266,11 +266,11 @@ subroutine snapps
+          sigmai = shifti(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call ivout (logfil, 1, jj, ndigit,
++            call ivout (logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call svout (logfil, 1, sigmar, ndigit,
++            call svout (logfil, 1, [sigmar], ndigit,
+      &               '_napps: The real part of the shift ')
+-            call svout (logfil, 1, sigmai, ndigit,
++            call svout (logfil, 1, [sigmai], ndigit,
+      &               '_napps: The imaginary part of the shift ')
+          end if
+ c
+@@ -335,9 +335,9 @@ subroutine snapps
+      &         tst1 = slanhs( '1', kplusp-jj+1, h, ldh, workl )
+             if( abs( h( i+1,i ) ).le.max( ulp*tst1, smlnum ) ) then
+                if (msglvl .gt. 0) then
+-                  call ivout (logfil, 1, i, ndigit,
++                  call ivout (logfil, 1, [i], ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call ivout (logfil, 1, jj, ndigit,
++                  call ivout (logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call svout (logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -351,9 +351,9 @@ subroutine snapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call ivout (logfil, 1, istart, ndigit,
++             call ivout (logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call ivout (logfil, 1, iend, ndigit,
++             call ivout (logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -625,7 +625,7 @@ subroutine snapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call svout (logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call ivout (logfil, 1, kev, ndigit,
++         call ivout (logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call smout (logfil, kev, kev, h, ldh, ndigit,
+diff --git a/SRC/snaup2.f b/SRC/snaup2.f
+index 53e39461..12b2cfed 100644
+--- a/SRC/snaup2.f
++++ b/SRC/snaup2.f
+@@ -388,7 +388,7 @@ subroutine snaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, iter, ndigit,
++            call ivout (logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -401,9 +401,9 @@ subroutine snaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, nev, ndigit,
++            call ivout (logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -435,7 +435,7 @@ subroutine snaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -690,7 +690,7 @@ subroutine snaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, nconv, ndigit,
++            call ivout (logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -742,7 +742,7 @@ subroutine snaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call svout (logfil, np, ritzr, ndigit,
+      &                  '_naup2: Real part of the shifts')
+@@ -808,7 +808,7 @@ subroutine snaup2
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call smout (logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/SRC/snaupd.f b/SRC/snaupd.f
+index 19284d06..e0be1bfd 100644
+--- a/SRC/snaupd.f
++++ b/SRC/snaupd.f
+@@ -628,9 +628,9 @@ subroutine snaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, mxiter, ndigit,
++         call ivout (logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call ivout (logfil, 1, np, ndigit,
++         call ivout (logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call svout (logfil, np, workl(ritzr), ndigit,
+      &               '_naupd: Real part of the final Ritz values')
+diff --git a/SRC/sneupd.f b/SRC/sneupd.f
+index ecd8f164..4c472fef 100644
+--- a/SRC/sneupd.f
++++ b/SRC/sneupd.f
+@@ -601,9 +601,9 @@ subroutine sneupd(rvec , howmny, select, dr    , di,
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call ivout(logfil, 1, numcnv, ndigit,
++             call ivout(logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call ivout(logfil, 1, nconv, ndigit,
++             call ivout(logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/SRC/sngets.f b/SRC/sngets.f
+index 800282f8..7e48c0bb 100644
+--- a/SRC/sngets.f
++++ b/SRC/sngets.f
+@@ -212,8 +212,8 @@ subroutine sngets ( ishift, which, kev, np, ritzr, ritzi, bounds,
+       tngets = tngets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call ivout (logfil, 1, np, ndigit, '_ngets: NP is')
++         call ivout (logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call ivout (logfil, 1, [np], ndigit, '_ngets: NP is')
+          call svout (logfil, kev+np, ritzr, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix -- real part')
+          call svout (logfil, kev+np, ritzi, ndigit,
+diff --git a/SRC/ssaitr.f b/SRC/ssaitr.f
+index 721bdb58..a5df2c2e 100644
+--- a/SRC/ssaitr.f
++++ b/SRC/ssaitr.f
+@@ -364,9 +364,9 @@ subroutine ssaitr
+  1000 continue
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &                  '_saitr: generating Arnoldi vector no.')
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &                  '_saitr: B-norm of the current residual =')
+          end if
+ c
+@@ -384,7 +384,7 @@ subroutine ssaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, j, ndigit,
++               call ivout (logfil, 1, [j], ndigit,
+      &                     '_saitr: ****** restart at step ******')
+             end if
+ c
+@@ -735,7 +735,7 @@ subroutine ssaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &           '_saitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/SRC/ssapps.f b/SRC/ssapps.f
+index c8143111..77bd9d52 100644
+--- a/SRC/ssapps.f
++++ b/SRC/ssapps.f
+@@ -261,9 +261,9 @@ subroutine ssapps
+             big   = abs(h(i,2)) + abs(h(i+1,2))
+             if (h(i+1,1) .le. epsmch*big) then
+                if (msglvl .gt. 0) then
+-                  call ivout (logfil, 1, i, ndigit,
++                  call ivout (logfil, 1, [i], ndigit,
+      &                 '_sapps: deflation at row/column no.')
+-                  call ivout (logfil, 1, jj, ndigit,
++                  call ivout (logfil, 1, [jj], ndigit,
+      &                 '_sapps: occurred before shift number.')
+                   call svout (logfil, 1, h(i+1,1), ndigit,
+      &                 '_sapps: the corresponding off diagonal element')
+@@ -432,7 +432,7 @@ subroutine ssapps
+          big   = abs(h(i,2)) + abs(h(i+1,2))
+          if (h(i+1,1) .le. epsmch*big) then
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, i, ndigit,
++               call ivout (logfil, 1, [i], ndigit,
+      &              '_sapps: deflation at row/column no.')
+                call svout (logfil, 1, h(i+1,1), ndigit,
+      &              '_sapps: the corresponding off diagonal element')
+diff --git a/SRC/ssaup2.f b/SRC/ssaup2.f
+index a73c9a58..8cc04638 100644
+--- a/SRC/ssaup2.f
++++ b/SRC/ssaup2.f
+@@ -402,13 +402,13 @@ subroutine ssaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, iter, ndigit,
++            call ivout (logfil, 1, [iter], ndigit,
+      &           '_saup2: **** Start of major iteration number ****')
+          end if
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, nev, ndigit,
++            call ivout (logfil, 1, [nev], ndigit,
+      &     '_saup2: The length of the current Lanczos factorization')
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &           '_saup2: Extend the Lanczos factorization by')
+          end if
+ c
+@@ -446,7 +446,7 @@ subroutine ssaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &           '_saup2: Current B-norm of residual for factorization')
+          end if
+ c
+@@ -694,7 +694,7 @@ subroutine ssaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, nconv, ndigit,
++            call ivout (logfil, 1, [nconv], ndigit,
+      &           '_saup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -742,7 +742,7 @@ subroutine ssaup2
+          if (ishift .eq. 0) call scopy (np, workl, 1, ritz, 1)
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &                  '_saup2: The number of shifts to apply ')
+             call svout (logfil, np, workl, ndigit,
+      &                  '_saup2: shifts selected')
+@@ -809,7 +809,7 @@ subroutine ssaup2
+   130    continue
+ c
+          if (msglvl .gt. 2) then
+-            call svout (logfil, 1, rnorm, ndigit,
++            call svout (logfil, 1, [rnorm], ndigit,
+      &      '_saup2: B-norm of residual for NEV factorization')
+             call svout (logfil, nev, h(1,2), ndigit,
+      &           '_saup2: main diagonal of compressed H matrix')
+diff --git a/SRC/ssaupd.f b/SRC/ssaupd.f
+index d139ac53..a8d2f2d5 100644
+--- a/SRC/ssaupd.f
++++ b/SRC/ssaupd.f
+@@ -628,9 +628,9 @@ subroutine ssaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, mxiter, ndigit,
++         call ivout (logfil, 1, [mxiter], ndigit,
+      &               '_saupd: number of update iterations taken')
+-         call ivout (logfil, 1, np, ndigit,
++         call ivout (logfil, 1, [np], ndigit,
+      &               '_saupd: number of "converged" Ritz values')
+          call svout (logfil, np, workl(Ritz), ndigit,
+      &               '_saupd: final Ritz values')
+diff --git a/SRC/sseupd.f b/SRC/sseupd.f
+index 9b94ed7c..03ba7ac5 100644
+--- a/SRC/sseupd.f
++++ b/SRC/sseupd.f
+@@ -513,9 +513,9 @@ subroutine sseupd(rvec  , howmny, select, d    ,
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call ivout(logfil, 1, numcnv, ndigit,
++             call ivout(logfil, 1, [numcnv], ndigit,
+      &            '_seupd: Number of specified eigenvalues')
+-             call ivout(logfil, 1, nconv, ndigit,
++             call ivout(logfil, 1, [nconv], ndigit,
+      &            '_seupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/SRC/ssgets.f b/SRC/ssgets.f
+index ce84d673..f40ca76a 100644
+--- a/SRC/ssgets.f
++++ b/SRC/ssgets.f
+@@ -202,8 +202,8 @@ subroutine ssgets ( ishift, which, kev, np, ritz, bounds, shifts )
+       tsgets = tsgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, kev, ndigit, '_sgets: KEV is')
+-         call ivout (logfil, 1, np, ndigit, '_sgets: NP is')
++         call ivout (logfil, 1, [kev], ndigit, '_sgets: KEV is')
++         call ivout (logfil, 1, [np], ndigit, '_sgets: NP is')
+          call svout (logfil, kev+np, ritz, ndigit,
+      &        '_sgets: Eigenvalues of current H matrix')
+          call svout (logfil, kev+np, bounds, ndigit,
+diff --git a/SRC/zgetv0.f b/SRC/zgetv0.f
+index d71f3c03..ff5c2b19 100644
+--- a/SRC/zgetv0.f
++++ b/SRC/zgetv0.f
+@@ -361,9 +361,9 @@ subroutine zgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call dvout (logfil, 1, rnorm0, ndigit,
++          call dvout (logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call dvout (logfil, 1, rnorm, ndigit,
++          call dvout (logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+@@ -394,7 +394,7 @@ subroutine zgetv0
+    50 continue
+ c
+       if (msglvl .gt. 0) then
+-         call dvout (logfil, 1, rnorm, ndigit,
++         call dvout (logfil, 1, [rnorm], ndigit,
+      &        '_getv0: B-norm of initial / restarted starting vector')
+       end if
+       if (msglvl .gt. 2) then
+diff --git a/SRC/znaitr.f b/SRC/znaitr.f
+index b8331c06..1c5aa57f 100644
+--- a/SRC/znaitr.f
++++ b/SRC/znaitr.f
+@@ -378,9 +378,9 @@ subroutine znaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call dvout (logfil, 1, rnorm, ndigit,
++            call dvout (logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -400,7 +400,7 @@ subroutine znaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call ivout (logfil, 1, j, ndigit,
++               call ivout (logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -729,7 +729,7 @@ subroutine znaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0 ) then
+-            call ivout (logfil, 1, j, ndigit,
++            call ivout (logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 rtemp(1) = rnorm
+diff --git a/SRC/znapps.f b/SRC/znapps.f
+index a1f116d3..6d8d12a8 100644
+--- a/SRC/znapps.f
++++ b/SRC/znapps.f
+@@ -268,9 +268,9 @@ subroutine znapps
+          sigma = shift(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call ivout (logfil, 1, jj, ndigit,
++            call ivout (logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call zvout (logfil, 1, sigma, ndigit,
++            call zvout (logfil, 1, [sigma], ndigit,
+      &               '_napps: Value of the shift ')
+          end if
+ c
+@@ -291,9 +291,9 @@ subroutine znapps
+             if ( abs(dble(h(i+1,i)))
+      &           .le. max(ulp*tst1, smlnum) )  then
+                if (msglvl .gt. 0) then
+-                  call ivout (logfil, 1, i, ndigit,
++                  call ivout (logfil, 1, [i], ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call ivout (logfil, 1, jj, ndigit,
++                  call ivout (logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call zvout (logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -307,9 +307,9 @@ subroutine znapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call ivout (logfil, 1, istart, ndigit,
++             call ivout (logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call ivout (logfil, 1, iend, ndigit,
++             call ivout (logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -485,7 +485,7 @@ subroutine znapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call zvout (logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call ivout (logfil, 1, kev, ndigit,
++         call ivout (logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call zmout (logfil, kev, kev, h, ldh, ndigit,
+diff --git a/SRC/znaup2.f b/SRC/znaup2.f
+index 469aafb2..b814cf15 100644
+--- a/SRC/znaup2.f
++++ b/SRC/znaup2.f
+@@ -389,7 +389,7 @@ subroutine znaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, iter, ndigit,
++            call ivout (logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -402,9 +402,9 @@ subroutine znaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call ivout (logfil, 1, nev, ndigit,
++            call ivout (logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -430,7 +430,7 @@ subroutine znaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call dvout  (logfil, 1, rnorm, ndigit,
++            call dvout  (logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -658,7 +658,7 @@ subroutine znaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call ivout (logfil, 1, nconv, ndigit,
++            call ivout (logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -698,7 +698,7 @@ subroutine znaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call ivout (logfil, 1, np, ndigit,
++            call ivout (logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call zvout  (logfil, np, ritz, ndigit,
+      &                  '_naup2: values of the shifts')
+@@ -762,7 +762,7 @@ subroutine znaup2
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call dvout  (logfil, 1, rnorm, ndigit,
++            call dvout  (logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call zmout  (logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/SRC/znaupd.f b/SRC/znaupd.f
+index 779eb2bc..c7d58aaa 100644
+--- a/SRC/znaupd.f
++++ b/SRC/znaupd.f
+@@ -601,9 +601,9 @@ subroutine znaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, mxiter, ndigit,
++         call ivout (logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call ivout (logfil, 1, np, ndigit,
++         call ivout (logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call zvout  (logfil, np, workl(ritz), ndigit,
+      &               '_naupd: The final Ritz values')
+diff --git a/SRC/zneupd.f b/SRC/zneupd.f
+index f1eb68a3..9889e30e 100644
+--- a/SRC/zneupd.f
++++ b/SRC/zneupd.f
+@@ -536,9 +536,9 @@ subroutine zneupd(rvec , howmny, select, d     ,
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call ivout(logfil, 1, numcnv, ndigit,
++             call ivout(logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call ivout(logfil, 1, nconv, ndigit,
++             call ivout(logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/SRC/zngets.f b/SRC/zngets.f
+index 27f25803..e7d24334 100644
+--- a/SRC/zngets.f
++++ b/SRC/zngets.f
+@@ -161,8 +161,8 @@ subroutine zngets ( ishift, which, kev, np, ritz, bounds)
+       tcgets = tcgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call ivout (logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call ivout (logfil, 1, np, ndigit, '_ngets: NP is')
++         call ivout (logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call ivout (logfil, 1, [np], ndigit, '_ngets: NP is')
+          call zvout (logfil, kev+np, ritz, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix ')
+          call zvout (logfil, kev+np, bounds, ndigit,
+
+
+From ad82dcbc0beeed5616e2d5a28a089d9785f8b8b8 Mon Sep 17 00:00:00 2001
+From: dschwoerer <dschwoerer@users.noreply.github.com>
+Date: Mon, 24 Feb 2020 09:05:43 +0000
+Subject: [PATCH] gcc-10 (parpack) and mpich (#245)
+
+* port PARPACK also to gcc 10
+
+* Ensure that the output buffer is a rank-1 vector
+
+The vector should also not be a temporary, so that we
+can use the result.
+
+* use valid address of binary
+
+openmpi ignores this error, but mpich doesn't
+
+* Add travis test with gcc 10 and mpich
+
+* After pulling fedora:rawhide, use fedora:rawhide
+
+* simplify travis tests for fedora
+
+* run using bash -v (permissions issue otherwise)
+
+* run using bash -v (permissions issue otherwise)
+
+* fix permission of script
+
+* Add she-bang to allow execution
+
+* fix test for fedora
+
+Co-authored-by: Sylvestre Ledru <sledru@mozilla.com>
+
+diff --git a/PARPACK/SRC/BLACS/pcgetv0.f b/PARPACK/SRC/BLACS/pcgetv0.f
+index 0325fda3..191d70fd 100644
+--- a/PARPACK/SRC/BLACS/pcgetv0.f
++++ b/PARPACK/SRC/BLACS/pcgetv0.f
+@@ -406,9 +406,9 @@ subroutine pcgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call psvout (comm, logfil, 1, rnorm0, ndigit,
++          call psvout (comm, logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call psvout (comm, logfil, 1, rnorm, ndigit,
++          call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+diff --git a/PARPACK/SRC/BLACS/pcnaitr.f b/PARPACK/SRC/BLACS/pcnaitr.f
+index a9f17ed8..04fa1cbe 100644
+--- a/PARPACK/SRC/BLACS/pcnaitr.f
++++ b/PARPACK/SRC/BLACS/pcnaitr.f
+@@ -401,9 +401,9 @@ subroutine pcnaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call pcvout (comm, logfil, 1, rnorm, ndigit,
++            call pcvout (comm, logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -423,7 +423,7 @@ subroutine pcnaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, j, ndigit,
++               call pivout (comm, logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -757,7 +757,7 @@ subroutine pcnaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0 ) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 rtemp(1) = rnorm
+diff --git a/PARPACK/SRC/BLACS/pcnapps.f b/PARPACK/SRC/BLACS/pcnapps.f
+index 47fb7e70..e40793cf 100644
+--- a/PARPACK/SRC/BLACS/pcnapps.f
++++ b/PARPACK/SRC/BLACS/pcnapps.f
+@@ -284,9 +284,9 @@ subroutine pcnapps
+          sigma = shift(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call pivout (comm, logfil, 1, jj, ndigit,
++            call pivout (comm, logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call pcvout (comm, logfil, 1, sigma, ndigit,
++            call pcvout (comm, logfil, 1, [sigma], ndigit,
+      &               '_napps: Value of the shift ')
+          end if
+ c
+@@ -307,9 +307,9 @@ subroutine pcnapps
+             if ( abs(real(h(i+1,i)))
+      &           .le. max(ulp*tst1, smlnum) )  then
+                if (msglvl .gt. 0) then
+-                  call pivout (comm, logfil, 1, i, ndigit,
++                  call pivout (comm, logfil, 1, [i], ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call pivout (comm, logfil, 1, jj, ndigit,
++                  call pivout (comm, logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call pcvout (comm, logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -323,9 +323,9 @@ subroutine pcnapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call pivout (comm, logfil, 1, istart, ndigit,
++             call pivout (comm, logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call pivout (comm, logfil, 1, iend, ndigit,
++             call pivout (comm, logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -501,7 +501,7 @@ subroutine pcnapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call pcvout (comm, logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call pivout (comm, logfil, 1, kev, ndigit,
++         call pivout (comm, logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call pcmout (comm, logfil, kev, kev, h, ldh, ndigit,
+diff --git a/PARPACK/SRC/BLACS/pcnaup2.f b/PARPACK/SRC/BLACS/pcnaup2.f
+index 55868069..757b12c3 100644
+--- a/PARPACK/SRC/BLACS/pcnaup2.f
++++ b/PARPACK/SRC/BLACS/pcnaup2.f
+@@ -398,7 +398,7 @@ subroutine pcnaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, iter, ndigit,
++            call pivout (comm, logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -411,9 +411,9 @@ subroutine pcnaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, nev, ndigit,
++            call pivout (comm, logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -440,7 +440,7 @@ subroutine pcnaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -671,7 +671,7 @@ subroutine pcnaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, nconv, ndigit,
++            call pivout (comm, logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -711,7 +711,7 @@ subroutine pcnaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call pcvout (comm, logfil, np, ritz, ndigit,
+      &                  '_naup2: values of the shifts')
+@@ -776,7 +776,7 @@ subroutine pcnaup2
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call pcmout (comm, logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/PARPACK/SRC/BLACS/pcnaupd.f b/PARPACK/SRC/BLACS/pcnaupd.f
+index b350199e..55bb655d 100644
+--- a/PARPACK/SRC/BLACS/pcnaupd.f
++++ b/PARPACK/SRC/BLACS/pcnaupd.f
+@@ -618,9 +618,9 @@ subroutine pcnaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, mxiter, ndigit,
++         call pivout (comm, logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call pivout (comm, logfil, 1, np, ndigit,
++         call pivout (comm, logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call pcvout (comm, logfil, np, workl(ritz), ndigit,
+      &               '_naupd: The final Ritz values')
+diff --git a/PARPACK/SRC/BLACS/pcneupd.f b/PARPACK/SRC/BLACS/pcneupd.f
+index 53cf2d24..da4a9ec5 100644
+--- a/PARPACK/SRC/BLACS/pcneupd.f
++++ b/PARPACK/SRC/BLACS/pcneupd.f
+@@ -558,9 +558,9 @@ subroutine pcneupd
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call pivout(comm, logfil, 1, numcnv, ndigit,
++             call pivout(comm, logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call pivout(comm, logfil, 1, nconv, ndigit,
++             call pivout(comm, logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/PARPACK/SRC/BLACS/pcngets.f b/PARPACK/SRC/BLACS/pcngets.f
+index f9cca353..89cd67ae 100644
+--- a/PARPACK/SRC/BLACS/pcngets.f
++++ b/PARPACK/SRC/BLACS/pcngets.f
+@@ -177,8 +177,8 @@ subroutine pcngets ( comm, ishift, which, kev, np, ritz, bounds)
+       tcgets = tcgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call pivout (comm, logfil, 1, np, ndigit, '_ngets: NP is')
++         call pivout (comm, logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call pivout (comm, logfil, 1, [np], ndigit, '_ngets: NP is')
+          call pcvout (comm, logfil, kev+np, ritz, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix ')
+          call pcvout (comm, logfil, kev+np, bounds, ndigit,
+diff --git a/PARPACK/SRC/BLACS/pdgetv0.f b/PARPACK/SRC/BLACS/pdgetv0.f
+index 9c3a1d99..237443dd 100644
+--- a/PARPACK/SRC/BLACS/pdgetv0.f
++++ b/PARPACK/SRC/BLACS/pdgetv0.f
+@@ -385,9 +385,9 @@ subroutine pdgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call pdvout (comm, logfil, 1, rnorm0, ndigit,
++          call pdvout (comm, logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call pdvout (comm, logfil, 1, rnorm, ndigit,
++          call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+@@ -418,7 +418,7 @@ subroutine pdgetv0
+    50 continue
+ c
+       if (msglvl .gt. 0) then
+-         call pdvout (comm, logfil, 1, rnorm, ndigit,
++         call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &        '_getv0: B-norm of initial / restarted starting vector')
+       end if
+       if (msglvl .gt. 2) then
+diff --git a/PARPACK/SRC/BLACS/pdnaitr.f b/PARPACK/SRC/BLACS/pdnaitr.f
+index f6557560..fb46494f 100644
+--- a/PARPACK/SRC/BLACS/pdnaitr.f
++++ b/PARPACK/SRC/BLACS/pdnaitr.f
+@@ -390,9 +390,9 @@ subroutine pdnaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call pdvout (comm, logfil, 1, rnorm, ndigit,
++            call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -412,7 +412,7 @@ subroutine pdnaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, j, ndigit,
++               call pivout (comm, logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -745,7 +745,7 @@ subroutine pdnaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/PARPACK/SRC/BLACS/pdnapps.f b/PARPACK/SRC/BLACS/pdnapps.f
+index 56e3414d..eadca320 100644
+--- a/PARPACK/SRC/BLACS/pdnapps.f
++++ b/PARPACK/SRC/BLACS/pdnapps.f
+@@ -276,11 +276,11 @@ subroutine pdnapps
+          sigmai = shifti(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call pivout (comm, logfil, 1, jj, ndigit,
++            call pivout (comm, logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call pdvout (comm, logfil, 1, sigmar, ndigit,
++            call pdvout (comm, logfil, 1, [sigmar], ndigit,
+      &               '_napps: The real part of the shift ')
+-            call pdvout (comm, logfil, 1, sigmai, ndigit,
++            call pdvout (comm, logfil, 1, [sigmai], ndigit,
+      &               '_napps: The imaginary part of the shift ')
+          end if
+ c
+@@ -347,7 +347,7 @@ subroutine pdnapps
+                if (msglvl .gt. 0) then
+                   call pivout (comm, logfil, 1, i, ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call pivout (comm, logfil, 1, jj, ndigit,
++                  call pivout (comm, logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call pdvout (comm, logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -361,9 +361,9 @@ subroutine pdnapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call pivout (comm, logfil, 1, istart, ndigit,
++             call pivout (comm, logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call pivout (comm, logfil, 1, iend, ndigit,
++             call pivout (comm, logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -635,7 +635,7 @@ subroutine pdnapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call pdvout (comm, logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call pivout (comm, logfil, 1, kev, ndigit,
++         call pivout (comm, logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call pdmout (comm, logfil, kev, kev, h, ldh, ndigit,
+diff --git a/PARPACK/SRC/BLACS/pdnaup2.f b/PARPACK/SRC/BLACS/pdnaup2.f
+index becea72d..a295dbbb 100644
+--- a/PARPACK/SRC/BLACS/pdnaup2.f
++++ b/PARPACK/SRC/BLACS/pdnaup2.f
+@@ -405,7 +405,7 @@ subroutine pdnaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, iter, ndigit,
++            call pivout (comm, logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -418,9 +418,9 @@ subroutine pdnaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, nev, ndigit,
++            call pivout (comm, logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -452,7 +452,7 @@ subroutine pdnaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call pdvout  (comm, logfil, 1, rnorm, ndigit,
++            call pdvout  (comm, logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -696,7 +696,7 @@ subroutine pdnaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, nconv, ndigit,
++            call pivout (comm, logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -748,7 +748,7 @@ subroutine pdnaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call pdvout  (comm, logfil, np, ritzr, ndigit,
+      &                  '_naup2: Real part of the shifts')
+@@ -815,7 +815,7 @@ subroutine pdnaup2
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call pdvout  (comm, logfil, 1, rnorm, ndigit,
++            call pdvout  (comm, logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call pdmout  (comm, logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/PARPACK/SRC/BLACS/pdnaupd.f b/PARPACK/SRC/BLACS/pdnaupd.f
+index d947755b..ed0fa20f 100644
+--- a/PARPACK/SRC/BLACS/pdnaupd.f
++++ b/PARPACK/SRC/BLACS/pdnaupd.f
+@@ -642,9 +642,9 @@ subroutine pdnaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, mxiter, ndigit,
++         call pivout (comm, logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call pivout (comm, logfil, 1, np, ndigit,
++         call pivout (comm, logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call pdvout  (comm, logfil, np, workl(ritzr), ndigit,
+      &               '_naupd: Real part of the final Ritz values')
+diff --git a/PARPACK/SRC/BLACS/pdneupd.f b/PARPACK/SRC/BLACS/pdneupd.f
+index 0ff911ff..321202f9 100644
+--- a/PARPACK/SRC/BLACS/pdneupd.f
++++ b/PARPACK/SRC/BLACS/pdneupd.f
+@@ -617,9 +617,9 @@ subroutine pdneupd
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call pivout(comm, logfil, 1, numcnv, ndigit,
++             call pivout(comm, logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call pivout(comm, logfil, 1, nconv, ndigit,
++             call pivout(comm, logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/PARPACK/SRC/BLACS/pdngets.f b/PARPACK/SRC/BLACS/pdngets.f
+index 71ed6a7c..12a691f6 100644
+--- a/PARPACK/SRC/BLACS/pdngets.f
++++ b/PARPACK/SRC/BLACS/pdngets.f
+@@ -226,8 +226,8 @@ subroutine pdngets
+       tngets = tngets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call pivout (comm, logfil, 1, np, ndigit, '_ngets: NP is')
++         call pivout (comm, logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call pivout (comm, logfil, 1, [np], ndigit, '_ngets: NP is')
+          call pdvout (comm, logfil, kev+np, ritzr, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix -- real part')
+          call pdvout (comm, logfil, kev+np, ritzi, ndigit,
+diff --git a/PARPACK/SRC/BLACS/pdsaitr.f b/PARPACK/SRC/BLACS/pdsaitr.f
+index 37ca61e8..9a2cdfc1 100644
+--- a/PARPACK/SRC/BLACS/pdsaitr.f
++++ b/PARPACK/SRC/BLACS/pdsaitr.f
+@@ -389,9 +389,9 @@ subroutine pdsaitr
+  1000 continue
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &                  '_saitr: generating Arnoldi vector no.')
+-            call pdvout (comm, logfil, 1, rnorm, ndigit,
++            call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &                  '_saitr: B-norm of the current residual =')
+          end if
+ c
+@@ -409,7 +409,7 @@ subroutine pdsaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, j, ndigit,
++               call pivout (comm, logfil, 1, [j], ndigit,
+      &                     '_saitr: ****** restart at step ******')
+             end if
+ c
+@@ -767,7 +767,7 @@ subroutine pdsaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/PARPACK/SRC/BLACS/pdsapps.f b/PARPACK/SRC/BLACS/pdsapps.f
+index b3a05cf4..4e2c0760 100644
+--- a/PARPACK/SRC/BLACS/pdsapps.f
++++ b/PARPACK/SRC/BLACS/pdsapps.f
+@@ -272,9 +272,9 @@ subroutine pdsapps
+             big   = abs(h(i,2)) + abs(h(i+1,2))
+             if (h(i+1,1) .le. epsmch*big) then
+                if (msglvl .gt. 0) then
+-                  call pivout (comm, logfil, 1, i, ndigit,
++                  call pivout (comm, logfil, 1, [i], ndigit,
+      &                 '_sapps: deflation at row/column no.')
+-                  call pivout (comm, logfil, 1, jj, ndigit,
++                  call pivout (comm, logfil, 1, [jj], ndigit,
+      &                 '_sapps: occurred before shift number.')
+                   call pdvout (comm, logfil, 1, h(i+1,1), ndigit,
+      &                 '_sapps: the corresponding off diagonal element')
+@@ -443,7 +443,7 @@ subroutine pdsapps
+          big   = abs(h(i,2)) + abs(h(i+1,2))
+          if (h(i+1,1) .le. epsmch*big) then
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, i, ndigit,
++               call pivout (comm, logfil, 1, [i], ndigit,
+      &              '_sapps: deflation at row/column no.')
+                call pdvout (comm, logfil, 1, h(i+1,1), ndigit,
+      &              '_sapps: the corresponding off diagonal element')
+diff --git a/PARPACK/SRC/BLACS/pdsaup2.f b/PARPACK/SRC/BLACS/pdsaup2.f
+index cf934016..599aad62 100644
+--- a/PARPACK/SRC/BLACS/pdsaup2.f
++++ b/PARPACK/SRC/BLACS/pdsaup2.f
+@@ -421,13 +421,13 @@ subroutine pdsaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, iter, ndigit,
++            call pivout (comm, logfil, 1, [iter], ndigit,
+      &           '_saup2: **** Start of major iteration number ****')
+          end if
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, nev, ndigit,
++            call pivout (comm, logfil, 1, [nev], ndigit,
+      &     '_saup2: The length of the current Lanczos factorization')
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &           '_saup2: Extend the Lanczos factorization by')
+          end if
+ c
+@@ -466,7 +466,7 @@ subroutine pdsaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call pdvout (comm, logfil, 1, rnorm, ndigit,
++            call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &           '_saup2: Current B-norm of residual for factorization')
+          end if
+ c
+@@ -716,7 +716,7 @@ subroutine pdsaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, nconv, ndigit,
++            call pivout (comm, logfil, 1, [nconv], ndigit,
+      &           '_saup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -763,7 +763,7 @@ subroutine pdsaup2
+          if (ishift .eq. 0) call dcopy (np, workl, 1, ritz, 1)
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &                  '_saup2: The number of shifts to apply ')
+             call pdvout (comm, logfil, np, workl, ndigit,
+      &                  '_saup2: shifts selected')
+@@ -831,7 +831,7 @@ subroutine pdsaup2
+   130    continue
+ c
+          if (msglvl .gt. 2) then
+-            call pdvout (comm, logfil, 1, rnorm, ndigit,
++            call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &      '_saup2: B-norm of residual for NEV factorization')
+             call pdvout (comm, logfil, nev, h(1,2), ndigit,
+      &           '_saup2: main diagonal of compressed H matrix')
+diff --git a/PARPACK/SRC/BLACS/pdsaupd.f b/PARPACK/SRC/BLACS/pdsaupd.f
+index 5f606d59..cb021128 100644
+--- a/PARPACK/SRC/BLACS/pdsaupd.f
++++ b/PARPACK/SRC/BLACS/pdsaupd.f
+@@ -644,9 +644,9 @@ subroutine pdsaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, mxiter, ndigit,
++         call pivout (comm, logfil, 1, [mxiter], ndigit,
+      &               '_saupd: number of update iterations taken')
+-         call pivout (comm, logfil, 1, np, ndigit,
++         call pivout (comm, logfil, 1, [np], ndigit,
+      &               '_saupd: number of "converged" Ritz values')
+          call pdvout  (comm, logfil, np, workl(Ritz), ndigit,
+      &               '_saupd: final Ritz values')
+diff --git a/PARPACK/SRC/BLACS/pdseupd.f b/PARPACK/SRC/BLACS/pdseupd.f
+index 956891cd..074b195b 100644
+--- a/PARPACK/SRC/BLACS/pdseupd.f
++++ b/PARPACK/SRC/BLACS/pdseupd.f
+@@ -523,9 +523,9 @@ subroutine pdseupd
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call pivout(comm, logfil, 1, numcnv, ndigit,
++             call pivout(comm, logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call pivout(comm, logfil, 1, nconv, ndigit,
++             call pivout(comm, logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/PARPACK/SRC/BLACS/pdsgets.f b/PARPACK/SRC/BLACS/pdsgets.f
+index aa549a25..d0f703bb 100644
+--- a/PARPACK/SRC/BLACS/pdsgets.f
++++ b/PARPACK/SRC/BLACS/pdsgets.f
+@@ -216,8 +216,8 @@ subroutine pdsgets
+       tsgets = tsgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, kev, ndigit, '_sgets: KEV is')
+-         call pivout (comm, logfil, 1, np, ndigit, '_sgets: NP is')
++         call pivout (comm, logfil, 1, [kev], ndigit, '_sgets: KEV is')
++         call pivout (comm, logfil, 1, [np], ndigit, '_sgets: NP is')
+          call pdvout (comm, logfil, kev+np, ritz, ndigit,
+      &        '_sgets: Eigenvalues of current H matrix')
+          call pdvout (comm, logfil, kev+np, bounds, ndigit,
+diff --git a/PARPACK/SRC/BLACS/psgetv0.f b/PARPACK/SRC/BLACS/psgetv0.f
+index 9862d055..d48cb6db 100644
+--- a/PARPACK/SRC/BLACS/psgetv0.f
++++ b/PARPACK/SRC/BLACS/psgetv0.f
+@@ -385,9 +385,9 @@ subroutine psgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call psvout (comm, logfil, 1, rnorm0, ndigit,
++          call psvout (comm, logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call psvout (comm, logfil, 1, rnorm, ndigit,
++          call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+@@ -418,7 +418,7 @@ subroutine psgetv0
+    50 continue
+ c
+       if (msglvl .gt. 0) then
+-         call psvout (comm, logfil, 1, rnorm, ndigit,
++         call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &        '_getv0: B-norm of initial / restarted starting vector')
+       end if
+       if (msglvl .gt. 2) then
+diff --git a/PARPACK/SRC/BLACS/psnaitr.f b/PARPACK/SRC/BLACS/psnaitr.f
+index 07aa0526..bbd2809c 100644
+--- a/PARPACK/SRC/BLACS/psnaitr.f
++++ b/PARPACK/SRC/BLACS/psnaitr.f
+@@ -390,9 +390,9 @@ subroutine psnaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -412,7 +412,7 @@ subroutine psnaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, j, ndigit,
++               call pivout (comm, logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -745,7 +745,7 @@ subroutine psnaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/PARPACK/SRC/BLACS/psnapps.f b/PARPACK/SRC/BLACS/psnapps.f
+index a515d0cd..ba668bba 100644
+--- a/PARPACK/SRC/BLACS/psnapps.f
++++ b/PARPACK/SRC/BLACS/psnapps.f
+@@ -276,11 +276,11 @@ subroutine psnapps
+          sigmai = shifti(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call pivout (comm, logfil, 1, jj, ndigit,
++            call pivout (comm, logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call psvout (comm, logfil, 1, sigmar, ndigit,
++            call psvout (comm, logfil, 1, [sigmar], ndigit,
+      &               '_napps: The real part of the shift ')
+-            call psvout (comm, logfil, 1, sigmai, ndigit,
++            call psvout (comm, logfil, 1, [sigmai], ndigit,
+      &               '_napps: The imaginary part of the shift ')
+          end if
+ c
+@@ -347,7 +347,7 @@ subroutine psnapps
+                if (msglvl .gt. 0) then
+                   call pivout (comm, logfil, 1, i, ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call pivout (comm, logfil, 1, jj, ndigit,
++                  call pivout (comm, logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call psvout (comm, logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -361,9 +361,9 @@ subroutine psnapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call pivout (comm, logfil, 1, istart, ndigit,
++             call pivout (comm, logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call pivout (comm, logfil, 1, iend, ndigit,
++             call pivout (comm, logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -635,7 +635,7 @@ subroutine psnapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call psvout (comm, logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call pivout (comm, logfil, 1, kev, ndigit,
++         call pivout (comm, logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call psmout (comm, logfil, kev, kev, h, ldh, ndigit,
+diff --git a/PARPACK/SRC/BLACS/psnaup2.f b/PARPACK/SRC/BLACS/psnaup2.f
+index eff2a136..e4603273 100644
+--- a/PARPACK/SRC/BLACS/psnaup2.f
++++ b/PARPACK/SRC/BLACS/psnaup2.f
+@@ -405,7 +405,7 @@ subroutine psnaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, iter, ndigit,
++            call pivout (comm, logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -418,9 +418,9 @@ subroutine psnaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, nev, ndigit,
++            call pivout (comm, logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -452,7 +452,7 @@ subroutine psnaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -696,7 +696,7 @@ subroutine psnaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, nconv, ndigit,
++            call pivout (comm, logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -748,7 +748,7 @@ subroutine psnaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call psvout (comm, logfil, np, ritzr, ndigit,
+      &                  '_naup2: Real part of the shifts')
+@@ -815,7 +815,7 @@ subroutine psnaup2
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call psmout (comm, logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/PARPACK/SRC/BLACS/psnaupd.f b/PARPACK/SRC/BLACS/psnaupd.f
+index 55f34ce6..4f2484f9 100644
+--- a/PARPACK/SRC/BLACS/psnaupd.f
++++ b/PARPACK/SRC/BLACS/psnaupd.f
+@@ -642,9 +642,9 @@ subroutine psnaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, mxiter, ndigit,
++         call pivout (comm, logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call pivout (comm, logfil, 1, np, ndigit,
++         call pivout (comm, logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call psvout (comm, logfil, np, workl(ritzr), ndigit,
+      &               '_naupd: Real part of the final Ritz values')
+diff --git a/PARPACK/SRC/BLACS/psneupd.f b/PARPACK/SRC/BLACS/psneupd.f
+index 49847ffe..cbdaba28 100644
+--- a/PARPACK/SRC/BLACS/psneupd.f
++++ b/PARPACK/SRC/BLACS/psneupd.f
+@@ -617,9 +617,9 @@ subroutine psneupd
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call pivout(comm, logfil, 1, numcnv, ndigit,
++             call pivout(comm, logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call pivout(comm, logfil, 1, nconv, ndigit,
++             call pivout(comm, logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/PARPACK/SRC/BLACS/psngets.f b/PARPACK/SRC/BLACS/psngets.f
+index c0e30886..33d85dfe 100644
+--- a/PARPACK/SRC/BLACS/psngets.f
++++ b/PARPACK/SRC/BLACS/psngets.f
+@@ -226,8 +226,8 @@ subroutine psngets
+       tngets = tngets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call pivout (comm, logfil, 1, np, ndigit, '_ngets: NP is')
++         call pivout (comm, logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call pivout (comm, logfil, 1, [np], ndigit, '_ngets: NP is')
+          call psvout (comm, logfil, kev+np, ritzr, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix -- real part')
+          call psvout (comm, logfil, kev+np, ritzi, ndigit,
+diff --git a/PARPACK/SRC/BLACS/pssaitr.f b/PARPACK/SRC/BLACS/pssaitr.f
+index 50816c4f..e57864a5 100644
+--- a/PARPACK/SRC/BLACS/pssaitr.f
++++ b/PARPACK/SRC/BLACS/pssaitr.f
+@@ -389,9 +389,9 @@ subroutine pssaitr
+  1000 continue
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &                  '_saitr: generating Arnoldi vector no.')
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &                  '_saitr: B-norm of the current residual =')
+          end if
+ c
+@@ -409,7 +409,7 @@ subroutine pssaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, j, ndigit,
++               call pivout (comm, logfil, 1, [j], ndigit,
+      &                     '_saitr: ****** restart at step ******')
+             end if
+ c
+@@ -767,7 +767,7 @@ subroutine pssaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/PARPACK/SRC/BLACS/pssapps.f b/PARPACK/SRC/BLACS/pssapps.f
+index 7c8465b3..5198a734 100644
+--- a/PARPACK/SRC/BLACS/pssapps.f
++++ b/PARPACK/SRC/BLACS/pssapps.f
+@@ -272,9 +272,9 @@ subroutine pssapps
+             big   = abs(h(i,2)) + abs(h(i+1,2))
+             if (h(i+1,1) .le. epsmch*big) then
+                if (msglvl .gt. 0) then
+-                  call pivout (comm, logfil, 1, i, ndigit,
++                  call pivout (comm, logfil, 1, [i], ndigit,
+      &                 '_sapps: deflation at row/column no.')
+-                  call pivout (comm, logfil, 1, jj, ndigit,
++                  call pivout (comm, logfil, 1, [jj], ndigit,
+      &                 '_sapps: occurred before shift number.')
+                   call psvout (comm, logfil, 1, h(i+1,1), ndigit,
+      &                 '_sapps: the corresponding off diagonal element')
+@@ -443,7 +443,7 @@ subroutine pssapps
+          big   = abs(h(i,2)) + abs(h(i+1,2))
+          if (h(i+1,1) .le. epsmch*big) then
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, i, ndigit,
++               call pivout (comm, logfil, 1, [i], ndigit,
+      &              '_sapps: deflation at row/column no.')
+                call psvout (comm, logfil, 1, h(i+1,1), ndigit,
+      &              '_sapps: the corresponding off diagonal element')
+diff --git a/PARPACK/SRC/BLACS/pssaup2.f b/PARPACK/SRC/BLACS/pssaup2.f
+index 57ab391b..87cc3a81 100644
+--- a/PARPACK/SRC/BLACS/pssaup2.f
++++ b/PARPACK/SRC/BLACS/pssaup2.f
+@@ -421,13 +421,13 @@ subroutine pssaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, iter, ndigit,
++            call pivout (comm, logfil, 1, [iter], ndigit,
+      &           '_saup2: **** Start of major iteration number ****')
+          end if
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, nev, ndigit,
++            call pivout (comm, logfil, 1, [nev], ndigit,
+      &     '_saup2: The length of the current Lanczos factorization')
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &           '_saup2: Extend the Lanczos factorization by')
+          end if
+ c
+@@ -466,7 +466,7 @@ subroutine pssaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &           '_saup2: Current B-norm of residual for factorization')
+          end if
+ c
+@@ -716,7 +716,7 @@ subroutine pssaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, nconv, ndigit,
++            call pivout (comm, logfil, 1, [nconv], ndigit,
+      &           '_saup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -763,7 +763,7 @@ subroutine pssaup2
+          if (ishift .eq. 0) call scopy (np, workl, 1, ritz, 1)
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &                  '_saup2: The number of shifts to apply ')
+             call psvout (comm, logfil, np, workl, ndigit,
+      &                  '_saup2: shifts selected')
+@@ -831,7 +831,7 @@ subroutine pssaup2
+   130    continue
+ c
+          if (msglvl .gt. 2) then
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &      '_saup2: B-norm of residual for NEV factorization')
+             call psvout (comm, logfil, nev, h(1,2), ndigit,
+      &           '_saup2: main diagonal of compressed H matrix')
+diff --git a/PARPACK/SRC/BLACS/pssaupd.f b/PARPACK/SRC/BLACS/pssaupd.f
+index 1b276e86..9d6061c1 100644
+--- a/PARPACK/SRC/BLACS/pssaupd.f
++++ b/PARPACK/SRC/BLACS/pssaupd.f
+@@ -644,9 +644,9 @@ subroutine pssaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, mxiter, ndigit,
++         call pivout (comm, logfil, 1, [mxiter], ndigit,
+      &               '_saupd: number of update iterations taken')
+-         call pivout (comm, logfil, 1, np, ndigit,
++         call pivout (comm, logfil, 1, [np], ndigit,
+      &               '_saupd: number of "converged" Ritz values')
+          call psvout (comm, logfil, np, workl(Ritz), ndigit,
+      &               '_saupd: final Ritz values')
+diff --git a/PARPACK/SRC/BLACS/psseupd.f b/PARPACK/SRC/BLACS/psseupd.f
+index 68edab15..e8c910e8 100644
+--- a/PARPACK/SRC/BLACS/psseupd.f
++++ b/PARPACK/SRC/BLACS/psseupd.f
+@@ -523,9 +523,9 @@ subroutine psseupd
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call pivout(comm, logfil, 1, numcnv, ndigit,
++             call pivout(comm, logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call pivout(comm, logfil, 1, nconv, ndigit,
++             call pivout(comm, logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/PARPACK/SRC/BLACS/pssgets.f b/PARPACK/SRC/BLACS/pssgets.f
+index d138282a..660c274f 100644
+--- a/PARPACK/SRC/BLACS/pssgets.f
++++ b/PARPACK/SRC/BLACS/pssgets.f
+@@ -216,8 +216,8 @@ subroutine pssgets
+       tsgets = tsgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, kev, ndigit, '_sgets: KEV is')
+-         call pivout (comm, logfil, 1, np, ndigit, '_sgets: NP is')
++         call pivout (comm, logfil, 1, [kev], ndigit, '_sgets: KEV is')
++         call pivout (comm, logfil, 1, [np], ndigit, '_sgets: NP is')
+          call psvout (comm, logfil, kev+np, ritz, ndigit,
+      &        '_sgets: Eigenvalues of current H matrix')
+          call psvout (comm, logfil, kev+np, bounds, ndigit,
+diff --git a/PARPACK/SRC/BLACS/pzgetv0.f b/PARPACK/SRC/BLACS/pzgetv0.f
+index 09723313..c1d173f0 100644
+--- a/PARPACK/SRC/BLACS/pzgetv0.f
++++ b/PARPACK/SRC/BLACS/pzgetv0.f
+@@ -406,9 +406,9 @@ subroutine pzgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call pdvout  (comm, logfil, 1, rnorm0, ndigit,
++          call pdvout  (comm, logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call pdvout  (comm, logfil, 1, rnorm, ndigit,
++          call pdvout  (comm, logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+@@ -440,7 +440,7 @@ subroutine pzgetv0
+ c
+       if (msglvl .gt. 0) then
+          cnorm2 = dcmplx (rnorm,rzero)
+-         call pzvout  (comm, logfil, 1, cnorm2, ndigit,
++         call pzvout  (comm, logfil, 1, [cnorm2], ndigit,
+      &        '_getv0: B-norm of initial / restarted starting vector')
+       end if
+       if (msglvl .gt. 2) then
+diff --git a/PARPACK/SRC/BLACS/pznaitr.f b/PARPACK/SRC/BLACS/pznaitr.f
+index 61f467a2..92db7fe7 100644
+--- a/PARPACK/SRC/BLACS/pznaitr.f
++++ b/PARPACK/SRC/BLACS/pznaitr.f
+@@ -401,9 +401,9 @@ subroutine pznaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call pzvout (comm, logfil, 1, rnorm, ndigit,
++            call pzvout (comm, logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -423,7 +423,7 @@ subroutine pznaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, j, ndigit,
++               call pivout (comm, logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -757,7 +757,7 @@ subroutine pznaitr
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0 ) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 rtemp(1) = rnorm
+diff --git a/PARPACK/SRC/BLACS/pznapps.f b/PARPACK/SRC/BLACS/pznapps.f
+index 796f4ded..155038d1 100644
+--- a/PARPACK/SRC/BLACS/pznapps.f
++++ b/PARPACK/SRC/BLACS/pznapps.f
+@@ -284,9 +284,9 @@ subroutine pznapps
+          sigma = shift(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call pivout (comm, logfil, 1, jj, ndigit,
++            call pivout (comm, logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call pzvout (comm, logfil, 1, sigma, ndigit,
++            call pzvout (comm, logfil, 1, [sigma], ndigit,
+      &               '_napps: Value of the shift ')
+          end if
+ c
+@@ -307,9 +307,9 @@ subroutine pznapps
+             if ( abs(dble(h(i+1,i)))
+      &           .le. max(ulp*tst1, smlnum) )  then
+                if (msglvl .gt. 0) then
+-                  call pivout (comm, logfil, 1, i, ndigit,
++                  call pivout (comm, logfil, 1, [i], ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call pivout (comm, logfil, 1, jj, ndigit,
++                  call pivout (comm, logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call pzvout (comm, logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -323,9 +323,9 @@ subroutine pznapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call pivout (comm, logfil, 1, istart, ndigit,
++             call pivout (comm, logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call pivout (comm, logfil, 1, iend, ndigit,
++             call pivout (comm, logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -501,7 +501,7 @@ subroutine pznapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call pzvout (comm, logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call pivout (comm, logfil, 1, kev, ndigit,
++         call pivout (comm, logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call pzmout (comm, logfil, kev, kev, h, ldh, ndigit,
+diff --git a/PARPACK/SRC/BLACS/pznaup2.f b/PARPACK/SRC/BLACS/pznaup2.f
+index 22b46dd2..1610a588 100644
+--- a/PARPACK/SRC/BLACS/pznaup2.f
++++ b/PARPACK/SRC/BLACS/pznaup2.f
+@@ -398,7 +398,7 @@ subroutine pznaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, iter, ndigit,
++            call pivout (comm, logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -411,9 +411,9 @@ subroutine pznaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, nev, ndigit,
++            call pivout (comm, logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -440,7 +440,7 @@ subroutine pznaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call pdvout (comm, logfil, 1, rnorm, ndigit,
++            call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -671,7 +671,7 @@ subroutine pznaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, nconv, ndigit,
++            call pivout (comm, logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -711,7 +711,7 @@ subroutine pznaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call pzvout (comm, logfil, np, ritz, ndigit,
+      &                  '_naup2: values of the shifts')
+@@ -776,7 +776,7 @@ subroutine pznaup2
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call pdvout (comm, logfil, 1, rnorm, ndigit,
++            call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call pzmout (comm, logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/PARPACK/SRC/BLACS/pznaupd.f b/PARPACK/SRC/BLACS/pznaupd.f
+index 0bf616f9..b46679a6 100644
+--- a/PARPACK/SRC/BLACS/pznaupd.f
++++ b/PARPACK/SRC/BLACS/pznaupd.f
+@@ -618,9 +618,9 @@ subroutine pznaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, mxiter, ndigit,
++         call pivout (comm, logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call pivout (comm, logfil, 1, np, ndigit,
++         call pivout (comm, logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call pzvout  (comm, logfil, np, workl(ritz), ndigit,
+      &               '_naupd: The final Ritz values')
+diff --git a/PARPACK/SRC/BLACS/pzneupd.f b/PARPACK/SRC/BLACS/pzneupd.f
+index 1970e488..c2f508f2 100644
+--- a/PARPACK/SRC/BLACS/pzneupd.f
++++ b/PARPACK/SRC/BLACS/pzneupd.f
+@@ -558,9 +558,9 @@ subroutine pzneupd
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call pivout(comm, logfil, 1, numcnv, ndigit,
++             call pivout(comm, logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call pivout(comm, logfil, 1, nconv, ndigit,
++             call pivout(comm, logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/PARPACK/SRC/BLACS/pzngets.f b/PARPACK/SRC/BLACS/pzngets.f
+index 18e1518d..d880b4cc 100644
+--- a/PARPACK/SRC/BLACS/pzngets.f
++++ b/PARPACK/SRC/BLACS/pzngets.f
+@@ -177,8 +177,8 @@ subroutine pzngets ( comm, ishift, which, kev, np, ritz, bounds)
+       tcgets = tcgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call pivout (comm, logfil, 1, np, ndigit, '_ngets: NP is')
++         call pivout (comm, logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call pivout (comm, logfil, 1, [np], ndigit, '_ngets: NP is')
+          call pzvout (comm, logfil, kev+np, ritz, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix ')
+          call pzvout (comm, logfil, kev+np, bounds, ndigit,
+diff --git a/PARPACK/SRC/MPI/pcgetv0.f b/PARPACK/SRC/MPI/pcgetv0.f
+index aacfd046..72677a50 100644
+--- a/PARPACK/SRC/MPI/pcgetv0.f
++++ b/PARPACK/SRC/MPI/pcgetv0.f
+@@ -185,7 +185,7 @@ subroutine pcgetv0
+       save       first, iseed, inits, iter, msglvl, orth, rnorm0
+ c
+       Complex
+-     &           cnorm_buf
++     &           cnorm_buf, buf2(1)
+ c
+ c     %----------------------%
+ c     | External Subroutines |
+@@ -332,8 +332,9 @@ subroutine pcgetv0
+       first = .FALSE.
+       if (bmat .eq. 'G') then
+           cnorm_buf = cdotc (n, resid, 1, workd, 1)
+-          call MPI_ALLREDUCE( cnorm_buf, cnorm, 1,
++          call MPI_ALLREDUCE( [cnorm_buf], buf2, 1,
+      &          MPI_COMPLEX, MPI_SUM, comm, ierr )
++          cnorm = buf2(1)
+           rnorm0 = sqrt(slapy2(real (cnorm),aimag(cnorm)))
+       else if (bmat .eq. 'I') then
+            rnorm0 = pscnorm2( comm, n, resid, 1)
+@@ -393,8 +394,9 @@ subroutine pcgetv0
+ c
+       if (bmat .eq. 'G') then
+          cnorm_buf = cdotc (n, resid, 1, workd, 1)
+-         call MPI_ALLREDUCE( cnorm_buf, cnorm, 1,
++         call MPI_ALLREDUCE( [cnorm_buf], buf2, 1,
+      &            MPI_COMPLEX, MPI_SUM, comm, ierr )
++         cnorm = buf2(1)
+          rnorm = sqrt(slapy2(real (cnorm),aimag(cnorm)))
+       else if (bmat .eq. 'I') then
+          rnorm = pscnorm2(comm, n, resid, 1)
+@@ -405,9 +407,9 @@ subroutine pcgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call psvout (comm, logfil, 1, rnorm0, ndigit,
++          call psvout (comm, logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call psvout (comm, logfil, 1, rnorm, ndigit,
++          call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+@@ -439,7 +441,7 @@ subroutine pcgetv0
+ c
+       if (msglvl .gt. 0) then
+          cnorm2 = cmplx(rnorm,rzero)
+-         call pcvout (comm, logfil, 1, cnorm2, ndigit,
++         call pcvout (comm, logfil, 1, [cnorm2], ndigit,
+      &        '_getv0: B-norm of initial / restarted starting vector')
+       end if
+       if (msglvl .gt. 2) then
+diff --git a/PARPACK/SRC/MPI/pcnaitr.f b/PARPACK/SRC/MPI/pcnaitr.f
+index 4a27960a..fe246ea0 100644
+--- a/PARPACK/SRC/MPI/pcnaitr.f
++++ b/PARPACK/SRC/MPI/pcnaitr.f
+@@ -293,7 +293,7 @@ subroutine pcnaitr
+      &           betaj, rnorm1, smlnum, ulp, unfl, wnorm
+ c
+       Complex
+-     &           cnorm_buf
++     &           cnorm_buf, buf2(1)
+ c
+ c     %----------------------%
+ c     | External Subroutines |
+@@ -404,9 +404,9 @@ subroutine pcnaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call pcvout (comm, logfil, 1, rnorm, ndigit,
++            call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -426,7 +426,7 @@ subroutine pcnaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, j, ndigit,
++               call pivout (comm, logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -577,8 +577,9 @@ subroutine pcnaitr
+ c
+          if (bmat .eq. 'G') then
+              cnorm_buf = cdotc (n, resid, 1, workd(ipj), 1)
+-            call MPI_ALLREDUCE( cnorm_buf, cnorm, 1,
++            call MPI_ALLREDUCE( [cnorm_buf], buf2, 1,
+      &           MPI_COMPLEX, MPI_SUM, comm, ierr )
++             cnorm = buf2(1)
+              wnorm = sqrt( slapy2(real(cnorm),aimag(cnorm)) )
+          else if (bmat .eq. 'I') then
+              wnorm = pscnorm2(comm, n, resid, 1)
+@@ -653,8 +654,9 @@ subroutine pcnaitr
+ c
+          if (bmat .eq. 'G') then
+             cnorm_buf = cdotc (n, resid, 1, workd(ipj), 1)
+-            call MPI_ALLREDUCE( cnorm_buf, cnorm, 1,
++            call MPI_ALLREDUCE( [cnorm_buf], buf2, 1,
+      &           MPI_COMPLEX, MPI_SUM, comm, ierr )
++            cnorm = buf2(1)
+             rnorm = sqrt( slapy2(real(cnorm),aimag(cnorm)) )
+          else if (bmat .eq. 'I') then
+             rnorm = pscnorm2(comm, n, resid, 1)
+@@ -757,15 +759,16 @@ subroutine pcnaitr
+ c
+          if (bmat .eq. 'G') then
+              cnorm_buf = cdotc (n, resid, 1, workd(ipj), 1)
+-            call MPI_ALLREDUCE( cnorm_buf, cnorm, 1,
++            call MPI_ALLREDUCE( [cnorm_buf], buf2, 1,
+      &           MPI_COMPLEX, MPI_SUM, comm, ierr )
++             cnorm = buf2(1)
+              rnorm1 = sqrt( slapy2(real(cnorm),aimag(cnorm)) )
+          else if (bmat .eq. 'I') then
+              rnorm1 = pscnorm2(comm, n, resid, 1)
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0 ) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 rtemp(1) = rnorm
+diff --git a/PARPACK/SRC/MPI/pcnapps.f b/PARPACK/SRC/MPI/pcnapps.f
+index 76077b92..f17686d8 100644
+--- a/PARPACK/SRC/MPI/pcnapps.f
++++ b/PARPACK/SRC/MPI/pcnapps.f
+@@ -283,9 +283,9 @@ subroutine pcnapps
+          sigma = shift(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call pivout (comm, logfil, 1, jj, ndigit,
++            call pivout (comm, logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call pcvout (comm, logfil, 1, sigma, ndigit,
++            call pcvout (comm, logfil, 1, [sigma], ndigit,
+      &               '_napps: Value of the shift ')
+          end if
+ c
+@@ -306,9 +306,9 @@ subroutine pcnapps
+             if ( abs(real(h(i+1,i)))
+      &           .le. max(ulp*tst1, smlnum) )  then
+                if (msglvl .gt. 0) then
+-                  call pivout (comm, logfil, 1, i, ndigit,
++                  call pivout (comm, logfil, 1, [i], ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call pivout (comm, logfil, 1, jj, ndigit,
++                  call pivout (comm, logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call pcvout (comm, logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -322,9 +322,9 @@ subroutine pcnapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call pivout (comm, logfil, 1, istart, ndigit,
++             call pivout (comm, logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call pivout (comm, logfil, 1, iend, ndigit,
++             call pivout (comm, logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -500,7 +500,7 @@ subroutine pcnapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call pcvout (comm, logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call pivout (comm, logfil, 1, kev, ndigit,
++         call pivout (comm, logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call pcmout (comm, logfil, kev, kev, h, ldh, ndigit,
+diff --git a/PARPACK/SRC/MPI/pcnaup2.f b/PARPACK/SRC/MPI/pcnaup2.f
+index 91fe9293..4b0d6ceb 100644
+--- a/PARPACK/SRC/MPI/pcnaup2.f
++++ b/PARPACK/SRC/MPI/pcnaup2.f
+@@ -237,7 +237,7 @@ subroutine pcnaup2
+      &           nevbef, nev0 , np0,    eps23
+ c
+       Real
+-     &           cmpnorm_buf
++     &           cmpnorm_buf, buf2(1)
+ c
+ c     %-----------------------%
+ c     | Local array arguments |
+@@ -401,7 +401,7 @@ subroutine pcnaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, iter, ndigit,
++            call pivout (comm, logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -414,9 +414,9 @@ subroutine pcnaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, nev, ndigit,
++            call pivout (comm, logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -443,7 +443,7 @@ subroutine pcnaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -674,7 +674,7 @@ subroutine pcnaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, nconv, ndigit,
++            call pivout (comm, logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -714,7 +714,7 @@ subroutine pcnaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call pcvout (comm, logfil, np, ritz, ndigit,
+      &                  '_naup2: values of the shifts')
+@@ -771,8 +771,9 @@ subroutine pcnaup2
+ c
+          if (bmat .eq. 'G') then
+             cmpnorm_buf = cdotc (n, resid, 1, workd, 1)
+-            call MPI_ALLREDUCE( cmpnorm_buf, cmpnorm, 1,
++            call MPI_ALLREDUCE( [cmpnorm_buf], buf2, 1,
+      &               MPI_COMPLEX, MPI_SUM, comm, ierr )
++            cmpnorm = buf2(1)
+             rnorm = sqrt(slapy2(real(cmpnorm),aimag(cmpnorm)))
+          else if (bmat .eq. 'I') then
+             rnorm = pscnorm2(comm, n, resid, 1)
+@@ -780,7 +781,7 @@ subroutine pcnaup2
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call pcmout (comm, logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/PARPACK/SRC/MPI/pcnaupd.f b/PARPACK/SRC/MPI/pcnaupd.f
+index 5b8e1f5c..0bd6eb6c 100644
+--- a/PARPACK/SRC/MPI/pcnaupd.f
++++ b/PARPACK/SRC/MPI/pcnaupd.f
+@@ -626,9 +626,9 @@ subroutine pcnaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, mxiter, ndigit,
++         call pivout (comm, logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call pivout (comm, logfil, 1, np, ndigit,
++         call pivout (comm, logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call pcvout (comm, logfil, np, workl(ritz), ndigit,
+      &               '_naupd: The final Ritz values')
+diff --git a/PARPACK/SRC/MPI/pcneupd.f b/PARPACK/SRC/MPI/pcneupd.f
+index 2566f8a5..8ced1df6 100644
+--- a/PARPACK/SRC/MPI/pcneupd.f
++++ b/PARPACK/SRC/MPI/pcneupd.f
+@@ -558,9 +558,9 @@ subroutine pcneupd
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call pivout(comm, logfil, 1, numcnv, ndigit,
++             call pivout(comm, logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call pivout(comm, logfil, 1, nconv, ndigit,
++             call pivout(comm, logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/PARPACK/SRC/MPI/pcngets.f b/PARPACK/SRC/MPI/pcngets.f
+index 34b9b047..5f672149 100644
+--- a/PARPACK/SRC/MPI/pcngets.f
++++ b/PARPACK/SRC/MPI/pcngets.f
+@@ -177,8 +177,8 @@ subroutine pcngets ( comm, ishift, which, kev, np, ritz, bounds)
+       tcgets = tcgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call pivout (comm, logfil, 1, np, ndigit, '_ngets: NP is')
++         call pivout (comm, logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call pivout (comm, logfil, 1, [np], ndigit, '_ngets: NP is')
+          call pcvout (comm, logfil, kev+np, ritz, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix ')
+          call pcvout (comm, logfil, kev+np, bounds, ndigit,
+diff --git a/PARPACK/SRC/MPI/pdgetv0.f b/PARPACK/SRC/MPI/pdgetv0.f
+index 3dc71c66..54ed850c 100644
+--- a/PARPACK/SRC/MPI/pdgetv0.f
++++ b/PARPACK/SRC/MPI/pdgetv0.f
+@@ -180,7 +180,7 @@ subroutine pdgetv0
+       logical    first, inits, orth
+       integer    idist, iseed(4), iter, msglvl, jj
+       Double precision
+-     &           rnorm0
++     &           rnorm0, buf2(1)
+       save       first, iseed, inits, iter, msglvl, orth, rnorm0
+ c
+       Double precision
+@@ -318,9 +318,9 @@ subroutine pdgetv0
+       first = .FALSE.
+       if (bmat .eq. 'G') then
+           rnorm_buf = ddot (n, resid, 1, workd, 1)
+-          call MPI_ALLREDUCE( rnorm_buf, rnorm0, 1,
++          call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &          MPI_DOUBLE_PRECISION, MPI_SUM, comm, ierr )
+-          rnorm0 = sqrt(abs(rnorm0))
++          rnorm0 = sqrt(abs(buf2(1)))
+       else if (bmat .eq. 'I') then
+           rnorm0 = pdnorm2( comm, n, resid, 1 )
+       end if
+@@ -379,9 +379,9 @@ subroutine pdgetv0
+ c
+       if (bmat .eq. 'G') then
+          rnorm_buf = ddot (n, resid, 1, workd, 1)
+-         call MPI_ALLREDUCE( rnorm_buf, rnorm, 1,
++         call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &            MPI_DOUBLE_PRECISION, MPI_SUM, comm, ierr )
+-         rnorm = sqrt(abs(rnorm))
++         rnorm = sqrt(abs(buf2(1)))
+       else if (bmat .eq. 'I') then
+          rnorm = pdnorm2( comm, n, resid, 1 )
+       end if
+@@ -391,9 +391,9 @@ subroutine pdgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call pdvout (comm, logfil, 1, rnorm0, ndigit,
++          call pdvout (comm, logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call pdvout (comm, logfil, 1, rnorm, ndigit,
++          call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+@@ -424,7 +424,7 @@ subroutine pdgetv0
+    50 continue
+ c
+       if (msglvl .gt. 0) then
+-         call pdvout (comm, logfil, 1, rnorm, ndigit,
++         call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &        '_getv0: B-norm of initial / restarted starting vector')
+       end if
+       if (msglvl .gt. 2) then
+diff --git a/PARPACK/SRC/MPI/pdlamch10.f b/PARPACK/SRC/MPI/pdlamch10.f
+index fabfcbd1..64cd6666 100644
+--- a/PARPACK/SRC/MPI/pdlamch10.f
++++ b/PARPACK/SRC/MPI/pdlamch10.f
+@@ -57,7 +57,7 @@ DOUBLE PRECISION   FUNCTION PDLAMCH10( ICTXT, CMACH )
+ *
+ *     .. Local Scalars ..
+       INTEGER            IDUMM
+-      DOUBLE PRECISION   TEMP, TEMP1
++      DOUBLE PRECISION   TEMP, TEMP1, buf2(1)
+ *     ..
+ *     .. External Subroutines ..
+ *      EXTERNAL           DGAMN2D, DGAMX2D
+@@ -73,19 +73,20 @@ DOUBLE PRECISION   FUNCTION PDLAMCH10( ICTXT, CMACH )
+ *
+       IF( LSAME( CMACH, 'E' ).OR.LSAME( CMACH, 'S' ).OR.
+      $    LSAME( CMACH, 'M' ).OR.LSAME( CMACH, 'U' ) ) THEN
+-          CALL MPI_ALLREDUCE( TEMP1, TEMP, 1, MPI_DOUBLE_PRECISION,
++          CALL MPI_ALLREDUCE( [TEMP1], buf2, 1, MPI_DOUBLE_PRECISION,
+      $                        MPI_MAX, ICTXT, IDUMM )
+-*         CALL DGAMX2D( ICTXT, 'All', ' ', 1, 1, TEMP, 1, IDUMM,
++*         CALL DGAMX2D( ICTXT, 'All', ' ', 1, 1, buf2(1), 1, IDUMM,
+ *     $                 IDUMM, 1, -1, IDUMM )
+       ELSE IF( LSAME( CMACH, 'L' ).OR.LSAME( CMACH, 'O' ) ) THEN
+-          CALL MPI_ALLREDUCE( TEMP1, TEMP, 1, MPI_DOUBLE_PRECISION,
++          CALL MPI_ALLREDUCE( [TEMP1], buf2, 1, MPI_DOUBLE_PRECISION,
+      $                        MPI_MIN, ICTXT, IDUMM )
+-*         CALL DGAMN2D( ICTXT, 'All', ' ', 1, 1, TEMP, 1, IDUMM,
++*         CALL DGAMN2D( ICTXT, 'All', ' ', 1, 1, buf2(1), 1, IDUMM,
+ *     $                 IDUMM, 1, -1, IDUMM )
+       ELSE
+-          TEMP = TEMP1
++          buf2(1) = TEMP1
+       END IF
+ *
++      TEMP = buf2(1)
+       PDLAMCH10 = TEMP
+ *
+ *     End of PDLAMCH10
+diff --git a/PARPACK/SRC/MPI/pdnaitr.f b/PARPACK/SRC/MPI/pdnaitr.f
+index f531fe1e..3c71ff93 100644
+--- a/PARPACK/SRC/MPI/pdnaitr.f
++++ b/PARPACK/SRC/MPI/pdnaitr.f
+@@ -276,7 +276,7 @@ subroutine pdnaitr
+      &           betaj, rnorm1, smlnum, ulp, unfl, wnorm
+ c
+       Double precision
+-     &           rnorm_buf
++     &           rnorm_buf, buf2(1)
+ c
+ c
+ c     %-----------------------%
+@@ -393,9 +393,9 @@ subroutine pdnaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call pdvout (comm, logfil, 1, rnorm, ndigit,
++            call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -415,7 +415,7 @@ subroutine pdnaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, j, ndigit,
++               call pivout (comm, logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -566,9 +566,9 @@ subroutine pdnaitr
+ c
+          if (bmat .eq. 'G') then
+             rnorm_buf = ddot (n, resid, 1, workd(ipj), 1)
+-            call MPI_ALLREDUCE( rnorm_buf, wnorm, 1,
++            call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &           MPI_DOUBLE_PRECISION, MPI_SUM, comm, ierr )
+-            wnorm = sqrt(abs(wnorm))
++            wnorm = sqrt(abs(buf2(1)))
+          else if (bmat .eq. 'I') then
+             wnorm = pdnorm2( comm, n, resid, 1 )
+          end if
+@@ -642,9 +642,9 @@ subroutine pdnaitr
+ c
+          if (bmat .eq. 'G') then
+             rnorm_buf = ddot (n, resid, 1, workd(ipj), 1)
+-            call MPI_ALLREDUCE( rnorm_buf, rnorm, 1,
++            call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &           MPI_DOUBLE_PRECISION, MPI_SUM, comm, ierr )
+-            rnorm = sqrt(abs(rnorm))
++            rnorm = sqrt(abs(buf2(1)))
+          else if (bmat .eq. 'I') then
+             rnorm = pdnorm2( comm, n, resid, 1 )
+          end if
+@@ -745,15 +745,15 @@ subroutine pdnaitr
+ c
+          if (bmat .eq. 'G') then
+            rnorm_buf = ddot (n, resid, 1, workd(ipj), 1)
+-           call MPI_ALLREDUCE( rnorm_buf, rnorm1, 1,
++           call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &          MPI_DOUBLE_PRECISION, MPI_SUM, comm, ierr )
+-           rnorm1 = sqrt(abs(rnorm1))
++           rnorm1 = sqrt(abs(buf2(1)))
+          else if (bmat .eq. 'I') then
+            rnorm1 = pdnorm2( comm, n, resid, 1 )
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/PARPACK/SRC/MPI/pdnapps.f b/PARPACK/SRC/MPI/pdnapps.f
+index fb6f153f..b6ac3502 100644
+--- a/PARPACK/SRC/MPI/pdnapps.f
++++ b/PARPACK/SRC/MPI/pdnapps.f
+@@ -276,11 +276,11 @@ subroutine pdnapps
+          sigmai = shifti(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call pivout (comm, logfil, 1, jj, ndigit,
++            call pivout (comm, logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call pdvout (comm, logfil, 1, sigmar, ndigit,
++            call pdvout (comm, logfil, 1, [sigmar], ndigit,
+      &               '_napps: The real part of the shift ')
+-            call pdvout (comm, logfil, 1, sigmai, ndigit,
++            call pdvout (comm, logfil, 1, [sigmai], ndigit,
+      &               '_napps: The imaginary part of the shift ')
+          end if
+ c
+@@ -345,9 +345,9 @@ subroutine pdnapps
+      &         tst1 = dlanhs( '1', kplusp-jj+1, h, ldh, workl )
+             if( abs( h( i+1,i ) ).le.max( ulp*tst1, smlnum ) ) then
+                if (msglvl .gt. 0) then
+-                  call pivout (comm, logfil, 1, i, ndigit,
++                  call pivout (comm, logfil, 1, [i], ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call pivout (comm, logfil, 1, jj, ndigit,
++                  call pivout (comm, logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call pdvout (comm, logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -361,9 +361,9 @@ subroutine pdnapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call pivout (comm, logfil, 1, istart, ndigit,
++             call pivout (comm, logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call pivout (comm, logfil, 1, iend, ndigit,
++             call pivout (comm, logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -635,7 +635,7 @@ subroutine pdnapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call pdvout (comm, logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call pivout (comm, logfil, 1, kev, ndigit,
++         call pivout (comm, logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call pdmout (comm, logfil, kev, kev, h, ldh, ndigit,
+diff --git a/PARPACK/SRC/MPI/pdnaup2.f b/PARPACK/SRC/MPI/pdnaup2.f
+index d0f73738..c265380a 100644
+--- a/PARPACK/SRC/MPI/pdnaup2.f
++++ b/PARPACK/SRC/MPI/pdnaup2.f
+@@ -234,7 +234,7 @@ subroutine pdnaup2
+      &           nevbef, nev0 , np0   , nptemp, numcnv,
+      &           j
+       Double precision
+-     &           rnorm , temp , eps23
++     &           rnorm , temp , eps23, buf2(1)
+       save       cnorm , getv0, initv , update, ushift,
+      &           rnorm , iter , kplusp, msglvl, nconv,
+      &           nevbef, nev0 , np0   , eps23 , numcnv
+@@ -408,7 +408,7 @@ subroutine pdnaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, iter, ndigit,
++            call pivout (comm, logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -421,9 +421,9 @@ subroutine pdnaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, nev, ndigit,
++            call pivout (comm, logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -455,7 +455,7 @@ subroutine pdnaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call pdvout  (comm, logfil, 1, rnorm, ndigit,
++            call pdvout  (comm, logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -699,7 +699,7 @@ subroutine pdnaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, nconv, ndigit,
++            call pivout (comm, logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -751,7 +751,7 @@ subroutine pdnaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call pdvout  (comm, logfil, np, ritzr, ndigit,
+      &                  '_naup2: Real part of the shifts')
+@@ -810,16 +810,16 @@ subroutine pdnaup2
+ c
+          if (bmat .eq. 'G') then
+             rnorm_buf = ddot  (n, resid, 1, workd, 1)
+-            call MPI_ALLREDUCE( rnorm_buf, rnorm, 1,
++            call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &                MPI_DOUBLE_PRECISION , MPI_SUM, comm, ierr )
+-            rnorm = sqrt(abs(rnorm))
++            rnorm = sqrt(abs(buf2(1)))
+          else if (bmat .eq. 'I') then
+             rnorm = pdnorm2 ( comm, n, resid, 1 )
+          end if
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call pdvout  (comm, logfil, 1, rnorm, ndigit,
++            call pdvout  (comm, logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call pdmout  (comm, logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/PARPACK/SRC/MPI/pdnaupd.f b/PARPACK/SRC/MPI/pdnaupd.f
+index 1bf0fc12..231f9cab 100644
+--- a/PARPACK/SRC/MPI/pdnaupd.f
++++ b/PARPACK/SRC/MPI/pdnaupd.f
+@@ -650,9 +650,9 @@ subroutine pdnaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, mxiter, ndigit,
++         call pivout (comm, logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call pivout (comm, logfil, 1, np, ndigit,
++         call pivout (comm, logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call pdvout  (comm, logfil, np, workl(ritzr), ndigit,
+      &               '_naupd: Real part of the final Ritz values')
+diff --git a/PARPACK/SRC/MPI/pdneupd.f b/PARPACK/SRC/MPI/pdneupd.f
+index f80651e2..d5741956 100644
+--- a/PARPACK/SRC/MPI/pdneupd.f
++++ b/PARPACK/SRC/MPI/pdneupd.f
+@@ -617,9 +617,9 @@ subroutine pdneupd
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call pivout(comm, logfil, 1, numcnv, ndigit,
++             call pivout(comm, logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call pivout(comm, logfil, 1, nconv, ndigit,
++             call pivout(comm, logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/PARPACK/SRC/MPI/pdngets.f b/PARPACK/SRC/MPI/pdngets.f
+index 4ff35165..c4294b8c 100644
+--- a/PARPACK/SRC/MPI/pdngets.f
++++ b/PARPACK/SRC/MPI/pdngets.f
+@@ -226,8 +226,8 @@ subroutine pdngets
+       tngets = tngets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call pivout (comm, logfil, 1, np, ndigit, '_ngets: NP is')
++         call pivout (comm, logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call pivout (comm, logfil, 1, [np], ndigit, '_ngets: NP is')
+          call pdvout (comm, logfil, kev+np, ritzr, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix -- real part')
+          call pdvout (comm, logfil, kev+np, ritzi, ndigit,
+diff --git a/PARPACK/SRC/MPI/pdnorm2.f b/PARPACK/SRC/MPI/pdnorm2.f
+index 0e149585..5061d3d9 100644
+--- a/PARPACK/SRC/MPI/pdnorm2.f
++++ b/PARPACK/SRC/MPI/pdnorm2.f
+@@ -45,7 +45,7 @@ Double precision function pdnorm2 ( comm, n, x, inc )
+ c     %---------------%
+ c
+       Double precision
+-     &             max, buf, zero
++     &             max, buf, zero, buf2(1)
+       parameter    ( zero = 0.0 )
+ c
+ c     %---------------------%
+@@ -69,15 +69,16 @@ Double precision function pdnorm2 ( comm, n, x, inc )
+       pdnorm2 = dnrm2( n, x, inc)
+ c
+       buf = pdnorm2
+-      call MPI_ALLREDUCE( buf, max, 1, MPI_DOUBLE_PRECISION,
++      call MPI_ALLREDUCE( [buf], buf2, 1, MPI_DOUBLE_PRECISION,
+      &                    MPI_MAX, comm, ierr )
++      max = buf2(1)
+       if ( max .eq. zero ) then
+          pdnorm2 = zero
+       else
+          buf = (pdnorm2/max)**2.0
+-         call MPI_ALLREDUCE( buf, pdnorm2, 1, MPI_DOUBLE_PRECISION,
++         call MPI_ALLREDUCE( [buf], buf2, 1, MPI_DOUBLE_PRECISION,
+      &                       MPI_SUM, comm, ierr )
+-         pdnorm2 = max * sqrt(abs(pdnorm2))
++         pdnorm2 = max * sqrt(abs(buf2(1)))
+       endif
+ c
+ c     %----------------%
+diff --git a/PARPACK/SRC/MPI/pdsaitr.f b/PARPACK/SRC/MPI/pdsaitr.f
+index 5fe84b81..42396c11 100644
+--- a/PARPACK/SRC/MPI/pdsaitr.f
++++ b/PARPACK/SRC/MPI/pdsaitr.f
+@@ -264,7 +264,7 @@ subroutine pdsaitr
+       integer    i, ierr, ipj, irj, ivj, iter, itry, j, msglvl, infol,
+      &           jj
+       Double precision
+-     &           rnorm1, wnorm, safmin, temp1
++     &           rnorm1, wnorm, safmin, temp1, buf2(1)
+       save       orth1, orth2, rstart, step3, step4,
+      &           ierr, ipj, irj, ivj, iter, itry, j, msglvl,
+      &           rnorm1, safmin, wnorm
+@@ -392,9 +392,9 @@ subroutine pdsaitr
+  1000 continue
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &                  '_saitr: generating Arnoldi vector no.')
+-            call pdvout (comm, logfil, 1, rnorm, ndigit,
++            call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &                  '_saitr: B-norm of the current residual =')
+          end if
+ c
+@@ -412,7 +412,7 @@ subroutine pdsaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, j, ndigit,
++               call pivout (comm, logfil, 1, [j], ndigit,
+      &                     '_saitr: ****** restart at step ******')
+             end if
+ c
+@@ -572,14 +572,14 @@ subroutine pdsaitr
+ c           %----------------------------------%
+ c
+             rnorm_buf = ddot (n, resid, 1, workd(ivj), 1)
+-            call MPI_ALLREDUCE( rnorm_buf, wnorm, 1,
++            call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &           MPI_DOUBLE_PRECISION, MPI_SUM, comm, ierr )
+-            wnorm = sqrt(abs(wnorm))
++            wnorm = sqrt(abs(buf2(1)))
+          else if (bmat .eq. 'G') then
+             rnorm_buf = ddot (n, resid, 1, workd(ipj), 1)
+-            call MPI_ALLREDUCE( rnorm_buf, wnorm, 1,
++            call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &           MPI_DOUBLE_PRECISION, MPI_SUM, comm, ierr )
+-            wnorm = sqrt(abs(wnorm))
++            wnorm = sqrt(abs(buf2(1)))
+          else if (bmat .eq. 'I') then
+             wnorm = pdnorm2( comm, n, resid, 1 )
+          end if
+@@ -669,9 +669,9 @@ subroutine pdsaitr
+ c
+          if (bmat .eq. 'G') then
+             rnorm_buf = ddot (n, resid, 1, workd(ipj), 1)
+-            call MPI_ALLREDUCE( rnorm_buf, rnorm, 1,
++            call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &           MPI_DOUBLE_PRECISION, MPI_SUM, comm, ierr )
+-            rnorm = sqrt(abs(rnorm))
++            rnorm = sqrt(abs(buf2(1)))
+          else if (bmat .eq. 'I') then
+             rnorm = pdnorm2( comm, n, resid, 1 )
+          end if
+@@ -769,15 +769,15 @@ subroutine pdsaitr
+ c
+          if (bmat .eq. 'G') then
+            rnorm_buf = ddot (n, resid, 1, workd(ipj), 1)
+-           call MPI_ALLREDUCE( rnorm_buf, rnorm1, 1,
++           call MPI_ALLREDUCE( [rnorm_buf], buf2(1), 1,
+      &          MPI_DOUBLE_PRECISION, MPI_SUM, comm, ierr )
+-           rnorm1 = sqrt(abs(rnorm1))
++           rnorm1 = sqrt(abs(buf2(1)))
+          else if (bmat .eq. 'I') then
+            rnorm1 = pdnorm2( comm, n, resid, 1 )
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/PARPACK/SRC/MPI/pdsapps.f b/PARPACK/SRC/MPI/pdsapps.f
+index e79db4e3..3feb8da0 100644
+--- a/PARPACK/SRC/MPI/pdsapps.f
++++ b/PARPACK/SRC/MPI/pdsapps.f
+@@ -272,9 +272,9 @@ subroutine pdsapps
+             big   = abs(h(i,2)) + abs(h(i+1,2))
+             if (h(i+1,1) .le. epsmch*big) then
+                if (msglvl .gt. 0) then
+-                  call pivout (comm, logfil, 1, i, ndigit,
++                  call pivout (comm, logfil, 1, [i], ndigit,
+      &                 '_sapps: deflation at row/column no.')
+-                  call pivout (comm, logfil, 1, jj, ndigit,
++                  call pivout (comm, logfil, 1, [jj], ndigit,
+      &                 '_sapps: occurred before shift number.')
+                   call pdvout (comm, logfil, 1, h(i+1,1), ndigit,
+      &                 '_sapps: the corresponding off diagonal element')
+@@ -443,7 +443,7 @@ subroutine pdsapps
+          big   = abs(h(i,2)) + abs(h(i+1,2))
+          if (h(i+1,1) .le. epsmch*big) then
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, i, ndigit,
++               call pivout (comm, logfil, 1, [i], ndigit,
+      &              '_sapps: deflation at row/column no.')
+                call pdvout (comm, logfil, 1, h(i+1,1), ndigit,
+      &              '_sapps: the corresponding off diagonal element')
+diff --git a/PARPACK/SRC/MPI/pdsaup2.f b/PARPACK/SRC/MPI/pdsaup2.f
+index 820459b3..a575b33f 100644
+--- a/PARPACK/SRC/MPI/pdsaup2.f
++++ b/PARPACK/SRC/MPI/pdsaup2.f
+@@ -212,7 +212,7 @@ subroutine pdsaup2
+       integer    ido, info, ishift, iupd, ldh, ldq, ldv, mxiter,
+      &           n, mode, nev, np
+       Double precision
+-     &           tol
++     &           tol, buf2(1)
+ c
+ c     %-----------------%
+ c     | Array Arguments |
+@@ -424,13 +424,13 @@ subroutine pdsaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, iter, ndigit,
++            call pivout (comm, logfil, 1, [iter], ndigit,
+      &           '_saup2: **** Start of major iteration number ****')
+          end if
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, nev, ndigit,
++            call pivout (comm, logfil, 1, [nev], ndigit,
+      &     '_saup2: The length of the current Lanczos factorization')
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &           '_saup2: Extend the Lanczos factorization by')
+          end if
+ c
+@@ -469,7 +469,7 @@ subroutine pdsaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call pdvout (comm, logfil, 1, rnorm, ndigit,
++            call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &           '_saup2: Current B-norm of residual for factorization')
+          end if
+ c
+@@ -719,7 +719,7 @@ subroutine pdsaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, nconv, ndigit,
++            call pivout (comm, logfil, 1, [nconv], ndigit,
+      &           '_saup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -766,7 +766,7 @@ subroutine pdsaup2
+          if (ishift .eq. 0) call dcopy (np, workl, 1, ritz, 1)
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &                  '_saup2: The number of shifts to apply ')
+             call pdvout (comm, logfil, np, workl, ndigit,
+      &                  '_saup2: shifts selected')
+@@ -825,9 +825,9 @@ subroutine pdsaup2
+ c
+          if (bmat .eq. 'G') then
+             rnorm_buf = ddot (n, resid, 1, workd, 1)
+-            call MPI_ALLREDUCE( rnorm_buf, rnorm, 1,
++            call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &                MPI_DOUBLE_PRECISION, MPI_SUM, comm, ierr )
+-            rnorm = sqrt(abs(rnorm))
++            rnorm = sqrt(abs(buf2(1)))
+          else if (bmat .eq. 'I') then
+             rnorm = pdnorm2( comm, n, resid, 1 )
+          end if
+@@ -835,7 +835,7 @@ subroutine pdsaup2
+   130    continue
+ c
+          if (msglvl .gt. 2) then
+-            call pdvout (comm, logfil, 1, rnorm, ndigit,
++            call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &      '_saup2: B-norm of residual for NEV factorization')
+             call pdvout (comm, logfil, nev, h(1,2), ndigit,
+      &           '_saup2: main diagonal of compressed H matrix')
+diff --git a/PARPACK/SRC/MPI/pdsaupd.f b/PARPACK/SRC/MPI/pdsaupd.f
+index 47d05227..f505dc90 100644
+--- a/PARPACK/SRC/MPI/pdsaupd.f
++++ b/PARPACK/SRC/MPI/pdsaupd.f
+@@ -652,9 +652,9 @@ subroutine pdsaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, mxiter, ndigit,
++         call pivout (comm, logfil, 1, [mxiter], ndigit,
+      &               '_saupd: number of update iterations taken')
+-         call pivout (comm, logfil, 1, np, ndigit,
++         call pivout (comm, logfil, 1, [np], ndigit,
+      &               '_saupd: number of "converged" Ritz values')
+          call pdvout  (comm, logfil, np, workl(Ritz), ndigit,
+      &               '_saupd: final Ritz values')
+diff --git a/PARPACK/SRC/MPI/pdseupd.f b/PARPACK/SRC/MPI/pdseupd.f
+index 9e866ab7..66e85995 100644
+--- a/PARPACK/SRC/MPI/pdseupd.f
++++ b/PARPACK/SRC/MPI/pdseupd.f
+@@ -523,9 +523,9 @@ subroutine pdseupd
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call pivout(comm, logfil, 1, numcnv, ndigit,
++             call pivout(comm, logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call pivout(comm, logfil, 1, nconv, ndigit,
++             call pivout(comm, logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/PARPACK/SRC/MPI/pdsgets.f b/PARPACK/SRC/MPI/pdsgets.f
+index 01b52394..c71421b4 100644
+--- a/PARPACK/SRC/MPI/pdsgets.f
++++ b/PARPACK/SRC/MPI/pdsgets.f
+@@ -216,8 +216,8 @@ subroutine pdsgets
+       tsgets = tsgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, kev, ndigit, '_sgets: KEV is')
+-         call pivout (comm, logfil, 1, np, ndigit, '_sgets: NP is')
++         call pivout (comm, logfil, 1, [kev], ndigit, '_sgets: KEV is')
++         call pivout (comm, logfil, 1, [np], ndigit, '_sgets: NP is')
+          call pdvout (comm, logfil, kev+np, ritz, ndigit,
+      &        '_sgets: Eigenvalues of current H matrix')
+          call pdvout (comm, logfil, kev+np, bounds, ndigit,
+diff --git a/PARPACK/SRC/MPI/pdznorm2.f b/PARPACK/SRC/MPI/pdznorm2.f
+index 7a7173f3..4651679b 100644
+--- a/PARPACK/SRC/MPI/pdznorm2.f
++++ b/PARPACK/SRC/MPI/pdznorm2.f
+@@ -45,7 +45,7 @@ Double precision function pdznorm2 ( comm, n, x, inc )
+ c     %---------------%
+ c
+       Double precision
+-     &             max, buf, zero
++     &             max(1), buf, zero
+       parameter    ( zero = 0.0 )
+ c
+ c     %---------------------%
+@@ -59,7 +59,7 @@ Double precision function pdznorm2 ( comm, n, x, inc )
+ c     %--------------------%
+ c
+       Double precision
+-     &             dznrm2
++     &             dznrm2, buf2(1)
+       External     dznrm2
+ c
+ c     %-----------------------%
+@@ -69,15 +69,15 @@ Double precision function pdznorm2 ( comm, n, x, inc )
+       pdznorm2 = dznrm2( n, x, inc)
+ c
+       buf = pdznorm2
+-      call MPI_ALLREDUCE( buf, max, 1, MPI_DOUBLE_PRECISION,
++      call MPI_ALLREDUCE( [buf], max, 1, MPI_DOUBLE_PRECISION,
+      &                    MPI_MAX, comm, ierr )
+-      if ( max .eq. zero ) then
++      if ( max(1) .eq. zero ) then
+          pdznorm2 = zero
+       else
+-         buf = (pdznorm2/max)**2.0
+-         call MPI_ALLREDUCE( buf, pdznorm2, 1, MPI_DOUBLE_PRECISION,
++         buf = (pdznorm2/max(1))**2.0
++         call MPI_ALLREDUCE( [buf], buf2, 1, MPI_DOUBLE_PRECISION,
+      &                       MPI_SUM, comm, ierr )
+-         pdznorm2 = max * sqrt(abs(pdznorm2))
++         pdznorm2 = max(1) * sqrt(abs(buf2(1)))
+       endif
+ c
+ c     %-----------------%
+diff --git a/PARPACK/SRC/MPI/pscnorm2.f b/PARPACK/SRC/MPI/pscnorm2.f
+index 2c64831e..50dea8bd 100644
+--- a/PARPACK/SRC/MPI/pscnorm2.f
++++ b/PARPACK/SRC/MPI/pscnorm2.f
+@@ -45,7 +45,7 @@ Real function pscnorm2 ( comm, n, x, inc )
+ c     %---------------%
+ c
+       Real
+-     &             max, buf, zero
++     &             max(1), buf, zero
+       parameter    ( zero = 0.0 )
+ c
+ c     %---------------------%
+@@ -61,6 +61,7 @@ Real function pscnorm2 ( comm, n, x, inc )
+       Real
+      &             scnrm2
+       External     scnrm2
++      Real         buf2(1)
+ c
+ c     %-----------------------%
+ c     | Executable Statements |
+@@ -69,15 +70,15 @@ Real function pscnorm2 ( comm, n, x, inc )
+       pscnorm2 = scnrm2( n, x, inc)
+ c
+       buf = pscnorm2
+-      call MPI_ALLREDUCE( buf, max, 1, MPI_REAL,
++      call MPI_ALLREDUCE( [buf], max, 1, MPI_REAL,
+      &                    MPI_MAX, comm, ierr )
+-      if ( max .eq. zero ) then
++      if ( max(1) .eq. zero ) then
+          pscnorm2 = zero
+       else
+-         buf = (pscnorm2/max)**2.0
+-         call MPI_ALLREDUCE( buf, pscnorm2, 1, MPI_REAL,
++         buf = (pscnorm2/max(1))**2.0
++         call MPI_ALLREDUCE( [buf], buf2, 1, MPI_REAL,
+      &                       MPI_SUM, comm, ierr )
+-         pscnorm2 = max * sqrt(abs(pscnorm2))
++         pscnorm2 = max(1) * sqrt(abs(buf2(1)))
+       endif
+ c
+ c     %-----------------%
+diff --git a/PARPACK/SRC/MPI/psgetv0.f b/PARPACK/SRC/MPI/psgetv0.f
+index a721c9b9..597212b5 100644
+--- a/PARPACK/SRC/MPI/psgetv0.f
++++ b/PARPACK/SRC/MPI/psgetv0.f
+@@ -163,7 +163,7 @@ subroutine psgetv0
+ c
+       integer    ipntr(3)
+       Real
+-     &           resid(n), v(ldv,j), workd(2*n), workl(2*j)
++     &           resid(n), v(ldv,j), workd(2*n), workl(2*j), buf2(1)
+ c
+ c     %------------%
+ c     | Parameters |
+@@ -318,9 +318,9 @@ subroutine psgetv0
+       first = .FALSE.
+       if (bmat .eq. 'G') then
+           rnorm_buf = sdot (n, resid, 1, workd, 1)
+-          call MPI_ALLREDUCE( rnorm_buf, rnorm0, 1,
++          call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &          MPI_REAL, MPI_SUM, comm, ierr )
+-          rnorm0 = sqrt(abs(rnorm0))
++          rnorm0 = sqrt(abs(buf2(1)))
+       else if (bmat .eq. 'I') then
+           rnorm0 = psnorm2( comm, n, resid, 1 )
+       end if
+@@ -379,9 +379,9 @@ subroutine psgetv0
+ c
+       if (bmat .eq. 'G') then
+          rnorm_buf = sdot (n, resid, 1, workd, 1)
+-         call MPI_ALLREDUCE( rnorm_buf, rnorm, 1,
++         call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &            MPI_REAL, MPI_SUM, comm, ierr )
+-         rnorm = sqrt(abs(rnorm))
++         rnorm = sqrt(abs(buf2(1)))
+       else if (bmat .eq. 'I') then
+          rnorm = psnorm2( comm, n, resid, 1 )
+       end if
+@@ -391,9 +391,9 @@ subroutine psgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call psvout (comm, logfil, 1, rnorm0, ndigit,
++          call psvout (comm, logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call psvout (comm, logfil, 1, rnorm, ndigit,
++          call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+@@ -424,7 +424,7 @@ subroutine psgetv0
+    50 continue
+ c
+       if (msglvl .gt. 0) then
+-         call psvout (comm, logfil, 1, rnorm, ndigit,
++         call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &        '_getv0: B-norm of initial / restarted starting vector')
+       end if
+       if (msglvl .gt. 2) then
+diff --git a/PARPACK/SRC/MPI/pslamch10.f b/PARPACK/SRC/MPI/pslamch10.f
+index cd7215c5..c3c13b8e 100644
+--- a/PARPACK/SRC/MPI/pslamch10.f
++++ b/PARPACK/SRC/MPI/pslamch10.f
+@@ -53,7 +53,7 @@ REAL               FUNCTION PSLAMCH10( ICTXT, CMACH )
+ *
+ *     .. Local Scalars ..
+       INTEGER            IDUMM
+-      REAL               TEMP, TEMP1
++      REAL               TEMP, TEMP1, buf2(1)
+ *     ..
+ *     .. External Subroutines ..
+ *      EXTERNAL           SGAMN2D, SGAMX2D
+@@ -69,14 +69,16 @@ REAL               FUNCTION PSLAMCH10( ICTXT, CMACH )
+ *
+       IF( LSAME( CMACH, 'E' ).OR.LSAME( CMACH, 'S' ).OR.
+      $    LSAME( CMACH, 'M' ).OR.LSAME( CMACH, 'U' ) ) THEN
+-          CALL MPI_ALLREDUCE( TEMP1, TEMP, 1, MPI_REAL,
++          CALL MPI_ALLREDUCE( [TEMP1], buf2, 1, MPI_REAL,
+      $                        MPI_MAX, ICTXT, IDUMM )
+-*         CALL SGAMX2D( ICTXT, 'All', ' ', 1, 1, TEMP, 1, IDUMM,
++          TEMP = buf2(1)
++*     CALL SGAMX2D( ICTXT, 'All', ' ', 1, 1, TEMP, 1, IDUMM,
+ *     $                 IDUMM, 1, -1, IDUMM )
+       ELSE IF( LSAME( CMACH, 'L' ).OR.LSAME( CMACH, 'O' ) ) THEN
+-          CALL MPI_ALLREDUCE( TEMP1, TEMP, 1, MPI_REAL,
++          CALL MPI_ALLREDUCE( [TEMP1], buf2, 1, MPI_REAL,
+      $                        MPI_MIN, ICTXT, IDUMM )
+-*         CALL SGAMN2D( ICTXT, 'All', ' ', 1, 1, TEMP, 1, IDUMM,
++          TEMP = buf2(1)
++*     CALL SGAMN2D( ICTXT, 'All', ' ', 1, 1, TEMP, 1, IDUMM,
+ *     $                 IDUMM, 1, -1, IDUMM )
+       ELSE
+           TEMP = TEMP1
+diff --git a/PARPACK/SRC/MPI/psnaitr.f b/PARPACK/SRC/MPI/psnaitr.f
+index ab63f99a..8b5f635d 100644
+--- a/PARPACK/SRC/MPI/psnaitr.f
++++ b/PARPACK/SRC/MPI/psnaitr.f
+@@ -276,7 +276,7 @@ subroutine psnaitr
+      &           betaj, rnorm1, smlnum, ulp, unfl, wnorm
+ c
+       Real
+-     &           rnorm_buf
++     &           rnorm_buf, buf2(1)
+ c
+ c
+ c     %-----------------------%
+@@ -393,9 +393,9 @@ subroutine psnaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -415,7 +415,7 @@ subroutine psnaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, j, ndigit,
++               call pivout (comm, logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -566,9 +566,9 @@ subroutine psnaitr
+ c
+          if (bmat .eq. 'G') then
+             rnorm_buf = sdot (n, resid, 1, workd(ipj), 1)
+-            call MPI_ALLREDUCE( rnorm_buf, wnorm, 1,
++            call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &           MPI_REAL, MPI_SUM, comm, ierr )
+-            wnorm = sqrt(abs(wnorm))
++            wnorm = sqrt(abs(buf2(1)))
+          else if (bmat .eq. 'I') then
+             wnorm = psnorm2( comm, n, resid, 1 )
+          end if
+@@ -642,9 +642,9 @@ subroutine psnaitr
+ c
+          if (bmat .eq. 'G') then
+             rnorm_buf = sdot (n, resid, 1, workd(ipj), 1)
+-            call MPI_ALLREDUCE( rnorm_buf, rnorm, 1,
++            call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &           MPI_REAL, MPI_SUM, comm, ierr )
+-            rnorm = sqrt(abs(rnorm))
++            rnorm = sqrt(abs(buf2(1)))
+          else if (bmat .eq. 'I') then
+             rnorm = psnorm2( comm, n, resid, 1 )
+          end if
+@@ -745,15 +745,15 @@ subroutine psnaitr
+ c
+          if (bmat .eq. 'G') then
+            rnorm_buf = sdot (n, resid, 1, workd(ipj), 1)
+-           call MPI_ALLREDUCE( rnorm_buf, rnorm1, 1,
++           call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &          MPI_REAL, MPI_SUM, comm, ierr )
+-           rnorm1 = sqrt(abs(rnorm1))
++           rnorm1 = sqrt(abs(buf2(1)))
+          else if (bmat .eq. 'I') then
+            rnorm1 = psnorm2( comm, n, resid, 1 )
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/PARPACK/SRC/MPI/psnapps.f b/PARPACK/SRC/MPI/psnapps.f
+index c06fba58..b6f8645b 100644
+--- a/PARPACK/SRC/MPI/psnapps.f
++++ b/PARPACK/SRC/MPI/psnapps.f
+@@ -276,11 +276,11 @@ subroutine psnapps
+          sigmai = shifti(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call pivout (comm, logfil, 1, jj, ndigit,
++            call pivout (comm, logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call psvout (comm, logfil, 1, sigmar, ndigit,
++            call psvout (comm, logfil, 1, [sigmar], ndigit,
+      &               '_napps: The real part of the shift ')
+-            call psvout (comm, logfil, 1, sigmai, ndigit,
++            call psvout (comm, logfil, 1, [sigmai], ndigit,
+      &               '_napps: The imaginary part of the shift ')
+          end if
+ c
+@@ -345,9 +345,9 @@ subroutine psnapps
+      &         tst1 = slanhs( '1', kplusp-jj+1, h, ldh, workl )
+             if( abs( h( i+1,i ) ).le.max( ulp*tst1, smlnum ) ) then
+                if (msglvl .gt. 0) then
+-                  call pivout (comm, logfil, 1, i, ndigit,
++                  call pivout (comm, logfil, 1, [i], ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call pivout (comm, logfil, 1, jj, ndigit,
++                  call pivout (comm, logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call psvout (comm, logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -361,9 +361,9 @@ subroutine psnapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call pivout (comm, logfil, 1, istart, ndigit,
++             call pivout (comm, logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call pivout (comm, logfil, 1, iend, ndigit,
++             call pivout (comm, logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -635,7 +635,7 @@ subroutine psnapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call psvout (comm, logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call pivout (comm, logfil, 1, kev, ndigit,
++         call pivout (comm, logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call psmout (comm, logfil, kev, kev, h, ldh, ndigit,
+diff --git a/PARPACK/SRC/MPI/psnaup2.f b/PARPACK/SRC/MPI/psnaup2.f
+index 6195d4b6..bfca7fb1 100644
+--- a/PARPACK/SRC/MPI/psnaup2.f
++++ b/PARPACK/SRC/MPI/psnaup2.f
+@@ -241,7 +241,7 @@ subroutine psnaup2
+ c
+ 
+       Real
+-     &           rnorm_buf
++     &           rnorm_buf, buf2(1)
+ c
+ c     %-----------------------%
+ c     | Local array arguments |
+@@ -408,7 +408,7 @@ subroutine psnaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, iter, ndigit,
++            call pivout (comm, logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -421,9 +421,9 @@ subroutine psnaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, nev, ndigit,
++            call pivout (comm, logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -455,7 +455,7 @@ subroutine psnaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -699,7 +699,7 @@ subroutine psnaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, nconv, ndigit,
++            call pivout (comm, logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -751,7 +751,7 @@ subroutine psnaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call psvout (comm, logfil, np, ritzr, ndigit,
+      &                  '_naup2: Real part of the shifts')
+@@ -810,16 +810,16 @@ subroutine psnaup2
+ c
+          if (bmat .eq. 'G') then
+             rnorm_buf = sdot (n, resid, 1, workd, 1)
+-            call MPI_ALLREDUCE( rnorm_buf, rnorm, 1,
++            call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &                MPI_REAL, MPI_SUM, comm, ierr )
+-            rnorm = sqrt(abs(rnorm))
++            rnorm = sqrt(abs(buf2(1)))
+          else if (bmat .eq. 'I') then
+             rnorm = psnorm2( comm, n, resid, 1 )
+          end if
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call psmout (comm, logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/PARPACK/SRC/MPI/psnaupd.f b/PARPACK/SRC/MPI/psnaupd.f
+index a55f5fba..35e85b74 100644
+--- a/PARPACK/SRC/MPI/psnaupd.f
++++ b/PARPACK/SRC/MPI/psnaupd.f
+@@ -650,9 +650,9 @@ subroutine psnaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, mxiter, ndigit,
++         call pivout (comm, logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call pivout (comm, logfil, 1, np, ndigit,
++         call pivout (comm, logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call psvout (comm, logfil, np, workl(ritzr), ndigit,
+      &               '_naupd: Real part of the final Ritz values')
+diff --git a/PARPACK/SRC/MPI/psneupd.f b/PARPACK/SRC/MPI/psneupd.f
+index c7f939a4..d4090b66 100644
+--- a/PARPACK/SRC/MPI/psneupd.f
++++ b/PARPACK/SRC/MPI/psneupd.f
+@@ -617,9 +617,9 @@ subroutine psneupd
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call pivout(comm, logfil, 1, numcnv, ndigit,
++             call pivout(comm, logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call pivout(comm, logfil, 1, nconv, ndigit,
++             call pivout(comm, logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/PARPACK/SRC/MPI/psngets.f b/PARPACK/SRC/MPI/psngets.f
+index c4bf9ac7..91a6d730 100644
+--- a/PARPACK/SRC/MPI/psngets.f
++++ b/PARPACK/SRC/MPI/psngets.f
+@@ -226,8 +226,8 @@ subroutine psngets
+       tngets = tngets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call pivout (comm, logfil, 1, np, ndigit, '_ngets: NP is')
++         call pivout (comm, logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call pivout (comm, logfil, 1, [np], ndigit, '_ngets: NP is')
+          call psvout (comm, logfil, kev+np, ritzr, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix -- real part')
+          call psvout (comm, logfil, kev+np, ritzi, ndigit,
+diff --git a/PARPACK/SRC/MPI/psnorm2.f b/PARPACK/SRC/MPI/psnorm2.f
+index b5fbcd13..8e487b35 100644
+--- a/PARPACK/SRC/MPI/psnorm2.f
++++ b/PARPACK/SRC/MPI/psnorm2.f
+@@ -45,7 +45,7 @@ Real function psnorm2 ( comm, n, x, inc )
+ c     %---------------%
+ c
+       Real
+-     &             max, buf, zero
++     &             max, buf, zero, buf2(1)
+       parameter    ( zero = 0.0 )
+ c
+ c     %---------------------%
+@@ -69,15 +69,16 @@ Real function psnorm2 ( comm, n, x, inc )
+       psnorm2 = snrm2( n, x, inc)
+ c
+       buf = psnorm2
+-      call MPI_ALLREDUCE( buf, max, 1, MPI_REAL,
++      call MPI_ALLREDUCE( [buf], buf2, 1, MPI_REAL,
+      &                    MPI_MAX, comm, ierr )
++      max = buf2(1)
+       if ( max .eq. zero ) then
+          psnorm2 = zero
+       else
+          buf = (psnorm2/max)**2.0
+-         call MPI_ALLREDUCE( buf, psnorm2, 1, MPI_REAL,
++         call MPI_ALLREDUCE( [buf], buf2, 1, MPI_REAL,
+      &                       MPI_SUM, comm, ierr )
+-         psnorm2 = max * sqrt(abs(psnorm2))
++         psnorm2 = max * sqrt(abs(buf2(1)))
+       endif
+ c
+ c     %----------------%
+diff --git a/PARPACK/SRC/MPI/pssaitr.f b/PARPACK/SRC/MPI/pssaitr.f
+index a0fde737..8ceaebe4 100644
+--- a/PARPACK/SRC/MPI/pssaitr.f
++++ b/PARPACK/SRC/MPI/pssaitr.f
+@@ -264,7 +264,7 @@ subroutine pssaitr
+       integer    i, ierr, ipj, irj, ivj, iter, itry, j, msglvl, infol,
+      &           jj
+       Real
+-     &           rnorm1, wnorm, safmin, temp1
++     &           rnorm1, wnorm(1), safmin, temp1, temp2(1)
+       save       orth1, orth2, rstart, step3, step4,
+      &           ierr, ipj, irj, ivj, iter, itry, j, msglvl,
+      &           rnorm1, safmin, wnorm
+@@ -392,9 +392,9 @@ subroutine pssaitr
+  1000 continue
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &                  '_saitr: generating Arnoldi vector no.')
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &                  '_saitr: B-norm of the current residual =')
+          end if
+ c
+@@ -412,7 +412,7 @@ subroutine pssaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, j, ndigit,
++               call pivout (comm, logfil, 1, [j], ndigit,
+      &                     '_saitr: ****** restart at step ******')
+             end if
+ c
+@@ -572,16 +572,16 @@ subroutine pssaitr
+ c           %----------------------------------%
+ c
+             rnorm_buf = sdot (n, resid, 1, workd(ivj), 1)
+-            call MPI_ALLREDUCE( rnorm_buf, wnorm, 1,
++            call MPI_ALLREDUCE( [rnorm_buf], wnorm, 1,
+      &           MPI_REAL, MPI_SUM, comm, ierr )
+-            wnorm = sqrt(abs(wnorm))
++            wnorm(1) = sqrt(abs(wnorm(1)))
+          else if (bmat .eq. 'G') then
+             rnorm_buf = sdot (n, resid, 1, workd(ipj), 1)
+-            call MPI_ALLREDUCE( rnorm_buf, wnorm, 1,
++            call MPI_ALLREDUCE( [rnorm_buf], wnorm, 1,
+      &           MPI_REAL, MPI_SUM, comm, ierr )
+             wnorm = sqrt(abs(wnorm))
+          else if (bmat .eq. 'I') then
+-            wnorm = psnorm2( comm, n, resid, 1 )
++            wnorm(1) = psnorm2( comm, n, resid, 1 )
+          end if
+ c
+ c        %-----------------------------------------%
+@@ -669,9 +669,9 @@ subroutine pssaitr
+ c
+          if (bmat .eq. 'G') then
+             rnorm_buf = sdot (n, resid, 1, workd(ipj), 1)
+-            call MPI_ALLREDUCE( rnorm_buf, rnorm, 1,
++            call MPI_ALLREDUCE( [rnorm_buf], temp2, 1,
+      &           MPI_REAL, MPI_SUM, comm, ierr )
+-            rnorm = sqrt(abs(rnorm))
++            rnorm = sqrt(abs(temp2(1)))
+          else if (bmat .eq. 'I') then
+             rnorm = psnorm2( comm, n, resid, 1 )
+          end if
+@@ -691,7 +691,7 @@ subroutine pssaitr
+ c        | to enforce ||v(:,1:j)^T * r_{j}|| .le. eps * || r_{j} ||  |
+ c        %-----------------------------------------------------------%
+ c
+-         if (rnorm .gt. 0.717*wnorm) go to 100
++         if (rnorm .gt. 0.717*wnorm(1)) go to 100
+          nrorth = nrorth + 1
+ c
+ c        %---------------------------------------------------%
+@@ -704,7 +704,7 @@ subroutine pssaitr
+    80    continue
+ c
+          if (msglvl .gt. 2) then
+-            xtemp(1) = wnorm
++            xtemp(1) = wnorm(1)
+             xtemp(2) = rnorm
+             call psvout (comm, logfil, 2, xtemp, ndigit,
+      &           '_naitr: re-orthonalization ; wnorm and rnorm are')
+@@ -769,15 +769,15 @@ subroutine pssaitr
+ c
+          if (bmat .eq. 'G') then
+            rnorm_buf = sdot (n, resid, 1, workd(ipj), 1)
+-           call MPI_ALLREDUCE( rnorm_buf, rnorm1, 1,
++           call MPI_ALLREDUCE( [rnorm_buf], temp2, 1,
+      &          MPI_REAL, MPI_SUM, comm, ierr )
+-           rnorm1 = sqrt(abs(rnorm1))
++           rnorm1 = sqrt(abs(temp2(1)))
+          else if (bmat .eq. 'I') then
+            rnorm1 = psnorm2( comm, n, resid, 1 )
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 xtemp(1) = rnorm
+diff --git a/PARPACK/SRC/MPI/pssapps.f b/PARPACK/SRC/MPI/pssapps.f
+index 481cc355..07f96452 100644
+--- a/PARPACK/SRC/MPI/pssapps.f
++++ b/PARPACK/SRC/MPI/pssapps.f
+@@ -271,9 +271,9 @@ subroutine pssapps
+             big   = abs(h(i,2)) + abs(h(i+1,2))
+             if (h(i+1,1) .le. epsmch*big) then
+                if (msglvl .gt. 0) then
+-                  call pivout (comm, logfil, 1, i, ndigit,
++                  call pivout (comm, logfil, 1, [i], ndigit,
+      &                 '_sapps: deflation at row/column no.')
+-                  call pivout (comm, logfil, 1, jj, ndigit,
++                  call pivout (comm, logfil, 1, [jj], ndigit,
+      &                 '_sapps: occurred before shift number.')
+                   call psvout (comm, logfil, 1, h(i+1,1), ndigit,
+      &                 '_sapps: the corresponding off diagonal element')
+@@ -442,7 +442,7 @@ subroutine pssapps
+          big   = abs(h(i,2)) + abs(h(i+1,2))
+          if (h(i+1,1) .le. epsmch*big) then
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, i, ndigit,
++               call pivout (comm, logfil, 1, [i], ndigit,
+      &              '_sapps: deflation at row/column no.')
+                call psvout (comm, logfil, 1, h(i+1,1), ndigit,
+      &              '_sapps: the corresponding off diagonal element')
+diff --git a/PARPACK/SRC/MPI/pssaup2.f b/PARPACK/SRC/MPI/pssaup2.f
+index ab00ec77..25af8b7f 100644
+--- a/PARPACK/SRC/MPI/pssaup2.f
++++ b/PARPACK/SRC/MPI/pssaup2.f
+@@ -241,7 +241,7 @@ subroutine pssaup2
+       integer    ierr, iter, j, kplusp, msglvl, nconv, nevbef, nev0,
+      &           np0, nptemp, nevd2, nevm2, kp(3)
+       Real
+-     &           rnorm, temp, eps23
++     &           rnorm, temp, eps23, buf2(1)
+       save       cnorm, getv0, initv, update, ushift,
+      &           iter, kplusp, msglvl, nconv, nev0, np0,
+      &           rnorm, eps23
+@@ -424,13 +424,13 @@ subroutine pssaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, iter, ndigit,
++            call pivout (comm, logfil, 1, [iter], ndigit,
+      &           '_saup2: **** Start of major iteration number ****')
+          end if
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, nev, ndigit,
++            call pivout (comm, logfil, 1, [nev], ndigit,
+      &     '_saup2: The length of the current Lanczos factorization')
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &           '_saup2: Extend the Lanczos factorization by')
+          end if
+ c
+@@ -469,7 +469,7 @@ subroutine pssaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &           '_saup2: Current B-norm of residual for factorization')
+          end if
+ c
+@@ -719,7 +719,7 @@ subroutine pssaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, nconv, ndigit,
++            call pivout (comm, logfil, 1, [nconv], ndigit,
+      &           '_saup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -766,7 +766,7 @@ subroutine pssaup2
+          if (ishift .eq. 0) call scopy (np, workl, 1, ritz, 1)
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &                  '_saup2: The number of shifts to apply ')
+             call psvout (comm, logfil, np, workl, ndigit,
+      &                  '_saup2: shifts selected')
+@@ -825,9 +825,9 @@ subroutine pssaup2
+ c
+          if (bmat .eq. 'G') then
+             rnorm_buf = sdot (n, resid, 1, workd, 1)
+-            call MPI_ALLREDUCE( rnorm_buf, rnorm, 1,
++            call MPI_ALLREDUCE( [rnorm_buf], buf2, 1,
+      &                MPI_REAL, MPI_SUM, comm, ierr )
+-            rnorm = sqrt(abs(rnorm))
++            rnorm = sqrt(abs(buf2(1)))
+          else if (bmat .eq. 'I') then
+             rnorm = psnorm2( comm, n, resid, 1 )
+          end if
+@@ -835,7 +835,7 @@ subroutine pssaup2
+   130    continue
+ c
+          if (msglvl .gt. 2) then
+-            call psvout (comm, logfil, 1, rnorm, ndigit,
++            call psvout (comm, logfil, 1, [rnorm], ndigit,
+      &      '_saup2: B-norm of residual for NEV factorization')
+             call psvout (comm, logfil, nev, h(1,2), ndigit,
+      &           '_saup2: main diagonal of compressed H matrix')
+diff --git a/PARPACK/SRC/MPI/pssaupd.f b/PARPACK/SRC/MPI/pssaupd.f
+index 7f616008..3077ff5f 100644
+--- a/PARPACK/SRC/MPI/pssaupd.f
++++ b/PARPACK/SRC/MPI/pssaupd.f
+@@ -652,9 +652,9 @@ subroutine pssaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, mxiter, ndigit,
++         call pivout (comm, logfil, 1, [mxiter], ndigit,
+      &               '_saupd: number of update iterations taken')
+-         call pivout (comm, logfil, 1, np, ndigit,
++         call pivout (comm, logfil, 1, [np], ndigit,
+      &               '_saupd: number of "converged" Ritz values')
+          call psvout (comm, logfil, np, workl(Ritz), ndigit,
+      &               '_saupd: final Ritz values')
+diff --git a/PARPACK/SRC/MPI/psseupd.f b/PARPACK/SRC/MPI/psseupd.f
+index 23e2caad..85175870 100644
+--- a/PARPACK/SRC/MPI/psseupd.f
++++ b/PARPACK/SRC/MPI/psseupd.f
+@@ -523,9 +523,9 @@ subroutine psseupd
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call pivout(comm, logfil, 1, numcnv, ndigit,
++             call pivout(comm, logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call pivout(comm, logfil, 1, nconv, ndigit,
++             call pivout(comm, logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/PARPACK/SRC/MPI/pssgets.f b/PARPACK/SRC/MPI/pssgets.f
+index 487689b0..dcc08bcb 100644
+--- a/PARPACK/SRC/MPI/pssgets.f
++++ b/PARPACK/SRC/MPI/pssgets.f
+@@ -216,8 +216,8 @@ subroutine pssgets
+       tsgets = tsgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, kev, ndigit, '_sgets: KEV is')
+-         call pivout (comm, logfil, 1, np, ndigit, '_sgets: NP is')
++         call pivout (comm, logfil, 1, [kev], ndigit, '_sgets: KEV is')
++         call pivout (comm, logfil, 1, [np], ndigit, '_sgets: NP is')
+          call psvout (comm, logfil, kev+np, ritz, ndigit,
+      &        '_sgets: Eigenvalues of current H matrix')
+          call psvout (comm, logfil, kev+np, bounds, ndigit,
+diff --git a/PARPACK/SRC/MPI/pzgetv0.f b/PARPACK/SRC/MPI/pzgetv0.f
+index 42cd0865..29f18f5b 100644
+--- a/PARPACK/SRC/MPI/pzgetv0.f
++++ b/PARPACK/SRC/MPI/pzgetv0.f
+@@ -185,7 +185,7 @@ subroutine pzgetv0
+       save       first, iseed, inits, iter, msglvl, orth, rnorm0
+ c
+       Complex*16
+-     &           cnorm_buf
++     &           cnorm_buf, buf2(1)
+ c
+ c     %----------------------%
+ c     | External Subroutines |
+@@ -332,8 +332,9 @@ subroutine pzgetv0
+       first = .FALSE.
+       if (bmat .eq. 'G') then
+           cnorm_buf = zdotc  (n, resid, 1, workd, 1)
+-          call MPI_ALLREDUCE( cnorm_buf, cnorm, 1,
++          call MPI_ALLREDUCE( [cnorm_buf], buf2, 1,
+      &          MPI_DOUBLE_COMPLEX , MPI_SUM, comm, ierr )
++          cnorm = buf2(1)
+           rnorm0 = sqrt(dlapy2 (dble (cnorm),dimag (cnorm)))
+       else if (bmat .eq. 'I') then
+            rnorm0 = pdznorm2 ( comm, n, resid, 1)
+@@ -393,8 +394,9 @@ subroutine pzgetv0
+ c
+       if (bmat .eq. 'G') then
+          cnorm_buf = zdotc  (n, resid, 1, workd, 1)
+-         call MPI_ALLREDUCE( cnorm_buf, cnorm, 1,
++         call MPI_ALLREDUCE( [cnorm_buf], buf2, 1,
+      &            MPI_DOUBLE_COMPLEX , MPI_SUM, comm, ierr )
++         cnorm = buf2(1)
+          rnorm = sqrt(dlapy2 (dble (cnorm),dimag (cnorm)))
+       else if (bmat .eq. 'I') then
+          rnorm = pdznorm2 (comm, n, resid, 1)
+@@ -405,9 +407,9 @@ subroutine pzgetv0
+ c     %--------------------------------------%
+ c
+       if (msglvl .gt. 2) then
+-          call pdvout  (comm, logfil, 1, rnorm0, ndigit,
++          call pdvout  (comm, logfil, 1, [rnorm0], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm0 is')
+-          call pdvout  (comm, logfil, 1, rnorm, ndigit,
++          call pdvout  (comm, logfil, 1, [rnorm], ndigit,
+      &                '_getv0: re-orthonalization ; rnorm is')
+       end if
+ c
+@@ -439,7 +441,7 @@ subroutine pzgetv0
+ c
+       if (msglvl .gt. 0) then
+          cnorm2 = dcmplx (rnorm,rzero)
+-         call pzvout  (comm, logfil, 1, cnorm2, ndigit,
++         call pzvout  (comm, logfil, 1, [cnorm2], ndigit,
+      &        '_getv0: B-norm of initial / restarted starting vector')
+       end if
+       if (msglvl .gt. 2) then
+diff --git a/PARPACK/SRC/MPI/pznaitr.f b/PARPACK/SRC/MPI/pznaitr.f
+index 0b8af181..4ec77e4e 100644
+--- a/PARPACK/SRC/MPI/pznaitr.f
++++ b/PARPACK/SRC/MPI/pznaitr.f
+@@ -293,7 +293,7 @@ subroutine pznaitr
+      &           betaj, rnorm1, smlnum, ulp, unfl, wnorm
+ c
+       Complex*16
+-     &           cnorm_buf
++     &           cnorm_buf, buf2(1)
+ c
+ c     %----------------------%
+ c     | External Subroutines |
+@@ -404,9 +404,9 @@ subroutine pznaitr
+  1000 continue
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &                  '_naitr: generating Arnoldi vector number')
+-            call pzvout (comm, logfil, 1, rnorm, ndigit,
++            call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &                  '_naitr: B-norm of the current residual is')
+          end if
+ c
+@@ -426,7 +426,7 @@ subroutine pznaitr
+ c           %---------------------------------------------------%
+ c
+             if (msglvl .gt. 0) then
+-               call pivout (comm, logfil, 1, j, ndigit,
++               call pivout (comm, logfil, 1, [j], ndigit,
+      &                     '_naitr: ****** RESTART AT STEP ******')
+             end if
+ c
+@@ -577,9 +577,10 @@ subroutine pznaitr
+ c
+          if (bmat .eq. 'G') then
+              cnorm_buf = zdotc (n, resid, 1, workd(ipj), 1)
+-            call MPI_ALLREDUCE( cnorm_buf, cnorm, 1,
++            call MPI_ALLREDUCE( [cnorm_buf], buf2, 1,
+      &           MPI_DOUBLE_COMPLEX, MPI_SUM, comm, ierr )
+-             wnorm = sqrt( dlapy2(dble(cnorm),dimag(cnorm)) )
++            cnorm = buf2(1)
++            wnorm = sqrt( dlapy2(dble(cnorm),dimag(cnorm)) )
+          else if (bmat .eq. 'I') then
+              wnorm = pdznorm2(comm, n, resid, 1)
+          end if
+@@ -653,8 +654,9 @@ subroutine pznaitr
+ c
+          if (bmat .eq. 'G') then
+             cnorm_buf = zdotc (n, resid, 1, workd(ipj), 1)
+-            call MPI_ALLREDUCE( cnorm_buf, cnorm, 1,
++            call MPI_ALLREDUCE( [cnorm_buf], buf2, 1,
+      &           MPI_DOUBLE_COMPLEX, MPI_SUM, comm, ierr )
++            cnorm = buf2(1)
+             rnorm = sqrt( dlapy2(dble(cnorm),dimag(cnorm)) )
+          else if (bmat .eq. 'I') then
+             rnorm = pdznorm2(comm, n, resid, 1)
+@@ -757,15 +759,16 @@ subroutine pznaitr
+ c
+          if (bmat .eq. 'G') then
+              cnorm_buf = zdotc (n, resid, 1, workd(ipj), 1)
+-            call MPI_ALLREDUCE( cnorm_buf, cnorm, 1,
++            call MPI_ALLREDUCE( [cnorm_buf], buf2, 1,
+      &           MPI_DOUBLE_COMPLEX, MPI_SUM, comm, ierr )
+-             rnorm1 = sqrt( dlapy2(dble(cnorm),dimag(cnorm)) )
++            cnorm = buf2(1)
++            rnorm1 = sqrt( dlapy2(dble(cnorm),dimag(cnorm)) )
+          else if (bmat .eq. 'I') then
+              rnorm1 = pdznorm2(comm, n, resid, 1)
+          end if
+ c
+          if (msglvl .gt. 0 .and. iter .gt. 0 ) then
+-            call pivout (comm, logfil, 1, j, ndigit,
++            call pivout (comm, logfil, 1, [j], ndigit,
+      &           '_naitr: Iterative refinement for Arnoldi residual')
+             if (msglvl .gt. 2) then
+                 rtemp(1) = rnorm
+diff --git a/PARPACK/SRC/MPI/pznapps.f b/PARPACK/SRC/MPI/pznapps.f
+index 3e00c903..4952544c 100644
+--- a/PARPACK/SRC/MPI/pznapps.f
++++ b/PARPACK/SRC/MPI/pznapps.f
+@@ -283,9 +283,9 @@ subroutine pznapps
+          sigma = shift(jj)
+ c
+          if (msglvl .gt. 2 ) then
+-            call pivout (comm, logfil, 1, jj, ndigit,
++            call pivout (comm, logfil, 1, [jj], ndigit,
+      &               '_napps: shift number.')
+-            call pzvout (comm, logfil, 1, sigma, ndigit,
++            call pzvout (comm, logfil, 1, [sigma], ndigit,
+      &               '_napps: Value of the shift ')
+          end if
+ c
+@@ -306,9 +306,9 @@ subroutine pznapps
+             if ( abs(dble(h(i+1,i)))
+      &           .le. max(ulp*tst1, smlnum) )  then
+                if (msglvl .gt. 0) then
+-                  call pivout (comm, logfil, 1, i, ndigit,
++                  call pivout (comm, logfil, 1, [i], ndigit,
+      &                 '_napps: matrix splitting at row/column no.')
+-                  call pivout (comm, logfil, 1, jj, ndigit,
++                  call pivout (comm, logfil, 1, [jj], ndigit,
+      &                 '_napps: matrix splitting with shift number.')
+                   call pzvout (comm, logfil, 1, h(i+1,i), ndigit,
+      &                 '_napps: off diagonal element.')
+@@ -322,9 +322,9 @@ subroutine pznapps
+    40    continue
+ c
+          if (msglvl .gt. 2) then
+-             call pivout (comm, logfil, 1, istart, ndigit,
++             call pivout (comm, logfil, 1, [istart], ndigit,
+      &                   '_napps: Start of current block ')
+-             call pivout (comm, logfil, 1, iend, ndigit,
++             call pivout (comm, logfil, 1, [iend], ndigit,
+      &                   '_napps: End of current block ')
+          end if
+ c
+@@ -500,7 +500,7 @@ subroutine pznapps
+      &        '_napps: sigmak = (e_{kev+p}^T*Q)*e_{kev}')
+          call pzvout (comm, logfil, 1, h(kev+1,kev), ndigit,
+      &        '_napps: betak = e_{kev+1}^T*H*e_{kev}')
+-         call pivout (comm, logfil, 1, kev, ndigit,
++         call pivout (comm, logfil, 1, [kev], ndigit,
+      &               '_napps: Order of the final Hessenberg matrix ')
+          if (msglvl .gt. 2) then
+             call pzmout (comm, logfil, kev, kev, h, ldh, ndigit,
+diff --git a/PARPACK/SRC/MPI/pznaup2.f b/PARPACK/SRC/MPI/pznaup2.f
+index bf3c2016..78521979 100644
+--- a/PARPACK/SRC/MPI/pznaup2.f
++++ b/PARPACK/SRC/MPI/pznaup2.f
+@@ -237,7 +237,7 @@ subroutine pznaup2
+      &           nevbef, nev0 , np0,    eps23
+ c
+       Double precision
+-     &           cmpnorm_buf
++     &           cmpnorm_buf, buf2(1)
+ c
+ c     %-----------------------%
+ c     | Local array arguments |
+@@ -401,7 +401,7 @@ subroutine pznaup2
+          iter = iter + 1
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, iter, ndigit,
++            call pivout (comm, logfil, 1, [iter], ndigit,
+      &           '_naup2: **** Start of major iteration number ****')
+          end if
+ c
+@@ -414,9 +414,9 @@ subroutine pznaup2
+          np  = kplusp - nev
+ c
+          if (msglvl .gt. 1) then
+-            call pivout (comm, logfil, 1, nev, ndigit,
++            call pivout (comm, logfil, 1, [nev], ndigit,
+      &     '_naup2: The length of the current Arnoldi factorization')
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &           '_naup2: Extend the Arnoldi factorization by')
+          end if
+ c
+@@ -443,7 +443,7 @@ subroutine pznaup2
+          update = .false.
+ c
+          if (msglvl .gt. 1) then
+-            call pdvout (comm, logfil, 1, rnorm, ndigit,
++            call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &           '_naup2: Corresponding B-norm of the residual')
+          end if
+ c
+@@ -674,7 +674,7 @@ subroutine pznaup2
+          end if
+ c
+          if (msglvl .gt. 0) then
+-            call pivout (comm, logfil, 1, nconv, ndigit,
++            call pivout (comm, logfil, 1, [nconv], ndigit,
+      &           '_naup2: no. of "converged" Ritz values at this iter.')
+             if (msglvl .gt. 1) then
+                kp(1) = nev
+@@ -714,7 +714,7 @@ subroutine pznaup2
+          end if
+ c
+          if (msglvl .gt. 2) then
+-            call pivout (comm, logfil, 1, np, ndigit,
++            call pivout (comm, logfil, 1, [np], ndigit,
+      &                  '_naup2: The number of shifts to apply ')
+             call pzvout (comm, logfil, np, ritz, ndigit,
+      &                  '_naup2: values of the shifts')
+@@ -771,8 +771,9 @@ subroutine pznaup2
+ c
+          if (bmat .eq. 'G') then
+             cmpnorm_buf = zdotc (n, resid, 1, workd, 1)
+-            call MPI_ALLREDUCE( cmpnorm_buf, cmpnorm, 1,
++            call MPI_ALLREDUCE( [cmpnorm_buf], buf2, 1,
+      &               MPI_DOUBLE_COMPLEX, MPI_SUM, comm, ierr )
++            cmpnorm = buf2(1)
+             rnorm = sqrt(dlapy2(dble(cmpnorm),dimag(cmpnorm)))
+          else if (bmat .eq. 'I') then
+             rnorm = pdznorm2(comm, n, resid, 1)
+@@ -780,7 +781,7 @@ subroutine pznaup2
+          cnorm = .false.
+ c
+          if (msglvl .gt. 2) then
+-            call pdvout (comm, logfil, 1, rnorm, ndigit,
++            call pdvout (comm, logfil, 1, [rnorm], ndigit,
+      &      '_naup2: B-norm of residual for compressed factorization')
+             call pzmout (comm, logfil, nev, nev, h, ldh, ndigit,
+      &        '_naup2: Compressed upper Hessenberg matrix H')
+diff --git a/PARPACK/SRC/MPI/pznaupd.f b/PARPACK/SRC/MPI/pznaupd.f
+index 979402b3..7d6ea4c4 100644
+--- a/PARPACK/SRC/MPI/pznaupd.f
++++ b/PARPACK/SRC/MPI/pznaupd.f
+@@ -626,9 +626,9 @@ subroutine pznaupd
+       if (info .eq. 2) info = 3
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, mxiter, ndigit,
++         call pivout (comm, logfil, 1, [mxiter], ndigit,
+      &               '_naupd: Number of update iterations taken')
+-         call pivout (comm, logfil, 1, np, ndigit,
++         call pivout (comm, logfil, 1, [np], ndigit,
+      &               '_naupd: Number of wanted "converged" Ritz values')
+          call pzvout  (comm, logfil, np, workl(ritz), ndigit,
+      &               '_naupd: The final Ritz values')
+diff --git a/PARPACK/SRC/MPI/pzneupd.f b/PARPACK/SRC/MPI/pzneupd.f
+index 4bb1173a..7b6e7fe1 100644
+--- a/PARPACK/SRC/MPI/pzneupd.f
++++ b/PARPACK/SRC/MPI/pzneupd.f
+@@ -558,9 +558,9 @@ subroutine pzneupd
+ c        %-----------------------------------------------------------%
+ c
+          if (msglvl .gt. 2) then
+-             call pivout(comm, logfil, 1, numcnv, ndigit,
++             call pivout(comm, logfil, 1, [numcnv], ndigit,
+      &            '_neupd: Number of specified eigenvalues')
+-             call pivout(comm, logfil, 1, nconv, ndigit,
++             call pivout(comm, logfil, 1, [nconv], ndigit,
+      &            '_neupd: Number of "converged" eigenvalues')
+          end if
+ c
+diff --git a/PARPACK/SRC/MPI/pzngets.f b/PARPACK/SRC/MPI/pzngets.f
+index 97bc4070..cb58f5ce 100644
+--- a/PARPACK/SRC/MPI/pzngets.f
++++ b/PARPACK/SRC/MPI/pzngets.f
+@@ -177,8 +177,8 @@ subroutine pzngets ( comm, ishift, which, kev, np, ritz, bounds)
+       tcgets = tcgets + (t1 - t0)
+ c
+       if (msglvl .gt. 0) then
+-         call pivout (comm, logfil, 1, kev, ndigit, '_ngets: KEV is')
+-         call pivout (comm, logfil, 1, np, ndigit, '_ngets: NP is')
++         call pivout (comm, logfil, 1, [kev], ndigit, '_ngets: KEV is')
++         call pivout (comm, logfil, 1, [np], ndigit, '_ngets: NP is')
+          call pzvout (comm, logfil, kev+np, ritz, ndigit,
+      &        '_ngets: Eigenvalues of current H matrix ')
+          call pzvout (comm, logfil, kev+np, bounds, ndigit,
+diff --git a/scripts/travis_fedora.sh b/scripts/travis_fedora.sh
+new file mode 100755
+index 00000000..0bfa5736
+--- /dev/null
++++ b/scripts/travis_fedora.sh
+@@ -0,0 +1,51 @@
++#!/bin/sh
++## -e : Make sure all errors cause the script to fail
++## -x be verbose; write what we are doing, as we do it
++set -ex
++## Should we init a container?
++if [ ".$1" = .setup ]
++then
++  # fedora
++  #   note: when you PR, docker-cp provides, in the container, the branch associated with the PR (not master where there's nothing new)
++  #         1. docker create --name mobydick IMAGE CMD        <=> create a container (= instance of image) but container is NOT yet started
++  #         2. docker cp -a ${TRAVIS_BUILD_DIR} mobydick:/tmp <=> copy git repository (CI worker, checkout-ed on PR branch) into the container
++  #                                                               note: docker-cp works only if copy from/to containers (not images)
++  #         3. docker start -a mobydick                       <=> start to run the container (initialized with docker-cp)
++    test . != ".$2" && mpi="$2" || mpi=openmpi
++    test . != ".$3" && version="$3" || version=latest
++    time sudo docker pull registry.fedoraproject.org/fedora:$version ||
++	sudo docker pull fedora:$version
++    time sudo docker create --name mobydick fedora:$version \
++	/tmp/arpack-ng/scripts/travis_fedora.sh $mpi
++    time sudo docker cp -a ${TRAVIS_BUILD_DIR} mobydick:/tmp
++    time sudo docker start -a mobydick ; e=$?
++    exit $e
++fi
++
++test . != ".$1" && mpi="$1" || mpi=openmpi
++
++## If we are called as root, setup everything
++if [ $UID -eq 0 ]
++then
++    time dnf -y upgrade
++    time dnf -y install environment-modules git \
++        gfortran openblas-devel cmake ${mpi}-devel make gcc-c++
++    useradd test
++    chown -R test /tmp
++    sudo -u test $0 $mpi
++## If we are called as normal user, run test
++else
++    . /etc/profile.d/modules.sh
++    module load mpi
++    export OMPI_MCA_rmaps_base_oversubscribe=yes
++    cd /tmp
++    cd arpack-ng
++    git status
++    git log -2
++    mkdir -p build && cd build
++    time cmake -DEXAMPLES=ON -DMPI=ON -DICB=ON ..
++    export VERBOSE=1
++    time make all
++    time make test
++    tail -n 300 ./Testing/Temporary/LastTest.log
++fi
--- a/src/arpack.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/arpack.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,58 +3,48 @@
 
 PKG             := arpack
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := c1ac96663916a4e11618e9557636ba1bd1a7b556
+$(PKG)_VERSION  := 3.7.0
+$(PKG)_CHECKSUM := cb5a6e1f3c5ab231440bbe30f4a0808d76215e93
 $(PKG)_SUBDIR   := $(PKG)-ng-$($(PKG)_VERSION)
-$(PKG)_FILE     := arpack-ng-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://forge.scilab.org/index.php/p/arpack-ng/downloads/get/$($(PKG)_FILE)
-ifeq ($(ENABLE_OPENBLAS),yes)
-  $(PKG)_DEPS     := openblas lapack
-else
-  $(PKG)_DEPS     := blas lapack
-endif
+$(PKG)_FILE     := arpack-ng_$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://github.com/opencollab/arpack-ng/archive/$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS     := blas lapack
+$(PKG)_DESTDIR  := '$(3)'
 
 ifeq ($(MXE_NATIVE_BUILD),yes)
   $(PKG)_CONFIGURE_ENV := LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)
 endif
 
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+  $(PKG)_DESTDIR := 
+endif
+
 ifeq ($(USE_PIC_FLAG),yes)
   $(PKG)_CONFIGURE_PIC_OPTION := --with-pic
 endif
 
-ifeq ($(ENABLE_64),yes)
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
   $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := FFLAGS="-g -O2 -fdefault-integer-8"
 endif
 
-ifeq ($(ENABLE_OPENBLAS),yes)
-  $(PKG)_BLAS_OPTION := --with-blas=openblas
-  $(PKG)_BLAS_LIB := openblas
-else
-  $(PKG)_BLAS_LIB := blas
-endif
-
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package arpack.' >&2;
-    echo $(arpack_VERSION)
+    $(WGET) -q -O- 'https://github.com/opencollab/arpack-ng/releases' | \
+    $(SED) -n 's,.*href="/opencollab/arpack-ng/archive/\([0-9][^"]*\)\.tar.*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
+    cd '$(1)' && '$(1)/bootstrap'
     mkdir '$(1)/.build'
     cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
         F77=$(MXE_F77) \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        --enable-static --disable-shared \
+        $(ENABLE_SHARED_OR_STATIC) \
 	$($(PKG)_CONFIGURE_PIC_OPTION) \
-        $($(PKG)_BLAS_OPTION) \
         --prefix='$(HOST_PREFIX)' \
         $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS) && $(CONFIGURE_POST_HOOK)
+
     $(MAKE) -C '$(1)/.build' -j '$(JOBS)'
-
-    if [ $(BUILD_STATIC) = yes ]; then \
-      $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'; \
-    fi
-
-    if [ $(BUILD_SHARED) = yes ]; then \
-      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/.build/.libs/libarpack.a' --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)' -llapack -l$($(PKG)_BLAS_LIB); \
-    fi
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$($(PKG)_DESTDIR)'
 endef
--- a/src/atk.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/atk.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := atk
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.8.0
 $(PKG)_CHECKSUM := e8a9dacd22b31a6cb733ce66fb1c220cc6720970
 $(PKG)_SUBDIR   := atk-$($(PKG)_VERSION)
 $(PKG)_FILE     := atk-$($(PKG)_VERSION).tar.xz
@@ -10,11 +11,10 @@
 $(PKG)_DEPS     := glib gettext
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/atk/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=ATK_\\([0-9]*_[0-9]*[02468]_[^<]*\\)'.*,\\1,p" | \
-    $(SED) 's,_,.,g' | \
-    head -1
+    $(WGET) -q -O- https://github.com/GNOME/atk/tags | \
+    $(SED) -n 's|.*releases/tag/ATK_\([^"]*\).*|\1|p' | \
+    $(SED) 's,_,.,g' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/atkmm.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/atkmm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := atkmm
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.22.6
 $(PKG)_CHECKSUM := 2af04a30dd1f6250d3d35f616bbc34c264b7b327
 $(PKG)_SUBDIR   := atkmm-$($(PKG)_VERSION)
 $(PKG)_FILE     := atkmm-$($(PKG)_VERSION).tar.xz
@@ -10,10 +11,9 @@
 $(PKG)_DEPS     := atk glibmm
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/atkmm/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n 's,.*<a[^>]*>\([0-9][^<]*\)<.*,\1,p' | \
-    head -1
+    $(WGET) -q -O- https://github.com/GNOME/atkmm/tags | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/aubio.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/aubio.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := aubio
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.3.2
 $(PKG)_CHECKSUM := 8ef7ccbf18a4fa6db712a9192acafc9c8d080978
 $(PKG)_SUBDIR   := aubio-$($(PKG)_VERSION)
 $(PKG)_FILE     := aubio-$($(PKG)_VERSION).tar.gz
--- a/src/bfd.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/bfd.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := bfd
 $(PKG)_IGNORE    = $(build-binutils_IGNORE)
+$(PKG)_VERSION  := 2.22
 $(PKG)_CHECKSUM  = $(build-binutils_CHECKSUM)
 $(PKG)_SUBDIR    = $(build-binutils_SUBDIR)
 $(PKG)_FILE      = $(build-binutils_FILE)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/biosig.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,68 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := biosig
+$(PKG)_WEBSITE  := http://biosig.sf.net/
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.1.0
+$(PKG)_CHECKSUM := 160df29da4007404fb79d9746a6f2c85a176a804
+$(PKG)_SUBDIR   := biosig-$($(PKG)_VERSION)
+$(PKG)_FILE     := biosig-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := https://sourceforge.net/projects/biosig/files/BioSig%20for%20C_C%2B%2B/src/$($(PKG)_FILE)
+$(PKG)_DEPS     := suitesparse zlib libb64 libiberty libiconv lapack tinyxml dcmtk
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://biosig.sourceforge.io/download.html' | \
+        $(SED) -n 's_.*>v\([0-9]\.[0-9]\.[0-9]\)<.*_\1_p' | \
+        head -1
+endef
+
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        ac_cv_func_malloc_0_nonnull=yes \
+        ac_cv_func_realloc_0_nonnull=yes \
+        --prefix=$(HOST_PREFIX) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS)
+
+    # make sure NDEBUG is defined
+    $(SED) -i '/NDEBUG/ s|#||g' '$(1)'/biosig4c++/Makefile
+
+    TARGET=$(TARGET) CROSS=$(TARGET) $(MAKE) -C '$(1)' lib tools
+
+    # build mexbiosig package (does not install package)
+    # TARGET='$(TARGET)' $(MAKE) -C '$(1)'/biosig4c++ mexbiosig
+
+    # install files
+    $(INSTALL) -m644 '$(1)/biosig4c++/biosig.h'             '$(HOST_INCDIR)/'
+    $(INSTALL) -m644 '$(1)/biosig4c++/biosig2.h'            '$(HOST_INCDIR)/'
+    $(INSTALL) -m644 '$(1)/biosig4c++/gdftime.h'            '$(HOST_INCDIR)/'
+    $(INSTALL) -m644 '$(1)/biosig4c++/biosig-dev.h'         '$(HOST_INCDIR)/'
+
+    $(INSTALL) -m644 '$(1)/biosig4c++/libbiosig.a'          '$(HOST_LIBDIR)/'
+    #$(INSTALL) -m644 '$(1)/biosig4c++/libbiosig.def'        '$(HOST_LIBDIR)/'
+    $(INSTALL) -m644 '$(1)/biosig4c++/libbiosig.dll.a'      '$(HOST_LIBDIR)/'
+    $(INSTALL) -m644 '$(1)/biosig4c++/libbiosig.dll'        '$(HOST_BINDIR)/'
+
+    $(INSTALL) -m644 '$(1)/biosig4c++/libgdf.a'             '$(HOST_LIBDIR)/'
+    #$(INSTALL) -m644 '$(1)/biosig4c++/libgdf.def'           '$(HOST_LIBDIR)/'
+    $(INSTALL) -m644 '$(1)/biosig4c++/libgdf.dll.a'         '$(HOST_LIBDIR)/'
+    $(INSTALL) -m644 '$(1)/biosig4c++/libgdf.dll'           '$(HOST_BINDIR)/'
+
+
+    $(INSTALL) -m644 '$(1)/biosig4c++/physicalunits.h'      '$(HOST_INCDIR)/'
+    $(INSTALL) -m644 '$(1)/biosig4c++/libphysicalunits.a'   '$(HOST_LIBDIR)/'
+    #$(INSTALL) -m644 '$(1)/biosig4c++/libphysicalunits.def' '$(HOST_LIBDIR)/'
+    $(INSTALL) -m644 '$(1)/biosig4c++/libphysicalunits.dll.a' '$(HOST_LIBDIR)/'
+    $(INSTALL) -m644 '$(1)/biosig4c++/libphysicalunits.dll' '$(HOST_BINDIR)/'
+
+    if [ "$(MXE_WINDOWS_BUILD)" == "yes" ]; then \
+        $(SED) -i '/^Libs:/ s/$$/ -liconv -lws2_32/' $(1)/biosig4c++/libbiosig.pc; \
+    fi
+    $(INSTALL) -m644 '$(1)/biosig4c++/libbiosig.pc'         '$(HOST_LIBDIR)/pkgconfig/'
+
+    # install biosig4matlab
+    # $(INSTALL) -d $(HOST_PREFIX)/share/biosig/matlab
+    # cp -r '$(1)'/biosig4matlab/* $(HOST_PREFIX)/share/biosig/matlab/
+endef
+
--- a/src/blas.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/blas.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,32 +3,47 @@
 
 PKG             := blas
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := a643b737c30a0a5b823e11e33c9d46a605122c61
-$(PKG)_SUBDIR   := BLAS
-$(PKG)_FILE     := $(PKG).tgz
+$(PKG)_VERSION  := 3.8.0
+$(PKG)_CHECKSUM := ee21dc04e563f50ccf173c957f98d2ff47702cb4
+$(PKG)_SUBDIR   := BLAS-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tgz
 $(PKG)_URL      := http://www.netlib.org/$(PKG)/$($(PKG)_FILE)
 $(PKG)_URL_2    := ftp://ftp.eq.uc.pt/pub/software/math/netlib/$(PKG)/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
-ifeq ($(ENABLE_64),yes)
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
   $(PKG)_DEFAULT_INTEGER_8_FLAG := -fdefault-integer-8
 endif
 
 define $(PKG)_UPDATE
-    echo 1
+    $(WGET) -q -O- ftp://ftp.eq.uc.pt/pub/software/math/netlib/blas/ | \
+    $(SED) -n 's|.*>blas-\([0-9\.]*\).tgz<.*|\1|p' | \
+    tail -1
 endef
 
+$(PKG)_TARGETS =  BLASLIB=libblas.a
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  $(PKG)_TARGETS += XERBLALIB=libxerbla.a
+  $(PKG)_LIBXERBLA = -lxerbla
+endif
+
 define $(PKG)_BUILD
     $(SED) -i 's,$$(FORTRAN),$(MXE_F77) $(MXE_F77_PICFLAG) $($(PKG)_DEFAULT_INTEGER_8_FLAG),g' '$(1)/Makefile'
-    $(MAKE) -C '$(1)' -j '$(JOBS)'
-    cd '$(1)' && $(MXE_AR) cr libblas.a *.o
+    $(MAKE) -C '$(1)' ARCH=$(MXE_AR) RANLIB=$(MXE_RANLIB) $($(PKG)_TARGETS) -j '$(JOBS)'
 
     if [ $(BUILD_SHARED) = yes ]; then \
-      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/libblas.a' --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)'; \
+      if [ -n "$($(PKG)_LIBXERBLA)" ]; then \
+        $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/libxerbla.a' --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)'; \
+        $(INSTALL) '$(3)/$(HOST_BINDIR)/libxerbla.dll' '$(3)$(HOST_BINDIR)/libxerbla-blas.dll'; \
+      fi; \
+      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/libblas.a' --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)' $($(PKG)_LIBXERBLA); \
     fi
 
     if [ $(BUILD_STATIC) = yes ]; then \
       $(INSTALL) -d '$(3)$(HOST_LIBDIR)'; \
       $(INSTALL) '$(1)/libblas.a' '$(3)$(HOST_LIBDIR)/'; \
+      if [ -n "$($(PKG)_LIBXERBLA)" ]; then \
+        $(INSTALL) '$(1)/libxerbla.a' '$(3)$(HOST_LIBDIR)/'; \
+      fi; \
     fi
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/blas_switch.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,61 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := blas_switch
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.0.7
+$(PKG)_CHECKSUM := b34a8b5aaf3a962cbdd6a16638aaf5f4c0fe66e1
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
+$(PKG)_URL      := https://github.com/lostbard/$(PKG)/archive/v$($(PKG)_VERSION).tar.gz
+
+
+ifeq ($(ENABLE_QT5),yes)
+      $(PKG)_DEPS     := qt5
+else
+      $(PKG)_DEPS     := qt
+endif
+
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+      $(PKG)_INSTALL_ROOT :=
+else
+      $(PKG)_INSTALL_ROOT := $(3)
+endif
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://github.com/lostbard/$(PKG)/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
+endef
+
+ifneq ($(MXE_NATIVE_BUILD),yes)
+  ifeq ($(MXE_SYSTEM),mingw)
+    ifeq ($(ENABLE_QT5),yes)
+       $(PKG)_QMAKE_SPEC_OPTION := -spec '$(BUILD_TOOLS_PREFIX)/mkspecs/win32-g++'
+    else
+       $(PKG)_QMAKE_SPEC_OPTION := -spec '$(HOST_PREFIX)/mkspecs/win32-g++'
+    endif
+  endif
+  ifeq ($(MXE_SYSTEM),msvc)
+    # FIXME: compute "2010" suffix dynamically
+    $(PKG)_QMAKE_SPEC_OPTION := -spec '$(HOST_LIBDIR)/qt4/mkspecs/win32-msvc2010'
+  endif
+endif
+
+define $(PKG)_BUILD
+    cd '$(1)' && \
+      '$(MXE_QMAKE)' -makefile \
+        $($(PKG)_QMAKE_SPEC_OPTION) \
+        QMAKE_UIC='$(MXE_UIC)' \
+        QMAKE_MOC='$(MXE_MOC)' \
+        QMAKE_LFLAGS=$(MXE_LDFLAGS) \
+        QMAKE_CXXFLAGS='-std=c++11'
+
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install INSTALL_ROOT='$($(PKG)_INSTALL_ROOT)'
+
+    if [ $(MXE_WINDOWS_BUILD) = yes ]; then \
+      $(INSTALL) -d '$(HOST_BINDIR)'; \
+      mv '$(HOST_PREFIX)/qt5/bin/blas_switch.exe' '$(HOST_BINDIR)/blas_switch.exe'; \
+    fi
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/boost-1-intrinsics-fix.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,37 @@
+This file is part of MXE.
+See index.html for further information.
+
+This patch has been taken from:
+http://pkgs.fedoraproject.org/cgit/mingw-boost.git/plain/boost-include-intrin-h-on-mingw-w64.patch
+
+--- a/boost/detail/interlocked.hpp.interlocked	2012-12-11 15:42:26.000000000 +0100
++++ b/boost/detail/interlocked.hpp	2013-07-21 15:22:56.082346444 +0200
+@@ -69,9 +69,9 @@
+ # define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
+     ((void*)BOOST_INTERLOCKED_EXCHANGE((long*)(dest),(long)(exchange)))
+ 
+-#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN )
++#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN ) || defined( __MINGW64_VERSION_MAJOR )
+ 
+-#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1600
++#if ( defined( BOOST_MSVC ) && BOOST_MSVC >= 1600 ) || defined( __MINGW64_VERSION_MAJOR )
+ 
+ #include <intrin.h>
+ 
+@@ -93,12 +93,16 @@
+ 
+ #endif
+ 
++# if defined( BOOST_MSVC )
++
+ # pragma intrinsic( _InterlockedIncrement )
+ # pragma intrinsic( _InterlockedDecrement )
+ # pragma intrinsic( _InterlockedCompareExchange )
+ # pragma intrinsic( _InterlockedExchange )
+ # pragma intrinsic( _InterlockedExchangeAdd )
+ 
++# endif
++
+ # if defined(_M_IA64) || defined(_M_AMD64)
+ 
+ extern "C" void* __cdecl _InterlockedCompareExchangePointer( void* volatile *, void*, void* );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/boost-2-winerror.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,17 @@
+This file is part of MXE.
+See index.html for further information.
+
+Fix WinError.h capitalization. See http://svn.boost.org/trac/boost/ticket/7081
+
+diff -ur a/boost/detail/win/basic_types.hpp b/boost/detail/win/basic_types.hpp
+--- a/boost/detail/win/basic_types.hpp	2011-03-25 02:20:55.000000000 +0100
++++ b/boost/detail/win/basic_types.hpp	2013-11-13 18:59:00.225614699 +0100
+@@ -14,7 +14,7 @@
+ #if defined( BOOST_USE_WINDOWS_H )
+ # include <windows.h>
+ #elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) ||  defined(__CYGWIN__)
+-# include <WinError.h>
++# include <winerror.h>
+ // @FIXME Which condition must be tested
+ # ifdef UNDER_CE
+ #  ifndef WINAPI
--- a/src/boost.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/boost.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,14 +3,15 @@
 
 PKG             := boost
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := cddd6b4526a09152ddc5db856463eaa1dc29c5d9
+$(PKG)_VERSION  := 1.53.0
+$(PKG)_CHECKSUM := e6dd1b62ceed0a51add3dda6f3fc3ce0f636a7f3
 $(PKG)_SUBDIR   := boost_$(subst .,_,$($(PKG)_VERSION))
 $(PKG)_FILE     := boost_$(subst .,_,$($(PKG)_VERSION)).tar.bz2
-$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/boost/boost/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_URL      := https://$(SOURCEFORGE_MIRROR)/project/boost/boost/$($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_DEPS     := zlib bzip2 expat
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.boost.org/users/download/' | \
+    $(WGET) -q -O- 'https://sourceforge.net/projects/boost/files/boost/' | \
     $(SED) -n 's,.*/boost/\([0-9][^"/]*\)/".*,\1,p' | \
     grep -v beta | \
     head -1
@@ -20,8 +21,8 @@
     # context switched library introduced in boost 1.51.0 does not build
     rm -r '$(1)/libs/context'
     # old version appears to interfere
-    rm -rf '$(HOST_INCDIR)/boost'
-    echo 'using gcc : : $(MXE_CXX) : <rc>$(MXE_WINDRES) <archiver>$(MXE_AR) ;' > '$(1)/user-config.jam'
+    rm -rf '$(HOST_INCDIR)/boost/'
+    echo 'using gcc : : $(MXE_CXX) : <rc>$(MXE_WINDRES) <archiver>$(MXE_AR) <ranlib>$(MXE_RANDLIB) ;' > '$(1)/user-config.jam'
     # compile boost jam
     cd '$(1)/tools/build/v2/engine' && ./build.sh
     cd '$(1)' && tools/build/v2/engine/bin.*/bjam \
@@ -30,9 +31,10 @@
         --user-config=user-config.jam \
         target-os=windows \
         threading=multi \
-        link=static \
+        link=$(if $(filter $(BUILD_STATIC),,yes),static,shared) \
         threadapi=win32 \
         --layout=tagged \
+        --disable-icu \
         --without-mpi \
         --without-python \
         --prefix='$(HOST_PREFIX)' \
@@ -43,9 +45,9 @@
         -sEXPAT_LIBPATH='$(HOST_LIBDIR)' \
         stage install
 
-    '$(MXE_CXX)' \
+    '$(TARGET)-g++' \
         -W -Wall -Werror -ansi -U__STRICT_ANSI__ -pedantic \
-        '$(2).cpp' -o '$(HOST_BINDIR)/test-boost.exe' \
+        '$(2).cpp' -o '$(1)/test-boost.exe' \
         -DBOOST_THREAD_USE_LIB \
         -lboost_serialization-mt \
         -lboost_thread_win32-mt \
--- a/src/build-autoconf.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/build-autoconf.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := build-autoconf
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.69
 $(PKG)_CHECKSUM := e891c3193029775e83e0534ac0ee0c4c711f6d23
 $(PKG)_SUBDIR   := autoconf-$($(PKG)_VERSION)
 $(PKG)_FILE     := autoconf-$($(PKG)_VERSION).tar.xz
@@ -17,8 +18,10 @@
 endif
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/autoconf/?C=M;O=D' | \
+    $(SED) -n 's,.*<a href="autoconf-\([0-9\.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/build-automake.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/build-automake.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,18 @@
 
 PKG             := build-automake
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 29d7832b148e2157e03ad0d3620fbb7f5a13bc21
+$(PKG)_VERSION  := 1.16.2
+$(PKG)_CHECKSUM := dbfc7e802a2f4a333cc406abe6f9e4df6260f0e3
 $(PKG)_SUBDIR   := automake-$($(PKG)_VERSION)
 $(PKG)_FILE     := automake-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/automake/$($(PKG)_FILE)
 $(PKG)_DEPS     := build-autoconf
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/automake/?C=M;O=D' | \
+    $(SED) -n 's,.*<a href="automake-\([0-9\.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/build-binutils.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/build-binutils.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,18 @@
 
 PKG             := build-binutils
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 587fca86f6c85949576f4536a90a3c76ffc1a3e1
+$(PKG)_VERSION  := 2.35.1
+$(PKG)_CHECKSUM := 45f7a96a2580a422f44b78317f0abf13935fecb6
 $(PKG)_SUBDIR   := binutils-$($(PKG)_VERSION)
-$(PKG)_FILE     := binutils-$($(PKG)_VERSION).tar.bz2
+$(PKG)_FILE     := binutils-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/binutils/$($(PKG)_FILE)
 $(PKG)_URL_2    := ftp://ftp.cs.tu-berlin.de/pub/gnu/binutils/$($(PKG)_FILE)
-ifeq ($(MXE_SYSTEM),mingw)
-  $(PKG)_DEPS     :=
-else
-  $(PKG)_DEPS     := build-gcc
+$(PKG)_DEPS     :=
+
+ifneq ($(MXE_NATIVE_BUILD),yes)
+  define $(PKG)_POST_BUILD
+    rm $(addprefix $(3)/$(HOST_PREFIX)/bin/, ar as dlltool ld ld.bfd nm objcopy objdump ranlib strip)
+  endef
 endif
 
 define $(PKG)_UPDATE
@@ -21,18 +24,27 @@
     head -1
 endef
 
+ifeq ($(MXE_NATIVE_BUILD),yes)
+  $(PKG)_DEPS += build-gcc
+else
+  $(PKG)_SYSDEP_CONFIGURE_OPTIONS := \
+    --target='$(TARGET)' \
+    --build='$(BUILD_SYSTEM)' \
+    --libdir='$(BUILD_TOOLS_PREFIX)/lib' \
+    --disable-multilib \
+    --with-sysroot='$(HOST_PREFIX)'
+endif
+
 define $(PKG)_BUILD
     # install config.guess for general use
-    $(INSTALL) -d '$(BUILD_TOOLS_PREFIX)/bin'
-    $(INSTALL) -m755 '$(1)/config.guess' '$(BUILD_TOOLS_PREFIX)/bin/'
+    $(INSTALL) -d '$(3)/$(BUILD_TOOLS_PREFIX)/bin'
+    $(INSTALL) -m755 '$(1)/config.guess' '$(3)/$(BUILD_TOOLS_PREFIX)/bin/'
 
-    # install target-specific autotools config file
-    $(INSTALL) -d '$(HOST_PREFIX)/share'
-    echo "ac_cv_build=`$(1)/config.guess`" > '$(HOST_PREFIX)/share/config.site'
+    $(INSTALL) -d '$(3)/$(HOST_PREFIX)/share'
+    echo "ac_cv_build=`$(1)/config.guess`" > '$(3)/$(HOST_PREFIX)/share/config.site'
 
     cd '$(1)' && ./configure \
-        --target='$(TARGET)' \
-        --build='$(BUILD_SYSTEM)' \
+        $($(PKG)_SYSDEP_CONFIGURE_OPTIONS) \
         --prefix='$(BUILD_TOOLS_PREFIX)' \
         --with-gcc \
         --with-gnu-ld \
@@ -41,6 +53,7 @@
         $(ENABLE_SHARED_OR_STATIC) \
         --disable-werror
     $(MAKE) -C '$(1)' -j '$(JOBS)'
-    $(MAKE) -C '$(1)' -j 1 install
-    $(MAKE) -C '$(1)' -j 1 DESTDIR=$(TOP_DIR)/cross-tools install
+    $(MAKE) -C '$(1)' -j 1 install DESTDIR='$(3)'
+
+    $($(PKG)_POST_BUILD)
 endef
--- a/src/build-bison.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/build-bison.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,18 @@
 
 PKG             := build-bison
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 00ab1b32d864622077c311e4f5420d4e2931fdc8
+$(PKG)_VERSION  := 3.5.4
+$(PKG)_CHECKSUM := 67279a74698e60093f57e1dec8e6236e0b194bb2
 $(PKG)_SUBDIR   := bison-$($(PKG)_VERSION)
 $(PKG)_FILE     := bison-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/bison/$($(PKG)_FILE)
 $(PKG)_DEPS     := build-xz
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/bison/?C=M;O=D' | \
+    $(SED) -n 's,.*<a href="bison-\([0-9\.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
@@ -19,5 +22,5 @@
     cd    '$(1).build' && '$(1)/configure' \
         --prefix='$(BUILD_TOOLS_PREFIX)'
     $(MAKE) -C '$(1).build' -j '$(JOBS)'
-    $(MAKE) -C '$(1).build' -j 1 install
+    $(MAKE) -C '$(1).build' -j 1 install DESTDIR='$(3)'
 endef
--- a/src/build-cmake.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/build-cmake.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,22 @@
 
 PKG             := build-cmake
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := b96663c0757a5edfbddc410aabf7126a92131e2b
+$(PKG)_VERSION  := 3.18.4
+$(PKG)_CHECKSUM := 73ab5348c881f1a53c250b66848b6ee101c9fe1f
 $(PKG)_SUBDIR   := cmake-$($(PKG)_VERSION)
 $(PKG)_FILE     := cmake-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://www.cmake.org/files/v2.8/$($(PKG)_FILE)
-$(PKG)_DEPS     := 
+$(PKG)_URL      := http://www.cmake.org/files/v$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
+ifeq ($(USE_SYSTEM_GCC),yes)
+  $(PKG)_DEPS   :=
+else
+  $(PKG)_DEPS   := build-gcc
+endif
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- 'https://www.cmake.org/cmake/resources/software.html' | \
+    $(SED) -n 's,.*cmake-\([0-9.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-flex-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,3133 @@
+From 4b5111d9772b5c160340ca96f08d30d7f6db5cda Mon Sep 17 00:00:00 2001
+From: Explorer09 <explorer09@gmail.com>
+Date: Mon, 4 Sep 2017 08:28:53 +0800
+Subject: [PATCH] scanner: Include flexdef.h at %top block of scan.l
+
+config.h may define macros that alter the API of the standard library
+funtions, and so it should be included before any other standard
+header, even before the skeleton's standard header inclusion.
+
+For example: config.h may #define _GNU_SOURCE that would expose the
+reallocarray() prototype from <stdlib.h> on glibc 2.26+ systems. If we
+include <stdlib.h> before config.h, reallocarray() would not be
+available for use in lex file since the second include doesn't help
+due to header guard.
+
+For now our config.h might `#define malloc rpl_malloc` -- this
+substitution must work before including stdlib.h, or else the compiler
+will complain about missing prototypes, and may result in incorrect
+code in scan.l (gcc warning: return makes pointer from integer without
+a cast [-Wint-conversion]).
+
+Fixes #247.
+---
+ src/scan.l | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/scan.l b/src/scan.l
+index 3995bcf1..4f497acd 100644
+--- a/src/scan.l
++++ b/src/scan.l
+@@ -1,5 +1,11 @@
+ /* scan.l - scanner for flex input -*-C-*- */
+ 
++%top{
++/* flexdef.h includes config.h, which may contain macros that alter the API */
++/* of libc functions. Must include first before any libc header. */
++#include "flexdef.h"
++}
++
+ %{
+ /*  Copyright (c) 1990 The Regents of the University of California. */
+ /*  All rights reserved. */
+@@ -32,7 +38,6 @@
+ /*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
+ /*  PURPOSE. */
+ 
+-#include "flexdef.h"
+ #include "parse.h"
+ extern bool tablesverify, tablesext;
+ extern int trlcontxt; /* Set in  parse.y for each rule. */
+diff -uNr a/src/scan.c b/src/scan.c
+--- a/src/scan.c	2017-05-06 16:38:20.000000000 -0400
++++ b/src/scan.c	2018-04-12 17:33:27.946560616 -0400
+@@ -1,6 +1,11 @@
+-#line 1 "scan.c"
++#line 4 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
++/* flexdef.h includes config.h, which may contain macros that alter the API */
++/* of libc functions. Must include first before any libc header. */
++#include "flexdef.h"
++
+ 
+-#line 3 "scan.c"
++
++#line 9 "scan.c"
+ 
+ #define  YY_INT_ALIGNED short int
+ 
+@@ -8,8 +13,8 @@
+ 
+ #define FLEX_SCANNER
+ #define YY_FLEX_MAJOR_VERSION 2
+-#define YY_FLEX_MINOR_VERSION 6
+-#define YY_FLEX_SUBMINOR_VERSION 4
++#define YY_FLEX_MINOR_VERSION 5
++#define YY_FLEX_SUBMINOR_VERSION 39
+ #if YY_FLEX_SUBMINOR_VERSION > 0
+ #define FLEX_BETA
+ #endif
+@@ -84,61 +89,65 @@
+ #define UINT32_MAX             (4294967295U)
+ #endif
+ 
+-#ifndef SIZE_MAX
+-#define SIZE_MAX               (~(size_t)0)
+-#endif
+-
+ #endif /* ! C99 */
+ 
+ #endif /* ! FLEXINT_H */
+ 
+-/* begin standard C++ headers. */
++#ifdef __cplusplus
+ 
+-/* TODO: this is always defined, so inline it */
+-#define yyconst const
++/* The "const" storage-class-modifier is valid. */
++#define YY_USE_CONST
+ 
+-#if defined(__GNUC__) && __GNUC__ >= 3
+-#define yynoreturn __attribute__((__noreturn__))
++#else	/* ! __cplusplus */
++
++/* C99 requires __STDC__ to be defined as 1. */
++#if defined (__STDC__)
++
++#define YY_USE_CONST
++
++#endif	/* defined (__STDC__) */
++#endif	/* ! __cplusplus */
++
++#ifdef YY_USE_CONST
++#define yyconst const
+ #else
+-#define yynoreturn
++#define yyconst
+ #endif
+ 
+ /* Returned upon end-of-file. */
+ #define YY_NULL 0
+ 
+-/* Promotes a possibly negative, possibly signed char to an
+- *   integer in range [0..255] for use as an array index.
++/* Promotes a possibly negative, possibly signed char to an unsigned
++ * integer for use as an array index.  If the signed char is negative,
++ * we want to instead treat it as an 8-bit unsigned char, hence the
++ * double cast.
+  */
+-#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
++#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+ 
+ /* Enter a start condition.  This macro really ought to take a parameter,
+  * but we do it the disgusting crufty way forced on us by the ()-less
+  * definition of BEGIN.
+  */
+ #define BEGIN (yy_start) = 1 + 2 *
++
+ /* Translate the current start state into a value that can be later handed
+  * to BEGIN to return to the state.  The YYSTATE alias is for lex
+  * compatibility.
+  */
+ #define YY_START (((yy_start) - 1) / 2)
+ #define YYSTATE YY_START
++
+ /* Action number for EOF rule of a given start state. */
+ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
++
+ /* Special action meaning "start processing a new file". */
+-#define YY_NEW_FILE yyrestart( yyin  )
++#define YY_NEW_FILE yyrestart(yyin  )
++
+ #define YY_END_OF_BUFFER_CHAR 0
+ 
+ /* Size of default input buffer. */
+ #ifndef YY_BUF_SIZE
+-#ifdef __ia64__
+-/* On IA-64, the buffer size is 16k, not 8k.
+- * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+- * Ditto for the __ia64__ case accordingly.
+- */
+-#define YY_BUF_SIZE 32768
+-#else
+ #define YY_BUF_SIZE 16384
+-#endif /* __ia64__ */
+ #endif
+ 
+ /* The state buf must be large enough to hold one state per character in the main buffer.
+@@ -155,14 +164,14 @@
+ typedef size_t yy_size_t;
+ #endif
+ 
+-extern int yyleng;
++extern yy_size_t yyleng;
+ 
+ extern FILE *yyin, *yyout;
+ 
+ #define EOB_ACT_CONTINUE_SCAN 0
+ #define EOB_ACT_END_OF_FILE 1
+ #define EOB_ACT_LAST_MATCH 2
+-    
++
+     #define YY_LESS_LINENO(n)
+     #define YY_LINENO_REWIND_TO(ptr)
+     
+@@ -179,6 +188,7 @@
+ 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ 		} \
+ 	while ( 0 )
++
+ #define unput(c) yyunput( c, (yytext_ptr)  )
+ 
+ #ifndef YY_STRUCT_YY_BUFFER_STATE
+@@ -193,12 +203,12 @@
+ 	/* Size of input buffer in bytes, not including room for EOB
+ 	 * characters.
+ 	 */
+-	int yy_buf_size;
++	yy_size_t yy_buf_size;
+ 
+ 	/* Number of characters read into yy_ch_buf, not including EOB
+ 	 * characters.
+ 	 */
+-	int yy_n_chars;
++	yy_size_t yy_n_chars;
+ 
+ 	/* Whether we "own" the buffer - i.e., we know we created it,
+ 	 * and can realloc() it to grow it, and should free() it to
+@@ -221,7 +231,7 @@
+ 
+     int yy_bs_lineno; /**< The line count. */
+     int yy_bs_column; /**< The column count. */
+-
++    
+ 	/* Whether to try to fill the input buffer when we reach the
+ 	 * end of it.
+ 	 */
+@@ -249,7 +259,7 @@
+ /* Stack of input buffers. */
+ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+-static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
++static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+ 
+ /* We provide macros for accessing buffer states in case in the
+  * future we want to put the buffer states in a more general
+@@ -260,6 +270,7 @@
+ #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+                           : NULL)
++
+ /* Same as previous macro, but useful when we know that the buffer stack is not
+  * NULL or when we need an lvalue. For internal use only.
+  */
+@@ -267,11 +278,11 @@
+ 
+ /* yy_hold_char holds the character lost when yytext is formed. */
+ static char yy_hold_char;
+-static int yy_n_chars;		/* number of characters read into yy_ch_buf */
+-int yyleng;
++static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
++yy_size_t yyleng;
+ 
+ /* Points to current character in buffer. */
+-static char *yy_c_buf_p = NULL;
++static char *yy_c_buf_p = (char *) 0;
+ static int yy_init = 0;		/* whether we need to initialize */
+ static int yy_start = 0;	/* start state number */
+ 
+@@ -280,78 +291,83 @@
+  */
+ static int yy_did_buffer_switch_on_eof;
+ 
+-void yyrestart ( FILE *input_file  );
+-void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
+-YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
+-void yy_delete_buffer ( YY_BUFFER_STATE b  );
+-void yy_flush_buffer ( YY_BUFFER_STATE b  );
+-void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
+-void yypop_buffer_state ( void );
+-
+-static void yyensure_buffer_stack ( void );
+-static void yy_load_buffer_state ( void );
+-static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
+-#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
+-
+-YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
+-YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
+-YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
+-
+-void *yyalloc ( yy_size_t  );
+-void *yyrealloc ( void *, yy_size_t  );
+-void yyfree ( void *  );
++void yyrestart (FILE *input_file  );
++void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
++YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
++void yy_delete_buffer (YY_BUFFER_STATE b  );
++void yy_flush_buffer (YY_BUFFER_STATE b  );
++void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
++void yypop_buffer_state (void );
++
++static void yyensure_buffer_stack (void );
++static void yy_load_buffer_state (void );
++static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
++
++#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
++
++YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
++YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
++YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
++
++void *yyalloc (yy_size_t  );
++void *yyrealloc (void *,yy_size_t  );
++void yyfree (void *  );
+ 
+ #define yy_new_buffer yy_create_buffer
++
+ #define yy_set_interactive(is_interactive) \
+ 	{ \
+ 	if ( ! YY_CURRENT_BUFFER ){ \
+         yyensure_buffer_stack (); \
+ 		YY_CURRENT_BUFFER_LVALUE =    \
+-            yy_create_buffer( yyin, YY_BUF_SIZE ); \
++            yy_create_buffer(yyin,YY_BUF_SIZE ); \
+ 	} \
+ 	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+ 	}
++
+ #define yy_set_bol(at_bol) \
+ 	{ \
+ 	if ( ! YY_CURRENT_BUFFER ){\
+         yyensure_buffer_stack (); \
+ 		YY_CURRENT_BUFFER_LVALUE =    \
+-            yy_create_buffer( yyin, YY_BUF_SIZE ); \
++            yy_create_buffer(yyin,YY_BUF_SIZE ); \
+ 	} \
+ 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+ 	}
++
+ #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+ 
+ /* Begin user sect3 */
+-typedef flex_uint8_t YY_CHAR;
+ 
+-FILE *yyin = NULL, *yyout = NULL;
++typedef unsigned char YY_CHAR;
++
++FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+ 
+ typedef int yy_state_type;
+ 
+ extern int yylineno;
++
+ int yylineno = 1;
+ 
+ extern char *yytext;
+-#ifdef yytext_ptr
+-#undef yytext_ptr
+-#endif
+ #define yytext_ptr yytext
+ 
+-static yy_state_type yy_get_previous_state ( void );
+-static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
+-static int yy_get_next_buffer ( void );
+-static void yynoreturn yy_fatal_error ( const char* msg  );
++static yy_state_type yy_get_previous_state (void );
++static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
++static int yy_get_next_buffer (void );
++static void yy_fatal_error (yyconst char msg[]  );
+ 
+ /* Done after the current pattern has been matched and before the
+  * corresponding action - sets up yytext.
+  */
+ #define YY_DO_BEFORE_ACTION \
+ 	(yytext_ptr) = yy_bp; \
+-	yyleng = (int) (yy_cp - yy_bp); \
++	(yytext_ptr) -= (yy_more_len); \
++	yyleng = (size_t) (yy_cp - (yytext_ptr)); \
+ 	(yy_hold_char) = *yy_cp; \
+ 	*yy_cp = '\0'; \
+ 	(yy_c_buf_p) = yy_cp;
++
+ #define YY_NUM_RULES 253
+ #define YY_END_OF_BUFFER 254
+ /* This struct is not used in this scanner,
+@@ -361,7 +377,7 @@
+ 	flex_int32_t yy_verify;
+ 	flex_int32_t yy_nxt;
+ 	};
+-static const flex_int16_t yy_accept[1114] =
++static yyconst flex_int16_t yy_accept[1114] =
+     {   0,
+         0,    0,    0,    0,    0,    0,  246,  246,   40,   40,
+         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+@@ -488,7 +504,7 @@
+        80,   59,    0
+     } ;
+ 
+-static const YY_CHAR yy_ec[256] =
++static yyconst flex_int32_t yy_ec[256] =
+     {   0,
+         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
+         4,    4,    5,    1,    1,    1,    1,    1,    1,    1,
+@@ -520,7 +536,7 @@
+         1,    1,    1,    1,    1
+     } ;
+ 
+-static const YY_CHAR yy_meta[85] =
++static yyconst flex_int32_t yy_meta[85] =
+     {   0,
+         1,    1,    2,    1,    3,    4,    1,    1,    5,    6,
+         1,    7,    8,    9,    1,   10,    1,   11,   12,   12,
+@@ -533,7 +549,7 @@
+        15,   20,    1,   21
+     } ;
+ 
+-static const flex_int16_t yy_base[1221] =
++static yyconst flex_int16_t yy_base[1221] =
+     {   0,
+         0,   84,  167,  250,  171,  184,  135,  142,  220,  231,
+       196,  200,  334,    0, 3627, 3625,  211,  416,  203,  212,
+@@ -671,7 +687,7 @@
+      4346, 4367, 3028, 4379, 4398, 4419, 4432, 4447, 4468, 4489
+     } ;
+ 
+-static const flex_int16_t yy_def[1221] =
++static yyconst flex_int16_t yy_def[1221] =
+     {   0,
+      1113, 1113, 1114, 1114, 1115, 1116, 1117, 1117, 1118, 1118,
+      1119, 1119, 1113,   13, 1120, 1120, 1121, 1121, 1122, 1122,
+@@ -809,7 +825,7 @@
+      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113
+     } ;
+ 
+-static const flex_int16_t yy_nxt[4596] =
++static yyconst flex_int16_t yy_nxt[4596] =
+     {   0,
+        56,   57,   58,   56,   59,   56,   56,   56,   56,   56,
+        56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
+@@ -1319,7 +1335,7 @@
+ 
+     } ;
+ 
+-static const flex_int16_t yy_chk[4596] =
++static yyconst flex_int16_t yy_chk[4596] =
+     {   0,
+         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+@@ -1839,13 +1855,16 @@
+  * any uses of REJECT which flex missed.
+  */
+ #define REJECT reject_used_but_not_detected
+-#define yymore() yymore_used_but_not_detected
+-#define YY_MORE_ADJ 0
++static int yy_more_flag = 0;
++static int yy_more_len = 0;
++#define yymore() ((yy_more_flag) = 1)
++#define YY_MORE_ADJ (yy_more_len)
+ #define YY_RESTORE_YY_MORE_OFFSET
+ char *yytext;
+-#line 1 "scan.l"
++#line 1 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ /* scan.l - scanner for flex input -*-C-*- */
+-#line 4 "scan.l"
++
++#line 10 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ /*  Copyright (c) 1990 The Regents of the University of California. */
+ /*  All rights reserved. */
+ 
+@@ -1877,7 +1896,6 @@
+ /*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
+ /*  PURPOSE. */
+ 
+-#include "flexdef.h"
+ #include "parse.h"
+ extern bool tablesverify, tablesext;
+ extern int trlcontxt; /* Set in  parse.y for each rule. */
+@@ -1963,9 +1981,16 @@
+     if (!indented_code) line_directive_out(NULL, 0);\
+ } while (0)
+ 
+-#line 1966 "scan.c"
+ 
+-#line 1968 "scan.c"
++
++
++
++
++
++
++
++
++#line 1994 "scan.c"
+ 
+ #define INITIAL 0
+ #define SECT2 1
+@@ -2007,36 +2032,36 @@
+ #define YY_EXTRA_TYPE void *
+ #endif
+ 
+-static int yy_init_globals ( void );
++static int yy_init_globals (void );
+ 
+ /* Accessor methods to globals.
+    These are made visible to non-reentrant scanners for convenience. */
+ 
+-int yylex_destroy ( void );
++int yylex_destroy (void );
+ 
+-int yyget_debug ( void );
++int yyget_debug (void );
+ 
+-void yyset_debug ( int debug_flag  );
++void yyset_debug (int debug_flag  );
+ 
+-YY_EXTRA_TYPE yyget_extra ( void );
++YY_EXTRA_TYPE yyget_extra (void );
+ 
+-void yyset_extra ( YY_EXTRA_TYPE user_defined  );
++void yyset_extra (YY_EXTRA_TYPE user_defined  );
+ 
+-FILE *yyget_in ( void );
++FILE *yyget_in (void );
+ 
+-void yyset_in  ( FILE * _in_str  );
++void yyset_in  (FILE * in_str  );
+ 
+-FILE *yyget_out ( void );
++FILE *yyget_out (void );
+ 
+-void yyset_out  ( FILE * _out_str  );
++void yyset_out  (FILE * out_str  );
+ 
+-			int yyget_leng ( void );
++yy_size_t yyget_leng (void );
+ 
+-char *yyget_text ( void );
++char *yyget_text (void );
+ 
+-int yyget_lineno ( void );
++int yyget_lineno (void );
+ 
+-void yyset_lineno ( int _line_number  );
++void yyset_lineno (int line_number  );
+ 
+ /* Macros after this point can all be overridden by user definitions in
+  * section 1.
+@@ -2044,31 +2069,28 @@
+ 
+ #ifndef YY_SKIP_YYWRAP
+ #ifdef __cplusplus
+-extern "C" int yywrap ( void );
++extern "C" int yywrap (void );
+ #else
+-extern int yywrap ( void );
++extern int yywrap (void );
+ #endif
+ #endif
+ 
+-#ifndef YY_NO_UNPUT
+-    
+-    static void yyunput ( int c, char *buf_ptr  );
++    static void yyunput (int c,char *buf_ptr  );
+     
+-#endif
+-
+ #ifndef yytext_ptr
+-static void yy_flex_strncpy ( char *, const char *, int );
++static void yy_flex_strncpy (char *,yyconst char *,int );
+ #endif
+ 
+ #ifdef YY_NEED_STRLEN
+-static int yy_flex_strlen ( const char * );
++static int yy_flex_strlen (yyconst char * );
+ #endif
+ 
+ #ifndef YY_NO_INPUT
++
+ #ifdef __cplusplus
+-static int yyinput ( void );
++static int yyinput (void );
+ #else
+-static int input ( void );
++static int input (void );
+ #endif
+ 
+ #endif
+@@ -2077,18 +2099,13 @@
+         static int yy_start_stack_depth = 0;
+         static int *yy_start_stack = NULL;
+     
+-    static void yy_push_state ( int _new_state );
++    static void yy_push_state (int new_state );
+     
+-    static void yy_pop_state ( void );
++    static void yy_pop_state (void );
+     
+ /* Amount of stuff to slurp up with each read. */
+ #ifndef YY_READ_BUF_SIZE
+-#ifdef __ia64__
+-/* On IA-64, the buffer size is 16k, not 8k */
+-#define YY_READ_BUF_SIZE 16384
+-#else
+ #define YY_READ_BUF_SIZE 8192
+-#endif /* __ia64__ */
+ #endif
+ 
+ /* Copy whatever the last rule matched to the standard output. */
+@@ -2096,7 +2113,7 @@
+ /* This used to be an fputs(), but since the string might contain NUL's,
+  * we now use fwrite().
+  */
+-#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
++#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
+ #endif
+ 
+ /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
+@@ -2107,7 +2124,7 @@
+ 	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
+ 		{ \
+ 		int c = '*'; \
+-		int n; \
++		size_t n; \
+ 		for ( n = 0; n < max_size && \
+ 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+ 			buf[n] = (char) c; \
+@@ -2120,7 +2137,7 @@
+ 	else \
+ 		{ \
+ 		errno=0; \
+-		while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
++		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
+ 			{ \
+ 			if( errno != EINTR) \
+ 				{ \
+@@ -2175,7 +2192,7 @@
+ 
+ /* Code executed at the end of each rule. */
+ #ifndef YY_BREAK
+-#define YY_BREAK /*LINTED*/break;
++#define YY_BREAK break;
+ #endif
+ 
+ #define YY_RULE_SETUP \
+@@ -2188,9 +2205,9 @@
+  */
+ YY_DECL
+ {
+-	yy_state_type yy_current_state;
+-	char *yy_cp, *yy_bp;
+-	int yy_act;
++	register yy_state_type yy_current_state;
++	register char *yy_cp, *yy_bp;
++	register int yy_act;
+     
+ 	if ( !(yy_init) )
+ 		{
+@@ -2212,16 +2229,15 @@
+ 		if ( ! YY_CURRENT_BUFFER ) {
+ 			yyensure_buffer_stack ();
+ 			YY_CURRENT_BUFFER_LVALUE =
+-				yy_create_buffer( yyin, YY_BUF_SIZE );
++				yy_create_buffer(yyin,YY_BUF_SIZE );
+ 		}
+ 
+-		yy_load_buffer_state(  );
++		yy_load_buffer_state( );
+ 		}
+ 
+ 	{
+-#line 158 "scan.l"
++#line 163 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ 
+-#line 160 "scan.l"
+ 	static int bracelevel, didadef, indented_code;
+ 	static int doing_rule_action = false;
+ 	static int option_sense;
+@@ -2231,10 +2247,16 @@
+ 	char nmdef[MAXLINE];
+ 
+ 
+-#line 2234 "scan.c"
++#line 2251 "scan.c"
+ 
+-	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
++	while ( 1 )		/* loops until end-of-file is reached */
+ 		{
++		(yy_more_len) = 0;
++		if ( (yy_more_flag) )
++			{
++			(yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
++			(yy_more_flag) = 0;
++			}
+ 		yy_cp = (yy_c_buf_p);
+ 
+ 		/* Support of yytext. */
+@@ -2250,7 +2272,7 @@
+ yy_match:
+ 		do
+ 			{
+-			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
++			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
+ 			if ( yy_accept[yy_current_state] )
+ 				{
+ 				(yy_last_accepting_state) = yy_current_state;
+@@ -2260,9 +2282,9 @@
+ 				{
+ 				yy_current_state = (int) yy_def[yy_current_state];
+ 				if ( yy_current_state >= 1114 )
+-					yy_c = yy_meta[yy_c];
++					yy_c = yy_meta[(unsigned int) yy_c];
+ 				}
+-			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ 			++yy_cp;
+ 			}
+ 		while ( yy_base[yy_current_state] != 4511 );
+@@ -2291,39 +2313,39 @@
+ 
+ case 1:
+ YY_RULE_SETUP
+-#line 170 "scan.l"
++#line 174 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ START_CODEBLOCK(true);
+ 	YY_BREAK
+ case 2:
+ YY_RULE_SETUP
+-#line 171 "scan.l"
++#line 175 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ add_action("/*[""["); yy_push_state( COMMENT );
+ 	YY_BREAK
+ case 3:
+ YY_RULE_SETUP
+-#line 172 "scan.l"
++#line 176 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ yy_push_state( LINEDIR );
+ 	YY_BREAK
+ case 4:
+ YY_RULE_SETUP
+-#line 173 "scan.l"
++#line 177 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return SCDECL;
+ 	YY_BREAK
+ case 5:
+ YY_RULE_SETUP
+-#line 174 "scan.l"
++#line 178 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return XSCDECL;
+ 	YY_BREAK
+ case 6:
+ /* rule 6 can match eol */
+ YY_RULE_SETUP
+-#line 175 "scan.l"
++#line 179 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ START_CODEBLOCK(false);
+ 	YY_BREAK
+ case 7:
+ /* rule 7 can match eol */
+ YY_RULE_SETUP
+-#line 176 "scan.l"
++#line 180 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+                 brace_start_line = linenum;
+                 ++linenum;
+@@ -2334,17 +2356,17 @@
+ 	YY_BREAK
+ case 8:
+ YY_RULE_SETUP
+-#line 184 "scan.l"
++#line 188 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ synerr( _("malformed '%top' directive") );
+ 	YY_BREAK
+ case 9:
+ YY_RULE_SETUP
+-#line 186 "scan.l"
++#line 190 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ /* discard */
+ 	YY_BREAK
+ case 10:
+ YY_RULE_SETUP
+-#line 188 "scan.l"
++#line 192 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			sectnum = 2;
+ 			bracelevel = 0;
+@@ -2357,42 +2379,42 @@
+ case 11:
+ /* rule 11 can match eol */
+ YY_RULE_SETUP
+-#line 197 "scan.l"
++#line 201 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ yytext_is_array = false; ++linenum;
+ 	YY_BREAK
+ case 12:
+ /* rule 12 can match eol */
+ YY_RULE_SETUP
+-#line 198 "scan.l"
++#line 202 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ yytext_is_array = true; ++linenum;
+ 	YY_BREAK
+ case 13:
+ YY_RULE_SETUP
+-#line 200 "scan.l"
++#line 204 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(OPTION); return TOK_OPTION;
+ 	YY_BREAK
+ case 14:
+ /* rule 14 can match eol */
+ YY_RULE_SETUP
+-#line 202 "scan.l"
++#line 206 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ++linenum; /* ignore */
+ 	YY_BREAK
+ case 15:
+ /* rule 15 can match eol */
+ YY_RULE_SETUP
+-#line 203 "scan.l"
++#line 207 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ++linenum;	/* ignore */
+ 	YY_BREAK
+ /* xgettext: no-c-format */
+ case 16:
+ /* rule 16 can match eol */
+ YY_RULE_SETUP
+-#line 206 "scan.l"
++#line 210 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ synerr( _( "unrecognized '%' directive" ) );
+ 	YY_BREAK
+ case 17:
+ YY_RULE_SETUP
+-#line 208 "scan.l"
++#line 212 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			if(yyleng < MAXLINE)
+         		 {
+@@ -2410,51 +2432,51 @@
+ 	YY_BREAK
+ case 18:
+ YY_RULE_SETUP
+-#line 223 "scan.l"
++#line 227 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ RETURNNAME;
+ 	YY_BREAK
+ case 19:
+ /* rule 19 can match eol */
+ YY_RULE_SETUP
+-#line 224 "scan.l"
++#line 228 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ++linenum; /* allows blank lines in section 1 */
+ 	YY_BREAK
+ case 20:
+ /* rule 20 can match eol */
+ YY_RULE_SETUP
+-#line 225 "scan.l"
++#line 229 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO; ++linenum; /* maybe end of comment line */
+ 	YY_BREAK
+ 
+ /* */
+ case 21:
+ YY_RULE_SETUP
+-#line 230 "scan.l"
++#line 234 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO;
+ 	YY_BREAK
+ case 22:
+ YY_RULE_SETUP
+-#line 231 "scan.l"
++#line 235 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO;
+ 	YY_BREAK
+ case 23:
+ /* rule 23 can match eol */
+ YY_RULE_SETUP
+-#line 233 "scan.l"
++#line 237 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ++linenum; ACTION_ECHO;
+ 	YY_BREAK
+ 
+ 
+ case 24:
+ YY_RULE_SETUP
+-#line 236 "scan.l"
++#line 240 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ add_action("*/]""]"); yy_pop_state();
+ 	YY_BREAK
+ 
+ 
+ case 25:
+ YY_RULE_SETUP
+-#line 239 "scan.l"
++#line 243 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO; yy_pop_state();
+ 	YY_BREAK
+ 
+@@ -2462,41 +2484,41 @@
+ /* This is the same as COMMENT, but is discarded rather than output. */
+ case 26:
+ YY_RULE_SETUP
+-#line 244 "scan.l"
++#line 248 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ yy_pop_state();
+ 	YY_BREAK
+ case 27:
+ YY_RULE_SETUP
+-#line 245 "scan.l"
++#line 249 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ;
+ 	YY_BREAK
+ case 28:
+ YY_RULE_SETUP
+-#line 246 "scan.l"
++#line 250 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ;
+ 	YY_BREAK
+ case 29:
+ /* rule 29 can match eol */
+ YY_RULE_SETUP
+-#line 247 "scan.l"
++#line 251 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ++linenum;
+ 	YY_BREAK
+ 
+ 
+ case 30:
+ YY_RULE_SETUP
+-#line 251 "scan.l"
++#line 255 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ yy_pop_state();
+ 	YY_BREAK
+ case 31:
+ YY_RULE_SETUP
+-#line 252 "scan.l"
++#line 256 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ;
+ 	YY_BREAK
+ case 32:
+ /* rule 32 can match eol */
+ YY_RULE_SETUP
+-#line 253 "scan.l"
++#line 257 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ++linenum;
+ 	YY_BREAK
+ 
+@@ -2504,17 +2526,17 @@
+ case 33:
+ /* rule 33 can match eol */
+ YY_RULE_SETUP
+-#line 257 "scan.l"
++#line 261 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ yy_pop_state();
+ 	YY_BREAK
+ case 34:
+ YY_RULE_SETUP
+-#line 258 "scan.l"
++#line 262 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ linenum = myctoi( yytext );
+ 	YY_BREAK
+ case 35:
+ YY_RULE_SETUP
+-#line 260 "scan.l"
++#line 264 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			free(infilename);
+ 			infilename = xstrdup(yytext + 1);
+@@ -2523,19 +2545,19 @@
+ 	YY_BREAK
+ case 36:
+ YY_RULE_SETUP
+-#line 265 "scan.l"
++#line 269 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ /* ignore spurious characters */
+ 	YY_BREAK
+ 
+ 
+ case 37:
+ YY_RULE_SETUP
+-#line 268 "scan.l"
++#line 272 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO_QSTART;
+ 	YY_BREAK
+ case 38:
+ YY_RULE_SETUP
+-#line 269 "scan.l"
++#line 273 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO_QEND;
+ 	YY_BREAK
+ 
+@@ -2543,23 +2565,23 @@
+ case 39:
+ /* rule 39 can match eol */
+ YY_RULE_SETUP
+-#line 273 "scan.l"
++#line 277 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ++linenum; END_CODEBLOCK;
+ 	YY_BREAK
+ case 40:
+ YY_RULE_SETUP
+-#line 274 "scan.l"
++#line 278 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO;
+ 	YY_BREAK
+ case 41:
+ YY_RULE_SETUP
+-#line 275 "scan.l"
++#line 279 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO;
+ 	YY_BREAK
+ case 42:
+ /* rule 42 can match eol */
+ YY_RULE_SETUP
+-#line 276 "scan.l"
++#line 280 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			++linenum;
+ 			ACTION_ECHO;
+@@ -2570,7 +2592,7 @@
+ 
+ case 43:
+ YY_RULE_SETUP
+-#line 284 "scan.l"
++#line 288 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+                 if( --brace_depth == 0){
+                     /* TODO: Matched. */
+@@ -2581,7 +2603,7 @@
+ 	YY_BREAK
+ case 44:
+ YY_RULE_SETUP
+-#line 292 "scan.l"
++#line 296 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+                 brace_depth++;
+                 buf_strnappend(&top_buf, yytext, yyleng);
+@@ -2590,7 +2612,7 @@
+ case 45:
+ /* rule 45 can match eol */
+ YY_RULE_SETUP
+-#line 297 "scan.l"
++#line 301 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+                 ++linenum;
+                 buf_strnappend(&top_buf, yytext, yyleng);
+@@ -2598,23 +2620,23 @@
+ 	YY_BREAK
+ case 46:
+ YY_RULE_SETUP
+-#line 302 "scan.l"
++#line 306 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ buf_strnappend(&top_buf, escaped_qstart, (int) strlen(escaped_qstart));
+ 	YY_BREAK
+ case 47:
+ YY_RULE_SETUP
+-#line 303 "scan.l"
++#line 307 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ buf_strnappend(&top_buf, escaped_qend, (int) strlen(escaped_qend));
+ 	YY_BREAK
+ case 48:
+ YY_RULE_SETUP
+-#line 304 "scan.l"
++#line 308 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+        buf_strnappend(&top_buf, yytext, yyleng);
+     }
+ 	YY_BREAK
+ case YY_STATE_EOF(CODEBLOCK_MATCH_BRACE):
+-#line 308 "scan.l"
++#line 312 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+                 linenum = brace_start_line;
+                 synerr(_("Unmatched '{'"));
+@@ -2625,12 +2647,12 @@
+ 
+ case 49:
+ YY_RULE_SETUP
+-#line 317 "scan.l"
++#line 321 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ /* separates name and definition */
+ 	YY_BREAK
+ case 50:
+ YY_RULE_SETUP
+-#line 319 "scan.l"
++#line 323 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+  		        if(yyleng < MAXLINE)
+  		         {
+@@ -2656,7 +2678,7 @@
+ case 51:
+ /* rule 51 can match eol */
+ YY_RULE_SETUP
+-#line 341 "scan.l"
++#line 345 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			if ( ! didadef )
+ 				synerr( _( "incomplete name definition" ) );
+@@ -2669,42 +2691,42 @@
+ case 52:
+ /* rule 52 can match eol */
+ YY_RULE_SETUP
+-#line 351 "scan.l"
++#line 355 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ++linenum; BEGIN(INITIAL);
+ 	YY_BREAK
+ case 53:
+ YY_RULE_SETUP
+-#line 352 "scan.l"
++#line 356 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ option_sense = true;
+ 	YY_BREAK
+ case 54:
+ YY_RULE_SETUP
+-#line 354 "scan.l"
++#line 358 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return '=';
+ 	YY_BREAK
+ case 55:
+ YY_RULE_SETUP
+-#line 356 "scan.l"
++#line 360 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ option_sense = ! option_sense;
+ 	YY_BREAK
+ case 56:
+ YY_RULE_SETUP
+-#line 358 "scan.l"
++#line 362 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ csize = option_sense ? 128 : 256;
+ 	YY_BREAK
+ case 57:
+ YY_RULE_SETUP
+-#line 359 "scan.l"
++#line 363 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ csize = option_sense ? 256 : 128;
+ 	YY_BREAK
+ case 58:
+ YY_RULE_SETUP
+-#line 361 "scan.l"
++#line 365 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ long_align = option_sense;
+ 	YY_BREAK
+ case 59:
+ YY_RULE_SETUP
+-#line 362 "scan.l"
++#line 366 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense );
+             interactive = option_sense;
+@@ -2712,64 +2734,64 @@
+ 	YY_BREAK
+ case 60:
+ YY_RULE_SETUP
+-#line 366 "scan.l"
++#line 370 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ yytext_is_array = option_sense;
+ 	YY_BREAK
+ case 61:
+ YY_RULE_SETUP
+-#line 367 "scan.l"
++#line 371 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ backing_up_report = option_sense;
+ 	YY_BREAK
+ case 62:
+ YY_RULE_SETUP
+-#line 368 "scan.l"
++#line 372 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ interactive = ! option_sense;
+ 	YY_BREAK
+ case 63:
+ YY_RULE_SETUP
+-#line 369 "scan.l"
++#line 373 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ bison_bridge_lval = option_sense;
+ 	YY_BREAK
+ case 64:
+ YY_RULE_SETUP
+-#line 370 "scan.l"
++#line 374 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ { if((bison_bridge_lloc = option_sense))
+                             bison_bridge_lval = true;
+                      }
+ 	YY_BREAK
+ case 65:
+ YY_RULE_SETUP
+-#line 373 "scan.l"
++#line 377 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ C_plus_plus = option_sense;
+ 	YY_BREAK
+ case 66:
+ YY_RULE_SETUP
+-#line 374 "scan.l"
++#line 378 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ sf_set_case_ins(!option_sense);
+ 	YY_BREAK
+ case 67:
+ YY_RULE_SETUP
+-#line 375 "scan.l"
++#line 379 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ sf_set_case_ins(option_sense);
+ 	YY_BREAK
+ case 68:
+ YY_RULE_SETUP
+-#line 376 "scan.l"
++#line 380 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ddebug = option_sense;
+ 	YY_BREAK
+ case 69:
+ YY_RULE_SETUP
+-#line 377 "scan.l"
++#line 381 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ spprdflt = ! option_sense;
+ 	YY_BREAK
+ case 70:
+ YY_RULE_SETUP
+-#line 378 "scan.l"
++#line 382 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ useecs = option_sense;
+ 	YY_BREAK
+ case 71:
+ YY_RULE_SETUP
+-#line 379 "scan.l"
++#line 383 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			useecs = usemecs = false;
+ 			use_read = fullspd = true;
+@@ -2777,7 +2799,7 @@
+ 	YY_BREAK
+ case 72:
+ YY_RULE_SETUP
+-#line 383 "scan.l"
++#line 387 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			useecs = usemecs = false;
+ 			use_read = fulltbl = true;
+@@ -2785,32 +2807,32 @@
+ 	YY_BREAK
+ case 73:
+ YY_RULE_SETUP
+-#line 387 "scan.l"
++#line 391 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
+ 	YY_BREAK
+ case 74:
+ YY_RULE_SETUP
+-#line 388 "scan.l"
++#line 392 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ interactive = option_sense;
+ 	YY_BREAK
+ case 75:
+ YY_RULE_SETUP
+-#line 389 "scan.l"
++#line 393 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ lex_compat = option_sense;
+ 	YY_BREAK
+ case 76:
+ YY_RULE_SETUP
+-#line 390 "scan.l"
++#line 394 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ posix_compat = option_sense;
+ 	YY_BREAK
+ case 77:
+ YY_RULE_SETUP
+-#line 391 "scan.l"
++#line 395 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ gen_line_dirs = option_sense;
+ 	YY_BREAK
+ case 78:
+ YY_RULE_SETUP
+-#line 392 "scan.l"
++#line 396 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense);
+             /* Override yywrap */
+@@ -2820,12 +2842,12 @@
+ 	YY_BREAK
+ case 79:
+ YY_RULE_SETUP
+-#line 398 "scan.l"
++#line 402 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ usemecs = option_sense;
+ 	YY_BREAK
+ case 80:
+ YY_RULE_SETUP
+-#line 399 "scan.l"
++#line 403 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense );
+             interactive = !option_sense;
+@@ -2833,237 +2855,237 @@
+ 	YY_BREAK
+ case 81:
+ YY_RULE_SETUP
+-#line 403 "scan.l"
++#line 407 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ performance_report += option_sense ? 1 : -1;
+ 	YY_BREAK
+ case 82:
+ YY_RULE_SETUP
+-#line 404 "scan.l"
++#line 408 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ yytext_is_array = ! option_sense;
+ 	YY_BREAK
+ case 83:
+ YY_RULE_SETUP
+-#line 405 "scan.l"
++#line 409 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ use_read = option_sense;
+ 	YY_BREAK
+ case 84:
+ YY_RULE_SETUP
+-#line 406 "scan.l"
++#line 410 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ reentrant = option_sense;
+ 	YY_BREAK
+ case 85:
+ YY_RULE_SETUP
+-#line 407 "scan.l"
++#line 411 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ reject_really_used = option_sense;
+ 	YY_BREAK
+ case 86:
+ YY_RULE_SETUP
+-#line 408 "scan.l"
++#line 412 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense );
+ 	YY_BREAK
+ case 87:
+ YY_RULE_SETUP
+-#line 409 "scan.l"
++#line 413 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ do_stdinit = option_sense;
+ 	YY_BREAK
+ case 88:
+ YY_RULE_SETUP
+-#line 410 "scan.l"
++#line 414 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ use_stdout = option_sense;
+ 	YY_BREAK
+ case 89:
+ YY_RULE_SETUP
+-#line 411 "scan.l"
++#line 415 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense);
+ 	YY_BREAK
+ case 90:
+ YY_RULE_SETUP
+-#line 412 "scan.l"
++#line 416 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense);
+ 	YY_BREAK
+ case 91:
+ YY_RULE_SETUP
+-#line 413 "scan.l"
++#line 417 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ printstats = option_sense;
+ 	YY_BREAK
+ case 92:
+ YY_RULE_SETUP
+-#line 414 "scan.l"
++#line 418 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ nowarn = ! option_sense;
+ 	YY_BREAK
+ case 93:
+ YY_RULE_SETUP
+-#line 415 "scan.l"
++#line 419 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense);
+ 	YY_BREAK
+ case 94:
+ YY_RULE_SETUP
+-#line 416 "scan.l"
++#line 420 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ yymore_really_used = option_sense;
+ 	YY_BREAK
+ case 95:
+ YY_RULE_SETUP
+-#line 417 "scan.l"
++#line 421 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ do_yywrap = option_sense;
+ 	YY_BREAK
+ case 96:
+ YY_RULE_SETUP
+-#line 419 "scan.l"
++#line 423 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense);
+ 	YY_BREAK
+ case 97:
+ YY_RULE_SETUP
+-#line 420 "scan.l"
++#line 424 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense);
+ 	YY_BREAK
+ case 98:
+ YY_RULE_SETUP
+-#line 421 "scan.l"
++#line 425 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense);
+ 	YY_BREAK
+ case 99:
+ YY_RULE_SETUP
+-#line 423 "scan.l"
++#line 427 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense);
+ 	YY_BREAK
+ case 100:
+ YY_RULE_SETUP
+-#line 424 "scan.l"
++#line 428 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense);
+ 	YY_BREAK
+ case 101:
+ YY_RULE_SETUP
+-#line 425 "scan.l"
++#line 429 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense);
+ 	YY_BREAK
+ case 102:
+ YY_RULE_SETUP
+-#line 427 "scan.l"
++#line 431 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense);
+ 	YY_BREAK
+ case 103:
+ YY_RULE_SETUP
+-#line 428 "scan.l"
++#line 432 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense);
+ 	YY_BREAK
+ case 104:
+ YY_RULE_SETUP
+-#line 429 "scan.l"
++#line 433 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense);
+ 	YY_BREAK
+ case 105:
+ YY_RULE_SETUP
+-#line 431 "scan.l"
++#line 435 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense);
+ 	YY_BREAK
+ case 106:
+ YY_RULE_SETUP
+-#line 432 "scan.l"
++#line 436 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense);
+ 	YY_BREAK
+ case 107:
+ YY_RULE_SETUP
+-#line 433 "scan.l"
++#line 437 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense);
+ 	YY_BREAK
+ case 108:
+ YY_RULE_SETUP
+-#line 434 "scan.l"
++#line 438 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense);
+ 	YY_BREAK
+ case 109:
+ YY_RULE_SETUP
+-#line 435 "scan.l"
++#line 439 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense);
+ 	YY_BREAK
+ case 110:
+ YY_RULE_SETUP
+-#line 436 "scan.l"
++#line 440 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense);
+ 	YY_BREAK
+ case 111:
+ YY_RULE_SETUP
+-#line 437 "scan.l"
++#line 441 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense);
+ 	YY_BREAK
+ case 112:
+ YY_RULE_SETUP
+-#line 438 "scan.l"
++#line 442 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense);
+ 	YY_BREAK
+ case 113:
+ YY_RULE_SETUP
+-#line 439 "scan.l"
++#line 443 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense);
+ 	YY_BREAK
+ case 114:
+ YY_RULE_SETUP
+-#line 440 "scan.l"
++#line 444 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense);
+ 	YY_BREAK
+ case 115:
+ YY_RULE_SETUP
+-#line 441 "scan.l"
++#line 445 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense);
+ 	YY_BREAK
+ case 116:
+ YY_RULE_SETUP
+-#line 442 "scan.l"
++#line 446 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense);
+ 	YY_BREAK
+ case 117:
+ YY_RULE_SETUP
+-#line 443 "scan.l"
++#line 447 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense);
+ 	YY_BREAK
+ case 118:
+ YY_RULE_SETUP
+-#line 444 "scan.l"
++#line 448 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense);
+ 	YY_BREAK
+ case 119:
+ YY_RULE_SETUP
+-#line 445 "scan.l"
++#line 449 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense);
+ 	YY_BREAK
+ case 120:
+ YY_RULE_SETUP
+-#line 446 "scan.l"
++#line 450 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense);
+ 	YY_BREAK
+ case 121:
+ YY_RULE_SETUP
+-#line 448 "scan.l"
++#line 452 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return TOK_EXTRA_TYPE;
+ 	YY_BREAK
+ case 122:
+ YY_RULE_SETUP
+-#line 449 "scan.l"
++#line 453 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return TOK_OUTFILE;
+ 	YY_BREAK
+ case 123:
+ YY_RULE_SETUP
+-#line 450 "scan.l"
++#line 454 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return TOK_PREFIX;
+ 	YY_BREAK
+ case 124:
+ YY_RULE_SETUP
+-#line 451 "scan.l"
++#line 455 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return TOK_YYCLASS;
+ 	YY_BREAK
+ case 125:
+ YY_RULE_SETUP
+-#line 452 "scan.l"
++#line 456 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return TOK_HEADER_FILE;
+ 	YY_BREAK
+ case 126:
+ YY_RULE_SETUP
+-#line 453 "scan.l"
++#line 457 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return TOK_TABLES_FILE;
+ 	YY_BREAK
+ case 127:
+ YY_RULE_SETUP
+-#line 454 "scan.l"
++#line 458 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+                     tablesverify = option_sense;
+                     if(!tablesext && option_sense)
+@@ -3072,7 +3094,7 @@
+ 	YY_BREAK
+ case 128:
+ YY_RULE_SETUP
+-#line 461 "scan.l"
++#line 465 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			if(yyleng-1 < MAXLINE)
+         		 {
+@@ -3089,7 +3111,7 @@
+ 	YY_BREAK
+ case 129:
+ YY_RULE_SETUP
+-#line 475 "scan.l"
++#line 479 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			format_synerr( _( "unrecognized %%option: %s" ),
+ 				yytext );
+@@ -3100,28 +3122,28 @@
+ case 130:
+ /* rule 130 can match eol */
+ YY_RULE_SETUP
+-#line 482 "scan.l"
++#line 486 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ++linenum; BEGIN(INITIAL);
+ 	YY_BREAK
+ 
+ case 131:
+ YY_RULE_SETUP
+-#line 486 "scan.l"
++#line 490 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ++bracelevel; yyless( 2 );	/* eat only %{ */
+ 	YY_BREAK
+ case 132:
+ YY_RULE_SETUP
+-#line 487 "scan.l"
++#line 491 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ --bracelevel; yyless( 2 );	/* eat only %} */
+ 	YY_BREAK
+ case 133:
+ YY_RULE_SETUP
+-#line 489 "scan.l"
++#line 493 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ START_CODEBLOCK(true); /* indented code in prolog */
+ 	YY_BREAK
+ case 134:
+ YY_RULE_SETUP
+-#line 491 "scan.l"
++#line 495 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+         /* non-indented code */
+ 		if ( bracelevel <= 0 ) {
+@@ -3137,17 +3159,17 @@
+ 	YY_BREAK
+ case 135:
+ YY_RULE_SETUP
+-#line 504 "scan.l"
++#line 508 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO;
+ 	YY_BREAK
+ case 136:
+ /* rule 136 can match eol */
+ YY_RULE_SETUP
+-#line 505 "scan.l"
++#line 509 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ++linenum; ACTION_ECHO;
+ 	YY_BREAK
+ case YY_STATE_EOF(SECT2PROLOG):
+-#line 507 "scan.l"
++#line 511 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			mark_prolog();
+ 			sectnum = 0;
+@@ -3159,12 +3181,12 @@
+ case 137:
+ /* rule 137 can match eol */
+ YY_RULE_SETUP
+-#line 515 "scan.l"
++#line 519 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ++linenum; /* allow blank lines in section 2 */
+ 	YY_BREAK
+ case 138:
+ YY_RULE_SETUP
+-#line 517 "scan.l"
++#line 521 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			indented_code = false;
+ 			doing_codeblock = true;
+@@ -3174,7 +3196,7 @@
+ 	YY_BREAK
+ case 139:
+ YY_RULE_SETUP
+-#line 524 "scan.l"
++#line 528 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+                         /* Allow "<" to appear in (?x) patterns. */
+                         if (!sf_skip_ws())
+@@ -3184,12 +3206,12 @@
+ 	YY_BREAK
+ case 140:
+ YY_RULE_SETUP
+-#line 530 "scan.l"
++#line 534 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return '^';
+ 	YY_BREAK
+ case 141:
+ YY_RULE_SETUP
+-#line 531 "scan.l"
++#line 535 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(QUOTE); return '"';
+ 	YY_BREAK
+ case 142:
+@@ -3197,7 +3219,7 @@
+ (yy_c_buf_p) = yy_cp = yy_bp + 1;
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
+ YY_RULE_SETUP
+-#line 532 "scan.l"
++#line 536 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			BEGIN(NUM);
+ 			if ( lex_compat || posix_compat )
+@@ -3213,12 +3235,12 @@
+ (yy_c_buf_p) = yy_cp = yy_bp + 1;
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
+ YY_RULE_SETUP
+-#line 539 "scan.l"
++#line 543 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return '$';
+ 	YY_BREAK
+ case 144:
+ YY_RULE_SETUP
+-#line 541 "scan.l"
++#line 545 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			bracelevel = 1;
+ 			BEGIN(PERCENT_BRACE_ACTION);
+@@ -3234,7 +3256,7 @@
+ case 145:
+ /* rule 145 can match eol */
+ YY_RULE_SETUP
+-#line 552 "scan.l"
++#line 556 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+                         if (sf_skip_ws()){
+                             /* We're in the middle of a (?x: ) pattern. */
+@@ -3252,7 +3274,7 @@
+ 	YY_BREAK
+ case 146:
+ YY_RULE_SETUP
+-#line 567 "scan.l"
++#line 571 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 
+                 if (sf_skip_ws()){
+@@ -3269,12 +3291,12 @@
+ 	YY_BREAK
+ case 147:
+ YY_RULE_SETUP
+-#line 581 "scan.l"
++#line 585 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ /* allow indented rules */ ;
+ 	YY_BREAK
+ case 148:
+ YY_RULE_SETUP
+-#line 583 "scan.l"
++#line 587 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+             if (sf_skip_ws()){
+                 /* We're in the middle of a (?x: ) pattern. */
+@@ -3300,7 +3322,7 @@
+ case 149:
+ /* rule 149 can match eol */
+ YY_RULE_SETUP
+-#line 605 "scan.l"
++#line 609 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+             if (sf_skip_ws()){
+                 /* We're in the middle of a (?x: ) pattern. */
+@@ -3322,15 +3344,15 @@
+ 			}
+ 	YY_BREAK
+ case 150:
+-#line 626 "scan.l"
++#line 630 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ case 151:
+ YY_RULE_SETUP
+-#line 626 "scan.l"
++#line 630 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return EOF_OP;
+ 	YY_BREAK
+ case 152:
+ YY_RULE_SETUP
+-#line 628 "scan.l"
++#line 632 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			sectnum = 3;
+ 			BEGIN(no_section3_escape ? SECT3_NOESCAPE : SECT3);
+@@ -3341,7 +3363,7 @@
+ 	YY_BREAK
+ case 153:
+ YY_RULE_SETUP
+-#line 636 "scan.l"
++#line 640 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			int cclval;
+ 
+@@ -3391,12 +3413,12 @@
+ 	YY_BREAK
+ case 154:
+ YY_RULE_SETUP
+-#line 682 "scan.l"
++#line 686 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return CCL_OP_DIFF;
+ 	YY_BREAK
+ case 155:
+ YY_RULE_SETUP
+-#line 683 "scan.l"
++#line 687 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return CCL_OP_UNION;
+ 	YY_BREAK
+ /* Check for :space: at the end of the rule so we don't
+@@ -3406,7 +3428,7 @@
+ case 156:
+ /* rule 156 can match eol */
+ YY_RULE_SETUP
+-#line 690 "scan.l"
++#line 694 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			char *nmdefptr;
+             int end_is_ws, end_ch;
+@@ -3457,7 +3479,7 @@
+ 	YY_BREAK
+ case 157:
+ YY_RULE_SETUP
+-#line 738 "scan.l"
++#line 742 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+                     if (sf_skip_ws())
+                         yy_push_state(COMMENT_DISCARD);
+@@ -3470,7 +3492,7 @@
+ 	YY_BREAK
+ case 158:
+ YY_RULE_SETUP
+-#line 748 "scan.l"
++#line 752 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+                     if (lex_compat || posix_compat){
+                         /* Push back the "?#" and treat it like a normal parens. */
+@@ -3484,7 +3506,7 @@
+ 	YY_BREAK
+ case 159:
+ YY_RULE_SETUP
+-#line 758 "scan.l"
++#line 762 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+                     sf_push();
+                     if (lex_compat || posix_compat)
+@@ -3497,12 +3519,12 @@
+ 	YY_BREAK
+ case 160:
+ YY_RULE_SETUP
+-#line 767 "scan.l"
++#line 771 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ sf_push(); return '(';
+ 	YY_BREAK
+ case 161:
+ YY_RULE_SETUP
+-#line 768 "scan.l"
++#line 772 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+                     if (_sf_top_ix > 0) {
+                         sf_pop();
+@@ -3513,12 +3535,12 @@
+ 	YY_BREAK
+ case 162:
+ YY_RULE_SETUP
+-#line 776 "scan.l"
++#line 780 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return (unsigned char) yytext[0];
+ 	YY_BREAK
+ case 163:
+ YY_RULE_SETUP
+-#line 777 "scan.l"
++#line 781 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ RETURNCHAR;
+ 	YY_BREAK
+ 
+@@ -3526,17 +3548,17 @@
+ case 164:
+ /* rule 164 can match eol */
+ YY_RULE_SETUP
+-#line 782 "scan.l"
++#line 786 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ++linenum;	/* Allow blank lines & continuations */
+ 	YY_BREAK
+ case 165:
+ YY_RULE_SETUP
+-#line 783 "scan.l"
++#line 787 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return (unsigned char) yytext[0];
+ 	YY_BREAK
+ case 166:
+ YY_RULE_SETUP
+-#line 784 "scan.l"
++#line 788 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(SECT2); return '>';
+ 	YY_BREAK
+ case 167:
+@@ -3544,17 +3566,17 @@
+ (yy_c_buf_p) = yy_cp = yy_bp + 1;
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
+ YY_RULE_SETUP
+-#line 785 "scan.l"
++#line 789 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CARETISBOL); return '>';
+ 	YY_BREAK
+ case 168:
+ YY_RULE_SETUP
+-#line 786 "scan.l"
++#line 790 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ RETURNNAME;
+ 	YY_BREAK
+ case 169:
+ YY_RULE_SETUP
+-#line 787 "scan.l"
++#line 791 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			format_synerr( _( "bad <start condition>: %s" ),
+ 				yytext );
+@@ -3563,24 +3585,24 @@
+ 
+ case 170:
+ YY_RULE_SETUP
+-#line 793 "scan.l"
++#line 797 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(SECT2); return '^';
+ 	YY_BREAK
+ 
+ case 171:
+ YY_RULE_SETUP
+-#line 797 "scan.l"
++#line 801 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ RETURNCHAR;
+ 	YY_BREAK
+ case 172:
+ YY_RULE_SETUP
+-#line 798 "scan.l"
++#line 802 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(SECT2); return '"';
+ 	YY_BREAK
+ case 173:
+ /* rule 173 can match eol */
+ YY_RULE_SETUP
+-#line 800 "scan.l"
++#line 804 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			synerr( _( "missing quote" ) );
+ 			BEGIN(SECT2);
+@@ -3592,49 +3614,49 @@
+ 
+ case 174:
+ YY_RULE_SETUP
+-#line 809 "scan.l"
++#line 813 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(SECT2);
+ 	YY_BREAK
+ case 175:
+ YY_RULE_SETUP
+-#line 810 "scan.l"
++#line 814 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(GROUP_MINUS_PARAMS);
+ 	YY_BREAK
+ case 176:
+ YY_RULE_SETUP
+-#line 811 "scan.l"
++#line 815 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ sf_set_case_ins(1);
+ 	YY_BREAK
+ case 177:
+ YY_RULE_SETUP
+-#line 812 "scan.l"
++#line 816 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ sf_set_dot_all(1);
+ 	YY_BREAK
+ case 178:
+ YY_RULE_SETUP
+-#line 813 "scan.l"
++#line 817 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ sf_set_skip_ws(1);
+ 	YY_BREAK
+ 
+ 
+ case 179:
+ YY_RULE_SETUP
+-#line 816 "scan.l"
++#line 820 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(SECT2);
+ 	YY_BREAK
+ case 180:
+ YY_RULE_SETUP
+-#line 817 "scan.l"
++#line 821 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ sf_set_case_ins(0);
+ 	YY_BREAK
+ case 181:
+ YY_RULE_SETUP
+-#line 818 "scan.l"
++#line 822 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ sf_set_dot_all(0);
+ 	YY_BREAK
+ case 182:
+ YY_RULE_SETUP
+-#line 819 "scan.l"
++#line 823 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ sf_set_skip_ws(0);
+ 	YY_BREAK
+ 
+@@ -3644,7 +3666,7 @@
+ (yy_c_buf_p) = yy_cp = yy_bp + 1;
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
+ YY_RULE_SETUP
+-#line 823 "scan.l"
++#line 827 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return '^';
+ 	YY_BREAK
+ case 184:
+@@ -3652,12 +3674,12 @@
+ (yy_c_buf_p) = yy_cp = yy_bp + 1;
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
+ YY_RULE_SETUP
+-#line 824 "scan.l"
++#line 828 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return '^';
+ 	YY_BREAK
+ case 185:
+ YY_RULE_SETUP
+-#line 825 "scan.l"
++#line 829 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); RETURNCHAR;
+ 	YY_BREAK
+ 
+@@ -3667,23 +3689,23 @@
+ (yy_c_buf_p) = yy_cp = yy_bp + 1;
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
+ YY_RULE_SETUP
+-#line 829 "scan.l"
++#line 833 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return '-';
+ 	YY_BREAK
+ case 187:
+ YY_RULE_SETUP
+-#line 830 "scan.l"
++#line 834 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ RETURNCHAR;
+ 	YY_BREAK
+ case 188:
+ YY_RULE_SETUP
+-#line 831 "scan.l"
++#line 835 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(SECT2); return ']';
+ 	YY_BREAK
+ case 189:
+ /* rule 189 can match eol */
+ YY_RULE_SETUP
+-#line 832 "scan.l"
++#line 836 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			synerr( _( "bad character class" ) );
+ 			BEGIN(SECT2);
+@@ -3694,127 +3716,127 @@
+ 
+ case 190:
+ YY_RULE_SETUP
+-#line 840 "scan.l"
++#line 844 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_ALNUM;
+ 	YY_BREAK
+ case 191:
+ YY_RULE_SETUP
+-#line 841 "scan.l"
++#line 845 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_ALPHA;
+ 	YY_BREAK
+ case 192:
+ YY_RULE_SETUP
+-#line 842 "scan.l"
++#line 846 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_BLANK;
+ 	YY_BREAK
+ case 193:
+ YY_RULE_SETUP
+-#line 843 "scan.l"
++#line 847 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_CNTRL;
+ 	YY_BREAK
+ case 194:
+ YY_RULE_SETUP
+-#line 844 "scan.l"
++#line 848 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_DIGIT;
+ 	YY_BREAK
+ case 195:
+ YY_RULE_SETUP
+-#line 845 "scan.l"
++#line 849 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_GRAPH;
+ 	YY_BREAK
+ case 196:
+ YY_RULE_SETUP
+-#line 846 "scan.l"
++#line 850 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_LOWER;
+ 	YY_BREAK
+ case 197:
+ YY_RULE_SETUP
+-#line 847 "scan.l"
++#line 851 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_PRINT;
+ 	YY_BREAK
+ case 198:
+ YY_RULE_SETUP
+-#line 848 "scan.l"
++#line 852 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_PUNCT;
+ 	YY_BREAK
+ case 199:
+ YY_RULE_SETUP
+-#line 849 "scan.l"
++#line 853 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_SPACE;
+ 	YY_BREAK
+ case 200:
+ YY_RULE_SETUP
+-#line 850 "scan.l"
++#line 854 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_UPPER;
+ 	YY_BREAK
+ case 201:
+ YY_RULE_SETUP
+-#line 851 "scan.l"
++#line 855 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_XDIGIT;
+ 	YY_BREAK
+ case 202:
+ YY_RULE_SETUP
+-#line 853 "scan.l"
++#line 857 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_NEG_ALNUM;
+ 	YY_BREAK
+ case 203:
+ YY_RULE_SETUP
+-#line 854 "scan.l"
++#line 858 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_NEG_ALPHA;
+ 	YY_BREAK
+ case 204:
+ YY_RULE_SETUP
+-#line 855 "scan.l"
++#line 859 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_NEG_BLANK;
+ 	YY_BREAK
+ case 205:
+ YY_RULE_SETUP
+-#line 856 "scan.l"
++#line 860 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_NEG_CNTRL;
+ 	YY_BREAK
+ case 206:
+ YY_RULE_SETUP
+-#line 857 "scan.l"
++#line 861 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_NEG_DIGIT;
+ 	YY_BREAK
+ case 207:
+ YY_RULE_SETUP
+-#line 858 "scan.l"
++#line 862 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_NEG_GRAPH;
+ 	YY_BREAK
+ case 208:
+ YY_RULE_SETUP
+-#line 859 "scan.l"
++#line 863 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_NEG_LOWER;
+ 	YY_BREAK
+ case 209:
+ YY_RULE_SETUP
+-#line 860 "scan.l"
++#line 864 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_NEG_PRINT;
+ 	YY_BREAK
+ case 210:
+ YY_RULE_SETUP
+-#line 861 "scan.l"
++#line 865 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_NEG_PUNCT;
+ 	YY_BREAK
+ case 211:
+ YY_RULE_SETUP
+-#line 862 "scan.l"
++#line 866 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_NEG_SPACE;
+ 	YY_BREAK
+ case 212:
+ YY_RULE_SETUP
+-#line 863 "scan.l"
++#line 867 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_NEG_UPPER;
+ 	YY_BREAK
+ case 213:
+ YY_RULE_SETUP
+-#line 864 "scan.l"
++#line 868 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ BEGIN(CCL); return CCE_NEG_XDIGIT;
+ 	YY_BREAK
+ case 214:
+ YY_RULE_SETUP
+-#line 865 "scan.l"
++#line 869 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			format_synerr(
+ 				_( "bad character class expression: %s" ),
+@@ -3826,7 +3848,7 @@
+ 
+ case 215:
+ YY_RULE_SETUP
+-#line 874 "scan.l"
++#line 878 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			yylval = myctoi( yytext );
+ 			return NUMBER;
+@@ -3834,12 +3856,12 @@
+ 	YY_BREAK
+ case 216:
+ YY_RULE_SETUP
+-#line 879 "scan.l"
++#line 883 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ return ',';
+ 	YY_BREAK
+ case 217:
+ YY_RULE_SETUP
+-#line 880 "scan.l"
++#line 884 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			BEGIN(SECT2);
+ 			if ( lex_compat || posix_compat )
+@@ -3850,7 +3872,7 @@
+ 	YY_BREAK
+ case 218:
+ YY_RULE_SETUP
+-#line 888 "scan.l"
++#line 892 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			synerr( _( "bad character inside {}'s" ) );
+ 			BEGIN(SECT2);
+@@ -3860,7 +3882,7 @@
+ case 219:
+ /* rule 219 can match eol */
+ YY_RULE_SETUP
+-#line 894 "scan.l"
++#line 898 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			synerr( _( "missing }" ) );
+ 			BEGIN(SECT2);
+@@ -3872,18 +3894,18 @@
+ 
+ case 220:
+ YY_RULE_SETUP
+-#line 904 "scan.l"
++#line 908 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ bracelevel = 0;
+ 	YY_BREAK
+ case 221:
+ YY_RULE_SETUP
+-#line 906 "scan.l"
++#line 910 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO; yy_push_state( CODE_COMMENT );
+ 	YY_BREAK
+ 
+ case 222:
+ YY_RULE_SETUP
+-#line 909 "scan.l"
++#line 913 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+             ACTION_ECHO;
+             CHECK_REJECT(yytext);
+@@ -3891,7 +3913,7 @@
+ 	YY_BREAK
+ case 223:
+ YY_RULE_SETUP
+-#line 913 "scan.l"
++#line 917 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+             ACTION_ECHO;
+             CHECK_YYMORE(yytext);
+@@ -3900,13 +3922,13 @@
+ 
+ case 224:
+ YY_RULE_SETUP
+-#line 919 "scan.l"
++#line 923 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO;
+ 	YY_BREAK
+ case 225:
+ /* rule 225 can match eol */
+ YY_RULE_SETUP
+-#line 920 "scan.l"
++#line 924 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 		++linenum;
+ 		ACTION_ECHO;
+@@ -3924,43 +3946,43 @@
+ 
+ case 226:
+ YY_RULE_SETUP
+-#line 936 "scan.l"
++#line 940 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO; ++bracelevel;
+ 	YY_BREAK
+ case 227:
+ YY_RULE_SETUP
+-#line 937 "scan.l"
++#line 941 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO; --bracelevel;
+ 	YY_BREAK
+ case 228:
+ YY_RULE_SETUP
+-#line 938 "scan.l"
++#line 942 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO;
+ 	YY_BREAK
+ case 229:
+ YY_RULE_SETUP
+-#line 939 "scan.l"
++#line 943 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO;
+ 	YY_BREAK
+ case 230:
+ YY_RULE_SETUP
+-#line 940 "scan.l"
++#line 944 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO; /* character constant */
+ 	YY_BREAK
+ case 231:
+ YY_RULE_SETUP
+-#line 941 "scan.l"
++#line 945 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO; BEGIN(CHARACTER_CONSTANT);
+ 	YY_BREAK
+ case 232:
+ YY_RULE_SETUP
+-#line 942 "scan.l"
++#line 946 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO; BEGIN(ACTION_STRING);
+ 	YY_BREAK
+ case 233:
+ /* rule 233 can match eol */
+ YY_RULE_SETUP
+-#line 943 "scan.l"
++#line 947 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+                 ++linenum;
+                 ACTION_ECHO;
+@@ -3975,31 +3997,31 @@
+ 	YY_BREAK
+ case 234:
+ YY_RULE_SETUP
+-#line 954 "scan.l"
++#line 958 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO;
+ 	YY_BREAK
+ 
+ 
+ case 235:
+ YY_RULE_SETUP
+-#line 958 "scan.l"
++#line 962 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO;
+ 	YY_BREAK
+ case 236:
+ YY_RULE_SETUP
+-#line 959 "scan.l"
++#line 963 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO; BEGIN(ACTION);
+ 	YY_BREAK
+ 
+ 
+ case 237:
+ YY_RULE_SETUP
+-#line 962 "scan.l"
++#line 966 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO;
+ 	YY_BREAK
+ case 238:
+ YY_RULE_SETUP
+-#line 963 "scan.l"
++#line 967 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO; BEGIN(ACTION);
+ 	YY_BREAK
+ 
+@@ -4007,24 +4029,24 @@
+ case 239:
+ /* rule 239 can match eol */
+ YY_RULE_SETUP
+-#line 966 "scan.l"
++#line 970 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO;
+ 	YY_BREAK
+ case 240:
+ /* rule 240 can match eol */
+ YY_RULE_SETUP
+-#line 967 "scan.l"
++#line 971 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO;
+ 	YY_BREAK
+ case 241:
+ /* rule 241 can match eol */
+ YY_RULE_SETUP
+-#line 968 "scan.l"
++#line 972 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ++linenum; ACTION_ECHO; if (bracelevel <= 0) { BEGIN(SECT2); } else { BEGIN(ACTION); }
+ 	YY_BREAK
+ case 242:
+ YY_RULE_SETUP
+-#line 969 "scan.l"
++#line 973 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ACTION_ECHO;
+ 	YY_BREAK
+ 
+@@ -4034,7 +4056,7 @@
+ case YY_STATE_EOF(ACTION):
+ case YY_STATE_EOF(ACTION_STRING):
+ case YY_STATE_EOF(CHARACTER_CONSTANT):
+-#line 972 "scan.l"
++#line 976 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			synerr( _( "EOF encountered inside an action" ) );
+ 			yyterminate();
+@@ -4043,7 +4065,7 @@
+ case YY_STATE_EOF(EXTENDED_COMMENT):
+ case YY_STATE_EOF(GROUP_WITH_PARAMS):
+ case YY_STATE_EOF(GROUP_MINUS_PARAMS):
+-#line 977 "scan.l"
++#line 981 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			synerr( _( "EOF encountered inside pattern" ) );
+ 			yyterminate();
+@@ -4051,7 +4073,7 @@
+ 	YY_BREAK
+ case 243:
+ YY_RULE_SETUP
+-#line 982 "scan.l"
++#line 986 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+ 			yylval = myesc( (unsigned char *) yytext );
+ 
+@@ -4064,27 +4086,27 @@
+ 
+ case 244:
+ YY_RULE_SETUP
+-#line 992 "scan.l"
++#line 996 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ fputs(escaped_qstart, yyout);
+ 	YY_BREAK
+ case 245:
+ YY_RULE_SETUP
+-#line 993 "scan.l"
++#line 997 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ fputs(escaped_qend, yyout);
+ 	YY_BREAK
+ case 246:
+ /* rule 246 can match eol */
+ YY_RULE_SETUP
+-#line 994 "scan.l"
++#line 998 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ECHO;
+ 	YY_BREAK
+ case 247:
+ YY_RULE_SETUP
+-#line 995 "scan.l"
++#line 999 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ECHO;
+ 	YY_BREAK
+ case YY_STATE_EOF(SECT3):
+-#line 996 "scan.l"
++#line 1000 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+         sectnum = 0;
+         yyterminate();
+@@ -4094,27 +4116,27 @@
+ 
+ case 248:
+ YY_RULE_SETUP
+-#line 1002 "scan.l"
++#line 1006 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ fprintf(yyout, "[""[%s]""]", escaped_qstart);
+ 	YY_BREAK
+ case 249:
+ YY_RULE_SETUP
+-#line 1003 "scan.l"
++#line 1007 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ fprintf(yyout, "[""[%s]""]", escaped_qend);
+ 	YY_BREAK
+ case 250:
+ /* rule 250 can match eol */
+ YY_RULE_SETUP
+-#line 1004 "scan.l"
++#line 1008 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ECHO;
+ 	YY_BREAK
+ case 251:
+ YY_RULE_SETUP
+-#line 1005 "scan.l"
++#line 1009 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ ECHO;
+ 	YY_BREAK
+ case YY_STATE_EOF(SECT3_NOESCAPE):
+-#line 1006 "scan.l"
++#line 1010 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ {
+        sectnum = 0;
+        yyterminate();
+@@ -4124,15 +4146,15 @@
+ case 252:
+ /* rule 252 can match eol */
+ YY_RULE_SETUP
+-#line 1011 "scan.l"
++#line 1015 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ format_synerr( _( "bad character: %s" ), yytext );
+ 	YY_BREAK
+ case 253:
+ YY_RULE_SETUP
+-#line 1013 "scan.l"
++#line 1017 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
+ YY_FATAL_ERROR( "flex scanner jammed" );
+ 	YY_BREAK
+-#line 4135 "scan.c"
++#line 4158 "scan.c"
+ case YY_STATE_EOF(INITIAL):
+ case YY_STATE_EOF(SECT2):
+ case YY_STATE_EOF(CODEBLOCK):
+@@ -4223,7 +4245,7 @@
+ 				{
+ 				(yy_did_buffer_switch_on_eof) = 0;
+ 
+-				if ( yywrap(  ) )
++				if ( yywrap( ) )
+ 					{
+ 					/* Note: because we've taken care in
+ 					 * yy_get_next_buffer() to have set up
+@@ -4288,9 +4310,9 @@
+  */
+ static int yy_get_next_buffer (void)
+ {
+-    	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+-	char *source = (yytext_ptr);
+-	int number_to_move, i;
++    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
++	register char *source = (yytext_ptr);
++	register int number_to_move, i;
+ 	int ret_val;
+ 
+ 	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+@@ -4319,7 +4341,7 @@
+ 	/* Try to read more data. */
+ 
+ 	/* First move last chars to start of buffer. */
+-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
++	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+ 
+ 	for ( i = 0; i < number_to_move; ++i )
+ 		*(dest++) = *(source++);
+@@ -4332,7 +4354,7 @@
+ 
+ 	else
+ 		{
+-			int num_to_read =
++			yy_size_t num_to_read =
+ 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+ 
+ 		while ( num_to_read <= 0 )
+@@ -4346,7 +4368,7 @@
+ 
+ 			if ( b->yy_is_our_buffer )
+ 				{
+-				int new_size = b->yy_buf_size * 2;
++				yy_size_t new_size = b->yy_buf_size * 2;
+ 
+ 				if ( new_size <= 0 )
+ 					b->yy_buf_size += b->yy_buf_size / 8;
+@@ -4355,12 +4377,11 @@
+ 
+ 				b->yy_ch_buf = (char *)
+ 					/* Include room in for 2 EOB chars. */
+-					yyrealloc( (void *) b->yy_ch_buf,
+-							 (yy_size_t) (b->yy_buf_size + 2)  );
++					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
+ 				}
+ 			else
+ 				/* Can't grow it, we don't own it. */
+-				b->yy_ch_buf = NULL;
++				b->yy_ch_buf = 0;
+ 
+ 			if ( ! b->yy_ch_buf )
+ 				YY_FATAL_ERROR(
+@@ -4388,7 +4409,7 @@
+ 		if ( number_to_move == YY_MORE_ADJ )
+ 			{
+ 			ret_val = EOB_ACT_END_OF_FILE;
+-			yyrestart( yyin  );
++			yyrestart(yyin  );
+ 			}
+ 
+ 		else
+@@ -4402,15 +4423,12 @@
+ 	else
+ 		ret_val = EOB_ACT_CONTINUE_SCAN;
+ 
+-	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
++	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ 		/* Extend the array by 50%, plus the number we really need. */
+-		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
+-			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
++		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
++		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
+ 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+ 			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+-		/* "- 2" to take care of EOB's */
+-		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
+ 	}
+ 
+ 	(yy_n_chars) += number_to_move;
+@@ -4426,15 +4444,15 @@
+ 
+     static yy_state_type yy_get_previous_state (void)
+ {
+-	yy_state_type yy_current_state;
+-	char *yy_cp;
++	register yy_state_type yy_current_state;
++	register char *yy_cp;
+     
+ 	yy_current_state = (yy_start);
+ 	yy_current_state += YY_AT_BOL();
+ 
+ 	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+ 		{
+-		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
++		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ 		if ( yy_accept[yy_current_state] )
+ 			{
+ 			(yy_last_accepting_state) = yy_current_state;
+@@ -4444,9 +4462,9 @@
+ 			{
+ 			yy_current_state = (int) yy_def[yy_current_state];
+ 			if ( yy_current_state >= 1114 )
+-				yy_c = yy_meta[yy_c];
++				yy_c = yy_meta[(unsigned int) yy_c];
+ 			}
+-		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ 		}
+ 
+ 	return yy_current_state;
+@@ -4459,10 +4477,10 @@
+  */
+     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+ {
+-	int yy_is_jam;
+-    	char *yy_cp = (yy_c_buf_p);
++	register int yy_is_jam;
++    	register char *yy_cp = (yy_c_buf_p);
+ 
+-	YY_CHAR yy_c = 1;
++	register YY_CHAR yy_c = 1;
+ 	if ( yy_accept[yy_current_state] )
+ 		{
+ 		(yy_last_accepting_state) = yy_current_state;
+@@ -4472,19 +4490,17 @@
+ 		{
+ 		yy_current_state = (int) yy_def[yy_current_state];
+ 		if ( yy_current_state >= 1114 )
+-			yy_c = yy_meta[yy_c];
++			yy_c = yy_meta[(unsigned int) yy_c];
+ 		}
+-	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ 	yy_is_jam = (yy_current_state == 1113);
+ 
+ 		return yy_is_jam ? 0 : yy_current_state;
+ }
+ 
+-#ifndef YY_NO_UNPUT
+-
+-    static void yyunput (int c, char * yy_bp )
++    static void yyunput (int c, register char * yy_bp )
+ {
+-	char *yy_cp;
++	register char *yy_cp;
+     
+     yy_cp = (yy_c_buf_p);
+ 
+@@ -4494,10 +4510,10 @@
+ 	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+ 		{ /* need to shift things up to make room */
+ 		/* +2 for EOB chars. */
+-		int number_to_move = (yy_n_chars) + 2;
+-		char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
++		register yy_size_t number_to_move = (yy_n_chars) + 2;
++		register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+ 					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
+-		char *source =
++		register char *source =
+ 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
+ 
+ 		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+@@ -4506,7 +4522,7 @@
+ 		yy_cp += (int) (dest - source);
+ 		yy_bp += (int) (dest - source);
+ 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+-			(yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
++			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+ 
+ 		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+ 			YY_FATAL_ERROR( "flex scanner push-back overflow" );
+@@ -4519,8 +4535,6 @@
+ 	(yy_c_buf_p) = yy_cp;
+ }
+ 
+-#endif
+-
+ #ifndef YY_NO_INPUT
+ #ifdef __cplusplus
+     static int yyinput (void)
+@@ -4545,7 +4559,7 @@
+ 
+ 		else
+ 			{ /* need more input */
+-			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
++			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
+ 			++(yy_c_buf_p);
+ 
+ 			switch ( yy_get_next_buffer(  ) )
+@@ -4562,14 +4576,14 @@
+ 					 */
+ 
+ 					/* Reset buffer status. */
+-					yyrestart( yyin );
++					yyrestart(yyin );
+ 
+ 					/*FALLTHROUGH*/
+ 
+ 				case EOB_ACT_END_OF_FILE:
+ 					{
+-					if ( yywrap(  ) )
+-						return 0;
++					if ( yywrap( ) )
++						return EOF;
+ 
+ 					if ( ! (yy_did_buffer_switch_on_eof) )
+ 						YY_NEW_FILE;
+@@ -4608,11 +4622,11 @@
+ 	if ( ! YY_CURRENT_BUFFER ){
+         yyensure_buffer_stack ();
+ 		YY_CURRENT_BUFFER_LVALUE =
+-            yy_create_buffer( yyin, YY_BUF_SIZE );
++            yy_create_buffer(yyin,YY_BUF_SIZE );
+ 	}
+ 
+-	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
+-	yy_load_buffer_state(  );
++	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
++	yy_load_buffer_state( );
+ }
+ 
+ /** Switch to a different input buffer.
+@@ -4640,7 +4654,7 @@
+ 		}
+ 
+ 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+-	yy_load_buffer_state(  );
++	yy_load_buffer_state( );
+ 
+ 	/* We don't actually know whether we did this switch during
+ 	 * EOF (yywrap()) processing, but the only time this flag
+@@ -4668,7 +4682,7 @@
+ {
+ 	YY_BUFFER_STATE b;
+     
+-	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
++	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
+ 	if ( ! b )
+ 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+ 
+@@ -4677,13 +4691,13 @@
+ 	/* yy_ch_buf has to be 2 characters longer than the size given because
+ 	 * we need to put in 2 end-of-buffer characters.
+ 	 */
+-	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
++	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
+ 	if ( ! b->yy_ch_buf )
+ 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+ 
+ 	b->yy_is_our_buffer = 1;
+ 
+-	yy_init_buffer( b, file );
++	yy_init_buffer(b,file );
+ 
+ 	return b;
+ }
+@@ -4702,9 +4716,9 @@
+ 		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+ 
+ 	if ( b->yy_is_our_buffer )
+-		yyfree( (void *) b->yy_ch_buf  );
++		yyfree((void *) b->yy_ch_buf  );
+ 
+-	yyfree( (void *) b  );
++	yyfree((void *) b  );
+ }
+ 
+ /* Initializes or reinitializes a buffer.
+@@ -4716,7 +4730,7 @@
+ {
+ 	int oerrno = errno;
+     
+-	yy_flush_buffer( b );
++	yy_flush_buffer(b );
+ 
+ 	b->yy_input_file = file;
+ 	b->yy_fill_buffer = 1;
+@@ -4759,7 +4773,7 @@
+ 	b->yy_buffer_status = YY_BUFFER_NEW;
+ 
+ 	if ( b == YY_CURRENT_BUFFER )
+-		yy_load_buffer_state(  );
++		yy_load_buffer_state( );
+ }
+ 
+ /** Pushes the new state onto the stack. The new state becomes
+@@ -4790,7 +4804,7 @@
+ 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+ 
+ 	/* copied from yy_switch_to_buffer. */
+-	yy_load_buffer_state(  );
++	yy_load_buffer_state( );
+ 	(yy_did_buffer_switch_on_eof) = 1;
+ }
+ 
+@@ -4809,7 +4823,7 @@
+ 		--(yy_buffer_stack_top);
+ 
+ 	if (YY_CURRENT_BUFFER) {
+-		yy_load_buffer_state(  );
++		yy_load_buffer_state( );
+ 		(yy_did_buffer_switch_on_eof) = 1;
+ 	}
+ }
+@@ -4827,15 +4841,15 @@
+ 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+ 		 * immediate realloc on the next call.
+          */
+-      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
++		num_to_alloc = 1;
+ 		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
+ 								(num_to_alloc * sizeof(struct yy_buffer_state*)
+ 								);
+ 		if ( ! (yy_buffer_stack) )
+ 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+-
++								  
+ 		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+-
++				
+ 		(yy_buffer_stack_max) = num_to_alloc;
+ 		(yy_buffer_stack_top) = 0;
+ 		return;
+@@ -4844,7 +4858,7 @@
+ 	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+ 
+ 		/* Increase the buffer to prepare for a possible push. */
+-		yy_size_t grow_size = 8 /* arbitrary grow size */;
++		int grow_size = 8 /* arbitrary grow size */;
+ 
+ 		num_to_alloc = (yy_buffer_stack_max) + grow_size;
+ 		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
+@@ -4864,7 +4878,7 @@
+  * @param base the character buffer
+  * @param size the size in bytes of the character buffer
+  * 
+- * @return the newly allocated buffer state object.
++ * @return the newly allocated buffer state object. 
+  */
+ YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
+ {
+@@ -4874,23 +4888,23 @@
+ 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
+ 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
+ 		/* They forgot to leave room for the EOB's. */
+-		return NULL;
++		return 0;
+ 
+-	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
++	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
+ 	if ( ! b )
+ 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+ 
+-	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
++	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
+ 	b->yy_buf_pos = b->yy_ch_buf = base;
+ 	b->yy_is_our_buffer = 0;
+-	b->yy_input_file = NULL;
++	b->yy_input_file = 0;
+ 	b->yy_n_chars = b->yy_buf_size;
+ 	b->yy_is_interactive = 0;
+ 	b->yy_at_bol = 1;
+ 	b->yy_fill_buffer = 0;
+ 	b->yy_buffer_status = YY_BUFFER_NEW;
+ 
+-	yy_switch_to_buffer( b  );
++	yy_switch_to_buffer(b  );
+ 
+ 	return b;
+ }
+@@ -4903,10 +4917,10 @@
+  * @note If you want to scan bytes that may contain NUL values, then use
+  *       yy_scan_bytes() instead.
+  */
+-YY_BUFFER_STATE yy_scan_string (const char * yystr )
++YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
+ {
+     
+-	return yy_scan_bytes( yystr, (int) strlen(yystr) );
++	return yy_scan_bytes(yystr,strlen(yystr) );
+ }
+ 
+ /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
+@@ -4916,16 +4930,16 @@
+  * 
+  * @return the newly allocated buffer state object.
+  */
+-YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
++YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
+ {
+ 	YY_BUFFER_STATE b;
+ 	char *buf;
+ 	yy_size_t n;
+-	int i;
++	yy_size_t i;
+     
+ 	/* Get memory for full buffer, including space for trailing EOB's. */
+-	n = (yy_size_t) (_yybytes_len + 2);
+-	buf = (char *) yyalloc( n  );
++	n = _yybytes_len + 2;
++	buf = (char *) yyalloc(n  );
+ 	if ( ! buf )
+ 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+ 
+@@ -4934,7 +4948,7 @@
+ 
+ 	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
+ 
+-	b = yy_scan_buffer( buf, n );
++	b = yy_scan_buffer(buf,n );
+ 	if ( ! b )
+ 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+ 
+@@ -4946,21 +4960,20 @@
+ 	return b;
+ }
+ 
+-    static void yy_push_state (int  _new_state )
++    static void yy_push_state (int  new_state )
+ {
+     	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
+ 		{
+ 		yy_size_t new_size;
+ 
+ 		(yy_start_stack_depth) += YY_START_STACK_INCR;
+-		new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
++		new_size = (yy_start_stack_depth) * sizeof( int );
+ 
+ 		if ( ! (yy_start_stack) )
+-			(yy_start_stack) = (int *) yyalloc( new_size  );
++			(yy_start_stack) = (int *) yyalloc(new_size  );
+ 
+ 		else
+-			(yy_start_stack) = (int *) yyrealloc(
+-					(void *) (yy_start_stack), new_size  );
++			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
+ 
+ 		if ( ! (yy_start_stack) )
+ 			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
+@@ -4968,7 +4981,7 @@
+ 
+ 	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
+ 
+-	BEGIN(_new_state);
++	BEGIN(new_state);
+ }
+ 
+     static void yy_pop_state  (void)
+@@ -4983,9 +4996,9 @@
+ #define YY_EXIT_FAILURE 2
+ #endif
+ 
+-static void yynoreturn yy_fatal_error (const char* msg )
++static void yy_fatal_error (yyconst char* msg )
+ {
+-			fprintf( stderr, "%s\n", msg );
++    	(void) fprintf( stderr, "%s\n", msg );
+ 	exit( YY_EXIT_FAILURE );
+ }
+ 
+@@ -5013,7 +5026,7 @@
+  */
+ int yyget_lineno  (void)
+ {
+-    
++        
+     return yylineno;
+ }
+ 
+@@ -5036,7 +5049,7 @@
+ /** Get the length of the current token.
+  * 
+  */
+-int yyget_leng  (void)
++yy_size_t yyget_leng  (void)
+ {
+         return yyleng;
+ }
+@@ -5051,29 +5064,29 @@
+ }
+ 
+ /** Set the current line number.
+- * @param _line_number line number
++ * @param line_number
+  * 
+  */
+-void yyset_lineno (int  _line_number )
++void yyset_lineno (int  line_number )
+ {
+     
+-    yylineno = _line_number;
++    yylineno = line_number;
+ }
+ 
+ /** Set the input stream. This does not discard the current
+  * input buffer.
+- * @param _in_str A readable stream.
++ * @param in_str A readable stream.
+  * 
+  * @see yy_switch_to_buffer
+  */
+-void yyset_in (FILE *  _in_str )
++void yyset_in (FILE *  in_str )
+ {
+-        yyin = _in_str ;
++        yyin = in_str ;
+ }
+ 
+-void yyset_out (FILE *  _out_str )
++void yyset_out (FILE *  out_str )
+ {
+-        yyout = _out_str ;
++        yyout = out_str ;
+ }
+ 
+ int yyget_debug  (void)
+@@ -5081,9 +5094,9 @@
+         return yy_flex_debug;
+ }
+ 
+-void yyset_debug (int  _bdebug )
++void yyset_debug (int  bdebug )
+ {
+-        yy_flex_debug = _bdebug ;
++        yy_flex_debug = bdebug ;
+ }
+ 
+ static int yy_init_globals (void)
+@@ -5092,10 +5105,10 @@
+      * This function is called from yylex_destroy(), so don't allocate here.
+      */
+ 
+-    (yy_buffer_stack) = NULL;
++    (yy_buffer_stack) = 0;
+     (yy_buffer_stack_top) = 0;
+     (yy_buffer_stack_max) = 0;
+-    (yy_c_buf_p) = NULL;
++    (yy_c_buf_p) = (char *) 0;
+     (yy_init) = 0;
+     (yy_start) = 0;
+ 
+@@ -5108,8 +5121,8 @@
+     yyin = stdin;
+     yyout = stdout;
+ #else
+-    yyin = NULL;
+-    yyout = NULL;
++    yyin = (FILE *) 0;
++    yyout = (FILE *) 0;
+ #endif
+ 
+     /* For future reference: Set errno on error, since we are called by
+@@ -5124,7 +5137,7 @@
+     
+     /* Pop the buffer stack, destroying each element. */
+ 	while(YY_CURRENT_BUFFER){
+-		yy_delete_buffer( YY_CURRENT_BUFFER  );
++		yy_delete_buffer(YY_CURRENT_BUFFER  );
+ 		YY_CURRENT_BUFFER_LVALUE = NULL;
+ 		yypop_buffer_state();
+ 	}
+@@ -5134,7 +5147,7 @@
+ 	(yy_buffer_stack) = NULL;
+ 
+     /* Destroy the start condition stack. */
+-        yyfree( (yy_start_stack)  );
++        yyfree((yy_start_stack)  );
+         (yy_start_stack) = NULL;
+ 
+     /* Reset the globals. This is important in a non-reentrant scanner so the next time
+@@ -5149,19 +5162,18 @@
+  */
+ 
+ #ifndef yytext_ptr
+-static void yy_flex_strncpy (char* s1, const char * s2, int n )
++static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+ {
+-		
+-	int i;
++	register int i;
+ 	for ( i = 0; i < n; ++i )
+ 		s1[i] = s2[i];
+ }
+ #endif
+ 
+ #ifdef YY_NEED_STRLEN
+-static int yy_flex_strlen (const char * s )
++static int yy_flex_strlen (yyconst char * s )
+ {
+-	int n;
++	register int n;
+ 	for ( n = 0; s[n]; ++n )
+ 		;
+ 
+@@ -5171,12 +5183,11 @@
+ 
+ void *yyalloc (yy_size_t  size )
+ {
+-			return malloc(size);
++	return (void *) malloc( size );
+ }
+ 
+ void *yyrealloc  (void * ptr, yy_size_t  size )
+ {
+-		
+ 	/* The cast to (char *) in the following accommodates both
+ 	 * implementations that use char* generic pointers, and those
+ 	 * that use void* generic pointers.  It works with the latter
+@@ -5184,17 +5195,18 @@
+ 	 * any pointer type to void*, and deal with argument conversions
+ 	 * as though doing an assignment.
+ 	 */
+-	return realloc(ptr, size);
++	return (void *) realloc( (char *) ptr, size );
+ }
+ 
+ void yyfree (void * ptr )
+ {
+-			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
++	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
+ }
+ 
+ #define YYTABLES_NAME "yytables"
+ 
+-#line 1013 "scan.l"
++#line 1017 "/scratch/jwe/build/mxe-octave-all-native/tmp-build-flex/flex-2.6.4/src/scan.l"
++
+ 
+ 
+ 
--- a/src/build-flex.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/build-flex.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,20 +3,24 @@
 
 PKG             := build-flex
 $(PKG)_IGNORE   := 
-$(PKG)_CHECKSUM := db4b140f2aff34c6197cab919828cc4146aae218
+$(PKG)_VERSION  := 2.6.4
+$(PKG)_CHECKSUM := ec5653f673ec8f6e3f07d5e730008cee54d2ce02
 $(PKG)_SUBDIR   := flex-$($(PKG)_VERSION)
-$(PKG)_FILE     := flex-$($(PKG)_VERSION).tar.bz2
-$(PKG)_URL      := http://prdownloads.sourceforge.net/flex/$($(PKG)_FILE)
-$(PKG)_DEPS     := 
+$(PKG)_FILE     := flex-$($(PKG)_VERSION).tar.lz
+$(PKG)_URL      := https://github.com/westes/flex/releases/download/v$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS     := build-lzip
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- 'https://github.com/westes/flex/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
+$(PKG)_CONFIGURE_OPTIONS := ac_cv_func_reallocarray=no
+
 define $(PKG)_BUILD
     mkdir '$(1).build'
-    cd    '$(1).build' && '$(1)/configure' \
+    cd    '$(1).build' && '$(1)/configure' $($(PKG)_CONFIGURE_OPTIONS) \
         --prefix='$(BUILD_TOOLS_PREFIX)'
     $(MAKE) -C '$(1).build' -j '$(JOBS)'
     $(MAKE) -C '$(1).build' -j 1 install
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-gawk.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,40 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := build-gawk
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.0.1
+$(PKG)_CHECKSUM := 4ad1a3e5d016b5484bcbcbf866d73967c4af1b5e
+$(PKG)_SUBDIR   := gawk-$($(PKG)_VERSION)
+$(PKG)_FILE     := gawk-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/gawk/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/gawk/?C=M;O=D' | \
+    $(SED) -n 's,.*<a href="gawk-\([0-9\.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
+endef
+
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+define $(PKG)_BUILD
+    # copy from pc folder
+    cp    '$(1)'/pc/*.* '$(1)'
+    cp    '$(1)/pc/Makefile' '$(1)'
+    cp    '$(1)/pc/Makefile.ext' '$(1)/extension/Makefile'
+    cp    '$(1)/pc/Makefile.tst' '$(1)/test/Makefile'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' mingw32
+    $(MAKE) -C '$(1)/extension' -j '$(JOBS)' 
+    $(MAKE) -C '$(1)' -j 1 install prefix=$(BUILD_TOOLS_PREFIX) 
+endef
+else
+define $(PKG)_BUILD
+    mkdir '$(1).build'
+    cd    '$(1).build' && '$(1)/configure' \
+	--disable-shared \
+        --prefix='$(BUILD_TOOLS_PREFIX)'
+    $(MAKE) -C '$(1).build' -j '$(JOBS)'
+    $(MAKE) -C '$(1).build' -j 1 install
+endef
+endif
--- a/src/build-gcc.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/build-gcc.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,17 +3,19 @@
 
 PKG             := build-gcc
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 4e655032cda30e1928fcc3f00962f4238b502169
+$(PKG)_VERSION  := 9.3.0
+$(PKG)_CHECKSUM := b746688bf045a316fc92c3528138ad10d0822b6b
 $(PKG)_SUBDIR   := gcc-$($(PKG)_VERSION)
-$(PKG)_FILE     := gcc-$($(PKG)_VERSION).tar.bz2
+$(PKG)_FILE     := gcc-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_URL_2    := ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
-ifeq ($(MXE_NATIVE_BUILD),yes)
-  $(PKG)_DEPS := build-cmake
-else
-  ifeq ($(MXE_SYSTEM),mingw)
-    $(PKG)_DEPS := mingwrt w32api build-binutils
-  endif
+
+$(PKG)_DEPS := gcc-gmp gcc-isl gcc-mpc gcc-mpfr
+ifneq ($(MXE_NATIVE_BUILD),yes)
+  $(PKG)_DEPS += build-binutils
+endif
+ifeq ($(MXE_SYSTEM),mingw)
+  $(PKG)_DEPS += mingw-w64
 endif
 
 ifneq ($(BUILD_SHARED),yes)
@@ -22,51 +24,141 @@
 
 ifeq ($(MXE_SYSTEM),mingw)
   $(PKG)_SYSDEP_CONFIGURE_OPTIONS := \
-    --libdir='$(BUILD_TOOLS_PREFIX)/lib' \
     --enable-version-specific-runtime-libs \
     --with-gcc \
     --with-gnu-ld \
     --with-gnu-as \
     --disable-nls \
     --without-x \
+    --disable-win32-registry \
+    --enable-threads=posix
+  ifneq ($(TARGET),x86_64-w64-mingw32)
+    $(PKG)_SYSDEP_CONFIGURE_OPTIONS += \
+    --libdir='$(BUILD_TOOLS_PREFIX)/lib' \
+    --with-native-system-header-dir='/include' \
     --disable-sjlj-exceptions \
-    --disable-win32-registry \
-    --enable-threads=win32
+    --with-specs='%{!mfpmath:-mfpmath=sse} %{!msse:%{!mno-sse:-msse}} %{!msse2:%{!mno-sse2:-msse2}}'
+  else
+    define $(PKG)_PRE_BUILD
+      echo "Shortcuts"
+      # create shortcuts
+      if ! [ -L $(BUILD_TOOLS_PREFIX)/mingw ]; then \
+        ln -s $(HOST_PREFIX) $(BUILD_TOOLS_PREFIX)/mingw; \
+      fi
+    endef
+  endif
+  define $(PKG)_INSTALL_SYSTEM_HEADERS
+    $($(PKG)_PRE_BUILD)
+    # install mingw-w64 headers
+    $(call PREPARE_PKG_SOURCE,mingw-w64,$(1))
+    mkdir '$(1).headers'
+    cd '$(1).headers' && '$(1)/$(mingw-w64_SUBDIR)/mingw-w64-headers/configure' \
+        --host='$(TARGET)' \
+        --prefix='$(HOST_PREFIX)' \
+        --enable-sdk=all \
+        --enable-idl \
+        --enable-secure-api \
+        $(mingw-w64-headers_CONFIGURE_OPTS)
+    $(MAKE) -C '$(1).headers' install
+  endef
+  define $(PKG)_BUILD_SYSTEM_RUNTIME
+    # build standalone gcc
+    $(MAKE) -C '$(1).build' -j '$(JOBS)' all-gcc
+    $(MAKE) -C '$(1).build' -j 1 install-gcc
+
+    # build mingw-w64-crt
+    mkdir '$(1).crt-build'
+    cd '$(1).crt-build' && '$(1)/$(mingw-w64_SUBDIR)/mingw-w64-crt/configure' \
+	--host='$(TARGET)' \
+	--prefix='$(HOST_PREFIX)' \
+	$(if $(filter $(TARGET), x86_64-w64-mingw32),--disable-lib32) \
+	--with-sysroot='$(HOST_PREFIX)'
+    $(MAKE) -C '$(1).crt-build' -j '$(JOBS)' || $(MAKE) -C '$(1).crt-build' -j '$(JOBS)'
+    $(MAKE) -C '$(1).crt-build' -j 1 install
+
+    # build posix threads
+    mkdir '$(1).pthreads'
+    cd '$(1).pthreads' && '$(1)/$(mingw-w64_SUBDIR)/mingw-w64-libraries/winpthreads/configure' \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        $(ENABLE_SHARED_OR_STATIC)
+    $(MAKE) -C '$(1).pthreads' -j '$(JOBS)' || $(MAKE) -C '$(1).pthreads' -j '$(JOBS)'
+    $(MAKE) -C '$(1).pthreads' -j 1 install
+  endef
 endif
 
+ifneq ($(MXE_NATIVE_BUILD),yes)
+  $(PKG)_SYSDEP_CONFIGURE_OPTIONS += \
+    --target='$(TARGET)' \
+    --build='$(BUILD_SYSTEM)' \
+    --with-as='$(BUILD_TOOLS_PREFIX)/bin/$(TARGET)-as' \
+    --with-ld='$(BUILD_TOOLS_PREFIX)/bin/$(TARGET)-ld' \
+    --with-nm='$(BUILD_TOOLS_PREFIX)/bin/$(TARGET)-nm' \
+    --disable-multilib  --with-host-libstdcxx="-lstdc++" --with-system-zlib
+
+  ifeq ($(ENABLE_WINDOWS_64),yes)
+    $(PKG)_SYSDEP_CONFIGURE_OPTIONS += \
+      --enable-64bit --disable-32bit --enable-fully-dynamic-string
+  endif
+else
+  $(PKG)_SYSDEP_CONFIGURE_OPTIONS += \
+      --disable-multilib
+endif
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://ftp.gnu.org/gnu/gcc/?C=M;O=D' | \
     $(SED) -n 's,.*<a href="gcc-\([0-9][^"]*\)/".*,\1,p' | \
-    grep -v '^4\.[543]\.' | \
-    head -1
+    $(SORT) -V | \
+    tail -1
+endef
+
+define $(PKG)_CONFIGURE
+    # configure gcc
+    mkdir '$(1).build'
+    cd    '$(1).build' && '$(1)/configure' \
+        --prefix='$(BUILD_TOOLS_PREFIX)' \
+        --enable-languages='c,c++,fortran' \
+        --disable-libsanitizer \
+        $($(PKG)_SYSDEP_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --disable-libgomp \
+        --with-cloog='$(BUILD_TOOLS_PREFIX)' \
+        --with-gmp='$(BUILD_TOOLS_PREFIX)' \
+        --with-isl='$(BUILD_TOOLS_PREFIX)' \
+        --with-mpc='$(BUILD_TOOLS_PREFIX)' \
+        --with-mpfr='$(BUILD_TOOLS_PREFIX)' \
+        $(shell [ `uname -s` == Darwin ] && echo "LDFLAGS='-Wl,-no_pie'")
 endef
 
 define $(PKG)_BUILD
-    cd '$(1)' && ./contrib/download_prerequisites
-    mkdir '$(1).build'
-    cd    '$(1).build' && '$(1)/configure' \
-        --target='$(TARGET)' \
-        --build='$(BUILD_SYSTEM)' \
-        --prefix='$(BUILD_TOOLS_PREFIX)' \
-        --enable-languages='c,c++,fortran' \
-        --disable-multilib \
-        $(ENABLE_SHARED_OR_STATIC) \
-        $($(PKG)_SYSDEP_CONFIGURE_OPTIONS) \
-        --disable-libgomp \
-        --disable-libmudflap \
-        $(shell [ `uname -s` == Darwin ] && echo "LDFLAGS='-Wl,-no_pie'")
-    $(MAKE) -C '$(1).build' -j '$(JOBS)'
-    $(MAKE) -C '$(1).build' -j 1 install
-    mkdir -p $(TOP_DIR)/cross-tools/$(HOST_BINDIR)
-    $(MAKE) -C '$(1).build' -j 1 DESTDIR=$(TOP_DIR)/cross-tools install
+  # Windows only.
+  $($(PKG)_INSTALL_SYSTEM_HEADERS)
+
+  # All systems.
+  $($(PKG)_CONFIGURE)
+
+  # Windows only.
+  $($(PKG)_BUILD_SYSTEM_RUNTIME)
+
+  # Build rest of gcc.
+  $(MAKE) -C '$(1).build' -j '$(JOBS)'
+  $(MAKE) -C '$(1).build' -j 1 install
 
-    # create pkg-config script
-    if [ '$(MXE_NATIVE_BUILD)' = 'no' ]; then \
-      (echo '#!/bin/sh'; \
-       echo 'PKG_CONFIG_PATH="$$PKG_CONFIG_PATH_$(subst -,_,$(TARGET))" PKG_CONFIG_LIBDIR='\''$(HOST_LIBDIR)/pkgconfig'\'' exec pkg-config $($(PKG)_STATIC_FLAG) "$$@"') \
-               > '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)pkg-config'; \
-      chmod 0755 '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)pkg-config'; \
-    fi
+  if [ -f $(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/lib/libgcc_s.a ]; then \
+    mv $(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/lib/libgcc_s.a $(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/$($(PKG)_VERSION)/libgcc_s.a; \
+  fi
+
+  if [ -f $(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/lib32/libgcc_s.a ]; then \
+    mv $(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/lib32/libgcc_s.a $(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/$($(PKG)_VERSION)/32/libgcc_s.a; \
+  fi
+
+  # create pkg-config script
+  if [ '$(MXE_NATIVE_BUILD)' = 'no' ]; then \
+    (echo '#!/bin/sh'; \
+     echo 'PKG_CONFIG_PATH="$$PKG_CONFIG_PATH_$(subst -,_,$(TARGET))" PKG_CONFIG_LIBDIR='\''$(HOST_LIBDIR)/pkgconfig'\'' exec pkg-config $($(PKG)_STATIC_FLAG) "$$@"') \
+             > '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)pkg-config'; \
+    chmod 0755 '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)pkg-config'; \
+  fi
+
+  $($(PKG)_POST_BUILD)
 endef
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-gettext.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := build-gettext
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.21
+$(PKG)_CHECKSUM := e6c0a0cba5b00a604c9118403a8199c77a538526
+$(PKG)_SUBDIR   := gettext-$($(PKG)_VERSION)
+$(PKG)_FILE     := gettext-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/gettext/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/gettext/?C=M;O=D' | \
+    $(SED) -n 's,.*<a href="gettext-\([0-9\.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    mkdir '$(1).build'
+    cd    '$(1).build' && '$(1)/configure' \
+        --prefix='$(BUILD_TOOLS_PREFIX)' \
+        --without-libexpat-prefix \
+        --without-libxml2-prefix \
+	$($(PKG)_CONFIGURE_OPTIONS)
+    $(MAKE) -C '$(1).build' -j '$(JOBS)'
+    if test x$(MXE_SYSTEM) = xmsvc; then \
+        cd '$(1).build' && $(CONFIGURE_POST_HOOK); \
+    fi
+    $(MAKE) -C '$(1).build' -j 1 $(MXE_DISABLE_DOCS) install DESTDIR='$(3)'
+endef
--- a/src/build-gperf.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/build-gperf.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,18 @@
 
 PKG             := build-gperf
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := e32d4aff8f0c730c9a56554377b2c6d82d0951b8
+$(PKG)_VERSION  := 3.1
+$(PKG)_CHECKSUM := e3c0618c2d2e5586eda9498c867d5e4858a3b0e2
 $(PKG)_SUBDIR   := gperf-$($(PKG)_VERSION)
 $(PKG)_FILE     := gperf-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/gperf/$($(PKG)_FILE)
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/gperf/?C=M;O=D' | \
+    $(SED) -n 's,.*<a href="gperf-\([0-9\.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/build-libtool.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/build-libtool.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := build-libtool
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 22b71a8b5ce3ad86e1094e7285981cae10e6ff88
+$(PKG)_VERSION  := 2.4.6
+$(PKG)_CHECKSUM := 25b6931265230a06f0fc2146df64c04e5ae6ec33
 $(PKG)_SUBDIR   := libtool-$($(PKG)_VERSION)
 $(PKG)_FILE     := libtool-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/libtool/$($(PKG)_FILE)
@@ -19,8 +20,10 @@
 endif
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/libtool/?C=M;O=D' | \
+    $(SED) -n 's,.*<a href="libtool-\([0-9\.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-lzip.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,23 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := build-lzip
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.21
+$(PKG)_CHECKSUM := 08bea2f275d639bfe85fe30887d269b96eac34e1
+$(PKG)_SUBDIR   := lzip-$($(PKG)_VERSION)
+$(PKG)_FILE     := lzip-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://download.savannah.gnu.org/releases/lzip/$($(PKG)_FILE)
+$(PKG)_DEPS     :=
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- http://download.savannah.gnu.org/releases/lzip | \
+    $(SED) -n 's,.*<a href="lzip-\([0-9][\.0-9]*\)\.tar\.gz.*,\1,p' | \
+    $(SORT) -V | tail -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && './configure' \
+        --prefix='$(BUILD_TOOLS_PREFIX)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
+endef
--- a/src/build-m4-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-diff -uNr a/lib/stdio.in.h b/lib/stdio.in.h
---- a/lib/stdio.in.h	2011-03-01 11:39:29.000000000 -0500
-+++ b/lib/stdio.in.h	2013-08-05 22:30:54.870325354 -0400
-@@ -158,12 +158,6 @@
-                  "use gnulib module fflush for portable POSIX compliance");
- #endif
- 
--/* It is very rare that the developer ever has full control of stdin,
--   so any use of gets warrants an unconditional warning.  Assume it is
--   always declared, since it is required by C89.  */
--#undef gets
--_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
--
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
- #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-m4-glibc2-28.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,123 @@
+# This file is based on a Debian patch:
+# https://launchpadlibrarian.net/392968582/m4_1.4.18-1_1.4.18-1ubuntu1.diff.gz
+
+diff -upr a/lib/fflush.c b/lib/fflush.c
+--- a/lib/fflush.c     2016-12-31 21:54:41.000000000 +0800
++++ b/lib/fflush.c     2018-08-08 16:12:40.522952171 +0800
+@@ -33,7 +33,7 @@
+ #undef fflush
+ 
+ 
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ 
+ /* Clear the stream's ungetc buffer, preserving the value of ftello (fp).  */
+ static void
+@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp)
+ 
+ #endif
+ 
+-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
++#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
+ 
+ # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
+@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream)
+   if (stream == NULL || ! freading (stream))
+     return fflush (stream);
+ 
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ 
+   clear_ungetc_buffer_preserving_position (stream);
+
+diff -upr a/lib/fpending.c b/lib/fpending.c
+--- a/lib/fpending.c     2016-12-31 21:54:41.000000000 +0800
++++ b/lib/fpending.c     2018-08-08 16:12:40.522952171 +0800
+@@ -32,7 +32,7 @@ __fpending (FILE *fp)
+   /* Most systems provide FILE as a struct and the necessary bitmask in
+      <stdio.h>, because they need it for implementing getc() and putc() as
+      fast macros.  */
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+   return fp->_IO_write_ptr - fp->_IO_write_base;
+ #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
+   /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
+
+diff -upr a/lib/fpurge.c b/lib/fpurge.c
+--- a/lib/fpurge.c     2016-12-31 21:54:41.000000000 +0800
++++ b/lib/fpurge.c     2018-08-08 16:12:40.522952171 +0800
+@@ -62,7 +62,7 @@ fpurge (FILE *fp)
+   /* Most systems provide FILE as a struct and the necessary bitmask in
+      <stdio.h>, because they need it for implementing getc() and putc() as
+      fast macros.  */
+-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+   fp->_IO_read_end = fp->_IO_read_ptr;
+   fp->_IO_write_ptr = fp->_IO_write_base;
+   /* Avoid memory leak when there is an active ungetc buffer.  */
+
+diff -upr a/lib/freadahead.c b/lib/freadahead.c
+--- a/lib/freadahead.c     2016-12-31 21:54:41.000000000 +0800
++++ b/lib/freadahead.c     2018-08-08 16:12:40.522952171 +0800
+@@ -25,7 +25,7 @@
+ size_t
+ freadahead (FILE *fp)
+ {
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+   if (fp->_IO_write_ptr > fp->_IO_write_base)
+     return 0;
+   return (fp->_IO_read_end - fp->_IO_read_ptr)
+
+diff -upr a/lib/freading.c b/lib/freading.c
+--- a/lib/freading.c    2016-12-31 21:54:41.000000000 +0800
++++ b/lib/freading.c    2018-08-08 16:13:12.399618677 +0800
+@@ -31,7 +31,7 @@ freading (FILE *fp)
+   /* Most systems provide FILE as a struct and the necessary bitmask in
+      <stdio.h>, because they need it for implementing getc() and putc() as
+      fast macros.  */
+-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+   return ((fp->_flags & _IO_NO_WRITES) != 0
+           || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
+               && fp->_IO_read_base != NULL));
+
+diff -upr a/lib/fseeko.c b/lib/fseeko.c
+--- a/lib/fseeko.c    2016-12-31 21:54:41.000000000 +0800
++++ b/lib/fseeko.c    2018-08-08 16:13:12.399618677 +0800
+@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int when
+ #endif
+ 
+   /* These tests are based on fpurge.c.  */
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+   if (fp->_IO_read_end == fp->_IO_read_ptr
+       && fp->_IO_write_ptr == fp->_IO_write_base
+       && fp->_IO_save_base == NULL)
+@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int when
+           return -1;
+         }
+ 
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+       fp->_flags &= ~_IO_EOF_SEEN;
+       fp->_offset = pos;
+ #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
+
+diff -upr a/lib/stdio-impl.h b/lib/stdio-impl.h
+--- a/lib/stdio-impl.h    2016-12-31 21:54:41.000000000 +0800
++++ b/lib/stdio-impl.h    2018-08-08 16:13:12.399618677 +0800
+@@ -18,6 +18,12 @@
+    the same implementation of stdio extension API, except that some fields
+    have different naming conventions, or their access requires some casts.  */
+ 
++/* Glibc 2.28 made _IO_IN_BACKUP private.  For now, work around this
++   problem by defining it ourselves.  FIXME: Do not rely on glibc
++   internals.  */
++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
++# define _IO_IN_BACKUP 0x100
++#endif
+ 
+ /* BSD stdio derived implementations.  */
+
--- a/src/build-m4.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/build-m4.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,18 @@
 
 PKG             := build-m4
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 44b3ed8931f65cdab02aee66ae1e49724d2551a4
+$(PKG)_VERSION  := 1.4.18
+$(PKG)_CHECKSUM := 2f76f8105a45b05c8cfede97b3193cd88b31c657
 $(PKG)_SUBDIR   := m4-$($(PKG)_VERSION)
 $(PKG)_FILE     := m4-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/m4/$($(PKG)_FILE)
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/m4/?C=M;O=D' | \
+    $(SED) -n 's,.*<a href="m4-\([0-9\.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V |
+    tail -1
 endef
 
 define $(PKG)_BUILD
@@ -19,5 +22,5 @@
     cd    '$(1).build' && '$(1)/configure' \
         --prefix='$(BUILD_TOOLS_PREFIX)'
     $(MAKE) -C '$(1).build' -j '$(JOBS)'
-    $(MAKE) -C '$(1).build' -j 1 install
+    $(MAKE) -C '$(1).build' -j 1 install DESTDIR='$(3)'
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-mako.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,20 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := build-mako
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.7
+$(PKG)_CHECKSUM := bf0c1f4cdfca4dd37bc0c9f83e984a0558268b42
+$(PKG)_SUBDIR   := Mako-$($(PKG)_VERSION)
+$(PKG)_FILE     := Mako-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://pypi.python.org/packages/eb/f3/67579bb486517c0d49547f9697e36582cd19dafb5df9e687ed8e22de57fa/$($(PKG)_FILE)
+$(PKG)_DEPS     := build-python3 build-markupsafe
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && $(PYTHON3) setup.py install --prefix='$(BUILD_TOOLS_PREFIX)'
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-markupsafe.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := build-markupsafe
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0
+$(PKG)_CHECKSUM := 9072e80a7faa0f49805737a48f3d871eb1c48728
+$(PKG)_SUBDIR   := MarkupSafe-$($(PKG)_VERSION)
+$(PKG)_FILE     := MarkupSafe-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://pypi.python.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/$($(PKG)_FILE)
+$(PKG)_DEPS     := build-python3
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && $(PYTHON3) setup.py install --prefix='$(BUILD_TOOLS_PREFIX)'
+endef
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-meson.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,64 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := build-meson
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.54.3
+$(PKG)_CHECKSUM := 741e42a3c8237abe74eb9f189cd8978897ef144d
+$(PKG)_SUBDIR   := meson-$($(PKG)_VERSION)
+$(PKG)_FILE     := meson-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://github.com/mesonbuild/meson/archive/$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS     := build-python3 build-ninja
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+# FIXME: Should this be defined in the top-level Makefile?
+ifeq ($(MXE_NATIVE_BUILD),no)
+  MESON_TOOLCHAIN_FILE := $(HOST_PREFIX)/share/meson/cross/mxe-conf.ini
+else
+  MESON_TOOLCHAIN_FILE := $(HOST_PREFIX)/share/meson/native/mxe-conf.ini
+endif
+
+ifeq ($(USE_CCACHE),yes)
+    $(PKG)_MXE_CC_BASENAME := $(shell basename $(MXE_CC))
+    $(PKG)_MXE_CXX_BASENAME := $(shell basename $(MXE_CXX))
+    $(PKG)_MXE_F77_BASENAME := $(shell basename $(MXE_F77))
+endif
+
+define $(PKG)_BUILD
+    cd '$(1)' && $(PYTHON3) setup.py install --prefix='$(BUILD_TOOLS_PREFIX)'
+    
+    # create file with compilation settings
+    rm -f $(MESON_TOOLCHAIN_FILE) && mkdir -p '$(dir $(MESON_TOOLCHAIN_FILE))'
+    (echo "[binaries]"; \
+    if [ x$(USE_SYSTEM_GCC) == xno ]; then \
+      if [ x$(USE_CCACHE) == xyes ]; then \
+        echo "c = '$($(PKG)_MXE_CC_BASENAME)'"; \
+        echo "cpp = '$($(PKG)_MXE_CXX_BASENAME)'"; \
+        echo "fortran = '$($(PKG)_MXE_F77_BASENAME)'"; \
+      else \
+        echo "c = '$(shell echo $(MXE_CC) | $(SED) "s/'//g")'"; \
+        echo "cpp = '$(shell echo $(MXE_CXX) | $(SED) "s/'//g")'"; \
+        echo "fortran = '$(shell echo $(MXE_F77) | $(SED) "s/'//g")'"; \
+      fi; \
+      echo "ar = '$(shell echo $(MXE_AR) | $(SED) "s/'//g")'"; \
+      echo "strip = '$(shell echo $(MXE_STRIP) | $(SED) "s/'//g")'"; \
+    fi; \
+    echo "pkgconfig = '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)pkg-config'"; \
+    echo "llvm-config = '$(HOST_BINDIR)/$(MXE_TOOL_PREFIX)llvm-config'";\
+    if [ x$(MXE_NATIVE_BUILD) = xno ]; then \
+      echo ""; \
+      echo "[host_machine]"; \
+      echo "system = 'windows'"; \
+      if [ x$(ENABLE_WINDOWS_64) = xyes ]; then \
+        echo "cpu_family = 'x86_64'"; \
+      else \
+        echo "cpu_family = 'x86'"; \
+      fi; \
+      echo "cpu = 'i686'"; \
+      echo "endian = 'little'"; \
+    fi) >> $(MESON_TOOLCHAIN_FILE)
+endef
--- a/src/build-msvctools.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/build-msvctools.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := build-msvctools
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 
 $(PKG)_CHECKSUM := 4e655032cda30e1928fcc3f00962f4238b502169
 $(PKG)_FILE     := gcc-$(build-gcc_VERSION).tar.bz2
 $(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/gcc/gcc-$(build-gcc_VERSION)/$($(PKG)_FILE)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-ninja.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,23 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := build-ninja
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.10.0
+$(PKG)_CHECKSUM := 7134bca607e17238d272e281ce1cae05d04be970
+$(PKG)_SUBDIR   := ninja-$($(PKG)_VERSION)
+$(PKG)_FILE     := ninja-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://codeload.github.com/ninja-build/ninja/tar.gz/v$($(PKG)_VERSION)
+$(PKG)_DEPS     := build-python3
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && $(PYTHON3) configure.py --bootstrap
+
+    $(INSTALL) -d '$(3)$(BUILD_TOOLS_PREFIX)/bin'
+    $(INSTALL) -m755 '$(1)/ninja' '$(3)$(BUILD_TOOLS_PREFIX)/bin';
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-octave.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,69 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+## This package is intended for building a minimal version of Octave that
+## runs on the build system.  Some Octave Forge packages need Octave as a
+## build tool.
+## This version of Octave is built from the same tarball that is used for
+## cross-compiling.  However, the native Octave is unavoidably different
+## from the Octave that is built for the target system.  Packages must be
+## careful when relying on Octave for configuration settings.  Wherever
+## possible, packages should try to not depend on Octave as a build tool
+## and should use alternatives instead (e.g., [target]-octave-config or
+## check the macros defined in octave-config.h).
+##
+## It is assumed that the necessary dependencies for a native build are
+## present on the build system.
+
+PKG             := build-octave
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := $($(OCTAVE_TARGET)_VERSION)
+$(PKG)_CHECKSUM := $($(OCTAVE_TARGET)_CHECKSUM)
+$(PKG)_SUBDIR   := $($(OCTAVE_TARGET)_SUBDIR)
+$(PKG)_FILE     := $($(OCTAVE_TARGET)_FILE)
+$(PKG)_URL      := $($(OCTAVE_TARGET)_URL)
+$(PKG)_DEPS     := $(OCTAVE_TARGET)
+
+## The following dependencies and some native build tools are necessary
+## on the build system:
+# $(PKG)_DEPS     := blas lapack pcre
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are disabled for package build-octave.' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+$(PKG)_ENV_FLAGS := \
+    PKG_CONFIG_PATH='$(BUILD_PKG_CONFIG_PATH)' \
+    LD_LIBRARY_PATH='$(LD_LIBRARY_PATH)' \
+    PATH='$(ENV_PATH)'
+
+ifeq ($(ENABLE_64),yes)
+  $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64
+else
+  $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --disable-64
+endif
+
+define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && \
+        $($(PKG)_ENV_FLAGS) '$(1)/configure' \
+        --prefix=$(ROOT_PREFIX) \
+        $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS) \
+        --disable-docs --disable-fftw-threads --disable-java \
+        --disable-jit --disable-openmp --disable-readline --without-amd \
+        --without-arpack --without-bz2 --without-camd --without-ccolamd \
+        --without-cholmod --without-colamd --without-curl \
+        --without-cxsparse --without-fftw3 --without-fftw3f \
+        --without-fltk --without-fontconfig --without-framework-opengl \
+        --without-freetype --without-glpk --without-hdf5 --without-klu \
+        --without-magick --without-opengl --without-openssl \
+        --without-osmesa --without-portaudio --without-qhull \
+        --without-qrupdate --without-qscintilla --without-qt \
+        --without-sndfile --without-sundials_ida \
+        --without-sundials_nvecserial --without-umfpack --without-x \
+        --without-z
+
+    $($(PKG)_ENV_FLAGS) $(MAKE) -C '$(1)/.build' all -j '$(JOBS)'
+    $($(PKG)_ENV_FLAGS) $(MAKE) -C '$(1)/.build' install
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-perl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,41 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := build-perl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.30.2
+$(PKG)_CHECKSUM := e02a31cc8f536b4927d8e018d265cddb790bb4e2
+$(PKG)_SUBDIR   := perl-$($(PKG)_VERSION)
+$(PKG)_FILE     := perl-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://www.cpan.org/src/5.0/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+ifeq ($(BUILD_SHARED),yes)
+  ## Without this, building libproxy fails.
+  $(PKG)_CONFIGURE_ARGS := -Duseshrplib
+endif
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://www.cpan.org/src/5.0' | \
+    $(SED) -n 's,.*<a href="perl-\([0-9\.]*\)\.tar.gz".*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    cd '$(1)' \
+      && $($(PKG)_CONFIGURE_ENV) './Configure' -s -d -e \
+        -Dprefix='$(HOST_PREFIX)' \
+        -D $(CONFIGURE_CPPFLAGS) -D $(CONFIGURE_LDFLAGS) \
+        $($(PKG)_CONFIGURE_ARGS) \
+      && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
+    $(INSTALL) -m755 '$(1)/libperl.so' '$(3)/$(HOST_LIBDIR)'
+
+  endef
+endif
--- a/src/build-pkg-config.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/build-pkg-config.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,18 @@
 
 PKG             := build-pkg-config
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 71853779b12f958777bffcb8ca6d849b4d3bed46
+$(PKG)_VERSION  := 0.29.2
+$(PKG)_CHECKSUM := 76e501663b29cb7580245720edfb6106164fad2b
 $(PKG)_SUBDIR   := pkg-config-$($(PKG)_VERSION)
 $(PKG)_FILE     := pkg-config-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://pkgconfig.freedesktop.org/releases/$($(PKG)_FILE)
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- 'http://pkgconfig.freedesktop.org/releases/' | \
+    $(SED) -n 's,.*<a href="pkg-config-\([0-9\.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V |
+    tail -1
 endef
 
 # native mingw needs to be told an architechure for the internal glib to build
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-python.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := build-python
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.7.15
+$(PKG)_CHECKSUM := f99348a095ec4a6411c84c0d15343d11920c9724
+$(PKG)_SUBDIR   := Python-$($(PKG)_VERSION)
+$(PKG)_FILE     := Python-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL      := http://www.python.org/ftp/python/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+ifneq ($(USE_SYSTEM_GCC),yes)
+    $(PKG)_DEPS     += build-gcc
+endif
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+define $(PKG)_BUILD
+    mkdir '$(1).build'
+    cd    '$(1).build' && '$(1)/configure' \
+        --prefix='$(BUILD_TOOLS_PREFIX)'
+    $(MAKE) -C '$(1).build' -j '$(JOBS)'
+    $(MAKE) -C '$(1).build' -j 1 install
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-python3.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := build-python3
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.8.3
+$(PKG)_CHECKSUM := 3bafa40df1cd069c112761c388a9f2e94b5d33dd
+$(PKG)_SUBDIR   := Python-$($(PKG)_VERSION)
+$(PKG)_FILE     := Python-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL      := http://www.python.org/ftp/python/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+ifneq ($(USE_SYSTEM_GCC),yes)
+    $(PKG)_DEPS     += build-gcc
+endif
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd    '$(1)/.build' && '$(1)/configure' \
+        --prefix='$(BUILD_TOOLS_PREFIX)'
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)'
+    $(MAKE) -C '$(1)/.build' -j 1 install
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-scons.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,25 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := build-scons
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.1.2
+$(PKG)_CHECKSUM := d7541717d503266b37004a33246b6688fe87dec0
+$(PKG)_SUBDIR   := scons-$($(PKG)_VERSION)
+$(PKG)_FILE     := scons-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://prdownloads.sourceforge.net/scons/$($(PKG)_FILE)
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+    $(PKG)_DEPS     := 
+else
+    $(PKG)_DEPS     := build-python
+endif
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- https://sourceforge.net/projects/scons/files/scons/ | \
+    $(SED) -n 's|.*<tr title=\"\([0-9][^"]*\)".*|\1|p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && python setup.py install --prefix='$(BUILD_TOOLS_PREFIX)'
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-sed.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,26 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := build-sed
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.8
+$(PKG)_CHECKSUM := 61bd770062d49cdab3f0f45df473e2bf950ba266
+$(PKG)_SUBDIR   := sed-$($(PKG)_VERSION)
+$(PKG)_FILE     := sed-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/sed/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/sed/?C=M;O=D' | \
+    $(SED) -n 's,.*<a href="sed-\([0-9\.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    mkdir '$(1).build'
+    cd    '$(1).build' && '$(1)/configure' \
+        --prefix='$(BUILD_TOOLS_PREFIX)'
+    $(MAKE) -C '$(1).build' -j '$(JOBS)'
+    $(MAKE) -C '$(1).build' -j 1 install
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-setuptools.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,20 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := build-setuptools
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 44.1.1
+$(PKG)_CHECKSUM := d1ba6f62520e09956bc3163291a26b185fdff2c6
+$(PKG)_SUBDIR   := setuptools-$($(PKG)_VERSION)
+$(PKG)_FILE     := setuptools-$($(PKG)_VERSION).zip
+$(PKG)_URL      := https://files.pythonhosted.org/packages/b2/40/4e00501c204b457f10fe410da0c97537214b2265247bc9a5bc6edd55b9e4/$($(PKG)_FILE)
+$(PKG)_DEPS     := build-python
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && python2 setup.py install --prefix='$(BUILD_TOOLS_PREFIX)'
+endef
--- a/src/build-texinfo.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/build-texinfo.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,18 @@
 
 PKG             := build-texinfo
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := a1533cf8e03ea4fa6c443b73f4c85e4da04dead0
-$(PKG)_SUBDIR   := texinfo-4.13
+$(PKG)_VERSION  := 6.7
+$(PKG)_CHECKSUM := 3eb87fe3f4241ba4305255f8a47d867dbc4f96fc
+$(PKG)_SUBDIR   := texinfo-$($(PKG)_VERSION)
 $(PKG)_FILE     := texinfo-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := ftp://ftp.gnu.org/gnu/texinfo/$($(PKG)_FILE)
-$(PKG)_DEPS     := 
+$(PKG)_DEPS     := build-perl
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/texinfo/?C=M;O=D' | \
+    $(SED) -n 's,.*<a href="texinfo-\([0-9\.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V |
+    tail -1
 endef
 
 define $(PKG)_BUILD
@@ -20,12 +23,12 @@
         --prefix='$(BUILD_TOOLS_PREFIX)'
 
     $(MAKE) -C '$(1).build/gnulib/lib' -j '$(JOBS)'
-    $(MAKE) -C '$(1).build/lib' -j '$(JOBS)'
-    $(MAKE) -C '$(1).build/makeinfo' -j '$(JOBS)'
     $(MAKE) -C '$(1).build/util' -j '$(JOBS)'
+    $(MAKE) -C '$(1).build/tp' -j '$(JOBS)'
+
+    $(SED) -i '1 s|^.*$$|#! /usr/bin/env perl|' '$(1).build/tp/texi2any' '$(1).build/util/txixml2texi'
 
     $(MAKE) -C '$(1).build/gnulib/lib' -j 1 install DESTDIR='$(3)'
-    $(MAKE) -C '$(1).build/lib' -j 1 install DESTDIR='$(3)'
-    $(MAKE) -C '$(1).build/makeinfo' -j 1 install DESTDIR='$(3)'
     $(MAKE) -C '$(1).build/util' -j 1 install DESTDIR='$(3)'
+    $(MAKE) -C '$(1).build/tp' -j 1 install DESTDIR='$(3)'
 endef
--- a/src/build-xz.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/build-xz.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,9 +3,10 @@
 
 PKG             := build-xz
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 3e976d7715fde43422572c70f927bfdae56a94c3
+$(PKG)_VERSION  := 5.2.5
+$(PKG)_CHECKSUM := 0b9d1e06b59f7fe0796afe1d93851b9306b4a3b6
 $(PKG)_SUBDIR   := xz-$($(PKG)_VERSION)
-$(PKG)_FILE     := xz-$($(PKG)_VERSION).tar.gz
+$(PKG)_FILE     := xz-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := http://tukaani.org/xz/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
@@ -20,5 +21,5 @@
         --prefix='$(BUILD_TOOLS_PREFIX)' \
         --disable-threads \
         --disable-nls
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build-yasm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,25 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := build-yasm
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3.0
+$(PKG)_CHECKSUM := b7574e9f0826bedef975d64d3825f75fbaeef55e
+$(PKG)_SUBDIR   := yasm-$($(PKG)_VERSION)
+$(PKG)_FILE     := yasm-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://www.tortall.net/projects/yasm/releases/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    echo $(yasm_VERSION)
+endef
+
+define $(PKG)_BUILD
+    mkdir '$(1).build'
+    cd '$(1).build' && '$(1)/configure' \
+        --prefix='$(BUILD_TOOLS_PREFIX)' \
+        --disable-nls \
+        --disable-python
+    $(MAKE) -C '$(1).build' -j '$(JOBS)' 
+    $(MAKE) -C '$(1).build' -j 1 install DESTDIR='$(3)'
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bzip2-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,39 @@
+diff -ur bzip2-1.0.8.orig/bzlib.h bzip2-1.0.8/bzlib.h
+--- bzip2-1.0.8.orig/bzlib.h	2020-01-06 13:24:42.229947041 -0500
++++ bzip2-1.0.8/bzlib.h	2020-01-06 13:27:27.946095881 -0500
+@@ -75,7 +75,7 @@
+ #include <stdio.h>
+ #endif
+ 
+-#ifdef _WIN32
++#if 0
+ #   include <windows.h>
+ #   ifdef small
+       /* windows.h define small to char */
+@@ -116,7 +116,7 @@
+ BZ_EXTERN int BZ_API(BZ2_bzDecompressInit) ( 
+       bz_stream *strm, 
+       int       verbosity, 
+-      int       small
++      int       small_
+    );
+ 
+ BZ_EXTERN int BZ_API(BZ2_bzDecompress) ( 
+@@ -140,7 +140,7 @@
+       int*  bzerror,   
+       FILE* f, 
+       int   verbosity, 
+-      int   small,
++      int   small_,
+       void* unused,    
+       int   nUnused 
+    );
+@@ -216,7 +216,7 @@
+       unsigned int* destLen,
+       char*         source, 
+       unsigned int  sourceLen,
+-      int           small, 
++      int           small_, 
+       int           verbosity 
+    );
+ 
--- a/src/bzip2.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/bzip2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,24 +3,24 @@
 
 PKG             := bzip2
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 3f89f861209ce81a6bab1fd1998c0ef311712002
+$(PKG)_VERSION  := 1.0.8
+$(PKG)_CHECKSUM := bf7badf7e248e0ecf465d33c2f5aeec774209227
 $(PKG)_SUBDIR   := bzip2-$($(PKG)_VERSION)
 $(PKG)_FILE     := bzip2-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://www.bzip.org/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_URL      := https://sourceware.org/pub/$(PKG)/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.bzip.org/downloads.html' | \
-    grep 'bzip2-' | \
-    $(SED) -n 's,.*bzip2-\([0-9][^>]*\)\.tar.*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://sourceware.org/pub/bzip2/' | \
+    $(SED) -n 's,.*<a href="$(PKG)-\([0-9][^"]*\)\.tar.*,\1,p' | \
+    $(SORT) -V | tail -1
 endef
 
 ifneq ($(filter mingw msvc,$(MXE_SYSTEM)),)
 define $(PKG)_BUILD
-    $(SED) -i 's,sys\\stat\.h,sys/stat.h,g' '$(1)/bzip2.c'
-    $(SED) -i 's,WINAPI,,g'                 '$(1)/bzlib.h'
-    $(MAKE) -C '$(1)' -j '$(JOBS)' libbz2.a \
+    #$(SED) -i 's,sys\\stat\.h,sys/stat.h,g' '$(1)/bzip2.c'
+    #$(SED) -i 's,WINAPI,,g'                 '$(1)/bzlib.h'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' libbz2.a bzip2 \
         PREFIX='$(HOST_PREFIX)' \
         CC='$(MXE_CC)' \
         AR='$(MXE_AR)' \
@@ -35,20 +35,29 @@
     if [ $(BUILD_STATIC) = yes ]; then \
       $(INSTALL) '$(1)/libbz2.a' '$(3)$(HOST_LIBDIR)/'; \
     fi
+
+    $(INSTALL) -d '$(3)$(HOST_BINDIR)'
+    if [ -e '$(1)/bzip2.exe' ]; then \
+      $(INSTALL) '$(1)/bzip2.exe' '$(3)$(HOST_BINDIR)/bzip2.exe'; \
+    else \
+      $(INSTALL) '$(1)/bzip2' '$(3)$(HOST_BINDIR)/bzip2.exe'; \
+    fi
+
 endef
 else
 define $(PKG)_BUILD
-    $(SED) -i 's,sys\\stat\.h,sys/stat.h,g' '$(1)/bzip2.c'
-    $(SED) -i 's,WINAPI,,g'                 '$(1)/bzlib.h'
+    #$(SED) -i 's,sys\\stat\.h,sys/stat.h,g' '$(1)/bzip2.c'
+    #$(SED) -i 's,WINAPI,,g'                 '$(1)/bzlib.h'
     $(MAKE) -C '$(1)' -j '$(JOBS)' -f Makefile-libbz2_so \
         PREFIX='$(HOST_PREFIX)' \
         CC='$(MXE_CC)' \
         AR='$(MXE_AR)' \
         RANLIB='$(MXE_RANLIB)'
     $(INSTALL) -d '$(3)$(HOST_LIBDIR)'
-    $(INSTALL) -m755 '$(1)/libbz2.so.1.0.6' '$(3)$(HOST_LIBDIR)'
+    $(INSTALL) -m755 '$(1)/libbz2.so.$($(PKG)_VERSION)' '$(3)$(HOST_LIBDIR)'
     rm -f '$(3)$(HOST_LIBDIR)/libbz2.so.1.0'
-    $(LN_SF) libbz2.so.1.0.6 '$(3)$(HOST_LIBDIR)/libbz2.so.1.0'
+    $(LN_SF) libbz2.so.$($(PKG)_VERSION) '$(3)$(HOST_LIBDIR)/libbz2.so.1.0'
+    $(LN_SF) libbz2.so.1.0 '$(3)$(HOST_LIBDIR)/libbz2.so'
     $(INSTALL) -d '$(3)$(HOST_INCDIR)'
     $(INSTALL) -m644 '$(1)/bzlib.h' '$(3)$(HOST_INCDIR)'
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/c-ares.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,29 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := c-ares
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.12.0
+$(PKG)_CHECKSUM := 8abfce61d2d788fb60a3441d05275162a460cbed
+$(PKG)_SUBDIR   := c-ares-$($(PKG)_VERSION)
+$(PKG)_FILE     := c-ares-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://c-ares.haxx.se/download/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://c-ares.haxx.se/download/?C=M;O=D' | \
+    $(SED) -n 's,.*c-ares-\([0-9][^"]*\)\.tar.*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+        $($(PKG)_CONFIGURE_OPTS)
+        
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_DOCS) 
+    $(MAKE) -C '$(1)' -j 1 DESTDIR='$(3)' $(MXE_DISABLE_DOCS) install
+endef
--- a/src/cairo.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/cairo.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,11 +3,15 @@
 
 PKG             := cairo
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 9106ab09b2e7b9f90521b18dd4a7e9577eba6c15
+$(PKG)_VERSION  := 1.16.0
+$(PKG)_CHECKSUM := 00e81842ae5e81bb0343108884eb5205be0eac14
 $(PKG)_SUBDIR   := cairo-$($(PKG)_VERSION)
 $(PKG)_FILE     := cairo-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := http://cairographics.org/releases/$($(PKG)_FILE)
-$(PKG)_DEPS     := zlib libpng fontconfig freetype pixman glib
+ifeq ($(USE_SYSTEM_FONTCONFIG),no)
+  $(PKG)_FONTCONFIG := fontconfig
+endif
+$(PKG)_DEPS     := zlib libpng $($(PKG)_FONTCONFIG) freetype pixman glib
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://cairographics.org/releases/?C=M;O=D' | \
@@ -21,8 +25,11 @@
 # Add special flag for static Win32 builds
 ifneq ($(filter mingw msvc,$(MXE_SYSTEM)),)
     ifeq ($(BUILD_STATIC),yes)
-        $(PKG)_EXTRA_CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS) -DCAIRO_WIN32_STATIC_BUILD"
+        $(PKG)_EXTRA_CONFIGURE_OPTIONS += CFLAGS="-O2 -g -DCAIRO_WIN32_STATIC_BUILD"
+    else
+        $(PKG)_EXTRA_CONFIGURE_OPTIONS += CFLAGS="-O2 -g -fstack-protector"
     endif
+    $(PKG)_EXTRA_CONFIGURE_OPTIONS += LIBS="-lmsimg32 -lgdi32"
 endif
 
 # Configure script to detect float word endianness fails on MSVC.
@@ -31,7 +38,6 @@
 endif
 
 define $(PKG)_BUILD
-    $(SED) -i 's,libpng12,libpng,g'                          '$(1)/configure'
     $(SED) -i 's,^\(Libs:.*\),\1 @CAIRO_NONPKGCONFIG_LIBS@,' '$(1)/src/cairo.pc.in'
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
@@ -56,10 +62,15 @@
         --enable-ps \
         --enable-pdf \
         --enable-svg \
+	--disable-directfb \
         --disable-pthread \
         $($(PKG)_EXTRA_CONFIGURE_OPTIONS) \
         PKG_CONFIG='$(MXE_PKG_CONFIG)' \
-        PKG_CONFIG_PATH='$(HOST_LIBDIR)/pkgconfig' \
+        PKG_CONFIG_PATH='$(PKG_CONFIG_PATH)' \
         && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j 1 install noinst_PROGRAMS=  DESTDIR='$(3)'
+    if [ "$(ENABLE_DEP_DOCS)" == "no" ]; then \
+      rm -rf "$(3)$(HOST_PREFIX)/share/gtk-doc"; \
+    fi
 endef
--- a/src/cairomm.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/cairomm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := cairomm
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.10.0
 $(PKG)_CHECKSUM := f08bf8a331067f0d1e876523f07238fba6b26b99
 $(PKG)_SUBDIR   := cairomm-$($(PKG)_VERSION)
 $(PKG)_FILE     := cairomm-$($(PKG)_VERSION).tar.gz
--- a/src/cblas.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/cblas.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := cblas
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1
 $(PKG)_CHECKSUM := d6970cf52592ef67674a61c78bbd055a4e9d4680
 $(PKG)_SUBDIR   := CBLAS
 $(PKG)_FILE     := $(PKG).tgz
--- a/src/cfitsio.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/cfitsio.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,20 +3,28 @@
 
 PKG             := cfitsio
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 4870380013d089e1e9b8994d74f15482decffc1c
+$(PKG)_VERSION  := 3450
+$(PKG)_CHECKSUM := 85b4adeba79a7691114695e6bafd6d968e68c21f
 $(PKG)_SUBDIR   := $(PKG)
-$(PKG)_FILE     := $(PKG)$(subst .,,$($(PKG)_VERSION)).tar.gz
-$(PKG)_URL      := ftp://heasarc.gsfc.nasa.gov/software/$(PKG)/c/$($(PKG)_FILE)
-$(PKG)_DEPS     :=
+$(PKG)_FILE     := $(PKG)$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/$($(PKG)_FILE)
+$(PKG)_DEPS     := curl
 
 $(PKG)_MAKE_FLAGS :=
 ifeq ($(BUILD_SHARED),yes)
   $(PKG)_MAKE_FLAGS += shared
 endif
 
+$(PKG)_CONFIGURE_FLAGS :=
+ifeq ($(MXE_SYSTEM),mingw)
+  $(PKG)_CONFIGURE_FLAGS += CURLCONFIG=none
+endif
+
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package cfitsio.' >&2;
-    echo $(cfitsio_VERSION)
+    $(WGET) -q -O- "http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/?C=M;O=D" | \
+    grep -i '<a href="cfitsio.*tar' | \
+    $(SED) -n 's,.*cfitsio\([0-9][^>]*\)\.tar.*,\1,p' | \
+    head -1
 endef
 
 ifeq ($(MXE_SYSTEM),msvc)
@@ -45,12 +53,17 @@
 endef
 else
 define $(PKG)_BUILD
-    cd '$(1)' && '$(1)/configure' \
+    cd '$(1)' && autoreconf -fi && '$(1)/configure' \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+	$($(PKG)_CONFIGURE_FLAGS) \
         --prefix='$(HOST_PREFIX)' 
     $(MAKE) -C '$(1)' -j '$(JOBS)' $($(PKG)_MAKE_FLAGS)
     $(MAKE) -C '$(1)' -j 1 install
 
+    if [ "$(MXE_SYSTEM)" == "mingw" ]; then \
+        $(INSTALL) '$(1)/libcfitsio$(LIBRARY_SUFFIX).dll' '$(HOST_BINDIR)'; \
+	rm -f $(HOST_LIBDIR)/libcfitsio$(LIBRARY_SUFFIX).dll; \
+    fi
 endef
 endif
--- a/src/cgal.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/cgal.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := cgal
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.0.2
 $(PKG)_CHECKSUM := 20c58ebc021754e8be35237bcda43b0084f60617
 $(PKG)_SUBDIR   := CGAL-$($(PKG)_VERSION)
 $(PKG)_FILE     := CGAL-$($(PKG)_VERSION).tar.xz
@@ -24,6 +25,8 @@
         -DCGAL_INSTALL_BIN_DIR:STRING="bin" \
         -DBOOST_LIB_DIAGNOSTIC_DEFINITIONS:STRING="-DBOOST_LIB_DIAGNOSTIC" \
         -DWITH_CGAL_Qt3:BOOL="0" \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
         -DBOOST_COMPILER=_win32 \
         -DBOOST_THREAD_USE_LIB=1 \
@@ -31,9 +34,12 @@
         -DBUILD_SHARED_LIBS=0 \
         -C TryRunResults.cgal.cmake .
     $(MAKE) -C '$(1)' -j $(JOBS)
+
     cd '$(1)/examples/AABB_tree' && cmake \
         -DBOOST_LIB_DIAGNOSTIC_DEFINITIONS:STRING="-DBOOST_LIB_DIAGNOSTIC" \
         -DWITH_CGAL_Qt3:BOOL="0" \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
         -DBOOST_COMPILER=_win32 \
         -DBOOST_THREAD_USE_LIB=1 \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cloog.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,30 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := cloog
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.18.4
+$(PKG)_CHECKSUM := 8f7568ca1873f8d55bb694c8b9b83f7f4c6c1aa5
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://www.bastoul.net/cloog/pages/download/$($(PKG)_FILE)
+$(PKG)_DEPS     := build-gcc gmp isl
+
+# stick to tested versions from gcc
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'ftp://gcc.gnu.org/pub/gcc/infrastructure/' | \
+    $(SED) -n 's,.*cloog-\([0-9][^>]*\)\.tar.*,\1,p' | \
+    $(SORT) -V |
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        --host='$(TARGET)' \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+        --with-gmp-prefix='$(HOST_PREFIX)' \
+        --with-isl-prefix='$(HOST_PREFIX)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cmake.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,41 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := cmake
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.18.4
+$(PKG)_CHECKSUM := 73ab5348c881f1a53c250b66848b6ee101c9fe1f
+$(PKG)_SUBDIR   := cmake-$($(PKG)_VERSION)
+$(PKG)_FILE     := cmake-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://www.cmake.org/files/v$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
+$(PKG)_DEPS     :=
+
+$(PKG)_CMAKE_OPTS :=
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+  ifeq ($(MXE_SYSTEM),mingw)
+    $(PKG)_CMAKE_OPTS := -G "MSYS Makefiles" 
+  endif
+else
+  ifeq ($(MXE_SYSTEM),mingw)
+    $(PKG)_CMAKE_OPTS += -DKWSYS_LFS_WORKS=TRUE
+  endif
+endif
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://www.cmake.org/cmake/resources/software.html' | \
+    $(SED) -n 's,.*cmake-\([0-9.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    mkdir '$(1).build'
+    cd '$(1).build' && cmake \
+        $($(PKG)_CMAKE_OPTS) \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
+        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+        ../$($(PKG)_SUBDIR)
+    $(MAKE) -C '$(1).build' -j '$(JOBS)'
+    $(MAKE) -C '$(1).build' -j 1 install DESTDIR='$(3)'
+endef
--- a/src/cminpack.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/cminpack.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := cminpack
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3.0
 $(PKG)_CHECKSUM := 8bf19ce37b486707c402a046c33d823c9e359410
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -17,6 +18,8 @@
 
 define $(PKG)_BUILD
     cd '$(1)' && cmake \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)'
     $(MAKE) -C '$(1)' -j $(JOBS)
 
--- a/src/cppunit.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/cppunit.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := cppunit
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.12.1
 $(PKG)_CHECKSUM := f1ab8986af7a1ffa6760f4bacf5622924639bf4a
 $(PKG)_SUBDIR   := cppunit-$($(PKG)_VERSION)
 $(PKG)_FILE     := cppunit-$($(PKG)_VERSION).tar.gz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/cppunit/files/cppunit/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- a/src/cunit.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/cunit.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := cunit
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.1-2
 $(PKG)_CHECKSUM := 6c2d0627eb64c09c7140726d6bf814cf531a3ce0
 $(PKG)_SUBDIR   := CUnit-$($(PKG)_VERSION)
 $(PKG)_FILE     := CUnit-$($(PKG)_VERSION)-src.tar.bz2
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/cunit/files/CUnit/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- a/src/curl.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/curl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,11 +3,17 @@
 
 PKG             := curl
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 00c4293c336a1f987cf93c9ff385c5eb865db5d0
+$(PKG)_VERSION  := 7.73.0
+$(PKG)_CHECKSUM := 3afb9616ad14c0a84c016bbc1704dc6d883e7c17
 $(PKG)_SUBDIR   := curl-$($(PKG)_VERSION)
-$(PKG)_FILE     := curl-$($(PKG)_VERSION).tar.lzma
+$(PKG)_FILE     := curl-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := http://curl.haxx.se/download/$($(PKG)_FILE)
-$(PKG)_DEPS     := gnutls libidn libssh2
+$(PKG)_DEPS     := gnutls libidn2 libssh2 pthreads
+
+$(PKG)_CONFIGURE_OPTS :=
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+    $(PKG)_CONFIGURE_OPTS := --with-winssl --with-default-ssl-backend=schannel
+endif
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://curl.haxx.se/download/?C=M;O=D' | \
@@ -21,16 +27,12 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
+        $($(PKG)_CONFIGURE_OPTS) \
+        --without-ssl \
         --with-gnutls \
-        --with-libidn \
+        --with-libidn2 \
         --enable-sspi \
         --enable-ipv6 \
         --with-libssh2 && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' DESTDIR='$(3)' install
-
-##    '$(MXE_CC)' \
-##        -W -Wall -Werror -ansi -pedantic \
-##        '$(2).c' -o '$(HOST_BINDIR)/test-curl.exe' \
-##        `'$(MXE_PKG_CONFIG)' libcurl --cflags --libs`
-
+    $(MAKE) -C '$(1)' -j '$(JOBS)' DESTDIR='$(3)' $(MXE_DISABLE_DOCS) install
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/damageproto.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := damageproto
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.1
+$(PKG)_CHECKSUM := bd0f0f4dc8f37eaabd9279d10fe2889710507358
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/proto/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/dbus-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: darealshinji <djcj@gmx.de>
+Date: Mon, 3 Jul 2017 01:55:45 +0200
+Subject: [PATCH 1/1] Avoid multiple definitions of DllMain in static builds
+
+
+diff --git a/dbus/dbus-sysdeps-thread-win.c b/dbus/dbus-sysdeps-thread-win.c
+index 1111111..2222222 100644
+--- a/dbus/dbus-sysdeps-thread-win.c
++++ b/dbus/dbus-sysdeps-thread-win.c
+@@ -69,6 +69,8 @@ _dbus_win_get_dll_hmodule (void)
+ #define hinst_t HINSTANCE
+ #endif
+ 
++#ifndef DBUS_STATIC_BUILD
++
+ BOOL WINAPI DllMain (hinst_t, DWORD, LPVOID);
+ 
+ /* We need this to free the TLS events on thread exit */
+@@ -107,6 +109,8 @@ DllMain (hinst_t hinstDLL,
+   return TRUE;
+ }
+ 
++#endif /* !DBUS_STATIC_BUILD */
++
+ DBusCMutex *
+ _dbus_platform_cmutex_new (void)
+ {
--- a/src/dbus.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/dbus.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,29 +3,29 @@
 
 PKG             := dbus
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 3b2b5375251408c524519ef8a418ad5681832876
+$(PKG)_VERSION  := 1.13.18
+$(PKG)_CHECKSUM := 09e90abe435ac3bd8d2d6d1fafc886b0d97c8185
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
-$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := http://$(PKG).freedesktop.org/releases/$(PKG)/$($(PKG)_FILE)
 $(PKG)_DEPS     := expat
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://cgit.freedesktop.org/dbus/dbus/refs/tags' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=[^0-9]*\\([0-9][^']*\\)'.*,\\1,p" | \
-    grep -v '^1\.[01234]\.' | \
-    head -1
+    $(SED) -n "s,.*<a href='[^']*/tag/?h=dbus-\\([0-9][^']*\\)'.*,\\1,p" | \
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
     cd '$(1)' && ./configure \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
-        --with-xml=expat \
         --disable-tests \
         --disable-verbose-mode \
         --disable-asserts \
-        $(ENABLE_SHARED_OR_STATIC) \
         --disable-maintainer-mode \
         --disable-silent-rules \
         --disable-launchd \
@@ -33,5 +33,5 @@
         --disable-xml-docs \
         CFLAGS='-DPROCESS_QUERY_LIMITED_INFORMATION=0x1000' \
 	&& $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
 endef
--- a/src/dcmtk-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/dcmtk-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,12 +1,11 @@
-This file is part of MXE.
-See index.html for further information.
+This file is part of MXE. See LICENSE.md for licensing information.
 
 Contains ad hoc patches for cross building.
 
-From ac29986df03482c61dbd7271554e6bc453228bd6 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Joerg Riesmeier <dicom@offis.de>
 Date: Thu, 17 Nov 2011 16:13:14 +0000
-Subject: [PATCH] Minor fixes to keep XCode 4.2 on Mac OS X Lion (clang
+Subject: [PATCH 1/1] Minor fixes to keep XCode 4.2 on Mac OS X Lion (clang
  compiler) quiet.
 
 (cherry picked from commit dbadc0d8f3760f65504406c8b2cb8633f868a258)
@@ -15,31 +14,9 @@
 
 	CHANGES.361
 	ofstd/libsrc/ofchrenc.cc
----
- dcmimage/include/dcmtk/dcmimage/diargpxt.h |   25 ++++++++++++++-----------
- dcmimage/include/dcmtk/dcmimage/dicmypxt.h |   11 +++++++----
- dcmimage/include/dcmtk/dcmimage/dicocpt.h  |   11 +++++++----
- dcmimage/include/dcmtk/dcmimage/dicoflt.h  |   17 ++++++++++-------
- dcmimage/include/dcmtk/dcmimage/dicorot.h  |   17 ++++++++++-------
- dcmimage/include/dcmtk/dcmimage/dicosct.h  |   13 ++++++++-----
- dcmimage/include/dcmtk/dcmimage/dihsvpxt.h |   11 +++++++----
- dcmimage/include/dcmtk/dcmimage/dipalpxt.h |   11 +++++++----
- dcmimage/include/dcmtk/dcmimage/dirgbpxt.h |   15 +++++++++------
- dcmimage/include/dcmtk/dcmimage/diybrpxt.h |   15 +++++++++------
- dcmimage/include/dcmtk/dcmimage/diyf2pxt.h |   11 +++++++----
- dcmimage/include/dcmtk/dcmimage/diyp2pxt.h |   11 +++++++----
- dcmimgle/include/dcmtk/dcmimgle/diflipt.h  |   11 +++++++----
- dcmimgle/include/dcmtk/dcmimgle/dimoflt.h  |   15 +++++++++------
- dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h |   13 ++++++++-----
- dcmimgle/include/dcmtk/dcmimgle/dimorot.h  |   15 +++++++++------
- dcmimgle/include/dcmtk/dcmimgle/dimosct.h  |   11 +++++++----
- dcmimgle/include/dcmtk/dcmimgle/dirotat.h  |   11 +++++++----
- dcmimgle/include/dcmtk/dcmimgle/discalet.h |   19 +++++++++++--------
- ofstd/include/dcmtk/ofstd/ofoset.h         |   13 ++++++++-----
- 20 files changed, 168 insertions(+), 108 deletions(-)
 
 diff --git a/dcmimage/include/dcmtk/dcmimage/diargpxt.h b/dcmimage/include/dcmtk/dcmimage/diargpxt.h
-index 7e3894d..1ed9291 100644
+index 1111111..2222222 100644
 --- a/dcmimage/include/dcmtk/dcmimage/diargpxt.h
 +++ b/dcmimage/include/dcmtk/dcmimage/diargpxt.h
 @@ -1,6 +1,6 @@
@@ -122,7 +99,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimage/include/dcmtk/dcmimage/dicmypxt.h b/dcmimage/include/dcmtk/dcmimage/dicmypxt.h
-index 5357780..bf1161e 100644
+index 1111111..2222222 100644
 --- a/dcmimage/include/dcmtk/dcmimage/dicmypxt.h
 +++ b/dcmimage/include/dcmtk/dcmimage/dicmypxt.h
 @@ -1,6 +1,6 @@
@@ -164,7 +141,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimage/include/dcmtk/dcmimage/dicocpt.h b/dcmimage/include/dcmtk/dcmimage/dicocpt.h
-index 0c06de7..3f03b6b 100644
+index 1111111..2222222 100644
 --- a/dcmimage/include/dcmtk/dcmimage/dicocpt.h
 +++ b/dcmimage/include/dcmtk/dcmimage/dicocpt.h
 @@ -1,6 +1,6 @@
@@ -206,7 +183,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimage/include/dcmtk/dcmimage/dicoflt.h b/dcmimage/include/dcmtk/dcmimage/dicoflt.h
-index a5bed81..bc809ab 100644
+index 1111111..2222222 100644
 --- a/dcmimage/include/dcmtk/dcmimage/dicoflt.h
 +++ b/dcmimage/include/dcmtk/dcmimage/dicoflt.h
 @@ -1,6 +1,6 @@
@@ -258,7 +235,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimage/include/dcmtk/dcmimage/dicorot.h b/dcmimage/include/dcmtk/dcmimage/dicorot.h
-index 2bcd71e..c8afd70 100644
+index 1111111..2222222 100644
 --- a/dcmimage/include/dcmtk/dcmimage/dicorot.h
 +++ b/dcmimage/include/dcmtk/dcmimage/dicorot.h
 @@ -1,6 +1,6 @@
@@ -310,7 +287,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimage/include/dcmtk/dcmimage/dicosct.h b/dcmimage/include/dcmtk/dcmimage/dicosct.h
-index 006a829..3bccc45 100644
+index 1111111..2222222 100644
 --- a/dcmimage/include/dcmtk/dcmimage/dicosct.h
 +++ b/dcmimage/include/dcmtk/dcmimage/dicosct.h
 @@ -1,6 +1,6 @@
@@ -354,7 +331,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimage/include/dcmtk/dcmimage/dihsvpxt.h b/dcmimage/include/dcmtk/dcmimage/dihsvpxt.h
-index 10d8b70..52580ec 100644
+index 1111111..2222222 100644
 --- a/dcmimage/include/dcmtk/dcmimage/dihsvpxt.h
 +++ b/dcmimage/include/dcmtk/dcmimage/dihsvpxt.h
 @@ -1,6 +1,6 @@
@@ -396,7 +373,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimage/include/dcmtk/dcmimage/dipalpxt.h b/dcmimage/include/dcmtk/dcmimage/dipalpxt.h
-index 2e5eef7..1ae2352 100644
+index 1111111..2222222 100644
 --- a/dcmimage/include/dcmtk/dcmimage/dipalpxt.h
 +++ b/dcmimage/include/dcmtk/dcmimage/dipalpxt.h
 @@ -1,6 +1,6 @@
@@ -438,7 +415,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimage/include/dcmtk/dcmimage/dirgbpxt.h b/dcmimage/include/dcmtk/dcmimage/dirgbpxt.h
-index 85f973d..d9cc7ed 100644
+index 1111111..2222222 100644
 --- a/dcmimage/include/dcmtk/dcmimage/dirgbpxt.h
 +++ b/dcmimage/include/dcmtk/dcmimage/dirgbpxt.h
 @@ -1,6 +1,6 @@
@@ -492,7 +469,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimage/include/dcmtk/dcmimage/diybrpxt.h b/dcmimage/include/dcmtk/dcmimage/diybrpxt.h
-index 6b523fb..ecd2038 100644
+index 1111111..2222222 100644
 --- a/dcmimage/include/dcmtk/dcmimage/diybrpxt.h
 +++ b/dcmimage/include/dcmtk/dcmimage/diybrpxt.h
 @@ -1,6 +1,6 @@
@@ -546,7 +523,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimage/include/dcmtk/dcmimage/diyf2pxt.h b/dcmimage/include/dcmtk/dcmimage/diyf2pxt.h
-index ed27796..93d28cc 100644
+index 1111111..2222222 100644
 --- a/dcmimage/include/dcmtk/dcmimage/diyf2pxt.h
 +++ b/dcmimage/include/dcmtk/dcmimage/diyf2pxt.h
 @@ -1,6 +1,6 @@
@@ -588,7 +565,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimage/include/dcmtk/dcmimage/diyp2pxt.h b/dcmimage/include/dcmtk/dcmimage/diyp2pxt.h
-index 518fed7..0dd9d5b 100644
+index 1111111..2222222 100644
 --- a/dcmimage/include/dcmtk/dcmimage/diyp2pxt.h
 +++ b/dcmimage/include/dcmtk/dcmimage/diyp2pxt.h
 @@ -1,6 +1,6 @@
@@ -630,7 +607,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimgle/include/dcmtk/dcmimgle/diflipt.h b/dcmimgle/include/dcmtk/dcmimgle/diflipt.h
-index 4933fe1..05c198c 100644
+index 1111111..2222222 100644
 --- a/dcmimgle/include/dcmtk/dcmimgle/diflipt.h
 +++ b/dcmimgle/include/dcmtk/dcmimgle/diflipt.h
 @@ -1,6 +1,6 @@
@@ -672,7 +649,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimgle/include/dcmtk/dcmimgle/dimoflt.h b/dcmimgle/include/dcmtk/dcmimgle/dimoflt.h
-index a88ab9d..52d71a3 100644
+index 1111111..2222222 100644
 --- a/dcmimgle/include/dcmtk/dcmimgle/dimoflt.h
 +++ b/dcmimgle/include/dcmtk/dcmimgle/dimoflt.h
 @@ -1,6 +1,6 @@
@@ -720,7 +697,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h b/dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h
-index e815e90..c190dd6 100644
+index 1111111..2222222 100644
 --- a/dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h
 +++ b/dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h
 @@ -1,6 +1,6 @@
@@ -766,7 +743,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimgle/include/dcmtk/dcmimgle/dimorot.h b/dcmimgle/include/dcmtk/dcmimgle/dimorot.h
-index 4ef277d..e729424 100644
+index 1111111..2222222 100644
 --- a/dcmimgle/include/dcmtk/dcmimgle/dimorot.h
 +++ b/dcmimgle/include/dcmtk/dcmimgle/dimorot.h
 @@ -1,6 +1,6 @@
@@ -814,7 +791,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimgle/include/dcmtk/dcmimgle/dimosct.h b/dcmimgle/include/dcmtk/dcmimgle/dimosct.h
-index 60c9abb..8f89855 100644
+index 1111111..2222222 100644
 --- a/dcmimgle/include/dcmtk/dcmimgle/dimosct.h
 +++ b/dcmimgle/include/dcmtk/dcmimgle/dimosct.h
 @@ -1,6 +1,6 @@
@@ -856,7 +833,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimgle/include/dcmtk/dcmimgle/dirotat.h b/dcmimgle/include/dcmtk/dcmimgle/dirotat.h
-index edb452e..2e7e3a0 100644
+index 1111111..2222222 100644
 --- a/dcmimgle/include/dcmtk/dcmimgle/dirotat.h
 +++ b/dcmimgle/include/dcmtk/dcmimgle/dirotat.h
 @@ -1,6 +1,6 @@
@@ -898,7 +875,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/dcmimgle/include/dcmtk/dcmimgle/discalet.h b/dcmimgle/include/dcmtk/dcmimgle/discalet.h
-index 758dde2..0bcbc70 100644
+index 1111111..2222222 100644
 --- a/dcmimgle/include/dcmtk/dcmimgle/discalet.h
 +++ b/dcmimgle/include/dcmtk/dcmimgle/discalet.h
 @@ -1,6 +1,6 @@
@@ -973,7 +950,7 @@
   * Updated copyright header. Added reference to COPYRIGHT file.
   *
 diff --git a/ofstd/include/dcmtk/ofstd/ofoset.h b/ofstd/include/dcmtk/ofstd/ofoset.h
-index 1a7f208..a534ebf 100644
+index 1111111..2222222 100644
 --- a/ofstd/include/dcmtk/ofstd/ofoset.h
 +++ b/ofstd/include/dcmtk/ofstd/ofoset.h
 @@ -1,6 +1,6 @@
@@ -1023,6 +1000,3 @@
  ** Revision 1.11  2010-10-14 13:15:50  joergr
  ** Updated copyright header. Added reference to COPYRIGHT file.
  **
--- 
-1.7.9.2
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/dcmtk-2-mingw-w64.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,161 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+From 2d08af9a15089c354b436282e4d23f462a81ce8f Mon Sep 17 00:00:00 2001
+From: MXE <mxe@mxe.cc>
+Date: Tue, 7 Oct 2014 21:50:59 -0700
+Subject: [PATCH] Fix i686-w64-mingw32
+
+Cherry-picked from
+http://git.dcmtk.org/web?p=dcmtk.git;a=commitdiff;h=b8a53c5f7fd12e9479f830680ef84f93805fd004
+
+diff --git a/config/configure.in b/config/configure.in
+index e343ce1..a305114 100644
+--- a/config/configure.in
++++ b/config/configure.in
+@@ -199,6 +199,10 @@ AC_CHECK_TYPES(longlong)
+ AC_CHECK_TYPES(ulonglong)
+ CHECK_VLA
+ 
++dnl File access stuff
++AC_CHECK_TYPES(fpos64_t)
++AC_CHECK_TYPES(off64_t)
++
+ dnl stdbool.h and stdint.h are only defined in ANSI C, not in C++
+ AC_CHECK_HEADERS(stdbool.h)
+ AC_CHECK_HEADERS(stdint.h)
+@@ -232,6 +236,7 @@ AC_CHECK_FUNCS(sleep fork)
+ AC_CHECK_FUNCS(_findfirst)
+ AC_CHECK_FUNCS(strlcpy strlcat)
+ AC_CHECK_FUNCS(vsnprintf)
++AC_CHECK_FUNCS(popen pclose)
+ AC_FUNC_FSEEKO
+ 
+ 
+diff --git a/config/include/dcmtk/config/cfunix.h.in b/config/include/dcmtk/config/cfunix.h.in
+index 3a6cd69..ed211ca 100644
+--- a/config/include/dcmtk/config/cfunix.h.in
++++ b/config/include/dcmtk/config/cfunix.h.in
+@@ -157,6 +157,9 @@
+ /* Define to 1 if you have the `fork' function. */
+ #undef HAVE_FORK
+ 
++/* Define to 1 if the system has the type `fpos64_t'. */
++#undef HAVE_FPOS64_T
++
+ /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
+ #undef HAVE_FSEEKO
+ 
+@@ -424,14 +427,23 @@ typedef unsigned short ushort;
+ /* Define to 1 if you have the `ntohs' function. */
+ #undef HAVE_NTOHS
+ 
++/* Define to 1 if the system has the type `off64_t'. */
++#undef HAVE_OFF64_T
++
+ /* Define if your system supports readdir_r with the obsolete Posix 1.c draft
+    6 declaration (2 arguments) instead of the Posix 1.c declaration with 3
+    arguments. */
+ #undef HAVE_OLD_READDIR_R
+ 
++/* Define to 1 if you have the `pclose' function. */
++#undef HAVE_PCLOSE
++
+ /* Define if pthread_t is a pointer type on your system */
+ #undef HAVE_POINTER_TYPE_PTHREAD_T
+ 
++/* Define to 1 if you have the `popen' function. */
++#undef HAVE_POPEN
++
+ /* Define if your system has a prototype for accept in sys/types.h
+    sys/socket.h */
+ #undef HAVE_PROTOTYPE_ACCEPT
+diff --git a/ofstd/include/dcmtk/ofstd/offile.h b/ofstd/include/dcmtk/ofstd/offile.h
+index 0f5d454..3f5a677 100644
+--- a/ofstd/include/dcmtk/ofstd/offile.h
++++ b/ofstd/include/dcmtk/ofstd/offile.h
+@@ -75,26 +75,36 @@ END_EXTERN_C
+   #endif
+ #endif
+ 
+-#if defined(_WIN32) && !defined(__MINGW32__)
+-  // On Win32 systems except MinGW (where Posix definitions are available)
+-  // we use Win32 specific definitions
+-  typedef __int64 offile_off_t;
+-  typedef fpos_t offile_fpos_t;
++// Explicit LFS (LFS64) and Windows need 64 bit types
++#if defined(EXPLICIT_LFS_64) || defined(_WIN32)
++
++// Use POSIX 64 bit file position type when available
++#ifdef HAVE_FPOS64_T
++typedef fpos64_t offile_fpos_t;
++#else // Otherwise this should be sufficient
++typedef fpos_t offile_fpos_t;
++#endif
++
++// Use POSIX 64 bit file offset type when available
++#ifdef HAVE_OFF64_T
++typedef off64_t offile_off_t;
++#elif !defined(OF_NO_SINT64) // Otherwise use a 64 bit integer
++typedef Sint64 offile_off_t;
++#else // Cry when 64 LFS is required but no 64 bit integer exists
++#error \
++  Could not find a suitable offset-type for LFS64 support.
++#endif
++
++#else // Implicit LFS or no LFS
++
++#ifdef HAVE_FSEEKO
++typedef off_t offile_off_t;
+ #else
+-  #ifdef EXPLICIT_LFS_64
+-    // Explicit LFS (LFS64)
+-    typedef fpos64_t offile_fpos_t;
+-    typedef off64_t offile_off_t;
+-  #else
+-    // Implicit LFS or no LFS
+-    #ifdef HAVE_FSEEKO
+-      typedef off_t offile_off_t;
+-    #else
+-      typedef long offile_off_t;
+-    #endif
+-    typedef fpos_t offile_fpos_t;
+-  #endif
++typedef long offile_off_t;
+ #endif
++typedef fpos_t offile_fpos_t;
++
++#endif // basic type definitions
+ 
+ // the type we use to store the last error.
+ typedef int offile_errno_t;
+@@ -196,10 +206,10 @@ public:
+   OFBool popen(const char *command, const char *modes)
+   {
+     if (file_) fclose();
+-#ifdef _WIN32
+-    file_ = _popen(command, modes);
+-#else
++#ifdef HAVE_POPEN
+     file_ = :: popen(command, modes);
++#else
++    file_ = _popen(command, modes);
+ #endif
+     if (file_) popened_ = OFTrue; else storeLastError();
+     return (file_ != NULL);
+@@ -258,10 +268,10 @@ public:
+     {
+       if (popened_)
+       {
+-#ifdef _WIN32
+-        result = _pclose(file_);
+-#else
++#ifdef HAVE_PCLOSE
+         result = :: pclose(file_);
++#else
++        result = _pclose(file_);
+ #endif
+       }
+       else
+-- 
+1.8.3.2
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/dcmtk-3-pointer-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,36 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+Contains ad hoc patches for cross building.
+
+From 808089f334f44ea125ec5263fb85c0f2c95fd190 Mon Sep 17 00:00:00 2001
+From: MXE
+Date: Sat, 6 Jun 2015 06:16:19 -0700
+Subject: [PATCH] Do not cast pointer to integer types. Instead, pass them in
+ as-is.
+
+
+diff --git a/dcmnet/libsrc/dul.cc b/dcmnet/libsrc/dul.cc
+index 48a267b..3a5eb18 100644
+--- a/dcmnet/libsrc/dul.cc
++++ b/dcmnet/libsrc/dul.cc
+@@ -1770,7 +1770,7 @@ receiveTransportConnectionTCP(PRIVATE_NETWORKKEY ** network,
+                 // send number of socket handle in child process over anonymous pipe
+                 DWORD bytesWritten;
+                 char buf[20];
+-                sprintf(buf, "%i", OFreinterpret_cast(int, childSocketHandle));
++                sprintf(buf, "%p", childSocketHandle);
+                 if (!WriteFile(hChildStdInWriteDup, buf, strlen(buf) + 1, &bytesWritten, NULL))
+                 {
+                     CloseHandle(hChildStdInWriteDup);
+@@ -1780,7 +1780,7 @@ receiveTransportConnectionTCP(PRIVATE_NETWORKKEY ** network,
+                 // return OF_ok status code DULC_FORKEDCHILD with descriptive text
+                 OFOStringStream stream;
+                 stream << "New child process started with pid " << OFstatic_cast(int, pi.dwProcessId)
+-                       << ", socketHandle " << OFreinterpret_cast(int, childSocketHandle) << OFStringStream_ends;
++                       << ", socketHandle " << childSocketHandle << OFStringStream_ends;
+                 OFSTRINGSTREAM_GETOFSTRING(stream, msg)
+                 return makeDcmnetCondition(DULC_FORKEDCHILD, OF_ok, msg.c_str());
+             }
+-- 
+2.1.4
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/dcmtk-4-c++11-related-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,16 @@
+From: Boris Pek
+Date: Thu, 05 May 2016 15:38:47 +0300
+Subject: [PATCH] fix build with GCC >= 6.x
+
+diff --git a/ofstd/libsrc/ofstd.cc b/ofstd/libsrc/ofstd.cc
+--- a/ofstd/libsrc/ofstd.cc
++++ b/ofstd/libsrc/ofstd.cc
+@@ -175,7 +175,7 @@
+ 
+ 
+ // some systems don't properly define isnan()
+-#ifdef HAVE_ISNAN
++#if defined(HAVE_ISNAN) && (__cplusplus < 201103L)
+ #ifndef HAVE_PROTOTYPE_ISNAN
+ extern "C"
+ {
--- a/src/dcmtk.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/dcmtk.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,12 +3,14 @@
 
 PKG             := dcmtk
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.6.0
 $(PKG)_CHECKSUM := 469e017cffc56f36e834aa19c8612111f964f757
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := ftp://dicom.offis.de/pub/dicom/offis/software/$(PKG)/$(PKG)$(subst .,,$($(PKG)_VERSION))/$($(PKG)_FILE)
 $(PKG)_URL_2    := http://ftp.debian.org/debian/pool/main/d/$(PKG)/$(PKG)_$($(PKG)_VERSION).orig.tar.gz
-$(PKG)_DEPS     := openssl tiff libpng libxml2 zlib
+#$(PKG)_DEPS     := openssl tiff libpng libxml2 zlib
+$(PKG)_DEPS     := tiff libpng libxml2 zlib
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://dicom.offis.de/dcmtk.php.en' | \
@@ -17,6 +19,7 @@
 endef
 
 define $(PKG)_BUILD
+    cd '$(1)'/config && autoconf -f
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         --prefix='$(HOST_PREFIX)' \
@@ -27,6 +30,7 @@
         --with-libxmlinc='$(HOST_PREFIX)' \
         --with-zlib \
         --without-libwrap \
+	--without-openssl \
         CXX='$(MXE_CXX)' \
         RANLIB='$(MXE_RANLIB)' \
         AR='$(MXE_AR)' \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/default-octave-1-gnulib.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,12 @@
+diff -uNr a/libgnu/unistd.in.h b/libgnu/unistd.in.h
+--- a/libgnu/unistd.in.h	2016-06-18 18:47:32.000000000 -0400
++++ b/libgnu/unistd.in.h	2016-06-23 18:45:42.410781867 -0400
+@@ -734,7 +734,7 @@
+    Null terminate it if the name is shorter than LEN.
+    If the host name is longer than LEN, set errno = EINVAL and return -1.
+    Return 0 if successful, otherwise set errno and return -1.  */
+-# if @UNISTD_H_HAVE_WINSOCK2_H@
++# if !@HAVE_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@
+ #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+ #   undef gethostname
+ #   define gethostname rpl_gethostname
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/default-octave.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,216 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+## This set of rules is intended for building the latest sources from
+## the default branch of the Octave hg archive.  The $(PKG)_URL is
+## intentionally set to an invalid value.  You must create a tar.lz
+## file from the default branch of the Octave hg archive separately
+## and place it in the directory where mxe-octave package sources are
+## found.
+
+## We omit the package checksum so that we don't have to update it
+## each time the tarball changes.
+
+PKG             := default-octave
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 7.0.0
+$(PKG)_CHECKSUM := ## No checksum
+$(PKG)_SUBDIR   := octave-$($(PKG)_VERSION)
+$(PKG)_FILE     := octave-$($(PKG)_VERSION).tar.lz
+$(PKG)_URL      := http://not.a.valid.url/$($(PKG)_FILE)
+ifeq ($(USE_SYSTEM_FONTCONFIG),no)
+  $(PKG)_FONTCONFIG := fontconfig
+endif
+$(PKG)_DEPS     := blas arpack curl epstool fftw fltk $($(PKG)_FONTCONFIG) ghostscript gl2ps glpk gnuplot graphicsmagick hdf5 lapack libsndfile pcre portaudio pstoedit qhull qrupdate qscintilla rapidjson readline sundials-ida suitesparse texinfo zlib
+
+ifeq ($(ENABLE_QT5),yes)
+    $(PKG)_DEPS += qt5
+else
+    $(PKG)_DEPS += qt
+endif
+
+ifeq ($(USE_SYSTEM_OPENGL),no)
+  $(PKG)_DEPS += mesa
+endif
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  $(PKG)_WITH_BLAS_CONFIGURE_OPTIONS := --with-blas="-lblas -lxerbla"
+else
+  $(PKG)_WITH_BLAS_CONFIGURE_OPTIONS := --with-blas="-lblas"
+  ifeq ($(USE_SYSTEM_X11_LIBS),no)
+    $(PKG)_DEPS += x11 xext
+  endif
+endif
+
+ifeq ($(MXE_SYSTEM),mingw)
+  ifeq ($(USE_SYSTEM_GCC),no)
+    $(PKG)_DEPS     += libgomp
+  endif
+endif
+
+ifeq ($(ENABLE_JIT),yes)
+  $(PKG)_DEPS += llvm
+  $(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS := --enable-jit
+else
+  $(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS := --disable-jit
+endif
+
+ifeq ($(ENABLE_JAVA),no)
+  $(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS := --disable-java
+else
+  ifeq ($(MXE_SYSTEM),mingw)
+    ifeq ($(MXE_NATIVE_BUILD),no)
+      $(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS := \
+       --with-java-includedir="$(HOST_INCDIR)/java"
+     endif
+  endif
+endif
+
+## If we allow the system Qt libraries to be used, then these
+## won't make sense.
+$(PKG)_QT_CONFIGURE_OPTIONS := \
+  MOC_QTVER=$(MXE_MOC) \
+  UIC_QTVER=$(MXE_UIC) \
+  RCC_QTVER=$(MXE_RCC) \
+  LRELEASE_QTVER=$(MXE_LRELEASE)
+
+ifeq ($(ENABLE_QT5),yes)
+  #$(PKG)_PKG_CONFIG_PATH := "$(HOST_LIBDIR)/pkgconfig"
+  $(PKG)_PKG_CONFIG_PATH := "$(HOST_PREFIX)/qt5/lib/pkgconfig:$(HOST_LIBDIR)/pkgconfig"
+  $(PKG)_QTDIR := $(HOST_PREFIX)/qt5
+  $(PKG)_QT_CONFIGURE_OPTIONS += octave_cv_lib_qscintilla="-lqscintilla2_qt5"
+else
+  $(PKG)_PKG_CONFIG_PATH := "$(HOST_LIBDIR)/pkgconfig"
+  $(PKG)_QTDIR := $(HOST_PREFIX)
+  $(PKG)_QT_CONFIGURE_OPTIONS += octave_cv_lib_qscintilla="-lqscintilla2_qt4"
+endif
+
+
+ifneq ($(ENABLE_DOCS),yes)
+  $(PKG)_ENABLE_DOCS_CONFIGURE_OPTIONS := --disable-docs
+endif
+
+ifeq ($(MXE_NATIVE_BUILD),yes)
+  $(PKG)_CONFIGURE_ENV := LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)
+  ifeq ($(ENABLE_64),yes)
+    $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64
+  else
+    $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --disable-64
+  endif
+else
+  ifeq ($(MXE_SYSTEM),mingw)
+    $(PKG)_CROSS_CONFIG_OPTIONS := \
+      FLTK_CONFIG='$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)fltk-config' \
+      gl_cv_func_gettimeofday_clobber=no \
+      gl_cv_func_tzset_clobber=no
+    ifeq ($(ENABLE_64),yes)
+      $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64
+    else
+      $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --disable-64
+    endif
+  endif
+endif
+
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
+  $(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS := F77_INTEGER_8_FLAG=-fdefault-integer-8 ax_blas_f77_func_ok=yes ax_blas_integer_size=8 octave_cv_sizeof_fortran_integer=8
+else
+  $(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS := ax_blas_f77_func_ok=yes ax_blas_integer_size=4 octave_cv_sizeof_fortran_integer=4
+endif
+
+ifeq ($(MXE_SYSTEM),msvc)
+  $(PKG)_PREFIX := '$(HOST_PREFIX)/local/$($(PKG)_SUBDIR)'
+  # - Enable atomic refcount (required for QtHandles)
+  # - Skip configure test for pow and sqrt, MSVC fails to compile them
+  #   because it uses intrinsics (with -O2 flag) and bump on the fake
+  #   "char FUNC()" forward declaration.
+  # - Override CFLAGS and CXXFLAGS to disable some warnings.
+  $(PKG)_EXTRA_CONFIGURE_OPTIONS := \
+    --enable-atomic-refcount \
+    ac_cv_func_pow=yes ac_cv_func_sqrt=yes \
+    CFLAGS='-O2 -wd4244 -wd4003 -wd4005 -wd4068' \
+    CXXFLAGS='-O2 -wd4244 -wd4003 -wd4005 -wd4068'
+else
+  $(PKG)_PREFIX := '$(HOST_PREFIX)'
+  $(PKG)_EXTRA_CONFIGURE_OPTIONS := \
+    LDFLAGS='-Wl,-rpath-link,$(HOST_LIBDIR) -L$(HOST_LIBDIR) -L$($(PKG)_QTDIR)/lib'
+endif
+
+ifeq ($(MXE_SYSTEM),mingw)
+  $(PKG)_EXTRA_CONFIGURE_OPTIONS += --with-x=no
+endif
+
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+  $(PKG)_EXTRA_CONFIGURE_OPTIONS += ac_cv_search_tputs=-ltermcap
+endif
+
+# if want binary packages and are cross compiling, then we need cross tools enabled
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+  ifeq ($(MXE_NATIVE_BUILD),no)
+    $(PKG)_EXTRA_CONFIGURE_OPTIONS += --enable-cross-tools
+  endif
+endif
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package octave.' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+define $(PKG)_BUILD
+    # jni install
+    if [ "$(MXE_SYSTEM)" == "mingw" ] \
+      && [ "$(MXE_NATIVE_BUILD)" == "no" ] \
+      && [ "$(ENABLE_JAVA)" == "yes" ]; then \
+      if [ ! -f $(HOST_INCDIR)/java/jni.h ]; then \
+        mkdir -p '$(HOST_INCDIR)/java'; \
+        $(WGET) -N http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/raw-file/tip/src/share/javavm/export/jni.h \
+          -O $(HOST_INCDIR)/java/jni.h; \
+      fi; \
+      if [ ! -f $(HOST_INCDIR)/java/win32/jni_md.h ]; then \
+        mkdir -p '$(HOST_INCDIR)/java/win32'; \
+        $(WGET) -N http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/raw-file/tip/src/windows/javavm/export/jni_md.h \
+          -O $(HOST_INCDIR)/java/win32/jni_md.h; \
+      fi; \
+    fi
+
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$($(PKG)_PREFIX)' \
+        --disable-silent-rules \
+        --enable-install-build-logs \
+        $($(PKG)_CROSS_CONFIG_OPTIONS) \
+        $($(PKG)_WITH_BLAS_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_DOCS_CONFIGURE_OPTIONS) \
+        $($(PKG)_QT_CONFIGURE_OPTIONS) \
+        $($(PKG)_EXTRA_CONFIGURE_OPTIONS) \
+        PKG_CONFIG='$(MXE_PKG_CONFIG)' \
+        PKG_CONFIG_PATH=$($(PKG)_PKG_CONFIG_PATH) \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build/libgnu'
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+
+    if [ "x$(MXE_SYSTEM)" == "xmingw" ]; then \
+      $(INSTALL) '$(3)/$(HOST_BINDIR)/libxerbla.dll' '$(3)$(HOST_BINDIR)/libxerbla-octave.dll'; \
+      cp '$(1)/.build/src/.libs/octave-gui.exe' '$(3)$(HOST_BINDIR)'; \
+      if [ "x$(ENABLE_BINARY_PACKAGES)" == "xyes" ]; then \
+        mkdir -p '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \
+        $(INSTALL) '$(1)/.build/src/$(MXE_TOOL_PREFIX)mkoctfile' '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \
+        $(INSTALL) '$(1)/.build/src/$(MXE_TOOL_PREFIX)octave-config' '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \
+      fi; \
+    fi
+
+    if [ "x$(ENABLE_DOCS)" == "xyes" ]; then \
+        $(MAKE) -C '$(1)/.build' -j '$(JOBS)' DESTDIR=$(3) install-pdf install-html; \
+    fi
+
+    # create a file with latest installed octave rev in it
+    mkdir -p '$(TOP_BUILD_DIR)/octave'
+    echo "$($(PKG)_VERSION)" > $(TOP_BUILD_DIR)/octave/octave-version
+endef
--- a/src/devil.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/devil.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := devil
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.7.8
 $(PKG)_CHECKSUM := bc27e3e830ba666a3af03548789700d10561fcb1
 $(PKG)_SUBDIR   := devil-$($(PKG)_VERSION)
 $(PKG)_FILE     := DevIL-$($(PKG)_VERSION).tar.gz
@@ -10,10 +11,10 @@
 $(PKG)_DEPS     := freeglut zlib openexr jpeg jasper lcms libmng libpng tiff sdl
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://openil.svn.sourceforge.net/viewvc/openil/tags/?sortby=date' | \
-    grep '<a name="' | \
-    $(SED) -n 's,.*<a name="release-\([0-9][^"]*\)".*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'http://sourceforge.net/p/openil/svn/HEAD/tree/tags/' | \
+    grep 'href="' | \
+    $(SED) -n 's,.*href="release-\([0-9][^"]*\)".*,\1,p' | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/double-conversion.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := double-conversion
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.1.5
+$(PKG)_CHECKSUM := ea899f825b61f374b310654927b41244d80b538e
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
+$(PKG)_URL      := https://github.com/google/$(PKG)/archive/v$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS     :=
+
+$(PKG)_CMAKE_FLAGS :=
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://github.com/google/double-conversion/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && cmake \
+        $($(PKG)_CMAKE_FLAGS) \
+        -DBUILD_TESTING=no \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
+        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+        .
+
+    $(MAKE) -C '$(1)' -j '$(JOBS)' VERBOSE=1
+    $(MAKE) -C '$(1)' -j '1' VERBOSE=1 DESTDIR='$(3)' install
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/dri2proto.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,31 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := dri2proto
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.8
+$(PKG)_CHECKSUM := 2bc4e8f00778b1f3fe58b4c4f93607ac2adafbbf
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/proto/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- http://www.x.org/archive/individual/proto/ | $(SED) -n 's|.*dri2proto-\(.*\).tar.*|\1|p'| $(SORT) -V | tail -1
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- a/src/eigen.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/eigen.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,21 +3,27 @@
 
 PKG             := eigen
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 7e1674420a8eef7e90e1875ef5b9e828fb9db381
-$(PKG)_SUBDIR   := $(PKG)-$(PKG)-b23437e61a07
+$(PKG)_VERSION  := 3.3.7
+$(PKG)_CHECKSUM := f13a31c7ec3b87cf6e58b6fb05aa8b887091b71c
+$(PKG)_SUBDIR   := $(PKG)-$(PKG)-323c052e1731
 $(PKG)_FILE     := $($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := https://bitbucket.org/$(PKG)/$(PKG)/get/$($(PKG)_FILE)
+$(PKG)_URL      := https://gitlab.com/libeigen/$(PKG)/-/archive/$($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://eigen.tuxfamily.org/index.php?title=Main_Page#Download' | \
-    grep 'eigen/get/' | \
-    $(SED) -n 's,.*eigen/get/\(2[^>]*\)\.tar.*,\1,p' | \
+    $(WGET) -q -O- 'https://eigen.tuxfamily.org/index.php?title=Main_Page#Download' | \
+    $(GREP) 'eigen/get/' | \
+    $(SED) -n 's,.*eigen/get/\(3[^>]*\)\.tar.*,\1,p' | \
     head -1
 endef
 
 define $(PKG)_BUILD
-    cd '$(1)' && \
-    cmake . -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)'
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+    mkdir '$(1).build'
+    cd '$(1).build' && \
+    cmake \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
+        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+        '$(1)'
+    $(MAKE) -C '$(1).build' -j '$(JOBS)' DESTDIR='$(3)' install
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/epstool.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := epstool
+$(PKG)_VERSION  := 3.08
+$(PKG)_CHECKSUM := dc495934f06d3ea8b3209e8b02ea96c66c34f614
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://pkgs.fedoraproject.org/repo/pkgs/epstool/epstool-3.08.tar.gz/465a57a598dbef411f4ecbfbd7d4c8d7/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://www.ghostgum.com.au/software/epstool.htm' | \
+    $(SED) -n 's|.*download/epstool-\([0-9].*\)\.tar\.gz\".*|\1|p' | \
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && make CC="$(MXE_CC)" CLINK=$(MXE_CC) LDFLAGS="$(MXE_LDFLAGS)" CFLAGS="$(MXE_CFLAGS)" prefix="$(HOST_PREFIX)" EPSTOOL_ROOT="/"
+    cd '$(1)' && make prefix="$(3)$(HOST_PREFIX)" EPSTOOL_ROOT="/" install
+endef
--- a/src/exiv2.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/exiv2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := exiv2
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.23
 $(PKG)_CHECKSUM := 5f342bf642477526f41add11d6ee7787cdcd639f
 $(PKG)_SUBDIR   := exiv2-$($(PKG)_VERSION)
 $(PKG)_FILE     := exiv2-$($(PKG)_VERSION).tar.gz
@@ -10,8 +11,8 @@
 $(PKG)_DEPS     := libiconv zlib expat
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.exiv2.org/download.html' | \
-    grep 'href="exiv2-' | \
+    $(WGET) -q -O- 'http://www.exiv2.org/archive.html' | \
+    grep 'href="/releases/exiv2-' | \
     $(SED) -n 's,.*exiv2-\([0-9][^>]*\)\.tar.*,\1,p' | \
     head -1
 endef
--- a/src/expat.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/expat.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,16 @@
 
 PKG             := expat
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := b08197d146930a5543a7b99e871cba3da614f6f0
+$(PKG)_VERSION  := 2.2.10
+$(PKG)_CHECKSUM := 0a9f06081d92ddea17b8b9f4086b3f68e337bf8f
 $(PKG)_SUBDIR   := expat-$($(PKG)_VERSION)
-$(PKG)_FILE     := expat-$($(PKG)_VERSION).tar.gz
+$(PKG)_FILE     := expat-$($(PKG)_VERSION).tar.bz2
 $(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/expat/expat/$($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/expat/files/expat/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
@@ -20,6 +21,7 @@
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
+	--without-docbook \
         --prefix='$(HOST_PREFIX)' && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_PROGS) DESTDIR='$(3)'
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/faad2-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,12 @@
+diff -ruN faad2-2.8.8.orig/libfaad/decoder.c faad2-2.8.8/libfaad/decoder.c
+--- faad2-2.8.8.orig/libfaad/decoder.c	2017-12-17 17:17:36.000000000 +0100
++++ faad2-2.8.8/libfaad/decoder.c	2018-07-14 04:46:07.058232749 +0200
+@@ -54,7 +54,7 @@
+ #endif
+ 
+ #if defined WIN32 || defined _WIN32 || defined WIN64 || defined _WIN64
+-#include "win32_ver.h"
++//#include "win32_ver.h"
+ #endif
+ 
+ /* static function declarations */
--- a/src/faad2-1-uint.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-# This file is part of MXE.
-# See index.html for further information.
-
---- ./frontend/main.c.backup	2010-07-01 16:53:48.563042615 +0200
-+++ ./frontend/main.c	2010-07-01 16:54:03.379043126 +0200
-@@ -31,7 +31,6 @@
- #ifdef _WIN32
- #define WIN32_LEAN_AND_MEAN
- #include <windows.h>
--#define off_t __int64
- #else
- #include <time.h>
- #endif
--- a/src/faad2.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/faad2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,17 @@
 
 PKG             := faad2
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 80eaaa5cc576c35dd28863767b795c50cbcc0511
+$(PKG)_VERSION  := 2.8.8
+$(PKG)_CHECKSUM := 0d49c516d4a83c39053a9bd214fddba72cbc34ad
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/faac/$(PKG)-src/$(PKG)-$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_URL      := https://$(SOURCEFORGE_MIRROR)/project/faac/$(PKG)-src/$(PKG)-2.8.0/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://sourceforge.net/projects/faac/files/faad2-src/' | \
-    $(SED) -n 's,.*faad2-\([0-9][^"]*\)/".*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://sourceforge.net/projects/faac/files/faad2-src/faad2-2.8.0/' | \
+    $(SED) -n 's,.*title=\"faad2-\([0-9\.]*\)\.tar\.gz\".*,\1,p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
@@ -20,7 +21,7 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         --prefix='$(HOST_PREFIX)' \
         $(ENABLE_SHARED_OR_STATIC)
-    $(MAKE) -C '$(1)' -j '$(JOBS)'
-    $(MAKE) -C '$(1)' -j 1 install
+    $(MAKE) -C '$(1)' -j '$(JOBS)' LDFLAGS='-no-undefined'
+    $(MAKE) -C '$(1)' -j 1 install LDFLAGS='-no-undefined'
 endef
 
--- a/src/ffmpeg.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/ffmpeg.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,12 +3,15 @@
 
 PKG             := ffmpeg
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := bf1f917c4fa26cf225616f2063e60c33cac546be
+$(PKG)_VERSION  := 4.2.3
+$(PKG)_CHECKSUM := 7be5114d169e5a1ba73ad1e844e7fb4d0fb93cc6
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
 $(PKG)_URL      := http://www.ffmpeg.org/releases/$($(PKG)_FILE)
 $(PKG)_URL_2    := http://launchpad.net/ffmpeg/main/$($(PKG)_VERSION)/+download/$($(PKG)_FILE)
-$(PKG)_DEPS     := bzip2 lame libvpx opencore-amr sdl speex theora vorbis x264 xvidcore zlib
+$(PKG)_DEPS     := bzip2 gnutls lame libvpx opencore-amr sdl speex theora vorbis x264 xvidcore zlib
+
+$(PKG)_CONFIG_OPTS :=
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://www.ffmpeg.org/download.html' | \
@@ -16,31 +19,32 @@
     head -1
 endef
 
+ifeq ($(MXE_NATIVE_BUILD),no)
 define $(PKG)_BUILD
     '$(SED)' -i "s^[-]lvpx^`'$(MXE_PKG_CONFIG)' --libs-only-l vpx`^g;" $(1)/configure
     cd '$(1)' && ./configure \
         --cross-prefix='$(MXE_TOOL_PREFIX)' \
-        --enable-cross-compile \
-        --arch=i686 \
+        --enable-cross-compile  \
         --target-os=mingw32 \
+        --arch=$(firstword $(subst -, ,$(TARGET))) \
         --prefix='$(HOST_PREFIX)' \
         $(ENABLE_SHARED_OR_STATIC) \
+        --yasmexe='$(BUILD_TOOLS_PREFIX)/bin/yasm' \
+        --extra-libs='-mconsole' \
         --disable-debug \
         --disable-doc \
-        --enable-memalign-hack \
+        --enable-avresample \
         --enable-gpl \
         --enable-version3 \
-        --disable-nonfree \
-        --enable-postproc \
         --disable-pthreads \
         --enable-w32threads \
         --enable-avisynth \
+        --enable-gnutls \
         --enable-libspeex \
         --enable-libtheora \
         --enable-libvorbis \
         --enable-libmp3lame \
         --enable-libxvid \
-        --disable-libfaac \
         --enable-libopencore-amrnb \
         --enable-libopencore-amrwb \
         --enable-libx264 \
@@ -48,3 +52,30 @@
     $(MAKE) -C '$(1)' -j '$(JOBS)'
     $(MAKE) -C '$(1)' -j 1 install
 endef
+else
+define $(PKG)_BUILD
+    '$(SED)' -i "s^[-]lvpx^`'$(MXE_PKG_CONFIG)' --libs-only-l vpx`^g;" $(1)/configure
+    cd '$(1)' && CPPFLAGS=-I$(HOST_INCDIR) LDFLAGS=-L$(HOST_LIBDIR) ./configure \
+        --prefix='$(HOST_PREFIX)' \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --disable-debug \
+        --disable-doc \
+        --enable-gpl \
+        --enable-version3 \
+        --disable-nonfree \
+        --enable-postproc \
+        --enable-avisynth \
+        --enable-libspeex \
+        --enable-libtheora \
+        --enable-libvorbis \
+        --enable-libmp3lame \
+        --enable-libxvid \
+        --enable-libopencore-amrnb \
+        --enable-libopencore-amrwb \
+        --enable-libx264 \
+        --enable-libvpx
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install
+endef
+
+endif
--- a/src/fftw.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/fftw.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,17 +3,27 @@
 
 PKG             := fftw
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 11487180928d05746d431ebe7a176b52fe205cf9
+$(PKG)_VERSION  := 3.3.8
+$(PKG)_CHECKSUM := 59831bd4b2705381ee395e54aa6e0069b10c3626
 $(PKG)_SUBDIR   := fftw-$($(PKG)_VERSION)
 $(PKG)_FILE     := fftw-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://www.fftw.org/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
+$(PKG)_CONFIG_OPTS :=
+
 ifeq ($(MXE_SYSTEM),msvc)
     $(PKG)_HAVE_LONG_DOUBLE := false
 else
     $(PKG)_HAVE_LONG_DOUBLE := true
-    $(PKG)_CONFIG_OPTS := --with-our-malloc
+    $(PKG)_CONFIG_OPTS += --with-our-malloc
+endif
+
+# some suggested mingw fftw settings from www.fftw.org
+ifeq ($(MXE_SYSTEM),mingw)
+    $(PKG)_CONFIG_OPTS += \
+      --with-combined-threads \
+      --with-incoming-stack-boundary=2
 endif
 
 define $(PKG)_UPDATE
@@ -28,6 +38,8 @@
     if [ $(MXE_SYSTEM) = msvc ]; then \
         $(SED) -i -e 's,-lm\>,,' '$(1)/fftw.pc.in'; \
     fi
+
+    # default is double
     cd '$(1)' && ./configure \
         F77=$(MXE_F77) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
@@ -36,9 +48,9 @@
         --enable-threads \
         --enable-sse2 \
         $($(PKG)_CONFIG_OPTS) \
-        --enable-double && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
-    $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
+        && $(CONFIGURE_POST_HOOK)
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS)
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS)  DESTDIR='$(3)'
 
     if $($(PKG)_HAVE_LONG_DOUBLE); then \
         cd '$(1)' && ./configure \
@@ -50,8 +62,8 @@
             --enable-sse2 \
             $($(PKG)_CONFIG_OPTS) \
             --enable-long-double && $(CONFIGURE_POST_HOOK) ; \
-        $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= ; \
-        $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)' ; \
+        $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS) ; \
+        $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)' ; \
     fi
 
     cd '$(1)' && ./configure \
@@ -63,6 +75,6 @@
         --enable-sse2 \
         $($(PKG)_CONFIG_OPTS) \
         --enable-float && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
-    $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS) 
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
 endef
--- a/src/file.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/file.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := file
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.11
 $(PKG)_CHECKSUM := df8ffe8759ec8cd85a98dc98e858563ea2555f64
 $(PKG)_SUBDIR   := file-$($(PKG)_VERSION)
 $(PKG)_FILE     := file-$($(PKG)_VERSION).tar.gz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/fixesproto.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := fixesproto
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.0
+$(PKG)_CHECKSUM := ab605af5da8c98c0c2f8b2c578fed7c864ee996a
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/proto/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- a/src/flac-1-win32.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-diff -ru flac-1.2.1.orig/include/share/alloc.h flac-1.2.1/include/share/alloc.h
---- flac-1.2.1.orig/include/share/alloc.h       2007-09-12 07:32:21.000000000 +0200
-+++ flac-1.2.1/include/share/alloc.h    2009-10-27 19:55:58.000000000 +0100
-@@ -35,7 +35,7 @@
- 
- #ifndef SIZE_MAX
- # ifndef SIZE_T_MAX
--#  ifdef _MSC_VER
-+#  if defined _MSC_VER || defined __MINGW32__
- #   define SIZE_T_MAX UINT_MAX
- #  else
- #   error
--- a/src/flac-2-lwsock32.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-diff -urN flac-1.2.1.orig/src/libFLAC/flac.pc.in flac-1.2.1/src/libFLAC/flac.pc.in
---- flac-1.2.1.orig/src/libFLAC/flac.pc.in	2007-02-07 12:07:32.000000000 +1100
-+++ flac-1.2.1/src/libFLAC/flac.pc.in	2010-10-07 14:57:17.000000000 +1100
-@@ -6,5 +6,5 @@
- Name: FLAC
- Description: Free Lossless Audio Codec Library
- Version: @VERSION@
--Libs: -L${libdir} -lFLAC -lm
-+Libs: -L${libdir} -lFLAC -lm -lwsock32
- Cflags: -I${includedir}/FLAC
-diff -urN flac-1.2.1.orig/src/libFLAC++/flac++.pc.in flac-1.2.1/src/libFLAC++/flac++.pc.in
---- flac-1.2.1.orig/src/libFLAC++/flac++.pc.in	2007-02-07 12:07:32.000000000 +1100
-+++ flac-1.2.1/src/libFLAC++/flac++.pc.in	2010-10-07 14:57:36.000000000 +1100
-@@ -7,5 +7,5 @@
- Description: Free Lossless Audio Codec Library (C++ API)
- Version: @VERSION@
- Requires: flac
--Libs: -L${libdir} -lFLAC++ -lm
-+Libs: -L${libdir} -lFLAC++ -lm -lwsock32
- Cflags: -I${includedir}/FLAC++
--- a/src/flac.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/flac.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,30 +3,32 @@
 
 PKG             := flac
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := bd54354900181b59db3089347cc84ad81e410b38
+$(PKG)_VERSION  := 1.3.3
+$(PKG)_CHECKSUM := 6ac2e8f1dd18c9b0214c4d81bd70cdc1e943cffe
 $(PKG)_SUBDIR   := flac-$($(PKG)_VERSION)
-$(PKG)_FILE     := flac-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/flac/flac-src/flac-$($(PKG)_VERSION)-src/$($(PKG)_FILE)
+$(PKG)_FILE     := flac-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL      := http://downloads.xiph.org/releases/flac/$($(PKG)_FILE)
+
 $(PKG)_DEPS     := libiconv ogg
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://flac.cvs.sourceforge.net/viewvc/flac/flac/' | \
-    grep '<option>FLAC_RELEASE_' | \
-    $(SED) -n 's,.*FLAC_RELEASE_\([0-9][0-9_]*\)__.*,\1,p' | \
-    $(SED) 's,_,.,g' | \
-    head -1
+    $(WGET) -q -O- 'http://downloads.xiph.org/releases/flac/' | \
+    grep 'flac-' | \
+    $(SED) -n 's,.*flac-\([0-9][^>]*\)\.tar.*,\1,p' | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
+	$(CONFIGURE_LDFLAGS) $(CONFIGURE_CPPFLAGS) \
         --prefix='$(HOST_PREFIX)' \
         --disable-doxygen-docs \
         --disable-xmms-plugin \
         --enable-cpplibs \
         --enable-ogg \
         --disable-oggtest
-    $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
-    $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) VERBOSE=1
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
 endef
--- a/src/fltk-1-darwin-cross-compile.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-This patch has been taken from:
-
-
-diff -ur fltk-1.3.x-r8659.orig/configure.in fltk-1.3.x-r8659/configure.in
---- fltk-1.3.x-r8659.orig/configure.in	2011-03-07 03:54:58.000000000 +1100
-+++ fltk-1.3.x-r8659/configure.in	2011-05-24 22:11:40.000000000 +1000
-@@ -25,7 +25,7 @@
- AC_INIT(src/Fl.cxx)
- 
- dnl So --with-archflags option is used during "checking size of long"
--if test `uname` = Darwin; then
-+if test `uname` = Darwin && test "x$cross_compiling" = xno ; then
-   if test "x$with_archflags" != x ; then
-     CFLAGS="$CFLAGS $with_archflags"
-   fi
--- a/src/fltk.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/fltk.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,23 +3,29 @@
 
 PKG             := fltk
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 717242e8aa118020cc05aa788015a2933895b99c
+$(PKG)_VERSION  := 1.3.5
+$(PKG)_CHECKSUM := d0ea44a68a9424d9e7d1ff9985d9c510b9ee2b75
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $($(PKG)_SUBDIR)-source.tar.gz
 $(PKG)_URL      := http://fltk.org/pub/fltk/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS     := zlib jpeg libpng
 ifeq ($(MXE_SYSTEM),mingw)
-  $(PKG)_DEPS   := zlib jpeg libpng pthreads uuid
+  $(PKG)_DEPS   += pthreads uuid
+else ifeq ($(MXE_SYSTEM),msvc)
+  $(PKG)_DEPS   += freetype
 else
-ifeq ($(MXE_SYSTEM),msvc)
-  $(PKG)_DEPS   := zlib jpeg libpng freetype
-else
-  $(PKG)_DEPS   := zlib jpeg libpng pthreads freetype
+  $(PKG)_DEPS   += pthreads freetype
+  ifeq ($(USE_SYSTEM_X11_LIBS),no)
+    $(PKG)_DEPS += x11 xcursor xext xrender xdmcp
+  endif
 endif
+ifeq ($(USE_SYSTEM_OPENGL),no)
+  $(PKG)_DEPS += mesa glu
 endif
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://www.fltk.org/' | \
-    $(SED) -n 's,.*>v\([0-9][^<]*\)<.*,\1,p' | \
+    $(SED) -n 's,.*>\([0-9][^<]*\)<.*,\1,p' | \
     grep -v '^1\.1\.' | \
     head -1
 endef
@@ -42,7 +48,7 @@
         --enable-threads
 ##        LIBS='-lws2_32'
     # enable exceptions, because disabling them doesn't make any sense on PCs
-    $(SED) -i 's,-fno-exceptions,,' '$(1)/makeinclude'
+    $(SED) -i 's/-fno-exceptions//; s/-Wl,-gc-sections//; s/-fvisibility=hidden//' '$(1)/makeinclude'
     $(MAKE) -C '$(1)' -j '$(JOBS)' install \
         DIRS=src \
         LIBCOMMAND='$(MXE_AR) cr' \
--- a/src/fontconfig-1.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-diff -ur fontconfig-2.10.93-orig/Makefile.in fontconfig-2.10.93/Makefile.in
---- fontconfig-2.10.93-orig/Makefile.in	2013-05-20 04:44:34 -0400
-+++ fontconfig-2.10.93/Makefile.in	2013-11-08 13:54:43 -0500
-@@ -977,7 +977,7 @@
- 	mv $@.tmp $@
- 
- install-data-local: fonts.conf
--	$(mkinstalldirs) $(DESTDIR)$(baseconfigdir) $(DESTDIR)$(fc_cachedir)
-+	$(mkinstalldirs) $(DESTDIR)$(baseconfigdir) #$(DESTDIR)$(fc_cachedir)
- 	if [ -f $(DESTDIR)$(baseconfigdir)/fonts.conf ]; then \
- 	  echo "backing up existing $(DESTDIR)$(baseconfigdir)/fonts.conf"; \
- 	  mv $(DESTDIR)$(baseconfigdir)/fonts.conf $(DESTDIR)$(baseconfigdir)/fonts.conf.bak; \
--- a/src/fontconfig.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/fontconfig.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,11 +3,15 @@
 
 PKG             := fontconfig
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 78a87be2a59b0c803bfd69cdafc85cbc31381d3a
+$(PKG)_VERSION  := 2.13.1
+$(PKG)_CHECKSUM := 75612356ef4f801735b49baf987f8942b4a7a5e1
 $(PKG)_SUBDIR   := fontconfig-$($(PKG)_VERSION)
 $(PKG)_FILE     := fontconfig-$($(PKG)_VERSION).tar.bz2
 $(PKG)_URL      := http://fontconfig.org/release/$($(PKG)_FILE)
-$(PKG)_DEPS     := freetype expat
+$(PKG)_DEPS     := freetype expat gettext libiconv
+ifeq ($(MXE_WINDOWS_BUILD),no)
+  $(PKG)_DEPS += util-linux
+endif
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://fontconfig.org/release/' | \
@@ -16,6 +20,7 @@
 endef
 
 define $(PKG)_BUILD
+    cd '$(1)' && autoreconf -fi
     cd '$(1)' && ./configure \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         FREETYPE_CFLAGS='-I$(HOST_INCDIR)/freetype2' \
@@ -26,6 +31,11 @@
         --with-arch='$(TARGET)' \
         --disable-docs \
         --with-expat='$(HOST_PREFIX)' && $(CONFIGURE_POST_HOOK)
+
     $(MAKE) -C '$(1)' -j '$(JOBS)' sbin_PROGRAMS= noinst_PROGRAMS=
-    $(MAKE) -C '$(1)' -j 1 install sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
+
+    $(MAKE) -C '$(1)' -j 1 fonts.conf
+    $(SED) -i "\|^.*<cachedir>$(HOST_PREFIX).*$$|d" $(1)/fonts.conf
+
+    $(MAKE) -C '$(1)' -j 1 install sbin_PROGRAMS= noinst_PROGRAMS=
 endef
--- a/src/freeglut.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/freeglut.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := freeglut
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.8.0
 $(PKG)_CHECKSUM := 4debbe559c6c9841ce1abaddc9d461d17c6083b1
 $(PKG)_SUBDIR   := freeglut-$(word 1,$(subst -, ,$($(PKG)_VERSION)))
 $(PKG)_FILE     := freeglut-$($(PKG)_VERSION).tar.gz
--- a/src/freeimage.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/freeimage.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := freeimage
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.15.4
 $(PKG)_CHECKSUM := 1d30057a127b2016cf9b4f0f8f2ba92547670f96
 $(PKG)_SUBDIR   := FreeImage
 $(PKG)_FILE     := FreeImage$(subst .,,$($(PKG)_VERSION)).zip
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/freeimage/files/Source Distribution/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- a/src/freetds.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/freetds.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,22 +3,23 @@
 
 PKG             := freetds
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 3ab06c8e208e82197dc25d09ae353d9f3be7db52
+$(PKG)_VERSION  := 1.2.5
+$(PKG)_CHECKSUM := 50b326d67ca88269d95c129bac5ea5c6f11fee91
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
-$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
 $(PKG)_URL      := ftp://ftp.freetds.org/pub/$(PKG)/stable/$($(PKG)_FILE)
 $(PKG)_DEPS     := libiconv gnutls
 
+$(PKG)_CONFIG_OPTS :=
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+    $(PKG)_CONFIG_OPTS += --disable-threadsafe
+endif
+
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package freetds.' >&2;
-    echo $(freetds_VERSION)
-endef
-define $(PKG)_UPDATE_orig
-    $(WGET) -q -O- 'http://freetds.cvs.sourceforge.net/viewvc/freetds/freetds/' | \
-    grep '<option>R' | \
-    $(SED) -n 's,.*R\([0-9][0-9_]*\)<.*,\1,p' | \
-    $(SED) 's,_,.,g' | \
-    head -1
+    $(WGET) -q -O- 'ftp://ftp.freetds.org/pub/freetds/stable/' | \
+    $(SED) -n 's,.*freetds-\([0-9.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
@@ -29,13 +30,13 @@
         --disable-rpath \
         --disable-dependency-tracking \
         $(ENABLE_SHARED_OR_STATIC) \
+        $($(PKG)_CONFIG_OPTS) \
         --enable-libiconv \
         --enable-msdblib \
         --enable-sspi \
-        --disable-threadsafe \
         --with-tdsver=7.2 \
         --with-gnutls \
         $($(PKG)_CONFIG_OPTS) \
         PKG_CONFIG='$(MXE_PKG_CONFIG)'
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install man_MANS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_DOCS) TARGET_DOCDIR='$(1)' DESTDIR='$(3)'
 endef
--- a/src/freetype.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/freetype.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,16 @@
 
 PKG             := freetype
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 73b2c28fcaf1ff5b8beef3af4c5abe4cb1ecb7dc
+$(PKG)_VERSION  := 2.10.2
+$(PKG)_CHECKSUM := b074d5c34dc0e3cc150be6e7aa6b07c9ec4ed875
 $(PKG)_SUBDIR   := freetype-$($(PKG)_VERSION)
-$(PKG)_FILE     := freetype-$($(PKG)_VERSION).tar.bz2
-$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/freetype/freetype2/$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_DEPS     := zlib
+$(PKG)_FILE     := freetype-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL      := https://$(SOURCEFORGE_MIRROR)/project/freetype/freetype2/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS     := libpng zlib bzip2
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/freetype/files/freetype2/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
@@ -20,7 +21,8 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' 
+    $(MAKE) -C '$(1)' -j 1 install DESTDIR='$(3)'
 
     rm -f '$(3)$(HOST_LIBDIR)/libfreetype.la'
 endef
--- a/src/fribidi-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-From c4dc7b368af33821eca1be8a4ec88929b44f3d06 Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Tue, 17 Jul 2012 10:07:07 +0200
-Subject: [PATCH] only include glib.h
-
-
-diff --git a/charset/fribidi-char-sets.c b/charset/fribidi-char-sets.c
-index 5d45e74..e596dee 100644
---- a/charset/fribidi-char-sets.c
-+++ b/charset/fribidi-char-sets.c
-@@ -114,7 +114,7 @@ static FriBidiCharSetHandler char_sets[FRIBIDI_CHAR_SETS_NUM + 1] = {
- };
- 
- #if FRIBIDI_USE_GLIB+0
--# include <glib/gstrfuncs.h>
-+# include <glib.h>
- # define fribidi_strcasecmp g_ascii_strcasecmp
- #else /* !FRIBIDI_USE_GLIB */
- static char
-diff --git a/lib/mem.h b/lib/mem.h
-index c875e0b..031fcc3 100644
---- a/lib/mem.h
-+++ b/lib/mem.h
-@@ -42,7 +42,7 @@
- #if FRIBIDI_USE_GLIB+0
- 
- #ifndef __FRIBIDI_DOC
--# include <glib/gmem.h>
-+# include <glib.h>
- #endif /* !__FRIBIDI_DOC */
- 
- #define FriBidiMemChunk GMemChunk
--- 
-1.7.10.4
-
--- a/src/fribidi.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/fribidi.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,16 @@
 
 PKG             := fribidi
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 23d1adf1e929a3fb159345d509918ad109e925ad
+$(PKG)_VERSION  := 1.0.10
+$(PKG)_CHECKSUM := e22d6cf070966d2735b8e1a6d961a87f1e828a99
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
-$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
-$(PKG)_URL      := http://fribidi.org/download/$($(PKG)_FILE)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL      := https://github.com/fribidi/fribidi/releases/download/v$($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_DEPS     := glib
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://fribidi.org/download/?C=M;O=D' | \
-    $(SED) -n 's,.*<a href="fribidi-\([0-9][^"]*\)\.tar.*,\1,p' | \
+    $(WGET) -q -O- https://github.com/fribidi/fribidi/tags | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | \
     head -1
 endef
 
@@ -25,5 +26,5 @@
         --disable-deprecated \
         --enable-charsets \
         --with-glib
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= dist_man_MANS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
 endef
--- a/src/ftgl.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/ftgl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := ftgl
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.1.3~rc5
 $(PKG)_CHECKSUM := 8508f26c84001d7bc949246affa03744fa1fd22e
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$(subst ~,-,$($(PKG)_VERSION)).tar.bz2
--- a/src/gc.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gc.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := gc
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 7.2d
 $(PKG)_CHECKSUM := b43573800e27361da78f05a2e98394521cfa04fc
 $(PKG)_SUBDIR   := $(PKG)-7.2
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -10,11 +11,8 @@
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/?C=M;O=D' | \
-    grep '<a href="gc-' | \
-    $(SED) -n 's,.*<a href="gc-\([0-9][^"]*\)\.tar.*,\1,p' | \
-    grep -v 'alpha' | \
-    head -1
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
 endef
 
 define $(PKG)_BUILD
--- a/src/gcab.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gcab.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := gcab
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.4
 $(PKG)_CHECKSUM := d81dfe35125e611e3a94c0d4def37ebf62b9187c
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
@@ -10,9 +11,8 @@
 $(PKG)_DEPS     := glib zlib intltool
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/$(PKG)/refs/tags' | \
-    $(SED) -n "s,.*tag/?id=\([0-9]\+\.[0-9]*[02468]\.[^']*\).*,\1,p" | \
-    head -1
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
 endef
 
 define $(PKG)_BUILD
--- a/src/gcc-1-mingw-float.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-This patch has been taken from:
-http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00387.html
-http://sourceforge.net/tracker/?func=detail&atid=302435&aid=3011968&group_id=2435
-
-diff -urN a/gcc/ginclude/float.h b/gcc/ginclude/float.h
---- a/gcc/ginclude/float.h	2009-04-09 17:00:19.000000000 +0200
-+++ b/gcc/ginclude/float.h	2010-06-05 12:03:41.887724045 +0200
-@@ -275,3 +275,7 @@
- #endif /* __STDC_WANT_DEC_FP__ */
- 
- #endif /* _FLOAT_H___ */
-+
-+#ifdef __MINGW32__
-+#include_next<float.h>
-+#endif
--- a/src/gcc-2-darwin-no-pie.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-MXE specific workaround for OSX Lion's new ASLR
-causing problems with pre-compiled headers.
-
-1. more recent native compilers don't solve the problem
-2. there isn't an equivalent sysctl for "kernel.randomize_va_space"
-3. there isn't an equivalent command for "setarch -R"
-4. Apple's version of gcc (based on 4.2) uses custom Makefiles that set "-fno-pic"
-
-Patch below achieves a similar result to 4, without drifting
-too far from standard gcc.
-
---- a/configure
-+++ b/configure
-@@ -30,6 +30,11 @@ else
- esac
- fi
- 
-+case `uname -sr` in
-+  Darwin*11*)
-+    LDFLAGS="$LDFLAGS -Wl,-no_pie"
-+  ;;
-+esac
- 
- as_nl='
- '
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/gcc-cloog.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := gcc-cloog
+$(PKG)_IGNORE   := 
+$(PKG)_VERSION  := 0.18.4
+$(PKG)_CHECKSUM := 8f7568ca1873f8d55bb694c8b9b83f7f4c6c1aa5
+$(PKG)_SUBDIR   := cloog-$($(PKG)_VERSION)
+$(PKG)_FILE     := cloog-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://www.bastoul.net/cloog/pages/download/$($(PKG)_FILE)
+$(PKG)_DEPS     := gcc-gmp gcc-isl
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $(cloog_VERSION)
+endef
+
+define $(PKG)_BUILD
+    mkdir '$(1).build'
+    cd    '$(1).build' && '$(1)/configure' \
+        --prefix='$(BUILD_TOOLS_PREFIX)' \
+        --disable-shared \
+        --with-gmp-prefix='$(BUILD_TOOLS_PREFIX)' \
+        --with-isl-prefix='$(BUILD_TOOLS_PREFIX)'
+    $(MAKE) -C '$(1).build' -j '$(JOBS)'
+    $(MAKE) -C '$(1).build' -j 1 install
+endef
--- a/src/gcc-gmp.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gcc-gmp.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -2,14 +2,25 @@
 # See index.html for further information.
 
 PKG             := gcc-gmp
-$(PKG)_IGNORE    = $(gmp_IGNORE)
-$(PKG)_CHECKSUM  = $(gmp_CHECKSUM)
-$(PKG)_SUBDIR    = $(gmp_SUBDIR)
-$(PKG)_FILE      = $(gmp_FILE)
-$(PKG)_URL       = $(gmp_URL)
-$(PKG)_URL_2     = $(gmp_URL_2)
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 6.2.0
+$(PKG)_CHECKSUM := 5e9341d3807bc7505376f9ed9f5c1c6c57050aa6
+$(PKG)_SUBDIR   := gmp-$($(PKG)_VERSION)
+$(PKG)_FILE     := gmp-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := https://gmplib.org/download/gmp/$($(PKG)_FILE)
+$(PKG)_URL_2    := ftp://ftp.cs.tu-berlin.de/pub/gnu/$(PKG)/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
     echo $(gmp_VERSION)
 endef
+
+define $(PKG)_BUILD
+    mkdir '$(1).build'
+    cd    '$(1).build' && '$(1)/configure' \
+        --prefix='$(BUILD_TOOLS_PREFIX)' \
+        --disable-shared
+    $(MAKE) -C '$(1).build' -j '$(JOBS)'
+    $(MAKE) -C '$(1).build' -j 1 install
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/gcc-isl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,26 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := gcc-isl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.22.1
+$(PKG)_CHECKSUM := 125303d52bd6226f80d23bf1f76b78c6f1115568
+$(PKG)_SUBDIR   := isl-$($(PKG)_VERSION)
+$(PKG)_FILE     := isl-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL      := http://isl.gforge.inria.fr/$($(PKG)_FILE)
+$(PKG)_DEPS     := gcc-gmp
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $(isl_VERSION)
+endef
+
+define $(PKG)_BUILD
+    mkdir '$(1).build'
+    cd    '$(1).build' && '$(1)/configure' \
+        --prefix='$(BUILD_TOOLS_PREFIX)' \
+        --disable-shared \
+        --with-gmp-prefix='$(BUILD_TOOLS_PREFIX)'
+    $(MAKE) -C '$(1).build' -j '$(JOBS)'
+    $(MAKE) -C '$(1).build' -j 1 install
+endef
--- a/src/gcc-mpc.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gcc-mpc.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,24 @@
 
 PKG             := gcc-mpc
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 8c7e19ad0dd9b3b5cc652273403423d6cf0c5edf
+$(PKG)_VERSION  := 1.1.0
+$(PKG)_CHECKSUM := b019d9e1d27ec5fb99497159d43a3164995de2d0
 $(PKG)_SUBDIR   := mpc-$($(PKG)_VERSION)
 $(PKG)_FILE     := mpc-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://www.multiprecision.org/mpc/download/$($(PKG)_FILE)
-$(PKG)_URL_2    := http://ftp.debian.org/debian/pool/main/m/mpclib/mpclib_$($(PKG)_VERSION).orig.tar.gz
-$(PKG)_DEPS     :=
+$(PKG)_URL      := https://ftp.gnu.org/gnu/mpc/$($(PKG)_FILE)
+$(PKG)_DEPS     := gcc-gmp gcc-mpfr
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'https://gforge.inria.fr/scm/viewvc.php/tags/?root=mpc&sortby=date' | \
-    $(SED) -n 's,.*<a name="\([0-9][^"]*\)".*,\1,p' | \
-    head -1
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $(mpc_VERSION)
 endef
+
+define $(PKG)_BUILD
+    mkdir '$(1).build'
+    cd    '$(1).build' && '$(1)/configure' \
+        --prefix='$(BUILD_TOOLS_PREFIX)' \
+        --disable-shared \
+        --with-gmp='$(BUILD_TOOLS_PREFIX)'
+    $(MAKE) -C '$(1).build' -j '$(JOBS)'
+    $(MAKE) -C '$(1).build' -j 1 install
+endef
--- a/src/gcc-mpfr.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gcc-mpfr.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -2,14 +2,26 @@
 # See index.html for further information.
 
 PKG             := gcc-mpfr
-$(PKG)_IGNORE    = $(mpfr_IGNORE)
-$(PKG)_CHECKSUM  = $(mpfr_CHECKSUM)
-$(PKG)_SUBDIR    = $(mpfr_SUBDIR)
-$(PKG)_FILE      = $(mpfr_FILE)
-$(PKG)_URL       = $(mpfr_URL)
-$(PKG)_URL_2     = $(mpfr_URL_2)
-$(PKG)_DEPS     :=
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.0.2
+$(PKG)_CHECKSUM := 52c1f2a4c9a202f46cf3275a8d46b562aa584208
+$(PKG)_SUBDIR   := mpfr-$($(PKG)_VERSION)
+$(PKG)_FILE     := mpfr-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL      := ftp://ftp.gnu.org/gnu/mpfr/$($(PKG)_FILE)
+$(PKG)_URL_2    := http://www.mpfr.org/mpfr-$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS     := gcc-gmp
 
 define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
     echo $(mpfr_VERSION)
 endef
+
+define $(PKG)_BUILD
+    mkdir '$(1).build'
+    cd    '$(1).build' && '$(1)/configure' \
+        --prefix='$(BUILD_TOOLS_PREFIX)' \
+        --disable-shared \
+        --with-gmp='$(BUILD_TOOLS_PREFIX)'
+    $(MAKE) -C '$(1).build' -j '$(JOBS)'
+    $(MAKE) -C '$(1).build' -j 1 install
+endef
--- a/src/gd.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gd.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := gd
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.0.35
 $(PKG)_CHECKSUM := ccf34a610abff2dbf133a20c4d2a4aa94939018a
 $(PKG)_SUBDIR   := gd-$($(PKG)_VERSION)
 $(PKG)_FILE     := gd-$($(PKG)_VERSION).tar.bz2
--- a/src/gdal.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gdal.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -2,13 +2,14 @@
 # See index.html for further information.
 
 PKG             := gdal
-$(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 7eda6a4d735b8d6903740e0acdd702b43515e351
+$(PKG)_IGNORE   :
+$(PKG)_VERSION  := 3.0.4
+$(PKG)_CHECKSUM := 5362ecafb9d06fa9d86beb1ab07b974256b13542
 $(PKG)_SUBDIR   := gdal-$($(PKG)_VERSION)
 $(PKG)_FILE     := gdal-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://download.osgeo.org/gdal/$($(PKG)_FILE)
-$(PKG)_URL_2    := ftp://ftp.remotesensing.org/gdal/$($(PKG)_FILE)
-$(PKG)_DEPS     := zlib libpng tiff libgeotiff jpeg jasper giflib expat sqlite curl geos postgresql gta
+$(PKG)_URL      := http://download.osgeo.org/gdal/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_URL_2    := ftp://ftp.remotesensing.org/gdal/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS     := zlib libpng tiff libgeotiff libiconv jpeg jasper giflib expat sqlite curl geos postgresql gta proj pcre qhull
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://trac.osgeo.org/gdal/wiki/DownloadSource' | \
@@ -17,9 +18,9 @@
 endef
 
 define $(PKG)_BUILD
-    # The option '--without-threads' means native win32 threading without pthread.
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+	$(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
         --with-bsb \
@@ -27,7 +28,6 @@
         --with-ogr \
         --with-vfk \
         --with-pam \
-        --without-threads \
         --with-libz='$(HOST_PREFIX)' \
         --with-png='$(HOST_PREFIX)' \
         --with-libtiff='$(HOST_PREFIX)' \
@@ -41,6 +41,7 @@
         --with-geos='$(HOST_BINDIR)/geos-config' \
         --with-pg='$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)pg_config' \
         --with-gta='$(HOST_PREFIX)' \
+        --with-xml2='$(HOST_BINDIR)/xml2-config' \
         --without-odbc \
         --without-static-proj4 \
         --without-xerces \
@@ -72,8 +73,8 @@
         --without-php \
         --without-ruby \
         --without-python \
-        LIBS="-ljpeg -lsecur32 `'$(MXE_PKG_CONFIG)' --libs openssl libtiff-4`"
-    $(MAKE) -C '$(1)'       -j 1 lib-target
+        LIBS="-ljpeg `'$(MXE_PKG_CONFIG)' --libs libtiff-4`"
+    $(MAKE) -C '$(1)'       -j '$(JOBS)' lib-target
     $(MAKE) -C '$(1)'       -j 1 install-lib
     $(MAKE) -C '$(1)/port'  -j 1 install
     $(MAKE) -C '$(1)/gcore' -j 1 install
@@ -81,6 +82,9 @@
     $(MAKE) -C '$(1)/alg'   -j 1 install
     $(MAKE) -C '$(1)/ogr'   -j 1 install OGR_ENABLED=
     $(MAKE) -C '$(1)/apps'  -j 1 install BIN_LIST=
+    $(MAKE) -C '$(1)'       -j 1 gdal.pc
+    $(INSTALL) -d '$(HOST_LIBDIR)/pkgconfig'
+    $(INSTALL) '$(1)/gdal.pc' '$(HOST_LIBDIR)/pkgconfig/'
     if [ $(MXE_NATIVE_BUILD) = no ]; then \
       $(INSTALL) -m755 '$(HOST_BINDIR)/gdal-config' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)gdal-config'; \
     fi
--- a/src/gdb-1-fix-shell.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-This patch has been taken from:
-http://sourceware.org/bugzilla/show_bug.cgi?id=9098
-
---- a/gdb/gdbserver/Makefile.in        2010-01-05 02:03:00.000000000 +1100
-+++ b/gdb/gdbserver/Makefile.in        2010-05-21 23:49:45.960860228 +1000
-@@ -41,7 +41,7 @@
- htmldir = $(prefix)/html
- includedir = @includedir@
-
--SHELL = /bin/sh
-+SHELL = @SHELL@
- EXEEXT = @EXEEXT@
-
- INSTALL = @INSTALL@
--- a/src/gdb.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gdb.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -2,27 +2,31 @@
 # See index.html for further information.
 
 PKG             := gdb
-$(PKG)_CHECKSUM := 79b61152813e5730fa670c89e5fc3c04b670b02c
+$(PKG)_VERSION  := 9.2
+$(PKG)_CHECKSUM := 356ee474a24bfb2f133894730916557dfea9da2e
 $(PKG)_SUBDIR   := gdb-$($(PKG)_VERSION)
-$(PKG)_FILE     := gdb-$($(PKG)_VERSION).tar.bz2
+$(PKG)_FILE     := gdb-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/$(PKG)/$($(PKG)_FILE)
-$(PKG)_URL_2    := ftp://ftp.cs.tu-berlin.de/pub/gnu/$(PKG)/$($(PKG)_FILE)
-$(PKG)_DEPS     := expat libiconv zlib
+$(PKG)_URL_2    := https://ftpmirror.gnu.org/$(PKG)/$($(PKG)_FILE)
+$(PKG)_DEPS     := expat libiconv readline zlib
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://ftp.gnu.org/gnu/gdb/?C=M;O=D' | \
     $(SED) -n 's,.*<a href="gdb-\([0-9][^"]*\)\.tar.*,\1,p' | \
-    grep -v '^7\.3a' | \
-    sort -r | \
-    head -1
+    $(SORT) -V | \
+    tail -1
 endef
 
+## Don't use --disable-static when configuring gdb as that will
+## disable building the required libbfd.a library.
+
 define $(PKG)_BUILD
-    cd '$(1)' && ./configure \
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && ../configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
+        --with-system-readline \
         CONFIG_SHELL=$(SHELL)
-    $(MAKE) -C '$(1)' -j '$(JOBS)'
-    $(MAKE) -C '$(1)' -j 1 install
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)'
+    $(MAKE) -C '$(1)/.build' -j 1 install MAKEINFO=true
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/gdcm-1-nosecapi.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,17 @@
+diff -ur gdcm-2.0.19.orig/Source/Common/gdcmException.h gdcm-2.0.19/Source/Common/gdcmException.h
+--- gdcm-2.0.19.orig/Source/Common/gdcmException.h	2014-07-26 11:45:31 -0400
++++ gdcm-2.0.19/Source/Common/gdcmException.h	2014-07-26 11:57:11 -0400
+@@ -14,6 +14,13 @@
+ #ifndef GDCMEXCEPTION_H
+ #define GDCMEXCEPTION_H
+ 
++#ifdef __MINGW32__
++  #include <_mingw.h>
++  #ifdef MINGW_HAS_SECURE_API
++    #undef MINGW_HAS_SECURE_API
++  #endif
++#endif
++
+ #include <cassert>
+ #include <cstdlib> // NULL
+ #include <exception>
--- a/src/gdcm.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gdcm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,10 +3,11 @@
 
 PKG             := gdcm
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 83b9ff0744a37b4bf8f687ed198aabea7a9dfc70
+$(PKG)_VERSION  := 3.0.8
+$(PKG)_CHECKSUM := 520d57530d20d5a0f5bb99a040cd261304902c89
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG) 2.x/GDCM $($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG) 3.x/GDCM $($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_DEPS     := expat zlib
 
 $(PKG)_CMAKE_OPTS :=
@@ -17,34 +18,48 @@
 endif
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package gdcm.' >&2;
-    echo $(gdcm_VERSION)
+    $(WGET) -q -O- 'http://sourceforge.net/projects/gdcm/files/gdcm 3.x/' | \
+    $(SED) -n 's,.*title=\"GDCM \([0-9.]*\)\".*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
 endef
 
 ifeq ($(MXE_SYSTEM),msvc)
-define $(PKG)_BUILD
-    mkdir '$(1)/../.build'
-    cd '$(1)/../.build' && cmake \
-        -G "NMake Makefiles" \
-        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)'  \
-        -DGDCM_BUILD_SHARED_LIBS:BOOL=TRUE \
-        -DGDCM_USE_SYSTEM_ZLIB:BOOL=TRUE \
-	-DGDCM_USE_SYSTEM_EXPAT:BOOL=TRUE \
-        ../$($(PKG)_SUBDIR)
-    cd '$(1)/../.build' && \
-        env -u MAKE -u MAKEFLAGS nmake && \
-        env -u MAKE -u MAKEFLAGS nmake install
-endef
+    define $(PKG)_BUILD
+        mkdir '$(1)/../.build'
+        cd '$(1)/../.build' && cmake \
+            -G "NMake Makefiles" \
+            $(CMAKE_CCACHE_FLAGS) \
+            $(CMAKE_BUILD_SHARED_OR_STATIC) \
+            -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)'  \
+            -DGDCM_BUILD_SHARED_LIBS:BOOL=TRUE \
+            -DGDCM_USE_SYSTEM_ZLIB:BOOL=TRUE \
+            -DGDCM_USE_SYSTEM_EXPAT:BOOL=TRUE \
+            -DGDCM_BUILD_TESTING:BOOL=FALSE \
+            -DGDCM_DOCUMENTATION:BOOL=FALSE \
+            -DGDCM_BUILD_DOCBOOK_MANPAGES:BOOL=FALSE \
+            ../$($(PKG)_SUBDIR)
+
+        cd '$(1)/../.build' && \
+            env -u MAKE -u MAKEFLAGS nmake && \
+            env -u MAKE -u MAKEFLAGS nmake install
+    endef
 else
-define $(PKG)_BUILD
-    mkdir '$(1)/../.build'
-    cd '$(1)/../.build' && cmake \
-        $($(PKG)_CMAKE_OPTS) \
-        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)'  \
-        -DGDCM_BUILD_SHARED_LIBS:BOOL=TRUE \
-        ../$($(PKG)_SUBDIR)
-    make -C $(1)/../.build -j $(JOBS) 
-    make -C $(1)/../.build -j 1 install
-endef
+    define $(PKG)_BUILD
+        mkdir '$(1)/../.build'
+        cd '$(1)/../.build' && cmake \
+            $($(PKG)_CMAKE_OPTS) \
+            $(CMAKE_CCACHE_FLAGS) \
+            $(CMAKE_BUILD_SHARED_OR_STATIC) \
+            -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)'  \
+            -DGDCM_BUILD_SHARED_LIBS:BOOL=TRUE \
+            -DGDCM_BUILD_TESTING:BOOL=FALSE \
+            -DGDCM_DOCUMENTATION:BOOL=FALSE \
+            -DGDCM_BUILD_DOCBOOK_MANPAGES:BOOL=FALSE \
+            ../$($(PKG)_SUBDIR)
+
+        make -C $(1)/../.build -j $(JOBS) 
+        make -C $(1)/../.build -j 1 install DESTDIR=$(3)
+    endef
 
 endif
--- a/src/gdk-pixbuf.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gdk-pixbuf.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := gdk-pixbuf
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.28.2
 $(PKG)_CHECKSUM := 9876d0a20f592f8fb2a52d4a86ec43d607661beb
 $(PKG)_SUBDIR   := gdk-pixbuf-$($(PKG)_VERSION)
 $(PKG)_FILE     := gdk-pixbuf-$($(PKG)_VERSION).tar.xz
@@ -13,11 +14,9 @@
 endif
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/gdk-pixbuf/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n 's,.*<a[^>]*>\([0-9]*\.[0-9]*[02468]\.[^<]*\)<.*,\1,p' | \
-    grep -v '^2\.9' | \
-    head -1
+    $(WGET) -q -O- 'https://github.com/GNOME/gdk-pixbuf/tags' | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 $(PKG)_EXTRA_CONFIGURE_OPTIONS :=
--- a/src/geos.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/geos.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := geos
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 791e2b36a9a6114c7f213fae3fc995960c35a428
+$(PKG)_VERSION  := 3.8.1
+$(PKG)_CHECKSUM := dbd165752dd4c48d81a84aa51c99d04410d96c67
 $(PKG)_SUBDIR   := geos-$($(PKG)_VERSION)
 $(PKG)_FILE     := geos-$($(PKG)_VERSION).tar.bz2
 $(PKG)_URL      := http://download.osgeo.org/geos/$($(PKG)_FILE)
@@ -11,9 +12,9 @@
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://geos.refractions.net/' | \
+    $(WGET) -q -O- 'http://download.osgeo.org/geos/?C=M&O=A' | \
     $(SED) -n 's,.*geos-\([0-9][^>]*\)\.tar.*,\1,p' | \
-    head -1
+    tail -1
 endef
 
 define $(PKG)_BUILD
@@ -21,10 +22,6 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)'
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
-
-    '$(MXE_CC)' \
-        -W -Wall -Werror -ansi -pedantic \
-        '$(2).c' -o '$(HOST_BINDIR)/test-geos.exe' \
-        -lgeos_c `'$(HOST_BINDIR)/geos-config' --cflags --libs` -lstdc++
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS)
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/gettext-1.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,79 @@
+# This file is part of MXE. See LICENSE.md for licensing information.
+
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Sat, 18 May 2019 18:01:31 +0200
+Subject: [PATCH 1/1] build: Avoid trouble on mingw caused by mingw's *printf
+ functions.
+
+Reported by Michele Locati <michele@locati.it>
+in <https://lists.gnu.org/archive/html/bug-gettext/2019-05/msg00103.html>.
+
+* gettext-runtime/intl/Makefile.am (AM_CPPFLAGS): Define __USE_MINGW_ANSI_STDIO
+to 0.
+* gettext-runtime/libasprintf/Makefile.am (DEFS): Likewise.
+* libtextstyle/lib/Makefile.am (AM_CPPFLAGS): Likewise.
+
+(cherry picked from commit 45500ab1765581d6a3b7d2e6a6c2595466de70af)
+
+diff --git a/gettext-runtime/intl/Makefile.am b/gettext-runtime/intl/Makefile.am
+index 1111111..2222222 100644
+--- a/gettext-runtime/intl/Makefile.am
++++ b/gettext-runtime/intl/Makefile.am
+@@ -61,6 +61,15 @@ if WOE32
+ AM_CPPFLAGS += -D__USE_MINGW_ANSI_STDIO=0
+ endif
+ 
++if WOE32
++# On mingw, disable the declarations of *printf functions as aliases to the
++# corresponding __mingw_*printf functions, because
++# - these functions are useless for i18n purposes (not POSIX/XSI compliant),
++# - they pull in a dependency to the libgcc_s_sjlj DLL (through the symbols
++#   __udivdi3, __umoddi3).
++AM_CPPFLAGS += -D__USE_MINGW_ANSI_STDIO=0
++endif
++
+ # Parametrization of the 'relocatable-lib-lgpl' module.
+ AM_CPPFLAGS += \
+   -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \
+diff --git a/gettext-runtime/libasprintf/Makefile.am b/gettext-runtime/libasprintf/Makefile.am
+index 1111111..2222222 100644
+--- a/gettext-runtime/libasprintf/Makefile.am
++++ b/gettext-runtime/libasprintf/Makefile.am
+@@ -35,6 +35,17 @@ if WOE32
+ DEFS += -D__USE_MINGW_ANSI_STDIO=0
+ endif
+ 
++DEFS = -DIN_LIBASPRINTF @DEFS@
++
++if WOE32
++# On mingw, disable the declarations of *printf functions as aliases to the
++# corresponding __mingw_*printf functions, because
++# - these functions are useless for i18n purposes (not POSIX/XSI compliant),
++# - they pull in a dependency to the libgcc_s_sjlj DLL (through the symbols
++#   __udivdi3, __umoddi3).
++DEFS += -D__USE_MINGW_ANSI_STDIO=0
++endif
++
+ 
+ # Library include file.
+ 
+diff --git a/libtextstyle/lib/Makefile.am b/libtextstyle/lib/Makefile.am
+index 1111111..2222222 100644
+--- a/libtextstyle/lib/Makefile.am
++++ b/libtextstyle/lib/Makefile.am
+@@ -56,6 +56,13 @@ if WOE32
+ AM_CPPFLAGS += -D__USE_MINGW_ANSI_STDIO=0
+ endif
+ 
++if WOE32
++# On mingw, disable the declarations of *printf functions as aliases to the
++# corresponding __mingw_*printf functions, because they pull in a dependency
++# to the libgcc_s_sjlj DLL (through the symbols __udivdi3, __umoddi3).
++AM_CPPFLAGS += -D__USE_MINGW_ANSI_STDIO=0
++endif
++
+ # Rules generated and collected by gnulib-tool.
+ include Makefile.gnulib
+ 
--- a/src/gettext.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gettext.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,18 @@
 
 PKG             := gettext
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := a32c19a6e39450748f6e56d2ac6b8b0966a5ab05
+$(PKG)_VERSION  := 0.21
+$(PKG)_CHECKSUM := e6c0a0cba5b00a604c9118403a8199c77a538526
 $(PKG)_SUBDIR   := gettext-$($(PKG)_VERSION)
 $(PKG)_FILE     := gettext-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/gettext/$($(PKG)_FILE)
 $(PKG)_DEPS     := libiconv
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.gnu.org/software/gettext/' | \
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/gettext/' | \
     grep 'gettext-' | \
     $(SED) -n 's,.*gettext-\([0-9][^>]*\)\.tar.*,\1,p' | \
+    $(SORT) -Vr | \
     head -1
 endef
 
@@ -25,18 +27,21 @@
         --without-libexpat-prefix \
         --without-libxml2-prefix \
         CONFIG_SHELL=$(SHELL) && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)/gettext-runtime' -j '$(JOBS)' install DESTDIR='$(3)'
+    $(MAKE) -C '$(1)/gettext-runtime/intl' -j '$(JOBS)' 
+    $(MAKE) -C '$(1)/gettext-runtime/intl' -j 1 $(MXE_DISABLE_DOCS) install DESTDIR='$(3)'
 
-    $(if $(filter msvc,$(MXE_SYSTEM)),
-        cd '$(1)/gettext-tools' && ./configure \
-            $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-            $(ENABLE_SHARED_OR_STATIC) \
-            --prefix='$(HOST_PREFIX)' \
-            --enable-threads=win32 \
-            --without-libexpat-prefix \
-            --without-libxml2-prefix \
-	    ac_cv_func_memset=yes \
-            CONFIG_SHELL=$(SHELL) && $(CONFIGURE_POST_HOOK)
-        $(MAKE) -C '$(1)/gettext-tools' -j '$(JOBS)' install DESTDIR='$(3)'
-    )
+    cd '$(1)/gettext-tools' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+        --enable-threads=win32 \
+        --without-libexpat-prefix \
+        --without-libxml2-prefix \
+        $(if $(filter msvc,$(MXE_SYSTEM)),ac_cv_func_memset=yes) \
+        CONFIG_SHELL=$(SHELL) && $(CONFIGURE_POST_HOOK)
+     $(MAKE) -C '$(1)/gettext-tools/intl' -j '$(JOBS)' 
+     $(MAKE) -C '$(1)/gettext-tools/intl' -j 1 install DESTDIR='$(3)' $(MXE_DISABLE_DOCS) bin_PROGRAMS=
+     if [ "$(ENABLE_DEP_DOCS)" == "no" ]; then \
+       rm -rf $(3)$(HOST_PREFIX)/share/doc/$(PKG); \
+     fi
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ghostscript-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,707 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: darealshinji <djcj@gmx.de>
+Date: Mon, 3 Dec 2018 21:05:41 +0100
+Subject: [PATCH 1/1] cross-build fixes, hide libgs symbols
+
+
+diff --git a/Makefile.in b/Makefile.in
+index 1111111..2222222 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -173,6 +173,9 @@ CAPOPT= @HAVE_MKSTEMP@ @HAVE_FILE64@ @HAVE_FSEEKO@ @HAVE_MKSTEMP64@ @HAVE_FONTCO
+ 
+ GS=@GS@
+ GS_SO_BASE=@GS@
++GS_SONAME=@GS_SONAME@
++GS_SONAME_MAJOR=@GS_SONAME_MAJOR@
++GS_SONAME_MAJOR_MINOR=@GS_SONAME_MAJOR_MINOR@
+ 
+ PCL=@PCL@
+ PCL_SO_BASE=@PCL@
+@@ -184,7 +187,7 @@ GPDL=@GPDL@
+ GPDL_SO_BASE=@GPDL@
+ 
+ XE=@EXEEXT@
+-XEAUX=@EXEEXT@
++XEAUX=@AUXEXEEXT@
+ 
+ PCL_TARGET=@PCL_TARGET@
+ XPS_TARGET=@XPS_TARGET@
+diff --git a/base/gp_unix.c b/base/gp_unix.c
+index 1111111..2222222 100644
+--- a/base/gp_unix.c
++++ b/base/gp_unix.c
+@@ -16,6 +16,9 @@
+ 
+ /* Unix-specific routines for Ghostscript */
+ 
++#ifdef __MINGW32__
++#  include "windows_.h"
++#endif
+ #include "pipe_.h"
+ #include "string_.h"
+ #include "time_.h"
+@@ -454,3 +457,54 @@ void gp_enumerate_fonts_free(void *enum_state)
+     }
+ #endif
+ }
++
++/* A function to decode the next codepoint of the supplied args from the
++ * local windows codepage, or -1 for EOF.
++ * (copied from gp_win32.c)
++ */
++
++#ifdef __MINGW32__
++int
++gp_local_arg_encoding_get_codepoint(gp_file *file, const char **astr)
++{
++    int len;
++    int c;
++    char arg[3];
++    wchar_t unicode[2];
++    char utf8[4];
++
++    if (file) {
++        c = fgetc(file);
++        if (c == EOF)
++            return EOF;
++    } else if (**astr) {
++        c = *(*astr)++;
++        if (c == 0)
++            return EOF;
++    } else {
++        return EOF;
++    }
++
++    arg[0] = c;
++    if (IsDBCSLeadByte(c)) {
++        if (file) {
++            c = fgetc(file);
++            if (c == EOF)
++                return EOF;
++        } else if (**astr) {
++            c = *(*astr)++;
++            if (c == 0)
++                return EOF;
++        }
++        arg[1] = c;
++        len = 2;
++    } else {
++        len = 1;
++    }
++
++    /* Convert the string (unterminated in, unterminated out) */
++    len = MultiByteToWideChar(CP_ACP, 0, arg, len, unicode, 2);
++
++    return unicode[0];
++}
++#endif /* __MINGW32__ */
+diff --git a/base/unix-aux.mak b/base/unix-aux.mak
+index 1111111..2222222 100644
+--- a/base/unix-aux.mak
++++ b/base/unix-aux.mak
+@@ -57,23 +57,29 @@ $(AUX)gp_stdia.$(OBJ): $(GLSRC)gp_stdia.c $(AK)\
+ # -------------------------- Auxiliary programs --------------------------- #
+ 
+ $(ECHOGS_XE): $(GLSRC)echogs.c $(AK) $(stdpre_h) $(UNIX_AUX_MAK) $(MAKEDIRS)
++	test -e $(ECHOGS_XE) || \
+ 	$(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(ECHOGS_XE) $(GLSRC)echogs.c $(AUXEXTRALIBS)
+ 
+ $(PACKPS_XE): $(GLSRC)pack_ps.c $(stdpre_h) $(UNIX_AUX_MAK) $(MAKEDIRS)
++	test -e $(PACKPS_XE) || \
+ 	$(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(PACKPS_XE) $(GLSRC)pack_ps.c $(AUXEXTRALIBS)
+ 
+ # 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) $(UNIX_AUX_MAK) $(MAKEDIRS)
++	test -e $(GENARCH_XE) || \
+ 	$(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENARCH_XE) $(GLSRC)genarch.c $(AUXEXTRALIBS)
+ 
+ $(GENCONF_XE): $(GLSRC)genconf.c $(AK) $(GENCONF_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
++	test -e $(GENCONF_XE) || \
+ 	$(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENCONF_XE) $(GLSRC)genconf.c $(AUXEXTRALIBS)
+ 
+ $(GENDEV_XE): $(GLSRC)gendev.c $(AK) $(GENDEV_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
++	test -e $(GENDEV_XE) || \
+ 	$(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENDEV_XE) $(GLSRC)gendev.c $(AUXEXTRALIBS)
+ 
+ $(GENHT_XE): $(GLSRC)genht.c $(AK) $(GENHT_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
++	test -e $(GENHT_XE) || \
+ 	$(CCAUX_) $(GENHT_CFLAGS) $(O_)$(GENHT_XE) $(GLSRC)genht.c $(AUXEXTRALIBS)
+ 
+ # To get GS to use the system zlib, you remove/hide the gs/zlib directory
+@@ -84,6 +90,7 @@ MKROMFS_OBJS_0=$(MKROMFS_ZLIB_OBJS) $(AUX)gpmisc.$(OBJ) $(AUX)gp_getnv.$(OBJ) \
+  $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ) $(AUX)memento.$(OBJ)
+ 
+ $(MKROMFS_XE)_0: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_0) $(UNIX_AUX_MAK) $(MAKEDIRS)
++	test -e $(MKROMFS_XE)_0 || \
+ 	$(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_0 $(MKROMFS_OBJS_0) $(AUXEXTRALIBS)
+ 
+ # .... and one using the zlib library linked via the command line
+@@ -93,9 +100,11 @@ MKROMFS_OBJS_1=$(AUX)gscdefs.$(OBJ) \
+  $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ)
+ 
+ $(MKROMFS_XE)_1: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_1) $(UNIX_AUX_MAK) $(MAKEDIRS)
++	test -e $(MKROMFS_XE)_1 || \
+ 	$(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_1 $(MKROMFS_OBJS_1) $(AUXEXTRALIBS)
+ 
+ $(MKROMFS_XE): $(MKROMFS_XE)_$(SHARE_ZLIB) $(UNIX_AUX_MAK) $(MAKEDIRS)
++	test -e $(MKROMFS_XE) || \
+ 	$(CP_) $(MKROMFS_XE)_$(SHARE_ZLIB) $(MKROMFS_XE)
+ 
+ # Query the environment to construct gconfig_.h.
+diff --git a/base/unix-dll.mak b/base/unix-dll.mak
+index 1111111..2222222 100644
+--- a/base/unix-dll.mak
++++ b/base/unix-dll.mak
+@@ -66,9 +66,6 @@ GPDL_SONAME_BASE=lib$(GPDL_SO_BASE)
+ GS_SOEXT=$(SO_LIB_EXT)
+ GS_DLLEXT=$(DLL_EXT)
+ 
+-GS_SONAME=$(GS_SONAME_BASE)$(GS_SOEXT)$(GS_DLLEXT)
+-GS_SONAME_MAJOR=$(GS_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(GS_DLLEXT)
+-GS_SONAME_MAJOR_MINOR=$(GS_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MINOR)$(GS_DLLEXT)
+ 
+ PCL_SONAME=$(PCL_SONAME_BASE)$(GS_SOEXT)$(GS_DLLEXT)
+ PCL_SONAME_MAJOR=$(PCL_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(GS_DLLEXT)
+diff --git a/configure.ac b/configure.ac
+index 1111111..2222222 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -23,6 +23,7 @@ AC_INIT
+ AC_PREREQ(2.63)
+ AC_LANG(C)
+ AC_CONFIG_SRCDIR(psi/gs.c)
++AC_CANONICAL_HOST
+ 
+ dnl Inherit compiler flags from the environment...
+ CFLAGS="${CFLAGS:=}"
+@@ -125,8 +126,11 @@ AUXEXTRALIBSTMP="\$(EXTRALIBS)"
+ 
+ # purposefully do not include "help" output for this
+ AC_ARG_ENABLE([save_confaux])
++AC_ARG_ENABLE([auxtools_only])
+ 
+-if test x"$CCAUX" != x"" ; then
++absolute_source_path=$(cd "$(dirname "$0")" && pwd)
++
++if test x"$host" != x"$build" ; then
+   # rerun configure for the AUX tools, disabling a load of tests not relevant for CCAUX
+   olddir=`pwd`
+   if test x"$enable_save_confaux" = x"yes"; then
+@@ -146,9 +150,10 @@ if test x"$CCAUX" != x"" ; then
+   echo $AUXFLAGS_MAK_LINE06 >> $AUXFLAGS_MAK.in
+   echo $AUXFLAGS_MAK_LINE07 >> $AUXFLAGS_MAK.in
+ 
+-  ../$0 CC="$CCAUX" CFLAGS="$CFLAGSAUX" LDFLAGS="$LDFLAGSAUX" CCAUX= CFLAGSAUX= CFLAGSAUX= MAKEFILE=$AUXFLAGS_MAK --host= --build= --without-libtiff --disable-contrib --disable-fontconfig --disable-dbus --disable-freetype --disable-fapi --disable-cups --disable-openjpeg --disable-gtk --with-libiconv=no --without-libidn --without-libpaper --without-pdftoraster --without-ijs --without-luratech --without-jbig2dec --without-x --with-drivers=""
++  AC_MSG_NOTICE([Begin recursive call to configure script (for auxiliary tools)])
++  "$absolute_source_path/configure" CC="$CCAUX" CFLAGS="$CFLAGSAUX" LDFLAGS="$LDFLAGSAUX" CCAUX= CFLAGSAUX= CFLAGSAUX= MAKEFILE=$AUXFLAGS_MAK --host=$build --build=$build --enable-auxtools_only --with-local-zlib --without-libtiff --disable-contrib --disable-fontconfig --disable-dbus --disable-freetype --disable-fapi --disable-cups --disable-openjpeg --disable-gtk --with-libiconv=no --without-libidn --without-libpaper --without-pdftoraster --without-ijs --without-luratech --without-jbig2dec --without-x --with-drivers=""
+   status=$?
+-  cp config.log ../configaux.log
++  cp config.log $olddir/configaux.log
+   if test $status -eq 0 ; then
+     CCAUX=$(grep CCAUX $AUXFLAGS_MAK | sed "s/CCAUX=//g")
+     GCFLAGSAUXTMP=$(grep GCFLAGSAUX $AUXFLAGS_MAK | sed "s/GCFLAGSAUX=//g")
+@@ -204,7 +209,7 @@ AC_PATH_TOOL(PKGCONFIG, pkg-config)
+ # but if we are cross compiling, and there isn't a matching
+ # pkconfig for the --host setting, then don't use the 'local'
+ # pkconfig at all
+-if test x"$cross_compiling" = x"yes"; then
++if test x"$host" != x"$build" ; then
+   AC_PATH_PROG(BUILD_PKGCONFIG, pkg-config)
+   if test x"$BUILD_PKGCONFIG" = x"$PKGCONFIG" ; then
+     PKGCONFIG=
+@@ -217,7 +222,7 @@ AC_PATH_TOOL(STRIP_XE, strip)
+ # but if we are cross compiling, and there isn't a matching
+ # pkconfig for the --host setting, then don't use the 'local'
+ # pkconfig at all
+-if test x"$cross_compiling" = x"yes"; then
++if test x"$host" != x"$build" ; then
+   AC_PATH_PROG(BUILD_STRIP_XE, strip)
+   if test x"$BUILD_STRIP_XE" = x"$STRIP_XE" ; then
+     STRIP_XE=
+@@ -234,18 +239,14 @@ CONTRIBINCLUDE="include $srcdir/contrib/contrib.mak"
+ INSTALL_CONTRIB="install-contrib-extras"
+ 
+ if test x"$enable_contrib" = x; then
+-  if test x"$cross_compiling" = x"yes"; then
+-    enable_contrib=
+-  else
+-    case `uname` in
+-      MINGW*|MSYS*)
++    case $host in
++      *-mingw*|*-msys*|*-cygwin*)
+         AC_MSG_WARN([disabling contrib devices])
+         enable_contrib=no
+       ;;
+       *)
+       ;;
+     esac
+-  fi
+ fi
+ 
+ if test x"$enable_contrib" != x"no"; then
+@@ -274,26 +275,27 @@ dnl --------------------------------------------------
+ CC_OPT_FLAGS_TO_TRY="-O"
+ SET_DT_SONAME="-soname="
+ 
+-if test x"$cross_compiling" = x"yes"; then
+-  if test $ac_cv_prog_gcc = yes; then
+-      CC_OPT_FLAGS_TO_TRY="-O2"
+-      CC_DBG_FLAGS_TO_TRY="-gdwarf-2 -g3 -O0"
+-  fi
+-else
+-  case `uname` in
+-        Linux*|GNU*)
++  case $host in
++        *-mingw*|*-msys*|*-cygwin*)
+         if test $ac_cv_prog_gcc = yes; then
+             CC_OPT_FLAGS_TO_TRY="-O2"
+             CC_DBG_FLAGS_TO_TRY="-gdwarf-2 -g3 -O0"
+         fi
++        SET_DT_SONAME=""
+         ;;
+-        *BSD)
++        *-linux*|*-gnu)
++        if test $ac_cv_prog_gcc = yes; then
++            CC_OPT_FLAGS_TO_TRY="-O2"
++            CC_DBG_FLAGS_TO_TRY="-gdwarf-2 -g3 -O0"
++        fi
++        ;;
++        *bsd*)
+         if test $ac_cv_prog_gcc = yes; then
+             CC_OPT_FLAGS_TO_TRY="-O2"
+             CC_DBG_FLAGS_TO_TRY="-gdwarf-2 -g3 -O0"
+         fi
+         ;;
+-        Darwin*)
++        *-darwin*)
+         if test $ac_cv_prog_gcc = yes; then
+             CC_OPT_FLAGS_TO_TRY="-O2"
+             CC_DBG_FLAGS_TO_TRY="-gdwarf-2 -g3 -O0"
+@@ -321,7 +323,6 @@ else
+         fi
+         ;;
+   esac
+-fi
+ 
+ AC_SUBST(SET_DT_SONAME)
+ 
+@@ -368,18 +369,20 @@ AC_ARG_WITH([arch_h], AC_HELP_STRING([--with-arch_h=<arch.h to use>],
+ ARCH_CONF_HEADER=
+ 
+ if test x"$with_arch_h" = x""; then
+-  if test x"$cross_compiling" = x"yes"; then
+-    ARCH_CONF_HEADER="\$(GLSRCDIR)/../$ARCH_AUTOCONF_HEADER"
+-  else
+-    case `uname` in
+-          Darwin*)
++  case $host in
++          x86_64*-mingw*|x86_64*-msys*|x86_64*-cygwin*)
++            ARCH_CONF_HEADER="\$(GLSRCDIR)/../arch/windows-x64-msvc.h"
++          ;;
++          *-mingw*|*-msys*|*-cygwin*)
++            ARCH_CONF_HEADER="\$(GLSRCDIR)/../arch/windows-x86-msvc.h"
++          ;;
++          *-darwin*)
+             ARCH_CONF_HEADER="\$(GLSRCDIR)/../arch/osx-x86-x86_64-ppc-gcc.h"
+           ;;
+           *)
+             ARCH_CONF_HEADER=
+           ;;
+     esac
+-  fi
+ else
+   ARCH_CONF_HEADER=$with_arch_h
+ fi
+@@ -658,15 +661,7 @@ dnl Set options that we want to pass into all other
+ dnl configure scripts we might call
+ dnl --------------------------------------------------
+ 
+-SUBCONFIG_OPTS=""
+-
+-if test x"$build_alias" != x""; then
+-  SUBCONFIG_OPTS="$SUBCONFIG_OPTS --build=$build_alias"
+-fi
+-
+-if test x"$host_alias" != x""; then
+-  SUBCONFIG_OPTS="$SUBCONFIG_OPTS --host=$host_alias"
+-fi
++SUBCONFIG_OPTS="--build=$build --host=$host"
+ 
+ dnl --------------------------------------------------
+ dnl Check for libraries
+@@ -996,7 +991,7 @@ if test x"$enable_fapi" != xno; then
+             if $PKGCONFIG --atleast-version=12.0.6 freetype2; then
+                 AC_MSG_RESULT(yes)
+                 FT_CFLAGS="$CFLAGS `$PKGCONFIG --cflags freetype2`"
+-                FT_LIBS="`$PKGCONFIG --libs freetype2`"
++                FT_LIBS="`$PKGCONFIG --libs-only-l freetype2`"
+                 FT_BRIDGE=1
+                 SHARE_FT=1
+             else
+@@ -1047,6 +1042,14 @@ AC_SUBST(FTSRCDIR)
+ AC_SUBST(FT_CFLAGS)
+ AC_SUBST(FT_LIBS)
+ 
++if test x"$enable_auxtools_only" = x"yes" ; then
++  LIBJPEGDIR=
++  SHARE_LIBJPEG=0
++  AC_DEFINE([DONT_HAVE_JMEMSYS_H], 1, [])
++  AC_SUBST(SHARE_LIBJPEG)
++  AC_SUBST(LIBJPEGDIR)
++else
++
+ AC_MSG_CHECKING([for local jpeg library source])
+ dnl At present, we give the local source priority over the shared
+ dnl build, so that the D_MAX_BLOCKS_IN_MCU patch will be applied.
+@@ -1088,6 +1091,13 @@ else
+     [define if the libjpeg memory system prototypes aren't available])
+ fi
+ 
++fi # $enable_auxtools_only
++
++# this option is useful if you're cross-compiling and want to use
++# your toolchain's zlib for $host but the local one for $build
++AC_ARG_WITH([local-zlib], AC_HELP_STRING([--without-local-zlib],
++  [do not check for local zlib sources (has no effect on AUX toolchain when cross-building)]))
++
+ AC_MSG_CHECKING([for local zlib source])
+ dnl zlib is needed for language level 3, and libpng
+ # we must define ZLIBDIR regardless because png.mak does a -I$(ZLIBDIR)
+@@ -1096,6 +1106,13 @@ ZLIBDIR=src
+ AUX_SHARED_ZLIB=
+ ZLIBCFLAGS=""
+ 
++if test x"$with_local_zlib" = x"no" ; then
++  AC_MSG_RESULT([skip])
++  AC_CHECK_LIB(z, deflate, [
++    AC_CHECK_HEADERS(zlib.h, [SHARE_ZLIB=1; AUX_SHARED_ZLIB="-l\$(ZLIB_NAME)"])
++  ])
++else
++
+ if test -d $srcdir/zlib; then
+         AC_MSG_RESULT([yes])
+         SHARE_ZLIB=0
+@@ -1110,6 +1127,9 @@ else
+           AC_CHECK_HEADERS(zlib.h, [SHARE_ZLIB=1; AUX_SHARED_ZLIB="-l\$(ZLIB_NAME)"])
+         ])
+ fi
++
++fi # $with_local_zlib
++
+ if test -z "$SHARE_ZLIB"; then
+   AC_MSG_ERROR([I did not find a copy of zlib on your system.
+   Please either install it, or unpack a copy of the source in a
+@@ -1136,6 +1156,11 @@ AC_SUBST(ZLIBDIR)
+ AC_SUBST(FT_SYS_ZLIB)
+ 
+ dnl png for the png output device; it also requires zlib
++if test x"$enable_auxtools_only" = x"yes" ; then
++  LIBPNGDIR=""
++  SHARE_LIBPNG=0
++else
++
+ LIBPNGDIR=src
+ PNGDEVS=''
+ PNGDEVS_ALL='png48 png16m pnggray pngmono pngmonod png256 png16 pngalpha'
+@@ -1157,12 +1182,21 @@ fi
+ if test -z "$PNGDEVS"; then
+   AC_MSG_NOTICE([disabling png output devices])
+ fi
++
++fi # $enable_auxtools_only
++
+ AC_SUBST(SHARE_LIBPNG)
+ AC_SUBST(LIBPNGDIR)
+ #AC_SUBST(PNGDEVS)
+ 
+ WHICHLCMS=
+ 
++if test x"$enable_auxtools_only" = x"yes" ; then
++  SHARELCMS=0
++  LCMS2DIR=
++  LCMS2MTDIR=
++else
++
+ AC_MSG_CHECKING([for local lcms2mt library source])
+ LCMS2DIR=src
+ LCMS2MTDIR=src
+@@ -1197,6 +1231,8 @@ else
+    fi
+ fi
+ 
++fi # $enable_auxtools_only
++
+ AC_SUBST(SHARELCMS)
+ AC_SUBST(WHICHLCMS)
+ AC_SUBST(LCMS2DIR)
+@@ -1349,7 +1385,7 @@ EXPATDIR=src
+ EXPAT_CFLAGS=
+ EXPAT_LIBS=
+ 
+-if test x"$with_xps" != x"no" ; then
++if test x"$with_xps" != x"no" -a x"$enable_auxtools_only" != x"yes" ; then
+   if test -f $srcdir/xps/xps.mak; then
+     AC_MSG_CHECKING([for local expat library source])
+     if test -f $srcdir/expat/lib/expat.h ; then
+@@ -1528,16 +1564,14 @@ dnl look for IJS implementation
+ AC_ARG_WITH([ijs], AC_HELP_STRING([--without-ijs],
+     [disable IJS driver support]))
+ 
+-if test x"$cross_compiling" != x"yes"; then
+-  case `uname` in
+-    MINGW*|MSYS*)
++  case $host in
++    *-mingw*|*-msys*|*-cygwin*)
+       AC_MSG_WARN([disabling the ijs device])
+       with_ijs=no
+     ;;
+     *)
+     ;;
+   esac
+-fi
+ 
+ dnl set safe defaults
+     IJSDIR=src
+@@ -1589,15 +1623,8 @@ if test x$with_luratech != xno; then
+     SHARE_JBIG2=0
+     JBIG2DIR=$srcdir/luratech/ldf_jb2
+ 
+-    if test x"$cross_compiling" = x"yes"; then
+-        if test x"$JBIG2_CFLAGS" != x""; then
+-          JBIG2_AUTOCONF_CFLAGS="-DUSE_LDF_JB2 -fsigned-char $JBIG2_CFLAGS"
+-        else
+-          JBIG2_AUTOCONF_CFLAGS="-DUSE_LDF_JB2 -fsigned-char -DLINUX=1 -DFORTE"
+-        fi
+-    else
+-      case `uname` in
+-        Darwin*)
++      case $host in
++        *-darwin*)
+           JBIG2_AUTOCONF_CFLAGS="-DUSE_LDF_JB2 -DMAC -DMAC_OS_X_BUILD -fsigned-char"
+         ;;
+         AIX)
+@@ -1611,7 +1638,6 @@ if test x$with_luratech != xno; then
+           JBIG2_AUTOCONF_CFLAGS="-DUSE_LDF_JB2 -fsigned-char -DLINUX=1 -DFORTE"
+         ;;
+       esac
+-    fi
+ 
+     JBIG2FILEDEVS='$(DD)gdevjbig2.dev'
+     JBIG2DEVS='$(PSD)jbig2.dev'
+@@ -1718,15 +1744,8 @@ if test x$with_luratech != xno; then
+     SHARE_JPX=0
+     JPXDIR=$srcdir/luratech/lwf_jp2
+ 
+-    if test x"$cross_compiling" = x"yes"; then
+-        if test x"$JPX_CFLAGS" != x""; then
+-          JPX_AUTOCONF_CFLAGS="-DUSE_LWF_JP2 $JPX_CFLAGS"
+-        else
+-          JPX_AUTOCONF_CFLAGS="-DUSE_LWF_JP2 -DLINUX=1 -DFORTE"
+-        fi
+-    else
+-      case `uname` in
+-        Darwin*)
++      case $host in
++        *-darwin*)
+           JPX_AUTOCONF_CFLAGS="-DUSE_LWF_JP2 -DMAC -DMAC_OS_X_BUILD"
+         ;;
+         AIX)
+@@ -1740,7 +1759,6 @@ if test x$with_luratech != xno; then
+           JPX_AUTOCONF_CFLAGS="-DUSE_LWF_JP2 -DLINUX=1 -DFORTE"
+         ;;
+       esac
+-    fi
+     JPXDEVS='$(PSD)jpx.dev'
+   else
+     AC_MSG_RESULT([no])
+@@ -2357,22 +2375,15 @@ SO_LIB_EXT=".so"
+ DLL_EXT=""
+ SO_LIB_VERSION_SEPARATOR="."
+ 
+-if test x"$cross_compiling" = x"yes"; then
+-  DYNAMIC_CFLAGS="-fPIC"
+-  GS_DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GS_SONAME_MAJOR)"
+-  PCL_DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(PCL_SONAME_MAJOR)"
+-  XPS_DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(XPS_SONAME_MAJOR)"
+-  PDL_DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GPDL_SONAME_MAJOR)"
+-  if test $ac_cv_prog_gcc = yes; then
+-    # GCC high level flag
+-    DYNAMIC_LIBS="-rdynamic"
+-  else
+-    DYNAMIC_LIBS=""
+-  fi
+-  SO_LIB_EXT=".so"
+-else
+-  case `uname` in
+-    Linux*|GNU*)
++libname1="_SO_BASE)\$(GS_SOEXT)\$(DLL_EXT)"
++libname2="_SO_BASE)\$(GS_SOEXT)\$(SO_LIB_VERSION_SEPARATOR)\$(GS_VERSION_MAJOR)\$(DLL_EXT)"
++libname3="_SO_BASE)\$(GS_SOEXT)\$(SO_LIB_VERSION_SEPARATOR)\$(GS_VERSION_MAJOR)\$(SO_LIB_VERSION_SEPARATOR)\$(GS_VERSION_MINOR)\$(DLL_EXT)"
++GS_SONAME="lib\$(GS${libname1}"
++GS_SONAME_MAJOR="lib\$(GS${libname2}"
++GS_SONAME_MAJOR_MINOR="lib\$(GS${libname3}"
++
++case $host in
++    *-linux*|*-gnu)
+       DYNAMIC_CFLAGS="-fPIC"
+       GS_DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GS_SONAME_MAJOR)"
+       PCL_DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(PCL_SONAME_MAJOR)"
+@@ -2386,17 +2397,21 @@ else
+       fi
+       SO_LIB_EXT=".so"
+     ;;
+-    MINGW*|MSYS*)
+-      DYNAMIC_CFLAGS=""
+-      GS_DYNAMIC_LDFLAGS="-shared  -Wl,--out-implib=\$(BINDIR)/lib\$(GS_SO_BASE).dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import"
++    *-mingw*|*-msys*|*-cygwin*)
++      DYNAMIC_CFLAGS="-fvisibility=hidden -DGSDLLEXPORT=\"__declspec(dllexport)\""
++      GS_DYNAMIC_LDFLAGS="-shared -Wl,--out-implib=\$(BINDIR)/lib\$(GS_SO_BASE).dll.a -Wl,--enable-auto-import"
+       PCL_DYNAMIC_LDFLAGS="-shared  -Wl,--out-implib=\$(BINDIR)/lib\$(PCL_SO_BASE).dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import"
+       XPS_DYNAMIC_LDFLAGS="-shared  -Wl,--out-implib=\$(BINDIR)/lib\$(XPS_SO_BASE).dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import"
+       PDL_DYNAMIC_LDFLAGS="-shared  -Wl,--out-implib=\$(BINDIR)/lib\$(PDL_SO_BASE).dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import"
+       SO_LIB_EXT=""
+       DLL_EXT=".dll"
+       SO_LIB_VERSION_SEPARATOR="-"
++      # make sure the import library doesn't link a program against the DLL with the minor version in it
++      GS_SONAME="lib\$(GS${libname1}"
++      GS_SONAME_MAJOR="lib\$(GS${libname3}"
++      GS_SONAME_MAJOR_MINOR="lib\$(GS${libname2}"
+     ;;
+-    *BSD)
++    *bsd*)
+       DYNAMIC_CFLAGS="-fPIC"
+       GS_DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GS_SONAME_MAJOR)"
+       PCL_DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(PCL_SONAME_MAJOR)"
+@@ -2404,7 +2419,7 @@ else
+       DYNAMIC_LIBS=""
+       SO_LIB_EXT=".so"
+     ;;
+-    Darwin*)
++    *-darwin*)
+       GS_DYNAMIC_LDFLAGS="-dynamiclib -install_name \$(GS_SONAME_MAJOR_MINOR)"
+       PCL_DYNAMIC_LDFLAGS="-dynamiclib -install_name \$(PCL_SONAME_MAJOR_MINOR)"
+       XPS_DYNAMIC_LDFLAGS="-dynamiclib -install_name \$(XPS_SONAME_MAJOR_MINOR)"
+@@ -2442,15 +2457,18 @@ else
+       fi
+       SO_LIB_EXT=".so"
+       ;;
+-  esac
+-fi
++esac
++
++AC_SUBST(GS_SONAME)
++AC_SUBST(GS_SONAME_MAJOR)
++AC_SUBST(GS_SONAME_MAJOR_MINOR)
+ 
+ AC_ARG_ENABLE([dynamic], AC_HELP_STRING([--enable-dynamic],
+     [Enable dynamically loaded drivers]),
+ [
+   if test "x$enable_dynamic" != xno; then
+-    case `uname` in
+-      Linux*|GNU*)
++    case $host in
++      *-linux*|*-gnu)
+       INSTALL_SHARED="install-shared"
+       if test "x$X_DEVS" != x; then
+               DYNAMIC_DEVS="\$(GLOBJDIR)/X11.so"
+@@ -2462,14 +2480,14 @@ AC_ARG_ENABLE([dynamic], AC_HELP_STRING([--enable-dynamic],
+       OPT_CFLAGS="$DYNAMIC_CFLAGS $OPT_CFLAGS"
+       DBG_CFLAGS="$DYNAMIC_CFLAGS $DBG_CFLAGS"
+       ;;
+-      *BSD)
++      *bsd*)
+       DYNAMIC_DEVS="\$(GLOBJDIR)/X11.so"
+       DYNAMIC_FLAGS="-DGS_DEVS_SHARED -DGS_DEVS_SHARED_DIR=\\\"\$(gssharedir)\\\""
+       X11_DEVS=""
+       OPT_CFLAGS="$DYNAMIC_CFLAGS $OPT_CFLAGS"
+       DBG_CFLAGS="$DYNAMIC_CFLAGS $DBG_CFLAGS"
+       ;;
+-      Darwin*)
++      *-darwin*)
+       INSTALL_SHARED="install-shared"
+       DYNAMIC_FLAGS="-DGS_DEVS_SHARED -DGS_DEVS_SHARED_DIR=\\\"\$(gssharedir)\\\""
+       X11_DEVS=""
+@@ -2814,23 +2832,31 @@ AC_SUBST(AUXDIRPOSTFIX)
+ # usually empty on Unix-like systems
+ # --------------------------------------------------
+ EXEEXT=""
++AUXEXEEXT=""
++
++case $host in
++    *-mingw*|*-msys*|*-cygwin*)
++      EXEEXT=".exe"
++    ;;
++    *)
++    ;;
++esac
+ 
+ AC_ARG_WITH([exe-ext],  AC_HELP_STRING([--with-exe-ext=EXT],
+-    [set the file name executable extension (must include any separator e.g. the period in ".exe")]),[], [exe_ext=])
++    [set the file name executable extension (must include any separator e.g. the period in ".exe")]),
++    [EXEEXT="$with_exe_ext"])
+ 
+-if test "x"$with_exe_ext != "x"; then
+-  EXEEXT="$with_exe_ext"
+-else
+-  if test x"$cross_compiling" != x"yes"; then
+-    case `uname` in
+-      MINGW*|MSYS*)
+-        EXEEXT=".exe"
+-      ;;
+-    esac
+-  fi
+-fi
++case $build in
++    *-mingw*|*-msys*|*-cygwin*)
++      AUXEXEEXT=".exe"
++    ;;
++    *)
++      AUXEXEEXT="$EXEEXT"
++    ;;
++esac
+ 
+ AC_SUBST(EXEEXT)
++AC_SUBST(AUXEXEEXT)
+ 
+ # --------------------------------------------------
+ # Check for disabling of versioned path option.
+@@ -2885,7 +2911,7 @@ fi
+ 
+ AC_SUBST(CLUSTER_CFLAGS)
+ 
+-if test x"$CCAUX" != x"$CC"; then
++if test x"$build" != x"$host"; then
+ 
+   ilog2()
+   {
+@@ -3025,7 +3051,7 @@ AC_SUBST(AUXEXTRALIBS)
+ 
+ CONFIG_FILES_LIST="$CONFIG_FILES_LIST $THEMAKEFILE"
+ 
+-if test x"$THEMAKEFILE" != x"$MAKEFILE" && test x"$CCAUX" = x"$CC"; then
++if test x"$THEMAKEFILE" != x"$MAKEFILE" && test x"$build" = x"$host"; then
+   CONFIG_FILES_LIST="$CONFIG_FILES_LIST"
+ fi
+ 
+diff --git a/psi/iapi.h b/psi/iapi.h
+index 1111111..2222222 100644
+--- a/psi/iapi.h
++++ b/psi/iapi.h
+@@ -68,6 +68,11 @@ extern "C" {
+ #    define GSDLLEXPORT
+ #  endif
+ # endif
++# ifdef __MINGW32__
++/* export stdcall functions as "name" instead of "_name@ordinal" */
++#  undef GSDLLAPI
++#  define GSDLLAPI
++# endif
+ # ifndef GSDLLAPI
+ #  define GSDLLAPI __stdcall
+# endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ghostscript.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,54 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := ghostscript
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 9.50
+$(PKG)_NODOTVER := $(subst .,,$($(PKG)_VERSION))
+$(PKG)_CHECKSUM := 3be5f36300e3031e68a28cd898b3eebc9151660b
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL      := https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs$($(PKG)_NODOTVER)/$($(PKG)_FILE)
+$(PKG)_DEPS     := dbus fontconfig freetype jpeg libiconv libidn libpaper libpng tiff zlib
+
+ifeq ($(MXE_WINDOWS_BUILD),no)
+  ifeq ($(USE_SYSTEM_X11_LIBS),no)
+    $(PKG)_DEPS += x11 xext
+  endif
+endif
+
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+    $(PKG)_DEPS += lcms
+endif
+
+ifeq ($(MXE_NATIVE_BUILD),yes)
+    $(PKG)_CONFIGURE_FLAGS=$(CONFIGURE_LDFLAGS) $(CONFIGURE_CPPFLAGS)
+endif
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://api.github.com/repos/ArtifexSoftware/ghostpdl-downloads/releases' | \
+    $(SED) -n 's,.*"ghostscript-\([0-9\.]*\)\.tar.xz".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    cp -f `automake --print-libdir`/{config.guess,config.sub,install-sh} '$(1)'
+    cd '$(1)' && rm -rf freetype jpeg libpng openjpeg tiff
+    cd '$(1)' && autoreconf -f -i
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $(1)/configure \
+        CPPFLAGS='$(CPPFLAGS) -DHAVE_SYS_TIMES_H=0' \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+	$($(PKG)_CONFIGURE_FLAGS) \
+        --prefix='$(HOST_PREFIX)' \
+        --without-local-zlib \
+        --with-system-libtiff
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' $(if $(BUILD_STATIC),libgs,so)
+    $(MAKE) -C '$(1)/.build' prefix='$(HOST_PREFIX)' install
+
+    if [ "x$(ENABLE_DEP_DOCS)" == "xno" ]; then \
+      rm -f $(HOST_PREFIX)/share/doc/ghostscript/$($(PKG)_VERSION)/*.htm; \
+    fi
+endef
+
--- a/src/giflib.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/giflib.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,19 +3,17 @@
 
 PKG             := giflib
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 841da41f2e8c212555453f7af7b5aa60d7ea4be7
+$(PKG)_VERSION  := 5.0.5
+$(PKG)_CHECKSUM := 926fecbcef1c5b1ca9d17257d15a197b8b35e405
 $(PKG)_SUBDIR   := giflib-$($(PKG)_VERSION)
 $(PKG)_FILE     := giflib-$($(PKG)_VERSION).tar.bz2
 $(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/giflib/giflib-5.x/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://giflib.git.sourceforge.net/git/gitweb.cgi?p=giflib/giflib;a=tags' | \
-    grep '<a class="list name"' | \
-    $(SED) -n 's,.*<a[^>]*>\([0-9][^<]*\)<.*,\1,p' | \
-    grep -v alpha | \
-    grep -v beta | \
-    grep -v rc | \
+    $(WGET) -q -O- 'http://sourceforge.net/projects/giflib/files/giflib-5.x/' | \
+    grep '<a href.*giflib.*bz2/download' | \
+    $(SED) -n 's,.*giflib-\([0-9][^>]*\)\.tar.*,\1,p' | \
     head -1
 endef
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/gl2ps-1-configure.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24986 @@
+diff -uNr a/aclocal.m4 b/aclocal.m4
+--- a/aclocal.m4	1969-12-31 19:00:00.000000000 -0500
++++ b/aclocal.m4	2014-12-12 15:37:48.132166030 -0500
+@@ -0,0 +1,9751 @@
++# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
++
++# Copyright (C) 1996-2013 Free Software Foundation, Inc.
++
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
++m4_ifndef([AC_AUTOCONF_VERSION],
++  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
++m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
++[m4_warning([this file was generated for autoconf 2.69.
++You have another version of autoconf.  It may work, but is not guaranteed to.
++If you have problems, you may need to regenerate the build system entirely.
++To do so, use the procedure documented by the package, typically 'autoreconf'.])])
++
++# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
++#
++#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
++#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
++#                 Foundation, Inc.
++#   Written by Gordon Matzigkeit, 1996
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++
++m4_define([_LT_COPYING], [dnl
++#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
++#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
++#                 Foundation, Inc.
++#   Written by Gordon Matzigkeit, 1996
++#
++#   This file is part of GNU Libtool.
++#
++# GNU Libtool 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.
++#
++# As a special exception to the GNU General Public License,
++# if you distribute this file as part of a program or library that
++# is built using GNU Libtool, you may include this file under the
++# same distribution terms that you use for the rest of that program.
++#
++# GNU Libtool 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 GNU Libtool; see the file COPYING.  If not, a copy
++# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
++# obtained by writing to the Free Software Foundation, Inc.,
++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++])
++
++# serial 57 LT_INIT
++
++
++# LT_PREREQ(VERSION)
++# ------------------
++# Complain and exit if this libtool version is less that VERSION.
++m4_defun([LT_PREREQ],
++[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
++       [m4_default([$3],
++		   [m4_fatal([Libtool version $1 or higher is required],
++		             63)])],
++       [$2])])
++
++
++# _LT_CHECK_BUILDDIR
++# ------------------
++# Complain if the absolute build directory name contains unusual characters
++m4_defun([_LT_CHECK_BUILDDIR],
++[case `pwd` in
++  *\ * | *\	*)
++    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
++esac
++])
++
++
++# LT_INIT([OPTIONS])
++# ------------------
++AC_DEFUN([LT_INIT],
++[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
++AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
++AC_BEFORE([$0], [LT_LANG])dnl
++AC_BEFORE([$0], [LT_OUTPUT])dnl
++AC_BEFORE([$0], [LTDL_INIT])dnl
++m4_require([_LT_CHECK_BUILDDIR])dnl
++
++dnl Autoconf doesn't catch unexpanded LT_ macros by default:
++m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
++m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
++dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
++dnl unless we require an AC_DEFUNed macro:
++AC_REQUIRE([LTOPTIONS_VERSION])dnl
++AC_REQUIRE([LTSUGAR_VERSION])dnl
++AC_REQUIRE([LTVERSION_VERSION])dnl
++AC_REQUIRE([LTOBSOLETE_VERSION])dnl
++m4_require([_LT_PROG_LTMAIN])dnl
++
++_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
++
++dnl Parse OPTIONS
++_LT_SET_OPTIONS([$0], [$1])
++
++# This can be used to rebuild libtool when needed
++LIBTOOL_DEPS="$ltmain"
++
++# Always use our own libtool.
++LIBTOOL='$(SHELL) $(top_builddir)/libtool'
++AC_SUBST(LIBTOOL)dnl
++
++_LT_SETUP
++
++# Only expand once:
++m4_define([LT_INIT])
++])# LT_INIT
++
++# Old names:
++AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
++AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
++dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
++
++
++# _LT_CC_BASENAME(CC)
++# -------------------
++# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
++m4_defun([_LT_CC_BASENAME],
++[for cc_temp in $1""; do
++  case $cc_temp in
++    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
++    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
++    \-*) ;;
++    *) break;;
++  esac
++done
++cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
++])
++
++
++# _LT_FILEUTILS_DEFAULTS
++# ----------------------
++# It is okay to use these file commands and assume they have been set
++# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
++m4_defun([_LT_FILEUTILS_DEFAULTS],
++[: ${CP="cp -f"}
++: ${MV="mv -f"}
++: ${RM="rm -f"}
++])# _LT_FILEUTILS_DEFAULTS
++
++
++# _LT_SETUP
++# ---------
++m4_defun([_LT_SETUP],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_REQUIRE([AC_CANONICAL_BUILD])dnl
++AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
++AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
++
++_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
++dnl
++_LT_DECL([], [host_alias], [0], [The host system])dnl
++_LT_DECL([], [host], [0])dnl
++_LT_DECL([], [host_os], [0])dnl
++dnl
++_LT_DECL([], [build_alias], [0], [The build system])dnl
++_LT_DECL([], [build], [0])dnl
++_LT_DECL([], [build_os], [0])dnl
++dnl
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([LT_PATH_LD])dnl
++AC_REQUIRE([LT_PATH_NM])dnl
++dnl
++AC_REQUIRE([AC_PROG_LN_S])dnl
++test -z "$LN_S" && LN_S="ln -s"
++_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
++dnl
++AC_REQUIRE([LT_CMD_MAX_LEN])dnl
++_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
++_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
++dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_CHECK_SHELL_FEATURES])dnl
++m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
++m4_require([_LT_CMD_RELOAD])dnl
++m4_require([_LT_CHECK_MAGIC_METHOD])dnl
++m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
++m4_require([_LT_CMD_OLD_ARCHIVE])dnl
++m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
++m4_require([_LT_WITH_SYSROOT])dnl
++
++_LT_CONFIG_LIBTOOL_INIT([
++# See if we are running on zsh, and set the options which allow our
++# commands through without removal of \ escapes INIT.
++if test -n "\${ZSH_VERSION+set}" ; then
++   setopt NO_GLOB_SUBST
++fi
++])
++if test -n "${ZSH_VERSION+set}" ; then
++   setopt NO_GLOB_SUBST
++fi
++
++_LT_CHECK_OBJDIR
++
++m4_require([_LT_TAG_COMPILER])dnl
++
++case $host_os in
++aix3*)
++  # AIX sometimes has problems with the GCC collect2 program.  For some
++  # reason, if we set the COLLECT_NAMES environment variable, the problems
++  # vanish in a puff of smoke.
++  if test "X${COLLECT_NAMES+set}" != Xset; then
++    COLLECT_NAMES=
++    export COLLECT_NAMES
++  fi
++  ;;
++esac
++
++# Global variables:
++ofile=libtool
++can_build_shared=yes
++
++# All known linkers require a `.a' archive for static linking (except MSVC,
++# which needs '.lib').
++libext=a
++
++with_gnu_ld="$lt_cv_prog_gnu_ld"
++
++old_CC="$CC"
++old_CFLAGS="$CFLAGS"
++
++# Set sane defaults for various variables
++test -z "$CC" && CC=cc
++test -z "$LTCC" && LTCC=$CC
++test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
++test -z "$LD" && LD=ld
++test -z "$ac_objext" && ac_objext=o
++
++_LT_CC_BASENAME([$compiler])
++
++# Only perform the check for file, if the check method requires it
++test -z "$MAGIC_CMD" && MAGIC_CMD=file
++case $deplibs_check_method in
++file_magic*)
++  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
++    _LT_PATH_MAGIC
++  fi
++  ;;
++esac
++
++# Use C for the default configuration in the libtool script
++LT_SUPPORTED_TAG([CC])
++_LT_LANG_C_CONFIG
++_LT_LANG_DEFAULT_CONFIG
++_LT_CONFIG_COMMANDS
++])# _LT_SETUP
++
++
++# _LT_PREPARE_SED_QUOTE_VARS
++# --------------------------
++# Define a few sed substitution that help us do robust quoting.
++m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
++[# Backslashify metacharacters that are still active within
++# double-quoted strings.
++sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
++
++# Same as above, but do not quote variable references.
++double_quote_subst='s/\([["`\\]]\)/\\\1/g'
++
++# Sed substitution to delay expansion of an escaped shell variable in a
++# double_quote_subst'ed string.
++delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
++
++# Sed substitution to delay expansion of an escaped single quote.
++delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
++
++# Sed substitution to avoid accidental globbing in evaled expressions
++no_glob_subst='s/\*/\\\*/g'
++])
++
++# _LT_PROG_LTMAIN
++# ---------------
++# Note that this code is called both from `configure', and `config.status'
++# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
++# `config.status' has no value for ac_aux_dir unless we are using Automake,
++# so we pass a copy along to make sure it has a sensible value anyway.
++m4_defun([_LT_PROG_LTMAIN],
++[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
++_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
++ltmain="$ac_aux_dir/ltmain.sh"
++])# _LT_PROG_LTMAIN
++
++
++
++# So that we can recreate a full libtool script including additional
++# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
++# in macros and then make a single call at the end using the `libtool'
++# label.
++
++
++# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
++# ----------------------------------------
++# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
++m4_define([_LT_CONFIG_LIBTOOL_INIT],
++[m4_ifval([$1],
++          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
++                     [$1
++])])])
++
++# Initialize.
++m4_define([_LT_OUTPUT_LIBTOOL_INIT])
++
++
++# _LT_CONFIG_LIBTOOL([COMMANDS])
++# ------------------------------
++# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
++m4_define([_LT_CONFIG_LIBTOOL],
++[m4_ifval([$1],
++          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
++                     [$1
++])])])
++
++# Initialize.
++m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
++
++
++# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
++# -----------------------------------------------------
++m4_defun([_LT_CONFIG_SAVE_COMMANDS],
++[_LT_CONFIG_LIBTOOL([$1])
++_LT_CONFIG_LIBTOOL_INIT([$2])
++])
++
++
++# _LT_FORMAT_COMMENT([COMMENT])
++# -----------------------------
++# Add leading comment marks to the start of each line, and a trailing
++# full-stop to the whole comment if one is not present already.
++m4_define([_LT_FORMAT_COMMENT],
++[m4_ifval([$1], [
++m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
++              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
++)])
++
++
++
++
++
++# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
++# -------------------------------------------------------------------
++# CONFIGNAME is the name given to the value in the libtool script.
++# VARNAME is the (base) name used in the configure script.
++# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
++# VARNAME.  Any other value will be used directly.
++m4_define([_LT_DECL],
++[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
++    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
++	[m4_ifval([$1], [$1], [$2])])
++    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
++    m4_ifval([$4],
++	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
++    lt_dict_add_subkey([lt_decl_dict], [$2],
++	[tagged?], [m4_ifval([$5], [yes], [no])])])
++])
++
++
++# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
++# --------------------------------------------------------
++m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
++
++
++# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
++# ------------------------------------------------
++m4_define([lt_decl_tag_varnames],
++[_lt_decl_filter([tagged?], [yes], $@)])
++
++
++# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
++# ---------------------------------------------------------
++m4_define([_lt_decl_filter],
++[m4_case([$#],
++  [0], [m4_fatal([$0: too few arguments: $#])],
++  [1], [m4_fatal([$0: too few arguments: $#: $1])],
++  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
++  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
++  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
++])
++
++
++# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
++# --------------------------------------------------
++m4_define([lt_decl_quote_varnames],
++[_lt_decl_filter([value], [1], $@)])
++
++
++# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
++# ---------------------------------------------------
++m4_define([lt_decl_dquote_varnames],
++[_lt_decl_filter([value], [2], $@)])
++
++
++# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
++# ---------------------------------------------------
++m4_define([lt_decl_varnames_tagged],
++[m4_assert([$# <= 2])dnl
++_$0(m4_quote(m4_default([$1], [[, ]])),
++    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
++    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
++m4_define([_lt_decl_varnames_tagged],
++[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
++
++
++# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
++# ------------------------------------------------
++m4_define([lt_decl_all_varnames],
++[_$0(m4_quote(m4_default([$1], [[, ]])),
++     m4_if([$2], [],
++	   m4_quote(lt_decl_varnames),
++	m4_quote(m4_shift($@))))[]dnl
++])
++m4_define([_lt_decl_all_varnames],
++[lt_join($@, lt_decl_varnames_tagged([$1],
++			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
++])
++
++
++# _LT_CONFIG_STATUS_DECLARE([VARNAME])
++# ------------------------------------
++# Quote a variable value, and forward it to `config.status' so that its
++# declaration there will have the same value as in `configure'.  VARNAME
++# must have a single quote delimited value for this to work.
++m4_define([_LT_CONFIG_STATUS_DECLARE],
++[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
++
++
++# _LT_CONFIG_STATUS_DECLARATIONS
++# ------------------------------
++# We delimit libtool config variables with single quotes, so when
++# we write them to config.status, we have to be sure to quote all
++# embedded single quotes properly.  In configure, this macro expands
++# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
++#
++#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
++m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
++[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
++    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
++
++
++# _LT_LIBTOOL_TAGS
++# ----------------
++# Output comment and list of tags supported by the script
++m4_defun([_LT_LIBTOOL_TAGS],
++[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
++available_tags="_LT_TAGS"dnl
++])
++
++
++# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
++# -----------------------------------
++# Extract the dictionary values for VARNAME (optionally with TAG) and
++# expand to a commented shell variable setting:
++#
++#    # Some comment about what VAR is for.
++#    visible_name=$lt_internal_name
++m4_define([_LT_LIBTOOL_DECLARE],
++[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
++					   [description])))[]dnl
++m4_pushdef([_libtool_name],
++    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
++m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
++    [0], [_libtool_name=[$]$1],
++    [1], [_libtool_name=$lt_[]$1],
++    [2], [_libtool_name=$lt_[]$1],
++    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
++m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
++])
++
++
++# _LT_LIBTOOL_CONFIG_VARS
++# -----------------------
++# Produce commented declarations of non-tagged libtool config variables
++# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
++# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
++# section) are produced by _LT_LIBTOOL_TAG_VARS.
++m4_defun([_LT_LIBTOOL_CONFIG_VARS],
++[m4_foreach([_lt_var],
++    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
++    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
++
++
++# _LT_LIBTOOL_TAG_VARS(TAG)
++# -------------------------
++m4_define([_LT_LIBTOOL_TAG_VARS],
++[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
++    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
++
++
++# _LT_TAGVAR(VARNAME, [TAGNAME])
++# ------------------------------
++m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
++
++
++# _LT_CONFIG_COMMANDS
++# -------------------
++# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
++# variables for single and double quote escaping we saved from calls
++# to _LT_DECL, we can put quote escaped variables declarations
++# into `config.status', and then the shell code to quote escape them in
++# for loops in `config.status'.  Finally, any additional code accumulated
++# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
++m4_defun([_LT_CONFIG_COMMANDS],
++[AC_PROVIDE_IFELSE([LT_OUTPUT],
++	dnl If the libtool generation code has been placed in $CONFIG_LT,
++	dnl instead of duplicating it all over again into config.status,
++	dnl then we will have config.status run $CONFIG_LT later, so it
++	dnl needs to know what name is stored there:
++        [AC_CONFIG_COMMANDS([libtool],
++            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
++    dnl If the libtool generation code is destined for config.status,
++    dnl expand the accumulated commands and init code now:
++    [AC_CONFIG_COMMANDS([libtool],
++        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
++])#_LT_CONFIG_COMMANDS
++
++
++# Initialize.
++m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
++[
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++sed_quote_subst='$sed_quote_subst'
++double_quote_subst='$double_quote_subst'
++delay_variable_subst='$delay_variable_subst'
++_LT_CONFIG_STATUS_DECLARATIONS
++LTCC='$LTCC'
++LTCFLAGS='$LTCFLAGS'
++compiler='$compiler_DEFAULT'
++
++# A function that is used when there is no print builtin or printf.
++func_fallback_echo ()
++{
++  eval 'cat <<_LTECHO_EOF
++\$[]1
++_LTECHO_EOF'
++}
++
++# Quote evaled strings.
++for var in lt_decl_all_varnames([[ \
++]], lt_decl_quote_varnames); do
++    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
++    *[[\\\\\\\`\\"\\\$]]*)
++      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
++      ;;
++    *)
++      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++      ;;
++    esac
++done
++
++# Double-quote double-evaled strings.
++for var in lt_decl_all_varnames([[ \
++]], lt_decl_dquote_varnames); do
++    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
++    *[[\\\\\\\`\\"\\\$]]*)
++      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
++      ;;
++    *)
++      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++      ;;
++    esac
++done
++
++_LT_OUTPUT_LIBTOOL_INIT
++])
++
++# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
++# ------------------------------------
++# Generate a child script FILE with all initialization necessary to
++# reuse the environment learned by the parent script, and make the
++# file executable.  If COMMENT is supplied, it is inserted after the
++# `#!' sequence but before initialization text begins.  After this
++# macro, additional text can be appended to FILE to form the body of
++# the child script.  The macro ends with non-zero status if the
++# file could not be fully written (such as if the disk is full).
++m4_ifdef([AS_INIT_GENERATED],
++[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
++[m4_defun([_LT_GENERATED_FILE_INIT],
++[m4_require([AS_PREPARE])]dnl
++[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
++[lt_write_fail=0
++cat >$1 <<_ASEOF || lt_write_fail=1
++#! $SHELL
++# Generated by $as_me.
++$2
++SHELL=\${CONFIG_SHELL-$SHELL}
++export SHELL
++_ASEOF
++cat >>$1 <<\_ASEOF || lt_write_fail=1
++AS_SHELL_SANITIZE
++_AS_PREPARE
++exec AS_MESSAGE_FD>&1
++_ASEOF
++test $lt_write_fail = 0 && chmod +x $1[]dnl
++m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
++
++# LT_OUTPUT
++# ---------
++# This macro allows early generation of the libtool script (before
++# AC_OUTPUT is called), incase it is used in configure for compilation
++# tests.
++AC_DEFUN([LT_OUTPUT],
++[: ${CONFIG_LT=./config.lt}
++AC_MSG_NOTICE([creating $CONFIG_LT])
++_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
++[# Run this file to recreate a libtool stub with the current configuration.])
++
++cat >>"$CONFIG_LT" <<\_LTEOF
++lt_cl_silent=false
++exec AS_MESSAGE_LOG_FD>>config.log
++{
++  echo
++  AS_BOX([Running $as_me.])
++} >&AS_MESSAGE_LOG_FD
++
++lt_cl_help="\
++\`$as_me' creates a local libtool stub from the current configuration,
++for use in further configure time tests before the real libtool is
++generated.
++
++Usage: $[0] [[OPTIONS]]
++
++  -h, --help      print this help, then exit
++  -V, --version   print version number, then exit
++  -q, --quiet     do not print progress messages
++  -d, --debug     don't remove temporary files
++
++Report bugs to <bug-libtool@gnu.org>."
++
++lt_cl_version="\
++m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
++m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
++configured by $[0], generated by m4_PACKAGE_STRING.
++
++Copyright (C) 2011 Free Software Foundation, Inc.
++This config.lt script is free software; the Free Software Foundation
++gives unlimited permision to copy, distribute and modify it."
++
++while test $[#] != 0
++do
++  case $[1] in
++    --version | --v* | -V )
++      echo "$lt_cl_version"; exit 0 ;;
++    --help | --h* | -h )
++      echo "$lt_cl_help"; exit 0 ;;
++    --debug | --d* | -d )
++      debug=: ;;
++    --quiet | --q* | --silent | --s* | -q )
++      lt_cl_silent=: ;;
++
++    -*) AC_MSG_ERROR([unrecognized option: $[1]
++Try \`$[0] --help' for more information.]) ;;
++
++    *) AC_MSG_ERROR([unrecognized argument: $[1]
++Try \`$[0] --help' for more information.]) ;;
++  esac
++  shift
++done
++
++if $lt_cl_silent; then
++  exec AS_MESSAGE_FD>/dev/null
++fi
++_LTEOF
++
++cat >>"$CONFIG_LT" <<_LTEOF
++_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
++_LTEOF
++
++cat >>"$CONFIG_LT" <<\_LTEOF
++AC_MSG_NOTICE([creating $ofile])
++_LT_OUTPUT_LIBTOOL_COMMANDS
++AS_EXIT(0)
++_LTEOF
++chmod +x "$CONFIG_LT"
++
++# configure is writing to config.log, but config.lt does its own redirection,
++# appending to config.log, which fails on DOS, as config.log is still kept
++# open by configure.  Here we exec the FD to /dev/null, effectively closing
++# config.log, so it can be properly (re)opened and appended to by config.lt.
++lt_cl_success=:
++test "$silent" = yes &&
++  lt_config_lt_args="$lt_config_lt_args --quiet"
++exec AS_MESSAGE_LOG_FD>/dev/null
++$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
++exec AS_MESSAGE_LOG_FD>>config.log
++$lt_cl_success || AS_EXIT(1)
++])# LT_OUTPUT
++
++
++# _LT_CONFIG(TAG)
++# ---------------
++# If TAG is the built-in tag, create an initial libtool script with a
++# default configuration from the untagged config vars.  Otherwise add code
++# to config.status for appending the configuration named by TAG from the
++# matching tagged config vars.
++m4_defun([_LT_CONFIG],
++[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++_LT_CONFIG_SAVE_COMMANDS([
++  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
++  m4_if(_LT_TAG, [C], [
++    # See if we are running on zsh, and set the options which allow our
++    # commands through without removal of \ escapes.
++    if test -n "${ZSH_VERSION+set}" ; then
++      setopt NO_GLOB_SUBST
++    fi
++
++    cfgfile="${ofile}T"
++    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
++    $RM "$cfgfile"
++
++    cat <<_LT_EOF >> "$cfgfile"
++#! $SHELL
++
++# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
++# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
++# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
++# NOTE: Changes made to this file will be lost: look at ltmain.sh.
++#
++_LT_COPYING
++_LT_LIBTOOL_TAGS
++
++# ### BEGIN LIBTOOL CONFIG
++_LT_LIBTOOL_CONFIG_VARS
++_LT_LIBTOOL_TAG_VARS
++# ### END LIBTOOL CONFIG
++
++_LT_EOF
++
++  case $host_os in
++  aix3*)
++    cat <<\_LT_EOF >> "$cfgfile"
++# AIX sometimes has problems with the GCC collect2 program.  For some
++# reason, if we set the COLLECT_NAMES environment variable, the problems
++# vanish in a puff of smoke.
++if test "X${COLLECT_NAMES+set}" != Xset; then
++  COLLECT_NAMES=
++  export COLLECT_NAMES
++fi
++_LT_EOF
++    ;;
++  esac
++
++  _LT_PROG_LTMAIN
++
++  # We use sed instead of cat because bash on DJGPP gets confused if
++  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
++  # text mode, it properly converts lines to CR/LF.  This bash problem
++  # is reportedly fixed, but why not run on old versions too?
++  sed '$q' "$ltmain" >> "$cfgfile" \
++     || (rm -f "$cfgfile"; exit 1)
++
++  _LT_PROG_REPLACE_SHELLFNS
++
++   mv -f "$cfgfile" "$ofile" ||
++    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
++  chmod +x "$ofile"
++],
++[cat <<_LT_EOF >> "$ofile"
++
++dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
++dnl in a comment (ie after a #).
++# ### BEGIN LIBTOOL TAG CONFIG: $1
++_LT_LIBTOOL_TAG_VARS(_LT_TAG)
++# ### END LIBTOOL TAG CONFIG: $1
++_LT_EOF
++])dnl /m4_if
++],
++[m4_if([$1], [], [
++    PACKAGE='$PACKAGE'
++    VERSION='$VERSION'
++    TIMESTAMP='$TIMESTAMP'
++    RM='$RM'
++    ofile='$ofile'], [])
++])dnl /_LT_CONFIG_SAVE_COMMANDS
++])# _LT_CONFIG
++
++
++# LT_SUPPORTED_TAG(TAG)
++# ---------------------
++# Trace this macro to discover what tags are supported by the libtool
++# --tag option, using:
++#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
++AC_DEFUN([LT_SUPPORTED_TAG], [])
++
++
++# C support is built-in for now
++m4_define([_LT_LANG_C_enabled], [])
++m4_define([_LT_TAGS], [])
++
++
++# LT_LANG(LANG)
++# -------------
++# Enable libtool support for the given language if not already enabled.
++AC_DEFUN([LT_LANG],
++[AC_BEFORE([$0], [LT_OUTPUT])dnl
++m4_case([$1],
++  [C],			[_LT_LANG(C)],
++  [C++],		[_LT_LANG(CXX)],
++  [Go],			[_LT_LANG(GO)],
++  [Java],		[_LT_LANG(GCJ)],
++  [Fortran 77],		[_LT_LANG(F77)],
++  [Fortran],		[_LT_LANG(FC)],
++  [Windows Resource],	[_LT_LANG(RC)],
++  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
++    [_LT_LANG($1)],
++    [m4_fatal([$0: unsupported language: "$1"])])])dnl
++])# LT_LANG
++
++
++# _LT_LANG(LANGNAME)
++# ------------------
++m4_defun([_LT_LANG],
++[m4_ifdef([_LT_LANG_]$1[_enabled], [],
++  [LT_SUPPORTED_TAG([$1])dnl
++  m4_append([_LT_TAGS], [$1 ])dnl
++  m4_define([_LT_LANG_]$1[_enabled], [])dnl
++  _LT_LANG_$1_CONFIG($1)])dnl
++])# _LT_LANG
++
++
++m4_ifndef([AC_PROG_GO], [
++# NOTE: This macro has been submitted for inclusion into   #
++#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
++#  a released version of Autoconf we should remove this    #
++#  macro and use it instead.                               #
++m4_defun([AC_PROG_GO],
++[AC_LANG_PUSH(Go)dnl
++AC_ARG_VAR([GOC],     [Go compiler command])dnl
++AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
++_AC_ARG_VAR_LDFLAGS()dnl
++AC_CHECK_TOOL(GOC, gccgo)
++if test -z "$GOC"; then
++  if test -n "$ac_tool_prefix"; then
++    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
++  fi
++fi
++if test -z "$GOC"; then
++  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
++fi
++])#m4_defun
++])#m4_ifndef
++
++
++# _LT_LANG_DEFAULT_CONFIG
++# -----------------------
++m4_defun([_LT_LANG_DEFAULT_CONFIG],
++[AC_PROVIDE_IFELSE([AC_PROG_CXX],
++  [LT_LANG(CXX)],
++  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
++
++AC_PROVIDE_IFELSE([AC_PROG_F77],
++  [LT_LANG(F77)],
++  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
++
++AC_PROVIDE_IFELSE([AC_PROG_FC],
++  [LT_LANG(FC)],
++  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
++
++dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
++dnl pulling things in needlessly.
++AC_PROVIDE_IFELSE([AC_PROG_GCJ],
++  [LT_LANG(GCJ)],
++  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
++    [LT_LANG(GCJ)],
++    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
++      [LT_LANG(GCJ)],
++      [m4_ifdef([AC_PROG_GCJ],
++	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
++       m4_ifdef([A][M_PROG_GCJ],
++	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
++       m4_ifdef([LT_PROG_GCJ],
++	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
++
++AC_PROVIDE_IFELSE([AC_PROG_GO],
++  [LT_LANG(GO)],
++  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
++
++AC_PROVIDE_IFELSE([LT_PROG_RC],
++  [LT_LANG(RC)],
++  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
++])# _LT_LANG_DEFAULT_CONFIG
++
++# Obsolete macros:
++AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
++AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
++AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
++AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
++AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
++dnl AC_DEFUN([AC_LIBTOOL_F77], [])
++dnl AC_DEFUN([AC_LIBTOOL_FC], [])
++dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
++dnl AC_DEFUN([AC_LIBTOOL_RC], [])
++
++
++# _LT_TAG_COMPILER
++# ----------------
++m4_defun([_LT_TAG_COMPILER],
++[AC_REQUIRE([AC_PROG_CC])dnl
++
++_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
++_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
++_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
++_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
++
++# If no C compiler was specified, use CC.
++LTCC=${LTCC-"$CC"}
++
++# If no C compiler flags were specified, use CFLAGS.
++LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
++
++# Allow CC to be a program name with arguments.
++compiler=$CC
++])# _LT_TAG_COMPILER
++
++
++# _LT_COMPILER_BOILERPLATE
++# ------------------------
++# Check for compiler boilerplate output or warnings with
++# the simple compiler test code.
++m4_defun([_LT_COMPILER_BOILERPLATE],
++[m4_require([_LT_DECL_SED])dnl
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_compile_test_code" >conftest.$ac_ext
++eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_compiler_boilerplate=`cat conftest.err`
++$RM conftest*
++])# _LT_COMPILER_BOILERPLATE
++
++
++# _LT_LINKER_BOILERPLATE
++# ----------------------
++# Check for linker boilerplate output or warnings with
++# the simple link test code.
++m4_defun([_LT_LINKER_BOILERPLATE],
++[m4_require([_LT_DECL_SED])dnl
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_link_test_code" >conftest.$ac_ext
++eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_linker_boilerplate=`cat conftest.err`
++$RM -r conftest*
++])# _LT_LINKER_BOILERPLATE
++
++# _LT_REQUIRED_DARWIN_CHECKS
++# -------------------------
++m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
++  case $host_os in
++    rhapsody* | darwin*)
++    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
++    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
++    AC_CHECK_TOOL([LIPO], [lipo], [:])
++    AC_CHECK_TOOL([OTOOL], [otool], [:])
++    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
++    _LT_DECL([], [DSYMUTIL], [1],
++      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
++    _LT_DECL([], [NMEDIT], [1],
++      [Tool to change global to local symbols on Mac OS X])
++    _LT_DECL([], [LIPO], [1],
++      [Tool to manipulate fat objects and archives on Mac OS X])
++    _LT_DECL([], [OTOOL], [1],
++      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
++    _LT_DECL([], [OTOOL64], [1],
++      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
++
++    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
++      [lt_cv_apple_cc_single_mod=no
++      if test -z "${LT_MULTI_MODULE}"; then
++	# By default we will add the -single_module flag. You can override
++	# by either setting the environment variable LT_MULTI_MODULE
++	# non-empty at configure time, or by adding -multi_module to the
++	# link flags.
++	rm -rf libconftest.dylib*
++	echo "int foo(void){return 1;}" > conftest.c
++	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
++	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
++        _lt_result=$?
++	# If there is a non-empty error log, and "single_module"
++	# appears in it, assume the flag caused a linker warning
++        if test -s conftest.err && $GREP single_module conftest.err; then
++	  cat conftest.err >&AS_MESSAGE_LOG_FD
++	# Otherwise, if the output was created with a 0 exit code from
++	# the compiler, it worked.
++	elif test -f libconftest.dylib && test $_lt_result -eq 0; then
++	  lt_cv_apple_cc_single_mod=yes
++	else
++	  cat conftest.err >&AS_MESSAGE_LOG_FD
++	fi
++	rm -rf libconftest.dylib*
++	rm -f conftest.*
++      fi])
++
++    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
++      [lt_cv_ld_exported_symbols_list],
++      [lt_cv_ld_exported_symbols_list=no
++      save_LDFLAGS=$LDFLAGS
++      echo "_main" > conftest.sym
++      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
++      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
++	[lt_cv_ld_exported_symbols_list=yes],
++	[lt_cv_ld_exported_symbols_list=no])
++	LDFLAGS="$save_LDFLAGS"
++    ])
++
++    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
++      [lt_cv_ld_force_load=no
++      cat > conftest.c << _LT_EOF
++int forced_loaded() { return 2;}
++_LT_EOF
++      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
++      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
++      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
++      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
++      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
++      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
++      cat > conftest.c << _LT_EOF
++int main() { return 0;}
++_LT_EOF
++      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
++      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
++      _lt_result=$?
++      if test -s conftest.err && $GREP force_load conftest.err; then
++	cat conftest.err >&AS_MESSAGE_LOG_FD
++      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
++	lt_cv_ld_force_load=yes
++      else
++	cat conftest.err >&AS_MESSAGE_LOG_FD
++      fi
++        rm -f conftest.err libconftest.a conftest conftest.c
++        rm -rf conftest.dSYM
++    ])
++    case $host_os in
++    rhapsody* | darwin1.[[012]])
++      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
++    darwin1.*)
++      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++    darwin*) # darwin 5.x on
++      # if running on 10.5 or later, the deployment target defaults
++      # to the OS version, if on x86, and 10.4, the deployment
++      # target defaults to 10.4. Don't you love it?
++      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
++	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
++	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++	10.[[012]]*)
++	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++	10.*)
++	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++      esac
++    ;;
++  esac
++    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
++      _lt_dar_single_mod='$single_module'
++    fi
++    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
++      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
++    else
++      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
++    fi
++    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
++      _lt_dsymutil='~$DSYMUTIL $lib || :'
++    else
++      _lt_dsymutil=
++    fi
++    ;;
++  esac
++])
++
++
++# _LT_DARWIN_LINKER_FEATURES([TAG])
++# ---------------------------------
++# Checks for linker and compiler features on darwin
++m4_defun([_LT_DARWIN_LINKER_FEATURES],
++[
++  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
++  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++  _LT_TAGVAR(hardcode_direct, $1)=no
++  _LT_TAGVAR(hardcode_automatic, $1)=yes
++  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
++  if test "$lt_cv_ld_force_load" = "yes"; then
++    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
++    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
++                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
++  else
++    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
++  fi
++  _LT_TAGVAR(link_all_deplibs, $1)=yes
++  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
++  case $cc_basename in
++     ifort*) _lt_dar_can_shared=yes ;;
++     *) _lt_dar_can_shared=$GCC ;;
++  esac
++  if test "$_lt_dar_can_shared" = "yes"; then
++    output_verbose_link_cmd=func_echo_all
++    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
++    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
++    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
++    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
++    m4_if([$1], [CXX],
++[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
++      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
++      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
++    fi
++],[])
++  else
++  _LT_TAGVAR(ld_shlibs, $1)=no
++  fi
++])
++
++# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
++# ----------------------------------
++# Links a minimal program and checks the executable
++# for the system default hardcoded library path. In most cases,
++# this is /usr/lib:/lib, but when the MPI compilers are used
++# the location of the communication and MPI libs are included too.
++# If we don't find anything, use the default library path according
++# to the aix ld manual.
++# Store the results from the different compilers for each TAGNAME.
++# Allow to override them for all tags through lt_cv_aix_libpath.
++m4_defun([_LT_SYS_MODULE_PATH_AIX],
++[m4_require([_LT_DECL_SED])dnl
++if test "${lt_cv_aix_libpath+set}" = set; then
++  aix_libpath=$lt_cv_aix_libpath
++else
++  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
++  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
++  lt_aix_libpath_sed='[
++      /Import File Strings/,/^$/ {
++	  /^0/ {
++	      s/^0  *\([^ ]*\) *$/\1/
++	      p
++	  }
++      }]'
++  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++  # Check for a 64-bit object if we didn't find anything.
++  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
++    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++  fi],[])
++  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
++    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
++  fi
++  ])
++  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
++fi
++])# _LT_SYS_MODULE_PATH_AIX
++
++
++# _LT_SHELL_INIT(ARG)
++# -------------------
++m4_define([_LT_SHELL_INIT],
++[m4_divert_text([M4SH-INIT], [$1
++])])# _LT_SHELL_INIT
++
++
++
++# _LT_PROG_ECHO_BACKSLASH
++# -----------------------
++# Find how we can fake an echo command that does not interpret backslash.
++# In particular, with Autoconf 2.60 or later we add some code to the start
++# of the generated configure script which will find a shell with a builtin
++# printf (which we can use as an echo command).
++m4_defun([_LT_PROG_ECHO_BACKSLASH],
++[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
++ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
++ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
++
++AC_MSG_CHECKING([how to print strings])
++# Test print first, because it will be a builtin if present.
++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
++   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
++  ECHO='print -r --'
++elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
++  ECHO='printf %s\n'
++else
++  # Use this function as a fallback that always works.
++  func_fallback_echo ()
++  {
++    eval 'cat <<_LTECHO_EOF
++$[]1
++_LTECHO_EOF'
++  }
++  ECHO='func_fallback_echo'
++fi
++
++# func_echo_all arg...
++# Invoke $ECHO with all args, space-separated.
++func_echo_all ()
++{
++    $ECHO "$*" 
++}
++
++case "$ECHO" in
++  printf*) AC_MSG_RESULT([printf]) ;;
++  print*) AC_MSG_RESULT([print -r]) ;;
++  *) AC_MSG_RESULT([cat]) ;;
++esac
++
++m4_ifdef([_AS_DETECT_SUGGESTED],
++[_AS_DETECT_SUGGESTED([
++  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
++    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
++    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
++    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
++    PATH=/empty FPATH=/empty; export PATH FPATH
++    test "X`printf %s $ECHO`" = "X$ECHO" \
++      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
++
++_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
++_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
++])# _LT_PROG_ECHO_BACKSLASH
++
++
++# _LT_WITH_SYSROOT
++# ----------------
++AC_DEFUN([_LT_WITH_SYSROOT],
++[AC_MSG_CHECKING([for sysroot])
++AC_ARG_WITH([sysroot],
++[  --with-sysroot[=DIR] Search for dependent libraries within DIR
++                        (or the compiler's sysroot if not specified).],
++[], [with_sysroot=no])
++
++dnl lt_sysroot will always be passed unquoted.  We quote it here
++dnl in case the user passed a directory name.
++lt_sysroot=
++case ${with_sysroot} in #(
++ yes)
++   if test "$GCC" = yes; then
++     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
++   fi
++   ;; #(
++ /*)
++   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
++   ;; #(
++ no|'')
++   ;; #(
++ *)
++   AC_MSG_RESULT([${with_sysroot}])
++   AC_MSG_ERROR([The sysroot must be an absolute path.])
++   ;;
++esac
++
++ AC_MSG_RESULT([${lt_sysroot:-no}])
++_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
++[dependent libraries, and in which our libraries should be installed.])])
++
++# _LT_ENABLE_LOCK
++# ---------------
++m4_defun([_LT_ENABLE_LOCK],
++[AC_ARG_ENABLE([libtool-lock],
++  [AS_HELP_STRING([--disable-libtool-lock],
++    [avoid locking (might break parallel builds)])])
++test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
++
++# Some flags need to be propagated to the compiler or linker for good
++# libtool support.
++case $host in
++ia64-*-hpux*)
++  # Find out which ABI we are using.
++  echo 'int i;' > conftest.$ac_ext
++  if AC_TRY_EVAL(ac_compile); then
++    case `/usr/bin/file conftest.$ac_objext` in
++      *ELF-32*)
++	HPUX_IA64_MODE="32"
++	;;
++      *ELF-64*)
++	HPUX_IA64_MODE="64"
++	;;
++    esac
++  fi
++  rm -rf conftest*
++  ;;
++*-*-irix6*)
++  # Find out which ABI we are using.
++  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
++  if AC_TRY_EVAL(ac_compile); then
++    if test "$lt_cv_prog_gnu_ld" = yes; then
++      case `/usr/bin/file conftest.$ac_objext` in
++	*32-bit*)
++	  LD="${LD-ld} -melf32bsmip"
++	  ;;
++	*N32*)
++	  LD="${LD-ld} -melf32bmipn32"
++	  ;;
++	*64-bit*)
++	  LD="${LD-ld} -melf64bmip"
++	;;
++      esac
++    else
++      case `/usr/bin/file conftest.$ac_objext` in
++	*32-bit*)
++	  LD="${LD-ld} -32"
++	  ;;
++	*N32*)
++	  LD="${LD-ld} -n32"
++	  ;;
++	*64-bit*)
++	  LD="${LD-ld} -64"
++	  ;;
++      esac
++    fi
++  fi
++  rm -rf conftest*
++  ;;
++
++x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
++s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
++  # Find out which ABI we are using.
++  echo 'int i;' > conftest.$ac_ext
++  if AC_TRY_EVAL(ac_compile); then
++    case `/usr/bin/file conftest.o` in
++      *32-bit*)
++	case $host in
++	  x86_64-*kfreebsd*-gnu)
++	    LD="${LD-ld} -m elf_i386_fbsd"
++	    ;;
++	  x86_64-*linux*)
++	    case `/usr/bin/file conftest.o` in
++	      *x86-64*)
++		LD="${LD-ld} -m elf32_x86_64"
++		;;
++	      *)
++		LD="${LD-ld} -m elf_i386"
++		;;
++	    esac
++	    ;;
++	  powerpc64le-*)
++	    LD="${LD-ld} -m elf32lppclinux"
++	    ;;
++	  powerpc64-*)
++	    LD="${LD-ld} -m elf32ppclinux"
++	    ;;
++	  s390x-*linux*)
++	    LD="${LD-ld} -m elf_s390"
++	    ;;
++	  sparc64-*linux*)
++	    LD="${LD-ld} -m elf32_sparc"
++	    ;;
++	esac
++	;;
++      *64-bit*)
++	case $host in
++	  x86_64-*kfreebsd*-gnu)
++	    LD="${LD-ld} -m elf_x86_64_fbsd"
++	    ;;
++	  x86_64-*linux*)
++	    LD="${LD-ld} -m elf_x86_64"
++	    ;;
++	  powerpcle-*)
++	    LD="${LD-ld} -m elf64lppc"
++	    ;;
++	  powerpc-*)
++	    LD="${LD-ld} -m elf64ppc"
++	    ;;
++	  s390*-*linux*|s390*-*tpf*)
++	    LD="${LD-ld} -m elf64_s390"
++	    ;;
++	  sparc*-*linux*)
++	    LD="${LD-ld} -m elf64_sparc"
++	    ;;
++	esac
++	;;
++    esac
++  fi
++  rm -rf conftest*
++  ;;
++
++*-*-sco3.2v5*)
++  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
++  SAVE_CFLAGS="$CFLAGS"
++  CFLAGS="$CFLAGS -belf"
++  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
++    [AC_LANG_PUSH(C)
++     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
++     AC_LANG_POP])
++  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
++    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
++    CFLAGS="$SAVE_CFLAGS"
++  fi
++  ;;
++*-*solaris*)
++  # Find out which ABI we are using.
++  echo 'int i;' > conftest.$ac_ext
++  if AC_TRY_EVAL(ac_compile); then
++    case `/usr/bin/file conftest.o` in
++    *64-bit*)
++      case $lt_cv_prog_gnu_ld in
++      yes*)
++        case $host in
++        i?86-*-solaris*)
++          LD="${LD-ld} -m elf_x86_64"
++          ;;
++        sparc*-*-solaris*)
++          LD="${LD-ld} -m elf64_sparc"
++          ;;
++        esac
++        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
++        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
++          LD="${LD-ld}_sol2"
++        fi
++        ;;
++      *)
++	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
++	  LD="${LD-ld} -64"
++	fi
++	;;
++      esac
++      ;;
++    esac
++  fi
++  rm -rf conftest*
++  ;;
++esac
++
++need_locks="$enable_libtool_lock"
++])# _LT_ENABLE_LOCK
++
++
++# _LT_PROG_AR
++# -----------
++m4_defun([_LT_PROG_AR],
++[AC_CHECK_TOOLS(AR, [ar], false)
++: ${AR=ar}
++: ${AR_FLAGS=cru}
++_LT_DECL([], [AR], [1], [The archiver])
++_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
++
++AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
++  [lt_cv_ar_at_file=no
++   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
++     [echo conftest.$ac_objext > conftest.lst
++      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
++      AC_TRY_EVAL([lt_ar_try])
++      if test "$ac_status" -eq 0; then
++	# Ensure the archiver fails upon bogus file names.
++	rm -f conftest.$ac_objext libconftest.a
++	AC_TRY_EVAL([lt_ar_try])
++	if test "$ac_status" -ne 0; then
++          lt_cv_ar_at_file=@
++        fi
++      fi
++      rm -f conftest.* libconftest.a
++     ])
++  ])
++
++if test "x$lt_cv_ar_at_file" = xno; then
++  archiver_list_spec=
++else
++  archiver_list_spec=$lt_cv_ar_at_file
++fi
++_LT_DECL([], [archiver_list_spec], [1],
++  [How to feed a file listing to the archiver])
++])# _LT_PROG_AR
++
++
++# _LT_CMD_OLD_ARCHIVE
++# -------------------
++m4_defun([_LT_CMD_OLD_ARCHIVE],
++[_LT_PROG_AR
++
++AC_CHECK_TOOL(STRIP, strip, :)
++test -z "$STRIP" && STRIP=:
++_LT_DECL([], [STRIP], [1], [A symbol stripping program])
++
++AC_CHECK_TOOL(RANLIB, ranlib, :)
++test -z "$RANLIB" && RANLIB=:
++_LT_DECL([], [RANLIB], [1],
++    [Commands used to install an old-style archive])
++
++# Determine commands to create old-style static archives.
++old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
++old_postinstall_cmds='chmod 644 $oldlib'
++old_postuninstall_cmds=
++
++if test -n "$RANLIB"; then
++  case $host_os in
++  openbsd*)
++    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
++    ;;
++  *)
++    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
++    ;;
++  esac
++  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
++fi
++
++case $host_os in
++  darwin*)
++    lock_old_archive_extraction=yes ;;
++  *)
++    lock_old_archive_extraction=no ;;
++esac
++_LT_DECL([], [old_postinstall_cmds], [2])
++_LT_DECL([], [old_postuninstall_cmds], [2])
++_LT_TAGDECL([], [old_archive_cmds], [2],
++    [Commands used to build an old-style archive])
++_LT_DECL([], [lock_old_archive_extraction], [0],
++    [Whether to use a lock for old archive extraction])
++])# _LT_CMD_OLD_ARCHIVE
++
++
++# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
++#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
++# ----------------------------------------------------------------
++# Check whether the given compiler option works
++AC_DEFUN([_LT_COMPILER_OPTION],
++[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_SED])dnl
++AC_CACHE_CHECK([$1], [$2],
++  [$2=no
++   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
++   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++   lt_compiler_flag="$3"
++   # Insert the option either (1) after the last *FLAGS variable, or
++   # (2) before a word containing "conftest.", or (3) at the end.
++   # Note that $ac_compile itself does not contain backslashes and begins
++   # with a dollar sign (not a hyphen), so the echo should work correctly.
++   # The option is referenced via a variable to avoid confusing sed.
++   lt_compile=`echo "$ac_compile" | $SED \
++   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
++   -e 's:$: $lt_compiler_flag:'`
++   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
++   (eval "$lt_compile" 2>conftest.err)
++   ac_status=$?
++   cat conftest.err >&AS_MESSAGE_LOG_FD
++   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
++   if (exit $ac_status) && test -s "$ac_outfile"; then
++     # The compiler can only warn and ignore the option if not recognized
++     # So say no if there are warnings other than the usual output.
++     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
++     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
++       $2=yes
++     fi
++   fi
++   $RM conftest*
++])
++
++if test x"[$]$2" = xyes; then
++    m4_if([$5], , :, [$5])
++else
++    m4_if([$6], , :, [$6])
++fi
++])# _LT_COMPILER_OPTION
++
++# Old name:
++AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
++
++
++# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
++#                  [ACTION-SUCCESS], [ACTION-FAILURE])
++# ----------------------------------------------------
++# Check whether the given linker option works
++AC_DEFUN([_LT_LINKER_OPTION],
++[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_SED])dnl
++AC_CACHE_CHECK([$1], [$2],
++  [$2=no
++   save_LDFLAGS="$LDFLAGS"
++   LDFLAGS="$LDFLAGS $3"
++   echo "$lt_simple_link_test_code" > conftest.$ac_ext
++   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
++     # The linker can only warn and ignore the option if not recognized
++     # So say no if there are warnings
++     if test -s conftest.err; then
++       # Append any errors to the config.log.
++       cat conftest.err 1>&AS_MESSAGE_LOG_FD
++       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
++       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++       if diff conftest.exp conftest.er2 >/dev/null; then
++         $2=yes
++       fi
++     else
++       $2=yes
++     fi
++   fi
++   $RM -r conftest*
++   LDFLAGS="$save_LDFLAGS"
++])
++
++if test x"[$]$2" = xyes; then
++    m4_if([$4], , :, [$4])
++else
++    m4_if([$5], , :, [$5])
++fi
++])# _LT_LINKER_OPTION
++
++# Old name:
++AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
++
++
++# LT_CMD_MAX_LEN
++#---------------
++AC_DEFUN([LT_CMD_MAX_LEN],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++# find the maximum length of command line arguments
++AC_MSG_CHECKING([the maximum length of command line arguments])
++AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
++  i=0
++  teststring="ABCD"
++
++  case $build_os in
++  msdosdjgpp*)
++    # On DJGPP, this test can blow up pretty badly due to problems in libc
++    # (any single argument exceeding 2000 bytes causes a buffer overrun
++    # during glob expansion).  Even if it were fixed, the result of this
++    # check would be larger than it should be.
++    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
++    ;;
++
++  gnu*)
++    # Under GNU Hurd, this test is not required because there is
++    # no limit to the length of command line arguments.
++    # Libtool will interpret -1 as no limit whatsoever
++    lt_cv_sys_max_cmd_len=-1;
++    ;;
++
++  cygwin* | mingw* | cegcc*)
++    # On Win9x/ME, this test blows up -- it succeeds, but takes
++    # about 5 minutes as the teststring grows exponentially.
++    # Worse, since 9x/ME are not pre-emptively multitasking,
++    # you end up with a "frozen" computer, even though with patience
++    # the test eventually succeeds (with a max line length of 256k).
++    # Instead, let's just punt: use the minimum linelength reported by
++    # all of the supported platforms: 8192 (on NT/2K/XP).
++    lt_cv_sys_max_cmd_len=8192;
++    ;;
++
++  mint*)
++    # On MiNT this can take a long time and run out of memory.
++    lt_cv_sys_max_cmd_len=8192;
++    ;;
++
++  amigaos*)
++    # On AmigaOS with pdksh, this test takes hours, literally.
++    # So we just punt and use a minimum line length of 8192.
++    lt_cv_sys_max_cmd_len=8192;
++    ;;
++
++  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
++    # This has been around since 386BSD, at least.  Likely further.
++    if test -x /sbin/sysctl; then
++      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
++    elif test -x /usr/sbin/sysctl; then
++      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
++    else
++      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
++    fi
++    # And add a safety zone
++    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++    ;;
++
++  interix*)
++    # We know the value 262144 and hardcode it with a safety zone (like BSD)
++    lt_cv_sys_max_cmd_len=196608
++    ;;
++
++  os2*)
++    # The test takes a long time on OS/2.
++    lt_cv_sys_max_cmd_len=8192
++    ;;
++
++  osf*)
++    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
++    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
++    # nice to cause kernel panics so lets avoid the loop below.
++    # First set a reasonable default.
++    lt_cv_sys_max_cmd_len=16384
++    #
++    if test -x /sbin/sysconfig; then
++      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
++        *1*) lt_cv_sys_max_cmd_len=-1 ;;
++      esac
++    fi
++    ;;
++  sco3.2v5*)
++    lt_cv_sys_max_cmd_len=102400
++    ;;
++  sysv5* | sco5v6* | sysv4.2uw2*)
++    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
++    if test -n "$kargmax"; then
++      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
++    else
++      lt_cv_sys_max_cmd_len=32768
++    fi
++    ;;
++  *)
++    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
++    if test -n "$lt_cv_sys_max_cmd_len" && \
++	test undefined != "$lt_cv_sys_max_cmd_len"; then
++      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++    else
++      # Make teststring a little bigger before we do anything with it.
++      # a 1K string should be a reasonable start.
++      for i in 1 2 3 4 5 6 7 8 ; do
++        teststring=$teststring$teststring
++      done
++      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
++      # If test is not a shell built-in, we'll probably end up computing a
++      # maximum length that is only half of the actual maximum length, but
++      # we can't tell.
++      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
++	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
++	      test $i != 17 # 1/2 MB should be enough
++      do
++        i=`expr $i + 1`
++        teststring=$teststring$teststring
++      done
++      # Only check the string length outside the loop.
++      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
++      teststring=
++      # Add a significant safety factor because C++ compilers can tack on
++      # massive amounts of additional arguments before passing them to the
++      # linker.  It appears as though 1/2 is a usable value.
++      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
++    fi
++    ;;
++  esac
++])
++if test -n $lt_cv_sys_max_cmd_len ; then
++  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
++else
++  AC_MSG_RESULT(none)
++fi
++max_cmd_len=$lt_cv_sys_max_cmd_len
++_LT_DECL([], [max_cmd_len], [0],
++    [What is the maximum length of a command?])
++])# LT_CMD_MAX_LEN
++
++# Old name:
++AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
++
++
++# _LT_HEADER_DLFCN
++# ----------------
++m4_defun([_LT_HEADER_DLFCN],
++[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
++])# _LT_HEADER_DLFCN
++
++
++# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
++#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
++# ----------------------------------------------------------------
++m4_defun([_LT_TRY_DLOPEN_SELF],
++[m4_require([_LT_HEADER_DLFCN])dnl
++if test "$cross_compiling" = yes; then :
++  [$4]
++else
++  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
++  lt_status=$lt_dlunknown
++  cat > conftest.$ac_ext <<_LT_EOF
++[#line $LINENO "configure"
++#include "confdefs.h"
++
++#if HAVE_DLFCN_H
++#include <dlfcn.h>
++#endif
++
++#include <stdio.h>
++
++#ifdef RTLD_GLOBAL
++#  define LT_DLGLOBAL		RTLD_GLOBAL
++#else
++#  ifdef DL_GLOBAL
++#    define LT_DLGLOBAL		DL_GLOBAL
++#  else
++#    define LT_DLGLOBAL		0
++#  endif
++#endif
++
++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
++   find out it does not work in some platform. */
++#ifndef LT_DLLAZY_OR_NOW
++#  ifdef RTLD_LAZY
++#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
++#  else
++#    ifdef DL_LAZY
++#      define LT_DLLAZY_OR_NOW		DL_LAZY
++#    else
++#      ifdef RTLD_NOW
++#        define LT_DLLAZY_OR_NOW	RTLD_NOW
++#      else
++#        ifdef DL_NOW
++#          define LT_DLLAZY_OR_NOW	DL_NOW
++#        else
++#          define LT_DLLAZY_OR_NOW	0
++#        endif
++#      endif
++#    endif
++#  endif
++#endif
++
++/* When -fvisbility=hidden is used, assume the code has been annotated
++   correspondingly for the symbols needed.  */
++#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
++int fnord () __attribute__((visibility("default")));
++#endif
++
++int fnord () { return 42; }
++int main ()
++{
++  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
++  int status = $lt_dlunknown;
++
++  if (self)
++    {
++      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
++      else
++        {
++	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
++          else puts (dlerror ());
++	}
++      /* dlclose (self); */
++    }
++  else
++    puts (dlerror ());
++
++  return status;
++}]
++_LT_EOF
++  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
++    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
++    lt_status=$?
++    case x$lt_status in
++      x$lt_dlno_uscore) $1 ;;
++      x$lt_dlneed_uscore) $2 ;;
++      x$lt_dlunknown|x*) $3 ;;
++    esac
++  else :
++    # compilation failed
++    $3
++  fi
++fi
++rm -fr conftest*
++])# _LT_TRY_DLOPEN_SELF
++
++
++# LT_SYS_DLOPEN_SELF
++# ------------------
++AC_DEFUN([LT_SYS_DLOPEN_SELF],
++[m4_require([_LT_HEADER_DLFCN])dnl
++if test "x$enable_dlopen" != xyes; then
++  enable_dlopen=unknown
++  enable_dlopen_self=unknown
++  enable_dlopen_self_static=unknown
++else
++  lt_cv_dlopen=no
++  lt_cv_dlopen_libs=
++
++  case $host_os in
++  beos*)
++    lt_cv_dlopen="load_add_on"
++    lt_cv_dlopen_libs=
++    lt_cv_dlopen_self=yes
++    ;;
++
++  mingw* | pw32* | cegcc*)
++    lt_cv_dlopen="LoadLibrary"
++    lt_cv_dlopen_libs=
++    ;;
++
++  cygwin*)
++    lt_cv_dlopen="dlopen"
++    lt_cv_dlopen_libs=
++    ;;
++
++  darwin*)
++  # if libdl is installed we need to link against it
++    AC_CHECK_LIB([dl], [dlopen],
++		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
++    lt_cv_dlopen="dyld"
++    lt_cv_dlopen_libs=
++    lt_cv_dlopen_self=yes
++    ])
++    ;;
++
++  *)
++    AC_CHECK_FUNC([shl_load],
++	  [lt_cv_dlopen="shl_load"],
++      [AC_CHECK_LIB([dld], [shl_load],
++	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
++	[AC_CHECK_FUNC([dlopen],
++	      [lt_cv_dlopen="dlopen"],
++	  [AC_CHECK_LIB([dl], [dlopen],
++		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
++	    [AC_CHECK_LIB([svld], [dlopen],
++		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
++	      [AC_CHECK_LIB([dld], [dld_link],
++		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
++	      ])
++	    ])
++	  ])
++	])
++      ])
++    ;;
++  esac
++
++  if test "x$lt_cv_dlopen" != xno; then
++    enable_dlopen=yes
++  else
++    enable_dlopen=no
++  fi
++
++  case $lt_cv_dlopen in
++  dlopen)
++    save_CPPFLAGS="$CPPFLAGS"
++    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
++
++    save_LDFLAGS="$LDFLAGS"
++    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
++
++    save_LIBS="$LIBS"
++    LIBS="$lt_cv_dlopen_libs $LIBS"
++
++    AC_CACHE_CHECK([whether a program can dlopen itself],
++	  lt_cv_dlopen_self, [dnl
++	  _LT_TRY_DLOPEN_SELF(
++	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
++	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
++    ])
++
++    if test "x$lt_cv_dlopen_self" = xyes; then
++      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
++      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
++	  lt_cv_dlopen_self_static, [dnl
++	  _LT_TRY_DLOPEN_SELF(
++	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
++	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
++      ])
++    fi
++
++    CPPFLAGS="$save_CPPFLAGS"
++    LDFLAGS="$save_LDFLAGS"
++    LIBS="$save_LIBS"
++    ;;
++  esac
++
++  case $lt_cv_dlopen_self in
++  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
++  *) enable_dlopen_self=unknown ;;
++  esac
++
++  case $lt_cv_dlopen_self_static in
++  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
++  *) enable_dlopen_self_static=unknown ;;
++  esac
++fi
++_LT_DECL([dlopen_support], [enable_dlopen], [0],
++	 [Whether dlopen is supported])
++_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
++	 [Whether dlopen of programs is supported])
++_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
++	 [Whether dlopen of statically linked programs is supported])
++])# LT_SYS_DLOPEN_SELF
++
++# Old name:
++AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
++
++
++# _LT_COMPILER_C_O([TAGNAME])
++# ---------------------------
++# Check to see if options -c and -o are simultaneously supported by compiler.
++# This macro does not hard code the compiler like AC_PROG_CC_C_O.
++m4_defun([_LT_COMPILER_C_O],
++[m4_require([_LT_DECL_SED])dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_TAG_COMPILER])dnl
++AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
++  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
++  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
++   $RM -r conftest 2>/dev/null
++   mkdir conftest
++   cd conftest
++   mkdir out
++   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++   lt_compiler_flag="-o out/conftest2.$ac_objext"
++   # Insert the option either (1) after the last *FLAGS variable, or
++   # (2) before a word containing "conftest.", or (3) at the end.
++   # Note that $ac_compile itself does not contain backslashes and begins
++   # with a dollar sign (not a hyphen), so the echo should work correctly.
++   lt_compile=`echo "$ac_compile" | $SED \
++   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
++   -e 's:$: $lt_compiler_flag:'`
++   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
++   (eval "$lt_compile" 2>out/conftest.err)
++   ac_status=$?
++   cat out/conftest.err >&AS_MESSAGE_LOG_FD
++   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
++   if (exit $ac_status) && test -s out/conftest2.$ac_objext
++   then
++     # The compiler can only warn and ignore the option if not recognized
++     # So say no if there are warnings
++     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
++     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
++     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
++       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
++     fi
++   fi
++   chmod u+w . 2>&AS_MESSAGE_LOG_FD
++   $RM conftest*
++   # SGI C++ compiler will create directory out/ii_files/ for
++   # template instantiation
++   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
++   $RM out/* && rmdir out
++   cd ..
++   $RM -r conftest
++   $RM conftest*
++])
++_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
++	[Does compiler simultaneously support -c and -o options?])
++])# _LT_COMPILER_C_O
++
++
++# _LT_COMPILER_FILE_LOCKS([TAGNAME])
++# ----------------------------------
++# Check to see if we can do hard links to lock some files if needed
++m4_defun([_LT_COMPILER_FILE_LOCKS],
++[m4_require([_LT_ENABLE_LOCK])dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++_LT_COMPILER_C_O([$1])
++
++hard_links="nottested"
++if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
++  # do not overwrite the value of need_locks provided by the user
++  AC_MSG_CHECKING([if we can lock with hard links])
++  hard_links=yes
++  $RM conftest*
++  ln conftest.a conftest.b 2>/dev/null && hard_links=no
++  touch conftest.a
++  ln conftest.a conftest.b 2>&5 || hard_links=no
++  ln conftest.a conftest.b 2>/dev/null && hard_links=no
++  AC_MSG_RESULT([$hard_links])
++  if test "$hard_links" = no; then
++    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
++    need_locks=warn
++  fi
++else
++  need_locks=no
++fi
++_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
++])# _LT_COMPILER_FILE_LOCKS
++
++
++# _LT_CHECK_OBJDIR
++# ----------------
++m4_defun([_LT_CHECK_OBJDIR],
++[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
++[rm -f .libs 2>/dev/null
++mkdir .libs 2>/dev/null
++if test -d .libs; then
++  lt_cv_objdir=.libs
++else
++  # MS-DOS does not allow filenames that begin with a dot.
++  lt_cv_objdir=_libs
++fi
++rmdir .libs 2>/dev/null])
++objdir=$lt_cv_objdir
++_LT_DECL([], [objdir], [0],
++         [The name of the directory that contains temporary libtool files])dnl
++m4_pattern_allow([LT_OBJDIR])dnl
++AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
++  [Define to the sub-directory in which libtool stores uninstalled libraries.])
++])# _LT_CHECK_OBJDIR
++
++
++# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
++# --------------------------------------
++# Check hardcoding attributes.
++m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
++[AC_MSG_CHECKING([how to hardcode library paths into programs])
++_LT_TAGVAR(hardcode_action, $1)=
++if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
++   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
++   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
++
++  # We can hardcode non-existent directories.
++  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
++     # If the only mechanism to avoid hardcoding is shlibpath_var, we
++     # have to relink, otherwise we might link with an installed library
++     # when we should be linking with a yet-to-be-installed one
++     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
++     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
++    # Linking always hardcodes the temporary library directory.
++    _LT_TAGVAR(hardcode_action, $1)=relink
++  else
++    # We can link without hardcoding, and we can hardcode nonexisting dirs.
++    _LT_TAGVAR(hardcode_action, $1)=immediate
++  fi
++else
++  # We cannot hardcode anything, or else we can only hardcode existing
++  # directories.
++  _LT_TAGVAR(hardcode_action, $1)=unsupported
++fi
++AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
++
++if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
++   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
++  # Fast installation is not supported
++  enable_fast_install=no
++elif test "$shlibpath_overrides_runpath" = yes ||
++     test "$enable_shared" = no; then
++  # Fast installation is not necessary
++  enable_fast_install=needless
++fi
++_LT_TAGDECL([], [hardcode_action], [0],
++    [How to hardcode a shared library path into an executable])
++])# _LT_LINKER_HARDCODE_LIBPATH
++
++
++# _LT_CMD_STRIPLIB
++# ----------------
++m4_defun([_LT_CMD_STRIPLIB],
++[m4_require([_LT_DECL_EGREP])
++striplib=
++old_striplib=
++AC_MSG_CHECKING([whether stripping libraries is possible])
++if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
++  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
++  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
++  AC_MSG_RESULT([yes])
++else
++# FIXME - insert some real tests, host_os isn't really good enough
++  case $host_os in
++  darwin*)
++    if test -n "$STRIP" ; then
++      striplib="$STRIP -x"
++      old_striplib="$STRIP -S"
++      AC_MSG_RESULT([yes])
++    else
++      AC_MSG_RESULT([no])
++    fi
++    ;;
++  *)
++    AC_MSG_RESULT([no])
++    ;;
++  esac
++fi
++_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
++_LT_DECL([], [striplib], [1])
++])# _LT_CMD_STRIPLIB
++
++
++# _LT_SYS_DYNAMIC_LINKER([TAG])
++# -----------------------------
++# PORTME Fill in your ld.so characteristics
++m4_defun([_LT_SYS_DYNAMIC_LINKER],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++m4_require([_LT_DECL_EGREP])dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_OBJDUMP])dnl
++m4_require([_LT_DECL_SED])dnl
++m4_require([_LT_CHECK_SHELL_FEATURES])dnl
++AC_MSG_CHECKING([dynamic linker characteristics])
++m4_if([$1],
++	[], [
++if test "$GCC" = yes; then
++  case $host_os in
++    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
++    *) lt_awk_arg="/^libraries:/" ;;
++  esac
++  case $host_os in
++    mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
++    *) lt_sed_strip_eq="s,=/,/,g" ;;
++  esac
++  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
++  case $lt_search_path_spec in
++  *\;*)
++    # if the path contains ";" then we assume it to be the separator
++    # otherwise default to the standard path separator (i.e. ":") - it is
++    # assumed that no part of a normal pathname contains ";" but that should
++    # okay in the real world where ";" in dirpaths is itself problematic.
++    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
++    ;;
++  *)
++    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
++    ;;
++  esac
++  # Ok, now we have the path, separated by spaces, we can step through it
++  # and add multilib dir if necessary.
++  lt_tmp_lt_search_path_spec=
++  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
++  for lt_sys_path in $lt_search_path_spec; do
++    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
++      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
++    else
++      test -d "$lt_sys_path" && \
++	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
++    fi
++  done
++  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
++BEGIN {RS=" "; FS="/|\n";} {
++  lt_foo="";
++  lt_count=0;
++  for (lt_i = NF; lt_i > 0; lt_i--) {
++    if ($lt_i != "" && $lt_i != ".") {
++      if ($lt_i == "..") {
++        lt_count++;
++      } else {
++        if (lt_count == 0) {
++          lt_foo="/" $lt_i lt_foo;
++        } else {
++          lt_count--;
++        }
++      }
++    }
++  }
++  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
++  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
++}'`
++  # AWK program above erroneously prepends '/' to C:/dos/paths
++  # for these hosts.
++  case $host_os in
++    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
++      $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
++  esac
++  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
++else
++  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
++fi])
++library_names_spec=
++libname_spec='lib$name'
++soname_spec=
++shrext_cmds=".so"
++postinstall_cmds=
++postuninstall_cmds=
++finish_cmds=
++finish_eval=
++shlibpath_var=
++shlibpath_overrides_runpath=unknown
++version_type=none
++dynamic_linker="$host_os ld.so"
++sys_lib_dlsearch_path_spec="/lib /usr/lib"
++need_lib_prefix=unknown
++hardcode_into_libs=no
++
++# when you set need_version to no, make sure it does not cause -set_version
++# flags to be left without arguments
++need_version=unknown
++
++case $host_os in
++aix3*)
++  version_type=linux # correct to gnu/linux during the next big refactor
++  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
++  shlibpath_var=LIBPATH
++
++  # AIX 3 has no versioning support, so we append a major version to the name.
++  soname_spec='${libname}${release}${shared_ext}$major'
++  ;;
++
++aix[[4-9]]*)
++  version_type=linux # correct to gnu/linux during the next big refactor
++  need_lib_prefix=no
++  need_version=no
++  hardcode_into_libs=yes
++  if test "$host_cpu" = ia64; then
++    # AIX 5 supports IA64
++    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
++    shlibpath_var=LD_LIBRARY_PATH
++  else
++    # With GCC up to 2.95.x, collect2 would create an import file
++    # for dependence libraries.  The import file would start with
++    # the line `#! .'.  This would cause the generated library to
++    # depend on `.', always an invalid library.  This was fixed in
++    # development snapshots of GCC prior to 3.0.
++    case $host_os in
++      aix4 | aix4.[[01]] | aix4.[[01]].*)
++      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
++	   echo ' yes '
++	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
++	:
++      else
++	can_build_shared=no
++      fi
++      ;;
++    esac
++    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
++    # soname into executable. Probably we can add versioning support to
++    # collect2, so additional links can be useful in future.
++    if test "$aix_use_runtimelinking" = yes; then
++      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
++      # instead of lib<name>.a to let people know that these are not
++      # typical AIX shared libraries.
++      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++    else
++      # We preserve .a as extension for shared libraries through AIX4.2
++      # and later when we are not doing run time linking.
++      library_names_spec='${libname}${release}.a $libname.a'
++      soname_spec='${libname}${release}${shared_ext}$major'
++    fi
++    shlibpath_var=LIBPATH
++  fi
++  ;;
++
++amigaos*)
++  case $host_cpu in
++  powerpc)
++    # Since July 2007 AmigaOS4 officially supports .so libraries.
++    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
++    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++    ;;
++  m68k)
++    library_names_spec='$libname.ixlibrary $libname.a'
++    # Create ${libname}_ixlibrary.a entries in /sys/libs.
++    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
++    ;;
++  esac
++  ;;
++
++beos*)
++  library_names_spec='${libname}${shared_ext}'
++  dynamic_linker="$host_os ld.so"
++  shlibpath_var=LIBRARY_PATH
++  ;;
++
++bsdi[[45]]*)
++  version_type=linux # correct to gnu/linux during the next big refactor
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
++  shlibpath_var=LD_LIBRARY_PATH
++  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
++  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
++  # the default ld.so.conf also contains /usr/contrib/lib and
++  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
++  # libtool to hard-code these into programs
++  ;;
++
++cygwin* | mingw* | pw32* | cegcc*)
++  version_type=windows
++  shrext_cmds=".dll"
++  need_version=no
++  need_lib_prefix=no
++
++  case $GCC,$cc_basename in
++  yes,*)
++    # gcc
++    library_names_spec='$libname.dll.a'
++    # DLL is installed to $(libdir)/../bin by postinstall_cmds
++    postinstall_cmds='base_file=`basename \${file}`~
++      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++      dldir=$destdir/`dirname \$dlpath`~
++      test -d \$dldir || mkdir -p \$dldir~
++      $install_prog $dir/$dlname \$dldir/$dlname~
++      chmod a+x \$dldir/$dlname~
++      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
++        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
++      fi'
++    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++      dlpath=$dir/\$dldll~
++       $RM \$dlpath'
++    shlibpath_overrides_runpath=yes
++
++    case $host_os in
++    cygwin*)
++      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
++      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
++m4_if([$1], [],[
++      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
++      ;;
++    mingw* | cegcc*)
++      # MinGW DLLs use traditional 'lib' prefix
++      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
++      ;;
++    pw32*)
++      # pw32 DLLs use 'pw' prefix rather than 'lib'
++      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
++      ;;
++    esac
++    dynamic_linker='Win32 ld.exe'
++    ;;
++
++  *,cl*)
++    # Native MSVC
++    libname_spec='$name'
++    soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
++    library_names_spec='${libname}.dll.lib'
++
++    case $build_os in
++    mingw*)
++      sys_lib_search_path_spec=
++      lt_save_ifs=$IFS
++      IFS=';'
++      for lt_path in $LIB
++      do
++        IFS=$lt_save_ifs
++        # Let DOS variable expansion print the short 8.3 style file name.
++        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
++        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
++      done
++      IFS=$lt_save_ifs
++      # Convert to MSYS style.
++      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
++      ;;
++    cygwin*)
++      # Convert to unix form, then to dos form, then back to unix form
++      # but this time dos style (no spaces!) so that the unix form looks
++      # like /cygdrive/c/PROGRA~1:/cygdr...
++      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
++      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
++      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++      ;;
++    *)
++      sys_lib_search_path_spec="$LIB"
++      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
++        # It is most probably a Windows format PATH.
++        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++      else
++        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++      fi
++      # FIXME: find the short name or the path components, as spaces are
++      # common. (e.g. "Program Files" -> "PROGRA~1")
++      ;;
++    esac
++
++    # DLL is installed to $(libdir)/../bin by postinstall_cmds
++    postinstall_cmds='base_file=`basename \${file}`~
++      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++      dldir=$destdir/`dirname \$dlpath`~
++      test -d \$dldir || mkdir -p \$dldir~
++      $install_prog $dir/$dlname \$dldir/$dlname'
++    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++      dlpath=$dir/\$dldll~
++       $RM \$dlpath'
++    shlibpath_overrides_runpath=yes
++    dynamic_linker='Win32 link.exe'
++    ;;
++
++  *)
++    # Assume MSVC wrapper
++    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
++    dynamic_linker='Win32 ld.exe'
++    ;;
++  esac
++  # FIXME: first we should search . and the directory the executable is in
++  shlibpath_var=PATH
++  ;;
++
++darwin* | rhapsody*)
++  dynamic_linker="$host_os dyld"
++  version_type=darwin
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
++  soname_spec='${libname}${release}${major}$shared_ext'
++  shlibpath_overrides_runpath=yes
++  shlibpath_var=DYLD_LIBRARY_PATH
++  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
++m4_if([$1], [],[
++  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
++  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
++  ;;
++
++dgux*)
++  version_type=linux # correct to gnu/linux during the next big refactor
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  ;;
++
++freebsd* | dragonfly*)
++  # DragonFly does not have aout.  When/if they implement a new
++  # versioning mechanism, adjust this.
++  if test -x /usr/bin/objformat; then
++    objformat=`/usr/bin/objformat`
++  else
++    case $host_os in
++    freebsd[[23]].*) objformat=aout ;;
++    *) objformat=elf ;;
++    esac
++  fi
++  version_type=freebsd-$objformat
++  case $version_type in
++    freebsd-elf*)
++      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
++      need_version=no
++      need_lib_prefix=no
++      ;;
++    freebsd-*)
++      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
++      need_version=yes
++      ;;
++  esac
++  shlibpath_var=LD_LIBRARY_PATH
++  case $host_os in
++  freebsd2.*)
++    shlibpath_overrides_runpath=yes
++    ;;
++  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
++    shlibpath_overrides_runpath=yes
++    hardcode_into_libs=yes
++    ;;
++  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
++  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
++    shlibpath_overrides_runpath=no
++    hardcode_into_libs=yes
++    ;;
++  *) # from 4.6 on, and DragonFly
++    shlibpath_overrides_runpath=yes
++    hardcode_into_libs=yes
++    ;;
++  esac
++  ;;
++
++haiku*)
++  version_type=linux # correct to gnu/linux during the next big refactor
++  need_lib_prefix=no
++  need_version=no
++  dynamic_linker="$host_os runtime_loader"
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LIBRARY_PATH
++  shlibpath_overrides_runpath=yes
++  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
++  hardcode_into_libs=yes
++  ;;
++
++hpux9* | hpux10* | hpux11*)
++  # Give a soname corresponding to the major version so that dld.sl refuses to
++  # link against other versions.
++  version_type=sunos
++  need_lib_prefix=no
++  need_version=no
++  case $host_cpu in
++  ia64*)
++    shrext_cmds='.so'
++    hardcode_into_libs=yes
++    dynamic_linker="$host_os dld.so"
++    shlibpath_var=LD_LIBRARY_PATH
++    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
++    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++    soname_spec='${libname}${release}${shared_ext}$major'
++    if test "X$HPUX_IA64_MODE" = X32; then
++      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
++    else
++      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
++    fi
++    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
++    ;;
++  hppa*64*)
++    shrext_cmds='.sl'
++    hardcode_into_libs=yes
++    dynamic_linker="$host_os dld.sl"
++    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
++    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
++    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++    soname_spec='${libname}${release}${shared_ext}$major'
++    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
++    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
++    ;;
++  *)
++    shrext_cmds='.sl'
++    dynamic_linker="$host_os dld.sl"
++    shlibpath_var=SHLIB_PATH
++    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
++    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++    soname_spec='${libname}${release}${shared_ext}$major'
++    ;;
++  esac
++  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
++  postinstall_cmds='chmod 555 $lib'
++  # or fails outright, so override atomically:
++  install_override_mode=555
++  ;;
++
++interix[[3-9]]*)
++  version_type=linux # correct to gnu/linux during the next big refactor
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=no
++  hardcode_into_libs=yes
++  ;;
++
++irix5* | irix6* | nonstopux*)
++  case $host_os in
++    nonstopux*) version_type=nonstopux ;;
++    *)
++	if test "$lt_cv_prog_gnu_ld" = yes; then
++		version_type=linux # correct to gnu/linux during the next big refactor
++	else
++		version_type=irix
++	fi ;;
++  esac
++  need_lib_prefix=no
++  need_version=no
++  soname_spec='${libname}${release}${shared_ext}$major'
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
++  case $host_os in
++  irix5* | nonstopux*)
++    libsuff= shlibsuff=
++    ;;
++  *)
++    case $LD in # libtool.m4 will add one of these switches to LD
++    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
++      libsuff= shlibsuff= libmagic=32-bit;;
++    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
++      libsuff=32 shlibsuff=N32 libmagic=N32;;
++    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
++      libsuff=64 shlibsuff=64 libmagic=64-bit;;
++    *) libsuff= shlibsuff= libmagic=never-match;;
++    esac
++    ;;
++  esac
++  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
++  shlibpath_overrides_runpath=no
++  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
++  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
++  hardcode_into_libs=yes
++  ;;
++
++# No shared lib support for Linux oldld, aout, or coff.
++linux*oldld* | linux*aout* | linux*coff*)
++  dynamic_linker=no
++  ;;
++
++# This must be glibc/ELF.
++linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
++  version_type=linux # correct to gnu/linux during the next big refactor
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=no
++
++  # Some binutils ld are patched to set DT_RUNPATH
++  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
++    [lt_cv_shlibpath_overrides_runpath=no
++    save_LDFLAGS=$LDFLAGS
++    save_libdir=$libdir
++    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
++	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
++    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
++      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
++	 [lt_cv_shlibpath_overrides_runpath=yes])])
++    LDFLAGS=$save_LDFLAGS
++    libdir=$save_libdir
++    ])
++  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
++
++  # This implies no fast_install, which is unacceptable.
++  # Some rework will be needed to allow for fast_install
++  # before this can be enabled.
++  hardcode_into_libs=yes
++
++  # Append ld.so.conf contents to the search path
++  if test -f /etc/ld.so.conf; then
++    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
++    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++  fi
++
++  # We used to test for /lib/ld.so.1 and disable shared libraries on
++  # powerpc, because MkLinux only supported shared libraries with the
++  # GNU dynamic linker.  Since this was broken with cross compilers,
++  # most powerpc-linux boxes support dynamic linking these days and
++  # people can always --disable-shared, the test was removed, and we
++  # assume the GNU/Linux dynamic linker is in use.
++  dynamic_linker='GNU/Linux ld.so'
++  ;;
++
++netbsdelf*-gnu)
++  version_type=linux
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=no
++  hardcode_into_libs=yes
++  dynamic_linker='NetBSD ld.elf_so'
++  ;;
++
++netbsd*)
++  version_type=sunos
++  need_lib_prefix=no
++  need_version=no
++  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++    dynamic_linker='NetBSD (a.out) ld.so'
++  else
++    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++    soname_spec='${libname}${release}${shared_ext}$major'
++    dynamic_linker='NetBSD ld.elf_so'
++  fi
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=yes
++  hardcode_into_libs=yes
++  ;;
++
++newsos6)
++  version_type=linux # correct to gnu/linux during the next big refactor
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=yes
++  ;;
++
++*nto* | *qnx*)
++  version_type=qnx
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=no
++  hardcode_into_libs=yes
++  dynamic_linker='ldqnx.so'
++  ;;
++
++openbsd*)
++  version_type=sunos
++  sys_lib_dlsearch_path_spec="/usr/lib"
++  need_lib_prefix=no
++  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
++  case $host_os in
++    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
++    *)				need_version=no  ;;
++  esac
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++  shlibpath_var=LD_LIBRARY_PATH
++  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++    case $host_os in
++      openbsd2.[[89]] | openbsd2.[[89]].*)
++	shlibpath_overrides_runpath=no
++	;;
++      *)
++	shlibpath_overrides_runpath=yes
++	;;
++      esac
++  else
++    shlibpath_overrides_runpath=yes
++  fi
++  ;;
++
++os2*)
++  libname_spec='$name'
++  shrext_cmds=".dll"
++  need_lib_prefix=no
++  library_names_spec='$libname${shared_ext} $libname.a'
++  dynamic_linker='OS/2 ld.exe'
++  shlibpath_var=LIBPATH
++  ;;
++
++osf3* | osf4* | osf5*)
++  version_type=osf
++  need_lib_prefix=no
++  need_version=no
++  soname_spec='${libname}${release}${shared_ext}$major'
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  shlibpath_var=LD_LIBRARY_PATH
++  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
++  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
++  ;;
++
++rdos*)
++  dynamic_linker=no
++  ;;
++
++solaris*)
++  version_type=linux # correct to gnu/linux during the next big refactor
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=yes
++  hardcode_into_libs=yes
++  # ldd complains unless libraries are executable
++  postinstall_cmds='chmod +x $lib'
++  ;;
++
++sunos4*)
++  version_type=sunos
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=yes
++  if test "$with_gnu_ld" = yes; then
++    need_lib_prefix=no
++  fi
++  need_version=yes
++  ;;
++
++sysv4 | sysv4.3*)
++  version_type=linux # correct to gnu/linux during the next big refactor
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  case $host_vendor in
++    sni)
++      shlibpath_overrides_runpath=no
++      need_lib_prefix=no
++      runpath_var=LD_RUN_PATH
++      ;;
++    siemens)
++      need_lib_prefix=no
++      ;;
++    motorola)
++      need_lib_prefix=no
++      need_version=no
++      shlibpath_overrides_runpath=no
++      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
++      ;;
++  esac
++  ;;
++
++sysv4*MP*)
++  if test -d /usr/nec ;then
++    version_type=linux # correct to gnu/linux during the next big refactor
++    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
++    soname_spec='$libname${shared_ext}.$major'
++    shlibpath_var=LD_LIBRARY_PATH
++  fi
++  ;;
++
++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++  version_type=freebsd-elf
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=yes
++  hardcode_into_libs=yes
++  if test "$with_gnu_ld" = yes; then
++    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
++  else
++    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
++    case $host_os in
++      sco3.2v5*)
++        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
++	;;
++    esac
++  fi
++  sys_lib_dlsearch_path_spec='/usr/lib'
++  ;;
++
++tpf*)
++  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
++  version_type=linux # correct to gnu/linux during the next big refactor
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=no
++  hardcode_into_libs=yes
++  ;;
++
++uts4*)
++  version_type=linux # correct to gnu/linux during the next big refactor
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  ;;
++
++*)
++  dynamic_linker=no
++  ;;
++esac
++AC_MSG_RESULT([$dynamic_linker])
++test "$dynamic_linker" = no && can_build_shared=no
++
++variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
++if test "$GCC" = yes; then
++  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
++fi
++
++if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
++  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
++fi
++if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
++  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
++fi
++
++_LT_DECL([], [variables_saved_for_relink], [1],
++    [Variables whose values should be saved in libtool wrapper scripts and
++    restored at link time])
++_LT_DECL([], [need_lib_prefix], [0],
++    [Do we need the "lib" prefix for modules?])
++_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
++_LT_DECL([], [version_type], [0], [Library versioning type])
++_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
++_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
++_LT_DECL([], [shlibpath_overrides_runpath], [0],
++    [Is shlibpath searched before the hard-coded library search path?])
++_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
++_LT_DECL([], [library_names_spec], [1],
++    [[List of archive names.  First name is the real one, the rest are links.
++    The last name is the one that the linker finds with -lNAME]])
++_LT_DECL([], [soname_spec], [1],
++    [[The coded name of the library, if different from the real name]])
++_LT_DECL([], [install_override_mode], [1],
++    [Permission mode override for installation of shared libraries])
++_LT_DECL([], [postinstall_cmds], [2],
++    [Command to use after installation of a shared archive])
++_LT_DECL([], [postuninstall_cmds], [2],
++    [Command to use after uninstallation of a shared archive])
++_LT_DECL([], [finish_cmds], [2],
++    [Commands used to finish a libtool library installation in a directory])
++_LT_DECL([], [finish_eval], [1],
++    [[As "finish_cmds", except a single script fragment to be evaled but
++    not shown]])
++_LT_DECL([], [hardcode_into_libs], [0],
++    [Whether we should hardcode library paths into libraries])
++_LT_DECL([], [sys_lib_search_path_spec], [2],
++    [Compile-time system search path for libraries])
++_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
++    [Run-time system search path for libraries])
++])# _LT_SYS_DYNAMIC_LINKER
++
++
++# _LT_PATH_TOOL_PREFIX(TOOL)
++# --------------------------
++# find a file program which can recognize shared library
++AC_DEFUN([_LT_PATH_TOOL_PREFIX],
++[m4_require([_LT_DECL_EGREP])dnl
++AC_MSG_CHECKING([for $1])
++AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
++[case $MAGIC_CMD in
++[[\\/*] |  ?:[\\/]*])
++  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
++  ;;
++*)
++  lt_save_MAGIC_CMD="$MAGIC_CMD"
++  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++dnl $ac_dummy forces splitting on constant user-supplied paths.
++dnl POSIX.2 word splitting is done only on the output of word expansions,
++dnl not every word.  This closes a longstanding sh security hole.
++  ac_dummy="m4_if([$2], , $PATH, [$2])"
++  for ac_dir in $ac_dummy; do
++    IFS="$lt_save_ifs"
++    test -z "$ac_dir" && ac_dir=.
++    if test -f $ac_dir/$1; then
++      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
++      if test -n "$file_magic_test_file"; then
++	case $deplibs_check_method in
++	"file_magic "*)
++	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
++	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
++	    $EGREP "$file_magic_regex" > /dev/null; then
++	    :
++	  else
++	    cat <<_LT_EOF 1>&2
++
++*** Warning: the command libtool uses to detect shared libraries,
++*** $file_magic_cmd, produces output that libtool cannot recognize.
++*** The result is that libtool may fail to recognize shared libraries
++*** as such.  This will affect the creation of libtool libraries that
++*** depend on shared libraries, but programs linked with such libtool
++*** libraries will work regardless of this problem.  Nevertheless, you
++*** may want to report the problem to your system manager and/or to
++*** bug-libtool@gnu.org
++
++_LT_EOF
++	  fi ;;
++	esac
++      fi
++      break
++    fi
++  done
++  IFS="$lt_save_ifs"
++  MAGIC_CMD="$lt_save_MAGIC_CMD"
++  ;;
++esac])
++MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++if test -n "$MAGIC_CMD"; then
++  AC_MSG_RESULT($MAGIC_CMD)
++else
++  AC_MSG_RESULT(no)
++fi
++_LT_DECL([], [MAGIC_CMD], [0],
++	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
++])# _LT_PATH_TOOL_PREFIX
++
++# Old name:
++AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
++
++
++# _LT_PATH_MAGIC
++# --------------
++# find a file program which can recognize a shared library
++m4_defun([_LT_PATH_MAGIC],
++[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
++if test -z "$lt_cv_path_MAGIC_CMD"; then
++  if test -n "$ac_tool_prefix"; then
++    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
++  else
++    MAGIC_CMD=:
++  fi
++fi
++])# _LT_PATH_MAGIC
++
++
++# LT_PATH_LD
++# ----------
++# find the pathname to the GNU or non-GNU linker
++AC_DEFUN([LT_PATH_LD],
++[AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_REQUIRE([AC_CANONICAL_BUILD])dnl
++m4_require([_LT_DECL_SED])dnl
++m4_require([_LT_DECL_EGREP])dnl
++m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
++
++AC_ARG_WITH([gnu-ld],
++    [AS_HELP_STRING([--with-gnu-ld],
++	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
++    [test "$withval" = no || with_gnu_ld=yes],
++    [with_gnu_ld=no])dnl
++
++ac_prog=ld
++if test "$GCC" = yes; then
++  # Check if gcc -print-prog-name=ld gives a path.
++  AC_MSG_CHECKING([for ld used by $CC])
++  case $host in
++  *-*-mingw*)
++    # gcc leaves a trailing carriage return which upsets mingw
++    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
++  *)
++    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
++  esac
++  case $ac_prog in
++    # Accept absolute paths.
++    [[\\/]]* | ?:[[\\/]]*)
++      re_direlt='/[[^/]][[^/]]*/\.\./'
++      # Canonicalize the pathname of ld
++      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
++      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
++	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
++      done
++      test -z "$LD" && LD="$ac_prog"
++      ;;
++  "")
++    # If it fails, then pretend we aren't using GCC.
++    ac_prog=ld
++    ;;
++  *)
++    # If it is relative, then search for the first ld in PATH.
++    with_gnu_ld=unknown
++    ;;
++  esac
++elif test "$with_gnu_ld" = yes; then
++  AC_MSG_CHECKING([for GNU ld])
++else
++  AC_MSG_CHECKING([for non-GNU ld])
++fi
++AC_CACHE_VAL(lt_cv_path_LD,
++[if test -z "$LD"; then
++  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++  for ac_dir in $PATH; do
++    IFS="$lt_save_ifs"
++    test -z "$ac_dir" && ac_dir=.
++    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++      lt_cv_path_LD="$ac_dir/$ac_prog"
++      # Check to see if the program is GNU ld.  I'd rather use --version,
++      # but apparently some variants of GNU ld only accept -v.
++      # Break only if it was the GNU/non-GNU ld that we prefer.
++      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
++      *GNU* | *'with BFD'*)
++	test "$with_gnu_ld" != no && break
++	;;
++      *)
++	test "$with_gnu_ld" != yes && break
++	;;
++      esac
++    fi
++  done
++  IFS="$lt_save_ifs"
++else
++  lt_cv_path_LD="$LD" # Let the user override the test with a path.
++fi])
++LD="$lt_cv_path_LD"
++if test -n "$LD"; then
++  AC_MSG_RESULT($LD)
++else
++  AC_MSG_RESULT(no)
++fi
++test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
++_LT_PATH_LD_GNU
++AC_SUBST([LD])
++
++_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
++])# LT_PATH_LD
++
++# Old names:
++AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
++AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AM_PROG_LD], [])
++dnl AC_DEFUN([AC_PROG_LD], [])
++
++
++# _LT_PATH_LD_GNU
++#- --------------
++m4_defun([_LT_PATH_LD_GNU],
++[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
++[# I'd rather use --version here, but apparently some GNU lds only accept -v.
++case `$LD -v 2>&1 </dev/null` in
++*GNU* | *'with BFD'*)
++  lt_cv_prog_gnu_ld=yes
++  ;;
++*)
++  lt_cv_prog_gnu_ld=no
++  ;;
++esac])
++with_gnu_ld=$lt_cv_prog_gnu_ld
++])# _LT_PATH_LD_GNU
++
++
++# _LT_CMD_RELOAD
++# --------------
++# find reload flag for linker
++#   -- PORTME Some linkers may need a different reload flag.
++m4_defun([_LT_CMD_RELOAD],
++[AC_CACHE_CHECK([for $LD option to reload object files],
++  lt_cv_ld_reload_flag,
++  [lt_cv_ld_reload_flag='-r'])
++reload_flag=$lt_cv_ld_reload_flag
++case $reload_flag in
++"" | " "*) ;;
++*) reload_flag=" $reload_flag" ;;
++esac
++reload_cmds='$LD$reload_flag -o $output$reload_objs'
++case $host_os in
++  cygwin* | mingw* | pw32* | cegcc*)
++    if test "$GCC" != yes; then
++      reload_cmds=false
++    fi
++    ;;
++  darwin*)
++    if test "$GCC" = yes; then
++      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
++    else
++      reload_cmds='$LD$reload_flag -o $output$reload_objs'
++    fi
++    ;;
++esac
++_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
++_LT_TAGDECL([], [reload_cmds], [2])dnl
++])# _LT_CMD_RELOAD
++
++
++# _LT_CHECK_MAGIC_METHOD
++# ----------------------
++# how to check for library dependencies
++#  -- PORTME fill in with the dynamic library characteristics
++m4_defun([_LT_CHECK_MAGIC_METHOD],
++[m4_require([_LT_DECL_EGREP])
++m4_require([_LT_DECL_OBJDUMP])
++AC_CACHE_CHECK([how to recognize dependent libraries],
++lt_cv_deplibs_check_method,
++[lt_cv_file_magic_cmd='$MAGIC_CMD'
++lt_cv_file_magic_test_file=
++lt_cv_deplibs_check_method='unknown'
++# Need to set the preceding variable on all platforms that support
++# interlibrary dependencies.
++# 'none' -- dependencies not supported.
++# `unknown' -- same as none, but documents that we really don't know.
++# 'pass_all' -- all dependencies passed with no checks.
++# 'test_compile' -- check by making test program.
++# 'file_magic [[regex]]' -- check by looking for files in library path
++# which responds to the $file_magic_cmd with a given extended regex.
++# If you have `file' or equivalent on your system and you're not sure
++# whether `pass_all' will *always* work, you probably want this one.
++
++case $host_os in
++aix[[4-9]]*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++beos*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++bsdi[[45]]*)
++  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
++  lt_cv_file_magic_cmd='/usr/bin/file -L'
++  lt_cv_file_magic_test_file=/shlib/libc.so
++  ;;
++
++cygwin*)
++  # func_win32_libid is a shell function defined in ltmain.sh
++  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++  lt_cv_file_magic_cmd='func_win32_libid'
++  ;;
++
++mingw* | pw32*)
++  # Base MSYS/MinGW do not provide the 'file' command needed by
++  # func_win32_libid shell function, so use a weaker test based on 'objdump',
++  # unless we find 'file', for example because we are cross-compiling.
++  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
++  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
++    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++    lt_cv_file_magic_cmd='func_win32_libid'
++  else
++    # Keep this pattern in sync with the one in func_win32_libid.
++    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
++    lt_cv_file_magic_cmd='$OBJDUMP -f'
++  fi
++  ;;
++
++cegcc*)
++  # use the weaker test based on 'objdump'. See mingw*.
++  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
++  lt_cv_file_magic_cmd='$OBJDUMP -f'
++  ;;
++
++darwin* | rhapsody*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++freebsd* | dragonfly*)
++  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
++    case $host_cpu in
++    i*86 )
++      # Not sure whether the presence of OpenBSD here was a mistake.
++      # Let's accept both of them until this is cleared up.
++      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
++      lt_cv_file_magic_cmd=/usr/bin/file
++      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
++      ;;
++    esac
++  else
++    lt_cv_deplibs_check_method=pass_all
++  fi
++  ;;
++
++haiku*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++hpux10.20* | hpux11*)
++  lt_cv_file_magic_cmd=/usr/bin/file
++  case $host_cpu in
++  ia64*)
++    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
++    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
++    ;;
++  hppa*64*)
++    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
++    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
++    ;;
++  *)
++    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
++    lt_cv_file_magic_test_file=/usr/lib/libc.sl
++    ;;
++  esac
++  ;;
++
++interix[[3-9]]*)
++  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
++  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
++  ;;
++
++irix5* | irix6* | nonstopux*)
++  case $LD in
++  *-32|*"-32 ") libmagic=32-bit;;
++  *-n32|*"-n32 ") libmagic=N32;;
++  *-64|*"-64 ") libmagic=64-bit;;
++  *) libmagic=never-match;;
++  esac
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++# This must be glibc/ELF.
++linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++netbsd* | netbsdelf*-gnu)
++  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
++    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
++  else
++    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
++  fi
++  ;;
++
++newos6*)
++  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
++  lt_cv_file_magic_cmd=/usr/bin/file
++  lt_cv_file_magic_test_file=/usr/lib/libnls.so
++  ;;
++
++*nto* | *qnx*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++openbsd*)
++  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
++  else
++    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
++  fi
++  ;;
++
++osf3* | osf4* | osf5*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++rdos*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++solaris*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++sysv4 | sysv4.3*)
++  case $host_vendor in
++  motorola)
++    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
++    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
++    ;;
++  ncr)
++    lt_cv_deplibs_check_method=pass_all
++    ;;
++  sequent)
++    lt_cv_file_magic_cmd='/bin/file'
++    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
++    ;;
++  sni)
++    lt_cv_file_magic_cmd='/bin/file'
++    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
++    lt_cv_file_magic_test_file=/lib/libc.so
++    ;;
++  siemens)
++    lt_cv_deplibs_check_method=pass_all
++    ;;
++  pc)
++    lt_cv_deplibs_check_method=pass_all
++    ;;
++  esac
++  ;;
++
++tpf*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++esac
++])
++
++file_magic_glob=
++want_nocaseglob=no
++if test "$build" = "$host"; then
++  case $host_os in
++  mingw* | pw32*)
++    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
++      want_nocaseglob=yes
++    else
++      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
++    fi
++    ;;
++  esac
++fi
++
++file_magic_cmd=$lt_cv_file_magic_cmd
++deplibs_check_method=$lt_cv_deplibs_check_method
++test -z "$deplibs_check_method" && deplibs_check_method=unknown
++
++_LT_DECL([], [deplibs_check_method], [1],
++    [Method to check whether dependent libraries are shared objects])
++_LT_DECL([], [file_magic_cmd], [1],
++    [Command to use when deplibs_check_method = "file_magic"])
++_LT_DECL([], [file_magic_glob], [1],
++    [How to find potential files when deplibs_check_method = "file_magic"])
++_LT_DECL([], [want_nocaseglob], [1],
++    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
++])# _LT_CHECK_MAGIC_METHOD
++
++
++# LT_PATH_NM
++# ----------
++# find the pathname to a BSD- or MS-compatible name lister
++AC_DEFUN([LT_PATH_NM],
++[AC_REQUIRE([AC_PROG_CC])dnl
++AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
++[if test -n "$NM"; then
++  # Let the user override the test.
++  lt_cv_path_NM="$NM"
++else
++  lt_nm_to_check="${ac_tool_prefix}nm"
++  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
++    lt_nm_to_check="$lt_nm_to_check nm"
++  fi
++  for lt_tmp_nm in $lt_nm_to_check; do
++    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
++      IFS="$lt_save_ifs"
++      test -z "$ac_dir" && ac_dir=.
++      tmp_nm="$ac_dir/$lt_tmp_nm"
++      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
++	# Check to see if the nm accepts a BSD-compat flag.
++	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
++	#   nm: unknown option "B" ignored
++	# Tru64's nm complains that /dev/null is an invalid object file
++	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
++	*/dev/null* | *'Invalid file or object type'*)
++	  lt_cv_path_NM="$tmp_nm -B"
++	  break
++	  ;;
++	*)
++	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
++	  */dev/null*)
++	    lt_cv_path_NM="$tmp_nm -p"
++	    break
++	    ;;
++	  *)
++	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
++	    continue # so that we can try to find one that supports BSD flags
++	    ;;
++	  esac
++	  ;;
++	esac
++      fi
++    done
++    IFS="$lt_save_ifs"
++  done
++  : ${lt_cv_path_NM=no}
++fi])
++if test "$lt_cv_path_NM" != "no"; then
++  NM="$lt_cv_path_NM"
++else
++  # Didn't find any BSD compatible name lister, look for dumpbin.
++  if test -n "$DUMPBIN"; then :
++    # Let the user override the test.
++  else
++    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
++    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
++    *COFF*)
++      DUMPBIN="$DUMPBIN -symbols"
++      ;;
++    *)
++      DUMPBIN=:
++      ;;
++    esac
++  fi
++  AC_SUBST([DUMPBIN])
++  if test "$DUMPBIN" != ":"; then
++    NM="$DUMPBIN"
++  fi
++fi
++test -z "$NM" && NM=nm
++AC_SUBST([NM])
++_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
++
++AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
++  [lt_cv_nm_interface="BSD nm"
++  echo "int some_variable = 0;" > conftest.$ac_ext
++  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
++  (eval "$ac_compile" 2>conftest.err)
++  cat conftest.err >&AS_MESSAGE_LOG_FD
++  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
++  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
++  cat conftest.err >&AS_MESSAGE_LOG_FD
++  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
++  cat conftest.out >&AS_MESSAGE_LOG_FD
++  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
++    lt_cv_nm_interface="MS dumpbin"
++  fi
++  rm -f conftest*])
++])# LT_PATH_NM
++
++# Old names:
++AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
++AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AM_PROG_NM], [])
++dnl AC_DEFUN([AC_PROG_NM], [])
++
++# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
++# --------------------------------
++# how to determine the name of the shared library
++# associated with a specific link library.
++#  -- PORTME fill in with the dynamic library characteristics
++m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
++[m4_require([_LT_DECL_EGREP])
++m4_require([_LT_DECL_OBJDUMP])
++m4_require([_LT_DECL_DLLTOOL])
++AC_CACHE_CHECK([how to associate runtime and link libraries],
++lt_cv_sharedlib_from_linklib_cmd,
++[lt_cv_sharedlib_from_linklib_cmd='unknown'
++
++case $host_os in
++cygwin* | mingw* | pw32* | cegcc*)
++  # two different shell functions defined in ltmain.sh
++  # decide which to use based on capabilities of $DLLTOOL
++  case `$DLLTOOL --help 2>&1` in
++  *--identify-strict*)
++    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
++    ;;
++  *)
++    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
++    ;;
++  esac
++  ;;
++*)
++  # fallback: assume linklib IS sharedlib
++  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
++  ;;
++esac
++])
++sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
++test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
++
++_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
++    [Command to associate shared and link libraries])
++])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
++
++
++# _LT_PATH_MANIFEST_TOOL
++# ----------------------
++# locate the manifest tool
++m4_defun([_LT_PATH_MANIFEST_TOOL],
++[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
++AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
++  [lt_cv_path_mainfest_tool=no
++  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
++  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
++  cat conftest.err >&AS_MESSAGE_LOG_FD
++  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
++    lt_cv_path_mainfest_tool=yes
++  fi
++  rm -f conftest*])
++if test "x$lt_cv_path_mainfest_tool" != xyes; then
++  MANIFEST_TOOL=:
++fi
++_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
++])# _LT_PATH_MANIFEST_TOOL
++
++
++# LT_LIB_M
++# --------
++# check for math library
++AC_DEFUN([LT_LIB_M],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++LIBM=
++case $host in
++*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
++  # These system don't have libm, or don't need it
++  ;;
++*-ncr-sysv4.3*)
++  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
++  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
++  ;;
++*)
++  AC_CHECK_LIB(m, cos, LIBM="-lm")
++  ;;
++esac
++AC_SUBST([LIBM])
++])# LT_LIB_M
++
++# Old name:
++AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_CHECK_LIBM], [])
++
++
++# _LT_COMPILER_NO_RTTI([TAGNAME])
++# -------------------------------
++m4_defun([_LT_COMPILER_NO_RTTI],
++[m4_require([_LT_TAG_COMPILER])dnl
++
++_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
++
++if test "$GCC" = yes; then
++  case $cc_basename in
++  nvcc*)
++    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
++  *)
++    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
++  esac
++
++  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
++    lt_cv_prog_compiler_rtti_exceptions,
++    [-fno-rtti -fno-exceptions], [],
++    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
++fi
++_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
++	[Compiler flag to turn off builtin functions])
++])# _LT_COMPILER_NO_RTTI
++
++
++# _LT_CMD_GLOBAL_SYMBOLS
++# ----------------------
++m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_PROG_AWK])dnl
++AC_REQUIRE([LT_PATH_NM])dnl
++AC_REQUIRE([LT_PATH_LD])dnl
++m4_require([_LT_DECL_SED])dnl
++m4_require([_LT_DECL_EGREP])dnl
++m4_require([_LT_TAG_COMPILER])dnl
++
++# Check for command to grab the raw symbol name followed by C symbol from nm.
++AC_MSG_CHECKING([command to parse $NM output from $compiler object])
++AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
++[
++# These are sane defaults that work on at least a few old systems.
++# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
++
++# Character class describing NM global symbol codes.
++symcode='[[BCDEGRST]]'
++
++# Regexp to match symbols that can be accessed directly from C.
++sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
++
++# Define system-specific variables.
++case $host_os in
++aix*)
++  symcode='[[BCDT]]'
++  ;;
++cygwin* | mingw* | pw32* | cegcc*)
++  symcode='[[ABCDGISTW]]'
++  ;;
++hpux*)
++  if test "$host_cpu" = ia64; then
++    symcode='[[ABCDEGRST]]'
++  fi
++  ;;
++irix* | nonstopux*)
++  symcode='[[BCDEGRST]]'
++  ;;
++osf*)
++  symcode='[[BCDEGQRST]]'
++  ;;
++solaris*)
++  symcode='[[BDRT]]'
++  ;;
++sco3.2v5*)
++  symcode='[[DT]]'
++  ;;
++sysv4.2uw2*)
++  symcode='[[DT]]'
++  ;;
++sysv5* | sco5v6* | unixware* | OpenUNIX*)
++  symcode='[[ABDT]]'
++  ;;
++sysv4)
++  symcode='[[DFNSTU]]'
++  ;;
++esac
++
++# If we're using GNU nm, then use its standard symbol codes.
++case `$NM -V 2>&1` in
++*GNU* | *'with BFD'*)
++  symcode='[[ABCDGIRSTW]]' ;;
++esac
++
++# Transform an extracted symbol line into a proper C declaration.
++# Some systems (esp. on ia64) link data and code symbols differently,
++# so use this general approach.
++lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
++
++# Transform an extracted symbol line into symbol name and symbol address
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
++
++# Handle CRLF in mingw tool chain
++opt_cr=
++case $build_os in
++mingw*)
++  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
++  ;;
++esac
++
++# Try without a prefix underscore, then with it.
++for ac_symprfx in "" "_"; do
++
++  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
++  symxfrm="\\1 $ac_symprfx\\2 \\2"
++
++  # Write the raw and C identifiers.
++  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++    # Fake it for dumpbin and say T for any non-static function
++    # and D for any global variable.
++    # Also find C++ and __fastcall symbols from MSVC++,
++    # which start with @ or ?.
++    lt_cv_sys_global_symbol_pipe="$AWK ['"\
++"     {last_section=section; section=\$ 3};"\
++"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
++"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
++"     \$ 0!~/External *\|/{next};"\
++"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
++"     {if(hide[section]) next};"\
++"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
++"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
++"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
++"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
++"     ' prfx=^$ac_symprfx]"
++  else
++    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
++  fi
++  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
++
++  # Check to see that the pipe works correctly.
++  pipe_works=no
++
++  rm -f conftest*
++  cat > conftest.$ac_ext <<_LT_EOF
++#ifdef __cplusplus
++extern "C" {
++#endif
++char nm_test_var;
++void nm_test_func(void);
++void nm_test_func(void){}
++#ifdef __cplusplus
++}
++#endif
++int main(){nm_test_var='a';nm_test_func();return(0);}
++_LT_EOF
++
++  if AC_TRY_EVAL(ac_compile); then
++    # Now try to grab the symbols.
++    nlist=conftest.nm
++    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
++      # Try sorting and uniquifying the output.
++      if sort "$nlist" | uniq > "$nlist"T; then
++	mv -f "$nlist"T "$nlist"
++      else
++	rm -f "$nlist"T
++      fi
++
++      # Make sure that we snagged all the symbols we need.
++      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
++	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
++	  cat <<_LT_EOF > conftest.$ac_ext
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++   relocations are performed -- see ld's documentation on pseudo-relocs.  */
++# define LT@&t@_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data.  */
++# define LT@&t@_DLSYM_CONST
++#else
++# define LT@&t@_DLSYM_CONST const
++#endif
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++_LT_EOF
++	  # Now generate the symbol file.
++	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
++
++	  cat <<_LT_EOF >> conftest.$ac_ext
++
++/* The mapping between symbol names and symbols.  */
++LT@&t@_DLSYM_CONST struct {
++  const char *name;
++  void       *address;
++}
++lt__PROGRAM__LTX_preloaded_symbols[[]] =
++{
++  { "@PROGRAM@", (void *) 0 },
++_LT_EOF
++	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
++	  cat <<\_LT_EOF >> conftest.$ac_ext
++  {0, (void *) 0}
++};
++
++/* This works around a problem in FreeBSD linker */
++#ifdef FREEBSD_WORKAROUND
++static const void *lt_preloaded_setup() {
++  return lt__PROGRAM__LTX_preloaded_symbols;
++}
++#endif
++
++#ifdef __cplusplus
++}
++#endif
++_LT_EOF
++	  # Now try linking the two files.
++	  mv conftest.$ac_objext conftstm.$ac_objext
++	  lt_globsym_save_LIBS=$LIBS
++	  lt_globsym_save_CFLAGS=$CFLAGS
++	  LIBS="conftstm.$ac_objext"
++	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
++	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
++	    pipe_works=yes
++	  fi
++	  LIBS=$lt_globsym_save_LIBS
++	  CFLAGS=$lt_globsym_save_CFLAGS
++	else
++	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
++	fi
++      else
++	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
++      fi
++    else
++      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
++    fi
++  else
++    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
++    cat conftest.$ac_ext >&5
++  fi
++  rm -rf conftest* conftst*
++
++  # Do not use the global_symbol_pipe unless it works.
++  if test "$pipe_works" = yes; then
++    break
++  else
++    lt_cv_sys_global_symbol_pipe=
++  fi
++done
++])
++if test -z "$lt_cv_sys_global_symbol_pipe"; then
++  lt_cv_sys_global_symbol_to_cdecl=
++fi
++if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
++  AC_MSG_RESULT(failed)
++else
++  AC_MSG_RESULT(ok)
++fi
++
++# Response file support.
++if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++  nm_file_list_spec='@'
++elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
++  nm_file_list_spec='@'
++fi
++
++_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
++    [Take the output of nm and produce a listing of raw symbols and C names])
++_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
++    [Transform the output of nm in a proper C declaration])
++_LT_DECL([global_symbol_to_c_name_address],
++    [lt_cv_sys_global_symbol_to_c_name_address], [1],
++    [Transform the output of nm in a C name address pair])
++_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
++    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
++    [Transform the output of nm in a C name address pair when lib prefix is needed])
++_LT_DECL([], [nm_file_list_spec], [1],
++    [Specify filename containing input files for $NM])
++]) # _LT_CMD_GLOBAL_SYMBOLS
++
++
++# _LT_COMPILER_PIC([TAGNAME])
++# ---------------------------
++m4_defun([_LT_COMPILER_PIC],
++[m4_require([_LT_TAG_COMPILER])dnl
++_LT_TAGVAR(lt_prog_compiler_wl, $1)=
++_LT_TAGVAR(lt_prog_compiler_pic, $1)=
++_LT_TAGVAR(lt_prog_compiler_static, $1)=
++
++m4_if([$1], [CXX], [
++  # C++ specific cases for pic, static, wl, etc.
++  if test "$GXX" = yes; then
++    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++
++    case $host_os in
++    aix*)
++      # All AIX code is PIC.
++      if test "$host_cpu" = ia64; then
++	# AIX 5 now supports IA64 processor
++	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++      fi
++      ;;
++
++    amigaos*)
++      case $host_cpu in
++      powerpc)
++            # see comment about AmigaOS4 .so support
++            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++        ;;
++      m68k)
++            # FIXME: we need at least 68020 code to build shared libraries, but
++            # adding the `-m68020' flag to GCC prevents building anything better,
++            # like `-m68040'.
++            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
++        ;;
++      esac
++      ;;
++
++    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
++      # PIC is the default for these OSes.
++      ;;
++    mingw* | cygwin* | os2* | pw32* | cegcc*)
++      # This hack is so that the source file can tell whether it is being
++      # built for inclusion in a dll (and should export symbols for example).
++      # Although the cygwin gcc ignores -fPIC, still need this for old-style
++      # (--disable-auto-import) libraries
++      m4_if([$1], [GCJ], [],
++	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
++      ;;
++    darwin* | rhapsody*)
++      # PIC is the default on this platform
++      # Common symbols not allowed in MH_DYLIB files
++      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
++      ;;
++    *djgpp*)
++      # DJGPP does not support shared libraries at all
++      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
++      ;;
++    haiku*)
++      # PIC is the default for Haiku.
++      # The "-static" flag exists, but is broken.
++      _LT_TAGVAR(lt_prog_compiler_static, $1)=
++      ;;
++    interix[[3-9]]*)
++      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
++      # Instead, we relocate shared libraries at runtime.
++      ;;
++    sysv4*MP*)
++      if test -d /usr/nec; then
++	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
++      fi
++      ;;
++    hpux*)
++      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
++      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
++      # sets the default TLS model and affects inlining.
++      case $host_cpu in
++      hppa*64*)
++	;;
++      *)
++	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++	;;
++      esac
++      ;;
++    *qnx* | *nto*)
++      # QNX uses GNU C++, but need to define -shared option too, otherwise
++      # it will coredump.
++      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
++      ;;
++    *)
++      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++      ;;
++    esac
++  else
++    case $host_os in
++      aix[[4-9]]*)
++	# All AIX code is PIC.
++	if test "$host_cpu" = ia64; then
++	  # AIX 5 now supports IA64 processor
++	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++	else
++	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
++	fi
++	;;
++      chorus*)
++	case $cc_basename in
++	cxch68*)
++	  # Green Hills C++ Compiler
++	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
++	  ;;
++	esac
++	;;
++      mingw* | cygwin* | os2* | pw32* | cegcc*)
++	# This hack is so that the source file can tell whether it is being
++	# built for inclusion in a dll (and should export symbols for example).
++	m4_if([$1], [GCJ], [],
++	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
++	;;
++      dgux*)
++	case $cc_basename in
++	  ec++*)
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++	    ;;
++	  ghcx*)
++	    # Green Hills C++ Compiler
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
++	    ;;
++	  *)
++	    ;;
++	esac
++	;;
++      freebsd* | dragonfly*)
++	# FreeBSD uses GNU C++
++	;;
++      hpux9* | hpux10* | hpux11*)
++	case $cc_basename in
++	  CC*)
++	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
++	    if test "$host_cpu" != ia64; then
++	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
++	    fi
++	    ;;
++	  aCC*)
++	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
++	    case $host_cpu in
++	    hppa*64*|ia64*)
++	      # +Z the default
++	      ;;
++	    *)
++	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
++	      ;;
++	    esac
++	    ;;
++	  *)
++	    ;;
++	esac
++	;;
++      interix*)
++	# This is c89, which is MS Visual C++ (no shared libs)
++	# Anyone wants to do a port?
++	;;
++      irix5* | irix6* | nonstopux*)
++	case $cc_basename in
++	  CC*)
++	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++	    # CC pic flag -KPIC is the default.
++	    ;;
++	  *)
++	    ;;
++	esac
++	;;
++      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
++	case $cc_basename in
++	  KCC*)
++	    # KAI C++ Compiler
++	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++	    ;;
++	  ecpc* )
++	    # old Intel C++ for x86_64 which still supported -KPIC.
++	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++	    ;;
++	  icpc* )
++	    # Intel C++, used to be incompatible with GCC.
++	    # ICC 10 doesn't accept -KPIC any more.
++	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++	    ;;
++	  pgCC* | pgcpp*)
++	    # Portland Group C++ compiler
++	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
++	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++	    ;;
++	  cxx*)
++	    # Compaq C++
++	    # Make sure the PIC flag is empty.  It appears that all Alpha
++	    # Linux and Compaq Tru64 Unix objects are PIC.
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
++	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++	    ;;
++	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
++	    # IBM XL 8.0, 9.0 on PPC and BlueGene
++	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
++	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
++	    ;;
++	  *)
++	    case `$CC -V 2>&1 | sed 5q` in
++	    *Sun\ C*)
++	      # Sun C++ 5.9
++	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
++	      ;;
++	    esac
++	    ;;
++	esac
++	;;
++      lynxos*)
++	;;
++      m88k*)
++	;;
++      mvs*)
++	case $cc_basename in
++	  cxx*)
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
++	    ;;
++	  *)
++	    ;;
++	esac
++	;;
++      netbsd* | netbsdelf*-gnu)
++	;;
++      *qnx* | *nto*)
++        # QNX uses GNU C++, but need to define -shared option too, otherwise
++        # it will coredump.
++        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
++        ;;
++      osf3* | osf4* | osf5*)
++	case $cc_basename in
++	  KCC*)
++	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
++	    ;;
++	  RCC*)
++	    # Rational C++ 2.4.1
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
++	    ;;
++	  cxx*)
++	    # Digital/Compaq C++
++	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	    # Make sure the PIC flag is empty.  It appears that all Alpha
++	    # Linux and Compaq Tru64 Unix objects are PIC.
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
++	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++	    ;;
++	  *)
++	    ;;
++	esac
++	;;
++      psos*)
++	;;
++      solaris*)
++	case $cc_basename in
++	  CC* | sunCC*)
++	    # Sun C++ 4.2, 5.x and Centerline C++
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
++	    ;;
++	  gcx*)
++	    # Green Hills C++ Compiler
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
++	    ;;
++	  *)
++	    ;;
++	esac
++	;;
++      sunos4*)
++	case $cc_basename in
++	  CC*)
++	    # Sun C++ 4.x
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
++	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++	    ;;
++	  lcc*)
++	    # Lucid
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
++	    ;;
++	  *)
++	    ;;
++	esac
++	;;
++      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
++	case $cc_basename in
++	  CC*)
++	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++	    ;;
++	esac
++	;;
++      tandem*)
++	case $cc_basename in
++	  NCC*)
++	    # NonStop-UX NCC 3.20
++	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++	    ;;
++	  *)
++	    ;;
++	esac
++	;;
++      vxworks*)
++	;;
++      *)
++	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
++	;;
++    esac
++  fi
++],
++[
++  if test "$GCC" = yes; then
++    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++
++    case $host_os in
++      aix*)
++      # All AIX code is PIC.
++      if test "$host_cpu" = ia64; then
++	# AIX 5 now supports IA64 processor
++	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++      fi
++      ;;
++
++    amigaos*)
++      case $host_cpu in
++      powerpc)
++            # see comment about AmigaOS4 .so support
++            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++        ;;
++      m68k)
++            # FIXME: we need at least 68020 code to build shared libraries, but
++            # adding the `-m68020' flag to GCC prevents building anything better,
++            # like `-m68040'.
++            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
++        ;;
++      esac
++      ;;
++
++    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
++      # PIC is the default for these OSes.
++      ;;
++
++    mingw* | cygwin* | pw32* | os2* | cegcc*)
++      # This hack is so that the source file can tell whether it is being
++      # built for inclusion in a dll (and should export symbols for example).
++      # Although the cygwin gcc ignores -fPIC, still need this for old-style
++      # (--disable-auto-import) libraries
++      m4_if([$1], [GCJ], [],
++	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
++      ;;
++
++    darwin* | rhapsody*)
++      # PIC is the default on this platform
++      # Common symbols not allowed in MH_DYLIB files
++      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
++      ;;
++
++    haiku*)
++      # PIC is the default for Haiku.
++      # The "-static" flag exists, but is broken.
++      _LT_TAGVAR(lt_prog_compiler_static, $1)=
++      ;;
++
++    hpux*)
++      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
++      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
++      # sets the default TLS model and affects inlining.
++      case $host_cpu in
++      hppa*64*)
++	# +Z the default
++	;;
++      *)
++	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++	;;
++      esac
++      ;;
++
++    interix[[3-9]]*)
++      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
++      # Instead, we relocate shared libraries at runtime.
++      ;;
++
++    msdosdjgpp*)
++      # Just because we use GCC doesn't mean we suddenly get shared libraries
++      # on systems that don't support them.
++      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
++      enable_shared=no
++      ;;
++
++    *nto* | *qnx*)
++      # QNX uses GNU C++, but need to define -shared option too, otherwise
++      # it will coredump.
++      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
++      ;;
++
++    sysv4*MP*)
++      if test -d /usr/nec; then
++	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
++      fi
++      ;;
++
++    *)
++      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++      ;;
++    esac
++
++    case $cc_basename in
++    nvcc*) # Cuda Compiler Driver 2.2
++      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
++      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
++        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
++      fi
++      ;;
++    esac
++  else
++    # PORTME Check for flag to pass linker flags through the system compiler.
++    case $host_os in
++    aix*)
++      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++      if test "$host_cpu" = ia64; then
++	# AIX 5 now supports IA64 processor
++	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++      else
++	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
++      fi
++      ;;
++
++    mingw* | cygwin* | pw32* | os2* | cegcc*)
++      # This hack is so that the source file can tell whether it is being
++      # built for inclusion in a dll (and should export symbols for example).
++      m4_if([$1], [GCJ], [],
++	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
++      ;;
++
++    hpux9* | hpux10* | hpux11*)
++      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
++      # not for PA HP-UX.
++      case $host_cpu in
++      hppa*64*|ia64*)
++	# +Z the default
++	;;
++      *)
++	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
++	;;
++      esac
++      # Is there a better lt_prog_compiler_static that works with the bundled CC?
++      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
++      ;;
++
++    irix5* | irix6* | nonstopux*)
++      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++      # PIC (with -KPIC) is the default.
++      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++      ;;
++
++    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
++      case $cc_basename in
++      # old Intel for x86_64 which still supported -KPIC.
++      ecc*)
++	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++        ;;
++      # icc used to be incompatible with GCC.
++      # ICC 10 doesn't accept -KPIC any more.
++      icc* | ifort*)
++	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++        ;;
++      # Lahey Fortran 8.1.
++      lf95*)
++	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
++	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
++	;;
++      nagfor*)
++	# NAG Fortran compiler
++	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
++	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
++	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++	;;
++      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
++        # Portland Group compilers (*not* the Pentium gcc compiler,
++	# which looks to be a dead project)
++	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
++	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++        ;;
++      ccc*)
++        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++        # All Alpha code is PIC.
++        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++        ;;
++      xl* | bgxl* | bgf* | mpixl*)
++	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
++	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
++	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
++	;;
++      *)
++	case `$CC -V 2>&1 | sed 5q` in
++	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
++	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
++	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
++	  ;;
++	*Sun\ F* | *Sun*Fortran*)
++	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
++	  ;;
++	*Sun\ C*)
++	  # Sun C 5.9
++	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	  ;;
++        *Intel*\ [[CF]]*Compiler*)
++	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++	  ;;
++	*Portland\ Group*)
++	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
++	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++	  ;;
++	esac
++	;;
++      esac
++      ;;
++
++    newsos6)
++      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++      ;;
++
++    *nto* | *qnx*)
++      # QNX uses GNU C++, but need to define -shared option too, otherwise
++      # it will coredump.
++      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
++      ;;
++
++    osf3* | osf4* | osf5*)
++      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++      # All OSF/1 code is PIC.
++      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++      ;;
++
++    rdos*)
++      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++      ;;
++
++    solaris*)
++      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++      case $cc_basename in
++      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
++	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
++      *)
++	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
++      esac
++      ;;
++
++    sunos4*)
++      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
++      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
++      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++      ;;
++
++    sysv4 | sysv4.2uw2* | sysv4.3*)
++      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++      ;;
++
++    sysv4*MP*)
++      if test -d /usr/nec ;then
++	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
++	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++      fi
++      ;;
++
++    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
++      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++      ;;
++
++    unicos*)
++      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
++      ;;
++
++    uts4*)
++      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
++      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++      ;;
++
++    *)
++      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
++      ;;
++    esac
++  fi
++])
++case $host_os in
++  # For platforms which do not support PIC, -DPIC is meaningless:
++  *djgpp*)
++    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
++    ;;
++  *)
++    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
++    ;;
++esac
++
++AC_CACHE_CHECK([for $compiler option to produce PIC],
++  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
++  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
++_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
++
++#
++# Check to make sure the PIC flag actually works.
++#
++if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
++  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
++    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
++    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
++    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
++     "" | " "*) ;;
++     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
++     esac],
++    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
++     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
++fi
++_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
++	[Additional compiler flags for building library objects])
++
++_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
++	[How to pass a linker flag through the compiler])
++#
++# Check to make sure the static flag actually works.
++#
++wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
++_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
++  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
++  $lt_tmp_static_flag,
++  [],
++  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
++_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
++	[Compiler flag to prevent dynamic linking])
++])# _LT_COMPILER_PIC
++
++
++# _LT_LINKER_SHLIBS([TAGNAME])
++# ----------------------------
++# See if the linker supports building shared libraries.
++m4_defun([_LT_LINKER_SHLIBS],
++[AC_REQUIRE([LT_PATH_LD])dnl
++AC_REQUIRE([LT_PATH_NM])dnl
++m4_require([_LT_PATH_MANIFEST_TOOL])dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_EGREP])dnl
++m4_require([_LT_DECL_SED])dnl
++m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
++m4_require([_LT_TAG_COMPILER])dnl
++AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
++m4_if([$1], [CXX], [
++  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
++  case $host_os in
++  aix[[4-9]]*)
++    # If we're using GNU nm, then we don't want the "-C" option.
++    # -C means demangle to AIX nm, but means don't demangle with GNU nm
++    # Also, AIX nm treats weak defined symbols like other global defined
++    # symbols, whereas GNU nm marks them as "W".
++    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
++      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++    else
++      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++    fi
++    ;;
++  pw32*)
++    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
++    ;;
++  cygwin* | mingw* | cegcc*)
++    case $cc_basename in
++    cl*)
++      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
++      ;;
++    *)
++      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
++      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
++      ;;
++    esac
++    ;;
++  linux* | k*bsd*-gnu | gnu*)
++    _LT_TAGVAR(link_all_deplibs, $1)=no
++    ;;
++  *)
++    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++    ;;
++  esac
++], [
++  runpath_var=
++  _LT_TAGVAR(allow_undefined_flag, $1)=
++  _LT_TAGVAR(always_export_symbols, $1)=no
++  _LT_TAGVAR(archive_cmds, $1)=
++  _LT_TAGVAR(archive_expsym_cmds, $1)=
++  _LT_TAGVAR(compiler_needs_object, $1)=no
++  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
++  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
++  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++  _LT_TAGVAR(hardcode_automatic, $1)=no
++  _LT_TAGVAR(hardcode_direct, $1)=no
++  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
++  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++  _LT_TAGVAR(hardcode_libdir_separator, $1)=
++  _LT_TAGVAR(hardcode_minus_L, $1)=no
++  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
++  _LT_TAGVAR(inherit_rpath, $1)=no
++  _LT_TAGVAR(link_all_deplibs, $1)=unknown
++  _LT_TAGVAR(module_cmds, $1)=
++  _LT_TAGVAR(module_expsym_cmds, $1)=
++  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
++  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
++  _LT_TAGVAR(thread_safe_flag_spec, $1)=
++  _LT_TAGVAR(whole_archive_flag_spec, $1)=
++  # include_expsyms should be a list of space-separated symbols to be *always*
++  # included in the symbol list
++  _LT_TAGVAR(include_expsyms, $1)=
++  # exclude_expsyms can be an extended regexp of symbols to exclude
++  # it will be wrapped by ` (' and `)$', so one must not match beginning or
++  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
++  # as well as any symbol that contains `d'.
++  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
++  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
++  # platforms (ab)use it in PIC code, but their linkers get confused if
++  # the symbol is explicitly referenced.  Since portable code cannot
++  # rely on this symbol name, it's probably fine to never include it in
++  # preloaded symbol tables.
++  # Exclude shared library initialization/finalization symbols.
++dnl Note also adjust exclude_expsyms for C++ above.
++  extract_expsyms_cmds=
++
++  case $host_os in
++  cygwin* | mingw* | pw32* | cegcc*)
++    # FIXME: the MSVC++ port hasn't been tested in a loooong time
++    # When not using gcc, we currently assume that we are using
++    # Microsoft Visual C++.
++    if test "$GCC" != yes; then
++      with_gnu_ld=no
++    fi
++    ;;
++  interix*)
++    # we just hope/assume this is gcc and not c89 (= MSVC++)
++    with_gnu_ld=yes
++    ;;
++  openbsd*)
++    with_gnu_ld=no
++    ;;
++  linux* | k*bsd*-gnu | gnu*)
++    _LT_TAGVAR(link_all_deplibs, $1)=no
++    ;;
++  esac
++
++  _LT_TAGVAR(ld_shlibs, $1)=yes
++
++  # On some targets, GNU ld is compatible enough with the native linker
++  # that we're better off using the native interface for both.
++  lt_use_gnu_ld_interface=no
++  if test "$with_gnu_ld" = yes; then
++    case $host_os in
++      aix*)
++	# The AIX port of GNU ld has always aspired to compatibility
++	# with the native linker.  However, as the warning in the GNU ld
++	# block says, versions before 2.19.5* couldn't really create working
++	# shared libraries, regardless of the interface used.
++	case `$LD -v 2>&1` in
++	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
++	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
++	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
++	  *)
++	    lt_use_gnu_ld_interface=yes
++	    ;;
++	esac
++	;;
++      *)
++	lt_use_gnu_ld_interface=yes
++	;;
++    esac
++  fi
++
++  if test "$lt_use_gnu_ld_interface" = yes; then
++    # If archive_cmds runs LD, not CC, wlarc should be empty
++    wlarc='${wl}'
++
++    # Set some defaults for GNU ld with shared library support. These
++    # are reset later if shared libraries are not supported. Putting them
++    # here allows them to be overridden if necessary.
++    runpath_var=LD_RUN_PATH
++    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++    # ancient GNU ld didn't support --whole-archive et. al.
++    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
++      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
++    else
++      _LT_TAGVAR(whole_archive_flag_spec, $1)=
++    fi
++    supports_anon_versioning=no
++    case `$LD -v 2>&1` in
++      *GNU\ gold*) supports_anon_versioning=yes ;;
++      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
++      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
++      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
++      *\ 2.11.*) ;; # other 2.11 versions
++      *) supports_anon_versioning=yes ;;
++    esac
++
++    # See if GNU ld supports shared libraries.
++    case $host_os in
++    aix[[3-9]]*)
++      # On AIX/PPC, the GNU linker is very broken
++      if test "$host_cpu" != ia64; then
++	_LT_TAGVAR(ld_shlibs, $1)=no
++	cat <<_LT_EOF 1>&2
++
++*** Warning: the GNU linker, at least up to release 2.19, is reported
++*** to be unable to reliably create shared libraries on AIX.
++*** Therefore, libtool is disabling shared libraries support.  If you
++*** really care for shared libraries, you may want to install binutils
++*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
++*** You will then need to restart the configuration process.
++
++_LT_EOF
++      fi
++      ;;
++
++    amigaos*)
++      case $host_cpu in
++      powerpc)
++            # see comment about AmigaOS4 .so support
++            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++            _LT_TAGVAR(archive_expsym_cmds, $1)=''
++        ;;
++      m68k)
++            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++            _LT_TAGVAR(hardcode_minus_L, $1)=yes
++        ;;
++      esac
++      ;;
++
++    beos*)
++      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
++	# support --undefined.  This deserves some investigation.  FIXME
++	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++      else
++	_LT_TAGVAR(ld_shlibs, $1)=no
++      fi
++      ;;
++
++    cygwin* | mingw* | pw32* | cegcc*)
++      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
++      # as there is no search path for DLLs.
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
++      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++      _LT_TAGVAR(always_export_symbols, $1)=no
++      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
++      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
++
++      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
++        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++	# If the export-symbols file already is a .def file (1st line
++	# is EXPORTS), use it as is; otherwise, prepend...
++	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++	  cp $export_symbols $output_objdir/$soname.def;
++	else
++	  echo EXPORTS > $output_objdir/$soname.def;
++	  cat $export_symbols >> $output_objdir/$soname.def;
++	fi~
++	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++      else
++	_LT_TAGVAR(ld_shlibs, $1)=no
++      fi
++      ;;
++
++    haiku*)
++      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++      _LT_TAGVAR(link_all_deplibs, $1)=yes
++      ;;
++
++    interix[[3-9]]*)
++      _LT_TAGVAR(hardcode_direct, $1)=no
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
++      # Instead, shared libraries are loaded at an image base (0x10000000 by
++      # default) and relocated if they conflict, which is a slow very memory
++      # consuming and fragmenting process.  To avoid this, we pick a random,
++      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
++      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
++      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++      ;;
++
++    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
++      tmp_diet=no
++      if test "$host_os" = linux-dietlibc; then
++	case $cc_basename in
++	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
++	esac
++      fi
++      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
++	 && test "$tmp_diet" = no
++      then
++	tmp_addflag=' $pic_flag'
++	tmp_sharedflag='-shared'
++	case $cc_basename,$host_cpu in
++        pgcc*)				# Portland Group C compiler
++	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
++	  tmp_addflag=' $pic_flag'
++	  ;;
++	pgf77* | pgf90* | pgf95* | pgfortran*)
++					# Portland Group f77 and f90 compilers
++	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
++	  tmp_addflag=' $pic_flag -Mnomain' ;;
++	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
++	  tmp_addflag=' -i_dynamic' ;;
++	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
++	  tmp_addflag=' -i_dynamic -nofor_main' ;;
++	ifc* | ifort*)			# Intel Fortran compiler
++	  tmp_addflag=' -nofor_main' ;;
++	lf95*)				# Lahey Fortran 8.1
++	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
++	  tmp_sharedflag='--shared' ;;
++	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
++	  tmp_sharedflag='-qmkshrobj'
++	  tmp_addflag= ;;
++	nvcc*)	# Cuda Compiler Driver 2.2
++	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
++	  _LT_TAGVAR(compiler_needs_object, $1)=yes
++	  ;;
++	esac
++	case `$CC -V 2>&1 | sed 5q` in
++	*Sun\ C*)			# Sun C 5.9
++	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
++	  _LT_TAGVAR(compiler_needs_object, $1)=yes
++	  tmp_sharedflag='-G' ;;
++	*Sun\ F*)			# Sun Fortran 8.3
++	  tmp_sharedflag='-G' ;;
++	esac
++	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++
++        if test "x$supports_anon_versioning" = xyes; then
++          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
++	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++	    echo "local: *; };" >> $output_objdir/$libname.ver~
++	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
++        fi
++
++	case $cc_basename in
++	xlf* | bgf* | bgxlf* | mpixlf*)
++	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
++	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
++	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
++	  if test "x$supports_anon_versioning" = xyes; then
++	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
++	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++	      echo "local: *; };" >> $output_objdir/$libname.ver~
++	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++	  fi
++	  ;;
++	esac
++      else
++        _LT_TAGVAR(ld_shlibs, $1)=no
++      fi
++      ;;
++
++    netbsd* | netbsdelf*-gnu)
++      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
++	wlarc=
++      else
++	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++      fi
++      ;;
++
++    solaris*)
++      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
++	_LT_TAGVAR(ld_shlibs, $1)=no
++	cat <<_LT_EOF 1>&2
++
++*** Warning: The releases 2.8.* of the GNU linker cannot reliably
++*** create shared libraries on Solaris systems.  Therefore, libtool
++*** is disabling shared libraries support.  We urge you to upgrade GNU
++*** binutils to release 2.9.1 or newer.  Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
++
++_LT_EOF
++      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++      else
++	_LT_TAGVAR(ld_shlibs, $1)=no
++      fi
++      ;;
++
++    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
++      case `$LD -v 2>&1` in
++        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
++	_LT_TAGVAR(ld_shlibs, $1)=no
++	cat <<_LT_EOF 1>&2
++
++*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
++*** reliably create shared libraries on SCO systems.  Therefore, libtool
++*** is disabling shared libraries support.  We urge you to upgrade GNU
++*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
++
++_LT_EOF
++	;;
++	*)
++	  # For security reasons, it is highly recommended that you always
++	  # use absolute paths for naming shared libraries, and exclude the
++	  # DT_RUNPATH tag from executables and libraries.  But doing so
++	  # requires that you compile everything twice, which is a pain.
++	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++	  else
++	    _LT_TAGVAR(ld_shlibs, $1)=no
++	  fi
++	;;
++      esac
++      ;;
++
++    sunos4*)
++      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++      wlarc=
++      _LT_TAGVAR(hardcode_direct, $1)=yes
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      ;;
++
++    *)
++      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++      else
++	_LT_TAGVAR(ld_shlibs, $1)=no
++      fi
++      ;;
++    esac
++
++    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
++      runpath_var=
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
++      _LT_TAGVAR(whole_archive_flag_spec, $1)=
++    fi
++  else
++    # PORTME fill in a description of your system's linker (not GNU ld)
++    case $host_os in
++    aix3*)
++      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++      _LT_TAGVAR(always_export_symbols, $1)=yes
++      _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
++      # Note: this linker hardcodes the directories in LIBPATH if there
++      # are no directories specified by -L.
++      _LT_TAGVAR(hardcode_minus_L, $1)=yes
++      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
++	# Neither direct hardcoding nor static linking is supported with a
++	# broken collect2.
++	_LT_TAGVAR(hardcode_direct, $1)=unsupported
++      fi
++      ;;
++
++    aix[[4-9]]*)
++      if test "$host_cpu" = ia64; then
++	# On IA64, the linker does run time linking by default, so we don't
++	# have to do anything special.
++	aix_use_runtimelinking=no
++	exp_sym_flag='-Bexport'
++	no_entry_flag=""
++      else
++	# If we're using GNU nm, then we don't want the "-C" option.
++	# -C means demangle to AIX nm, but means don't demangle with GNU nm
++	# Also, AIX nm treats weak defined symbols like other global
++	# defined symbols, whereas GNU nm marks them as "W".
++	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
++	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++	else
++	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++	fi
++	aix_use_runtimelinking=no
++
++	# Test if we are trying to use run time linking or normal
++	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
++	# need to do runtime linking.
++	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
++	  for ld_flag in $LDFLAGS; do
++	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
++	    aix_use_runtimelinking=yes
++	    break
++	  fi
++	  done
++	  ;;
++	esac
++
++	exp_sym_flag='-bexport'
++	no_entry_flag='-bnoentry'
++      fi
++
++      # When large executables or shared objects are built, AIX ld can
++      # have problems creating the table of contents.  If linking a library
++      # or program results in "error TOC overflow" add -mminimal-toc to
++      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
++      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
++
++      _LT_TAGVAR(archive_cmds, $1)=''
++      _LT_TAGVAR(hardcode_direct, $1)=yes
++      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
++      _LT_TAGVAR(link_all_deplibs, $1)=yes
++      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
++
++      if test "$GCC" = yes; then
++	case $host_os in aix4.[[012]]|aix4.[[012]].*)
++	# We only want to do this on AIX 4.2 and lower, the check
++	# below for broken collect2 doesn't work under 4.3+
++	  collect2name=`${CC} -print-prog-name=collect2`
++	  if test -f "$collect2name" &&
++	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
++	  then
++	  # We have reworked collect2
++	  :
++	  else
++	  # We have old collect2
++	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
++	  # It fails to find uninstalled libraries when the uninstalled
++	  # path is not listed in the libpath.  Setting hardcode_minus_L
++	  # to unsupported forces relinking
++	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
++	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
++	  fi
++	  ;;
++	esac
++	shared_flag='-shared'
++	if test "$aix_use_runtimelinking" = yes; then
++	  shared_flag="$shared_flag "'${wl}-G'
++	fi
++	_LT_TAGVAR(link_all_deplibs, $1)=no
++      else
++	# not using gcc
++	if test "$host_cpu" = ia64; then
++	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
++	# chokes on -Wl,-G. The following line is correct:
++	  shared_flag='-G'
++	else
++	  if test "$aix_use_runtimelinking" = yes; then
++	    shared_flag='${wl}-G'
++	  else
++	    shared_flag='${wl}-bM:SRE'
++	  fi
++	fi
++      fi
++
++      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
++      # It seems that -bexpall does not export symbols beginning with
++      # underscore (_), so it is better to generate a list of symbols to export.
++      _LT_TAGVAR(always_export_symbols, $1)=yes
++      if test "$aix_use_runtimelinking" = yes; then
++	# Warning - without using the other runtime loading flags (-brtl),
++	# -berok will link without error, but may produce a broken library.
++	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
++        # Determine the default libpath from the value encoded in an
++        # empty executable.
++        _LT_SYS_MODULE_PATH_AIX([$1])
++        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
++        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++      else
++	if test "$host_cpu" = ia64; then
++	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
++	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
++	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
++	else
++	 # Determine the default libpath from the value encoded in an
++	 # empty executable.
++	 _LT_SYS_MODULE_PATH_AIX([$1])
++	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
++	  # Warning - without using the other run time loading flags,
++	  # -berok will link without error, but may produce a broken library.
++	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
++	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
++	  if test "$with_gnu_ld" = yes; then
++	    # We only use this code for GNU lds that support --whole-archive.
++	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
++	  else
++	    # Exported symbols can be pulled into shared objects from archives
++	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
++	  fi
++	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
++	  # This is similar to how AIX traditionally builds its shared libraries.
++	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
++	fi
++      fi
++      ;;
++
++    amigaos*)
++      case $host_cpu in
++      powerpc)
++            # see comment about AmigaOS4 .so support
++            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++            _LT_TAGVAR(archive_expsym_cmds, $1)=''
++        ;;
++      m68k)
++            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++            _LT_TAGVAR(hardcode_minus_L, $1)=yes
++        ;;
++      esac
++      ;;
++
++    bsdi[[45]]*)
++      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
++      ;;
++
++    cygwin* | mingw* | pw32* | cegcc*)
++      # When not using gcc, we currently assume that we are using
++      # Microsoft Visual C++.
++      # hardcode_libdir_flag_spec is actually meaningless, as there is
++      # no search path for DLLs.
++      case $cc_basename in
++      cl*)
++	# Native MSVC
++	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
++	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++	_LT_TAGVAR(always_export_symbols, $1)=yes
++	_LT_TAGVAR(file_list_spec, $1)='@'
++	# Tell ltmain to make .lib files, not .a files.
++	libext=lib
++	# Tell ltmain to make .dll files, not .so files.
++	shrext_cmds=".dll"
++	# FIXME: Setting linknames here is a bad hack.
++	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++	    sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++	  else
++	    sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++	  fi~
++	  $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++	  linknames='
++	# The linker will not automatically build a static lib if we build a DLL.
++	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
++	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
++	_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
++	# Don't use ranlib
++	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
++	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
++	  lt_tool_outputfile="@TOOL_OUTPUT@"~
++	  case $lt_outputfile in
++	    *.exe|*.EXE) ;;
++	    *)
++	      lt_outputfile="$lt_outputfile.exe"
++	      lt_tool_outputfile="$lt_tool_outputfile.exe"
++	      ;;
++	  esac~
++	  if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++	    $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++	    $RM "$lt_outputfile.manifest";
++	  fi'
++	;;
++      *)
++	# Assume MSVC wrapper
++	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
++	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++	# Tell ltmain to make .lib files, not .a files.
++	libext=lib
++	# Tell ltmain to make .dll files, not .so files.
++	shrext_cmds=".dll"
++	# FIXME: Setting linknames here is a bad hack.
++	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
++	# The linker will automatically build a .lib file if we build a DLL.
++	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
++	# FIXME: Should let the user specify the lib program.
++	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
++	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++	;;
++      esac
++      ;;
++
++    darwin* | rhapsody*)
++      _LT_DARWIN_LINKER_FEATURES($1)
++      ;;
++
++    dgux*)
++      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      ;;
++
++    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
++    # support.  Future versions do this automatically, but an explicit c++rt0.o
++    # does not break anything, and helps significantly (at the cost of a little
++    # extra space).
++    freebsd2.2*)
++      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++      _LT_TAGVAR(hardcode_direct, $1)=yes
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      ;;
++
++    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
++    freebsd2.*)
++      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++      _LT_TAGVAR(hardcode_direct, $1)=yes
++      _LT_TAGVAR(hardcode_minus_L, $1)=yes
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      ;;
++
++    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
++    freebsd* | dragonfly*)
++      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++      _LT_TAGVAR(hardcode_direct, $1)=yes
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      ;;
++
++    hpux9*)
++      if test "$GCC" = yes; then
++	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++      else
++	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++      fi
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
++      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++      _LT_TAGVAR(hardcode_direct, $1)=yes
++
++      # hardcode_minus_L: Not really in the search PATH,
++      # but as the default location of the library.
++      _LT_TAGVAR(hardcode_minus_L, $1)=yes
++      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++      ;;
++
++    hpux10*)
++      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
++	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++      else
++	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
++      fi
++      if test "$with_gnu_ld" = no; then
++	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
++	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
++	_LT_TAGVAR(hardcode_direct, $1)=yes
++	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++	# hardcode_minus_L: Not really in the search PATH,
++	# but as the default location of the library.
++	_LT_TAGVAR(hardcode_minus_L, $1)=yes
++      fi
++      ;;
++
++    hpux11*)
++      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
++	case $host_cpu in
++	hppa*64*)
++	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++	  ;;
++	ia64*)
++	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++	  ;;
++	*)
++	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++	  ;;
++	esac
++      else
++	case $host_cpu in
++	hppa*64*)
++	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++	  ;;
++	ia64*)
++	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++	  ;;
++	*)
++	m4_if($1, [], [
++	  # Older versions of the 11.00 compiler do not understand -b yet
++	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
++	  _LT_LINKER_OPTION([if $CC understands -b],
++	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
++	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
++	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
++	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
++	  ;;
++	esac
++      fi
++      if test "$with_gnu_ld" = no; then
++	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
++	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
++
++	case $host_cpu in
++	hppa*64*|ia64*)
++	  _LT_TAGVAR(hardcode_direct, $1)=no
++	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++	  ;;
++	*)
++	  _LT_TAGVAR(hardcode_direct, $1)=yes
++	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++
++	  # hardcode_minus_L: Not really in the search PATH,
++	  # but as the default location of the library.
++	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
++	  ;;
++	esac
++      fi
++      ;;
++
++    irix5* | irix6* | nonstopux*)
++      if test "$GCC" = yes; then
++	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++	# Try to use the -exported_symbol ld option, if it does not
++	# work, assume that -exports_file does not work either and
++	# implicitly export all symbols.
++	# This should be the same for all languages, so no per-tag cache variable.
++	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
++	  [lt_cv_irix_exported_symbol],
++	  [save_LDFLAGS="$LDFLAGS"
++	   LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++	   AC_LINK_IFELSE(
++	     [AC_LANG_SOURCE(
++	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
++			      [C++], [[int foo (void) { return 0; }]],
++			      [Fortran 77], [[
++      subroutine foo
++      end]],
++			      [Fortran], [[
++      subroutine foo
++      end]])])],
++	      [lt_cv_irix_exported_symbol=yes],
++	      [lt_cv_irix_exported_symbol=no])
++           LDFLAGS="$save_LDFLAGS"])
++	if test "$lt_cv_irix_exported_symbol" = yes; then
++          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++	fi
++      else
++	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
++	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
++      fi
++      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++      _LT_TAGVAR(inherit_rpath, $1)=yes
++      _LT_TAGVAR(link_all_deplibs, $1)=yes
++      ;;
++
++    netbsd* | netbsdelf*-gnu)
++      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
++      else
++	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
++      fi
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++      _LT_TAGVAR(hardcode_direct, $1)=yes
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      ;;
++
++    newsos6)
++      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++      _LT_TAGVAR(hardcode_direct, $1)=yes
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      ;;
++
++    *nto* | *qnx*)
++      ;;
++
++    openbsd*)
++      if test -f /usr/libexec/ld.so; then
++	_LT_TAGVAR(hardcode_direct, $1)=yes
++	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
++	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++	else
++	  case $host_os in
++	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
++	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++	     ;;
++	   *)
++	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++	     ;;
++	  esac
++	fi
++      else
++	_LT_TAGVAR(ld_shlibs, $1)=no
++      fi
++      ;;
++
++    os2*)
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++      _LT_TAGVAR(hardcode_minus_L, $1)=yes
++      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
++      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
++      ;;
++
++    osf3*)
++      if test "$GCC" = yes; then
++	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
++	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++      else
++	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
++	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
++      fi
++      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++      ;;
++
++    osf4* | osf5*)	# as osf3* with the addition of -msym flag
++      if test "$GCC" = yes; then
++	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
++	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++      else
++	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
++	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
++	_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
++	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
++
++	# Both c and cxx compiler support -rpath directly
++	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
++      fi
++      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
++      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++      ;;
++
++    solaris*)
++      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
++      if test "$GCC" = yes; then
++	wlarc='${wl}'
++	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++	  $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++      else
++	case `$CC -V 2>&1` in
++	*"Compilers 5.0"*)
++	  wlarc=''
++	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
++	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
++	  ;;
++	*)
++	  wlarc='${wl}'
++	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
++	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++	  ;;
++	esac
++      fi
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      case $host_os in
++      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
++      *)
++	# The compiler driver will combine and reorder linker options,
++	# but understands `-z linker_flag'.  GCC discards it without `$wl',
++	# but is careful enough not to reorder.
++	# Supported since Solaris 2.6 (maybe 2.5.1?)
++	if test "$GCC" = yes; then
++	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
++	else
++	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
++	fi
++	;;
++      esac
++      _LT_TAGVAR(link_all_deplibs, $1)=yes
++      ;;
++
++    sunos4*)
++      if test "x$host_vendor" = xsequent; then
++	# Use $CC to link under sequent, because it throws in some extra .o
++	# files that make .init and .fini sections work.
++	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
++      else
++	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
++      fi
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++      _LT_TAGVAR(hardcode_direct, $1)=yes
++      _LT_TAGVAR(hardcode_minus_L, $1)=yes
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      ;;
++
++    sysv4)
++      case $host_vendor in
++	sni)
++	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
++	;;
++	siemens)
++	  ## LD is ld it makes a PLAMLIB
++	  ## CC just makes a GrossModule.
++	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
++	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
++	  _LT_TAGVAR(hardcode_direct, $1)=no
++        ;;
++	motorola)
++	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
++	;;
++      esac
++      runpath_var='LD_RUN_PATH'
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      ;;
++
++    sysv4.3*)
++      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
++      ;;
++
++    sysv4*MP*)
++      if test -d /usr/nec; then
++	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++	runpath_var=LD_RUN_PATH
++	hardcode_runpath_var=yes
++	_LT_TAGVAR(ld_shlibs, $1)=yes
++      fi
++      ;;
++
++    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
++      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
++      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      runpath_var='LD_RUN_PATH'
++
++      if test "$GCC" = yes; then
++	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++      else
++	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++      fi
++      ;;
++
++    sysv5* | sco3.2v5* | sco5v6*)
++      # Note: We can NOT use -z defs as we might desire, because we do not
++      # link with -lc, and that would cause any symbols used from libc to
++      # always be unresolved, which means just about no library would
++      # ever link correctly.  If we're not using GNU ld we use -z text
++      # though, which does catch some bad symbols but isn't as heavy-handed
++      # as -z defs.
++      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
++      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
++      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
++      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
++      _LT_TAGVAR(link_all_deplibs, $1)=yes
++      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
++      runpath_var='LD_RUN_PATH'
++
++      if test "$GCC" = yes; then
++	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++      else
++	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++      fi
++      ;;
++
++    uts4*)
++      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      ;;
++
++    *)
++      _LT_TAGVAR(ld_shlibs, $1)=no
++      ;;
++    esac
++
++    if test x$host_vendor = xsni; then
++      case $host in
++      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
++	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
++	;;
++      esac
++    fi
++  fi
++])
++AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
++test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
++
++_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
++
++_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
++_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
++_LT_DECL([], [extract_expsyms_cmds], [2],
++    [The commands to extract the exported symbol list from a shared archive])
++
++#
++# Do we need to explicitly link libc?
++#
++case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
++x|xyes)
++  # Assume -lc should be added
++  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
++
++  if test "$enable_shared" = yes && test "$GCC" = yes; then
++    case $_LT_TAGVAR(archive_cmds, $1) in
++    *'~'*)
++      # FIXME: we may have to deal with multi-command sequences.
++      ;;
++    '$CC '*)
++      # Test whether the compiler implicitly links with -lc since on some
++      # systems, -lgcc has to come before -lc. If gcc already passes -lc
++      # to ld, don't add -lc before -lgcc.
++      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
++	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
++	[$RM conftest*
++	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
++	  soname=conftest
++	  lib=conftest
++	  libobjs=conftest.$ac_objext
++	  deplibs=
++	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
++	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
++	  compiler_flags=-v
++	  linker_flags=-v
++	  verstring=
++	  output_objdir=.
++	  libname=conftest
++	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
++	  _LT_TAGVAR(allow_undefined_flag, $1)=
++	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
++	  then
++	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
++	  else
++	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
++	  fi
++	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
++	else
++	  cat conftest.err 1>&5
++	fi
++	$RM conftest*
++	])
++      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
++      ;;
++    esac
++  fi
++  ;;
++esac
++
++_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
++    [Whether or not to add -lc for building shared libraries])
++_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
++    [enable_shared_with_static_runtimes], [0],
++    [Whether or not to disallow shared libs when runtime libs are static])
++_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
++    [Compiler flag to allow reflexive dlopens])
++_LT_TAGDECL([], [whole_archive_flag_spec], [1],
++    [Compiler flag to generate shared objects directly from archives])
++_LT_TAGDECL([], [compiler_needs_object], [1],
++    [Whether the compiler copes with passing no objects directly])
++_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
++    [Create an old-style archive from a shared archive])
++_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
++    [Create a temporary old-style archive to link instead of a shared archive])
++_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
++_LT_TAGDECL([], [archive_expsym_cmds], [2])
++_LT_TAGDECL([], [module_cmds], [2],
++    [Commands used to build a loadable module if different from building
++    a shared archive.])
++_LT_TAGDECL([], [module_expsym_cmds], [2])
++_LT_TAGDECL([], [with_gnu_ld], [1],
++    [Whether we are building with GNU ld or not])
++_LT_TAGDECL([], [allow_undefined_flag], [1],
++    [Flag that allows shared libraries with undefined symbols to be built])
++_LT_TAGDECL([], [no_undefined_flag], [1],
++    [Flag that enforces no undefined symbols])
++_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
++    [Flag to hardcode $libdir into a binary during linking.
++    This must work even if $libdir does not exist])
++_LT_TAGDECL([], [hardcode_libdir_separator], [1],
++    [Whether we need a single "-rpath" flag with a separated argument])
++_LT_TAGDECL([], [hardcode_direct], [0],
++    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
++    DIR into the resulting binary])
++_LT_TAGDECL([], [hardcode_direct_absolute], [0],
++    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
++    DIR into the resulting binary and the resulting library dependency is
++    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
++    library is relocated])
++_LT_TAGDECL([], [hardcode_minus_L], [0],
++    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
++    into the resulting binary])
++_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
++    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
++    into the resulting binary])
++_LT_TAGDECL([], [hardcode_automatic], [0],
++    [Set to "yes" if building a shared library automatically hardcodes DIR
++    into the library and all subsequent libraries and executables linked
++    against it])
++_LT_TAGDECL([], [inherit_rpath], [0],
++    [Set to yes if linker adds runtime paths of dependent libraries
++    to runtime path list])
++_LT_TAGDECL([], [link_all_deplibs], [0],
++    [Whether libtool must link a program against all its dependency libraries])
++_LT_TAGDECL([], [always_export_symbols], [0],
++    [Set to "yes" if exported symbols are required])
++_LT_TAGDECL([], [export_symbols_cmds], [2],
++    [The commands to list exported symbols])
++_LT_TAGDECL([], [exclude_expsyms], [1],
++    [Symbols that should not be listed in the preloaded symbols])
++_LT_TAGDECL([], [include_expsyms], [1],
++    [Symbols that must always be exported])
++_LT_TAGDECL([], [prelink_cmds], [2],
++    [Commands necessary for linking programs (against libraries) with templates])
++_LT_TAGDECL([], [postlink_cmds], [2],
++    [Commands necessary for finishing linking programs])
++_LT_TAGDECL([], [file_list_spec], [1],
++    [Specify filename containing input files])
++dnl FIXME: Not yet implemented
++dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
++dnl    [Compiler flag to generate thread safe objects])
++])# _LT_LINKER_SHLIBS
++
++
++# _LT_LANG_C_CONFIG([TAG])
++# ------------------------
++# Ensure that the configuration variables for a C compiler are suitably
++# defined.  These variables are subsequently used by _LT_CONFIG to write
++# the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_C_CONFIG],
++[m4_require([_LT_DECL_EGREP])dnl
++lt_save_CC="$CC"
++AC_LANG_PUSH(C)
++
++# Source file extension for C test sources.
++ac_ext=c
++
++# Object file extension for compiled C test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# Code to be used in simple compile tests
++lt_simple_compile_test_code="int some_variable = 0;"
++
++# Code to be used in simple link tests
++lt_simple_link_test_code='int main(){return(0);}'
++
++_LT_TAG_COMPILER
++# Save the default compiler, since it gets overwritten when the other
++# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
++compiler_DEFAULT=$CC
++
++# save warnings/boilerplate of simple test code
++_LT_COMPILER_BOILERPLATE
++_LT_LINKER_BOILERPLATE
++
++if test -n "$compiler"; then
++  _LT_COMPILER_NO_RTTI($1)
++  _LT_COMPILER_PIC($1)
++  _LT_COMPILER_C_O($1)
++  _LT_COMPILER_FILE_LOCKS($1)
++  _LT_LINKER_SHLIBS($1)
++  _LT_SYS_DYNAMIC_LINKER($1)
++  _LT_LINKER_HARDCODE_LIBPATH($1)
++  LT_SYS_DLOPEN_SELF
++  _LT_CMD_STRIPLIB
++
++  # Report which library types will actually be built
++  AC_MSG_CHECKING([if libtool supports shared libraries])
++  AC_MSG_RESULT([$can_build_shared])
++
++  AC_MSG_CHECKING([whether to build shared libraries])
++  test "$can_build_shared" = "no" && enable_shared=no
++
++  # On AIX, shared libraries and static libraries use the same namespace, and
++  # are all built from PIC.
++  case $host_os in
++  aix3*)
++    test "$enable_shared" = yes && enable_static=no
++    if test -n "$RANLIB"; then
++      archive_cmds="$archive_cmds~\$RANLIB \$lib"
++      postinstall_cmds='$RANLIB $lib'
++    fi
++    ;;
++
++  aix[[4-9]]*)
++    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
++      test "$enable_shared" = yes && enable_static=no
++    fi
++    ;;
++  esac
++  AC_MSG_RESULT([$enable_shared])
++
++  AC_MSG_CHECKING([whether to build static libraries])
++  # Make sure either enable_shared or enable_static is yes.
++  test "$enable_shared" = yes || enable_static=yes
++  AC_MSG_RESULT([$enable_static])
++
++  _LT_CONFIG($1)
++fi
++AC_LANG_POP
++CC="$lt_save_CC"
++])# _LT_LANG_C_CONFIG
++
++
++# _LT_LANG_CXX_CONFIG([TAG])
++# --------------------------
++# Ensure that the configuration variables for a C++ compiler are suitably
++# defined.  These variables are subsequently used by _LT_CONFIG to write
++# the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_CXX_CONFIG],
++[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_EGREP])dnl
++m4_require([_LT_PATH_MANIFEST_TOOL])dnl
++if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
++    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
++    (test "X$CXX" != "Xg++"))) ; then
++  AC_PROG_CXXCPP
++else
++  _lt_caught_CXX_error=yes
++fi
++
++AC_LANG_PUSH(C++)
++_LT_TAGVAR(archive_cmds_need_lc, $1)=no
++_LT_TAGVAR(allow_undefined_flag, $1)=
++_LT_TAGVAR(always_export_symbols, $1)=no
++_LT_TAGVAR(archive_expsym_cmds, $1)=
++_LT_TAGVAR(compiler_needs_object, $1)=no
++_LT_TAGVAR(export_dynamic_flag_spec, $1)=
++_LT_TAGVAR(hardcode_direct, $1)=no
++_LT_TAGVAR(hardcode_direct_absolute, $1)=no
++_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++_LT_TAGVAR(hardcode_libdir_separator, $1)=
++_LT_TAGVAR(hardcode_minus_L, $1)=no
++_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
++_LT_TAGVAR(hardcode_automatic, $1)=no
++_LT_TAGVAR(inherit_rpath, $1)=no
++_LT_TAGVAR(module_cmds, $1)=
++_LT_TAGVAR(module_expsym_cmds, $1)=
++_LT_TAGVAR(link_all_deplibs, $1)=unknown
++_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++_LT_TAGVAR(reload_flag, $1)=$reload_flag
++_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
++_LT_TAGVAR(no_undefined_flag, $1)=
++_LT_TAGVAR(whole_archive_flag_spec, $1)=
++_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
++
++# Source file extension for C++ test sources.
++ac_ext=cpp
++
++# Object file extension for compiled C++ test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# No sense in running all these tests if we already determined that
++# the CXX compiler isn't working.  Some variables (like enable_shared)
++# are currently assumed to apply to all compilers on this platform,
++# and will be corrupted by setting them based on a non-working compiler.
++if test "$_lt_caught_CXX_error" != yes; then
++  # Code to be used in simple compile tests
++  lt_simple_compile_test_code="int some_variable = 0;"
++
++  # Code to be used in simple link tests
++  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
++
++  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
++  _LT_TAG_COMPILER
++
++  # save warnings/boilerplate of simple test code
++  _LT_COMPILER_BOILERPLATE
++  _LT_LINKER_BOILERPLATE
++
++  # Allow CC to be a program name with arguments.
++  lt_save_CC=$CC
++  lt_save_CFLAGS=$CFLAGS
++  lt_save_LD=$LD
++  lt_save_GCC=$GCC
++  GCC=$GXX
++  lt_save_with_gnu_ld=$with_gnu_ld
++  lt_save_path_LD=$lt_cv_path_LD
++  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
++    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
++  else
++    $as_unset lt_cv_prog_gnu_ld
++  fi
++  if test -n "${lt_cv_path_LDCXX+set}"; then
++    lt_cv_path_LD=$lt_cv_path_LDCXX
++  else
++    $as_unset lt_cv_path_LD
++  fi
++  test -z "${LDCXX+set}" || LD=$LDCXX
++  CC=${CXX-"c++"}
++  CFLAGS=$CXXFLAGS
++  compiler=$CC
++  _LT_TAGVAR(compiler, $1)=$CC
++  _LT_CC_BASENAME([$compiler])
++
++  if test -n "$compiler"; then
++    # We don't want -fno-exception when compiling C++ code, so set the
++    # no_builtin_flag separately
++    if test "$GXX" = yes; then
++      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
++    else
++      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
++    fi
++
++    if test "$GXX" = yes; then
++      # Set up default GNU C++ configuration
++
++      LT_PATH_LD
++
++      # Check if GNU C++ uses GNU ld as the underlying linker, since the
++      # archiving commands below assume that GNU ld is being used.
++      if test "$with_gnu_ld" = yes; then
++        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
++        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++
++        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++
++        # If archive_cmds runs LD, not CC, wlarc should be empty
++        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
++        #     investigate it a little bit more. (MM)
++        wlarc='${wl}'
++
++        # ancient GNU ld didn't support --whole-archive et. al.
++        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
++	  $GREP 'no-whole-archive' > /dev/null; then
++          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
++        else
++          _LT_TAGVAR(whole_archive_flag_spec, $1)=
++        fi
++      else
++        with_gnu_ld=no
++        wlarc=
++
++        # A generic and very simple default shared library creation
++        # command for GNU C++ for the case where it uses the native
++        # linker, instead of GNU ld.  If possible, this setting should
++        # overridden to take advantage of the native linker features on
++        # the platform it is being used on.
++        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
++      fi
++
++      # Commands to make compiler produce verbose output that lists
++      # what "hidden" libraries, object files and flags are used when
++      # linking a shared library.
++      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
++
++    else
++      GXX=no
++      with_gnu_ld=no
++      wlarc=
++    fi
++
++    # PORTME: fill in a description of your system's C++ link characteristics
++    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
++    _LT_TAGVAR(ld_shlibs, $1)=yes
++    case $host_os in
++      aix3*)
++        # FIXME: insert proper C++ library support
++        _LT_TAGVAR(ld_shlibs, $1)=no
++        ;;
++      aix[[4-9]]*)
++        if test "$host_cpu" = ia64; then
++          # On IA64, the linker does run time linking by default, so we don't
++          # have to do anything special.
++          aix_use_runtimelinking=no
++          exp_sym_flag='-Bexport'
++          no_entry_flag=""
++        else
++          aix_use_runtimelinking=no
++
++          # Test if we are trying to use run time linking or normal
++          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
++          # need to do runtime linking.
++          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
++	    for ld_flag in $LDFLAGS; do
++	      case $ld_flag in
++	      *-brtl*)
++	        aix_use_runtimelinking=yes
++	        break
++	        ;;
++	      esac
++	    done
++	    ;;
++          esac
++
++          exp_sym_flag='-bexport'
++          no_entry_flag='-bnoentry'
++        fi
++
++        # When large executables or shared objects are built, AIX ld can
++        # have problems creating the table of contents.  If linking a library
++        # or program results in "error TOC overflow" add -mminimal-toc to
++        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
++        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
++
++        _LT_TAGVAR(archive_cmds, $1)=''
++        _LT_TAGVAR(hardcode_direct, $1)=yes
++        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
++        _LT_TAGVAR(link_all_deplibs, $1)=yes
++        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
++
++        if test "$GXX" = yes; then
++          case $host_os in aix4.[[012]]|aix4.[[012]].*)
++          # We only want to do this on AIX 4.2 and lower, the check
++          # below for broken collect2 doesn't work under 4.3+
++	  collect2name=`${CC} -print-prog-name=collect2`
++	  if test -f "$collect2name" &&
++	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
++	  then
++	    # We have reworked collect2
++	    :
++	  else
++	    # We have old collect2
++	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
++	    # It fails to find uninstalled libraries when the uninstalled
++	    # path is not listed in the libpath.  Setting hardcode_minus_L
++	    # to unsupported forces relinking
++	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
++	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
++	  fi
++          esac
++          shared_flag='-shared'
++	  if test "$aix_use_runtimelinking" = yes; then
++	    shared_flag="$shared_flag "'${wl}-G'
++	  fi
++        else
++          # not using gcc
++          if test "$host_cpu" = ia64; then
++	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
++	  # chokes on -Wl,-G. The following line is correct:
++	  shared_flag='-G'
++          else
++	    if test "$aix_use_runtimelinking" = yes; then
++	      shared_flag='${wl}-G'
++	    else
++	      shared_flag='${wl}-bM:SRE'
++	    fi
++          fi
++        fi
++
++        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
++        # It seems that -bexpall does not export symbols beginning with
++        # underscore (_), so it is better to generate a list of symbols to
++	# export.
++        _LT_TAGVAR(always_export_symbols, $1)=yes
++        if test "$aix_use_runtimelinking" = yes; then
++          # Warning - without using the other runtime loading flags (-brtl),
++          # -berok will link without error, but may produce a broken library.
++          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
++          # Determine the default libpath from the value encoded in an empty
++          # executable.
++          _LT_SYS_MODULE_PATH_AIX([$1])
++          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
++
++          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++        else
++          if test "$host_cpu" = ia64; then
++	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
++	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
++	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
++          else
++	    # Determine the default libpath from the value encoded in an
++	    # empty executable.
++	    _LT_SYS_MODULE_PATH_AIX([$1])
++	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
++	    # Warning - without using the other run time loading flags,
++	    # -berok will link without error, but may produce a broken library.
++	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
++	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
++	    if test "$with_gnu_ld" = yes; then
++	      # We only use this code for GNU lds that support --whole-archive.
++	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
++	    else
++	      # Exported symbols can be pulled into shared objects from archives
++	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
++	    fi
++	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
++	    # This is similar to how AIX traditionally builds its shared
++	    # libraries.
++	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
++          fi
++        fi
++        ;;
++
++      beos*)
++	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
++	  # support --undefined.  This deserves some investigation.  FIXME
++	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++	else
++	  _LT_TAGVAR(ld_shlibs, $1)=no
++	fi
++	;;
++
++      chorus*)
++        case $cc_basename in
++          *)
++	  # FIXME: insert proper C++ library support
++	  _LT_TAGVAR(ld_shlibs, $1)=no
++	  ;;
++        esac
++        ;;
++
++      cygwin* | mingw* | pw32* | cegcc*)
++	case $GXX,$cc_basename in
++	,cl* | no,cl*)
++	  # Native MSVC
++	  # hardcode_libdir_flag_spec is actually meaningless, as there is
++	  # no search path for DLLs.
++	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
++	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++	  _LT_TAGVAR(always_export_symbols, $1)=yes
++	  _LT_TAGVAR(file_list_spec, $1)='@'
++	  # Tell ltmain to make .lib files, not .a files.
++	  libext=lib
++	  # Tell ltmain to make .dll files, not .so files.
++	  shrext_cmds=".dll"
++	  # FIXME: Setting linknames here is a bad hack.
++	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++	  _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++	      $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++	    else
++	      $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++	    fi~
++	    $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++	    linknames='
++	  # The linker will not automatically build a static lib if we build a DLL.
++	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
++	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++	  # Don't use ranlib
++	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
++	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
++	    lt_tool_outputfile="@TOOL_OUTPUT@"~
++	    case $lt_outputfile in
++	      *.exe|*.EXE) ;;
++	      *)
++		lt_outputfile="$lt_outputfile.exe"
++		lt_tool_outputfile="$lt_tool_outputfile.exe"
++		;;
++	    esac~
++	    func_to_tool_file "$lt_outputfile"~
++	    if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++	      $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++	      $RM "$lt_outputfile.manifest";
++	    fi'
++	  ;;
++	*)
++	  # g++
++	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
++	  # as there is no search path for DLLs.
++	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
++	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++	  _LT_TAGVAR(always_export_symbols, $1)=no
++	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++
++	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
++	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++	    # If the export-symbols file already is a .def file (1st line
++	    # is EXPORTS), use it as is; otherwise, prepend...
++	    _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++	      cp $export_symbols $output_objdir/$soname.def;
++	    else
++	      echo EXPORTS > $output_objdir/$soname.def;
++	      cat $export_symbols >> $output_objdir/$soname.def;
++	    fi~
++	    $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++	  else
++	    _LT_TAGVAR(ld_shlibs, $1)=no
++	  fi
++	  ;;
++	esac
++	;;
++      darwin* | rhapsody*)
++        _LT_DARWIN_LINKER_FEATURES($1)
++	;;
++
++      dgux*)
++        case $cc_basename in
++          ec++*)
++	    # FIXME: insert proper C++ library support
++	    _LT_TAGVAR(ld_shlibs, $1)=no
++	    ;;
++          ghcx*)
++	    # Green Hills C++ Compiler
++	    # FIXME: insert proper C++ library support
++	    _LT_TAGVAR(ld_shlibs, $1)=no
++	    ;;
++          *)
++	    # FIXME: insert proper C++ library support
++	    _LT_TAGVAR(ld_shlibs, $1)=no
++	    ;;
++        esac
++        ;;
++
++      freebsd2.*)
++        # C++ shared libraries reported to be fairly broken before
++	# switch to ELF
++        _LT_TAGVAR(ld_shlibs, $1)=no
++        ;;
++
++      freebsd-elf*)
++        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++        ;;
++
++      freebsd* | dragonfly*)
++        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
++        # conventions
++        _LT_TAGVAR(ld_shlibs, $1)=yes
++        ;;
++
++      haiku*)
++        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++        _LT_TAGVAR(link_all_deplibs, $1)=yes
++        ;;
++
++      hpux9*)
++        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
++        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++        _LT_TAGVAR(hardcode_direct, $1)=yes
++        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
++				             # but as the default
++				             # location of the library.
++
++        case $cc_basename in
++          CC*)
++            # FIXME: insert proper C++ library support
++            _LT_TAGVAR(ld_shlibs, $1)=no
++            ;;
++          aCC*)
++            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++            # Commands to make compiler produce verbose output that lists
++            # what "hidden" libraries, object files and flags are used when
++            # linking a shared library.
++            #
++            # There doesn't appear to be a way to prevent this compiler from
++            # explicitly linking system object files so we need to strip them
++            # from the output so that they don't get included in the library
++            # dependencies.
++            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
++            ;;
++          *)
++            if test "$GXX" = yes; then
++              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++            else
++              # FIXME: insert proper C++ library support
++              _LT_TAGVAR(ld_shlibs, $1)=no
++            fi
++            ;;
++        esac
++        ;;
++
++      hpux10*|hpux11*)
++        if test $with_gnu_ld = no; then
++	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
++	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++
++          case $host_cpu in
++            hppa*64*|ia64*)
++              ;;
++            *)
++	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++              ;;
++          esac
++        fi
++        case $host_cpu in
++          hppa*64*|ia64*)
++            _LT_TAGVAR(hardcode_direct, $1)=no
++            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++            ;;
++          *)
++            _LT_TAGVAR(hardcode_direct, $1)=yes
++            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
++					         # but as the default
++					         # location of the library.
++            ;;
++        esac
++
++        case $cc_basename in
++          CC*)
++	    # FIXME: insert proper C++ library support
++	    _LT_TAGVAR(ld_shlibs, $1)=no
++	    ;;
++          aCC*)
++	    case $host_cpu in
++	      hppa*64*)
++	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++	        ;;
++	      ia64*)
++	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++	        ;;
++	      *)
++	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++	        ;;
++	    esac
++	    # Commands to make compiler produce verbose output that lists
++	    # what "hidden" libraries, object files and flags are used when
++	    # linking a shared library.
++	    #
++	    # There doesn't appear to be a way to prevent this compiler from
++	    # explicitly linking system object files so we need to strip them
++	    # from the output so that they don't get included in the library
++	    # dependencies.
++	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
++	    ;;
++          *)
++	    if test "$GXX" = yes; then
++	      if test $with_gnu_ld = no; then
++	        case $host_cpu in
++	          hppa*64*)
++	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++	            ;;
++	          ia64*)
++	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++	            ;;
++	          *)
++	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++	            ;;
++	        esac
++	      fi
++	    else
++	      # FIXME: insert proper C++ library support
++	      _LT_TAGVAR(ld_shlibs, $1)=no
++	    fi
++	    ;;
++        esac
++        ;;
++
++      interix[[3-9]]*)
++	_LT_TAGVAR(hardcode_direct, $1)=no
++	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
++	# Instead, shared libraries are loaded at an image base (0x10000000 by
++	# default) and relocated if they conflict, which is a slow very memory
++	# consuming and fragmenting process.  To avoid this, we pick a random,
++	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
++	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
++	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++	_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++	;;
++      irix5* | irix6*)
++        case $cc_basename in
++          CC*)
++	    # SGI C++
++	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
++
++	    # Archives containing C++ object files must be created using
++	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
++	    # necessary to make sure instantiated templates are included
++	    # in the archive.
++	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
++	    ;;
++          *)
++	    if test "$GXX" = yes; then
++	      if test "$with_gnu_ld" = no; then
++	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++	      else
++	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
++	      fi
++	    fi
++	    _LT_TAGVAR(link_all_deplibs, $1)=yes
++	    ;;
++        esac
++        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++        _LT_TAGVAR(inherit_rpath, $1)=yes
++        ;;
++
++      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
++        case $cc_basename in
++          KCC*)
++	    # Kuck and Associates, Inc. (KAI) C++ Compiler
++
++	    # KCC will only create a shared library if the output file
++	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
++	    # to its proper name (with version) after linking.
++	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
++	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
++	    # Commands to make compiler produce verbose output that lists
++	    # what "hidden" libraries, object files and flags are used when
++	    # linking a shared library.
++	    #
++	    # There doesn't appear to be a way to prevent this compiler from
++	    # explicitly linking system object files so we need to strip them
++	    # from the output so that they don't get included in the library
++	    # dependencies.
++	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
++
++	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++
++	    # Archives containing C++ object files must be created using
++	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
++	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
++	    ;;
++	  icpc* | ecpc* )
++	    # Intel C++
++	    with_gnu_ld=yes
++	    # version 8.0 and above of icpc choke on multiply defined symbols
++	    # if we add $predep_objects and $postdep_objects, however 7.1 and
++	    # earlier do not add the objects themselves.
++	    case `$CC -V 2>&1` in
++	      *"Version 7."*)
++	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
++		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++		;;
++	      *)  # Version 8.0 or newer
++	        tmp_idyn=
++	        case $host_cpu in
++		  ia64*) tmp_idyn=' -i_dynamic';;
++		esac
++	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++		;;
++	    esac
++	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
++	    ;;
++          pgCC* | pgcpp*)
++            # Portland Group C++ compiler
++	    case `$CC -V` in
++	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
++	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
++		rm -rf $tpldir~
++		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
++		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
++	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
++		rm -rf $tpldir~
++		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
++		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
++		$RANLIB $oldlib'
++	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
++		rm -rf $tpldir~
++		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
++		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
++	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
++		rm -rf $tpldir~
++		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
++		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
++	      ;;
++	    *) # Version 6 and above use weak symbols
++	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
++	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
++	      ;;
++	    esac
++
++	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
++	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
++            ;;
++	  cxx*)
++	    # Compaq C++
++	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
++	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
++
++	    runpath_var=LD_RUN_PATH
++	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
++	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++
++	    # Commands to make compiler produce verbose output that lists
++	    # what "hidden" libraries, object files and flags are used when
++	    # linking a shared library.
++	    #
++	    # There doesn't appear to be a way to prevent this compiler from
++	    # explicitly linking system object files so we need to strip them
++	    # from the output so that they don't get included in the library
++	    # dependencies.
++	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
++	    ;;
++	  xl* | mpixl* | bgxl*)
++	    # IBM XL 8.0 on PPC, with GNU ld
++	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++	    if test "x$supports_anon_versioning" = xyes; then
++	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
++		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++		echo "local: *; };" >> $output_objdir/$libname.ver~
++		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
++	    fi
++	    ;;
++	  *)
++	    case `$CC -V 2>&1 | sed 5q` in
++	    *Sun\ C*)
++	      # Sun C++ 5.9
++	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
++	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
++	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
++	      _LT_TAGVAR(compiler_needs_object, $1)=yes
++
++	      # Not sure whether something based on
++	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
++	      # would be better.
++	      output_verbose_link_cmd='func_echo_all'
++
++	      # Archives containing C++ object files must be created using
++	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
++	      # necessary to make sure instantiated templates are included
++	      # in the archive.
++	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
++	      ;;
++	    esac
++	    ;;
++	esac
++	;;
++
++      lynxos*)
++        # FIXME: insert proper C++ library support
++	_LT_TAGVAR(ld_shlibs, $1)=no
++	;;
++
++      m88k*)
++        # FIXME: insert proper C++ library support
++        _LT_TAGVAR(ld_shlibs, $1)=no
++	;;
++
++      mvs*)
++        case $cc_basename in
++          cxx*)
++	    # FIXME: insert proper C++ library support
++	    _LT_TAGVAR(ld_shlibs, $1)=no
++	    ;;
++	  *)
++	    # FIXME: insert proper C++ library support
++	    _LT_TAGVAR(ld_shlibs, $1)=no
++	    ;;
++	esac
++	;;
++
++      netbsd*)
++        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
++	  wlarc=
++	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++	  _LT_TAGVAR(hardcode_direct, $1)=yes
++	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++	fi
++	# Workaround some broken pre-1.5 toolchains
++	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
++	;;
++
++      *nto* | *qnx*)
++        _LT_TAGVAR(ld_shlibs, $1)=yes
++	;;
++
++      openbsd2*)
++        # C++ shared libraries are fairly broken
++	_LT_TAGVAR(ld_shlibs, $1)=no
++	;;
++
++      openbsd*)
++	if test -f /usr/libexec/ld.so; then
++	  _LT_TAGVAR(hardcode_direct, $1)=yes
++	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
++	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
++	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
++	  fi
++	  output_verbose_link_cmd=func_echo_all
++	else
++	  _LT_TAGVAR(ld_shlibs, $1)=no
++	fi
++	;;
++
++      osf3* | osf4* | osf5*)
++        case $cc_basename in
++          KCC*)
++	    # Kuck and Associates, Inc. (KAI) C++ Compiler
++
++	    # KCC will only create a shared library if the output file
++	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
++	    # to its proper name (with version) after linking.
++	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
++
++	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++
++	    # Archives containing C++ object files must be created using
++	    # the KAI C++ compiler.
++	    case $host in
++	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
++	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
++	    esac
++	    ;;
++          RCC*)
++	    # Rational C++ 2.4.1
++	    # FIXME: insert proper C++ library support
++	    _LT_TAGVAR(ld_shlibs, $1)=no
++	    ;;
++          cxx*)
++	    case $host in
++	      osf3*)
++	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
++	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
++	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++		;;
++	      *)
++	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
++	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
++	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
++	          echo "-hidden">> $lib.exp~
++	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
++	          $RM $lib.exp'
++	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
++		;;
++	    esac
++
++	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++
++	    # Commands to make compiler produce verbose output that lists
++	    # what "hidden" libraries, object files and flags are used when
++	    # linking a shared library.
++	    #
++	    # There doesn't appear to be a way to prevent this compiler from
++	    # explicitly linking system object files so we need to strip them
++	    # from the output so that they don't get included in the library
++	    # dependencies.
++	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
++	    ;;
++	  *)
++	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
++	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
++	      case $host in
++	        osf3*)
++	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++		  ;;
++	        *)
++	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++		  ;;
++	      esac
++
++	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++
++	      # Commands to make compiler produce verbose output that lists
++	      # what "hidden" libraries, object files and flags are used when
++	      # linking a shared library.
++	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
++
++	    else
++	      # FIXME: insert proper C++ library support
++	      _LT_TAGVAR(ld_shlibs, $1)=no
++	    fi
++	    ;;
++        esac
++        ;;
++
++      psos*)
++        # FIXME: insert proper C++ library support
++        _LT_TAGVAR(ld_shlibs, $1)=no
++        ;;
++
++      sunos4*)
++        case $cc_basename in
++          CC*)
++	    # Sun C++ 4.x
++	    # FIXME: insert proper C++ library support
++	    _LT_TAGVAR(ld_shlibs, $1)=no
++	    ;;
++          lcc*)
++	    # Lucid
++	    # FIXME: insert proper C++ library support
++	    _LT_TAGVAR(ld_shlibs, $1)=no
++	    ;;
++          *)
++	    # FIXME: insert proper C++ library support
++	    _LT_TAGVAR(ld_shlibs, $1)=no
++	    ;;
++        esac
++        ;;
++
++      solaris*)
++        case $cc_basename in
++          CC* | sunCC*)
++	    # Sun C++ 4.2, 5.x and Centerline C++
++            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
++	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
++	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++	      $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
++
++	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++	    case $host_os in
++	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
++	      *)
++		# The compiler driver will combine and reorder linker options,
++		# but understands `-z linker_flag'.
++	        # Supported since Solaris 2.6 (maybe 2.5.1?)
++		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
++	        ;;
++	    esac
++	    _LT_TAGVAR(link_all_deplibs, $1)=yes
++
++	    output_verbose_link_cmd='func_echo_all'
++
++	    # Archives containing C++ object files must be created using
++	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
++	    # necessary to make sure instantiated templates are included
++	    # in the archive.
++	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
++	    ;;
++          gcx*)
++	    # Green Hills C++ Compiler
++	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
++
++	    # The C++ compiler must be used to create the archive.
++	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
++	    ;;
++          *)
++	    # GNU C++ compiler with Solaris linker
++	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
++	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
++	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
++	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
++	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++		  $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
++
++	        # Commands to make compiler produce verbose output that lists
++	        # what "hidden" libraries, object files and flags are used when
++	        # linking a shared library.
++	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
++	      else
++	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
++	        # platform.
++	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
++	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
++
++	        # Commands to make compiler produce verbose output that lists
++	        # what "hidden" libraries, object files and flags are used when
++	        # linking a shared library.
++	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
++	      fi
++
++	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
++	      case $host_os in
++		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
++		*)
++		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
++		  ;;
++	      esac
++	    fi
++	    ;;
++        esac
++        ;;
++
++    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
++      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
++      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++      runpath_var='LD_RUN_PATH'
++
++      case $cc_basename in
++        CC*)
++	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	  ;;
++	*)
++	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	  ;;
++      esac
++      ;;
++
++      sysv5* | sco3.2v5* | sco5v6*)
++	# Note: We can NOT use -z defs as we might desire, because we do not
++	# link with -lc, and that would cause any symbols used from libc to
++	# always be unresolved, which means just about no library would
++	# ever link correctly.  If we're not using GNU ld we use -z text
++	# though, which does catch some bad symbols but isn't as heavy-handed
++	# as -z defs.
++	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
++	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
++	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
++	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
++	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
++	_LT_TAGVAR(link_all_deplibs, $1)=yes
++	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
++	runpath_var='LD_RUN_PATH'
++
++	case $cc_basename in
++          CC*)
++	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
++	      '"$_LT_TAGVAR(old_archive_cmds, $1)"
++	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
++	      '"$_LT_TAGVAR(reload_cmds, $1)"
++	    ;;
++	  *)
++	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	    ;;
++	esac
++      ;;
++
++      tandem*)
++        case $cc_basename in
++          NCC*)
++	    # NonStop-UX NCC 3.20
++	    # FIXME: insert proper C++ library support
++	    _LT_TAGVAR(ld_shlibs, $1)=no
++	    ;;
++          *)
++	    # FIXME: insert proper C++ library support
++	    _LT_TAGVAR(ld_shlibs, $1)=no
++	    ;;
++        esac
++        ;;
++
++      vxworks*)
++        # FIXME: insert proper C++ library support
++        _LT_TAGVAR(ld_shlibs, $1)=no
++        ;;
++
++      *)
++        # FIXME: insert proper C++ library support
++        _LT_TAGVAR(ld_shlibs, $1)=no
++        ;;
++    esac
++
++    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
++    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
++
++    _LT_TAGVAR(GCC, $1)="$GXX"
++    _LT_TAGVAR(LD, $1)="$LD"
++
++    ## CAVEAT EMPTOR:
++    ## There is no encapsulation within the following macros, do not change
++    ## the running order or otherwise move them around unless you know exactly
++    ## what you are doing...
++    _LT_SYS_HIDDEN_LIBDEPS($1)
++    _LT_COMPILER_PIC($1)
++    _LT_COMPILER_C_O($1)
++    _LT_COMPILER_FILE_LOCKS($1)
++    _LT_LINKER_SHLIBS($1)
++    _LT_SYS_DYNAMIC_LINKER($1)
++    _LT_LINKER_HARDCODE_LIBPATH($1)
++
++    _LT_CONFIG($1)
++  fi # test -n "$compiler"
++
++  CC=$lt_save_CC
++  CFLAGS=$lt_save_CFLAGS
++  LDCXX=$LD
++  LD=$lt_save_LD
++  GCC=$lt_save_GCC
++  with_gnu_ld=$lt_save_with_gnu_ld
++  lt_cv_path_LDCXX=$lt_cv_path_LD
++  lt_cv_path_LD=$lt_save_path_LD
++  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
++  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
++fi # test "$_lt_caught_CXX_error" != yes
++
++AC_LANG_POP
++])# _LT_LANG_CXX_CONFIG
++
++
++# _LT_FUNC_STRIPNAME_CNF
++# ----------------------
++# func_stripname_cnf prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++#
++# This function is identical to the (non-XSI) version of func_stripname,
++# except this one can be used by m4 code that may be executed by configure,
++# rather than the libtool script.
++m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
++AC_REQUIRE([_LT_DECL_SED])
++AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
++func_stripname_cnf ()
++{
++  case ${2} in
++  .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
++  *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
++  esac
++} # func_stripname_cnf
++])# _LT_FUNC_STRIPNAME_CNF
++
++# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
++# ---------------------------------
++# Figure out "hidden" library dependencies from verbose
++# compiler output when linking a shared library.
++# Parse the compiler output and extract the necessary
++# objects, libraries and library flags.
++m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
++[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
++# Dependencies to place before and after the object being linked:
++_LT_TAGVAR(predep_objects, $1)=
++_LT_TAGVAR(postdep_objects, $1)=
++_LT_TAGVAR(predeps, $1)=
++_LT_TAGVAR(postdeps, $1)=
++_LT_TAGVAR(compiler_lib_search_path, $1)=
++
++dnl we can't use the lt_simple_compile_test_code here,
++dnl because it contains code intended for an executable,
++dnl not a library.  It's possible we should let each
++dnl tag define a new lt_????_link_test_code variable,
++dnl but it's only used here...
++m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
++int a;
++void foo (void) { a = 0; }
++_LT_EOF
++], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
++class Foo
++{
++public:
++  Foo (void) { a = 0; }
++private:
++  int a;
++};
++_LT_EOF
++], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
++      subroutine foo
++      implicit none
++      integer*4 a
++      a=0
++      return
++      end
++_LT_EOF
++], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
++      subroutine foo
++      implicit none
++      integer a
++      a=0
++      return
++      end
++_LT_EOF
++], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
++public class foo {
++  private int a;
++  public void bar (void) {
++    a = 0;
++  }
++};
++_LT_EOF
++], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
++package foo
++func foo() {
++}
++_LT_EOF
++])
++
++_lt_libdeps_save_CFLAGS=$CFLAGS
++case "$CC $CFLAGS " in #(
++*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
++*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
++*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
++esac
++
++dnl Parse the compiler output and extract the necessary
++dnl objects, libraries and library flags.
++if AC_TRY_EVAL(ac_compile); then
++  # Parse the compiler output and extract the necessary
++  # objects, libraries and library flags.
++
++  # Sentinel used to keep track of whether or not we are before
++  # the conftest object file.
++  pre_test_object_deps_done=no
++
++  for p in `eval "$output_verbose_link_cmd"`; do
++    case ${prev}${p} in
++
++    -L* | -R* | -l*)
++       # Some compilers place space between "-{L,R}" and the path.
++       # Remove the space.
++       if test $p = "-L" ||
++          test $p = "-R"; then
++	 prev=$p
++	 continue
++       fi
++
++       # Expand the sysroot to ease extracting the directories later.
++       if test -z "$prev"; then
++         case $p in
++         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
++         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
++         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
++         esac
++       fi
++       case $p in
++       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
++       esac
++       if test "$pre_test_object_deps_done" = no; then
++	 case ${prev} in
++	 -L | -R)
++	   # Internal compiler library paths should come after those
++	   # provided the user.  The postdeps already come after the
++	   # user supplied libs so there is no need to process them.
++	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
++	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
++	   else
++	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
++	   fi
++	   ;;
++	 # The "-l" case would never come before the object being
++	 # linked, so don't bother handling this case.
++	 esac
++       else
++	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
++	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
++	 else
++	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
++	 fi
++       fi
++       prev=
++       ;;
++
++    *.lto.$objext) ;; # Ignore GCC LTO objects
++    *.$objext)
++       # This assumes that the test object file only shows up
++       # once in the compiler output.
++       if test "$p" = "conftest.$objext"; then
++	 pre_test_object_deps_done=yes
++	 continue
++       fi
++
++       if test "$pre_test_object_deps_done" = no; then
++	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
++	   _LT_TAGVAR(predep_objects, $1)="$p"
++	 else
++	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
++	 fi
++       else
++	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
++	   _LT_TAGVAR(postdep_objects, $1)="$p"
++	 else
++	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
++	 fi
++       fi
++       ;;
++
++    *) ;; # Ignore the rest.
++
++    esac
++  done
++
++  # Clean up.
++  rm -f a.out a.exe
++else
++  echo "libtool.m4: error: problem compiling $1 test program"
++fi
++
++$RM -f confest.$objext
++CFLAGS=$_lt_libdeps_save_CFLAGS
++
++# PORTME: override above test on systems where it is broken
++m4_if([$1], [CXX],
++[case $host_os in
++interix[[3-9]]*)
++  # Interix 3.5 installs completely hosed .la files for C++, so rather than
++  # hack all around it, let's just trust "g++" to DTRT.
++  _LT_TAGVAR(predep_objects,$1)=
++  _LT_TAGVAR(postdep_objects,$1)=
++  _LT_TAGVAR(postdeps,$1)=
++  ;;
++
++linux*)
++  case `$CC -V 2>&1 | sed 5q` in
++  *Sun\ C*)
++    # Sun C++ 5.9
++
++    # The more standards-conforming stlport4 library is
++    # incompatible with the Cstd library. Avoid specifying
++    # it if it's in CXXFLAGS. Ignore libCrun as
++    # -library=stlport4 depends on it.
++    case " $CXX $CXXFLAGS " in
++    *" -library=stlport4 "*)
++      solaris_use_stlport4=yes
++      ;;
++    esac
++
++    if test "$solaris_use_stlport4" != yes; then
++      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
++    fi
++    ;;
++  esac
++  ;;
++
++solaris*)
++  case $cc_basename in
++  CC* | sunCC*)
++    # The more standards-conforming stlport4 library is
++    # incompatible with the Cstd library. Avoid specifying
++    # it if it's in CXXFLAGS. Ignore libCrun as
++    # -library=stlport4 depends on it.
++    case " $CXX $CXXFLAGS " in
++    *" -library=stlport4 "*)
++      solaris_use_stlport4=yes
++      ;;
++    esac
++
++    # Adding this requires a known-good setup of shared libraries for
++    # Sun compiler versions before 5.6, else PIC objects from an old
++    # archive will be linked into the output, leading to subtle bugs.
++    if test "$solaris_use_stlport4" != yes; then
++      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
++    fi
++    ;;
++  esac
++  ;;
++esac
++])
++
++case " $_LT_TAGVAR(postdeps, $1) " in
++*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
++esac
++ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
++if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
++ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
++fi
++_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
++    [The directories searched by this compiler when creating a shared library])
++_LT_TAGDECL([], [predep_objects], [1],
++    [Dependencies to place before and after the objects being linked to
++    create a shared library])
++_LT_TAGDECL([], [postdep_objects], [1])
++_LT_TAGDECL([], [predeps], [1])
++_LT_TAGDECL([], [postdeps], [1])
++_LT_TAGDECL([], [compiler_lib_search_path], [1],
++    [The library search path used internally by the compiler when linking
++    a shared library])
++])# _LT_SYS_HIDDEN_LIBDEPS
++
++
++# _LT_LANG_F77_CONFIG([TAG])
++# --------------------------
++# Ensure that the configuration variables for a Fortran 77 compiler are
++# suitably defined.  These variables are subsequently used by _LT_CONFIG
++# to write the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_F77_CONFIG],
++[AC_LANG_PUSH(Fortran 77)
++if test -z "$F77" || test "X$F77" = "Xno"; then
++  _lt_disable_F77=yes
++fi
++
++_LT_TAGVAR(archive_cmds_need_lc, $1)=no
++_LT_TAGVAR(allow_undefined_flag, $1)=
++_LT_TAGVAR(always_export_symbols, $1)=no
++_LT_TAGVAR(archive_expsym_cmds, $1)=
++_LT_TAGVAR(export_dynamic_flag_spec, $1)=
++_LT_TAGVAR(hardcode_direct, $1)=no
++_LT_TAGVAR(hardcode_direct_absolute, $1)=no
++_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++_LT_TAGVAR(hardcode_libdir_separator, $1)=
++_LT_TAGVAR(hardcode_minus_L, $1)=no
++_LT_TAGVAR(hardcode_automatic, $1)=no
++_LT_TAGVAR(inherit_rpath, $1)=no
++_LT_TAGVAR(module_cmds, $1)=
++_LT_TAGVAR(module_expsym_cmds, $1)=
++_LT_TAGVAR(link_all_deplibs, $1)=unknown
++_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++_LT_TAGVAR(reload_flag, $1)=$reload_flag
++_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
++_LT_TAGVAR(no_undefined_flag, $1)=
++_LT_TAGVAR(whole_archive_flag_spec, $1)=
++_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
++
++# Source file extension for f77 test sources.
++ac_ext=f
++
++# Object file extension for compiled f77 test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# No sense in running all these tests if we already determined that
++# the F77 compiler isn't working.  Some variables (like enable_shared)
++# are currently assumed to apply to all compilers on this platform,
++# and will be corrupted by setting them based on a non-working compiler.
++if test "$_lt_disable_F77" != yes; then
++  # Code to be used in simple compile tests
++  lt_simple_compile_test_code="\
++      subroutine t
++      return
++      end
++"
++
++  # Code to be used in simple link tests
++  lt_simple_link_test_code="\
++      program t
++      end
++"
++
++  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
++  _LT_TAG_COMPILER
++
++  # save warnings/boilerplate of simple test code
++  _LT_COMPILER_BOILERPLATE
++  _LT_LINKER_BOILERPLATE
++
++  # Allow CC to be a program name with arguments.
++  lt_save_CC="$CC"
++  lt_save_GCC=$GCC
++  lt_save_CFLAGS=$CFLAGS
++  CC=${F77-"f77"}
++  CFLAGS=$FFLAGS
++  compiler=$CC
++  _LT_TAGVAR(compiler, $1)=$CC
++  _LT_CC_BASENAME([$compiler])
++  GCC=$G77
++  if test -n "$compiler"; then
++    AC_MSG_CHECKING([if libtool supports shared libraries])
++    AC_MSG_RESULT([$can_build_shared])
++
++    AC_MSG_CHECKING([whether to build shared libraries])
++    test "$can_build_shared" = "no" && enable_shared=no
++
++    # On AIX, shared libraries and static libraries use the same namespace, and
++    # are all built from PIC.
++    case $host_os in
++      aix3*)
++        test "$enable_shared" = yes && enable_static=no
++        if test -n "$RANLIB"; then
++          archive_cmds="$archive_cmds~\$RANLIB \$lib"
++          postinstall_cmds='$RANLIB $lib'
++        fi
++        ;;
++      aix[[4-9]]*)
++	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
++	  test "$enable_shared" = yes && enable_static=no
++	fi
++        ;;
++    esac
++    AC_MSG_RESULT([$enable_shared])
++
++    AC_MSG_CHECKING([whether to build static libraries])
++    # Make sure either enable_shared or enable_static is yes.
++    test "$enable_shared" = yes || enable_static=yes
++    AC_MSG_RESULT([$enable_static])
++
++    _LT_TAGVAR(GCC, $1)="$G77"
++    _LT_TAGVAR(LD, $1)="$LD"
++
++    ## CAVEAT EMPTOR:
++    ## There is no encapsulation within the following macros, do not change
++    ## the running order or otherwise move them around unless you know exactly
++    ## what you are doing...
++    _LT_COMPILER_PIC($1)
++    _LT_COMPILER_C_O($1)
++    _LT_COMPILER_FILE_LOCKS($1)
++    _LT_LINKER_SHLIBS($1)
++    _LT_SYS_DYNAMIC_LINKER($1)
++    _LT_LINKER_HARDCODE_LIBPATH($1)
++
++    _LT_CONFIG($1)
++  fi # test -n "$compiler"
++
++  GCC=$lt_save_GCC
++  CC="$lt_save_CC"
++  CFLAGS="$lt_save_CFLAGS"
++fi # test "$_lt_disable_F77" != yes
++
++AC_LANG_POP
++])# _LT_LANG_F77_CONFIG
++
++
++# _LT_LANG_FC_CONFIG([TAG])
++# -------------------------
++# Ensure that the configuration variables for a Fortran compiler are
++# suitably defined.  These variables are subsequently used by _LT_CONFIG
++# to write the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_FC_CONFIG],
++[AC_LANG_PUSH(Fortran)
++
++if test -z "$FC" || test "X$FC" = "Xno"; then
++  _lt_disable_FC=yes
++fi
++
++_LT_TAGVAR(archive_cmds_need_lc, $1)=no
++_LT_TAGVAR(allow_undefined_flag, $1)=
++_LT_TAGVAR(always_export_symbols, $1)=no
++_LT_TAGVAR(archive_expsym_cmds, $1)=
++_LT_TAGVAR(export_dynamic_flag_spec, $1)=
++_LT_TAGVAR(hardcode_direct, $1)=no
++_LT_TAGVAR(hardcode_direct_absolute, $1)=no
++_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++_LT_TAGVAR(hardcode_libdir_separator, $1)=
++_LT_TAGVAR(hardcode_minus_L, $1)=no
++_LT_TAGVAR(hardcode_automatic, $1)=no
++_LT_TAGVAR(inherit_rpath, $1)=no
++_LT_TAGVAR(module_cmds, $1)=
++_LT_TAGVAR(module_expsym_cmds, $1)=
++_LT_TAGVAR(link_all_deplibs, $1)=unknown
++_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++_LT_TAGVAR(reload_flag, $1)=$reload_flag
++_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
++_LT_TAGVAR(no_undefined_flag, $1)=
++_LT_TAGVAR(whole_archive_flag_spec, $1)=
++_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
++
++# Source file extension for fc test sources.
++ac_ext=${ac_fc_srcext-f}
++
++# Object file extension for compiled fc test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# No sense in running all these tests if we already determined that
++# the FC compiler isn't working.  Some variables (like enable_shared)
++# are currently assumed to apply to all compilers on this platform,
++# and will be corrupted by setting them based on a non-working compiler.
++if test "$_lt_disable_FC" != yes; then
++  # Code to be used in simple compile tests
++  lt_simple_compile_test_code="\
++      subroutine t
++      return
++      end
++"
++
++  # Code to be used in simple link tests
++  lt_simple_link_test_code="\
++      program t
++      end
++"
++
++  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
++  _LT_TAG_COMPILER
++
++  # save warnings/boilerplate of simple test code
++  _LT_COMPILER_BOILERPLATE
++  _LT_LINKER_BOILERPLATE
++
++  # Allow CC to be a program name with arguments.
++  lt_save_CC="$CC"
++  lt_save_GCC=$GCC
++  lt_save_CFLAGS=$CFLAGS
++  CC=${FC-"f95"}
++  CFLAGS=$FCFLAGS
++  compiler=$CC
++  GCC=$ac_cv_fc_compiler_gnu
++
++  _LT_TAGVAR(compiler, $1)=$CC
++  _LT_CC_BASENAME([$compiler])
++
++  if test -n "$compiler"; then
++    AC_MSG_CHECKING([if libtool supports shared libraries])
++    AC_MSG_RESULT([$can_build_shared])
++
++    AC_MSG_CHECKING([whether to build shared libraries])
++    test "$can_build_shared" = "no" && enable_shared=no
++
++    # On AIX, shared libraries and static libraries use the same namespace, and
++    # are all built from PIC.
++    case $host_os in
++      aix3*)
++        test "$enable_shared" = yes && enable_static=no
++        if test -n "$RANLIB"; then
++          archive_cmds="$archive_cmds~\$RANLIB \$lib"
++          postinstall_cmds='$RANLIB $lib'
++        fi
++        ;;
++      aix[[4-9]]*)
++	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
++	  test "$enable_shared" = yes && enable_static=no
++	fi
++        ;;
++    esac
++    AC_MSG_RESULT([$enable_shared])
++
++    AC_MSG_CHECKING([whether to build static libraries])
++    # Make sure either enable_shared or enable_static is yes.
++    test "$enable_shared" = yes || enable_static=yes
++    AC_MSG_RESULT([$enable_static])
++
++    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
++    _LT_TAGVAR(LD, $1)="$LD"
++
++    ## CAVEAT EMPTOR:
++    ## There is no encapsulation within the following macros, do not change
++    ## the running order or otherwise move them around unless you know exactly
++    ## what you are doing...
++    _LT_SYS_HIDDEN_LIBDEPS($1)
++    _LT_COMPILER_PIC($1)
++    _LT_COMPILER_C_O($1)
++    _LT_COMPILER_FILE_LOCKS($1)
++    _LT_LINKER_SHLIBS($1)
++    _LT_SYS_DYNAMIC_LINKER($1)
++    _LT_LINKER_HARDCODE_LIBPATH($1)
++
++    _LT_CONFIG($1)
++  fi # test -n "$compiler"
++
++  GCC=$lt_save_GCC
++  CC=$lt_save_CC
++  CFLAGS=$lt_save_CFLAGS
++fi # test "$_lt_disable_FC" != yes
++
++AC_LANG_POP
++])# _LT_LANG_FC_CONFIG
++
++
++# _LT_LANG_GCJ_CONFIG([TAG])
++# --------------------------
++# Ensure that the configuration variables for the GNU Java Compiler compiler
++# are suitably defined.  These variables are subsequently used by _LT_CONFIG
++# to write the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_GCJ_CONFIG],
++[AC_REQUIRE([LT_PROG_GCJ])dnl
++AC_LANG_SAVE
++
++# Source file extension for Java test sources.
++ac_ext=java
++
++# Object file extension for compiled Java test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# Code to be used in simple compile tests
++lt_simple_compile_test_code="class foo {}"
++
++# Code to be used in simple link tests
++lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
++
++# ltmain only uses $CC for tagged configurations so make sure $CC is set.
++_LT_TAG_COMPILER
++
++# save warnings/boilerplate of simple test code
++_LT_COMPILER_BOILERPLATE
++_LT_LINKER_BOILERPLATE
++
++# Allow CC to be a program name with arguments.
++lt_save_CC=$CC
++lt_save_CFLAGS=$CFLAGS
++lt_save_GCC=$GCC
++GCC=yes
++CC=${GCJ-"gcj"}
++CFLAGS=$GCJFLAGS
++compiler=$CC
++_LT_TAGVAR(compiler, $1)=$CC
++_LT_TAGVAR(LD, $1)="$LD"
++_LT_CC_BASENAME([$compiler])
++
++# GCJ did not exist at the time GCC didn't implicitly link libc in.
++_LT_TAGVAR(archive_cmds_need_lc, $1)=no
++
++_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++_LT_TAGVAR(reload_flag, $1)=$reload_flag
++_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
++
++if test -n "$compiler"; then
++  _LT_COMPILER_NO_RTTI($1)
++  _LT_COMPILER_PIC($1)
++  _LT_COMPILER_C_O($1)
++  _LT_COMPILER_FILE_LOCKS($1)
++  _LT_LINKER_SHLIBS($1)
++  _LT_LINKER_HARDCODE_LIBPATH($1)
++
++  _LT_CONFIG($1)
++fi
++
++AC_LANG_RESTORE
++
++GCC=$lt_save_GCC
++CC=$lt_save_CC
++CFLAGS=$lt_save_CFLAGS
++])# _LT_LANG_GCJ_CONFIG
++
++
++# _LT_LANG_GO_CONFIG([TAG])
++# --------------------------
++# Ensure that the configuration variables for the GNU Go compiler
++# are suitably defined.  These variables are subsequently used by _LT_CONFIG
++# to write the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_GO_CONFIG],
++[AC_REQUIRE([LT_PROG_GO])dnl
++AC_LANG_SAVE
++
++# Source file extension for Go test sources.
++ac_ext=go
++
++# Object file extension for compiled Go test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# Code to be used in simple compile tests
++lt_simple_compile_test_code="package main; func main() { }"
++
++# Code to be used in simple link tests
++lt_simple_link_test_code='package main; func main() { }'
++
++# ltmain only uses $CC for tagged configurations so make sure $CC is set.
++_LT_TAG_COMPILER
++
++# save warnings/boilerplate of simple test code
++_LT_COMPILER_BOILERPLATE
++_LT_LINKER_BOILERPLATE
++
++# Allow CC to be a program name with arguments.
++lt_save_CC=$CC
++lt_save_CFLAGS=$CFLAGS
++lt_save_GCC=$GCC
++GCC=yes
++CC=${GOC-"gccgo"}
++CFLAGS=$GOFLAGS
++compiler=$CC
++_LT_TAGVAR(compiler, $1)=$CC
++_LT_TAGVAR(LD, $1)="$LD"
++_LT_CC_BASENAME([$compiler])
++
++# Go did not exist at the time GCC didn't implicitly link libc in.
++_LT_TAGVAR(archive_cmds_need_lc, $1)=no
++
++_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++_LT_TAGVAR(reload_flag, $1)=$reload_flag
++_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
++
++if test -n "$compiler"; then
++  _LT_COMPILER_NO_RTTI($1)
++  _LT_COMPILER_PIC($1)
++  _LT_COMPILER_C_O($1)
++  _LT_COMPILER_FILE_LOCKS($1)
++  _LT_LINKER_SHLIBS($1)
++  _LT_LINKER_HARDCODE_LIBPATH($1)
++
++  _LT_CONFIG($1)
++fi
++
++AC_LANG_RESTORE
++
++GCC=$lt_save_GCC
++CC=$lt_save_CC
++CFLAGS=$lt_save_CFLAGS
++])# _LT_LANG_GO_CONFIG
++
++
++# _LT_LANG_RC_CONFIG([TAG])
++# -------------------------
++# Ensure that the configuration variables for the Windows resource compiler
++# are suitably defined.  These variables are subsequently used by _LT_CONFIG
++# to write the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_RC_CONFIG],
++[AC_REQUIRE([LT_PROG_RC])dnl
++AC_LANG_SAVE
++
++# Source file extension for RC test sources.
++ac_ext=rc
++
++# Object file extension for compiled RC test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# Code to be used in simple compile tests
++lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
++
++# Code to be used in simple link tests
++lt_simple_link_test_code="$lt_simple_compile_test_code"
++
++# ltmain only uses $CC for tagged configurations so make sure $CC is set.
++_LT_TAG_COMPILER
++
++# save warnings/boilerplate of simple test code
++_LT_COMPILER_BOILERPLATE
++_LT_LINKER_BOILERPLATE
++
++# Allow CC to be a program name with arguments.
++lt_save_CC="$CC"
++lt_save_CFLAGS=$CFLAGS
++lt_save_GCC=$GCC
++GCC=
++CC=${RC-"windres"}
++CFLAGS=
++compiler=$CC
++_LT_TAGVAR(compiler, $1)=$CC
++_LT_CC_BASENAME([$compiler])
++_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
++
++if test -n "$compiler"; then
++  :
++  _LT_CONFIG($1)
++fi
++
++GCC=$lt_save_GCC
++AC_LANG_RESTORE
++CC=$lt_save_CC
++CFLAGS=$lt_save_CFLAGS
++])# _LT_LANG_RC_CONFIG
++
++
++# LT_PROG_GCJ
++# -----------
++AC_DEFUN([LT_PROG_GCJ],
++[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
++  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
++    [AC_CHECK_TOOL(GCJ, gcj,)
++      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
++      AC_SUBST(GCJFLAGS)])])[]dnl
++])
++
++# Old name:
++AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
++
++
++# LT_PROG_GO
++# ----------
++AC_DEFUN([LT_PROG_GO],
++[AC_CHECK_TOOL(GOC, gccgo,)
++])
++
++
++# LT_PROG_RC
++# ----------
++AC_DEFUN([LT_PROG_RC],
++[AC_CHECK_TOOL(RC, windres,)
++])
++
++# Old name:
++AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([LT_AC_PROG_RC], [])
++
++
++# _LT_DECL_EGREP
++# --------------
++# If we don't have a new enough Autoconf to choose the best grep
++# available, choose the one first in the user's PATH.
++m4_defun([_LT_DECL_EGREP],
++[AC_REQUIRE([AC_PROG_EGREP])dnl
++AC_REQUIRE([AC_PROG_FGREP])dnl
++test -z "$GREP" && GREP=grep
++_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
++_LT_DECL([], [EGREP], [1], [An ERE matcher])
++_LT_DECL([], [FGREP], [1], [A literal string matcher])
++dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
++AC_SUBST([GREP])
++])
++
++
++# _LT_DECL_OBJDUMP
++# --------------
++# If we don't have a new enough Autoconf to choose the best objdump
++# available, choose the one first in the user's PATH.
++m4_defun([_LT_DECL_OBJDUMP],
++[AC_CHECK_TOOL(OBJDUMP, objdump, false)
++test -z "$OBJDUMP" && OBJDUMP=objdump
++_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
++AC_SUBST([OBJDUMP])
++])
++
++# _LT_DECL_DLLTOOL
++# ----------------
++# Ensure DLLTOOL variable is set.
++m4_defun([_LT_DECL_DLLTOOL],
++[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
++AC_SUBST([DLLTOOL])
++])
++
++# _LT_DECL_SED
++# ------------
++# Check for a fully-functional sed program, that truncates
++# as few characters as possible.  Prefer GNU sed if found.
++m4_defun([_LT_DECL_SED],
++[AC_PROG_SED
++test -z "$SED" && SED=sed
++Xsed="$SED -e 1s/^X//"
++_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
++_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
++    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
++])# _LT_DECL_SED
++
++m4_ifndef([AC_PROG_SED], [
++# NOTE: This macro has been submitted for inclusion into   #
++#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
++#  a released version of Autoconf we should remove this    #
++#  macro and use it instead.                               #
++
++m4_defun([AC_PROG_SED],
++[AC_MSG_CHECKING([for a sed that does not truncate output])
++AC_CACHE_VAL(lt_cv_path_SED,
++[# Loop through the user's path and test for sed and gsed.
++# Then use that list of sed's as ones to test for truncation.
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for lt_ac_prog in sed gsed; do
++    for ac_exec_ext in '' $ac_executable_extensions; do
++      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
++        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
++      fi
++    done
++  done
++done
++IFS=$as_save_IFS
++lt_ac_max=0
++lt_ac_count=0
++# Add /usr/xpg4/bin/sed as it is typically found on Solaris
++# along with /bin/sed that truncates output.
++for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
++  test ! -f $lt_ac_sed && continue
++  cat /dev/null > conftest.in
++  lt_ac_count=0
++  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
++  # Check for GNU sed and select it if it is found.
++  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
++    lt_cv_path_SED=$lt_ac_sed
++    break
++  fi
++  while true; do
++    cat conftest.in conftest.in >conftest.tmp
++    mv conftest.tmp conftest.in
++    cp conftest.in conftest.nl
++    echo >>conftest.nl
++    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
++    cmp -s conftest.out conftest.nl || break
++    # 10000 chars as input seems more than enough
++    test $lt_ac_count -gt 10 && break
++    lt_ac_count=`expr $lt_ac_count + 1`
++    if test $lt_ac_count -gt $lt_ac_max; then
++      lt_ac_max=$lt_ac_count
++      lt_cv_path_SED=$lt_ac_sed
++    fi
++  done
++done
++])
++SED=$lt_cv_path_SED
++AC_SUBST([SED])
++AC_MSG_RESULT([$SED])
++])#AC_PROG_SED
++])#m4_ifndef
++
++# Old name:
++AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([LT_AC_PROG_SED], [])
++
++
++# _LT_CHECK_SHELL_FEATURES
++# ------------------------
++# Find out whether the shell is Bourne or XSI compatible,
++# or has some other useful features.
++m4_defun([_LT_CHECK_SHELL_FEATURES],
++[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
++# Try some XSI features
++xsi_shell=no
++( _lt_dummy="a/b/c"
++  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
++      = c,a/b,b/c, \
++    && eval 'test $(( 1 + 1 )) -eq 2 \
++    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
++  && xsi_shell=yes
++AC_MSG_RESULT([$xsi_shell])
++_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
++
++AC_MSG_CHECKING([whether the shell understands "+="])
++lt_shell_append=no
++( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
++    >/dev/null 2>&1 \
++  && lt_shell_append=yes
++AC_MSG_RESULT([$lt_shell_append])
++_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
++
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++  lt_unset=unset
++else
++  lt_unset=false
++fi
++_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
++
++# test EBCDIC or ASCII
++case `echo X|tr X '\101'` in
++ A) # ASCII based system
++    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
++  lt_SP2NL='tr \040 \012'
++  lt_NL2SP='tr \015\012 \040\040'
++  ;;
++ *) # EBCDIC based system
++  lt_SP2NL='tr \100 \n'
++  lt_NL2SP='tr \r\n \100\100'
++  ;;
++esac
++_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
++_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
++])# _LT_CHECK_SHELL_FEATURES
++
++
++# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
++# ------------------------------------------------------
++# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
++# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
++m4_defun([_LT_PROG_FUNCTION_REPLACE],
++[dnl {
++sed -e '/^$1 ()$/,/^} # $1 /c\
++$1 ()\
++{\
++m4_bpatsubsts([$2], [$], [\\], [^\([	 ]\)], [\\\1])
++} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
++  && mv -f "$cfgfile.tmp" "$cfgfile" \
++    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++])
++
++
++# _LT_PROG_REPLACE_SHELLFNS
++# -------------------------
++# Replace existing portable implementations of several shell functions with
++# equivalent extended shell implementations where those features are available..
++m4_defun([_LT_PROG_REPLACE_SHELLFNS],
++[if test x"$xsi_shell" = xyes; then
++  _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
++    case ${1} in
++      */*) func_dirname_result="${1%/*}${2}" ;;
++      *  ) func_dirname_result="${3}" ;;
++    esac])
++
++  _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
++    func_basename_result="${1##*/}"])
++
++  _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
++    case ${1} in
++      */*) func_dirname_result="${1%/*}${2}" ;;
++      *  ) func_dirname_result="${3}" ;;
++    esac
++    func_basename_result="${1##*/}"])
++
++  _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
++    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
++    # positional parameters, so assign one to ordinary parameter first.
++    func_stripname_result=${3}
++    func_stripname_result=${func_stripname_result#"${1}"}
++    func_stripname_result=${func_stripname_result%"${2}"}])
++
++  _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
++    func_split_long_opt_name=${1%%=*}
++    func_split_long_opt_arg=${1#*=}])
++
++  _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
++    func_split_short_opt_arg=${1#??}
++    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
++
++  _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
++    case ${1} in
++      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
++      *)    func_lo2o_result=${1} ;;
++    esac])
++
++  _LT_PROG_FUNCTION_REPLACE([func_xform], [    func_xform_result=${1%.*}.lo])
++
++  _LT_PROG_FUNCTION_REPLACE([func_arith], [    func_arith_result=$(( $[*] ))])
++
++  _LT_PROG_FUNCTION_REPLACE([func_len], [    func_len_result=${#1}])
++fi
++
++if test x"$lt_shell_append" = xyes; then
++  _LT_PROG_FUNCTION_REPLACE([func_append], [    eval "${1}+=\\${2}"])
++
++  _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
++    func_quote_for_eval "${2}"
++dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
++    eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
++
++  # Save a `func_append' function call where possible by direct use of '+='
++  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
++    && mv -f "$cfgfile.tmp" "$cfgfile" \
++      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++  test 0 -eq $? || _lt_function_replace_fail=:
++else
++  # Save a `func_append' function call even when '+=' is not available
++  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
++    && mv -f "$cfgfile.tmp" "$cfgfile" \
++      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++  test 0 -eq $? || _lt_function_replace_fail=:
++fi
++
++if test x"$_lt_function_replace_fail" = x":"; then
++  AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
++fi
++])
++
++# _LT_PATH_CONVERSION_FUNCTIONS
++# -----------------------------
++# Determine which file name conversion functions should be used by
++# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
++# for certain cross-compile configurations and native mingw.
++m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_REQUIRE([AC_CANONICAL_BUILD])dnl
++AC_MSG_CHECKING([how to convert $build file names to $host format])
++AC_CACHE_VAL(lt_cv_to_host_file_cmd,
++[case $host in
++  *-*-mingw* )
++    case $build in
++      *-*-mingw* ) # actually msys
++        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
++        ;;
++      *-*-cygwin* )
++        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
++        ;;
++      * ) # otherwise, assume *nix
++        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
++        ;;
++    esac
++    ;;
++  *-*-cygwin* )
++    case $build in
++      *-*-mingw* ) # actually msys
++        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
++        ;;
++      *-*-cygwin* )
++        lt_cv_to_host_file_cmd=func_convert_file_noop
++        ;;
++      * ) # otherwise, assume *nix
++        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
++        ;;
++    esac
++    ;;
++  * ) # unhandled hosts (and "normal" native builds)
++    lt_cv_to_host_file_cmd=func_convert_file_noop
++    ;;
++esac
++])
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
++_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
++         [0], [convert $build file names to $host format])dnl
++
++AC_MSG_CHECKING([how to convert $build file names to toolchain format])
++AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
++[#assume ordinary cross tools, or native build.
++lt_cv_to_tool_file_cmd=func_convert_file_noop
++case $host in
++  *-*-mingw* )
++    case $build in
++      *-*-mingw* ) # actually msys
++        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
++        ;;
++    esac
++    ;;
++esac
++])
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
++_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
++         [0], [convert $build files to toolchain format])dnl
++])# _LT_PATH_CONVERSION_FUNCTIONS
++
++# Helper functions for option handling.                    -*- Autoconf -*-
++#
++#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
++#   Inc.
++#   Written by Gary V. Vaughan, 2004
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++
++# serial 7 ltoptions.m4
++
++# This is to help aclocal find these macros, as it can't see m4_define.
++AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
++
++
++# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
++# ------------------------------------------
++m4_define([_LT_MANGLE_OPTION],
++[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
++
++
++# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
++# ---------------------------------------
++# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
++# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
++# saved as a flag.
++m4_define([_LT_SET_OPTION],
++[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
++m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
++        _LT_MANGLE_DEFUN([$1], [$2]),
++    [m4_warning([Unknown $1 option `$2'])])[]dnl
++])
++
++
++# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
++# ------------------------------------------------------------
++# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
++m4_define([_LT_IF_OPTION],
++[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
++
++
++# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
++# -------------------------------------------------------
++# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
++# are set.
++m4_define([_LT_UNLESS_OPTIONS],
++[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
++	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
++		      [m4_define([$0_found])])])[]dnl
++m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
++])[]dnl
++])
++
++
++# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
++# ----------------------------------------
++# OPTION-LIST is a space-separated list of Libtool options associated
++# with MACRO-NAME.  If any OPTION has a matching handler declared with
++# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
++# the unknown option and exit.
++m4_defun([_LT_SET_OPTIONS],
++[# Set options
++m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
++    [_LT_SET_OPTION([$1], _LT_Option)])
++
++m4_if([$1],[LT_INIT],[
++  dnl
++  dnl Simply set some default values (i.e off) if boolean options were not
++  dnl specified:
++  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
++  ])
++  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
++  ])
++  dnl
++  dnl If no reference was made to various pairs of opposing options, then
++  dnl we run the default mode handler for the pair.  For example, if neither
++  dnl `shared' nor `disable-shared' was passed, we enable building of shared
++  dnl archives by default:
++  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
++  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
++  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
++  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
++  		   [_LT_ENABLE_FAST_INSTALL])
++  ])
++])# _LT_SET_OPTIONS
++
++
++
++# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
++# -----------------------------------------
++m4_define([_LT_MANGLE_DEFUN],
++[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
++
++
++# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
++# -----------------------------------------------
++m4_define([LT_OPTION_DEFINE],
++[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
++])# LT_OPTION_DEFINE
++
++
++# dlopen
++# ------
++LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
++])
++
++AU_DEFUN([AC_LIBTOOL_DLOPEN],
++[_LT_SET_OPTION([LT_INIT], [dlopen])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you
++put the `dlopen' option into LT_INIT's first parameter.])
++])
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
++
++
++# win32-dll
++# ---------
++# Declare package support for building win32 dll's.
++LT_OPTION_DEFINE([LT_INIT], [win32-dll],
++[enable_win32_dll=yes
++
++case $host in
++*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
++  AC_CHECK_TOOL(AS, as, false)
++  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
++  AC_CHECK_TOOL(OBJDUMP, objdump, false)
++  ;;
++esac
++
++test -z "$AS" && AS=as
++_LT_DECL([], [AS],      [1], [Assembler program])dnl
++
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
++
++test -z "$OBJDUMP" && OBJDUMP=objdump
++_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
++])# win32-dll
++
++AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++_LT_SET_OPTION([LT_INIT], [win32-dll])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you
++put the `win32-dll' option into LT_INIT's first parameter.])
++])
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
++
++
++# _LT_ENABLE_SHARED([DEFAULT])
++# ----------------------------
++# implement the --enable-shared flag, and supports the `shared' and
++# `disable-shared' LT_INIT options.
++# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
++m4_define([_LT_ENABLE_SHARED],
++[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
++AC_ARG_ENABLE([shared],
++    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
++	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
++    [p=${PACKAGE-default}
++    case $enableval in
++    yes) enable_shared=yes ;;
++    no) enable_shared=no ;;
++    *)
++      enable_shared=no
++      # Look at the argument we got.  We use all the common list separators.
++      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++      for pkg in $enableval; do
++	IFS="$lt_save_ifs"
++	if test "X$pkg" = "X$p"; then
++	  enable_shared=yes
++	fi
++      done
++      IFS="$lt_save_ifs"
++      ;;
++    esac],
++    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
++
++    _LT_DECL([build_libtool_libs], [enable_shared], [0],
++	[Whether or not to build shared libraries])
++])# _LT_ENABLE_SHARED
++
++LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
++LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
++
++# Old names:
++AC_DEFUN([AC_ENABLE_SHARED],
++[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
++])
++
++AC_DEFUN([AC_DISABLE_SHARED],
++[_LT_SET_OPTION([LT_INIT], [disable-shared])
++])
++
++AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
++AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AM_ENABLE_SHARED], [])
++dnl AC_DEFUN([AM_DISABLE_SHARED], [])
++
++
++
++# _LT_ENABLE_STATIC([DEFAULT])
++# ----------------------------
++# implement the --enable-static flag, and support the `static' and
++# `disable-static' LT_INIT options.
++# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
++m4_define([_LT_ENABLE_STATIC],
++[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
++AC_ARG_ENABLE([static],
++    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
++	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
++    [p=${PACKAGE-default}
++    case $enableval in
++    yes) enable_static=yes ;;
++    no) enable_static=no ;;
++    *)
++     enable_static=no
++      # Look at the argument we got.  We use all the common list separators.
++      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++      for pkg in $enableval; do
++	IFS="$lt_save_ifs"
++	if test "X$pkg" = "X$p"; then
++	  enable_static=yes
++	fi
++      done
++      IFS="$lt_save_ifs"
++      ;;
++    esac],
++    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
++
++    _LT_DECL([build_old_libs], [enable_static], [0],
++	[Whether or not to build static libraries])
++])# _LT_ENABLE_STATIC
++
++LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
++LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
++
++# Old names:
++AC_DEFUN([AC_ENABLE_STATIC],
++[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
++])
++
++AC_DEFUN([AC_DISABLE_STATIC],
++[_LT_SET_OPTION([LT_INIT], [disable-static])
++])
++
++AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
++AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AM_ENABLE_STATIC], [])
++dnl AC_DEFUN([AM_DISABLE_STATIC], [])
++
++
++
++# _LT_ENABLE_FAST_INSTALL([DEFAULT])
++# ----------------------------------
++# implement the --enable-fast-install flag, and support the `fast-install'
++# and `disable-fast-install' LT_INIT options.
++# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
++m4_define([_LT_ENABLE_FAST_INSTALL],
++[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
++AC_ARG_ENABLE([fast-install],
++    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
++    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
++    [p=${PACKAGE-default}
++    case $enableval in
++    yes) enable_fast_install=yes ;;
++    no) enable_fast_install=no ;;
++    *)
++      enable_fast_install=no
++      # Look at the argument we got.  We use all the common list separators.
++      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++      for pkg in $enableval; do
++	IFS="$lt_save_ifs"
++	if test "X$pkg" = "X$p"; then
++	  enable_fast_install=yes
++	fi
++      done
++      IFS="$lt_save_ifs"
++      ;;
++    esac],
++    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
++
++_LT_DECL([fast_install], [enable_fast_install], [0],
++	 [Whether or not to optimize for fast installation])dnl
++])# _LT_ENABLE_FAST_INSTALL
++
++LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
++LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
++
++# Old names:
++AU_DEFUN([AC_ENABLE_FAST_INSTALL],
++[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you put
++the `fast-install' option into LT_INIT's first parameter.])
++])
++
++AU_DEFUN([AC_DISABLE_FAST_INSTALL],
++[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you put
++the `disable-fast-install' option into LT_INIT's first parameter.])
++])
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
++dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
++
++
++# _LT_WITH_PIC([MODE])
++# --------------------
++# implement the --with-pic flag, and support the `pic-only' and `no-pic'
++# LT_INIT options.
++# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
++m4_define([_LT_WITH_PIC],
++[AC_ARG_WITH([pic],
++    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
++	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
++    [lt_p=${PACKAGE-default}
++    case $withval in
++    yes|no) pic_mode=$withval ;;
++    *)
++      pic_mode=default
++      # Look at the argument we got.  We use all the common list separators.
++      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++      for lt_pkg in $withval; do
++	IFS="$lt_save_ifs"
++	if test "X$lt_pkg" = "X$lt_p"; then
++	  pic_mode=yes
++	fi
++      done
++      IFS="$lt_save_ifs"
++      ;;
++    esac],
++    [pic_mode=default])
++
++test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
++
++_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
++])# _LT_WITH_PIC
++
++LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
++LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
++
++# Old name:
++AU_DEFUN([AC_LIBTOOL_PICMODE],
++[_LT_SET_OPTION([LT_INIT], [pic-only])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you
++put the `pic-only' option into LT_INIT's first parameter.])
++])
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
++
++
++m4_define([_LTDL_MODE], [])
++LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
++		 [m4_define([_LTDL_MODE], [nonrecursive])])
++LT_OPTION_DEFINE([LTDL_INIT], [recursive],
++		 [m4_define([_LTDL_MODE], [recursive])])
++LT_OPTION_DEFINE([LTDL_INIT], [subproject],
++		 [m4_define([_LTDL_MODE], [subproject])])
++
++m4_define([_LTDL_TYPE], [])
++LT_OPTION_DEFINE([LTDL_INIT], [installable],
++		 [m4_define([_LTDL_TYPE], [installable])])
++LT_OPTION_DEFINE([LTDL_INIT], [convenience],
++		 [m4_define([_LTDL_TYPE], [convenience])])
++
++# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
++#
++# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
++# Written by Gary V. Vaughan, 2004
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++
++# serial 6 ltsugar.m4
++
++# This is to help aclocal find these macros, as it can't see m4_define.
++AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
++
++
++# lt_join(SEP, ARG1, [ARG2...])
++# -----------------------------
++# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
++# associated separator.
++# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
++# versions in m4sugar had bugs.
++m4_define([lt_join],
++[m4_if([$#], [1], [],
++       [$#], [2], [[$2]],
++       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
++m4_define([_lt_join],
++[m4_if([$#$2], [2], [],
++       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
++
++
++# lt_car(LIST)
++# lt_cdr(LIST)
++# ------------
++# Manipulate m4 lists.
++# These macros are necessary as long as will still need to support
++# Autoconf-2.59 which quotes differently.
++m4_define([lt_car], [[$1]])
++m4_define([lt_cdr],
++[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
++       [$#], 1, [],
++       [m4_dquote(m4_shift($@))])])
++m4_define([lt_unquote], $1)
++
++
++# lt_append(MACRO-NAME, STRING, [SEPARATOR])
++# ------------------------------------------
++# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
++# Note that neither SEPARATOR nor STRING are expanded; they are appended
++# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
++# No SEPARATOR is output if MACRO-NAME was previously undefined (different
++# than defined and empty).
++#
++# This macro is needed until we can rely on Autoconf 2.62, since earlier
++# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
++m4_define([lt_append],
++[m4_define([$1],
++	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
++
++
++
++# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
++# ----------------------------------------------------------
++# Produce a SEP delimited list of all paired combinations of elements of
++# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
++# has the form PREFIXmINFIXSUFFIXn.
++# Needed until we can rely on m4_combine added in Autoconf 2.62.
++m4_define([lt_combine],
++[m4_if(m4_eval([$# > 3]), [1],
++       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
++[[m4_foreach([_Lt_prefix], [$2],
++	     [m4_foreach([_Lt_suffix],
++		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
++	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
++
++
++# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
++# -----------------------------------------------------------------------
++# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
++# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
++m4_define([lt_if_append_uniq],
++[m4_ifdef([$1],
++	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
++		 [lt_append([$1], [$2], [$3])$4],
++		 [$5])],
++	  [lt_append([$1], [$2], [$3])$4])])
++
++
++# lt_dict_add(DICT, KEY, VALUE)
++# -----------------------------
++m4_define([lt_dict_add],
++[m4_define([$1($2)], [$3])])
++
++
++# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
++# --------------------------------------------
++m4_define([lt_dict_add_subkey],
++[m4_define([$1($2:$3)], [$4])])
++
++
++# lt_dict_fetch(DICT, KEY, [SUBKEY])
++# ----------------------------------
++m4_define([lt_dict_fetch],
++[m4_ifval([$3],
++	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
++    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
++
++
++# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
++# -----------------------------------------------------------------
++m4_define([lt_if_dict_fetch],
++[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
++	[$5],
++    [$6])])
++
++
++# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
++# --------------------------------------------------------------
++m4_define([lt_dict_filter],
++[m4_if([$5], [], [],
++  [lt_join(m4_quote(m4_default([$4], [[, ]])),
++           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
++		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
++])
++
++# ltversion.m4 -- version numbers			-*- Autoconf -*-
++#
++#   Copyright (C) 2004 Free Software Foundation, Inc.
++#   Written by Scott James Remnant, 2004
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++
++# @configure_input@
++
++# serial 3337 ltversion.m4
++# This file is part of GNU Libtool
++
++m4_define([LT_PACKAGE_VERSION], [2.4.2])
++m4_define([LT_PACKAGE_REVISION], [1.3337])
++
++AC_DEFUN([LTVERSION_VERSION],
++[macro_version='2.4.2'
++macro_revision='1.3337'
++_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
++_LT_DECL(, macro_revision, 0)
++])
++
++# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
++#
++#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
++#   Written by Scott James Remnant, 2004.
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++
++# serial 5 lt~obsolete.m4
++
++# These exist entirely to fool aclocal when bootstrapping libtool.
++#
++# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
++# which have later been changed to m4_define as they aren't part of the
++# exported API, or moved to Autoconf or Automake where they belong.
++#
++# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
++# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
++# using a macro with the same name in our local m4/libtool.m4 it'll
++# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
++# and doesn't know about Autoconf macros at all.)
++#
++# So we provide this file, which has a silly filename so it's always
++# included after everything else.  This provides aclocal with the
++# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
++# because those macros already exist, or will be overwritten later.
++# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
++#
++# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
++# Yes, that means every name once taken will need to remain here until
++# we give up compatibility with versions before 1.7, at which point
++# we need to keep only those names which we still refer to.
++
++# This is to help aclocal find these macros, as it can't see m4_define.
++AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
++
++m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
++m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
++m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
++m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
++m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
++m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
++m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
++m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
++m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
++m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
++m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
++m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
++m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
++m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
++m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
++m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
++m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
++m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
++m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
++m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
++m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
++m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
++m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
++m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
++m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
++m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
++m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
++m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
++m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
++m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
++m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
++m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
++m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
++m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
++m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
++m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
++m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
++m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
++m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
++m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
++m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
++m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
++m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
++m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
++m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
++m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
++m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
++m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
++m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
++m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
++m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
++m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
++m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
++m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
++m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
++m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
++m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
++m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
++m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
++m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
++m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
++
++# Copyright (C) 2002-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# AM_AUTOMAKE_VERSION(VERSION)
++# ----------------------------
++# Automake X.Y traces this macro to ensure aclocal.m4 has been
++# generated from the m4 files accompanying Automake X.Y.
++# (This private macro should not be called outside this file.)
++AC_DEFUN([AM_AUTOMAKE_VERSION],
++[am__api_version='1.14'
++dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
++dnl require some minimum version.  Point them to the right macro.
++m4_if([$1], [1.14.1], [],
++      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
++])
++
++# _AM_AUTOCONF_VERSION(VERSION)
++# -----------------------------
++# aclocal traces this macro to find the Autoconf version.
++# This is a private macro too.  Using m4_define simplifies
++# the logic in aclocal, which can simply ignore this definition.
++m4_define([_AM_AUTOCONF_VERSION], [])
++
++# AM_SET_CURRENT_AUTOMAKE_VERSION
++# -------------------------------
++# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
++# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
++AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
++[AM_AUTOMAKE_VERSION([1.14.1])dnl
++m4_ifndef([AC_AUTOCONF_VERSION],
++  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
++_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
++
++# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
++
++# Copyright (C) 2001-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
++# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
++# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
++#
++# Of course, Automake must honor this variable whenever it calls a
++# tool from the auxiliary directory.  The problem is that $srcdir (and
++# therefore $ac_aux_dir as well) can be either absolute or relative,
++# depending on how configure is run.  This is pretty annoying, since
++# it makes $ac_aux_dir quite unusable in subdirectories: in the top
++# source directory, any form will work fine, but in subdirectories a
++# relative path needs to be adjusted first.
++#
++# $ac_aux_dir/missing
++#    fails when called from a subdirectory if $ac_aux_dir is relative
++# $top_srcdir/$ac_aux_dir/missing
++#    fails if $ac_aux_dir is absolute,
++#    fails when called from a subdirectory in a VPATH build with
++#          a relative $ac_aux_dir
++#
++# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
++# are both prefixed by $srcdir.  In an in-source build this is usually
++# harmless because $srcdir is '.', but things will broke when you
++# start a VPATH build or use an absolute $srcdir.
++#
++# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
++# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
++#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
++# and then we would define $MISSING as
++#   MISSING="\${SHELL} $am_aux_dir/missing"
++# This will work as long as MISSING is not called from configure, because
++# unfortunately $(top_srcdir) has no meaning in configure.
++# However there are other variables, like CC, which are often used in
++# configure, and could therefore not use this "fixed" $ac_aux_dir.
++#
++# Another solution, used here, is to always expand $ac_aux_dir to an
++# absolute PATH.  The drawback is that using absolute paths prevent a
++# configured tree to be moved without reconfiguration.
++
++AC_DEFUN([AM_AUX_DIR_EXPAND],
++[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
++# Expand $ac_aux_dir to an absolute path.
++am_aux_dir=`cd "$ac_aux_dir" && pwd`
++])
++
++# AM_CONDITIONAL                                            -*- Autoconf -*-
++
++# Copyright (C) 1997-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# AM_CONDITIONAL(NAME, SHELL-CONDITION)
++# -------------------------------------
++# Define a conditional.
++AC_DEFUN([AM_CONDITIONAL],
++[AC_PREREQ([2.52])dnl
++ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
++       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
++AC_SUBST([$1_TRUE])dnl
++AC_SUBST([$1_FALSE])dnl
++_AM_SUBST_NOTMAKE([$1_TRUE])dnl
++_AM_SUBST_NOTMAKE([$1_FALSE])dnl
++m4_define([_AM_COND_VALUE_$1], [$2])dnl
++if $2; then
++  $1_TRUE=
++  $1_FALSE='#'
++else
++  $1_TRUE='#'
++  $1_FALSE=
++fi
++AC_CONFIG_COMMANDS_PRE(
++[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
++  AC_MSG_ERROR([[conditional "$1" was never defined.
++Usually this means the macro was only invoked conditionally.]])
++fi])])
++
++# Copyright (C) 1999-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++
++# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
++# written in clear, in which case automake, when reading aclocal.m4,
++# will think it sees a *use*, and therefore will trigger all it's
++# C support machinery.  Also note that it means that autoscan, seeing
++# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
++
++
++# _AM_DEPENDENCIES(NAME)
++# ----------------------
++# See how the compiler implements dependency checking.
++# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
++# We try a few techniques and use that to set a single cache variable.
++#
++# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
++# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
++# dependency, and given that the user is not expected to run this macro,
++# just rely on AC_PROG_CC.
++AC_DEFUN([_AM_DEPENDENCIES],
++[AC_REQUIRE([AM_SET_DEPDIR])dnl
++AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
++AC_REQUIRE([AM_MAKE_INCLUDE])dnl
++AC_REQUIRE([AM_DEP_TRACK])dnl
++
++m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
++      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
++      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
++      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
++      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
++      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
++                    [depcc="$$1"   am_compiler_list=])
++
++AC_CACHE_CHECK([dependency style of $depcc],
++               [am_cv_$1_dependencies_compiler_type],
++[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
++  # We make a subdir and do the tests there.  Otherwise we can end up
++  # making bogus files that we don't know about and never remove.  For
++  # instance it was reported that on HP-UX the gcc test will end up
++  # making a dummy file named 'D' -- because '-MD' means "put the output
++  # in D".
++  rm -rf conftest.dir
++  mkdir conftest.dir
++  # Copy depcomp to subdir because otherwise we won't find it if we're
++  # using a relative directory.
++  cp "$am_depcomp" conftest.dir
++  cd conftest.dir
++  # We will build objects and dependencies in a subdirectory because
++  # it helps to detect inapplicable dependency modes.  For instance
++  # both Tru64's cc and ICC support -MD to output dependencies as a
++  # side effect of compilation, but ICC will put the dependencies in
++  # the current directory while Tru64 will put them in the object
++  # directory.
++  mkdir sub
++
++  am_cv_$1_dependencies_compiler_type=none
++  if test "$am_compiler_list" = ""; then
++     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
++  fi
++  am__universal=false
++  m4_case([$1], [CC],
++    [case " $depcc " in #(
++     *\ -arch\ *\ -arch\ *) am__universal=true ;;
++     esac],
++    [CXX],
++    [case " $depcc " in #(
++     *\ -arch\ *\ -arch\ *) am__universal=true ;;
++     esac])
++
++  for depmode in $am_compiler_list; do
++    # Setup a source with many dependencies, because some compilers
++    # like to wrap large dependency lists on column 80 (with \), and
++    # we should not choose a depcomp mode which is confused by this.
++    #
++    # We need to recreate these files for each test, as the compiler may
++    # overwrite some of them when testing with obscure command lines.
++    # This happens at least with the AIX C compiler.
++    : > sub/conftest.c
++    for i in 1 2 3 4 5 6; do
++      echo '#include "conftst'$i'.h"' >> sub/conftest.c
++      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
++      # Solaris 10 /bin/sh.
++      echo '/* dummy */' > sub/conftst$i.h
++    done
++    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
++
++    # We check with '-c' and '-o' for the sake of the "dashmstdout"
++    # mode.  It turns out that the SunPro C++ compiler does not properly
++    # handle '-M -o', and we need to detect this.  Also, some Intel
++    # versions had trouble with output in subdirs.
++    am__obj=sub/conftest.${OBJEXT-o}
++    am__minus_obj="-o $am__obj"
++    case $depmode in
++    gcc)
++      # This depmode causes a compiler race in universal mode.
++      test "$am__universal" = false || continue
++      ;;
++    nosideeffect)
++      # After this tag, mechanisms are not by side-effect, so they'll
++      # only be used when explicitly requested.
++      if test "x$enable_dependency_tracking" = xyes; then
++	continue
++      else
++	break
++      fi
++      ;;
++    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
++      # This compiler won't grok '-c -o', but also, the minuso test has
++      # not run yet.  These depmodes are late enough in the game, and
++      # so weak that their functioning should not be impacted.
++      am__obj=conftest.${OBJEXT-o}
++      am__minus_obj=
++      ;;
++    none) break ;;
++    esac
++    if depmode=$depmode \
++       source=sub/conftest.c object=$am__obj \
++       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
++       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
++         >/dev/null 2>conftest.err &&
++       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
++       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
++       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
++       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
++      # icc doesn't choke on unknown options, it will just issue warnings
++      # or remarks (even with -Werror).  So we grep stderr for any message
++      # that says an option was ignored or not supported.
++      # When given -MP, icc 7.0 and 7.1 complain thusly:
++      #   icc: Command line warning: ignoring option '-M'; no argument required
++      # The diagnosis changed in icc 8.0:
++      #   icc: Command line remark: option '-MP' not supported
++      if (grep 'ignoring option' conftest.err ||
++          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
++        am_cv_$1_dependencies_compiler_type=$depmode
++        break
++      fi
++    fi
++  done
++
++  cd ..
++  rm -rf conftest.dir
++else
++  am_cv_$1_dependencies_compiler_type=none
++fi
++])
++AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
++AM_CONDITIONAL([am__fastdep$1], [
++  test "x$enable_dependency_tracking" != xno \
++  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
++])
++
++
++# AM_SET_DEPDIR
++# -------------
++# Choose a directory name for dependency files.
++# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
++AC_DEFUN([AM_SET_DEPDIR],
++[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
++AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
++])
++
++
++# AM_DEP_TRACK
++# ------------
++AC_DEFUN([AM_DEP_TRACK],
++[AC_ARG_ENABLE([dependency-tracking], [dnl
++AS_HELP_STRING(
++  [--enable-dependency-tracking],
++  [do not reject slow dependency extractors])
++AS_HELP_STRING(
++  [--disable-dependency-tracking],
++  [speeds up one-time build])])
++if test "x$enable_dependency_tracking" != xno; then
++  am_depcomp="$ac_aux_dir/depcomp"
++  AMDEPBACKSLASH='\'
++  am__nodep='_no'
++fi
++AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
++AC_SUBST([AMDEPBACKSLASH])dnl
++_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
++AC_SUBST([am__nodep])dnl
++_AM_SUBST_NOTMAKE([am__nodep])dnl
++])
++
++# Generate code to set up dependency tracking.              -*- Autoconf -*-
++
++# Copyright (C) 1999-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++
++# _AM_OUTPUT_DEPENDENCY_COMMANDS
++# ------------------------------
++AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
++[{
++  # Older Autoconf quotes --file arguments for eval, but not when files
++  # are listed without --file.  Let's play safe and only enable the eval
++  # if we detect the quoting.
++  case $CONFIG_FILES in
++  *\'*) eval set x "$CONFIG_FILES" ;;
++  *)   set x $CONFIG_FILES ;;
++  esac
++  shift
++  for mf
++  do
++    # Strip MF so we end up with the name of the file.
++    mf=`echo "$mf" | sed -e 's/:.*$//'`
++    # Check whether this is an Automake generated Makefile or not.
++    # We used to match only the files named 'Makefile.in', but
++    # some people rename them; so instead we look at the file content.
++    # Grep'ing the first line is not enough: some people post-process
++    # each Makefile.in and add a new line on top of each file to say so.
++    # Grep'ing the whole file is not good either: AIX grep has a line
++    # limit of 2048, but all sed's we know have understand at least 4000.
++    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
++      dirpart=`AS_DIRNAME("$mf")`
++    else
++      continue
++    fi
++    # Extract the definition of DEPDIR, am__include, and am__quote
++    # from the Makefile without running 'make'.
++    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
++    test -z "$DEPDIR" && continue
++    am__include=`sed -n 's/^am__include = //p' < "$mf"`
++    test -z "$am__include" && continue
++    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
++    # Find all dependency output files, they are included files with
++    # $(DEPDIR) in their names.  We invoke sed twice because it is the
++    # simplest approach to changing $(DEPDIR) to its actual value in the
++    # expansion.
++    for file in `sed -n "
++      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
++	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
++      # Make sure the directory exists.
++      test -f "$dirpart/$file" && continue
++      fdir=`AS_DIRNAME(["$file"])`
++      AS_MKDIR_P([$dirpart/$fdir])
++      # echo "creating $dirpart/$file"
++      echo '# dummy' > "$dirpart/$file"
++    done
++  done
++}
++])# _AM_OUTPUT_DEPENDENCY_COMMANDS
++
++
++# AM_OUTPUT_DEPENDENCY_COMMANDS
++# -----------------------------
++# This macro should only be invoked once -- use via AC_REQUIRE.
++#
++# This code is only required when automatic dependency tracking
++# is enabled.  FIXME.  This creates each '.P' file that we will
++# need in order to bootstrap the dependency handling code.
++AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
++[AC_CONFIG_COMMANDS([depfiles],
++     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
++     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
++])
++
++# Do all the work for Automake.                             -*- Autoconf -*-
++
++# Copyright (C) 1996-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This macro actually does too much.  Some checks are only needed if
++# your package does certain things.  But this isn't really a big deal.
++
++dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
++m4_define([AC_PROG_CC],
++m4_defn([AC_PROG_CC])
++[_AM_PROG_CC_C_O
++])
++
++# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
++# AM_INIT_AUTOMAKE([OPTIONS])
++# -----------------------------------------------
++# The call with PACKAGE and VERSION arguments is the old style
++# call (pre autoconf-2.50), which is being phased out.  PACKAGE
++# and VERSION should now be passed to AC_INIT and removed from
++# the call to AM_INIT_AUTOMAKE.
++# We support both call styles for the transition.  After
++# the next Automake release, Autoconf can make the AC_INIT
++# arguments mandatory, and then we can depend on a new Autoconf
++# release and drop the old call support.
++AC_DEFUN([AM_INIT_AUTOMAKE],
++[AC_PREREQ([2.65])dnl
++dnl Autoconf wants to disallow AM_ names.  We explicitly allow
++dnl the ones we care about.
++m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
++AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
++AC_REQUIRE([AC_PROG_INSTALL])dnl
++if test "`cd $srcdir && pwd`" != "`pwd`"; then
++  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
++  # is not polluted with repeated "-I."
++  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
++  # test to see if srcdir already configured
++  if test -f $srcdir/config.status; then
++    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
++  fi
++fi
++
++# test whether we have cygpath
++if test -z "$CYGPATH_W"; then
++  if (cygpath --version) >/dev/null 2>/dev/null; then
++    CYGPATH_W='cygpath -w'
++  else
++    CYGPATH_W=echo
++  fi
++fi
++AC_SUBST([CYGPATH_W])
++
++# Define the identity of the package.
++dnl Distinguish between old-style and new-style calls.
++m4_ifval([$2],
++[AC_DIAGNOSE([obsolete],
++             [$0: two- and three-arguments forms are deprecated.])
++m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
++ AC_SUBST([PACKAGE], [$1])dnl
++ AC_SUBST([VERSION], [$2])],
++[_AM_SET_OPTIONS([$1])dnl
++dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
++m4_if(
++  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
++  [ok:ok],,
++  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
++ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
++ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
++
++_AM_IF_OPTION([no-define],,
++[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
++ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
++
++# Some tools Automake needs.
++AC_REQUIRE([AM_SANITY_CHECK])dnl
++AC_REQUIRE([AC_ARG_PROGRAM])dnl
++AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
++AM_MISSING_PROG([AUTOCONF], [autoconf])
++AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
++AM_MISSING_PROG([AUTOHEADER], [autoheader])
++AM_MISSING_PROG([MAKEINFO], [makeinfo])
++AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
++AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
++AC_REQUIRE([AC_PROG_MKDIR_P])dnl
++# For better backward compatibility.  To be removed once Automake 1.9.x
++# dies out for good.  For more background, see:
++# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
++# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
++AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
++# We need awk for the "check" target.  The system "awk" is bad on
++# some platforms.
++AC_REQUIRE([AC_PROG_AWK])dnl
++AC_REQUIRE([AC_PROG_MAKE_SET])dnl
++AC_REQUIRE([AM_SET_LEADING_DOT])dnl
++_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
++	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
++			     [_AM_PROG_TAR([v7])])])
++_AM_IF_OPTION([no-dependencies],,
++[AC_PROVIDE_IFELSE([AC_PROG_CC],
++		  [_AM_DEPENDENCIES([CC])],
++		  [m4_define([AC_PROG_CC],
++			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
++AC_PROVIDE_IFELSE([AC_PROG_CXX],
++		  [_AM_DEPENDENCIES([CXX])],
++		  [m4_define([AC_PROG_CXX],
++			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
++AC_PROVIDE_IFELSE([AC_PROG_OBJC],
++		  [_AM_DEPENDENCIES([OBJC])],
++		  [m4_define([AC_PROG_OBJC],
++			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
++AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
++		  [_AM_DEPENDENCIES([OBJCXX])],
++		  [m4_define([AC_PROG_OBJCXX],
++			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
++])
++AC_REQUIRE([AM_SILENT_RULES])dnl
++dnl The testsuite driver may need to know about EXEEXT, so add the
++dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
++dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
++AC_CONFIG_COMMANDS_PRE(dnl
++[m4_provide_if([_AM_COMPILER_EXEEXT],
++  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
++
++# POSIX will say in a future version that running "rm -f" with no argument
++# is OK; and we want to be able to make that assumption in our Makefile
++# recipes.  So use an aggressive probe to check that the usage we want is
++# actually supported "in the wild" to an acceptable degree.
++# See automake bug#10828.
++# To make any issue more visible, cause the running configure to be aborted
++# by default if the 'rm' program in use doesn't match our expectations; the
++# user can still override this though.
++if rm -f && rm -fr && rm -rf; then : OK; else
++  cat >&2 <<'END'
++Oops!
++
++Your 'rm' program seems unable to run without file operands specified
++on the command line, even when the '-f' option is present.  This is contrary
++to the behaviour of most rm programs out there, and not conforming with
++the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
++
++Please tell bug-automake@gnu.org about your system, including the value
++of your $PATH and any error possibly output before this message.  This
++can help us improve future automake versions.
++
++END
++  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
++    echo 'Configuration will proceed anyway, since you have set the' >&2
++    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
++    echo >&2
++  else
++    cat >&2 <<'END'
++Aborting the configuration process, to ensure you take notice of the issue.
++
++You can download and install GNU coreutils to get an 'rm' implementation
++that behaves properly: <http://www.gnu.org/software/coreutils/>.
++
++If you want to complete the configuration process using your problematic
++'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
++to "yes", and re-run configure.
++
++END
++    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
++  fi
++fi
++])
++
++dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
++dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
++dnl mangled by Autoconf and run in a shell conditional statement.
++m4_define([_AC_COMPILER_EXEEXT],
++m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
++
++# When config.status generates a header, we must update the stamp-h file.
++# This file resides in the same directory as the config header
++# that is generated.  The stamp files are numbered to have different names.
++
++# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
++# loop where config.status creates the headers, so we can generate
++# our stamp files there.
++AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
++[# Compute $1's index in $config_headers.
++_am_arg=$1
++_am_stamp_count=1
++for _am_header in $config_headers :; do
++  case $_am_header in
++    $_am_arg | $_am_arg:* )
++      break ;;
++    * )
++      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
++  esac
++done
++echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
++
++# Copyright (C) 2001-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# AM_PROG_INSTALL_SH
++# ------------------
++# Define $install_sh.
++AC_DEFUN([AM_PROG_INSTALL_SH],
++[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
++if test x"${install_sh}" != xset; then
++  case $am_aux_dir in
++  *\ * | *\	*)
++    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
++  *)
++    install_sh="\${SHELL} $am_aux_dir/install-sh"
++  esac
++fi
++AC_SUBST([install_sh])])
++
++# Copyright (C) 2003-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# Check whether the underlying file-system supports filenames
++# with a leading dot.  For instance MS-DOS doesn't.
++AC_DEFUN([AM_SET_LEADING_DOT],
++[rm -rf .tst 2>/dev/null
++mkdir .tst 2>/dev/null
++if test -d .tst; then
++  am__leading_dot=.
++else
++  am__leading_dot=_
++fi
++rmdir .tst 2>/dev/null
++AC_SUBST([am__leading_dot])])
++
++# Check to see how 'make' treats includes.	            -*- Autoconf -*-
++
++# Copyright (C) 2001-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# AM_MAKE_INCLUDE()
++# -----------------
++# Check to see how make treats includes.
++AC_DEFUN([AM_MAKE_INCLUDE],
++[am_make=${MAKE-make}
++cat > confinc << 'END'
++am__doit:
++	@echo this is the am__doit target
++.PHONY: am__doit
++END
++# If we don't find an include directive, just comment out the code.
++AC_MSG_CHECKING([for style of include used by $am_make])
++am__include="#"
++am__quote=
++_am_result=none
++# First try GNU make style include.
++echo "include confinc" > confmf
++# Ignore all kinds of additional output from 'make'.
++case `$am_make -s -f confmf 2> /dev/null` in #(
++*the\ am__doit\ target*)
++  am__include=include
++  am__quote=
++  _am_result=GNU
++  ;;
++esac
++# Now try BSD make style include.
++if test "$am__include" = "#"; then
++   echo '.include "confinc"' > confmf
++   case `$am_make -s -f confmf 2> /dev/null` in #(
++   *the\ am__doit\ target*)
++     am__include=.include
++     am__quote="\""
++     _am_result=BSD
++     ;;
++   esac
++fi
++AC_SUBST([am__include])
++AC_SUBST([am__quote])
++AC_MSG_RESULT([$_am_result])
++rm -f confinc confmf
++])
++
++# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
++
++# Copyright (C) 1997-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# AM_MISSING_PROG(NAME, PROGRAM)
++# ------------------------------
++AC_DEFUN([AM_MISSING_PROG],
++[AC_REQUIRE([AM_MISSING_HAS_RUN])
++$1=${$1-"${am_missing_run}$2"}
++AC_SUBST($1)])
++
++# AM_MISSING_HAS_RUN
++# ------------------
++# Define MISSING if not defined so far and test if it is modern enough.
++# If it is, set am_missing_run to use it, otherwise, to nothing.
++AC_DEFUN([AM_MISSING_HAS_RUN],
++[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
++AC_REQUIRE_AUX_FILE([missing])dnl
++if test x"${MISSING+set}" != xset; then
++  case $am_aux_dir in
++  *\ * | *\	*)
++    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
++  *)
++    MISSING="\${SHELL} $am_aux_dir/missing" ;;
++  esac
++fi
++# Use eval to expand $SHELL
++if eval "$MISSING --is-lightweight"; then
++  am_missing_run="$MISSING "
++else
++  am_missing_run=
++  AC_MSG_WARN(['missing' script is too old or missing])
++fi
++])
++
++# Helper functions for option handling.                     -*- Autoconf -*-
++
++# Copyright (C) 2001-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# _AM_MANGLE_OPTION(NAME)
++# -----------------------
++AC_DEFUN([_AM_MANGLE_OPTION],
++[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
++
++# _AM_SET_OPTION(NAME)
++# --------------------
++# Set option NAME.  Presently that only means defining a flag for this option.
++AC_DEFUN([_AM_SET_OPTION],
++[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
++
++# _AM_SET_OPTIONS(OPTIONS)
++# ------------------------
++# OPTIONS is a space-separated list of Automake options.
++AC_DEFUN([_AM_SET_OPTIONS],
++[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
++
++# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
++# -------------------------------------------
++# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
++AC_DEFUN([_AM_IF_OPTION],
++[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
++
++# Copyright (C) 1999-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# _AM_PROG_CC_C_O
++# ---------------
++# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
++# to automatically call this.
++AC_DEFUN([_AM_PROG_CC_C_O],
++[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
++AC_REQUIRE_AUX_FILE([compile])dnl
++AC_LANG_PUSH([C])dnl
++AC_CACHE_CHECK(
++  [whether $CC understands -c and -o together],
++  [am_cv_prog_cc_c_o],
++  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
++  # Make sure it works both with $CC and with simple cc.
++  # Following AC_PROG_CC_C_O, we do the test twice because some
++  # compilers refuse to overwrite an existing .o file with -o,
++  # though they will create one.
++  am_cv_prog_cc_c_o=yes
++  for am_i in 1 2; do
++    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
++         && test -f conftest2.$ac_objext; then
++      : OK
++    else
++      am_cv_prog_cc_c_o=no
++      break
++    fi
++  done
++  rm -f core conftest*
++  unset am_i])
++if test "$am_cv_prog_cc_c_o" != yes; then
++   # Losing compiler, so override with the script.
++   # FIXME: It is wrong to rewrite CC.
++   # But if we don't then we get into trouble of one sort or another.
++   # A longer-term fix would be to have automake use am__CC in this case,
++   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
++   CC="$am_aux_dir/compile $CC"
++fi
++AC_LANG_POP([C])])
++
++# For backward compatibility.
++AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
++
++# Copyright (C) 2001-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# AM_RUN_LOG(COMMAND)
++# -------------------
++# Run COMMAND, save the exit status in ac_status, and log it.
++# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
++AC_DEFUN([AM_RUN_LOG],
++[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
++   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
++   ac_status=$?
++   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
++   (exit $ac_status); }])
++
++# Check to make sure that the build environment is sane.    -*- Autoconf -*-
++
++# Copyright (C) 1996-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# AM_SANITY_CHECK
++# ---------------
++AC_DEFUN([AM_SANITY_CHECK],
++[AC_MSG_CHECKING([whether build environment is sane])
++# Reject unsafe characters in $srcdir or the absolute working directory
++# name.  Accept space and tab only in the latter.
++am_lf='
++'
++case `pwd` in
++  *[[\\\"\#\$\&\'\`$am_lf]]*)
++    AC_MSG_ERROR([unsafe absolute working directory name]);;
++esac
++case $srcdir in
++  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
++    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
++esac
++
++# Do 'set' in a subshell so we don't clobber the current shell's
++# arguments.  Must try -L first in case configure is actually a
++# symlink; some systems play weird games with the mod time of symlinks
++# (eg FreeBSD returns the mod time of the symlink's containing
++# directory).
++if (
++   am_has_slept=no
++   for am_try in 1 2; do
++     echo "timestamp, slept: $am_has_slept" > conftest.file
++     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
++     if test "$[*]" = "X"; then
++	# -L didn't work.
++	set X `ls -t "$srcdir/configure" conftest.file`
++     fi
++     if test "$[*]" != "X $srcdir/configure conftest.file" \
++	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
++
++	# If neither matched, then we have a broken ls.  This can happen
++	# if, for instance, CONFIG_SHELL is bash and it inherits a
++	# broken ls alias from the environment.  This has actually
++	# happened.  Such a system could not be considered "sane".
++	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
++  alias in your environment])
++     fi
++     if test "$[2]" = conftest.file || test $am_try -eq 2; then
++       break
++     fi
++     # Just in case.
++     sleep 1
++     am_has_slept=yes
++   done
++   test "$[2]" = conftest.file
++   )
++then
++   # Ok.
++   :
++else
++   AC_MSG_ERROR([newly created file is older than distributed files!
++Check your system clock])
++fi
++AC_MSG_RESULT([yes])
++# If we didn't sleep, we still need to ensure time stamps of config.status and
++# generated files are strictly newer.
++am_sleep_pid=
++if grep 'slept: no' conftest.file >/dev/null 2>&1; then
++  ( sleep 1 ) &
++  am_sleep_pid=$!
++fi
++AC_CONFIG_COMMANDS_PRE(
++  [AC_MSG_CHECKING([that generated files are newer than configure])
++   if test -n "$am_sleep_pid"; then
++     # Hide warnings about reused PIDs.
++     wait $am_sleep_pid 2>/dev/null
++   fi
++   AC_MSG_RESULT([done])])
++rm -f conftest.file
++])
++
++# Copyright (C) 2009-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# AM_SILENT_RULES([DEFAULT])
++# --------------------------
++# Enable less verbose build rules; with the default set to DEFAULT
++# ("yes" being less verbose, "no" or empty being verbose).
++AC_DEFUN([AM_SILENT_RULES],
++[AC_ARG_ENABLE([silent-rules], [dnl
++AS_HELP_STRING(
++  [--enable-silent-rules],
++  [less verbose build output (undo: "make V=1")])
++AS_HELP_STRING(
++  [--disable-silent-rules],
++  [verbose build output (undo: "make V=0")])dnl
++])
++case $enable_silent_rules in @%:@ (((
++  yes) AM_DEFAULT_VERBOSITY=0;;
++   no) AM_DEFAULT_VERBOSITY=1;;
++    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
++esac
++dnl
++dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
++dnl do not support nested variable expansions.
++dnl See automake bug#9928 and bug#10237.
++am_make=${MAKE-make}
++AC_CACHE_CHECK([whether $am_make supports nested variables],
++   [am_cv_make_support_nested_variables],
++   [if AS_ECHO([['TRUE=$(BAR$(V))
++BAR0=false
++BAR1=true
++V=1
++am__doit:
++	@$(TRUE)
++.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
++  am_cv_make_support_nested_variables=yes
++else
++  am_cv_make_support_nested_variables=no
++fi])
++if test $am_cv_make_support_nested_variables = yes; then
++  dnl Using '$V' instead of '$(V)' breaks IRIX make.
++  AM_V='$(V)'
++  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
++else
++  AM_V=$AM_DEFAULT_VERBOSITY
++  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
++fi
++AC_SUBST([AM_V])dnl
++AM_SUBST_NOTMAKE([AM_V])dnl
++AC_SUBST([AM_DEFAULT_V])dnl
++AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
++AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
++AM_BACKSLASH='\'
++AC_SUBST([AM_BACKSLASH])dnl
++_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
++])
++
++# Copyright (C) 2001-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# AM_PROG_INSTALL_STRIP
++# ---------------------
++# One issue with vendor 'install' (even GNU) is that you can't
++# specify the program used to strip binaries.  This is especially
++# annoying in cross-compiling environments, where the build's strip
++# is unlikely to handle the host's binaries.
++# Fortunately install-sh will honor a STRIPPROG variable, so we
++# always use install-sh in "make install-strip", and initialize
++# STRIPPROG with the value of the STRIP variable (set by the user).
++AC_DEFUN([AM_PROG_INSTALL_STRIP],
++[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
++# Installed binaries are usually stripped using 'strip' when the user
++# run "make install-strip".  However 'strip' might not be the right
++# tool to use in cross-compilation environments, therefore Automake
++# will honor the 'STRIP' environment variable to overrule this program.
++dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
++if test "$cross_compiling" != no; then
++  AC_CHECK_TOOL([STRIP], [strip], :)
++fi
++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
++AC_SUBST([INSTALL_STRIP_PROGRAM])])
++
++# Copyright (C) 2006-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# _AM_SUBST_NOTMAKE(VARIABLE)
++# ---------------------------
++# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
++# This macro is traced by Automake.
++AC_DEFUN([_AM_SUBST_NOTMAKE])
++
++# AM_SUBST_NOTMAKE(VARIABLE)
++# --------------------------
++# Public sister of _AM_SUBST_NOTMAKE.
++AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
++
++# Check how to create a tarball.                            -*- Autoconf -*-
++
++# Copyright (C) 2004-2013 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# _AM_PROG_TAR(FORMAT)
++# --------------------
++# Check how to create a tarball in format FORMAT.
++# FORMAT should be one of 'v7', 'ustar', or 'pax'.
++#
++# Substitute a variable $(am__tar) that is a command
++# writing to stdout a FORMAT-tarball containing the directory
++# $tardir.
++#     tardir=directory && $(am__tar) > result.tar
++#
++# Substitute a variable $(am__untar) that extract such
++# a tarball read from stdin.
++#     $(am__untar) < result.tar
++#
++AC_DEFUN([_AM_PROG_TAR],
++[# Always define AMTAR for backward compatibility.  Yes, it's still used
++# in the wild :-(  We should find a proper way to deprecate it ...
++AC_SUBST([AMTAR], ['$${TAR-tar}'])
++
++# We'll loop over all known methods to create a tar archive until one works.
++_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
++
++m4_if([$1], [v7],
++  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
++
++  [m4_case([$1],
++    [ustar],
++     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
++      # There is notably a 21 bits limit for the UID and the GID.  In fact,
++      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
++      # and bug#13588).
++      am_max_uid=2097151 # 2^21 - 1
++      am_max_gid=$am_max_uid
++      # The $UID and $GID variables are not portable, so we need to resort
++      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
++      # below are definitely unexpected, so allow the users to see them
++      # (that is, avoid stderr redirection).
++      am_uid=`id -u || echo unknown`
++      am_gid=`id -g || echo unknown`
++      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
++      if test $am_uid -le $am_max_uid; then
++         AC_MSG_RESULT([yes])
++      else
++         AC_MSG_RESULT([no])
++         _am_tools=none
++      fi
++      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
++      if test $am_gid -le $am_max_gid; then
++         AC_MSG_RESULT([yes])
++      else
++        AC_MSG_RESULT([no])
++        _am_tools=none
++      fi],
++
++  [pax],
++    [],
++
++  [m4_fatal([Unknown tar format])])
++
++  AC_MSG_CHECKING([how to create a $1 tar archive])
++
++  # Go ahead even if we have the value already cached.  We do so because we
++  # need to set the values for the 'am__tar' and 'am__untar' variables.
++  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
++
++  for _am_tool in $_am_tools; do
++    case $_am_tool in
++    gnutar)
++      for _am_tar in tar gnutar gtar; do
++        AM_RUN_LOG([$_am_tar --version]) && break
++      done
++      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
++      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
++      am__untar="$_am_tar -xf -"
++      ;;
++    plaintar)
++      # Must skip GNU tar: if it does not support --format= it doesn't create
++      # ustar tarball either.
++      (tar --version) >/dev/null 2>&1 && continue
++      am__tar='tar chf - "$$tardir"'
++      am__tar_='tar chf - "$tardir"'
++      am__untar='tar xf -'
++      ;;
++    pax)
++      am__tar='pax -L -x $1 -w "$$tardir"'
++      am__tar_='pax -L -x $1 -w "$tardir"'
++      am__untar='pax -r'
++      ;;
++    cpio)
++      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
++      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
++      am__untar='cpio -i -H $1 -d'
++      ;;
++    none)
++      am__tar=false
++      am__tar_=false
++      am__untar=false
++      ;;
++    esac
++
++    # If the value was cached, stop now.  We just wanted to have am__tar
++    # and am__untar set.
++    test -n "${am_cv_prog_tar_$1}" && break
++
++    # tar/untar a dummy directory, and stop if the command works.
++    rm -rf conftest.dir
++    mkdir conftest.dir
++    echo GrepMe > conftest.dir/file
++    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
++    rm -rf conftest.dir
++    if test -s conftest.tar; then
++      AM_RUN_LOG([$am__untar <conftest.tar])
++      AM_RUN_LOG([cat conftest.dir/file])
++      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
++    fi
++  done
++  rm -rf conftest.dir
++
++  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
++  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
++
++AC_SUBST([am__tar])
++AC_SUBST([am__untar])
++]) # _AM_PROG_TAR
++
+diff -uNr a/AUTHORS b/AUTHORS
+--- a/AUTHORS	1969-12-31 19:00:00.000000000 -0500
++++ b/AUTHORS	2014-12-12 15:59:32.605606679 -0500
+@@ -0,0 +1 @@
++
+diff -uNr a/ChangeLog b/ChangeLog
+--- a/ChangeLog	1969-12-31 19:00:00.000000000 -0500
++++ b/ChangeLog	2014-12-12 15:59:32.605606679 -0500
+@@ -0,0 +1 @@
++
+diff -uNr a/compile b/compile
+--- a/compile	1969-12-31 19:00:00.000000000 -0500
++++ b/compile	2014-12-12 15:22:27.566241255 -0500
+@@ -0,0 +1,347 @@
++#! /bin/sh
++# Wrapper for compilers which do not understand '-c -o'.
++
++scriptversion=2012-10-14.11; # UTC
++
++# Copyright (C) 1999-2013 Free Software Foundation, Inc.
++# Written by Tom Tromey <tromey@cygnus.com>.
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2, or (at your option)
++# any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program.  If not, see <http://www.gnu.org/licenses/>.
++
++# 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.
++
++# This file is maintained in Automake, please report
++# bugs to <bug-automake@gnu.org> or send patches to
++# <automake-patches@gnu.org>.
++
++nl='
++'
++
++# We need space, tab and new line, in precisely that order.  Quoting is
++# there to prevent tools from complaining about whitespace usage.
++IFS=" ""	$nl"
++
++file_conv=
++
++# func_file_conv build_file lazy
++# Convert a $build file to $host form and store it in $file
++# Currently only supports Windows hosts. If the determined conversion
++# type is listed in (the comma separated) LAZY, no conversion will
++# take place.
++func_file_conv ()
++{
++  file=$1
++  case $file in
++    / | /[!/]*) # absolute file, and not a UNC file
++      if test -z "$file_conv"; then
++	# lazily determine how to convert abs files
++	case `uname -s` in
++	  MINGW*)
++	    file_conv=mingw
++	    ;;
++	  CYGWIN*)
++	    file_conv=cygwin
++	    ;;
++	  *)
++	    file_conv=wine
++	    ;;
++	esac
++      fi
++      case $file_conv/,$2, in
++	*,$file_conv,*)
++	  ;;
++	mingw/*)
++	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
++	  ;;
++	cygwin/*)
++	  file=`cygpath -m "$file" || echo "$file"`
++	  ;;
++	wine/*)
++	  file=`winepath -w "$file" || echo "$file"`
++	  ;;
++      esac
++      ;;
++  esac
++}
++
++# func_cl_dashL linkdir
++# Make cl look for libraries in LINKDIR
++func_cl_dashL ()
++{
++  func_file_conv "$1"
++  if test -z "$lib_path"; then
++    lib_path=$file
++  else
++    lib_path="$lib_path;$file"
++  fi
++  linker_opts="$linker_opts -LIBPATH:$file"
++}
++
++# func_cl_dashl library
++# Do a library search-path lookup for cl
++func_cl_dashl ()
++{
++  lib=$1
++  found=no
++  save_IFS=$IFS
++  IFS=';'
++  for dir in $lib_path $LIB
++  do
++    IFS=$save_IFS
++    if $shared && test -f "$dir/$lib.dll.lib"; then
++      found=yes
++      lib=$dir/$lib.dll.lib
++      break
++    fi
++    if test -f "$dir/$lib.lib"; then
++      found=yes
++      lib=$dir/$lib.lib
++      break
++    fi
++    if test -f "$dir/lib$lib.a"; then
++      found=yes
++      lib=$dir/lib$lib.a
++      break
++    fi
++  done
++  IFS=$save_IFS
++
++  if test "$found" != yes; then
++    lib=$lib.lib
++  fi
++}
++
++# func_cl_wrapper cl arg...
++# Adjust compile command to suit cl
++func_cl_wrapper ()
++{
++  # Assume a capable shell
++  lib_path=
++  shared=:
++  linker_opts=
++  for arg
++  do
++    if test -n "$eat"; then
++      eat=
++    else
++      case $1 in
++	-o)
++	  # configure might choose to run compile as 'compile cc -o foo foo.c'.
++	  eat=1
++	  case $2 in
++	    *.o | *.[oO][bB][jJ])
++	      func_file_conv "$2"
++	      set x "$@" -Fo"$file"
++	      shift
++	      ;;
++	    *)
++	      func_file_conv "$2"
++	      set x "$@" -Fe"$file"
++	      shift
++	      ;;
++	  esac
++	  ;;
++	-I)
++	  eat=1
++	  func_file_conv "$2" mingw
++	  set x "$@" -I"$file"
++	  shift
++	  ;;
++	-I*)
++	  func_file_conv "${1#-I}" mingw
++	  set x "$@" -I"$file"
++	  shift
++	  ;;
++	-l)
++	  eat=1
++	  func_cl_dashl "$2"
++	  set x "$@" "$lib"
++	  shift
++	  ;;
++	-l*)
++	  func_cl_dashl "${1#-l}"
++	  set x "$@" "$lib"
++	  shift
++	  ;;
++	-L)
++	  eat=1
++	  func_cl_dashL "$2"
++	  ;;
++	-L*)
++	  func_cl_dashL "${1#-L}"
++	  ;;
++	-static)
++	  shared=false
++	  ;;
++	-Wl,*)
++	  arg=${1#-Wl,}
++	  save_ifs="$IFS"; IFS=','
++	  for flag in $arg; do
++	    IFS="$save_ifs"
++	    linker_opts="$linker_opts $flag"
++	  done
++	  IFS="$save_ifs"
++	  ;;
++	-Xlinker)
++	  eat=1
++	  linker_opts="$linker_opts $2"
++	  ;;
++	-*)
++	  set x "$@" "$1"
++	  shift
++	  ;;
++	*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
++	  func_file_conv "$1"
++	  set x "$@" -Tp"$file"
++	  shift
++	  ;;
++	*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
++	  func_file_conv "$1" mingw
++	  set x "$@" "$file"
++	  shift
++	  ;;
++	*)
++	  set x "$@" "$1"
++	  shift
++	  ;;
++      esac
++    fi
++    shift
++  done
++  if test -n "$linker_opts"; then
++    linker_opts="-link$linker_opts"
++  fi
++  exec "$@" $linker_opts
++  exit 1
++}
++
++eat=
++
++case $1 in
++  '')
++     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
++     exit 1;
++     ;;
++  -h | --h*)
++    cat <<\EOF
++Usage: compile [--help] [--version] PROGRAM [ARGS]
++
++Wrapper for compilers which do not understand '-c -o'.
++Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
++arguments, and rename the output as expected.
++
++If you are trying to build a whole package this is not the
++right script to run: please start by reading the file 'INSTALL'.
++
++Report bugs to <bug-automake@gnu.org>.
++EOF
++    exit $?
++    ;;
++  -v | --v*)
++    echo "compile $scriptversion"
++    exit $?
++    ;;
++  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
++    func_cl_wrapper "$@"      # Doesn't return...
++    ;;
++esac
++
++ofile=
++cfile=
++
++for arg
++do
++  if test -n "$eat"; then
++    eat=
++  else
++    case $1 in
++      -o)
++	# configure might choose to run compile as 'compile cc -o foo foo.c'.
++	# So we strip '-o arg' only if arg is an object.
++	eat=1
++	case $2 in
++	  *.o | *.obj)
++	    ofile=$2
++	    ;;
++	  *)
++	    set x "$@" -o "$2"
++	    shift
++	    ;;
++	esac
++	;;
++      *.c)
++	cfile=$1
++	set x "$@" "$1"
++	shift
++	;;
++      *)
++	set x "$@" "$1"
++	shift
++	;;
++    esac
++  fi
++  shift
++done
++
++if test -z "$ofile" || test -z "$cfile"; then
++  # If no '-o' option was seen then we might have been invoked from a
++  # pattern rule where we don't need one.  That is ok -- this is a
++  # normal compilation that the losing compiler can handle.  If no
++  # '.c' file was seen then we are probably linking.  That is also
++  # ok.
++  exec "$@"
++fi
++
++# Name of file we expect compiler to create.
++cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
++
++# Create the lock directory.
++# Note: use '[/\\:.-]' here to ensure that we don't use the same name
++# that we are using for the .o file.  Also, base the name on the expected
++# object file name, since that is what matters with a parallel build.
++lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
++while true; do
++  if mkdir "$lockdir" >/dev/null 2>&1; then
++    break
++  fi
++  sleep 1
++done
++# FIXME: race condition here if user kills between mkdir and trap.
++trap "rmdir '$lockdir'; exit 1" 1 2 15
++
++# Run the compile.
++"$@"
++ret=$?
++
++if test -f "$cofile"; then
++  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
++elif test -f "${cofile}bj"; then
++  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
++fi
++
++rmdir "$lockdir"
++exit $ret
++
++# Local Variables:
++# mode: shell-script
++# sh-indentation: 2
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "scriptversion="
++# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-time-zone: "UTC"
++# time-stamp-end: "; # UTC"
++# End:
+diff -uNr a/config.guess b/config.guess
+--- a/config.guess	1969-12-31 19:00:00.000000000 -0500
++++ b/config.guess	2014-12-12 15:22:27.578240863 -0500
+@@ -0,0 +1,1420 @@
++#! /bin/sh
++# Attempt to guess a canonical system name.
++#   Copyright 1992-2014 Free Software Foundation, Inc.
++
++timestamp='2014-03-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 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, see <http://www.gnu.org/licenses/>.
++#
++# 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.  This Exception is an additional permission under section 7
++# of the GNU General Public License, version 3 ("GPLv3").
++#
++# Originally written by Per Bothner.
++#
++# You can get the latest version of this script from:
++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
++#
++# Please send patches with a ChangeLog entry to config-patches@gnu.org.
++
++
++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 1992-2014 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
++
++case "${UNAME_SYSTEM}" in
++Linux|GNU|GNU/*)
++	# If the system lacks a compiler, then just pick glibc.
++	# We could probably try harder.
++	LIBC=gnu
++
++	eval $set_cc_for_build
++	cat <<-EOF > $dummy.c
++	#include <features.h>
++	#if defined(__UCLIBC__)
++	LIBC=uclibc
++	#elif defined(__dietlibc__)
++	LIBC=dietlibc
++	#else
++	LIBC=gnu
++	#endif
++	EOF
++	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
++	;;
++esac
++
++# 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 tuples: *-*-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 -q __ELF__
++		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 ;;
++    *:Bitrig:*:*)
++	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
++	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_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'`
++	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
++	exitcode=$?
++	trap '' 0
++	exit $exitcode ;;
++    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 ;;
++    s390x:SunOS:*:*)
++	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++	exit ;;
++    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:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
++	echo i386-pc-auroraux${UNAME_RELEASE}
++	exit ;;
++    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
++	eval $set_cc_for_build
++	SUN_ARCH="i386"
++	# If there is a compiler, see if it is configured for 64-bit objects.
++	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
++	# This test works for both compilers.
++	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
++	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
++		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
++		grep IS_64BIT_ARCH >/dev/null
++	    then
++		SUN_ARCH="x86_64"
++	    fi
++	fi
++	echo ${SUN_ARCH}-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:*:[4567])
++	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 -q __LP64__
++	    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:*:*)
++	UNAME_PROCESSOR=`/usr/bin/uname -p`
++	case ${UNAME_PROCESSOR} in
++	    amd64)
++		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++	    *)
++		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++	esac
++	exit ;;
++    i*:CYGWIN*:*)
++	echo ${UNAME_MACHINE}-pc-cygwin
++	exit ;;
++    *:MINGW64*:*)
++	echo ${UNAME_MACHINE}-pc-mingw64
++	exit ;;
++    *:MINGW*:*)
++	echo ${UNAME_MACHINE}-pc-mingw32
++	exit ;;
++    *:MSYS*:*)
++	echo ${UNAME_MACHINE}-pc-msys
++	exit ;;
++    i*:windows32*:*)
++	# uname -m includes "-pc" on this system.
++	echo ${UNAME_MACHINE}-mingw32
++	exit ;;
++    i*:PW*:*)
++	echo ${UNAME_MACHINE}-pc-pw32
++	exit ;;
++    *:Interix*:*)
++	case ${UNAME_MACHINE} in
++	    x86)
++		echo i586-pc-interix${UNAME_RELEASE}
++		exit ;;
++	    authenticamd | genuineintel | EM64T)
++		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 ;;
++    8664:Windows_NT:*)
++	echo x86_64-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-${LIBC}`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/[-(].*//'`-${LIBC}
++	exit ;;
++    i*86:Minix:*:*)
++	echo ${UNAME_MACHINE}-pc-minix
++	exit ;;
++    aarch64:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	exit ;;
++    aarch64_be:Linux:*:*)
++	UNAME_MACHINE=aarch64_be
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	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 -q ld.so.1
++	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	exit ;;
++    arc:Linux:*:* | arceb:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	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-${LIBC}
++	else
++	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
++		| grep -q __ARM_PCS_VFP
++	    then
++		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
++	    else
++		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
++	    fi
++	fi
++	exit ;;
++    avr32*:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	exit ;;
++    cris:Linux:*:*)
++	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
++	exit ;;
++    crisv32:Linux:*:*)
++	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
++	exit ;;
++    frv:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	exit ;;
++    hexagon:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	exit ;;
++    i*86:Linux:*:*)
++	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
++	exit ;;
++    ia64:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	exit ;;
++    m32r*:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	exit ;;
++    m68*:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	exit ;;
++    mips:Linux:*:* | mips64:Linux:*:*)
++	eval $set_cc_for_build
++	sed 's/^	//' << EOF >$dummy.c
++	#undef CPU
++	#undef ${UNAME_MACHINE}
++	#undef ${UNAME_MACHINE}el
++	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
++	CPU=${UNAME_MACHINE}el
++	#else
++	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
++	CPU=${UNAME_MACHINE}
++	#else
++	CPU=
++	#endif
++	#endif
++EOF
++	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
++	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
++	;;
++    openrisc*:Linux:*:*)
++	echo or1k-unknown-linux-${LIBC}
++	exit ;;
++    or32:Linux:*:* | or1k*:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	exit ;;
++    padre:Linux:*:*)
++	echo sparc-unknown-linux-${LIBC}
++	exit ;;
++    parisc64:Linux:*:* | hppa64:Linux:*:*)
++	echo hppa64-unknown-linux-${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-${LIBC} ;;
++	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
++	  *)    echo hppa-unknown-linux-${LIBC} ;;
++	esac
++	exit ;;
++    ppc64:Linux:*:*)
++	echo powerpc64-unknown-linux-${LIBC}
++	exit ;;
++    ppc:Linux:*:*)
++	echo powerpc-unknown-linux-${LIBC}
++	exit ;;
++    ppc64le:Linux:*:*)
++	echo powerpc64le-unknown-linux-${LIBC}
++	exit ;;
++    ppcle:Linux:*:*)
++	echo powerpcle-unknown-linux-${LIBC}
++	exit ;;
++    s390:Linux:*:* | s390x:Linux:*:*)
++	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
++	exit ;;
++    sh64*:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	exit ;;
++    sh*:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	exit ;;
++    sparc:Linux:*:* | sparc64:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	exit ;;
++    tile*:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	exit ;;
++    vax:Linux:*:*)
++	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
++	exit ;;
++    x86_64:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	exit ;;
++    xtensa*:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	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.[02]*:*)
++	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 i586.
++	# Note: whatever this is, it MUST be the same as what config.sub
++	# prints for the "djgpp" host, or else GDB configury will decide that
++	# this is a cross-build.
++	echo i586-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; } ;;
++    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
++	OS_REL='.3'
++	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; }
++	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
++	    && { echo i586-ncr-sysv4.3${OS_REL}; 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.[02]*:*)
++	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 ;;
++    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
++	echo i586-pc-haiku
++	exit ;;
++    x86_64:Haiku:*:*)
++	echo x86_64-unknown-haiku
++	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
++	eval $set_cc_for_build
++	if test "$UNAME_PROCESSOR" = unknown ; then
++	    UNAME_PROCESSOR=powerpc
++	fi
++	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
++	    if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
++		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
++		    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
++		    grep IS_64BIT_ARCH >/dev/null
++		then
++		    case $UNAME_PROCESSOR in
++			i386) UNAME_PROCESSOR=x86_64 ;;
++			powerpc) UNAME_PROCESSOR=powerpc64 ;;
++		    esac
++		fi
++	    fi
++	elif test "$UNAME_PROCESSOR" = i386 ; then
++	    # Avoid executing cc on OS X 10.9, as it ships with a stub
++	    # that puts up a graphical alert prompting to install
++	    # developer tools.  Any system running Mac OS X 10.7 or
++	    # later (Darwin 11 and later) is required to have a 64-bit
++	    # processor. This is not true of the ARM version of Darwin
++	    # that Apple uses in portable devices.
++	    UNAME_PROCESSOR=x86_64
++	fi
++	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 ;;
++    NEO-?:NONSTOP_KERNEL:*:*)
++	echo neo-tandem-nsk${UNAME_RELEASE}
++	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 ;;
++    i*86:AROS:*:*)
++	echo ${UNAME_MACHINE}-pc-aros
++	exit ;;
++    x86_64:VMkernel:*:*)
++	echo ${UNAME_MACHINE}-unknown-esx
++	exit ;;
++esac
++
++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:
+diff -uNr a/config.sub b/config.sub
+--- a/config.sub	1969-12-31 19:00:00.000000000 -0500
++++ b/config.sub	2014-12-12 15:22:27.586240602 -0500
+@@ -0,0 +1,1799 @@
++#! /bin/sh
++# Configuration validation subroutine script.
++#   Copyright 1992-2014 Free Software Foundation, Inc.
++
++timestamp='2014-09-11'
++
++# 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 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, see <http://www.gnu.org/licenses/>.
++#
++# 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.  This Exception is an additional permission under section 7
++# of the GNU General Public License, version 3 ("GPLv3").
++
++
++# Please send patches with a ChangeLog entry to config-patches@gnu.org.
++#
++# 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.
++
++# You can get the latest version of this script from:
++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
++
++# 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 1992-2014 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-android* | linux-dietlibc | linux-newlib* | \
++  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
++  knetbsd*-gnu* | netbsd*-gnu* | \
++  kopensolaris*-gnu* | \
++  storm-chaos* | os2-emx* | rtmk-nova*)
++    os=-$maybe_os
++    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
++    ;;
++  android-linux)
++    os=-linux-android
++    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
++    ;;
++  *)
++    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 | -microblaze*)
++		os=
++		basic_machine=$1
++		;;
++	-bluegene*)
++		os=-cnk
++		;;
++	-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*178)
++		os=-lynxos178
++		;;
++	-lynx*5)
++		os=-lynxos5
++		;;
++	-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 \
++	| aarch64 | aarch64_be \
++	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
++	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
++	| am33_2.0 \
++	| arc | arceb \
++	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
++	| avr | avr32 \
++	| be32 | be64 \
++	| bfin \
++	| c4x | c8051 | clipper \
++	| d10v | d30v | dlx | dsp16xx \
++	| epiphany \
++	| fido | fr30 | frv \
++	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
++	| hexagon \
++	| i370 | i860 | i960 | ia64 \
++	| ip2k | iq2000 \
++	| k1om \
++	| le32 | le64 \
++	| lm32 \
++	| m32c | m32r | m32rle | m68000 | m68k | m88k \
++	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
++	| mips | mipsbe | mipseb | mipsel | mipsle \
++	| mips16 \
++	| mips64 | mips64el \
++	| mips64octeon | mips64octeonel \
++	| mips64orion | mips64orionel \
++	| mips64r5900 | mips64r5900el \
++	| mips64vr | mips64vrel \
++	| mips64vr4100 | mips64vr4100el \
++	| mips64vr4300 | mips64vr4300el \
++	| mips64vr5000 | mips64vr5000el \
++	| mips64vr5900 | mips64vr5900el \
++	| mipsisa32 | mipsisa32el \
++	| mipsisa32r2 | mipsisa32r2el \
++	| mipsisa32r6 | mipsisa32r6el \
++	| mipsisa64 | mipsisa64el \
++	| mipsisa64r2 | mipsisa64r2el \
++	| mipsisa64r6 | mipsisa64r6el \
++	| mipsisa64sb1 | mipsisa64sb1el \
++	| mipsisa64sr71k | mipsisa64sr71kel \
++	| mipsr5900 | mipsr5900el \
++	| mipstx39 | mipstx39el \
++	| mn10200 | mn10300 \
++	| moxie \
++	| mt \
++	| msp430 \
++	| nds32 | nds32le | nds32be \
++	| nios | nios2 | nios2eb | nios2el \
++	| ns16k | ns32k \
++	| open8 | or1k | or1knd | or32 \
++	| pdp10 | pdp11 | pj | pjl \
++	| powerpc | powerpc64 | powerpc64le | powerpcle \
++	| pyramid \
++	| riscv32 | riscv64 \
++	| rl78 | rx \
++	| score \
++	| sh | sh[1234] | sh[24]a | sh[24]aeb | 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 \
++	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
++	| ubicom32 \
++	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
++	| we32k \
++	| x86 | xc16x | xstormy16 | xtensa \
++	| z8k | z80)
++		basic_machine=$basic_machine-unknown
++		;;
++	c54x)
++		basic_machine=tic54x-unknown
++		;;
++	c55x)
++		basic_machine=tic55x-unknown
++		;;
++	c6x)
++		basic_machine=tic6x-unknown
++		;;
++	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
++		basic_machine=$basic_machine-unknown
++		os=-none
++		;;
++	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
++		;;
++	ms1)
++		basic_machine=mt-unknown
++		;;
++
++	strongarm | thumb | xscale)
++		basic_machine=arm-unknown
++		;;
++	xgate)
++		basic_machine=$basic_machine-unknown
++		os=-none
++		;;
++	xscaleeb)
++		basic_machine=armeb-unknown
++		;;
++
++	xscaleel)
++		basic_machine=armel-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-* \
++	| aarch64-* | aarch64_be-* \
++	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
++	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
++	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
++	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
++	| avr-* | avr32-* \
++	| be32-* | be64-* \
++	| bfin-* | bs2000-* \
++	| c[123]* | c30-* | [cjt]90-* | c4x-* \
++	| c8051-* | 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-* \
++	| hexagon-* \
++	| i*86-* | i860-* | i960-* | ia64-* \
++	| ip2k-* | iq2000-* \
++	| k1om-* \
++	| le32-* | le64-* \
++	| lm32-* \
++	| m32c-* | m32r-* | m32rle-* \
++	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
++	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
++	| microblaze-* | microblazeel-* \
++	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
++	| mips16-* \
++	| mips64-* | mips64el-* \
++	| mips64octeon-* | mips64octeonel-* \
++	| mips64orion-* | mips64orionel-* \
++	| mips64r5900-* | mips64r5900el-* \
++	| mips64vr-* | mips64vrel-* \
++	| mips64vr4100-* | mips64vr4100el-* \
++	| mips64vr4300-* | mips64vr4300el-* \
++	| mips64vr5000-* | mips64vr5000el-* \
++	| mips64vr5900-* | mips64vr5900el-* \
++	| mipsisa32-* | mipsisa32el-* \
++	| mipsisa32r2-* | mipsisa32r2el-* \
++	| mipsisa32r6-* | mipsisa32r6el-* \
++	| mipsisa64-* | mipsisa64el-* \
++	| mipsisa64r2-* | mipsisa64r2el-* \
++	| mipsisa64r6-* | mipsisa64r6el-* \
++	| mipsisa64sb1-* | mipsisa64sb1el-* \
++	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
++	| mipsr5900-* | mipsr5900el-* \
++	| mipstx39-* | mipstx39el-* \
++	| mmix-* \
++	| mt-* \
++	| msp430-* \
++	| nds32-* | nds32le-* | nds32be-* \
++	| nios-* | nios2-* | nios2eb-* | nios2el-* \
++	| none-* | np1-* | ns16k-* | ns32k-* \
++	| open8-* \
++	| or1k*-* \
++	| orion-* \
++	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
++	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
++	| pyramid-* \
++	| rl78-* | romp-* | rs6000-* | rx-* \
++	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | 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-* | sv1-* | sx?-* \
++	| tahoe-* \
++	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
++	| tile*-* \
++	| tron-* \
++	| ubicom32-* \
++	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
++	| vax-* \
++	| we32k-* \
++	| x86-* | x86_64-* | xc16x-* | xps100-* \
++	| xstormy16-* | xtensa*-* \
++	| ymp-* \
++	| z8k-* | z80-*)
++		;;
++	# 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
++		;;
++	aros)
++		basic_machine=i386-pc
++		os=-aros
++		;;
++	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
++		;;
++	bluegene*)
++		basic_machine=powerpc-ibm
++		os=-cnk
++		;;
++	c54x-*)
++		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	c55x-*)
++		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	c6x-*)
++		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	c90)
++		basic_machine=c90-cray
++		os=-unicos
++		;;
++	cegcc)
++		basic_machine=arm-unknown
++		os=-cegcc
++		;;
++	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 | 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
++		;;
++	dicos)
++		basic_machine=i686-pc
++		os=-dicos
++		;;
++	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*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
++		;;
++	microblaze*)
++		basic_machine=microblaze-xilinx
++		;;
++	mingw64)
++		basic_machine=x86_64-pc
++		os=-mingw64
++		;;
++	mingw32)
++		basic_machine=i686-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
++		;;
++	moxiebox)
++		basic_machine=moxie-unknown
++		os=-moxiebox
++		;;
++	msdos)
++		basic_machine=i386-pc
++		os=-msdos
++		;;
++	ms1-*)
++		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
++		;;
++	msys)
++		basic_machine=i686-pc
++		os=-msys
++		;;
++	mvs)
++		basic_machine=i370-ibm
++		os=-mvs
++		;;
++	nacl)
++		basic_machine=le32-unknown
++		os=-nacl
++		;;
++	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
++		;;
++	neo-tandem)
++		basic_machine=neo-tandem
++		;;
++	nse-tandem)
++		basic_machine=nse-tandem
++		;;
++	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 | ppcbe)	basic_machine=powerpc-unknown
++		;;
++	ppc-* | ppcbe-*)
++		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 | rdos64)
++		basic_machine=x86_64-pc
++		os=-rdos
++		;;
++	rdos32)
++		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
++		;;
++	strongarm-* | thumb-*)
++		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	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
++		;;
++	tile*)
++		basic_machine=$basic_machine-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
++		;;
++	xscale-* | xscalee[bl]-*)
++		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
++		;;
++	ymp)
++		basic_machine=ymp-cray
++		os=-unicos
++		;;
++	z8k-*-coff)
++		basic_machine=z8k-unknown
++		os=-sim
++		;;
++	z80-*-coff)
++		basic_machine=z80-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[24]aeb | 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.
++	-auroraux)
++		os=-auroraux
++		;;
++	-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* | -cnk* | -sunos | -sunos[34]*\
++	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
++	      | -sym* | -kopensolaris* | -plan9* \
++	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
++	      | -aos* | -aros* \
++	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
++	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
++	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
++	      | -bitrig* | -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* | -cegcc* \
++	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
++	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
++	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
++	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
++	      | -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* | -es* | -tirtos*)
++	# 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
++		;;
++	-zvmoe)
++		os=-zvmoe
++		;;
++	-dicos*)
++		os=-dicos
++		;;
++	-nacl*)
++		;;
++	-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
++		;;
++	c8051-*)
++		os=-elf
++		;;
++	hexagon-*)
++		os=-elf
++		;;
++	tic54x-*)
++		os=-coff
++		;;
++	tic55x-*)
++		os=-coff
++		;;
++	tic6x-*)
++		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
++		;;
++	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
++				;;
++			-cnk*|-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:
+diff -uNr a/configure.ac b/configure.ac
+--- a/configure.ac	1969-12-31 19:00:00.000000000 -0500
++++ b/configure.ac	2014-12-12 15:37:39.364452680 -0500
+@@ -0,0 +1,31 @@
++AC_PREREQ([2.62])
++AC_INIT([GL2PS], [1.3.8], [], [gl2ps])
++
++AC_CONFIG_SRCDIR([gl2ps.c])
++
++AM_INIT_AUTOMAKE
++
++AC_CANONICAL_HOST
++
++AC_PROG_CC
++
++LT_PREREQ([2.2.2])
++LT_INIT([disable-static dlopen win32-dll])
++
++AC_CHECK_LIB([z], [gzclearerr], [LIBS="-lz $LIBS"
++AC_DEFINE([GL2PS_HAVE_ZLIB], 1)])
++
++AC_CHECK_LIB([png], [png_write_info], [LIBS="-lpng $LIBS"
++AC_DEFINE([GL2PS_HAVE_LIBPNG], 1)])
++
++AC_CHECK_HEADERS([GL/glu.h OpenGL/glu.h])
++AC_CHECK_LIB([GLU], [gluBeginCurve])
++
++AC_CHECK_HEADERS([GL/gl.h OpenGL/gl.h])
++AC_CHECK_LIB([GL], [glEnable])
++
++AC_CHECK_FUNCS([vsnprintf], [], [AC_DEFINE([HAVE_NO_VSNPRINTF], 1)])
++
++AC_CONFIG_FILES([Makefile])
++
++AC_OUTPUT
+diff -uNr a/COPYING b/COPYING
+--- a/COPYING	1969-12-31 19:00:00.000000000 -0500
++++ b/COPYING	2014-12-12 15:59:32.605606679 -0500
+@@ -0,0 +1 @@
++
+diff -uNr a/depcomp b/depcomp
+--- a/depcomp	1969-12-31 19:00:00.000000000 -0500
++++ b/depcomp	2014-12-12 15:22:27.650238513 -0500
+@@ -0,0 +1,791 @@
++#! /bin/sh
++# depcomp - compile a program generating dependencies as side-effects
++
++scriptversion=2013-05-30.07; # UTC
++
++# Copyright (C) 1999-2013 Free Software Foundation, Inc.
++
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2, or (at your option)
++# any later version.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++
++# You should have received a copy of the GNU General Public License
++# along with this program.  If not, see <http://www.gnu.org/licenses/>.
++
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that program.
++
++# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
++
++case $1 in
++  '')
++    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
++    exit 1;
++    ;;
++  -h | --h*)
++    cat <<\EOF
++Usage: depcomp [--help] [--version] PROGRAM [ARGS]
++
++Run PROGRAMS ARGS to compile a file, generating dependencies
++as side-effects.
++
++Environment variables:
++  depmode     Dependency tracking mode.
++  source      Source file read by 'PROGRAMS ARGS'.
++  object      Object file output by 'PROGRAMS ARGS'.
++  DEPDIR      directory where to store dependencies.
++  depfile     Dependency file to output.
++  tmpdepfile  Temporary file to use when outputting dependencies.
++  libtool     Whether libtool is used (yes/no).
++
++Report bugs to <bug-automake@gnu.org>.
++EOF
++    exit $?
++    ;;
++  -v | --v*)
++    echo "depcomp $scriptversion"
++    exit $?
++    ;;
++esac
++
++# Get the directory component of the given path, and save it in the
++# global variables '$dir'.  Note that this directory component will
++# be either empty or ending with a '/' character.  This is deliberate.
++set_dir_from ()
++{
++  case $1 in
++    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
++      *) dir=;;
++  esac
++}
++
++# Get the suffix-stripped basename of the given path, and save it the
++# global variable '$base'.
++set_base_from ()
++{
++  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
++}
++
++# If no dependency file was actually created by the compiler invocation,
++# we still have to create a dummy depfile, to avoid errors with the
++# Makefile "include basename.Plo" scheme.
++make_dummy_depfile ()
++{
++  echo "#dummy" > "$depfile"
++}
++
++# Factor out some common post-processing of the generated depfile.
++# Requires the auxiliary global variable '$tmpdepfile' to be set.
++aix_post_process_depfile ()
++{
++  # If the compiler actually managed to produce a dependency file,
++  # post-process it.
++  if test -f "$tmpdepfile"; then
++    # Each line is of the form 'foo.o: dependency.h'.
++    # Do two passes, one to just change these to
++    #   $object: dependency.h
++    # and one to simply output
++    #   dependency.h:
++    # which is needed to avoid the deleted-header problem.
++    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
++      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
++    } > "$depfile"
++    rm -f "$tmpdepfile"
++  else
++    make_dummy_depfile
++  fi
++}
++
++# A tabulation character.
++tab='	'
++# A newline character.
++nl='
++'
++# Character ranges might be problematic outside the C locale.
++# These definitions help.
++upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
++lower=abcdefghijklmnopqrstuvwxyz
++digits=0123456789
++alpha=${upper}${lower}
++
++if test -z "$depmode" || test -z "$source" || test -z "$object"; then
++  echo "depcomp: Variables source, object and depmode must be set" 1>&2
++  exit 1
++fi
++
++# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
++depfile=${depfile-`echo "$object" |
++  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
++tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
++
++rm -f "$tmpdepfile"
++
++# Avoid interferences from the environment.
++gccflag= dashmflag=
++
++# Some modes work just like other modes, but use different flags.  We
++# parameterize here, but still list the modes in the big case below,
++# to make depend.m4 easier to write.  Note that we *cannot* use a case
++# here, because this file can only contain one case statement.
++if test "$depmode" = hp; then
++  # HP compiler uses -M and no extra arg.
++  gccflag=-M
++  depmode=gcc
++fi
++
++if test "$depmode" = dashXmstdout; then
++  # This is just like dashmstdout with a different argument.
++  dashmflag=-xM
++  depmode=dashmstdout
++fi
++
++cygpath_u="cygpath -u -f -"
++if test "$depmode" = msvcmsys; then
++  # This is just like msvisualcpp but w/o cygpath translation.
++  # Just convert the backslash-escaped backslashes to single forward
++  # slashes to satisfy depend.m4
++  cygpath_u='sed s,\\\\,/,g'
++  depmode=msvisualcpp
++fi
++
++if test "$depmode" = msvc7msys; then
++  # This is just like msvc7 but w/o cygpath translation.
++  # Just convert the backslash-escaped backslashes to single forward
++  # slashes to satisfy depend.m4
++  cygpath_u='sed s,\\\\,/,g'
++  depmode=msvc7
++fi
++
++if test "$depmode" = xlc; then
++  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
++  gccflag=-qmakedep=gcc,-MF
++  depmode=gcc
++fi
++
++case "$depmode" in
++gcc3)
++## gcc 3 implements dependency tracking that does exactly what
++## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
++## it if -MD -MP comes after the -MF stuff.  Hmm.
++## Unfortunately, FreeBSD c89 acceptance of flags depends upon
++## the command line argument order; so add the flags where they
++## appear in depend2.am.  Note that the slowdown incurred here
++## affects only configure: in makefiles, %FASTDEP% shortcuts this.
++  for arg
++  do
++    case $arg in
++    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
++    *)  set fnord "$@" "$arg" ;;
++    esac
++    shift # fnord
++    shift # $arg
++  done
++  "$@"
++  stat=$?
++  if test $stat -ne 0; then
++    rm -f "$tmpdepfile"
++    exit $stat
++  fi
++  mv "$tmpdepfile" "$depfile"
++  ;;
++
++gcc)
++## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
++## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
++## (see the conditional assignment to $gccflag above).
++## There are various ways to get dependency output from gcc.  Here's
++## why we pick this rather obscure method:
++## - Don't want to use -MD because we'd like the dependencies to end
++##   up in a subdir.  Having to rename by hand is ugly.
++##   (We might end up doing this anyway to support other compilers.)
++## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
++##   -MM, not -M (despite what the docs say).  Also, it might not be
++##   supported by the other compilers which use the 'gcc' depmode.
++## - Using -M directly means running the compiler twice (even worse
++##   than renaming).
++  if test -z "$gccflag"; then
++    gccflag=-MD,
++  fi
++  "$@" -Wp,"$gccflag$tmpdepfile"
++  stat=$?
++  if test $stat -ne 0; then
++    rm -f "$tmpdepfile"
++    exit $stat
++  fi
++  rm -f "$depfile"
++  echo "$object : \\" > "$depfile"
++  # The second -e expression handles DOS-style file names with drive
++  # letters.
++  sed -e 's/^[^:]*: / /' \
++      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
++## This next piece of magic avoids the "deleted header file" problem.
++## The problem is that when a header file which appears in a .P file
++## is deleted, the dependency causes make to die (because there is
++## typically no way to rebuild the header).  We avoid this by adding
++## dummy dependencies for each header file.  Too bad gcc doesn't do
++## this for us directly.
++## Some versions of gcc put a space before the ':'.  On the theory
++## that the space means something, we add a space to the output as
++## well.  hp depmode also adds that space, but also prefixes the VPATH
++## to the object.  Take care to not repeat it in the output.
++## Some versions of the HPUX 10.20 sed can't process this invocation
++## correctly.  Breaking it into two sed invocations is a workaround.
++  tr ' ' "$nl" < "$tmpdepfile" \
++    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
++    | sed -e 's/$/ :/' >> "$depfile"
++  rm -f "$tmpdepfile"
++  ;;
++
++hp)
++  # This case exists only to let depend.m4 do its work.  It works by
++  # looking at the text of this script.  This case will never be run,
++  # since it is checked for above.
++  exit 1
++  ;;
++
++sgi)
++  if test "$libtool" = yes; then
++    "$@" "-Wp,-MDupdate,$tmpdepfile"
++  else
++    "$@" -MDupdate "$tmpdepfile"
++  fi
++  stat=$?
++  if test $stat -ne 0; then
++    rm -f "$tmpdepfile"
++    exit $stat
++  fi
++  rm -f "$depfile"
++
++  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
++    echo "$object : \\" > "$depfile"
++    # Clip off the initial element (the dependent).  Don't try to be
++    # clever and replace this with sed code, as IRIX sed won't handle
++    # lines with more than a fixed number of characters (4096 in
++    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
++    # the IRIX cc adds comments like '#:fec' to the end of the
++    # dependency line.
++    tr ' ' "$nl" < "$tmpdepfile" \
++      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
++      | tr "$nl" ' ' >> "$depfile"
++    echo >> "$depfile"
++    # The second pass generates a dummy entry for each header file.
++    tr ' ' "$nl" < "$tmpdepfile" \
++      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
++      >> "$depfile"
++  else
++    make_dummy_depfile
++  fi
++  rm -f "$tmpdepfile"
++  ;;
++
++xlc)
++  # This case exists only to let depend.m4 do its work.  It works by
++  # looking at the text of this script.  This case will never be run,
++  # since it is checked for above.
++  exit 1
++  ;;
++
++aix)
++  # The C for AIX Compiler uses -M and outputs the dependencies
++  # in a .u file.  In older versions, this file always lives in the
++  # current directory.  Also, the AIX compiler puts '$object:' at the
++  # start of each line; $object doesn't have directory information.
++  # Version 6 uses the directory in both cases.
++  set_dir_from "$object"
++  set_base_from "$object"
++  if test "$libtool" = yes; then
++    tmpdepfile1=$dir$base.u
++    tmpdepfile2=$base.u
++    tmpdepfile3=$dir.libs/$base.u
++    "$@" -Wc,-M
++  else
++    tmpdepfile1=$dir$base.u
++    tmpdepfile2=$dir$base.u
++    tmpdepfile3=$dir$base.u
++    "$@" -M
++  fi
++  stat=$?
++  if test $stat -ne 0; then
++    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
++    exit $stat
++  fi
++
++  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
++  do
++    test -f "$tmpdepfile" && break
++  done
++  aix_post_process_depfile
++  ;;
++
++tcc)
++  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
++  # FIXME: That version still under development at the moment of writing.
++  #        Make that this statement remains true also for stable, released
++  #        versions.
++  # It will wrap lines (doesn't matter whether long or short) with a
++  # trailing '\', as in:
++  #
++  #   foo.o : \
++  #    foo.c \
++  #    foo.h \
++  #
++  # It will put a trailing '\' even on the last line, and will use leading
++  # spaces rather than leading tabs (at least since its commit 0394caf7
++  # "Emit spaces for -MD").
++  "$@" -MD -MF "$tmpdepfile"
++  stat=$?
++  if test $stat -ne 0; then
++    rm -f "$tmpdepfile"
++    exit $stat
++  fi
++  rm -f "$depfile"
++  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
++  # We have to change lines of the first kind to '$object: \'.
++  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
++  # And for each line of the second kind, we have to emit a 'dep.h:'
++  # dummy dependency, to avoid the deleted-header problem.
++  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
++  rm -f "$tmpdepfile"
++  ;;
++
++## The order of this option in the case statement is important, since the
++## shell code in configure will try each of these formats in the order
++## listed in this file.  A plain '-MD' option would be understood by many
++## compilers, so we must ensure this comes after the gcc and icc options.
++pgcc)
++  # Portland's C compiler understands '-MD'.
++  # Will always output deps to 'file.d' where file is the root name of the
++  # source file under compilation, even if file resides in a subdirectory.
++  # The object file name does not affect the name of the '.d' file.
++  # pgcc 10.2 will output
++  #    foo.o: sub/foo.c sub/foo.h
++  # and will wrap long lines using '\' :
++  #    foo.o: sub/foo.c ... \
++  #     sub/foo.h ... \
++  #     ...
++  set_dir_from "$object"
++  # Use the source, not the object, to determine the base name, since
++  # that's sadly what pgcc will do too.
++  set_base_from "$source"
++  tmpdepfile=$base.d
++
++  # For projects that build the same source file twice into different object
++  # files, the pgcc approach of using the *source* file root name can cause
++  # problems in parallel builds.  Use a locking strategy to avoid stomping on
++  # the same $tmpdepfile.
++  lockdir=$base.d-lock
++  trap "
++    echo '$0: caught signal, cleaning up...' >&2
++    rmdir '$lockdir'
++    exit 1
++  " 1 2 13 15
++  numtries=100
++  i=$numtries
++  while test $i -gt 0; do
++    # mkdir is a portable test-and-set.
++    if mkdir "$lockdir" 2>/dev/null; then
++      # This process acquired the lock.
++      "$@" -MD
++      stat=$?
++      # Release the lock.
++      rmdir "$lockdir"
++      break
++    else
++      # If the lock is being held by a different process, wait
++      # until the winning process is done or we timeout.
++      while test -d "$lockdir" && test $i -gt 0; do
++        sleep 1
++        i=`expr $i - 1`
++      done
++    fi
++    i=`expr $i - 1`
++  done
++  trap - 1 2 13 15
++  if test $i -le 0; then
++    echo "$0: failed to acquire lock after $numtries attempts" >&2
++    echo "$0: check lockdir '$lockdir'" >&2
++    exit 1
++  fi
++
++  if test $stat -ne 0; then
++    rm -f "$tmpdepfile"
++    exit $stat
++  fi
++  rm -f "$depfile"
++  # Each line is of the form `foo.o: dependent.h',
++  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
++  # Do two passes, one to just change these to
++  # `$object: dependent.h' and one to simply `dependent.h:'.
++  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
++  # Some versions of the HPUX 10.20 sed can't process this invocation
++  # correctly.  Breaking it into two sed invocations is a workaround.
++  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
++    | sed -e 's/$/ :/' >> "$depfile"
++  rm -f "$tmpdepfile"
++  ;;
++
++hp2)
++  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
++  # compilers, which have integrated preprocessors.  The correct option
++  # to use with these is +Maked; it writes dependencies to a file named
++  # 'foo.d', which lands next to the object file, wherever that
++  # happens to be.
++  # Much of this is similar to the tru64 case; see comments there.
++  set_dir_from  "$object"
++  set_base_from "$object"
++  if test "$libtool" = yes; then
++    tmpdepfile1=$dir$base.d
++    tmpdepfile2=$dir.libs/$base.d
++    "$@" -Wc,+Maked
++  else
++    tmpdepfile1=$dir$base.d
++    tmpdepfile2=$dir$base.d
++    "$@" +Maked
++  fi
++  stat=$?
++  if test $stat -ne 0; then
++     rm -f "$tmpdepfile1" "$tmpdepfile2"
++     exit $stat
++  fi
++
++  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
++  do
++    test -f "$tmpdepfile" && break
++  done
++  if test -f "$tmpdepfile"; then
++    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
++    # Add 'dependent.h:' lines.
++    sed -ne '2,${
++               s/^ *//
++               s/ \\*$//
++               s/$/:/
++               p
++             }' "$tmpdepfile" >> "$depfile"
++  else
++    make_dummy_depfile
++  fi
++  rm -f "$tmpdepfile" "$tmpdepfile2"
++  ;;
++
++tru64)
++  # The Tru64 compiler uses -MD to generate dependencies as a side
++  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
++  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
++  # dependencies in 'foo.d' instead, so we check for that too.
++  # Subdirectories are respected.
++  set_dir_from  "$object"
++  set_base_from "$object"
++
++  if test "$libtool" = yes; then
++    # Libtool generates 2 separate objects for the 2 libraries.  These
++    # two compilations output dependencies in $dir.libs/$base.o.d and
++    # in $dir$base.o.d.  We have to check for both files, because
++    # one of the two compilations can be disabled.  We should prefer
++    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
++    # automatically cleaned when .libs/ is deleted, while ignoring
++    # the former would cause a distcleancheck panic.
++    tmpdepfile1=$dir$base.o.d          # libtool 1.5
++    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
++    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
++    "$@" -Wc,-MD
++  else
++    tmpdepfile1=$dir$base.d
++    tmpdepfile2=$dir$base.d
++    tmpdepfile3=$dir$base.d
++    "$@" -MD
++  fi
++
++  stat=$?
++  if test $stat -ne 0; then
++    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
++    exit $stat
++  fi
++
++  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
++  do
++    test -f "$tmpdepfile" && break
++  done
++  # Same post-processing that is required for AIX mode.
++  aix_post_process_depfile
++  ;;
++
++msvc7)
++  if test "$libtool" = yes; then
++    showIncludes=-Wc,-showIncludes
++  else
++    showIncludes=-showIncludes
++  fi
++  "$@" $showIncludes > "$tmpdepfile"
++  stat=$?
++  grep -v '^Note: including file: ' "$tmpdepfile"
++  if test $stat -ne 0; then
++    rm -f "$tmpdepfile"
++    exit $stat
++  fi
++  rm -f "$depfile"
++  echo "$object : \\" > "$depfile"
++  # The first sed program below extracts the file names and escapes
++  # backslashes for cygpath.  The second sed program outputs the file
++  # name when reading, but also accumulates all include files in the
++  # hold buffer in order to output them again at the end.  This only
++  # works with sed implementations that can handle large buffers.
++  sed < "$tmpdepfile" -n '
++/^Note: including file:  *\(.*\)/ {
++  s//\1/
++  s/\\/\\\\/g
++  p
++}' | $cygpath_u | sort -u | sed -n '
++s/ /\\ /g
++s/\(.*\)/'"$tab"'\1 \\/p
++s/.\(.*\) \\/\1:/
++H
++$ {
++  s/.*/'"$tab"'/
++  G
++  p
++}' >> "$depfile"
++  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
++  rm -f "$tmpdepfile"
++  ;;
++
++msvc7msys)
++  # This case exists only to let depend.m4 do its work.  It works by
++  # looking at the text of this script.  This case will never be run,
++  # since it is checked for above.
++  exit 1
++  ;;
++
++#nosideeffect)
++  # This comment above is used by automake to tell side-effect
++  # dependency tracking mechanisms from slower ones.
++
++dashmstdout)
++  # Important note: in order to support this mode, a compiler *must*
++  # always write the preprocessed file to stdout, regardless of -o.
++  "$@" || exit $?
++
++  # Remove the call to Libtool.
++  if test "$libtool" = yes; then
++    while test "X$1" != 'X--mode=compile'; do
++      shift
++    done
++    shift
++  fi
++
++  # Remove '-o $object'.
++  IFS=" "
++  for arg
++  do
++    case $arg in
++    -o)
++      shift
++      ;;
++    $object)
++      shift
++      ;;
++    *)
++      set fnord "$@" "$arg"
++      shift # fnord
++      shift # $arg
++      ;;
++    esac
++  done
++
++  test -z "$dashmflag" && dashmflag=-M
++  # Require at least two characters before searching for ':'
++  # in the target name.  This is to cope with DOS-style filenames:
++  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
++  "$@" $dashmflag |
++    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
++  rm -f "$depfile"
++  cat < "$tmpdepfile" > "$depfile"
++  # Some versions of the HPUX 10.20 sed can't process this sed invocation
++  # correctly.  Breaking it into two sed invocations is a workaround.
++  tr ' ' "$nl" < "$tmpdepfile" \
++    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
++    | sed -e 's/$/ :/' >> "$depfile"
++  rm -f "$tmpdepfile"
++  ;;
++
++dashXmstdout)
++  # This case only exists to satisfy depend.m4.  It is never actually
++  # run, as this mode is specially recognized in the preamble.
++  exit 1
++  ;;
++
++makedepend)
++  "$@" || exit $?
++  # Remove any Libtool call
++  if test "$libtool" = yes; then
++    while test "X$1" != 'X--mode=compile'; do
++      shift
++    done
++    shift
++  fi
++  # X makedepend
++  shift
++  cleared=no eat=no
++  for arg
++  do
++    case $cleared in
++    no)
++      set ""; shift
++      cleared=yes ;;
++    esac
++    if test $eat = yes; then
++      eat=no
++      continue
++    fi
++    case "$arg" in
++    -D*|-I*)
++      set fnord "$@" "$arg"; shift ;;
++    # Strip any option that makedepend may not understand.  Remove
++    # the object too, otherwise makedepend will parse it as a source file.
++    -arch)
++      eat=yes ;;
++    -*|$object)
++      ;;
++    *)
++      set fnord "$@" "$arg"; shift ;;
++    esac
++  done
++  obj_suffix=`echo "$object" | sed 's/^.*\././'`
++  touch "$tmpdepfile"
++  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
++  rm -f "$depfile"
++  # makedepend may prepend the VPATH from the source file name to the object.
++  # No need to regex-escape $object, excess matching of '.' is harmless.
++  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
++  # Some versions of the HPUX 10.20 sed can't process the last invocation
++  # correctly.  Breaking it into two sed invocations is a workaround.
++  sed '1,2d' "$tmpdepfile" \
++    | tr ' ' "$nl" \
++    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
++    | sed -e 's/$/ :/' >> "$depfile"
++  rm -f "$tmpdepfile" "$tmpdepfile".bak
++  ;;
++
++cpp)
++  # Important note: in order to support this mode, a compiler *must*
++  # always write the preprocessed file to stdout.
++  "$@" || exit $?
++
++  # Remove the call to Libtool.
++  if test "$libtool" = yes; then
++    while test "X$1" != 'X--mode=compile'; do
++      shift
++    done
++    shift
++  fi
++
++  # Remove '-o $object'.
++  IFS=" "
++  for arg
++  do
++    case $arg in
++    -o)
++      shift
++      ;;
++    $object)
++      shift
++      ;;
++    *)
++      set fnord "$@" "$arg"
++      shift # fnord
++      shift # $arg
++      ;;
++    esac
++  done
++
++  "$@" -E \
++    | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
++             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
++    | sed '$ s: \\$::' > "$tmpdepfile"
++  rm -f "$depfile"
++  echo "$object : \\" > "$depfile"
++  cat < "$tmpdepfile" >> "$depfile"
++  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
++  rm -f "$tmpdepfile"
++  ;;
++
++msvisualcpp)
++  # Important note: in order to support this mode, a compiler *must*
++  # always write the preprocessed file to stdout.
++  "$@" || exit $?
++
++  # Remove the call to Libtool.
++  if test "$libtool" = yes; then
++    while test "X$1" != 'X--mode=compile'; do
++      shift
++    done
++    shift
++  fi
++
++  IFS=" "
++  for arg
++  do
++    case "$arg" in
++    -o)
++      shift
++      ;;
++    $object)
++      shift
++      ;;
++    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
++        set fnord "$@"
++        shift
++        shift
++        ;;
++    *)
++        set fnord "$@" "$arg"
++        shift
++        shift
++        ;;
++    esac
++  done
++  "$@" -E 2>/dev/null |
++  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
++  rm -f "$depfile"
++  echo "$object : \\" > "$depfile"
++  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
++  echo "$tab" >> "$depfile"
++  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
++  rm -f "$tmpdepfile"
++  ;;
++
++msvcmsys)
++  # This case exists only to let depend.m4 do its work.  It works by
++  # looking at the text of this script.  This case will never be run,
++  # since it is checked for above.
++  exit 1
++  ;;
++
++none)
++  exec "$@"
++  ;;
++
++*)
++  echo "Unknown depmode $depmode" 1>&2
++  exit 1
++  ;;
++esac
++
++exit 0
++
++# Local Variables:
++# mode: shell-script
++# sh-indentation: 2
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "scriptversion="
++# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-time-zone: "UTC"
++# time-stamp-end: "; # UTC"
++# End:
+diff -uNr a/INSTALL b/INSTALL
+--- a/INSTALL	1969-12-31 19:00:00.000000000 -0500
++++ b/INSTALL	2014-12-12 15:22:27.622239427 -0500
+@@ -0,0 +1,370 @@
++Installation Instructions
++*************************
++
++Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
++Inc.
++
++   Copying and distribution of this file, with or without modification,
++are permitted in any medium without royalty provided the copyright
++notice and this notice are preserved.  This file is offered as-is,
++without warranty of any kind.
++
++Basic Installation
++==================
++
++   Briefly, the shell command `./configure && make && make install'
++should configure, build, and install this package.  The following
++more-detailed instructions are generic; see the `README' file for
++instructions specific to this package.  Some packages provide this
++`INSTALL' file but do not implement all of the features documented
++below.  The lack of an optional feature in a given package is not
++necessarily a bug.  More recommendations for GNU packages can be found
++in *note Makefile Conventions: (standards)Makefile Conventions.
++
++   The `configure' shell script attempts to guess correct values for
++various system-dependent variables used during compilation.  It uses
++those values to create a `Makefile' in each directory of the package.
++It may also create one or more `.h' files containing system-dependent
++definitions.  Finally, it creates a shell script `config.status' that
++you can run in the future to recreate the current configuration, and a
++file `config.log' containing compiler output (useful mainly for
++debugging `configure').
++
++   It can also use an optional file (typically called `config.cache'
++and enabled with `--cache-file=config.cache' or simply `-C') that saves
++the results of its tests to speed up reconfiguring.  Caching is
++disabled by default to prevent problems with accidental use of stale
++cache files.
++
++   If you need to do unusual things to compile the package, please try
++to figure out how `configure' could check whether to do them, and mail
++diffs or instructions to the address given in the `README' so they can
++be considered for the next release.  If you are using the cache, and at
++some point `config.cache' contains results you don't want to keep, you
++may remove or edit it.
++
++   The file `configure.ac' (or `configure.in') is used to create
++`configure' by a program called `autoconf'.  You need `configure.ac' if
++you want to change it or regenerate `configure' using a newer version
++of `autoconf'.
++
++   The simplest way to compile this package is:
++
++  1. `cd' to the directory containing the package's source code and type
++     `./configure' to configure the package for your system.
++
++     Running `configure' might take a while.  While running, it prints
++     some messages telling which features it is checking for.
++
++  2. Type `make' to compile the package.
++
++  3. Optionally, type `make check' to run any self-tests that come with
++     the package, generally using the just-built uninstalled binaries.
++
++  4. Type `make install' to install the programs and any data files and
++     documentation.  When installing into a prefix owned by root, it is
++     recommended that the package be configured and built as a regular
++     user, and only the `make install' phase executed with root
++     privileges.
++
++  5. Optionally, type `make installcheck' to repeat any self-tests, but
++     this time using the binaries in their final installed location.
++     This target does not install anything.  Running this target as a
++     regular user, particularly if the prior `make install' required
++     root privileges, verifies that the installation completed
++     correctly.
++
++  6. You can remove the program binaries and object files from the
++     source code directory by typing `make clean'.  To also remove the
++     files that `configure' created (so you can compile the package for
++     a different kind of computer), type `make distclean'.  There is
++     also a `make maintainer-clean' target, but that is intended mainly
++     for the package's developers.  If you use it, you may have to get
++     all sorts of other programs in order to regenerate files that came
++     with the distribution.
++
++  7. Often, you can also type `make uninstall' to remove the installed
++     files again.  In practice, not all packages have tested that
++     uninstallation works correctly, even though it is required by the
++     GNU Coding Standards.
++
++  8. Some packages, particularly those that use Automake, provide `make
++     distcheck', which can by used by developers to test that all other
++     targets like `make install' and `make uninstall' work correctly.
++     This target is generally not run by end users.
++
++Compilers and Options
++=====================
++
++   Some systems require unusual options for compilation or linking that
++the `configure' script does not know about.  Run `./configure --help'
++for details on some of the pertinent environment variables.
++
++   You can give `configure' initial values for configuration parameters
++by setting variables in the command line or in the environment.  Here
++is an example:
++
++     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
++
++   *Note Defining Variables::, for more details.
++
++Compiling For Multiple Architectures
++====================================
++
++   You can compile the package for more than one kind of computer at the
++same time, by placing the object files for each architecture in their
++own directory.  To do this, you can use GNU `make'.  `cd' to the
++directory where you want the object files and executables to go and run
++the `configure' script.  `configure' automatically checks for the
++source code in the directory that `configure' is in and in `..'.  This
++is known as a "VPATH" build.
++
++   With a non-GNU `make', it is safer to compile the package for one
++architecture at a time in the source code directory.  After you have
++installed the package for one architecture, use `make distclean' before
++reconfiguring for another architecture.
++
++   On MacOS X 10.5 and later systems, you can create libraries and
++executables that work on multiple system types--known as "fat" or
++"universal" binaries--by specifying multiple `-arch' options to the
++compiler but only a single `-arch' option to the preprocessor.  Like
++this:
++
++     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
++                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
++                 CPP="gcc -E" CXXCPP="g++ -E"
++
++   This is not guaranteed to produce working output in all cases, you
++may have to build one architecture at a time and combine the results
++using the `lipo' tool if you have problems.
++
++Installation Names
++==================
++
++   By default, `make install' installs the package's commands under
++`/usr/local/bin', include files under `/usr/local/include', etc.  You
++can specify an installation prefix other than `/usr/local' by giving
++`configure' the option `--prefix=PREFIX', where PREFIX must be an
++absolute file name.
++
++   You can specify separate installation prefixes for
++architecture-specific files and architecture-independent files.  If you
++pass the option `--exec-prefix=PREFIX' to `configure', the package uses
++PREFIX as the prefix for installing programs and libraries.
++Documentation and other data files still use the regular prefix.
++
++   In addition, if you use an unusual directory layout you can give
++options like `--bindir=DIR' to specify different values for particular
++kinds of files.  Run `configure --help' for a list of the directories
++you can set and what kinds of files go in them.  In general, the
++default for these options is expressed in terms of `${prefix}', so that
++specifying just `--prefix' will affect all of the other directory
++specifications that were not explicitly provided.
++
++   The most portable way to affect installation locations is to pass the
++correct locations to `configure'; however, many packages provide one or
++both of the following shortcuts of passing variable assignments to the
++`make install' command line to change installation locations without
++having to reconfigure or recompile.
++
++   The first method involves providing an override variable for each
++affected directory.  For example, `make install
++prefix=/alternate/directory' will choose an alternate location for all
++directory configuration variables that were expressed in terms of
++`${prefix}'.  Any directories that were specified during `configure',
++but not in terms of `${prefix}', must each be overridden at install
++time for the entire installation to be relocated.  The approach of
++makefile variable overrides for each directory variable is required by
++the GNU Coding Standards, and ideally causes no recompilation.
++However, some platforms have known limitations with the semantics of
++shared libraries that end up requiring recompilation when using this
++method, particularly noticeable in packages that use GNU Libtool.
++
++   The second method involves providing the `DESTDIR' variable.  For
++example, `make install DESTDIR=/alternate/directory' will prepend
++`/alternate/directory' before all installation names.  The approach of
++`DESTDIR' overrides is not required by the GNU Coding Standards, and
++does not work on platforms that have drive letters.  On the other hand,
++it does better at avoiding recompilation issues, and works well even
++when some directory options were not specified in terms of `${prefix}'
++at `configure' time.
++
++Optional Features
++=================
++
++   If the package supports it, you can cause programs to be installed
++with an extra prefix or suffix on their names by giving `configure' the
++option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
++
++   Some packages pay attention to `--enable-FEATURE' options to
++`configure', where FEATURE indicates an optional part of the package.
++They may also pay attention to `--with-PACKAGE' options, where PACKAGE
++is something like `gnu-as' or `x' (for the X Window System).  The
++`README' should mention any `--enable-' and `--with-' options that the
++package recognizes.
++
++   For packages that use the X Window System, `configure' can usually
++find the X include and library files automatically, but if it doesn't,
++you can use the `configure' options `--x-includes=DIR' and
++`--x-libraries=DIR' to specify their locations.
++
++   Some packages offer the ability to configure how verbose the
++execution of `make' will be.  For these packages, running `./configure
++--enable-silent-rules' sets the default to minimal output, which can be
++overridden with `make V=1'; while running `./configure
++--disable-silent-rules' sets the default to verbose, which can be
++overridden with `make V=0'.
++
++Particular systems
++==================
++
++   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
++CC is not installed, it is recommended to use the following options in
++order to use an ANSI C compiler:
++
++     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
++
++and if that doesn't work, install pre-built binaries of GCC for HP-UX.
++
++   HP-UX `make' updates targets which have the same time stamps as
++their prerequisites, which makes it generally unusable when shipped
++generated files such as `configure' are involved.  Use GNU `make'
++instead.
++
++   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
++parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
++a workaround.  If GNU CC is not installed, it is therefore recommended
++to try
++
++     ./configure CC="cc"
++
++and if that doesn't work, try
++
++     ./configure CC="cc -nodtk"
++
++   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
++directory contains several dysfunctional programs; working variants of
++these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
++in your `PATH', put it _after_ `/usr/bin'.
++
++   On Haiku, software installed for all users goes in `/boot/common',
++not `/usr/local'.  It is recommended to use the following options:
++
++     ./configure --prefix=/boot/common
++
++Specifying the System Type
++==========================
++
++   There may be some features `configure' cannot figure out
++automatically, but needs to determine by the type of machine the package
++will run on.  Usually, assuming the package is built to be run on the
++_same_ architectures, `configure' can figure that out, but if it prints
++a message saying it cannot guess the machine type, give it the
++`--build=TYPE' option.  TYPE can either be a short name for the system
++type, such as `sun4', or a canonical name which has the form:
++
++     CPU-COMPANY-SYSTEM
++
++where SYSTEM can have one of these forms:
++
++     OS
++     KERNEL-OS
++
++   See the file `config.sub' for the possible values of each field.  If
++`config.sub' isn't included in this package, then this package doesn't
++need to know the machine type.
++
++   If you are _building_ compiler tools for cross-compiling, you should
++use the option `--target=TYPE' to select the type of system they will
++produce code for.
++
++   If you want to _use_ a cross compiler, that generates code for a
++platform different from the build platform, you should specify the
++"host" platform (i.e., that on which the generated programs will
++eventually be run) with `--host=TYPE'.
++
++Sharing Defaults
++================
++
++   If you want to set default values for `configure' scripts to share,
++you can create a site shell script called `config.site' that gives
++default values for variables like `CC', `cache_file', and `prefix'.
++`configure' looks for `PREFIX/share/config.site' if it exists, then
++`PREFIX/etc/config.site' if it exists.  Or, you can set the
++`CONFIG_SITE' environment variable to the location of the site script.
++A warning: not all `configure' scripts look for a site script.
++
++Defining Variables
++==================
++
++   Variables not defined in a site shell script can be set in the
++environment passed to `configure'.  However, some packages may run
++configure again during the build, and the customized values of these
++variables may be lost.  In order to avoid this problem, you should set
++them in the `configure' command line, using `VAR=value'.  For example:
++
++     ./configure CC=/usr/local2/bin/gcc
++
++causes the specified `gcc' to be used as the C compiler (unless it is
++overridden in the site shell script).
++
++Unfortunately, this technique does not work for `CONFIG_SHELL' due to
++an Autoconf limitation.  Until the limitation is lifted, you can use
++this workaround:
++
++     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
++
++`configure' Invocation
++======================
++
++   `configure' recognizes the following options to control how it
++operates.
++
++`--help'
++`-h'
++     Print a summary of all of the options to `configure', and exit.
++
++`--help=short'
++`--help=recursive'
++     Print a summary of the options unique to this package's
++     `configure', and exit.  The `short' variant lists options used
++     only in the top level, while the `recursive' variant lists options
++     also present in any nested packages.
++
++`--version'
++`-V'
++     Print the version of Autoconf used to generate the `configure'
++     script, and exit.
++
++`--cache-file=FILE'
++     Enable the cache: use and save the results of the tests in FILE,
++     traditionally `config.cache'.  FILE defaults to `/dev/null' to
++     disable caching.
++
++`--config-cache'
++`-C'
++     Alias for `--cache-file=config.cache'.
++
++`--quiet'
++`--silent'
++`-q'
++     Do not print messages saying which checks are being made.  To
++     suppress all normal output, redirect it to `/dev/null' (any error
++     messages will still be shown).
++
++`--srcdir=DIR'
++     Look for the package's source code in directory DIR.  Usually
++     `configure' can determine that directory automatically.
++
++`--prefix=DIR'
++     Use DIR as the installation prefix.  *note Installation Names::
++     for more details, including other options available for fine-tuning
++     the installation locations.
++
++`--no-create'
++`-n'
++     Run the configure checks, but stop before creating any output
++     files.
++
++`configure' also accepts some other, not widely useful, options.  Run
++`configure --help' for more details.
+diff -uNr a/install-sh b/install-sh
+--- a/install-sh	1969-12-31 19:00:00.000000000 -0500
++++ b/install-sh	2014-12-12 15:22:27.594240341 -0500
+@@ -0,0 +1,527 @@
++#!/bin/sh
++# install - install a program, script, or datafile
++
++scriptversion=2011-11-20.07; # UTC
++
++# 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
++	# Protect names problematic for 'test' and other utilities.
++	case $dst_arg in
++	  -* | [=\(\)!]) dst_arg=./$dst_arg;;
++	esac
++	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
++    # Protect names problematic for 'test' and other utilities.
++    case $dst_arg in
++      -* | [=\(\)!]) dst_arg=./$dst_arg;;
++    esac
++  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
++  do_exit='(exit $ret); exit $ret'
++  trap "ret=129; $do_exit" 1
++  trap "ret=130; $do_exit" 2
++  trap "ret=141; $do_exit" 13
++  trap "ret=143; $do_exit" 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 problematic for 'test' and other utilities.
++  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
++
++    # 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-writable 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 X"$d" = X && 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-time-zone: "UTC"
++# time-stamp-end: "; # UTC"
++# End:
+diff -uNr a/ltmain.sh b/ltmain.sh
+--- a/ltmain.sh	1969-12-31 19:00:00.000000000 -0500
++++ b/ltmain.sh	2014-12-12 15:22:32.314086261 -0500
+@@ -0,0 +1,9661 @@
++
++# libtool (GNU libtool) 2.4.2
++# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
++
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
++# 2007, 2008, 2009, 2010, 2011 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.
++
++# GNU Libtool 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.
++#
++# As a special exception to the GNU General Public License,
++# if you distribute this file as part of a program or library that
++# is built using GNU Libtool, you may include this file under the
++# same distribution terms that you use for the rest of that program.
++#
++# GNU Libtool 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 GNU Libtool; see the file COPYING.  If not, a copy
++# can be downloaded from http://www.gnu.org/licenses/gpl.html,
++# or obtained by writing to the Free Software Foundation, Inc.,
++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++
++# Usage: $progname [OPTION]... [MODE-ARG]...
++#
++# Provide generalized library-building support services.
++#
++#       --config             show all configuration variables
++#       --debug              enable verbose shell tracing
++#   -n, --dry-run            display commands without modifying any files
++#       --features           display basic configuration information and exit
++#       --mode=MODE          use operation mode MODE
++#       --preserve-dup-deps  don't remove duplicate dependency libraries
++#       --quiet, --silent    don't print informational messages
++#       --no-quiet, --no-silent
++#                            print informational messages (default)
++#       --no-warn            don't display warning messages
++#       --tag=TAG            use configuration variables from tag TAG
++#   -v, --verbose            print more informational messages than default
++#       --no-verbose         don't print the extra informational messages
++#       --version            print version information
++#   -h, --help, --help-all   print short, long, or detailed help message
++#
++# MODE must be one of the following:
++#
++#         clean              remove files from the build directory
++#         compile            compile a source file into a libtool object
++#         execute            automatically set library path, then run a program
++#         finish             complete the installation of libtool libraries
++#         install            install libraries or executables
++#         link               create a library or an executable
++#         uninstall          remove libraries from an installed directory
++#
++# MODE-ARGS vary depending on the MODE.  When passed as first option,
++# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
++# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
++#
++# When reporting a bug, please describe a test case to reproduce it and
++# include the following information:
++#
++#         host-triplet:	$host
++#         shell:		$SHELL
++#         compiler:		$LTCC
++#         compiler flags:		$LTCFLAGS
++#         linker:		$LD (gnu? $with_gnu_ld)
++#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1.11
++#         automake:	$automake_version
++#         autoconf:	$autoconf_version
++#
++# Report bugs to <bug-libtool@gnu.org>.
++# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
++# General help using GNU software: <http://www.gnu.org/gethelp/>.
++
++PROGRAM=libtool
++PACKAGE=libtool
++VERSION="2.4.2 Debian-2.4.2-1.11"
++TIMESTAMP=""
++package_revision=1.3337
++
++# Be Bourne compatible
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++  emulate sh
++  NULLCMD=:
++  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '${1+"$@"}'='"$@"'
++  setopt NO_GLOB_SUBST
++else
++  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
++fi
++BIN_SH=xpg4; export BIN_SH # for Tru64
++DUALCASE=1; export DUALCASE # for MKS sh
++
++# A function that is used when there is no print builtin or printf.
++func_fallback_echo ()
++{
++  eval 'cat <<_LTECHO_EOF
++$1
++_LTECHO_EOF'
++}
++
++# NLS nuisances: We save the old values to restore during execute mode.
++lt_user_locale=
++lt_safe_locale=
++for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
++do
++  eval "if test \"\${$lt_var+set}\" = set; then
++          save_$lt_var=\$$lt_var
++          $lt_var=C
++	  export $lt_var
++	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
++	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
++	fi"
++done
++LC_ALL=C
++LANGUAGE=C
++export LANGUAGE LC_ALL
++
++$lt_unset CDPATH
++
++
++# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
++# is ksh but when the shell is invoked as "sh" and the current value of
++# the _XPG environment variable is not equal to 1 (one), the special
++# positional parameter $0, within a function call, is the name of the
++# function.
++progpath="$0"
++
++
++
++: ${CP="cp -f"}
++test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
++: ${MAKE="make"}
++: ${MKDIR="mkdir"}
++: ${MV="mv -f"}
++: ${RM="rm -f"}
++: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
++: ${Xsed="$SED -e 1s/^X//"}
++
++# Global variables:
++EXIT_SUCCESS=0
++EXIT_FAILURE=1
++EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
++EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
++
++exit_status=$EXIT_SUCCESS
++
++# Make sure IFS has a sensible default
++lt_nl='
++'
++IFS=" 	$lt_nl"
++
++dirname="s,/[^/]*$,,"
++basename="s,^.*/,,"
++
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++    func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
++    if test "X$func_dirname_result" = "X${1}"; then
++      func_dirname_result="${3}"
++    else
++      func_dirname_result="$func_dirname_result${2}"
++    fi
++} # func_dirname may be replaced by extended shell implementation
++
++
++# func_basename file
++func_basename ()
++{
++    func_basename_result=`$ECHO "${1}" | $SED "$basename"`
++} # func_basename may be replaced by extended shell implementation
++
++
++# func_dirname_and_basename file append nondir_replacement
++# perform func_basename and func_dirname in a single function
++# call:
++#   dirname:  Compute the dirname of FILE.  If nonempty,
++#             add APPEND to the result, otherwise set result
++#             to NONDIR_REPLACEMENT.
++#             value returned in "$func_dirname_result"
++#   basename: Compute filename of FILE.
++#             value retuned in "$func_basename_result"
++# Implementation must be kept synchronized with func_dirname
++# and func_basename. For efficiency, we do not delegate to
++# those functions but instead duplicate the functionality here.
++func_dirname_and_basename ()
++{
++    # Extract subdirectory from the argument.
++    func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
++    if test "X$func_dirname_result" = "X${1}"; then
++      func_dirname_result="${3}"
++    else
++      func_dirname_result="$func_dirname_result${2}"
++    fi
++    func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
++} # func_dirname_and_basename may be replaced by extended shell implementation
++
++
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++# func_strip_suffix prefix name
++func_stripname ()
++{
++    case ${2} in
++      .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
++      *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
++    esac
++} # func_stripname may be replaced by extended shell implementation
++
++
++# These SED scripts presuppose an absolute path with a trailing slash.
++pathcar='s,^/\([^/]*\).*$,\1,'
++pathcdr='s,^/[^/]*,,'
++removedotparts=':dotsl
++		s@/\./@/@g
++		t dotsl
++		s,/\.$,/,'
++collapseslashes='s@/\{1,\}@/@g'
++finalslash='s,/*$,/,'
++
++# func_normal_abspath PATH
++# Remove doubled-up and trailing slashes, "." path components,
++# and cancel out any ".." path components in PATH after making
++# it an absolute path.
++#             value returned in "$func_normal_abspath_result"
++func_normal_abspath ()
++{
++  # Start from root dir and reassemble the path.
++  func_normal_abspath_result=
++  func_normal_abspath_tpath=$1
++  func_normal_abspath_altnamespace=
++  case $func_normal_abspath_tpath in
++    "")
++      # Empty path, that just means $cwd.
++      func_stripname '' '/' "`pwd`"
++      func_normal_abspath_result=$func_stripname_result
++      return
++    ;;
++    # The next three entries are used to spot a run of precisely
++    # two leading slashes without using negated character classes;
++    # we take advantage of case's first-match behaviour.
++    ///*)
++      # Unusual form of absolute path, do nothing.
++    ;;
++    //*)
++      # Not necessarily an ordinary path; POSIX reserves leading '//'
++      # and for example Cygwin uses it to access remote file shares
++      # over CIFS/SMB, so we conserve a leading double slash if found.
++      func_normal_abspath_altnamespace=/
++    ;;
++    /*)
++      # Absolute path, do nothing.
++    ;;
++    *)
++      # Relative path, prepend $cwd.
++      func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
++    ;;
++  esac
++  # Cancel out all the simple stuff to save iterations.  We also want
++  # the path to end with a slash for ease of parsing, so make sure
++  # there is one (and only one) here.
++  func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
++        -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
++  while :; do
++    # Processed it all yet?
++    if test "$func_normal_abspath_tpath" = / ; then
++      # If we ascended to the root using ".." the result may be empty now.
++      if test -z "$func_normal_abspath_result" ; then
++        func_normal_abspath_result=/
++      fi
++      break
++    fi
++    func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
++        -e "$pathcar"`
++    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
++        -e "$pathcdr"`
++    # Figure out what to do with it
++    case $func_normal_abspath_tcomponent in
++      "")
++        # Trailing empty path component, ignore it.
++      ;;
++      ..)
++        # Parent dir; strip last assembled component from result.
++        func_dirname "$func_normal_abspath_result"
++        func_normal_abspath_result=$func_dirname_result
++      ;;
++      *)
++        # Actual path component, append it.
++        func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
++      ;;
++    esac
++  done
++  # Restore leading double-slash if one was found on entry.
++  func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
++}
++
++# func_relative_path SRCDIR DSTDIR
++# generates a relative path from SRCDIR to DSTDIR, with a trailing
++# slash if non-empty, suitable for immediately appending a filename
++# without needing to append a separator.
++#             value returned in "$func_relative_path_result"
++func_relative_path ()
++{
++  func_relative_path_result=
++  func_normal_abspath "$1"
++  func_relative_path_tlibdir=$func_normal_abspath_result
++  func_normal_abspath "$2"
++  func_relative_path_tbindir=$func_normal_abspath_result
++
++  # Ascend the tree starting from libdir
++  while :; do
++    # check if we have found a prefix of bindir
++    case $func_relative_path_tbindir in
++      $func_relative_path_tlibdir)
++        # found an exact match
++        func_relative_path_tcancelled=
++        break
++        ;;
++      $func_relative_path_tlibdir*)
++        # found a matching prefix
++        func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
++        func_relative_path_tcancelled=$func_stripname_result
++        if test -z "$func_relative_path_result"; then
++          func_relative_path_result=.
++        fi
++        break
++        ;;
++      *)
++        func_dirname $func_relative_path_tlibdir
++        func_relative_path_tlibdir=${func_dirname_result}
++        if test "x$func_relative_path_tlibdir" = x ; then
++          # Have to descend all the way to the root!
++          func_relative_path_result=../$func_relative_path_result
++          func_relative_path_tcancelled=$func_relative_path_tbindir
++          break
++        fi
++        func_relative_path_result=../$func_relative_path_result
++        ;;
++    esac
++  done
++
++  # Now calculate path; take care to avoid doubling-up slashes.
++  func_stripname '' '/' "$func_relative_path_result"
++  func_relative_path_result=$func_stripname_result
++  func_stripname '/' '/' "$func_relative_path_tcancelled"
++  if test "x$func_stripname_result" != x ; then
++    func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
++  fi
++
++  # Normalisation. If bindir is libdir, return empty string,
++  # else relative path ending with a slash; either way, target
++  # file name can be directly appended.
++  if test ! -z "$func_relative_path_result"; then
++    func_stripname './' '' "$func_relative_path_result/"
++    func_relative_path_result=$func_stripname_result
++  fi
++}
++
++# The name of this program:
++func_dirname_and_basename "$progpath"
++progname=$func_basename_result
++
++# Make sure we have an absolute path for reexecution:
++case $progpath in
++  [\\/]*|[A-Za-z]:\\*) ;;
++  *[\\/]*)
++     progdir=$func_dirname_result
++     progdir=`cd "$progdir" && pwd`
++     progpath="$progdir/$progname"
++     ;;
++  *)
++     save_IFS="$IFS"
++     IFS=${PATH_SEPARATOR-:}
++     for progdir in $PATH; do
++       IFS="$save_IFS"
++       test -x "$progdir/$progname" && break
++     done
++     IFS="$save_IFS"
++     test -n "$progdir" || progdir=`pwd`
++     progpath="$progdir/$progname"
++     ;;
++esac
++
++# Sed substitution that helps us do robust quoting.  It backslashifies
++# metacharacters that are still active within double-quoted strings.
++Xsed="${SED}"' -e 1s/^X//'
++sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
++
++# Same as above, but do not quote variable references.
++double_quote_subst='s/\(["`\\]\)/\\\1/g'
++
++# Sed substitution that turns a string into a regex matching for the
++# string literally.
++sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
++
++# Sed substitution that converts a w32 file name or path
++# which contains forward slashes, into one that contains
++# (escaped) backslashes.  A very naive implementation.
++lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
++
++# Re-`\' parameter expansions in output of double_quote_subst that were
++# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
++# in input to double_quote_subst, that '$' was protected from expansion.
++# Since each input `\' is now two `\'s, look for any number of runs of
++# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
++bs='\\'
++bs2='\\\\'
++bs4='\\\\\\\\'
++dollar='\$'
++sed_double_backslash="\
++  s/$bs4/&\\
++/g
++  s/^$bs2$dollar/$bs&/
++  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
++  s/\n//g"
++
++# Standard options:
++opt_dry_run=false
++opt_help=false
++opt_quiet=false
++opt_verbose=false
++opt_warning=:
++
++# func_echo arg...
++# Echo program name prefixed message, along with the current mode
++# name if it has been set yet.
++func_echo ()
++{
++    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
++}
++
++# func_verbose arg...
++# Echo program name prefixed message in verbose mode only.
++func_verbose ()
++{
++    $opt_verbose && func_echo ${1+"$@"}
++
++    # A bug in bash halts the script if the last line of a function
++    # fails when set -e is in force, so we need another command to
++    # work around that:
++    :
++}
++
++# func_echo_all arg...
++# Invoke $ECHO with all args, space-separated.
++func_echo_all ()
++{
++    $ECHO "$*"
++}
++
++# func_error arg...
++# Echo program name prefixed message to standard error.
++func_error ()
++{
++    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
++}
++
++# func_warning arg...
++# Echo program name prefixed warning message to standard error.
++func_warning ()
++{
++    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
++
++    # bash bug again:
++    :
++}
++
++# func_fatal_error arg...
++# Echo program name prefixed message to standard error, and exit.
++func_fatal_error ()
++{
++    func_error ${1+"$@"}
++    exit $EXIT_FAILURE
++}
++
++# func_fatal_help arg...
++# Echo program name prefixed message to standard error, followed by
++# a help hint, and exit.
++func_fatal_help ()
++{
++    func_error ${1+"$@"}
++    func_fatal_error "$help"
++}
++help="Try \`$progname --help' for more information."  ## default
++
++
++# func_grep expression filename
++# Check whether EXPRESSION matches any line of FILENAME, without output.
++func_grep ()
++{
++    $GREP "$1" "$2" >/dev/null 2>&1
++}
++
++
++# func_mkdir_p directory-path
++# Make sure the entire path to DIRECTORY-PATH is available.
++func_mkdir_p ()
++{
++    my_directory_path="$1"
++    my_dir_list=
++
++    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
++
++      # Protect directory names starting with `-'
++      case $my_directory_path in
++        -*) my_directory_path="./$my_directory_path" ;;
++      esac
++
++      # While some portion of DIR does not yet exist...
++      while test ! -d "$my_directory_path"; do
++        # ...make a list in topmost first order.  Use a colon delimited
++	# list incase some portion of path contains whitespace.
++        my_dir_list="$my_directory_path:$my_dir_list"
++
++        # If the last portion added has no slash in it, the list is done
++        case $my_directory_path in */*) ;; *) break ;; esac
++
++        # ...otherwise throw away the child directory and loop
++        my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
++      done
++      my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
++
++      save_mkdir_p_IFS="$IFS"; IFS=':'
++      for my_dir in $my_dir_list; do
++	IFS="$save_mkdir_p_IFS"
++        # mkdir can fail with a `File exist' error if two processes
++        # try to create one of the directories concurrently.  Don't
++        # stop in that case!
++        $MKDIR "$my_dir" 2>/dev/null || :
++      done
++      IFS="$save_mkdir_p_IFS"
++
++      # Bail out if we (or some other process) failed to create a directory.
++      test -d "$my_directory_path" || \
++        func_fatal_error "Failed to create \`$1'"
++    fi
++}
++
++
++# func_mktempdir [string]
++# Make a temporary directory that won't clash with other running
++# libtool processes, and avoids race conditions if possible.  If
++# given, STRING is the basename for that directory.
++func_mktempdir ()
++{
++    my_template="${TMPDIR-/tmp}/${1-$progname}"
++
++    if test "$opt_dry_run" = ":"; then
++      # Return a directory name, but don't create it in dry-run mode
++      my_tmpdir="${my_template}-$$"
++    else
++
++      # If mktemp works, use that first and foremost
++      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
++
++      if test ! -d "$my_tmpdir"; then
++        # Failing that, at least try and use $RANDOM to avoid a race
++        my_tmpdir="${my_template}-${RANDOM-0}$$"
++
++        save_mktempdir_umask=`umask`
++        umask 0077
++        $MKDIR "$my_tmpdir"
++        umask $save_mktempdir_umask
++      fi
++
++      # If we're not in dry-run mode, bomb out on failure
++      test -d "$my_tmpdir" || \
++        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
++    fi
++
++    $ECHO "$my_tmpdir"
++}
++
++
++# func_quote_for_eval arg
++# Aesthetically quote ARG to be evaled later.
++# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
++# is double-quoted, suitable for a subsequent eval, whereas
++# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
++# which are still active within double quotes backslashified.
++func_quote_for_eval ()
++{
++    case $1 in
++      *[\\\`\"\$]*)
++	func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
++      *)
++        func_quote_for_eval_unquoted_result="$1" ;;
++    esac
++
++    case $func_quote_for_eval_unquoted_result in
++      # Double-quote args containing shell metacharacters to delay
++      # word splitting, command substitution and and variable
++      # expansion for a subsequent eval.
++      # Many Bourne shells cannot handle close brackets correctly
++      # in scan sets, so we specify it separately.
++      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
++        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
++        ;;
++      *)
++        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
++    esac
++}
++
++
++# func_quote_for_expand arg
++# Aesthetically quote ARG to be evaled later; same as above,
++# but do not quote variable references.
++func_quote_for_expand ()
++{
++    case $1 in
++      *[\\\`\"]*)
++	my_arg=`$ECHO "$1" | $SED \
++	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
++      *)
++        my_arg="$1" ;;
++    esac
++
++    case $my_arg in
++      # Double-quote args containing shell metacharacters to delay
++      # word splitting and command substitution for a subsequent eval.
++      # Many Bourne shells cannot handle close brackets correctly
++      # in scan sets, so we specify it separately.
++      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
++        my_arg="\"$my_arg\""
++        ;;
++    esac
++
++    func_quote_for_expand_result="$my_arg"
++}
++
++
++# func_show_eval cmd [fail_exp]
++# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
++# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
++# is given, then evaluate it.
++func_show_eval ()
++{
++    my_cmd="$1"
++    my_fail_exp="${2-:}"
++
++    ${opt_silent-false} || {
++      func_quote_for_expand "$my_cmd"
++      eval "func_echo $func_quote_for_expand_result"
++    }
++
++    if ${opt_dry_run-false}; then :; else
++      eval "$my_cmd"
++      my_status=$?
++      if test "$my_status" -eq 0; then :; else
++	eval "(exit $my_status); $my_fail_exp"
++      fi
++    fi
++}
++
++
++# func_show_eval_locale cmd [fail_exp]
++# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
++# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
++# is given, then evaluate it.  Use the saved locale for evaluation.
++func_show_eval_locale ()
++{
++    my_cmd="$1"
++    my_fail_exp="${2-:}"
++
++    ${opt_silent-false} || {
++      func_quote_for_expand "$my_cmd"
++      eval "func_echo $func_quote_for_expand_result"
++    }
++
++    if ${opt_dry_run-false}; then :; else
++      eval "$lt_user_locale
++	    $my_cmd"
++      my_status=$?
++      eval "$lt_safe_locale"
++      if test "$my_status" -eq 0; then :; else
++	eval "(exit $my_status); $my_fail_exp"
++      fi
++    fi
++}
++
++# func_tr_sh
++# Turn $1 into a string suitable for a shell variable name.
++# Result is stored in $func_tr_sh_result.  All characters
++# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
++# if $1 begins with a digit, a '_' is prepended as well.
++func_tr_sh ()
++{
++  case $1 in
++  [0-9]* | *[!a-zA-Z0-9_]*)
++    func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
++    ;;
++  * )
++    func_tr_sh_result=$1
++    ;;
++  esac
++}
++
++
++# func_version
++# Echo version message to standard output and exit.
++func_version ()
++{
++    $opt_debug
++
++    $SED -n '/(C)/!b go
++	:more
++	/\./!{
++	  N
++	  s/\n# / /
++	  b more
++	}
++	:go
++	/^# '$PROGRAM' (GNU /,/# warranty; / {
++        s/^# //
++	s/^# *$//
++        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
++        p
++     }' < "$progpath"
++     exit $?
++}
++
++# func_usage
++# Echo short help message to standard output and exit.
++func_usage ()
++{
++    $opt_debug
++
++    $SED -n '/^# Usage:/,/^#  *.*--help/ {
++        s/^# //
++	s/^# *$//
++	s/\$progname/'$progname'/
++	p
++    }' < "$progpath"
++    echo
++    $ECHO "run \`$progname --help | more' for full usage"
++    exit $?
++}
++
++# func_help [NOEXIT]
++# Echo long help message to standard output and exit,
++# unless 'noexit' is passed as argument.
++func_help ()
++{
++    $opt_debug
++
++    $SED -n '/^# Usage:/,/# Report bugs to/ {
++	:print
++        s/^# //
++	s/^# *$//
++	s*\$progname*'$progname'*
++	s*\$host*'"$host"'*
++	s*\$SHELL*'"$SHELL"'*
++	s*\$LTCC*'"$LTCC"'*
++	s*\$LTCFLAGS*'"$LTCFLAGS"'*
++	s*\$LD*'"$LD"'*
++	s/\$with_gnu_ld/'"$with_gnu_ld"'/
++	s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
++	s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
++	p
++	d
++     }
++     /^# .* home page:/b print
++     /^# General help using/b print
++     ' < "$progpath"
++    ret=$?
++    if test -z "$1"; then
++      exit $ret
++    fi
++}
++
++# func_missing_arg argname
++# Echo program name prefixed message to standard error and set global
++# exit_cmd.
++func_missing_arg ()
++{
++    $opt_debug
++
++    func_error "missing argument for $1."
++    exit_cmd=exit
++}
++
++
++# func_split_short_opt shortopt
++# Set func_split_short_opt_name and func_split_short_opt_arg shell
++# variables after splitting SHORTOPT after the 2nd character.
++func_split_short_opt ()
++{
++    my_sed_short_opt='1s/^\(..\).*$/\1/;q'
++    my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
++
++    func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
++    func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
++} # func_split_short_opt may be replaced by extended shell implementation
++
++
++# func_split_long_opt longopt
++# Set func_split_long_opt_name and func_split_long_opt_arg shell
++# variables after splitting LONGOPT at the `=' sign.
++func_split_long_opt ()
++{
++    my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
++    my_sed_long_arg='1s/^--[^=]*=//'
++
++    func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
++    func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
++} # func_split_long_opt may be replaced by extended shell implementation
++
++exit_cmd=:
++
++
++
++
++
++magic="%%%MAGIC variable%%%"
++magic_exe="%%%MAGIC EXE variable%%%"
++
++# Global variables.
++nonopt=
++preserve_args=
++lo2o="s/\\.lo\$/.${objext}/"
++o2lo="s/\\.${objext}\$/.lo/"
++extracted_archives=
++extracted_serial=0
++
++# If this variable is set in any of the actions, the command in it
++# will be execed at the end.  This prevents here-documents from being
++# left over by shells.
++exec_cmd=
++
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++    eval "${1}=\$${1}\${2}"
++} # func_append may be replaced by extended shell implementation
++
++# func_append_quoted var value
++# Quote VALUE and append to the end of shell variable VAR, separated
++# by a space.
++func_append_quoted ()
++{
++    func_quote_for_eval "${2}"
++    eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
++} # func_append_quoted may be replaced by extended shell implementation
++
++
++# func_arith arithmetic-term...
++func_arith ()
++{
++    func_arith_result=`expr "${@}"`
++} # func_arith may be replaced by extended shell implementation
++
++
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++    func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
++} # func_len may be replaced by extended shell implementation
++
++
++# func_lo2o object
++func_lo2o ()
++{
++    func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
++} # func_lo2o may be replaced by extended shell implementation
++
++
++# func_xform libobj-or-source
++func_xform ()
++{
++    func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
++} # func_xform may be replaced by extended shell implementation
++
++
++# func_fatal_configuration arg...
++# Echo program name prefixed message to standard error, followed by
++# a configuration failure hint, and exit.
++func_fatal_configuration ()
++{
++    func_error ${1+"$@"}
++    func_error "See the $PACKAGE documentation for more information."
++    func_fatal_error "Fatal configuration error."
++}
++
++
++# func_config
++# Display the configuration for all the tags in this script.
++func_config ()
++{
++    re_begincf='^# ### BEGIN LIBTOOL'
++    re_endcf='^# ### END LIBTOOL'
++
++    # Default configuration.
++    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
++
++    # Now print the configurations for the tags.
++    for tagname in $taglist; do
++      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
++    done
++
++    exit $?
++}
++
++# func_features
++# Display the features supported by this script.
++func_features ()
++{
++    echo "host: $host"
++    if test "$build_libtool_libs" = yes; then
++      echo "enable shared libraries"
++    else
++      echo "disable shared libraries"
++    fi
++    if test "$build_old_libs" = yes; then
++      echo "enable static libraries"
++    else
++      echo "disable static libraries"
++    fi
++
++    exit $?
++}
++
++# func_enable_tag tagname
++# Verify that TAGNAME is valid, and either flag an error and exit, or
++# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
++# variable here.
++func_enable_tag ()
++{
++  # Global variable:
++  tagname="$1"
++
++  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
++  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
++  sed_extractcf="/$re_begincf/,/$re_endcf/p"
++
++  # Validate tagname.
++  case $tagname in
++    *[!-_A-Za-z0-9,/]*)
++      func_fatal_error "invalid tag name: $tagname"
++      ;;
++  esac
++
++  # Don't test for the "default" C tag, as we know it's
++  # there but not specially marked.
++  case $tagname in
++    CC) ;;
++    *)
++      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
++	taglist="$taglist $tagname"
++
++	# Evaluate the configuration.  Be careful to quote the path
++	# and the sed script, to avoid splitting on whitespace, but
++	# also don't use non-portable quotes within backquotes within
++	# quotes we have to do it in 2 steps:
++	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
++	eval "$extractedcf"
++      else
++	func_error "ignoring unknown tag $tagname"
++      fi
++      ;;
++  esac
++}
++
++# func_check_version_match
++# Ensure that we are using m4 macros, and libtool script from the same
++# release of libtool.
++func_check_version_match ()
++{
++  if test "$package_revision" != "$macro_revision"; then
++    if test "$VERSION" != "$macro_version"; then
++      if test -z "$macro_version"; then
++        cat >&2 <<_LT_EOF
++$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
++$progname: definition of this LT_INIT comes from an older release.
++$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
++$progname: and run autoconf again.
++_LT_EOF
++      else
++        cat >&2 <<_LT_EOF
++$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
++$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
++$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
++$progname: and run autoconf again.
++_LT_EOF
++      fi
++    else
++      cat >&2 <<_LT_EOF
++$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
++$progname: but the definition of this LT_INIT comes from revision $macro_revision.
++$progname: You should recreate aclocal.m4 with macros from revision $package_revision
++$progname: of $PACKAGE $VERSION and run autoconf again.
++_LT_EOF
++    fi
++
++    exit $EXIT_MISMATCH
++  fi
++}
++
++
++# Shorthand for --mode=foo, only valid as the first argument
++case $1 in
++clean|clea|cle|cl)
++  shift; set dummy --mode clean ${1+"$@"}; shift
++  ;;
++compile|compil|compi|comp|com|co|c)
++  shift; set dummy --mode compile ${1+"$@"}; shift
++  ;;
++execute|execut|execu|exec|exe|ex|e)
++  shift; set dummy --mode execute ${1+"$@"}; shift
++  ;;
++finish|finis|fini|fin|fi|f)
++  shift; set dummy --mode finish ${1+"$@"}; shift
++  ;;
++install|instal|insta|inst|ins|in|i)
++  shift; set dummy --mode install ${1+"$@"}; shift
++  ;;
++link|lin|li|l)
++  shift; set dummy --mode link ${1+"$@"}; shift
++  ;;
++uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
++  shift; set dummy --mode uninstall ${1+"$@"}; shift
++  ;;
++esac
++
++
++
++# Option defaults:
++opt_debug=:
++opt_dry_run=false
++opt_config=false
++opt_preserve_dup_deps=false
++opt_features=false
++opt_finish=false
++opt_help=false
++opt_help_all=false
++opt_silent=:
++opt_warning=:
++opt_verbose=:
++opt_silent=false
++opt_verbose=false
++
++
++# Parse options once, thoroughly.  This comes as soon as possible in the
++# script to make things like `--version' happen as quickly as we can.
++{
++  # this just eases exit handling
++  while test $# -gt 0; do
++    opt="$1"
++    shift
++    case $opt in
++      --debug|-x)	opt_debug='set -x'
++			func_echo "enabling shell trace mode"
++			$opt_debug
++			;;
++      --dry-run|--dryrun|-n)
++			opt_dry_run=:
++			;;
++      --config)
++			opt_config=:
++func_config
++			;;
++      --dlopen|-dlopen)
++			optarg="$1"
++			opt_dlopen="${opt_dlopen+$opt_dlopen
++}$optarg"
++			shift
++			;;
++      --preserve-dup-deps)
++			opt_preserve_dup_deps=:
++			;;
++      --features)
++			opt_features=:
++func_features
++			;;
++      --finish)
++			opt_finish=:
++set dummy --mode finish ${1+"$@"}; shift
++			;;
++      --help)
++			opt_help=:
++			;;
++      --help-all)
++			opt_help_all=:
++opt_help=': help-all'
++			;;
++      --mode)
++			test $# = 0 && func_missing_arg $opt && break
++			optarg="$1"
++			opt_mode="$optarg"
++case $optarg in
++  # Valid mode arguments:
++  clean|compile|execute|finish|install|link|relink|uninstall) ;;
++
++  # Catch anything else as an error
++  *) func_error "invalid argument for $opt"
++     exit_cmd=exit
++     break
++     ;;
++esac
++			shift
++			;;
++      --no-silent|--no-quiet)
++			opt_silent=false
++func_append preserve_args " $opt"
++			;;
++      --no-warning|--no-warn)
++			opt_warning=false
++func_append preserve_args " $opt"
++			;;
++      --no-verbose)
++			opt_verbose=false
++func_append preserve_args " $opt"
++			;;
++      --silent|--quiet)
++			opt_silent=:
++func_append preserve_args " $opt"
++        opt_verbose=false
++			;;
++      --verbose|-v)
++			opt_verbose=:
++func_append preserve_args " $opt"
++opt_silent=false
++			;;
++      --tag)
++			test $# = 0 && func_missing_arg $opt && break
++			optarg="$1"
++			opt_tag="$optarg"
++func_append preserve_args " $opt $optarg"
++func_enable_tag "$optarg"
++			shift
++			;;
++
++      -\?|-h)		func_usage				;;
++      --help)		func_help				;;
++      --version)	func_version				;;
++
++      # Separate optargs to long options:
++      --*=*)
++			func_split_long_opt "$opt"
++			set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
++			shift
++			;;
++
++      # Separate non-argument short options:
++      -\?*|-h*|-n*|-v*)
++			func_split_short_opt "$opt"
++			set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
++			shift
++			;;
++
++      --)		break					;;
++      -*)		func_fatal_help "unrecognized option \`$opt'" ;;
++      *)		set dummy "$opt" ${1+"$@"};	shift; break  ;;
++    esac
++  done
++
++  # Validate options:
++
++  # save first non-option argument
++  if test "$#" -gt 0; then
++    nonopt="$opt"
++    shift
++  fi
++
++  # preserve --debug
++  test "$opt_debug" = : || func_append preserve_args " --debug"
++
++  case $host in
++    *cygwin* | *mingw* | *pw32* | *cegcc*)
++      # don't eliminate duplications in $postdeps and $predeps
++      opt_duplicate_compiler_generated_deps=:
++      ;;
++    *)
++      opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
++      ;;
++  esac
++
++  $opt_help || {
++    # Sanity checks first:
++    func_check_version_match
++
++    if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
++      func_fatal_configuration "not configured to build any kind of library"
++    fi
++
++    # Darwin sucks
++    eval std_shrext=\"$shrext_cmds\"
++
++    # Only execute mode is allowed to have -dlopen flags.
++    if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
++      func_error "unrecognized option \`-dlopen'"
++      $ECHO "$help" 1>&2
++      exit $EXIT_FAILURE
++    fi
++
++    # Change the help message to a mode-specific one.
++    generic_help="$help"
++    help="Try \`$progname --help --mode=$opt_mode' for more information."
++  }
++
++
++  # Bail if the options were screwed
++  $exit_cmd $EXIT_FAILURE
++}
++
++
++
++
++## ----------- ##
++##    Main.    ##
++## ----------- ##
++
++# func_lalib_p file
++# True iff FILE is a libtool `.la' library or `.lo' object file.
++# This function is only a basic sanity check; it will hardly flush out
++# determined imposters.
++func_lalib_p ()
++{
++    test -f "$1" &&
++      $SED -e 4q "$1" 2>/dev/null \
++        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
++}
++
++# func_lalib_unsafe_p file
++# True iff FILE is a libtool `.la' library or `.lo' object file.
++# This function implements the same check as func_lalib_p without
++# resorting to external programs.  To this end, it redirects stdin and
++# closes it afterwards, without saving the original file descriptor.
++# As a safety measure, use it only where a negative result would be
++# fatal anyway.  Works if `file' does not exist.
++func_lalib_unsafe_p ()
++{
++    lalib_p=no
++    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
++	for lalib_p_l in 1 2 3 4
++	do
++	    read lalib_p_line
++	    case "$lalib_p_line" in
++		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
++	    esac
++	done
++	exec 0<&5 5<&-
++    fi
++    test "$lalib_p" = yes
++}
++
++# func_ltwrapper_script_p file
++# True iff FILE is a libtool wrapper script
++# This function is only a basic sanity check; it will hardly flush out
++# determined imposters.
++func_ltwrapper_script_p ()
++{
++    func_lalib_p "$1"
++}
++
++# func_ltwrapper_executable_p file
++# True iff FILE is a libtool wrapper executable
++# This function is only a basic sanity check; it will hardly flush out
++# determined imposters.
++func_ltwrapper_executable_p ()
++{
++    func_ltwrapper_exec_suffix=
++    case $1 in
++    *.exe) ;;
++    *) func_ltwrapper_exec_suffix=.exe ;;
++    esac
++    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
++}
++
++# func_ltwrapper_scriptname file
++# Assumes file is an ltwrapper_executable
++# uses $file to determine the appropriate filename for a
++# temporary ltwrapper_script.
++func_ltwrapper_scriptname ()
++{
++    func_dirname_and_basename "$1" "" "."
++    func_stripname '' '.exe' "$func_basename_result"
++    func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
++}
++
++# func_ltwrapper_p file
++# True iff FILE is a libtool wrapper script or wrapper executable
++# This function is only a basic sanity check; it will hardly flush out
++# determined imposters.
++func_ltwrapper_p ()
++{
++    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
++}
++
++
++# func_execute_cmds commands fail_cmd
++# Execute tilde-delimited COMMANDS.
++# If FAIL_CMD is given, eval that upon failure.
++# FAIL_CMD may read-access the current command in variable CMD!
++func_execute_cmds ()
++{
++    $opt_debug
++    save_ifs=$IFS; IFS='~'
++    for cmd in $1; do
++      IFS=$save_ifs
++      eval cmd=\"$cmd\"
++      func_show_eval "$cmd" "${2-:}"
++    done
++    IFS=$save_ifs
++}
++
++
++# func_source file
++# Source FILE, adding directory component if necessary.
++# Note that it is not necessary on cygwin/mingw to append a dot to
++# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
++# behavior happens only for exec(3), not for open(2)!  Also, sourcing
++# `FILE.' does not work on cygwin managed mounts.
++func_source ()
++{
++    $opt_debug
++    case $1 in
++    */* | *\\*)	. "$1" ;;
++    *)		. "./$1" ;;
++    esac
++}
++
++
++# func_resolve_sysroot PATH
++# Replace a leading = in PATH with a sysroot.  Store the result into
++# func_resolve_sysroot_result
++func_resolve_sysroot ()
++{
++  func_resolve_sysroot_result=$1
++  case $func_resolve_sysroot_result in
++  =*)
++    func_stripname '=' '' "$func_resolve_sysroot_result"
++    func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
++    ;;
++  esac
++}
++
++# func_replace_sysroot PATH
++# If PATH begins with the sysroot, replace it with = and
++# store the result into func_replace_sysroot_result.
++func_replace_sysroot ()
++{
++  case "$lt_sysroot:$1" in
++  ?*:"$lt_sysroot"*)
++    func_stripname "$lt_sysroot" '' "$1"
++    func_replace_sysroot_result="=$func_stripname_result"
++    ;;
++  *)
++    # Including no sysroot.
++    func_replace_sysroot_result=$1
++    ;;
++  esac
++}
++
++# func_infer_tag arg
++# Infer tagged configuration to use if any are available and
++# if one wasn't chosen via the "--tag" command line option.
++# Only attempt this if the compiler in the base compile
++# command doesn't match the default compiler.
++# arg is usually of the form 'gcc ...'
++func_infer_tag ()
++{
++    $opt_debug
++    if test -n "$available_tags" && test -z "$tagname"; then
++      CC_quoted=
++      for arg in $CC; do
++	func_append_quoted CC_quoted "$arg"
++      done
++      CC_expanded=`func_echo_all $CC`
++      CC_quoted_expanded=`func_echo_all $CC_quoted`
++      case $@ in
++      # Blanks in the command may have been stripped by the calling shell,
++      # but not from the CC environment variable when configure was run.
++      " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
++      " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
++      # Blanks at the start of $base_compile will cause this to fail
++      # if we don't check for them as well.
++      *)
++	for z in $available_tags; do
++	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
++	    # Evaluate the configuration.
++	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
++	    CC_quoted=
++	    for arg in $CC; do
++	      # Double-quote args containing other shell metacharacters.
++	      func_append_quoted CC_quoted "$arg"
++	    done
++	    CC_expanded=`func_echo_all $CC`
++	    CC_quoted_expanded=`func_echo_all $CC_quoted`
++	    case "$@ " in
++	    " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
++	    " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
++	      # The compiler in the base compile command matches
++	      # the one in the tagged configuration.
++	      # Assume this is the tagged configuration we want.
++	      tagname=$z
++	      break
++	      ;;
++	    esac
++	  fi
++	done
++	# If $tagname still isn't set, then no tagged configuration
++	# was found and let the user know that the "--tag" command
++	# line option must be used.
++	if test -z "$tagname"; then
++	  func_echo "unable to infer tagged configuration"
++	  func_fatal_error "specify a tag with \`--tag'"
++#	else
++#	  func_verbose "using $tagname tagged configuration"
++	fi
++	;;
++      esac
++    fi
++}
++
++
++
++# func_write_libtool_object output_name pic_name nonpic_name
++# Create a libtool object file (analogous to a ".la" file),
++# but don't create it if we're doing a dry run.
++func_write_libtool_object ()
++{
++    write_libobj=${1}
++    if test "$build_libtool_libs" = yes; then
++      write_lobj=\'${2}\'
++    else
++      write_lobj=none
++    fi
++
++    if test "$build_old_libs" = yes; then
++      write_oldobj=\'${3}\'
++    else
++      write_oldobj=none
++    fi
++
++    $opt_dry_run || {
++      cat >${write_libobj}T <<EOF
++# $write_libobj - a libtool object file
++# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
++#
++# Please DO NOT delete this file!
++# It is necessary for linking the library.
++
++# Name of the PIC object.
++pic_object=$write_lobj
++
++# Name of the non-PIC object
++non_pic_object=$write_oldobj
++
++EOF
++      $MV "${write_libobj}T" "${write_libobj}"
++    }
++}
++
++
++##################################################
++# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
++##################################################
++
++# func_convert_core_file_wine_to_w32 ARG
++# Helper function used by file name conversion functions when $build is *nix,
++# and $host is mingw, cygwin, or some other w32 environment. Relies on a
++# correctly configured wine environment available, with the winepath program
++# in $build's $PATH.
++#
++# ARG is the $build file name to be converted to w32 format.
++# Result is available in $func_convert_core_file_wine_to_w32_result, and will
++# be empty on error (or when ARG is empty)
++func_convert_core_file_wine_to_w32 ()
++{
++  $opt_debug
++  func_convert_core_file_wine_to_w32_result="$1"
++  if test -n "$1"; then
++    # Unfortunately, winepath does not exit with a non-zero error code, so we
++    # are forced to check the contents of stdout. On the other hand, if the
++    # command is not found, the shell will set an exit code of 127 and print
++    # *an error message* to stdout. So we must check for both error code of
++    # zero AND non-empty stdout, which explains the odd construction:
++    func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
++    if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
++      func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
++        $SED -e "$lt_sed_naive_backslashify"`
++    else
++      func_convert_core_file_wine_to_w32_result=
++    fi
++  fi
++}
++# end: func_convert_core_file_wine_to_w32
++
++
++# func_convert_core_path_wine_to_w32 ARG
++# Helper function used by path conversion functions when $build is *nix, and
++# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
++# configured wine environment available, with the winepath program in $build's
++# $PATH. Assumes ARG has no leading or trailing path separator characters.
++#
++# ARG is path to be converted from $build format to win32.
++# Result is available in $func_convert_core_path_wine_to_w32_result.
++# Unconvertible file (directory) names in ARG are skipped; if no directory names
++# are convertible, then the result may be empty.
++func_convert_core_path_wine_to_w32 ()
++{
++  $opt_debug
++  # unfortunately, winepath doesn't convert paths, only file names
++  func_convert_core_path_wine_to_w32_result=""
++  if test -n "$1"; then
++    oldIFS=$IFS
++    IFS=:
++    for func_convert_core_path_wine_to_w32_f in $1; do
++      IFS=$oldIFS
++      func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
++      if test -n "$func_convert_core_file_wine_to_w32_result" ; then
++        if test -z "$func_convert_core_path_wine_to_w32_result"; then
++          func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
++        else
++          func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
++        fi
++      fi
++    done
++    IFS=$oldIFS
++  fi
++}
++# end: func_convert_core_path_wine_to_w32
++
++
++# func_cygpath ARGS...
++# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
++# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
++# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
++# (2), returns the Cygwin file name or path in func_cygpath_result (input
++# file name or path is assumed to be in w32 format, as previously converted
++# from $build's *nix or MSYS format). In case (3), returns the w32 file name
++# or path in func_cygpath_result (input file name or path is assumed to be in
++# Cygwin format). Returns an empty string on error.
++#
++# ARGS are passed to cygpath, with the last one being the file name or path to
++# be converted.
++#
++# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
++# environment variable; do not put it in $PATH.
++func_cygpath ()
++{
++  $opt_debug
++  if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
++    func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
++    if test "$?" -ne 0; then
++      # on failure, ensure result is empty
++      func_cygpath_result=
++    fi
++  else
++    func_cygpath_result=
++    func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
++  fi
++}
++#end: func_cygpath
++
++
++# func_convert_core_msys_to_w32 ARG
++# Convert file name or path ARG from MSYS format to w32 format.  Return
++# result in func_convert_core_msys_to_w32_result.
++func_convert_core_msys_to_w32 ()
++{
++  $opt_debug
++  # awkward: cmd appends spaces to result
++  func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
++    $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
++}
++#end: func_convert_core_msys_to_w32
++
++
++# func_convert_file_check ARG1 ARG2
++# Verify that ARG1 (a file name in $build format) was converted to $host
++# format in ARG2. Otherwise, emit an error message, but continue (resetting
++# func_to_host_file_result to ARG1).
++func_convert_file_check ()
++{
++  $opt_debug
++  if test -z "$2" && test -n "$1" ; then
++    func_error "Could not determine host file name corresponding to"
++    func_error "  \`$1'"
++    func_error "Continuing, but uninstalled executables may not work."
++    # Fallback:
++    func_to_host_file_result="$1"
++  fi
++}
++# end func_convert_file_check
++
++
++# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
++# Verify that FROM_PATH (a path in $build format) was converted to $host
++# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
++# func_to_host_file_result to a simplistic fallback value (see below).
++func_convert_path_check ()
++{
++  $opt_debug
++  if test -z "$4" && test -n "$3"; then
++    func_error "Could not determine the host path corresponding to"
++    func_error "  \`$3'"
++    func_error "Continuing, but uninstalled executables may not work."
++    # Fallback.  This is a deliberately simplistic "conversion" and
++    # should not be "improved".  See libtool.info.
++    if test "x$1" != "x$2"; then
++      lt_replace_pathsep_chars="s|$1|$2|g"
++      func_to_host_path_result=`echo "$3" |
++        $SED -e "$lt_replace_pathsep_chars"`
++    else
++      func_to_host_path_result="$3"
++    fi
++  fi
++}
++# end func_convert_path_check
++
++
++# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
++# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
++# and appending REPL if ORIG matches BACKPAT.
++func_convert_path_front_back_pathsep ()
++{
++  $opt_debug
++  case $4 in
++  $1 ) func_to_host_path_result="$3$func_to_host_path_result"
++    ;;
++  esac
++  case $4 in
++  $2 ) func_append func_to_host_path_result "$3"
++    ;;
++  esac
++}
++# end func_convert_path_front_back_pathsep
++
++
++##################################################
++# $build to $host FILE NAME CONVERSION FUNCTIONS #
++##################################################
++# invoked via `$to_host_file_cmd ARG'
++#
++# In each case, ARG is the path to be converted from $build to $host format.
++# Result will be available in $func_to_host_file_result.
++
++
++# func_to_host_file ARG
++# Converts the file name ARG from $build format to $host format. Return result
++# in func_to_host_file_result.
++func_to_host_file ()
++{
++  $opt_debug
++  $to_host_file_cmd "$1"
++}
++# end func_to_host_file
++
++
++# func_to_tool_file ARG LAZY
++# converts the file name ARG from $build format to toolchain format. Return
++# result in func_to_tool_file_result.  If the conversion in use is listed
++# in (the comma separated) LAZY, no conversion takes place.
++func_to_tool_file ()
++{
++  $opt_debug
++  case ,$2, in
++    *,"$to_tool_file_cmd",*)
++      func_to_tool_file_result=$1
++      ;;
++    *)
++      $to_tool_file_cmd "$1"
++      func_to_tool_file_result=$func_to_host_file_result
++      ;;
++  esac
++}
++# end func_to_tool_file
++
++
++# func_convert_file_noop ARG
++# Copy ARG to func_to_host_file_result.
++func_convert_file_noop ()
++{
++  func_to_host_file_result="$1"
++}
++# end func_convert_file_noop
++
++
++# func_convert_file_msys_to_w32 ARG
++# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
++# conversion to w32 is not available inside the cwrapper.  Returns result in
++# func_to_host_file_result.
++func_convert_file_msys_to_w32 ()
++{
++  $opt_debug
++  func_to_host_file_result="$1"
++  if test -n "$1"; then
++    func_convert_core_msys_to_w32 "$1"
++    func_to_host_file_result="$func_convert_core_msys_to_w32_result"
++  fi
++  func_convert_file_check "$1" "$func_to_host_file_result"
++}
++# end func_convert_file_msys_to_w32
++
++
++# func_convert_file_cygwin_to_w32 ARG
++# Convert file name ARG from Cygwin to w32 format.  Returns result in
++# func_to_host_file_result.
++func_convert_file_cygwin_to_w32 ()
++{
++  $opt_debug
++  func_to_host_file_result="$1"
++  if test -n "$1"; then
++    # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
++    # LT_CYGPATH in this case.
++    func_to_host_file_result=`cygpath -m "$1"`
++  fi
++  func_convert_file_check "$1" "$func_to_host_file_result"
++}
++# end func_convert_file_cygwin_to_w32
++
++
++# func_convert_file_nix_to_w32 ARG
++# Convert file name ARG from *nix to w32 format.  Requires a wine environment
++# and a working winepath. Returns result in func_to_host_file_result.
++func_convert_file_nix_to_w32 ()
++{
++  $opt_debug
++  func_to_host_file_result="$1"
++  if test -n "$1"; then
++    func_convert_core_file_wine_to_w32 "$1"
++    func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
++  fi
++  func_convert_file_check "$1" "$func_to_host_file_result"
++}
++# end func_convert_file_nix_to_w32
++
++
++# func_convert_file_msys_to_cygwin ARG
++# Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
++# Returns result in func_to_host_file_result.
++func_convert_file_msys_to_cygwin ()
++{
++  $opt_debug
++  func_to_host_file_result="$1"
++  if test -n "$1"; then
++    func_convert_core_msys_to_w32 "$1"
++    func_cygpath -u "$func_convert_core_msys_to_w32_result"
++    func_to_host_file_result="$func_cygpath_result"
++  fi
++  func_convert_file_check "$1" "$func_to_host_file_result"
++}
++# end func_convert_file_msys_to_cygwin
++
++
++# func_convert_file_nix_to_cygwin ARG
++# Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
++# in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
++# in func_to_host_file_result.
++func_convert_file_nix_to_cygwin ()
++{
++  $opt_debug
++  func_to_host_file_result="$1"
++  if test -n "$1"; then
++    # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
++    func_convert_core_file_wine_to_w32 "$1"
++    func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
++    func_to_host_file_result="$func_cygpath_result"
++  fi
++  func_convert_file_check "$1" "$func_to_host_file_result"
++}
++# end func_convert_file_nix_to_cygwin
++
++
++#############################################
++# $build to $host PATH CONVERSION FUNCTIONS #
++#############################################
++# invoked via `$to_host_path_cmd ARG'
++#
++# In each case, ARG is the path to be converted from $build to $host format.
++# The result will be available in $func_to_host_path_result.
++#
++# Path separators are also converted from $build format to $host format.  If
++# ARG begins or ends with a path separator character, it is preserved (but
++# converted to $host format) on output.
++#
++# All path conversion functions are named using the following convention:
++#   file name conversion function    : func_convert_file_X_to_Y ()
++#   path conversion function         : func_convert_path_X_to_Y ()
++# where, for any given $build/$host combination the 'X_to_Y' value is the
++# same.  If conversion functions are added for new $build/$host combinations,
++# the two new functions must follow this pattern, or func_init_to_host_path_cmd
++# will break.
++
++
++# func_init_to_host_path_cmd
++# Ensures that function "pointer" variable $to_host_path_cmd is set to the
++# appropriate value, based on the value of $to_host_file_cmd.
++to_host_path_cmd=
++func_init_to_host_path_cmd ()
++{
++  $opt_debug
++  if test -z "$to_host_path_cmd"; then
++    func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
++    to_host_path_cmd="func_convert_path_${func_stripname_result}"
++  fi
++}
++
++
++# func_to_host_path ARG
++# Converts the path ARG from $build format to $host format. Return result
++# in func_to_host_path_result.
++func_to_host_path ()
++{
++  $opt_debug
++  func_init_to_host_path_cmd
++  $to_host_path_cmd "$1"
++}
++# end func_to_host_path
++
++
++# func_convert_path_noop ARG
++# Copy ARG to func_to_host_path_result.
++func_convert_path_noop ()
++{
++  func_to_host_path_result="$1"
++}
++# end func_convert_path_noop
++
++
++# func_convert_path_msys_to_w32 ARG
++# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
++# conversion to w32 is not available inside the cwrapper.  Returns result in
++# func_to_host_path_result.
++func_convert_path_msys_to_w32 ()
++{
++  $opt_debug
++  func_to_host_path_result="$1"
++  if test -n "$1"; then
++    # Remove leading and trailing path separator characters from ARG.  MSYS
++    # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
++    # and winepath ignores them completely.
++    func_stripname : : "$1"
++    func_to_host_path_tmp1=$func_stripname_result
++    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
++    func_to_host_path_result="$func_convert_core_msys_to_w32_result"
++    func_convert_path_check : ";" \
++      "$func_to_host_path_tmp1" "$func_to_host_path_result"
++    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
++  fi
++}
++# end func_convert_path_msys_to_w32
++
++
++# func_convert_path_cygwin_to_w32 ARG
++# Convert path ARG from Cygwin to w32 format.  Returns result in
++# func_to_host_file_result.
++func_convert_path_cygwin_to_w32 ()
++{
++  $opt_debug
++  func_to_host_path_result="$1"
++  if test -n "$1"; then
++    # See func_convert_path_msys_to_w32:
++    func_stripname : : "$1"
++    func_to_host_path_tmp1=$func_stripname_result
++    func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
++    func_convert_path_check : ";" \
++      "$func_to_host_path_tmp1" "$func_to_host_path_result"
++    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
++  fi
++}
++# end func_convert_path_cygwin_to_w32
++
++
++# func_convert_path_nix_to_w32 ARG
++# Convert path ARG from *nix to w32 format.  Requires a wine environment and
++# a working winepath.  Returns result in func_to_host_file_result.
++func_convert_path_nix_to_w32 ()
++{
++  $opt_debug
++  func_to_host_path_result="$1"
++  if test -n "$1"; then
++    # See func_convert_path_msys_to_w32:
++    func_stripname : : "$1"
++    func_to_host_path_tmp1=$func_stripname_result
++    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
++    func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
++    func_convert_path_check : ";" \
++      "$func_to_host_path_tmp1" "$func_to_host_path_result"
++    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
++  fi
++}
++# end func_convert_path_nix_to_w32
++
++
++# func_convert_path_msys_to_cygwin ARG
++# Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
++# Returns result in func_to_host_file_result.
++func_convert_path_msys_to_cygwin ()
++{
++  $opt_debug
++  func_to_host_path_result="$1"
++  if test -n "$1"; then
++    # See func_convert_path_msys_to_w32:
++    func_stripname : : "$1"
++    func_to_host_path_tmp1=$func_stripname_result
++    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
++    func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
++    func_to_host_path_result="$func_cygpath_result"
++    func_convert_path_check : : \
++      "$func_to_host_path_tmp1" "$func_to_host_path_result"
++    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
++  fi
++}
++# end func_convert_path_msys_to_cygwin
++
++
++# func_convert_path_nix_to_cygwin ARG
++# Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
++# a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
++# func_to_host_file_result.
++func_convert_path_nix_to_cygwin ()
++{
++  $opt_debug
++  func_to_host_path_result="$1"
++  if test -n "$1"; then
++    # Remove leading and trailing path separator characters from
++    # ARG. msys behavior is inconsistent here, cygpath turns them
++    # into '.;' and ';.', and winepath ignores them completely.
++    func_stripname : : "$1"
++    func_to_host_path_tmp1=$func_stripname_result
++    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
++    func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
++    func_to_host_path_result="$func_cygpath_result"
++    func_convert_path_check : : \
++      "$func_to_host_path_tmp1" "$func_to_host_path_result"
++    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
++  fi
++}
++# end func_convert_path_nix_to_cygwin
++
++
++# func_mode_compile arg...
++func_mode_compile ()
++{
++    $opt_debug
++    # Get the compilation command and the source file.
++    base_compile=
++    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
++    suppress_opt=yes
++    suppress_output=
++    arg_mode=normal
++    libobj=
++    later=
++    pie_flag=
++
++    for arg
++    do
++      case $arg_mode in
++      arg  )
++	# do not "continue".  Instead, add this to base_compile
++	lastarg="$arg"
++	arg_mode=normal
++	;;
++
++      target )
++	libobj="$arg"
++	arg_mode=normal
++	continue
++	;;
++
++      normal )
++	# Accept any command-line options.
++	case $arg in
++	-o)
++	  test -n "$libobj" && \
++	    func_fatal_error "you cannot specify \`-o' more than once"
++	  arg_mode=target
++	  continue
++	  ;;
++
++	-pie | -fpie | -fPIE)
++          func_append pie_flag " $arg"
++	  continue
++	  ;;
++
++	-shared | -static | -prefer-pic | -prefer-non-pic)
++	  func_append later " $arg"
++	  continue
++	  ;;
++
++	-no-suppress)
++	  suppress_opt=no
++	  continue
++	  ;;
++
++	-Xcompiler)
++	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
++	  continue      #  The current "srcfile" will either be retained or
++	  ;;            #  replaced later.  I would guess that would be a bug.
++
++	-Wc,*)
++	  func_stripname '-Wc,' '' "$arg"
++	  args=$func_stripname_result
++	  lastarg=
++	  save_ifs="$IFS"; IFS=','
++	  for arg in $args; do
++	    IFS="$save_ifs"
++	    func_append_quoted lastarg "$arg"
++	  done
++	  IFS="$save_ifs"
++	  func_stripname ' ' '' "$lastarg"
++	  lastarg=$func_stripname_result
++
++	  # Add the arguments to base_compile.
++	  func_append base_compile " $lastarg"
++	  continue
++	  ;;
++
++	*)
++	  # Accept the current argument as the source file.
++	  # The previous "srcfile" becomes the current argument.
++	  #
++	  lastarg="$srcfile"
++	  srcfile="$arg"
++	  ;;
++	esac  #  case $arg
++	;;
++      esac    #  case $arg_mode
++
++      # Aesthetically quote the previous argument.
++      func_append_quoted base_compile "$lastarg"
++    done # for arg
++
++    case $arg_mode in
++    arg)
++      func_fatal_error "you must specify an argument for -Xcompile"
++      ;;
++    target)
++      func_fatal_error "you must specify a target with \`-o'"
++      ;;
++    *)
++      # Get the name of the library object.
++      test -z "$libobj" && {
++	func_basename "$srcfile"
++	libobj="$func_basename_result"
++      }
++      ;;
++    esac
++
++    # Recognize several different file suffixes.
++    # If the user specifies -o file.o, it is replaced with file.lo
++    case $libobj in
++    *.[cCFSifmso] | \
++    *.ada | *.adb | *.ads | *.asm | \
++    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
++    *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
++      func_xform "$libobj"
++      libobj=$func_xform_result
++      ;;
++    esac
++
++    case $libobj in
++    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
++    *)
++      func_fatal_error "cannot determine name of library object from \`$libobj'"
++      ;;
++    esac
++
++    func_infer_tag $base_compile
++
++    for arg in $later; do
++      case $arg in
++      -shared)
++	test "$build_libtool_libs" != yes && \
++	  func_fatal_configuration "can not build a shared library"
++	build_old_libs=no
++	continue
++	;;
++
++      -static)
++	build_libtool_libs=no
++	build_old_libs=yes
++	continue
++	;;
++
++      -prefer-pic)
++	pic_mode=yes
++	continue
++	;;
++
++      -prefer-non-pic)
++	pic_mode=no
++	continue
++	;;
++      esac
++    done
++
++    func_quote_for_eval "$libobj"
++    test "X$libobj" != "X$func_quote_for_eval_result" \
++      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
++      && func_warning "libobj name \`$libobj' may not contain shell special characters."
++    func_dirname_and_basename "$obj" "/" ""
++    objname="$func_basename_result"
++    xdir="$func_dirname_result"
++    lobj=${xdir}$objdir/$objname
++
++    test -z "$base_compile" && \
++      func_fatal_help "you must specify a compilation command"
++
++    # Delete any leftover library objects.
++    if test "$build_old_libs" = yes; then
++      removelist="$obj $lobj $libobj ${libobj}T"
++    else
++      removelist="$lobj $libobj ${libobj}T"
++    fi
++
++    # On Cygwin there's no "real" PIC flag so we must build both object types
++    case $host_os in
++    cygwin* | mingw* | pw32* | os2* | cegcc*)
++      pic_mode=default
++      ;;
++    esac
++    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
++      # non-PIC code in shared libraries is not supported
++      pic_mode=default
++    fi
++
++    # Calculate the filename of the output object if compiler does
++    # not support -o with -c
++    if test "$compiler_c_o" = no; then
++      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
++      lockfile="$output_obj.lock"
++    else
++      output_obj=
++      need_locks=no
++      lockfile=
++    fi
++
++    # Lock this critical section if it is needed
++    # We use this script file to make the link, it avoids creating a new file
++    if test "$need_locks" = yes; then
++      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
++	func_echo "Waiting for $lockfile to be removed"
++	sleep 2
++      done
++    elif test "$need_locks" = warn; then
++      if test -f "$lockfile"; then
++	$ECHO "\
++*** ERROR, $lockfile exists and contains:
++`cat $lockfile 2>/dev/null`
++
++This indicates that another process is trying to use the same
++temporary object file, and libtool could not work around it because
++your compiler does not support \`-c' and \`-o' together.  If you
++repeat this compilation, it may succeed, by chance, but you had better
++avoid parallel builds (make -j) in this platform, or get a better
++compiler."
++
++	$opt_dry_run || $RM $removelist
++	exit $EXIT_FAILURE
++      fi
++      func_append removelist " $output_obj"
++      $ECHO "$srcfile" > "$lockfile"
++    fi
++
++    $opt_dry_run || $RM $removelist
++    func_append removelist " $lockfile"
++    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
++
++    func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
++    srcfile=$func_to_tool_file_result
++    func_quote_for_eval "$srcfile"
++    qsrcfile=$func_quote_for_eval_result
++
++    # Only build a PIC object if we are building libtool libraries.
++    if test "$build_libtool_libs" = yes; then
++      # Without this assignment, base_compile gets emptied.
++      fbsd_hideous_sh_bug=$base_compile
++
++      if test "$pic_mode" != no; then
++	command="$base_compile $qsrcfile $pic_flag"
++      else
++	# Don't build PIC code
++	command="$base_compile $qsrcfile"
++      fi
++
++      func_mkdir_p "$xdir$objdir"
++
++      if test -z "$output_obj"; then
++	# Place PIC objects in $objdir
++	func_append command " -o $lobj"
++      fi
++
++      func_show_eval_locale "$command"	\
++          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
++
++      if test "$need_locks" = warn &&
++	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
++	$ECHO "\
++*** ERROR, $lockfile contains:
++`cat $lockfile 2>/dev/null`
++
++but it should contain:
++$srcfile
++
++This indicates that another process is trying to use the same
++temporary object file, and libtool could not work around it because
++your compiler does not support \`-c' and \`-o' together.  If you
++repeat this compilation, it may succeed, by chance, but you had better
++avoid parallel builds (make -j) in this platform, or get a better
++compiler."
++
++	$opt_dry_run || $RM $removelist
++	exit $EXIT_FAILURE
++      fi
++
++      # Just move the object if needed, then go on to compile the next one
++      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
++	func_show_eval '$MV "$output_obj" "$lobj"' \
++	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
++      fi
++
++      # Allow error messages only from the first compilation.
++      if test "$suppress_opt" = yes; then
++	suppress_output=' >/dev/null 2>&1'
++      fi
++    fi
++
++    # Only build a position-dependent object if we build old libraries.
++    if test "$build_old_libs" = yes; then
++      if test "$pic_mode" != yes; then
++	# Don't build PIC code
++	command="$base_compile $qsrcfile$pie_flag"
++      else
++	command="$base_compile $qsrcfile $pic_flag"
++      fi
++      if test "$compiler_c_o" = yes; then
++	func_append command " -o $obj"
++      fi
++
++      # Suppress compiler output if we already did a PIC compilation.
++      func_append command "$suppress_output"
++      func_show_eval_locale "$command" \
++        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
++
++      if test "$need_locks" = warn &&
++	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
++	$ECHO "\
++*** ERROR, $lockfile contains:
++`cat $lockfile 2>/dev/null`
++
++but it should contain:
++$srcfile
++
++This indicates that another process is trying to use the same
++temporary object file, and libtool could not work around it because
++your compiler does not support \`-c' and \`-o' together.  If you
++repeat this compilation, it may succeed, by chance, but you had better
++avoid parallel builds (make -j) in this platform, or get a better
++compiler."
++
++	$opt_dry_run || $RM $removelist
++	exit $EXIT_FAILURE
++      fi
++
++      # Just move the object if needed
++      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
++	func_show_eval '$MV "$output_obj" "$obj"' \
++	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
++      fi
++    fi
++
++    $opt_dry_run || {
++      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
++
++      # Unlock the critical section if it was locked
++      if test "$need_locks" != no; then
++	removelist=$lockfile
++        $RM "$lockfile"
++      fi
++    }
++
++    exit $EXIT_SUCCESS
++}
++
++$opt_help || {
++  test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
++}
++
++func_mode_help ()
++{
++    # We need to display help for each of the modes.
++    case $opt_mode in
++      "")
++        # Generic help is extracted from the usage comments
++        # at the start of this file.
++        func_help
++        ;;
++
++      clean)
++        $ECHO \
++"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
++
++Remove files from the build directory.
++
++RM is the name of the program to use to delete files associated with each FILE
++(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
++to RM.
++
++If FILE is a libtool library, object or program, all the files associated
++with it are deleted. Otherwise, only FILE itself is deleted using RM."
++        ;;
++
++      compile)
++      $ECHO \
++"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
++
++Compile a source file into a libtool library object.
++
++This mode accepts the following additional options:
++
++  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
++  -no-suppress      do not suppress compiler output for multiple passes
++  -prefer-pic       try to build PIC objects only
++  -prefer-non-pic   try to build non-PIC objects only
++  -shared           do not build a \`.o' file suitable for static linking
++  -static           only build a \`.o' file suitable for static linking
++  -Wc,FLAG          pass FLAG directly to the compiler
++
++COMPILE-COMMAND is a command to be used in creating a \`standard' object file
++from the given SOURCEFILE.
++
++The output file name is determined by removing the directory component from
++SOURCEFILE, then substituting the C source code suffix \`.c' with the
++library object suffix, \`.lo'."
++        ;;
++
++      execute)
++        $ECHO \
++"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
++
++Automatically set library path, then run a program.
++
++This mode accepts the following additional options:
++
++  -dlopen FILE      add the directory containing FILE to the library path
++
++This mode sets the library path environment variable according to \`-dlopen'
++flags.
++
++If any of the ARGS are libtool executable wrappers, then they are translated
++into their corresponding uninstalled binary, and any of their required library
++directories are added to the library path.
++
++Then, COMMAND is executed, with ARGS as arguments."
++        ;;
++
++      finish)
++        $ECHO \
++"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
++
++Complete the installation of libtool libraries.
++
++Each LIBDIR is a directory that contains libtool libraries.
++
++The commands that this mode executes may require superuser privileges.  Use
++the \`--dry-run' option if you just want to see what would be executed."
++        ;;
++
++      install)
++        $ECHO \
++"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
++
++Install executables or libraries.
++
++INSTALL-COMMAND is the installation command.  The first component should be
++either the \`install' or \`cp' program.
++
++The following components of INSTALL-COMMAND are treated specially:
++
++  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
++
++The rest of the components are interpreted as arguments to that command (only
++BSD-compatible install options are recognized)."
++        ;;
++
++      link)
++        $ECHO \
++"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
++
++Link object files or libraries together to form another library, or to
++create an executable program.
++
++LINK-COMMAND is a command using the C compiler that you would use to create
++a program from several object files.
++
++The following components of LINK-COMMAND are treated specially:
++
++  -all-static       do not do any dynamic linking at all
++  -avoid-version    do not add a version suffix if possible
++  -bindir BINDIR    specify path to binaries directory (for systems where
++                    libraries must be found in the PATH setting at runtime)
++  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
++  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
++  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
++  -export-symbols SYMFILE
++                    try to export only the symbols listed in SYMFILE
++  -export-symbols-regex REGEX
++                    try to export only the symbols matching REGEX
++  -LLIBDIR          search LIBDIR for required installed libraries
++  -lNAME            OUTPUT-FILE requires the installed library libNAME
++  -module           build a library that can dlopened
++  -no-fast-install  disable the fast-install mode
++  -no-install       link a not-installable executable
++  -no-undefined     declare that a library does not refer to external symbols
++  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
++  -objectlist FILE  Use a list of object files found in FILE to specify objects
++  -precious-files-regex REGEX
++                    don't remove output files matching REGEX
++  -release RELEASE  specify package release information
++  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
++  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
++  -shared           only do dynamic linking of libtool libraries
++  -shrext SUFFIX    override the standard shared library file extension
++  -static           do not do any dynamic linking of uninstalled libtool libraries
++  -static-libtool-libs
++                    do not do any dynamic linking of libtool libraries
++  -version-info CURRENT[:REVISION[:AGE]]
++                    specify library version info [each variable defaults to 0]
++  -weak LIBNAME     declare that the target provides the LIBNAME interface
++  -Wc,FLAG
++  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
++  -Wl,FLAG
++  -Xlinker FLAG     pass linker-specific FLAG directly to the linker
++  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
++
++All other options (arguments beginning with \`-') are ignored.
++
++Every other argument is treated as a filename.  Files ending in \`.la' are
++treated as uninstalled libtool libraries, other files are standard or library
++object files.
++
++If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
++only library objects (\`.lo' files) may be specified, and \`-rpath' is
++required, except when creating a convenience library.
++
++If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
++using \`ar' and \`ranlib', or on Windows using \`lib'.
++
++If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
++is created, otherwise an executable program is created."
++        ;;
++
++      uninstall)
++        $ECHO \
++"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
++
++Remove libraries from an installation directory.
++
++RM is the name of the program to use to delete files associated with each FILE
++(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
++to RM.
++
++If FILE is a libtool library, all the files associated with it are deleted.
++Otherwise, only FILE itself is deleted using RM."
++        ;;
++
++      *)
++        func_fatal_help "invalid operation mode \`$opt_mode'"
++        ;;
++    esac
++
++    echo
++    $ECHO "Try \`$progname --help' for more information about other modes."
++}
++
++# Now that we've collected a possible --mode arg, show help if necessary
++if $opt_help; then
++  if test "$opt_help" = :; then
++    func_mode_help
++  else
++    {
++      func_help noexit
++      for opt_mode in compile link execute install finish uninstall clean; do
++	func_mode_help
++      done
++    } | sed -n '1p; 2,$s/^Usage:/  or: /p'
++    {
++      func_help noexit
++      for opt_mode in compile link execute install finish uninstall clean; do
++	echo
++	func_mode_help
++      done
++    } |
++    sed '1d
++      /^When reporting/,/^Report/{
++	H
++	d
++      }
++      $x
++      /information about other modes/d
++      /more detailed .*MODE/d
++      s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
++  fi
++  exit $?
++fi
++
++
++# func_mode_execute arg...
++func_mode_execute ()
++{
++    $opt_debug
++    # The first argument is the command name.
++    cmd="$nonopt"
++    test -z "$cmd" && \
++      func_fatal_help "you must specify a COMMAND"
++
++    # Handle -dlopen flags immediately.
++    for file in $opt_dlopen; do
++      test -f "$file" \
++	|| func_fatal_help "\`$file' is not a file"
++
++      dir=
++      case $file in
++      *.la)
++	func_resolve_sysroot "$file"
++	file=$func_resolve_sysroot_result
++
++	# Check to see that this really is a libtool archive.
++	func_lalib_unsafe_p "$file" \
++	  || func_fatal_help "\`$lib' is not a valid libtool archive"
++
++	# Read the libtool library.
++	dlname=
++	library_names=
++	func_source "$file"
++
++	# Skip this library if it cannot be dlopened.
++	if test -z "$dlname"; then
++	  # Warn if it was a shared library.
++	  test -n "$library_names" && \
++	    func_warning "\`$file' was not linked with \`-export-dynamic'"
++	  continue
++	fi
++
++	func_dirname "$file" "" "."
++	dir="$func_dirname_result"
++
++	if test -f "$dir/$objdir/$dlname"; then
++	  func_append dir "/$objdir"
++	else
++	  if test ! -f "$dir/$dlname"; then
++	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
++	  fi
++	fi
++	;;
++
++      *.lo)
++	# Just add the directory containing the .lo file.
++	func_dirname "$file" "" "."
++	dir="$func_dirname_result"
++	;;
++
++      *)
++	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
++	continue
++	;;
++      esac
++
++      # Get the absolute pathname.
++      absdir=`cd "$dir" && pwd`
++      test -n "$absdir" && dir="$absdir"
++
++      # Now add the directory to shlibpath_var.
++      if eval "test -z \"\$$shlibpath_var\""; then
++	eval "$shlibpath_var=\"\$dir\""
++      else
++	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
++      fi
++    done
++
++    # This variable tells wrapper scripts just to set shlibpath_var
++    # rather than running their programs.
++    libtool_execute_magic="$magic"
++
++    # Check if any of the arguments is a wrapper script.
++    args=
++    for file
++    do
++      case $file in
++      -* | *.la | *.lo ) ;;
++      *)
++	# Do a test to see if this is really a libtool program.
++	if func_ltwrapper_script_p "$file"; then
++	  func_source "$file"
++	  # Transform arg to wrapped name.
++	  file="$progdir/$program"
++	elif func_ltwrapper_executable_p "$file"; then
++	  func_ltwrapper_scriptname "$file"
++	  func_source "$func_ltwrapper_scriptname_result"
++	  # Transform arg to wrapped name.
++	  file="$progdir/$program"
++	fi
++	;;
++      esac
++      # Quote arguments (to preserve shell metacharacters).
++      func_append_quoted args "$file"
++    done
++
++    if test "X$opt_dry_run" = Xfalse; then
++      if test -n "$shlibpath_var"; then
++	# Export the shlibpath_var.
++	eval "export $shlibpath_var"
++      fi
++
++      # Restore saved environment variables
++      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
++      do
++	eval "if test \"\${save_$lt_var+set}\" = set; then
++                $lt_var=\$save_$lt_var; export $lt_var
++	      else
++		$lt_unset $lt_var
++	      fi"
++      done
++
++      # Now prepare to actually exec the command.
++      exec_cmd="\$cmd$args"
++    else
++      # Display what would be done.
++      if test -n "$shlibpath_var"; then
++	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
++	echo "export $shlibpath_var"
++      fi
++      $ECHO "$cmd$args"
++      exit $EXIT_SUCCESS
++    fi
++}
++
++test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
++
++
++# func_mode_finish arg...
++func_mode_finish ()
++{
++    $opt_debug
++    libs=
++    libdirs=
++    admincmds=
++
++    for opt in "$nonopt" ${1+"$@"}
++    do
++      if test -d "$opt"; then
++	func_append libdirs " $opt"
++
++      elif test -f "$opt"; then
++	if func_lalib_unsafe_p "$opt"; then
++	  func_append libs " $opt"
++	else
++	  func_warning "\`$opt' is not a valid libtool archive"
++	fi
++
++      else
++	func_fatal_error "invalid argument \`$opt'"
++      fi
++    done
++
++    if test -n "$libs"; then
++      if test -n "$lt_sysroot"; then
++        sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
++        sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
++      else
++        sysroot_cmd=
++      fi
++
++      # Remove sysroot references
++      if $opt_dry_run; then
++        for lib in $libs; do
++          echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
++        done
++      else
++        tmpdir=`func_mktempdir`
++        for lib in $libs; do
++	  sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
++	    > $tmpdir/tmp-la
++	  mv -f $tmpdir/tmp-la $lib
++	done
++        ${RM}r "$tmpdir"
++      fi
++    fi
++
++    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
++      for libdir in $libdirs; do
++	if test -n "$finish_cmds"; then
++	  # Do each command in the finish commands.
++	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
++'"$cmd"'"'
++	fi
++	if test -n "$finish_eval"; then
++	  # Do the single finish_eval.
++	  eval cmds=\"$finish_eval\"
++	  $opt_dry_run || eval "$cmds" || func_append admincmds "
++       $cmds"
++	fi
++      done
++    fi
++
++    # Exit here if they wanted silent mode.
++    $opt_silent && exit $EXIT_SUCCESS
++
++    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
++      echo "----------------------------------------------------------------------"
++      echo "Libraries have been installed in:"
++      for libdir in $libdirs; do
++	$ECHO "   $libdir"
++      done
++      echo
++      echo "If you ever happen to want to link against installed libraries"
++      echo "in a given directory, LIBDIR, you must either use libtool, and"
++      echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
++      echo "flag during linking and do at least one of the following:"
++      if test -n "$shlibpath_var"; then
++	echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
++	echo "     during execution"
++      fi
++      if test -n "$runpath_var"; then
++	echo "   - add LIBDIR to the \`$runpath_var' environment variable"
++	echo "     during linking"
++      fi
++      if test -n "$hardcode_libdir_flag_spec"; then
++	libdir=LIBDIR
++	eval flag=\"$hardcode_libdir_flag_spec\"
++
++	$ECHO "   - use the \`$flag' linker flag"
++      fi
++      if test -n "$admincmds"; then
++	$ECHO "   - have your system administrator run these commands:$admincmds"
++      fi
++      if test -f /etc/ld.so.conf; then
++	echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
++      fi
++      echo
++
++      echo "See any operating system documentation about shared libraries for"
++      case $host in
++	solaris2.[6789]|solaris2.1[0-9])
++	  echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
++	  echo "pages."
++	  ;;
++	*)
++	  echo "more information, such as the ld(1) and ld.so(8) manual pages."
++	  ;;
++      esac
++      echo "----------------------------------------------------------------------"
++    fi
++    exit $EXIT_SUCCESS
++}
++
++test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
++
++
++# func_mode_install arg...
++func_mode_install ()
++{
++    $opt_debug
++    # There may be an optional sh(1) argument at the beginning of
++    # install_prog (especially on Windows NT).
++    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
++       # Allow the use of GNU shtool's install command.
++       case $nonopt in *shtool*) :;; *) false;; esac; then
++      # Aesthetically quote it.
++      func_quote_for_eval "$nonopt"
++      install_prog="$func_quote_for_eval_result "
++      arg=$1
++      shift
++    else
++      install_prog=
++      arg=$nonopt
++    fi
++
++    # The real first argument should be the name of the installation program.
++    # Aesthetically quote it.
++    func_quote_for_eval "$arg"
++    func_append install_prog "$func_quote_for_eval_result"
++    install_shared_prog=$install_prog
++    case " $install_prog " in
++      *[\\\ /]cp\ *) install_cp=: ;;
++      *) install_cp=false ;;
++    esac
++
++    # We need to accept at least all the BSD install flags.
++    dest=
++    files=
++    opts=
++    prev=
++    install_type=
++    isdir=no
++    stripme=
++    no_mode=:
++    for arg
++    do
++      arg2=
++      if test -n "$dest"; then
++	func_append files " $dest"
++	dest=$arg
++	continue
++      fi
++
++      case $arg in
++      -d) isdir=yes ;;
++      -f)
++	if $install_cp; then :; else
++	  prev=$arg
++	fi
++	;;
++      -g | -m | -o)
++	prev=$arg
++	;;
++      -s)
++	stripme=" -s"
++	continue
++	;;
++      -*)
++	;;
++      *)
++	# If the previous option needed an argument, then skip it.
++	if test -n "$prev"; then
++	  if test "x$prev" = x-m && test -n "$install_override_mode"; then
++	    arg2=$install_override_mode
++	    no_mode=false
++	  fi
++	  prev=
++	else
++	  dest=$arg
++	  continue
++	fi
++	;;
++      esac
++
++      # Aesthetically quote the argument.
++      func_quote_for_eval "$arg"
++      func_append install_prog " $func_quote_for_eval_result"
++      if test -n "$arg2"; then
++	func_quote_for_eval "$arg2"
++      fi
++      func_append install_shared_prog " $func_quote_for_eval_result"
++    done
++
++    test -z "$install_prog" && \
++      func_fatal_help "you must specify an install program"
++
++    test -n "$prev" && \
++      func_fatal_help "the \`$prev' option requires an argument"
++
++    if test -n "$install_override_mode" && $no_mode; then
++      if $install_cp; then :; else
++	func_quote_for_eval "$install_override_mode"
++	func_append install_shared_prog " -m $func_quote_for_eval_result"
++      fi
++    fi
++
++    if test -z "$files"; then
++      if test -z "$dest"; then
++	func_fatal_help "no file or destination specified"
++      else
++	func_fatal_help "you must specify a destination"
++      fi
++    fi
++
++    # Strip any trailing slash from the destination.
++    func_stripname '' '/' "$dest"
++    dest=$func_stripname_result
++
++    # Check to see that the destination is a directory.
++    test -d "$dest" && isdir=yes
++    if test "$isdir" = yes; then
++      destdir="$dest"
++      destname=
++    else
++      func_dirname_and_basename "$dest" "" "."
++      destdir="$func_dirname_result"
++      destname="$func_basename_result"
++
++      # Not a directory, so check to see that there is only one file specified.
++      set dummy $files; shift
++      test "$#" -gt 1 && \
++	func_fatal_help "\`$dest' is not a directory"
++    fi
++    case $destdir in
++    [\\/]* | [A-Za-z]:[\\/]*) ;;
++    *)
++      for file in $files; do
++	case $file in
++	*.lo) ;;
++	*)
++	  func_fatal_help "\`$destdir' must be an absolute directory name"
++	  ;;
++	esac
++      done
++      ;;
++    esac
++
++    # This variable tells wrapper scripts just to set variables rather
++    # than running their programs.
++    libtool_install_magic="$magic"
++
++    staticlibs=
++    future_libdirs=
++    current_libdirs=
++    for file in $files; do
++
++      # Do each installation.
++      case $file in
++      *.$libext)
++	# Do the static libraries later.
++	func_append staticlibs " $file"
++	;;
++
++      *.la)
++	func_resolve_sysroot "$file"
++	file=$func_resolve_sysroot_result
++
++	# Check to see that this really is a libtool archive.
++	func_lalib_unsafe_p "$file" \
++	  || func_fatal_help "\`$file' is not a valid libtool archive"
++
++	library_names=
++	old_library=
++	relink_command=
++	func_source "$file"
++
++	# Add the libdir to current_libdirs if it is the destination.
++	if test "X$destdir" = "X$libdir"; then
++	  case "$current_libdirs " in
++	  *" $libdir "*) ;;
++	  *) func_append current_libdirs " $libdir" ;;
++	  esac
++	else
++	  # Note the libdir as a future libdir.
++	  case "$future_libdirs " in
++	  *" $libdir "*) ;;
++	  *) func_append future_libdirs " $libdir" ;;
++	  esac
++	fi
++
++	func_dirname "$file" "/" ""
++	dir="$func_dirname_result"
++	func_append dir "$objdir"
++
++	if test -n "$relink_command"; then
++	  # Determine the prefix the user has applied to our future dir.
++	  inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
++
++	  # Don't allow the user to place us outside of our expected
++	  # location b/c this prevents finding dependent libraries that
++	  # are installed to the same prefix.
++	  # At present, this check doesn't affect windows .dll's that
++	  # are installed into $libdir/../bin (currently, that works fine)
++	  # but it's something to keep an eye on.
++	  test "$inst_prefix_dir" = "$destdir" && \
++	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
++
++	  if test -n "$inst_prefix_dir"; then
++	    # Stick the inst_prefix_dir data into the link command.
++	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
++	  else
++	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
++	  fi
++
++	  func_warning "relinking \`$file'"
++	  func_show_eval "$relink_command" \
++	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
++	fi
++
++	# See the names of the shared library.
++	set dummy $library_names; shift
++	if test -n "$1"; then
++	  realname="$1"
++	  shift
++
++	  srcname="$realname"
++	  test -n "$relink_command" && srcname="$realname"T
++
++	  # Install the shared library and build the symlinks.
++	  func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
++	      'exit $?'
++	  tstripme="$stripme"
++	  case $host_os in
++	  cygwin* | mingw* | pw32* | cegcc*)
++	    case $realname in
++	    *.dll.a)
++	      tstripme=""
++	      ;;
++	    esac
++	    ;;
++	  esac
++	  if test -n "$tstripme" && test -n "$striplib"; then
++	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
++	  fi
++
++	  if test "$#" -gt 0; then
++	    # Delete the old symlinks, and create new ones.
++	    # Try `ln -sf' first, because the `ln' binary might depend on
++	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
++	    # so we also need to try rm && ln -s.
++	    for linkname
++	    do
++	      test "$linkname" != "$realname" \
++		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
++	    done
++	  fi
++
++	  # Do each command in the postinstall commands.
++	  lib="$destdir/$realname"
++	  func_execute_cmds "$postinstall_cmds" 'exit $?'
++	fi
++
++	# Install the pseudo-library for information purposes.
++	func_basename "$file"
++	name="$func_basename_result"
++	instname="$dir/$name"i
++	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
++
++	# Maybe install the static library, too.
++	test -n "$old_library" && func_append staticlibs " $dir/$old_library"
++	;;
++
++      *.lo)
++	# Install (i.e. copy) a libtool object.
++
++	# Figure out destination file name, if it wasn't already specified.
++	if test -n "$destname"; then
++	  destfile="$destdir/$destname"
++	else
++	  func_basename "$file"
++	  destfile="$func_basename_result"
++	  destfile="$destdir/$destfile"
++	fi
++
++	# Deduce the name of the destination old-style object file.
++	case $destfile in
++	*.lo)
++	  func_lo2o "$destfile"
++	  staticdest=$func_lo2o_result
++	  ;;
++	*.$objext)
++	  staticdest="$destfile"
++	  destfile=
++	  ;;
++	*)
++	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
++	  ;;
++	esac
++
++	# Install the libtool object if requested.
++	test -n "$destfile" && \
++	  func_show_eval "$install_prog $file $destfile" 'exit $?'
++
++	# Install the old object if enabled.
++	if test "$build_old_libs" = yes; then
++	  # Deduce the name of the old-style object file.
++	  func_lo2o "$file"
++	  staticobj=$func_lo2o_result
++	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
++	fi
++	exit $EXIT_SUCCESS
++	;;
++
++      *)
++	# Figure out destination file name, if it wasn't already specified.
++	if test -n "$destname"; then
++	  destfile="$destdir/$destname"
++	else
++	  func_basename "$file"
++	  destfile="$func_basename_result"
++	  destfile="$destdir/$destfile"
++	fi
++
++	# If the file is missing, and there is a .exe on the end, strip it
++	# because it is most likely a libtool script we actually want to
++	# install
++	stripped_ext=""
++	case $file in
++	  *.exe)
++	    if test ! -f "$file"; then
++	      func_stripname '' '.exe' "$file"
++	      file=$func_stripname_result
++	      stripped_ext=".exe"
++	    fi
++	    ;;
++	esac
++
++	# Do a test to see if this is really a libtool program.
++	case $host in
++	*cygwin* | *mingw*)
++	    if func_ltwrapper_executable_p "$file"; then
++	      func_ltwrapper_scriptname "$file"
++	      wrapper=$func_ltwrapper_scriptname_result
++	    else
++	      func_stripname '' '.exe' "$file"
++	      wrapper=$func_stripname_result
++	    fi
++	    ;;
++	*)
++	    wrapper=$file
++	    ;;
++	esac
++	if func_ltwrapper_script_p "$wrapper"; then
++	  notinst_deplibs=
++	  relink_command=
++
++	  func_source "$wrapper"
++
++	  # Check the variables that should have been set.
++	  test -z "$generated_by_libtool_version" && \
++	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"
++
++	  finalize=yes
++	  for lib in $notinst_deplibs; do
++	    # Check to see that each library is installed.
++	    libdir=
++	    if test -f "$lib"; then
++	      func_source "$lib"
++	    fi
++	    libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
++	    if test -n "$libdir" && test ! -f "$libfile"; then
++	      func_warning "\`$lib' has not been installed in \`$libdir'"
++	      finalize=no
++	    fi
++	  done
++
++	  relink_command=
++	  func_source "$wrapper"
++
++	  outputname=
++	  if test "$fast_install" = no && test -n "$relink_command"; then
++	    $opt_dry_run || {
++	      if test "$finalize" = yes; then
++	        tmpdir=`func_mktempdir`
++		func_basename "$file$stripped_ext"
++		file="$func_basename_result"
++	        outputname="$tmpdir/$file"
++	        # Replace the output file specification.
++	        relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
++
++	        $opt_silent || {
++	          func_quote_for_expand "$relink_command"
++		  eval "func_echo $func_quote_for_expand_result"
++	        }
++	        if eval "$relink_command"; then :
++	          else
++		  func_error "error: relink \`$file' with the above command before installing it"
++		  $opt_dry_run || ${RM}r "$tmpdir"
++		  continue
++	        fi
++	        file="$outputname"
++	      else
++	        func_warning "cannot relink \`$file'"
++	      fi
++	    }
++	  else
++	    # Install the binary that we compiled earlier.
++	    file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
++	  fi
++	fi
++
++	# remove .exe since cygwin /usr/bin/install will append another
++	# one anyway
++	case $install_prog,$host in
++	*/usr/bin/install*,*cygwin*)
++	  case $file:$destfile in
++	  *.exe:*.exe)
++	    # this is ok
++	    ;;
++	  *.exe:*)
++	    destfile=$destfile.exe
++	    ;;
++	  *:*.exe)
++	    func_stripname '' '.exe' "$destfile"
++	    destfile=$func_stripname_result
++	    ;;
++	  esac
++	  ;;
++	esac
++	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
++	$opt_dry_run || if test -n "$outputname"; then
++	  ${RM}r "$tmpdir"
++	fi
++	;;
++      esac
++    done
++
++    for file in $staticlibs; do
++      func_basename "$file"
++      name="$func_basename_result"
++
++      # Set up the ranlib parameters.
++      oldlib="$destdir/$name"
++      func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
++      tool_oldlib=$func_to_tool_file_result
++
++      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
++
++      if test -n "$stripme" && test -n "$old_striplib"; then
++	func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
++      fi
++
++      # Do each command in the postinstall commands.
++      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
++    done
++
++    test -n "$future_libdirs" && \
++      func_warning "remember to run \`$progname --finish$future_libdirs'"
++
++    if test -n "$current_libdirs"; then
++      # Maybe just do a dry run.
++      $opt_dry_run && current_libdirs=" -n$current_libdirs"
++      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
++    else
++      exit $EXIT_SUCCESS
++    fi
++}
++
++test "$opt_mode" = install && func_mode_install ${1+"$@"}
++
++
++# func_generate_dlsyms outputname originator pic_p
++# Extract symbols from dlprefiles and create ${outputname}S.o with
++# a dlpreopen symbol table.
++func_generate_dlsyms ()
++{
++    $opt_debug
++    my_outputname="$1"
++    my_originator="$2"
++    my_pic_p="${3-no}"
++    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
++    my_dlsyms=
++
++    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
++      if test -n "$NM" && test -n "$global_symbol_pipe"; then
++	my_dlsyms="${my_outputname}S.c"
++      else
++	func_error "not configured to extract global symbols from dlpreopened files"
++      fi
++    fi
++
++    if test -n "$my_dlsyms"; then
++      case $my_dlsyms in
++      "") ;;
++      *.c)
++	# Discover the nlist of each of the dlfiles.
++	nlist="$output_objdir/${my_outputname}.nm"
++
++	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
++
++	# Parse the name list into a source file.
++	func_verbose "creating $output_objdir/$my_dlsyms"
++
++	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
++/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
++/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
++
++#ifdef __cplusplus
++extern \"C\" {
++#endif
++
++#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
++#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
++#endif
++
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++   relocations are performed -- see ld's documentation on pseudo-relocs.  */
++# define LT_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data.  */
++# define LT_DLSYM_CONST
++#else
++# define LT_DLSYM_CONST const
++#endif
++
++/* External symbol declarations for the compiler. */\
++"
++
++	if test "$dlself" = yes; then
++	  func_verbose "generating symbol list for \`$output'"
++
++	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
++
++	  # Add our own program objects to the symbol list.
++	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
++	  for progfile in $progfiles; do
++	    func_to_tool_file "$progfile" func_convert_file_msys_to_w32
++	    func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
++	    $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
++	  done
++
++	  if test -n "$exclude_expsyms"; then
++	    $opt_dry_run || {
++	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
++	      eval '$MV "$nlist"T "$nlist"'
++	    }
++	  fi
++
++	  if test -n "$export_symbols_regex"; then
++	    $opt_dry_run || {
++	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
++	      eval '$MV "$nlist"T "$nlist"'
++	    }
++	  fi
++
++	  # Prepare the list of exported symbols
++	  if test -z "$export_symbols"; then
++	    export_symbols="$output_objdir/$outputname.exp"
++	    $opt_dry_run || {
++	      $RM $export_symbols
++	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
++	      case $host in
++	      *cygwin* | *mingw* | *cegcc* )
++                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
++                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
++	        ;;
++	      esac
++	    }
++	  else
++	    $opt_dry_run || {
++	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
++	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
++	      eval '$MV "$nlist"T "$nlist"'
++	      case $host in
++	        *cygwin* | *mingw* | *cegcc* )
++	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
++	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
++	          ;;
++	      esac
++	    }
++	  fi
++	fi
++
++	for dlprefile in $dlprefiles; do
++	  func_verbose "extracting global C symbols from \`$dlprefile'"
++	  func_basename "$dlprefile"
++	  name="$func_basename_result"
++          case $host in
++	    *cygwin* | *mingw* | *cegcc* )
++	      # if an import library, we need to obtain dlname
++	      if func_win32_import_lib_p "$dlprefile"; then
++	        func_tr_sh "$dlprefile"
++	        eval "curr_lafile=\$libfile_$func_tr_sh_result"
++	        dlprefile_dlbasename=""
++	        if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
++	          # Use subshell, to avoid clobbering current variable values
++	          dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
++	          if test -n "$dlprefile_dlname" ; then
++	            func_basename "$dlprefile_dlname"
++	            dlprefile_dlbasename="$func_basename_result"
++	          else
++	            # no lafile. user explicitly requested -dlpreopen <import library>.
++	            $sharedlib_from_linklib_cmd "$dlprefile"
++	            dlprefile_dlbasename=$sharedlib_from_linklib_result
++	          fi
++	        fi
++	        $opt_dry_run || {
++	          if test -n "$dlprefile_dlbasename" ; then
++	            eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
++	          else
++	            func_warning "Could not compute DLL name from $name"
++	            eval '$ECHO ": $name " >> "$nlist"'
++	          fi
++	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
++	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
++	            $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
++	        }
++	      else # not an import lib
++	        $opt_dry_run || {
++	          eval '$ECHO ": $name " >> "$nlist"'
++	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
++	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
++	        }
++	      fi
++	    ;;
++	    *)
++	      $opt_dry_run || {
++	        eval '$ECHO ": $name " >> "$nlist"'
++	        func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
++	        eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
++	      }
++	    ;;
++          esac
++	done
++
++	$opt_dry_run || {
++	  # Make sure we have at least an empty file.
++	  test -f "$nlist" || : > "$nlist"
++
++	  if test -n "$exclude_expsyms"; then
++	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
++	    $MV "$nlist"T "$nlist"
++	  fi
++
++	  # Try sorting and uniquifying the output.
++	  if $GREP -v "^: " < "$nlist" |
++	      if sort -k 3 </dev/null >/dev/null 2>&1; then
++		sort -k 3
++	      else
++		sort +2
++	      fi |
++	      uniq > "$nlist"S; then
++	    :
++	  else
++	    $GREP -v "^: " < "$nlist" > "$nlist"S
++	  fi
++
++	  if test -f "$nlist"S; then
++	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
++	  else
++	    echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
++	  fi
++
++	  echo >> "$output_objdir/$my_dlsyms" "\
++
++/* The mapping between symbol names and symbols.  */
++typedef struct {
++  const char *name;
++  void *address;
++} lt_dlsymlist;
++extern LT_DLSYM_CONST lt_dlsymlist
++lt_${my_prefix}_LTX_preloaded_symbols[];
++LT_DLSYM_CONST lt_dlsymlist
++lt_${my_prefix}_LTX_preloaded_symbols[] =
++{\
++  { \"$my_originator\", (void *) 0 },"
++
++	  case $need_lib_prefix in
++	  no)
++	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
++	    ;;
++	  *)
++	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
++	    ;;
++	  esac
++	  echo >> "$output_objdir/$my_dlsyms" "\
++  {0, (void *) 0}
++};
++
++/* This works around a problem in FreeBSD linker */
++#ifdef FREEBSD_WORKAROUND
++static const void *lt_preloaded_setup() {
++  return lt_${my_prefix}_LTX_preloaded_symbols;
++}
++#endif
++
++#ifdef __cplusplus
++}
++#endif\
++"
++	} # !$opt_dry_run
++
++	pic_flag_for_symtable=
++	case "$compile_command " in
++	*" -static "*) ;;
++	*)
++	  case $host in
++	  # compiling the symbol table file with pic_flag works around
++	  # a FreeBSD bug that causes programs to crash when -lm is
++	  # linked before any other PIC object.  But we must not use
++	  # pic_flag when linking with -static.  The problem exists in
++	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
++	  *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
++	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
++	  *-*-hpux*)
++	    pic_flag_for_symtable=" $pic_flag"  ;;
++	  *)
++	    if test "X$my_pic_p" != Xno; then
++	      pic_flag_for_symtable=" $pic_flag"
++	    fi
++	    ;;
++	  esac
++	  ;;
++	esac
++	symtab_cflags=
++	for arg in $LTCFLAGS; do
++	  case $arg in
++	  -pie | -fpie | -fPIE) ;;
++	  *) func_append symtab_cflags " $arg" ;;
++	  esac
++	done
++
++	# Now compile the dynamic symbol file.
++	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
++
++	# Clean up the generated files.
++	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
++
++	# Transform the symbol file into the correct name.
++	symfileobj="$output_objdir/${my_outputname}S.$objext"
++	case $host in
++	*cygwin* | *mingw* | *cegcc* )
++	  if test -f "$output_objdir/$my_outputname.def"; then
++	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
++	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
++	  else
++	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
++	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
++	  fi
++	  ;;
++	*)
++	  compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
++	  finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
++	  ;;
++	esac
++	;;
++      *)
++	func_fatal_error "unknown suffix for \`$my_dlsyms'"
++	;;
++      esac
++    else
++      # We keep going just in case the user didn't refer to
++      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
++      # really was required.
++
++      # Nullify the symbol file.
++      compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
++      finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
++    fi
++}
++
++# func_win32_libid arg
++# return the library type of file 'arg'
++#
++# Need a lot of goo to handle *both* DLLs and import libs
++# Has to be a shell function in order to 'eat' the argument
++# that is supplied when $file_magic_command is called.
++# Despite the name, also deal with 64 bit binaries.
++func_win32_libid ()
++{
++  $opt_debug
++  win32_libid_type="unknown"
++  win32_fileres=`file -L $1 2>/dev/null`
++  case $win32_fileres in
++  *ar\ archive\ import\ library*) # definitely import
++    win32_libid_type="x86 archive import"
++    ;;
++  *ar\ archive*) # could be an import, or static
++    # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
++    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
++       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
++      func_to_tool_file "$1" func_convert_file_msys_to_w32
++      win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
++	$SED -n -e '
++	    1,100{
++		/ I /{
++		    s,.*,import,
++		    p
++		    q
++		}
++	    }'`
++      case $win32_nmres in
++      import*)  win32_libid_type="x86 archive import";;
++      *)        win32_libid_type="x86 archive static";;
++      esac
++    fi
++    ;;
++  *DLL*)
++    win32_libid_type="x86 DLL"
++    ;;
++  *executable*) # but shell scripts are "executable" too...
++    case $win32_fileres in
++    *MS\ Windows\ PE\ Intel*)
++      win32_libid_type="x86 DLL"
++      ;;
++    esac
++    ;;
++  esac
++  $ECHO "$win32_libid_type"
++}
++
++# func_cygming_dll_for_implib ARG
++#
++# Platform-specific function to extract the
++# name of the DLL associated with the specified
++# import library ARG.
++# Invoked by eval'ing the libtool variable
++#    $sharedlib_from_linklib_cmd
++# Result is available in the variable
++#    $sharedlib_from_linklib_result
++func_cygming_dll_for_implib ()
++{
++  $opt_debug
++  sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
++}
++
++# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
++#
++# The is the core of a fallback implementation of a
++# platform-specific function to extract the name of the
++# DLL associated with the specified import library LIBNAME.
++#
++# SECTION_NAME is either .idata$6 or .idata$7, depending
++# on the platform and compiler that created the implib.
++#
++# Echos the name of the DLL associated with the
++# specified import library.
++func_cygming_dll_for_implib_fallback_core ()
++{
++  $opt_debug
++  match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
++  $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
++    $SED '/^Contents of section '"$match_literal"':/{
++      # Place marker at beginning of archive member dllname section
++      s/.*/====MARK====/
++      p
++      d
++    }
++    # These lines can sometimes be longer than 43 characters, but
++    # are always uninteresting
++    /:[	 ]*file format pe[i]\{,1\}-/d
++    /^In archive [^:]*:/d
++    # Ensure marker is printed
++    /^====MARK====/p
++    # Remove all lines with less than 43 characters
++    /^.\{43\}/!d
++    # From remaining lines, remove first 43 characters
++    s/^.\{43\}//' |
++    $SED -n '
++      # Join marker and all lines until next marker into a single line
++      /^====MARK====/ b para
++      H
++      $ b para
++      b
++      :para
++      x
++      s/\n//g
++      # Remove the marker
++      s/^====MARK====//
++      # Remove trailing dots and whitespace
++      s/[\. \t]*$//
++      # Print
++      /./p' |
++    # we now have a list, one entry per line, of the stringified
++    # contents of the appropriate section of all members of the
++    # archive which possess that section. Heuristic: eliminate
++    # all those which have a first or second character that is
++    # a '.' (that is, objdump's representation of an unprintable
++    # character.) This should work for all archives with less than
++    # 0x302f exports -- but will fail for DLLs whose name actually
++    # begins with a literal '.' or a single character followed by
++    # a '.'.
++    #
++    # Of those that remain, print the first one.
++    $SED -e '/^\./d;/^.\./d;q'
++}
++
++# func_cygming_gnu_implib_p ARG
++# This predicate returns with zero status (TRUE) if
++# ARG is a GNU/binutils-style import library. Returns
++# with nonzero status (FALSE) otherwise.
++func_cygming_gnu_implib_p ()
++{
++  $opt_debug
++  func_to_tool_file "$1" func_convert_file_msys_to_w32
++  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
++  test -n "$func_cygming_gnu_implib_tmp"
++}
++
++# func_cygming_ms_implib_p ARG
++# This predicate returns with zero status (TRUE) if
++# ARG is an MS-style import library. Returns
++# with nonzero status (FALSE) otherwise.
++func_cygming_ms_implib_p ()
++{
++  $opt_debug
++  func_to_tool_file "$1" func_convert_file_msys_to_w32
++  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
++  test -n "$func_cygming_ms_implib_tmp"
++}
++
++# func_cygming_dll_for_implib_fallback ARG
++# Platform-specific function to extract the
++# name of the DLL associated with the specified
++# import library ARG.
++#
++# This fallback implementation is for use when $DLLTOOL
++# does not support the --identify-strict option.
++# Invoked by eval'ing the libtool variable
++#    $sharedlib_from_linklib_cmd
++# Result is available in the variable
++#    $sharedlib_from_linklib_result
++func_cygming_dll_for_implib_fallback ()
++{
++  $opt_debug
++  if func_cygming_gnu_implib_p "$1" ; then
++    # binutils import library
++    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
++  elif func_cygming_ms_implib_p "$1" ; then
++    # ms-generated import library
++    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
++  else
++    # unknown
++    sharedlib_from_linklib_result=""
++  fi
++}
++
++
++# func_extract_an_archive dir oldlib
++func_extract_an_archive ()
++{
++    $opt_debug
++    f_ex_an_ar_dir="$1"; shift
++    f_ex_an_ar_oldlib="$1"
++    if test "$lock_old_archive_extraction" = yes; then
++      lockfile=$f_ex_an_ar_oldlib.lock
++      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
++	func_echo "Waiting for $lockfile to be removed"
++	sleep 2
++      done
++    fi
++    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
++		   'stat=$?; rm -f "$lockfile"; exit $stat'
++    if test "$lock_old_archive_extraction" = yes; then
++      $opt_dry_run || rm -f "$lockfile"
++    fi
++    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
++     :
++    else
++      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
++    fi
++}
++
++
++# func_extract_archives gentop oldlib ...
++func_extract_archives ()
++{
++    $opt_debug
++    my_gentop="$1"; shift
++    my_oldlibs=${1+"$@"}
++    my_oldobjs=""
++    my_xlib=""
++    my_xabs=""
++    my_xdir=""
++
++    for my_xlib in $my_oldlibs; do
++      # Extract the objects.
++      case $my_xlib in
++	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
++	*) my_xabs=`pwd`"/$my_xlib" ;;
++      esac
++      func_basename "$my_xlib"
++      my_xlib="$func_basename_result"
++      my_xlib_u=$my_xlib
++      while :; do
++        case " $extracted_archives " in
++	*" $my_xlib_u "*)
++	  func_arith $extracted_serial + 1
++	  extracted_serial=$func_arith_result
++	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
++	*) break ;;
++	esac
++      done
++      extracted_archives="$extracted_archives $my_xlib_u"
++      my_xdir="$my_gentop/$my_xlib_u"
++
++      func_mkdir_p "$my_xdir"
++
++      case $host in
++      *-darwin*)
++	func_verbose "Extracting $my_xabs"
++	# Do not bother doing anything if just a dry run
++	$opt_dry_run || {
++	  darwin_orig_dir=`pwd`
++	  cd $my_xdir || exit $?
++	  darwin_archive=$my_xabs
++	  darwin_curdir=`pwd`
++	  darwin_base_archive=`basename "$darwin_archive"`
++	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
++	  if test -n "$darwin_arches"; then
++	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
++	    darwin_arch=
++	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
++	    for darwin_arch in  $darwin_arches ; do
++	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
++	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
++	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
++	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
++	      cd "$darwin_curdir"
++	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
++	    done # $darwin_arches
++            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
++	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
++	    darwin_file=
++	    darwin_files=
++	    for darwin_file in $darwin_filelist; do
++	      darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
++	      $LIPO -create -output "$darwin_file" $darwin_files
++	    done # $darwin_filelist
++	    $RM -rf unfat-$$
++	    cd "$darwin_orig_dir"
++	  else
++	    cd $darwin_orig_dir
++	    func_extract_an_archive "$my_xdir" "$my_xabs"
++	  fi # $darwin_arches
++	} # !$opt_dry_run
++	;;
++      *)
++        func_extract_an_archive "$my_xdir" "$my_xabs"
++	;;
++      esac
++      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
++    done
++
++    func_extract_archives_result="$my_oldobjs"
++}
++
++
++# func_emit_wrapper [arg=no]
++#
++# Emit a libtool wrapper script on stdout.
++# Don't directly open a file because we may want to
++# incorporate the script contents within a cygwin/mingw
++# wrapper executable.  Must ONLY be called from within
++# func_mode_link because it depends on a number of variables
++# set therein.
++#
++# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
++# variable will take.  If 'yes', then the emitted script
++# will assume that the directory in which it is stored is
++# the $objdir directory.  This is a cygwin/mingw-specific
++# behavior.
++func_emit_wrapper ()
++{
++	func_emit_wrapper_arg1=${1-no}
++
++	$ECHO "\
++#! $SHELL
++
++# $output - temporary wrapper script for $objdir/$outputname
++# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
++#
++# The $output program cannot be directly executed until all the libtool
++# libraries that it depends on are installed.
++#
++# This wrapper script should never be moved out of the build directory.
++# If it is, it will not operate correctly.
++
++# Sed substitution that helps us do robust quoting.  It backslashifies
++# metacharacters that are still active within double-quoted strings.
++sed_quote_subst='$sed_quote_subst'
++
++# Be Bourne compatible
++if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
++  emulate sh
++  NULLCMD=:
++  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '\${1+\"\$@\"}'='\"\$@\"'
++  setopt NO_GLOB_SUBST
++else
++  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
++fi
++BIN_SH=xpg4; export BIN_SH # for Tru64
++DUALCASE=1; export DUALCASE # for MKS sh
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++relink_command=\"$relink_command\"
++
++# This environment variable determines our operation mode.
++if test \"\$libtool_install_magic\" = \"$magic\"; then
++  # install mode needs the following variables:
++  generated_by_libtool_version='$macro_version'
++  notinst_deplibs='$notinst_deplibs'
++else
++  # When we are sourced in execute mode, \$file and \$ECHO are already set.
++  if test \"\$libtool_execute_magic\" != \"$magic\"; then
++    file=\"\$0\""
++
++    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
++    $ECHO "\
++
++# A function that is used when there is no print builtin or printf.
++func_fallback_echo ()
++{
++  eval 'cat <<_LTECHO_EOF
++\$1
++_LTECHO_EOF'
++}
++    ECHO=\"$qECHO\"
++  fi
++
++# Very basic option parsing. These options are (a) specific to
++# the libtool wrapper, (b) are identical between the wrapper
++# /script/ and the wrapper /executable/ which is used only on
++# windows platforms, and (c) all begin with the string "--lt-"
++# (application programs are unlikely to have options which match
++# this pattern).
++#
++# There are only two supported options: --lt-debug and
++# --lt-dump-script. There is, deliberately, no --lt-help.
++#
++# The first argument to this parsing function should be the
++# script's $0 value, followed by "$@".
++lt_option_debug=
++func_parse_lt_options ()
++{
++  lt_script_arg0=\$0
++  shift
++  for lt_opt
++  do
++    case \"\$lt_opt\" in
++    --lt-debug) lt_option_debug=1 ;;
++    --lt-dump-script)
++        lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
++        test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
++        lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
++        cat \"\$lt_dump_D/\$lt_dump_F\"
++        exit 0
++      ;;
++    --lt-*)
++        \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
++        exit 1
++      ;;
++    esac
++  done
++
++  # Print the debug banner immediately:
++  if test -n \"\$lt_option_debug\"; then
++    echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
++  fi
++}
++
++# Used when --lt-debug. Prints its arguments to stdout
++# (redirection is the responsibility of the caller)
++func_lt_dump_args ()
++{
++  lt_dump_args_N=1;
++  for lt_arg
++  do
++    \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
++    lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
++  done
++}
++
++# Core function for launching the target application
++func_exec_program_core ()
++{
++"
++  case $host in
++  # Backslashes separate directories on plain windows
++  *-*-mingw | *-*-os2* | *-cegcc*)
++    $ECHO "\
++      if test -n \"\$lt_option_debug\"; then
++        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
++        func_lt_dump_args \${1+\"\$@\"} 1>&2
++      fi
++      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
++"
++    ;;
++
++  *)
++    $ECHO "\
++      if test -n \"\$lt_option_debug\"; then
++        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
++        func_lt_dump_args \${1+\"\$@\"} 1>&2
++      fi
++      exec \"\$progdir/\$program\" \${1+\"\$@\"}
++"
++    ;;
++  esac
++  $ECHO "\
++      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
++      exit 1
++}
++
++# A function to encapsulate launching the target application
++# Strips options in the --lt-* namespace from \$@ and
++# launches target application with the remaining arguments.
++func_exec_program ()
++{
++  case \" \$* \" in
++  *\\ --lt-*)
++    for lt_wr_arg
++    do
++      case \$lt_wr_arg in
++      --lt-*) ;;
++      *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
++      esac
++      shift
++    done ;;
++  esac
++  func_exec_program_core \${1+\"\$@\"}
++}
++
++  # Parse options
++  func_parse_lt_options \"\$0\" \${1+\"\$@\"}
++
++  # Find the directory that this script lives in.
++  thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
++  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
++
++  # Follow symbolic links until we get to the real thisdir.
++  file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
++  while test -n \"\$file\"; do
++    destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
++
++    # If there was a directory component, then change thisdir.
++    if test \"x\$destdir\" != \"x\$file\"; then
++      case \"\$destdir\" in
++      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
++      *) thisdir=\"\$thisdir/\$destdir\" ;;
++      esac
++    fi
++
++    file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
++    file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
++  done
++
++  # Usually 'no', except on cygwin/mingw when embedded into
++  # the cwrapper.
++  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
++  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
++    # special case for '.'
++    if test \"\$thisdir\" = \".\"; then
++      thisdir=\`pwd\`
++    fi
++    # remove .libs from thisdir
++    case \"\$thisdir\" in
++    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
++    $objdir )   thisdir=. ;;
++    esac
++  fi
++
++  # Try to get the absolute directory name.
++  absdir=\`cd \"\$thisdir\" && pwd\`
++  test -n \"\$absdir\" && thisdir=\"\$absdir\"
++"
++
++	if test "$fast_install" = yes; then
++	  $ECHO "\
++  program=lt-'$outputname'$exeext
++  progdir=\"\$thisdir/$objdir\"
++
++  if test ! -f \"\$progdir/\$program\" ||
++     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
++       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
++
++    file=\"\$\$-\$program\"
++
++    if test ! -d \"\$progdir\"; then
++      $MKDIR \"\$progdir\"
++    else
++      $RM \"\$progdir/\$file\"
++    fi"
++
++	  $ECHO "\
++
++    # relink executable if necessary
++    if test -n \"\$relink_command\"; then
++      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
++      else
++	$ECHO \"\$relink_command_output\" >&2
++	$RM \"\$progdir/\$file\"
++	exit 1
++      fi
++    fi
++
++    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
++    { $RM \"\$progdir/\$program\";
++      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
++    $RM \"\$progdir/\$file\"
++  fi"
++	else
++	  $ECHO "\
++  program='$outputname'
++  progdir=\"\$thisdir/$objdir\"
++"
++	fi
++
++	$ECHO "\
++
++  if test -f \"\$progdir/\$program\"; then"
++
++	# fixup the dll searchpath if we need to.
++	#
++	# Fix the DLL searchpath if we need to.  Do this before prepending
++	# to shlibpath, because on Windows, both are PATH and uninstalled
++	# libraries must come first.
++	if test -n "$dllsearchpath"; then
++	  $ECHO "\
++    # Add the dll search path components to the executable PATH
++    PATH=$dllsearchpath:\$PATH
++"
++	fi
++
++	# Export our shlibpath_var if we have one.
++	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
++	  $ECHO "\
++    # Add our own library path to $shlibpath_var
++    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
++
++    # Some systems cannot cope with colon-terminated $shlibpath_var
++    # The second colon is a workaround for a bug in BeOS R4 sed
++    $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
++
++    export $shlibpath_var
++"
++	fi
++
++	$ECHO "\
++    if test \"\$libtool_execute_magic\" != \"$magic\"; then
++      # Run the actual program with our arguments.
++      func_exec_program \${1+\"\$@\"}
++    fi
++  else
++    # The program doesn't exist.
++    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
++    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
++    \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
++    exit 1
++  fi
++fi\
++"
++}
++
++
++# func_emit_cwrapperexe_src
++# emit the source code for a wrapper executable on stdout
++# Must ONLY be called from within func_mode_link because
++# it depends on a number of variable set therein.
++func_emit_cwrapperexe_src ()
++{
++	cat <<EOF
++
++/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
++   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
++
++   The $output program cannot be directly executed until all the libtool
++   libraries that it depends on are installed.
++
++   This wrapper executable should never be moved out of the build directory.
++   If it is, it will not operate correctly.
++*/
++EOF
++	    cat <<"EOF"
++#ifdef _MSC_VER
++# define _CRT_SECURE_NO_DEPRECATE 1
++#endif
++#include <stdio.h>
++#include <stdlib.h>
++#ifdef _MSC_VER
++# include <direct.h>
++# include <process.h>
++# include <io.h>
++#else
++# include <unistd.h>
++# include <stdint.h>
++# ifdef __CYGWIN__
++#  include <io.h>
++# endif
++#endif
++#include <malloc.h>
++#include <stdarg.h>
++#include <assert.h>
++#include <string.h>
++#include <ctype.h>
++#include <errno.h>
++#include <fcntl.h>
++#include <sys/stat.h>
++
++/* declarations of non-ANSI functions */
++#if defined(__MINGW32__)
++# ifdef __STRICT_ANSI__
++int _putenv (const char *);
++# endif
++#elif defined(__CYGWIN__)
++# ifdef __STRICT_ANSI__
++char *realpath (const char *, char *);
++int putenv (char *);
++int setenv (const char *, const char *, int);
++# endif
++/* #elif defined (other platforms) ... */
++#endif
++
++/* portability defines, excluding path handling macros */
++#if defined(_MSC_VER)
++# define setmode _setmode
++# define stat    _stat
++# define chmod   _chmod
++# define getcwd  _getcwd
++# define putenv  _putenv
++# define S_IXUSR _S_IEXEC
++# ifndef _INTPTR_T_DEFINED
++#  define _INTPTR_T_DEFINED
++#  define intptr_t int
++# endif
++#elif defined(__MINGW32__)
++# define setmode _setmode
++# define stat    _stat
++# define chmod   _chmod
++# define getcwd  _getcwd
++# define putenv  _putenv
++#elif defined(__CYGWIN__)
++# define HAVE_SETENV
++# define FOPEN_WB "wb"
++/* #elif defined (other platforms) ... */
++#endif
++
++#if defined(PATH_MAX)
++# define LT_PATHMAX PATH_MAX
++#elif defined(MAXPATHLEN)
++# define LT_PATHMAX MAXPATHLEN
++#else
++# define LT_PATHMAX 1024
++#endif
++
++#ifndef S_IXOTH
++# define S_IXOTH 0
++#endif
++#ifndef S_IXGRP
++# define S_IXGRP 0
++#endif
++
++/* path handling portability macros */
++#ifndef DIR_SEPARATOR
++# define DIR_SEPARATOR '/'
++# define PATH_SEPARATOR ':'
++#endif
++
++#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
++  defined (__OS2__)
++# define HAVE_DOS_BASED_FILE_SYSTEM
++# define FOPEN_WB "wb"
++# ifndef DIR_SEPARATOR_2
++#  define DIR_SEPARATOR_2 '\\'
++# endif
++# ifndef PATH_SEPARATOR_2
++#  define PATH_SEPARATOR_2 ';'
++# endif
++#endif
++
++#ifndef DIR_SEPARATOR_2
++# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
++#else /* DIR_SEPARATOR_2 */
++# define IS_DIR_SEPARATOR(ch) \
++	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
++#endif /* DIR_SEPARATOR_2 */
++
++#ifndef PATH_SEPARATOR_2
++# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
++#else /* PATH_SEPARATOR_2 */
++# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
++#endif /* PATH_SEPARATOR_2 */
++
++#ifndef FOPEN_WB
++# define FOPEN_WB "w"
++#endif
++#ifndef _O_BINARY
++# define _O_BINARY 0
++#endif
++
++#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
++#define XFREE(stale) do { \
++  if (stale) { free ((void *) stale); stale = 0; } \
++} while (0)
++
++#if defined(LT_DEBUGWRAPPER)
++static int lt_debug = 1;
++#else
++static int lt_debug = 0;
++#endif
++
++const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
++
++void *xmalloc (size_t num);
++char *xstrdup (const char *string);
++const char *base_name (const char *name);
++char *find_executable (const char *wrapper);
++char *chase_symlinks (const char *pathspec);
++int make_executable (const char *path);
++int check_executable (const char *path);
++char *strendzap (char *str, const char *pat);
++void lt_debugprintf (const char *file, int line, const char *fmt, ...);
++void lt_fatal (const char *file, int line, const char *message, ...);
++static const char *nonnull (const char *s);
++static const char *nonempty (const char *s);
++void lt_setenv (const char *name, const char *value);
++char *lt_extend_str (const char *orig_value, const char *add, int to_end);
++void lt_update_exe_path (const char *name, const char *value);
++void lt_update_lib_path (const char *name, const char *value);
++char **prepare_spawn (char **argv);
++void lt_dump_script (FILE *f);
++EOF
++
++	    cat <<EOF
++volatile const char * MAGIC_EXE = "$magic_exe";
++const char * LIB_PATH_VARNAME = "$shlibpath_var";
++EOF
++
++	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
++              func_to_host_path "$temp_rpath"
++	      cat <<EOF
++const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
++EOF
++	    else
++	      cat <<"EOF"
++const char * LIB_PATH_VALUE   = "";
++EOF
++	    fi
++
++	    if test -n "$dllsearchpath"; then
++              func_to_host_path "$dllsearchpath:"
++	      cat <<EOF
++const char * EXE_PATH_VARNAME = "PATH";
++const char * EXE_PATH_VALUE   = "$func_to_host_path_result";
++EOF
++	    else
++	      cat <<"EOF"
++const char * EXE_PATH_VARNAME = "";
++const char * EXE_PATH_VALUE   = "";
++EOF
++	    fi
++
++	    if test "$fast_install" = yes; then
++	      cat <<EOF
++const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
++EOF
++	    else
++	      cat <<EOF
++const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
++EOF
++	    fi
++
++
++	    cat <<"EOF"
++
++#define LTWRAPPER_OPTION_PREFIX         "--lt-"
++
++static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
++static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
++static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
++
++int
++main (int argc, char *argv[])
++{
++  char **newargz;
++  int  newargc;
++  char *tmp_pathspec;
++  char *actual_cwrapper_path;
++  char *actual_cwrapper_name;
++  char *target_name;
++  char *lt_argv_zero;
++  intptr_t rval = 127;
++
++  int i;
++
++  program_name = (char *) xstrdup (base_name (argv[0]));
++  newargz = XMALLOC (char *, argc + 1);
++
++  /* very simple arg parsing; don't want to rely on getopt
++   * also, copy all non cwrapper options to newargz, except
++   * argz[0], which is handled differently
++   */
++  newargc=0;
++  for (i = 1; i < argc; i++)
++    {
++      if (strcmp (argv[i], dumpscript_opt) == 0)
++	{
++EOF
++	    case "$host" in
++	      *mingw* | *cygwin* )
++		# make stdout use "unix" line endings
++		echo "          setmode(1,_O_BINARY);"
++		;;
++	      esac
++
++	    cat <<"EOF"
++	  lt_dump_script (stdout);
++	  return 0;
++	}
++      if (strcmp (argv[i], debug_opt) == 0)
++	{
++          lt_debug = 1;
++          continue;
++	}
++      if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
++        {
++          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
++             namespace, but it is not one of the ones we know about and
++             have already dealt with, above (inluding dump-script), then
++             report an error. Otherwise, targets might begin to believe
++             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
++             namespace. The first time any user complains about this, we'll
++             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
++             or a configure.ac-settable value.
++           */
++          lt_fatal (__FILE__, __LINE__,
++		    "unrecognized %s option: '%s'",
++                    ltwrapper_option_prefix, argv[i]);
++        }
++      /* otherwise ... */
++      newargz[++newargc] = xstrdup (argv[i]);
++    }
++  newargz[++newargc] = NULL;
++
++EOF
++	    cat <<EOF
++  /* The GNU banner must be the first non-error debug message */
++  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
++EOF
++	    cat <<"EOF"
++  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
++  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
++
++  tmp_pathspec = find_executable (argv[0]);
++  if (tmp_pathspec == NULL)
++    lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
++  lt_debugprintf (__FILE__, __LINE__,
++                  "(main) found exe (before symlink chase) at: %s\n",
++		  tmp_pathspec);
++
++  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
++  lt_debugprintf (__FILE__, __LINE__,
++                  "(main) found exe (after symlink chase) at: %s\n",
++		  actual_cwrapper_path);
++  XFREE (tmp_pathspec);
++
++  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
++  strendzap (actual_cwrapper_path, actual_cwrapper_name);
++
++  /* wrapper name transforms */
++  strendzap (actual_cwrapper_name, ".exe");
++  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
++  XFREE (actual_cwrapper_name);
++  actual_cwrapper_name = tmp_pathspec;
++  tmp_pathspec = 0;
++
++  /* target_name transforms -- use actual target program name; might have lt- prefix */
++  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
++  strendzap (target_name, ".exe");
++  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
++  XFREE (target_name);
++  target_name = tmp_pathspec;
++  tmp_pathspec = 0;
++
++  lt_debugprintf (__FILE__, __LINE__,
++		  "(main) libtool target name: %s\n",
++		  target_name);
++EOF
++
++	    cat <<EOF
++  newargz[0] =
++    XMALLOC (char, (strlen (actual_cwrapper_path) +
++		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
++  strcpy (newargz[0], actual_cwrapper_path);
++  strcat (newargz[0], "$objdir");
++  strcat (newargz[0], "/");
++EOF
++
++	    cat <<"EOF"
++  /* stop here, and copy so we don't have to do this twice */
++  tmp_pathspec = xstrdup (newargz[0]);
++
++  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
++  strcat (newargz[0], actual_cwrapper_name);
++
++  /* DO want the lt- prefix here if it exists, so use target_name */
++  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
++  XFREE (tmp_pathspec);
++  tmp_pathspec = NULL;
++EOF
++
++	    case $host_os in
++	      mingw*)
++	    cat <<"EOF"
++  {
++    char* p;
++    while ((p = strchr (newargz[0], '\\')) != NULL)
++      {
++	*p = '/';
++      }
++    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
++      {
++	*p = '/';
++      }
++  }
++EOF
++	    ;;
++	    esac
++
++	    cat <<"EOF"
++  XFREE (target_name);
++  XFREE (actual_cwrapper_path);
++  XFREE (actual_cwrapper_name);
++
++  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
++  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
++  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must
++     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
++     because on Windows, both *_VARNAMEs are PATH but uninstalled
++     libraries must come first. */
++  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
++  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
++
++  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
++		  nonnull (lt_argv_zero));
++  for (i = 0; i < newargc; i++)
++    {
++      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
++		      i, nonnull (newargz[i]));
++    }
++
++EOF
++
++	    case $host_os in
++	      mingw*)
++		cat <<"EOF"
++  /* execv doesn't actually work on mingw as expected on unix */
++  newargz = prepare_spawn (newargz);
++  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
++  if (rval == -1)
++    {
++      /* failed to start process */
++      lt_debugprintf (__FILE__, __LINE__,
++		      "(main) failed to launch target \"%s\": %s\n",
++		      lt_argv_zero, nonnull (strerror (errno)));
++      return 127;
++    }
++  return rval;
++EOF
++		;;
++	      *)
++		cat <<"EOF"
++  execv (lt_argv_zero, newargz);
++  return rval; /* =127, but avoids unused variable warning */
++EOF
++		;;
++	    esac
++
++	    cat <<"EOF"
++}
++
++void *
++xmalloc (size_t num)
++{
++  void *p = (void *) malloc (num);
++  if (!p)
++    lt_fatal (__FILE__, __LINE__, "memory exhausted");
++
++  return p;
++}
++
++char *
++xstrdup (const char *string)
++{
++  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
++			  string) : NULL;
++}
++
++const char *
++base_name (const char *name)
++{
++  const char *base;
++
++#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
++  /* Skip over the disk name in MSDOS pathnames. */
++  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
++    name += 2;
++#endif
++
++  for (base = name; *name; name++)
++    if (IS_DIR_SEPARATOR (*name))
++      base = name + 1;
++  return base;
++}
++
++int
++check_executable (const char *path)
++{
++  struct stat st;
++
++  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
++                  nonempty (path));
++  if ((!path) || (!*path))
++    return 0;
++
++  if ((stat (path, &st) >= 0)
++      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
++    return 1;
++  else
++    return 0;
++}
++
++int
++make_executable (const char *path)
++{
++  int rval = 0;
++  struct stat st;
++
++  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
++                  nonempty (path));
++  if ((!path) || (!*path))
++    return 0;
++
++  if (stat (path, &st) >= 0)
++    {
++      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
++    }
++  return rval;
++}
++
++/* Searches for the full path of the wrapper.  Returns
++   newly allocated full path name if found, NULL otherwise
++   Does not chase symlinks, even on platforms that support them.
++*/
++char *
++find_executable (const char *wrapper)
++{
++  int has_slash = 0;
++  const char *p;
++  const char *p_next;
++  /* static buffer for getcwd */
++  char tmp[LT_PATHMAX + 1];
++  int tmp_len;
++  char *concat_name;
++
++  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
++                  nonempty (wrapper));
++
++  if ((wrapper == NULL) || (*wrapper == '\0'))
++    return NULL;
++
++  /* Absolute path? */
++#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
++  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
++    {
++      concat_name = xstrdup (wrapper);
++      if (check_executable (concat_name))
++	return concat_name;
++      XFREE (concat_name);
++    }
++  else
++    {
++#endif
++      if (IS_DIR_SEPARATOR (wrapper[0]))
++	{
++	  concat_name = xstrdup (wrapper);
++	  if (check_executable (concat_name))
++	    return concat_name;
++	  XFREE (concat_name);
++	}
++#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
++    }
++#endif
++
++  for (p = wrapper; *p; p++)
++    if (*p == '/')
++      {
++	has_slash = 1;
++	break;
++      }
++  if (!has_slash)
++    {
++      /* no slashes; search PATH */
++      const char *path = getenv ("PATH");
++      if (path != NULL)
++	{
++	  for (p = path; *p; p = p_next)
++	    {
++	      const char *q;
++	      size_t p_len;
++	      for (q = p; *q; q++)
++		if (IS_PATH_SEPARATOR (*q))
++		  break;
++	      p_len = q - p;
++	      p_next = (*q == '\0' ? q : q + 1);
++	      if (p_len == 0)
++		{
++		  /* empty path: current directory */
++		  if (getcwd (tmp, LT_PATHMAX) == NULL)
++		    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
++                              nonnull (strerror (errno)));
++		  tmp_len = strlen (tmp);
++		  concat_name =
++		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
++		  memcpy (concat_name, tmp, tmp_len);
++		  concat_name[tmp_len] = '/';
++		  strcpy (concat_name + tmp_len + 1, wrapper);
++		}
++	      else
++		{
++		  concat_name =
++		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
++		  memcpy (concat_name, p, p_len);
++		  concat_name[p_len] = '/';
++		  strcpy (concat_name + p_len + 1, wrapper);
++		}
++	      if (check_executable (concat_name))
++		return concat_name;
++	      XFREE (concat_name);
++	    }
++	}
++      /* not found in PATH; assume curdir */
++    }
++  /* Relative path | not found in path: prepend cwd */
++  if (getcwd (tmp, LT_PATHMAX) == NULL)
++    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
++              nonnull (strerror (errno)));
++  tmp_len = strlen (tmp);
++  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
++  memcpy (concat_name, tmp, tmp_len);
++  concat_name[tmp_len] = '/';
++  strcpy (concat_name + tmp_len + 1, wrapper);
++
++  if (check_executable (concat_name))
++    return concat_name;
++  XFREE (concat_name);
++  return NULL;
++}
++
++char *
++chase_symlinks (const char *pathspec)
++{
++#ifndef S_ISLNK
++  return xstrdup (pathspec);
++#else
++  char buf[LT_PATHMAX];
++  struct stat s;
++  char *tmp_pathspec = xstrdup (pathspec);
++  char *p;
++  int has_symlinks = 0;
++  while (strlen (tmp_pathspec) && !has_symlinks)
++    {
++      lt_debugprintf (__FILE__, __LINE__,
++		      "checking path component for symlinks: %s\n",
++		      tmp_pathspec);
++      if (lstat (tmp_pathspec, &s) == 0)
++	{
++	  if (S_ISLNK (s.st_mode) != 0)
++	    {
++	      has_symlinks = 1;
++	      break;
++	    }
++
++	  /* search backwards for last DIR_SEPARATOR */
++	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
++	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
++	    p--;
++	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
++	    {
++	      /* no more DIR_SEPARATORS left */
++	      break;
++	    }
++	  *p = '\0';
++	}
++      else
++	{
++	  lt_fatal (__FILE__, __LINE__,
++		    "error accessing file \"%s\": %s",
++		    tmp_pathspec, nonnull (strerror (errno)));
++	}
++    }
++  XFREE (tmp_pathspec);
++
++  if (!has_symlinks)
++    {
++      return xstrdup (pathspec);
++    }
++
++  tmp_pathspec = realpath (pathspec, buf);
++  if (tmp_pathspec == 0)
++    {
++      lt_fatal (__FILE__, __LINE__,
++		"could not follow symlinks for %s", pathspec);
++    }
++  return xstrdup (tmp_pathspec);
++#endif
++}
++
++char *
++strendzap (char *str, const char *pat)
++{
++  size_t len, patlen;
++
++  assert (str != NULL);
++  assert (pat != NULL);
++
++  len = strlen (str);
++  patlen = strlen (pat);
++
++  if (patlen <= len)
++    {
++      str += len - patlen;
++      if (strcmp (str, pat) == 0)
++	*str = '\0';
++    }
++  return str;
++}
++
++void
++lt_debugprintf (const char *file, int line, const char *fmt, ...)
++{
++  va_list args;
++  if (lt_debug)
++    {
++      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
++      va_start (args, fmt);
++      (void) vfprintf (stderr, fmt, args);
++      va_end (args);
++    }
++}
++
++static void
++lt_error_core (int exit_status, const char *file,
++	       int line, const char *mode,
++	       const char *message, va_list ap)
++{
++  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
++  vfprintf (stderr, message, ap);
++  fprintf (stderr, ".\n");
++
++  if (exit_status >= 0)
++    exit (exit_status);
++}
++
++void
++lt_fatal (const char *file, int line, const char *message, ...)
++{
++  va_list ap;
++  va_start (ap, message);
++  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
++  va_end (ap);
++}
++
++static const char *
++nonnull (const char *s)
++{
++  return s ? s : "(null)";
++}
++
++static const char *
++nonempty (const char *s)
++{
++  return (s && !*s) ? "(empty)" : nonnull (s);
++}
++
++void
++lt_setenv (const char *name, const char *value)
++{
++  lt_debugprintf (__FILE__, __LINE__,
++		  "(lt_setenv) setting '%s' to '%s'\n",
++                  nonnull (name), nonnull (value));
++  {
++#ifdef HAVE_SETENV
++    /* always make a copy, for consistency with !HAVE_SETENV */
++    char *str = xstrdup (value);
++    setenv (name, str, 1);
++#else
++    int len = strlen (name) + 1 + strlen (value) + 1;
++    char *str = XMALLOC (char, len);
++    sprintf (str, "%s=%s", name, value);
++    if (putenv (str) != EXIT_SUCCESS)
++      {
++        XFREE (str);
++      }
++#endif
++  }
++}
++
++char *
++lt_extend_str (const char *orig_value, const char *add, int to_end)
++{
++  char *new_value;
++  if (orig_value && *orig_value)
++    {
++      int orig_value_len = strlen (orig_value);
++      int add_len = strlen (add);
++      new_value = XMALLOC (char, add_len + orig_value_len + 1);
++      if (to_end)
++        {
++          strcpy (new_value, orig_value);
++          strcpy (new_value + orig_value_len, add);
++        }
++      else
++        {
++          strcpy (new_value, add);
++          strcpy (new_value + add_len, orig_value);
++        }
++    }
++  else
++    {
++      new_value = xstrdup (add);
++    }
++  return new_value;
++}
++
++void
++lt_update_exe_path (const char *name, const char *value)
++{
++  lt_debugprintf (__FILE__, __LINE__,
++		  "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
++                  nonnull (name), nonnull (value));
++
++  if (name && *name && value && *value)
++    {
++      char *new_value = lt_extend_str (getenv (name), value, 0);
++      /* some systems can't cope with a ':'-terminated path #' */
++      int len = strlen (new_value);
++      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
++        {
++          new_value[len-1] = '\0';
++        }
++      lt_setenv (name, new_value);
++      XFREE (new_value);
++    }
++}
++
++void
++lt_update_lib_path (const char *name, const char *value)
++{
++  lt_debugprintf (__FILE__, __LINE__,
++		  "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
++                  nonnull (name), nonnull (value));
++
++  if (name && *name && value && *value)
++    {
++      char *new_value = lt_extend_str (getenv (name), value, 0);
++      lt_setenv (name, new_value);
++      XFREE (new_value);
++    }
++}
++
++EOF
++	    case $host_os in
++	      mingw*)
++		cat <<"EOF"
++
++/* Prepares an argument vector before calling spawn().
++   Note that spawn() does not by itself call the command interpreter
++     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
++      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
++         GetVersionEx(&v);
++         v.dwPlatformId == VER_PLATFORM_WIN32_NT;
++      }) ? "cmd.exe" : "command.com").
++   Instead it simply concatenates the arguments, separated by ' ', and calls
++   CreateProcess().  We must quote the arguments since Win32 CreateProcess()
++   interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
++   special way:
++   - Space and tab are interpreted as delimiters. They are not treated as
++     delimiters if they are surrounded by double quotes: "...".
++   - Unescaped double quotes are removed from the input. Their only effect is
++     that within double quotes, space and tab are treated like normal
++     characters.
++   - Backslashes not followed by double quotes are not special.
++   - But 2*n+1 backslashes followed by a double quote become
++     n backslashes followed by a double quote (n >= 0):
++       \" -> "
++       \\\" -> \"
++       \\\\\" -> \\"
++ */
++#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
++#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
++char **
++prepare_spawn (char **argv)
++{
++  size_t argc;
++  char **new_argv;
++  size_t i;
++
++  /* Count number of arguments.  */
++  for (argc = 0; argv[argc] != NULL; argc++)
++    ;
++
++  /* Allocate new argument vector.  */
++  new_argv = XMALLOC (char *, argc + 1);
++
++  /* Put quoted arguments into the new argument vector.  */
++  for (i = 0; i < argc; i++)
++    {
++      const char *string = argv[i];
++
++      if (string[0] == '\0')
++	new_argv[i] = xstrdup ("\"\"");
++      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
++	{
++	  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
++	  size_t length;
++	  unsigned int backslashes;
++	  const char *s;
++	  char *quoted_string;
++	  char *p;
++
++	  length = 0;
++	  backslashes = 0;
++	  if (quote_around)
++	    length++;
++	  for (s = string; *s != '\0'; s++)
++	    {
++	      char c = *s;
++	      if (c == '"')
++		length += backslashes + 1;
++	      length++;
++	      if (c == '\\')
++		backslashes++;
++	      else
++		backslashes = 0;
++	    }
++	  if (quote_around)
++	    length += backslashes + 1;
++
++	  quoted_string = XMALLOC (char, length + 1);
++
++	  p = quoted_string;
++	  backslashes = 0;
++	  if (quote_around)
++	    *p++ = '"';
++	  for (s = string; *s != '\0'; s++)
++	    {
++	      char c = *s;
++	      if (c == '"')
++		{
++		  unsigned int j;
++		  for (j = backslashes + 1; j > 0; j--)
++		    *p++ = '\\';
++		}
++	      *p++ = c;
++	      if (c == '\\')
++		backslashes++;
++	      else
++		backslashes = 0;
++	    }
++	  if (quote_around)
++	    {
++	      unsigned int j;
++	      for (j = backslashes; j > 0; j--)
++		*p++ = '\\';
++	      *p++ = '"';
++	    }
++	  *p = '\0';
++
++	  new_argv[i] = quoted_string;
++	}
++      else
++	new_argv[i] = (char *) string;
++    }
++  new_argv[argc] = NULL;
++
++  return new_argv;
++}
++EOF
++		;;
++	    esac
++
++            cat <<"EOF"
++void lt_dump_script (FILE* f)
++{
++EOF
++	    func_emit_wrapper yes |
++	      $SED -n -e '
++s/^\(.\{79\}\)\(..*\)/\1\
++\2/
++h
++s/\([\\"]\)/\\\1/g
++s/$/\\n/
++s/\([^\n]*\).*/  fputs ("\1", f);/p
++g
++D'
++            cat <<"EOF"
++}
++EOF
++}
++# end: func_emit_cwrapperexe_src
++
++# func_win32_import_lib_p ARG
++# True if ARG is an import lib, as indicated by $file_magic_cmd
++func_win32_import_lib_p ()
++{
++    $opt_debug
++    case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
++    *import*) : ;;
++    *) false ;;
++    esac
++}
++
++# func_mode_link arg...
++func_mode_link ()
++{
++    $opt_debug
++    case $host in
++    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
++      # It is impossible to link a dll without this setting, and
++      # we shouldn't force the makefile maintainer to figure out
++      # which system we are compiling for in order to pass an extra
++      # flag for every libtool invocation.
++      # allow_undefined=no
++
++      # FIXME: Unfortunately, there are problems with the above when trying
++      # to make a dll which has undefined symbols, in which case not
++      # even a static library is built.  For now, we need to specify
++      # -no-undefined on the libtool link line when we can be certain
++      # that all symbols are satisfied, otherwise we get a static library.
++      allow_undefined=yes
++      ;;
++    *)
++      allow_undefined=yes
++      ;;
++    esac
++    libtool_args=$nonopt
++    base_compile="$nonopt $@"
++    compile_command=$nonopt
++    finalize_command=$nonopt
++
++    compile_rpath=
++    finalize_rpath=
++    compile_shlibpath=
++    finalize_shlibpath=
++    convenience=
++    old_convenience=
++    deplibs=
++    old_deplibs=
++    compiler_flags=
++    linker_flags=
++    dllsearchpath=
++    lib_search_path=`pwd`
++    inst_prefix_dir=
++    new_inherited_linker_flags=
++
++    avoid_version=no
++    bindir=
++    dlfiles=
++    dlprefiles=
++    dlself=no
++    export_dynamic=no
++    export_symbols=
++    export_symbols_regex=
++    generated=
++    libobjs=
++    ltlibs=
++    module=no
++    no_install=no
++    objs=
++    non_pic_objects=
++    precious_files_regex=
++    prefer_static_libs=no
++    preload=no
++    prev=
++    prevarg=
++    release=
++    rpath=
++    xrpath=
++    perm_rpath=
++    temp_rpath=
++    thread_safe=no
++    vinfo=
++    vinfo_number=no
++    weak_libs=
++    single_module="${wl}-single_module"
++    func_infer_tag $base_compile
++
++    # We need to know -static, to get the right output filenames.
++    for arg
++    do
++      case $arg in
++      -shared)
++	test "$build_libtool_libs" != yes && \
++	  func_fatal_configuration "can not build a shared library"
++	build_old_libs=no
++	break
++	;;
++      -all-static | -static | -static-libtool-libs)
++	case $arg in
++	-all-static)
++	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
++	    func_warning "complete static linking is impossible in this configuration"
++	  fi
++	  if test -n "$link_static_flag"; then
++	    dlopen_self=$dlopen_self_static
++	  fi
++	  prefer_static_libs=yes
++	  ;;
++	-static)
++	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
++	    dlopen_self=$dlopen_self_static
++	  fi
++	  prefer_static_libs=built
++	  ;;
++	-static-libtool-libs)
++	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
++	    dlopen_self=$dlopen_self_static
++	  fi
++	  prefer_static_libs=yes
++	  ;;
++	esac
++	build_libtool_libs=no
++	build_old_libs=yes
++	break
++	;;
++      esac
++    done
++
++    # See if our shared archives depend on static archives.
++    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
++
++    # Go through the arguments, transforming them on the way.
++    while test "$#" -gt 0; do
++      arg="$1"
++      shift
++      func_quote_for_eval "$arg"
++      qarg=$func_quote_for_eval_unquoted_result
++      func_append libtool_args " $func_quote_for_eval_result"
++
++      # If the previous option needs an argument, assign it.
++      if test -n "$prev"; then
++	case $prev in
++	output)
++	  func_append compile_command " @OUTPUT@"
++	  func_append finalize_command " @OUTPUT@"
++	  ;;
++	esac
++
++	case $prev in
++	bindir)
++	  bindir="$arg"
++	  prev=
++	  continue
++	  ;;
++	dlfiles|dlprefiles)
++	  if test "$preload" = no; then
++	    # Add the symbol object into the linking commands.
++	    func_append compile_command " @SYMFILE@"
++	    func_append finalize_command " @SYMFILE@"
++	    preload=yes
++	  fi
++	  case $arg in
++	  *.la | *.lo) ;;  # We handle these cases below.
++	  force)
++	    if test "$dlself" = no; then
++	      dlself=needless
++	      export_dynamic=yes
++	    fi
++	    prev=
++	    continue
++	    ;;
++	  self)
++	    if test "$prev" = dlprefiles; then
++	      dlself=yes
++	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
++	      dlself=yes
++	    else
++	      dlself=needless
++	      export_dynamic=yes
++	    fi
++	    prev=
++	    continue
++	    ;;
++	  *)
++	    if test "$prev" = dlfiles; then
++	      func_append dlfiles " $arg"
++	    else
++	      func_append dlprefiles " $arg"
++	    fi
++	    prev=
++	    continue
++	    ;;
++	  esac
++	  ;;
++	expsyms)
++	  export_symbols="$arg"
++	  test -f "$arg" \
++	    || func_fatal_error "symbol file \`$arg' does not exist"
++	  prev=
++	  continue
++	  ;;
++	expsyms_regex)
++	  export_symbols_regex="$arg"
++	  prev=
++	  continue
++	  ;;
++	framework)
++	  case $host in
++	    *-*-darwin*)
++	      case "$deplibs " in
++		*" $qarg.ltframework "*) ;;
++		*) func_append deplibs " $qarg.ltframework" # this is fixed later
++		   ;;
++	      esac
++	      ;;
++	  esac
++	  prev=
++	  continue
++	  ;;
++	inst_prefix)
++	  inst_prefix_dir="$arg"
++	  prev=
++	  continue
++	  ;;
++	objectlist)
++	  if test -f "$arg"; then
++	    save_arg=$arg
++	    moreargs=
++	    for fil in `cat "$save_arg"`
++	    do
++#	      func_append moreargs " $fil"
++	      arg=$fil
++	      # A libtool-controlled object.
++
++	      # Check to see that this really is a libtool object.
++	      if func_lalib_unsafe_p "$arg"; then
++		pic_object=
++		non_pic_object=
++
++		# Read the .lo file
++		func_source "$arg"
++
++		if test -z "$pic_object" ||
++		   test -z "$non_pic_object" ||
++		   test "$pic_object" = none &&
++		   test "$non_pic_object" = none; then
++		  func_fatal_error "cannot find name of object for \`$arg'"
++		fi
++
++		# Extract subdirectory from the argument.
++		func_dirname "$arg" "/" ""
++		xdir="$func_dirname_result"
++
++		if test "$pic_object" != none; then
++		  # Prepend the subdirectory the object is found in.
++		  pic_object="$xdir$pic_object"
++
++		  if test "$prev" = dlfiles; then
++		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
++		      func_append dlfiles " $pic_object"
++		      prev=
++		      continue
++		    else
++		      # If libtool objects are unsupported, then we need to preload.
++		      prev=dlprefiles
++		    fi
++		  fi
++
++		  # CHECK ME:  I think I busted this.  -Ossama
++		  if test "$prev" = dlprefiles; then
++		    # Preload the old-style object.
++		    func_append dlprefiles " $pic_object"
++		    prev=
++		  fi
++
++		  # A PIC object.
++		  func_append libobjs " $pic_object"
++		  arg="$pic_object"
++		fi
++
++		# Non-PIC object.
++		if test "$non_pic_object" != none; then
++		  # Prepend the subdirectory the object is found in.
++		  non_pic_object="$xdir$non_pic_object"
++
++		  # A standard non-PIC object
++		  func_append non_pic_objects " $non_pic_object"
++		  if test -z "$pic_object" || test "$pic_object" = none ; then
++		    arg="$non_pic_object"
++		  fi
++		else
++		  # If the PIC object exists, use it instead.
++		  # $xdir was prepended to $pic_object above.
++		  non_pic_object="$pic_object"
++		  func_append non_pic_objects " $non_pic_object"
++		fi
++	      else
++		# Only an error if not doing a dry-run.
++		if $opt_dry_run; then
++		  # Extract subdirectory from the argument.
++		  func_dirname "$arg" "/" ""
++		  xdir="$func_dirname_result"
++
++		  func_lo2o "$arg"
++		  pic_object=$xdir$objdir/$func_lo2o_result
++		  non_pic_object=$xdir$func_lo2o_result
++		  func_append libobjs " $pic_object"
++		  func_append non_pic_objects " $non_pic_object"
++	        else
++		  func_fatal_error "\`$arg' is not a valid libtool object"
++		fi
++	      fi
++	    done
++	  else
++	    func_fatal_error "link input file \`$arg' does not exist"
++	  fi
++	  arg=$save_arg
++	  prev=
++	  continue
++	  ;;
++	precious_regex)
++	  precious_files_regex="$arg"
++	  prev=
++	  continue
++	  ;;
++	release)
++	  release="-$arg"
++	  prev=
++	  continue
++	  ;;
++	rpath | xrpath)
++	  # We need an absolute path.
++	  case $arg in
++	  [\\/]* | [A-Za-z]:[\\/]*) ;;
++	  *)
++	    func_fatal_error "only absolute run-paths are allowed"
++	    ;;
++	  esac
++	  if test "$prev" = rpath; then
++	    case "$rpath " in
++	    *" $arg "*) ;;
++	    *) func_append rpath " $arg" ;;
++	    esac
++	  else
++	    case "$xrpath " in
++	    *" $arg "*) ;;
++	    *) func_append xrpath " $arg" ;;
++	    esac
++	  fi
++	  prev=
++	  continue
++	  ;;
++	shrext)
++	  shrext_cmds="$arg"
++	  prev=
++	  continue
++	  ;;
++	weak)
++	  func_append weak_libs " $arg"
++	  prev=
++	  continue
++	  ;;
++	xcclinker)
++	  func_append linker_flags " $qarg"
++	  func_append compiler_flags " $qarg"
++	  prev=
++	  func_append compile_command " $qarg"
++	  func_append finalize_command " $qarg"
++	  continue
++	  ;;
++	xcompiler)
++	  func_append compiler_flags " $qarg"
++	  prev=
++	  func_append compile_command " $qarg"
++	  func_append finalize_command " $qarg"
++	  continue
++	  ;;
++	xlinker)
++	  func_append linker_flags " $qarg"
++	  func_append compiler_flags " $wl$qarg"
++	  prev=
++	  func_append compile_command " $wl$qarg"
++	  func_append finalize_command " $wl$qarg"
++	  continue
++	  ;;
++	*)
++	  eval "$prev=\"\$arg\""
++	  prev=
++	  continue
++	  ;;
++	esac
++      fi # test -n "$prev"
++
++      prevarg="$arg"
++
++      case $arg in
++      -all-static)
++	if test -n "$link_static_flag"; then
++	  # See comment for -static flag below, for more details.
++	  func_append compile_command " $link_static_flag"
++	  func_append finalize_command " $link_static_flag"
++	fi
++	continue
++	;;
++
++      -allow-undefined)
++	# FIXME: remove this flag sometime in the future.
++	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
++	;;
++
++      -avoid-version)
++	avoid_version=yes
++	continue
++	;;
++
++      -bindir)
++	prev=bindir
++	continue
++	;;
++
++      -dlopen)
++	prev=dlfiles
++	continue
++	;;
++
++      -dlpreopen)
++	prev=dlprefiles
++	continue
++	;;
++
++      -export-dynamic)
++	export_dynamic=yes
++	continue
++	;;
++
++      -export-symbols | -export-symbols-regex)
++	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
++	  func_fatal_error "more than one -exported-symbols argument is not allowed"
++	fi
++	if test "X$arg" = "X-export-symbols"; then
++	  prev=expsyms
++	else
++	  prev=expsyms_regex
++	fi
++	continue
++	;;
++
++      -framework)
++	prev=framework
++	continue
++	;;
++
++      -inst-prefix-dir)
++	prev=inst_prefix
++	continue
++	;;
++
++      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
++      # so, if we see these flags be careful not to treat them like -L
++      -L[A-Z][A-Z]*:*)
++	case $with_gcc/$host in
++	no/*-*-irix* | /*-*-irix*)
++	  func_append compile_command " $arg"
++	  func_append finalize_command " $arg"
++	  ;;
++	esac
++	continue
++	;;
++
++      -L*)
++	func_stripname "-L" '' "$arg"
++	if test -z "$func_stripname_result"; then
++	  if test "$#" -gt 0; then
++	    func_fatal_error "require no space between \`-L' and \`$1'"
++	  else
++	    func_fatal_error "need path for \`-L' option"
++	  fi
++	fi
++	func_resolve_sysroot "$func_stripname_result"
++	dir=$func_resolve_sysroot_result
++	# We need an absolute path.
++	case $dir in
++	[\\/]* | [A-Za-z]:[\\/]*) ;;
++	*)
++	  absdir=`cd "$dir" && pwd`
++	  test -z "$absdir" && \
++	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
++	  dir="$absdir"
++	  ;;
++	esac
++	case "$deplibs " in
++	*" -L$dir "* | *" $arg "*)
++	  # Will only happen for absolute or sysroot arguments
++	  ;;
++	*)
++	  # Preserve sysroot, but never include relative directories
++	  case $dir in
++	    [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
++	    *) func_append deplibs " -L$dir" ;;
++	  esac
++	  func_append lib_search_path " $dir"
++	  ;;
++	esac
++	case $host in
++	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
++	  testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
++	  case :$dllsearchpath: in
++	  *":$dir:"*) ;;
++	  ::) dllsearchpath=$dir;;
++	  *) func_append dllsearchpath ":$dir";;
++	  esac
++	  case :$dllsearchpath: in
++	  *":$testbindir:"*) ;;
++	  ::) dllsearchpath=$testbindir;;
++	  *) func_append dllsearchpath ":$testbindir";;
++	  esac
++	  ;;
++	esac
++	continue
++	;;
++
++      -l*)
++	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
++	  case $host in
++	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
++	    # These systems don't actually have a C or math library (as such)
++	    continue
++	    ;;
++	  *-*-os2*)
++	    # These systems don't actually have a C library (as such)
++	    test "X$arg" = "X-lc" && continue
++	    ;;
++	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
++	    # Do not include libc due to us having libc/libc_r.
++	    test "X$arg" = "X-lc" && continue
++	    ;;
++	  *-*-rhapsody* | *-*-darwin1.[012])
++	    # Rhapsody C and math libraries are in the System framework
++	    func_append deplibs " System.ltframework"
++	    continue
++	    ;;
++	  *-*-sco3.2v5* | *-*-sco5v6*)
++	    # Causes problems with __ctype
++	    test "X$arg" = "X-lc" && continue
++	    ;;
++	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
++	    # Compiler inserts libc in the correct place for threads to work
++	    test "X$arg" = "X-lc" && continue
++	    ;;
++	  esac
++	elif test "X$arg" = "X-lc_r"; then
++	 case $host in
++	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
++	   # Do not include libc_r directly, use -pthread flag.
++	   continue
++	   ;;
++	 esac
++	fi
++	func_append deplibs " $arg"
++	continue
++	;;
++
++      -module)
++	module=yes
++	continue
++	;;
++
++      # Tru64 UNIX uses -model [arg] to determine the layout of C++
++      # classes, name mangling, and exception handling.
++      # Darwin uses the -arch flag to determine output architecture.
++      -model|-arch|-isysroot|--sysroot)
++	func_append compiler_flags " $arg"
++	func_append compile_command " $arg"
++	func_append finalize_command " $arg"
++	prev=xcompiler
++	continue
++	;;
++
++      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
++      |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
++	func_append compiler_flags " $arg"
++	func_append compile_command " $arg"
++	func_append finalize_command " $arg"
++	case "$new_inherited_linker_flags " in
++	    *" $arg "*) ;;
++	    * ) func_append new_inherited_linker_flags " $arg" ;;
++	esac
++	continue
++	;;
++
++      -multi_module)
++	single_module="${wl}-multi_module"
++	continue
++	;;
++
++      -no-fast-install)
++	fast_install=no
++	continue
++	;;
++
++      -no-install)
++	case $host in
++	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
++	  # The PATH hackery in wrapper scripts is required on Windows
++	  # and Darwin in order for the loader to find any dlls it needs.
++	  func_warning "\`-no-install' is ignored for $host"
++	  func_warning "assuming \`-no-fast-install' instead"
++	  fast_install=no
++	  ;;
++	*) no_install=yes ;;
++	esac
++	continue
++	;;
++
++      -no-undefined)
++	allow_undefined=no
++	continue
++	;;
++
++      -objectlist)
++	prev=objectlist
++	continue
++	;;
++
++      -o) prev=output ;;
++
++      -precious-files-regex)
++	prev=precious_regex
++	continue
++	;;
++
++      -release)
++	prev=release
++	continue
++	;;
++
++      -rpath)
++	prev=rpath
++	continue
++	;;
++
++      -R)
++	prev=xrpath
++	continue
++	;;
++
++      -R*)
++	func_stripname '-R' '' "$arg"
++	dir=$func_stripname_result
++	# We need an absolute path.
++	case $dir in
++	[\\/]* | [A-Za-z]:[\\/]*) ;;
++	=*)
++	  func_stripname '=' '' "$dir"
++	  dir=$lt_sysroot$func_stripname_result
++	  ;;
++	*)
++	  func_fatal_error "only absolute run-paths are allowed"
++	  ;;
++	esac
++	case "$xrpath " in
++	*" $dir "*) ;;
++	*) func_append xrpath " $dir" ;;
++	esac
++	continue
++	;;
++
++      -shared)
++	# The effects of -shared are defined in a previous loop.
++	continue
++	;;
++
++      -shrext)
++	prev=shrext
++	continue
++	;;
++
++      -static | -static-libtool-libs)
++	# The effects of -static are defined in a previous loop.
++	# We used to do the same as -all-static on platforms that
++	# didn't have a PIC flag, but the assumption that the effects
++	# would be equivalent was wrong.  It would break on at least
++	# Digital Unix and AIX.
++	continue
++	;;
++
++      -thread-safe)
++	thread_safe=yes
++	continue
++	;;
++
++      -version-info)
++	prev=vinfo
++	continue
++	;;
++
++      -version-number)
++	prev=vinfo
++	vinfo_number=yes
++	continue
++	;;
++
++      -weak)
++        prev=weak
++	continue
++	;;
++
++      -Wc,*)
++	func_stripname '-Wc,' '' "$arg"
++	args=$func_stripname_result
++	arg=
++	save_ifs="$IFS"; IFS=','
++	for flag in $args; do
++	  IFS="$save_ifs"
++          func_quote_for_eval "$flag"
++	  func_append arg " $func_quote_for_eval_result"
++	  func_append compiler_flags " $func_quote_for_eval_result"
++	done
++	IFS="$save_ifs"
++	func_stripname ' ' '' "$arg"
++	arg=$func_stripname_result
++	;;
++
++      -Wl,*)
++	func_stripname '-Wl,' '' "$arg"
++	args=$func_stripname_result
++	arg=
++	save_ifs="$IFS"; IFS=','
++	for flag in $args; do
++	  IFS="$save_ifs"
++          func_quote_for_eval "$flag"
++	  func_append arg " $wl$func_quote_for_eval_result"
++	  func_append compiler_flags " $wl$func_quote_for_eval_result"
++	  func_append linker_flags " $func_quote_for_eval_result"
++	done
++	IFS="$save_ifs"
++	func_stripname ' ' '' "$arg"
++	arg=$func_stripname_result
++	;;
++
++      -Xcompiler)
++	prev=xcompiler
++	continue
++	;;
++
++      -Xlinker)
++	prev=xlinker
++	continue
++	;;
++
++      -XCClinker)
++	prev=xcclinker
++	continue
++	;;
++
++      # -msg_* for osf cc
++      -msg_*)
++	func_quote_for_eval "$arg"
++	arg="$func_quote_for_eval_result"
++	;;
++
++      # Flags to be passed through unchanged, with rationale:
++      # -64, -mips[0-9]      enable 64-bit mode for the SGI compiler
++      # -r[0-9][0-9]*        specify processor for the SGI compiler
++      # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
++      # +DA*, +DD*           enable 64-bit mode for the HP compiler
++      # -q*                  compiler args for the IBM compiler
++      # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
++      # -F/path              path to uninstalled frameworks, gcc on darwin
++      # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
++      # @file                GCC response files
++      # -tp=*                Portland pgcc target processor selection
++      # --sysroot=*          for sysroot support
++      # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
++      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
++      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
++      -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
++        func_quote_for_eval "$arg"
++	arg="$func_quote_for_eval_result"
++        func_append compile_command " $arg"
++        func_append finalize_command " $arg"
++        func_append compiler_flags " $arg"
++        continue
++        ;;
++
++      # Some other compiler flag.
++      -* | +*)
++        func_quote_for_eval "$arg"
++	arg="$func_quote_for_eval_result"
++	;;
++
++      *.$objext)
++	# A standard object.
++	func_append objs " $arg"
++	;;
++
++      *.lo)
++	# A libtool-controlled object.
++
++	# Check to see that this really is a libtool object.
++	if func_lalib_unsafe_p "$arg"; then
++	  pic_object=
++	  non_pic_object=
++
++	  # Read the .lo file
++	  func_source "$arg"
++
++	  if test -z "$pic_object" ||
++	     test -z "$non_pic_object" ||
++	     test "$pic_object" = none &&
++	     test "$non_pic_object" = none; then
++	    func_fatal_error "cannot find name of object for \`$arg'"
++	  fi
++
++	  # Extract subdirectory from the argument.
++	  func_dirname "$arg" "/" ""
++	  xdir="$func_dirname_result"
++
++	  if test "$pic_object" != none; then
++	    # Prepend the subdirectory the object is found in.
++	    pic_object="$xdir$pic_object"
++
++	    if test "$prev" = dlfiles; then
++	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
++		func_append dlfiles " $pic_object"
++		prev=
++		continue
++	      else
++		# If libtool objects are unsupported, then we need to preload.
++		prev=dlprefiles
++	      fi
++	    fi
++
++	    # CHECK ME:  I think I busted this.  -Ossama
++	    if test "$prev" = dlprefiles; then
++	      # Preload the old-style object.
++	      func_append dlprefiles " $pic_object"
++	      prev=
++	    fi
++
++	    # A PIC object.
++	    func_append libobjs " $pic_object"
++	    arg="$pic_object"
++	  fi
++
++	  # Non-PIC object.
++	  if test "$non_pic_object" != none; then
++	    # Prepend the subdirectory the object is found in.
++	    non_pic_object="$xdir$non_pic_object"
++
++	    # A standard non-PIC object
++	    func_append non_pic_objects " $non_pic_object"
++	    if test -z "$pic_object" || test "$pic_object" = none ; then
++	      arg="$non_pic_object"
++	    fi
++	  else
++	    # If the PIC object exists, use it instead.
++	    # $xdir was prepended to $pic_object above.
++	    non_pic_object="$pic_object"
++	    func_append non_pic_objects " $non_pic_object"
++	  fi
++	else
++	  # Only an error if not doing a dry-run.
++	  if $opt_dry_run; then
++	    # Extract subdirectory from the argument.
++	    func_dirname "$arg" "/" ""
++	    xdir="$func_dirname_result"
++
++	    func_lo2o "$arg"
++	    pic_object=$xdir$objdir/$func_lo2o_result
++	    non_pic_object=$xdir$func_lo2o_result
++	    func_append libobjs " $pic_object"
++	    func_append non_pic_objects " $non_pic_object"
++	  else
++	    func_fatal_error "\`$arg' is not a valid libtool object"
++	  fi
++	fi
++	;;
++
++      *.$libext)
++	# An archive.
++	func_append deplibs " $arg"
++	func_append old_deplibs " $arg"
++	continue
++	;;
++
++      *.la)
++	# A libtool-controlled library.
++
++	func_resolve_sysroot "$arg"
++	if test "$prev" = dlfiles; then
++	  # This library was specified with -dlopen.
++	  func_append dlfiles " $func_resolve_sysroot_result"
++	  prev=
++	elif test "$prev" = dlprefiles; then
++	  # The library was specified with -dlpreopen.
++	  func_append dlprefiles " $func_resolve_sysroot_result"
++	  prev=
++	else
++	  func_append deplibs " $func_resolve_sysroot_result"
++	fi
++	continue
++	;;
++
++      # Some other compiler argument.
++      *)
++	# Unknown arguments in both finalize_command and compile_command need
++	# to be aesthetically quoted because they are evaled later.
++	func_quote_for_eval "$arg"
++	arg="$func_quote_for_eval_result"
++	;;
++      esac # arg
++
++      # Now actually substitute the argument into the commands.
++      if test -n "$arg"; then
++	func_append compile_command " $arg"
++	func_append finalize_command " $arg"
++      fi
++    done # argument parsing loop
++
++    test -n "$prev" && \
++      func_fatal_help "the \`$prevarg' option requires an argument"
++
++    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
++      eval arg=\"$export_dynamic_flag_spec\"
++      func_append compile_command " $arg"
++      func_append finalize_command " $arg"
++    fi
++
++    oldlibs=
++    # calculate the name of the file, without its directory
++    func_basename "$output"
++    outputname="$func_basename_result"
++    libobjs_save="$libobjs"
++
++    if test -n "$shlibpath_var"; then
++      # get the directories listed in $shlibpath_var
++      eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
++    else
++      shlib_search_path=
++    fi
++    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
++    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
++
++    func_dirname "$output" "/" ""
++    output_objdir="$func_dirname_result$objdir"
++    func_to_tool_file "$output_objdir/"
++    tool_output_objdir=$func_to_tool_file_result
++    # Create the object directory.
++    func_mkdir_p "$output_objdir"
++
++    # Determine the type of output
++    case $output in
++    "")
++      func_fatal_help "you must specify an output file"
++      ;;
++    *.$libext) linkmode=oldlib ;;
++    *.lo | *.$objext) linkmode=obj ;;
++    *.la) linkmode=lib ;;
++    *) linkmode=prog ;; # Anything else should be a program.
++    esac
++
++    specialdeplibs=
++
++    libs=
++    # Find all interdependent deplibs by searching for libraries
++    # that are linked more than once (e.g. -la -lb -la)
++    for deplib in $deplibs; do
++      if $opt_preserve_dup_deps ; then
++	case "$libs " in
++	*" $deplib "*) func_append specialdeplibs " $deplib" ;;
++	esac
++      fi
++      func_append libs " $deplib"
++    done
++
++    if test "$linkmode" = lib; then
++      libs="$predeps $libs $compiler_lib_search_path $postdeps"
++
++      # Compute libraries that are listed more than once in $predeps
++      # $postdeps and mark them as special (i.e., whose duplicates are
++      # not to be eliminated).
++      pre_post_deps=
++      if $opt_duplicate_compiler_generated_deps; then
++	for pre_post_dep in $predeps $postdeps; do
++	  case "$pre_post_deps " in
++	  *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
++	  esac
++	  func_append pre_post_deps " $pre_post_dep"
++	done
++      fi
++      pre_post_deps=
++    fi
++
++    deplibs=
++    newdependency_libs=
++    newlib_search_path=
++    need_relink=no # whether we're linking any uninstalled libtool libraries
++    notinst_deplibs= # not-installed libtool libraries
++    notinst_path= # paths that contain not-installed libtool libraries
++
++    case $linkmode in
++    lib)
++	passes="conv dlpreopen link"
++	for file in $dlfiles $dlprefiles; do
++	  case $file in
++	  *.la) ;;
++	  *)
++	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
++	    ;;
++	  esac
++	done
++	;;
++    prog)
++	compile_deplibs=
++	finalize_deplibs=
++	alldeplibs=no
++	newdlfiles=
++	newdlprefiles=
++	passes="conv scan dlopen dlpreopen link"
++	;;
++    *)  passes="conv"
++	;;
++    esac
++
++    for pass in $passes; do
++      # The preopen pass in lib mode reverses $deplibs; put it back here
++      # so that -L comes before libs that need it for instance...
++      if test "$linkmode,$pass" = "lib,link"; then
++	## FIXME: Find the place where the list is rebuilt in the wrong
++	##        order, and fix it there properly
++        tmp_deplibs=
++	for deplib in $deplibs; do
++	  tmp_deplibs="$deplib $tmp_deplibs"
++	done
++	deplibs="$tmp_deplibs"
++      fi
++
++      if test "$linkmode,$pass" = "lib,link" ||
++	 test "$linkmode,$pass" = "prog,scan"; then
++	libs="$deplibs"
++	deplibs=
++      fi
++      if test "$linkmode" = prog; then
++	case $pass in
++	dlopen) libs="$dlfiles" ;;
++	dlpreopen) libs="$dlprefiles" ;;
++	link)
++	  libs="$deplibs %DEPLIBS%"
++	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
++	  ;;
++	esac
++      fi
++      if test "$linkmode,$pass" = "lib,dlpreopen"; then
++	# Collect and forward deplibs of preopened libtool libs
++	for lib in $dlprefiles; do
++	  # Ignore non-libtool-libs
++	  dependency_libs=
++	  func_resolve_sysroot "$lib"
++	  case $lib in
++	  *.la)	func_source "$func_resolve_sysroot_result" ;;
++	  esac
++
++	  # Collect preopened libtool deplibs, except any this library
++	  # has declared as weak libs
++	  for deplib in $dependency_libs; do
++	    func_basename "$deplib"
++            deplib_base=$func_basename_result
++	    case " $weak_libs " in
++	    *" $deplib_base "*) ;;
++	    *) func_append deplibs " $deplib" ;;
++	    esac
++	  done
++	done
++	libs="$dlprefiles"
++      fi
++      if test "$pass" = dlopen; then
++	# Collect dlpreopened libraries
++	save_deplibs="$deplibs"
++	deplibs=
++      fi
++
++      for deplib in $libs; do
++	lib=
++	found=no
++	case $deplib in
++	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
++        |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
++	  if test "$linkmode,$pass" = "prog,link"; then
++	    compile_deplibs="$deplib $compile_deplibs"
++	    finalize_deplibs="$deplib $finalize_deplibs"
++	  else
++	    func_append compiler_flags " $deplib"
++	    if test "$linkmode" = lib ; then
++		case "$new_inherited_linker_flags " in
++		    *" $deplib "*) ;;
++		    * ) func_append new_inherited_linker_flags " $deplib" ;;
++		esac
++	    fi
++	  fi
++	  continue
++	  ;;
++	-l*)
++	  if test "$linkmode" != lib && test "$linkmode" != prog; then
++	    func_warning "\`-l' is ignored for archives/objects"
++	    continue
++	  fi
++	  func_stripname '-l' '' "$deplib"
++	  name=$func_stripname_result
++	  if test "$linkmode" = lib; then
++	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
++	  else
++	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
++	  fi
++	  for searchdir in $searchdirs; do
++	    for search_ext in .la $std_shrext .so .a; do
++	      # Search the libtool library
++	      lib="$searchdir/lib${name}${search_ext}"
++	      if test -f "$lib"; then
++		if test "$search_ext" = ".la"; then
++		  found=yes
++		else
++		  found=no
++		fi
++		break 2
++	      fi
++	    done
++	  done
++	  if test "$found" != yes; then
++	    # deplib doesn't seem to be a libtool library
++	    if test "$linkmode,$pass" = "prog,link"; then
++	      compile_deplibs="$deplib $compile_deplibs"
++	      finalize_deplibs="$deplib $finalize_deplibs"
++	    else
++	      deplibs="$deplib $deplibs"
++	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
++	    fi
++	    continue
++	  else # deplib is a libtool library
++	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
++	    # We need to do some special things here, and not later.
++	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
++	      case " $predeps $postdeps " in
++	      *" $deplib "*)
++		if func_lalib_p "$lib"; then
++		  library_names=
++		  old_library=
++		  func_source "$lib"
++		  for l in $old_library $library_names; do
++		    ll="$l"
++		  done
++		  if test "X$ll" = "X$old_library" ; then # only static version available
++		    found=no
++		    func_dirname "$lib" "" "."
++		    ladir="$func_dirname_result"
++		    lib=$ladir/$old_library
++		    if test "$linkmode,$pass" = "prog,link"; then
++		      compile_deplibs="$deplib $compile_deplibs"
++		      finalize_deplibs="$deplib $finalize_deplibs"
++		    else
++		      deplibs="$deplib $deplibs"
++		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
++		    fi
++		    continue
++		  fi
++		fi
++		;;
++	      *) ;;
++	      esac
++	    fi
++	  fi
++	  ;; # -l
++	*.ltframework)
++	  if test "$linkmode,$pass" = "prog,link"; then
++	    compile_deplibs="$deplib $compile_deplibs"
++	    finalize_deplibs="$deplib $finalize_deplibs"
++	  else
++	    deplibs="$deplib $deplibs"
++	    if test "$linkmode" = lib ; then
++		case "$new_inherited_linker_flags " in
++		    *" $deplib "*) ;;
++		    * ) func_append new_inherited_linker_flags " $deplib" ;;
++		esac
++	    fi
++	  fi
++	  continue
++	  ;;
++	-L*)
++	  case $linkmode in
++	  lib)
++	    deplibs="$deplib $deplibs"
++	    test "$pass" = conv && continue
++	    newdependency_libs="$deplib $newdependency_libs"
++	    func_stripname '-L' '' "$deplib"
++	    func_resolve_sysroot "$func_stripname_result"
++	    func_append newlib_search_path " $func_resolve_sysroot_result"
++	    ;;
++	  prog)
++	    if test "$pass" = conv; then
++	      deplibs="$deplib $deplibs"
++	      continue
++	    fi
++	    if test "$pass" = scan; then
++	      deplibs="$deplib $deplibs"
++	    else
++	      compile_deplibs="$deplib $compile_deplibs"
++	      finalize_deplibs="$deplib $finalize_deplibs"
++	    fi
++	    func_stripname '-L' '' "$deplib"
++	    func_resolve_sysroot "$func_stripname_result"
++	    func_append newlib_search_path " $func_resolve_sysroot_result"
++	    ;;
++	  *)
++	    func_warning "\`-L' is ignored for archives/objects"
++	    ;;
++	  esac # linkmode
++	  continue
++	  ;; # -L
++	-R*)
++	  if test "$pass" = link; then
++	    func_stripname '-R' '' "$deplib"
++	    func_resolve_sysroot "$func_stripname_result"
++	    dir=$func_resolve_sysroot_result
++	    # Make sure the xrpath contains only unique directories.
++	    case "$xrpath " in
++	    *" $dir "*) ;;
++	    *) func_append xrpath " $dir" ;;
++	    esac
++	  fi
++	  deplibs="$deplib $deplibs"
++	  continue
++	  ;;
++	*.la)
++	  func_resolve_sysroot "$deplib"
++	  lib=$func_resolve_sysroot_result
++	  ;;
++	*.$libext)
++	  if test "$pass" = conv; then
++	    deplibs="$deplib $deplibs"
++	    continue
++	  fi
++	  case $linkmode in
++	  lib)
++	    # Linking convenience modules into shared libraries is allowed,
++	    # but linking other static libraries is non-portable.
++	    case " $dlpreconveniencelibs " in
++	    *" $deplib "*) ;;
++	    *)
++	      valid_a_lib=no
++	      case $deplibs_check_method in
++		match_pattern*)
++		  set dummy $deplibs_check_method; shift
++		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
++		  if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
++		    | $EGREP "$match_pattern_regex" > /dev/null; then
++		    valid_a_lib=yes
++		  fi
++		;;
++		pass_all)
++		  valid_a_lib=yes
++		;;
++	      esac
++	      if test "$valid_a_lib" != yes; then
++		echo
++		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
++		echo "*** I have the capability to make that library automatically link in when"
++		echo "*** you link to this library.  But I can only do this if you have a"
++		echo "*** shared version of the library, which you do not appear to have"
++		echo "*** because the file extensions .$libext of this argument makes me believe"
++		echo "*** that it is just a static archive that I should not use here."
++	      else
++		echo
++		$ECHO "*** Warning: Linking the shared library $output against the"
++		$ECHO "*** static library $deplib is not portable!"
++		deplibs="$deplib $deplibs"
++	      fi
++	      ;;
++	    esac
++	    continue
++	    ;;
++	  prog)
++	    if test "$pass" != link; then
++	      deplibs="$deplib $deplibs"
++	    else
++	      compile_deplibs="$deplib $compile_deplibs"
++	      finalize_deplibs="$deplib $finalize_deplibs"
++	    fi
++	    continue
++	    ;;
++	  esac # linkmode
++	  ;; # *.$libext
++	*.lo | *.$objext)
++	  if test "$pass" = conv; then
++	    deplibs="$deplib $deplibs"
++	  elif test "$linkmode" = prog; then
++	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
++	      # If there is no dlopen support or we're linking statically,
++	      # we need to preload.
++	      func_append newdlprefiles " $deplib"
++	      compile_deplibs="$deplib $compile_deplibs"
++	      finalize_deplibs="$deplib $finalize_deplibs"
++	    else
++	      func_append newdlfiles " $deplib"
++	    fi
++	  fi
++	  continue
++	  ;;
++	%DEPLIBS%)
++	  alldeplibs=yes
++	  continue
++	  ;;
++	esac # case $deplib
++
++	if test "$found" = yes || test -f "$lib"; then :
++	else
++	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
++	fi
++
++	# Check to see that this really is a libtool archive.
++	func_lalib_unsafe_p "$lib" \
++	  || func_fatal_error "\`$lib' is not a valid libtool archive"
++
++	func_dirname "$lib" "" "."
++	ladir="$func_dirname_result"
++
++	dlname=
++	dlopen=
++	dlpreopen=
++	libdir=
++	library_names=
++	old_library=
++	inherited_linker_flags=
++	# If the library was installed with an old release of libtool,
++	# it will not redefine variables installed, or shouldnotlink
++	installed=yes
++	shouldnotlink=no
++	avoidtemprpath=
++
++
++	# Read the .la file
++	func_source "$lib"
++
++	# Convert "-framework foo" to "foo.ltframework"
++	if test -n "$inherited_linker_flags"; then
++	  tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
++	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
++	    case " $new_inherited_linker_flags " in
++	      *" $tmp_inherited_linker_flag "*) ;;
++	      *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
++	    esac
++	  done
++	fi
++	dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
++	if test "$linkmode,$pass" = "lib,link" ||
++	   test "$linkmode,$pass" = "prog,scan" ||
++	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
++	  test -n "$dlopen" && func_append dlfiles " $dlopen"
++	  test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
++	fi
++
++	if test "$pass" = conv; then
++	  # Only check for convenience libraries
++	  deplibs="$lib $deplibs"
++	  if test -z "$libdir"; then
++	    if test -z "$old_library"; then
++	      func_fatal_error "cannot find name of link library for \`$lib'"
++	    fi
++	    # It is a libtool convenience library, so add in its objects.
++	    func_append convenience " $ladir/$objdir/$old_library"
++	    func_append old_convenience " $ladir/$objdir/$old_library"
++	    tmp_libs=
++	    for deplib in $dependency_libs; do
++	      deplibs="$deplib $deplibs"
++	      if $opt_preserve_dup_deps ; then
++		case "$tmp_libs " in
++		*" $deplib "*) func_append specialdeplibs " $deplib" ;;
++		esac
++	      fi
++	      func_append tmp_libs " $deplib"
++	    done
++	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
++	    func_fatal_error "\`$lib' is not a convenience library"
++	  fi
++	  continue
++	fi # $pass = conv
++
++
++	# Get the name of the library we link against.
++	linklib=
++	if test -n "$old_library" &&
++	   { test "$prefer_static_libs" = yes ||
++	     test "$prefer_static_libs,$installed" = "built,no"; }; then
++	  linklib=$old_library
++	else
++	  for l in $old_library $library_names; do
++	    linklib="$l"
++	  done
++	fi
++	if test -z "$linklib"; then
++	  func_fatal_error "cannot find name of link library for \`$lib'"
++	fi
++
++	# This library was specified with -dlopen.
++	if test "$pass" = dlopen; then
++	  if test -z "$libdir"; then
++	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
++	  fi
++	  if test -z "$dlname" ||
++	     test "$dlopen_support" != yes ||
++	     test "$build_libtool_libs" = no; then
++	    # If there is no dlname, no dlopen support or we're linking
++	    # statically, we need to preload.  We also need to preload any
++	    # dependent libraries so libltdl's deplib preloader doesn't
++	    # bomb out in the load deplibs phase.
++	    func_append dlprefiles " $lib $dependency_libs"
++	  else
++	    func_append newdlfiles " $lib"
++	  fi
++	  continue
++	fi # $pass = dlopen
++
++	# We need an absolute path.
++	case $ladir in
++	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
++	*)
++	  abs_ladir=`cd "$ladir" && pwd`
++	  if test -z "$abs_ladir"; then
++	    func_warning "cannot determine absolute directory name of \`$ladir'"
++	    func_warning "passing it literally to the linker, although it might fail"
++	    abs_ladir="$ladir"
++	  fi
++	  ;;
++	esac
++	func_basename "$lib"
++	laname="$func_basename_result"
++
++	# Find the relevant object directory and library name.
++	if test "X$installed" = Xyes; then
++	  if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
++	    func_warning "library \`$lib' was moved."
++	    dir="$ladir"
++	    absdir="$abs_ladir"
++	    libdir="$abs_ladir"
++	  else
++	    dir="$lt_sysroot$libdir"
++	    absdir="$lt_sysroot$libdir"
++	  fi
++	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
++	else
++	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
++	    dir="$ladir"
++	    absdir="$abs_ladir"
++	    # Remove this search path later
++	    func_append notinst_path " $abs_ladir"
++	  else
++	    dir="$ladir/$objdir"
++	    absdir="$abs_ladir/$objdir"
++	    # Remove this search path later
++	    func_append notinst_path " $abs_ladir"
++	  fi
++	fi # $installed = yes
++	func_stripname 'lib' '.la' "$laname"
++	name=$func_stripname_result
++
++	# This library was specified with -dlpreopen.
++	if test "$pass" = dlpreopen; then
++	  if test -z "$libdir" && test "$linkmode" = prog; then
++	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
++	  fi
++	  case "$host" in
++	    # special handling for platforms with PE-DLLs.
++	    *cygwin* | *mingw* | *cegcc* )
++	      # Linker will automatically link against shared library if both
++	      # static and shared are present.  Therefore, ensure we extract
++	      # symbols from the import library if a shared library is present
++	      # (otherwise, the dlopen module name will be incorrect).  We do
++	      # this by putting the import library name into $newdlprefiles.
++	      # We recover the dlopen module name by 'saving' the la file
++	      # name in a special purpose variable, and (later) extracting the
++	      # dlname from the la file.
++	      if test -n "$dlname"; then
++	        func_tr_sh "$dir/$linklib"
++	        eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
++	        func_append newdlprefiles " $dir/$linklib"
++	      else
++	        func_append newdlprefiles " $dir/$old_library"
++	        # Keep a list of preopened convenience libraries to check
++	        # that they are being used correctly in the link pass.
++	        test -z "$libdir" && \
++	          func_append dlpreconveniencelibs " $dir/$old_library"
++	      fi
++	    ;;
++	    * )
++	      # Prefer using a static library (so that no silly _DYNAMIC symbols
++	      # are required to link).
++	      if test -n "$old_library"; then
++	        func_append newdlprefiles " $dir/$old_library"
++	        # Keep a list of preopened convenience libraries to check
++	        # that they are being used correctly in the link pass.
++	        test -z "$libdir" && \
++	          func_append dlpreconveniencelibs " $dir/$old_library"
++	      # Otherwise, use the dlname, so that lt_dlopen finds it.
++	      elif test -n "$dlname"; then
++	        func_append newdlprefiles " $dir/$dlname"
++	      else
++	        func_append newdlprefiles " $dir/$linklib"
++	      fi
++	    ;;
++	  esac
++	fi # $pass = dlpreopen
++
++	if test -z "$libdir"; then
++	  # Link the convenience library
++	  if test "$linkmode" = lib; then
++	    deplibs="$dir/$old_library $deplibs"
++	  elif test "$linkmode,$pass" = "prog,link"; then
++	    compile_deplibs="$dir/$old_library $compile_deplibs"
++	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
++	  else
++	    deplibs="$lib $deplibs" # used for prog,scan pass
++	  fi
++	  continue
++	fi
++
++
++	if test "$linkmode" = prog && test "$pass" != link; then
++	  func_append newlib_search_path " $ladir"
++	  deplibs="$lib $deplibs"
++
++	  linkalldeplibs=no
++	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
++	     test "$build_libtool_libs" = no; then
++	    linkalldeplibs=yes
++	  fi
++
++	  tmp_libs=
++	  for deplib in $dependency_libs; do
++	    case $deplib in
++	    -L*) func_stripname '-L' '' "$deplib"
++	         func_resolve_sysroot "$func_stripname_result"
++	         func_append newlib_search_path " $func_resolve_sysroot_result"
++		 ;;
++	    esac
++	    # Need to link against all dependency_libs?
++	    if test "$linkalldeplibs" = yes; then
++	      deplibs="$deplib $deplibs"
++	    else
++	      # Need to hardcode shared library paths
++	      # or/and link against static libraries
++	      newdependency_libs="$deplib $newdependency_libs"
++	    fi
++	    if $opt_preserve_dup_deps ; then
++	      case "$tmp_libs " in
++	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
++	      esac
++	    fi
++	    func_append tmp_libs " $deplib"
++	  done # for deplib
++	  continue
++	fi # $linkmode = prog...
++
++	if test "$linkmode,$pass" = "prog,link"; then
++	  if test -n "$library_names" &&
++	     { { test "$prefer_static_libs" = no ||
++	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
++	       test -z "$old_library"; }; then
++	    # We need to hardcode the library path
++	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
++	      # Make sure the rpath contains only unique directories.
++	      case "$temp_rpath:" in
++	      *"$absdir:"*) ;;
++	      *) func_append temp_rpath "$absdir:" ;;
++	      esac
++	    fi
++
++	    # Hardcode the library path.
++	    # Skip directories that are in the system default run-time
++	    # search path.
++	    case " $sys_lib_dlsearch_path " in
++	    *" $absdir "*) ;;
++	    *)
++	      case "$compile_rpath " in
++	      *" $absdir "*) ;;
++	      *) func_append compile_rpath " $absdir" ;;
++	      esac
++	      ;;
++	    esac
++	    case " $sys_lib_dlsearch_path " in
++	    *" $libdir "*) ;;
++	    *)
++	      case "$finalize_rpath " in
++	      *" $libdir "*) ;;
++	      *) func_append finalize_rpath " $libdir" ;;
++	      esac
++	      ;;
++	    esac
++	  fi # $linkmode,$pass = prog,link...
++
++	  if test "$alldeplibs" = yes &&
++	     { test "$deplibs_check_method" = pass_all ||
++	       { test "$build_libtool_libs" = yes &&
++		 test -n "$library_names"; }; }; then
++	    # We only need to search for static libraries
++	    continue
++	  fi
++	fi
++
++	link_static=no # Whether the deplib will be linked statically
++	use_static_libs=$prefer_static_libs
++	if test "$use_static_libs" = built && test "$installed" = yes; then
++	  use_static_libs=no
++	fi
++	if test -n "$library_names" &&
++	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
++	  case $host in
++	  *cygwin* | *mingw* | *cegcc*)
++	      # No point in relinking DLLs because paths are not encoded
++	      func_append notinst_deplibs " $lib"
++	      need_relink=no
++	    ;;
++	  *)
++	    if test "$installed" = no; then
++	      func_append notinst_deplibs " $lib"
++	      need_relink=yes
++	    fi
++	    ;;
++	  esac
++	  # This is a shared library
++
++	  # Warn about portability, can't link against -module's on some
++	  # systems (darwin).  Don't bleat about dlopened modules though!
++	  dlopenmodule=""
++	  for dlpremoduletest in $dlprefiles; do
++	    if test "X$dlpremoduletest" = "X$lib"; then
++	      dlopenmodule="$dlpremoduletest"
++	      break
++	    fi
++	  done
++	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
++	    echo
++	    if test "$linkmode" = prog; then
++	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
++	    else
++	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
++	    fi
++	    $ECHO "*** $linklib is not portable!"
++	  fi
++	  if test "$linkmode" = lib &&
++	     test "$hardcode_into_libs" = yes; then
++	    # Hardcode the library path.
++	    # Skip directories that are in the system default run-time
++	    # search path.
++	    case " $sys_lib_dlsearch_path " in
++	    *" $absdir "*) ;;
++	    *)
++	      case "$compile_rpath " in
++	      *" $absdir "*) ;;
++	      *) func_append compile_rpath " $absdir" ;;
++	      esac
++	      ;;
++	    esac
++	    case " $sys_lib_dlsearch_path " in
++	    *" $libdir "*) ;;
++	    *)
++	      case "$finalize_rpath " in
++	      *" $libdir "*) ;;
++	      *) func_append finalize_rpath " $libdir" ;;
++	      esac
++	      ;;
++	    esac
++	  fi
++
++	  if test -n "$old_archive_from_expsyms_cmds"; then
++	    # figure out the soname
++	    set dummy $library_names
++	    shift
++	    realname="$1"
++	    shift
++	    libname=`eval "\\$ECHO \"$libname_spec\""`
++	    # use dlname if we got it. it's perfectly good, no?
++	    if test -n "$dlname"; then
++	      soname="$dlname"
++	    elif test -n "$soname_spec"; then
++	      # bleh windows
++	      case $host in
++	      *cygwin* | mingw* | *cegcc*)
++	        func_arith $current - $age
++		major=$func_arith_result
++		versuffix="-$major"
++		;;
++	      esac
++	      eval soname=\"$soname_spec\"
++	    else
++	      soname="$realname"
++	    fi
++
++	    # Make a new name for the extract_expsyms_cmds to use
++	    soroot="$soname"
++	    func_basename "$soroot"
++	    soname="$func_basename_result"
++	    func_stripname 'lib' '.dll' "$soname"
++	    newlib=libimp-$func_stripname_result.a
++
++	    # If the library has no export list, then create one now
++	    if test -f "$output_objdir/$soname-def"; then :
++	    else
++	      func_verbose "extracting exported symbol list from \`$soname'"
++	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
++	    fi
++
++	    # Create $newlib
++	    if test -f "$output_objdir/$newlib"; then :; else
++	      func_verbose "generating import library for \`$soname'"
++	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
++	    fi
++	    # make sure the library variables are pointing to the new library
++	    dir=$output_objdir
++	    linklib=$newlib
++	  fi # test -n "$old_archive_from_expsyms_cmds"
++
++	  if test "$linkmode" = prog || test "$opt_mode" != relink; then
++	    add_shlibpath=
++	    add_dir=
++	    add=
++	    lib_linked=yes
++	    case $hardcode_action in
++	    immediate | unsupported)
++	      if test "$hardcode_direct" = no; then
++		add="$dir/$linklib"
++		case $host in
++		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
++		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
++		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
++		    *-*-unixware7*) add_dir="-L$dir" ;;
++		  *-*-darwin* )
++		    # if the lib is a (non-dlopened) module then we can not
++		    # link against it, someone is ignoring the earlier warnings
++		    if /usr/bin/file -L $add 2> /dev/null |
++			 $GREP ": [^:]* bundle" >/dev/null ; then
++		      if test "X$dlopenmodule" != "X$lib"; then
++			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
++			if test -z "$old_library" ; then
++			  echo
++			  echo "*** And there doesn't seem to be a static archive available"
++			  echo "*** The link will probably fail, sorry"
++			else
++			  add="$dir/$old_library"
++			fi
++		      elif test -n "$old_library"; then
++			add="$dir/$old_library"
++		      fi
++		    fi
++		esac
++	      elif test "$hardcode_minus_L" = no; then
++		case $host in
++		*-*-sunos*) add_shlibpath="$dir" ;;
++		esac
++		add_dir="-L$dir"
++		add="-l$name"
++	      elif test "$hardcode_shlibpath_var" = no; then
++		add_shlibpath="$dir"
++		add="-l$name"
++	      else
++		lib_linked=no
++	      fi
++	      ;;
++	    relink)
++	      if test "$hardcode_direct" = yes &&
++	         test "$hardcode_direct_absolute" = no; then
++		add="$dir/$linklib"
++	      elif test "$hardcode_minus_L" = yes; then
++		add_dir="-L$absdir"
++		# Try looking first in the location we're being installed to.
++		if test -n "$inst_prefix_dir"; then
++		  case $libdir in
++		    [\\/]*)
++		      func_append add_dir " -L$inst_prefix_dir$libdir"
++		      ;;
++		  esac
++		fi
++		add="-l$name"
++	      elif test "$hardcode_shlibpath_var" = yes; then
++		add_shlibpath="$dir"
++		add="-l$name"
++	      else
++		lib_linked=no
++	      fi
++	      ;;
++	    *) lib_linked=no ;;
++	    esac
++
++	    if test "$lib_linked" != yes; then
++	      func_fatal_configuration "unsupported hardcode properties"
++	    fi
++
++	    if test -n "$add_shlibpath"; then
++	      case :$compile_shlibpath: in
++	      *":$add_shlibpath:"*) ;;
++	      *) func_append compile_shlibpath "$add_shlibpath:" ;;
++	      esac
++	    fi
++	    if test "$linkmode" = prog; then
++	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
++	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
++	    else
++	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
++	      test -n "$add" && deplibs="$add $deplibs"
++	      if test "$hardcode_direct" != yes &&
++		 test "$hardcode_minus_L" != yes &&
++		 test "$hardcode_shlibpath_var" = yes; then
++		case :$finalize_shlibpath: in
++		*":$libdir:"*) ;;
++		*) func_append finalize_shlibpath "$libdir:" ;;
++		esac
++	      fi
++	    fi
++	  fi
++
++	  if test "$linkmode" = prog || test "$opt_mode" = relink; then
++	    add_shlibpath=
++	    add_dir=
++	    add=
++	    # Finalize command for both is simple: just hardcode it.
++	    if test "$hardcode_direct" = yes &&
++	       test "$hardcode_direct_absolute" = no; then
++	      add="$libdir/$linklib"
++	    elif test "$hardcode_minus_L" = yes; then
++	      add_dir="-L$libdir"
++	      add="-l$name"
++	    elif test "$hardcode_shlibpath_var" = yes; then
++	      case :$finalize_shlibpath: in
++	      *":$libdir:"*) ;;
++	      *) func_append finalize_shlibpath "$libdir:" ;;
++	      esac
++	      add="-l$name"
++	    elif test "$hardcode_automatic" = yes; then
++	      if test -n "$inst_prefix_dir" &&
++		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
++		add="$inst_prefix_dir$libdir/$linklib"
++	      else
++		add="$libdir/$linklib"
++	      fi
++	    else
++	      # We cannot seem to hardcode it, guess we'll fake it.
++	      add_dir="-L$libdir"
++	      # Try looking first in the location we're being installed to.
++	      if test -n "$inst_prefix_dir"; then
++		case $libdir in
++		  [\\/]*)
++		    func_append add_dir " -L$inst_prefix_dir$libdir"
++		    ;;
++		esac
++	      fi
++	      add="-l$name"
++	    fi
++
++	    if test "$linkmode" = prog; then
++	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
++	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
++	    else
++	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
++	      test -n "$add" && deplibs="$add $deplibs"
++	    fi
++	  fi
++	elif test "$linkmode" = prog; then
++	  # Here we assume that one of hardcode_direct or hardcode_minus_L
++	  # is not unsupported.  This is valid on all known static and
++	  # shared platforms.
++	  if test "$hardcode_direct" != unsupported; then
++	    test -n "$old_library" && linklib="$old_library"
++	    compile_deplibs="$dir/$linklib $compile_deplibs"
++	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
++	  else
++	    compile_deplibs="-l$name -L$dir $compile_deplibs"
++	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
++	  fi
++	elif test "$build_libtool_libs" = yes; then
++	  # Not a shared library
++	  if test "$deplibs_check_method" != pass_all; then
++	    # We're trying link a shared library against a static one
++	    # but the system doesn't support it.
++
++	    # Just print a warning and add the library to dependency_libs so
++	    # that the program can be linked against the static library.
++	    echo
++	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
++	    echo "*** I have the capability to make that library automatically link in when"
++	    echo "*** you link to this library.  But I can only do this if you have a"
++	    echo "*** shared version of the library, which you do not appear to have."
++	    if test "$module" = yes; then
++	      echo "*** But as you try to build a module library, libtool will still create "
++	      echo "*** a static module, that should work as long as the dlopening application"
++	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
++	      if test -z "$global_symbol_pipe"; then
++		echo
++		echo "*** However, this would only work if libtool was able to extract symbol"
++		echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
++		echo "*** not find such a program.  So, this module is probably useless."
++		echo "*** \`nm' from GNU binutils and a full rebuild may help."
++	      fi
++	      if test "$build_old_libs" = no; then
++		build_libtool_libs=module
++		build_old_libs=yes
++	      else
++		build_libtool_libs=no
++	      fi
++	    fi
++	  else
++	    deplibs="$dir/$old_library $deplibs"
++	    link_static=yes
++	  fi
++	fi # link shared/static library?
++
++	if test "$linkmode" = lib; then
++	  if test -n "$dependency_libs" &&
++	     { test "$hardcode_into_libs" != yes ||
++	       test "$build_old_libs" = yes ||
++	       test "$link_static" = yes; }; then
++	    # Extract -R from dependency_libs
++	    temp_deplibs=
++	    for libdir in $dependency_libs; do
++	      case $libdir in
++	      -R*) func_stripname '-R' '' "$libdir"
++	           temp_xrpath=$func_stripname_result
++		   case " $xrpath " in
++		   *" $temp_xrpath "*) ;;
++		   *) func_append xrpath " $temp_xrpath";;
++		   esac;;
++	      *) func_append temp_deplibs " $libdir";;
++	      esac
++	    done
++	    dependency_libs="$temp_deplibs"
++	  fi
++
++	  func_append newlib_search_path " $absdir"
++	  # Link against this library
++	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
++	  # ... and its dependency_libs
++	  tmp_libs=
++	  for deplib in $dependency_libs; do
++	    newdependency_libs="$deplib $newdependency_libs"
++	    case $deplib in
++              -L*) func_stripname '-L' '' "$deplib"
++                   func_resolve_sysroot "$func_stripname_result";;
++              *) func_resolve_sysroot "$deplib" ;;
++            esac
++	    if $opt_preserve_dup_deps ; then
++	      case "$tmp_libs " in
++	      *" $func_resolve_sysroot_result "*)
++                func_append specialdeplibs " $func_resolve_sysroot_result" ;;
++	      esac
++	    fi
++	    func_append tmp_libs " $func_resolve_sysroot_result"
++	  done
++
++	  if test "$link_all_deplibs" != no; then
++	    # Add the search paths of all dependency libraries
++	    for deplib in $dependency_libs; do
++	      path=
++	      case $deplib in
++	      -L*) path="$deplib" ;;
++	      *.la)
++	        func_resolve_sysroot "$deplib"
++	        deplib=$func_resolve_sysroot_result
++	        func_dirname "$deplib" "" "."
++		dir=$func_dirname_result
++		# We need an absolute path.
++		case $dir in
++		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
++		*)
++		  absdir=`cd "$dir" && pwd`
++		  if test -z "$absdir"; then
++		    func_warning "cannot determine absolute directory name of \`$dir'"
++		    absdir="$dir"
++		  fi
++		  ;;
++		esac
++		if $GREP "^installed=no" $deplib > /dev/null; then
++		case $host in
++		*-*-darwin*)
++		  depdepl=
++		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
++		  if test -n "$deplibrary_names" ; then
++		    for tmp in $deplibrary_names ; do
++		      depdepl=$tmp
++		    done
++		    if test -f "$absdir/$objdir/$depdepl" ; then
++		      depdepl="$absdir/$objdir/$depdepl"
++		      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
++                      if test -z "$darwin_install_name"; then
++                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
++                      fi
++		      func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
++		      func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
++		      path=
++		    fi
++		  fi
++		  ;;
++		*)
++		  path="-L$absdir/$objdir"
++		  ;;
++		esac
++		else
++		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++		  test -z "$libdir" && \
++		    func_fatal_error "\`$deplib' is not a valid libtool archive"
++		  test "$absdir" != "$libdir" && \
++		    func_warning "\`$deplib' seems to be moved"
++
++		  path="-L$absdir"
++		fi
++		;;
++	      esac
++	      case " $deplibs " in
++	      *" $path "*) ;;
++	      *) deplibs="$path $deplibs" ;;
++	      esac
++	    done
++	  fi # link_all_deplibs != no
++	fi # linkmode = lib
++      done # for deplib in $libs
++      if test "$pass" = link; then
++	if test "$linkmode" = "prog"; then
++	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
++	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
++	else
++	  compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
++	fi
++      fi
++      dependency_libs="$newdependency_libs"
++      if test "$pass" = dlpreopen; then
++	# Link the dlpreopened libraries before other libraries
++	for deplib in $save_deplibs; do
++	  deplibs="$deplib $deplibs"
++	done
++      fi
++      if test "$pass" != dlopen; then
++	if test "$pass" != conv; then
++	  # Make sure lib_search_path contains only unique directories.
++	  lib_search_path=
++	  for dir in $newlib_search_path; do
++	    case "$lib_search_path " in
++	    *" $dir "*) ;;
++	    *) func_append lib_search_path " $dir" ;;
++	    esac
++	  done
++	  newlib_search_path=
++	fi
++
++	if test "$linkmode,$pass" != "prog,link"; then
++	  vars="deplibs"
++	else
++	  vars="compile_deplibs finalize_deplibs"
++	fi
++	for var in $vars dependency_libs; do
++	  # Add libraries to $var in reverse order
++	  eval tmp_libs=\"\$$var\"
++	  new_libs=
++	  for deplib in $tmp_libs; do
++	    # FIXME: Pedantically, this is the right thing to do, so
++	    #        that some nasty dependency loop isn't accidentally
++	    #        broken:
++	    #new_libs="$deplib $new_libs"
++	    # Pragmatically, this seems to cause very few problems in
++	    # practice:
++	    case $deplib in
++	    -L*) new_libs="$deplib $new_libs" ;;
++	    -R*) ;;
++	    *)
++	      # And here is the reason: when a library appears more
++	      # than once as an explicit dependence of a library, or
++	      # is implicitly linked in more than once by the
++	      # compiler, it is considered special, and multiple
++	      # occurrences thereof are not removed.  Compare this
++	      # with having the same library being listed as a
++	      # dependency of multiple other libraries: in this case,
++	      # we know (pedantically, we assume) the library does not
++	      # need to be listed more than once, so we keep only the
++	      # last copy.  This is not always right, but it is rare
++	      # enough that we require users that really mean to play
++	      # such unportable linking tricks to link the library
++	      # using -Wl,-lname, so that libtool does not consider it
++	      # for duplicate removal.
++	      case " $specialdeplibs " in
++	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
++	      *)
++		case " $new_libs " in
++		*" $deplib "*) ;;
++		*) new_libs="$deplib $new_libs" ;;
++		esac
++		;;
++	      esac
++	      ;;
++	    esac
++	  done
++	  tmp_libs=
++	  for deplib in $new_libs; do
++	    case $deplib in
++	    -L*)
++	      case " $tmp_libs " in
++	      *" $deplib "*) ;;
++	      *) func_append tmp_libs " $deplib" ;;
++	      esac
++	      ;;
++	    *) func_append tmp_libs " $deplib" ;;
++	    esac
++	  done
++	  eval $var=\"$tmp_libs\"
++	done # for var
++      fi
++      # Last step: remove runtime libs from dependency_libs
++      # (they stay in deplibs)
++      tmp_libs=
++      for i in $dependency_libs ; do
++	case " $predeps $postdeps $compiler_lib_search_path " in
++	*" $i "*)
++	  i=""
++	  ;;
++	esac
++	if test -n "$i" ; then
++	  func_append tmp_libs " $i"
++	fi
++      done
++      dependency_libs=$tmp_libs
++    done # for pass
++    if test "$linkmode" = prog; then
++      dlfiles="$newdlfiles"
++    fi
++    if test "$linkmode" = prog || test "$linkmode" = lib; then
++      dlprefiles="$newdlprefiles"
++    fi
++
++    case $linkmode in
++    oldlib)
++      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
++	func_warning "\`-dlopen' is ignored for archives"
++      fi
++
++      case " $deplibs" in
++      *\ -l* | *\ -L*)
++	func_warning "\`-l' and \`-L' are ignored for archives" ;;
++      esac
++
++      test -n "$rpath" && \
++	func_warning "\`-rpath' is ignored for archives"
++
++      test -n "$xrpath" && \
++	func_warning "\`-R' is ignored for archives"
++
++      test -n "$vinfo" && \
++	func_warning "\`-version-info/-version-number' is ignored for archives"
++
++      test -n "$release" && \
++	func_warning "\`-release' is ignored for archives"
++
++      test -n "$export_symbols$export_symbols_regex" && \
++	func_warning "\`-export-symbols' is ignored for archives"
++
++      # Now set the variables for building old libraries.
++      build_libtool_libs=no
++      oldlibs="$output"
++      func_append objs "$old_deplibs"
++      ;;
++
++    lib)
++      # Make sure we only generate libraries of the form `libNAME.la'.
++      case $outputname in
++      lib*)
++	func_stripname 'lib' '.la' "$outputname"
++	name=$func_stripname_result
++	eval shared_ext=\"$shrext_cmds\"
++	eval libname=\"$libname_spec\"
++	;;
++      *)
++	test "$module" = no && \
++	  func_fatal_help "libtool library \`$output' must begin with \`lib'"
++
++	if test "$need_lib_prefix" != no; then
++	  # Add the "lib" prefix for modules if required
++	  func_stripname '' '.la' "$outputname"
++	  name=$func_stripname_result
++	  eval shared_ext=\"$shrext_cmds\"
++	  eval libname=\"$libname_spec\"
++	else
++	  func_stripname '' '.la' "$outputname"
++	  libname=$func_stripname_result
++	fi
++	;;
++      esac
++
++      if test -n "$objs"; then
++	if test "$deplibs_check_method" != pass_all; then
++	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
++	else
++	  echo
++	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
++	  $ECHO "*** objects $objs is not portable!"
++	  func_append libobjs " $objs"
++	fi
++      fi
++
++      test "$dlself" != no && \
++	func_warning "\`-dlopen self' is ignored for libtool libraries"
++
++      set dummy $rpath
++      shift
++      test "$#" -gt 1 && \
++	func_warning "ignoring multiple \`-rpath's for a libtool library"
++
++      install_libdir="$1"
++
++      oldlibs=
++      if test -z "$rpath"; then
++	if test "$build_libtool_libs" = yes; then
++	  # Building a libtool convenience library.
++	  # Some compilers have problems with a `.al' extension so
++	  # convenience libraries should have the same extension an
++	  # archive normally would.
++	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
++	  build_libtool_libs=convenience
++	  build_old_libs=yes
++	fi
++
++	test -n "$vinfo" && \
++	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
++
++	test -n "$release" && \
++	  func_warning "\`-release' is ignored for convenience libraries"
++      else
++
++	# Parse the version information argument.
++	save_ifs="$IFS"; IFS=':'
++	set dummy $vinfo 0 0 0
++	shift
++	IFS="$save_ifs"
++
++	test -n "$7" && \
++	  func_fatal_help "too many parameters to \`-version-info'"
++
++	# convert absolute version numbers to libtool ages
++	# this retains compatibility with .la files and attempts
++	# to make the code below a bit more comprehensible
++
++	case $vinfo_number in
++	yes)
++	  number_major="$1"
++	  number_minor="$2"
++	  number_revision="$3"
++	  #
++	  # There are really only two kinds -- those that
++	  # use the current revision as the major version
++	  # and those that subtract age and use age as
++	  # a minor version.  But, then there is irix
++	  # which has an extra 1 added just for fun
++	  #
++	  case $version_type in
++	  # correct linux to gnu/linux during the next big refactor
++	  darwin|linux|osf|windows|none)
++	    func_arith $number_major + $number_minor
++	    current=$func_arith_result
++	    age="$number_minor"
++	    revision="$number_revision"
++	    ;;
++	  freebsd-aout|freebsd-elf|qnx|sunos)
++	    current="$number_major"
++	    revision="$number_minor"
++	    age="0"
++	    ;;
++	  irix|nonstopux)
++	    func_arith $number_major + $number_minor
++	    current=$func_arith_result
++	    age="$number_minor"
++	    revision="$number_minor"
++	    lt_irix_increment=no
++	    ;;
++	  *)
++	    func_fatal_configuration "$modename: unknown library version type \`$version_type'"
++	    ;;
++	  esac
++	  ;;
++	no)
++	  current="$1"
++	  revision="$2"
++	  age="$3"
++	  ;;
++	esac
++
++	# Check that each of the things are valid numbers.
++	case $current in
++	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
++	*)
++	  func_error "CURRENT \`$current' must be a nonnegative integer"
++	  func_fatal_error "\`$vinfo' is not valid version information"
++	  ;;
++	esac
++
++	case $revision in
++	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
++	*)
++	  func_error "REVISION \`$revision' must be a nonnegative integer"
++	  func_fatal_error "\`$vinfo' is not valid version information"
++	  ;;
++	esac
++
++	case $age in
++	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
++	*)
++	  func_error "AGE \`$age' must be a nonnegative integer"
++	  func_fatal_error "\`$vinfo' is not valid version information"
++	  ;;
++	esac
++
++	if test "$age" -gt "$current"; then
++	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
++	  func_fatal_error "\`$vinfo' is not valid version information"
++	fi
++
++	# Calculate the version variables.
++	major=
++	versuffix=
++	verstring=
++	case $version_type in
++	none) ;;
++
++	darwin)
++	  # Like Linux, but with the current version available in
++	  # verstring for coding it into the library header
++	  func_arith $current - $age
++	  major=.$func_arith_result
++	  versuffix="$major.$age.$revision"
++	  # Darwin ld doesn't like 0 for these options...
++	  func_arith $current + 1
++	  minor_current=$func_arith_result
++	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
++	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
++	  ;;
++
++	freebsd-aout)
++	  major=".$current"
++	  versuffix=".$current.$revision";
++	  ;;
++
++	freebsd-elf)
++	  major=".$current"
++	  versuffix=".$current"
++	  ;;
++
++	irix | nonstopux)
++	  if test "X$lt_irix_increment" = "Xno"; then
++	    func_arith $current - $age
++	  else
++	    func_arith $current - $age + 1
++	  fi
++	  major=$func_arith_result
++
++	  case $version_type in
++	    nonstopux) verstring_prefix=nonstopux ;;
++	    *)         verstring_prefix=sgi ;;
++	  esac
++	  verstring="$verstring_prefix$major.$revision"
++
++	  # Add in all the interfaces that we are compatible with.
++	  loop=$revision
++	  while test "$loop" -ne 0; do
++	    func_arith $revision - $loop
++	    iface=$func_arith_result
++	    func_arith $loop - 1
++	    loop=$func_arith_result
++	    verstring="$verstring_prefix$major.$iface:$verstring"
++	  done
++
++	  # Before this point, $major must not contain `.'.
++	  major=.$major
++	  versuffix="$major.$revision"
++	  ;;
++
++	linux) # correct to gnu/linux during the next big refactor
++	  func_arith $current - $age
++	  major=.$func_arith_result
++	  versuffix="$major.$age.$revision"
++	  ;;
++
++	osf)
++	  func_arith $current - $age
++	  major=.$func_arith_result
++	  versuffix=".$current.$age.$revision"
++	  verstring="$current.$age.$revision"
++
++	  # Add in all the interfaces that we are compatible with.
++	  loop=$age
++	  while test "$loop" -ne 0; do
++	    func_arith $current - $loop
++	    iface=$func_arith_result
++	    func_arith $loop - 1
++	    loop=$func_arith_result
++	    verstring="$verstring:${iface}.0"
++	  done
++
++	  # Make executables depend on our current version.
++	  func_append verstring ":${current}.0"
++	  ;;
++
++	qnx)
++	  major=".$current"
++	  versuffix=".$current"
++	  ;;
++
++	sunos)
++	  major=".$current"
++	  versuffix=".$current.$revision"
++	  ;;
++
++	windows)
++	  # Use '-' rather than '.', since we only want one
++	  # extension on DOS 8.3 filesystems.
++	  func_arith $current - $age
++	  major=$func_arith_result
++	  versuffix="-$major"
++	  ;;
++
++	*)
++	  func_fatal_configuration "unknown library version type \`$version_type'"
++	  ;;
++	esac
++
++	# Clear the version info if we defaulted, and they specified a release.
++	if test -z "$vinfo" && test -n "$release"; then
++	  major=
++	  case $version_type in
++	  darwin)
++	    # we can't check for "0.0" in archive_cmds due to quoting
++	    # problems, so we reset it completely
++	    verstring=
++	    ;;
++	  *)
++	    verstring="0.0"
++	    ;;
++	  esac
++	  if test "$need_version" = no; then
++	    versuffix=
++	  else
++	    versuffix=".0.0"
++	  fi
++	fi
++
++	# Remove version info from name if versioning should be avoided
++	if test "$avoid_version" = yes && test "$need_version" = no; then
++	  major=
++	  versuffix=
++	  verstring=""
++	fi
++
++	# Check to see if the archive will have undefined symbols.
++	if test "$allow_undefined" = yes; then
++	  if test "$allow_undefined_flag" = unsupported; then
++	    func_warning "undefined symbols not allowed in $host shared libraries"
++	    build_libtool_libs=no
++	    build_old_libs=yes
++	  fi
++	else
++	  # Don't allow undefined symbols.
++	  allow_undefined_flag="$no_undefined_flag"
++	fi
++
++      fi
++
++      func_generate_dlsyms "$libname" "$libname" "yes"
++      func_append libobjs " $symfileobj"
++      test "X$libobjs" = "X " && libobjs=
++
++      if test "$opt_mode" != relink; then
++	# Remove our outputs, but don't remove object files since they
++	# may have been created when compiling PIC objects.
++	removelist=
++	tempremovelist=`$ECHO "$output_objdir/*"`
++	for p in $tempremovelist; do
++	  case $p in
++	    *.$objext | *.gcno)
++	       ;;
++	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
++	       if test "X$precious_files_regex" != "X"; then
++		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
++		 then
++		   continue
++		 fi
++	       fi
++	       func_append removelist " $p"
++	       ;;
++	    *) ;;
++	  esac
++	done
++	test -n "$removelist" && \
++	  func_show_eval "${RM}r \$removelist"
++      fi
++
++      # Now set the variables for building old libraries.
++      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
++	func_append oldlibs " $output_objdir/$libname.$libext"
++
++	# Transform .lo files to .o files.
++	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
++      fi
++
++      # Eliminate all temporary directories.
++      #for path in $notinst_path; do
++      #	lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
++      #	deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
++      #	dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
++      #done
++
++      if test -n "$xrpath"; then
++	# If the user specified any rpath flags, then add them.
++	temp_xrpath=
++	for libdir in $xrpath; do
++	  func_replace_sysroot "$libdir"
++	  func_append temp_xrpath " -R$func_replace_sysroot_result"
++	  case "$finalize_rpath " in
++	  *" $libdir "*) ;;
++	  *) func_append finalize_rpath " $libdir" ;;
++	  esac
++	done
++	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
++	  dependency_libs="$temp_xrpath $dependency_libs"
++	fi
++      fi
++
++      # Make sure dlfiles contains only unique files that won't be dlpreopened
++      old_dlfiles="$dlfiles"
++      dlfiles=
++      for lib in $old_dlfiles; do
++	case " $dlprefiles $dlfiles " in
++	*" $lib "*) ;;
++	*) func_append dlfiles " $lib" ;;
++	esac
++      done
++
++      # Make sure dlprefiles contains only unique files
++      old_dlprefiles="$dlprefiles"
++      dlprefiles=
++      for lib in $old_dlprefiles; do
++	case "$dlprefiles " in
++	*" $lib "*) ;;
++	*) func_append dlprefiles " $lib" ;;
++	esac
++      done
++
++      if test "$build_libtool_libs" = yes; then
++	if test -n "$rpath"; then
++	  case $host in
++	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
++	    # these systems don't actually have a c library (as such)!
++	    ;;
++	  *-*-rhapsody* | *-*-darwin1.[012])
++	    # Rhapsody C library is in the System framework
++	    func_append deplibs " System.ltframework"
++	    ;;
++	  *-*-netbsd*)
++	    # Don't link with libc until the a.out ld.so is fixed.
++	    ;;
++	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
++	    # Do not include libc due to us having libc/libc_r.
++	    ;;
++	  *-*-sco3.2v5* | *-*-sco5v6*)
++	    # Causes problems with __ctype
++	    ;;
++	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
++	    # Compiler inserts libc in the correct place for threads to work
++	    ;;
++	  *)
++	    # Add libc to deplibs on all other systems if necessary.
++	    if test "$build_libtool_need_lc" = "yes"; then
++	      func_append deplibs " -lc"
++	    fi
++	    ;;
++	  esac
++	fi
++
++	# Transform deplibs into only deplibs that can be linked in shared.
++	name_save=$name
++	libname_save=$libname
++	release_save=$release
++	versuffix_save=$versuffix
++	major_save=$major
++	# I'm not sure if I'm treating the release correctly.  I think
++	# release should show up in the -l (ie -lgmp5) so we don't want to
++	# add it in twice.  Is that correct?
++	release=""
++	versuffix=""
++	major=""
++	newdeplibs=
++	droppeddeps=no
++	case $deplibs_check_method in
++	pass_all)
++	  # Don't check for shared/static.  Everything works.
++	  # This might be a little naive.  We might want to check
++	  # whether the library exists or not.  But this is on
++	  # osf3 & osf4 and I'm not really sure... Just
++	  # implementing what was already the behavior.
++	  newdeplibs=$deplibs
++	  ;;
++	test_compile)
++	  # This code stresses the "libraries are programs" paradigm to its
++	  # limits. Maybe even breaks it.  We compile a program, linking it
++	  # against the deplibs as a proxy for the library.  Then we can check
++	  # whether they linked in statically or dynamically with ldd.
++	  $opt_dry_run || $RM conftest.c
++	  cat > conftest.c <<EOF
++	  int main() { return 0; }
++EOF
++	  $opt_dry_run || $RM conftest
++	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
++	    ldd_output=`ldd conftest`
++	    for i in $deplibs; do
++	      case $i in
++	      -l*)
++		func_stripname -l '' "$i"
++		name=$func_stripname_result
++		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
++		  case " $predeps $postdeps " in
++		  *" $i "*)
++		    func_append newdeplibs " $i"
++		    i=""
++		    ;;
++		  esac
++		fi
++		if test -n "$i" ; then
++		  libname=`eval "\\$ECHO \"$libname_spec\""`
++		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
++		  set dummy $deplib_matches; shift
++		  deplib_match=$1
++		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
++		    func_append newdeplibs " $i"
++		  else
++		    droppeddeps=yes
++		    echo
++		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
++		    echo "*** I have the capability to make that library automatically link in when"
++		    echo "*** you link to this library.  But I can only do this if you have a"
++		    echo "*** shared version of the library, which I believe you do not have"
++		    echo "*** because a test_compile did reveal that the linker did not use it for"
++		    echo "*** its dynamic dependency list that programs get resolved with at runtime."
++		  fi
++		fi
++		;;
++	      *)
++		func_append newdeplibs " $i"
++		;;
++	      esac
++	    done
++	  else
++	    # Error occurred in the first compile.  Let's try to salvage
++	    # the situation: Compile a separate program for each library.
++	    for i in $deplibs; do
++	      case $i in
++	      -l*)
++		func_stripname -l '' "$i"
++		name=$func_stripname_result
++		$opt_dry_run || $RM conftest
++		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
++		  ldd_output=`ldd conftest`
++		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
++		    case " $predeps $postdeps " in
++		    *" $i "*)
++		      func_append newdeplibs " $i"
++		      i=""
++		      ;;
++		    esac
++		  fi
++		  if test -n "$i" ; then
++		    libname=`eval "\\$ECHO \"$libname_spec\""`
++		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
++		    set dummy $deplib_matches; shift
++		    deplib_match=$1
++		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
++		      func_append newdeplibs " $i"
++		    else
++		      droppeddeps=yes
++		      echo
++		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
++		      echo "*** I have the capability to make that library automatically link in when"
++		      echo "*** you link to this library.  But I can only do this if you have a"
++		      echo "*** shared version of the library, which you do not appear to have"
++		      echo "*** because a test_compile did reveal that the linker did not use this one"
++		      echo "*** as a dynamic dependency that programs can get resolved with at runtime."
++		    fi
++		  fi
++		else
++		  droppeddeps=yes
++		  echo
++		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
++		  echo "*** make it link in!  You will probably need to install it or some"
++		  echo "*** library that it depends on before this library will be fully"
++		  echo "*** functional.  Installing it before continuing would be even better."
++		fi
++		;;
++	      *)
++		func_append newdeplibs " $i"
++		;;
++	      esac
++	    done
++	  fi
++	  ;;
++	file_magic*)
++	  set dummy $deplibs_check_method; shift
++	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
++	  for a_deplib in $deplibs; do
++	    case $a_deplib in
++	    -l*)
++	      func_stripname -l '' "$a_deplib"
++	      name=$func_stripname_result
++	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
++		case " $predeps $postdeps " in
++		*" $a_deplib "*)
++		  func_append newdeplibs " $a_deplib"
++		  a_deplib=""
++		  ;;
++		esac
++	      fi
++	      if test -n "$a_deplib" ; then
++		libname=`eval "\\$ECHO \"$libname_spec\""`
++		if test -n "$file_magic_glob"; then
++		  libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
++		else
++		  libnameglob=$libname
++		fi
++		test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
++		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
++		  if test "$want_nocaseglob" = yes; then
++		    shopt -s nocaseglob
++		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
++		    $nocaseglob
++		  else
++		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
++		  fi
++		  for potent_lib in $potential_libs; do
++		      # Follow soft links.
++		      if ls -lLd "$potent_lib" 2>/dev/null |
++			 $GREP " -> " >/dev/null; then
++			continue
++		      fi
++		      # The statement above tries to avoid entering an
++		      # endless loop below, in case of cyclic links.
++		      # We might still enter an endless loop, since a link
++		      # loop can be closed while we follow links,
++		      # but so what?
++		      potlib="$potent_lib"
++		      while test -h "$potlib" 2>/dev/null; do
++			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
++			case $potliblink in
++			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
++			*) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
++			esac
++		      done
++		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
++			 $SED -e 10q |
++			 $EGREP "$file_magic_regex" > /dev/null; then
++			func_append newdeplibs " $a_deplib"
++			a_deplib=""
++			break 2
++		      fi
++		  done
++		done
++	      fi
++	      if test -n "$a_deplib" ; then
++		droppeddeps=yes
++		echo
++		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
++		echo "*** I have the capability to make that library automatically link in when"
++		echo "*** you link to this library.  But I can only do this if you have a"
++		echo "*** shared version of the library, which you do not appear to have"
++		echo "*** because I did check the linker path looking for a file starting"
++		if test -z "$potlib" ; then
++		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
++		else
++		  $ECHO "*** with $libname and none of the candidates passed a file format test"
++		  $ECHO "*** using a file magic. Last file checked: $potlib"
++		fi
++	      fi
++	      ;;
++	    *)
++	      # Add a -L argument.
++	      func_append newdeplibs " $a_deplib"
++	      ;;
++	    esac
++	  done # Gone through all deplibs.
++	  ;;
++	match_pattern*)
++	  set dummy $deplibs_check_method; shift
++	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
++	  for a_deplib in $deplibs; do
++	    case $a_deplib in
++	    -l*)
++	      func_stripname -l '' "$a_deplib"
++	      name=$func_stripname_result
++	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
++		case " $predeps $postdeps " in
++		*" $a_deplib "*)
++		  func_append newdeplibs " $a_deplib"
++		  a_deplib=""
++		  ;;
++		esac
++	      fi
++	      if test -n "$a_deplib" ; then
++		libname=`eval "\\$ECHO \"$libname_spec\""`
++		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
++		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
++		  for potent_lib in $potential_libs; do
++		    potlib="$potent_lib" # see symlink-check above in file_magic test
++		    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
++		       $EGREP "$match_pattern_regex" > /dev/null; then
++		      func_append newdeplibs " $a_deplib"
++		      a_deplib=""
++		      break 2
++		    fi
++		  done
++		done
++	      fi
++	      if test -n "$a_deplib" ; then
++		droppeddeps=yes
++		echo
++		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
++		echo "*** I have the capability to make that library automatically link in when"
++		echo "*** you link to this library.  But I can only do this if you have a"
++		echo "*** shared version of the library, which you do not appear to have"
++		echo "*** because I did check the linker path looking for a file starting"
++		if test -z "$potlib" ; then
++		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
++		else
++		  $ECHO "*** with $libname and none of the candidates passed a file format test"
++		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
++		fi
++	      fi
++	      ;;
++	    *)
++	      # Add a -L argument.
++	      func_append newdeplibs " $a_deplib"
++	      ;;
++	    esac
++	  done # Gone through all deplibs.
++	  ;;
++	none | unknown | *)
++	  newdeplibs=""
++	  tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
++	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
++	    for i in $predeps $postdeps ; do
++	      # can't use Xsed below, because $i might contain '/'
++	      tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
++	    done
++	  fi
++	  case $tmp_deplibs in
++	  *[!\	\ ]*)
++	    echo
++	    if test "X$deplibs_check_method" = "Xnone"; then
++	      echo "*** Warning: inter-library dependencies are not supported in this platform."
++	    else
++	      echo "*** Warning: inter-library dependencies are not known to be supported."
++	    fi
++	    echo "*** All declared inter-library dependencies are being dropped."
++	    droppeddeps=yes
++	    ;;
++	  esac
++	  ;;
++	esac
++	versuffix=$versuffix_save
++	major=$major_save
++	release=$release_save
++	libname=$libname_save
++	name=$name_save
++
++	case $host in
++	*-*-rhapsody* | *-*-darwin1.[012])
++	  # On Rhapsody replace the C library with the System framework
++	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
++	  ;;
++	esac
++
++	if test "$droppeddeps" = yes; then
++	  if test "$module" = yes; then
++	    echo
++	    echo "*** Warning: libtool could not satisfy all declared inter-library"
++	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
++	    echo "*** a static module, that should work as long as the dlopening"
++	    echo "*** application is linked with the -dlopen flag."
++	    if test -z "$global_symbol_pipe"; then
++	      echo
++	      echo "*** However, this would only work if libtool was able to extract symbol"
++	      echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
++	      echo "*** not find such a program.  So, this module is probably useless."
++	      echo "*** \`nm' from GNU binutils and a full rebuild may help."
++	    fi
++	    if test "$build_old_libs" = no; then
++	      oldlibs="$output_objdir/$libname.$libext"
++	      build_libtool_libs=module
++	      build_old_libs=yes
++	    else
++	      build_libtool_libs=no
++	    fi
++	  else
++	    echo "*** The inter-library dependencies that have been dropped here will be"
++	    echo "*** automatically added whenever a program is linked with this library"
++	    echo "*** or is declared to -dlopen it."
++
++	    if test "$allow_undefined" = no; then
++	      echo
++	      echo "*** Since this library must not contain undefined symbols,"
++	      echo "*** because either the platform does not support them or"
++	      echo "*** it was explicitly requested with -no-undefined,"
++	      echo "*** libtool will only create a static version of it."
++	      if test "$build_old_libs" = no; then
++		oldlibs="$output_objdir/$libname.$libext"
++		build_libtool_libs=module
++		build_old_libs=yes
++	      else
++		build_libtool_libs=no
++	      fi
++	    fi
++	  fi
++	fi
++	# Done checking deplibs!
++	deplibs=$newdeplibs
++      fi
++      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
++      case $host in
++	*-*-darwin*)
++	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
++	  new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
++	  deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
++	  ;;
++      esac
++
++      # move library search paths that coincide with paths to not yet
++      # installed libraries to the beginning of the library search list
++      new_libs=
++      for path in $notinst_path; do
++	case " $new_libs " in
++	*" -L$path/$objdir "*) ;;
++	*)
++	  case " $deplibs " in
++	  *" -L$path/$objdir "*)
++	    func_append new_libs " -L$path/$objdir" ;;
++	  esac
++	  ;;
++	esac
++      done
++      for deplib in $deplibs; do
++	case $deplib in
++	-L*)
++	  case " $new_libs " in
++	  *" $deplib "*) ;;
++	  *) func_append new_libs " $deplib" ;;
++	  esac
++	  ;;
++	*) func_append new_libs " $deplib" ;;
++	esac
++      done
++      deplibs="$new_libs"
++
++      # All the library-specific variables (install_libdir is set above).
++      library_names=
++      old_library=
++      dlname=
++
++      # Test again, we may have decided not to build it any more
++      if test "$build_libtool_libs" = yes; then
++	# Remove ${wl} instances when linking with ld.
++	# FIXME: should test the right _cmds variable.
++	case $archive_cmds in
++	  *\$LD\ *) wl= ;;
++        esac
++	if test "$hardcode_into_libs" = yes; then
++	  # Hardcode the library paths
++	  hardcode_libdirs=
++	  dep_rpath=
++	  rpath="$finalize_rpath"
++	  test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
++	  for libdir in $rpath; do
++	    if test -n "$hardcode_libdir_flag_spec"; then
++	      if test -n "$hardcode_libdir_separator"; then
++		func_replace_sysroot "$libdir"
++		libdir=$func_replace_sysroot_result
++		if test -z "$hardcode_libdirs"; then
++		  hardcode_libdirs="$libdir"
++		else
++		  # Just accumulate the unique libdirs.
++		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
++		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
++		    ;;
++		  *)
++		    func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
++		    ;;
++		  esac
++		fi
++	      else
++		eval flag=\"$hardcode_libdir_flag_spec\"
++		func_append dep_rpath " $flag"
++	      fi
++	    elif test -n "$runpath_var"; then
++	      case "$perm_rpath " in
++	      *" $libdir "*) ;;
++	      *) func_append perm_rpath " $libdir" ;;
++	      esac
++	    fi
++	  done
++	  # Substitute the hardcoded libdirs into the rpath.
++	  if test -n "$hardcode_libdir_separator" &&
++	     test -n "$hardcode_libdirs"; then
++	    libdir="$hardcode_libdirs"
++	    eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
++	  fi
++	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
++	    # We should set the runpath_var.
++	    rpath=
++	    for dir in $perm_rpath; do
++	      func_append rpath "$dir:"
++	    done
++	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
++	  fi
++	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
++	fi
++
++	shlibpath="$finalize_shlibpath"
++	test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
++	if test -n "$shlibpath"; then
++	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
++	fi
++
++	# Get the real and link names of the library.
++	eval shared_ext=\"$shrext_cmds\"
++	eval library_names=\"$library_names_spec\"
++	set dummy $library_names
++	shift
++	realname="$1"
++	shift
++
++	if test -n "$soname_spec"; then
++	  eval soname=\"$soname_spec\"
++	else
++	  soname="$realname"
++	fi
++	if test -z "$dlname"; then
++	  dlname=$soname
++	fi
++
++	lib="$output_objdir/$realname"
++	linknames=
++	for link
++	do
++	  func_append linknames " $link"
++	done
++
++	# Use standard objects if they are pic
++	test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
++	test "X$libobjs" = "X " && libobjs=
++
++	delfiles=
++	if test -n "$export_symbols" && test -n "$include_expsyms"; then
++	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
++	  export_symbols="$output_objdir/$libname.uexp"
++	  func_append delfiles " $export_symbols"
++	fi
++
++	orig_export_symbols=
++	case $host_os in
++	cygwin* | mingw* | cegcc*)
++	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
++	    # exporting using user supplied symfile
++	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
++	      # and it's NOT already a .def file. Must figure out
++	      # which of the given symbols are data symbols and tag
++	      # them as such. So, trigger use of export_symbols_cmds.
++	      # export_symbols gets reassigned inside the "prepare
++	      # the list of exported symbols" if statement, so the
++	      # include_expsyms logic still works.
++	      orig_export_symbols="$export_symbols"
++	      export_symbols=
++	      always_export_symbols=yes
++	    fi
++	  fi
++	  ;;
++	esac
++
++	# Prepare the list of exported symbols
++	if test -z "$export_symbols"; then
++	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
++	    func_verbose "generating symbol list for \`$libname.la'"
++	    export_symbols="$output_objdir/$libname.exp"
++	    $opt_dry_run || $RM $export_symbols
++	    cmds=$export_symbols_cmds
++	    save_ifs="$IFS"; IFS='~'
++	    for cmd1 in $cmds; do
++	      IFS="$save_ifs"
++	      # Take the normal branch if the nm_file_list_spec branch
++	      # doesn't work or if tool conversion is not needed.
++	      case $nm_file_list_spec~$to_tool_file_cmd in
++		*~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
++		  try_normal_branch=yes
++		  eval cmd=\"$cmd1\"
++		  func_len " $cmd"
++		  len=$func_len_result
++		  ;;
++		*)
++		  try_normal_branch=no
++		  ;;
++	      esac
++	      if test "$try_normal_branch" = yes \
++		 && { test "$len" -lt "$max_cmd_len" \
++		      || test "$max_cmd_len" -le -1; }
++	      then
++		func_show_eval "$cmd" 'exit $?'
++		skipped_export=false
++	      elif test -n "$nm_file_list_spec"; then
++		func_basename "$output"
++		output_la=$func_basename_result
++		save_libobjs=$libobjs
++		save_output=$output
++		output=${output_objdir}/${output_la}.nm
++		func_to_tool_file "$output"
++		libobjs=$nm_file_list_spec$func_to_tool_file_result
++		func_append delfiles " $output"
++		func_verbose "creating $NM input file list: $output"
++		for obj in $save_libobjs; do
++		  func_to_tool_file "$obj"
++		  $ECHO "$func_to_tool_file_result"
++		done > "$output"
++		eval cmd=\"$cmd1\"
++		func_show_eval "$cmd" 'exit $?'
++		output=$save_output
++		libobjs=$save_libobjs
++		skipped_export=false
++	      else
++		# The command line is too long to execute in one step.
++		func_verbose "using reloadable object file for export list..."
++		skipped_export=:
++		# Break out early, otherwise skipped_export may be
++		# set to false by a later but shorter cmd.
++		break
++	      fi
++	    done
++	    IFS="$save_ifs"
++	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
++	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
++	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
++	    fi
++	  fi
++	fi
++
++	if test -n "$export_symbols" && test -n "$include_expsyms"; then
++	  tmp_export_symbols="$export_symbols"
++	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
++	  $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
++	fi
++
++	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
++	  # The given exports_symbols file has to be filtered, so filter it.
++	  func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
++	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
++	  # 's' commands which not all seds can handle. GNU sed should be fine
++	  # though. Also, the filter scales superlinearly with the number of
++	  # global variables. join(1) would be nice here, but unfortunately
++	  # isn't a blessed tool.
++	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
++	  func_append delfiles " $export_symbols $output_objdir/$libname.filter"
++	  export_symbols=$output_objdir/$libname.def
++	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
++	fi
++
++	tmp_deplibs=
++	for test_deplib in $deplibs; do
++	  case " $convenience " in
++	  *" $test_deplib "*) ;;
++	  *)
++	    func_append tmp_deplibs " $test_deplib"
++	    ;;
++	  esac
++	done
++	deplibs="$tmp_deplibs"
++
++	if test -n "$convenience"; then
++	  if test -n "$whole_archive_flag_spec" &&
++	    test "$compiler_needs_object" = yes &&
++	    test -z "$libobjs"; then
++	    # extract the archives, so we have objects to list.
++	    # TODO: could optimize this to just extract one archive.
++	    whole_archive_flag_spec=
++	  fi
++	  if test -n "$whole_archive_flag_spec"; then
++	    save_libobjs=$libobjs
++	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
++	    test "X$libobjs" = "X " && libobjs=
++	  else
++	    gentop="$output_objdir/${outputname}x"
++	    func_append generated " $gentop"
++
++	    func_extract_archives $gentop $convenience
++	    func_append libobjs " $func_extract_archives_result"
++	    test "X$libobjs" = "X " && libobjs=
++	  fi
++	fi
++
++	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
++	  eval flag=\"$thread_safe_flag_spec\"
++	  func_append linker_flags " $flag"
++	fi
++
++	# Make a backup of the uninstalled library when relinking
++	if test "$opt_mode" = relink; then
++	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
++	fi
++
++	# Do each of the archive commands.
++	if test "$module" = yes && test -n "$module_cmds" ; then
++	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
++	    eval test_cmds=\"$module_expsym_cmds\"
++	    cmds=$module_expsym_cmds
++	  else
++	    eval test_cmds=\"$module_cmds\"
++	    cmds=$module_cmds
++	  fi
++	else
++	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
++	    eval test_cmds=\"$archive_expsym_cmds\"
++	    cmds=$archive_expsym_cmds
++	  else
++	    eval test_cmds=\"$archive_cmds\"
++	    cmds=$archive_cmds
++	  fi
++	fi
++
++	if test "X$skipped_export" != "X:" &&
++	   func_len " $test_cmds" &&
++	   len=$func_len_result &&
++	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
++	  :
++	else
++	  # The command line is too long to link in one step, link piecewise
++	  # or, if using GNU ld and skipped_export is not :, use a linker
++	  # script.
++
++	  # Save the value of $output and $libobjs because we want to
++	  # use them later.  If we have whole_archive_flag_spec, we
++	  # want to use save_libobjs as it was before
++	  # whole_archive_flag_spec was expanded, because we can't
++	  # assume the linker understands whole_archive_flag_spec.
++	  # This may have to be revisited, in case too many
++	  # convenience libraries get linked in and end up exceeding
++	  # the spec.
++	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
++	    save_libobjs=$libobjs
++	  fi
++	  save_output=$output
++	  func_basename "$output"
++	  output_la=$func_basename_result
++
++	  # Clear the reloadable object creation command queue and
++	  # initialize k to one.
++	  test_cmds=
++	  concat_cmds=
++	  objlist=
++	  last_robj=
++	  k=1
++
++	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
++	    output=${output_objdir}/${output_la}.lnkscript
++	    func_verbose "creating GNU ld script: $output"
++	    echo 'INPUT (' > $output
++	    for obj in $save_libobjs
++	    do
++	      func_to_tool_file "$obj"
++	      $ECHO "$func_to_tool_file_result" >> $output
++	    done
++	    echo ')' >> $output
++	    func_append delfiles " $output"
++	    func_to_tool_file "$output"
++	    output=$func_to_tool_file_result
++	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
++	    output=${output_objdir}/${output_la}.lnk
++	    func_verbose "creating linker input file list: $output"
++	    : > $output
++	    set x $save_libobjs
++	    shift
++	    firstobj=
++	    if test "$compiler_needs_object" = yes; then
++	      firstobj="$1 "
++	      shift
++	    fi
++	    for obj
++	    do
++	      func_to_tool_file "$obj"
++	      $ECHO "$func_to_tool_file_result" >> $output
++	    done
++	    func_append delfiles " $output"
++	    func_to_tool_file "$output"
++	    output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
++	  else
++	    if test -n "$save_libobjs"; then
++	      func_verbose "creating reloadable object files..."
++	      output=$output_objdir/$output_la-${k}.$objext
++	      eval test_cmds=\"$reload_cmds\"
++	      func_len " $test_cmds"
++	      len0=$func_len_result
++	      len=$len0
++
++	      # Loop over the list of objects to be linked.
++	      for obj in $save_libobjs
++	      do
++		func_len " $obj"
++		func_arith $len + $func_len_result
++		len=$func_arith_result
++		if test "X$objlist" = X ||
++		   test "$len" -lt "$max_cmd_len"; then
++		  func_append objlist " $obj"
++		else
++		  # The command $test_cmds is almost too long, add a
++		  # command to the queue.
++		  if test "$k" -eq 1 ; then
++		    # The first file doesn't have a previous command to add.
++		    reload_objs=$objlist
++		    eval concat_cmds=\"$reload_cmds\"
++		  else
++		    # All subsequent reloadable object files will link in
++		    # the last one created.
++		    reload_objs="$objlist $last_robj"
++		    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
++		  fi
++		  last_robj=$output_objdir/$output_la-${k}.$objext
++		  func_arith $k + 1
++		  k=$func_arith_result
++		  output=$output_objdir/$output_la-${k}.$objext
++		  objlist=" $obj"
++		  func_len " $last_robj"
++		  func_arith $len0 + $func_len_result
++		  len=$func_arith_result
++		fi
++	      done
++	      # Handle the remaining objects by creating one last
++	      # reloadable object file.  All subsequent reloadable object
++	      # files will link in the last one created.
++	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
++	      reload_objs="$objlist $last_robj"
++	      eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
++	      if test -n "$last_robj"; then
++	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
++	      fi
++	      func_append delfiles " $output"
++
++	    else
++	      output=
++	    fi
++
++	    if ${skipped_export-false}; then
++	      func_verbose "generating symbol list for \`$libname.la'"
++	      export_symbols="$output_objdir/$libname.exp"
++	      $opt_dry_run || $RM $export_symbols
++	      libobjs=$output
++	      # Append the command to create the export file.
++	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
++	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
++	      if test -n "$last_robj"; then
++		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
++	      fi
++	    fi
++
++	    test -n "$save_libobjs" &&
++	      func_verbose "creating a temporary reloadable object file: $output"
++
++	    # Loop through the commands generated above and execute them.
++	    save_ifs="$IFS"; IFS='~'
++	    for cmd in $concat_cmds; do
++	      IFS="$save_ifs"
++	      $opt_silent || {
++		  func_quote_for_expand "$cmd"
++		  eval "func_echo $func_quote_for_expand_result"
++	      }
++	      $opt_dry_run || eval "$cmd" || {
++		lt_exit=$?
++
++		# Restore the uninstalled library and exit
++		if test "$opt_mode" = relink; then
++		  ( cd "$output_objdir" && \
++		    $RM "${realname}T" && \
++		    $MV "${realname}U" "$realname" )
++		fi
++
++		exit $lt_exit
++	      }
++	    done
++	    IFS="$save_ifs"
++
++	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
++	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
++	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
++	    fi
++	  fi
++
++          if ${skipped_export-false}; then
++	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
++	      tmp_export_symbols="$export_symbols"
++	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
++	      $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
++	    fi
++
++	    if test -n "$orig_export_symbols"; then
++	      # The given exports_symbols file has to be filtered, so filter it.
++	      func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
++	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
++	      # 's' commands which not all seds can handle. GNU sed should be fine
++	      # though. Also, the filter scales superlinearly with the number of
++	      # global variables. join(1) would be nice here, but unfortunately
++	      # isn't a blessed tool.
++	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
++	      func_append delfiles " $export_symbols $output_objdir/$libname.filter"
++	      export_symbols=$output_objdir/$libname.def
++	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
++	    fi
++	  fi
++
++	  libobjs=$output
++	  # Restore the value of output.
++	  output=$save_output
++
++	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
++	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
++	    test "X$libobjs" = "X " && libobjs=
++	  fi
++	  # Expand the library linking commands again to reset the
++	  # value of $libobjs for piecewise linking.
++
++	  # Do each of the archive commands.
++	  if test "$module" = yes && test -n "$module_cmds" ; then
++	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
++	      cmds=$module_expsym_cmds
++	    else
++	      cmds=$module_cmds
++	    fi
++	  else
++	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
++	      cmds=$archive_expsym_cmds
++	    else
++	      cmds=$archive_cmds
++	    fi
++	  fi
++	fi
++
++	if test -n "$delfiles"; then
++	  # Append the command to remove temporary files to $cmds.
++	  eval cmds=\"\$cmds~\$RM $delfiles\"
++	fi
++
++	# Add any objects from preloaded convenience libraries
++	if test -n "$dlprefiles"; then
++	  gentop="$output_objdir/${outputname}x"
++	  func_append generated " $gentop"
++
++	  func_extract_archives $gentop $dlprefiles
++	  func_append libobjs " $func_extract_archives_result"
++	  test "X$libobjs" = "X " && libobjs=
++	fi
++
++	save_ifs="$IFS"; IFS='~'
++	for cmd in $cmds; do
++	  IFS="$save_ifs"
++	  eval cmd=\"$cmd\"
++	  $opt_silent || {
++	    func_quote_for_expand "$cmd"
++	    eval "func_echo $func_quote_for_expand_result"
++	  }
++	  $opt_dry_run || eval "$cmd" || {
++	    lt_exit=$?
++
++	    # Restore the uninstalled library and exit
++	    if test "$opt_mode" = relink; then
++	      ( cd "$output_objdir" && \
++	        $RM "${realname}T" && \
++		$MV "${realname}U" "$realname" )
++	    fi
++
++	    exit $lt_exit
++	  }
++	done
++	IFS="$save_ifs"
++
++	# Restore the uninstalled library and exit
++	if test "$opt_mode" = relink; then
++	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
++
++	  if test -n "$convenience"; then
++	    if test -z "$whole_archive_flag_spec"; then
++	      func_show_eval '${RM}r "$gentop"'
++	    fi
++	  fi
++
++	  exit $EXIT_SUCCESS
++	fi
++
++	# Create links to the real library.
++	for linkname in $linknames; do
++	  if test "$realname" != "$linkname"; then
++	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
++	  fi
++	done
++
++	# If -module or -export-dynamic was specified, set the dlname.
++	if test "$module" = yes || test "$export_dynamic" = yes; then
++	  # On all known operating systems, these are identical.
++	  dlname="$soname"
++	fi
++      fi
++      ;;
++
++    obj)
++      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
++	func_warning "\`-dlopen' is ignored for objects"
++      fi
++
++      case " $deplibs" in
++      *\ -l* | *\ -L*)
++	func_warning "\`-l' and \`-L' are ignored for objects" ;;
++      esac
++
++      test -n "$rpath" && \
++	func_warning "\`-rpath' is ignored for objects"
++
++      test -n "$xrpath" && \
++	func_warning "\`-R' is ignored for objects"
++
++      test -n "$vinfo" && \
++	func_warning "\`-version-info' is ignored for objects"
++
++      test -n "$release" && \
++	func_warning "\`-release' is ignored for objects"
++
++      case $output in
++      *.lo)
++	test -n "$objs$old_deplibs" && \
++	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"
++
++	libobj=$output
++	func_lo2o "$libobj"
++	obj=$func_lo2o_result
++	;;
++      *)
++	libobj=
++	obj="$output"
++	;;
++      esac
++
++      # Delete the old objects.
++      $opt_dry_run || $RM $obj $libobj
++
++      # Objects from convenience libraries.  This assumes
++      # single-version convenience libraries.  Whenever we create
++      # different ones for PIC/non-PIC, this we'll have to duplicate
++      # the extraction.
++      reload_conv_objs=
++      gentop=
++      # reload_cmds runs $LD directly, so let us get rid of
++      # -Wl from whole_archive_flag_spec and hope we can get by with
++      # turning comma into space..
++      wl=
++
++      if test -n "$convenience"; then
++	if test -n "$whole_archive_flag_spec"; then
++	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
++	  reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
++	else
++	  gentop="$output_objdir/${obj}x"
++	  func_append generated " $gentop"
++
++	  func_extract_archives $gentop $convenience
++	  reload_conv_objs="$reload_objs $func_extract_archives_result"
++	fi
++      fi
++
++      # If we're not building shared, we need to use non_pic_objs
++      test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
++
++      # Create the old-style object.
++      reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
++
++      output="$obj"
++      func_execute_cmds "$reload_cmds" 'exit $?'
++
++      # Exit if we aren't doing a library object file.
++      if test -z "$libobj"; then
++	if test -n "$gentop"; then
++	  func_show_eval '${RM}r "$gentop"'
++	fi
++
++	exit $EXIT_SUCCESS
++      fi
++
++      if test "$build_libtool_libs" != yes; then
++	if test -n "$gentop"; then
++	  func_show_eval '${RM}r "$gentop"'
++	fi
++
++	# Create an invalid libtool object if no PIC, so that we don't
++	# accidentally link it into a program.
++	# $show "echo timestamp > $libobj"
++	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
++	exit $EXIT_SUCCESS
++      fi
++
++      if test -n "$pic_flag" || test "$pic_mode" != default; then
++	# Only do commands if we really have different PIC objects.
++	reload_objs="$libobjs $reload_conv_objs"
++	output="$libobj"
++	func_execute_cmds "$reload_cmds" 'exit $?'
++      fi
++
++      if test -n "$gentop"; then
++	func_show_eval '${RM}r "$gentop"'
++      fi
++
++      exit $EXIT_SUCCESS
++      ;;
++
++    prog)
++      case $host in
++	*cygwin*) func_stripname '' '.exe' "$output"
++	          output=$func_stripname_result.exe;;
++      esac
++      test -n "$vinfo" && \
++	func_warning "\`-version-info' is ignored for programs"
++
++      test -n "$release" && \
++	func_warning "\`-release' is ignored for programs"
++
++      test "$preload" = yes \
++        && test "$dlopen_support" = unknown \
++	&& test "$dlopen_self" = unknown \
++	&& test "$dlopen_self_static" = unknown && \
++	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
++
++      case $host in
++      *-*-rhapsody* | *-*-darwin1.[012])
++	# On Rhapsody replace the C library is the System framework
++	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
++	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
++	;;
++      esac
++
++      case $host in
++      *-*-darwin*)
++	# Don't allow lazy linking, it breaks C++ global constructors
++	# But is supposedly fixed on 10.4 or later (yay!).
++	if test "$tagname" = CXX ; then
++	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
++	    10.[0123])
++	      func_append compile_command " ${wl}-bind_at_load"
++	      func_append finalize_command " ${wl}-bind_at_load"
++	    ;;
++	  esac
++	fi
++	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
++	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
++	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
++	;;
++      esac
++
++
++      # move library search paths that coincide with paths to not yet
++      # installed libraries to the beginning of the library search list
++      new_libs=
++      for path in $notinst_path; do
++	case " $new_libs " in
++	*" -L$path/$objdir "*) ;;
++	*)
++	  case " $compile_deplibs " in
++	  *" -L$path/$objdir "*)
++	    func_append new_libs " -L$path/$objdir" ;;
++	  esac
++	  ;;
++	esac
++      done
++      for deplib in $compile_deplibs; do
++	case $deplib in
++	-L*)
++	  case " $new_libs " in
++	  *" $deplib "*) ;;
++	  *) func_append new_libs " $deplib" ;;
++	  esac
++	  ;;
++	*) func_append new_libs " $deplib" ;;
++	esac
++      done
++      compile_deplibs="$new_libs"
++
++
++      func_append compile_command " $compile_deplibs"
++      func_append finalize_command " $finalize_deplibs"
++
++      if test -n "$rpath$xrpath"; then
++	# If the user specified any rpath flags, then add them.
++	for libdir in $rpath $xrpath; do
++	  # This is the magic to use -rpath.
++	  case "$finalize_rpath " in
++	  *" $libdir "*) ;;
++	  *) func_append finalize_rpath " $libdir" ;;
++	  esac
++	done
++      fi
++
++      # Now hardcode the library paths
++      rpath=
++      hardcode_libdirs=
++      for libdir in $compile_rpath $finalize_rpath; do
++	if test -n "$hardcode_libdir_flag_spec"; then
++	  if test -n "$hardcode_libdir_separator"; then
++	    if test -z "$hardcode_libdirs"; then
++	      hardcode_libdirs="$libdir"
++	    else
++	      # Just accumulate the unique libdirs.
++	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
++	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
++		;;
++	      *)
++		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
++		;;
++	      esac
++	    fi
++	  else
++	    eval flag=\"$hardcode_libdir_flag_spec\"
++	    func_append rpath " $flag"
++	  fi
++	elif test -n "$runpath_var"; then
++	  case "$perm_rpath " in
++	  *" $libdir "*) ;;
++	  *) func_append perm_rpath " $libdir" ;;
++	  esac
++	fi
++	case $host in
++	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
++	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
++	  case :$dllsearchpath: in
++	  *":$libdir:"*) ;;
++	  ::) dllsearchpath=$libdir;;
++	  *) func_append dllsearchpath ":$libdir";;
++	  esac
++	  case :$dllsearchpath: in
++	  *":$testbindir:"*) ;;
++	  ::) dllsearchpath=$testbindir;;
++	  *) func_append dllsearchpath ":$testbindir";;
++	  esac
++	  ;;
++	esac
++      done
++      # Substitute the hardcoded libdirs into the rpath.
++      if test -n "$hardcode_libdir_separator" &&
++	 test -n "$hardcode_libdirs"; then
++	libdir="$hardcode_libdirs"
++	eval rpath=\" $hardcode_libdir_flag_spec\"
++      fi
++      compile_rpath="$rpath"
++
++      rpath=
++      hardcode_libdirs=
++      for libdir in $finalize_rpath; do
++	if test -n "$hardcode_libdir_flag_spec"; then
++	  if test -n "$hardcode_libdir_separator"; then
++	    if test -z "$hardcode_libdirs"; then
++	      hardcode_libdirs="$libdir"
++	    else
++	      # Just accumulate the unique libdirs.
++	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
++	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
++		;;
++	      *)
++		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
++		;;
++	      esac
++	    fi
++	  else
++	    eval flag=\"$hardcode_libdir_flag_spec\"
++	    func_append rpath " $flag"
++	  fi
++	elif test -n "$runpath_var"; then
++	  case "$finalize_perm_rpath " in
++	  *" $libdir "*) ;;
++	  *) func_append finalize_perm_rpath " $libdir" ;;
++	  esac
++	fi
++      done
++      # Substitute the hardcoded libdirs into the rpath.
++      if test -n "$hardcode_libdir_separator" &&
++	 test -n "$hardcode_libdirs"; then
++	libdir="$hardcode_libdirs"
++	eval rpath=\" $hardcode_libdir_flag_spec\"
++      fi
++      finalize_rpath="$rpath"
++
++      if test -n "$libobjs" && test "$build_old_libs" = yes; then
++	# Transform all the library objects into standard objects.
++	compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
++	finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
++      fi
++
++      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
++
++      # template prelinking step
++      if test -n "$prelink_cmds"; then
++	func_execute_cmds "$prelink_cmds" 'exit $?'
++      fi
++
++      wrappers_required=yes
++      case $host in
++      *cegcc* | *mingw32ce*)
++        # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
++        wrappers_required=no
++        ;;
++      *cygwin* | *mingw* )
++        if test "$build_libtool_libs" != yes; then
++          wrappers_required=no
++        fi
++        ;;
++      *)
++        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
++          wrappers_required=no
++        fi
++        ;;
++      esac
++      if test "$wrappers_required" = no; then
++	# Replace the output file specification.
++	compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
++	link_command="$compile_command$compile_rpath"
++
++	# We have no uninstalled library dependencies, so finalize right now.
++	exit_status=0
++	func_show_eval "$link_command" 'exit_status=$?'
++
++	if test -n "$postlink_cmds"; then
++	  func_to_tool_file "$output"
++	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
++	  func_execute_cmds "$postlink_cmds" 'exit $?'
++	fi
++
++	# Delete the generated files.
++	if test -f "$output_objdir/${outputname}S.${objext}"; then
++	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
++	fi
++
++	exit $exit_status
++      fi
++
++      if test -n "$compile_shlibpath$finalize_shlibpath"; then
++	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
++      fi
++      if test -n "$finalize_shlibpath"; then
++	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
++      fi
++
++      compile_var=
++      finalize_var=
++      if test -n "$runpath_var"; then
++	if test -n "$perm_rpath"; then
++	  # We should set the runpath_var.
++	  rpath=
++	  for dir in $perm_rpath; do
++	    func_append rpath "$dir:"
++	  done
++	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
++	fi
++	if test -n "$finalize_perm_rpath"; then
++	  # We should set the runpath_var.
++	  rpath=
++	  for dir in $finalize_perm_rpath; do
++	    func_append rpath "$dir:"
++	  done
++	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
++	fi
++      fi
++
++      if test "$no_install" = yes; then
++	# We don't need to create a wrapper script.
++	link_command="$compile_var$compile_command$compile_rpath"
++	# Replace the output file specification.
++	link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
++	# Delete the old output file.
++	$opt_dry_run || $RM $output
++	# Link the executable and exit
++	func_show_eval "$link_command" 'exit $?'
++
++	if test -n "$postlink_cmds"; then
++	  func_to_tool_file "$output"
++	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
++	  func_execute_cmds "$postlink_cmds" 'exit $?'
++	fi
++
++	exit $EXIT_SUCCESS
++      fi
++
++      if test "$hardcode_action" = relink; then
++	# Fast installation is not supported
++	link_command="$compile_var$compile_command$compile_rpath"
++	relink_command="$finalize_var$finalize_command$finalize_rpath"
++
++	func_warning "this platform does not like uninstalled shared libraries"
++	func_warning "\`$output' will be relinked during installation"
++      else
++	if test "$fast_install" != no; then
++	  link_command="$finalize_var$compile_command$finalize_rpath"
++	  if test "$fast_install" = yes; then
++	    relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
++	  else
++	    # fast_install is set to needless
++	    relink_command=
++	  fi
++	else
++	  link_command="$compile_var$compile_command$compile_rpath"
++	  relink_command="$finalize_var$finalize_command$finalize_rpath"
++	fi
++      fi
++
++      # Replace the output file specification.
++      link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
++
++      # Delete the old output files.
++      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
++
++      func_show_eval "$link_command" 'exit $?'
++
++      if test -n "$postlink_cmds"; then
++	func_to_tool_file "$output_objdir/$outputname"
++	postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
++	func_execute_cmds "$postlink_cmds" 'exit $?'
++      fi
++
++      # Now create the wrapper script.
++      func_verbose "creating $output"
++
++      # Quote the relink command for shipping.
++      if test -n "$relink_command"; then
++	# Preserve any variables that may affect compiler behavior
++	for var in $variables_saved_for_relink; do
++	  if eval test -z \"\${$var+set}\"; then
++	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
++	  elif eval var_value=\$$var; test -z "$var_value"; then
++	    relink_command="$var=; export $var; $relink_command"
++	  else
++	    func_quote_for_eval "$var_value"
++	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
++	  fi
++	done
++	relink_command="(cd `pwd`; $relink_command)"
++	relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
++      fi
++
++      # Only actually do things if not in dry run mode.
++      $opt_dry_run || {
++	# win32 will think the script is a binary if it has
++	# a .exe suffix, so we strip it off here.
++	case $output in
++	  *.exe) func_stripname '' '.exe' "$output"
++	         output=$func_stripname_result ;;
++	esac
++	# test for cygwin because mv fails w/o .exe extensions
++	case $host in
++	  *cygwin*)
++	    exeext=.exe
++	    func_stripname '' '.exe' "$outputname"
++	    outputname=$func_stripname_result ;;
++	  *) exeext= ;;
++	esac
++	case $host in
++	  *cygwin* | *mingw* )
++	    func_dirname_and_basename "$output" "" "."
++	    output_name=$func_basename_result
++	    output_path=$func_dirname_result
++	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
++	    cwrapper="$output_path/$output_name.exe"
++	    $RM $cwrappersource $cwrapper
++	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
++
++	    func_emit_cwrapperexe_src > $cwrappersource
++
++	    # The wrapper executable is built using the $host compiler,
++	    # because it contains $host paths and files. If cross-
++	    # compiling, it, like the target executable, must be
++	    # executed on the $host or under an emulation environment.
++	    $opt_dry_run || {
++	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
++	      $STRIP $cwrapper
++	    }
++
++	    # Now, create the wrapper script for func_source use:
++	    func_ltwrapper_scriptname $cwrapper
++	    $RM $func_ltwrapper_scriptname_result
++	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
++	    $opt_dry_run || {
++	      # note: this script will not be executed, so do not chmod.
++	      if test "x$build" = "x$host" ; then
++		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
++	      else
++		func_emit_wrapper no > $func_ltwrapper_scriptname_result
++	      fi
++	    }
++	  ;;
++	  * )
++	    $RM $output
++	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
++
++	    func_emit_wrapper no > $output
++	    chmod +x $output
++	  ;;
++	esac
++      }
++      exit $EXIT_SUCCESS
++      ;;
++    esac
++
++    # See if we need to build an old-fashioned archive.
++    for oldlib in $oldlibs; do
++
++      if test "$build_libtool_libs" = convenience; then
++	oldobjs="$libobjs_save $symfileobj"
++	addlibs="$convenience"
++	build_libtool_libs=no
++      else
++	if test "$build_libtool_libs" = module; then
++	  oldobjs="$libobjs_save"
++	  build_libtool_libs=no
++	else
++	  oldobjs="$old_deplibs $non_pic_objects"
++	  if test "$preload" = yes && test -f "$symfileobj"; then
++	    func_append oldobjs " $symfileobj"
++	  fi
++	fi
++	addlibs="$old_convenience"
++      fi
++
++      if test -n "$addlibs"; then
++	gentop="$output_objdir/${outputname}x"
++	func_append generated " $gentop"
++
++	func_extract_archives $gentop $addlibs
++	func_append oldobjs " $func_extract_archives_result"
++      fi
++
++      # Do each command in the archive commands.
++      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
++	cmds=$old_archive_from_new_cmds
++      else
++
++	# Add any objects from preloaded convenience libraries
++	if test -n "$dlprefiles"; then
++	  gentop="$output_objdir/${outputname}x"
++	  func_append generated " $gentop"
++
++	  func_extract_archives $gentop $dlprefiles
++	  func_append oldobjs " $func_extract_archives_result"
++	fi
++
++	# POSIX demands no paths to be encoded in archives.  We have
++	# to avoid creating archives with duplicate basenames if we
++	# might have to extract them afterwards, e.g., when creating a
++	# static archive out of a convenience library, or when linking
++	# the entirety of a libtool archive into another (currently
++	# not supported by libtool).
++	if (for obj in $oldobjs
++	    do
++	      func_basename "$obj"
++	      $ECHO "$func_basename_result"
++	    done | sort | sort -uc >/dev/null 2>&1); then
++	  :
++	else
++	  echo "copying selected object files to avoid basename conflicts..."
++	  gentop="$output_objdir/${outputname}x"
++	  func_append generated " $gentop"
++	  func_mkdir_p "$gentop"
++	  save_oldobjs=$oldobjs
++	  oldobjs=
++	  counter=1
++	  for obj in $save_oldobjs
++	  do
++	    func_basename "$obj"
++	    objbase="$func_basename_result"
++	    case " $oldobjs " in
++	    " ") oldobjs=$obj ;;
++	    *[\ /]"$objbase "*)
++	      while :; do
++		# Make sure we don't pick an alternate name that also
++		# overlaps.
++		newobj=lt$counter-$objbase
++		func_arith $counter + 1
++		counter=$func_arith_result
++		case " $oldobjs " in
++		*[\ /]"$newobj "*) ;;
++		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
++		esac
++	      done
++	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
++	      func_append oldobjs " $gentop/$newobj"
++	      ;;
++	    *) func_append oldobjs " $obj" ;;
++	    esac
++	  done
++	fi
++	func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
++	tool_oldlib=$func_to_tool_file_result
++	eval cmds=\"$old_archive_cmds\"
++
++	func_len " $cmds"
++	len=$func_len_result
++	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
++	  cmds=$old_archive_cmds
++	elif test -n "$archiver_list_spec"; then
++	  func_verbose "using command file archive linking..."
++	  for obj in $oldobjs
++	  do
++	    func_to_tool_file "$obj"
++	    $ECHO "$func_to_tool_file_result"
++	  done > $output_objdir/$libname.libcmd
++	  func_to_tool_file "$output_objdir/$libname.libcmd"
++	  oldobjs=" $archiver_list_spec$func_to_tool_file_result"
++	  cmds=$old_archive_cmds
++	else
++	  # the command line is too long to link in one step, link in parts
++	  func_verbose "using piecewise archive linking..."
++	  save_RANLIB=$RANLIB
++	  RANLIB=:
++	  objlist=
++	  concat_cmds=
++	  save_oldobjs=$oldobjs
++	  oldobjs=
++	  # Is there a better way of finding the last object in the list?
++	  for obj in $save_oldobjs
++	  do
++	    last_oldobj=$obj
++	  done
++	  eval test_cmds=\"$old_archive_cmds\"
++	  func_len " $test_cmds"
++	  len0=$func_len_result
++	  len=$len0
++	  for obj in $save_oldobjs
++	  do
++	    func_len " $obj"
++	    func_arith $len + $func_len_result
++	    len=$func_arith_result
++	    func_append objlist " $obj"
++	    if test "$len" -lt "$max_cmd_len"; then
++	      :
++	    else
++	      # the above command should be used before it gets too long
++	      oldobjs=$objlist
++	      if test "$obj" = "$last_oldobj" ; then
++		RANLIB=$save_RANLIB
++	      fi
++	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
++	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
++	      objlist=
++	      len=$len0
++	    fi
++	  done
++	  RANLIB=$save_RANLIB
++	  oldobjs=$objlist
++	  if test "X$oldobjs" = "X" ; then
++	    eval cmds=\"\$concat_cmds\"
++	  else
++	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
++	  fi
++	fi
++      fi
++      func_execute_cmds "$cmds" 'exit $?'
++    done
++
++    test -n "$generated" && \
++      func_show_eval "${RM}r$generated"
++
++    # Now create the libtool archive.
++    case $output in
++    *.la)
++      old_library=
++      test "$build_old_libs" = yes && old_library="$libname.$libext"
++      func_verbose "creating $output"
++
++      # Preserve any variables that may affect compiler behavior
++      for var in $variables_saved_for_relink; do
++	if eval test -z \"\${$var+set}\"; then
++	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
++	elif eval var_value=\$$var; test -z "$var_value"; then
++	  relink_command="$var=; export $var; $relink_command"
++	else
++	  func_quote_for_eval "$var_value"
++	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
++	fi
++      done
++      # Quote the link command for shipping.
++      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
++      relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
++      if test "$hardcode_automatic" = yes ; then
++	relink_command=
++      fi
++
++      # Only create the output if not a dry run.
++      $opt_dry_run || {
++	for installed in no yes; do
++	  if test "$installed" = yes; then
++	    if test -z "$install_libdir"; then
++	      break
++	    fi
++	    output="$output_objdir/$outputname"i
++	    # Replace all uninstalled libtool libraries with the installed ones
++	    newdependency_libs=
++	    for deplib in $dependency_libs; do
++	      case $deplib in
++	      *.la)
++		func_basename "$deplib"
++		name="$func_basename_result"
++		func_resolve_sysroot "$deplib"
++		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
++		test -z "$libdir" && \
++		  func_fatal_error "\`$deplib' is not a valid libtool archive"
++		func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
++		;;
++	      -L*)
++		func_stripname -L '' "$deplib"
++		func_replace_sysroot "$func_stripname_result"
++		func_append newdependency_libs " -L$func_replace_sysroot_result"
++		;;
++	      -R*)
++		func_stripname -R '' "$deplib"
++		func_replace_sysroot "$func_stripname_result"
++		func_append newdependency_libs " -R$func_replace_sysroot_result"
++		;;
++	      *) func_append newdependency_libs " $deplib" ;;
++	      esac
++	    done
++	    dependency_libs="$newdependency_libs"
++	    newdlfiles=
++
++	    for lib in $dlfiles; do
++	      case $lib in
++	      *.la)
++	        func_basename "$lib"
++		name="$func_basename_result"
++		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
++		test -z "$libdir" && \
++		  func_fatal_error "\`$lib' is not a valid libtool archive"
++		func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
++		;;
++	      *) func_append newdlfiles " $lib" ;;
++	      esac
++	    done
++	    dlfiles="$newdlfiles"
++	    newdlprefiles=
++	    for lib in $dlprefiles; do
++	      case $lib in
++	      *.la)
++		# Only pass preopened files to the pseudo-archive (for
++		# eventual linking with the app. that links it) if we
++		# didn't already link the preopened objects directly into
++		# the library:
++		func_basename "$lib"
++		name="$func_basename_result"
++		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
++		test -z "$libdir" && \
++		  func_fatal_error "\`$lib' is not a valid libtool archive"
++		func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
++		;;
++	      esac
++	    done
++	    dlprefiles="$newdlprefiles"
++	  else
++	    newdlfiles=
++	    for lib in $dlfiles; do
++	      case $lib in
++		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
++		*) abs=`pwd`"/$lib" ;;
++	      esac
++	      func_append newdlfiles " $abs"
++	    done
++	    dlfiles="$newdlfiles"
++	    newdlprefiles=
++	    for lib in $dlprefiles; do
++	      case $lib in
++		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
++		*) abs=`pwd`"/$lib" ;;
++	      esac
++	      func_append newdlprefiles " $abs"
++	    done
++	    dlprefiles="$newdlprefiles"
++	  fi
++	  $RM $output
++	  # place dlname in correct position for cygwin
++	  # In fact, it would be nice if we could use this code for all target
++	  # systems that can't hard-code library paths into their executables
++	  # and that have no shared library path variable independent of PATH,
++	  # but it turns out we can't easily determine that from inspecting
++	  # libtool variables, so we have to hard-code the OSs to which it
++	  # applies here; at the moment, that means platforms that use the PE
++	  # object format with DLL files.  See the long comment at the top of
++	  # tests/bindir.at for full details.
++	  tdlname=$dlname
++	  case $host,$output,$installed,$module,$dlname in
++	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
++	      # If a -bindir argument was supplied, place the dll there.
++	      if test "x$bindir" != x ;
++	      then
++		func_relative_path "$install_libdir" "$bindir"
++		tdlname=$func_relative_path_result$dlname
++	      else
++		# Otherwise fall back on heuristic.
++		tdlname=../bin/$dlname
++	      fi
++	      ;;
++	  esac
++	  $ECHO > $output "\
++# $outputname - a libtool library file
++# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
++#
++# Please DO NOT delete this file!
++# It is necessary for linking the library.
++
++# The name that we can dlopen(3).
++dlname='$tdlname'
++
++# Names of this library.
++library_names='$library_names'
++
++# The name of the static archive.
++old_library='$old_library'
++
++# Linker flags that can not go in dependency_libs.
++inherited_linker_flags='$new_inherited_linker_flags'
++
++# Libraries that this one depends upon.
++dependency_libs='$dependency_libs'
++
++# Names of additional weak libraries provided by this library
++weak_library_names='$weak_libs'
++
++# Version information for $libname.
++current=$current
++age=$age
++revision=$revision
++
++# Is this an already installed library?
++installed=$installed
++
++# Should we warn about portability when linking against -modules?
++shouldnotlink=$module
++
++# Files to dlopen/dlpreopen
++dlopen='$dlfiles'
++dlpreopen='$dlprefiles'
++
++# Directory that this library needs to be installed in:
++libdir='$install_libdir'"
++	  if test "$installed" = no && test "$need_relink" = yes; then
++	    $ECHO >> $output "\
++relink_command=\"$relink_command\""
++	  fi
++	done
++      }
++
++      # Do a symbolic link so that the libtool archive can be found in
++      # LD_LIBRARY_PATH before the program is installed.
++      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
++      ;;
++    esac
++    exit $EXIT_SUCCESS
++}
++
++{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
++    func_mode_link ${1+"$@"}
++
++
++# func_mode_uninstall arg...
++func_mode_uninstall ()
++{
++    $opt_debug
++    RM="$nonopt"
++    files=
++    rmforce=
++    exit_status=0
++
++    # This variable tells wrapper scripts just to set variables rather
++    # than running their programs.
++    libtool_install_magic="$magic"
++
++    for arg
++    do
++      case $arg in
++      -f) func_append RM " $arg"; rmforce=yes ;;
++      -*) func_append RM " $arg" ;;
++      *) func_append files " $arg" ;;
++      esac
++    done
++
++    test -z "$RM" && \
++      func_fatal_help "you must specify an RM program"
++
++    rmdirs=
++
++    for file in $files; do
++      func_dirname "$file" "" "."
++      dir="$func_dirname_result"
++      if test "X$dir" = X.; then
++	odir="$objdir"
++      else
++	odir="$dir/$objdir"
++      fi
++      func_basename "$file"
++      name="$func_basename_result"
++      test "$opt_mode" = uninstall && odir="$dir"
++
++      # Remember odir for removal later, being careful to avoid duplicates
++      if test "$opt_mode" = clean; then
++	case " $rmdirs " in
++	  *" $odir "*) ;;
++	  *) func_append rmdirs " $odir" ;;
++	esac
++      fi
++
++      # Don't error if the file doesn't exist and rm -f was used.
++      if { test -L "$file"; } >/dev/null 2>&1 ||
++	 { test -h "$file"; } >/dev/null 2>&1 ||
++	 test -f "$file"; then
++	:
++      elif test -d "$file"; then
++	exit_status=1
++	continue
++      elif test "$rmforce" = yes; then
++	continue
++      fi
++
++      rmfiles="$file"
++
++      case $name in
++      *.la)
++	# Possibly a libtool archive, so verify it.
++	if func_lalib_p "$file"; then
++	  func_source $dir/$name
++
++	  # Delete the libtool libraries and symlinks.
++	  for n in $library_names; do
++	    func_append rmfiles " $odir/$n"
++	  done
++	  test -n "$old_library" && func_append rmfiles " $odir/$old_library"
++
++	  case "$opt_mode" in
++	  clean)
++	    case " $library_names " in
++	    *" $dlname "*) ;;
++	    *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
++	    esac
++	    test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
++	    ;;
++	  uninstall)
++	    if test -n "$library_names"; then
++	      # Do each command in the postuninstall commands.
++	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
++	    fi
++
++	    if test -n "$old_library"; then
++	      # Do each command in the old_postuninstall commands.
++	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
++	    fi
++	    # FIXME: should reinstall the best remaining shared library.
++	    ;;
++	  esac
++	fi
++	;;
++
++      *.lo)
++	# Possibly a libtool object, so verify it.
++	if func_lalib_p "$file"; then
++
++	  # Read the .lo file
++	  func_source $dir/$name
++
++	  # Add PIC object to the list of files to remove.
++	  if test -n "$pic_object" &&
++	     test "$pic_object" != none; then
++	    func_append rmfiles " $dir/$pic_object"
++	  fi
++
++	  # Add non-PIC object to the list of files to remove.
++	  if test -n "$non_pic_object" &&
++	     test "$non_pic_object" != none; then
++	    func_append rmfiles " $dir/$non_pic_object"
++	  fi
++	fi
++	;;
++
++      *)
++	if test "$opt_mode" = clean ; then
++	  noexename=$name
++	  case $file in
++	  *.exe)
++	    func_stripname '' '.exe' "$file"
++	    file=$func_stripname_result
++	    func_stripname '' '.exe' "$name"
++	    noexename=$func_stripname_result
++	    # $file with .exe has already been added to rmfiles,
++	    # add $file without .exe
++	    func_append rmfiles " $file"
++	    ;;
++	  esac
++	  # Do a test to see if this is a libtool program.
++	  if func_ltwrapper_p "$file"; then
++	    if func_ltwrapper_executable_p "$file"; then
++	      func_ltwrapper_scriptname "$file"
++	      relink_command=
++	      func_source $func_ltwrapper_scriptname_result
++	      func_append rmfiles " $func_ltwrapper_scriptname_result"
++	    else
++	      relink_command=
++	      func_source $dir/$noexename
++	    fi
++
++	    # note $name still contains .exe if it was in $file originally
++	    # as does the version of $file that was added into $rmfiles
++	    func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
++	    if test "$fast_install" = yes && test -n "$relink_command"; then
++	      func_append rmfiles " $odir/lt-$name"
++	    fi
++	    if test "X$noexename" != "X$name" ; then
++	      func_append rmfiles " $odir/lt-${noexename}.c"
++	    fi
++	  fi
++	fi
++	;;
++      esac
++      func_show_eval "$RM $rmfiles" 'exit_status=1'
++    done
++
++    # Try to remove the ${objdir}s in the directories where we deleted files
++    for dir in $rmdirs; do
++      if test -d "$dir"; then
++	func_show_eval "rmdir $dir >/dev/null 2>&1"
++      fi
++    done
++
++    exit $exit_status
++}
++
++{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
++    func_mode_uninstall ${1+"$@"}
++
++test -z "$opt_mode" && {
++  help="$generic_help"
++  func_fatal_help "you must specify a MODE"
++}
++
++test -z "$exec_cmd" && \
++  func_fatal_help "invalid operation mode \`$opt_mode'"
++
++if test -n "$exec_cmd"; then
++  eval exec "$exec_cmd"
++  exit $EXIT_FAILURE
++fi
++
++exit $exit_status
++
++
++# The TAGs below are defined such that we never get into a situation
++# in which we disable both kinds of libraries.  Given conflicting
++# choices, we go for a static library, that is the most portable,
++# since we can't tell whether shared libraries were disabled because
++# the user asked for that or because the platform doesn't support
++# them.  This is particularly important on AIX, because we don't
++# support having both static and shared libraries enabled at the same
++# time on that platform, so we default to a shared-only configuration.
++# If a disable-shared tag is given, we'll fallback to a static-only
++# configuration.  But we'll never go from static-only to shared-only.
++
++# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
++build_libtool_libs=no
++build_old_libs=yes
++# ### END LIBTOOL TAG CONFIG: disable-shared
++
++# ### BEGIN LIBTOOL TAG CONFIG: disable-static
++build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
++# ### END LIBTOOL TAG CONFIG: disable-static
++
++# Local Variables:
++# mode:shell-script
++# sh-indentation:2
++# End:
++# vi:sw=2
++
+diff -uNr a/Makefile.am b/Makefile.am
+--- a/Makefile.am	1969-12-31 19:00:00.000000000 -0500
++++ b/Makefile.am	2014-12-12 14:58:08.449959961 -0500
+@@ -0,0 +1,5 @@
++lib_LTLIBRARIES = libgl2ps.la
++
++libgl2ps_la_SOURCES = gl2ps.c
++
++include_HEADERS = gl2ps.h
+diff -uNr a/missing b/missing
+--- a/missing	1969-12-31 19:00:00.000000000 -0500
++++ b/missing	2014-12-12 15:22:27.598240211 -0500
+@@ -0,0 +1,215 @@
++#! /bin/sh
++# Common wrapper for a few potentially missing GNU programs.
++
++scriptversion=2013-10-28.13; # UTC
++
++# Copyright (C) 1996-2013 Free Software Foundation, Inc.
++# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
++
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2, or (at your option)
++# any later version.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++
++# You should have received a copy of the GNU General Public License
++# along with this program.  If not, see <http://www.gnu.org/licenses/>.
++
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that program.
++
++if test $# -eq 0; then
++  echo 1>&2 "Try '$0 --help' for more information"
++  exit 1
++fi
++
++case $1 in
++
++  --is-lightweight)
++    # Used by our autoconf macros to check whether the available missing
++    # script is modern enough.
++    exit 0
++    ;;
++
++  --run)
++    # Back-compat with the calling convention used by older automake.
++    shift
++    ;;
++
++  -h|--h|--he|--hel|--help)
++    echo "\
++$0 [OPTION]... PROGRAM [ARGUMENT]...
++
++Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
++to PROGRAM being missing or too old.
++
++Options:
++  -h, --help      display this help and exit
++  -v, --version   output version information and exit
++
++Supported PROGRAM values:
++  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
++  bison     yacc      flex         lex       help2man
++
++Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
++'g' are ignored when checking the name.
++
++Send bug reports to <bug-automake@gnu.org>."
++    exit $?
++    ;;
++
++  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
++    echo "missing $scriptversion (GNU Automake)"
++    exit $?
++    ;;
++
++  -*)
++    echo 1>&2 "$0: unknown '$1' option"
++    echo 1>&2 "Try '$0 --help' for more information"
++    exit 1
++    ;;
++
++esac
++
++# Run the given program, remember its exit status.
++"$@"; st=$?
++
++# If it succeeded, we are done.
++test $st -eq 0 && exit 0
++
++# Also exit now if we it failed (or wasn't found), and '--version' was
++# passed; such an option is passed most likely to detect whether the
++# program is present and works.
++case $2 in --version|--help) exit $st;; esac
++
++# Exit code 63 means version mismatch.  This often happens when the user
++# tries to use an ancient version of a tool on a file that requires a
++# minimum version.
++if test $st -eq 63; then
++  msg="probably too old"
++elif test $st -eq 127; then
++  # Program was missing.
++  msg="missing on your system"
++else
++  # Program was found and executed, but failed.  Give up.
++  exit $st
++fi
++
++perl_URL=http://www.perl.org/
++flex_URL=http://flex.sourceforge.net/
++gnu_software_URL=http://www.gnu.org/software
++
++program_details ()
++{
++  case $1 in
++    aclocal|automake)
++      echo "The '$1' program is part of the GNU Automake package:"
++      echo "<$gnu_software_URL/automake>"
++      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
++      echo "<$gnu_software_URL/autoconf>"
++      echo "<$gnu_software_URL/m4/>"
++      echo "<$perl_URL>"
++      ;;
++    autoconf|autom4te|autoheader)
++      echo "The '$1' program is part of the GNU Autoconf package:"
++      echo "<$gnu_software_URL/autoconf/>"
++      echo "It also requires GNU m4 and Perl in order to run:"
++      echo "<$gnu_software_URL/m4/>"
++      echo "<$perl_URL>"
++      ;;
++  esac
++}
++
++give_advice ()
++{
++  # Normalize program name to check for.
++  normalized_program=`echo "$1" | sed '
++    s/^gnu-//; t
++    s/^gnu//; t
++    s/^g//; t'`
++
++  printf '%s\n' "'$1' is $msg."
++
++  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
++  case $normalized_program in
++    autoconf*)
++      echo "You should only need it if you modified 'configure.ac',"
++      echo "or m4 files included by it."
++      program_details 'autoconf'
++      ;;
++    autoheader*)
++      echo "You should only need it if you modified 'acconfig.h' or"
++      echo "$configure_deps."
++      program_details 'autoheader'
++      ;;
++    automake*)
++      echo "You should only need it if you modified 'Makefile.am' or"
++      echo "$configure_deps."
++      program_details 'automake'
++      ;;
++    aclocal*)
++      echo "You should only need it if you modified 'acinclude.m4' or"
++      echo "$configure_deps."
++      program_details 'aclocal'
++      ;;
++   autom4te*)
++      echo "You might have modified some maintainer files that require"
++      echo "the 'autom4te' program to be rebuilt."
++      program_details 'autom4te'
++      ;;
++    bison*|yacc*)
++      echo "You should only need it if you modified a '.y' file."
++      echo "You may want to install the GNU Bison package:"
++      echo "<$gnu_software_URL/bison/>"
++      ;;
++    lex*|flex*)
++      echo "You should only need it if you modified a '.l' file."
++      echo "You may want to install the Fast Lexical Analyzer package:"
++      echo "<$flex_URL>"
++      ;;
++    help2man*)
++      echo "You should only need it if you modified a dependency" \
++           "of a man page."
++      echo "You may want to install the GNU Help2man package:"
++      echo "<$gnu_software_URL/help2man/>"
++    ;;
++    makeinfo*)
++      echo "You should only need it if you modified a '.texi' file, or"
++      echo "any other file indirectly affecting the aspect of the manual."
++      echo "You might want to install the Texinfo package:"
++      echo "<$gnu_software_URL/texinfo/>"
++      echo "The spurious makeinfo call might also be the consequence of"
++      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
++      echo "want to install GNU make:"
++      echo "<$gnu_software_URL/make/>"
++      ;;
++    *)
++      echo "You might have modified some files without having the proper"
++      echo "tools for further handling them.  Check the 'README' file, it"
++      echo "often tells you about the needed prerequisites for installing"
++      echo "this package.  You may also peek at any GNU archive site, in"
++      echo "case some other package contains this missing '$1' program."
++      ;;
++  esac
++}
++
++give_advice "$1" | sed -e '1s/^/WARNING: /' \
++                       -e '2,$s/^/         /' >&2
++
++# Propagate the correct exit status (expected to be 127 for a program
++# not found, 63 for a program that failed due to version mismatch).
++exit $st
++
++# Local variables:
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "scriptversion="
++# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-time-zone: "UTC"
++# time-stamp-end: "; # UTC"
++# End:
+diff -uNr a/NEWS b/NEWS
+--- a/NEWS	1969-12-31 19:00:00.000000000 -0500
++++ b/NEWS	2014-12-12 15:59:32.605606679 -0500
+@@ -0,0 +1 @@
++
+diff -uNr a/README b/README
+--- a/README	1969-12-31 19:00:00.000000000 -0500
++++ b/README	2014-12-12 15:59:32.605606679 -0500
+@@ -0,0 +1 @@
++
--- a/src/gl2ps-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
---- gl2ps-1.3.8-source/CMakeLists.txt	2012-11-27 11:41:06.000000000 -0800
-+++ gl2ps-1.3.8-mod/CMakeLists.txt	2013-11-14 07:53:29.478371844 -0800
-@@ -125,11 +125,7 @@
-   install(TARGETS lib shared DESTINATION lib${LIB_SUFFIX})
- endif(OPENGL_FOUND)
- 
--if(WIN32)
--  set(GL2PS_DOC .)
--else(WIN32)
--  set(GL2PS_DOC share/doc/gl2ps)
--endif(WIN32)
-+set(GL2PS_DOC share/doc/gl2ps)
- 
- install(FILES gl2ps.h DESTINATION include)
- install(FILES ${CMAKE_SOURCE_DIR}/README.txt DESTINATION ${GL2PS_DOC})
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/gl2ps-2-docpath.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,12 @@
+diff -ru gl2ps-1.4.2.orig/CMakeLists.txt gl2ps-1.4.2/CMakeLists.txt
+--- gl2ps-1.4.2.orig/CMakeLists.txt	2020-04-25 16:44:55.536814745 -0400
++++ gl2ps-1.4.2/CMakeLists.txt	2020-05-07 19:08:35.538729120 -0400
+@@ -156,7 +156,7 @@
+                              ARCHIVE DESTINATION lib${LIB_SUFFIX})
+ endif()
+ 
+-if(WIN32)
++if(WIN32 AND NOT DEFINED ENV{MSYSTEM})
+   set(GL2PS_DOC .)
+ else()
+   set(GL2PS_DOC share/doc/gl2ps)
--- a/src/gl2ps.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gl2ps.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -2,66 +2,99 @@
 # See index.html for further information.
 
 PKG             := gl2ps
-$(PKG)_CHECKSUM := 792e11db0fe7a30a4dc4491af5098b047ec378b1
-$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)-source
+$(PKG)_VERSION  := 1.4.2
+$(PKG)_CHECKSUM := ee1eb8972e9d07bbe325552e4ec15d6828e8197c
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tgz
 $(PKG)_URL      := http://geuz.org/$(PKG)/src/$($(PKG)_FILE)
-$(PKG)_DEPS     :=
-
+$(PKG)_DEPS     := libpng zlib
+ifeq ($(USE_SYSTEM_OPENGL),no)
+  $(PKG)_DEPS += mesa glu
+endif
 
 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
     ifeq ($(MXE_SYSTEM),msvc)
         $(PKG)_CMAKE_FLAGS := -G 'NMake Makefiles'
-    else
-        $(PKG)_CMAKE_FLAGS := -G 'MSYS Makefiles'
     endif
-else
-    $(PKG)_CMAKE_FLAGS := \
-        -DCMAKE_AR='$(MXE_AR)' \
-        -DCMAKE_RANLIB='$(MXE_RANLIB)' 
 endif
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package octave.' >&2;
-    echo $(gl2ps_VERSION)
+    $(WGET) -q -O- 'https://gitlab.onelab.info/gl2ps/gl2ps/-/tags' | \
+        $(SED) -n 's/.*>gl2ps_\([0-9]\)_\([0-9]\)_\([0-9]\)<.*/\1\.\2\.\3/p' | \
+        $(SORT) -V | tail -1
 endef
 
 ifeq ($(MXE_SYSTEM),msvc)
-define $(PKG)_BUILD
-    cd '$(1)' && cmake \
-        $($(PKG)_CMAKE_FLAGS) \
-        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
-        -DPNG_NAMES=png16 \
-        .
-    cd '$(1)' && env -u MAKE -u MAKEFLAGS nmake
-    cd '$(1)' && env -u MAKE -u MAKEFLAGS nmake DESTDIR='$(3)' install
-endef
+    define $(PKG)_BUILD
+        cd '$(1)' && cmake \
+            $($(PKG)_CMAKE_FLAGS) \
+            $(CMAKE_CCACHE_FLAGS) \
+            $(CMAKE_BUILD_SHARED_OR_STATIC) \
+            -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+            -DPNG_NAMES=png16 \
+            .
+        cd '$(1)' && env -u MAKE -u MAKEFLAGS nmake
+        cd '$(1)' && env -u MAKE -u MAKEFLAGS nmake DESTDIR='$(3)' install
+    endef
+else ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+    define $(PKG)_BUILD
+        mkdir '$(1)/.build'
+        cd '$(1)' && autoreconf --force
+        cd '$(1)/.build' && ../configure \
+            $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+            $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+            $(ENABLE_SHARED_OR_STATIC) \
+            --prefix='$(HOST_PREFIX)' \
+            LIBS=-lopengl32 \
+            && $(CONFIGURE_POST_HOOK)
+        $(MAKE) -C '$(1)/.build' -j '$(JOBS)' LDFLAGS='-no-undefined -L$(HOST_LIBDIR)'
+        $(MAKE) -C '$(1)/.build' -j 1 install DESTDIR='$(3)'
+    endef
 else
-define $(PKG)_BUILD
-    cd '$(1)' && cmake \
-        $($(PKG)_CMAKE_FLAGS) \
-        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
-        .
-    $(MAKE) -C '$(1)' -j '$(JOBS)' VERBOSE=1 
+    ifeq ($(MXE_SYSTEM),mingw)
+        define $(PKG)_BUILD
+            cd '$(1)' && cmake \
+                $($(PKG)_CMAKE_FLAGS) \
+                $(CMAKE_CCACHE_FLAGS) \
+                $(CMAKE_BUILD_SHARED_OR_STATIC) \
+                -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+                .
+            $(MAKE) -C '$(1)' -j '$(JOBS)' VERBOSE=1 
 
-    # native mingw build doesnt want to install the files, even
-    # though it logs that it did
-    if [ x$(MXE_NATIVE_MINGW_BUILD) = xyes ]; then \
-      $(INSTALL) -d '$(3)$(HOST_LIBDIR)'; \
-      $(INSTALL) -m644 '$(1)/libgl2ps.a' '$(3)$(HOST_LIBDIR)'; \
-      $(INSTALL) -m644 '$(1)/libgl2ps.dll.a' '$(3)$(HOST_LIBDIR)'; \
-      $(INSTALL) -d '$(3)$(HOST_BINDIR)'; \
-      $(INSTALL) -m644 '$(1)/libgl2ps.dll' '$(3)$(HOST_BINDIR)'; \
-      $(INSTALL) -d '$(3)$(HOST_INCDIR)'; \
-      $(INSTALL) -m644 '$(1)/gl2ps.h' '$(3)$(HOST_INCDIR)'; \
-    else \
-      $(MAKE) -C '$(1)' -j 1 VERBOSE=1 DESTDIR='$(3)' install; \
-      if [ $(MXE_SYSTEM) = mingw ]; then \
-        echo "Install dll"; \
-        $(INSTALL) -d '$(3)$(HOST_BINDIR)'; \
-        $(INSTALL) '$(3)$(HOST_LIBDIR)/libgl2ps.dll' '$(3)$(HOST_BINDIR)/'; \
-        rm -f '$(3)$(HOST_LIBDIR)/libgl2ps.dll'; \
-      fi; \
-    fi
-endef
+            # native mingw build doesnt want to install the files, even
+            # though it logs that it did
+            if [ x$(MXE_NATIVE_MINGW_BUILD) = xyes ]; then \
+                $(INSTALL) -d '$(3)$(HOST_LIBDIR)'; \
+                $(INSTALL) -m644 '$(1)/libgl2ps.a' '$(3)$(HOST_LIBDIR)'; \
+                $(INSTALL) -m644 '$(1)/libgl2ps.dll.a' '$(3)$(HOST_LIBDIR)'; \
+                $(INSTALL) -d '$(3)$(HOST_BINDIR)'; \
+                $(INSTALL) -m644 '$(1)/libgl2ps.dll' '$(3)$(HOST_BINDIR)'; \
+                $(INSTALL) -d '$(3)$(HOST_INCDIR)'; \
+                $(INSTALL) -m644 '$(1)/gl2ps.h' '$(3)$(HOST_INCDIR)'; \
+            else \
+                $(MAKE) -C '$(1)' -j 1 VERBOSE=1 DESTDIR='$(3)' install; \
+                if [ $(MXE_SYSTEM) = mingw ]; then \
+                    echo "Install dll"; \
+                    $(INSTALL) -d '$(3)$(HOST_BINDIR)'; \
+                    $(INSTALL) '$(3)$(HOST_LIBDIR)/libgl2ps.dll' '$(3)$(HOST_BINDIR)/'; \
+                    rm -f '$(3)$(HOST_LIBDIR)/libgl2ps.dll'; \
+                fi; \
+            fi
+        endef
+    else
+        define $(PKG)_BUILD
+            mkdir '$(1)/.build'
+            cd '$(1)' && aclocal && libtoolize && autoreconf --force
+            cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+                $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+                $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+                --prefix='$(HOST_PREFIX)' \
+                && $(CONFIGURE_POST_HOOK)
+
+            $(MAKE) -C '$(1)/.build' -j '$(JOBS)'
+            $(MAKE) -C '$(1)/.build' -j 1 install DESTDIR='$(3)'
+        endef
+    endif
 endif
+
+
--- a/src/glew.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/glew.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := glew
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.9.0
 $(PKG)_CHECKSUM := 9291f5c5afefd482c7f3e91ffb3cd4716c6c9ffe
 $(PKG)_SUBDIR   := glew-$($(PKG)_VERSION)
 $(PKG)_FILE     := glew-$($(PKG)_VERSION).tgz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/glew/files/glew/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*glew/\([0-9][^"]*\)/".*,\1,p' | \
     head -1
 endef
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/glib-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,705 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Thu, 23 Sep 2010 21:42:46 +0200
+Subject: [PATCH 1/9] fix tool paths
+
+
+diff --git a/glib-2.0.pc.in b/glib-2.0.pc.in
+index 1111111..2222222 100644
+--- a/glib-2.0.pc.in
++++ b/glib-2.0.pc.in
+@@ -3,9 +3,9 @@ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+ includedir=@includedir@
+ 
+-glib_genmarshal=glib-genmarshal
+-gobject_query=gobject-query
+-glib_mkenums=glib-mkenums
++glib_genmarshal=@bindir@/glib-genmarshal
++gobject_query=@bindir@/gobject-query
++glib_mkenums=@bindir@/glib-mkenums
+ 
+ Name: GLib
+ Description: C Utility Library
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Hans Petter Jansson <hpj@cl.no>
+Date: Fri, 15 Jun 2012 15:25:01 +0200
+Subject: [PATCH 2/9] Avoid DllMain symbol conflict when linking statically
+
+Adjusted by Boris Nagaev on 29-Jan-2017 to fix
+https://gist.github.com/starius/f4fc85939352cb50122ba29e0f5b140d
+when updating to glib-2.50.2.
+
+diff --git a/gio/giomodule.c b/gio/giomodule.c
+index 1111111..2222222 100644
+--- a/gio/giomodule.c
++++ b/gio/giomodule.c
+@@ -928,14 +928,12 @@ extern GType g_cocoa_notification_backend_get_type (void);
+ 
+ static HMODULE gio_dll = NULL;
+ 
+-#ifdef DLL_EXPORT
+-
+-BOOL WINAPI DllMain (HINSTANCE hinstDLL,
++BOOL WINAPI gio_DllMain (HINSTANCE hinstDLL,
+                      DWORD     fdwReason,
+                      LPVOID    lpvReserved);
+ 
+ BOOL WINAPI
+-DllMain (HINSTANCE hinstDLL,
++gio_DllMain (HINSTANCE hinstDLL,
+ 	 DWORD     fdwReason,
+ 	 LPVOID    lpvReserved)
+ {
+@@ -945,8 +943,6 @@ DllMain (HINSTANCE hinstDLL,
+   return TRUE;
+ }
+ 
+-#endif
+-
+ void *
+ _g_io_win32_get_module (void)
+ {
+diff --git a/glib/glib-init.c b/glib/glib-init.c
+index 1111111..2222222 100644
+--- a/glib/glib-init.c
++++ b/glib/glib-init.c
+@@ -245,14 +245,14 @@ glib_init (void)
+ 
+ #if defined (G_OS_WIN32)
+ 
+-BOOL WINAPI DllMain (HINSTANCE hinstDLL,
++BOOL WINAPI glib_DllMain (HINSTANCE hinstDLL,
+                      DWORD     fdwReason,
+                      LPVOID    lpvReserved);
+ 
+ HMODULE glib_dll;
+ 
+ BOOL WINAPI
+-DllMain (HINSTANCE hinstDLL,
++glib_DllMain (HINSTANCE hinstDLL,
+          DWORD     fdwReason,
+          LPVOID    lpvReserved)
+ {
+diff --git a/gobject/gtype.c b/gobject/gtype.c
+index 1111111..2222222 100644
+--- a/gobject/gtype.c
++++ b/gobject/gtype.c
+@@ -4450,7 +4450,7 @@ gobject_init (void)
+   _g_signal_init ();
+ }
+ 
+-#if defined (G_OS_WIN32)
++#if 0
+ 
+ BOOL WINAPI DllMain (HINSTANCE hinstDLL,
+                      DWORD     fdwReason,
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Hans Petter Jansson <hpj@cl.no>
+Date: Fri, 15 Jun 2012 15:27:22 +0200
+Subject: [PATCH 3/9] Allow building without inotify support
+
+
+diff --git a/configure.ac b/configure.ac
+index 1111111..2222222 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1599,10 +1599,16 @@ dnl *****************************
+ dnl ** Check for inotify (GIO) **
+ dnl *****************************
+ inotify_support=no
++ AC_ARG_ENABLE(inotify,
++               AC_HELP_STRING([--disable-inotify],
++                              [build without inotify support]))
++
++ if test "x$enable_inotify" != "xno"; then
+ AC_CHECK_HEADERS([sys/inotify.h],
+ [
+   AC_CHECK_FUNCS(inotify_init1, [inotify_support=yes], [inotify_support=no])
+ ])
++fi
+ 
+ AM_CONDITIONAL(HAVE_INOTIFY, [test "$inotify_support" = "yes"])
+ 
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Hans Petter Jansson <hpj@cl.no>
+Date: Fri, 15 Jun 2012 15:28:14 +0200
+Subject: [PATCH 4/9] Make sure STDC_HEADERS is set for AC_CHECK_ALIGNOF.
+ Backported from upstream
+
+
+diff --git a/configure.ac b/configure.ac
+index 1111111..2222222 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -511,6 +511,8 @@ LT_INIT([disable-static win32-dll])
+ dnl when using libtool 2.x create libtool early, because it's used in configure
+ m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
+ 
++# Make sure STDC_HEADERS is set for AC_CHECK_ALIGNOF
++AS_IF([false], [AC_CHECK_HEADER([stdint.h])])
+ 
+ AS_IF([test "$glib_native_win32" = "yes"], [
+   if test x$enable_static = xyes -a x$enable_shared = xyes; then
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Hans Petter Jansson <hpj@cl.no>
+Date: Fri, 15 Jun 2012 15:29:06 +0200
+Subject: [PATCH 5/9] Link with dnsapi
+
+
+diff --git a/gio-2.0.pc.in b/gio-2.0.pc.in
+index 1111111..2222222 100644
+--- a/gio-2.0.pc.in
++++ b/gio-2.0.pc.in
+@@ -13,6 +13,6 @@ Description: glib I/O library
+ Version: @VERSION@
+ Requires: glib-2.0 gobject-2.0
+ Requires.private: gmodule-no-export-2.0
+-Libs: -L${libdir} -lgio-2.0
++Libs: -L${libdir} -lgio-2.0 -ldnsapi -liphlpapi
+ Libs.private: @ZLIB_LIBS@ @NETWORK_LIBS@ @SELINUX_LIBS@ @COCOA_LIBS@ @CARBON_LIBS@
+ Cflags:
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Hans Petter Jansson <hpj@cl.no>
+Date: Fri, 15 Jun 2012 15:29:38 +0200
+Subject: [PATCH 6/9] Ensure globals are initialized even when DllMain is not
+ being run
+
+
+diff --git a/glib/gmain.c b/glib/gmain.c
+index 1111111..2222222 100644
+--- a/glib/gmain.c
++++ b/glib/gmain.c
+@@ -2657,12 +2657,15 @@ g_get_real_time (void)
+ #if defined (G_OS_WIN32)
+ static ULONGLONG (*g_GetTickCount64) (void) = NULL;
+ static guint32 g_win32_tick_epoch = 0;
++static gboolean g_win32_clock_is_initialized;
+ 
+ void
+ g_clock_win32_init (void)
+ {
+   HMODULE kernel32;
+ 
++  g_win32_clock_is_initialized = TRUE;
++
+   g_GetTickCount64 = NULL;
+   kernel32 = GetModuleHandle ("KERNEL32.DLL");
+   if (kernel32 != NULL)
+@@ -2721,6 +2724,9 @@ g_get_monotonic_time (void)
+    *    timeBeginPeriod() to increase it as much as they want
+    */
+ 
++  if (!g_win32_clock_is_initialized)
++    g_clock_win32_init ();
++
+   if (g_GetTickCount64 != NULL)
+     {
+       guint32 ticks_as_32bit;
+diff --git a/glib/gthread-win32.c b/glib/gthread-win32.c
+index 1111111..2222222 100644
+--- a/glib/gthread-win32.c
++++ b/glib/gthread-win32.c
+@@ -116,18 +116,28 @@ typedef struct
+   void     (__stdcall * WakeConditionVariable)       (gpointer cond);
+ } GThreadImplVtable;
+ 
++/* Needed for static builds where DllMain initializer doesn't get called */
++static gboolean g_threads_is_initialized;
++G_GNUC_INTERNAL void g_thread_win32_init (void);
++
+ static GThreadImplVtable g_thread_impl_vtable;
+ 
+ /* {{{1 GMutex */
+ void
+ g_mutex_init (GMutex *mutex)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   g_thread_impl_vtable.InitializeSRWLock (mutex);
+ }
+ 
+ void
+ g_mutex_clear (GMutex *mutex)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   if (g_thread_impl_vtable.DeleteSRWLock != NULL)
+     g_thread_impl_vtable.DeleteSRWLock (mutex);
+ }
+@@ -135,18 +145,27 @@ g_mutex_clear (GMutex *mutex)
+ void
+ g_mutex_lock (GMutex *mutex)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   g_thread_impl_vtable.AcquireSRWLockExclusive (mutex);
+ }
+ 
+ gboolean
+ g_mutex_trylock (GMutex *mutex)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   return g_thread_impl_vtable.TryAcquireSRWLockExclusive (mutex);
+ }
+ 
+ void
+ g_mutex_unlock (GMutex *mutex)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   g_thread_impl_vtable.ReleaseSRWLockExclusive (mutex);
+ }
+ 
+@@ -157,6 +176,9 @@ g_rec_mutex_impl_new (void)
+ {
+   CRITICAL_SECTION *cs;
+ 
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   cs = g_slice_new (CRITICAL_SECTION);
+   InitializeCriticalSection (cs);
+ 
+@@ -167,6 +189,10 @@ static void
+ g_rec_mutex_impl_free (CRITICAL_SECTION *cs)
+ {
+   DeleteCriticalSection (cs);
++
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   g_slice_free (CRITICAL_SECTION, cs);
+ }
+ 
+@@ -175,6 +201,9 @@ g_rec_mutex_get_impl (GRecMutex *mutex)
+ {
+   CRITICAL_SECTION *impl = mutex->p;
+ 
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   if G_UNLIKELY (mutex->p == NULL)
+     {
+       impl = g_rec_mutex_impl_new ();
+@@ -189,30 +218,45 @@ g_rec_mutex_get_impl (GRecMutex *mutex)
+ void
+ g_rec_mutex_init (GRecMutex *mutex)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   mutex->p = g_rec_mutex_impl_new ();
+ }
+ 
+ void
+ g_rec_mutex_clear (GRecMutex *mutex)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   g_rec_mutex_impl_free (mutex->p);
+ }
+ 
+ void
+ g_rec_mutex_lock (GRecMutex *mutex)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   EnterCriticalSection (g_rec_mutex_get_impl (mutex));
+ }
+ 
+ void
+ g_rec_mutex_unlock (GRecMutex *mutex)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   LeaveCriticalSection (mutex->p);
+ }
+ 
+ gboolean
+ g_rec_mutex_trylock (GRecMutex *mutex)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   return TryEnterCriticalSection (g_rec_mutex_get_impl (mutex));
+ }
+ 
+@@ -221,12 +265,18 @@ g_rec_mutex_trylock (GRecMutex *mutex)
+ void
+ g_rw_lock_init (GRWLock *lock)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   g_thread_impl_vtable.InitializeSRWLock (lock);
+ }
+ 
+ void
+ g_rw_lock_clear (GRWLock *lock)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   if (g_thread_impl_vtable.DeleteSRWLock != NULL)
+     g_thread_impl_vtable.DeleteSRWLock (lock);
+ }
+@@ -234,36 +284,54 @@ g_rw_lock_clear (GRWLock *lock)
+ void
+ g_rw_lock_writer_lock (GRWLock *lock)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   g_thread_impl_vtable.AcquireSRWLockExclusive (lock);
+ }
+ 
+ gboolean
+ g_rw_lock_writer_trylock (GRWLock *lock)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   return g_thread_impl_vtable.TryAcquireSRWLockExclusive (lock);
+ }
+ 
+ void
+ g_rw_lock_writer_unlock (GRWLock *lock)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   g_thread_impl_vtable.ReleaseSRWLockExclusive (lock);
+ }
+ 
+ void
+ g_rw_lock_reader_lock (GRWLock *lock)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   g_thread_impl_vtable.AcquireSRWLockShared (lock);
+ }
+ 
+ gboolean
+ g_rw_lock_reader_trylock (GRWLock *lock)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   return g_thread_impl_vtable.TryAcquireSRWLockShared (lock);
+ }
+ 
+ void
+ g_rw_lock_reader_unlock (GRWLock *lock)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   g_thread_impl_vtable.ReleaseSRWLockShared (lock);
+ }
+ 
+@@ -271,12 +339,18 @@ g_rw_lock_reader_unlock (GRWLock *lock)
+ void
+ g_cond_init (GCond *cond)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   g_thread_impl_vtable.InitializeConditionVariable (cond);
+ }
+ 
+ void
+ g_cond_clear (GCond *cond)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   if (g_thread_impl_vtable.DeleteConditionVariable)
+     g_thread_impl_vtable.DeleteConditionVariable (cond);
+ }
+@@ -284,12 +358,18 @@ g_cond_clear (GCond *cond)
+ void
+ g_cond_signal (GCond *cond)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   g_thread_impl_vtable.WakeConditionVariable (cond);
+ }
+ 
+ void
+ g_cond_broadcast (GCond *cond)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   g_thread_impl_vtable.WakeAllConditionVariable (cond);
+ }
+ 
+@@ -297,6 +377,9 @@ void
+ g_cond_wait (GCond  *cond,
+              GMutex *entered_mutex)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   g_thread_impl_vtable.SleepConditionVariableSRW (cond, entered_mutex, INFINITE, 0);
+ }
+ 
+@@ -307,6 +390,9 @@ g_cond_wait_until (GCond  *cond,
+ {
+   gint64 span;
+ 
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   span = end_time - g_get_monotonic_time ();
+ 
+   if G_UNLIKELY (span < 0)
+@@ -339,6 +425,9 @@ g_private_get_impl (GPrivate *key)
+ 
+   if G_UNLIKELY (impl == 0)
+     {
++      if (!g_threads_is_initialized)
++        g_thread_win32_init ();
++
+       EnterCriticalSection (&g_private_lock);
+       impl = (DWORD) key->p;
+       if (impl == 0)
+@@ -432,6 +521,9 @@ g_system_thread_free (GRealThread *thread)
+ {
+   GThreadWin32 *wt = (GThreadWin32 *) thread;
+ 
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   win32_check_for_error (CloseHandle (wt->handle));
+   g_slice_free (GThreadWin32, wt);
+ }
+@@ -439,6 +531,9 @@ g_system_thread_free (GRealThread *thread)
+ void
+ g_system_thread_exit (void)
+ {
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   _endthreadex (0);
+ }
+ 
+@@ -447,6 +542,9 @@ g_thread_win32_proxy (gpointer data)
+ {
+   GThreadWin32 *self = data;
+ 
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   self->proxy (self);
+ 
+   g_system_thread_exit ();
+@@ -464,6 +562,9 @@ g_system_thread_new (GThreadFunc   func,
+   GThreadWin32 *thread;
+   guint ignore;
+ 
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   thread = g_slice_new0 (GThreadWin32);
+   thread->proxy = func;
+ 
+@@ -493,6 +594,9 @@ g_system_thread_wait (GRealThread *thread)
+ {
+   GThreadWin32 *wt = (GThreadWin32 *) thread;
+ 
++  if (!g_threads_is_initialized)
++    g_thread_win32_init ();
++
+   win32_check_for_error (WAIT_FAILED != WaitForSingleObject (wt->handle, INFINITE));
+ }
+ 
+@@ -1041,6 +1145,8 @@ g_thread_lookup_native_funcs (void)
+ void
+ g_thread_win32_init (void)
+ {
++  g_threads_is_initialized = TRUE;
++
+   if (!g_thread_lookup_native_funcs ())
+     g_thread_xp_init ();
+ 
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Gerardo Ballabio <gerardo.ballabio@gmail.com>
+Date: Sun, 16 Aug 2015 13:18:24 +0200
+Subject: [PATCH 7/9] Remove an annoying runtime warning
+
+that pops up when using GtkApplication in Gtk+ 3 programs.
+
+diff --git a/gio/gdbusaddress.c b/gio/gdbusaddress.c
+index 1111111..2222222 100644
+--- a/gio/gdbusaddress.c
++++ b/gio/gdbusaddress.c
+@@ -1387,6 +1387,7 @@ __declspec(dllexport) void CALLBACK g_win32_run_session_bus (HWND hwnd, HINSTANC
+ __declspec(dllexport) void CALLBACK
+ g_win32_run_session_bus (HWND hwnd, HINSTANCE hinst, char *cmdline, int nCmdShow)
+ {
++  /*
+   GDBusDaemon *daemon;
+   GMainLoop *loop;
+   const char *address;
+@@ -1418,6 +1419,7 @@ g_win32_run_session_bus (HWND hwnd, HINSTANCE hinst, char *cmdline, int nCmdShow
+ 
+   g_main_loop_unref (loop);
+   g_object_unref (daemon);
++  */
+ }
+ 
+ static gchar *
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: aquiles2k <aj@elane2k.com>
+Date: Wed, 6 Apr 2016 22:39:53 +0300
+Subject: [PATCH 8/9] fix error "won't overwrite defined macro" on OSX
+
+See https://github.com/mxe/mxe/issues/1281
+
+diff --git a/m4macros/glib-gettext.m4 b/m4macros/glib-gettext.m4
+index 1111111..2222222 100644
+--- a/m4macros/glib-gettext.m4
++++ b/m4macros/glib-gettext.m4
+@@ -36,8 +36,8 @@ dnl We go to great lengths to make sure that aclocal won't
+ dnl try to pull in the installed version of these macros
+ dnl when running aclocal in the glib directory.
+ dnl
+-m4_copy([AC_DEFUN],[glib_DEFUN])
+-m4_copy([AC_REQUIRE],[glib_REQUIRE])
++m4_copy_force([AC_DEFUN],[glib_DEFUN])
++m4_copy_force([AC_REQUIRE],[glib_REQUIRE])
+ dnl
+ dnl At the end, if we're not within glib, we'll define the public
+ dnl definitions in terms of our private definitions.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Mon, 26 Feb 2018 16:09:53 +1100
+Subject: [PATCH 9/9] darwin: disable g_cocoa_notification_backend
+
+
+diff --git a/gio/Makefile.am b/gio/Makefile.am
+index 1111111..2222222 100644
+--- a/gio/Makefile.am
++++ b/gio/Makefile.am
+@@ -279,10 +279,6 @@ unix_sources = \
+ 
+ appinfo_sources += $(unix_appinfo_sources)
+ 
+-if OS_COCOA
+-unix_sources += gcocoanotificationbackend.c
+-endif
+-
+ giounixincludedir=$(includedir)/gio-unix-2.0/gio
+ giounixinclude_HEADERS = \
+ 	gdesktopappinfo.h	\
+diff --git a/gio/giomodule.c b/gio/giomodule.c
+index 1111111..2222222 100644
+--- a/gio/giomodule.c
++++ b/gio/giomodule.c
+@@ -918,9 +918,6 @@ extern GType g_proxy_resolver_portal_get_type (void);
+ extern GType g_network_monitor_portal_get_type (void);
+ #endif
+ 
+-#ifdef HAVE_COCOA
+-extern GType g_cocoa_notification_backend_get_type (void);
+-#endif
+ 
+ #ifdef G_PLATFORM_WIN32
+ 
+@@ -1117,9 +1114,6 @@ _g_io_modules_ensure_loaded (void)
+       g_type_ensure (g_network_monitor_portal_get_type ());
+       g_type_ensure (g_proxy_resolver_portal_get_type ());
+ #endif
+-#ifdef HAVE_COCOA
+-      g_type_ensure (g_cocoa_notification_backend_get_type ());
+-#endif
+ #ifdef G_OS_WIN32
+       g_type_ensure (_g_winhttp_vfs_get_type ());
+#endif
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Ernestas Kulik <ekulik@redhat.com>
+Date: Tue, 29 Jan 2019 09:50:46 +0100
+Subject: [PATCH 10/10] gdbus: Avoid printing null strings
+
+This mostly affects the 2.56 branch, but, given that GCC 9 is being
+stricter about passing null string pointers to printf-like functions, it
+might make sense to proactively fix such calls.
+
+gdbusauth.c: In function '_g_dbus_auth_run_server':
+gdbusauth.c:1302:11: error: '%s' directive argument is null
+[-Werror=format-overflow=]
+ 1302 |           debug_print ("SERVER: WaitingForBegin, read '%s'",
+ line);
+       |
+
+gdbusmessage.c: In function ‘g_dbus_message_to_blob’:
+gdbusmessage.c:2730:30: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
+ 2730 |       tupled_signature_str = g_strdup_printf ("(%s)", signature_str);
+      |
+
+diff --git a/gio/gdbusauth.c b/gio/gdbusauth.c
+index 1111111..2222222 100644
+--- a/gio/gdbusauth.c
++++ b/gio/gdbusauth.c
+@@ -1295,9 +1295,9 @@ _g_dbus_auth_run_server (GDBusAuth              *auth,
+                                                     &line_length,
+                                                     cancellable,
+                                                     error);
+-          debug_print ("SERVER: WaitingForBegin, read '%s'", line);
+           if (line == NULL)
+             goto out;
++          debug_print ("SERVER: WaitingForBegin, read '%s'", line);
+           if (g_strcmp0 (line, "BEGIN") == 0)
+             {
+               /* YAY, done! */
+diff --git a/gio/gdbusmessage.c b/gio/gdbusmessage.c
+index 1111111..2222222 100644
+--- a/gio/gdbusmessage.c
++++ b/gio/gdbusmessage.c
+@@ -2695,7 +2695,6 @@ g_dbus_message_to_blob (GDBusMessage          *message,
+   if (message->body != NULL)
+     {
+       gchar *tupled_signature_str;
+-      tupled_signature_str = g_strdup_printf ("(%s)", signature_str);
+       if (signature == NULL)
+         {
+           g_set_error (error,
+@@ -2703,10 +2702,10 @@ g_dbus_message_to_blob (GDBusMessage          *message,
+                        G_IO_ERROR_INVALID_ARGUMENT,
+                        _("Message body has signature '%s' but there is no signature header"),
+                        signature_str);
+-          g_free (tupled_signature_str);
+           goto out;
+         }
+-      else if (g_strcmp0 (tupled_signature_str, g_variant_get_type_string (message->body)) != 0)
++      tupled_signature_str = g_strdup_printf ("(%s)", signature_str);
++      if (g_strcmp0 (tupled_signature_str, g_variant_get_type_string (message->body)) != 0)
+         {
+           g_set_error (error,
+                        G_IO_ERROR,
--- a/src/glib.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/glib.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,17 @@
 
 PKG             := glib
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := aafba69934b9ba77cc8cb0e5d8105aa1d8463eba
+$(PKG)_VERSION  := 2.50.2
+$(PKG)_CHECKSUM := 948a768931ca321a35e16556a1c8adcae04babf2
 $(PKG)_SUBDIR   := glib-$($(PKG)_VERSION)
 $(PKG)_FILE     := glib-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := http://ftp.gnome.org/pub/gnome/sources/glib/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
 $(PKG)_DEPS     := gettext pcre libiconv zlib libffi dbus
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/glib/refs/tags' | \
-    $(SED) -n "s,.*tag/?id=\([0-9]\+\.[0-9]*[02468]\.[^']*\).*,\1,p" | \
+    $(WGET) -q -O- 'https://github.com/GNOME/glib/tags' | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | \
+    $(SORT) -Vr | \
     head -1
 endef
 
@@ -23,19 +25,34 @@
 
 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
 define $(PKG)_BUILD
-    cd $(1) && ./autogen.sh
+    cd $(1) && NOCONFIGURE=true ./autogen.sh
     cd '$(1)' && PKG_CONFIG_PATH='$(HOST_LIBDIR)/pkgconfig' ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
         --with-threads=win32 \
-        --with-pcre=system \
+        --enable-regex \
+        --disable-threads \
+        --disable-selinux \
+        --disable-inotify \
+        --disable-fam \
+        --disable-xattr \
+        --disable-dtrace \
+        --disable-libmount \
         --with-libiconv=gnu \
-        --disable-modular-tests \
+        --with-pcre=internal \
 	&& $(CONFIGURE_POST_HOOK)
 
-    $(MAKE) -C '$(1)' -j '$(JOBS)'
-    $(MAKE) -C '$(1)' -j 1 install
+    $(SED) -i 's,#define G_ATOMIC.*,,' '$(1)/config.h'
+    $(MAKE) -C '$(1)/glib'    -j '$(JOBS)'
+    $(MAKE) -C '$(1)/gthread' -j '$(JOBS)'
+    $(MAKE) -C '$(1)/gmodule' -j '$(JOBS)'
+    $(MAKE) -C '$(1)/gobject' -j '$(JOBS)' lib_LTLIBRARIES= install-exec
+    $(MAKE) -C '$(1)/gio/xdgmime'     -j '$(JOBS)'
+    $(MAKE) -C '$(1)/gio'     -j '$(JOBS)' glib-compile-schemas
+    $(MAKE) -C '$(1)/gio'     -j '$(JOBS)' glib-compile-resources
+    $(INSTALL) -m755 '$(1)/gio/glib-compile-schemas' '$(HOST_BINDIR)/'
+    $(INSTALL) -m755 '$(1)/gio/glib-compile-resources' '$(HOST_BINDIR)/'
 endef
 else
 define $(PKG)_BUILD
@@ -51,12 +68,16 @@
         --with-pcre=system \
         --with-libiconv=gnu \
         --disable-inotify \
-        --disable-modular-tests \
         PKG_CONFIG='$(MXE_PKG_CONFIG)' \
-        PKG_CONFIG_PATH='$(HOST_LIBDIR)/pkgconfig' 
+        PKG_CONFIG_PATH='$(PKG_CONFIG_PATH)' 
 
-    $(MAKE) -C '$(1)'    -j '$(JOBS)' 
-    $(MAKE) -C '$(1)'    -j 1 install 
+    $(MAKE) -C '$(1)/glib'    -j '$(JOBS)' install sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)/gmodule' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)/gthread' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)/gobject' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)/gio'     -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= MISC_STUFF=
+    $(MAKE) -C '$(1)'         -j '$(JOBS)' install-pkgconfigDATA
+    $(MAKE) -C '$(1)/m4macros' install
 endef
 
 endif
--- a/src/glibmm.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/glibmm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := glibmm
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.32.0
 $(PKG)_CHECKSUM := 2928a334664433186d92d9099b9bbf3f051a2645
 $(PKG)_SUBDIR   := glibmm-$($(PKG)_VERSION)
 $(PKG)_FILE     := glibmm-$($(PKG)_VERSION).tar.xz
@@ -10,10 +11,9 @@
 $(PKG)_DEPS     := glib libsigc++
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/glibmm/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n 's,.*<a[^>]*>\([0-9]*\.[0-9]*[02468]\.[^<]*\)<.*,\1,p' | \
-    head -1
+    $(WGET) -q -O- https://github.com/GNOME/glibmm/tags | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/glpk-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/glpk-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,23 +1,119 @@
-diff -ur glpk-4.52.1.orig/configure.ac glpk-4.52.1/configure.ac
---- glpk-4.52.1.orig/configure.ac	2013-10-18 07:53:54 -0400
-+++ glpk-4.52.1/configure.ac	2013-10-18 08:00:53 -0400
-@@ -54,7 +54,7 @@
- dnl Check for programs
- AC_PROG_CC
- AC_PROG_INSTALL
--AC_PROG_LIBTOOL
-+LT_INIT([win32-dll])
+diff -ur glpk-4.65.orig/configure.ac glpk-4.65/configure.ac
+--- glpk-4.65.orig/configure.ac	2019-02-20 14:31:36.960931258 -0500
++++ glpk-4.65/configure.ac	2019-02-20 14:36:12.463581439 -0500
+@@ -190,6 +190,14 @@
+ esac
+ AC_SUBST([NOUNDEFINED])
  
- dnl Check for math library
- AC_CHECK_LIB([m], [exp])
-diff -ur glpk-4.52.1.orig/src/Makefile.am glpk-4.52.1/src/Makefile.am
---- glpk-4.52.1.orig/src/Makefile.am	2013-10-18 07:53:54 -0400
-+++ glpk-4.52.1/src/Makefile.am	2013-10-18 08:02:15 -0400
-@@ -17,6 +17,7 @@
- -I$(srcdir)/zlib
++AC_CHECK_LIB([z], [gzopen])
++
++AC_CHECK_LIB([amd], [amd_1])
++AC_CHECK_LIB([colamd], [colamd])
++
++#CPPFLAGS="$CPPFLAGS -I/usr/include/suitesparse"
++AC_CHECK_HEADER([suitesparse/amd.h])
++
+ AC_CONFIG_FILES(
+    [src/Makefile examples/Makefile Makefile])
+ AC_OUTPUT
+diff -ur glpk-4.65.orig/src/Makefile.am glpk-4.65/src/Makefile.am
+--- glpk-4.65.orig/src/Makefile.am	2019-02-20 14:31:36.988931934 -0500
++++ glpk-4.65/src/Makefile.am	2019-02-20 14:37:43.921787648 -0500
+@@ -6,10 +6,8 @@
+ 
+ libglpk_la_CPPFLAGS = \
+ -I$(srcdir) \
+--I$(srcdir)/amd \
+ -I$(srcdir)/api \
+ -I$(srcdir)/bflib \
+--I$(srcdir)/colamd \
+ -I$(srcdir)/draft \
+ -I$(srcdir)/env \
+ -I$(srcdir)/intopt \
+@@ -18,8 +16,7 @@
+ -I$(srcdir)/mpl \
+ -I$(srcdir)/npp \
+ -I$(srcdir)/proxy \
+--I$(srcdir)/simplex \
+--I$(srcdir)/zlib
++-I$(srcdir)/simplex
  
  libglpk_la_LDFLAGS = \
-+-no-undefined \
- -version-info 36:1:0 \
- -export-symbols-regex '^glp_*'
+ -version-info 43:0:3 \
+@@ -27,18 +24,6 @@
+ ${NOUNDEFINED}
  
+ libglpk_la_SOURCES = \
+-amd/amd_1.c \
+-amd/amd_2.c \
+-amd/amd_aat.c \
+-amd/amd_control.c \
+-amd/amd_defaults.c \
+-amd/amd_dump.c \
+-amd/amd_info.c \
+-amd/amd_order.c \
+-amd/amd_post_tree.c \
+-amd/amd_postorder.c \
+-amd/amd_preprocess.c \
+-amd/amd_valid.c \
+ api/advbas.c \
+ api/asnhall.c \
+ api/asnlp.c \
+@@ -104,7 +89,6 @@
+ bflib/scfint.c \
+ bflib/sgf.c \
+ bflib/sva.c \
+-colamd/colamd.c \
+ draft/bfd.c \
+ draft/bfx.c \
+ draft/glpapi06.c \
+@@ -202,21 +186,6 @@
+ simplex/spxprob.c \
+ simplex/spychuzc.c \
+ simplex/spychuzr.c \
+-simplex/spydual.c \
+-zlib/adler32.c \
+-zlib/compress.c \
+-zlib/crc32.c \
+-zlib/deflate.c \
+-zlib/gzclose.c \
+-zlib/gzlib.c \
+-zlib/gzread.c \
+-zlib/gzwrite.c \
+-zlib/inffast.c \
+-zlib/inflate.c \
+-zlib/inftrees.c \
+-zlib/trees.c \
+-zlib/uncompr.c \
+-zlib/zio.c \
+-zlib/zutil.c
++simplex/spydual.c
+ 
+ ## eof ##
+diff -ur glpk-4.65.orig/src/draft/glpmat.c glpk-4.65/src/draft/glpmat.c
+--- glpk-4.65.orig/src/draft/glpmat.c	2019-02-20 15:21:37.117944413 -0500
++++ glpk-4.65/src/draft/glpmat.c	2019-02-20 15:22:58.407893375 -0500
+@@ -25,8 +25,8 @@
+ #include "env.h"
+ #include "glpmat.h"
+ #include "qmd.h"
+-#include "amd.h"
+-#include "colamd.h"
++#include <suitesparse/amd.h>
++#include <suitesparse/colamd.h>
+ 
+ /*----------------------------------------------------------------------
+ -- check_fvs - check sparse vector in full-vector storage format.
+diff -ur glpk-4.65.orig/src/env/stdc.c glpk-4.65/src/env/stdc.c
+--- glpk-4.65.orig/src/env/stdc.c	2019-02-20 15:29:18.821040444 -0500
++++ glpk-4.65/src/env/stdc.c	2019-02-20 15:40:06.948676811 -0500
+@@ -49,7 +49,7 @@
+ 
+ /* MS Windows version *************************************************/
+ 
+-#elif defined(__WOE__)
++#elif defined(__WOE__) || defined(_WIN32)
+ 
+ #include "stdc.h"
+ 
+Only in glpk-4.65/src/env: .time.c.swp
--- a/src/glpk.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/glpk.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,24 +3,28 @@
 
 PKG             := glpk
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 63fd6788f95adb52789767b19e38cfb58dda331e
+$(PKG)_VERSION  := 4.65
+$(PKG)_CHECKSUM := d9b607a9cf3a25b754a0cd9a842ea5043f8604db
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := glpk-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := ftp://ftp.gnu.org/gnu/glpk/$($(PKG)_FILE)
-$(PKG)_DEPS     :=
+$(PKG)_DEPS     := gmp suitesparse zlib
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package glpk.' >&2;
-    echo $(glpk_VERSION)
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/glpk/?C=M;O=D' | \
+    $(SED) -n 's,.*<a href="glpk-\([0-9][^"]*\)\.tar.*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
-    cd '$(1)' && aclocal && libtoolize && autoreconf
     mkdir '$(1)/.build'
+    cd '$(1)' && autoreconf -fi -I m4
     cd '$(1)/.build' && '$(1)/configure' \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
+        --with-gmp \
         --prefix='$(HOST_PREFIX)' && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)'
+    $(MAKE) -C '$(1)/.build' -j 1 install DESTDIR='$(3)'
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/glproto.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,33 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := glproto
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.4.17
+$(PKG)_CHECKSUM := 20e061c463bed415051f0f89e968e331a2078551
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := https://www.x.org/archive/individual/proto/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://www.x.org/archive/individual/proto/' | \
+    $(SED) -n 's|.*glproto-\([0-9\.]*\)\.tar.*|\1|p' | $(SORT) -V | \
+    tail -1
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/glu.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := glu
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 9.0.1
+$(PKG)_CHECKSUM := b6ffef562ba55d3f80146d4238589cb9b1de66f5
+$(PKG)_SUBDIR   := glu-$($(PKG)_VERSION)
+$(PKG)_FILE     := glu-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL      := ftp://ftp.freedesktop.org/pub/mesa/glu/$($(PKG)_FILE)
+$(PKG)_DEPS     := mesa
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- a/src/gmp.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gmp.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,10 +3,11 @@
 
 PKG             := gmp
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 12a662456033e21aed3e318aef4177f4000afe3b
+$(PKG)_VERSION  := 6.2.0
+$(PKG)_CHECKSUM := 5e9341d3807bc7505376f9ed9f5c1c6c57050aa6
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
-$(PKG)_URL      := ftp://ftp.gmplib.org/pub/$(PKG)-$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_URL      := https://gmplib.org/download/gmp/$($(PKG)_FILE)
 $(PKG)_URL_2    := ftp://ftp.cs.tu-berlin.de/pub/gnu/$(PKG)/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
--- a/src/gnuplot-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gnuplot-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,140 +1,232 @@
-diff -ur gnuplot-4.6.4.orig/config/mingw/Makefile gnuplot-4.6.4/config/mingw/Makefile
---- gnuplot-4.6.4.orig/config/mingw/Makefile	2013-11-04 18:26:55.000000000 -0500
-+++ gnuplot-4.6.4/config/mingw/Makefile	2013-11-04 18:28:37.000000000 -0500
-@@ -27,7 +27,7 @@
- 
- # Use more modern HTML help instead of no longer supported Windows help system
- # Please update the HHWPATH below if necessary.
--HTML_HELP=1
-+#HTML_HELP=1
+diff -ur gnuplot-5.2.2.orig/config/mingw/Makefile gnuplot-5.2.2/config/mingw/Makefile
+--- gnuplot-5.2.2.orig/config/mingw/Makefile	2018-03-25 07:03:19.453562126 -0400
++++ gnuplot-5.2.2/config/mingw/Makefile	2018-03-25 07:24:23.502361443 -0400
+@@ -107,23 +107,24 @@
+ # Uncomment the following lines to compile it.
+ #WXT=1
+ #CAIROLIBS=1
++WX_CONFIG ?= wx-config
  
- # GIF, PNG, JPEG device drivers
- # Requires gd library. There are two possibilities how to configure these
-@@ -127,29 +127,29 @@
- # -mpentiumpro means optimize for Pentium II and Pro procesors
- #CFLAGS +=
+ # Build qt terminal?
+ #QT=1
+ # specify QT installation directory
+ #QT_DIR = /c/Qt/5.2.1/mingw48_32
+ ifndef MINGW64
+-QT_DIR = /d/Source/Qt-5.2.1-mingw/5.2.1/mingw48_32
++QT_DIR ?= /d/Source/Qt-5.2.1-mingw/5.2.1/mingw48_32
+ else
+ ifdef M32
+-QT_DIR = /mingw32
++QT_DIR ?= /mingw32
+ else
+-QT_DIR = /mingw64
++QT_DIR ?= /mingw64
+ endif
+ endif
  
--ifdef HTML_HELP
--
--# To compile the .chm file you need the Microsoft HTML Help 1.4 SDK
--# It can be obtained here:
--# http://go.microsoft.com/fwlink/?LinkId=154968
--# We need to explicitly set the correct path here since we also need
--# adjust the include and linrary paths.
--HHWPATH = "$(PROGRAMFILES)/HTML Help Workshop/"
--HHC = $(HHWPATH)hhc
-+# ifdef HTML_HELP
+ # Uncomment the following line to select the lua/tikz terminal
+-#LUA=lua
++LUA=lua
+ 
+ # Uncomment the following line to select the caca terminal
+ # Requires libcaca version 0.99.beta15 or newer. A post-beta18
+@@ -136,7 +137,7 @@
+ 
+ # Uncomment if you have libcerf
+ # http://sourceforge.net/projects/libcerf/
+-CERF=1
++#CERF=1
+ 
+ # Uncomment if console mode gnuplot should use GNU readline
+ # (not recommended)
+@@ -165,10 +166,10 @@
+ 
+ # Destination directory, used in 'make install':
+ #DESTDIR = /local/opt/gnuplot-4.5
+-DESTDIR = "$(PROGRAMFILES)/gnuplot"
++DESTDIR ?= "$(PROGRAMFILES)/gnuplot"
  
--else
-+# # To compile the .chm file you need the Microsoft HTML Help 1.4 SDK
-+# # It can be obtained here:
-+# # http://go.microsoft.com/fwlink/?LinkId=154968
-+# # We need to explicitly set the correct path here since we also need
-+# # adjust the include and linrary paths.
-+# HHWPATH = "$(PROGRAMFILES)/HTML Help Workshop/"
-+# HHC = $(HHWPATH)hhc
-+
-+# else
-+
-+# # To compile the .hlp file you need hcw either out of Microsoft SDK or MS Help
-+# # Workshop. The latter can be obtained from either of
-+# # ftp://ftp.microsoft.com/softlib/mslfiles/hcwsetup.exe
-+# # http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=34D35502-4DE9-4676-952C-34CC7F64F098
-+# # Put the path to hcw here unless it is already in PATH:
-+# HCWPATH = "$(PROGRAMFILES)/Help\ Workshop/"
-+# HCW = $(HCWPATH)hcw
-+# # Switches are for HCW 4.03:
-+# HCWFLAG =
+ # Do you want some special optimization / flags?
+-#CFLAGS +=
++CFLAGS += -DDISABLE_SPACE_RAISES_CONSOLE
+ CWFLAGS += -Wno-unused-function
+ ifdef CLANG
+ CFLAGS += -fcolor-diagnostics -fansi-escape-codes
+@@ -186,8 +187,8 @@
+ # http://go.microsoft.com/fwlink/?LinkId=154968
+ # We need to explicitly set the correct path here since we also need
+ # adjust the include and library paths.
+-HHWPATH = $(PROGRAMFILES32)/HTML\ Help\ Workshop/
+-HHC = $(HHWPATH)hhc
++#HHWPATH = $(PROGRAMFILES32)/HTML\ Help\ Workshop/
++#HHC = $(HHWPATH)hhc
+ 
+ # Choose which resource compiler you want to use (GNU windres or MS rc):
+ GNU_RC = 1
+@@ -203,7 +204,7 @@
+ # get it from: http://www.jrsoftware.org/isdl.php
+ # Use unicode version of Inno Setup Compiler but not Standard version
+ # because the setup file of gnuplot installer is now encoded utf-8 with BOM.
+-ISCC = $(PROGRAMFILES32)/Inno\ Setup\ 5/iscc
++#ISCC = $(PROGRAMFILES32)/Inno\ Setup\ 5/iscc
+ 
+ # Directory that might contain extra files to be shipped with the installer.
+ # This should include dependencies like DLLs, but also fontconfig configuration files.
+@@ -453,9 +454,9 @@
  
--# To compile the .hlp file you need hcw either out of Microsoft SDK or MS Help
--# Workshop. The latter can be obtained from either of
--# ftp://ftp.microsoft.com/softlib/mslfiles/hcwsetup.exe
--# http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=34D35502-4DE9-4676-952C-34CC7F64F098
--# Put the path to hcw here unless it is already in PATH:
--HCWPATH = "$(PROGRAMFILES)/Help\ Workshop/"
--HCW = $(HCWPATH)hcw
--# Switches are for HCW 4.03:
--HCWFLAG =
--
--endif
-+# endif
+ ifdef WXT
+ 	CFLAGS += -DWXWIDGETS
+-	WXT_CXXFLAGS := $(shell wx-config --cxxflags)
++	WXT_CXXFLAGS := $(shell $(WX_CONFIG) --cxxflags)
+ 	CXXFLAGS += $(WXT_CXXFLAGS)
+-	WX_LIBS := $(shell wx-config --libs | sed -e "s+-Wl,--subsystem,windows++g" -e "s+-mwindows++g")
++	WX_LIBS := $(shell $(WX_CONFIG) --libs | sed -e "s+-Wl,--subsystem,windows++g" -e "s+-mwindows++g")
+ 	WX_OBJS = wxt_gui.$(O)
+ endif
  
- # Choose which windres/rc do you want to use (GNU windres or MS RC):
- GNU_RC = 1
-@@ -401,7 +401,7 @@
-   RES2COFF = res2coff -i wgnuplot.res -o wgplt_res.$(O)
- endif
+@@ -479,10 +480,12 @@
+ 		moc_QtGnuplotWidget.o moc_QtGnuplotScene.o \
+ 		moc_QtGnuplotEvent.o qrc_QtGnuplotResource.o
+ #
+-	MOC = $(QT_DIR)/bin/moc
+-	UIC = $(QT_DIR)/bin/uic
+-	RCC = $(QT_DIR)/bin/rcc
+-	LRELEASE = $(QT_DIR)/bin/lrelease
++	QT_BIN_DIR ?= $(QT_DIR)/bin
++	MOC ?= $(QT_BIN_DIR)/moc
++	UIC ?= $(QT_BIN_DIR)/uic
++	RCC ?= $(QT_BIN_DIR)/rcc
++	LRELEASE ?= $(QT_BIN_DIR)/lrelease
++ 
+ 	QT_FILES_TARGETS  = qrc_QtGnuplotResource.cpp ui_QtGnuplotSettings.h moc_QtGnuplotWindow.cpp moc_QtGnuplotApplication.cpp 
+ 	QT_FILES_TARGETS += moc_QtGnuplotWidget.cpp moc_QtGnuplotScene.cpp moc_QtGnuplotEvent.cpp
+ 	QT_TRANSLATION = qtgnuplot_fr.qm qtgnuplot_ja.qm
+@@ -556,7 +559,7 @@
+ FULLVERSION := $(MAINVERSION) patchlevel $(PATCHLEVEL)
+ 
  
 -default: $(TARGET) $(MENUFILE) support
-+default: $(TARGET) $(MENUFILE) # support
++default: $(TARGET) $(MENUFILE) #support
+ 
+ console: 
+ 	$(MAKE) TARGET=gnuplot.exe default
+@@ -598,8 +601,8 @@
+ 	$(CC) -c $(CFLAGS) $(CFLAGSEXTRA) -MMD -MT '$*.$$(O)' -MF $*.d -o $@ $<
  
- console:
- 	$(MAKE) TARGET=gnuplot.exe gnuplot.exe
-@@ -443,7 +443,7 @@
-   LDFLAGS2 += -L$(HHWPATH)lib
+ LDLIBS = -lkernel32 -lgdi32 -lwinspool -lcomdlg32 -lcomctl32 -ladvapi32 -lshell32 -lmsimg32 -lgdiplus -lshlwapi -ld2d1 -ldwrite -lole32
+-LDLIBS += -lhtmlhelp
+-LDFLAGS2 += -L$(HHWPATH)lib
++#LDLIBS += -lhtmlhelp
++#LDFLAGS2 += -L$(HHWPATH)lib
+ ifdef MINGW64
+ LDFLAGS2 += -L.
  endif
- 
--$(TARGET): $(OBJS) $(WINOBJS) wgplt_res.$(O) texticon.ico grpicon.ico
-+$(TARGET): $(OBJS) $(WINOBJS) wgplt_res.$(O) TEXTICON.ico GRPICON.ico
- 	$(LDX) $(LDFLAGS) $(LDFLAGS2) -o $@ $(OBJS) $(WINOBJS) wgplt_res.$(O) $(LDLIBS)\
+@@ -609,7 +612,7 @@ $(TARGET): $(VERSIONING) $(OBJS) $(WINOBJS) wgplt_res.$(O) Makefile htmlhelp.lib
+ else
+ $(TARGET): $(VERSIONING) $(OBJS) $(WINOBJS) wgplt_res.$(O) Makefile
+ endif
+-	$(LDX) $(LDFLAGS) $(LDFLAGS2) -o $@ $(OBJS) $(WINOBJS) wgplt_res.$(O) $(LDLIBS)\
++	$(LDX) $(LDFLAGS) $(LDFLAGS2) -o $@ $(OBJS) $(WINOBJS) wgplt_res.$(O) $(LDLIBS) \
  	$(TERMLIBS) $(WX_LIBS) $(PANGOCAIRO_LIBS)
  
-@@ -458,7 +458,7 @@
- 
- # explicit rules
+ pgnuplot.exe: $(W)/pgnuplot.c version.$(O)
+
+diff -ur gnuplot-5.2.2.orig/src/command.c gnuplot-5.2.2/src/command.c
+--- gnuplot-5.2.2.orig/src/command.c	2018-03-25 07:03:19.367562832 -0400
++++ gnuplot-5.2.2/src/command.c	2018-03-25 07:11:31.376521306 -0400
+@@ -121,7 +121,7 @@
+ # include "help.h"
+ #endif /* _Windows */
  
--wgplt_res.$(O): $(W)/wgnuplot.rc $(W)/wgnuplib.rc $(W)/wresourc.h texticon.ico grpicon.ico
-+wgplt_res.$(O): $(W)/wgnuplot.rc $(W)/wgnuplib.rc $(W)/wresourc.h TEXTICON.ico GRPICON.ico
- 	$(RC) $(RCFLAGS) $< $(RCOUT)
- 	$(RES2COFF)
- 
-@@ -494,13 +494,13 @@
- 	$(CC) -c $(CFLAGS) $(CXXFLAGS) $(PANGOCAIRO_CFLAGS) -MMD -MT '$*.$$(O)' -MF $*.d -o $@ $<
+-#ifdef _Windows
++#ifdef IGNORE_Windows
+ # include <windows.h>
+ # ifdef __MSC__
+ #  include <malloc.h>
+@@ -2861,6 +2861,7 @@
+ void
+ help_command()
+ {
++#ifndef __MINGW32__
+     HWND parent;
  
- # extract icons from wgnuplot.rc
--texticon.ico: grpicon.ico
-+TEXTICON.ico: GRPICON.ico
+     c_token++;
+@@ -2904,6 +2905,7 @@
+ 	link.fIndexOnFail = TRUE;
+ 	HtmlHelp(parent, winhelpname, HH_KEYWORD_LOOKUP, (DWORD_PTR)&link);
+     }
++#endif
+ }
+ #else  /* !_Windows */
+ #ifndef VMS
+diff -ur gnuplot-5.2.2.orig/src/syscfg.h gnuplot-5.2.2/src/syscfg.h
+--- gnuplot-5.2.2.orig/src/syscfg.h	2018-03-25 07:03:19.380562726 -0400
++++ gnuplot-5.2.2/src/syscfg.h	2018-03-25 07:13:12.163693406 -0400
+@@ -362,7 +362,11 @@
+ #endif
  
--grpicon.ico: geticon.exe $(W)/wgnuplot.rc
-+GRPICON.ico: geticon $(W)/wgnuplot.rc
- 	./geticon $(W)/wgnuplot.rc
- 
--geticon.exe: $(W)/geticon.c
--	$(LD) $(LDFLAGS) -o $@ $<
-+geticon: $(W)/geticon.c
-+	gcc -o $@ $<
+ #ifndef GP_MATHERR
+-# define GP_MATHERR matherr
++# if __MINGW32__
++#  define GP_MATHERR _matherr
++#else
++#  define GP_MATHERR matherr
++# endif
+ #endif
  
- ifdef HTML_HELP
- # convert gnuplot.doc to windows/wgnuplot.html
-@@ -703,7 +703,7 @@
- 	$(RM) config.h wgnuplot.map wgnuplot.res $(W)/gnuplot.rtf
- 	$(RM) *.$(O) *.po *.o *.co *.d
- 	$(RM) doc2*.exe $(W)/wgnuplib.res wgnuplib.map wgnuplot.lib
--	$(RM) $(M)bf_test.exe *.ico geticon.exe allterm.h allterm.c
-+	$(RM) $(M)bf_test.exe *.ico geticon allterm.h allterm.c
- 	$(RM) *.aux *.log *.dvi *.toc
- 	$(RM) gnuplot.tex gnuplot-figures.tex pdffigures.tex figure_*.pdf
- 	$(RM) titlepag.tex toc_entr.sty VERSION
-@@ -802,7 +802,7 @@
+ #ifdef HAVE_STRUCT_EXCEPTION_IN_MATH_H
+diff -ur gnuplot-5.2.8.orig/config/mingw/Makefile gnuplot-5.2.8/config/mingw/Makefile
+--- gnuplot-5.2.8.orig/config/mingw/Makefile	2020-05-28 19:30:10.109744146 -0400
++++ gnuplot-5.2.8/config/mingw/Makefile	2020-05-28 19:33:01.256347682 -0400
+@@ -44,6 +44,8 @@
+ #CCPATH = g:/mingw32/bin/
+ #CCPATH = c:/apps/mingw/bin/
  
- installer:
- 	$(MAKE) DESTDIR=./dist install
--	cp -p grpicon.ico ./dist/bin/
-+	cp -p GRPICON.ico ./dist/bin/
- 	cp -p $(TOP)/win/*.iss ./dist
- 	(cd ./dist; $(ISCC) gnuplot.iss)
- ifdef RELEASE
-diff -ur gnuplot-4.6.4.orig/src/win/wgnuplot.rc gnuplot-4.6.4/src/win/wgnuplot.rc
---- gnuplot-4.6.4.orig/src/win/wgnuplot.rc	2013-11-04 18:26:55.000000000 -0500
-+++ gnuplot-4.6.4/src/win/wgnuplot.rc	2013-11-04 18:27:15.000000000 -0500
-@@ -15,8 +15,8 @@
-    * rc -30 -k -dMSRC win\wgnuplot.rc wgnuplot.exe
-    */
++PKG_CONFIG ?= pkg-config
++
+ # Path to 32bit programms
+ # On 32bit machines:
+ #PROGRAMFILES32="$(PROGRAMFILES)"
+@@ -388,7 +390,7 @@
+ ifdef NEWGD
+   CFLAGS += -DHAVE_LIBGD -DHAVE_GD_H -DHAVE_GD_GIF -DGIF_ANIMATION -DHAVE_GD_PNG
+ ifdef GDPKGCONFIG
+-  CFLAGS += $(shell pkg-config --cflags gdlib)
++  CFLAGS += $(shell $(PKG_CONFIG) --cflags gdlib)
+ endif
+ ifdef JPEG
+   CFLAGS += -DHAVE_GD_JPEG
+@@ -414,7 +416,7 @@
+   TERMLIBS += $(shell gdlib-config --libs)
+ endif
+ ifdef GDPKGCONFIG
+-  TERMLIBS += $(shell pkg-config --libs gdlib)
++  TERMLIBS += $(shell $(PKG_CONFIG) --libs gdlib)
+ endif
+ endif
  
--GRPICON ICON "grpicon.ico"
--TEXTICON ICON  "texticon.ico"
-+GRPICON ICON "GRPICON.ico"
-+TEXTICON ICON  "TEXTICON.ico"
+@@ -440,9 +442,9 @@
+ endif
  
- #else
- /* using Borland BRC.EXE */
+ ifdef CAIROLIBS
+-	CAIRO_CFLAGS := $(shell pkg-config --cflags cairo | sed s_-Ic:_-I/c_g)
+-	PANGOCAIRO_CFLAGS := $(shell pkg-config --cflags glib-2.0 gobject-2.0 pangocairo cairo | sed s_-Ic:_-I/c_g)
+-	PANGOCAIRO_LIBS := $(shell pkg-config --libs glib-2.0 gobject-2.0 pangocairo cairo | sed s_-Lc:_-L/c_g)
++	CAIRO_CFLAGS := $(shell $(PKG_CONFIG) --cflags cairo | sed s_-Ic:_-I/c_g)
++	PANGOCAIRO_CFLAGS := $(shell $(PKG_CONFIG) --cflags glib-2.0 gobject-2.0 pangocairo cairo | sed s_-Ic:_-I/c_g)
++	PANGOCAIRO_LIBS := $(shell $(PKG_CONFIG) --libs glib-2.0 gobject-2.0 pangocairo cairo | sed s_-Lc:_-L/c_g)
+ 	CAIRO_OBJS := gp_cairo.$(O) gp_cairo_helpers.$(O)
+ 	TERMFLAGS += $(PANGOCAIRO_CFLAGS)
+ endif
+diff -ur gnuplot-5.2.8.orig/config/mingw/Makefile gnuplot-5.2.8/config/mingw/Makefile
+--- gnuplot-5.2.8.orig/config/mingw/Makefile	2020-05-28 19:43:45.027724850 -0400
++++ gnuplot-5.2.8/config/mingw/Makefile	2020-05-28 19:46:47.102198835 -0400
+@@ -444,7 +444,7 @@
+ ifdef CAIROLIBS
+ 	CAIRO_CFLAGS := $(shell $(PKG_CONFIG) --cflags cairo | sed s_-Ic:_-I/c_g)
+ 	PANGOCAIRO_CFLAGS := $(shell $(PKG_CONFIG) --cflags glib-2.0 gobject-2.0 pangocairo cairo | sed s_-Ic:_-I/c_g)
+-	PANGOCAIRO_LIBS := $(shell $(PKG_CONFIG) --libs glib-2.0 gobject-2.0 pangocairo cairo | sed s_-Lc:_-L/c_g)
++	PANGOCAIRO_LIBS := $(shell $(PKG_CONFIG) --libs glib-2.0 gobject-2.0 pangocairo cairo pangowin32 --static | sed s_-Lc:_-L/c_g)
+ 	CAIRO_OBJS := gp_cairo.$(O) gp_cairo_helpers.$(O)
+ 	TERMFLAGS += $(PANGOCAIRO_CFLAGS)
+ endif
--- a/src/gnuplot.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gnuplot.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,33 +3,84 @@
 
 PKG             := gnuplot
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 54ee5ce9a0a2698b046064bd275e772673350013
+$(PKG)_VERSION  := 5.2.8
+$(PKG)_CHECKSUM := dc018b1e0a31b770d4635958badff13498babc4d
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := gnuplot-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://sourceforge.net/projects/gnuplot/files/gnuplot/$($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
+$(PKG)_EXTRAFLAGS :=
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+    $(PKG)_DEPS     += wxwidgets cairo pango lua
+    $(PKG)_EXTRAFLAGS += CAIROTERMS=1 CAIROLIBS=1 
+    $(PKG)_EXTRAFLAGS += WXT=1 WX_CONFIG=$(MXE_TOOL_PREFIX)wx-config
+endif
+
+ifeq ($(ENABLE_QT5),yes)
+  $(PKG)_DEPS     += qt5
+  $(PKG)_EXTRAFLAGS += QT=1 QT_DIR="$(HOST_PREFIX)/qt5" QT_BIN_DIR="$(BUILD_TOOLS_PREFIX)/bin"
+endif
+
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+    $(PKG)_EXTRAFLAGS += ICONV_CFLAGS='-I$(HOST_INCDIR)' ICONV_LDFLAGS='-L$(HOST_LIBDIR)'
+endif
+
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package gnuplot.' >&2;
-    echo $(gnuplot_VERSION)
+    $(WGET) -q -O- 'http://sourceforge.net/projects/gnuplot/files/gnuplot/' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 ifeq ($(MXE_SYSTEM),mingw)
 define $(PKG)_BUILD
-    make -C '$(1)/config/mingw' CC='$(MXE_CC)' CXX='$(MXE_CXX)' RC='$(MXE_WINDRES)' -j '$(JOBS)' TARGET=gnuplot.exe gnuplot.exe
-    make -C '$(1)/config/mingw' CC='$(MXE_CC)' CXX='$(MXE_CXX)' RC='$(MXE_WINDRES)' -j '$(JOBS)' TARGET=wgnuplot.exe wgnuplot.exe
+    make -C '$(1)/config/mingw' $($(PKG)_EXTRAFLAGS) CC='$(MXE_CC)' CXX='$(MXE_CXX) -std=gnu++11' RC='$(MXE_WINDRES)' -j '$(JOBS)' TARGET=gnuplot.exe gnuplot.exe
+    make -C '$(1)/config/mingw' $($(PKG)_EXTRAFLAGS) CC='$(MXE_CC)' CXX='$(MXE_CXX) -std=gnu++11' RC='$(MXE_WINDRES)' -j '$(JOBS)' TARGET=wgnuplot.exe wgnuplot.exe
 
     $(INSTALL) -d '$(3)$(HOST_BINDIR)'
     $(INSTALL) -m755 '$(1)/config/mingw/gnuplot.exe' '$(3)$(HOST_BINDIR)'
     $(INSTALL) -m755 '$(1)/config/mingw/wgnuplot.exe' '$(3)$(HOST_BINDIR)'
     $(INSTALL) -m644 '$(1)/src/win/wgnuplot.mnu' '$(3)$(HOST_BINDIR)'
 
+    if [ "$(ENABLE_QT5)" == "yes" ]; then \
+      make -C '$(1)/config/mingw' $($(PKG)_EXTRAFLAGS) CC='$(MXE_CC)' CXX='$(MXE_CXX) -std=gnu++11' RC='$(MXE_WINDRES)' -j '$(JOBS)' TARGET=gnuplot_qt.exe gnuplot_qt.exe; \
+      $(INSTALL) -m755 '$(1)/config/mingw/gnuplot_qt.exe' '$(3)$(HOST_BINDIR)'; \
+    fi
+
+    # config files
+    $(INSTALL) -d '$(3)$(HOST_PREFIX)/share'
+    $(INSTALL) -m644 '$(1)/share/gnuplotrc' '$(3)$(HOST_PREFIX)/share/'
+
+    for f in $(1)/share/*.gp; do \
+      $(INSTALL) -m644 "$$f" '$(3)$(HOST_PREFIX)/share/'; \
+    done
+
+    # terminal support
+    $(INSTALL) -d '$(3)$(HOST_PREFIX)/share/PostScript'
+    for f in $(1)/term/PostScript/*.ps; do \
+      $(INSTALL) -m644 "$$f" '$(3)$(HOST_PREFIX)/share/PostScript/'; \
+    done
+    for f in $(1)/term/PostScript/*.txt; do \
+      $(INSTALL) -m644 "$$f" '$(3)$(HOST_PREFIX)/share/PostScript/'; \
+    done
+    # tikz terminal
+    $(INSTALL) -d '$(3)$(HOST_PREFIX)/share/lua'
+    $(INSTALL) -m644 "$(1)/term/lua/gnuplot-tikz.lua" '$(3)$(HOST_PREFIX)/share/lua/';
+    $(INSTALL) -d '$(3)$(HOST_PREFIX)/share/texmf/tex/latex/gnuplot/'
+    $(INSTALL) -m644 "$(1)/share/LaTeX/gnuplot-lua-tikz.sty" '$(3)$(HOST_PREFIX)/share/texmf/tex/latex/gnuplot/';
+    $(INSTALL) -d '$(3)$(HOST_PREFIX)/share/texmf/tex/plain/gnuplot/'
+    $(INSTALL) -m644 "$(1)/share/LaTeX/gnuplot-lua-tikz.tex" '$(3)$(HOST_PREFIX)/share/texmf/tex/plain/gnuplot/';
+    $(INSTALL) -d '$(3)$(HOST_PREFIX)/share/texmf/tex/context/gnuplot/'
+    $(INSTALL) -m644 "$(1)/share/LaTeX/t-gnuplot-lua-tikz.tex" '$(3)$(HOST_PREFIX)/share/texmf/tex/context/gnuplot/';
+    $(INSTALL) -d '$(3)$(HOST_PREFIX)/share/texmf/tex/generic/gnuplot/'
+    $(INSTALL) -m644 "$(1)/share/LaTeX/gnuplot-lua-tikz-common.tex" '$(3)$(HOST_PREFIX)/share/texmf/tex/generic/gnuplot/';
+
     ## MG: not sure what to do with these and how to integrate with DESTDIR
     $(INSTALL) -d '$(TOP_DIR)/gnuplot/bin'
     $(INSTALL) -m755 '$(1)/config/mingw/gnuplot.exe' '$(TOP_DIR)/gnuplot/bin/'
     $(INSTALL) -m755 '$(1)/config/mingw/wgnuplot.exe' '$(TOP_DIR)/gnuplot/bin/'
     $(INSTALL) -m644 '$(1)/src/win/wgnuplot.mnu' '$(TOP_DIR)/gnuplot/bin/'
-
 endef
 else
 ifeq ($(MXE_SYSTEM),msvc)
@@ -43,7 +94,7 @@
 define $(PKG)_BUILD
     cd '$(1)' && ./configure \
       $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) LIBS=-liconv \
-      --prefix '$(HOST_PREFIX)'
+      --without-lua --prefix='$(HOST_PREFIX)'
     make -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
 endif
--- a/src/gnutls-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gnutls-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,95 +1,32 @@
-This file is part of MXE.
-See index.html for further information.
-
-From 05cd16c35674665009d16f2469b9124c16638237 Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Tue, 3 Apr 2012 13:58:42 +0200
-Subject: [PATCH 1/4] Revert "make dist will also make lzip compressed tarball"
-
-This reverts commit 97ac1bc58274f651338444693bd75441ba12f46f.
+This file is part of MXE. See LICENSE.md for licensing information.
 
-diff --git a/configure.ac b/configure.ac
-index 6459403..f8dd727 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -26,7 +26,7 @@ AC_CONFIG_AUX_DIR([build-aux])
- AC_CONFIG_MACRO_DIR([m4])
- AC_CANONICAL_HOST
- 
--AM_INIT_AUTOMAKE([1.12.2 no-dist-gzip dist-xz dist-lzip -Wall -Wno-override])
-+AM_INIT_AUTOMAKE([1.12.2 no-dist-gzip dist-xz -Wall -Wno-override])
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
- AC_CONFIG_HEADERS([config.h])
- 
--- 
-1.8.1.4
-
-
-From 6d7644c82de49b38afda2a171d1195861ebd9db0 Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Wed, 6 Jun 2012 09:57:24 +0200
-Subject: [PATCH 2/4] AM_PROG_AR for automake 1.12 compatibility
-
-Taken from
-http://lists.gnu.org/archive/html/automake/2012-05/msg00014.html
+Contains ad hoc patches for cross building.
 
-diff --git a/configure.ac b/configure.ac
-index f8dd727..2c05458 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -40,6 +40,7 @@ gl_EARLY
- AM_PROG_AS
- AM_PROG_AR
- AC_PROG_CXX
-+m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
- 
- # For includes/gnutls/gnutls.h.in.
- AC_SUBST(MAJOR_VERSION, `echo $PACKAGE_VERSION | sed 's/\(.*\)\..*\..*/\1/g'`)
--- 
-1.8.1.4
-
-
-From 7afa4d386bb2076890113a5d4e665c39583ff025 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
-Date: Mon, 4 Feb 2013 16:11:12 +0100
-Subject: [PATCH 3/4] add missing private lib to pc file
-
-
-diff --git a/lib/gnutls.pc.in b/lib/gnutls.pc.in
-index a25fcdf..3860c68 100644
---- a/lib/gnutls.pc.in
-+++ b/lib/gnutls.pc.in
-@@ -19,6 +19,6 @@ Description: Transport Security Layer implementation for the GNU system
- URL: http://www.gnutls.org/
- Version: @VERSION@
- Libs: -L${libdir} -lgnutls
--Libs.private: @LTLIBZ@ @LTLIBINTL@ @LIBSOCKET@ @LTLIBPTHREAD@ @LTLIBICONV@ @P11_KIT_LIBS@ @LIB_SELECT@ @TSS_LIBS@ @GMP_LIBS@
-+Libs.private: @LTLIBZ@ @LTLIBINTL@ @LIBSOCKET@ @LTLIBPTHREAD@ @LTLIBICONV@ @P11_KIT_LIBS@ @LIB_SELECT@ @TSS_LIBS@ @GMP_LIBS@ -lcrypt32
- @GNUTLS_REQUIRES_PRIVATE@
- Cflags: -I${includedir}
--- 
-1.8.1.4
-
-
-From 903e858e59718f03fd3b3bef00fab897b0313007 Mon Sep 17 00:00:00 2001
-From: Tony Theodore <tonyt@logyst.com>
-Date: Wed, 6 Feb 2013 08:43:43 +0100
-Subject: [PATCH 4/4] relax automake version check
+Date: Thu, 6 Dec 2018 10:36:30 +0100
+Subject: [PATCH 1/1] remove docs from configure.ac: avoid GTK_DOC dependencies
 
 
 diff --git a/configure.ac b/configure.ac
-index 2c05458..dd45228 100644
+index 1111111..2222222 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -26,7 +26,7 @@ AC_CONFIG_AUX_DIR([build-aux])
- AC_CONFIG_MACRO_DIR([m4])
- AC_CANONICAL_HOST
- 
--AM_INIT_AUTOMAKE([1.12.2 no-dist-gzip dist-xz -Wall -Wno-override])
-+AM_INIT_AUTOMAKE([1.11.1 no-dist-gzip dist-xz -Wall -Wno-override])
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
- AC_CONFIG_HEADERS([config.h])
- 
--- 
-1.8.1.4
-
+@@ -1161,17 +1161,6 @@ AC_DEFINE_UNQUOTED([INI_START_COMMENT_PREFIXES], [";#"], [The comment prefixes])
+ AC_CONFIG_FILES([guile/pre-inst-guile], [chmod +x guile/pre-inst-guile])
+ AC_CONFIG_FILES([
+   Makefile
+-  doc/Makefile
+-  doc/credentials/Makefile
+-  doc/credentials/srp/Makefile
+-  doc/credentials/x509/Makefile
+-  doc/doxygen/Doxyfile
+-  doc/examples/Makefile
+-  doc/latex/Makefile
+-  doc/manpages/Makefile
+-  doc/reference/Makefile
+-  doc/reference/version.xml
+-  doc/scripts/Makefile
+   extra/Makefile
+   extra/includes/Makefile
+   libdane/Makefile
--- a/src/gnutls-2-ldadd.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-diff -ur a/src/Makefile.am b/src/Makefile.am
---- a/src/Makefile.am	2013-03-03 04:04:09.000000000 -0500
-+++ b/src/Makefile.am	2013-10-16 23:34:43.999201873 -0400
-@@ -67,7 +67,7 @@
- if ENABLE_SRP
- srptool_SOURCES = srptool.c
- srptool_LDADD = ../lib/libgnutls.la libcmd-srp.la ../gl/libgnu.la 
--srptool_LDADD += $(LIBOPTS_LDADD) $(LTLIBINTL)
-+srptool_LDADD += $(LIBOPTS_LDADD) ../gl/libgnu.la $(LTLIBINTL)
- noinst_LTLIBRARIES += libcmd-srp.la
- libcmd_srp_la_CFLAGS =
- libcmd_srp_la_SOURCES = srptool-args.def srptool-args.c srptool-args.h
-@@ -75,7 +75,7 @@
- 
- psktool_SOURCES = psk.c
- psktool_LDADD = ../lib/libgnutls.la libcmd-psk.la ../gl/libgnu.la 
--psktool_LDADD += $(LIBOPTS_LDADD) $(LTLIBINTL)
-+psktool_LDADD += $(LIBOPTS_LDADD) ../gl/libgnu.la $(LTLIBINTL)
- noinst_LTLIBRARIES += libcmd-psk.la
- libcmd_psk_la_CFLAGS = 
- libcmd_psk_la_SOURCES = psk-args.def psk-args.c psk-args.h
-@@ -86,7 +86,7 @@
- ocsptool_SOURCES = ocsptool.c ocsptool-common.h ocsptool-common.c \
- 	socket.c socket.h
- ocsptool_LDADD = ../lib/libgnutls.la libcmd-ocsp.la ../gl/libgnu.la 
--ocsptool_LDADD += $(LIBOPTS_LDADD) $(LTLIBINTL) $(GETADDRINFO_LIB)
-+ocsptool_LDADD += $(LIBOPTS_LDADD) ../gl/libgnu.la $(LTLIBINTL) $(GETADDRINFO_LIB)
- noinst_LTLIBRARIES += libcmd-ocsp.la
- libcmd_ocsp_la_CFLAGS =
- libcmd_ocsp_la_SOURCES = ocsptool-args.def ocsptool-args.h ocsptool-args.c
-@@ -99,7 +99,7 @@
-   certtool-common.h 
- gnutls_serv_LDADD = ../lib/libgnutls.la
- gnutls_serv_LDADD += libcmd-serv.la ../gl/libgnu.la
--gnutls_serv_LDADD += $(LIBOPTS_LDADD) $(LTLIBINTL)
-+gnutls_serv_LDADD += $(LIBOPTS_LDADD) ../gl/libgnu.la $(LTLIBINTL)
- gnutls_serv_LDADD += $(LIBSOCKET) $(GETADDRINFO_LIB)
- noinst_LTLIBRARIES += libcmd-serv.la
- libcmd_serv_la_CFLAGS =
-@@ -116,7 +116,7 @@
- if ENABLE_DANE
- gnutls_cli_LDADD += ../libdane/libgnutls-dane.la
- endif
--gnutls_cli_LDADD += libcmd-cli.la ../gl/libgnu.la $(LIBOPTS_LDADD) $(LTLIBINTL)
-+gnutls_cli_LDADD += libcmd-cli.la ../gl/libgnu.la $(LIBOPTS_LDADD) ../gl/libgnu.la $(LTLIBINTL)
- gnutls_cli_LDADD += $(LIBSOCKET) $(GETADDRINFO_LIB) $(LIB_CLOCK_GETTIME) \
- 	 $(SERVENT_LIB)
- noinst_LTLIBRARIES += libcmd-cli.la
-@@ -129,7 +129,7 @@
- 		socket.c socket.h common.h common.c
- gnutls_cli_debug_LDADD = ../lib/libgnutls.la libcmd-cli-debug.la 
- gnutls_cli_debug_LDADD += ../gl/libgnu.la
--gnutls_cli_debug_LDADD += $(LIBOPTS_LDADD) $(LTLIBINTL)
-+gnutls_cli_debug_LDADD += $(LIBOPTS_LDADD) ../gl/libgnu.la $(LTLIBINTL)
- gnutls_cli_debug_LDADD += $(LIBSOCKET) $(GETADDRINFO_LIB)
- noinst_LTLIBRARIES += libcmd-cli-debug.la
- libcmd_cli_debug_la_CFLAGS =
-@@ -146,7 +146,7 @@
- libcmd_certtool_la_SOURCES = certtool-args.c certtool-args.def certtool-args.h	\
- 	certtool-cfg.h certtool-cfg.c
- libcmd_certtool_la_LIBADD = ../gl/libgnu.la ../lib/libgnutls.la
--libcmd_certtool_la_LIBADD += $(LIBOPTS_LDADD) $(LTLIBINTL)
-+libcmd_certtool_la_LIBADD += $(LIBOPTS_LDADD) ../gl/libgnu.la $(LTLIBINTL)
- libcmd_certtool_la_LIBADD += $(LTLIBREADLINE)
- libcmd_certtool_la_LIBADD += $(INET_PTON_LIB)
- 
-@@ -162,7 +162,7 @@
- libcmd_danetool_la_SOURCES = danetool-args.c danetool-args.def danetool-args.h \
- 	certtool-cfg.h certtool-cfg.c
- libcmd_danetool_la_LIBADD = ../gl/libgnu.la ../lib/libgnutls.la
--libcmd_danetool_la_LIBADD += $(LIBOPTS_LDADD) $(LTLIBINTL)
-+libcmd_danetool_la_LIBADD += $(LIBOPTS_LDADD) ../gl/libgnu.la $(LTLIBINTL)
- libcmd_danetool_la_LIBADD += $(LTLIBREADLINE)
- libcmd_danetool_la_LIBADD += $(INET_PTON_LIB)
- 
-@@ -173,7 +173,7 @@
- 	certtool-extras.c p11tool.h common.c
- p11tool_LDADD = ../lib/libgnutls.la
- p11tool_LDADD += libcmd-p11tool.la ../gl/libgnu.la
--p11tool_LDADD += $(LIBOPTS_LDADD) $(LTLIBINTL)
-+p11tool_LDADD += $(LIBOPTS_LDADD) ../gl/libgnu.la $(LTLIBINTL)
- 
- noinst_LTLIBRARIES += libcmd-p11tool.la
- libcmd_p11tool_la_CFLAGS =
-@@ -189,7 +189,7 @@
- tpmtool_SOURCES = tpmtool-args.def tpmtool.c certtool-common.c certtool-extras.c common.c
- tpmtool_LDADD = ../lib/libgnutls.la
- tpmtool_LDADD += libcmd-tpmtool.la ../gl/libgnu.la
--tpmtool_LDADD += $(LIBOPTS_LDADD) $(LTLIBINTL)
-+tpmtool_LDADD += $(LIBOPTS_LDADD) ../gl/libgnu.la $(LTLIBINTL)
- 
- noinst_LTLIBRARIES += libcmd-tpmtool.la
- libcmd_tpmtool_la_CFLAGS =
--- a/src/gnutls.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gnutls.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -2,32 +2,35 @@
 # See index.html for further information.
 
 PKG             := gnutls
-$(PKG)_CHECKSUM := 18f5fffd1a0384944cb76cbedc0720c4726470f4
+$(PKG)_VERSION  := 3.6.15
+$(PKG)_CHECKSUM := 00ef7d93347df586c3d1a00f13c326706c0c59ba
 $(PKG)_SUBDIR   := gnutls-$($(PKG)_VERSION)
 $(PKG)_FILE     := gnutls-$($(PKG)_VERSION).tar.xz
-$(PKG)_URL      := http://ftp.gnu.org/gnu/gnutls/$($(PKG)_FILE)
-$(PKG)_DEPS     := gettext nettle pcre zlib
+$(PKG)_URL      := ftp://ftp.gnutls.org/gcrypt/gnutls/v3.6/$($(PKG)_FILE)
+$(PKG)_URL_2    := https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/gnutls/v3.6/$($(PKG)_FILE)
+$(PKG)_DEPS     := gettext gmp libidn2 libtasn1 libunistring nettle zlib
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.savannah.gnu.org/gitweb/?p=gnutls.git;a=tags' | \
-    grep '<a class="list name"' | \
-    $(SED) -n 's,.*<a[^>]*>gnutls_\([0-9]*_[0-9]*[012468]_[^<]*\)<.*,\1,p' | \
-    $(SED) 's,_,.,g' | \
-    grep -v '^2\.' | \
-    head -1
+    $(WGET) -q -O- https://gnupg.org/ftp/gcrypt/gnutls/v3.6/ | \
+    $(SED) -n 's,.*gnutls-\([1-9]\+\.[0-9]\+.[0-9]\+\)\..*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
 endef
 
+$(PKG)_WINDOWS_CONFIGURE_OPTIONS := \
+   CPPFLAGS='-D_WIN32_WINNT=0x0600' --disable-rpath 
+
+ifeq ($(MXE_SYSTEM),mingw)
+  $(PKG)_CONFIGURE_OPTIONS := $($(PKG)_WINDOWS_CONFIGURE_OPTIONS)
+endif
+ifeq ($(MXE_SYSTEM),msvc)
+  $(PKG)_CONFIGURE_OPTIONS := $($(PKG)_WINDOWS_CONFIGURE_OPTIONS)
+endif
+
 define $(PKG)_BUILD
-    $(SED) -i 's, sed , $(SED) ,g' '$(1)/gl/tests/Makefile.am'
-    cd '$(1)' && aclocal -I m4 -I gl/m4 -I src/libopts/m4 --install
-    cd '$(1)' && autoconf
-    cd '$(1)' && automake --add-missing
-    if [ "$(MXE_NATIVE_BUILD)" = no ]; then \
-      $(SED) -i 's/libopts_cv_with_libregex=no/libopts_cv_with_libregex=yes/g;' '$(1)/configure'; \
-    fi
-    # AI_ADDRCONFIG referenced by src/serv.c but not provided by mingw.
-    # Value taken from http://msdn.microsoft.com/en-us/library/windows/desktop/ms737530%28v=vs.85%29.aspx
-    cd '$(1)' && ./configure \
+    mkdir '$(1)/.build'
+    cd '$(1)' && autoreconf -fi 
+    cd '$(1)/.build' && ../configure \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
@@ -35,17 +38,13 @@
         --disable-nls \
         --disable-guile \
         --disable-doc \
-        --with-included-libtasn1 \
-        --with-libregex='$(HOST_PREFIX)' \
-        --with-regex-header=pcreposix.h \
-        --with-libregex-cflags="`$(MXE_PKG_CONFIG) libpcreposix --cflags`" \
-        --with-libregex-libs="`$(MXE_PKG_CONFIG) libpcreposix --libs`" \
-        --with-included-libcfg \
+        --disable-tests \
+        --enable-local-libopts \
         --without-p11-kit \
         --disable-silent-rules \
-        CPPFLAGS='-DWINVER=0x0501 -DAI_ADDRCONFIG=0x0400 -DIPV6_V6ONLY=27' \
-        LIBS='-lws2_32' \
-        ac_cv_prog_AR='$(MXE_AR)' && $(CONFIGURE_POST_HOOK)
+        $($(PKG)_CONFIGURE_OPTIONS) \
+        && $(CONFIGURE_POST_HOOK)
 
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)'
+    $(MAKE) -C '$(1)/.build' -j 1 install DESTDIR='$(3)'
 endef
--- a/src/graphicsmagick-1-fix-xml2-config.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/graphicsmagick-1-fix-xml2-config.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,39 +1,3 @@
-This file is part of MXE.
-See index.html for further information.
-
-This patch has been taken from:
-http://sourceforge.net/tracker/?func=detail&aid=3130497&group_id=73485&atid=537937
-
-diff --git a/configure.ac b/configure.ac
-index 979d2c4..12d4555 100755
---- a/configure.ac
-+++ b/configure.ac
-@@ -2373,12 +2373,13 @@ then
-         # Debian installs libxml headers under /usr/include/libxml2/libxml with
-         # the shared library installed under /usr/lib, whereas the package
-         # installs itself under $prefix/libxml and $prefix/lib.
--        xml2_prefix=`xml2-config --prefix`
-+        xml2_prefix=`"$xml2_config" --prefix`
-         if test -d "${xml2_prefix}/include/libxml2"
-         then
-           CPPFLAGS="$CPPFLAGS -I${xml2_prefix}/include/libxml2"
-         fi
-         LDFLAGS="$LDFLAGS -L${xml2_prefix}/lib"
-+        LIBS="$LIBS `"$xml2_config" --libs`"
-      fi
-     failed=0
-     passed=0
-@@ -2401,8 +2402,9 @@ then
-         LDFLAGS="$OLD_LDFLAGS"
-         CPPFLAGS="$OLD_CPPFLAGS"
-     else
--	LIB_XML='-lxml2'
-+	LIB_XML=`"$xml2_config" --libs`
- 	LIBS="$LIB_XML $LIBS"
-+	CPPFLAGS="$CPPFLAGS `"$xml2_config" --cflags`"
- 	AC_DEFINE(HasXML,1,Define if you have XML library)
- 	AC_MSG_RESULT(yes)
-         have_xml='yes'
 diff --git a/magick/GraphicsMagick.pc.in b/magick/GraphicsMagick.pc.in
 index 5757b37..87e3fd4 100644
 --- a/magick/GraphicsMagick.pc.in
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/graphicsmagick-2-dynamicpath.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,71 @@
+diff -ur GraphicsMagick-1.3.30.orig/magick/blob.c GraphicsMagick-1.3.30/magick/blob.c
+--- GraphicsMagick-1.3.30.orig/magick/blob.c	2018-07-16 08:55:01.552444311 -0400
++++ GraphicsMagick-1.3.30/magick/blob.c	2018-07-17 09:27:05.584144673 -0400
+@@ -1955,6 +1955,29 @@
+   AddConfigurePath(path_map,&path_index,MagickLibConfigPath,exception);
+ # endif /* defined(MagickLibConfigPath) */
+ 
++#if defined(MSWINDOWS)
++  {
++    char buf[FILENAME_MAX+100];
++    if (GetModuleFileName(NULL, buf, FILENAME_MAX + 1))
++    {
++      char *ptr = strrchr(buf, '\\');
++      if(ptr) {
++	*(ptr+1) = 0;
++        strcat(buf, "..\\lib\\");
++        strcat(buf, MagickShareConfigSubDir);
++        strcat(buf, "\\");
++        AddConfigurePath(path_map,&path_index,buf,exception);
++
++	*(ptr+1) = 0;
++        strcat(buf, "..\\share\\");
++        strcat(buf, MagickLibConfigSubDir);
++        strcat(buf, "\\");
++        AddConfigurePath(path_map,&path_index,buf,exception);
++      }
++    }
++  }
++#endif
++
+ # if defined(MSWINDOWS) && !(defined(MagickLibConfigPath) || defined(MagickShareConfigPath))
+   {
+     char
+Only in GraphicsMagick-1.3.30/magick: .blob.c.swp
+diff -ur GraphicsMagick-1.3.30.orig/magick/module.c GraphicsMagick-1.3.30/magick/module.c
+--- GraphicsMagick-1.3.30.orig/magick/module.c	2018-07-16 08:55:01.539443999 -0400
++++ GraphicsMagick-1.3.30/magick/module.c	2018-07-17 08:22:22.161123799 -0400
+@@ -1021,6 +1021,33 @@
+           start += length+1;
+         }
+     }
++#if defined(MSWINDOWS)
++  {
++    char buf[FILENAME_MAX+100];
++    if (GetModuleFileName(NULL, buf, FILENAME_MAX + 1))
++    {
++      char *ptr = strrchr(buf, '\\');
++      if(ptr)
++      {
++	*(ptr+1) = 0;
++        strcat(buf, "..\\lib\\");
++        switch (module_type)
++        {
++        case MagickCoderModule:
++        default:
++          strcat(buf, MagickCoderModulesSubdir);
++          break;
++        case MagickFilterModule:
++          strcat(buf, MagickFilterModulesSubdir);
++	  break;
++        }
++        strcat(buf, "\\");
++        AddModulePath(path_map,&path_index,buf,exception);
++      }
++    }
++  }
++#endif
++
+ 
+ #if defined(UseInstalledMagick)
+ # if defined(MagickCoderModulesPath)
--- a/src/graphicsmagick-2-fix-png16-config.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-diff -ur GraphicsMagick-1.3.17-orig/configure.ac GraphicsMagick-1.3.17/configure.ac
---- GraphicsMagick-1.3.17-orig/configure.ac	2013-11-08 15:06:33 -0500
-+++ GraphicsMagick-1.3.17/configure.ac	2013-11-08 15:07:07 -0500
-@@ -1928,7 +1928,7 @@
-        failed=`expr $failed + 1`,)
-   
-     if test $passed -gt 0; then
--      for var in 5 4 2 '' ; do
-+      for var in 6 5 4 2 '' ; do
-         if test "x${var}" = 'x' ; then
-           pnglib='png'
-         else
--- a/src/graphicsmagick.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/graphicsmagick.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,18 +3,25 @@
 
 PKG             := graphicsmagick
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 6428eb4bd19635c833750ac9d56c9b89bef4c975
+$(PKG)_VERSION  := 1.3.35
+$(PKG)_CHECKSUM := b0460d7fb8b2d542a44446322ea62c053bc54b0c
 $(PKG)_SUBDIR   := GraphicsMagick-$($(PKG)_VERSION)
 $(PKG)_FILE     := GraphicsMagick-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_DEPS     := zlib bzip2 jpeg jasper lcms libpng tiff freetype libxml2
+$(PKG)_DEPS     := zlib bzip2 libjbig jpeg jasper lcms libpng tiff freetype libxml2
 ifneq ($(MXE_SYSTEM),msvc)
     $(PKG)_DEPS += pthreads libtool
 endif
 
+$(PKG)_CONFIGURE_OPTIONS :=
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+    $(PKG)_CONFIGURE_OPTIONS += ac_cv_func_clock_getres=no ac_cv_func_clock_gettime=no
+endif
+
+
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
@@ -22,11 +29,13 @@
     # This can be removed once the patch "graphicsmagick-1-fix-xml2-config.patch" is accepted by upstream
     cd '$(1)' && autoconf
     cd '$(1)' && ./configure \
+        $($(PKG)_CONFIGURE_OPTIONS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
          $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         --prefix='$(HOST_PREFIX)' \
-        --without-modules \
+        --disable-openmp \
+        --with-modules \
         --with-threads \
         --with-magick-plus-plus \
         --without-perl \
@@ -34,10 +43,10 @@
         --without-dps \
         --without-fpx \
         --without-gslib \
-        --without-jbig \
+        --with-jbig \
         --with-jpeg \
         --with-jp2 \
-        --with-lcms \
+        --with-lcms2 \
         --with-png \
         --with-tiff \
         --without-trio \
@@ -46,9 +55,14 @@
         --with-xml \
         --with-zlib \
         --without-x \
+       --with-quantum-depth=16 \
         ac_cv_prog_xml2_config='$(HOST_BINDIR)/xml2-config' \
         ac_cv_path_xml2_config='$(HOST_BINDIR)/xml2-config' \
 	&& $(CONFIGURE_POST_HOOK)
     $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS=
     $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= DESTDIR='$(3)'
+
+    if [ "$(ENABLE_DEP_DOCS)" == "no" ]; then \
+      rm -rf "$(3)$(HOST_PREFIX)/share/doc/GraphicsMagick"; \
+    fi
 endef
--- a/src/gsl.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gsl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,17 +3,18 @@
 
 PKG             := gsl
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := d914f84b39a5274b0a589d9b83a66f44cd17ca8e
+$(PKG)_VERSION  := 2.6
+$(PKG)_CHECKSUM := 9273164b6bdf60d0577518a1c1310eff6659e3dd
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://ftp.gnu.org/gnu/$(PKG)/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.savannah.gnu.org/gitweb/?p=$(PKG).git;a=tags' | \
-    grep '<a class="list subject"' | \
-    $(SED) -n 's,.*<a[^>]*>[^0-9>]*\([0-9][^<]*\)<.*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://ftp.gnu.org/gnu/$(PKG)/' | \
+    $(SED) -n 's,.*<a href="gsl-\([0-9.]\+\).tar.gz".*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
 endef
 
 ifeq ($(MXE_SYSTEM),msvc)
@@ -34,5 +35,5 @@
 	$($(PKG)_EXTRA_CONFIGURE_OPTIONS) \
 	&& $(CONFIGURE_POST_HOOK)
     $(MAKE) -C '$(1)' -j '$(JOBS)'
-    $(MAKE) -C '$(1)' -j 1 install
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_DOCS) $(MXE_DISABLE_PROGS)  DESTDIR='$(3)'
 endef
--- a/src/gsoap.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gsoap.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := gsoap
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.8.11
 $(PKG)_CHECKSUM := b1c17d501361939c6d419eeb2aa26e7fd2b586fe
 $(PKG)_SUBDIR   := gsoap-$(call SHORT_PKG_VERSION,$(PKG))
 $(PKG)_FILE     := gsoap_$($(PKG)_VERSION).zip
@@ -10,7 +11,7 @@
 $(PKG)_DEPS     := gnutls libgcrypt libntlm
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://sourceforge.net/projects/gsoap2/files/gSOAP/' | \
+    $(WGET) -q -O- 'http://sourceforge.net/projects/gsoap2/files/gsoap-2.8/' | \
     $(SED) -n 's,.*gsoap_\([0-9][^>]*\)\.zip.*,\1,p' | \
     head -1
 endef
--- a/src/gst-plugins-base.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gst-plugins-base.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := gst-plugins-base
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.10.36
 $(PKG)_CHECKSUM := 2c4b34245107395bc9103649bb2af1c1088a3f7c
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://cgit.freedesktop.org/gstreamer/gst-plugins-base/refs/tags' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=[^0-9]*\\([0-9][^']*\\)'.*,\\1,p" | \
+    $(SED) -n "s,.*<a href='[^']*/tag/?h=[^0-9]*\\([0-9][^']*\\)'.*,\\1,p" | \
     head -1
 endef
 
--- a/src/gst-plugins-good.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gst-plugins-good.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := gst-plugins-good
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.10.31
 $(PKG)_CHECKSUM := 15addda7c6322a42c904aaf1c1d0b5d5a63f908b
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://cgit.freedesktop.org/gstreamer/gst-plugins-good/refs/tags' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=[^0-9]*\\([0-9][^']*\\)'.*,\\1,p" | \
+    $(SED) -n "s,.*<a href='[^']*/tag/?h=[^0-9]*\\([0-9][^']*\\)'.*,\\1,p" | \
     head -1
 endef
 
--- a/src/gstreamer.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gstreamer.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := gstreamer
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.10.36
 $(PKG)_CHECKSUM := 27931b00eb5d50bc477e32e2dda7440f4179e7ac
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://cgit.freedesktop.org/gstreamer/gstreamer/refs/tags' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=[^0-9]*\\([0-9][^']*\\)'.*,\\1,p" | \
+    $(SED) -n "s,.*<a href='[^']*/tag/?h=[^0-9]*\\([0-9][^']*\\)'.*,\\1,p" | \
     head -1
 endef
 
--- a/src/gta.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gta.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := gta
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := dffeb65b0dad66860ab62df1cf8570ea23517c2c
+$(PKG)_VERSION  := 1.0.8
+$(PKG)_CHECKSUM := 795832a042be4102321d862246cc4afdb929dc57
 $(PKG)_SUBDIR   := libgta-$($(PKG)_VERSION)
 $(PKG)_FILE     := libgta-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := http://download.savannah.gnu.org/releases/gta/$($(PKG)_FILE)
@@ -20,13 +21,9 @@
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         --disable-reference \
         --prefix='$(HOST_PREFIX)'
     $(MAKE) -C '$(1)' -j '$(JOBS)'
-    $(MAKE) -C '$(1)' -j 1 install dist_doc_DATA=
-
-    '$(MXE_CC)' \
-        -W -Wall -Werror -ansi -pedantic \
-        '$(2).c' -o '$(HOST_BINDIR)/test-gta.exe' \
-        `'$(MXE_PKG_CONFIG)' gta --cflags --libs`
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
 endef
--- a/src/gtk2.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gtk2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := gtk2
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.24.10
 $(PKG)_CHECKSUM := baf5c73e186352cad767392a6b55840be0326ddc
 $(PKG)_SUBDIR   := gtk+-$($(PKG)_VERSION)
 $(PKG)_FILE     := gtk+-$($(PKG)_VERSION).tar.xz
@@ -10,11 +11,11 @@
 $(PKG)_DEPS     := gettext libpng jpeg tiff jasper glib atk pango cairo gdk-pixbuf
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/gtk+/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n 's,.*<a[^>]*>\([0-9]*\.[0-9]*[02468]\.[^<]*\)<.*,\1,p' | \
+    $(WGET) -q -O- 'https://github.com/GNOME/gtk/tags?after=3.23.0' | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | \
     grep -v '^2\.9' | \
     grep '^2\.' | \
+    $(SORT) -Vr | \
     head -1
 endef
 
--- a/src/gtk3.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gtk3.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := gtk3
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.8.2
 $(PKG)_CHECKSUM := c519b553b618588f288c70ea5dce1145588944eb
 $(PKG)_SUBDIR   := gtk+-$($(PKG)_VERSION)
 $(PKG)_FILE     := gtk+-$($(PKG)_VERSION).tar.xz
@@ -10,11 +11,11 @@
 $(PKG)_DEPS     := gettext libpng jpeg tiff jasper glib atk pango cairo gdk-pixbuf
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/gtk+/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n 's,.*<a[^>]*>\([0-9]*\.[0-9]*[02468]\.[^<]*\)<.*,\1,p' | \
+    $(WGET) -q -O- 'https://github.com/GNOME/gtk/tags' | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | \
     grep -v '^3\.9' | \
     grep '^3\.' | \
+    $(SORT) -Vr | \
     head -1
 endef
 
--- a/src/gtkglarea.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gtkglarea.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,14 +3,15 @@
 
 PKG             := gtkglarea
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.0.1
 $(PKG)_CHECKSUM := db12f2bb9a3d28d69834832e2e04a255acfd8a6d
 $(PKG)_SUBDIR   := gtkglarea-$($(PKG)_VERSION)
 $(PKG)_FILE     := gtkglarea-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://mirrors.ircam.fr/pub/GNOME/sources/gtkglarea/2.0/$($(PKG)_FILE)
+$(PKG)_URL      := https://ftp.gnome.org/pub/gnome/sources/gtkglarea/2.0/$($(PKG)_FILE)
 $(PKG)_DEPS     := gtk2 freeglut
 
 define $(PKG)_UPDATE
-    wget -q -O- 'mirrors.ircam.fr/pub/GNOME/sources/gtkglarea/2.0' | \
+    $(WGET) -q -O- 'https://ftp.gnome.org/pub/gnome/sources/gtkglarea/2.0/' | \
     $(SED) -n 's,.*gtkglarea-\(2[^>]*\)\.tar.*,\1,ip' | \
     sort | \
     tail -1
--- a/src/gtkglext.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gtkglext.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := gtkglext
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.0
 $(PKG)_CHECKSUM := db9ce38ee555fd14f55083ec7f4ae30e5338d5cc
 $(PKG)_SUBDIR   := gtkglext-$($(PKG)_VERSION)
 $(PKG)_FILE     := gtkglext-$($(PKG)_VERSION).tar.gz
@@ -10,11 +11,9 @@
 $(PKG)_DEPS     := gtk2
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/cgit/gtkglext/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=\\([0-9][^']*\\)'.*,\\1,p" | \
-    grep -v '1\.1\.' | \
-    head -1
+    $(WGET) -q -O- 'https://ftp.gnome.org/pub/gnome/sources/gtkglext/1.2/' | \
+    $(SED) -n 's,.*gtkglext-\(1[^>]*\)\.tar.*,\1,ip' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/gtkglextmm.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gtkglextmm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := gtkglextmm
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.0
 $(PKG)_CHECKSUM := 5cd489e07517a88262cd6050f723227664e82996
 $(PKG)_SUBDIR   := gtkglextmm-$($(PKG)_VERSION)
 $(PKG)_FILE     := gtkglextmm-$($(PKG)_VERSION).tar.gz
@@ -10,11 +11,9 @@
 $(PKG)_DEPS     := gtkglext gtkmm2
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/cgit/gtkglextmm/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=\\([0-9][^']*\\)'.*,\\1,p" | \
-    grep -v '1\.1\.' | \
-    head -1
+    $(WGET) -q -O- 'https://ftp.gnome.org/pub/gnome/sources/gtkglextmm/1.2/' | \
+    $(SED) -n 's,.*gtkglextmm-\(1[^>]*\)\.tar.*,\1,ip' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/gtkmm2.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gtkmm2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := gtkmm2
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.24.0
 $(PKG)_CHECKSUM := 9b9e68360fb3f5faa7f221acba56f0d75a8198d2
 $(PKG)_SUBDIR   := gtkmm-$($(PKG)_VERSION)
 $(PKG)_FILE     := gtkmm-$($(PKG)_VERSION).tar.bz2
@@ -10,12 +11,9 @@
 $(PKG)_DEPS     := gtk2 libsigc++ pangomm cairomm atkmm
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/gtkmm/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n 's,.*<a[^>]*>\([0-9]*\.[0-9]*[02468]\.[^<]*\)<.*,\1,p' | \
-    grep -v '^2\.9' | \
-    grep '^2\.' | \
-    head -1
+    $(WGET) -q -O- https://github.com/GNOME/gtkmm/tags | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/gtksourceview.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gtksourceview.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := gtksourceview
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.10.5
 $(PKG)_CHECKSUM := 5081dc7a081954d0af73852c22e874a746bda30e
 $(PKG)_SUBDIR   := gtksourceview-$($(PKG)_VERSION)
 $(PKG)_FILE     := gtksourceview-$($(PKG)_VERSION).tar.bz2
@@ -10,11 +11,9 @@
 $(PKG)_DEPS     := gtk2 libxml2
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/gtksourceview/refs/tags' | \
-    $(SED) -n 's,.*>GTKSOURCEVIEW_\([0-9]\+_[0-9]*[02468]_[^<]*\)<.*,\1,p' | \
-    $(SED) 's,_,.,g' | \
-    grep -v '^2\.9[0-9]\.' | \
-    head -1
+    $(WGET) -q -O- https://github.com/GNOME/gtksourceview/tags | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | grep -v '^2\.9[0-9]\.' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/gtksourceviewmm2.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/gtksourceviewmm2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := gtksourceviewmm2
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.10.3
 $(PKG)_CHECKSUM := 17d5daf33d2b6bc21c48c5c730abaae70e027566
 $(PKG)_SUBDIR   := gtksourceviewmm-$($(PKG)_VERSION)
 $(PKG)_FILE     := $($(PKG)_SUBDIR).tar.xz
@@ -10,12 +11,9 @@
 $(PKG)_DEPS     := gtkmm2 gtksourceview
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/cgit/gtksourceviewmm/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=gtksourceviewmm-\\([0-9][^']*\\)'.*,\\1,p" | \
-    grep -v '^2\.9[0-9]\.' | \
-    grep '^2\.' | \
-    head -1
+    $(WGET) -q -O- https://github.com/GNOME/gtksourceviewmm/tags | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | grep -v '^2\.9[0-9]\.' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/guile.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/guile.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := guile
 $(PKG)_IGNORE   := 2.0.5
+$(PKG)_VERSION  := 1.8.7
 $(PKG)_CHECKSUM := 24cd2f06439c76d41d982a7384fe8a0fe5313b54
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
--- a/src/harfbuzz.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/harfbuzz.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := harfbuzz
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.9.19
 $(PKG)_CHECKSUM := 5603e084fbf8be1b93722c8e2694643361c489e4
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://cgit.freedesktop.org/harfbuzz/refs/tags' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=[^0-9]*\\([0-9][^']*\\)'.*,\\1,p" | \
+    $(SED) -n "s,.*<a href='[^']*/tag/?h=[^0-9]*\\([0-9][^']*\\)'.*,\\1,p" | \
     grep -v '^1\.[01234]\.' | \
     head -1
 endef
--- a/src/hdf5.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/hdf5.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,71 +3,97 @@
 
 PKG             := hdf5
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 867a91b75ee0bbd1f1b13aecd52e883be1507a2c
+$(PKG)_VERSION  := 1.12.0
+$(PKG)_CHECKSUM := 6020131b6e18e6866816b1fe68980512c696c2bf
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
-$(PKG)_URL      := http://www.hdfgroup.org/ftp/HDF5/current/src/$($(PKG)_FILE)
-$(PKG)_DEPS     :=
-ifeq ($(MXE_SYSTEM),mingw)
-  ifneq ($(MXE_NATIVE_BUILD),yes)
-    $(PKG)_CROSS_CONFIG_OPTIONS := \
-      --disable-largefile \
-      LIBS=-lws2_32 \
-      hdf5_cv_gettimeofday_tz=no \
-      hdf5_cv_vsnprintf_works=yes \
-      hdf5_cv_printf_ll=l \
-      hdf5_cv_system_scope_threads=yes \
-      hdf5_cv_ldouble_to_integer_works=yes \
-      hdf5_cv_ulong_to_float_accurate=yes \
-      hdf5_cv_ulong_to_fp_bottom_bit_accurate=no \
-      hdf5_cv_fp_to_ullong_accurate=yes \
-      hdf5_cv_fp_to_ullong_right_maximum=no \
-      hdf5_cv_fp_to_ullong_right_maximum=no \
-      hdf5_cv_ldouble_to_uint_accurate=yes \
-      hdf5_cv_ullong_to_ldouble_precision=yes \
-      hdf5_cv_fp_to_integer_overflow_works=yes \
-      hdf5_cv_ldouble_to_long_special=no \
-      hdf5_cv_long_to_ldouble_special=no \
-      hdf5_cv_ldouble_to_llong_accurate=yes \
-      hdf5_cv_llong_to_ldouble_correct=yes
-  endif
-endif
-
-ifeq ($(MXE_NATIVE_BUILD),yes)
-  $(PKG)_CONFIGURE_ENV := LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)
-endif
+$(PKG)_URL      := https://support.hdfgroup.org/ftp/HDF5/releases/$(PKG)-$(call SHORT_PKG_VERSION,$(PKG))/$(PKG)-$($(PKG)_VERSION)/src/$($(PKG)_FILE)
+$(PKG)_DEPS     := zlib
 
 define $(PKG)_UPDATE
     echo 'Warning: Updates are temporarily disabled for package hdf5.' >&2;
     echo $(hdf5_VERSION)
 endef
 
-define $(PKG)_BUILD
-    # build GCC and support libraries
-    cd '$(1)' && autoreconf
-    mkdir '$(1)/.build'
-    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
-        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
-        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        $(ENABLE_SHARED_OR_STATIC) \
-        --prefix='$(HOST_PREFIX)' \
-        --disable-direct-vfd \
-        $($(PKG)_CROSS_CONFIG_OPTIONS) && $(CONFIGURE_POST_HOOK)
+ifeq ($(MXE_SYSTEM),mingw)
+    ifneq ($(MXE_NATIVE_BUILD),yes)
+        $(PKG)_CROSS_CONFIG_OPTIONS := \
+            -DHDF5_USE_PREGEN=ON \
+            -DHAVE_IOEO_EXITCODE=0 \
+            -DH5_LDOUBLE_TO_LONG_SPECIAL_RUN=1 \
+            -DH5_LDOUBLE_TO_LONG_SPECIAL_RUN__TRYRUN_OUTPUT="" \
+            -DH5_LONG_TO_LDOUBLE_SPECIAL_RUN=1 \
+            -DH5_LONG_TO_LDOUBLE_SPECIAL_RUN__TRYRUN_OUTPUT="" \
+            -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN=0 \
+            -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN__TRYRUN_OUTPUT="" \
+            -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN=0 \
+            -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN__TRYRUN_OUTPUT="" \
+            -DH5_DISABLE_SOME_LDOUBLE_CONV_RUN=1 \
+            -DH5_DISABLE_SOME_LDOUBLE_CONV_RUN__TRYRUN_OUTPUT="" \
+            -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN=0 \
+            -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN__TRYRUN_OUTPUT="" \
+            -DH5_PRINTF_LL_TEST_RUN=1 \
+            -DH5_PRINTF_LL_TEST_RUN__TRYRUN_OUTPUT="" \
+            -DTEST_LFS_WORKS_RUN=0
+    endif
+endif
 
-    case '$(MXE_SYSTEM)' in \
-      *mingw*) \
-        echo "#define H5_HAVE_WIN32_API 1" >> $(1)/.build/src/H5pubconf.h; \
-        echo "#define H5_HAVE_MINGW 1" >> $(1)/.build/src/H5pubconf.h; \
-        echo "#define HAVE_WINDOWS_PATH 1" >> $(1)/.build/src/H5pubconf.h; \
-      ;; \
-      *msvc*) \
-        sed -i -e 's/^\(#define H5_SIZEOF_SSIZE_T\) .*/\1 0/' \
-	    '$(1)/.build/src/H5pubconf.h'; \
-        echo "#define H5_HAVE_WIN32_API 1" >> $(1)/.build/src/H5pubconf.h; \
-        echo "#define H5_HAVE_VISUAL_STUDIO 1" >> $(1)/.build/src/H5pubconf.h; \
-        echo "#define HAVE_WINDOWS_PATH 1" >> $(1)/.build/src/H5pubconf.h; \
-      ;; \
-    esac
+define $(PKG)_BUILD
+    if test x$(MXE_SYSTEM) = xmingw; then \
+        mkdir '$(1)/pregen'; \
+        case '$(TARGET)' in \
+            x86_64-w64-mingw32) \
+                cp '$(1)/src/H5Tinit.c.mingw64' '$(1)/pregen/H5Tinit.c' & \
+                cp '$(1)/src/H5lib_settings.c.mingw64' '$(1)/pregen/H5lib_settings.c' \
+            ;; \
+            i686-w64-mingw32) \
+                cp '$(1)/src/H5Tinit.c.mingw32' '$(1)/pregen/H5Tinit.c' & \
+                cp '$(1)/src/H5lib_settings.c.mingw32' '$(1)/pregen/H5lib_settings.c' \
+            ;; \
+            i686-pc-mingw32) \
+                cp '$(1)/src/H5Tinit.c.mingw32' '$(1)/pregen/H5Tinit.c' & \
+                cp '$(1)/src/H5lib_settings.c.mingw32' '$(1)/pregen/H5lib_settings.c' \
+            ;; \
+        esac; \
+    fi
+
+    mkdir '$(1)/.build'
 
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+    cd '$(1)/.build' && cmake .. -G "Unix Makefiles" \
+        -DCMAKE_INSTALL_PREFIX=${prefix} \
+        $($(PKG)_CMAKE_FLAGS) \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
+        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+        -DHDF5_INSTALL_BIN_DIR='$(HOST_BINDIR)' \
+        -DHDF5_INSTALL_LIB_DIR='$(HOST_LIBDIR)' \
+        -DHDF5_INSTALL_INCLUDE_DIR='$(HOST_INCDIR)' \
+        -DHDF5_INSTALL_DATA_DIR='$(HOST_PREFIX)/share' \
+        -DHDF5_BUILD_CPP_LIB=OFF \
+        -DHDF5_BUILD_HL_LIB=ON \
+        -DHDF5_ENABLE_Z_LIB_SUPPORT=ON \
+        -DHDF5_ENABLE_SZIP_SUPPORT=OFF \
+        -DHDF5_ENABLE_SZIP_ENCODING=OFF \
+        -DBUILD_TESTING=OFF \
+        $($(PKG)_CROSS_CONFIG_OPTIONS) \
+        -DHDF5_USE_PREGEN_DIR='$(1)/pregen'
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' 
+    $(MAKE) -C '$(1)/.build' -j 1 install DESTDIR='$(3)'
+
+    # FIXME: Change the build rule to create the shared libs with the prefix
+    if test x$(MXE_SYSTEM) = xmingw; then \
+        mv '$(3)/$(HOST_LIBDIR)/hdf5.lib' '$(3)/$(HOST_LIBDIR)/libhdf5.lib'; \
+        mv '$(3)/$(HOST_LIBDIR)/hdf5_tools.lib' '$(3)/$(HOST_LIBDIR)/libhdf5_tools.lib'; \
+        mv '$(3)/$(HOST_LIBDIR)/hdf5_hl.lib' '$(3)/$(HOST_LIBDIR)/libhdf5_hl.lib'; \
+    fi
+    
+    # Remove version suffix from pkg-config files
+    mv '$(3)/$(HOST_LIBDIR)/pkgconfig/hdf5-$($(PKG)_VERSION).pc' '$(3)/$(HOST_LIBDIR)/pkgconfig/hdf5.pc'
+    mv '$(3)/$(HOST_LIBDIR)/pkgconfig/hdf5_hl-$($(PKG)_VERSION).pc' '$(3)/$(HOST_LIBDIR)/pkgconfig/hdf5_hl.pc'
+
+    if [ "$(ENABLE_DEP_DOCS)" == "no" ]; then \
+        rm -rf '$(3)$(HOST_PREFIX)/share/hdf5_examples'; \
+    fi
 endef
+
--- a/src/hunspell.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/hunspell.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,17 @@
 
 PKG             := hunspell
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3.2
 $(PKG)_CHECKSUM := 902c76d2b55a22610e2227abc4fd26cbe606a51c
 $(PKG)_SUBDIR   := hunspell-$($(PKG)_VERSION)
 $(PKG)_FILE     := hunspell-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/hunspell/Hunspell/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_URL      := https://github.com/hunspell/hunspell/archive/v$($(PKG)_VERSION).tar.gz
 $(PKG)_DEPS     := libiconv gettext readline pthreads
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://sourceforge.net/projects/hunspell/files/Hunspell/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(WGET) -q -O- 'https://github.com/hunspell/hunspell/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | \
+    $(SORT) -Vr | \
     head -1
 endef
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ice.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := ice
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.9
+$(PKG)_CHECKSUM := 3c3a857a117ce48a1947a16860056e77cd494fdf
+$(PKG)_SUBDIR   := libICE-$($(PKG)_VERSION)
+$(PKG)_FILE     := libICE-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := xproto xtrans
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/icu4c.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,53 @@
+PKG             := icu4c
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 67.1
+$(PKG)_CHECKSUM := 6822a4a94324d1ba591b3e8ef084e4491af253c1
+$(PKG)_SUBDIR   := icu
+$(PKG)_FILE     := $(PKG)-$(subst .,_,$($(PKG)_VERSION))-src.tgz
+$(PKG)_URL      := https://github.com/unicode-org/icu/releases/download/release-$(subst .,-,$($(PKG)_VERSION))/$($(PKG)_FILE)
+$(PKG)_DEPS     :=
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://github.com/unicode-org/icu/tags' | \
+    $(SED) -n 's|.*releases/tag/release-\([0-9\-]*\).*|\1|p' | \
+    $(SED) 's|-|\.|g' | \
+    $(SORT) -V | \
+    tail -1
+endef
+
+ifeq ($(MXE_NATIVE_BUILD),no)
+define $(PKG)_BUILD
+    # build some native tools
+    mkdir '$(1).native' && cd '$(1).native' && '$(1)/source/configure'
+    $(MAKE) -C '$(1).native' -j '$(JOBS)'
+
+    # build cross
+    mkdir '$(1).cross' && cd '$(1).cross' && '$(1)/source/configure' \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+        --with-cross-build='$(1).native' \
+        PKG_CONFIG='$(MXE_PKG_CONFIG)' \
+        PKG_CONFIG_PATH=$($(PKG)_PKG_CONFIG_PATH) \
+        CPPFLAGS='-DU_USING_ICU_NAMESPACE=0'
+
+    $(MAKE) -C '$(1).cross' -j '$(JOBS)' $(MXE_DISABLE_DOCS) $(MXE_DISABLE_PROGS)
+    $(MAKE) -C '$(1).cross' -j 1 install $(MXE_DISABLE_DOCS) $(MXE_DISABLE_PROGS) DESTDIR='$(3)'
+    $(INSTALL) -d '$(3)$(HOST_BINDIR)'
+    #mv -fv $(3)$(HOST_LIBDIR)/icu*.dll '$(3)$(HOST_BINDIR)/'
+    $(INSTALL) -d '$(3)$(BUILD_TOOLS_PREFIX)/bin/'
+    $(LN_SF) '$(HOST_BINDIR)/icu-config' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)icu-config'
+endef
+else
+define $(PKG)_BUILD
+    mkdir '$(1).native' && cd '$(1).native' && '$(1)/source/configure' \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        PKG_CONFIG='$(MXE_PKG_CONFIG)' \
+        PKG_CONFIG_PATH="$(HOST_LIBDIR)/pkgconfig" \
+        --prefix='$(HOST_PREFIX)'
+    $(MAKE) -C '$(1).native' -j '$(JOBS)' $(MXE_DISABLE_DOCS) $(MXE_DISABLE_PROGS)
+    $(MAKE) -C '$(1).native' -j 1 install $(MXE_DISABLE_DOCS) $(MXE_DISABLE_PROGS)
+endef
+endif
+
--- a/src/id3lib.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/id3lib.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := id3lib
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.8.3
 $(PKG)_CHECKSUM := c92c880da41d1ec0b242745a901702ae87970838
 $(PKG)_SUBDIR   := id3lib-$($(PKG)_VERSION)
 $(PKG)_FILE     := id3lib-$($(PKG)_VERSION).tar.gz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/id3lib/files/id3lib/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- a/src/ilmbase-1-gcc45-include.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-This patch has been taken from:
-http://cvs.savannah.gnu.org/viewvc/IlmBase/Imath/ImathMatrix.h?root=openexr&r1=1.7&r2=1.8&view=patch
-
---- a/Imath/ImathMatrix.h      2010/07/16 22:48:40     1.7
-+++ b/Imath/ImathMatrix.h      2010/08/04 21:01:38     1.8
-@@ -51,6 +51,7 @@
- 
- #include <iostream>
- #include <iomanip>
-+#include <string.h>
- 
- #if (defined _WIN32 || defined _WIN64) && defined _MSC_VER
- // suppress exception specification warnings
--- a/src/ilmbase-2-osx-cxxflags.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-This patch has been taken from http://lists.nongnu.org/archive/html/openexr-devel/2010-08/msg00011.html
-
-Here, we just patch configure to save an autoconf
-
-diff -ur ilmbase-1.0.2.orig/configure ilmbase-1.0.2/configure
---- ilmbase-1.0.2.orig/configure	2010-07-23 11:13:13.000000000 +1000
-+++ ilmbase-1.0.2/configure	2010-09-27 00:01:17.000000000 +1000
-@@ -20374,7 +20374,6 @@
- 
- case "$host" in
- *darwin*)
--    CXXFLAGS="$CXXFLAGS -Wno-long-double"
- 
-         # Check whether --enable-osx-arch or --disable-osx-arch was given.
- if test "${enable_osx_arch+set}" = set; then
--- a/src/ilmbase.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/ilmbase.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,16 @@
 
 PKG             := ilmbase
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := fe6a910a90cde80137153e25e175e2b211beda36
+$(PKG)_VERSION  := 2.4.0
+$(PKG)_CHECKSUM := 0b9a24b8fa6b3f7f1d8813e91234308d3e43d10f
 $(PKG)_SUBDIR   := ilmbase-$($(PKG)_VERSION)
 $(PKG)_FILE     := ilmbase-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://download.savannah.nongnu.org/releases/openexr/$($(PKG)_FILE)
+$(PKG)_URL      := https://github.com/openexr/openexr/archive/v$($(PKG)_VERSION).tar.gz
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.openexr.com/downloads.html' | \
-    grep 'ilmbase-' | \
-    $(SED) -n 's,.*ilmbase-\([0-9][^>]*\)\.tar.*,\1,p' | \
+    $(WGET) -q -O- 'https://github.com/openexr/openexr/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | \
     head -1
 endef
 
@@ -29,7 +29,8 @@
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
         --disable-threading \
-        CONFIG_SHELL=$(SHELL)
+        CONFIG_SHELL=$(SHELL) \
+        SHELL=$(SHELL)
     # do the first build step by hand, because programs are built that
     # generate source files
     cd '$(1)/Half' && g++ eLut.cpp -o eLut
--- a/src/imagemagick.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/imagemagick.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := imagemagick
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 6.7.2-7
 $(PKG)_CHECKSUM := 13198d502e95abb305c23c3d56378e9139fcb7c3
 $(PKG)_SUBDIR   := ImageMagick-$($(PKG)_VERSION)
 $(PKG)_FILE     := ImageMagick-$($(PKG)_VERSION).tar.xz
@@ -10,9 +11,9 @@
 $(PKG)_DEPS     := bzip2 ffmpeg fftw freetype jasper jpeg lcms libpng libtool openexr pthreads tiff
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.imagemagick.org/' | \
-    $(SED) -n 's,.*<p>The current release is ImageMagick \([0-9][^<]*\).</p>.*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://github.com/ImageMagick/ImageMagick/tags' | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/inputproto.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := inputproto
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.3.2
+$(PKG)_CHECKSUM := 62b29a0c3b4ede9d129a0598cc6becf628a2158a
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/proto/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- a/src/intltool.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/intltool.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := intltool
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.50.2
 $(PKG)_CHECKSUM := 7fddbd8e1bf94adbf1bc947cbf3b8ddc2453f8ad
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/isl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,31 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := isl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.22.1
+$(PKG)_CHECKSUM := 125303d52bd6226f80d23bf1f76b78c6f1115568
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL      := http://isl.gforge.inria.fr/$($(PKG)_FILE)
+$(PKG)_DEPS     := build-gcc gmp
+
+$(PKG)_EXTRA_MAKE_FLAGS := LDFLAGS='-no-undefined'
+
+# stick to tested versions from gcc
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://isl.gforge.inria.fr/' | \
+    $(SED) -n 's,.*isl-\([0-9][^>]*\)\.tar.*,\1,p' | \
+    $(SORT) -V |
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+        --with-gmp-prefix='$(HOST_PREFIX)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $($(PKG)_EXTRA_MAKE_FLAGS)
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $($(PKG)_EXTRA_MAKE_FLAGS) install
+endef
--- a/src/itsol.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/itsol.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,18 +3,20 @@
 
 PKG             := itsol
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2
 $(PKG)_CHECKSUM := c7af215aaa6ab377521ba317eccf6859165ebefb
 $(PKG)_SUBDIR   := ITSOL_2
 $(PKG)_FILE     := ITSOL_2.tar.gz
 $(PKG)_URL      := http://www-users.cs.umn.edu/~saad/software/ITSOL/itsol.php
 $(PKG)_DEPS     := blas
 
-ifeq ($(ENABLE_64),yes)
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
   $(PKG)_DEFAULT_INTEGER_8_FLAG := -fdefault-integer-8
 endif
 
 define $(PKG)_UPDATE
-    echo 1
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
 endef
 
 define $(PKG)_BUILD
--- a/src/itstool.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/itstool.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := itstool
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.0
 $(PKG)_CHECKSUM := dc6b766c2acec32d3c5d016b0a33e9268d274f63
 $(PKG)_SUBDIR   := itstool-$($(PKG)_VERSION)
 $(PKG)_FILE     := itstool-$($(PKG)_VERSION).tar.bz2
--- a/src/jasper.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/jasper.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := jasper
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.900.1
 $(PKG)_CHECKSUM := 9c5735f773922e580bf98c7c7dfda9bbed4c5191
 $(PKG)_SUBDIR   := jasper-$($(PKG)_VERSION)
 $(PKG)_FILE     := jasper-$($(PKG)_VERSION).zip
@@ -17,12 +18,14 @@
 endef
 
 define $(PKG)_BUILD
-    cd '$(1)' && autoreconf && ./configure \
+    cd '$(1)' && autoreconf -fi -I m4 && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(CONFIGURE_CPPFLAGS) \
+        $(CONFIGURE_LDFLAGS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
         --enable-libjpeg \
         --disable-opengl \
         --without-x && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
 endef
--- a/src/jpeg.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/jpeg.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := jpeg
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := f080b2fffc7581f7d19b968092ba9ebc234556ff
+$(PKG)_VERSION  := 9d
+$(PKG)_CHECKSUM := 0bf0fbc3f6f1b5f7d5ad4734eae8cbb148517d6f
 $(PKG)_SUBDIR   := jpeg-$($(PKG)_VERSION)
 $(PKG)_FILE     := jpegsrc.v$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://www.ijg.org/files/$($(PKG)_FILE)
--- a/src/json-c.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/json-c.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := json-c
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.10
 $(PKG)_CHECKSUM := f90f643c8455da21d57b3e8866868a944a93c596
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/kbproto.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := kbproto
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.7
+$(PKG)_CHECKSUM := bc9c0fa7d39edf4ac043e6eeaa771d3e245ac5b2
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/proto/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/lame-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,9 @@
+diff -uNr a/include/libmp3lame.sym b/include/libmp3lame.sym
+--- a/include/libmp3lame.sym	2017-09-06 19:33:35.000000000 +0000
++++ b/include/libmp3lame.sym	2019-01-25 18:35:48.099270155 +0000
+@@ -1,5 +1,4 @@
+ lame_init
+-lame_init_old
+ lame_set_num_samples
+ lame_get_num_samples
+ lame_set_in_samplerate
--- a/src/lame.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/lame.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -1,25 +1,35 @@
 # This file is part of MXE.
 # See index.html for further information.
 
+http://downloads.sourceforge.net/project/lame/lame
+
 PKG             := lame
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 91dfd25bedc02759051a6b3af05e61337a575028
+$(PKG)_VERSION  := 3.100
+$(PKG)_CHECKSUM := 64c53b1a4d493237cef5e74944912cd9f98e618d
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_DEPS     :=
+$(PKG)_DEPS     := libiconv gettext
+
+ifeq ($(MXE_SYSTEM),mingw)
+$(PKG)_DEPS     += termcap
+endif
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://sourceforge.net/projects/lame/files/lame/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'http://sourceforge.net/projects/lame/files/lame/3.100' | \
+    $(SED) -n 's,.*lame-\([0-9][0-9.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
-    cd '$(1)' && ./configure \
+    cd '$(1)' && \
+        ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         --prefix='$(HOST_PREFIX)' \
-        $(ENABLE_SHARED_OR_STATIC)
+        $(ENABLE_SHARED_OR_STATIC) \
+        --disable-frontend
     $(MAKE) -C '$(1)' -j '$(JOBS)'
-    $(MAKE) -C '$(1)' -j 1 install
+    $(MAKE) -C '$(1)' -j 1 install DESTDIR='$(3)' $(MXE_DISABLE_DOCS)
 endef
--- a/src/lapack.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/lapack.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -2,25 +2,31 @@
 # See index.html for further information.
 
 PKG             := lapack
-$(PKG)_CHECKSUM := 93a6e4e6639aaf00571d53a580ddc415416e868b
+$(PKG)_VERSION  := 3.9.0
+$(PKG)_CHECKSUM := 0451d180eed2b12b94aaae77e772d7573e87bec4
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
-$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tgz
-$(PKG)_URL      := http://www.netlib.org/$(PKG)/$($(PKG)_FILE)
-$(PKG)_URL_2    := ftp://ftp.eq.uc.pt/pub/software/math/netlib/$(PKG)/$($(PKG)_FILE)
-$(PKG)_DEPS     :=
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://github.com/Reference-LAPACK/$(PKG)/archive/v$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS     := blas
 
-ifeq ($(ENABLE_OPENBLAS),yes)
-  $(PKG)_DEPS     += openblas
-
-  ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
-    $(PKG)_BLAS_CONFIG_OPTS := -DBLAS_LIBRARIES=$(HOST_BINDIR)/libopenblas.dll
-  else
-    $(PKG)_BLAS_CONFIG_OPTS := -DBLAS_LIBRARIES=openblas
-  endif
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+    $(PKG)_BLAS_CONFIG_OPTS := -DBLAS_LIBRARIES="$(HOST_BINDIR)/libblas.dll $(HOST_BINDIR)/libxerbla.dll"
+else
+    ifeq ($(MXE_WINDOWS_BUILD),yes)
+        $(PKG)_BLAS_CONFIG_OPTS := \
+            -DBLAS_LIBRARIES="-L$(HOST_PREFIX)/lib -lblas -lxerbla" \
+            -DBLAS_LINKER_FLAGS="-L$(HOST_PREFIX)/lib -lblas -lxerbla"
+        $(PKG)_BLAS_LIBS := -lblas -lxerbla
+    else
+        $(PKG)_BLAS_CONFIG_OPTS := \
+            -DBLAS_LIBRARIES="-L$(HOST_PREFIX)/lib -lblas" \
+            -DBLAS_LINKER_FLAGS="-L$(HOST_PREFIX)/lib -lblas"
+        $(PKG)_BLAS_LIBS := -lblas
+    endif
 endif
 
-ifeq ($(ENABLE_64),yes)
-  $(PKG)_DEFAULT_INTEGER_8_FLAG := -fdefault-integer-8
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
+    $(PKG)_DEFAULT_INTEGER_8_FLAG := -fdefault-integer-8
 endif
 
 define $(PKG)_UPDATE
@@ -30,61 +36,41 @@
 endef
 
 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
-ifeq ($(MXE_SYSTEM),msvc)
-define $(PKG)_BUILD
-    cd '$(1)' && \
-        cp INSTALL/make.inc.gfortran make.inc && \
-        sed -i -e 's/\(FORTRAN[ ]*\)=.*/\1= $(MXE_F77)/' \
-               -e 's/\(LOADER[ ]*\)=.*/\1= $(MXE_F77)/' \
-               -e 's/\(CC[ ]*\)=.*/\1= $(MXE_CC)/' \
-               -e 's/\(CFLAGS[ ]*\)=.*/\1= -O2/' make.inc
+    define $(PKG)_BUILD
+        cd '$(1)' && \
+            cp INSTALL/make.inc.gfortran make.inc && \
+            sed -i -e 's/\(FORTRAN[ ]*\)=.*/\1= $(MXE_F77)/' \
+                   -e 's/\(LOADER[ ]*\)=.*/\1= $(MXE_F77)/' \
+                   -e 's/\(CC[ ]*\)=.*/\1= $(MXE_CC)/' \
+                   -e 's/\(CFLAGS[ ]*\)=.*/\1= -O2/' make.inc
 
-    $(MAKE) -C '$(1)' -j '$(JOBS)' VERBOSE=1 lapacklib
+        $(MAKE) -C '$(1)' -j '$(JOBS)' VERBOSE=1 lapacklib
 
-    if [ $(BUILD_SHARED) = yes ]; then \
-        $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/liblapack.a' --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)' -lblas; \
-    fi
+        if [ $(BUILD_SHARED) = yes ]; then \
+            $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/liblapack.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)' $($(PKG)_BLAS_LIBS); \
+        fi
 
-    $(INSTALL) -d '$(3)$(HOST_LIBDIR)/pkgconfig' 
-    $(SED) -e 's/@LAPACK_VERSION@/$($(PKG)_VERSION)/' \
-           -e 's,@prefix@,$(HOST_PREFIX),' \
-	   -e 's,@libdir@,$${prefix}/lib,' '$(1)/lapack.pc.in' > '$(1)/lapack.pc'
-    $(INSTALL) '$(1)/lapack.pc' '$(3)$(HOST_LIBDIR)/pkgconfig/'
+        $(INSTALL) -d '$(HOST_LIBDIR)/pkgconfig' 
+        $(SED) -e 's/@LAPACK_VERSION@/$($(PKG)_VERSION)/' \
+               -e 's,@prefix@,$(HOST_PREFIX),' \
+               -e 's,@libdir@,$${prefix}/lib,' '$(1)/lapack.pc.in' > '$(1)/lapack.pc'
+        $(INSTALL) '$(1)/lapack.pc' '$(HOST_LIBDIR)/pkgconfig/'
 
-endef
+    endef
 else
-define $(PKG)_BUILD
-    cd '$(1)' && cmake \
-        -G 'MSYS Makefiles' \
-        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
-        -DCMAKE_Fortran_FLAGS='$($(PKG)_DEFAULT_INTEGER_8_FLAG)' \
-        $($(PKG)_BLAS_CONFIG_OPTS) \
-        .
-    $(MAKE) -C '$(1)/SRC' -j '$(JOBS)' VERBOSE=1 install DESTDIR='$(3)'
-
-    if [ $(BUILD_SHARED) = yes ]; then \
-      $(INSTALL) '$(1)/lib/liblapack.dll.a' '$(3)$(HOST_LIBDIR)/'; \
-      $(INSTALL) '$(1)/lib/liblapack.lib' '$(3)$(HOST_LIBDIR)/'; \
-      $(INSTALL) '$(1)/bin/liblapack.dll' '$(3)$(HOST_BINDIR)/'; \
-    fi
-    if [ $(BUILD_STATIC) = yes ]; then \
-      $(INSTALL) '$(1)/lib/liblapack.a' '$(3)$(HOST_LIBDIR)/'; \
-    fi
-
-    $(INSTALL) -d '$(3)$(HOST_LIBDIR)/pkgconfig' 
-    $(INSTALL) '$(1)/lapack.pc' '$(3)$(HOST_LIBDIR)/pkgconfig/'
-
-endef
+    define $(PKG)_BUILD
+        mkdir '$(1)/build'
+        cd '$(1)/build' && cmake \
+            $(CMAKE_CCACHE_FLAGS) \
+            $(CMAKE_BUILD_SHARED_OR_STATIC) \
+            -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+            -DCMAKE_AR='$(MXE_AR)' \
+            -DCMAKE_RANLIB='$(MXE_RANLIB)' \
+            -DCMAKE_Fortran_FLAGS='$($(PKG)_DEFAULT_INTEGER_8_FLAG)' \
+            -DBUILD_DEPRECATED=ON \
+            -DBUILD_SHARED_LIBS=$(if $(findstring yes,$(BUILD_SHARED)),ON,OFF) \
+            $($(PKG)_BLAS_CONFIG_OPTS) \
+            $(1)
+        $(MAKE) -C '$(1)/build/SRC' -j '$(JOBS)' VERBOSE=1 install DESTDIR='$(3)'
+    endef
 endif
-else
-define $(PKG)_BUILD
-    cd '$(1)' && cmake \
-        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
-        -DCMAKE_AR='$(MXE_AR)' \
-        -DCMAKE_RANLIB='$(MXE_RANLIB)' \
-        -DCMAKE_Fortran_FLAGS='$($(PKG)_DEFAULT_INTEGER_8_FLAG)' \
-        $($(PKG)_BLAS_CONFIG_OPTS) \
-        .
-    $(MAKE) -C '$(1)/SRC' -j '$(JOBS)' VERBOSE=1 install DESTDIR='$(3)'
-endef
-endif
--- a/src/lcms-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/lcms-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,29 +1,11 @@
-This file is part of MXE.
-See index.html for further information.
-
-Contains ad hoc patches for cross building.
-
-From 664fb3591893facfe280cb930e20b61355e32ac1 Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Fri, 23 Dec 2011 00:01:31 +0100
-Subject: [PATCH] add missing static dependencies to .pc file
-
----
- lcms2.pc.in |    3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-diff --git a/lcms2.pc.in b/lcms2.pc.in
-index b715f59..4a8fdb3 100644
---- a/lcms2.pc.in
-+++ b/lcms2.pc.in
-@@ -7,5 +7,6 @@ Name: @PACKAGE@
+diff -ur lcms2-2.9.orig/lcms2.pc.in lcms2-2.9/lcms2.pc.in
+--- lcms2-2.9.orig/lcms2.pc.in	2017-12-04 16:39:09.491042791 -0500
++++ lcms2-2.9/lcms2.pc.in	2017-12-04 16:40:58.941757920 -0500
+@@ -7,5 +7,6 @@
  Description: LCMS Color Management Library
  Version: @VERSION@
  Libs: -L${libdir} -llcms2
--Libs.private: @LIB_MATH@ 
-+Libs.private: -ljpeg @LIB_MATH@ 
+-Libs.private: @LIB_MATH@ @LIB_THREAD@
++Libs.private: -ljpeg @LIB_MATH@ @LIB_THREAD@
  Cflags: -I${includedir}
-+Requires.private: libtiff-4
--- 
-1.7.8
-
++Requires: libtiff-4
--- a/src/lcms.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/lcms.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := lcms
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 9944902864283af49e4e21a1ca456db4e04ea7c2
+$(PKG)_VERSION  := 2.11
+$(PKG)_CHECKSUM := 7413047c74de29e20caa5c9afc1b12bf07bbf7a7
 $(PKG)_SUBDIR   := $(PKG)$(word 1,$(subst ., ,$($(PKG)_VERSION)))-$(subst a,,$($(PKG)_VERSION))
 $(PKG)_FILE     := $(PKG)$(word 1,$(subst ., ,$($(PKG)_VERSION)))-$(subst a,,$($(PKG)_VERSION)).tar.gz
 $(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$(subst a,,$($(PKG)_VERSION))/$($(PKG)_FILE)
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/lcms/files/lcms/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- a/src/lcms1.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/lcms1.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := lcms1
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.19
 $(PKG)_CHECKSUM := d5b075ccffc0068015f74f78e4bc39138bcfe2d4
 $(PKG)_SUBDIR   := lcms-$($(PKG)_VERSION)
 $(PKG)_FILE     := lcms-$($(PKG)_VERSION).tar.gz
--- a/src/levmar.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/levmar.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := levmar
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.6
 $(PKG)_CHECKSUM := 118bd20b55ab828d875f1b752cb5e1238258950b
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tgz
@@ -10,7 +11,7 @@
 $(PKG)_DEPS     := lapack blas libf2c
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- "http://www.ics.forth.gr/~lourakis/levmar/"  | \
+    $(WGET) --user-agent=MXE -q -O- "http://www.ics.forth.gr/~lourakis/levmar/"  | \
     $(SED) -n 's_.*Latest:.*levmar-\([0-9]\.[0-9]\).*_\1_ip' | \
     head -1;
 endef
--- a/src/libarchive.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libarchive.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libarchive
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.0.3
 $(PKG)_CHECKSUM := b774e2675e5c1abafbd4d667402e8c3e72313944
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -10,9 +11,10 @@
 $(PKG)_DEPS     := bzip2 libiconv libxml2 openssl xz zlib
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://code.google.com/p/libarchive/downloads/list?sort=-uploaded' | \
+    $(WGET) -q -O- 'https://www.libarchive.org/downloads/' | \
     $(SED) -n 's,.*libarchive-\([0-9][^<]*\)\.tar.*,\1,p' | \
-    head -1
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/libass.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libass.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,20 @@
 
 PKG             := libass
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.10.1
 $(PKG)_CHECKSUM := 6ebc6c4762c95c5abb96db33289b81780a4fbda6
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $($(PKG)_SUBDIR).tar.xz
 $(PKG)_URL      := http://libass.googlecode.com/files/$($(PKG)_FILE)
-$(PKG)_DEPS     := freetype fontconfig fribidi
+ifeq ($(USE_SYSTEM_FONTCONFIG),no)
+  $(PKG)_FONTCONFIG := fontconfig
+endif
+$(PKG)_DEPS     := freetype $($(PKG)_FONTCONFIG) fribidi
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://code.google.com/p/libass/downloads/list?sort=-uploaded' | \
-    $(SED) -n 's,.*libass-\([0-9][^<]*\)\.tar.*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://github.com/libass/libass/tags' | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/libb64.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,28 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := libb64
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.1
+$(PKG)_CHECKSUM := 04b3e21b8c951d27f02fe91249ca3474554af0b9
+$(PKG)_SUBDIR   := libb64-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).zip
+$(PKG)_URL      := https://sourceforge.net/projects/$(PKG)/files/$(PKG)/$(PKG)/$($(PKG)_FILE)
+$(PKG)_DEPS     :=
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://sourceforge.net/projects/libb64/files/' | \
+    $(SED) -n 's_.*libb64-\([0-9]\.[0-9]\.[0-9]\).*zip_\1_ip' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+
+    CC=$(MXE_CC) CXX=$(MXE_CXX) PKG_CONFIG=$(MXE_PKG_CONFIG) AR=$(MXE_AR) $(MAKE) -C '$(1)/src'
+
+    $(INSTALL) -d '$(3)$(HOST_LIBDIR)'
+    $(INSTALL) -d '$(3)$(HOST_INCDIR)/b64'
+    $(INSTALL) -m644 '$(1)/include/b64/'*.h '$(3)$(HOST_INCDIR)/b64/'
+    $(INSTALL) -m644 '$(1)/src/libb64.a' '$(3)$(HOST_LIBDIR)/'
+
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/libcdio.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,25 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := libcdio
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.92
+$(PKG)_CHECKSUM := 37f0b746181c9a3c2ff14e21147885addf357b5f
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://ftp.gnu.org/gnu/libcdio/$(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    echo 'TODO: Updates for package libcdio need to be written.' >&2;
+    echo $(libcdio_VERSION)
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        $(ENABLE_SHARED_OR_STATIC) 
+    $(MAKE) -C '$(1)' -j $(JOBS)
+    $(MAKE) -C '$(1)' -j 1 install
+endef
--- a/src/libcroco.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libcroco.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libcroco
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.6.2
 $(PKG)_CHECKSUM := 4b0dd540a47f2492b1ac7cd7e3ec63c2ef4c9c2a
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
@@ -10,9 +11,8 @@
 $(PKG)_DEPS     := glib libxml2
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/libcroco/refs/tags' | \
-    $(SED) -n 's,.*<a[^>]*>LIBCROCO_\([0-9][0-9_]*\)<.*,\1,p' | \
-    $(SED) 's,_,.,g' | \
+    $(WGET) -q -O- 'https://gitlab.gnome.org/GNOME/libcroco/tags' | \
+    $(SED) -n "s,.*<a [^>]\+>v\?\([0-9]\+\.[0-9.]\+\)<.*,\1,p" | \
     head -1
 endef
 
--- a/src/libdnet.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libdnet.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libdnet
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.11
 $(PKG)_CHECKSUM := e2ae8c7f0ca95655ae9f77fd4a0e2235dc4716bf
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/libdrm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,49 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := libdrm
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.4.88
+$(PKG)_CHECKSUM := 4c187a55ce622c623491c6f873fc672a96b60a15
+$(PKG)_SUBDIR   := libdrm-$($(PKG)_VERSION)
+$(PKG)_FILE     := libdrm-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://dri.freedesktop.org/libdrm/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://dri.freedesktop.org/libdrm/' | \
+    $(SED) -n 's|.*libdrm-\([0-9\.]*\)\.tar.*|\1|p' | $(SORT) -V | \
+    tail -1
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+	--disable-udev \
+	--disable-libkms \
+	--disable-intel \
+	--disable-radeon \
+	--disable-amdgpu \
+	--disable-nouveau \
+	--disable-vmwgfx \
+	--disable-omap-experimental-api \
+	--disable-exynos-experimental-api \
+	--disable-freedreno \
+	--disable-freedreno-kgsl \
+	--disable-tegra-experimental-api \
+	--disable-vc4 \
+	--disable-etnaviv-experimental-api \
+	--disable-install-test-programs \
+	--disable-cairo-tests \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- a/src/libevent.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libevent.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libevent
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.0.20
 $(PKG)_CHECKSUM := 20bb4a1a296ac93c08dfc32ae19ab874cab67a0c
 $(PKG)_SUBDIR   := libevent-$($(PKG)_VERSION)-stable
 $(PKG)_FILE     := libevent-$($(PKG)_VERSION)-stable.tar.gz
@@ -10,10 +11,9 @@
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://libevent.org/' | \
-    grep 'libevent-' | \
-    $(SED) -n 's,.*libevent-\([0-9][^>]*\)-stable\.tar.*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://github.com/libevent/libevent/tags' | \
+    $(SED) -n 's|.*releases/tag/release-\([^-]*\)-stable.*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/libf2c.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libf2c.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libf2c
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1
 $(PKG)_CHECKSUM := f71066b41695738dec2261de71eaf02a1aaffe8b
 $(PKG)_SUBDIR   :=
 $(PKG)_FILE     := $(PKG).zip
--- a/src/libffi.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libffi.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := libffi
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := bff6a6c886f90ad5e30dee0b46676e8e0297d81d
+$(PKG)_VERSION  := 3.3
+$(PKG)_CHECKSUM := 8df6cb570c8d6596a67d1c0773bf00650154f7aa
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := ftp://sourceware.org/pub/$(PKG)/$($(PKG)_FILE)
@@ -11,8 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'https://github.com/atgreen/libffi/tags' | \
-    grep '<a href="/atgreen/libffi/tarball/' | \
-    $(SED) -n 's,.*href="/atgreen/libffi/tarball/v\([0-9][^"]*\)".*,\1,p' | \
+    $(SED) -n 's,.*releases/tag/v\([0-9][^"]*\).*,\1,p' | \
     head -1
 endef
 
@@ -20,16 +20,14 @@
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         --prefix='$(HOST_PREFIX)' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(ENABLE_SHARED_OR_STATIC) \
 	&& $(CONFIGURE_POST_HOOK)
     $(MAKE) -C '$(1)/$(TARGET)' -j '$(JOBS)'
-    $(MAKE) -C '$(1)/$(TARGET)' -j 1 install DESTDIR='$(3)'
+    $(MAKE) -C '$(1)/$(TARGET)' -j 1 install DESTDIR='$(3)' 
 
-    if [ $(MXE_SYSTEM) != msvc ]; then \
-        PKG_CONFIG_PATH='$(3)$(HOST_PREFIX)/lib/pkgconfig' \
-        '$(MXE_CC)' \
-            -W -Wall -Werror -std=c99 -pedantic \
-            '$(2).c' -o '$(3)$(HOST_BINDIR)/test-libffi.exe' \
-            `'$(MXE_PKG_CONFIG)' libffi --cflags --libs`; \
+    if [ "$(ENABLE_DEP_DOCS)" == "no" ]; then \
+      rm -rf "$(3)$(HOST_PREFIX)/share"; \
     fi
+
 endef
--- a/src/libgcrypt.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libgcrypt.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,11 +3,12 @@
 
 PKG             := libgcrypt
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 2c6553cc17f2a1616d512d6870fe95edf6b0e26e
+$(PKG)_VERSION  := 1.8.6
+$(PKG)_CHECKSUM := 406b02873833427898d16bcc8483bc5c91c73d4a
 $(PKG)_SUBDIR   := libgcrypt-$($(PKG)_VERSION)
 $(PKG)_FILE     := libgcrypt-$($(PKG)_VERSION).tar.bz2
 $(PKG)_URL      := ftp://ftp.gnupg.org/gcrypt/libgcrypt/$($(PKG)_FILE)
-$(PKG)_DEPS     := libgpg_error
+$(PKG)_DEPS     := libgpg_error zlib
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'ftp://ftp.gnupg.org/gcrypt/libgcrypt/' | \
@@ -17,13 +18,12 @@
 endef
 
 ifeq ($(TARGET),x86_64-w64-mingw32)
-  $(PKG)_TARGET_CONFIGURE_OPTIONS := ac_cv_sys_symbol_underscore=no
+  $(PKG)_TARGET_CONFIGURE_OPTIONS := ac_cv_sys_symbol_underscore=no --disable-padlock-support
 else
   $(PKG)_TARGET_CONFIGURE_OPTIONS :=
 endif
 
 define $(PKG)_BUILD
-    sed -i -e '/^ *;/d' -e '/^ *$$/d' '$(1)/src/libgcrypt.def'
     cd '$(1)' && ./configure \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
@@ -33,9 +33,18 @@
         $($(PKG)_TARGET_CONFIGURE_OPTIONS) && $(CONFIGURE_POST_HOOK)
     $(if $(filter msvc,$(MXE_SYSTEM)), \
         $(SED) -i -e '/^LTCPPASCOMPILE/ {s/$$(LIBTOOL)/& --tag=CC/;}' '$(1)/mpi/Makefile')
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' 
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
     if [ $(MXE_NATIVE_BUILD) = no ]; then \
       $(INSTALL) -d '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \
       $(INSTALL) -m755 '$(3)$(HOST_BINDIR)/libgcrypt-config' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)libgcrypt-config'; \
     fi
+    # create pkg-config file
+    $(INSTALL) -d '$(3)$(HOST_LIBDIR)/pkgconfig'
+    (echo 'Name: $(PKG)'; \
+     echo 'Version: $($(PKG)_VERSION)'; \
+     echo 'Description: $(PKG)'; \
+     echo 'Libs: ' "`$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)libgcrypt-config --libs`"; \
+     echo 'Cflags: ' "`$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)libgcrypt-config --cflags`";) \
+     > '$(3)$(HOST_LIBDIR)/pkgconfig/$(PKG).pc'
 endef
--- a/src/libgd.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libgd.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,11 +3,15 @@
 
 PKG             := libgd
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.1.0
 $(PKG)_CHECKSUM := 66c56fc07246b66ba649c83e996fd2085ea2f9e2
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := https://bitbucket.org/libgd/gd-libgd/downloads/$(PKG)-$($(PKG)_VERSION).tar.xz
-$(PKG)_DEPS     := fontconfig freetype libpng jpeg tiff zlib
+ifeq ($(USE_SYSTEM_FONTCONFIG),no)
+  $(PKG)_FONTCONFIG := fontconfig
+endif
+$(PKG)_DEPS     := $($(PKG)_FONTCONFIG) freetype libpng jpeg tiff zlib
 
 ifneq ($(MXE_SYSTEM),msvc)
     $(PKG)_DEPS += pthreads
@@ -15,7 +19,7 @@
 
 define $(PKG)_UPDATE
     echo 'Warning: Updates are temporarily disabled for package libgd.' >&2;
-    echo $(gd_VERSION)
+    echo $(libgd_VERSION)
 endef
 
 define $(PKG)_BUILD
--- a/src/libgda.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libgda.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -4,6 +4,7 @@
 # LibGDA
 PKG             := libgda
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.2.13
 $(PKG)_CHECKSUM := 61d0b498202b780750633cc2e957c40325d6c705
 $(PKG)_SUBDIR   := libgda-$($(PKG)_VERSION)
 $(PKG)_FILE     := libgda-$($(PKG)_VERSION).tar.xz
--- a/src/libgdamm.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libgdamm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -4,6 +4,7 @@
 # libgdamm
 PKG             := libgdamm
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.1.3
 $(PKG)_CHECKSUM := f6126d7b46720e3ea4f3d49e03add2e52da233be
 $(PKG)_SUBDIR   := libgdamm-$($(PKG)_VERSION)
 $(PKG)_FILE     := libgdamm-$($(PKG)_VERSION).tar.xz
--- a/src/libgee.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libgee.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libgee
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.5.0
 $(PKG)_CHECKSUM := 78d7fbd0668d01bc23e9772211b4885ae7e479cd
 $(PKG)_SUBDIR   := libgee-$($(PKG)_VERSION)
 $(PKG)_FILE     := libgee-$($(PKG)_VERSION).tar.bz2
@@ -10,11 +11,9 @@
 $(PKG)_DEPS     := glib
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/libgee/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=LIBGEE_\\([0-9]*_[0-9]*_[^<]*\\)'.*,\\1,p" | \
-    $(SED) 's,_,.,g' | \
-    head -1
+    $(WGET) -q -O- https://github.com/GNOME/libgee/tags | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/libgeotiff.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libgeotiff.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := libgeotiff
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 4c6f405869826bb7d9f35f1d69167e3b44a57ef0
+$(PKG)_VERSION  := 1.6.0
+$(PKG)_CHECKSUM := fa24069938ead4126d77b65a38784e1a9609e65b
 $(PKG)_SUBDIR   := libgeotiff-$($(PKG)_VERSION)
 $(PKG)_FILE     := libgeotiff-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://download.osgeo.org/geotiff/libgeotiff/$($(PKG)_FILE)
@@ -19,11 +20,16 @@
 define $(PKG)_BUILD
     $(SED) -i 's,/usr/local,@prefix@,' '$(1)/bin/Makefile.in'
     touch '$(1)/configure'
+    cd '$(1)' && autoreconf -fi
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
-        LIBS="`'$(MXE_PKG_CONFIG)' --libs libtiff-4` -ljpeg -lz"
-    $(MAKE) -C '$(1)' -j 1 all install EXEEXT=.remove-me MAKE='$(MAKE)'
-    rm -fv '$(HOST_BINDIR)'/*.remove-me
+        --with-zlib=$(HOST_PREFIX) \
+        --with-jpeg=$(HOST_PREFIX) \
+        --with-libtiff=$(HOST_PREFIX) \
+        --with-proj=$(HOST_PREFIX) 
+
+    $(MAKE) -C '$(1)' -j $(JOBS) 
+    $(MAKE) -C '$(1)' -j 1 install
 endef
--- a/src/libglade.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libglade.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libglade
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.6.4
 $(PKG)_CHECKSUM := 3cc65ed13c10025780488935313329170baa33c6
 $(PKG)_SUBDIR   := libglade-$($(PKG)_VERSION)
 $(PKG)_FILE     := libglade-$($(PKG)_VERSION).tar.gz
--- a/src/libgnurx.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libgnurx.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libgnurx
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.5.1
 $(PKG)_CHECKSUM := f1e4af2541645dac82362b618aaa849658cd4988
 $(PKG)_SUBDIR   := mingw-libgnurx-$($(PKG)_VERSION)
 $(PKG)_FILE     := mingw-libgnurx-$($(PKG)_VERSION)-src.tar.gz
--- a/src/libgomp.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libgomp.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libgomp
 $(PKG)_IGNORE    = $(build-gcc_IGNORE)
+$(PKG)_VERSION  := $(build-gcc_VERSION)
 $(PKG)_CHECKSUM  = $(build-gcc_CHECKSUM)
 $(PKG)_SUBDIR    = $(build-gcc_SUBDIR)
 $(PKG)_FILE      = $(build-gcc_FILE)
@@ -10,24 +11,42 @@
 $(PKG)_URL_2     = $(build-gcc_URL_2)
 $(PKG)_DEPS     := pthreads
 
+ifeq ($(USE_SYSTEM_GCC),no)
+    $(PKG)_DEPS += build-gcc
+endif
+
 define $(PKG)_UPDATE
     echo $(build-gcc_VERSION)
 endef
 
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  $(PKG)_SYSDEP_CONFIGURE_OPTIONS := LIBS='-lws2_32'
+endif
+
 define $(PKG)_BUILD
     mkdir -p '$(1)/build/$(TARGET)/libgomp'
     cd       '$(1)/build/$(TARGET)/libgomp' && '$(1)/libgomp/configure' \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         --target='$(TARGET)' \
-        --prefix='$(BUILD_TOOLS_PREFIX)' \
+        --prefix='$(HOST_PREFIX)' \
         --enable-version-specific-runtime-libs \
+        --disable-multilib \
         --with-gnu-ld \
         $(ENABLE_SHARED_OR_STATIC) \
-        LIBS='-lws2_32'
-    $(MAKE) -C '$(1)/build/$(TARGET)/libgomp' -j '$(JOBS)' install
+        $($(PKG)_SYSDEP_CONFIGURE_OPTIONS)
+    $(MAKE) -C '$(1)/build/$(TARGET)/libgomp' -j '$(JOBS)'
+    $(MAKE) -C '$(1)/build/$(TARGET)/libgomp' -j '1' install DESTDIR='$(3)'
 
-    '$(MXE_CC)' \
-        -W -Wall -Werror -ansi -pedantic \
-        '$(2).c' -o '$(HOST_BINDIR)/test-libgomp.exe' \
-        -fopenmp
+    # also copy omp.h to where other programs will see it
+    $(INSTALL) -d "$(3)$(HOST_INCDIR)" 
+    $(INSTALL) -m644 '$(1)/build/$(TARGET)/libgomp/omp.h' '$(3)$(HOST_INCDIR)/'
+    if [ x"$(USE_SYSTEM_GCC)" == "xno" ]; then \
+      $(INSTALL) -d "$(3)/$(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/$($(PKG)_VERSION)/"; \
+      cat '$(1)/build/$(TARGET)/libgomp/libgomp.spec' | $(SED) 's,-lgomp,-L$(HOST_LIBDIR)/gcc/$(TARGET)/$($(PKG)_VERSION) -lgomp,' > '$(3)$(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/$($(PKG)_VERSION)/libgomp.spec'; \
+    fi
+
+    #'$(MXE_CC)' \
+    #    -W -Wall -Werror -ansi -pedantic \
+    #    '$(2).c' -o '$(HOST_BINDIR)/test-libgomp.exe' \
+    #    -fopenmp
 endef
--- a/src/libgpg_error-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libgpg_error-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,11 +1,85 @@
-diff -uNr a/src/gpg-error.def.in b/src/gpg-error.def.in
---- a/src/gpg-error.def.in	2010-07-20 12:04:41.000000000 -0400
-+++ b/src/gpg-error.def.in	2013-05-27 15:46:34.469380322 -0400
-@@ -4,7 +4,6 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Sat, 15 Dec 2018 16:51:30 +0100
+Subject: [PATCH 1/3] more tolerant parsing for mingw in host triplet
+
+
+diff --git a/src/mkheader.c b/src/mkheader.c
+index 1111111..2222222 100644
+--- a/src/mkheader.c
++++ b/src/mkheader.c
+@@ -602,7 +602,7 @@ write_special (const char *fname, int lnr, const char *tag)
+     }
+   else if (!strcmp (tag, "include:os-add"))
+     {
+-      if (!strcmp (host_os, "mingw32"))
++      if (strstr (host_os, "mingw"))
+         {
+           include_file (fname, lnr, "w32-add.h", write_line);
+         }
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Wed, 6 Nov 2019 19:00:10 +1100
+Subject: [PATCH 2/3] avoid whitespace in gpg-error.def linker script for
+ mingw32
+
+https://lists.gnupg.org/pipermail/gnupg-devel/2016-February/030798.html
+
+diff --git a/src/gpg-error.def.in b/src/gpg-error.def.in
+index 1111111..2222222 100644
+--- a/src/gpg-error.def.in
++++ b/src/gpg-error.def.in
+@@ -24,7 +24,6 @@
+  */
  
  #include <config.h>
- 
--EXPORTS
+-
+ EXPORTS
   gpg_strerror                 @1
-  gpg_strerror_r               @2  
-  gpg_strsource                @3  
+  gpg_strerror_r               @2
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Wed, 6 Nov 2019 19:11:35 +1100
+Subject: [PATCH 3/3] fix for automake < 1.12
+
+
+diff --git a/configure.ac b/configure.ac
+index 1111111..2222222 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,9 +62,28 @@ VERSION_NUMBER=m4_esyscmd(printf "0x%02x%02x00" mym4_major mym4_minor)
+ AC_SUBST(VERSION_NUMBER)
+ 
+ AC_CONFIG_AUX_DIR([build-aux])
+-AM_INIT_AUTOMAKE([serial-tests dist-bzip2])
+ AM_MAINTAINER_MODE
+ AC_CONFIG_SRCDIR([src/err-sources.h.in])
++
++
++dnl Initialize automake.  automake < 1.12 didn't have serial-tests and
++dnl gives an error if it sees this, but for automake >= 1.13
++dnl serial-tests is required so we have to include it.  Solution is to
++dnl test for the version of automake (by running an external command)
++dnl and provide it if necessary.  Note we have to do this entirely using
++dnl m4 macros since automake queries this macro by running
++dnl 'autoconf --trace ...'.
++m4_define([serial_tests], [
++    m4_esyscmd([automake --version |
++                head -1 |
++                awk '{split ($NF,a,"."); if (a[1] == 1 && a[2] >= 12) { '\
++                    'print "serial-tests" }}'
++    ])
++])
++dnl NB: Do not [quote] this parameter.
++AM_INIT_AUTOMAKE(serial_tests dist-bzip2)
++
++
+ AC_CONFIG_HEADER([config.h])
+ AC_CONFIG_MACRO_DIR([m4])
+ AM_SILENT_RULES
--- a/src/libgpg_error.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libgpg_error.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,11 +3,12 @@
 
 PKG             := libgpg_error
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := be209b013652add5c7e2c473ea114f58203cc6cd
+$(PKG)_VERSION  := 1.39
+$(PKG)_CHECKSUM := 991a7a53e778a3de5ba8aad711e0bc9453101f4b
 $(PKG)_SUBDIR   := libgpg-error-$($(PKG)_VERSION)
 $(PKG)_FILE     := libgpg-error-$($(PKG)_VERSION).tar.bz2
 $(PKG)_URL      := ftp://ftp.gnupg.org/gcrypt/libgpg-error/$($(PKG)_FILE)
-$(PKG)_DEPS     :=
+$(PKG)_DEPS     := gettext libiconv
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'ftp://ftp.gnupg.org/gcrypt/libgpg-error/' | \
@@ -16,6 +17,8 @@
 endef
 
 define $(PKG)_BUILD
+    cd '$(1)/src/syscfg' && ln -s lock-obj-pub.mingw32.h lock-obj-pub.mingw32.static.h
+    cd '$(1)/src/syscfg' && ln -s lock-obj-pub.mingw32.h lock-obj-pub.mingw32.shared.h
     cd '$(1)' && ./configure \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
@@ -23,6 +26,10 @@
         --prefix='$(HOST_PREFIX)' \
         --disable-nls \
         --disable-languages && $(CONFIGURE_POST_HOOK)
+    if [ $(MXE_WINDOWS_BUILD) = yes ]; then \
+      $(SED) -i 's/-lgpg-error/-lgpg-error -lintl -liconv/;' '$(1)/src/gpg-error-config'; \
+      $(SED) -i 's/host_os = mingw32.*/host_os = mingw32/' '$(1)/src/Makefile'; \
+    fi
     $(MAKE) -C '$(1)/src' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
     $(MAKE) -C '$(1)/src' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
     if [ $(MXE_NATIVE_BUILD) = no ]; then \
--- a/src/libgsasl.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libgsasl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libgsasl
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.8.0
 $(PKG)_CHECKSUM := 08fd5dfdd3d88154cf06cb0759a732790c47b4f7
 $(PKG)_SUBDIR   := libgsasl-$($(PKG)_VERSION)
 $(PKG)_FILE     := libgsasl-$($(PKG)_VERSION).tar.gz
--- a/src/libgsf.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libgsf.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := libgsf
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := b6082b71bf9d6e1cdafde9628cae58fcedc4a8fd
+$(PKG)_VERSION  := 1.14.30
+$(PKG)_CHECKSUM := 5eb15d574c6b9e9c5e63bbcdff8f866b3544485a
 $(PKG)_SUBDIR   := libgsf-$($(PKG)_VERSION)
 $(PKG)_FILE     := libgsf-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := http://ftp.gnome.org/pub/gnome/sources/libgsf/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
@@ -14,28 +15,31 @@
 endif
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/libgsf/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=LIBGSF_\\([0-9]*_[0-9]*[02468]_[^<]*\\)'.*,\\1,p" | \
-    $(SED) 's,_,.,g' | \
-    head -1
+    $(WGET) -q -O- https://github.com/GNOME/libgsf/tags | \
+    $(SED) -n 's|.*releases/tag/LIBGSF_\([^"]*\).*|\1|p' | \
+    $(SED) 's,_,.,g' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
     echo 'Libs.private: -lz -lbz2'          >> '$(1)'/libgsf-1.pc.in
-    $(SED) -i 's,^\(Requires:.*\),\1 gio-2.0,' '$(1)'/libgsf-1.pc.in
+    #$(SED) -i 's,^\(Requires:.*\),\1 gio-2.0,' '$(1)'/libgsf-1.pc.in
+    $(SED) -i 's,\ssed\s, $(SED) ,g'           '$(1)'/gsf/Makefile.in
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
         --disable-nls \
         --disable-gtk-doc \
+	--without-python \
         --with-zlib \
         --with-bz2 \
+	--without-gpio \
         PKG_CONFIG='$(MXE_PKG_CONFIG)' \
 	PKG_CONFIG_PATH='$(HOST_LIBDIR)/pkgconfig' \
 	&& $(CONFIGURE_POST_HOOK)
 
-    $(MAKE) -C '$(1)'     -j '$(JOBS)'
-    $(MAKE) -C '$(1)'     -j 1         install
+    $(MAKE) -C '$(1)'     -j 1 install-pkgconfigDATA DESTDIR='$(3)'
+    $(MAKE) -C '$(1)/gsf'     -j '$(JOBS)' 
+    $(MAKE) -C '$(1)/gsf' -j 1 install $(MXE_DISABLE_DOCS) $(MXE_DISABLE_PROGS) DESTDIR='$(3)'
 endef
--- a/src/libharu.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libharu.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libharu
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.2.1
 $(PKG)_CHECKSUM := b75ec6052b8d72aa7f23d67adcdf9df4847b64ca
 $(PKG)_SUBDIR   := libharu-$($(PKG)_VERSION)
 $(PKG)_FILE     := libharu-$($(PKG)_VERSION).tar.gz
@@ -10,9 +11,10 @@
 $(PKG)_DEPS     := zlib libpng
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://libharu.org/files/?C=M;O=D' | \
-    $(SED) -n 's,.*libharu-\([0-9][^>]*\)\.tar.*,\1,p' | \
-    grep -v 'rc' | \
+    $(WGET) -q -O- 'https://github.com/libharu/libharu/tags' | \
+    $(SED) -n 's,.*/archive/RELEASE_\([0-9][^"]*\)\.tar.*,\1,p' | \
+    $(SED) 's,_,.,g' | \
+    grep -v 'RC' | \
     head -1
 endef
 
--- a/src/libiberty.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libiberty.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libiberty
 $(PKG)_IGNORE    = $(build-binutils_IGNORE)
+$(PKG)_VERSION  := 2.34
 $(PKG)_CHECKSUM  = $(build-binutils_CHECKSUM)
 $(PKG)_SUBDIR    = $(build-binutils_SUBDIR)/libiberty
 $(PKG)_FILE      = $(build-binutils_FILE)
@@ -23,8 +24,8 @@
     $(MAKE) -C '$(1)' -j '$(JOBS)'
     $(MAKE) -C '$(1)' -j 1 install target_header_dir=libiberty
 
-    '$(MXE_CC)' \
-        -W -Wall -Werror -ansi -pedantic \
-        '$(2).c' -o '$(HOST_BINDIR)/test-libiberty.exe' \
-        -I$(HOST_INCDIR)/libiberty -liberty
+    #'$(MXE_CC)' \
+    #    -W -Wall -Werror -ansi -pedantic \
+    #    '$(2).c' -o '$(HOST_BINDIR)/test-libiberty.exe' \
+    #    -I$(HOST_INCDIR)/libiberty -liberty
 endef
--- a/src/libical.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libical.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -2,6 +2,7 @@
 # See index.html for further information.
 
 PKG             := libical
+$(PKG)_VERSION  := 0.48
 $(PKG)_CHECKSUM := 4693cd0438be9f3727146ac1a46aa5b1b93b8c86
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -17,6 +18,8 @@
 define $(PKG)_BUILD
     cd '$(1)' && mkdir build
     cd '$(1)/build' && cmake .. \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
         -DSTATIC_LIBRARY=true \
         -DHAVE_PTHREAD_H=false \
--- a/src/libiconv-1-fix.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-diff -uNr a/srclib/stdio.in.h b/srclib/stdio.in.h
---- a/srclib/stdio.in.h	2011-08-07 09:42:06.000000000 -0400
-+++ b/srclib/stdio.in.h	2013-07-01 18:48:58.875038466 -0400
-@@ -679,22 +679,11 @@
- # endif
- #endif
- 
--#if @GNULIB_GETS@
--# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
--#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
--#   undef gets
--#   define gets rpl_gets
--#  endif
--_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
--_GL_CXXALIAS_RPL (gets, char *, (char *s));
--# else
--_GL_CXXALIAS_SYS (gets, char *, (char *s));
--#  undef gets
--# endif
--_GL_CXXALIASWARN (gets);
- /* It is very rare that the developer ever has full control of stdin,
-    so any use of gets warrants an unconditional warning.  Assume it is
-    always declared, since it is required by C89.  */
-+#undef gets
-+#if HAVE_RAW_DECL_GETS
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
- #endif
- 
--- a/src/libiconv.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libiconv.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := libiconv
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := be7d67e50d72ff067b2c0291311bc283add36965
+$(PKG)_VERSION  := 1.16
+$(PKG)_CHECKSUM := 2d9d1d8fa9f7859b181de984d60eacd2499a5701
 $(PKG)_SUBDIR   := libiconv-$($(PKG)_VERSION)
 $(PKG)_FILE     := libiconv-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://ftp.gnu.org/pub/gnu/libiconv/$($(PKG)_FILE)
@@ -25,5 +26,9 @@
 	CC='$(MXE_CC)' \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         --disable-nls && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install DESTDIR='$(3)'
+    if [ "$(ENABLE_DEP_DOCS)" == "no" ]; then \
+      rm -rf '$(3)$(HOST_PREFIX)/share'; \
+    fi
 endef
--- a/src/libidn.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libidn.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := libidn
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 725587211b229c156e29fa2ad116b0ef71a7ca17
+$(PKG)_VERSION  := 1.36
+$(PKG)_CHECKSUM := a543823486a1077608f78de187e528a5ea833d5b
 $(PKG)_SUBDIR   := libidn-$($(PKG)_VERSION)
 $(PKG)_FILE     := libidn-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := ftp://ftp.gnu.org/gnu/libidn/$($(PKG)_FILE)
@@ -13,7 +14,8 @@
     $(WGET) -q -O- 'http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=tags' | \
     grep '<a class="list subject"' | \
     $(SED) -n 's,.*<a[^>]*>\([0-9][^<]*\)<.*,\1,p' | \
-    head -1
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
@@ -24,5 +26,6 @@
         --disable-csharp \
         --prefix='$(HOST_PREFIX)' \
         --with-libiconv-prefix='$(HOST_PREFIX)' && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS) DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/libidn2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,39 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := libidn2
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.3.0
+$(PKG)_CHECKSUM := 53f54fd3c305d871ed5716406c0695fad5c34c45
+$(PKG)_SUBDIR   := libidn2-$($(PKG)_VERSION)
+$(PKG)_FILE     := libidn2-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := ftp://ftp.gnu.org/gnu/libidn/$($(PKG)_FILE)
+$(PKG)_DEPS     := gettext libiconv libunistring
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- https://ftp.gnu.org/gnu/libidn/ | \
+    $(SED) -n 's,.*libidn2-\([0-9][^t]*\).tar.gz.*,\1,p' | \
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+        --disable-doc \
+        && $(CONFIGURE_POST_HOOK)
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS) DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
+    # create pkg-config files
+    $(INSTALL) -d '$(HOST_LIBDIR)/pkgconfig'
+    (echo 'Name: $(PKG)'; \
+     echo 'Version: $($(PKG)_VERSION)'; \
+     echo 'Description: implementation of IDNA2008/TR46 internationalized domain names'; \
+     echo 'Libs: -lidn2'; \
+     echo 'Libs.private: -lunistring -liconv -lcharset';) \
+     > '$(HOST_LIBDIR)/pkgconfig/$(PKG).pc'
+    # TODO create pc files for iconv and unistring.
+
+endef
--- a/src/libircclient.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libircclient.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -4,6 +4,7 @@
 # Note that IPv6 support is partly broken and therefore disabled.
 PKG             := libircclient
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.6
 $(PKG)_CHECKSUM := 10fb7a2478f6d668dce2d7fb5cd5a35ea8f53ed4
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -12,7 +13,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/libircclient/files/libircclient/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/libjbig.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,31 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := libjbig
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.1
+$(PKG)_CHECKSUM := 4864646df004e8331d19f2fa103ed731fdb6c099
+$(PKG)_SUBDIR   := jbigkit-$($(PKG)_VERSION)
+$(PKG)_FILE     := jbigkit-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://www.cl.cam.ac.uk/~mgk25/jbigkit/download/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://www.cl.cam.ac.uk/~mgk25/jbigkit/CHANGES' |  \
+    $(SED) -n 's,.*version \([0-9][^ ]*\) (.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    $(MAKE) -C '$(1)' -j '$(JOBS)'  CC=$(MXE_CC) AR=$(MXE_AR) LD=$(MXE_LD) CPPFLAGS='-I$(HOST_PREFIX)/include $(MXE_CC_PICFLAG)' LDFLAGS='-L$(HOST_PREFIX)/lib' lib
+    $(INSTALL) -d '$(HOST_LIBDIR)'
+    $(INSTALL) -d '$(HOST_BINDIR)'
+    if [ "x$(BUILD_STATIC)" == "xyes" ]; then \
+      $(INSTALL) -m644 $(1)/libjbig/libjbig.a '$(HOST_LIBDIR)/'; \
+      $(INSTALL) -m644 $(1)/libjbig/libjbig85.a '$(HOST_LIBDIR)/'; \
+    else \
+        $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CXX)' '$(1)/libjbig/libjbig.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)'; \
+        $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CXX)' '$(1)/libjbig/libjbig85.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)'; \
+    fi
+endef
--- a/src/liblo.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/liblo.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := liblo
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.26
 $(PKG)_CHECKSUM := 21942c8f19e9829b5842cb85352f98c49dfbc823
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/liblo/files/liblo/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- a/src/libmad.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libmad.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libmad
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.15.1b
 $(PKG)_CHECKSUM := cac19cd00e1a907f3150cc040ccc077783496d76
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/mad/files/libmad/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
@@ -21,5 +22,5 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)'
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install LDFLAGS='-no-undefined'
 endef
--- a/src/libmikmod.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libmikmod.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libmikmod
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.2.0-beta2
 $(PKG)_CHECKSUM := f16fc09ee643af295a8642f578bda97a81aaf744
 $(PKG)_SUBDIR   := libmikmod-$($(PKG)_VERSION)
 $(PKG)_FILE     := libmikmod-$($(PKG)_VERSION).tar.bz2
--- a/src/libmng.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libmng.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := libmng
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 7dd35369ff5916e1823cbacef984ab1b87714b69
+$(PKG)_VERSION  := 2.0.3
+$(PKG)_CHECKSUM := 0f141482ffcef6f8cd4413f945a59310ac2e49af
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)-devel/$($(PKG)_VERSION)/$($(PKG)_FILE)
@@ -11,17 +12,18 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/libmng/files/libmng-devel/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
 define $(PKG)_BUILD
-    mkdir '$(1)/.build'
-    cd '$(1)' && autoreconf --install && ./configure \
+    cd '$(1)' && autoreconf --install --force
+    cd '$(1)' && ./configure \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         --prefix='$(HOST_PREFIX)' \
-	$(ENABLE_SHARED_OR_STATIC) \
+        $(ENABLE_SHARED_OR_STATIC) \
         && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j 1
+    $(MAKE) -C '$(1)' -j 1 install DESTDIR='$(3)'
 endef
--- a/src/libmodplug.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libmodplug.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -4,6 +4,7 @@
 # libmodplug
 PKG             := libmodplug
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.8.8.4
 $(PKG)_CHECKSUM := df4deffe542b501070ccb0aee37d875ebb0c9e22
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -12,7 +13,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/modplug-xmms/files/libmodplug/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/libmpcdec-1-configure_ac.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,50 @@
+This file is part of MXE.
+See index.html for further information.
+
+diff -urN libmpcdec-1.2.6/configure.ac libmpcdec-1.2.6-patch/configure.ac
+--- libmpcdec-1.2.6/configure.ac	2007-04-17 22:05:32.000000000 +0300
++++ libmpcdec-1.2.6-patch/configure.ac	2013-12-17 15:45:49.892190871 +0200
+@@ -5,6 +5,7 @@
+ AM_CONFIG_HEADER(include/config.h)
+ 
+ AM_PROG_LIBTOOL
++AC_PROG_CXX
+ 
+ CFLAGS="$CFLAGS -O3 -fomit-frame-pointer -fPIC"
+ 
+@@ -58,14 +59,14 @@
+ 	ac_cv_c_int64_t=int64_t
+ fi
+ 
+-AC_FUNC_MEMCMP
+-if test "x$ac_cv_func_memcmp_working" = "xno" ; then
+-	AC_MSG_ERROR([working memcmp is not available.])
+-fi
+-
+-AC_CHECK_FUNCS([memmove memset], [],
+-        AC_MSG_ERROR([memset or memmove is missing.]))
+-
++dnl AC_FUNC_MEMCMP
++dnl if test "x$ac_cv_func_memcmp_working" = "xno" ; then
++dnl 	AC_MSG_ERROR([working memcmp is not available.])
++dnl fi
++
++dnl AC_CHECK_FUNCS([memmove memset], [],
++dnl         AC_MSG_ERROR([memset or memmove is missing.]))
++dnl
+ dnl Make substitutions
+ 
+ AC_SUBST(VERSION)
+diff -urN libmpcdec-1.2.6/include/Makefile.am libmpcdec-1.2.6-patch/include/Makefile.am
+--- libmpcdec-1.2.6/include/Makefile.am	2007-01-09 22:22:14.000000000 +0200
++++ libmpcdec-1.2.6-patch/include/Makefile.am	2013-12-17 15:49:30.054396946 +0200
+@@ -10,7 +10,8 @@
+ 	mpcdec/mpcdec.h \
+ 	mpcdec/reader.h \
+ 	mpcdec/requant.h \
+-	mpcdec/streaminfo.h
++	mpcdec/streaminfo.h \
++	mpcdec/config_win32.h
+ 
+ EXTRA_DIST = \
+ 	mpcdec/internal.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/libmpcdec.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,26 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := libmpcdec
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.6
+$(PKG)_CHECKSUM := 32139ff5cb43a18f7c99637da76703c63a55485a
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://files.musepack.net/source/$(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && autoreconf -fi
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        $(ENABLE_SHARED_OR_STATIC) 
+    $(MAKE) -C '$(1)' -j $(JOBS)
+    $(MAKE) -C '$(1)' -j 1 install
+endef
--- a/src/libntlm.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libntlm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libntlm
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3
 $(PKG)_CHECKSUM := 5dd798d5fb9a75656225052aa88ceb9befbbd4a0
 $(PKG)_SUBDIR   := libntlm-$($(PKG)_VERSION)
 $(PKG)_FILE     := libntlm-$($(PKG)_VERSION).tar.gz
--- a/src/liboauth.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/liboauth.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := liboauth
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.0
 $(PKG)_CHECKSUM := cc936a440084f159cc46dab9018f1353f8bee80a
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
--- a/src/libodbc++.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libodbc++.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libodbc++
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.2.5
 $(PKG)_CHECKSUM := 8a77921b21c23926042c413f4a7a187a3656025b
 $(PKG)_SUBDIR   := libodbc++-$($(PKG)_VERSION)
 $(PKG)_FILE     := libodbc++-$($(PKG)_VERSION).tar.bz2
@@ -10,10 +11,8 @@
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://libodbcxx.svn.sourceforge.net/viewvc/libodbcxx/tags/?sortby=date' | \
-    grep '<a name="' | \
-    $(SED) -n 's,.*<a name="libodbc++-\([0-9][^"]*\)".*,\1,p' | \
-    head -1
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
 endef
 
 define $(PKG)_BUILD
--- a/src/liboil.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/liboil.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := liboil
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.3.17
 $(PKG)_CHECKSUM := f9d7103a3a4a4089f56197f81871ae9129d229ed
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://cgit.freedesktop.org/liboil/refs/tags' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=[^0-9]*\\([0-9][^']*\\)'.*,\\1,p" | \
+    $(SED) -n "s,.*<a href='[^']*/tag/?h=[^0-9]*\\([0-9][^']*\\)'.*,\\1,p" | \
     head -1
 endef
 
--- a/src/libpano13.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libpano13.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libpano13
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.9.18_rc2
 $(PKG)_CHECKSUM := 23849bdbdfc9176a2b53d157e58bd24aa0e7276e
 $(PKG)_SUBDIR   := $(PKG)-$(word 1,$(subst _, ,$($(PKG)_VERSION)))
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/libpaper-1-noundefined.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,23 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: darealshinji <djcj@gmx.de>
+Date: Fri, 25 May 2018 01:21:03 +0200
+Subject: [PATCH 1/1] enable DLL builds
+
+
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index 1111111..2222222 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -1,7 +1,7 @@
+ 
+ lib_LTLIBRARIES = libpaper.la
+ libpaper_la_SOURCES = dimen.c paper.c dimen.h paperspecs.h
+-libpaper_la_LDFLAGS = -version-info 2:2:1
++libpaper_la_LDFLAGS = -no-undefined -version-info 2:2:1
+ libpaper_la_CPPFLAGS = -D_REENTRANT
+ 
+ BUILT_SOURCES = paperspecs.h
--- a/src/libpaper.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libpaper.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := libpaper
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 40f16453d7752bf5e3c9e74515650eb37edbb3fe
+$(PKG)_VERSION  := 1.1.28
+$(PKG)_CHECKSUM := c6583fbdaebe091d11d81c4e59514e58996f22ba
 $(PKG)_SUBDIR   := libpaper-$($(PKG)_VERSION)
 $(PKG)_FILE     := libpaper_$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://ftp.debian.org/debian/pool/main/libp/$(PKG)/$($(PKG)_FILE)
@@ -17,7 +18,7 @@
 endef
 
 define $(PKG)_BUILD
-    cd '$(1)' && ./configure \
+    cd '$(1)' && autoreconf -fi && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)'
--- a/src/libpng.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libpng.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,11 +3,12 @@
 
 PKG             := libpng
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := adc60a2c117a0929e18bf357e0a1e6115a9e3b76
+$(PKG)_VERSION  := 1.6.37
+$(PKG)_CHECKSUM := 3ab93fabbf4c27e1c4724371df408d9a1bd3f656
 $(PKG)_SUBDIR   := libpng-$($(PKG)_VERSION)
 $(PKG)_FILE     := libpng-$($(PKG)_VERSION).tar.xz
-$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)$(subst .,,$(call SHORT_PKG_VERSION,$(PKG)))/older-releases/$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_URL_2    := ftp://ftp.simplesystems.org/pub/$(PKG)/png/src/$($(PKG)_FILE)
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)$(subst .,,$(call SHORT_PKG_VERSION,$(PKG)))/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_URL_2    := ftp://ftp.simplesystems.org/pub/$(PKG)/png/src/$(PKG)$(subst .,,$(call SHORT_PKG_VERSION,$(PKG)))/$($(PKG)_FILE)
 $(PKG)_DEPS     := zlib
 
 # Configure script detection of memset and pow doesn't work on MSVC.
@@ -16,14 +17,13 @@
 endif
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://libpng.git.sourceforge.net/git/gitweb.cgi?p=libpng/libpng;a=tags' | \
-    grep '<a class="list name"' | \
+    $(WGET) -q -O- 'http://sourceforge.net/p/libpng/code/ref/master/tags/' | \
     $(SED) -n 's,.*<a[^>]*>v\([0-9][^<]*\)<.*,\1,p' | \
     grep -v alpha | \
     grep -v beta | \
     grep -v rc | \
-    grep -v '^1\.[0-4]\.' | \
-    head -1
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
@@ -33,8 +33,9 @@
         $(ENABLE_SHARED_OR_STATIC) \
 	$($(PKG)_CONFIGURE_OPTIONS) \
         --prefix='$(HOST_PREFIX)' && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
 
-    rm -f '$(3)$(HOST_LIBDIR)/libpng.la'
-    rm -f '$(3)$(HOST_LIBDIR)/libpng15.la'
+    if [ ! "x$(MXE_NATIVE_BUILD)" = "xyes" ]; then \
+      $(LN_SF) '$(HOST_BINDIR)/libpng-config' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)libpng-config'; \
+    fi
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/libproxy.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,41 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := libproxy
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.4.15
+$(PKG)_CHECKSUM := 5261bf6875feef15a706b34e7c010619f484e92f
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $($(PKG)_SUBDIR).tar.xz
+$(PKG)_URL      := https://github.com/libproxy/libproxy/releases/download/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS     :=
+
+$(PKG)_CMAKE_FLAGS :=
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://github.com/libproxy/libproxy/tags' | \
+    $(SED) -n 's|.*releases/tag/\([0-9][^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && cmake \
+        $($(PKG)_CMAKE_FLAGS) \
+        -DWITH_KDE=no \
+        -DBUILD_TESTING=no \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
+        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+        .
+
+    $(MAKE) -C '$(1)' -j '$(JOBS)' VERBOSE=1
+    $(MAKE) -C '$(1)' -j '1' VERBOSE=1 DESTDIR='$(3)' install
+
+    ## Note error in installed .dll.a file name.
+    if [ $(MXE_SYSTEM) = mingw ]; then \
+        $(INSTALL) -d '$(3)$(HOST_BINDIR)'; \
+        $(INSTALL) '$(3)$(HOST_LIBDIR)/libproxy.dll' '$(3)$(HOST_BINDIR)/'; \
+        rm -f '$(3)$(HOST_LIBDIR)/libproxy.dll'; \
+        mv '$(3)$(HOST_LIBDIR)/liblibproxy.dll.a' '$(3)$(HOST_LIBDIR)/libproxy.dll.a'; \
+    fi
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/librsb.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,46 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := librsb
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.0.9
+$(PKG)_CHECKSUM := b35201470e6691d55c32e941969cd890c1076520
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$($(PKG)_FILE)
+$(PKG)_DEPS     :=
+ifeq ($(USE_SYSTEM_GCC),no)
+  $(PKG)_DEPS += libgomp
+endif
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://sourceforge.net/projects/librsb/files/' | \
+    $(SED) -n 's|.*librsb-\([0-9\.]*[-rc0-9]*\)\.tar.gz\/download.*|\1|p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    # This is a work-around for a bug in version 1.2.0.9.
+    # Remove the following command once this is fixed upstream.
+    $(SED) -i 's/.A.=.rsb__real.*\([,;]\)/1\1/g' $(1)/rsb_eps.c
+
+    cd '$(1)' && autoreconf -fi && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        $(ENABLE_SHARED_OR_STATIC) \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        --disable-c-examples --disable-fortran-examples \
+        --disable-sparse-blas-interface \
+        --disable-octave-testing
+    $(MAKE) -C '$(1)' -j '$(JOBS)' 
+    $(MAKE) -C '$(1)' -j 1 install DESTDIR='$(3)'
+
+    if [ $(MXE_NATIVE_BUILD) = no ]; then \
+      $(INSTALL) -d '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \
+      $(INSTALL) -m755 '$(3)$(HOST_BINDIR)/librsb-config' '$(3)$(BUILD_TOOLS_PREFIX)/bin/librsb-config'; \
+    fi
+
+    if [ "$(ENABLE_DEP_DOCS)" == "no" ]; then \
+      rm -rf "$(3)$(HOST_PREFIX)/share/doc/$(PKG)"; \
+    fi
+endef
--- a/src/librsvg.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/librsvg.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := librsvg
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.36.4
 $(PKG)_CHECKSUM := 1e0152e6745bac9632207252c67dda2299010db4
 $(PKG)_SUBDIR   := librsvg-$($(PKG)_VERSION)
 $(PKG)_FILE     := librsvg-$($(PKG)_VERSION).tar.xz
@@ -10,9 +11,9 @@
 $(PKG)_DEPS     := glib libgsf cairo pango gtk2 libcroco
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/librsvg/refs/tags' | \
-    $(SED) -n 's,.*<a[^>]*>\([0-9][^<]*\).*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://github.com/GNOME/librsvg/tags' | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/librtmp.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/librtmp.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := librtmp
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.4
 $(PKG)_CHECKSUM := b65ce7708ae79adb51d1f43dd0b6d987076d7c42
 $(PKG)_SUBDIR   := rtmpdump-2.3
 $(PKG)_FILE     := rtmpdump-2.3.tgz
--- a/src/libsamplerate.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libsamplerate.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libsamplerate
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.1.8
 $(PKG)_CHECKSUM := e5fe82c4786be2fa33ca6bd4897db4868347fe70
 $(PKG)_SUBDIR   := libsamplerate-$($(PKG)_VERSION)
 $(PKG)_FILE     := libsamplerate-$($(PKG)_VERSION).tar.gz
--- a/src/libshout.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libshout.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,17 @@
 
 PKG             := libshout
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.3.1
 $(PKG)_CHECKSUM := 147c5670939727420d0e2ad6a20468e2c2db1e20
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://downloads.us.xiph.org/releases/$(PKG)/$($(PKG)_FILE)
+$(PKG)_URL      := https://downloads.us.xiph.org/releases/$(PKG)/$($(PKG)_FILE)
 $(PKG)_DEPS     := vorbis ogg theora speex
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.icecast.org/download.php' | \
+    $(WGET) -q -O- 'https://downloads.us.xiph.org/releases/libshout/' | \
     $(SED) -n 's,.*libshout-\([0-9][^>]*\)\.tar.*,\1,p' | \
+    $(SORT) -Vr | \
     head -1
 endef
 
--- a/src/libsigc++.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libsigc++.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libsigc++
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.3.1
 $(PKG)_CHECKSUM := 6d23b44ab37b4f908c850c3d9898e42da54a0d8d
 $(PKG)_SUBDIR   := libsigc++-$($(PKG)_VERSION)
 $(PKG)_FILE     := libsigc++-$($(PKG)_VERSION).tar.xz
@@ -10,10 +11,9 @@
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/libsigc++2/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n 's,.*<a[^>]*>\([0-9][^<]*\)<.*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://ftp.gnome.org/pub/gnome/sources/libsigc++/2.3/' | \
+    $(SED) -n 's,.*libsigc++-\(2[^>]*\)\.tar.*,\1,ip' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/libsndfile.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libsndfile.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := libsndfile
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := e95d9fca57f7ddace9f197071cbcfb92fa16748e
+$(PKG)_VERSION  := 1.0.28
+$(PKG)_CHECKSUM := 85aa967e19f6b9bf975601d79669025e5f8bc77d
 $(PKG)_SUBDIR   := libsndfile-$($(PKG)_VERSION)
 $(PKG)_FILE     := libsndfile-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://www.mega-nerd.com/libsndfile/files/$($(PKG)_FILE)
@@ -16,15 +17,24 @@
     head -1
 endef
 
+$(PKG)_EXTRA_CONFIGURE_OPTIONS :=
+ifneq ($(filter mingw msvc,$(MXE_SYSTEM)),)
+    $(PKG)_EXTRA_CONFIGURE_OPTIONS += --enable-stack-smash-protection
+endif
+
 define $(PKG)_BUILD
+    cd '$(1)' && autoreconf -fi -IM4
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
+	$(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         --enable-sqlite \
         --enable-external-libs \
         --disable-octave \
         --disable-alsa \
-        --disable-shave
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS= html_DATA=
+	--disable-full-suite \
+        $($(PKG)_EXTRA_CONFIGURE_OPTIONS)
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS)  $(MXE_DISABLE_DOCS)
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS)  $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
 endef
--- a/src/libssh2-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-From 0e2179c67d0cd618be29b30425bda18c23a2ddf0 Mon Sep 17 00:00:00 2001
-From: Dmitry Smirnov <onlyjob@member.fsf.org>
-Date: Mon, 13 Aug 2012 23:34:51 +0200
-Subject: [PATCH 1/2] configure: gcrypt doesn't come with pkg-config support
-
-... so use plain old -lgcrypt to the linker to link with it.
-
-Fixes #225
-(cherry picked from commit e470738a0cf302abfd2891b80dbac4ac3e7eedd2)
-
-diff --git a/configure.ac b/configure.ac
-index aa9d397..dfc6988 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -102,7 +102,7 @@ fi
- # Look for libgcrypt
- if test "$ac_cv_libssl" != "yes" && test "$use_libgcrypt" != "no"; then
-   AC_LIB_HAVE_LINKFLAGS([gcrypt], [], [#include <gcrypt.h>])
--  LIBSREQUIRED=libgcrypt
-+  LIBS="$LIBS -lgcrypt"
- fi
- 
- AC_SUBST(LIBSREQUIRED)
--- 
-1.7.10.4
-
-
-From 75ecbf4e5ca3c977418f60db42ba03c13d0e68f9 Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Sun, 2 Sep 2012 00:55:28 +0200
-Subject: [PATCH 2/2] include gpg-error with gcrypt for static linking
- (mxe-specific)
-
-
-diff --git a/configure.ac b/configure.ac
-index dfc6988..748dd21 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -103,6 +103,7 @@ fi
- if test "$ac_cv_libssl" != "yes" && test "$use_libgcrypt" != "no"; then
-   AC_LIB_HAVE_LINKFLAGS([gcrypt], [], [#include <gcrypt.h>])
-   LIBS="$LIBS -lgcrypt"
-+  LIBS="$LIBS `${prefix}/bin/gpg-error-config --libs`"
- fi
- 
- AC_SUBST(LIBSREQUIRED)
--- 
-1.7.10.4
-
--- a/src/libssh2.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libssh2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := libssh2
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 7fc084254dabe14a9bc90fa3d569faa7ee943e19
+$(PKG)_VERSION  := 1.9.0
+$(PKG)_CHECKSUM := 21e98282b103307a16792e5e2d4c99beaf0b3b9c
 $(PKG)_SUBDIR   := libssh2-$($(PKG)_VERSION)
 $(PKG)_FILE     := libssh2-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://www.libssh2.org/download/$($(PKG)_FILE)
@@ -23,10 +24,11 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
+        --disable-examples-build \
         --without-openssl \
         --with-libgcrypt \
         PKG_CONFIG='$(MXE_PKG_CONFIG)' && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= html_DATA= DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
 
 ##    '$(MXE_CC)' \
 ##        -W -Wall -Werror -ansi -pedantic \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/libtasn1.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,25 @@
+# This file is part of MXE. See LICENSE.md for licensing information.
+
+PKG             := libtasn1
+$(PKG)_VERSION  := 4.16.0
+$(PKG)_CHECKSUM := f4f1fc301c0835389d9db7754815e48f4f57937a
+$(PKG)_SUBDIR   := libtasn1-$($(PKG)_VERSION)
+$(PKG)_FILE     := libtasn1-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://ftp.gnu.org/gnu/libtasn1/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- https://ftp.gnu.org/gnu/libtasn1/ | \
+    $(SED) -n 's,.*libtasn1-\([1-9]\+\(\.[0-9]\+\)\+\).*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+	$(ENABLE_SHARED_OR_STATIC) \
+	--prefix='$(HOST_PREFIX)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' 
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
+endef
--- a/src/libtool.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libtool.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := libtool
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 22b71a8b5ce3ad86e1094e7285981cae10e6ff88
+$(PKG)_VERSION  := 2.4.6
+$(PKG)_CHECKSUM := 25b6931265230a06f0fc2146df64c04e5ae6ec33
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://ftp.gnu.org/gnu/$(PKG)/$($(PKG)_FILE)
--- a/src/libunistring.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libunistring.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := libunistring
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := e1ea13c24a30bc93932d19eb5ad0704a618506dd
+$(PKG)_VERSION  := 0.9.10
+$(PKG)_CHECKSUM := 1e7493a3ad8c4a1e514600b768c7229576fe5125
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://ftp.gnu.org/gnu/$(PKG)/$($(PKG)_FILE)
@@ -13,7 +14,8 @@
     $(WGET) -q -O- 'http://git.savannah.gnu.org/gitweb/?p=$(PKG).git;a=tags' | \
     grep '<a class="list name"' | \
     $(SED) -n 's,.*<a[^>]*>v\([0-9][^<]*\)<.*,\1,p' | \
-    head -1
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
@@ -22,6 +24,6 @@
         --prefix='$(HOST_PREFIX)' \
         $(ENABLE_SHARED_OR_STATIC) \
         --enable-threads=win32
-    $(MAKE) -C '$(1)' -j '$(JOBS)'
-    $(MAKE) -C '$(1)' -j 1 install
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_DOCS)
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_DOCS) htmldir=$(1)
 endef
--- a/src/libusb.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libusb.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libusb
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.6.0
 $(PKG)_CHECKSUM := 6b90d083e4aee2fa0edbf18dec79d40afe9ded7d
 $(PKG)_SUBDIR   := $(PKG)-win32-src-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-win32-src-$($(PKG)_VERSION).zip
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- a/src/libvpx-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libvpx-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,41 +1,19 @@
-This file is part of MXE.
-See index.html for further information.
+This file is part of MXE. See LICENSE.md for licensing information.
 
 Contains ad hoc patches for cross building.
 
-From 01c0e284b4d458fade9f8b2288863f3dd4dbc81a Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Fri, 25 May 2012 23:36:41 +0200
-Subject: [PATCH 1/4] add Libs.private to vpx.pc
-
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Thu, 5 Sep 2013 14:25:31 -0700
+Subject: [PATCH 1/2] Linking as test is not good for cross compiling
 
-diff --git a/libs.mk b/libs.mk
-index e2ba737..209f77e 100644
---- a/libs.mk
-+++ b/libs.mk
-@@ -242,6 +242,7 @@ vpx.pc: config.mk libs.mk
- 	$(qexec)echo 'Requires:' >> $@
- 	$(qexec)echo 'Conflicts:' >> $@
- 	$(qexec)echo 'Libs: -L$${libdir} -lvpx' >> $@
-+	$(qexec)echo 'Libs.private: -lpthread' >> $@
- 	$(qexec)echo 'Cflags: -I$${includedir}' >> $@
- INSTALL-LIBS-yes += $(LIBSUBDIR)/pkgconfig/vpx.pc
- INSTALL_MAPS += $(LIBSUBDIR)/pkgconfig/%.pc %.pc
--- 
-1.7.11.5
-
-
-From 73c1c32c41b75a432fbe092fb621474a760d0f51 Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Fri, 25 May 2012 23:40:00 +0200
-Subject: [PATCH 2/4] linking as test is not good for cross compiling
-
+Signed-off-by: Timothy Gu <timothygu99@gmail.com>
 
 diff --git a/configure b/configure
-index 62e1ffb..0c4faf9 100755
+index 1111111..2222222 100755
 --- a/configure
 +++ b/configure
-@@ -481,9 +481,6 @@ process_detect() {
+@@ -561,9 +561,6 @@ process_detect() {
          }
      fi
      check_header stdio.h || die "Unable to invoke compiler: ${CC} ${CFLAGS}"
@@ -45,48 +23,17 @@
      # check system headers
      check_header stdint.h
      check_header pthread.h
--- 
-1.7.11.5
-
-
-From 88bedac576559c599f3084b4eaa61a2ef85cfd06 Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Fri, 25 May 2012 23:40:55 +0200
-Subject: [PATCH 3/4] fix bin/bash
 
 
-diff --git a/build/make/armlink_adapter.sh b/build/make/armlink_adapter.sh
-index b53669c..71cf7e9 100755
---- a/build/make/armlink_adapter.sh
-+++ b/build/make/armlink_adapter.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/usr/bin/env bash
- ##
- ##  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
- ##
-diff --git a/build/make/configure.sh b/build/make/configure.sh
-index 3c772e5..032b5e8 100755
---- a/build/make/configure.sh
-+++ b/build/make/configure.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/usr/bin/env bash
- ##
- ##  configure.sh
- ##
-diff --git a/build/make/gen_asm_deps.sh b/build/make/gen_asm_deps.sh
-index 717f870..81b7095 100755
---- a/build/make/gen_asm_deps.sh
-+++ b/build/make/gen_asm_deps.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/usr/bin/env bash
- ##
- ##  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
- ##
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Thu, 5 Sep 2013 14:28:28 -0700
+Subject: [PATCH 2/2] Fix /bin/bash
+
+Signed-off-by: Timothy Gu <timothygu99@gmail.com>
+
 diff --git a/build/make/gen_msvs_def.sh b/build/make/gen_msvs_def.sh
-index 4defcc2..12e3573 100755
+index 1111111..2222222 100755
 --- a/build/make/gen_msvs_def.sh
 +++ b/build/make/gen_msvs_def.sh
 @@ -1,4 +1,4 @@
@@ -95,18 +42,20 @@
  ##
  ##  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
  ##
-diff --git a/build/make/gen_msvs_proj.sh b/build/make/gen_msvs_proj.sh
-index 6d42941..4418034 100755
---- a/build/make/gen_msvs_proj.sh
-+++ b/build/make/gen_msvs_proj.sh
+
+diff --git a/build/make/gen_msvs_vcxproj.sh b/build/make/gen_msvs_vcxproj.sh
+index 1111111..2222222 100755
+--- a/build/make/gen_msvs_vcxproj.sh
++++ b/build/make/gen_msvs_vcxproj.sh
 @@ -1,4 +1,4 @@
 -#!/bin/bash
 +#!/usr/bin/env bash
  ##
  ##  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
  ##
+ 
 diff --git a/build/make/gen_msvs_sln.sh b/build/make/gen_msvs_sln.sh
-index 240678b..2089f68 100755
+index 1111111..2222222 100755
 --- a/build/make/gen_msvs_sln.sh
 +++ b/build/make/gen_msvs_sln.sh
 @@ -1,4 +1,4 @@
@@ -115,51 +64,4 @@
  ##
  ##  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
  ##
-diff --git a/build/make/version.sh b/build/make/version.sh
-index 3efb956..b3a9c23 100755
---- a/build/make/version.sh
-+++ b/build/make/version.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/usr/bin/env bash
- ##
- ##  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
- ##
-diff --git a/configure b/configure
-index 0c4faf9..5d1db69 100755
---- a/configure
-+++ b/configure
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/usr/bin/env bash
- ##
- ##  configure
- ##
--- 
-1.7.11.5
 
-
-From 3d905203699e813027233bd0f19b05d44b98470d Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Mon, 17 Sep 2012 20:23:14 +1000
-Subject: [PATCH 4/4] Fix for building on OSX
-
-Taken from:
-https://gerrit.chromium.org/gerrit/#/c/26027/
-
-diff --git a/build/make/gen_asm_deps.sh b/build/make/gen_asm_deps.sh
-index 81b7095..158ec34 100755
---- a/build/make/gen_asm_deps.sh
-+++ b/build/make/gen_asm_deps.sh
-@@ -42,7 +42,7 @@ done
- 
- [ -n "$srcfile" ] || show_help
- sfx=${sfx:-asm}
--includes=$(LC_ALL=C egrep -i "include +\"?+[a-z0-9_/]+\.${sfx}" $srcfile |
-+includes=$(LC_ALL=C egrep -i "include +\"?[a-z0-9_/]+\.${sfx}" $srcfile |
-            perl -p -e "s;.*?([a-z0-9_/]+.${sfx}).*;\1;")
- #" restore editor state
- for inc in ${includes}; do
--- 
-1.7.11.5
-
--- a/src/libvpx.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libvpx.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,27 +3,60 @@
 
 PKG             := libvpx
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 356af5f770c50cd021c60863203d8f30164f6021
-$(PKG)_SUBDIR   := $(PKG)-v$($(PKG)_VERSION)
-$(PKG)_FILE     := $(PKG)-v$($(PKG)_VERSION).tar.bz2
-$(PKG)_URL      := http://webm.googlecode.com/files/$($(PKG)_FILE)
+$(PKG)_VERSION  := 1.8.2
+$(PKG)_CHECKSUM := 7fbc7de47f59431fa2c5b76660f115963e83193d
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://github.com/webmproject/$(PKG)/archive/v$($(PKG)_VERSION).tar.gz
 $(PKG)_DEPS     := pthreads
 
+$(PKG)_TARGET_OPTS := 
+$(PKG)_ENV := 
+
+ifeq ($(MXE_NATIVE_BUILD),no)
+  ifeq ($(ENABLE_WINDOWS_64),yes)
+    $(PKG)_TARGET_OPTS := --target=x86_64-win64-gcc 
+  else
+    $(PKG)_TARGET_OPTS := --target=x86-win32-gcc 
+  endif
+endif
+
+
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://code.google.com/p/webm/downloads/list?sort=-uploaded' | \
-    $(SED) -n 's,.*libvpx-v\([0-9][^<]*\)\.tar.*,\1,p' | \
+    $(WGET) -q -O- 'https://github.com/webmproject/libvpx/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | \
+    $(SORT) -Vr | \
     head -1
 endef
 
+ifeq ($(MXE_NATIVE_BUILD),no)
 define $(PKG)_BUILD
     cd '$(1)' && \
         CROSS='$(MXE_TOOL_PREFIX)' \
         ./configure \
         --prefix='$(HOST_PREFIX)' \
-        --target=x86-win32-gcc \
+        $($(PKG)_TARGET_OPTS) \
+        --as=yasm \
+        --extra-cflags='-std=gnu89' \
         --disable-examples \
         --disable-install-docs
     $(MAKE) -C '$(1)' -j '$(JOBS)'
     $(MAKE) -C '$(1)' -j 1 install
     $(MXE_RANLIB) $(HOST_LIBDIR)/libvpx.a
+    if [ $(BUILD_SHARED) = yes ]; then \
+      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CC)' '$(HOST_LIBDIR)/libvpx.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)' -lpthread; \
+    fi
 endef
+else
+define $(PKG)_BUILD
+    cd '$(1)' && \
+        $($(PKG)_ENV) \
+        ./configure \
+        --prefix='$(HOST_PREFIX)' \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --disable-examples \
+        --disable-install-docs
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install
+endef
+endif
--- a/src/libxml++.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libxml++.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libxml++
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.36.0
 $(PKG)_CHECKSUM := 446714be0becb1d1bca914a9a545af96a24de26e
 $(PKG)_SUBDIR   := libxml++-$($(PKG)_VERSION)
 $(PKG)_FILE     := libxml++-$($(PKG)_VERSION).tar.xz
@@ -10,10 +11,9 @@
 $(PKG)_DEPS     := libxml2 glibmm
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/libxml++/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=\\([0-9][^']*\\)'.*,\\1,p" | \
-    head -1
+    $(WGET) -q -O- https://gitlab.gnome.org/GNOME/libxmlplusplus/tags | \
+    $(SED) -n 's|.*/tags/\([0-9][^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/libxml2.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libxml2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,21 +3,21 @@
 
 PKG             := libxml2
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := a43d7c0a8e463ac5a7846254f2a732a9af146fab
+$(PKG)_VERSION  := 2.9.10
+$(PKG)_CHECKSUM := db6592ec9ca9708c4e71bf6bfd907bbb5cd40644
 $(PKG)_SUBDIR   := libxml2-$($(PKG)_VERSION)
 $(PKG)_FILE     := libxml2-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := ftp://xmlsoft.org/libxml2/$($(PKG)_FILE)
-$(PKG)_DEPS     :=
+$(PKG)_DEPS     := zlib libiconv
 
 ifneq ($(MXE_SYSTEM),msvc)
     $(PKG)_DEPS := xz
 endif
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/libxml2/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=v\\([0-9][^']*\\)'.*,\\1,p" | \
-    head -1
+    $(WGET) -q -O- https://gitlab.gnome.org/GNOME/libxml2/tags | \
+    $(SED) -n 's|.*/tags/v\([^"]*\).*|\1|p' | grep -v 'rc' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
@@ -28,8 +28,16 @@
         $(ENABLE_SHARED_OR_STATIC) \
         --without-debug \
         --prefix='$(HOST_PREFIX)' \
+        --with-zlib='$(HOST_PREFIX)' \
         --without-python \
         --without-threads && $(CONFIGURE_POST_HOOK)
     $(MAKE) -C '$(1)' -j '$(JOBS)' noinst_PROGRAMS=
     $(MAKE) -C '$(1)' -j 1 install noinst_PROGRAMS= DESTDIR='$(3)'
+
+    if [ "$(ENABLE_DEP_DOCS)" == "no" ]; then \
+      rm -rf "$(3)$(HOST_PREFIX)/share/gtk-doc"; \
+      rm -rf "$(3)$(HOST_PREFIX)/share/doc/$($(PKG)_SUBDIR)/html"; \
+      rm -rf "$(3)$(HOST_PREFIX)/share/doc/$($(PKG)_SUBDIR)/examples"; \
+    fi
 endef
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/libxshmfence.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,34 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := libxshmfence
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3
+$(PKG)_CHECKSUM := 3472218fc0e8ee8183533d22dbcd4bbe90bf3ab8
+$(PKG)_SUBDIR   := libxshmfence-$($(PKG)_VERSION)
+$(PKG)_FILE     := libxshmfence-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := xproto
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://www.x.org/archive/individual/lib/' | \
+    $(SED) -n 's|.*href="libxshmfence-\([0-9\.]*\).tar.*|\1|p' | $(SORT) -V | \
+    tail -1
+endef
+
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- a/src/libxslt.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/libxslt.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := libxslt
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.27
 $(PKG)_CHECKSUM := f8072177f1ffe1b9bb8759a9e3e6349e1eac1f66
 $(PKG)_SUBDIR   := libxslt-$($(PKG)_VERSION)
 $(PKG)_FILE     := libxslt-$($(PKG)_VERSION).tar.gz
@@ -10,10 +11,9 @@
 $(PKG)_DEPS     := libxml2 libgcrypt
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/libxslt/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=v\\([0-9][^']*\\)'.*,\\1,p" | \
-    head -1
+    $(WGET) -q -O- https://github.com/GNOME/libxslt/tags | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/llvm.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/llvm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,101 +3,107 @@
 
 PKG             := llvm
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := c6c22d5593419e3cb47cbcf16d967640e5cce133
+$(PKG)_VERSION  := 7.1.0
+$(PKG)_CHECKSUM := d43bfea58a35e058b93a6af36a728cfc64add33d
 $(PKG)_SUBDIR   := llvm-$($(PKG)_VERSION).src
-$(PKG)_FILE     := llvm-$($(PKG)_VERSION).src.tar.gz
-$(PKG)_URL      := http://llvm.org/releases/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_FILE     := llvm-$($(PKG)_VERSION).src.tar.xz
+$(PKG)_URL      := https://releases.llvm.org/$($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
-ifeq ($(MXE_SYSTEM),msvc)
-    $(PKG)_DEPS += libffi
-endif
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://llvm.org/releases/download.html' | \
+    wget -q -O- 'http://releases.llvm.org/download.html?' | \
     grep 'Download LLVM' | \
-    $(SED) -n 's,.*\([0-9]\.[0-9]\).*,\1,p' | \
+    $(SED) -n 's,.*LLVM \([0-9][^<]*\).*,\1,p' | \
     head -1
 endef
 
-ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
-ifeq ($(MXE_SYSTEM),msvc)
-define $(PKG)_BUILD
-    mkdir '$(1)/.build'
-    cd '$(1)/.build' && cmake \
-        -G "NMake Makefiles" \
-        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
-        -DBUILD_SHARED_LIBS=OFF \
-        -DLLVM_TARGETS_TO_BUILD="X86" \
-        -DLLVM_ENABLE_FFI=ON \
-        "-DFFI_INCLUDE_DIR=$(HOST_LIBDIR)/libffi-$(libffi_VERSION)/include" \
-        -DLLVM_REQUIRES_EH=ON \
-        ../
-    sed -i '/^	echo "/ {s/echo "/echo /;s/" >>/ >>/;}' \
-        '$(1)/.build/tools/llvm-config/CMakeFiles/llvm-config.dir/build.make'
-    cd '$(1)/.build' && \
-        env -u MAKE -u MAKEFLAGS nmake && \
-        env -u MAKE -u MAKEFLAGS nmake DESTDIR='$(3)' install
-endef
+ifeq ($(MXE_NATIVE_BUILD),yes)
+    ifeq ($(MXE_SYSTEM),gnu-linux)
+        define $(PKG)_BUILD
+            mkdir '$(1)/.build' && cd '$(1)/.build' && cmake .. \
+                $($(PKG)_CMAKE_FLAGS) \
+                $(CMAKE_CCACHE_FLAGS) \
+                -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+                -DLLVM_BUILD_LLVM_DYLIB=On \
+                -DLLVM_LINK_LLVM_DYLIB=On \
+                -DLLVM_VERSION_SUFFIX= \
+                -DLLVM_TARGETS_TO_BUILD='X86' \
+                -DLLVM_BUILD_EXAMPLES=Off \
+                -DLLVM_INCLUDE_EXAMPLES=Off \
+                -DLLVM_BUILD_TESTS=Off \
+                -DLLVM_INCLUDE_TESTS=Off \
+                -DLLVM_INCLUDE_GO_TESTS=OFF \
+                -DLLVM_INCLUDE_DOCS=OFF \
+                -DLLVM_BUILD_DOCS=OFF \
+                -DLLVM_ENABLE_DOXYGEN=OFF \
+                -DLLVM_ENABLE_BACKTRACES=Off
+
+            $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+        endef
+    else
+        define $(PKG)_BUILD
+            echo "unsupported LLVM configuration" 1>&2
+            exit 1
+        endef
+    endif
 else
-define $(PKG)_BUILD
-    mkdir '$(1)/build'
-    cd '$(1)/build' && ../configure  \
-      $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
-      $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-      --enable-targets='host-only' \
-      --disable-docs \
-      $(ENABLE_SHARED_OR_STATIC) \
-      --prefix='$(HOST_PREFIX)'
-
-    PATH='$(HOST_BINDIR):$(PATH)' $(MAKE) -C '$(1)/build' -j $(JOBS) install DESTDIR='$(3)'
+    ifeq ($(ENABLE_WINDOWS_64),yes)
+        ## WTF, setting LLVM_TARGETS_TO_BUILD to X64_64 doesn't work here?
+        $(PKG)_SYSDEP_CMAKE_OPTIONS += \
+            -DLLVM_DEFAULT_TARGET_TRIPLE='x86_64-pc-win32' \
+            -DLLVM_TARGETS_TO_BUILD='X86'
+    else
+      $(PKG)_SYSDEP_CMAKE_OPTIONS += \
+          -DLLVM_DEFAULT_TARGET_TRIPLE='x86-pc-win32' \
+          -DLLVM_TARGETS_TO_BUILD='X86'
+    endif
+    ifeq ($(USE_CCACHE),yes)
+        $(PKG)_CCACHE_OPTIONS += \
+            -DLLVM_CCACHE_BUILD=On
+    endif
 
-    # create import lib for the dll
-    $(if $(filter yes, $(BUILD_SHARED)),
-      cd '$(1)/build/tools/llvm-shlib/Release+Asserts' && \
-        $(MXE_DLLTOOL) \
-         --dllname "LLVM-`$(3)$(HOST_BINDIR)/llvm-config --version`.dll" \
-         --def "LLVM-`$(3)$(HOST_BINDIR)/llvm-config --version`.def" \
-         --output-lib "libLLVM-`$(3)$(HOST_BINDIR)/llvm-config --version`.a"
-      $(INSTALL) -d "$(3)$(HOST_LIBDIR)"
-      cd '$(1)/build/tools/llvm-shlib/Release+Asserts' && \
-        $(INSTALL) -m644 \
-         "libLLVM-`$(3)$(HOST_BINDIR)/llvm-config --version`.a" \
-         "$(3)$(HOST_LIBDIR)"
-    )
-endef
+    define $(PKG)_BUILD
+        mkdir '$(1)/.build'
+        cd '$(1)/.build' && 'cmake' .. \
+            $($(PKG)_CMAKE_FLAGS) \
+            $(CMAKE_CCACHE_FLAGS) \
+            -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+            -DLLVM_BUILD_TOOLS=OFF \
+            -DLLVM_BUILD_LLVM_DYLIB=On \
+            -DLLVM_LINK_LLVM_DYLIB=On \
+            -DLLVM_VERSION_SUFFIX= \
+            $($(PKG)_SYSDEP_CMAKE_OPTIONS) \
+            -DCROSS_TOOLCHAIN_FLAGS_NATIVE="-DCMAKE_TOOLCHAIN_FILE='$(CMAKE_NATIVE_TOOLCHAIN_FILE)'" \
+            -DLLVM_BUILD_EXAMPLES=Off \
+            -DLLVM_INCLUDE_EXAMPLES=Off \
+            -DLLVM_BUILD_TESTS=Off \
+            -DLLVM_INCLUDE_TESTS=Off \
+            -DLLVM_INCLUDE_GO_TESTS=OFF \
+            -DLLVM_ENABLE_BACKTRACES=Off \
+            -DLLVM_INCLUDE_DOCS=OFF \
+            -DLLVM_BUILD_DOCS=OFF \
+            -DLLVM_ENABLE_DOXYGEN=OFF \
+            -DLLVM_ENABLE_OCAMLDOC=OFF \
+            -DLLVM_ENABLE_BINDINGS=OFF \
+            -DLLVM_ENABLE_SPHINX=OFF \
+            -DLLVM_BUILD_RUNTIME=OFF \
+            -DLLVM_BUILD_RUNTIMES=OFF \
+            -DLLVM_INCLUDE_RUNTIMES=OFF \
+            $($(PKG)_CCACHE_OPTIONS)
+
+        $(MAKE) -C '$(1)/.build' -j $(JOBS) LLVMSupport
+        $(MAKE) -C '$(1)/.build' -j $(JOBS) CONFIGURE_LLVM_NATIVE
+        $(MAKE) -C '$(1)/.build/NATIVE' -j $(JOBS) LLVMSupport
+        $(MAKE) -C '$(1)/.build' -j $(JOBS) llvm-config
+        $(MAKE) -C '$(1)/.build' -j $(JOBS) install DESTDIR='$(3)'
+
+        # create symlink for shared library so that llvm-config can find it
+        cd '$(3)/$(HOST_BINDIR)' && ln -s LLVM.dll LLVM-$(word 1,$(subst ., ,$($(PKG)_VERSION))).$(word 2,$(subst ., ,$($(PKG)_VERSION))).dll
+
+        # install native llvm-config in HOST_BINDIR because it won't find the libs otherwise
+        # FIXME: Some of the configuration flags are hard coded into llvm-config with a patch.
+        # If the configuration flags are changed, the patch might have to be adapted.
+        $(INSTALL) -d '$(HOST_BINDIR)'
+        $(INSTALL) -m755 '$(1)/.build/NATIVE/bin/llvm-config' '$(HOST_BINDIR)/$(MXE_TOOL_PREFIX)llvm-config'
+    endef
 endif
-else
-define $(PKG)_BUILD
-    mkdir '$(1)/build'
-    cd '$(1)/build' && ../configure  \
-      $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
-      $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-      --enable-targets='x86' \
-      --disable-docs \
-      $(ENABLE_SHARED_OR_STATIC) \
-      --prefix='$(HOST_PREFIX)'
-
-    $(MAKE) -C '$(1)/build' -j $(JOBS)
-    $(MAKE) -C '$(1)/build' -j 1 install DESTDIR='$(3)'
-
-    if [ $(MXE_NATIVE_BUILD) = no ]; then \
-      $(INSTALL) -d '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \
-      $(INSTALL) -m755 '$(3)$(HOST_BINDIR)/llvm-config-host' '$(3)$(BUILD_TOOLS_PREFIX)/bin/llvm-config'; \
-    fi
-
-    # create import lib for the dll
-    if [ $(MXE_SYSTEM) = mingw -a $(BUILD_SHARED) = yes ]; then \
-      cd '$(1)/build/tools/llvm-shlib/Release+Asserts' && \
-        $(MXE_DLLTOOL) \
-         --dllname "LLVM-`$(3)$(BUILD_TOOLS_PREFIX)/bin/llvm-config --version`.dll" \
-         --def "LLVM-`$(3)$(BUILD_TOOLS_PREFIX)/bin/llvm-config --version`.def" \
-         --output-lib "libLLVM-`$(3)$(BUILD_TOOLS_PREFIX)/bin/llvm-config --version`.a"; \
-      $(INSTALL) -d "$(3)$(HOST_LIBDIR)"; \
-      cd '$(1)/build/tools/llvm-shlib/Release+Asserts' && \
-        $(INSTALL) -m644 \
-         "libLLVM-`$(3)$(BUILD_TOOLS_PREFIX)/bin/llvm-config --version`.a" \
-         "$(3)$(HOST_LIBDIR)"; \
-    fi
-
-endef
-endif
--- a/src/log4cxx.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/log4cxx.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := log4cxx
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.10.0
 $(PKG)_CHECKSUM := d79c053e8ac90f66c5e873b712bb359fd42b648d
 $(PKG)_SUBDIR   := apache-log4cxx-$($(PKG)_VERSION)
 $(PKG)_FILE     := apache-log4cxx-$($(PKG)_VERSION).tar.gz
--- a/src/lua.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/lua.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := lua
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 6bb1b0a39b6a5484b71a83323c690154f86b2021
+$(PKG)_VERSION  := 5.3.5
+$(PKG)_CHECKSUM := 112eb10ff04d1b4c9898e121d6bdf54a81482447
 $(PKG)_SUBDIR   := lua-$($(PKG)_VERSION)
 $(PKG)_FILE     := lua-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://www.lua.org/ftp/$($(PKG)_FILE)
@@ -30,8 +31,8 @@
         INSTALL='$(INSTALL)' \
         install
 
-    '$(MXE_CC)' \
-        -W -Wall -Werror -ansi -pedantic \
-        '$(2).c' -o '$(HOST_BINDIR)/test-lua.exe' \
-        -llua
+    #'$(MXE_CC)' \
+    #    -W -Wall -Werror -ansi -pedantic \
+    #    '$(2).c' -o '$(HOST_BINDIR)/test-lua.exe' \
+    #    -llua
 endef
--- a/src/lzo.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/lzo.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := lzo
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.06
 $(PKG)_CHECKSUM := a11768b8a168ec607750842bbef406f11547b904
 $(PKG)_SUBDIR   := lzo-$($(PKG)_VERSION)
 $(PKG)_FILE     := lzo-$($(PKG)_VERSION).tar.gz
--- a/src/matio.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/matio.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := matio
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3.4
 $(PKG)_CHECKSUM := 721b9b57f2437850dd114acca1f422622e2c47e2
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/matio/files/matio/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- a/src/mdbtools.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/mdbtools.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -4,6 +4,7 @@
 # mdbtools
 PKG             := mdbtools
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.7
 $(PKG)_CHECKSUM := 62fe0703fd8691e4536e1012317406bdb72594cf
 $(PKG)_SUBDIR   := brianb-mdbtools-004cc9f
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -12,8 +13,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'https://github.com/brianb/mdbtools/tags' | \
-    grep '<a href="/brianb/mdbtools/tarball/' | \
-    $(SED) -n 's,.*href="/brianb/mdbtools/tarball/\([0-9][^"_]*\)".*,\1,p' | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | \
     head -1
 endef
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mesa-1-meson.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,15 @@
+Don't link to Win32 library libstdc++
+
+diff --git "a/meson.build" "b/meson.build"
+index eaaca7f..9b9d2d3 100644
+--- "a/meson.build"	
++++ "b/meson.build"
+@@ -1030,8 +1030,7 @@ if host_machine.system() == 'windows'
+     add_project_link_arguments(
+       '-Wl,--nxcompat',
+       '-Wl,--dynamicbase',
+       '-static-libgcc',
+-      '-static-libstdc++',
+       language : ['c', 'cpp'],
+     )
+   endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mesa-proto.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,31 @@
+# This file is part of MXE Octave.
+# See index.html for further information.
+
+PKG             := mesa-proto
+$(PKG)_VERSION  = $(mesa_VERSION)
+$(PKG)_CHECKSUM = $(mesa_CHECKSUM)
+$(PKG)_SUBDIR   = $(mesa_SUBDIR)
+$(PKG)_FILE     = $(mesa_FILE)
+$(PKG)_URL      = $(mesa_URL)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+ifeq ($(USE_SYSTEM_OPENGL),no)
+  define $(PKG)_BUILD
+    $(INSTALL) -d '$(3)$(HOST_INCDIR)/GL';
+    for f in '$(1)/include/GL/*.h' ; do \
+      $(INSTALL) -m 644 $$f '$(3)$(HOST_INCDIR)/GL'; \
+    done
+    $(INSTALL) -d '$(3)$(HOST_INCDIR)/KHR';
+    for f in '$(1)/include/KHR/*.h' ; do \
+      $(INSTALL) -m 644 $$f '$(3)$(HOST_INCDIR)/KHR'; \
+    done
+  endef
+else
+  define $(PKG)_BUILD
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mesa.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,62 @@
+# This file is part of MXE Octave.
+# See index.html for further information.
+
+PKG             := mesa
+$(PKG)_VERSION  := 20.1.10
+$(PKG)_CHECKSUM := 151d5edff5caeead98f428698cf02ddb0cf66d4b
+$(PKG)_SUBDIR   := mesa-$($(PKG)_VERSION)
+$(PKG)_FILE     := mesa-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL      := ftp://ftp.freedesktop.org/pub/mesa/$($(PKG)_FILE)
+$(PKG)_DEPS     := build-mako build-meson build-ninja expat zlib llvm s2tc
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+# FIXME: Should this be defined in the top-level Makefile?
+ifeq ($(MXE_NATIVE_BUILD),no)
+  MESON_TOOLCHAIN_FILE := $(HOST_PREFIX)/share/meson/cross/mxe-conf.ini
+else
+  MESON_TOOLCHAIN_FILE := $(HOST_PREFIX)/share/meson/native/mxe-conf.ini
+endif
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  $(PKG)_MESON_TOOLCHAIN_FILE := --cross-file '$(MESON_TOOLCHAIN_FILE)'
+else
+  ifeq ($(USE_SYSTEM_X11_LIBS),no)
+    $(PKG)_DEPS += dri2proto glproto libdrm libxshmfence x11 xdamage xext xfixes
+  else
+    $(PKG)_PKG_CONFIG_PATH := $(PKG_CONFIG_PATH):$(BUILD_PKG_CONFIG_PATH)
+  endif
+  $(PKG)_MESON_TOOLCHAIN_FILE := --native-file '$(MESON_TOOLCHAIN_FILE)'
+  $(PKG)_MESON_ENV += \
+      PKG_CONFIG="$(MXE_PKG_CONFIG)" \
+      PKG_CONFIG_LIBDIR=$($(PKG)_PKG_CONFIG_PATH)
+
+  $(PKG)_X11_FLAGS := -Dplatforms='x11' \
+      -Dglx=gallium-xlib \
+      -Ddri-drivers=''
+endif
+
+define $(PKG)_BUILD
+  cd '$(1)' && $($(PKG)_MESON_ENV) \
+      meson $(1)/.build \
+      $($(PKG)_MESON_TOOLCHAIN_FILE) \
+      -Dprefix='$(HOST_PREFIX)' \
+      $($(PKG)_X11_FLAGS) \
+      -Dgallium-drivers=swrast \
+      -Dvulkan-drivers='' \
+      -Degl=false \
+      -Dgbm=false \
+      -Dshared-llvm=true
+
+  cd '$(1)/.build' && DESTDIR=$(3) ninja -j $(JOBS) install
+  
+  # opengl32.dll.a shadows libopengl32.a from mingw. They export slightly
+  # different symbols which causes problems for some packages. So don't install
+  # it for cross-builds.
+  if [ x$(MXE_NATIVE_BUILD) == xno ]; then \
+    rm -f $(3)$(HOST_LIBDIR)/opengl32.dll.a; \
+  fi
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mingw-blas-1-xerbla.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,52 @@
+diff -uNr a/Makefile b/Makefile
+--- a/Makefile	2017-11-15 00:39:21.000000000 -0500
++++ b/Makefile	2018-06-20 09:55:02.049803368 -0400
+@@ -55,8 +55,8 @@
+ #
+ #######################################################################
+ 
+-all: $(BLASLIB)
+- 
++all: $(BLASLIB) $(XERBLALIB)
++
+ #---------------------------------------------------------
+ #  Comment out the next 6 definitions if you already have
+ #  the Level 1 BLAS.
+@@ -88,9 +88,11 @@
+ #  Level 2 and Level 3 BLAS.  Comment it out only if you already have
+ #  both the Level 2 and 3 BLAS.
+ #---------------------------------------------------------------------
+-ALLBLAS  = lsame.o xerbla.o xerbla_array.o
++ALLBLAS  = lsame.o xerbla_array.o
+ $(ALLBLAS) : $(FRC)
+ 
++XERBLA = xerbla.o
++
+ #---------------------------------------------------------
+ #  Comment out the next 4 definitions if you already have
+ #  the Level 2 BLAS.
+@@ -137,10 +139,16 @@
+ 	$(CBLAS1) $(CBLAS2) $(CBLAS3) $(ZBLAS1) 	\
+ 	$(ZBLAS2) $(ZBLAS3) $(ALLBLAS)
+ 
++XERBLAOBJ=$(XERBLA)
++
+ $(BLASLIB): $(ALLOBJ)
+ 	$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)
+ 	$(RANLIB) $@
+ 
++$(XERBLALIB): $(XERBLAOBJ)
++	$(ARCH) $(ARCHFLAGS) $@ $(XERBLAOBJ)
++	$(RANLIB) $@
++
+ single: $(SBLAS1) $(ALLBLAS) $(SBLAS2) $(SBLAS3)
+ 	$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(SBLAS1) $(ALLBLAS) \
+ 	$(SBLAS2) $(SBLAS3)
+diff -uNr a/make.inc b/make.inc
+--- a/make.inc	2011-04-19 15:08:00.000000000 -0400
++++ b/make.inc	2018-06-20 09:55:18.185059266 -0400
+@@ -32,3 +32,4 @@
+ #  The location and name of the Reference BLAS library.
+ #
+ BLASLIB      = blas$(PLAT).a
++XERBLALIB    = xerbla$(PLAT).a
--- a/src/mingw-cfitsio-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/mingw-cfitsio-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,226 +1,12 @@
-diff -ur cfitsio.orig/configure cfitsio/configure
---- cfitsio.orig/configure	2013-07-27 18:39:53 -0400
-+++ cfitsio/configure	2013-07-27 19:01:46 -0400
-@@ -1960,7 +1960,7 @@
-       || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- as_fn_error $? "failed to load site script $ac_site_file
--See \`config.log' for more details" "$LINENO" 5; }
-+See \`config.log' for more details" "$LINENO" 5 ; }
-   fi
- done
- 
-@@ -2101,7 +2101,7 @@
- $as_echo "$ac_cv_build" >&6; }
- case $ac_cv_build in
- *-*-*) ;;
--*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
- esac
- build=$ac_cv_build
- ac_save_IFS=$IFS; IFS='-'
-@@ -2134,7 +2134,7 @@
- $as_echo "$ac_cv_host" >&6; }
- case $ac_cv_host in
- *-*-*) ;;
--*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
- esac
- host=$ac_cv_host
- ac_save_IFS=$IFS; IFS='-'
-@@ -2167,7 +2167,7 @@
- $as_echo "$ac_cv_target" >&6; }
- case $ac_cv_target in
- *-*-*) ;;
--*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5 ;;
- esac
- target=$ac_cv_target
- ac_save_IFS=$IFS; IFS='-'
-@@ -2337,7 +2337,7 @@
- 	EXT="dec"
- 	;;
-     *)
--	echo "cfitsio: == Don't know what do do with $host"
-+	echo "cfitsio: == X Don't know what do do with $host"
- 	;;
- esac
- 
-@@ -2691,7 +2691,7 @@
- test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- as_fn_error $? "no acceptable C compiler found in \$PATH
--See \`config.log' for more details" "$LINENO" 5; }
-+See \`config.log' for more details" "$LINENO" 5 ; }
- 
- # Provide some information about the compiler.
- $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-@@ -2806,7 +2806,7 @@
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- as_fn_error 77 "C compiler cannot create executables
--See \`config.log' for more details" "$LINENO" 5; }
-+See \`config.log' for more details" "$LINENO" 5 ; }
+diff -ur cfitsio.orig/configure.in cfitsio/configure.in
+--- cfitsio.orig/configure.in	2019-03-05 10:42:18.453397421 -0500
++++ cfitsio/configure.in	2019-03-05 10:44:29.464686105 -0500
+@@ -452,7 +452,7 @@
  else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
-@@ -2849,7 +2849,7 @@
-   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- as_fn_error $? "cannot compute suffix of executables: cannot compile and link
--See \`config.log' for more details" "$LINENO" 5; }
-+See \`config.log' for more details" "$LINENO" 5 ; }
- fi
- rm -f conftest conftest$ac_cv_exeext
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-@@ -2908,7 +2908,7 @@
- $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- as_fn_error $? "cannot run C compiled programs.
- If you meant to cross compile, use \`--host'.
--See \`config.log' for more details" "$LINENO" 5; }
-+See \`config.log' for more details" "$LINENO" 5 ; }
-     fi
-   fi
- fi
-@@ -2960,7 +2960,7 @@
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- as_fn_error $? "cannot compute suffix of object files: cannot compile
--See \`config.log' for more details" "$LINENO" 5; }
-+See \`config.log' for more details" "$LINENO" 5 ; }
- fi
- rm -f conftest.$ac_cv_objext conftest.$ac_ext
- fi
-@@ -3529,7 +3529,7 @@
-   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
--See \`config.log' for more details" "$LINENO" 5; }
-+See \`config.log' for more details" "$LINENO" 5 ; }
+   AC_CHECK_PROG([CURLCONFIG], [curl-config], [curl-config], [], [], [/opt/local/bin/curl-config])
  fi
- 
- ac_ext=c
-@@ -3968,6 +3968,8 @@
-         $as_echo "#define _FILE_OFFSET_BITS 64" >>confdefs.h
- 
- 	;;
-+    *mingw*)
-+        ;;
-     *solaris*)
-         if test "x$CFORTRANFLAGS" = x ; then
-                 CFORTRANFLAGS="-Dsolaris"
-@@ -4081,6 +4083,10 @@
- CFITSIO_SHLIB_SONAME=""
- lhea_shlib_cflags=
- case $EXT in
-+  mingw32)
-+    SHLIB_LD="$CC -shared"
-+    SHLIB_SUFFIX=".dll"
-+    ;;
-   cygwin)
-     SHLIB_LD="$CC -shared"
-     SHLIB_SUFFIX=".dll"
-@@ -5255,7 +5261,7 @@
-   case $ac_config_target in
-     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- 
--  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
-   esac
- done
- 
-@@ -5463,7 +5469,7 @@
-   esac
-   case $ac_mode$ac_tag in
-   :[FHL]*:*);;
--  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
-   :[FH]-) ac_tag=-:-;;
-   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-   esac
-@@ -5491,7 +5497,7 @@
- 	   [\\/$]*) false;;
- 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- 	   esac ||
--	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
-       esac
-       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-       as_fn_append ac_file_inputs " '$ac_f'"
-@@ -5518,7 +5524,7 @@
- 
-     case $ac_tag in
-     *:-:* | *:-) cat >"$ac_tmp/stdin" \
--      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5  ;;
-     esac
-     ;;
-   esac
-@@ -6425,7 +6431,7 @@
-     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-     "cfitsio.pc") CONFIG_FILES="$CONFIG_FILES cfitsio.pc" ;;
- 
--  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
-   esac
- done
- 
-@@ -6633,7 +6639,7 @@
-   esac
-   case $ac_mode$ac_tag in
-   :[FHL]*:*);;
--  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
-   :[FH]-) ac_tag=-:-;;
-   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-   esac
-@@ -6661,7 +6667,7 @@
- 	   [\\/$]*) false;;
- 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- 	   esac ||
--	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
-       esac
-       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-       as_fn_append ac_file_inputs " '$ac_f'"
-@@ -6688,7 +6694,7 @@
- 
-     case $ac_tag in
-     *:-:* | *:-) cat >"$ac_tmp/stdin" \
--      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5  ;;
-     esac
-     ;;
-   esac
-diff -ur cfitsio.orig/configure.in cfitsio/configure.in
---- cfitsio.orig/configure.in	2013-07-27 18:39:53 -0400
-+++ cfitsio/configure.in	2013-07-27 19:01:32 -0400
-@@ -141,7 +141,7 @@
- 	EXT="dec"
- 	;;
-     *)
--	echo "cfitsio: == Don't know what do do with $host"
-+	echo "cfitsio: == X Don't know what do do with $host"
- 	;;
- esac
- 
-@@ -286,6 +286,8 @@
-         AC_DEFINE(_LARGEFILE_SOURCE)
-         AC_DEFINE(_FILE_OFFSET_BITS,64)
- 	;;
-+    *mingw*)
-+        ;;
-     *solaris*)
-         if test "x$CFORTRANFLAGS" = x ; then
-                 CFORTRANFLAGS="-Dsolaris"
-@@ -352,6 +354,10 @@
- CFITSIO_SHLIB_SONAME=""
- lhea_shlib_cflags=
- case $EXT in
-+  mingw32)
-+    SHLIB_LD="$CC -shared"
-+    SHLIB_SUFFIX=".dll"
-+    ;;
-   cygwin)
-     SHLIB_LD="$CC -shared"
-     SHLIB_SUFFIX=".dll"
+-if test "x$CURLCONFIG" != x; then
++if test "x$CURLCONFIG" != x && test "x$CURLCONFIG" != "xnone" ; then
+   CURL_LIB=`$CURLCONFIG --libs`
+   CURL_INC=`$CURLCONFIG --cflags`
+   # Also reject anaconda curl on Macs until further notice:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mingw-epstool-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,92 @@
+diff -urN epstool-3.08.orig/makefile epstool-3.08/makefile
+--- epstool-3.08.orig/makefile	2015-01-05 19:01:34.000000000 -0500
++++ epstool-3.08/makefile	2015-01-05 19:54:45.000000000 -0500
+@@ -34,10 +34,12 @@
+ 
+ LONGFILEDEF=
+ LONGFILEMOD=cfile
++WGSVERMOD=wgsver
+ 
+-include $(SRCDIR)/unixcom.mak
++#include $(SRCDIR)/unixcom.mak
++include $(SRCDIR)/mingwcom.mak
+ 
+-EPSOBJPLAT=$(OD)xnodll$(OBJ) $(OD)$(LONGFILEMOD)$(OBJ)
++EPSOBJPLAT=$(OD)xnodll$(OBJ) $(OD)$(LONGFILEMOD)$(OBJ) $(OD)$(WGSVERMOD)$(OBJ)
+ EPSLIB=$(LIBPNGLIBS)
+ 
+ BEGIN=$(OD)lib.rsp
+@@ -45,7 +47,7 @@
+ 
+ include $(SRCDIR)/common.mak
+ 
+-EPSTOOL_ROOT=/usr/local
++EPSTOOL_ROOT=/
+ EPSTOOL_BASE=$(prefix)$(EPSTOOL_ROOT)
+ EPSTOOL_DOCDIR=$(EPSTOOL_BASE)/share/doc/epstool-$(EPSTOOL_VERSION)
+ EPSTOOL_MANDIR=$(EPSTOOL_BASE)/man
+diff -urN epstool-3.08.orig/src/mingwcom.mak epstool-3.08/src/mingwcom.mak
+--- epstool-3.08.orig/src/mingwcom.mak	1969-12-31 19:00:00.000000000 -0500
++++ epstool-3.08/src/mingwcom.mak	2015-01-05 20:00:18.000000000 -0500
+@@ -0,0 +1,61 @@
++# Copyright (C) 2002-2005 Ghostgum Software Pty Ltd.  All rights reserved.
++#
++#  This software is provided AS-IS with no warranty, either express or
++#  implied.
++#
++#  This software is distributed under licence and may not be copied,
++#  modified or distributed except as expressly authorised under the terms
++#  of the licence contained in the file LICENCE in this distribution.
++#
++#  For more information about licensing, please refer to
++#  http://www.ghostgum.com.au/ or contact Ghostsgum Software Pty Ltd, 
++#  218 Gallaghers Rd, Glen Waverley VIC 3150, AUSTRALIA, 
++#  Fax +61 3 9886 6616.
++#
++
++# $Id: unixcom.mak,v 1.2 2005/01/11 11:40:19 ghostgum Exp $
++# Unix mingw makefile
++
++
++INSTALL=install -m 644
++INSTALL_EXE=install -m 755
++
++MAKE=make
++CDEFS=-DNONAG $(LONGFILEDEF)
++GSCDEBUG= -g
++GSCFLAGS= $(CDEFS) -Wall -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -fno-builtin -fno-common -Wcast-qual -Wwrite-strings $(CDEBUG) $(GSCDEBUG) $(RPM_OPT_FLAGS) $(XINCLUDE) $(PFLAGS) $(LIBPNGCFLAGS) $(GTKCFLAGS) -I$(SRCWIN)
++CCAUX=$(TOOL_PREFIX)gcc
++CC=$(TOOL_PREFIX)gcc
++LFLAGS=$(PLINK) $(LIBPNGLIBS) $(GTKLIBS)
++CLINK=$(CC) $(LDFLAGS)
++LINK=$(CC) $(LDFLAGS)
++
++
++COMP=$(CC) -I$(SRCDIR) -I$(OBJDIR) $(CFLAGS) $(GSCFLAGS)
++
++
++NUL=
++DD=/$(NUL)
++SRC=$(SRCDIR)/$(NUL)
++SRCWIN=$(SRCWINDIR)/$(NUL)
++OD=$(OBJDIR)/$(NUL)
++BD=$(BINDIR)/$(NUL)
++OBJ=.o
++EXE=.exe
++CO=-c
++
++FE=-o $(NUL)
++FO=-o $(NUL)
++FEO=-o $(OD)
++FOO=-o $(OD)
++
++CP=cp -f
++RM=rm -f
++RMDIR=rm -rf
++
++default: $(BD)epstool$(EXE)
++
++$(OD)wgsver$(OBJ): $(SRCWIN)wgsver.c $(common_h) $(cdll_h)
++	$(COMP) $(FOO)wgsver$(OBJ) $(CO) $(SRCWIN)wgsver.c
++
++
--- a/src/mingw-glib-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1157 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-Contains ad hoc patches for cross building.
-
-From 55d5dab8f12c55064b48da8a4a42bfe8fa97f8f9 Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Thu, 23 Sep 2010 21:41:51 +0200
-Subject: [PATCH 1/8] optional gettext
-
-
-diff -ur a/configure.ac b/configure.ac
---- a/configure.ac	2013-06-10 00:53:13.000000000 +0200
-+++ b/configure.ac	2013-06-29 05:15:59.920660258 +0200
-@@ -483,8 +483,8 @@
- GLIB_GNU_GETTEXT
- 
- if test "$gt_cv_have_gettext" != "yes" ; then
--  AC_MSG_ERROR([
--*** You must have either have gettext support in your C library, or use the 
-+  AC_MSG_WARN([
-+*** You should have either have gettext support in your C library, or use the 
- *** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html
- ])
- fi
-diff -ur a/glib/gi18n.h b/glib/gi18n.h
---- a/glib/gi18n.h	2011-08-16 02:51:30.000000000 +0200
-+++ b/glib/gi18n.h	2013-06-29 05:17:17.620663625 +0200
-@@ -22,7 +22,12 @@
- 
- #include <glib.h>
- 
-+#ifdef ENABLE_NLS
- #include <libintl.h>
-+#else
-+#define gettext(String) (String)
-+#endif
-+
- #include <string.h>
- 
- #define  _(String) gettext (String)
-
-
-From 4dee17aeb7c45a84a44e3fe2dcca4d8bfd1916a3 Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Thu, 23 Sep 2010 21:42:46 +0200
-Subject: [PATCH 2/8] fix tool paths
-
-
-diff -ur a/glib-2.0.pc.in b/glib-2.0.pc.in
---- a/glib-2.0.pc.in	2012-03-12 01:42:41.000000000 +0100
-+++ b/glib-2.0.pc.in	2013-06-29 05:18:02.624665578 +0200
-@@ -3,9 +3,9 @@
- libdir=@libdir@
- includedir=@includedir@
- 
--glib_genmarshal=glib-genmarshal
--gobject_query=gobject-query
--glib_mkenums=glib-mkenums
-+glib_genmarshal=@bindir@/glib-genmarshal
-+gobject_query=@bindir@/gobject-query
-+glib_mkenums=@bindir@/glib-mkenums
- 
- Name: GLib
- Description: C Utility Library
-
-
-From 981260cfec055fbd58986d9e1b7ef27cdc036e30 Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Fri, 15 Jun 2012 15:25:01 +0200
-Subject: [PATCH 3/8] Avoid DllMain symbol conflict when linking statically
-
-
-diff -ur a/gio/giomodule.c b/gio/giomodule.c
---- a/gio/giomodule.c	2013-06-03 01:20:49.000000000 +0200
-+++ b/gio/giomodule.c	2013-06-29 05:19:55.560670478 +0200
-@@ -900,14 +900,12 @@
- 
- static HMODULE gio_dll = NULL;
- 
--#ifdef DLL_EXPORT
--
--BOOL WINAPI DllMain (HINSTANCE hinstDLL,
-+BOOL WINAPI gio_DllMain (HINSTANCE hinstDLL,
-                      DWORD     fdwReason,
-                      LPVOID    lpvReserved);
- 
- BOOL WINAPI
--DllMain (HINSTANCE hinstDLL,
-+gio_DllMain (HINSTANCE hinstDLL,
- 	 DWORD     fdwReason,
- 	 LPVOID    lpvReserved)
- {
-@@ -917,8 +915,6 @@
-   return TRUE;
- }
- 
--#endif
--
- void *
- _g_io_win32_get_module (void)
- {
-diff -ur a/glib/glib-init.c b/glib/glib-init.c
---- a/glib/glib-init.c	2013-06-10 00:03:17.000000000 +0200
-+++ b/glib/glib-init.c	2013-06-29 05:20:43.480672556 +0200
-@@ -223,14 +223,14 @@
- 
- #if defined (G_OS_WIN32)
- 
--BOOL WINAPI DllMain (HINSTANCE hinstDLL,
-+BOOL WINAPI glib_DllMain (HINSTANCE hinstDLL,
-                      DWORD     fdwReason,
-                      LPVOID    lpvReserved);
- 
- HMODULE glib_dll;
- 
- BOOL WINAPI
--DllMain (HINSTANCE hinstDLL,
-+glib_DllMain (HINSTANCE hinstDLL,
-          DWORD     fdwReason,
-          LPVOID    lpvReserved)
- {
-
-
-From 1b51f3ef3e38d5db3c15cde0fe4429dab1f7a6d0 Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Fri, 15 Jun 2012 15:27:22 +0200
-Subject: [PATCH 4/8] Allow building without inotify support
-
-
-diff -ur a/configure.ac b/configure.ac
---- a/configure.ac	2013-06-10 00:53:13.000000000 +0200
-+++ b/configure.ac	2013-06-29 05:23:45.264680443 +0200
-@@ -1726,11 +1726,17 @@
- dnl ** Check for inotify (GIO) **
- dnl *****************************
- inotify_support=no
--AC_CHECK_HEADERS([sys/inotify.h],
--[
-+AC_ARG_ENABLE(inotify,
-+              AC_HELP_STRING([--disable-inotify],
-+                             [build without inotify support]))
-+
-+if test "x$enable_inotify" != "xno"; then
-+  AC_CHECK_HEADERS([sys/inotify.h],
-+  [
- 	inotify_support=yes
- 	AC_CHECK_FUNCS(inotify_init1)
--])
-+  ])
-+fi
- 
- AM_CONDITIONAL(HAVE_INOTIFY, [test "$inotify_support" = "yes"])
- 
-
-
-From 5ec5d101cb75c096f39228da85d2caba52b9002f Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Fri, 15 Jun 2012 15:28:14 +0200
-Subject: [PATCH 5/8] Make sure STDC_HEADERS is set for AC_CHECK_ALIGNOF.
- Backported from upstream
-
-
-diff -ur a/configure.ac b/configure.ac
---- a/configure.ac	2013-06-10 00:53:13.000000000 +0200
-+++ b/configure.ac	2013-06-29 05:24:29.720682366 +0200
-@@ -456,6 +456,8 @@
- 
- AC_MSG_RESULT($enable_iconv_cache)
- 
-+# Make sure STDC_HEADERS is set for AC_CHECK_ALIGNOF
-+AS_IF([false], [AC_CHECK_HEADER([stdint.h])])
- 
- dnl
- dnl zlib support
-
-
-From d5c7bf3b57ced0c6dfb416cf7b439fba210d2a8b Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Fri, 15 Jun 2012 15:29:06 +0200
-Subject: [PATCH 6/8] Link with dnsapi
-
-
-diff -ur a/gio-2.0.pc.in b/gio-2.0.pc.in
---- a/gio-2.0.pc.in	2013-01-20 20:48:44.000000000 +0100
-+++ b/gio-2.0.pc.in	2013-06-29 05:25:16.328684390 +0200
-@@ -13,6 +13,6 @@
- Version: @VERSION@
- Requires: glib-2.0 gobject-2.0
- Requires.private: gmodule-no-export-2.0
--Libs: -L${libdir} -lgio-2.0
-+Libs: -L${libdir} -lgio-2.0 -ldnsapi
- Libs.private: @ZLIB_LIBS@ @NETWORK_LIBS@
- Cflags:
-
-
-
-From e0338b4fdd95e8273c84ba1daeea660c589d152a Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Fri, 15 Jun 2012 15:29:38 +0200
-Subject: [PATCH 7/8] Ensure globals are initialized even when DllMain is not
- being run
-
-
-diff -ur a/glib/gmain.c b/glib/gmain.c
---- a/glib/gmain.c	2013-06-10 00:03:18.000000000 +0200
-+++ b/glib/gmain.c	2013-06-29 05:33:10.568704963 +0200
-@@ -2490,12 +2490,15 @@
- #ifdef G_OS_WIN32
- static ULONGLONG (*g_GetTickCount64) (void) = NULL;
- static guint32 g_win32_tick_epoch = 0;
-+static gboolean g_win32_clock_is_initialized;
- 
- void
- g_clock_win32_init (void)
- {
-   HMODULE kernel32;
- 
-+  g_win32_clock_is_initialized = TRUE;
-+
-   g_GetTickCount64 = NULL;
-   kernel32 = GetModuleHandle ("KERNEL32.DLL");
-   if (kernel32 != NULL)
-@@ -2614,6 +2617,9 @@
-    *    timeBeginPeriod() to increase it as much as they want
-    */
- 
-+  if (!g_win32_clock_is_initialized)
-+    g_clock_win32_init ();
-+
-   if (g_GetTickCount64 != NULL)
-     {
-       guint32 ticks_as_32bit;
-diff -ur a/glib/gthread-win32.c b/glib/gthread-win32.c
---- a/glib/gthread-win32.c	2013-06-03 01:20:49.000000000 +0200
-+++ b/glib/gthread-win32.c	2013-06-29 05:49:13.580746730 +0200
-@@ -118,18 +118,28 @@
-   void     (__stdcall * WakeConditionVariable)       (gpointer cond);
- } GThreadImplVtable;
- 
-+/* Needed for static builds where DllMain initializer doesn't get called */
-+static gboolean g_threads_is_initialized;
-+G_GNUC_INTERNAL void g_thread_win32_init (void);
-+
- static GThreadImplVtable g_thread_impl_vtable;
- 
- /* {{{1 GMutex */
- void
- g_mutex_init (GMutex *mutex)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   g_thread_impl_vtable.InitializeSRWLock (mutex);
- }
- 
- void
- g_mutex_clear (GMutex *mutex)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   if (g_thread_impl_vtable.DeleteSRWLock != NULL)
-     g_thread_impl_vtable.DeleteSRWLock (mutex);
- }
-@@ -137,18 +147,27 @@
- void
- g_mutex_lock (GMutex *mutex)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   g_thread_impl_vtable.AcquireSRWLockExclusive (mutex);
- }
- 
- gboolean
- g_mutex_trylock (GMutex *mutex)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   return g_thread_impl_vtable.TryAcquireSRWLockExclusive (mutex);
- }
- 
- void
- g_mutex_unlock (GMutex *mutex)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   g_thread_impl_vtable.ReleaseSRWLockExclusive (mutex);
- }
- 
-@@ -159,6 +178,9 @@
- {
-   CRITICAL_SECTION *cs;
- 
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   cs = g_slice_new (CRITICAL_SECTION);
-   InitializeCriticalSection (cs);
- 
-@@ -169,6 +191,10 @@
- g_rec_mutex_impl_free (CRITICAL_SECTION *cs)
- {
-   DeleteCriticalSection (cs);
-+
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   g_slice_free (CRITICAL_SECTION, cs);
- }
- 
-@@ -177,6 +203,9 @@
- {
-   CRITICAL_SECTION *impl = mutex->p;
- 
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   if G_UNLIKELY (mutex->p == NULL)
-     {
-       impl = g_rec_mutex_impl_new ();
-@@ -191,30 +220,45 @@
- void
- g_rec_mutex_init (GRecMutex *mutex)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   mutex->p = g_rec_mutex_impl_new ();
- }
- 
- void
- g_rec_mutex_clear (GRecMutex *mutex)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   g_rec_mutex_impl_free (mutex->p);
- }
- 
- void
- g_rec_mutex_lock (GRecMutex *mutex)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   EnterCriticalSection (g_rec_mutex_get_impl (mutex));
- }
- 
- void
- g_rec_mutex_unlock (GRecMutex *mutex)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   LeaveCriticalSection (mutex->p);
- }
- 
- gboolean
- g_rec_mutex_trylock (GRecMutex *mutex)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   return TryEnterCriticalSection (g_rec_mutex_get_impl (mutex));
- }
- 
-@@ -223,12 +267,18 @@
- void
- g_rw_lock_init (GRWLock *lock)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   g_thread_impl_vtable.InitializeSRWLock (lock);
- }
- 
- void
- g_rw_lock_clear (GRWLock *lock)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   if (g_thread_impl_vtable.DeleteSRWLock != NULL)
-     g_thread_impl_vtable.DeleteSRWLock (lock);
- }
-@@ -236,36 +286,54 @@
- void
- g_rw_lock_writer_lock (GRWLock *lock)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   g_thread_impl_vtable.AcquireSRWLockExclusive (lock);
- }
- 
- gboolean
- g_rw_lock_writer_trylock (GRWLock *lock)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   return g_thread_impl_vtable.TryAcquireSRWLockExclusive (lock);
- }
- 
- void
- g_rw_lock_writer_unlock (GRWLock *lock)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   g_thread_impl_vtable.ReleaseSRWLockExclusive (lock);
- }
- 
- void
- g_rw_lock_reader_lock (GRWLock *lock)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   g_thread_impl_vtable.AcquireSRWLockShared (lock);
- }
- 
- gboolean
- g_rw_lock_reader_trylock (GRWLock *lock)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   return g_thread_impl_vtable.TryAcquireSRWLockShared (lock);
- }
- 
- void
- g_rw_lock_reader_unlock (GRWLock *lock)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   g_thread_impl_vtable.ReleaseSRWLockShared (lock);
- }
- 
-@@ -273,12 +341,18 @@
- void
- g_cond_init (GCond *cond)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   g_thread_impl_vtable.InitializeConditionVariable (cond);
- }
- 
- void
- g_cond_clear (GCond *cond)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   if (g_thread_impl_vtable.DeleteConditionVariable)
-     g_thread_impl_vtable.DeleteConditionVariable (cond);
- }
-@@ -286,12 +360,18 @@
- void
- g_cond_signal (GCond *cond)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   g_thread_impl_vtable.WakeConditionVariable (cond);
- }
- 
- void
- g_cond_broadcast (GCond *cond)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   g_thread_impl_vtable.WakeAllConditionVariable (cond);
- }
- 
-@@ -299,6 +379,9 @@
- g_cond_wait (GCond  *cond,
-              GMutex *entered_mutex)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   g_thread_impl_vtable.SleepConditionVariableSRW (cond, entered_mutex, INFINITE, 0);
- }
- 
-@@ -309,6 +392,9 @@
- {
-   gint64 span;
- 
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   span = end_time - g_get_monotonic_time ();
- 
-   if G_UNLIKELY (span < 0)
-@@ -341,6 +427,9 @@
- 
-   if G_UNLIKELY (impl == 0)
-     {
-+      if (!g_threads_is_initialized)
-+        g_thread_win32_init ();
-+
-       EnterCriticalSection (&g_private_lock);
-       impl = (DWORD) key->p;
-       if (impl == 0)
-@@ -434,6 +523,9 @@
- {
-   GThreadWin32 *wt = (GThreadWin32 *) thread;
- 
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   win32_check_for_error (CloseHandle (wt->handle));
-   g_slice_free (GThreadWin32, wt);
- }
-@@ -441,6 +533,9 @@
- void
- g_system_thread_exit (void)
- {
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   _endthreadex (0);
- }
- 
-@@ -449,6 +544,9 @@
- {
-   GThreadWin32 *self = data;
- 
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   self->proxy (self);
- 
-   g_system_thread_exit ();
-@@ -466,6 +564,9 @@
-   GThreadWin32 *thread;
-   guint ignore;
- 
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   thread = g_slice_new0 (GThreadWin32);
-   thread->proxy = func;
- 
-@@ -495,6 +596,9 @@
- {
-   GThreadWin32 *wt = (GThreadWin32 *) thread;
- 
-+  if (!g_threads_is_initialized)
-+    g_thread_win32_init ();
-+
-   win32_check_for_error (WAIT_FAILED != WaitForSingleObject (wt->handle, INFINITE));
- }
- 
-@@ -986,6 +1090,8 @@
- void
- g_thread_win32_init (void)
- {
-+  g_threads_is_initialized = TRUE;
-+
-   if (!g_thread_lookup_native_funcs ())
-     g_thread_xp_init ();
- 
-
-
-From ce0f7354ac995f3b21cccabec880413d37f02fb6 Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Mon, 18 Jun 2012 16:02:12 +0200
-Subject: [PATCH 8/8] kill docs and gtk-doc dependence (mxe-specific)
-
-
-diff -urN a/autogen.sh b/autogen.sh
---- a/autogen.sh	2012-08-18 19:32:04.000000000 +0200
-+++ b/autogen.sh	2013-06-29 05:50:43.972750651 +0200
-@@ -7,18 +7,6 @@
- olddir=`pwd`
- cd "$srcdir"
- 
--GTKDOCIZE=$(which gtkdocize 2>/dev/null)
--if test -z $GTKDOCIZE; then
--        echo "You don't have gtk-doc installed, and thus won't be able to generate the documentation."
--        rm -f gtk-doc.make
--        cat > gtk-doc.make <<EOF
--EXTRA_DIST =
--CLEANFILES =
--EOF
--else
--        gtkdocize || exit $?
--fi
--
- AUTORECONF=`which autoreconf`
- if test -z $AUTORECONF; then
-         echo "*** No autoreconf found, please install it ***"
-diff -urN a/configure.ac b/configure.ac
---- a/configure.ac	2013-06-10 00:53:13.000000000 +0200
-+++ b/configure.ac	2013-06-29 05:52:05.224754174 +0200
-@@ -2645,13 +2645,6 @@
- dnl **************************
- dnl *** Checks for gtk-doc ***
- dnl **************************
--# gtkdocize greps for ^GTK_DOC_CHECK and parses it, so you need to have
--# it on it's own line.
--m4_ifdef([GTK_DOC_CHECK], [
--GTK_DOC_CHECK([1.15], [--flavour no-tmpl])
--],[
--AM_CONDITIONAL([ENABLE_GTK_DOC],[false])
--])
- 
- AC_ARG_ENABLE(man,
-               [AS_HELP_STRING([--enable-man],
-diff -urN a/docs/Makefile.am b/docs/Makefile.am
---- a/docs/Makefile.am	2013-06-10 00:03:17.000000000 +0200
-+++ b/docs/Makefile.am	1970-01-01 01:00:00.000000000 +0100
-@@ -1,11 +0,0 @@
--## Process this file with automake to produce Makefile.in
--include $(top_srcdir)/Makefile.decl
--
--SUBDIRS = reference
--
--EXTRA_DIST += debugging.txt macros.txt
--
--files:
--	@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
--	  echo $$p; \
--	done
-diff -urN a/docs/reference/gio/gdbus-object-manager-example/Makefile.am b/docs/reference/gio/gdbus-object-manager-example/Makefile.am
---- a/docs/reference/gio/gdbus-object-manager-example/Makefile.am	2013-06-10 00:03:17.000000000 +0200
-+++ b/docs/reference/gio/gdbus-object-manager-example/Makefile.am	1970-01-01 01:00:00.000000000 +0100
-@@ -1,68 +0,0 @@
--include $(top_srcdir)/Makefile.decl
--NULL =
--
--# The name of the module.
--DOC_MODULE=gdbus-object-manager-example
--
--# The top-level SGML file.
--DOC_MAIN_SGML_FILE=gdbus-object-manager-example-docs.xml
--
--# Extra options to supply to gtkdoc-scan
--SCAN_OPTIONS=--deprecated-guards="G_DISABLE_DEPRECATED"
--
--# The directory containing the source code. Relative to $(srcdir)
--DOC_SOURCE_DIR=$(top_builddir)/gio/tests/gdbus-object-manager-example
--
--HFILE_GLOB=$(top_builddir)/gio/tests/gdbus-object-manager-example/*.h
--CFILE_GLOB=$(top_builddir)/gio/tests/gdbus-object-manager-example/*.c
--
--# Headers to ignore
--IGNORE_HFILES =				\
--	$(NULL)
--
--# CFLAGS and LDFLAGS for compiling scan program. Only needed
--# if $(DOC_MODULE).types is non-empty.
--AM_CPPFLAGS = 				\
--	$(gio_INCLUDES)			\
--	$(GLIB_DEBUG_FLAGS)
--
--GTKDOC_LIBS = 						\
--	$(top_builddir)/glib/libglib-2.0.la		\
--	$(top_builddir)/gobject/libgobject-2.0.la	\
--	$(top_builddir)/gmodule/libgmodule-2.0.la	\
--	$(top_builddir)/gio/libgio-2.0.la		\
--	$(top_builddir)/gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.la \
--	$(NULL)
--
--# Extra options to supply to gtkdoc-mkdb
--MKDB_OPTIONS = --output-format=xml --sgml-mode --name-space=g \
--	$(NULL)
--
--# Images to copy into HTML directory
--HTML_IMAGES =			\
--	$(NULL)
--
--content_files =			\
--	$(NULL)
--
--expand_content_files =		\
--	$(NULL)
--
--extra_files =			\
--	$(NULL)
--
--include $(top_srcdir)/gtk-doc.make
--
--EXTRA_DIST +=			\
--	$(NULL)
--
--MAINTAINERCLEANFILES = $(BUILT_SOURCES)
--
--dist-hook-local: all-local
--
--gdbus-object-manager-example-docs-clean: clean
--	cd $(srcdir) && rm -rf xml html
--
--# Nuke installed docs (don't know how to avoid installing them)
--install-data-hook :
--	rm -rf $(DESTDIR)$(datadir)/gtk-doc/html/gdbus-object-manager-example
-diff -urN a/docs/reference/gio/Makefile.am b/docs/reference/gio/Makefile.am
---- a/docs/reference/gio/Makefile.am	2013-06-10 00:03:17.000000000 +0200
-+++ b/docs/reference/gio/Makefile.am	1970-01-01 01:00:00.000000000 +0100
-@@ -1,179 +0,0 @@
--include $(top_srcdir)/Makefile.decl
--NULL =
--
--SUBDIRS = gdbus-object-manager-example
--
--# The name of the module.
--DOC_MODULE=gio
--
--# The top-level SGML file.
--DOC_MAIN_SGML_FILE=gio-docs.xml
--
--# Extra options to supply to gtkdoc-scan
--SCAN_OPTIONS=--deprecated-guards="G_DISABLE_DEPRECATED" \
--             --ignore-decorators="G_GNUC_WARN_UNUSED_RESULT"
--
--# The directory containing the source code. Relative to $(srcdir)
--DOC_SOURCE_DIR=$(top_srcdir)/gio
--
--BUILT_HFILES=gioenumtypes.h
--HFILE_GLOB=$(top_srcdir)/gio/*.h
--CFILE_GLOB=$(top_srcdir)/gio/*.c
--
--IGNORE_HFILES = \
--	fam				\
--	fen				\
--	gdbus-2.0			\
--	gvdb				\
--	inotify				\
--	libasyncns			\
--	tests				\
--	win32				\
--	xdgmime				\
--	gapplicationimpl.h		\
--	gasynchelper.h			\
--	gcontenttypeprivate.h		\
--	gdbusauth.h			\
--	gdbusauthmechanismanon.h	\
--	gdbusauthmechanismexternal.h	\
--	gdbusauthmechanism.h		\
--	gdbusauthmechanismsha1.h	\
--	gdbusprivate.h			\
--	gdelayedsettingsbackend.h	\
--	gdummyfile.h			\
--	gdummyproxyresolver.h		\
--	gdummytlsbackend.h		\
--	gfileattribute-priv.h		\
--	gfileinfo-priv.h		\
--	giomodule-priv.h		\
--	glocaldirectorymonitor.h	\
--	glocalfileenumerator.h		\
--	glocalfile.h			\
--	glocalfileinfo.h		\
--	glocalfileinputstream.h		\
--	glocalfileiostream.h		\
--	glocalfilemonitor.h		\
--	glocalfileoutputstream.h	\
--	glocalvfs.h			\
--	gmountprivate.h			\
--	gnativevolumemonitor.h		\
--	gnetworkingprivate.h		\
--	gnetworkmonitorbase.h		\
--	gnetworkmonitornetlink.h	\
--	gpollfilemonitor.h		\
--	gregistrysettingsbackend.h	\
--	gsettingsbackendinternal.h	\
--	gsettings-mapping.h		\
--	gsettingsschema-internal.h	\
--	gsocketinputstream.h		\
--	gsocketoutputstream.h		\
--	gsocks4aproxy.h			\
--	gsocks4proxy.h			\
--	gsocks5proxy.h			\
--	gthreadedresolver.h		\
--	gunionvolumemonitor.h		\
--	gunixmount.h			\
--	gunixresolver.h			\
--	gunixvolume.h			\
--	gunixvolumemonitor.h		\
--	gwin32appinfo.h			\
--	gwin32mount.h			\
--	gwin32resolver.h		\
--	gwin32volumemonitor.h
--
--
--# CFLAGS and LDFLAGS for compiling scan program. Only needed
--# if $(DOC_MODULE).types is non-empty.
--AM_CPPFLAGS = 				\
--	$(gio_INCLUDES)			\
--	$(GLIB_DEBUG_FLAGS)
--
--GTKDOC_LIBS = \
--	$(top_builddir)/glib/libglib-2.0.la		\
--	$(top_builddir)/gobject/libgobject-2.0.la	\
--	$(top_builddir)/gmodule/libgmodule-2.0.la	\
--	$(top_builddir)/gio/libgio-2.0.la		\
--	$(NULL)
--
--# Extra options to supply to gtkdoc-mkdb
--MKDB_OPTIONS = --output-format=xml --sgml-mode --name-space=g \
--	--ignore-files='libasyncns tests'
--
--# Images to copy into HTML directory
--HTML_IMAGES =			\
--	gvfs-overview.png	\
--	menu-example.png	\
--	menu-model.png
--
--content_files =			\
--	version.xml		\
--	overview.xml		\
--	migrating-posix.xml	\
--	migrating-gnome-vfs.xml	\
--	migrating-gconf.xml	\
--	migrating-gdbus.xml	\
--	gio-querymodules.xml	\
--	glib-compile-schemas.xml\
--	glib-compile-resources.xml	\
--	gsettings.xml		\
--	gresource.xml		\
--	gdbus.xml		\
--	gdbus-codegen.xml	\
--	$(NULL)
--
--expand_content_files =		\
--	overview.xml		\
--	migrating-posix.xml	\
--	migrating-gnome-vfs.xml	\
--	migrating-gconf.xml	\
--	migrating-gdbus.xml	\
--	gdbus-codegen.xml	\
--	$(NULL)
--
--extra_files =			\
--	version.xml.in		\
--	gvfs-overview.odg
--
--# Extra options to supply to gtkdoc-fixref
--FIXXREF_OPTIONS=--extra-dir=$(srcdir)/../glib/html --extra-dir=$(srcdir)/../gobject/html
--
--include $(top_srcdir)/gtk-doc.make
--
--EXTRA_DIST +=			\
--	version.xml.in
--
--man_MANS =
--
--if ENABLE_MAN
--
--man_MANS +=			\
--	gio-querymodules.1	\
--	glib-compile-schemas.1	\
--	glib-compile-resources.1	\
--	gsettings.1		\
--	gresource.1		\
--	gdbus.1			\
--	gdbus-codegen.1
--
--XSLTPROC_FLAGS = \
--        --nonet \
--        --stringparam man.output.quietly 1 \
--        --stringparam funcsynopsis.style ansi \
--        --stringparam man.th.extra1.suppress 1 \
--        --stringparam man.authors.section.enabled 0 \
--        --stringparam man.copyright.section.enabled 0
--
--.xml.1:
--	$(AM_V_GEN) $(XSLTPROC) $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
--
--endif
--
--CLEANFILES ?=
--CLEANFILES += $(man_MANS)
--
--EXTRA_DIST += $(man_MANS)
--
--dist-hook-local: all-local
--
--gio-docs-clean: clean
--	cd $(srcdir) && rm -rf xml html
-diff -urN a/docs/reference/glib/Makefile.am b/docs/reference/glib/Makefile.am
---- a/docs/reference/glib/Makefile.am	2013-06-10 00:03:17.000000000 +0200
-+++ b/docs/reference/glib/Makefile.am	1970-01-01 01:00:00.000000000 +0100
-@@ -1,128 +0,0 @@
--## Process this file with automake to produce Makefile.in
--include $(top_srcdir)/Makefile.decl
--
--AUTOMAKE_OPTIONS = 1.6
--
--# The name of the module.
--DOC_MODULE=glib
--
--# The top-level SGML file.
--DOC_MAIN_SGML_FILE=glib-docs.xml
--
--# The directory containing the source code. Relative to $(srcdir)
--DOC_SOURCE_DIR=$(top_srcdir)/glib $(top_srcdir)/gmodule
--
--# Extra options to supply to gtkdoc-scan
--SCAN_OPTIONS=--deprecated-guards="G_DISABLE_DEPRECATED" --ignore-decorators="GLIB_VAR|G_GNUC_WARN_UNUSED_RESULT"
--
--# Extra options to supply to gtkdoc-mkdb
--MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=g
--
--# Used for dependencies
--HFILE_GLOB=$(top_srcdir)/glib/*.h $(top_srcdir)/gmodule/*.h
--CFILE_GLOB=$(top_srcdir)/glib/*.c $(top_srcdir)/gmodule/*.c
--
--# Ignore some private headers
--IGNORE_HFILES = \
--	gallocator.h		\
--	gdatasetprivate.h	\
--	glibintl.h		\
--	gbsearcharray.h		\
--	glib-private.h		\
--	gmoduleconf.h		\
--	gthreadprivate.h	\
--	gunibreak.h		\
--	gunicomp.h		\
--	gunidecomp.h		\
--	gunichartables.h	\
--	glib_probes.h		\
--	glib_trace.h		\
--	libcharset.h		\
--	gdebug.h		\
--	gprintfint.h		\
--	gmirroringtable.h	\
--	gscripttable.h		\
--	glib-mirroring-tab	\
--	gnulib			\
--	pcre			\
--	update-pcre		\
--	gbytesprivate.h		\
--	gvariant-internal.h	\
--	gvariant-serialiser.h	\
--	gvariant-core.h		\
--	gvarianttypeinfo.h	\
--	gwakeup.h
--
--# Images to copy into HTML directory
--HTML_IMAGES =  				\
--	file-name-encodings.png		\
--	mainloop-states.gif
--
--# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
--content_files =				\
--	cross.xml			\
--	running.xml			\
--	building.xml			\
--	changes.xml			\
--	compiling.xml			\
--	programming.xml			\
--	resources.xml			\
--	regex-syntax.xml		\
--	version.xml			\
--	glib-gettextize.xml		\
--	gtester.xml			\
--	gtester-report.xml		\
--	gvariant-varargs.xml		\
--	gvariant-text.xml
--
--expand_content_files = 			\
--	compiling.xml
--
--# Extra options to supply to gtkdoc-fixref
--FIXXREF_OPTIONS=--extra-dir=$(srcdir)/../gobject/html --extra-dir=$(srcdir)/../gio/html
--
--# include common portion ...
--include $(top_srcdir)/gtk-doc.make
--
--# Other files to distribute
--EXTRA_DIST +=				\
--	file-name-encodings.png		\
--	file-name-encodings.sxd		\
--	mainloop-states.fig		\
--	mainloop-states.png		\
--	mainloop-states.eps		\
--	version.xml.in
--
--########################################################################
--
--man_MANS =
--
--if ENABLE_MAN
--
--man_MANS += \
--	glib-gettextize.1 	\
--	gtester.1		\
--	gtester-report.1
--
--XSLTPROC_FLAGS = \
--        --nonet \
--        --stringparam man.output.quietly 1 \
--        --stringparam funcsynopsis.style ansi \
--        --stringparam man.th.extra1.suppress 1 \
--        --stringparam man.authors.section.enabled 0 \
--        --stringparam man.copyright.section.enabled 0
--
--.xml.1:
--	$(AM_V_GEN) $(XSLTPROC) $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
--
--endif
--
--CLEANFILES ?=
--CLEANFILES += $(man_MANS)
--
--EXTRA_DIST += $(man_MANS)
--
--dist-hook-local: all-local
--
--glib-docs-clean: clean
--	cd $(srcdir) && rm -rf xml html
-diff -urN a/docs/reference/gobject/Makefile.am b/docs/reference/gobject/Makefile.am
---- a/docs/reference/gobject/Makefile.am	2013-06-10 00:03:17.000000000 +0200
-+++ b/docs/reference/gobject/Makefile.am	1970-01-01 01:00:00.000000000 +0100
-@@ -1,104 +0,0 @@
--## Process this file with automake to produce Makefile.in
--include $(top_srcdir)/Makefile.decl
--
--AUTOMAKE_OPTIONS = 1.6
--
--# The name of the module.
--DOC_MODULE=gobject
--
--# The top-level SGML file.
--DOC_MAIN_SGML_FILE=gobject-docs.xml
--
--# The directory containing the source code. Relative to $(srcdir)
--DOC_SOURCE_DIR=$(top_srcdir)/gobject
--
--# Extra options to supply to gtkdoc-scan
--SCAN_OPTIONS=--deprecated-guards="G_DISABLE_DEPRECATED" \
--             --ignore-decorators="G_GNUC_INTERNAL|G_GNUC_WARN_UNUSED_RESULT"
--
--# Extra options to supply to gtkdoc-mkdb
--MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=g
--
--# Used for dependencies
--HFILE_GLOB=$(top_srcdir)/gobject/*.h
--CFILE_GLOB=$(top_srcdir)/gobject/*.c
--
--# Headers to ignore
--IGNORE_HFILES = \
--	tests			\
--	gobject_trace.h		\
--	gtype-private.h		\
--	gatomicarray.h
--
--
--# CFLAGS and LDFLAGS for compiling scan program. Only needed
--# if $(DOC_MODULE).types is non-empty.
--AM_CPPFLAGS = 				\
--	-I$(srcdir) 			\
--	$(gobject_INCLUDES) 		\
--	$(GLIB_DEBUG_FLAGS)
--
--GTKDOC_LIBS = 					\
--	$(top_builddir)/glib/libglib-2.0.la	\
--	$(top_builddir)/gobject/libgobject-2.0.la
--
--# Images to copy into HTML directory
--HTML_IMAGES =  \
--	images/glue.png
--
--# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
--content_files = version.xml 		\
--		glib-mkenums.xml 	\
--		glib-genmarshal.xml	\
--		gobject-query.xml \
--		tut_gobject.xml \
--		tut_gsignal.xml \
--		tut_gtype.xml \
--		tut_howto.xml \
--		tut_intro.xml \
--		tut_tools.xml
--
--# Extra options to supply to gtkdoc-fixref
--FIXXREF_OPTIONS=--extra-dir=$(srcdir)/../glib/html
--
--include $(top_srcdir)/gtk-doc.make
--
--# Other files to distribute
--EXTRA_DIST += 		\
--	gobject.cI	\
--	version.xml.in
--
--########################################################################
--
--man_MANS =
--
--if ENABLE_MAN
--
--man_MANS += 			\
--	glib-mkenums.1 		\
--	glib-genmarshal.1 	\
--	gobject-query.1
--
--
--XSLTPROC_FLAGS = \
--        --nonet \
--        --stringparam man.output.quietly 1 \
--        --stringparam funcsynopsis.style ansi \
--        --stringparam man.th.extra1.suppress 1 \
--        --stringparam man.authors.section.enabled 0 \
--        --stringparam man.copyright.section.enabled 0
--
--.xml.1:
--	$(AM_V_GEN) $(XSLTPROC) $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
--
--endif
--
--CLEANFILES ?=
--CLEANFILES += $(man_MANS)
--
--EXTRA_DIST += $(man_MANS)
--
--dist-hook-local: all-local
--
--gobject-docs-clean: clean
--	cd $(srcdir) && rm -rf xml html
-diff -urN a/docs/reference/Makefile.am b/docs/reference/Makefile.am
---- a/docs/reference/Makefile.am	2013-06-10 00:03:17.000000000 +0200
-+++ b/docs/reference/Makefile.am	1970-01-01 01:00:00.000000000 +0100
-@@ -1,3 +0,0 @@
--include $(top_srcdir)/Makefile.decl
--
--SUBDIRS = glib gobject gio
-diff -urN a/Makefile.am b/Makefile.am
---- a/Makefile.am	2013-06-10 00:03:17.000000000 +0200
-+++ b/Makefile.am	2013-06-29 05:50:18.224749533 +0200
-@@ -6,7 +6,7 @@
- 
- ACLOCAL_AMFLAGS = -I m4macros ${ACLOCAL_FLAGS}
- 
--SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs
-+SUBDIRS = . m4macros glib gmodule gthread gobject gio po
- DIST_SUBDIRS = $(SUBDIRS) build
- if BUILD_MODULAR_TESTS
- SUBDIRS += tests 
-@@ -71,8 +71,7 @@
- 	README			\
- 	INSTALL			\
- 	ChangeLog		\
--	config.h.win32		\
--	gtk-doc.make
-+	config.h.win32
- 
- CONFIGURE_DEPENDENCIES = acglib.m4
- 
--- a/src/mingw-glib-2-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
---- a/glib/gatomic.c.orig	2013-07-29 12:05:27 -0400
-+++ a/glib/gatomic.c	2013-07-29 12:07:46 -0400
-@@ -475,6 +475,14 @@
- 
- #if !defined (_MSC_VER) || _MSC_VER <= 1200
- #include "gmessages.h"
-+
-+#ifndef MemoryBarrier
-+static inline void MemoryBarrier (void) {
-+  long dummy = 0;
-+  InterlockedExchange (&dummy, 1);
-+}
-+#endif
-+
- /* Inlined versions for older compiler */
- static LONG
- _gInterlockedAnd (volatile guint *atomic,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mingw-glpk-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,30 @@
+diff -ur glpk-4.55.orig/src/env/time.c glpk-4.55/src/env/time.c
+--- glpk-4.55.orig/src/env/time.c	2016-01-14 09:41:16.135339481 -0500
++++ glpk-4.55/src/env/time.c	2016-01-14 09:48:05.279096864 -0500
+@@ -44,9 +44,24 @@
+ 
+ #define EPOCH 2440588 /* jday(1, 1, 1970) */
+ 
+-/* POSIX version ******************************************************/
++#if defined(__MINGW32__)
++
++#include <windows.h>
+ 
+-#if defined(HAVE_SYS_TIME_H) && defined(HAVE_GETTIMEOFDAY)
++double glp_time(void)
++{     SYSTEMTIME st;
++      int j;
++      double t;
++      GetSystemTime(&st);
++      j = jday(st.wDay, st.wMonth, st.wYear);
++      xassert(j >= 0);
++      t = ((((double)(j - EPOCH) * 24.0 + (double)st.wHour) * 60.0 +
++         (double)st.wMinute) * 60.0 + (double)st.wSecond) * 1000.0 +
++         (double)st.wMilliseconds;
++      return t;
++}
++/* POSIX version ******************************************************/
++#elif defined(HAVE_SYS_TIME_H) && defined(HAVE_GETTIMEOFDAY)
+ 
+ #include <sys/time.h>
+ #include <time.h>
--- a/src/mingw-hdf5-1.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/mingw-hdf5-1.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,6 +1,6 @@
 diff -rNu a/bin/make_lib_settings b/bin/make_lib_settings
 --- a/bin/make_lib_settings	1969-12-31 19:00:00.000000000 -0500
-+++ b/bin/make_lib_settings	2012-12-26 16:20:00.517121947 -0500
++++ b/bin/make_lib_settings	2014-09-01 11:49:54.453674207 -0400
 @@ -0,0 +1,45 @@
 +#!/usr/bin/perl -w
 +require 5.003;
@@ -47,22 +47,11 @@
 +}
 +
 +print ";\n"
-diff -rNu a/configure.ac b/configure.ac
---- a/configure.ac	2012-10-26 20:14:41.000000000 -0400
-+++ b/configure.ac	2012-12-26 16:20:00.517121947 -0500
-@@ -1045,7 +1045,7 @@
- ## Create libtool.  If shared/static libraries are going to be enabled
- ## or disabled, it should happen before these macros.
- LT_PREREQ([2.2])
--LT_INIT([dlopen])
-+LT_INIT([win32-dll dlopen])
- 
- ## ----------------------------------------------------------------------
- ## Check if we should install only statically linked executables.
+
 diff -rNu a/src/H5Tinit.c.mingw32 b/src/H5Tinit.c.mingw32
 --- a/src/H5Tinit.c.mingw32	1969-12-31 19:00:00.000000000 -0500
-+++ b/src/H5Tinit.c.mingw32	2012-12-26 16:20:00.521121812 -0500
-@@ -0,0 +1,978 @@
++++ b/src/H5Tinit.c.mingw32	2014-09-01 11:49:54.461673944 -0400
+@@ -0,0 +1,977 @@
 +/* Generated automatically by H5detect -- do not edit */
 +
 +
@@ -74,15 +63,12 @@
 + *                                                                           *
 + * This file is part of HDF5.  The full HDF5 copyright notice, including     *
 + * terms governing use, modification, and redistribution, is contained in    *
-+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
-+ * of the source code distribution tree; Copyright.html can be found at the  *
-+ * root level of an installed copy of the electronic HDF5 document set and   *
-+ * is linked from the top-level documents page.  It can also be found at     *
-+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
-+ * access to either file, you may request a copy from help@hdfgroup.org.     *
-+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-+ *
-+ * Created:		Nov 29, 2012
++ * the COPYING file, which can be found at the root of the source code       *
++ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.  *
++ * If you do not have access to either file, you may request a copy from     *
++ * help@hdfgroup.org.                                                        *
++ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
++ * Created:		May 26, 2020
 + *			
 + *
 + * Purpose:		This machine-generated source code contains
@@ -96,7 +82,7 @@
 + *			printed from most significant bit to least
 + *			significant bit even though the actual bytes
 + *			might be stored in a different order in
-+ *			memory.	 The integers above each binary byte
++ *			memory.     The integers above each binary byte
 + *			indicate the relative order of the bytes in
 + *			memory; little-endian machines have
 + *			decreasing numbers while big-endian machines
@@ -107,8 +93,8 @@
 + *			`M' for the mantissa magnitude, and `E' for
 + *			the exponent.  The exponent has an associated
 + *			bias which can be subtracted to find the
-+ *			true exponent.	The radix point is assumed
-+ *			to be before the first `M' bit.	 Any bit
++ *			true exponent.    The radix point is assumed
++ *			to be before the first `M' bit.     Any bit
 + *			of a floating-point value not falling into one
 + *			of these categories is printed as a question
 + *			mark.  Bits of integer types are printed as
@@ -117,7 +103,7 @@
 + *			If the most significant bit of the normalized
 + *			mantissa (always a `1' except for `0.0') is
 + *			not stored then an `implicit=yes' appears
-+ *			under the field description.  In thie case,
++ *			under the field description.  In this case,
 + *			the radix point is still assumed to be
 + *			before the first `M' but after the implicit
 + *			bit.
@@ -134,17 +120,17 @@
 +/* Module Setup */
 +/****************/
 +
-+#define H5T_PACKAGE /*suppress error about including H5Tpkg.h*/
++#include "H5Tmodule.h"          /* This source code file is part of the H5T module */
 +
 +
 +/***********/
 +/* Headers */
 +/***********/
-+#include "H5private.h"		/* Generic Functions			*/
-+#include "H5Eprivate.h"		/* Error handling		  	*/
-+#include "H5FLprivate.h"	/* Free Lists				*/
-+#include "H5Iprivate.h"		/* IDs			  		*/
-+#include "H5Tpkg.h"		/* Datatypes 				*/
++#include "H5private.h"        /* Generic Functions            */
++#include "H5Eprivate.h"        /* Error handling              */
++#include "H5FLprivate.h"    /* Free Lists                */
++#include "H5Iprivate.h"        /* IDs                      */
++#include "H5Tpkg.h"        /* Datatypes                 */
 +
 +
 +/****************/
@@ -190,26 +176,26 @@
 +
 +
 +/*-------------------------------------------------------------------------
-+ * Function:	H5TN_init_interface
++ * Function:    H5T__init_native
 + *
-+ * Purpose:	Initialize pre-defined native datatypes from code generated
++ * Purpose:    Initialize pre-defined native datatypes from code generated
 + *              during the library configuration by H5detect.
 + *
-+ * Return:	Success:	non-negative
-+ *		Failure:	negative
++ * Return:    Success:    non-negative
++ *        Failure:    negative
 + *
-+ * Programmer:	Robb Matzke
++ * Programmer:    Robb Matzke
 + *              Wednesday, December 16, 1998
 + *
 + *-------------------------------------------------------------------------
 + */
 +herr_t
-+H5TN_init_interface(void)
++H5T__init_native(void)
 +{
-+    H5T_t	*dt = NULL;
-+    herr_t	ret_value = SUCCEED;
++    H5T_t    *dt = NULL;
++    herr_t    ret_value = SUCCEED;
 +
-+    FUNC_ENTER_NOAPI(FAIL)
++    FUNC_ENTER_PACKAGE
 +
 +   /*
 +    *    0
@@ -1008,11 +994,12 @@
 +    /* Set the native order for this machine */
 +    H5T_native_order_g = H5T_ORDER_LE;
 +
-+    /* Structure alignment for pointers, hvl_t, hobj_ref_t, hdset_reg_ref_t */
++    /* Structure alignment for pointers, vlen and reference types */
 +    H5T_POINTER_COMP_ALIGN_g = 4;
 +    H5T_HVL_COMP_ALIGN_g = 4;
 +    H5T_HOBJREF_COMP_ALIGN_g = 8;
 +    H5T_HDSETREGREF_COMP_ALIGN_g = 1;
++    H5T_REF_COMP_ALIGN_g = 8;
 +
 +done:
 +    if(ret_value < 0) {
@@ -1023,7 +1010,7 @@
 +    } /* end if */
 +
 +    FUNC_LEAVE_NOAPI(ret_value);
-+} /* end H5TN_init_interface() */
++} /* end H5T__init_native() */
 +
 +/****************************************/
 +/* ALIGNMENT and signal-handling status */
@@ -1038,59 +1025,1351 @@
 +/******************************/
 +/* signal handlers statistics */
 +/******************************/
-+/* signal_handlers tested: 10 times */
++/* signal_handlers tested: 15 times */
 +/* sigbus_handler called: 5 times */
 +/* sigsegv_handler called: 5 times */
-diff -rNu a/src/Makefile.am b/src/Makefile.am
---- a/src/Makefile.am	2012-10-11 13:30:56.000000000 -0400
-+++ b/src/Makefile.am	2012-12-26 16:29:28.153764421 -0500
-@@ -22,18 +22,11 @@
- include $(top_srcdir)/config/lt_vers.am
- 
- 
--# How to build H5detect for number format detection.
--# Use -g to force no optimization since many compilers (e.g., Intel) takes
--# a long time to compile it with any optimization on.  H5detect is used
--# to generate H5Tinit.c once. So, optimization is not critical.
--noinst_PROGRAMS = H5detect H5make_libsettings
--H5detect_CFLAGS = -g $(AM_CFLAGS)
--
- # Our main target, the HDF5 library
- lib_LTLIBRARIES=libhdf5.la
- 
- # Add libtool numbers to the HDF5 library (from config/lt_vers.am)
--libhdf5_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
-+libhdf5_la_LDFLAGS= -no-undefined -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
- 
- # H5Tinit.c and H5lib_settings.c are generated files and should be cleaned.
- MOSTLYCLEANFILES=H5Tinit.c H5lib_settings.c
-@@ -121,25 +114,17 @@
++/* sigill_handler called: 5 times */
+
+diff -rNu a/src/H5Tinit.c.mingw64 b/src/H5Tinit.c.mingw64
+--- a/src/H5Tinit.c.mingw64	1969-12-31 19:00:00.000000000 -0500
++++ b/src/H5Tinit.c.mingw64	2014-09-01 11:52:24.240756904 -0400
+@@ -0,0 +1,979 @@
++/* Generated automatically by H5detect -- do not edit */
++
++
++
++/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
++ * Copyright by The HDF Group.                                               *
++ * Copyright by the Board of Trustees of the University of Illinois.         *
++ * All rights reserved.                                                      *
++ *                                                                           *
++ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
++ * terms governing use, modification, and redistribution, is contained in    *
++ * the COPYING file, which can be found at the root of the source code       *
++ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.  *
++ * If you do not have access to either file, you may request a copy from     *
++ * help@hdfgroup.org.                                                        *
++ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
++ * Created:		May 22, 2020
++ *			
++ *
++ * Purpose:		This machine-generated source code contains
++ *			information about the various integer and
++ *			floating point numeric formats found on this
++ *			architecture.  The parameters below should be
++ *			checked carefully and errors reported to the
++ *			HDF5 maintainer.
++ *			
++ *			Each of the numeric formats listed below are
++ *			printed from most significant bit to least
++ *			significant bit even though the actual bytes
++ *			might be stored in a different order in
++ *			memory.     The integers above each binary byte
++ *			indicate the relative order of the bytes in
++ *			memory; little-endian machines have
++ *			decreasing numbers while big-endian machines
++ *			have increasing numbers.
++ *			
++ *			The fields of the numbers are printed as
++ *			letters with `S' for the mantissa sign bit,
++ *			`M' for the mantissa magnitude, and `E' for
++ *			the exponent.  The exponent has an associated
++ *			bias which can be subtracted to find the
++ *			true exponent.    The radix point is assumed
++ *			to be before the first `M' bit.     Any bit
++ *			of a floating-point value not falling into one
++ *			of these categories is printed as a question
++ *			mark.  Bits of integer types are printed as
++ *			`I' for 2's complement and `U' for magnitude.
++ *			
++ *			If the most significant bit of the normalized
++ *			mantissa (always a `1' except for `0.0') is
++ *			not stored then an `implicit=yes' appears
++ *			under the field description.  In this case,
++ *			the radix point is still assumed to be
++ *			before the first `M' but after the implicit
++ *			bit.
++ *
++ * Modifications:
++ *
++ *	DO NOT MAKE MODIFICATIONS TO THIS FILE!
++ *	It was generated by code in `H5detect.c'.
++ *
++ *-------------------------------------------------------------------------
++ */
++
++/****************/
++/* Module Setup */
++/****************/
++
++#include "H5Tmodule.h"          /* This source code file is part of the H5T module */
++
++
++/***********/
++/* Headers */
++/***********/
++#include "H5private.h"        /* Generic Functions            */
++#include "H5Eprivate.h"        /* Error handling              */
++#include "H5FLprivate.h"    /* Free Lists                */
++#include "H5Iprivate.h"        /* IDs                      */
++#include "H5Tpkg.h"        /* Datatypes                 */
++
++
++/****************/
++/* Local Macros */
++/****************/
++
++
++/******************/
++/* Local Typedefs */
++/******************/
++
++
++/********************/
++/* Package Typedefs */
++/********************/
++
++
++/********************/
++/* Local Prototypes */
++/********************/
++
++
++/********************/
++/* Public Variables */
++/********************/
++
++
++/*****************************/
++/* Library Private Variables */
++/*****************************/
++
++
++/*********************/
++/* Package Variables */
++/*********************/
++
++
++
++/*******************/
++/* Local Variables */
++/*******************/
++
++
++
++/*-------------------------------------------------------------------------
++ * Function:    H5T__init_native
++ *
++ * Purpose:    Initialize pre-defined native datatypes from code generated
++ *              during the library configuration by H5detect.
++ *
++ * Return:    Success:    non-negative
++ *        Failure:    negative
++ *
++ * Programmer:    Robb Matzke
++ *              Wednesday, December 16, 1998
++ *
++ *-------------------------------------------------------------------------
++ */
++herr_t
++H5T__init_native(void)
++{
++    H5T_t    *dt = NULL;
++    herr_t    ret_value = SUCCEED;
++
++    FUNC_ENTER_PACKAGE
++
++   /*
++    *    0
++    * IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_SCHAR_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_SCHAR_ALIGN_g = 1;
++    H5T_NATIVE_SCHAR_COMP_ALIGN_g = 1;
++
++   /*
++    *    0
++    * UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UCHAR_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UCHAR_ALIGN_g = 1;
++
++   /*
++    *    1        0
++    * IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 2;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 16;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_SHORT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_SHORT_ALIGN_g = 1;
++    H5T_NATIVE_SHORT_COMP_ALIGN_g = 2;
++
++   /*
++    *    1        0
++    * UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 2;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 16;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_USHORT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_USHORT_ALIGN_g = 1;
++
++   /*
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_ALIGN_g = 1;
++    H5T_NATIVE_INT_COMP_ALIGN_g = 4;
++
++   /*
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_ALIGN_g = 1;
++
++   /*
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_LONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_LONG_ALIGN_g = 1;
++    H5T_NATIVE_LONG_COMP_ALIGN_g = 4;
++
++   /*
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_ULONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_ULONG_ALIGN_g = 1;
++
++   /*
++    *    0
++    * IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT8_ALIGN_g = 1;
++
++   /*
++    *    0
++    * UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT8_ALIGN_g = 1;
++
++   /*
++    *    0
++    * IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_LEAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_LEAST8_ALIGN_g = 1;
++
++   /*
++    *    0
++    * UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_LEAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_LEAST8_ALIGN_g = 1;
++
++   /*
++    *    0
++    * IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_FAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_FAST8_ALIGN_g = 1;
++
++   /*
++    *    0
++    * UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 1;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 8;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_FAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_FAST8_ALIGN_g = 1;
++
++   /*
++    *    1        0
++    * IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 2;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 16;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT16_ALIGN_g = 1;
++
++   /*
++    *    1        0
++    * UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 2;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 16;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT16_ALIGN_g = 1;
++
++   /*
++    *    1        0
++    * IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 2;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 16;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_LEAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_LEAST16_ALIGN_g = 1;
++
++   /*
++    *    1        0
++    * UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 2;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 16;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_LEAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_LEAST16_ALIGN_g = 1;
++
++   /*
++    *    1        0
++    * IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 2;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 16;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_FAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_FAST16_ALIGN_g = 1;
++
++   /*
++    *    1        0
++    * UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 2;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 16;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_FAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_FAST16_ALIGN_g = 1;
++
++   /*
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT32_ALIGN_g = 1;
++
++   /*
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT32_ALIGN_g = 1;
++
++   /*
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_LEAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_LEAST32_ALIGN_g = 1;
++
++   /*
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_LEAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_LEAST32_ALIGN_g = 1;
++
++   /*
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_FAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_FAST32_ALIGN_g = 1;
++
++   /*
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_FAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_FAST32_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT64_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT64_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_LEAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_LEAST64_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_LEAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_LEAST64_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_INT_FAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_INT_FAST64_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_UINT_FAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_UINT_FAST64_ALIGN_g = 1;
++
++   /*
++    *    7        6        5        4
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    *    3        2        1        0
++    * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
++    if((H5T_NATIVE_LLONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_LLONG_ALIGN_g = 1;
++    H5T_NATIVE_LLONG_COMP_ALIGN_g = 8;
++
++   /*
++    *    7        6        5        4
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    *    3        2        1        0
++    * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_INTEGER;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
++    if((H5T_NATIVE_ULLONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_ULLONG_ALIGN_g = 1;
++
++   /*
++    *    3        2        1        0
++    * SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM
++    * Implicit bit? yes
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_FLOAT;
++    dt->shared->size = 4;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 32;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.f.sign = 31;
++    dt->shared->u.atomic.u.f.epos = 23;
++    dt->shared->u.atomic.u.f.esize = 8;
++    dt->shared->u.atomic.u.f.ebias = 0x0000007f;
++    dt->shared->u.atomic.u.f.mpos = 0;
++    dt->shared->u.atomic.u.f.msize = 23;
++    dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
++    dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
++    if((H5T_NATIVE_FLOAT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_FLOAT_ALIGN_g = 1;
++    H5T_NATIVE_FLOAT_COMP_ALIGN_g = 4;
++
++   /*
++    *    7        6        5        4
++    * SEEEEEEE EEEEMMMM MMMMMMMM MMMMMMMM
++    *    3        2        1        0
++    * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
++    * Implicit bit? yes
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_FLOAT;
++    dt->shared->size = 8;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 64;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.f.sign = 63;
++    dt->shared->u.atomic.u.f.epos = 52;
++    dt->shared->u.atomic.u.f.esize = 11;
++    dt->shared->u.atomic.u.f.ebias = 0x000003ff;
++    dt->shared->u.atomic.u.f.mpos = 0;
++    dt->shared->u.atomic.u.f.msize = 52;
++    dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
++    dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
++    if((H5T_NATIVE_DOUBLE_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_DOUBLE_ALIGN_g = 1;
++    H5T_NATIVE_DOUBLE_COMP_ALIGN_g = 8;
++
++   /*
++    *   15       14       13       12
++    * ???????? ???????? ???????? ????????
++    *   11       10        9        8
++    * ???????? ???????? SEEEEEEE EEEEEEEE
++    *    7        6        5        4
++    * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
++    *    3        2        1        0
++    * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
++    * Implicit bit? no
++    * Alignment: none
++    */
++    if(NULL == (dt = H5T__alloc()))
++        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
++    dt->shared->state = H5T_STATE_IMMUTABLE;
++    dt->shared->type = H5T_FLOAT;
++    dt->shared->size = 16;
++    dt->shared->u.atomic.order = H5T_ORDER_LE;
++    dt->shared->u.atomic.offset = 0;
++    dt->shared->u.atomic.prec = 80;
++    dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
++    dt->shared->u.atomic.u.f.sign = 79;
++    dt->shared->u.atomic.u.f.epos = 64;
++    dt->shared->u.atomic.u.f.esize = 15;
++    dt->shared->u.atomic.u.f.ebias = 0x00003fff;
++    dt->shared->u.atomic.u.f.mpos = 0;
++    dt->shared->u.atomic.u.f.msize = 64;
++    dt->shared->u.atomic.u.f.norm = H5T_NORM_NONE;
++    dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
++    if((H5T_NATIVE_LDOUBLE_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
++        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
++    H5T_NATIVE_LDOUBLE_ALIGN_g = 1;
++    H5T_NATIVE_LDOUBLE_COMP_ALIGN_g = 16;
++
++    /* Set the native order for this machine */
++    H5T_native_order_g = H5T_ORDER_LE;
++
++    /* Structure alignment for pointers, vlen and reference types */
++    H5T_POINTER_COMP_ALIGN_g = 8;
++    H5T_HVL_COMP_ALIGN_g = 8;
++    H5T_HOBJREF_COMP_ALIGN_g = 8;
++    H5T_HDSETREGREF_COMP_ALIGN_g = 1;
++    H5T_REF_COMP_ALIGN_g = 8;
++
++done:
++    if(ret_value < 0) {
++        if(dt != NULL) {
++            dt->shared = H5FL_FREE(H5T_shared_t, dt->shared);
++            dt = H5FL_FREE(H5T_t, dt);
++        } /* end if */
++    } /* end if */
++
++    FUNC_LEAVE_NOAPI(ret_value);
++} /* end H5T__init_native() */
++
++/****************************************/
++/* ALIGNMENT and signal-handling status */
++/****************************************/
++/* Signal() support: yes */
++/* setjmp() support: yes */
++/* longjmp() support: yes */
++/* sigsetjmp() support: no */
++/* siglongjmp() support: no */
++/* sigprocmask() support: no */
++
++/******************************/
++/* signal handlers statistics */
++/******************************/
++/* signal_handlers tested: 15 times */
++/* sigbus_handler called: 5 times */
++/* sigsegv_handler called: 5 times */
++/* sigill_handler called: 5 times */
+
+diff --git "a/src/H5lib_settings.c.mingw32" "b/src/H5lib_settings.c.mingw32"
+index e69de29..ce90d85 100644
+--- "a/src/H5lib_settings.c.mingw32"
++++ "b/src/H5lib_settings.c.mingw32"
+@@ -0,0 +1,121 @@
++/* Generated automatically by H5make_libsettings -- do not edit */
++
++
++
++/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
++ * Copyright by The HDF Group.                                               *
++ * Copyright by the Board of Trustees of the University of Illinois.         *
++ * All rights reserved.                                                      *
++ *                                                                           *
++ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
++ * terms governing use, modification, and redistribution, is contained in    *
++ * the COPYING file, which can be found at the root of the source code       *
++ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.  *
++ * If you do not have access to either file, you may request a copy from     *
++ * help@hdfgroup.org.                                                        *
++ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
++ * Created:		May 26, 2020
++ *			
++ *
++ * Purpose:		This machine-generated source code contains
++ *			information about the library build configuration
++ *
++ * Modifications:
++ *
++ *	DO NOT MAKE MODIFICATIONS TO THIS FILE!
++ *	It was generated by code in `H5make_libsettings.c'.
++ *
++ *-------------------------------------------------------------------------
++ */
++
++char H5libhdf5_settings[]=
++	"        SUMMARY OF THE HDF5 CONFIGURATION\n"
++	"        =================================\n"
++	"\n"
++	"General Information:\n"
++	"-------------------\n"
++	"                   HDF5 Version: 1.12.0\n"
++	"                  Configured on: 2020-05-26\n"
++	"                  Configured by: Unix Makefiles\n"
++	"                    Host system: Linux-5.4.0-31-generic\n"
++	"              Uname information: Windows\n"
++	"                       Byte sex: little-endian\n"
++	"             Installation point: \n"
++	"\n"
++	"Compiling Options:\n"
++	"------------------\n"
++	"                     Build Mode: Release\n"
++	"              Debugging Symbols: OFF\n"
++	"                        Asserts: OFF\n"
++	"                      Profiling: OFF\n"
++	"             Optimization Level: OFF\n"
++	"\n"
++	"Linking Options:\n"
++	"----------------\n"
++	"                      Libraries: \n"
++	"  Statically Linked Executables: OFF\n"
++	"                        LDFLAGS: \n"
++	"                     H5_LDFLAGS: \n"
++	"                     AM_LDFLAGS: \n"
++	"                Extra libraries: m;ws2_32;wsock32\n"
++	"                       Archiver: /home/osboxes/Documents/Repositories/Octave/mxe-octave-w32/usr/bin/i686-w64-mingw32-ar\n"
++	"                         Ranlib: /home/osboxes/Documents/Repositories/Octave/mxe-octave-w32/usr/bin/i686-w64-mingw32-ranlib\n"
++	"\n"
++	"Languages:\n"
++	"----------\n"
++	"                              C: YES\n"
++	"                     C Compiler: /home/osboxes/Documents/Repositories/Octave/mxe-octave-w32/usr/bin/i686-w64-mingw32-gcc 9.3.0\n"
++	"                       CPPFLAGS: \n"
++	"                    H5_CPPFLAGS: \n"
++	"                    AM_CPPFLAGS: \n"
++	"                         CFLAGS:   -std=c99  -fstdarg-opt  -Wall -Wcast-qual -Wconversion -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-include-dirs -Wno-c++-compat -Wno-format-nonliteral -Wshadow -Wundef -Wwrite-strings -pedantic -fmessage-length=0\n"
++	"                      H5_CFLAGS: \n"
++	"                      AM_CFLAGS: \n"
++	"               Shared C Library: YES\n"
++	"               Static C Library: NO\n"
++	"\n"
++	"                        Fortran: OFF\n"
++	"               Fortran Compiler: /home/osboxes/Documents/Repositories/Octave/mxe-octave-w32/usr/bin/i686-w64-mingw32-gfortran \n"
++	"                  Fortran Flags: \n"
++	"               H5 Fortran Flags: \n"
++	"               AM Fortran Flags: \n"
++	"         Shared Fortran Library: YES\n"
++	"         Static Fortran Library: NO\n"
++	"\n"
++	"                            C++: OFF\n"
++	"                   C++ Compiler: /home/osboxes/Documents/Repositories/Octave/mxe-octave-w32/usr/bin/i686-w64-mingw32-g++ \n"
++	"                      C++ Flags:  \n"
++	"                   H5 C++ Flags: \n"
++	"                   AM C++ Flags: \n"
++	"             Shared C++ Library: YES\n"
++	"             Static C++ Library: NO\n"
++	"\n"
++	"                            JAVA: OFF\n"
++	"                 JAVA Compiler:  \n"
++	"\n"
++	"Features:\n"
++	"---------\n"
++	"                   Parallel HDF5: OFF\n"
++	"Parallel Filtered Dataset Writes: \n"
++	"              Large Parallel I/O: \n"
++	"              High-level library: ON\n"
++	"                Build HDF5 Tests: OFF\n"
++	"                Build HDF5 Tools: ON\n"
++	"                    Threadsafety: OFF\n"
++	"             Default API mapping: v112\n"
++	"  With deprecated public symbols: ON\n"
++	"          I/O filters (external):  DEFLATE\n"
++	"                             MPE: \n"
++	"                      Direct VFD: \n"
++	"              (Read-Only) S3 VFD: \n"
++	"            (Read-Only) HDFS VFD: \n"
++	"                         dmalloc: \n"
++	"  Packages w/ extra debug output: \n"
++	"                     API Tracing: OFF\n"
++	"            Using memory checker: OFF\n"
++	" Memory allocation sanity checks: OFF\n"
++	"          Function Stack Tracing: OFF\n"
++	"       Strict File Format Checks: OFF\n"
++	"    Optimization Instrumentation: \n"
++;
++
+
+diff --git "a/src/H5lib_settings.c.mingw64" "b/src/H5lib_settings.c.mingw64"
+index e69de29..41f03c9 100644
+--- "a/src/H5lib_settings.c.mingw64"
++++ "b/src/H5lib_settings.c.mingw64"
+@@ -0,0 +1,121 @@
++/* Generated automatically by H5make_libsettings -- do not edit */
++
++
++
++/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
++ * Copyright by The HDF Group.                                               *
++ * Copyright by the Board of Trustees of the University of Illinois.         *
++ * All rights reserved.                                                      *
++ *                                                                           *
++ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
++ * terms governing use, modification, and redistribution, is contained in    *
++ * the COPYING file, which can be found at the root of the source code       *
++ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.  *
++ * If you do not have access to either file, you may request a copy from     *
++ * help@hdfgroup.org.                                                        *
++ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
++ * Created:		May 22, 2020
++ *			
++ *
++ * Purpose:		This machine-generated source code contains
++ *			information about the library build configuration
++ *
++ * Modifications:
++ *
++ *	DO NOT MAKE MODIFICATIONS TO THIS FILE!
++ *	It was generated by code in `H5make_libsettings.c'.
++ *
++ *-------------------------------------------------------------------------
++ */
++
++char H5libhdf5_settings[]=
++	"        SUMMARY OF THE HDF5 CONFIGURATION\n"
++	"        =================================\n"
++	"\n"
++	"General Information:\n"
++	"-------------------\n"
++	"                   HDF5 Version: 1.12.0\n"
++	"                  Configured on: 2020-05-22\n"
++	"                  Configured by: Unix Makefiles\n"
++	"                    Host system: Linux-5.4.0-31-generic\n"
++	"              Uname information: Windows\n"
++	"                       Byte sex: little-endian\n"
++	"             Installation point: \n"
++	"\n"
++	"Compiling Options:\n"
++	"------------------\n"
++	"                     Build Mode: Release\n"
++	"              Debugging Symbols: OFF\n"
++	"                        Asserts: OFF\n"
++	"                      Profiling: OFF\n"
++	"             Optimization Level: OFF\n"
++	"\n"
++	"Linking Options:\n"
++	"----------------\n"
++	"                      Libraries: \n"
++	"  Statically Linked Executables: OFF\n"
++	"                        LDFLAGS: \n"
++	"                     H5_LDFLAGS: \n"
++	"                     AM_LDFLAGS: \n"
++	"                Extra libraries: m;ws2_32;wsock32\n"
++	"                       Archiver: /home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ar\n"
++	"                         Ranlib: /home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ranlib\n"
++	"\n"
++	"Languages:\n"
++	"----------\n"
++	"                              C: YES\n"
++	"                     C Compiler: /home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-gcc 9.3.0\n"
++	"                       CPPFLAGS: \n"
++	"                    H5_CPPFLAGS: \n"
++	"                    AM_CPPFLAGS: \n"
++	"                         CFLAGS:   -std=c99  -fstdarg-opt  -Wall -Wcast-qual -Wconversion -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-include-dirs -Wno-c++-compat -Wno-format-nonliteral -Wshadow -Wundef -Wwrite-strings -pedantic -fmessage-length=0\n"
++	"                      H5_CFLAGS: \n"
++	"                      AM_CFLAGS: \n"
++	"               Shared C Library: YES\n"
++	"               Static C Library: NO\n"
++	"\n"
++	"                        Fortran: OFF\n"
++	"               Fortran Compiler: /home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-gfortran \n"
++	"                  Fortran Flags: \n"
++	"               H5 Fortran Flags: \n"
++	"               AM Fortran Flags: \n"
++	"         Shared Fortran Library: YES\n"
++	"         Static Fortran Library: NO\n"
++	"\n"
++	"                            C++: OFF\n"
++	"                   C++ Compiler: /home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-g++ \n"
++	"                      C++ Flags:  \n"
++	"                   H5 C++ Flags: \n"
++	"                   AM C++ Flags: \n"
++	"             Shared C++ Library: YES\n"
++	"             Static C++ Library: NO\n"
++	"\n"
++	"                            JAVA: OFF\n"
++	"                 JAVA Compiler:  \n"
++	"\n"
++	"Features:\n"
++	"---------\n"
++	"                   Parallel HDF5: OFF\n"
++	"Parallel Filtered Dataset Writes: \n"
++	"              Large Parallel I/O: \n"
++	"              High-level library: ON\n"
++	"                Build HDF5 Tests: OFF\n"
++	"                Build HDF5 Tools: ON\n"
++	"                    Threadsafety: OFF\n"
++	"             Default API mapping: v112\n"
++	"  With deprecated public symbols: ON\n"
++	"          I/O filters (external):  DEFLATE\n"
++	"                             MPE: \n"
++	"                      Direct VFD: \n"
++	"              (Read-Only) S3 VFD: \n"
++	"            (Read-Only) HDFS VFD: \n"
++	"                         dmalloc: \n"
++	"  Packages w/ extra debug output: \n"
++	"                     API Tracing: OFF\n"
++	"            Using memory checker: OFF\n"
++	" Memory allocation sanity checks: OFF\n"
++	"          Function Stack Tracing: OFF\n"
++	"       Strict File Format Checks: OFF\n"
++	"    Optimization Instrumentation: \n"
++;
++
+
+diff --git "a/src/H5win32defs.h" "b/src/H5win32defs.h"
+index 0a0bd37..405e9e8 100644
+--- "a/src/H5win32defs.h"	
++++ "b/src/H5win32defs.h"
+@@ -42,7 +42,7 @@ typedef __int64             h5_stat_size_t;
+ #define HDisatty(F)         _isatty(F)
  
- # Number format detection
- # The LD_LIBRARY_PATH setting is a kludge.
--# Things should have been all set during H5detect making.
- # Remove the generated .c file if errors occur unless HDF5_Make_Ignore
- # is set to ignore the error.
--H5Tinit.c: H5detect$(EXEEXT)
--	LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) |                  \
--		sed -e 's/-L/:/g' -e 's/ //g'`"                               \
--	$(RUNSERIAL) ./H5detect$(EXEEXT) > $@  ||                               \
--	    (test $$HDF5_Make_Ignore && echo "*** Error ignored") ||          \
--	    ($(RM) $@ ; exit 1)
-+H5Tinit.c: H5Tinit.c.mingw32
-+	cp $(srcdir)/H5Tinit.c.mingw32 $@
+ /* The isnan function needs underscore in VS2012 and earlier */
+-#if (_MSC_VER <= 1700)
++#if defined(_MSC_VER) && (_MSC_VER <= 1700)
+   #define HDisnan(X)      _isnan(X)
+ #endif /* MSC_VER < 1700 */
+ 
+diff --git "a/src/CMakeLists.txt" "b/src/CMakeLists.txt"
+--- "a/src/CMakeLists.txt"	
++++ "b/src/CMakeLists.txt"
+@@ -1087,7 +1087,8 @@ else ()
+   endif ()
+ endif ()
+ 
++if (NOT EXISTS "${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c")
+ add_executable (H5make_libsettings ${HDF5_SRC_DIR}/H5make_libsettings.c)
+ target_include_directories (H5make_libsettings PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ target_compile_definitions(H5make_libsettings PUBLIC ${HDF_EXTRA_C_FLAGS} ${HDF_EXTRA_FLAGS})
+ TARGET_C_PROPERTIES (H5make_libsettings STATIC)
+@@ -1097,28 +1098,49 @@ target_link_libraries (H5make_libsettings
+ )
  
- # Build configuration header file generation
- # The LD_LIBRARY_PATH setting is a kludge.
--# Things should have been all set during H5make_libsettings making.
- # Remove the generated .c file if errors occur unless HDF5_Make_Ignore
- # is set to ignore the error.
--H5lib_settings.c: H5make_libsettings$(EXEEXT) libhdf5.settings
--	LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) |                  \
--		sed -e 's/-L/:/g' -e 's/ //g'`"                               \
--	$(RUNSERIAL) ./H5make_libsettings$(EXEEXT) > $@  ||                               \
-+H5lib_settings.c: $(top_srcdir)/bin/make_lib_settings libhdf5.settings
-+	perl $(top_srcdir)/bin/make_lib_settings < libhdf5.settings > $@  ||  \
- 	    (test $$HDF5_Make_Ignore && echo "*** Error ignored") ||          \
- 	    ($(RM) $@ ; exit 1)
+ add_custom_command (
+-    OUTPUT ${HDF5_BINARY_DIR}/H5lib_settings.c
+-           ${HDF5_BINARY_DIR}/gen_SRCS.stamp2
++    OUTPUT ${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c
++           ${HDF5_GENERATED_SOURCE_DIR}/gen_SRCS.stamp2
+     COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:H5make_libsettings>
+-    ARGS ${HDF5_BINARY_DIR}/H5lib_settings.c
++    ARGS ${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c
+     COMMAND    ${CMAKE_COMMAND}
+     ARGS       -E touch ${HDF5_GENERATED_SOURCE_DIR}/gen_SRCS.stamp2
+     DEPENDS H5make_libsettings
+-    WORKING_DIRECTORY ${HDF5_BINARY_DIR}
++    WORKING_DIRECTORY ${HDF5_GENERATED_SOURCE_DIR}
+ )
+-set_source_files_properties (${HDF5_BINARY_DIR}/H5lib_settings.c PROPERTIES GENERATED TRUE)
++set_source_files_properties (${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c PROPERTIES GENERATED TRUE)
+ if (BUILD_SHARED_LIBS)
+   add_custom_command (
+-      OUTPUT ${HDF5_BINARY_DIR}/shared/H5lib_settings.c
+-             ${HDF5_BINARY_DIR}/shared/shared_gen_SRCS.stamp2
++      OUTPUT ${HDF5_GENERATED_SOURCE_DIR}/shared/H5lib_settings.c
++             ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp2
+       COMMAND    ${CMAKE_COMMAND}
+-      ARGS       -E copy_if_different "${HDF5_BINARY_DIR}/H5lib_settings.c" "${HDF5_BINARY_DIR}/shared/H5lib_settings.c"
++      ARGS       -E copy_if_different "${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c" "${HDF5_GENERATED_SOURCE_DIR}/shared/H5lib_settings.c"
+       COMMAND    ${CMAKE_COMMAND}
+       ARGS       -E touch ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp2
+-      DEPENDS    ${HDF5_BINARY_DIR}/H5lib_settings.c
+-      WORKING_DIRECTORY ${HDF5_BINARY_DIR}
++      DEPENDS    ${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c
++      WORKING_DIRECTORY ${HDF5_GENERATED_SOURCE_DIR}
++  )
++  set_source_files_properties (${HDF5_GENERATED_SOURCE_DIR}/shared/H5lib_settings.c PROPERTIES GENERATED TRUE)
++endif ()
++else ()
++  add_custom_command (
++      OUTPUT ${HDF5_GENERATED_SOURCE_DIR}/gen_SRCS.stamp2
++      COMMAND    ${CMAKE_COMMAND}
++      ARGS       -E touch ${HDF5_GENERATED_SOURCE_DIR}/gen_SRCS.stamp2
++      DEPENDS    ${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c
++      WORKING_DIRECTORY ${HDF5_GENERATED_SOURCE_DIR}
+   )
+-  set_source_files_properties (${HDF5_BINARY_DIR}/shared/H5lib_settings.c PROPERTIES GENERATED TRUE)
++  if (BUILD_SHARED_LIBS)
++    add_custom_command (
++        OUTPUT     ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp2
++        COMMAND    ${CMAKE_COMMAND}
++        ARGS       -E copy_if_different "${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c" "${HDF5_GENERATED_SOURCE_DIR}/shared/H5lib_settings.c"
++        COMMAND    ${CMAKE_COMMAND}
++        ARGS       -E touch ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp2
++        DEPENDS    ${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c
++        WORKING_DIRECTORY ${HDF5_GENERATED_SOURCE_DIR}
++    )
++    set_source_files_properties (${HDF5_GENERATED_SOURCE_DIR}/shared/H5lib_settings.c PROPERTIES GENERATED TRUE)
++  endif ()
+ endif ()
  
+ ## all_packages="AC,B,B2,D,F,FA,FL,FS,HL,I,O,S,ST,T,Z"
+@@ -1129,7 +1151,7 @@ option (HDF5_ENABLE_DEBUG_APIS "Turn on extra debug output in all packages" OFF)
+ # Add H5Tinit source to build - generated by H5detect/CMake at configure time
+ #-----------------------------------------------------------------------------
+ if (NOT ONLY_SHARED_LIBS)
+-  set (gen_SRCS ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c ${HDF5_BINARY_DIR}/H5lib_settings.c)
++  set (gen_SRCS ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c ${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c)
+   add_custom_target (gen_${HDF5_LIB_TARGET} ALL DEPENDS ${HDF5_GENERATED_SOURCE_DIR}/gen_SRCS.stamp1 ${HDF5_GENERATED_SOURCE_DIR}/gen_SRCS.stamp2)
+ 
+   add_library (${HDF5_LIB_TARGET} STATIC ${common_SRCS} ${gen_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS})
+@@ -1164,7 +1186,7 @@ if (NOT ONLY_SHARED_LIBS)
+ endif ()
+ 
+ if (BUILD_SHARED_LIBS)
+-  set (shared_gen_SRCS ${HDF5_GENERATED_SOURCE_DIR}/shared/H5Tinit.c ${HDF5_BINARY_DIR}/shared/H5lib_settings.c)
++  set (shared_gen_SRCS ${HDF5_GENERATED_SOURCE_DIR}/shared/H5Tinit.c ${HDF5_GENERATED_SOURCE_DIR}/shared/H5lib_settings.c)
+   add_custom_target (gen_${HDF5_LIBSH_TARGET} ALL DEPENDS ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp1 ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp2)
+ 
+   add_library (${HDF5_LIBSH_TARGET} SHARED ${common_SRCS} ${shared_gen_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS})
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mingw-lapack-1-xerbla.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+diff -ur lapack-3.8.0.orig/SRC/CMakeLists.txt lapack-3.8.0/SRC/CMakeLists.txt
+--- lapack-3.8.0.orig/SRC/CMakeLists.txt	2018-11-07 11:53:43.333467954 -0500
++++ lapack-3.8.0/SRC/CMakeLists.txt	2018-11-07 11:55:33.212104761 -0500
+@@ -37,7 +37,7 @@
+ 
+ set(ALLAUX ilaenv.f ilaenv2stage.f ieeeck.f lsamen.f iparmq.f iparam2stage.F
+    ilaprec.f ilatrans.f ilauplo.f iladiag.f chla_transtype.f
+-   ../INSTALL/ilaver.f ../INSTALL/lsame.f xerbla.f xerbla_array.f
++   ../INSTALL/ilaver.f ../INSTALL/lsame.f xerbla_array.f
+    ../INSTALL/slamch.f)
+ 
+ set(SCLAUX
+diff -ur lapack-3.8.0.orig/SRC/Makefile lapack-3.8.0/SRC/Makefile
+--- lapack-3.8.0.orig/SRC/Makefile	2018-11-07 11:53:43.337468050 -0500
++++ lapack-3.8.0/SRC/Makefile	2018-11-07 11:56:19.701220847 -0500
+@@ -56,7 +56,7 @@
+ #
+ #######################################################################
+ 
+-ALLAUX = ilaenv.o ilaenv2stage.o ieeeck.o lsamen.o xerbla.o xerbla_array.o \
++ALLAUX = ilaenv.o ilaenv2stage.o ieeeck.o lsamen.o xerbla_array.o \
+    iparmq.o iparam2stage.o \
+    ilaprec.o ilatrans.o ilauplo.o iladiag.o chla_transtype.o \
+    ../INSTALL/ilaver.o ../INSTALL/lsame.o ../INSTALL/slamch.o
--- a/src/mingw-libgcrypt-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/mingw-libgcrypt-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,35 +1,131 @@
-diff -ur libgcrypt-1.5.3.orig/random/rndw32.c libgcrypt-1.5.3/random/rndw32.c
---- libgcrypt-1.5.3.orig/random/rndw32.c	2013-10-18 11:40:06 -0400
-+++ libgcrypt-1.5.3/random/rndw32.c	2013-10-18 11:42:15 -0400
-@@ -78,7 +78,9 @@
- #include <stdint.h>
+This file is part of MXE. See LICENSE.md for licensing information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Thu, 4 Dec 2014 15:07:43 +1100
+Subject: [PATCH 1/3] fix for mingw cross building
+
+Taken from:
+https://aur.archlinux.org/packages/mingw-w64-libgcrypt/
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 1111111..2222222 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -102,7 +102,9 @@ AC_DEFUN([GNUPG_SYS_SYMBOL_UNDERSCORE],
+ [tmp_do_check="no"
+ case "${host}" in
+     i?86-mingw32* | i?86-*-mingw32*)
+-        ac_cv_sys_symbol_underscore=yes
++        if test "x$ac_cv_sys_symbol_underscore" = x ; then
++           ac_cv_sys_symbol_underscore=yes
++        fi
+         ;;
+     x86_64-*-mingw32*)
+         ac_cv_sys_symbol_underscore=no
+diff --git a/mpi/generic/mpi-asm-defs.h b/mpi/generic/mpi-asm-defs.h
+index 1111111..2222222 100644
+--- a/mpi/generic/mpi-asm-defs.h
++++ b/mpi/generic/mpi-asm-defs.h
+@@ -4,5 +4,9 @@
+ #if __GNUC__ >= 3 && defined(__x86_64__) && defined(__ILP32__)
+ #define BYTES_PER_MPI_LIMB 8
+ #else
++#ifdef _WIN64
++#define BYTES_PER_MPI_LIMB  (SIZEOF_UNSIGNED_LONG_LONG)
++#else
+ #define BYTES_PER_MPI_LIMB  (SIZEOF_UNSIGNED_LONG)
  #endif
- 
-+#define WIN32_LEAN_AND_MEAN
- #include <windows.h>
-+#include <winperf.h>
++#endif
+diff --git a/src/libgcrypt.def b/src/libgcrypt.def
+index 1111111..2222222 100644
+--- a/src/libgcrypt.def
++++ b/src/libgcrypt.def
+@@ -1,3 +1,4 @@
++EXPORTS
+ ;; libgcrypt.defs -  Exported symbols for W32
+ ;; Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+ ;;
+@@ -22,7 +23,6 @@
+ ;; never be changed.  Also check libgcrypt.vers and visibility.h.
  
  
- #include "types.h"
-diff -ur libgcrypt-1.5.3.orig/src/ath.h libgcrypt-1.5.3/src/ath.h
---- libgcrypt-1.5.3.orig/src/ath.h	2013-10-18 11:40:06 -0400
-+++ libgcrypt-1.5.3/src/ath.h	2013-10-18 11:40:33 -0400
-@@ -24,6 +24,7 @@
- #include <config.h>
+-EXPORTS
+       gcry_check_version  @1
+       gcry_control  @2
+ 
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Saikrishna Arcot <saiarcot895@gmail.com>
+Date: Fri, 12 Jun 2015 14:53:55 -0700
+Subject: [PATCH 2/3] Don't call git to determine the revision.
+
+
+diff --git a/configure.ac b/configure.ac
+index 1111111..2222222 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -38,13 +38,10 @@ m4_define(mym4_version_micro, [1])
+ # processing is done by autoconf and not during the configure run.
+ m4_define(mym4_version,
+           [mym4_version_major.mym4_version_minor.mym4_version_micro])
+-m4_define([mym4_revision],
+-          m4_esyscmd([git rev-parse --short HEAD | tr -d '\n\r']))
++m4_define([mym4_revision], [4091])
+ m4_define([mym4_revision_dec],
+           m4_esyscmd_s([echo $((0x$(echo ]mym4_revision[|head -c 4)))]))
+-m4_define([mym4_betastring],
+-          m4_esyscmd_s([git describe --match 'libgcrypt-[0-9].*[0-9]' --long|\
+-                        awk -F- '$3!=0{print"-beta"$3}']))
++m4_define([mym4_betastring], [])
+ m4_define([mym4_isgit],m4_if(mym4_betastring,[],[no],[yes]))
+ m4_define([mym4_full_version],[mym4_version[]mym4_betastring])
  
- #ifdef _WIN32
-+# define WIN32_LEAN_AND_MEAN
- # include <windows.h>
- #else /* !_WIN32 */
- # ifdef HAVE_SYS_SELECT_H
-diff -ur libgcrypt-1.5.3.orig/tests/benchmark.c libgcrypt-1.5.3/tests/benchmark.c
---- libgcrypt-1.5.3.orig/tests/benchmark.c	2013-10-18 11:40:07 -0400
-+++ libgcrypt-1.5.3/tests/benchmark.c	2013-10-18 11:40:33 -0400
-@@ -25,6 +25,7 @@
- #include <time.h>
- #include <stdarg.h>
- #ifdef _WIN32
-+#define WIN32_LEAN_AND_MEAN
- #include <windows.h>
- #else
- #include <sys/times.h>
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <rjones@redhat.com>
+Date: Sun, 28 Jun 2015 17:17:25 +0200
+Subject: [PATCH 3/3] configure.ac: no serial-tests if automake < 1.12
+
+Earlier versions of automake complain if they get a configuration
+parameter which they don't understand.  The error is:
+
+configure.ac:27: error: option 'serial-tests' not recognized
+
+Use some m4 hackery to work around this.
+
+Fix libgcrypt build under x86_64
+See https://www.redhat.com/archives/libguestfs/2013-February/msg00102.html
+
+diff --git a/configure.ac b/configure.ac
+index 1111111..2222222 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -71,7 +71,24 @@ VERSION=$PACKAGE_VERSION
+ 
+ AC_CONFIG_AUX_DIR([build-aux])
+ AC_CONFIG_SRCDIR([src/libgcrypt.vers])
+-AM_INIT_AUTOMAKE([serial-tests dist-bzip2])
++
++dnl Initialize automake.  automake < 1.12 didn't have serial-tests and
++dnl gives an error if it sees this, but for automake >= 1.13
++dnl serial-tests is required so we have to include it.  Solution is to
++dnl test for the version of automake (by running an external command)
++dnl and provide it if necessary.  Note we have to do this entirely using
++dnl m4 macros since automake queries this macro by running
++dnl 'autoconf --trace ...'.
++m4_define([serial_tests], [
++    m4_esyscmd([automake --version |
++                head -1 |
++                awk '{split ($NF,a,"."); if (a[1] == 1 && a[2] >= 12) { '\
++                    'print "serial-tests" }}'
++    ])
++])
++dnl NB: Do not [quote] this parameter.
++AM_INIT_AUTOMAKE(serial_tests dist-bzip2)
++
+ AC_CONFIG_HEADER(config.h)
+ AC_CONFIG_MACRO_DIR([m4])
+ AC_CONFIG_LIBOBJ_DIR([compat])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mingw-llvm-1-config.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,64 @@
+diff --git "a/tools/llvm-config/llvm-config.cpp" "b/tools/llvm-config/llvm-config.cpp"
+index 08b096a..a35422e 100644
+--- "a/tools/llvm-config/llvm-config.cpp"	
++++ "b/tools/llvm-config/llvm-config.cpp"
+@@ -352,14 +352,16 @@ int main(int argc, char **argv) {
+   StringRef SharedExt, SharedVersionedExt, SharedDir, SharedPrefix, StaticExt,
+       StaticPrefix, StaticDir = "lib", DirSep = "/";
+   const Triple HostTriple(Triple::normalize(LLVM_HOST_TRIPLE));
+-  if (HostTriple.isOSWindows()) {
++  const Triple TargetTriple(Triple::normalize(LLVM_DEFAULT_TARGET_TRIPLE));
++  if (TargetTriple.isOSWindows()) {
+     SharedExt = "dll";
+     SharedVersionedExt = LLVM_DYLIB_VERSION ".dll";
+-    if (HostTriple.isOSCygMing()) {
++    if (TargetTriple.isOSCygMing()) {
+       StaticExt = "a";
+       StaticPrefix = "lib";
+     } else {
+       StaticExt = "lib";
++      if (HostTriple.isOSWindows()) {
+       DirSep = "\\";
+       std::replace(ActiveObjRoot.begin(), ActiveObjRoot.end(), '/', '\\');
+       std::replace(ActivePrefix.begin(), ActivePrefix.end(), '/', '\\');
+@@ -368,10 +370,11 @@ int main(int argc, char **argv) {
+       std::replace(ActiveCMakeDir.begin(), ActiveCMakeDir.end(), '/', '\\');
+       std::replace(ActiveIncludeOption.begin(), ActiveIncludeOption.end(), '/',
+                    '\\');
++      }
+     }
+     SharedDir = ActiveBinDir;
+     StaticDir = ActiveLibDir;
+-  } else if (HostTriple.isOSDarwin()) {
++  } else if (TargetTriple.isOSDarwin()) {
+     SharedExt = "dylib";
+     SharedVersionedExt = LLVM_DYLIB_VERSION ".dylib";
+     StaticExt = "a";
+@@ -386,7 +389,7 @@ int main(int argc, char **argv) {
+     StaticPrefix = SharedPrefix = "lib";
+   }
+ 
+-  const bool BuiltDyLib = !!LLVM_ENABLE_DYLIB;
++  const bool BuiltDyLib = true;
+ 
+   /// CMake style shared libs, ie each component is in a shared library.
+   const bool BuiltSharedLibs = !!LLVM_ENABLE_SHARED;
+@@ -398,7 +401,7 @@ int main(int argc, char **argv) {
+   // If LLVM_LINK_DYLIB is ON, the single shared library will be returned
+   // for "--libs", etc, if they exist. This behaviour can be overridden with
+   // --link-static or --link-shared.
+-  bool LinkDyLib = !!LLVM_LINK_DYLIB;
++  bool LinkDyLib = true;
+ 
+   if (BuiltDyLib) {
+     std::string path((SharedDir + DirSep + DyLibName).str());
+@@ -670,7 +673,7 @@ int main(int argc, char **argv) {
+         } else if (PrintLibs) {
+           // On Windows, output full path to library without parameters.
+           // Elsewhere, if this is a typical library name, include it using -l.
+-          if (HostTriple.isWindowsMSVCEnvironment()) {
++          if (TargetTriple.isWindowsMSVCEnvironment()) {
+             OS << GetComponentLibraryPath(Lib, Shared);
+           } else {
+             StringRef LibName;
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mingw-openblas-1-xerbla.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,53 @@
+diff -ur OpenBLAS-0.3.8.orig/driver/others/Makefile OpenBLAS-0.3.8/driver/others/Makefile
+--- OpenBLAS-0.3.8.orig/driver/others/Makefile	2020-02-14 10:39:58.164130459 -0500
++++ OpenBLAS-0.3.8/driver/others/Makefile	2020-02-14 10:46:23.254020333 -0500
+@@ -1,7 +1,7 @@
+ TOPDIR	= ../..
+ include ../../Makefile.system
+ 
+-COMMONOBJS	 = memory.$(SUFFIX) xerbla.$(SUFFIX) c_abs.$(SUFFIX) z_abs.$(SUFFIX) openblas_set_num_threads.$(SUFFIX) openblas_get_num_threads.$(SUFFIX) openblas_get_num_procs.$(SUFFIX) openblas_get_config.$(SUFFIX) openblas_get_parallel.$(SUFFIX) openblas_error_handle.$(SUFFIX) openblas_env.$(SUFFIX)
++COMMONOBJS	 = memory.$(SUFFIX) c_abs.$(SUFFIX) z_abs.$(SUFFIX) openblas_set_num_threads.$(SUFFIX) openblas_get_num_threads.$(SUFFIX) openblas_get_num_procs.$(SUFFIX) openblas_get_config.$(SUFFIX) openblas_get_parallel.$(SUFFIX) openblas_error_handle.$(SUFFIX) openblas_env.$(SUFFIX)
+ 
+ #COMMONOBJS	+= slamch.$(SUFFIX) slamc3.$(SUFFIX) dlamch.$(SUFFIX)  dlamc3.$(SUFFIX)
+ 
+@@ -84,25 +84,22 @@
+ 
+ ifeq ($(DYNAMIC_ARCH), 1)
+ ifeq ($(ARCH),arm64)
+-HPLOBJS = memory.$(SUFFIX) xerbla.$(SUFFIX) dynamic_arm64.$(SUFFIX)
++HPLOBJS = memory.$(SUFFIX) dynamic_arm64.$(SUFFIX)
+ else
+ ifeq ($(ARCH),power)
+-HPLOBJS = memory.$(SUFFIX) xerbla.$(SUFFIX) dynamic_power.$(SUFFIX)
++HPLOBJS = memory.$(SUFFIX) dynamic_power.$(SUFFIX)
+ else
+ ifeq ($(ARCH),zarch)
+-HPLOBJS = memory.$(SUFFIX) xerbla.$(SUFFIX) dynamic_zarch.$(SUFFIX)
++HPLOBJS = memory.$(SUFFIX) dynamic_zarch.$(SUFFIX)
+ else
+-HPLOBJS = memory.$(SUFFIX) xerbla.$(SUFFIX) dynamic.$(SUFFIX)
++HPLOBJS = memory.$(SUFFIX) dynamic.$(SUFFIX)
+ endif
+ endif
+ endif
+ else
+-HPLOBJS = memory.$(SUFFIX) xerbla.$(SUFFIX) parameter.$(SUFFIX)
++HPLOBJS = memory.$(SUFFIX) parameter.$(SUFFIX)
+ endif
+ 
+-xerbla.$(SUFFIX) : xerbla.c
+-	$(CC) $(CFLAGS) -c $< -o $(@F)
+-
+ dynamic.$(SUFFIX) : dynamic.c
+ 	$(CC) $(CFLAGS) -c $< -o $(@F)
+ 
+@@ -190,9 +187,6 @@
+ mulx.$(SUFFIX) : $(ARCH)/mulx.c
+ 	$(CC) $(CFLAGS) -c -DXDOUBLE -UCOMPLEX $< -o $(@F)
+ 
+-xerbla.$(PSUFFIX) : xerbla.c
+-	$(CC) $(PFLAGS) -c $< -o $(@F)
+-
+ parameter.$(PSUFFIX) : parameter.c ../../param.h
+ 	$(CC) $(PFLAGS) -c $< -o $(@F)
+ 
--- a/src/mingw-pango-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-From 6dc99b57932d52db33413b9f054ef8843f697ec0 Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Wed, 29 Sep 2010 00:52:59 +0200
-Subject: [PATCH 1/4] s,DllMain,static _disabled_DllMain,
-
-
-diff --git a/pango/pango-utils.c b/pango/pango-utils.c
-index 18ffa26..aac59ab 100644
---- a/pango/pango-utils.c
-+++ b/pango/pango-utils.c
-@@ -691,12 +691,12 @@ pango_config_key_get (const char *key)
- 
- #ifdef G_OS_WIN32
- 
--/* DllMain function needed to tuck away the DLL handle */
-+/* static _disabled_DllMain function needed to tuck away the DLL handle */
- 
- static HMODULE pango_dll; /* MT-safe */
- 
- BOOL WINAPI
--DllMain (HINSTANCE hinstDLL,
-+static _disabled_DllMain (HINSTANCE hinstDLL,
- 	 DWORD     fdwReason,
- 	 LPVOID    lpvReserved)
- {
--- 
-1.7.10.4
-
-
-From e5359406f68e5bb4bd5f1b9516f9d28f41e8b38e Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Wed, 29 Sep 2010 00:50:08 +0200
-Subject: [PATCH 2/4] add missing lib to pango.pc for static linking
-
-
-diff --git a/pango.pc.in b/pango.pc.in
-index 17a8b7a..16c5981 100644
---- a/pango.pc.in
-+++ b/pango.pc.in
-@@ -10,5 +10,5 @@ Description: Internationalized text handling
- Version: @VERSION@
- Requires: glib-2.0 gobject-2.0
- Requires.private: gmodule-no-export-2.0
--Libs: -L${libdir} -lpango-@PANGO_API_VERSION@ @PKGCONFIG_MATH_LIBS@
-+Libs: -L${libdir} -lpango-@PANGO_API_VERSION@ @PKGCONFIG_MATH_LIBS@ -lusp10
- Cflags: -I${includedir}/pango-1.0
--- 
-1.7.10.4
-
-
-From 8a4c71a44d76896fcdb610f50eaa07be3d108c3d Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Fri, 15 Jun 2012 16:21:40 +0200
-Subject: [PATCH 3/4] do not force shared for win32
-
-
-diff --git a/configure.in b/configure.in
-index a0e0057..fe1f7fe 100644
---- a/configure.in
-+++ b/configure.in
-@@ -142,20 +142,6 @@ AC_CHECK_HEADERS(unistd.h sys/mman.h)
- # Win32 stuff
- #
- 
--AC_LIBTOOL_WIN32_DLL
--AM_DISABLE_STATIC
--
--if test "$pango_os_win32" = "yes"; then
--  if test x$enable_static = xyes -o x$enable_static = x; then
--    AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.])
--    enable_static=no
--  fi
--  if test x$enable_shared = xno; then
--    AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.])
--  fi
--  enable_shared=yes
--fi
--
- AM_PROG_LIBTOOL
- dnl when using libtool 2.x create libtool early, because it's used in configure
- m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
-diff --git a/modules/Makefile.am b/modules/Makefile.am
-index 73b42f4..19c5a4f 100644
---- a/modules/Makefile.am
-+++ b/modules/Makefile.am
-@@ -21,22 +21,7 @@ RUN_QUERY_MODULES_TEST=true
- all-local: pango.modules
- endif
- 
--install-data-local: $(top_builddir)/pango/pango-querymodules$(EXEEXT)
--	@if $(RUN_QUERY_MODULES_TEST) && test -z "$(DESTDIR)" ; then 	\
--	  echo $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/pango \&\& 	\
--	  $(top_builddir)/pango/pango-querymodules$(EXEEXT) 		\
--		\> $(DESTDIR)$(sysconfdir)/pango/pango.modules ;	\
--	  $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/pango && 		\
--	  $(top_builddir)/pango/pango-querymodules$(EXEEXT) 		\
--		> $(DESTDIR)$(sysconfdir)/pango/pango.modules ;		\
--	else								\
--	  echo "***" ; 							\
--	  echo "*** Warning: $(sysconfdir)/pango/pango.modules" ; 	\
--	  echo "*** not created" ; 					\
--	  echo "*** Generate this file on the target system" ; 		\
--	  echo "*** using pango-querymodules" ; 			\
--	  echo "***" ; 							\
--	fi
-+install-data-local:
- 
- uninstall-local:
- 	$(RM) $(DESTDIR)$(sysconfdir)/pango/pango.modules
--- 
-1.7.10.4
-
-
-From ed84a78833202e38407f47e1fcd28fa8e612d536 Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Mon, 18 Jun 2012 21:36:53 +0200
-Subject: [PATCH 4/4] kill gtk-doc (MXE specific)
-
-
-diff --git a/Makefile.am b/Makefile.am
-index 1ac018a..1999723 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,6 +1,6 @@
- ## Process this file with automake to create Makefile.in.
- 
--SUBDIRS= pango modules pango-view examples docs tools tests build
-+SUBDIRS= pango modules pango-view examples tools tests build
- 
- EXTRA_DIST = 			\
- 	autogen.sh		\
-diff --git a/autogen.sh b/autogen.sh
-index bc7c59c..4e1918c 100755
---- a/autogen.sh
-+++ b/autogen.sh
-@@ -7,14 +7,6 @@ test -n "$srcdir" || srcdir=.
- olddir=`pwd`
- cd "$srcdir"
- 
--GTKDOCIZE=`which gtkdocize`
--if test -z $GTKDOCIZE; then
--	echo "*** No GTK-Doc found, please install it ***"
--	exit 1
--else
--	gtkdocize || exit $?
--fi
--
- AUTORECONF=`which autoreconf`
- if test -z $AUTORECONF; then
- 	echo "*** No autoreconf found, please install it ***"
-diff --git a/configure.in b/configure.in
-index fe1f7fe..23c4311 100644
---- a/configure.in
-+++ b/configure.in
-@@ -568,14 +568,7 @@ dnl **************************
- dnl *** Checks for gtk-doc ***
- dnl **************************
- 
--if $have_cairo ; then : ; else
--   if  test x$enable_gtk_doc = xyes ; then
--      AC_MSG_WARN([Cairo not present, disabling doc building])      
--      enable_gtk_doc=no
--   fi
--fi
--
--GTK_DOC_CHECK([1.0])
-+enable_gtk_doc=no
- 
- AC_ARG_ENABLE(man,
-               AC_HELP_STRING([--enable-man],
--- 
-1.7.10.4
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mingw-portaudio-1-pkgconfig.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,11 @@
+diff -ur portaudio.orig/portaudio-2.0.pc.in portaudio/portaudio-2.0.pc.in
+--- portaudio.orig/portaudio-2.0.pc.in	2015-01-26 13:21:54.575071537 -0500
++++ portaudio/portaudio-2.0.pc.in	2015-01-26 14:27:24.442724865 -0500
+@@ -8,5 +8,6 @@
+ Requires:
+ Version: 19
+ 
+-Libs: -L${libdir} -lportaudio @LIBS@
++Libs: -L${libdir} -lportaudio 
++Libs.private: @LIBS@
+ Cflags: -I${includedir} @THREAD_CFLAGS@
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mingw-s2tc-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,30 @@
+diff -uNr a/configure.ac b/configure.ac
+--- a/configure.ac	2013-11-04 07:14:46.000000000 -0500
++++ b/configure.ac	2017-10-18 09:14:22.139804537 -0400
+@@ -11,7 +11,13 @@
+ 	fi
+ fi
+ 
+-AC_PROG_LIBTOOL
++ifdef([LT_INIT], [], [
++  errprint([error: you must have libtool 2.2.2 or a more recent version
++])
++  m4exit([1])])
++
++LT_PREREQ([2.2.2])
++LT_INIT([disable-static dlopen win32-dll])
+ 
+ AC_ARG_ENABLE(runtime-linking, AS_HELP_STRING([--disable-runtime-linking], [Do not load the library at runtime (faster startup, more dependencies)]), [enable_runtime_linking=$enableval], [enable_runtime_linking=yes])
+ AC_ARG_ENABLE(tools, AS_HELP_STRING([--disable-tools], [Do not build the s2tc_compress and s2_decompress tools]), [enable_tools=$enableval], [enable_tools=yes])
+diff -uNr a/Makefile.am b/Makefile.am
+--- a/Makefile.am	2013-11-04 07:14:46.000000000 -0500
++++ b/Makefile.am	2017-10-18 09:15:08.413658528 -0400
+@@ -26,7 +26,7 @@
+ if ENABLE_LIB
+ lib_LTLIBRARIES = libtxc_dxtn.la
+ libtxc_dxtn_la_SOURCES = s2tc_algorithm.cpp s2tc_libtxc_dxtn.cpp s2tc_common.h s2tc_algorithm.h txc_dxtn.h s2tc_license.h
+-libtxc_dxtn_la_LDFLAGS = -versioninfo 0:0:0
++libtxc_dxtn_la_LDFLAGS = -versioninfo 0:0:0 -no-undefined
+ libtxc_dxtn_la_LIBADD = -lm
+ libtxc_dxtn_la_CFLAGS = -fvisibility=hidden -Wold-style-definition -Wstrict-prototypes -Wsign-compare -Wdeclaration-after-statement
+ library_includedir = $(includedir)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mingw-texinfo-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,92 @@
+diff -ur texinfo-6.6.orig/info/man.c texinfo-6.6/info/man.c
+--- texinfo-6.6.orig/info/man.c	2019-03-08 16:34:38.634930145 -0500
++++ texinfo-6.6/info/man.c	2019-03-08 16:41:52.845293995 -0500
+@@ -414,7 +414,7 @@
+   int bsize = 0;
+   int bindex = 0;
+   int select_result;
+-#if defined (FD_SET)
++#if defined (FD_SET) && !defined(__MINGW32__)
+   fd_set read_fds;
+ 
+   timeout.tv_sec = 15;
+diff -ur texinfo-6.6.orig/info/pcterm.c texinfo-6.6/info/pcterm.c
+--- texinfo-6.6.orig/info/pcterm.c	2019-03-08 16:34:38.630930050 -0500
++++ texinfo-6.6/info/pcterm.c	2019-03-08 16:41:52.845293995 -0500
+@@ -1679,7 +1679,7 @@
+ }
+ 
+ /* These should never be called, but they make the linker happy.  */
+-
++#ifndef __MINGW32__
+ int       tputs (const char *a, int b, int (*c)(int))
+ {
+   perror ("tputs"); return 0; /* here and below, added dummy retvals */
+@@ -1719,3 +1719,4 @@
+ {
+   perror ("tcsetattr"); return 0;
+ }
++#endif
+Only in texinfo-6.6/info: pcterm.c.orig
+diff -ur texinfo-6.6.orig/info/session.c texinfo-6.6/info/session.c
+--- texinfo-6.6.orig/info/session.c	2019-03-08 16:34:38.634930145 -0500
++++ texinfo-6.6/info/session.c	2019-03-08 16:41:52.849294091 -0500
+@@ -453,7 +453,7 @@
+     space_avail = sizeof (info_input_buffer) - (push_index - pop_index);
+ 
+   /* If we can just find out how many characters there are to read, do so. */
+-#if defined (FIONREAD)
++#if defined (FIONREAD) && !defined(__MINGW32__)
+   {
+     ioctl (tty, FIONREAD, &chars_avail);
+ 
+@@ -645,7 +645,7 @@
+       if (in_map && pop_index == push_index)
+         {
+           int ready = 0;
+-#if defined (FD_SET)
++#if defined (FD_SET) && !defined(__MINGW32__)
+           struct timeval timer, *timerp = 0;
+           fd_set readfds;
+ 
+@@ -750,7 +750,7 @@
+ void
+ pause_or_input (void)
+ {
+-#ifdef FD_SET
++#if defined (FD_SET) && !defined(__MINGW32__)
+   struct timeval timer;
+   fd_set readfds;
+ #endif
+@@ -758,7 +758,7 @@
+   if (pop_index != push_index)
+     return; /* Input is already waiting. */
+ 
+-#ifdef FD_SET
++#if defined (FD_SET) && !defined(__MINGW32__)
+   FD_ZERO (&readfds);
+   FD_SET (fileno (stdin), &readfds);
+   timer.tv_sec = 2;
+@@ -5433,7 +5433,7 @@
+       ready = 1;
+       if (!info_any_buffered_input_p ())
+         {
+-#if defined (FD_SET)
++#if defined (FD_SET) && !defined(__MINGW32__)
+           struct timeval timer;
+           fd_set readfds;
+ 
+Only in texinfo-6.6/info: session.c.orig
+diff -ur texinfo-6.6.orig/tp/texi2any.pl texinfo-6.6/tp/texi2any.pl
+--- texinfo-6.6.orig/tp/texi2any.pl	2019-03-08 16:34:38.490926704 -0500
++++ texinfo-6.6/tp/texi2any.pl	2019-03-08 16:41:52.849294091 -0500
+@@ -54,7 +54,7 @@
+   my $updir = File::Spec->updir();
+ 
+   # These are substituted by the Makefile to create "texi2any".
+-  my $datadir = '@datadir@';
++  my $datadir = '/usr/share';
+   my $package = '@PACKAGE@';
+   my $packagedir = '@pkglibdir@';
+ 
+Only in texinfo-6.6/tp: texi2any.pl.orig
--- a/src/mingw-utils.mk	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-# This file is part of MXE.
-# See index.html for further information.
-
-PKG             := mingw-utils
-$(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 716f51d7622b36448fc1e92d2c69d8f41b1cc2df
-$(PKG)_SUBDIR   := $(PKG)-$(word 1,$(subst -, ,$($(PKG)_VERSION)))
-$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION)-mingw32-src.tar.lzma
-$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/mingw/MinGW/Extension/$(PKG)/$(PKG)-$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_DEPS     :=
-
-define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://sourceforge.net/projects/mingw/files/MinGW/Extension/mingw-utils/' | \
-    $(SED) -n 's,.*mingw-utils-\([0-9][^"]*\)/".*,\1,p' | \
-    head -1
-endef
-
-define $(PKG)_BUILD
-    # native build
-    cp -Rp '$(1)' '$(1).native'
-    cd '$(1).native' && ./configure \
-        $(ENABLE_SHARED_OR_STATIC) \
-        --prefix='$(BUILD_TOOLS_PREFIX)'
-    $(MAKE) -C '$(1).native/reimp' -j '$(JOBS)'
-    $(INSTALL) -m755 '$(1).native/reimp/reimp' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)reimp'
-
-    # cross build
-    cd '$(1)' && ./configure \
-        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        $(ENABLE_SHARED_OR_STATIC) \
-        --prefix='$(HOST_PREFIX)'
-    $(MAKE) -C '$(1)' -j '$(JOBS)'
-    $(MAKE) -C '$(1)' -j 1 install
-endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mingw-w64-1-float-h.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,61 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Sun, 29 Mar 2015 14:36:38 +0200
+Subject: [PATCH 1/2] workaround for -isystem flag messing up include order
+
+https://bugzilla.redhat.com/show_bug.cgi?id=843436
+
+diff --git a/mingw-w64-headers/crt/float.h b/mingw-w64-headers/crt/float.h
+index 1111111..2222222 100644
+--- a/mingw-w64-headers/crt/float.h
++++ b/mingw-w64-headers/crt/float.h
+@@ -114,6 +114,15 @@
+ 	#define DBL_MAX_10_EXP	__DBL_MAX_10_EXP__
+ 	#define LDBL_MAX_10_EXP	__LDBL_MAX_10_EXP__
+ 
++    /* The difference between 1 and the least value greater than 1 that is
++    representable in the given floating point type, b**1-p.  */
++    #undef FLT_EPSILON
++    #undef DBL_EPSILON
++    #undef LDBL_EPSILON
++    #define FLT_EPSILON __FLT_EPSILON__
++    #define DBL_EPSILON __DBL_EPSILON__
++    #define LDBL_EPSILON    __LDBL_EPSILON__
++
+ 	/* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown.  */
+ 	/* ??? This is supposed to change with calls to fesetround in <fenv.h>.  */
+ 	#undef FLT_ROUNDS
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jonathan Yong <10walls@gmail.com>
+Date: Fri, 22 Dec 2017 13:01:03 +0000
+Subject: [PATCH 2/2] dwmapi.def: Regenegerate from Windows 10
+
+Remove ordinals from x86 library too.
+
+Signed-off-by: Jonathan Yong <10walls@gmail.com>
+
+Taken from: https://sourceforge.net/p/mingw-w64/mailman/message/36166386/
+
+diff --git a/mingw-w64-headers/crt/float.h b/mingw-w64-headers/crt/float.h
+index 1111111..2222222 100644
+--- a/mingw-w64-headers/crt/float.h
++++ b/mingw-w64-headers/crt/float.h
+@@ -114,6 +114,15 @@
+ 	#define DBL_MAX_10_EXP	__DBL_MAX_10_EXP__
+ 	#define LDBL_MAX_10_EXP	__LDBL_MAX_10_EXP__
+ 
++    /* The difference between 1 and the least value greater than 1 that is
++    representable in the given floating point type, b**1-p.  */
++    #undef FLT_EPSILON
++    #undef DBL_EPSILON
++    #undef LDBL_EPSILON
++    #define FLT_EPSILON __FLT_EPSILON__
++    #define DBL_EPSILON __DBL_EPSILON__
++    #define LDBL_EPSILON    __LDBL_EPSILON__
++
+     /* The difference between 1 and the least value greater than 1 that is
+     representable in the given floating point type, b**1-p.  */
+     #undef FLT_EPSILON
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mingw-w64.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,30 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := mingw-w64
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 7.0.0
+$(PKG)_CHECKSUM := 25940043c4541e3e59608dead9b6f75b5596d606
+$(PKG)_SUBDIR   := $(PKG)-v$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-v$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$(PKG)-release/$($(PKG)_FILE)
+$(PKG)_DEPS     :=
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/' | \
+    $(SED) -n 's,.*mingw-w64-v\([0-9.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    mkdir '$(1).headers-build'
+    cd '$(1).headers-build' && '$(1)/mingw-w64-headers/configure' \
+        --host='$(TARGET)' \
+        --prefix='$(HOST_PREFIX)' \
+        --enable-sdk=all \
+        --enable-idl \
+        --enable-secure-api
+
+    $(MAKE) -C '$(1).headers-build' install
+endef
--- a/src/mingwrt.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/mingwrt.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := mingwrt
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.20-2
 $(PKG)_CHECKSUM := cc6c1f841ab255e52e60f9c967cea6acf29354db
 $(PKG)_SUBDIR   := .
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION)-mingw32-dev.tar.lzma
@@ -10,7 +11,7 @@
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://sourceforge.net/projects/mingw/files/MinGW/Base/mingw-rt/' | \
+    $(WGET) -q -O- 'https://sourceforge.net/projects/mingw/files/MinGW/Base/mingwrt/' | \
     $(SED) -n 's,.*mingwrt-\([0-9][^"]*\)/".*,\1,p' | \
     head -1
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mman-win32-1-include_name_change.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,15 @@
+This file is part of MXE.
+See index.html for further information.
+
+diff -urN mman-win32-master/Makefile mman-win32-master-patch/Makefile
+--- mman-win32-master/Makefile	2013-04-23 07:36:23.000000000 +0300
++++ mman-win32-master-patch/Makefile	2014-01-05 14:24:31.793744239 +0200
+@@ -25,7 +25,7 @@
+ 	mkdir -p $(DESTDIR)$(libdir)
+ 	cp libmman.a $(DESTDIR)$(libdir)
+ 	mkdir -p $(DESTDIR)$(incdir)
+-	cp mman.h $(DESTDIR)$(incdir)
++	cp mman.h $(DESTDIR)$(incdir)/mman-win32.h
+ 
+ lib-install:
+ 	mkdir -p $(DESTDIR)$(libdir)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mman-win32.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := mman-win32
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3421c28e753c38d24a2e27c111b1c9b4601ebe7d
+$(PKG)_CHECKSUM := c33e84043d49d0e33bc434bda3a16ce60432e789
+$(PKG)_SUBDIR   := mman-win32-master
+$(PKG)_FILE     := mman-win32-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://github.com/witwall/mman-win32/archive/master.tar.gz
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    echo 'TODO: Updates for package mman-win32 need to be written.' >&2;
+    echo $(mman-win32_VERSION)
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && chmod +x configure
+    cd '$(1)' && ./configure \
+        --cross-prefix='$(MXE_TOOL_PREFIX)' \
+        --enable-static \
+        --prefix='$(HOST_PREFIX)' \
+        --libdir='$(HOST_LIBDIR)' \
+        --incdir='$(HOST_INCDIR)/sys'
+    $(MAKE) -C '$(1)' -j $(JOBS)
+    $(MAKE) -C '$(1)' -j 1 install
+
+    if [ $(BUILD_SHARED) = yes ]; then \
+      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CC)' '$(HOST_LIBDIR)/libmman.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)'; \
+    fi
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mpc.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,28 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := mpc
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.0
+$(PKG)_CHECKSUM := b019d9e1d27ec5fb99497159d43a3164995de2d0
+$(PKG)_SUBDIR   := mpc-$($(PKG)_VERSION)
+$(PKG)_FILE     := mpc-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://ftp.gnu.org/gnu/mpc/$($(PKG)_FILE)
+$(PKG)_DEPS     := build-gcc gmp mpfr
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/$(PKG)/?C=M;O=D' | \
+    $(SED) -n 's,.*<a href="$(PKG)-\([0-9][^"]*\)\.tar.*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        --host='$(TARGET)' \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+        --with-gmp='$(HOST_PREFIX)/' \
+        --with-mpfr='$(HOST_PREFIX)/'
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+endef
--- a/src/mpfr.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/mpfr.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,18 +3,19 @@
 
 PKG             := mpfr
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 7527c322b91fe8e6055ead551e1b46b9f1712ccd
+$(PKG)_VERSION  := 4.0.2
+$(PKG)_CHECKSUM := 52c1f2a4c9a202f46cf3275a8d46b562aa584208
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
-$(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/$(PKG)/$($(PKG)_FILE)
+$(PKG)_URL      := ftp://ftp.gnu.org/gnu/mpfr/$($(PKG)_FILE)
 $(PKG)_URL_2    := http://www.mpfr.org/mpfr-$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_DEPS     := gmp
+$(PKG)_DEPS     := build-gcc gmp
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.mpfr.org/mpfr-current/#download' | \
-    grep 'mpfr-' | \
-    $(SED) -n 's,.*mpfr-\([0-9][^>]*\)\.tar.*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://gforge.inria.fr/scm/viewvc.php/mpfr/tags/' | \
+    $(SED) -n 's,.*tags/\([0-9][^/]*\).*,\1,p' |
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msitools.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msitools.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msitools
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.92
 $(PKG)_CHECKSUM := 695933981b679f71a5aed21d14d2fb54ae0e7102
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
@@ -12,9 +13,8 @@
 $(PKG)_PREFIX   := '$(HOST_PREFIX)'
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/$(PKG)/refs/tags' | \
-    $(SED) -n "s,.*tag/?id=\([0-9]\+\.[0-9]*[02468]\.[^']*\).*,\1,p" | \
-    head -1
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
 endef
 
 ifeq ($(MXE_SYSTEM),msvc)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msvc-openssl-3-libdeps.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,12 @@
+diff -ur a/engines/ccgost/Makefile b/engines/ccgost/Makefile
+--- a/engines/ccgost/Makefile	2013-02-11 10:26:04.000000000 -0500
++++ b/engines/ccgost/Makefile	2013-10-14 13:38:18.595806411 -0400
+@@ -32,7 +32,7 @@
+ 		$(MAKE) -f $(TOP)/Makefile.shared -e \
+ 			LIBNAME=$(LIBNAME) \
+ 			LIBEXTRAS='$(LIBOBJ)' \
+-			LIBDEPS='-L$(TOP) -lcrypto' \
++			LIBDEPS='-L$(TOP) -lcrypto -lgdi32' \
+ 			link_o.$(SHLIB_TARGET); \
+ 	else \
+ 		$(AR) $(LIB) $(LIBOBJ); \
--- a/src/msys-bash.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-bash.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,19 @@
 
 PKG             := msys-bash
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 2c0d36bcd474a9d1232cfe35aea6f1beb477b78a
+$(PKG)_VERSION  := 3.1.23-1
+$(PKG)_CHECKSUM := b6ef3399b8d76b5fbbd0a88774ebc2a90e8af13a
 $(PKG)_REMOTE_SUBDIR := bash/bash-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
-$(PKG)_FILE     := bash-$($(PKG)_VERSION)-msys-1.0.16-bin.tar.lzma
+$(PKG)_FILE     := bash-$($(PKG)_VERSION)-msys-1.0.18-bin.tar.xz
 $(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/bash' | \
+    $(SED) -n 's,.*title="bash-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-coreutils.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-coreutils.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-coreutils
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.97-3
 $(PKG)_CHECKSUM := 54ac256a8f0c6a89f1b3c7758f3703b4e56382be
 $(PKG)_REMOTE_SUBDIR := coreutils/coreutils-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/coreutils' | \
+    $(SED) -n 's,.*title="coreutils-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-diffutils.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-diffutils.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-diffutils
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.8.7.20071206cvs-3
 $(PKG)_CHECKSUM := 674d3e0be4c8ffe84290f48ed1dd8eb21bc3f805
 $(PKG)_REMOTE_SUBDIR := diffutils/diffutils-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/diffutils' | \
+    $(SED) -n 's,.*title="diffutils-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-dos2unix.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-dos2unix.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,18 @@
 
 PKG             := msys-dos2unix
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := bab553c740877d02311bfc5d0be3acadbcc375d0
+$(PKG)_VERSION  := 7.4.0-1
+$(PKG)_CHECKSUM := 837734cd2a51c06dbb764f04986ebe30e31a4c15
 $(PKG)_REMOTE_SUBDIR := dos2unix/dos2unix-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
-$(PKG)_FILE     := dos2unix-$($(PKG)_VERSION)-msys-1.0.17-bin.tar.lzma
+$(PKG)_FILE     := dos2unix-$($(PKG)_VERSION)-msys-1.0.19-bin.tar.lzma
 $(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/dos2unix' | \
+    $(SED) -n 's,.*title="dos2unix-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-file.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-file.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-file
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.04-1
 $(PKG)_CHECKSUM := 9d38d45a66ff2b72d732397a9e23a12e347ae41f
 $(PKG)_REMOTE_SUBDIR := file/file-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/file' | \
+    $(SED) -n 's,.*title="file-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-findutils.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-findutils.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-findutils
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.4.2-2
 $(PKG)_CHECKSUM := fbdf7bae277f02f4189fa1d9ebf92fba6852dbce
 $(PKG)_REMOTE_SUBDIR := findutils/findutils-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/findutils' | \
+    $(SED) -n 's,.*title="findutils-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-gawk.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-gawk.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-gawk
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.1.7-2
 $(PKG)_CHECKSUM := 421ecc23e764ed87291796501189cc92fa905c0d
 $(PKG)_REMOTE_SUBDIR := gawk/gawk-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/gawk' | \
+    $(SED) -n 's,.*title="gawk-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-grep.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-grep.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-grep
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.5.4-2
 $(PKG)_CHECKSUM := 69d03c4415c55b9617850a4991d0708fbe3788f6
 $(PKG)_REMOTE_SUBDIR := grep/grep-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/grep' | \
+    $(SED) -n 's,.*title="grep-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-gzip.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-gzip.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-gzip
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3.12-2
 $(PKG)_CHECKSUM := a8954ccefa9732cd16b68e2fb50bfef281465c78
 $(PKG)_REMOTE_SUBDIR := gzip/gzip-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,12 +12,19 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/gzip' | \
+    $(SED) -n 's,.*title="gzip-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
     mkdir -p '$(MSYS_BASE_DIR)'
+    if test $(MXE_WINDOWS_BUILD) = "yes"; then \
+      for f in `find $(1)/bin -type f -exec grep -l '\/bin/sh$$' {} \;` ; do \
+        echo "file $$f"; \
+        $(TOP_DIR)/tools/gen-bat-wrapper `basename $$f` > $$f.bat; \
+      done; \
+    fi
     cd '$(1)' && tar cf - . | ( cd '$(MSYS_BASE_DIR)'; tar xpf - )
     mkdir -p '$(MSYS_INFO_DIR)'
     cd '$(1)' && find . > '$(MSYS_INFO_DIR)'/$(PKG).list
--- a/src/msys-less.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-less.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-less
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 436-2
 $(PKG)_CHECKSUM := 30373c5a85ebd9846e84aed5e147ced56b1e685c
 $(PKG)_REMOTE_SUBDIR := less/less-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/less' | \
+    $(SED) -n 's,.*title="less-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys-libcrypt.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,25 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys-libcrypt
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1_1-3
+$(PKG)_CHECKSUM := db7933c59e3aa88f38d14faeaa81d79d460d6d3d
+$(PKG)_REMOTE_SUBDIR := crypt/crypt-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := libcrypt-$($(PKG)_VERSION)-msys-1.0.13-dll-0.tar.lzma
+$(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/crypt' | \
+    $(SED) -n 's,.*title="crypt-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    mkdir -p '$(MSYS_EXTENSION_DIR)'
+    cd '$(1)' && tar cf - . | ( cd '$(MSYS_EXTENSION_DIR)'; tar xpf - )
+    mkdir -p '$(MSYS_INFO_DIR)'
+    cd '$(1)' && find . > '$(MSYS_INFO_DIR)'/$(PKG).list
+endef
--- a/src/msys-libiconv.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-libiconv.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-libiconv
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.14-1
 $(PKG)_CHECKSUM := 056d16bfb7a91c3e3b1acf8adb20edea6fceecdd
 $(PKG)_REMOTE_SUBDIR := libiconv/libiconv-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/libiconv' | \
+    $(SED) -n 's,.*title="libiconv-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-libintl.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-libintl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-libintl
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.18.1.1-1
 $(PKG)_CHECKSUM := 4000b935a5bc30b4c757fde69d27716fa3c2c269
 $(PKG)_REMOTE_SUBDIR := gettext/gettext-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/gettext' | \
+    $(SED) -n 's,.*title="gettext-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-libmagic.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-libmagic.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-libmagic
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.04-1
 $(PKG)_CHECKSUM := 95de5e98b2067daaa499025854f4e4c6240a5bf9
 $(PKG)_REMOTE_SUBDIR := file/file-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/file' | \
+    $(SED) -n 's,.*title="file-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys-libopenssl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,25 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys-libopenssl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.0-1
+$(PKG)_CHECKSUM := 09bceb768e6989feb5af63928cfda661977bf751
+$(PKG)_REMOTE_SUBDIR := openssl/openssl-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := libopenssl-$($(PKG)_VERSION)-msys-1.0.13-dll-100.tar.lzma
+$(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/openssl' | \
+    $(SED) -n 's,.*title="openssl-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    mkdir -p '$(MSYS_EXTENSION_DIR)'
+    cd '$(1)' && tar cf - . | ( cd '$(MSYS_EXTENSION_DIR)'; tar xpf - )
+    mkdir -p '$(MSYS_INFO_DIR)'
+    cd '$(1)' && find . > '$(MSYS_INFO_DIR)'/$(PKG).list
+endef
--- a/src/msys-make.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-make.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-make
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.81-3
 $(PKG)_CHECKSUM := c7264eb13b05cf2e1a982a3c2619837b96203a27
 $(PKG)_REMOTE_SUBDIR := make/make-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/make' | \
+    $(SED) -n 's,.*title="make-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-msys-core.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-msys-core.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,18 @@
 
 PKG             := msys-msys-core
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 36d52ca7066eb6ad0da68c6f31214416f4c9dcec
+$(PKG)_VERSION  := 1.0.19-1
+$(PKG)_CHECKSUM := 9200450ad3df8c83be323c9b14ae344d5c1ca784
 $(PKG)_REMOTE_SUBDIR := msys-core/msys-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
-$(PKG)_FILE     := msysCORE-$($(PKG)_VERSION)-msys-1.0.18-bin.tar.lzma
+$(PKG)_FILE     := msysCORE-$($(PKG)_VERSION)-msys-1.0.19-bin.tar.xz
 $(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/msys-core' | \
+    $(SED) -n 's,.*title="msys-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys-patch.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,25 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys-patch
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.6.1-1
+$(PKG)_CHECKSUM := b4a82565f739f45dfa5ee3db8c59e9638833f89c
+$(PKG)_REMOTE_SUBDIR := patch/patch-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := patch-$($(PKG)_VERSION)-msys-1.0.13-bin.tar.lzma
+$(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/patch' | \
+    $(SED) -n 's,.*title="patch-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    mkdir -p '$(MSYS_EXTENSION_DIR)'
+    cd '$(1)' && tar cf - . | ( cd '$(MSYS_EXTENSION_DIR)'; tar xpf - )
+    mkdir -p '$(MSYS_INFO_DIR)'
+    cd '$(1)' && find . > '$(MSYS_INFO_DIR)'/$(PKG).list
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys-perl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,25 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys-perl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.8.8-1
+$(PKG)_CHECKSUM := 5123c6499393ae952d1c38abd49118d192ae0aa0
+$(PKG)_REMOTE_SUBDIR := perl/perl-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := perl-$($(PKG)_VERSION)-msys-1.0.17-bin.tar.lzma
+$(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/perl' | \
+    $(SED) -n 's,.*title="perl-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    mkdir -p '$(MSYS_EXTENSION_DIR)'
+    cd '$(1)' && tar cf - . | ( cd '$(MSYS_EXTENSION_DIR)'; tar xpf - )
+    mkdir -p '$(MSYS_INFO_DIR)'
+    cd '$(1)' && find . > '$(MSYS_INFO_DIR)'/$(PKG).list
+endef
--- a/src/msys-regex.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-regex.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-regex
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.20090805-2
 $(PKG)_CHECKSUM := d95faa144cf06625b3932a8e84ed1a6ab6bbe644
 $(PKG)_REMOTE_SUBDIR := regex/regex-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/regex' | \
+    $(SED) -n 's,.*title="regex-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-sed.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-sed.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-sed
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.2.1-2
 $(PKG)_CHECKSUM := ced60ab96ab3f713da0d0a570232f2a5f0ec5270
 $(PKG)_REMOTE_SUBDIR := sed/sed-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/sed' | \
+    $(SED) -n 's,.*title="sed-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-tar.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-tar.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-tar
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.23-1
 $(PKG)_CHECKSUM := 1791b71ad8573612049a8a4821d93e870fb2ae38
 $(PKG)_REMOTE_SUBDIR := tar/tar-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/tar' | \
+    $(SED) -n 's,.*title="tar-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-termcap.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-termcap.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-termcap
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.20050421_1-2
 $(PKG)_CHECKSUM := e4273ccfde8ecf3a7631446fb2b01971a24ff9f7
 $(PKG)_REMOTE_SUBDIR := termcap/termcap-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/termcap' | \
+    $(SED) -n 's,.*title="termcap-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-texinfo.mk	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-# This file is part of MXE.
-# See index.html for further information.
-
-PKG             := msys-texinfo
-$(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 
-$(PKG)_REMOTE_SUBDIR := texinfo/texinfo-$($(PKG)_VERSION)
-$(PKG)_SUBDIR   := 
-$(PKG)_FILE     := texinfo-$($(PKG)_VERSION)-msys-1.0.13-bin.tar.lzma
-$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
-$(PKG)_DEPS     := 
-
-define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
-endef
-
-define $(PKG)_BUILD
-    mkdir -p '$(MSYS_BASE_DIR)'
-    cd '$(1)' && tar cf - . | ( cd '$(MSYS_BASE_DIR)'; tar xpf - )
-    mkdir -p '$(MSYS_INFO_DIR)'
-    cd '$(1)' && find . > '$(MSYS_INFO_DIR)'/$(PKG).list
-endef
--- a/src/msys-unzip.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-unzip.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := msys-unzip
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 6.0-1
 $(PKG)_CHECKSUM := 38efa45dd20dde43a2911782e796e906a4e9a1cb
 $(PKG)_REMOTE_SUBDIR := unzip/unzip-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
@@ -11,8 +12,9 @@
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/unzip' | \
+    $(SED) -n 's,.*title="unzip-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-wget.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/msys-wget.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,18 @@
 
 PKG             := msys-wget
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.12-1
 $(PKG)_CHECKSUM := b13415e735484d82e81bc648fed52a83323ff993
 $(PKG)_REMOTE_SUBDIR := wget/wget-$($(PKG)_VERSION)
 $(PKG)_SUBDIR   := 
 $(PKG)_FILE     := wget-$($(PKG)_VERSION)-msys-1.0.13-bin.tar.lzma
 $(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
-$(PKG)_DEPS     := 
+$(PKG)_DEPS     := msys-libopenssl
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/wget' | \
+    $(SED) -n 's,.*title="wget-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/msys-xz.mk	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-# This file is part of MXE.
-# See index.html for further information.
-
-PKG             := msys-xz
-$(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 
-$(PKG)_REMOTE_SUBDIR := xz/xz-$($(PKG)_VERSION)
-$(PKG)_SUBDIR   := 
-$(PKG)_FILE     := xz-$($(PKG)_VERSION)-msys-1.0.17-bin.tar.lzma
-$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
-$(PKG)_DEPS     := 
-
-define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
-endef
-
-define $(PKG)_BUILD
-    mkdir -p '$(MSYS_BASE_DIR)'
-    cd '$(1)' && tar cf - . | ( cd '$(MSYS_BASE_DIR)'; tar xpf - )
-    mkdir -p '$(MSYS_INFO_DIR)'
-    cd '$(1)' && find . > '$(MSYS_INFO_DIR)'/$(PKG).list
-endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys-zip.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,25 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys-zip
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.0-1
+$(PKG)_CHECKSUM := 38a09ab05f88abd8e31e769a4520b2caea79bfde
+$(PKG)_REMOTE_SUBDIR := zip/zip-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := zip-$($(PKG)_VERSION)-msys-1.0.14-bin.tar.lzma
+$(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/zip' | \
+    $(SED) -n 's,.*title="zip-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    mkdir -p '$(MSYS_EXTENSION_DIR)'
+    cd '$(1)' && tar cf - . | ( cd '$(MSYS_EXTENSION_DIR)'; tar xpf - )
+    mkdir -p '$(MSYS_INFO_DIR)'
+    cd '$(1)' && find . > '$(MSYS_INFO_DIR)'/$(PKG).list
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys-zlib.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,25 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys-zlib
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.7-1
+$(PKG)_CHECKSUM := 8d381df177ce259153c55a69c7bbbac5daed3e9b
+$(PKG)_REMOTE_SUBDIR := zlib/zlib-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := zlib-$($(PKG)_VERSION)-msys-1.0.17-dll.tar.lzma
+$(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/zlib' | \
+    $(SED) -n 's,.*title="zlib-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    mkdir -p '$(MSYS_EXTENSION_DIR)'
+    cd '$(1)' && tar cf - . | ( cd '$(MSYS_EXTENSION_DIR)'; tar xpf - )
+    mkdir -p '$(MSYS_INFO_DIR)'
+    cd '$(1)' && find . > '$(MSYS_INFO_DIR)'/$(PKG).list
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-bash.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-bash
+$(PKG)_NAME     := bash
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.4.023-2
+$(PKG)_x86_64_CS := 848e82bda353cfa817aab58068f26de1dc8ebb55
+$(PKG)_i686_CS  := bceb04296febb3632f20f4ada02ce6f1bbd6c21d
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-coreutils.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-coreutils
+$(PKG)_NAME     := coreutils
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 8.32-1
+$(PKG)_x86_64_CS := 36b081092621b430b19f5280e5f5116875730cbb
+$(PKG)_i686_CS  := 382b60317c7dcbd9d341de8df2025f1370c25c99
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-diffutils.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-diffutils
+$(PKG)_NAME     := diffutils
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.7-1
+$(PKG)_x86_64_CS := 582a128dd21bb642e5dd8953cbb3ac64ca0bc354
+$(PKG)_i686_CS  := 5639c10c4afe0b8e0bc39b2bb8fb6efb121e2efe
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-dos2unix.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-dos2unix
+$(PKG)_NAME     := dos2unix
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 7.4.1-1
+$(PKG)_x86_64_CS := 08aec6e840765af492691b6aab0b6ddf4cd54eff
+$(PKG)_i686_CS  := 541f5b8addcd6950008917c7242e4169e8d2e726
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-filesystem.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,26 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-filesystem
+$(PKG)_NAME     := filesystem
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2020.02-2
+$(PKG)_x86_64_CS := 57a49aac59dffaa450062ab0b35804b2e2bd438f
+$(PKG)_i686_CS  := 1327b7ed5b9b543ba78826374d8f66b4b24ac518
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    echo "# mount tmp to users profile temp dir" >> "$(1)/etc/fstab"
+    echo "none /tmp usertemp binary,posix=0 0 0" >> "$(1)/etc/fstab"
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-findutils.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-findutils
+$(PKG)_NAME     := findutils
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.7.0-1
+$(PKG)_x86_64_CS := dacf83fddf197b74be16d55cbab41866cd1dd66f
+$(PKG)_i686_CS  := 0e995f9cdd4c563695ab028cb25bbccbbda19596
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-gawk.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-gawk
+$(PKG)_NAME     := gawk
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.1.0-1
+$(PKG)_x86_64_CS := 52fbcddd3b7dfef5f82e4bf0dd0f30e0309bcd0e
+$(PKG)_i686_CS  := bdb85b4902f7f84af799e8b7b1266c01aeab36cd
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-gcc-libs.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-gcc-libs
+$(PKG)_NAME     := gcc-libs
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 9.3.0-1
+$(PKG)_x86_64_CS := 6c9519fed737408a63015e6e37228bfa0511391a
+$(PKG)_i686_CS  := afeb3a10d56ed9bc1c6fb1235dd392ce2afc243d
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-gmp.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-gmp
+$(PKG)_NAME     := gmp
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 6.2.0-1
+$(PKG)_x86_64_CS := aaa5e44a168ea7afe922f59cef94274b491a0e2d
+$(PKG)_i686_CS  := 6aef4305181c56241feb5a767c19f34dbefdc7b3
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-gnupg.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-gnupg
+$(PKG)_NAME     := gnupg
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.2.20-1
+$(PKG)_x86_64_CS := 979c73be90b3c54047a15d9717fb2bdafc04351b
+$(PKG)_i686_CS  := 4f390fda3bb09989651d644a8d097a5218cb263f
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-grep.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-grep
+$(PKG)_NAME     := grep
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.1-1
+$(PKG)_x86_64_CS := 829a127bad77745fb2f742b97e5df33befd5c19f
+$(PKG)_i686_CS  := 5f77829c93755967ea5e978e56ca137155e032c6
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-gzip.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-gzip
+$(PKG)_NAME     := gzip
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.10-1
+$(PKG)_x86_64_CS := 7c32a7ba188885b81928d2f5ccdf860d7c0658e7
+$(PKG)_i686_CS  := 0605b8e46967a3a91749e2b21df4e0fc56474976
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-icu.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-icu
+$(PKG)_NAME     := icu
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 65.1-1
+$(PKG)_x86_64_CS := 9f18870beb7da0f261c44cdfc248126fed27ec1d
+$(PKG)_i686_CS  := e57c5d590b2a052e9ba7549783574e9f78dafd85
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-info.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-info
+$(PKG)_NAME     := info
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 6.7-1
+$(PKG)_x86_64_CS := a8362f25defeae5777d3e31db6df288610c1387a
+$(PKG)_i686_CS  := 0d39065dec721d1fcc73c2cb37e42a306e91b62a
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-keyring.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-keyring
+$(PKG)_NAME     := msys2-keyring
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := r21.b39fb11-1
+$(PKG)_x86_64_CS := 6660b4536c41554e3a5b2615932ec14ece1cbb13
+$(PKG)_i686_CS  := 6660b4536c41554e3a5b2615932ec14ece1cbb13
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-any.pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-less.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-less
+$(PKG)_NAME     := less
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 551-1
+$(PKG)_x86_64_CS := 9247cc2e0387cfbdaff1ccb28a045be7444c9454
+$(PKG)_i686_CS  := 0eb69e481b6bf89a1a01b0bff2e9289ebaecf26d
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libassuan.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libassuan
+$(PKG)_NAME     := libassuan
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.5.3-1
+$(PKG)_x86_64_CS := 7b53d8b1071d01b23c2757ed7c213538b5713baa
+$(PKG)_i686_CS  := 05cad0d103ac09d4562813b82db75c2aa876948b
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libbz2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libbz2
+$(PKG)_NAME     := libbz2
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.8-2
+$(PKG)_x86_64_CS := d0037f4de9682ffa8847aa07ad3f373b71b4ad16
+$(PKG)_i686_CS  := 03d5495ec5dc467e94520467f24d418cec450393
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libcrypt.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libcrypt
+$(PKG)_NAME     := libcrypt
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.1-2
+$(PKG)_x86_64_CS := 4e8b7747e8443209507811492bc560a2752064f3
+$(PKG)_i686_CS  := 80868955c97e2a8d0a33f491af0f66803ecafa89
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libexpat.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libexpat
+$(PKG)_NAME     := libexpat
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.2.9-1
+$(PKG)_x86_64_CS := 9f03f4f283f25a16c00781fbc4cad602d41f9c47
+$(PKG)_i686_CS  := d445da2f656c497e090bb2ea79be2d883a73a740
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libffi.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libffi
+$(PKG)_NAME     := libffi
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.3-1
+$(PKG)_x86_64_CS := 14e19984f304de251e137f27e66900b546812d90
+$(PKG)_i686_CS  := 4904e013c6180ea0c13298082cff9edd39697a61
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libgcrypt.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libgcrypt
+$(PKG)_NAME     := libgcrypt
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.8.5-1
+$(PKG)_x86_64_CS := 235feccfc059c53370bce609542f79b65aad9fd1
+$(PKG)_i686_CS  := 3be5d1ee6ff6e8893e750ea0470699161f1a04c8
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libgnutls.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libgnutls
+$(PKG)_NAME     := libgnutls
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.6.13-1
+$(PKG)_x86_64_CS := bbfff49c947b1ee7b52d5b53f1421647e6280b7e
+$(PKG)_i686_CS  := c30b75a31d19f1fe4e06d9b8f235c9be82e19d01
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libgpg-error.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libgpg-error
+$(PKG)_NAME     := libgpg-error
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.37-1
+$(PKG)_x86_64_CS := 2c93e18b4411b4bec8efedc952190e3ce4d3fbbd
+$(PKG)_i686_CS  := 748f1463be555ce8f298767d1113ff20dc82eb22
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libgpgme.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libgpgme
+$(PKG)_NAME     := libgpgme
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.13.1-3
+$(PKG)_x86_64_CS := c7b4f7cf67031d7a70141f03ef03a23a946e1fed
+$(PKG)_i686_CS  := e8c0530ca026afe6ee7c913184481e17d75104f8
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libhogweed.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libhogweed
+$(PKG)_NAME     := libhogweed
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.5.1-1
+$(PKG)_x86_64_CS := a3d2009be308b3f9b36d1afdc7fa2dff2855c8e1
+$(PKG)_i686_CS  := d84d9c6a3af7aa1100a97bb34205deb38a3c797a
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libiconv.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libiconv
+$(PKG)_NAME     := libiconv
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.16-1
+$(PKG)_x86_64_CS := a08074a71d5d987f77f45e88776dca03d5a180a7
+$(PKG)_i686_CS  := dda8526c9a1600ecd1860614aa2e3b201ea39d26
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libidn2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,26 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libidn2
+$(PKG)_NAME     := libidn2
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.3.0-1
+$(PKG)_x86_64_CS := 5a18ac2fdd5800bd02ae2e727b0f628fe7483a6f
+$(PKG)_i686_CS  := d33015d4d55c205b505d1b44cf941b1a708f6776
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+#https://sourceforge.net/projects/msys2/files/REPOS/MSYS2/x86_64/bash-4.4.019-3-x86_64.pkg.tar.xz
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libintl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libintl
+$(PKG)_NAME     := libintl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.19.8.1-1
+$(PKG)_x86_64_CS := 9bbb508976ac355b2a6b5afbd4a2ab3d96f61fe2
+$(PKG)_i686_CS  := 3012f6f95f6fd5916a14e18060bb10feb237d8ff
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libksba.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libksba
+$(PKG)_NAME     := libksba
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3.5-1
+$(PKG)_x86_64_CS := d4af71da2553d81b172a7c59ce0dec07edd8189e
+$(PKG)_i686_CS  := 36fd428bd5e74d634114ae606dfa33949c1f5a9e
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-liblzma.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-liblzma
+$(PKG)_NAME     := liblzma
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.2.5-1
+$(PKG)_x86_64_CS := 7b883b8aee58f753b819efc11c087f1ee05d2f05
+$(PKG)_i686_CS  := 18cee2a30a1b3e518704c9ced2ebb2a356a1db15
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libmetalink.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libmetalink
+$(PKG)_NAME     := libmetalink
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.1.3-2
+$(PKG)_x86_64_CS := f7abd405c888b5c5cd2a668cfb147cb771b35873
+$(PKG)_i686_CS  := e52a76c44404fd8242cdb397e3b2dd46f9a818ce
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libnettle.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libnettle
+$(PKG)_NAME     := libnettle
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.5.1-1
+$(PKG)_x86_64_CS := 18b98825f5a3ff66187549d72dc0db72c11eb861
+$(PKG)_i686_CS  := db9029d1fed37eaa91f5d455e6410f65e53b255e
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libnpth.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libnpth
+$(PKG)_NAME     := libnpth
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.6-1
+$(PKG)_x86_64_CS := c2394449c65ebf2df1709c5def7054690e570b0a
+$(PKG)_i686_CS  := 3fde6864fe80a41f3fbab805788191acb5d9d5ae
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libopenssl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libopenssl
+$(PKG)_NAME     := libopenssl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.1.g-1
+$(PKG)_x86_64_CS := 12c21b7ad554c2a0cae971e0537eb2af6edf22c5
+$(PKG)_i686_CS  := 5ed48e1039adaf7561f1f30a03ca08d0b1e6a239
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libp11-kit.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libp11-kit
+$(PKG)_NAME     := libp11-kit
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.23.20-2
+$(PKG)_x86_64_CS := 18e030cfa65b99d71bb5fd525679f6057eee1c35
+$(PKG)_i686_CS  := 9701df51b3cba239826ee1fee8fba80bd03fcc12
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libpcre.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libpcre
+$(PKG)_NAME     := libpcre
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 8.44-1
+$(PKG)_x86_64_CS := 90c9d7d604b20151dc07623b1efffe6ed1b9928f
+$(PKG)_i686_CS  := f607f93aee4866f2c2c29a8f58cc8b9fa7f6b233
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libpcre2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libpcre2
+$(PKG)_NAME     := libpcre2_8
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 10.34-1
+$(PKG)_x86_64_CS := 4ac35dd23d6eed722c36d19cbf6cdee339ba2a38
+$(PKG)_i686_CS  := 7bed54e4762f6c7fcfda6c5709cb59d294fb6672
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libpsl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libpsl
+$(PKG)_NAME     := libpsl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.21.0-1
+$(PKG)_x86_64_CS := 54c0714d9ea362822ad1fa3663d6feb7a704bc43
+$(PKG)_i686_CS  := 60f5a4b5209d3e370e5e93ab4b69071eb16f12b3
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libreadline.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libreadline
+$(PKG)_NAME     := libreadline
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 8.0.004-1
+$(PKG)_x86_64_CS := 510fe1a5412f913c5283bf48696a80e23396ab16
+$(PKG)_i686_CS  := 3831f3f711ea07bc41a0b3606acdc18052310dc1
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libsqlite.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libsqlite
+$(PKG)_NAME     := libsqlite
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.30.0-1
+$(PKG)_x86_64_CS := 9af9e322fa96172c9c9f04c0913ea6bacf88dd48
+$(PKG)_i686_CS  := 50979a209e065353a523233a108788eb77ed1e1c
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libtasn1.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libtasn1
+$(PKG)_NAME     := libtasn1
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.16.0-1
+$(PKG)_x86_64_CS := bda097c0a09e9629ddf67a994f87ef58e4b44ec0
+$(PKG)_i686_CS  := f6c5a551fc9999b5a70b16092aebcd3fca386cae
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libunistring.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libunistring
+$(PKG)_NAME     := libunistring
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.9.10-1
+$(PKG)_x86_64_CS := 9e0f52dbef4127cd94e6d4ba978b8177f3c1e291
+$(PKG)_i686_CS  := a291d33ba496555f17f1da651228ba9448c1f96b
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libutil-linux.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libutil-linux
+$(PKG)_NAME     := libutil-linux
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.35.1-1
+$(PKG)_x86_64_CS := 292e299fff3f0ee848a7683c3b2820ad7ec47431
+$(PKG)_i686_CS  := 7f6c875eabad30530de3378522f277f4e8358d59
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-libxml2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-libxml2
+$(PKG)_NAME     := libxml2
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.9.10-4
+$(PKG)_x86_64_CS := 2bbee395235ed343984d2436de5258d83a148078
+$(PKG)_i686_CS  := 29073c3181245e089c04bb6807167ffaf499e6b2
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-make.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-make
+$(PKG)_NAME     := make
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.3-1
+$(PKG)_x86_64_CS := 0714b7d340b1a13a1e5000b67baa36db467bba3f
+$(PKG)_i686_CS  := face8872af3cc0d0fdcd04f07765d4c874273a21
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-mintty.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,25 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-mintty
+$(PKG)_NAME     := mintty
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1~3.1.4-1
+$(PKG)_FILTER   := mintty-1~
+$(PKG)_x86_64_CS := 0de49be7036be097be0abea36ae81e86ca9d2551
+$(PKG)_i686_CS  := 7c99fbb40c4124473b86b9df40b2b661928f515a
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-mpdecimal.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-mpdecimal
+$(PKG)_NAME     := mpdecimal
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.4.2-2
+$(PKG)_x86_64_CS := d9458d2f42ac8141cae4396cdf4d5c012d335d48
+$(PKG)_i686_CS  := e50bc964c77e2c1e8e38da7bacd1e56c1bfa6278
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-mpfr.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-mpfr
+$(PKG)_NAME     := mpfr
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.0.2-1
+$(PKG)_x86_64_CS := 7d5b3fa6860878ce6f7289aeabd8fb4a9b47d639
+$(PKG)_i686_CS  := 2ed5eed28cd54e7b7b318383915178438123c7a4
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-ncurses.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-ncurses
+$(PKG)_NAME     := ncurses
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 6.2-1
+$(PKG)_x86_64_CS := 6b2dc6ab5267f61d5565032d17f6abc24e310f81
+$(PKG)_i686_CS  := ee8b6ed2494cbd6154d0c3e2be0dd1d19d6847df
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-pacman-mirrors.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,25 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-pacman-mirrors
+$(PKG)_NAME     := pacman-mirrors
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 20200329-1
+# the mirror package is NOT the same for both systems
+$(PKG)_i686_CS  := 21417ae4d160dadf091625b210e459afc6505b95
+$(PKG)_x86_64_CS := 5eb8f63b7036a0553162e10060f0695e593648e7
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-any.pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-pacman.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,25 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-pacman
+$(PKG)_NAME     := pacman
+$(PKG)_IGNORE   :=
+# NOTE: currently 5.X versions not compatible with our format
+$(PKG)_VERSION  := 5.2.1-6
+$(PKG)_x86_64_CS := f8525811c2feddcb49801e4652487531dcace21a
+$(PKG)_i686_CS  := 9d0a4a2a1dade9968fbb660d003a8fca63411f0d
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-patch.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-patch
+$(PKG)_NAME     := patch
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.7.6-1
+$(PKG)_x86_64_CS := 6429c36b3116948d5268df98cbab6fce8b3dca99
+$(PKG)_i686_CS  := 0da1fac9e66d5582f028aa50eb675d33eb5e0ba4
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-perl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-perl
+$(PKG)_NAME     := perl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.30.2-1
+$(PKG)_x86_64_CS := e3cdfcbcf9e61a96783385e6d94c3df9367a5ba7
+$(PKG)_i686_CS  := 5a645efeed96ef749f88450d260bb95692ded6f2
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-python.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,29 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-python
+$(PKG)_NAME     := python
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.8.2-1
+$(PKG)_x86_64_CS := 338c9877b879a00b39d661a7513f62897413791d
+$(PKG)_i686_CS  := 551ce598052dc6bd1f8116f667c4856426545268
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+$(PKG)_PYTHON_PKG_DIR := $(MSYS2_DIR)/usr/lib/python$(call SHORT_PKG_VERSION,msys2-python)
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+    if [ "$(ENABLE_WINDOWS_64)" == "no" ]; then \
+      rm -f "$($(PKG)_PYTHON_PKG_DIR)/distutils/command/"wininst*-amd64.exe; \
+    fi
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-runtime.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-runtime
+$(PKG)_NAME     := msys2-runtime
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.0.7-6
+$(PKG)_x86_64_CS := 4336017742d38bf8b16714b5ff61a3b8f03e045f
+$(PKG)_i686_CS  := 40c4e20fad4f25219cafe6ecac1fdbf711fedb52
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-sed.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-sed
+$(PKG)_NAME     := sed
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.8-1
+$(PKG)_x86_64_CS := af77e570fabecf7e0902e3b10d9e88d4235729ff
+$(PKG)_i686_CS  := 637f36f0e79bcdb7587be56e103095267280fd8b
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-tar.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-tar
+$(PKG)_NAME     := tar
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.32-1
+$(PKG)_x86_64_CS := a3936e67ca6c4ce7b5472bc51b250fcb6de0588a
+$(PKG)_i686_CS  := 9578891365be560dccfb22ef718443ae6648c566
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-unzip.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-unzip
+$(PKG)_NAME     := unzip
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 6.0-2
+$(PKG)_x86_64_CS := 703b6727f8c516a9a37eb0ef73cb2f097ca45979
+$(PKG)_i686_CS  := f985cc6b17eff01c79390cdc9a2f88074d7d0899
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-wget.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-wget
+$(PKG)_NAME     := wget
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.20.3-1
+$(PKG)_x86_64_CS := 1ab446bb4804de21f82781325c402a8751d0554e
+$(PKG)_i686_CS  := 7acffc43c7ebec2741173d229361bc39b24efb05
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-zip.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-zip
+$(PKG)_NAME     := zip
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.0-3
+$(PKG)_x86_64_CS := 4e012405277ad5b3f85d946cff5bebf4bc18c018
+$(PKG)_i686_CS  := 31d9ff6d2d4d8e052899fa4dc2aafdfaf9a3c1b8
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msys2-zlib.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := msys2-zlib
+$(PKG)_NAME     := zlib
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.11-1
+$(PKG)_x86_64_CS := 37e185e5ae7d42c8c045d82c31dda58affb8bb5f
+$(PKG)_i686_CS  := 27fcb9cd872dcc466ce2debcd3c5ebf9e2d82e44
+$(PKG)_CS       := $($(PKG)_$(MSYS2_ARCH)_CS)
+$(PKG)_CHECKSUM := $($(PKG)_CS)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION)-$(MSYS2_ARCH).pkg.tar.xz
+$(PKG)_URL      := $(MSYS2_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(MSYS2_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(MSYS2_PKG_BUILD)
+endef
--- a/src/muparser.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/muparser.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := muparser
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.2.2
 $(PKG)_CHECKSUM := 830383b1bcfa706be5a6ac8b7ba43f32f16a1497
 $(PKG)_SUBDIR   := $(PKG)_v$(subst .,_,$($(PKG)_VERSION))
 $(PKG)_FILE     := $(PKG)_v$(subst .,_,$($(PKG)_VERSION)).zip
@@ -10,9 +11,9 @@
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://sourceforge.net/projects/muparser/files/muparser/' | \
-    $(SED) -n 's,.*Version%20\([0-9][^"]*\)/".*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://github.com/beltoforion/muparser/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/mxml.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/mxml.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := mxml
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.7
 $(PKG)_CHECKSUM := a3bdcab48307794c297e790435bcce7becb9edae
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -10,9 +11,8 @@
 $(PKG)_DEPS     := pthreads
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://ftp.easysw.com/pub/mxml/?C=M;O=D' | \
-    $(SED) -n 's,.*<a href="\([0-9][^"]*\)/.*,\1,p' | \
-    head -1
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
 endef
 
 define $(PKG)_BUILD
--- a/src/native-binutils.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/native-binutils.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,13 +3,16 @@
 
 PKG             := native-binutils
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 587fca86f6c85949576f4536a90a3c76ffc1a3e1
+$(PKG)_VERSION  := 2.35.1
+$(PKG)_CHECKSUM := 45f7a96a2580a422f44b78317f0abf13935fecb6
 $(PKG)_SUBDIR   := binutils-$($(PKG)_VERSION)
-$(PKG)_FILE     := binutils-$($(PKG)_VERSION).tar.bz2
+$(PKG)_FILE     := binutils-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/binutils/$($(PKG)_FILE)
 $(PKG)_URL_2    := ftp://ftp.cs.tu-berlin.de/pub/gnu/binutils/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
+$(PKG)_SYSDEP_OPTIONS :=
+
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://ftp.gnu.org/gnu/binutils/?C=M;O=D' | \
     $(SED) -n 's,.*<a href="binutils-\([0-9][^"]*\)\.tar.*,\1,p' | \
@@ -18,18 +21,11 @@
 endef
 
 define $(PKG)_BUILD
-    # install config.guess for general use
-    $(INSTALL) -d '$(TOP_DIR)/dist/usr/bin'
-    $(INSTALL) -m755 '$(1)/config.guess' '$(TOP_DIR)/dist/usr/bin/'
-
-    # install target-specific autotools config file
-    $(INSTALL) -d '$(TOP_DIR)/dist/usr/share'
-    echo "ac_cv_build=`$(1)/config.guess`" > '$(TOP_DIR)/dist/usr/share/config.site'
-
     cd '$(1)' && ./configure \
         --target='$(TARGET)' \
+        $($(PKG)_SYSDEP_OPTIONS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        --prefix='/usr' \
+        --prefix='$(HOST_PREFIX)' \
         --with-gcc \
         --with-gnu-ld \
         --with-gnu-as \
@@ -37,5 +33,5 @@
         $(ENABLE_SHARED_OR_STATIC) \
         --disable-werror
     $(MAKE) -C '$(1)' -j '$(JOBS)'
-    $(MAKE) -C '$(1)' -j 1 DESTDIR='$(TOP_DIR)/native-tools' install
+    $(MAKE) -C '$(1)' -j 1 install
 endef
--- a/src/native-gcc-1-float.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-This patch has been taken from:
-http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00387.html
-http://sourceforge.net/tracker/?func=detail&atid=302435&aid=3011968&group_id=2435
-
-diff -urN a/gcc/ginclude/float.h b/gcc/ginclude/float.h
---- a/gcc/ginclude/float.h	2009-04-09 17:00:19.000000000 +0200
-+++ b/gcc/ginclude/float.h	2010-06-05 12:03:41.887724045 +0200
-@@ -275,3 +275,7 @@
- #endif /* __STDC_WANT_DEC_FP__ */
- 
- #endif /* _FLOAT_H___ */
-+
-+#ifdef __MINGW32__
-+#include_next<float.h>
-+#endif
--- a/src/native-gcc.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/native-gcc.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,45 @@
 
 PKG             := native-gcc
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 4e655032cda30e1928fcc3f00962f4238b502169
+$(PKG)_VERSION  := 9.3.0
+$(PKG)_CHECKSUM := b746688bf045a316fc92c3528138ad10d0822b6b
 $(PKG)_SUBDIR   := gcc-$($(PKG)_VERSION)
-$(PKG)_FILE     := gcc-$($(PKG)_VERSION).tar.bz2
+$(PKG)_FILE     := gcc-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_URL_2    := ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_DEPS     := mingwrt w32api build-binutils gcc-gmp gcc-mpc gcc-mpfr
+
+$(PKG)_DEPS := native-binutils gmp isl mpc mpfr
+ifeq ($(MXE_SYSTEM),mingw)
+  $(PKG)_DEPS += mingw-w64
+endif
 ifneq ($(BUILD_SHARED),yes)
 $(PKG)_STATIC_FLAG := --static
 endif
 
+ifeq ($(MXE_SYSTEM),mingw)
+  $(PKG)_SYSDEP_CONFIGURE_OPTIONS := \
+    --enable-version-specific-runtime-libs \
+    --disable-nls \
+    --without-x \
+    --disable-win32-registry \
+    --with-native-system-header-dir='$(HOST_PREFIX)/include' \
+    --enable-threads=posix \
+    --disable-multilib
+
+  ifneq ($(ENABLE_WINDOWS_64),yes)
+    $(PKG)_SYSDEP_CONFIGURE_OPTIONS += \
+      --disable-sjlj-exceptions \
+      --with-specs='%{!mfpmath:-mfpmath=sse} %{!msse:%{!mno-sse:-msse}} %{!msse2:%{!mno-sse2:-msse2}}'
+  else
+    $(PKG)_SYSDEP_CONFIGURE_OPTIONS += \
+      --enable-64bit
+  endif
+else
+  $(PKG)_SYSDEP_CONFIGURE_OPTIONS += \
+    $(ENABLE_SHARED_OR_STATIC) \
+    --disable-multilib
+endif
+
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://ftp.gnu.org/gnu/gcc/?C=M;O=D' | \
     $(SED) -n 's,.*<a href="gcc-\([0-9][^"]*\)/".*,\1,p' | \
@@ -21,73 +50,32 @@
 endef
 
 define $(PKG)_BUILD
-    # unpack support libraries
-    cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-gmp,$(TAR))
-    mv '$(1)/$(gcc-gmp_SUBDIR)' '$(1)/gmp'
-    cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-mpc,$(TAR))
-    mv '$(1)/$(gcc-mpc_SUBDIR)' '$(1)/mpc'
-    cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-mpfr,$(TAR))
-    mv '$(1)/$(gcc-mpfr_SUBDIR)' '$(1)/mpfr'
-
-    # build GCC and support libraries
+    # configure gcc
     mkdir '$(1).build'
     cd    '$(1).build' && '$(1)/configure' \
         --target='$(TARGET)' \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        --prefix='/usr' \
-        --libdir='/usr/lib' \
+        --prefix='$(HOST_PREFIX)' \
         --enable-languages='c,c++,fortran' \
-        --enable-version-specific-runtime-libs \
-        --with-gcc \
-        --with-gnu-ld \
-        --with-gnu-as \
-        --disable-nls \
-        $(ENABLE_SHARED_OR_STATIC) \
-        --disable-sjlj-exceptions \
-        --without-x \
-        --disable-win32-registry \
-        --enable-threads=win32 \
+        --disable-libsanitizer \
+        $($(PKG)_SYSDEP_CONFIGURE_OPTIONS) \
         --disable-libgomp \
-        --disable-libmudflap \
-        --with-mpfr-include='$(1)/mpfr/src' \
-        --with-mpfr-lib='$(1).build/mpfr/src/.libs' \
-        --with-native-system-header-dir=$(HOST_INCDIR) \
+        --with-cloog='$(HOST_PREFIX)' \
+        --with-gmp='$(HOST_PREFIX)' \
+        --with-isl='$(HOST_PREFIX)' \
+        --with-mpc='$(HOST_PREFIX)' \
+        --with-mpfr='$(HOST_PREFIX)' \
         $(shell [ `uname -s` == Darwin ] && echo "LDFLAGS='-Wl,-no_pie'")
-    $(MAKE) -C '$(1).build' -j '$(JOBS)'
-    $(MAKE) -C '$(1).build' -j 1 DESTDIR='$(TOP_DIR)/native-tools' install
-
-    # # create pkg-config script
-    # (echo '#!/bin/sh'; \
-    #  echo 'PKG_CONFIG_PATH="$$PKG_CONFIG_PATH_$(subst -,_,$(TARGET))" PKG_CONFIG_LIBDIR='\''$(HOST_LIBDIR)/pkgconfig'\'' exec pkg-config $($(PKG)_STATIC_FLAG) "$$@"') \
-    #          > '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)pkg-config'
-    # chmod 0755 '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)pkg-config'
 
-    # # create the CMake toolchain file
-    # [ -d '$(dir $(CMAKE_TOOLCHAIN_FILE))' ] || mkdir -p '$(dir $(CMAKE_TOOLCHAIN_FILE))'
-    # (echo 'set(CMAKE_SYSTEM_NAME Windows)'; \
-    #  echo 'set(MSYS 1)'; \
-    #  if [ $(BUILD_SHARED) = yes ]; then \
-    #    echo 'set(BUILD_SHARED_LIBS ON)'; \
-    #  else \
-    #    echo 'set(BUILD_SHARED_LIBS OFF)'; \
-    #  fi; \
-    #  if [ $(BUILD_STATIC) = yes ]; then \
-    #    echo 'set(BUILD_STATIC_LIBS ON)'; \
-    #  else \
-    #    echo 'set(BUILD_STATIC_LIBS OFF)'; \
-    #  fi; \
-    #  echo 'set(CMAKE_BUILD_TYPE Release)'; \
-    #  echo 'set(CMAKE_FIND_ROOT_PATH $(HOST_PREFIX))'; \
-    #  echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)'; \
-    #  echo 'set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)'; \
-    #  echo 'set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)'; \
-    #  echo 'set(CMAKE_C_COMPILER $(MXE_CC))'; \
-    #  echo 'set(CMAKE_CXX_COMPILER $(MXE_CXX))'; \
-    #  echo 'set(CMAKE_Fortran_COMPILER $(MXE_F77))'; \
-    #  echo 'set(CMAKE_RC_COMPILER $(MXE_WINDRES))'; \
-    #  echo 'set(PKG_CONFIG_EXECUTABLE $(MXE_PKG_CONFIG))'; \
-    #  echo 'set(QT_QMAKE_EXECUTABLE $(MXE_QMAKE))'; \
-    #  echo 'set(CMAKE_INSTALL_PREFIX $(HOST_PREFIX) CACHE PATH "Installation Prefix")'; \
-    #  echo 'set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")') \
-    #  > '$(CMAKE_TOOLCHAIN_FILE)'
+    $(MAKE) -C '$(1).build' -j '$(JOBS)'
+    $(MAKE) -C '$(1).build' -j 1 install
+
+    if [ -f $(HOST_PREFIX)/lib/gcc/$(TARGET)/lib/libgcc_s.a ]; then \
+      mv $(HOST_PREFIX)/lib/gcc/$(TARGET)/lib/libgcc_s.a $(HOST_PREFIX)/lib/gcc/$(TARGET)/$($(PKG)_VERSION)/libgcc_s.a; \
+    fi
+
+    if [ -f $(HOST_PREFIX)/lib/gcc/$(TARGET)/lib32/libgcc_s.a ]; then \
+      mv $(HOST_PREFIX)/lib/gcc/$(TARGET)/lib32/libgcc_s.a $(HOST_PREFIX)/lib/gcc/$(TARGET)/$($(PKG)_VERSION)/32/libgcc_s.a; \
+    fi
+
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ncurses-1-gcc-5-fix.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,26 @@
+diff -ur ncurses-5.9.orig/ncurses/base/MKlib_gen.sh ncurses-5.9/ncurses/base/MKlib_gen.sh
+--- ncurses-5.9.orig/ncurses/base/MKlib_gen.sh	2015-09-11 08:07:30.154205355 -0400
++++ ncurses-5.9/ncurses/base/MKlib_gen.sh	2015-09-11 08:10:59.265578376 -0400
+@@ -436,12 +436,18 @@
+ 	-e 's/^\([a-zA-Z_][a-zA-Z_]*[ *]*\)/\1 gen_/' \
+ 	-e 's/gen_$//' \
+ 	-e 's/  / /g' >>$TMP
++cat >$ED1 <<EOF
++s/  / /g
++s/^ //
++s/ $//
++s/P_NCURSES_BOOL/NCURSES_BOOL/g
++EOF
++
++sed -e 's/bool/P_NCURSES_BOOL/g' $TMP > $ED2
++cat $ED2 >$TMP
+ 
+ $preprocessor $TMP 2>/dev/null \
+-| sed \
+-	-e 's/  / /g' \
+-	-e 's/^ //' \
+-	-e 's/_Bool/NCURSES_BOOL/g' \
++| sed -f $ED1 \
+ | $AWK -f $AW2 \
+ | sed -f $ED3 \
+ | sed \
--- a/src/ncurses.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/ncurses.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -4,7 +4,8 @@
 # ncurses
 PKG             := ncurses
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 3e042e5f2c7223bffdaac9646a533b8c758b65b5
+$(PKG)_VERSION  := 6.1
+$(PKG)_CHECKSUM := 57acf6bc24cacd651d82541929f726f4def780cc
 $(PKG)_SUBDIR   := ncurses-$($(PKG)_VERSION)
 $(PKG)_FILE     := ncurses-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://ftp.gnu.org/pub/gnu/ncurses/$($(PKG)_FILE)
@@ -29,14 +30,12 @@
 endif
 endif
 
-define $(PKG)_BUILD
-    cd '$(1)' && ./configure \
+$(PKG)_COMMON_CONFIG_OPTS := \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         --prefix=$(HOST_PREFIX) \
         --disable-home-terminfo \
         --enable-sp-funcs \
-        --enable-term-driver \
         --enable-interop \
         --without-debug \
         --without-ada \
@@ -45,13 +44,37 @@
         CONFIG_SITE=/dev/null \
         $($(PKG)_CONFIG_OPTS)
 
+define $(PKG)_BUILD
+
+    ## Normal char version:
+
+    mkdir '$(1)/.build' && cd '$(1)/.build' && ../configure \
+        $($(PKG)_COMMON_CONFIG_OPTS)
+
     # MSVC generates invalid code in panel library when using -O2
     # command-line flag. Bug is reported. Disable optimization for
     # the time being.
     if test x$(MXE_SYSTEM) = xmsvc; then \
-        find '$(1)' -name Makefile \
+        find '$(1)/.build' -name Makefile \
             -exec $(SED) -i 's,-\<O2\>,,' {} \; ; \
     fi
 
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+
+    ## Wide char version:
+
+    mkdir '$(1)/.build-widec' && cd '$(1)/.build-widec' && ../configure \
+        --enable-widec \
+        $($(PKG)_COMMON_CONFIG_OPTS)
+
+    # MSVC generates invalid code in panel library when using -O2
+    # command-line flag. Bug is reported. Disable optimization for
+    # the time being.
+    if test x$(MXE_SYSTEM) = xmsvc; then \
+        find '$(1)/.build-widec' -name Makefile \
+            -exec $(SED) -i 's,-\<O2\>,,' {} \; ; \
+    fi
+
+    $(MAKE) -C '$(1)/.build-widec' -j '$(JOBS)' install DESTDIR='$(3)'
+
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/netcdf-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,14 @@
+diff --git "a/netcdf/ncdump/ncvalidator.c" "b/netcdf/ncdump/ncvalidator.c"
+index a0e4acb..2a7c5af 100644
+--- "a/ncdump/ncvalidator.c"	
++++ "b/ncdump/ncvalidator.c"
+@@ -76,7 +76,9 @@ THIS SOFTWARE.
+ #ifdef _WIN32
+ #include <io.h>
+ #define snprintf _snprintf
++#ifndef HAVE_UNISTD_H
+ #include "XGetopt.h"
++#endif
+ int opterr;
+ int optind;
+ #endif
--- a/src/netcdf.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/netcdf.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,18 +3,24 @@
 
 PKG             := netcdf
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 31b4b3b17146cc8c14a8c7be3fe5f28e5a8a5deb
-$(PKG)_SUBDIR   := netcdf-$($(PKG)_VERSION)
-$(PKG)_FILE     := netcdf-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-$($(PKG)_VERSION).tar.gz
+$(PKG)_VERSION  := 4.7.4
+$(PKG)_CHECKSUM := dce4851dd65bf8ec985f11711bb5a8aa299515b9
+$(PKG)_SUBDIR   := netcdf-c-$($(PKG)_VERSION)
+$(PKG)_FILE     := netcdf-c-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := ftp://ftp.unidata.ucar.edu/pub/netcdf/$($(PKG)_FILE)
 $(PKG)_DEPS     := curl hdf5
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.unidata.ucar.edu/downloads/netcdf/current/index.jsp' | \
-    $(SED) -n 's,.*netcdf-\([0-9][^>]*\)\.tar.*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'ftp://ftp.unidata.ucar.edu/pub/netcdf/' | \
+    $(SED) -n 's,.*netcdf-c-\([0-9]\.[^>]*\)\.tar.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
 endef
 
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  $(PKG)_CONFIGURE_OPTIONS := --enable-dll
+endif
+
 $(PKG)_CONFIGURE_POST_HOOK := $(CONFIGURE_POST_HOOK)
 ifeq ($(MXE_SYSTEM),msvc)
     $(PKG)_CONFIGURE_POST_HOOK += -x
@@ -26,10 +32,15 @@
     fi
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
-        --enable-dll \
+        $($(PKG)_CONFIGURE_OPTIONS) \
 	&& $($(PKG)_CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)'
-    $(MAKE) -C '$(1)' -j 1 install
+    $(MAKE) -C '$(1)' -j '$(JOBS)' LDFLAGS='-no-undefined -L$(HOST_LIBDIR)'
+    $(MAKE) -C '$(1)' -j 1 install LDFLAGS='-no-undefined -L$(HOST_LIBDIR)' $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
+  
+    if [ ! "x$(MXE_NATIVE_BUILD)" = "xyes" ]; then \
+      $(LN_SF) '$(HOST_BINDIR)/nc-config' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)nc-config'; \
+    fi
 endef
--- a/src/nettle-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/nettle-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,87 +1,30 @@
-diff -ur a/examples/Makefile.in b/examples/Makefile.in
---- a/examples/Makefile.in	2013-04-24 09:26:53.000000000 -0400
-+++ b/examples/Makefile.in	2013-10-16 18:30:20.579120010 -0400
-@@ -117,8 +117,8 @@
- 	-lhogweed -lnettle $(BENCH_LIBS) $(LIBS) $(OPENSSL_LIBFLAGS) \
- 	-o hogweed-benchmark$(EXEEXT)
- 
--$(TARGETS) : io.$(OBJEXT) ../libnettle.a
--$(HOGWEED_TARGETS): ../libhogweed.a
-+$(TARGETS) : io.$(OBJEXT) ../libnettle.stamp
-+$(HOGWEED_TARGETS): ../libhogweed.stamp
- 
- check: $(TS_ALL)
- 	LD_LIBRARY_PATH=../.lib PATH="../.lib:$$PATH" srcdir="$(srcdir)" \
-diff -ur a/Makefile.in b/Makefile.in
---- a/Makefile.in	2013-04-24 09:26:53.000000000 -0400
-+++ b/Makefile.in	2013-10-16 18:48:59.141790433 -0400
-@@ -22,8 +22,19 @@
- 
- PRE_CPPFLAGS = -I.
- # FIXME: Add configuration of LIBEXT?
--LIBTARGETS = @IF_STATIC@ libnettle.a @IF_HOGWEED@ libhogweed.a
--SHLIBTARGETS = @IF_SHARED@ $(LIBNETTLE_FORLINK) @IF_HOGWEED@ $(LIBHOGWEED_FORLINK)
-+LIBTARGETS = libnettle.stamp libhogweed.stamp
-+
-+LIBNETTLE_STATIC = @IF_STATIC@ libnettle.a
-+LIBNETTLE_SHARED = @IF_SHARED@ $(LIBNETTLE_FORLINK)
-+
-+LIBHOGWEED_STATIC = @IF_STATIC@ libhogweed.a
-+LIBHOGWEED_SHARED = @IF_SHARED@ $(LIBHOGWEED_FORLINK)
-+
-+libnettle.stamp: $(LIBNETTLE_STATIC) $(LIBNETTLE_SHARED)
-+	touch $@
-+
-+libhogweed.stamp: $(LIBHOGWEED_STATIC) $(LIBHOGWEED_SHARED)
-+	touch $@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+From c5836bef883966beb9b5be562ef0a6d0c6048879 Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Sun, 12 Apr 2015 10:07:58 +0200
+Subject: [PATCH] Revert "Include private dependencies automatically in
+ pkg-config for non-shared builds"
+
+This reverts commit c8b1d2fafff16c57ec50d413c999796ec2085413.
+
+diff --git a/hogweed.pc.in b/hogweed.pc.in
+index 97fb9d4..839f7d0 100644
+--- a/hogweed.pc.in
++++ b/hogweed.pc.in
+@@ -11,9 +11,8 @@ Name: Hogweed
+ Description: Nettle low-level cryptographic library (public-key algorithms)
+ URL: http://www.lysator.liu.se/~nisse/nettle
+ Version: @PACKAGE_VERSION@
+-Requires: @IF_NOT_SHARED@ nettle
+-Requires.private: @IF_SHARED@ nettle
+-Libs: -L${libdir} -lhogweed @IF_NOT_SHARED@ @LIBS@
+-Libs.private: @IF_SHARED@ @LIBS@
++Requires.private: nettle
++Libs: -L${libdir} -lhogweed
++Libs.private: @LIBS@
+ Cflags: -I${includedir}
  
- getopt_SOURCES = getopt.c getopt1.c
- getopt_TARGETS = $(getopt_SOURCES:.c=.$(OBJEXT))
-@@ -35,7 +46,7 @@
-           twofishdata$(EXEEXT_FOR_BUILD) shadata$(EXEEXT_FOR_BUILD) \
-           gcmdata$(EXEEXT_FOR_BUILD) \
- 	  $(getopt_TARGETS) $(internal_TARGETS) \
--	  $(LIBTARGETS) $(SHLIBTARGETS)
-+	  $(LIBTARGETS)
- IMPLICIT_TARGETS = @IF_DLL@ $(LIBNETTLE_FILE) $(LIBHOGWEED_FILE)
- 
- DOCTARGETS = @IF_DOCUMENTATION@ nettle.info nettle.html nettle.pdf
-diff -ur a/testsuite/Makefile.in b/testsuite/Makefile.in
---- a/testsuite/Makefile.in	2013-04-24 09:26:53.000000000 -0400
-+++ b/testsuite/Makefile.in	2013-10-16 18:29:47.328230002 -0400
-@@ -96,7 +96,7 @@
- include $(srcdir)/.test-rules.make
- 
- $(TARGETS) $(EXTRA_TARGETS): testutils.$(OBJEXT) ../nettle-internal.$(OBJEXT) \
--	../libnettle.a @IF_HOGWEED@ ../libhogweed.a
-+	../libnettle.stamp @IF_HOGWEED@ ../libhogweed.stamp
- 
- # For use as, e.g.,
- #
-diff -ur a/tools/Makefile.in b/tools/Makefile.in
---- a/tools/Makefile.in	2013-04-24 09:26:53.000000000 -0400
-+++ b/tools/Makefile.in	2013-10-16 18:44:52.366014240 -0400
-@@ -34,19 +34,19 @@
- DISTFILES = $(SOURCES) Makefile.in input.h misc.h output.h parse.h
- 
- sexp_conv_OBJS = $(sexp_conv_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS)
--sexp-conv$(EXEEXT): $(sexp_conv_OBJS) ../libnettle.a
-+sexp-conv$(EXEEXT): $(sexp_conv_OBJS) ../libnettle.stamp
- 	$(LINK) $(sexp_conv_OBJS) -lnettle $(LIBS) -o $@
- 
--nettle-lfib-stream$(EXEEXT): nettle-lfib-stream.$(OBJEXT) ../libnettle.a
-+nettle-lfib-stream$(EXEEXT): nettle-lfib-stream.$(OBJEXT) ../libnettle.stamp
- 	$(LINK) nettle-lfib-stream.$(OBJEXT) -lnettle $(LIBS) -o $@
- 
- pkcs1_conv_OBJS = $(pkcs1_conv_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS)
--pkcs1-conv$(EXEEXT): $(pkcs1_conv_OBJS) ../libnettle.a ../libhogweed.a
-+pkcs1-conv$(EXEEXT): $(pkcs1_conv_OBJS) ../libnettle.stamp ../libhogweed.stamp
- 	$(LINK) $(pkcs1_conv_OBJS) -lhogweed -lnettle $(LIBS) -o $@
- 
- # FIXME: Avoid linking with gmp
- nettle_hash_OBJS = $(nettle_hash_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS)
--nettle-hash$(EXEEXT): $(nettle_hash_OBJS) ../libnettle.a
-+nettle-hash$(EXEEXT): $(nettle_hash_OBJS) ../libnettle.stamp
- 	$(LINK) $(nettle_hash_OBJS) -lnettle $(LIBS) -o $@
- 
- 
+-- 
+2.5.0
+
--- a/src/nettle.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/nettle.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := nettle
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := e17de3678b987841e88a724b7d2f6856d97ab139
+$(PKG)_VERSION  := 3.6
+$(PKG)_CHECKSUM := 22e48a4d232ccd26ba8303709f2222b422a8827d
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://www.lysator.liu.se/~nisse/archive/$($(PKG)_FILE)
@@ -13,6 +14,8 @@
     $(WGET) -q -O- 'http://www.lysator.liu.se/~nisse/archive/' | \
     $(SED) -n 's,.*nettle-\([0-9][^>]*\)\.tar.*,\1,p' | \
     grep -v 'pre' | \
+    grep -v 'rc' | \
+    $(SORT) |
     tail -1
 endef
 
@@ -23,6 +26,7 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
 	CCAS=gcc \
 	--disable-shared \
+	--disable-documentation \
         --prefix='$(HOST_PREFIX)'
 
     $(MAKE) -C '$(1)' -j '$(JOBS)' getopt.o getopt1.o
@@ -46,8 +50,9 @@
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
+	--disable-documentation \
         --prefix='$(HOST_PREFIX)'
-    $(MAKE) -C '$(1)' -j '$(JOBS)'
-    $(MAKE) -C '$(1)' -j 1 install DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' SUBDIRS=
+    $(MAKE) -C '$(1)' -j 1 SUBDIRS= install DESTDIR='$(3)'
 endef
 endif
--- a/src/npp.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/npp.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,18 @@
 
 PKG             := npp
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := e246ebb89c10b71ed483b866ea90385a661092e6
-$(PKG)_SUBDIR   := unicode
+$(PKG)_VERSION  := 7.8.9
+$(PKG)_CHECKSUM := 26297d8c55833a6c43d16f3b0fa842ecd5153e20
+$(PKG)_SUBDIR   := 
 $(PKG)_FILE     := $(PKG).$($(PKG)_VERSION).bin.zip
-$(PKG)_URL      := http://download.tuxfamily.org/notepadplus/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_URL      := https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v$($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package Notepad++.' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- 'https://notepad-plus-plus.org/downloads/' | \
+    $(GREP) 'Current' | \
+    $(SED) -n 's|.*/v\([^/]*\).*|\1|p' | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/nsis-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,588 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-Contains ad hoc patches for cross building.
-
-From a2aff1c5e0febc993545ecd8379135ec7b53358b Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Sun, 12 Aug 2012 12:33:26 +0200
-Subject: [PATCH 1/3] explicit mingw cross prefix
-
-This patch has been taken from:
-http://sourceforge.net/tracker/index.php?func=detail&aid=3305366&group_id=22049&atid=373085
-
-diff --git a/SCons/Tools/crossmingw.py b/SCons/Tools/crossmingw.py
-index d27e01c..fef9150 100755
---- a/SCons/Tools/crossmingw.py
-+++ b/SCons/Tools/crossmingw.py
-@@ -61,6 +61,9 @@ prefixes = SCons.Util.Split("""
- """)
- 
- def find(env):
-+    if env.has_key('MINGW_CROSS_PREFIX'):
-+        return env['MINGW_CROSS_PREFIX']
-+
-     for prefix in prefixes:
-         # First search in the SCons path and then the OS path:
-         if env.WhereIs(prefix + 'gcc') or SCons.Util.WhereIs(prefix + 'gcc'):
-diff --git a/SConstruct b/SConstruct
-index 80872bc..4f113dd 100755
---- a/SConstruct
-+++ b/SConstruct
-@@ -59,6 +59,7 @@ doc = [
- 
- path = ARGUMENTS.get('PATH', '')
- toolset = ARGUMENTS.get('TOOLSET', '')
-+mingw_cross_prefix = ARGUMENTS.get('MINGW_CROSS_PREFIX', '')
- 
- if toolset and path:
- 	defenv = Environment(ENV = {'PATH' : path}, TOOLS = toolset.split(',') + ['zip'])
-@@ -69,6 +70,8 @@ else:
- 		defenv = Environment(TOOLS = toolset.split(',') + ['zip'])
- if not toolset and not path:
- 	defenv = Environment()
-+if mingw_cross_prefix:
-+	defenv['MINGW_CROSS_PREFIX'] = mingw_cross_prefix
- 
- Export('defenv')
- 
--- 
-1.8.2.1
-
-
-From d48abdf87538c76261cc447501e0abd755b88c4b Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Sun, 12 Aug 2012 12:36:39 +0200
-Subject: [PATCH 2/3] add missing header
-
-
-diff --git a/Source/util.h b/Source/util.h
-index 4259a6a..664923e 100755
---- a/Source/util.h
-+++ b/Source/util.h
-@@ -25,6 +25,7 @@
- #ifndef _WIN32
- #  include <iconv.h>
- #  include <stdio.h>
-+#  include <unistd.h>
- #endif
- 
- 
--- 
-1.8.2.1
-
-
-From ed27d84aa1de6aee0a2ba788e90a6d0857d2d535 Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Fri, 3 May 2013 17:28:44 +1000
-Subject: [PATCH 3/3] Enable native 64-bit build
-
-Taken from:
-http://anonscm.debian.org/gitweb/?p=collab-maint/nsis.git;a=blob;f=debian/patches/makensis_native_64bit.patch;h=2256a0e193db894dd99507ac0de66f8ae060b46b;hb=HEAD
-
-diff --git a/SCons/Config/gnu b/SCons/Config/gnu
-index a1f917f..adfcbd1 100755
---- a/SCons/Config/gnu
-+++ b/SCons/Config/gnu
-@@ -95,8 +95,6 @@ makensis_env.Append(CXXFLAGS = ['-Wno-non-virtual-dtor']) # ignore virtual dtor
- makensis_env.Append(CXXFLAGS = ['-Wall'])                 # all warnings
- 
- conf = FlagsConfigure(makensis_env)
--conf.CheckCompileFlag('-m32')                     #
--conf.CheckLinkFlag('-m32')                        #
- conf.CheckLinkFlag('$MAP_FLAG')                   # generate map file
- if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_CP']:
- 	TestStrip(conf)                                 # strip
-@@ -149,8 +147,6 @@ conf.Finish()
- ### cross-platform util environment adjustments
- 
- conf = FlagsConfigure(cp_util_env)
--conf.CheckCompileFlag('-m32')
--conf.CheckLinkFlag('-m32')
- if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_CP']:
- 	TestStrip(conf)                                 # strip
- conf.Finish()
-@@ -160,8 +156,6 @@ conf.Finish()
- test_env = defenv.Clone()
- test_env.Append(CPPPATH = ['#$BUILD_CONFIG'])
- conf = FlagsConfigure(test_env)
--conf.CheckCompileFlag('-m32')
--conf.CheckLinkFlag('-m32')
- conf.Finish()
- 
- ### weird GCC requirements
-diff --git a/Source/DialogTemplate.cpp b/Source/DialogTemplate.cpp
-index 109a1d7..f821a05 100755
---- a/Source/DialogTemplate.cpp
-+++ b/Source/DialogTemplate.cpp
-@@ -74,7 +74,7 @@ void ReadVarLenArr(LPBYTE &seeker, WCHAR* &readInto, unsigned int uCodePage) {
-     if (IS_INTRESOURCE(x)) { \
-       *(WORD*)seeker = 0xFFFF; \
-       seeker += sizeof(WORD); \
--      *(WORD*)seeker = ConvertEndianness(WORD(DWORD(x))); \
-+      *(WORD*)seeker = ConvertEndianness(WORD((ULONG_PTR)(x))); \
-       seeker += sizeof(WORD); \
-     } \
-     else { \
-@@ -444,7 +444,7 @@ void CDialogTemplate::ConvertToRTL() {
-       szClass = winchar_toansi(m_vItems[i]->szClass);
- 
-     // Button
--    if (long(m_vItems[i]->szClass) == 0x80) {
-+    if ((ULONG_PTR)(m_vItems[i]->szClass) == 0x80) {
-       m_vItems[i]->dwStyle ^= BS_LEFTTEXT;
-       m_vItems[i]->dwStyle ^= BS_RIGHT;
-       m_vItems[i]->dwStyle ^= BS_LEFT;
-@@ -458,13 +458,13 @@ void CDialogTemplate::ConvertToRTL() {
-       }
-     }
-     // Edit
--    else if (long(m_vItems[i]->szClass) == 0x81) {
-+    else if ((ULONG_PTR)(m_vItems[i]->szClass) == 0x81) {
-       if ((m_vItems[i]->dwStyle & ES_CENTER) == 0) {
-         m_vItems[i]->dwStyle ^= ES_RIGHT;
-       }
-     }
-     // Static
--    else if (long(m_vItems[i]->szClass) == 0x82) {
-+    else if ((ULONG_PTR)(m_vItems[i]->szClass) == 0x82) {
-       if ((m_vItems[i]->dwStyle & SS_TYPEMASK) == SS_LEFT || (m_vItems[i]->dwStyle & SS_TYPEMASK) == SS_LEFTNOWORDWRAP)
-       {
-         m_vItems[i]->dwStyle &= ~SS_TYPEMASK;
-@@ -571,7 +571,7 @@ BYTE* CDialogTemplate::Save(DWORD& dwSize) {
-   // Write all of the items
-   for (unsigned int i = 0; i < m_vItems.size(); i++) {
-     // DLGITEMTEMPLATE[EX]s must be aligned on DWORD boundary
--    if (DWORD(seeker - pbDlg) % sizeof(DWORD))
-+    if ((seeker - pbDlg) % sizeof(DWORD))
-       seeker += sizeof(WORD);
- 
-     if (m_bExtended) {
-@@ -622,7 +622,7 @@ BYTE* CDialogTemplate::Save(DWORD& dwSize) {
-     }
-   }
- 
--  assert((DWORD) seeker - (DWORD) pbDlg == dwSize);
-+  assert((DWORD)(seeker - pbDlg) == dwSize);
- 
-   // DONE!
-   return pbDlg;
-diff --git a/Source/Platform.h b/Source/Platform.h
-index 52eb9bc..3cdfe32 100755
---- a/Source/Platform.h
-+++ b/Source/Platform.h
-@@ -53,6 +53,7 @@ typedef unsigned char UCHAR;
- typedef const char *LPCCH, *PCSTR, *LPCSTR;
- typedef unsigned short WCHAR, OLECHAR, *PWCHAR, *LPWCH, *PWCH, *NWPSTR, *LPWSTR, *PWSTR, *BSTR;
- typedef const unsigned short *LPCWCH, *PCWCH, *LPCWSTR, *PCWSTR, *LPCOLESTR;
-+typedef int INT_PTR;
- typedef unsigned int UINT_PTR;
- // basic stuff
- typedef void * HANDLE;
-@@ -60,8 +61,8 @@ typedef HANDLE HWND;
- typedef HANDLE HMODULE;
- typedef unsigned long HKEY;
- // some gdi
--typedef unsigned long COLORREF;
--typedef unsigned long HBRUSH;
-+typedef DWORD COLORREF;
-+typedef UINT32 HBRUSH;
- // bool
- #  define FALSE 0
- #  define TRUE 1
-@@ -166,7 +167,7 @@ typedef DWORDLONG ULONGLONG,*PULONGLONG;
- #    define MAKEINTRESOURCE MAKEINTRESOURCEA
- #  endif
- #  ifndef IMAGE_FIRST_SECTION
--#    define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (DWORD) h + \
-+#    define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (ULONG_PTR) h + \
-                                      FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader) + \
-                                      FIX_ENDIAN_INT16(PIMAGE_NT_HEADERS(h)->FileHeader.SizeOfOptionalHeader) ) )
- #  endif
-@@ -174,7 +175,7 @@ typedef DWORDLONG ULONGLONG,*PULONGLONG;
- #    define RGB(r,g,b) ((DWORD)(((BYTE)(r)|((WORD)(g)<<8))|(((DWORD)(BYTE)(b))<<16)))
- #  endif
- #  ifndef MAKELONG
--#    define MAKELONG(a,b) ((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16)))
-+#    define MAKELONG(a,b) ((DWORD)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16)))
- #  endif
- #endif
- #ifndef IS_INTRESOURCE
-@@ -197,8 +198,10 @@ typedef DWORDLONG ULONGLONG,*PULONGLONG;
- #  define FOF_NOERRORUI 0x0400
- #endif
- 
--#ifndef ULONG_PTR
--#  define ULONG_PTR DWORD
-+// mingw32 and w64-mingw32 do not define ULONG_PTR
-+// but rather declare ULONG_PTR via typedef (see basetsd.h)
-+#if !defined(__MINGW32__) && !defined(ULONG_PTR)
-+#  define ULONG_PTR unsigned long
- #endif
- 
- #ifndef IDC_HAND
-@@ -238,7 +241,7 @@ typedef DWORDLONG ULONGLONG,*PULONGLONG;
- #  undef INVALID_FILE_ATTRIBUTES
- #endif
- #ifndef INVALID_FILE_ATTRIBUTES
--#  define INVALID_FILE_ATTRIBUTES ((unsigned long) -1)
-+#  define INVALID_FILE_ATTRIBUTES ((DWORD) -1)
- #endif
- 
- // shell folders
-diff --git a/Source/Plugins.cpp b/Source/Plugins.cpp
-index 6872b28..90ad393 100755
---- a/Source/Plugins.cpp
-+++ b/Source/Plugins.cpp
-@@ -29,7 +29,7 @@
- #include "dirreader.h"
- 
- #ifdef _WIN32
--#  include <WinNT.h>
-+#  include <winnt.h>
- #else
- #  include <sys/stat.h>
- #endif
-@@ -136,8 +136,8 @@ void Plugins::GetExports(const string &pathToDll, bool displayInfo)
-         DWORD prd = FIX_ENDIAN_INT32(sections[i].PointerToRawData);
-         PIMAGE_EXPORT_DIRECTORY exports = PIMAGE_EXPORT_DIRECTORY(&dlldata[0] + prd + ExportDirVA - va);
-         DWORD na = FIX_ENDIAN_INT32(exports->AddressOfNames);
--        unsigned long *names = (unsigned long*)((unsigned long) exports + (char *) na - ExportDirVA);
--        for (unsigned long j = 0; j < FIX_ENDIAN_INT32(exports->NumberOfNames); j++)
-+        LPDWORD names = (LPDWORD)((ULONG_PTR)exports + na - ExportDirVA);
-+        for (DWORD j = 0; j < FIX_ENDIAN_INT32(exports->NumberOfNames); j++)
-         {
-           const string name = string((char*)exports + FIX_ENDIAN_INT32(names[j]) - ExportDirVA);
-           const string signature = dllName + "::" + name;
-diff --git a/Source/ResourceEditor.cpp b/Source/ResourceEditor.cpp
-index 8509414..b819f4e 100755
---- a/Source/ResourceEditor.cpp
-+++ b/Source/ResourceEditor.cpp
-@@ -27,20 +27,10 @@ using namespace std;
- #define ALIGN(dwToAlign, dwAlignOn) dwToAlign = (dwToAlign%dwAlignOn == 0) ? dwToAlign : dwToAlign - (dwToAlign%dwAlignOn) + dwAlignOn
- #define RALIGN(dwToAlign, dwAlignOn) ((dwToAlign%dwAlignOn == 0) ? dwToAlign : dwToAlign - (dwToAlign%dwAlignOn) + dwAlignOn)
- 
--#ifndef _WIN32
--static inline ULONG ConvertEndianness(ULONG u) {
--  return FIX_ENDIAN_INT32(u);
--}
--#endif
--
- static inline DWORD ConvertEndianness(DWORD d) {
-   return FIX_ENDIAN_INT32(d);
- }
- 
--static inline LONG ConvertEndianness(LONG l) {
--  return FIX_ENDIAN_INT32(l);
--}
--
- static inline WORD ConvertEndianness(WORD w) {
-   return FIX_ENDIAN_INT16(w);
- }
-@@ -52,7 +42,7 @@ PIMAGE_NT_HEADERS CResourceEditor::GetNTHeaders(BYTE* pbPE) {
-     throw runtime_error("PE file contains invalid DOS header");
- 
-   // Get NT headers
--  PIMAGE_NT_HEADERS ntHeaders = (PIMAGE_NT_HEADERS)(pbPE + ConvertEndianness(dosHeader->e_lfanew));
-+  PIMAGE_NT_HEADERS ntHeaders = (PIMAGE_NT_HEADERS)(pbPE + ConvertEndianness((DWORD)dosHeader->e_lfanew));
-   if (ntHeaders->Signature != IMAGE_NT_SIGNATURE)
-     throw runtime_error("PE file missing NT signature");
- 
-@@ -684,7 +674,7 @@ void CResourceEditor::WriteRsrcSec(BYTE* pbRsrcSec) {
-     rdDir.NumberOfIdEntries = ConvertEndianness(rdDir.NumberOfIdEntries);
- 
-     CopyMemory(seeker, &rdDir, sizeof(IMAGE_RESOURCE_DIRECTORY));
--    crd->m_dwWrittenAt = DWORD(seeker);
-+    crd->m_ulWrittenAt = (ULONG_PTR)(seeker);
-     seeker += sizeof(IMAGE_RESOURCE_DIRECTORY);
- 
-     for (int i = 0; i < crd->CountEntries(); i++) {
-@@ -705,7 +695,7 @@ void CResourceEditor::WriteRsrcSec(BYTE* pbRsrcSec) {
-       rDirE.UName.NameString.NameIsString = (crd->GetEntry(i)->HasName()) ? 1 : 0;
- 
-       CopyMemory(seeker, &rDirE, sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY));
--      crd->GetEntry(i)->m_dwWrittenAt = DWORD(seeker);
-+      crd->GetEntry(i)->m_ulWrittenAt = (ULONG_PTR)(seeker);
-       seeker += sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY);
-     }
-     qDirs.pop();
-@@ -721,7 +711,7 @@ void CResourceEditor::WriteRsrcSec(BYTE* pbRsrcSec) {
-     rDataE.Size = ConvertEndianness(cRDataE->GetSize());
- 
-     CopyMemory(seeker, &rDataE, sizeof(IMAGE_RESOURCE_DATA_ENTRY));
--    cRDataE->m_dwWrittenAt = DWORD(seeker);
-+    cRDataE->m_ulWrittenAt = (ULONG_PTR)(seeker);
-     seeker += sizeof(IMAGE_RESOURCE_DATA_ENTRY);
- 
-     qDataEntries.pop();
-@@ -733,7 +723,7 @@ void CResourceEditor::WriteRsrcSec(BYTE* pbRsrcSec) {
-   while (!qStrings.empty()) {
-     CResourceDirectoryEntry* cRDirE = qStrings.front();
- 
--    PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_dwWrittenAt)->UName.NameString.NameOffset = ConvertEndianness(DWORD(seeker) - DWORD(pbRsrcSec));
-+    PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_ulWrittenAt)->UName.NameString.NameOffset = ConvertEndianness((DWORD) (seeker - pbRsrcSec));
- 
-     WCHAR* szName = cRDirE->GetName();
-     WORD iLen = winchar_strlen(szName) + 1;
-@@ -754,7 +744,7 @@ void CResourceEditor::WriteRsrcSec(BYTE* pbRsrcSec) {
-   while (!qDataEntries2.empty()) {
-     CResourceDataEntry* cRDataE = qDataEntries2.front();
-     CopyMemory(seeker, cRDataE->GetData(), cRDataE->GetSize());
--    PIMAGE_RESOURCE_DATA_ENTRY(cRDataE->m_dwWrittenAt)->OffsetToData = ConvertEndianness(seeker - pbRsrcSec + m_dwResourceSectionVA);
-+    PIMAGE_RESOURCE_DATA_ENTRY(cRDataE->m_ulWrittenAt)->OffsetToData = ConvertEndianness((DWORD)(seeker - pbRsrcSec) + m_dwResourceSectionVA);
- 
-     seeker += RALIGN(cRDataE->GetSize(), 8);
- 
-@@ -764,21 +754,21 @@ void CResourceEditor::WriteRsrcSec(BYTE* pbRsrcSec) {
-   /*
-    * Set all of the directory entries offsets.
-    */
--  SetOffsets(m_cResDir, DWORD(pbRsrcSec));
-+  SetOffsets(m_cResDir, (ULONG_PTR)(pbRsrcSec));
- }
- 
- // Sets the offsets in directory entries
--void CResourceEditor::SetOffsets(CResourceDirectory* resDir, DWORD newResDirAt) {
-+void CResourceEditor::SetOffsets(CResourceDirectory* resDir, ULONG_PTR newResDirAt) {
-   for (int i = 0; i < resDir->CountEntries(); i++) {
--    PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY rde = PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(resDir->GetEntry(i)->m_dwWrittenAt);
-+    PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY rde = PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(resDir->GetEntry(i)->m_ulWrittenAt);
-     if (resDir->GetEntry(i)->IsDataDirectory()) {
-       rde->UOffset.DirectoryOffset.DataIsDirectory = 1;
--      rde->UOffset.DirectoryOffset.OffsetToDirectory = resDir->GetEntry(i)->GetSubDirectory()->m_dwWrittenAt - newResDirAt;
-+      rde->UOffset.DirectoryOffset.OffsetToDirectory = resDir->GetEntry(i)->GetSubDirectory()->m_ulWrittenAt - newResDirAt;
-       rde->UOffset.OffsetToData = ConvertEndianness(rde->UOffset.OffsetToData);
-       SetOffsets(resDir->GetEntry(i)->GetSubDirectory(), newResDirAt);
-     }
-     else {
--      rde->UOffset.OffsetToData = ConvertEndianness(resDir->GetEntry(i)->GetDataEntry()->m_dwWrittenAt - newResDirAt);
-+      rde->UOffset.OffsetToData = ConvertEndianness((DWORD)(resDir->GetEntry(i)->GetDataEntry()->m_ulWrittenAt - newResDirAt));
-     }
-   }
- }
-@@ -887,7 +877,7 @@ int CResourceDirectory::CountEntries() {
- // Returns -1 if can not be found
- int CResourceDirectory::Find(WCHAR* szName) {
-   if (IS_INTRESOURCE(szName))
--    return Find((WORD) (DWORD) szName);
-+    return Find((WORD) (ULONG_PTR) szName);
-   else
-     if (szName[0] == '#')
-       return Find(WORD(winchar_stoi(szName + 1)));
-@@ -965,7 +955,7 @@ CResourceDirectoryEntry::CResourceDirectoryEntry(WCHAR* szName, CResourceDirecto
-   if (IS_INTRESOURCE(szName)) {
-     m_bHasName = false;
-     m_szName = 0;
--    m_wId = (WORD) (DWORD) szName;
-+    m_wId = (WORD) (ULONG_PTR) szName;
-   }
-   else {
-     m_bHasName = true;
-@@ -979,7 +969,7 @@ CResourceDirectoryEntry::CResourceDirectoryEntry(WCHAR* szName, CResourceDataEnt
-   if (IS_INTRESOURCE(szName)) {
-     m_bHasName = false;
-     m_szName = 0;
--    m_wId = (WORD) (DWORD) szName;
-+    m_wId = (WORD) (ULONG_PTR) szName;
-   }
-   else {
-     m_bHasName = true;
-diff --git a/Source/ResourceEditor.h b/Source/ResourceEditor.h
-index 59def2e..d25be31 100755
---- a/Source/ResourceEditor.h
-+++ b/Source/ResourceEditor.h
-@@ -27,7 +27,7 @@
- 
- #include "Platform.h"
- #ifdef _WIN32
--#  include <WinNT.h>
-+#  include <winnt.h>
- #else
- // all definitions for non Win32 platforms were taken from MinGW's free Win32 library
- #  define IMAGE_DIRECTORY_ENTRY_RESOURCE  2
-@@ -156,7 +156,7 @@ private:
-   CResourceDirectory* ScanDirectory(PRESOURCE_DIRECTORY rdRoot, PRESOURCE_DIRECTORY rdToScan);
- 
-   void WriteRsrcSec(BYTE* pbRsrcSec);
--  void SetOffsets(CResourceDirectory* resDir, DWORD newResDirAt);
-+  void SetOffsets(CResourceDirectory* resDir, ULONG_PTR newResDirAt);
- 
-   DWORD AdjustVA(DWORD dwVirtualAddress, DWORD dwAdjustment);
-   DWORD AlignVA(DWORD dwVirtualAddress);
-@@ -180,7 +180,7 @@ public:
- 
-   void Destroy();
- 
--  DWORD m_dwWrittenAt;
-+  ULONG_PTR m_ulWrittenAt;
- 
- private:
-   IMAGE_RESOURCE_DIRECTORY m_rdDir;
-@@ -204,7 +204,7 @@ public:
- 
-   CResourceDataEntry* GetDataEntry();
- 
--  DWORD m_dwWrittenAt;
-+  ULONG_PTR m_ulWrittenAt;
- 
- private:
-   bool m_bHasName;
-@@ -232,7 +232,7 @@ public:
-   DWORD GetCodePage();
-   DWORD GetOffset();
- 
--  DWORD m_dwWrittenAt;
-+  ULONG_PTR m_ulWrittenAt;
- 
- private:
-   BYTE* m_pbData;
-diff --git a/Source/ResourceVersionInfo.cpp b/Source/ResourceVersionInfo.cpp
-index 71df19e..7ed0ccf 100755
---- a/Source/ResourceVersionInfo.cpp
-+++ b/Source/ResourceVersionInfo.cpp
-@@ -146,7 +146,7 @@ int GetVersionHeader (LPSTR &p, WORD &wLength, WORD &wValueLength, WORD &wType)
-     p += sizeof(WORD);
-     szKey = (WCHAR*)p;
-     p += (winchar_strlen(szKey) + 1) * sizeof (WCHAR);
--    while ( ((long)p % 4) != 0 )
-+    while ( ((ULONG_PTR)p % 4) != 0 )
-         p++;
-     return p - baseP;    
- }
-diff --git a/Source/fileform.cpp b/Source/fileform.cpp
-index 72296ba..e879ad5 100755
---- a/Source/fileform.cpp
-+++ b/Source/fileform.cpp
-@@ -149,7 +149,7 @@ void ctlcolors_writer::write(const ctlcolors *data)
-   m_sink->write_int(data->text);
-   m_sink->write_int(data->bkc);
-   m_sink->write_int(data->lbStyle);
--  m_sink->write_int((int) data->bkb);
-+  m_sink->write_int((INT_PTR) data->bkb);
-   m_sink->write_int(data->bkmode);
-   m_sink->write_int(data->flags);
- }
-diff --git a/Source/mmap.cpp b/Source/mmap.cpp
-index 1e0be7a..562a7ed 100755
---- a/Source/mmap.cpp
-+++ b/Source/mmap.cpp
-@@ -322,7 +322,7 @@ void MMapFile::release(void *pView, int size)
-   if (!pView)
-     return;
- 
--  unsigned int alignment = ((unsigned int)pView) % m_iAllocationGranularity;
-+  unsigned int alignment = ((ULONG_PTR)pView) % m_iAllocationGranularity;
-   pView = (char *)pView - alignment;
-   size += alignment;
- #ifdef _WIN32
-diff --git a/Source/script.cpp b/Source/script.cpp
-index a492051..2951d98 100755
---- a/Source/script.cpp
-+++ b/Source/script.cpp
-@@ -2129,7 +2129,7 @@ int CEXEBuild::doCommand(int which_token, LineParser &line)
-         int k=line.gettoken_enum(1,rootkeys[0]);
-         if (k == -1) k=line.gettoken_enum(1,rootkeys[1]);
-         if (k == -1) PRINTHELP()
--        build_header.install_reg_rootkey=(int)rootkey_tab[k];
-+        build_header.install_reg_rootkey=(INT_PTR)rootkey_tab[k];
-         if (!build_header.install_reg_rootkey) PRINTHELP() // SHCTX is invalid here
-         build_header.install_reg_key_ptr = add_string(line.gettoken_str(2),0);
-         if (line.gettoken_str(2)[0] == '\\')
-@@ -5184,7 +5184,7 @@ int CEXEBuild::doCommand(int which_token, LineParser &line)
-         int k=line.gettoken_enum(2,rootkeys[0]);
-         if (k == -1) k=line.gettoken_enum(2,rootkeys[1]);
-         if (ent.offsets[0] == -1 || k == -1) PRINTHELP()
--        ent.offsets[1]=(int)rootkey_tab[k];
-+        ent.offsets[1]=(INT_PTR)rootkey_tab[k];
-         ent.offsets[2]=add_string(line.gettoken_str(3));
-         ent.offsets[3]=add_string(line.gettoken_str(4));
-         if (which_token == TOK_READREGDWORD) ent.offsets[4]=1;
-@@ -5216,7 +5216,7 @@ int CEXEBuild::doCommand(int which_token, LineParser &line)
-         if (k == -1) k=line.gettoken_enum(a,rootkeys[1]);
-         if (k == -1) PRINTHELP()
-         ent.which=EW_DELREG;
--        ent.offsets[1]=(int)rootkey_tab[k];
-+        ent.offsets[1]=(INT_PTR)rootkey_tab[k];
-         ent.offsets[2]=add_string(line.gettoken_str(a+1));
-         ent.offsets[3]=(which_token==TOK_DELETEREGKEY)?0:add_string(line.gettoken_str(a+2));
-         if (line.gettoken_str(a+1)[0] == '\\')
-@@ -5236,7 +5236,7 @@ int CEXEBuild::doCommand(int which_token, LineParser &line)
-         if (k == -1) k=line.gettoken_enum(1,rootkeys[1]);
-         if (k == -1) PRINTHELP()
-         ent.which=EW_WRITEREG;
--        ent.offsets[0]=(int)rootkey_tab[k];
-+        ent.offsets[0]=(INT_PTR)rootkey_tab[k];
-         ent.offsets[1]=add_string(line.gettoken_str(2));
-         if (line.gettoken_str(2)[0] == '\\')
-           warning_fl("%s: registry path name begins with \'\\\', may cause problems",line.gettoken_str(0));
-@@ -5305,7 +5305,7 @@ int CEXEBuild::doCommand(int which_token, LineParser &line)
-         int k=line.gettoken_enum(2,rootkeys[0]);
-         if (k == -1) k=line.gettoken_enum(2,rootkeys[1]);
-         if (ent.offsets[0] == -1 || k == -1) PRINTHELP()
--        ent.offsets[1]=(int)rootkey_tab[k];
-+        ent.offsets[1]=(INT_PTR)rootkey_tab[k];
-         ent.offsets[2]=add_string(line.gettoken_str(3));
-         ent.offsets[3]=add_string(line.gettoken_str(4));
-         ent.offsets[4]=which_token == TOK_ENUMREGKEY;
-diff --git a/Source/util.cpp b/Source/util.cpp
-index 2c0b07f..18c31a2 100755
---- a/Source/util.cpp
-+++ b/Source/util.cpp
-@@ -77,9 +77,9 @@ int update_bitmap(CResourceEditor* re, WORD id, const char* filename, int width/
-   }
- 
-   if (width != 0) {
--    LONG biWidth;
-+    INT32 biWidth;
-     fseek(f, 18, SEEK_SET); // Seek to the width member of the header
--    fread(&biWidth, sizeof(LONG), 1, f);
-+    fread(&biWidth, sizeof(INT32), 1, f);
-     FIX_ENDIAN_INT32_INPLACE(biWidth);
-     if (width != biWidth) {
-       fclose(f);
-@@ -88,9 +88,9 @@ int update_bitmap(CResourceEditor* re, WORD id, const char* filename, int width/
-   }
- 
-   if (height != 0) {
--    LONG biHeight;
-+    INT32 biHeight;
-     fseek(f, 22, SEEK_SET); // Seek to the height member of the header
--    fread(&biHeight, sizeof(LONG), 1, f);
-+    fread(&biHeight, sizeof(INT32), 1, f);
-     FIX_ENDIAN_INT32_INPLACE(biHeight);
-     // Bitmap height can be negative too...
-     if (height != abs(biHeight)) {
-@@ -689,8 +689,8 @@ static BOOL GetVxdVersion( LPCSTR szFile, LPDWORD lpdwLen, LPVOID lpData )
-   }
- 
-   // Find the beginning of the NT header at offset e_lfanew.
--  pNtExeHdr = (PIMAGE_NT_HEADERS) ( (DWORD) pView
--       + (DWORD) pDosExeHdr->e_lfanew );
-+  pNtExeHdr = (PIMAGE_NT_HEADERS) ( (ULONG_PTR) pView
-+       + pDosExeHdr->e_lfanew );
- 
-   // Check to make sure the file is a VxD.
-   if ( (DWORD) pNtExeHdr->Signature != IMAGE_VXD_SIGNATURE ) 
-@@ -728,8 +728,8 @@ static BOOL GetVxdVersion( LPCSTR szFile, LPDWORD lpdwLen, LPVOID lpData )
-   }
- 
-   // e32_winresoff contains the offset of the resource in the VxD.
--  pVerRes = (VXD_VERSION_RESOURCE *) ( (DWORD) pView
--       + (DWORD) pLEHdr->e32_winresoff );
-+  pVerRes = (VXD_VERSION_RESOURCE *) ( (ULONG_PTR) pView
-+       + pLEHdr->e32_winresoff );
-   dwSize = pVerRes->dwResSize;
-   pRawRes = &(pVerRes->bVerData);
- 
-@@ -780,7 +780,7 @@ static DWORD GetVxdVersionInfoSize( LPCSTR szFile )
- 
-     // GetVxdVersion() will fail with ERROR_INSUFFICIENT_BUFFER and
-     // the required buffer size will be returned in dwResult.
--    if ( GetLastError() == ERROR_INSUFFICIENT_BUFFER ) 
-+    if ( dwError == ERROR_INSUFFICIENT_BUFFER ) 
-     {
-       SetLastError( 0 );
-       return dwResult;
--- 
-1.8.2.1
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/nsis-2-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,23 @@
+diff -ur nsis-3.03-src.orig/SCons/Config/gnu nsis-3.03-src/SCons/Config/gnu
+--- nsis-3.03-src.orig/SCons/Config/gnu	2018-03-03 19:38:08.620291177 -0500
++++ nsis-3.03-src/SCons/Config/gnu	2018-03-03 19:38:20.109576191 -0500
+@@ -45,11 +45,6 @@
+ defenv['MSVCRT_FLAG'] = ''
+ defenv['STDCALL'] = '"__attribute__((__stdcall__))"'
+ 
+-# Don't allow mingw to link with LIBGCC*.DLL and LIBSTDC++-*.DLL 
+-if defenv['PLATFORM'] == 'win32':
+-	defenv.Append(LINKFLAGS = ['-static-libgcc'])
+-	defenv.Append(LINKFLAGS = ['-static-libstdc++'])
+-
+ ### defines
+ 
+ defenv.Append(CPPDEFINES = [('NSISCALL', '$STDCALL')])
+@@ -141,7 +136,6 @@
+ plugin_env.Append(LINKFLAGS = ['$ALIGN_FLAG'])      # 512 bytes align
+ plugin_env.Append(LINKFLAGS = ['$MAP_FLAG'])        # generate map file
+ plugin_env.Append(LINKFLAGS = ['-static-libgcc'])   # remove libgcc*.dll dependency
+-plugin_env.Append(LINKFLAGS = ['-static-libstdc++']) # remove libstdc++*.dll dependency
+ 
+ plugin_uenv = plugin_env.Clone()
+ plugin_uenv.Append(CPPDEFINES = ['_UNICODE', 'UNICODE'])
--- a/src/nsis.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/nsis.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,26 +3,36 @@
 
 PKG             := nsis
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 2cc9bff130031a0b1d76b01ec0a9136cdf5992ce
+$(PKG)_VERSION  := 3.06.1
+$(PKG)_CHECKSUM := 525d763d08a8c69d5541d5b025adc56907b4c5de
 $(PKG)_SUBDIR   := nsis-$($(PKG)_VERSION)-src
 $(PKG)_FILE     := nsis-$($(PKG)_VERSION)-src.tar.bz2
-$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/nsis/NSIS 2/$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_DEPS     :=
+$(PKG)_URL      := https://$(SOURCEFORGE_MIRROR)/project/nsis/NSIS 3/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS     := build-python build-scons build-setuptools
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://nsis.svn.sourceforge.net/viewvc/nsis/NSIS/tags/?sortby=date' | \
-    grep '<a name="' | \
-    $(SED) -n 's,.*<a name="v\([0-9]\)\([^"]*\)".*,\1.\2,p' | \
-    head -1
+    $(WGET) -q -O- 'https://nsis.sourceforge.io/Download' | \
+    $(SED) -n 's,.*nsis-\([0-9.]\+\)-src.tar.*,\1,p' | \
+    tail -1
 endef
 
+ifeq ($(ENABLE_WINDOWS_64),yes)
+    $(PKG)_PREBUILD = \
+        $(SED) -i 's/pei-i386/pei-x86-64/' '$(1)/SCons/Config/linker_script' && \
+        $(SED) -i 's/m_target_type=TARGET_X86ANSI/m_target_type=TARGET_AMD64/' '$(1)/Source/build.cpp' 
+
+    $(PKG)_TARGET_SCON_OPTIONS := TARGET_ARCH=amd64
+endif
+
 define $(PKG)_BUILD
-    cd '$(1)' && scons VERBOSE=1 \
-        MINGW_CROSS_PREFIX='$(MXE_TOOL_PREFIX)' \
-        PREFIX='$(HOST_PREFIX)' \
-        `[ -d /usr/local/include ] && echo APPEND_CPPPATH=/usr/local/include` \
-        `[ -d /usr/local/lib ]     && echo APPEND_LIBPATH=/usr/local/lib` \
-        SKIPUTILS='NSIS Menu' \
+    $($(PKG)_PREBUILD)
+    cd '$(1)' && python2 $(shell which scons) VERBOSE=1 \
+        PATH='$(PATH)' \
+        XGCC_W32_PREFIX='$(MXE_TOOL_PREFIX)' \
+        PREFIX='$(BUILD_TOOLS_PREFIX)' \
+        $($(PKG)_TARGET_SCON_OPTIONS) \
+        SKIPUTILS='MakeLangId,Makensisw,NSIS Menu,zip2exe' \
+        NSIS_MAX_STRLEN=8192 \
         install
-    $(INSTALL) -m755 '$(HOST_BINDIR)/makensis' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)makensis'
+    $(INSTALL) -m755 '$(BUILD_TOOLS_PREFIX)/bin/makensis' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)makensis'
 endef
--- a/src/ocaml-core.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/ocaml-core.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -4,6 +4,7 @@
 # zlib
 PKG				:= ocaml-core
 $(PKG)_IGNORE	:=
+$(PKG)_VERSION  := 4.00.0
 $(PKG)_CHECKSUM := $(ocaml-native_CHECKSUM)
 $(PKG)_SUBDIR	:= $(ocaml-native_SUBDIR)
 $(PKG)_FILE		:= $(ocaml-native_FILE)
--- a/src/ocaml-flexdll.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/ocaml-flexdll.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -4,6 +4,7 @@
 # zlib
 PKG				:= ocaml-flexdll
 $(PKG)_IGNORE	:=
+$(PKG)_VERSION  := 0.30
 $(PKG)_CHECKSUM := 585f066f890c7dca95be7541b4647128335f7df9
 $(PKG)_SUBDIR	:= flexdll
 $(PKG)_FILE		:= flexdll-$($(PKG)_VERSION).tar.gz
--- a/src/ocaml-native.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/ocaml-native.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -4,6 +4,7 @@
 # zlib
 PKG				:= ocaml-native
 $(PKG)_IGNORE	:=
+$(PKG)_VERSION  := 4.00.0
 $(PKG)_CHECKSUM := 9653e76dd14f0fbb750d7b438415890ab9fe2f4e
 $(PKG)_SUBDIR	:= ocaml-$($(PKG)_VERSION)
 $(PKG)_FILE		:= ocaml-$($(PKG)_VERSION).tar.gz
--- a/src/octave.mk	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-# This file is part of MXE.
-# See index.html for further information.
-
-PKG             := octave
-$(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 030648fde42548f28a33e8bad0a281a4dd1141c8
-$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
-$(PKG)_FILE     := octave-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := ftp://alpha.gnu.org/gnu/octave/$($(PKG)_FILE)
-ifeq ($(USE_SYSTEM_FONTCONFIG),no)
-  $(PKG)_FONTCONFIG := fontconfig
-endif
-$(PKG)_DEPS     := arpack curl fftw fltk $($(PKG)_FONTCONFIG) gl2ps glpk gnuplot graphicsmagick hdf5 lapack pcre pstoedit qhull qrupdate qscintilla qt readline suitesparse texinfo zlib
-ifeq ($(ENABLE_JIT),yes)
-  $(PKG)_DEPS += llvm
-  $(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS := --enable-jit
-else
-  $(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS := --disable-jit
-endif
-
-ifeq ($(ENABLE_JAVA),no)
-  $(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS := --disable-java
-endif
-
-ifeq ($(ENABLE_OPENBLAS),yes)
-  $(PKG)_DEPS += openblas
-  $(PKG)_BLAS_OPTION := --with-blas=openblas
-else
-  $(PKG)_DEPS += blas
-endif
-
-ifeq ($(MXE_NATIVE_BUILD),yes)
-  $(PKG)_CONFIGURE_ENV := LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)
-  ifeq ($(ENABLE_64),yes)
-    $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64
-  endif
-else
-  ifeq ($(MXE_SYSTEM),mingw)
-    $(PKG)_CROSS_CONFIG_OPTIONS := \
-      FLTK_CONFIG='$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)fltk-config' \
-      gl_cv_func_gettimeofday_clobber=no
-    ifeq ($(ENABLE_64),yes)
-      $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64 ax_blas_f77_func_ok=yes
-    endif
-  endif
-endif
-
-ifeq ($(MXE_SYSTEM),msvc)
-  $(PKG)_PREFIX := '$(HOST_PREFIX)/local/$($(PKG)_SUBDIR)'
-  # - Enable atomic refcount (required for QtHandles)
-  # - Skip configure test for pow and sqrt, MSVC fails to compile them
-  #   because it uses intrinsics (with -O2 flag) and bump on the fake
-  #   "char FUNC()" forward declaration.
-  # - Override CFLAGS and CXXFLAGS to disable some warnings.
-  $(PKG)_EXTRA_CONFIGURE_OPTIONS := \
-    --enable-atomic-refcount \
-    ac_cv_func_pow=yes ac_cv_func_sqrt=yes \
-    CFLAGS='-O2 -wd4244 -wd4003 -wd4005 -wd4068' \
-    CXXFLAGS='-O2 -wd4244 -wd4003 -wd4005 -wd4068'
-else
-  $(PKG)_PREFIX := '$(HOST_PREFIX)'
-  $(PKG)_EXTRA_CONFIGURE_OPTIONS := \
-    LDFLAGS='-Wl,-rpath-link,$(HOST_LIBDIR) -L$(HOST_LIBDIR)'
-endif
-
-define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package octave.' >&2;
-    echo $(octave_VERSION)
-endef
-
-define $(PKG)_BUILD
-    mkdir '$(1)/.build'
-    cd '$(1)' && autoreconf -W none
-    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
-        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
-        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        --prefix='$($(PKG)_PREFIX)' \
-        $($(PKG)_BLAS_OPTION) \
-        $($(PKG)_CROSS_CONFIG_OPTIONS) \
-        $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS) \
-        $($(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS) \
-        $($(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS) \
-        $($(PKG)_EXTRA_CONFIGURE_OPTIONS) \
-        PKG_CONFIG='$(MXE_PKG_CONFIG)' \
-        PKG_CONFIG_PATH='$(HOST_LIBDIR)/pkgconfig' \
-        && $(CONFIGURE_POST_HOOK)
-
-    ## We want both of these install steps so that we install in the
-    ## location set by the configure --prefix option, and the other
-    ## in a directory tree that will have just Octave files.
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
-    if [ $(MXE_SYSTEM) != msvc ]; then \
-        $(MAKE) -C '$(1)/.build' -j '$(JOBS)' DESTDIR=$(TOP_DIR)/octave install; \
-    fi
-endef
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-actuarial.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-actuarial
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.0
+$(PKG)_CHECKSUM := 89cc7a697f347329a107676afcf09575faa2f386
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := actuarial
+$(PKG)_FILE     := actuarial-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/octave/$($(PKG)_FILE)?download
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-audio.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-audio
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.0.2
+$(PKG)_CHECKSUM := d40ce12ed06a58e35a65612bb77b87a2825f159e
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := audio-$($(PKG)_VERSION)
+$(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := rtmidi
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-communications-1-catop.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,202 @@
+diff -uNr a/src/config.h.in b/src/config.h.in
+--- a/src/config.h.in	2020-01-04 12:50:13.541197341 -0500
++++ b/src/config.h.in	2020-08-25 14:50:29.000000000 -0400
+@@ -26,6 +26,9 @@
+ /* Define to 1 if you have the <octave/errwarn.h> header file. */
+ #undef HAVE_OCTAVE_ERRWARN_H
+ 
++/* Define if first catop function argument is const-qualified */
++#undef HAVE_OCTAVE_FIRST_CATOP_ARG_CONST
++
+ /* Define to 1 if you have the <octave/gripes.h> header file. */
+ #undef HAVE_OCTAVE_GRIPES_H
+ 
+diff -uNr a/src/configure b/src/configure
+--- a/src/configure	2020-01-04 12:50:13.249198461 -0500
++++ b/src/configure	2020-08-25 13:48:13.000000000 -0400
+@@ -4083,6 +4083,63 @@
+ 
+ fi
+ 
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether first catop function argument is const-qualified" >&5
++$as_echo_n "checking whether first catop function argument is const-qualified... " >&6; }
++if ${comm_cv_octave_first_catop_fcn_arg_const_qualified+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  comm_save_CPPFLAGS=$CPPFLAGS
++   comm_save_CXXFLAGS=$CXXFLAGS
++   CPPFLAGS="$CPPFLAGS $HDF5_CFLAGS"
++   CXXFLAGS="$CXXFLAGS $comm_CXXFLAGS"
++   ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++       #include <octave/oct.h>
++       #include <octave/ov-typeinfo.h>
++
++int
++main ()
++{
++
++       octave_value foobar_fcn (const octave_base_value&,
++                                const octave_base_value&,
++                                const Array<octave_idx_type>& ra_idx);
++       octave::type_info::cat_op_fcn fcn = foobar_fcn;
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  comm_cv_octave_first_catop_fcn_arg_const_qualified=yes
++else
++  comm_cv_octave_first_catop_fcn_arg_const_qualified=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++   ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++   CPPFLAGS=$comm_save_CPPFLAGS
++   CXXFLAGS=$comm_save_CXXFLAGS
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $comm_cv_octave_first_catop_fcn_arg_const_qualified" >&5
++$as_echo "$comm_cv_octave_first_catop_fcn_arg_const_qualified" >&6; }
++if test $comm_cv_octave_first_catop_fcn_arg_const_qualified = yes; then
++
++$as_echo "#define HAVE_OCTAVE_FIRST_CATOP_ARG_CONST 1" >>confdefs.h
++
++fi
++
+ ac_config_files="$ac_config_files Makefile"
+ 
+ cat >confcache <<\_ACEOF
+diff -uNr a/src/configure.ac b/src/configure.ac
+--- a/src/configure.ac	2020-01-04 12:49:06.000000000 -0500
++++ b/src/configure.ac	2020-08-25 13:47:59.000000000 -0400
+@@ -252,5 +252,30 @@
+   AC_DEFINE([HAVE_OCTAVE_BASE_VALUE_PRINT_CONST],[1],[Define if octave_base_value::print is const-qualified])
+ fi
+ 
++AC_CACHE_CHECK([whether first catop function argument is const-qualified],
++  [comm_cv_octave_first_catop_fcn_arg_const_qualified],
++  [comm_save_CPPFLAGS=$CPPFLAGS
++   comm_save_CXXFLAGS=$CXXFLAGS
++   CPPFLAGS="$CPPFLAGS $HDF5_CFLAGS"
++   CXXFLAGS="$CXXFLAGS $comm_CXXFLAGS"
++   AC_LANG_PUSH(C++)
++   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
++       #include <octave/oct.h>
++       #include <octave/ov-typeinfo.h>
++       ]], [[
++       octave_value foobar_fcn (const octave_base_value&,
++                                const octave_base_value&,
++                                const Array<octave_idx_type>& ra_idx);
++       octave::type_info::cat_op_fcn fcn = foobar_fcn;
++       ]])],
++     [comm_cv_octave_first_catop_fcn_arg_const_qualified=yes],
++     [comm_cv_octave_first_catop_fcn_arg_const_qualified=no])
++   AC_LANG_POP(C++)
++   CPPFLAGS=$comm_save_CPPFLAGS
++   CXXFLAGS=$comm_save_CXXFLAGS])
++if test $comm_cv_octave_first_catop_fcn_arg_const_qualified = yes; then
++  AC_DEFINE([HAVE_OCTAVE_FIRST_CATOP_ARG_CONST],[1],[Define if first catop function argument is const-qualified])
++fi
++
+ AC_CONFIG_FILES([Makefile])
+ AC_OUTPUT
+diff -uNr a/src/galois-ops.h b/src/galois-ops.h
+--- a/src/galois-ops.h	2020-01-04 12:49:06.000000000 -0500
++++ b/src/galois-ops.h	2020-08-25 14:00:18.000000000 -0400
+@@ -40,11 +40,19 @@
+ #endif
+ 
+ #if ! defined (CATOPDECL)
+-#  define CATOPDECL(name, a1, a2)                                       \
++#  if defined (HAVE_OCTAVE_FIRST_CATOP_ARG_CONST)
++#    define CATOPDECL(name, a1, a2)                                     \
++  static octave_value                                                   \
++  CONCAT2(oct_catop_, name) (const octave_base_value& a1,               \
++                             const octave_base_value& a2,               \
++                             const Array<octave_idx_type>& ra_idx)
++#  else
++#    define CATOPDECL(name, a1, a2)                                     \
+   static octave_value                                                   \
+   CONCAT2(oct_catop_, name) (octave_base_value& a1,                     \
+                              const octave_base_value& a2,               \
+                              const Array<octave_idx_type>& ra_idx)
++#  endif
+ #endif
+ 
+ // Override the operator and function definition defines from Octave
+@@ -124,7 +132,24 @@
+     return new octave_galois (f (v1.t1 ## _value (), v2.matrix_value ())); \
+   }
+ 
+-#define DEFCATOP_G_FN(name, t1, t2, f) \
++#if defined (HAVE_OCTAVE_FIRST_CATOP_ARG_CONST)
++#  define DEFCATOP_G_FN(name, t1, t2, f) \
++  CATOPDECL (name, a1, a2) \
++  { \
++    CAST_BINOP_ARGS (const octave_ ## t1&, const octave_ ## t2&); \
++    return new octave_galois (f (v1.t1 ## _value (), v2.t2 ## _value (), \
++                                 ra_idx)); \
++  }
++
++#define DEFCATOP_G_METHOD(name, t1, t2, f) \
++  CATOPDECL (name, a1, a2) \
++  { \
++    CAST_BINOP_ARGS (const octave_ ## t1&, const octave_ ## t2&); \
++    return new octave_galois (v1.t1 ## _value (). f (v2.t2 ## _value (), \
++                                                     ra_idx)); \
++  }
++#else
++#  define DEFCATOP_G_FN(name, t1, t2, f) \
+   CATOPDECL (name, a1, a2) \
+   { \
+     CAST_BINOP_ARGS (octave_ ## t1&, const octave_ ## t2&); \
+@@ -139,6 +164,7 @@
+     return new octave_galois (v1.t1 ## _value (). f (v2.t2 ## _value (), \
+                                                      ra_idx)); \
+   }
++#endif
+ 
+ #define INSTALL_G_CATOP(t1, t2, f) INSTALL_CATOP (t1, t2, f)
+ 
+diff -uNr a/src/op-gm-s.cc b/src/op-gm-s.cc
+--- a/src/op-gm-s.cc	2020-01-04 12:49:06.000000000 -0500
++++ b/src/op-gm-s.cc	2020-08-25 13:50:19.000000000 -0400
+@@ -68,7 +68,11 @@
+ 
+ DEFCATOP (gm_s, galois, scalar)
+ {
++#if defined (HAVE_OCTAVE_FIRST_CATOP_ARG_CONST)
++  CAST_BINOP_ARGS (const octave_galois&, const octave_scalar&);
++#else
+   CAST_BINOP_ARGS (octave_galois&, const octave_scalar&);
++#endif
+   return new octave_galois (v1.galois_value (). concat (v2.matrix_value (),
+                                                         ra_idx));
+ }
+diff -uNr a/src/op-s-gm.cc b/src/op-s-gm.cc
+--- a/src/op-s-gm.cc	2020-01-04 12:49:06.000000000 -0500
++++ b/src/op-s-gm.cc	2020-08-25 14:51:01.000000000 -0400
+@@ -81,7 +81,11 @@
+ 
+ DEFCATOP (s_gm, scalar, galois)
+ {
++#if defined (HAVE_OCTAVE_FIRST_CATOP_ARG_CONST)
++  CAST_BINOP_ARGS (const octave_scalar&, const octave_galois&);
++#else
+   CAST_BINOP_ARGS (octave_scalar&, const octave_galois&);
++#endif
+   return new octave_galois (concat (v1.matrix_value (), v2.galois_value (),
+                                     ra_idx));
+ }
--- a/src/of-communications-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-diff -rNu a/src/Makefile b/src/Makefile
---- a/src/Makefile	2012-05-08 08:06:50.000000000 -0400
-+++ b/src/Makefile	2013-01-11 22:50:36.000000000 -0500
-@@ -1,6 +1,6 @@
- sinclude Makeconf
- 
--HDF5_LIBS := $(shell  grep "\#define OCTAVE_CONF_HDF5_LIBS"  $(shell  $(MKOCTFILE) -p OCTINCLUDEDIR)/oct-conf.h | sed 's/^.*LIBS //;s/"//g'  )
-+HDF5_LIBS := $(shell  grep "\#define OCTAVE_CONF_HDF5_LIBS"  '$(shell  $(MKOCTFILE) -p OCTINCLUDEDIR)/oct-conf.h' | sed 's/^.*LIBS //;s/"//g'  )
- 
- GALOISTARGET = gf.oct
- GALOISSOURCES = galois.cc galois-def.cc galoisfield.cc gf.cc \
--- a/src/of-communications.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/of-communications.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,19 +3,34 @@
 
 PKG             := of-communications
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 8c358c02ddd84047db62d5f36125630ea940e41b
-$(PKG)_REMOTE_SUBDIR := 
-$(PKG)_SUBDIR   := communications
+$(PKG)_VERSION  := 1.2.2
+$(PKG)_CHECKSUM := 90ebf5cd84ba8df1f8c14241598d0baedc39f371
+$(PKG)_REMOTE_SUBDIR :=
+$(PKG)_SUBDIR   := communications-$($(PKG)_VERSION)
 $(PKG)_FILE     := communications-$($(PKG)_VERSION).tar.gz
-$(PKG)_FIXED_FILE := communications-$($(PKG)_VERSION)a.tar.gz
 $(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
 $(PKG)_DEPS     := of-signal
 
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+    ifeq ($(MXE_NATIVE_BUILD),no)
+        ifeq ($(USE_SYSTEM_OCTAVE),no)
+            # Remove this when package builds without calling Octave
+            $(PKG)_DEPS += build-octave
+        endif
+    endif
+endif
+
+$(PKG)_OPTIONS := comm_cv_hdf5_cppflags='-I$(HOST_INCDIR)' comm_cv_hdf5_ldflags='-L$(HOST_LIBDIR)' comm_cv_hdf5_libs=-lhdf5
+
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(OCTAVE_FORGE_PKG_UPDATE)
 endef
 
 define $(PKG)_BUILD
-    $(OCTAVE_FORGE_PKG_BUILD)
+    cd $(1)/src && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        PKG_CONFIG='$(MXE_PKG_CONFIG)' \
+        PKG_CONFIG_PATH='$(HOST_LIBDIR)/pkgconfig'
+    $(call OCTAVE_FORGE_PKG_BUILD,$(1),$(2),$(3),$($(PKG)_OPTIONS))
 endef
--- a/src/of-control.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/of-control.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,20 @@
 
 PKG             := of-control
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := c99e049fda72300a3e77a763b9c5a00829f91c0f
+$(PKG)_VERSION  := 3.2.0
+$(PKG)_CHECKSUM := 46e8e04ea456f871d74049fed2db0840e6d7dc8a
 $(PKG)_REMOTE_SUBDIR := 
-$(PKG)_SUBDIR   := control
+$(PKG)_SUBDIR   := control-$($(PKG)_VERSION)
 $(PKG)_FILE     := control-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
 $(PKG)_DEPS     := 
 
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(OCTAVE_FORGE_PKG_UPDATE)
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-data-smoothing.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-data-smoothing
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3.0
+$(PKG)_CHECKSUM := 28fb1233f0db586bccac9317f0f0eff84bb9842e
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := data-smoothing
+$(PKG)_FILE     := data-smoothing-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/octave/$($(PKG)_FILE)?download
+$(PKG)_DEPS     := of-optim
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-database.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-database
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.4.4
+$(PKG)_CHECKSUM := 99f8df8882610d10c30ffd9ce82f21b75297665f
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := database-$($(PKG)_VERSION)
+$(PKG)_FILE     := database-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+ifeq ($(MXE_SYSTEM)$(MXE_NATIVE_MINGW_BUILD),mingwno)
+define $(PKG)_BUILD
+    cd '$(1)/src' && source ./bootstrap
+    $(OCTAVE_FORGE_PKG_BUILD,$(1),$(2),$(3),"BUILD_CXX=g++"))
+endef
+else
+define $(PKG)_BUILD
+    cd '$(1)/src' && source ./bootstrap
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-dataframe.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-dataframe
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.0
+$(PKG)_CHECKSUM := 3d00ea119d3f9e0bf75b148858f7994b4210eb2d
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := dataframe-$($(PKG)_VERSION)
+$(PKG)_FILE     := dataframe-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-dicom.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,30 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-dicom
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.4.0
+$(PKG)_CHECKSUM := 23c207e1fbb8afaf5c9c6519faaa5be7aa973830
+$(PKG)_REMOTE_SUBDIR :=
+$(PKG)_SUBDIR   := dicom-$($(PKG)_VERSION)
+$(PKG)_FILE     := dicom-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/octave/$($(PKG)_FILE)?download
+$(PKG)_DEPS     := gdcm
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+ifeq ($(MXE_NATIVE_BUILD),no)
+    $(PKG)_OPTIONS := CMAKE_BINARY="cmake $(CMAKE_CCACHE_FLAGS) $(CMAKE_BUILD_SHARED_OR_STATIC) -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)'"
+else
+    $(PKG)_OPTIONS := 
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(call OCTAVE_FORGE_PKG_BUILD,$(1),$(2),$(3),$($(PKG)_OPTIONS))
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-financial.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-financial
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.5.3
+$(PKG)_CHECKSUM := 79d638b4c77ce01465fe1ea677ce1b4deea38198
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := financial-$($(PKG)_VERSION)
+$(PKG)_FILE     := financial-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-fits-1-cross-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,18 @@
+diff -ur fits-1.0.7.orig/src/Makefile fits-1.0.7/src/Makefile
+--- fits-1.0.7.orig/src/Makefile	2016-02-25 13:08:47.394452025 -0500
++++ fits-1.0.7/src/Makefile	2016-02-25 13:10:40.437730825 -0500
+@@ -1,4 +1,6 @@
+-MKOCT_FLAGS = $(shell pkg-config --libs cfitsio --cflags cfitsio)
++MKOCTFILE ?= mkoctfile
++PKG_CONFIG ?= pkg-config
++MKOCT_FLAGS = $(shell $(PKG_CONFIG) --libs cfitsio --cflags cfitsio)
+ 
+ all: read_fits_image.oct save_fits_image.oct save_fits_image_multi_ext.oct
+ 
+@@ -6,5 +8,5 @@
+ 	rm -f *.oct *.o
+ 
+ %.oct: %.cc
+-	mkoctfile --verbose -Wall $(MKOCT_FLAGS) $<
++	$(MKOCTFILE) --verbose -Wall $(MKOCT_FLAGS) $<
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-fits-2-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,36 @@
+diff -uNr a/src/read_fits_image.cc b/src/read_fits_image.cc
+--- a/src/read_fits_image.cc	2015-06-11 07:19:38.000000000 -0400
++++ b/src/read_fits_image.cc	2018-04-09 14:31:49.259838178 -0400
+@@ -194,7 +194,7 @@
+       return true;
+     }
+     double val = args(1).double_value();
+-    if( (D_NINT( val ) !=  val) || (val < 0) )
++    if( (octave::math::x_nint( val ) !=  val) || (val < 0) )
+     {
+       error( "read_fits_image: second argument must be a non-negative scalar integer value" );
+       return true;
+diff -uNr a/src/save_fits_image.cc b/src/save_fits_image.cc
+--- a/src/save_fits_image.cc	2015-06-11 07:19:38.000000000 -0400
++++ b/src/save_fits_image.cc	2018-04-09 14:31:37.948365332 -0400
+@@ -81,7 +81,7 @@
+     else if( args(2).is_scalar_type() )
+     {
+       double val = args(2).double_value();
+-      if( (D_NINT( val ) ==  val) )
++      if( (octave::math::x_nint( val ) ==  val) )
+       {
+         if( BYTE_IMG == val )
+           bitperpixel = BYTE_IMG;
+diff -uNr a/src/save_fits_image_multi_ext.cc b/src/save_fits_image_multi_ext.cc
+--- a/src/save_fits_image_multi_ext.cc	2015-06-11 07:19:38.000000000 -0400
++++ b/src/save_fits_image_multi_ext.cc	2018-04-09 14:34:46.915556809 -0400
+@@ -78,7 +78,7 @@
+     else if( args(2).is_scalar_type() )
+     {
+       double val = args(2).double_value();
+-      if( (D_NINT( val ) ==  val) )
++      if( (octave::math::x_nint( val ) ==  val) )
+       {
+         if( BYTE_IMG == val )
+           bitperpixel = BYTE_IMG;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-fits.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-fits
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.7
+$(PKG)_CHECKSUM := 60b535df86444c9b173dfdafaab58ad4d4eb4274
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := fits-$($(PKG)_VERSION)
+$(PKG)_FILE     := fits-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/octave/$($(PKG)_FILE)?download
+$(PKG)_DEPS     := pkg-config cfitsio
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-fl-core-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,179 @@
+diff -ur fl-core.orig/src/fl_compose.cc fl-core/src/fl_compose.cc
+--- fl-core.orig/src/fl_compose.cc	2015-10-02 10:13:53.044225859 -0400
++++ fl-core/src/fl_compose.cc	2015-10-02 10:22:05.635130470 -0400
+@@ -63,14 +63,14 @@
+ // Structure for thread arguments. Each thread will perform the computation between the start_index and end_index row.
+ struct threadArg
+ {
+-	int start_index;
+-	int end_index;
++	octave_idx_type start_index;
++	octave_idx_type end_index;
+ };
+ 
+ 
+ // Functions prototype declaration
+-float get_elem(float vec[], int row, int col,int numCols);
+-void set_elem(float vec[], int row, int col, int numCols, float elem);
++float get_elem(float vec[], octave_idx_type row, octave_idx_type col,octave_idx_type numCols);
++void set_elem(float vec[], octave_idx_type row, octave_idx_type col, octave_idx_type numCols, float elem);
+ int is_valid_function(octave_function *func);
+ void *thread_function(void *arg);
+ int get_available_cpus();
+@@ -110,13 +110,13 @@
+ SparseMatrix sparseC;
+ 
+ // Matrices dimensions
+-long int rowsA,rowsB,colsA,colsB,rowsC,colsC;
++octave_idx_type rowsA,rowsB,colsA,colsB,rowsC,colsC;
+ 
+ // Lock option. 1 = calculation executed only for the diagonal of the matrix
+ int lock_option;
+ 
+ // The increment 
+-int col_index_increment;
++octave_idx_type col_index_increment;
+ 
+ // Number of threads that will be created
+ int num_threads;
+@@ -357,8 +357,9 @@
+ 	else
+ 	{	
+ 		Matrix outMatrix(rowsC,colsC);
+-		for(int i=0;i<rowsC;i++)
+-			for(int j=0;j<colsC;j++)
++
++		for(octave_idx_type i=0;i<rowsC;i++)
++			for(octave_idx_type j=0;j<colsC;j++)
+ 				outMatrix(i,j) = get_elem(c,i,j,colsC);
+ 		
+ 		if(sparse_res)
+@@ -390,15 +391,15 @@
+ 	// Initialize the first matrix
+ 	Matrix tempMatrix = args(0).matrix_value();
+ 	a = new float[rowsA*colsA];
+-	for (int i=0; i<rowsA; i++)
+-		for(int j=0; j<colsA;j++)
++	for (octave_idx_type i=0; i<rowsA; i++)
++		for(octave_idx_type j=0; j<colsA;j++)
+ 			a[i*colsA+j] = tempMatrix(i,j);
+ 
+ 	// Initialize the second matrix
+ 	tempMatrix = args(1).matrix_value();
+ 	b = new float[rowsB*colsB];
+-	for (int i=0; i<rowsB; i++)
+-		for(int j=0; j<colsB;j++)
++	for (octave_idx_type i=0; i<rowsB; i++)
++		for(octave_idx_type j=0; j<colsB;j++)
+ 			b[i*colsB+j] = tempMatrix(i,j);
+ 	
+ 
+@@ -418,7 +419,7 @@
+ 	}
+ 
+ 	// Define the number interval of rows for each thread		
+-	int interval = rowsA / num_threads;	
++	octave_idx_type interval = rowsA / num_threads;	
+ 			
+ 	int i;
+ 	// Define the threads
+@@ -465,22 +466,22 @@
+ 	float tnorm_val;	
+ 
+ 	// Initialize the result sparse matrix
+-	sparseC = SparseMatrix((int)colsB, (int)rowsA, (int)(colsB*rowsA));
++	sparseC = SparseMatrix(colsB, rowsA, (colsB*rowsA));
+ 
+         // Initialize the number of nonzero elements in the sparse matrix c
+         int nel = 0;
+         sparseC.xcidx(0) = 0;
+ 
+ 	// Calculate the composition for each element
+-        for (int i = 0; i < rowsC; i++)
++        for (octave_idx_type i = 0; i < rowsC; i++)
+         {
+-            for(int j = 0; j < colsC; j++)
++            for(octave_idx_type j = 0; j < colsC; j++)
+             {
+                 
+ 		// Get the index of the first element of the i-th column of a transpose (i-th row of a)
+ 		// and the index of the first element of the j-th column of b
+-		int ka = a.cidx(i);
+-		int kb = b.cidx(j);
++		octave_idx_type ka = a.cidx(i);
++		octave_idx_type kb = b.cidx(j);
+ 		snorm_val = 0;
+ 	
+ 		// Check if the values of the matrix are really not 0 (it happens if the column of a or b hasn't any value)
+@@ -549,18 +550,18 @@
+ 	float tnorm_val;	
+ 	
+ 	// Get the row start_index and end_index 
+-	int start_index = thread_args->start_index;
+-	int end_index = thread_args->end_index;
++	octave_idx_type start_index = thread_args->start_index;
++	octave_idx_type end_index = thread_args->end_index;
+ 	
+ 
+ 	// Calculate the composition for the specified rows (between start_index and end_index)
+-	for (int i=start_index; i<end_index; i++)
++	for (octave_idx_type i=start_index; i<end_index; i++)
+ 	{		
+-		for(int j=lock_option*i; j<colsB; j=j+col_index_increment)
++		for(octave_idx_type j=lock_option*i; j<colsB; j=j+col_index_increment)
+ 		{
+ 			snorm_val = calc_tnorm(get_elem(a,i,0,colsA),get_elem(b,0,j,colsB));
+ 
+-			for(int k=1; k<colsA; k++)
++			for(octave_idx_type k=1; k<colsA; k++)
+ 			{					
+ 				tnorm_val = calc_tnorm(get_elem(a,i,k,colsA),get_elem(b,k,j,colsB)); 
+ 				snorm_val = calc_snorm(snorm_val,tnorm_val);
+@@ -767,7 +768,7 @@
+ 
+ 
+ /* Get the (i,j)-th element from the vector vec. The column number of the original matrix (numCols) is required */
+-float get_elem(float vec[], int row, int col,int numCols)
++float get_elem(float vec[], octave_idx_type row, octave_idx_type col,octave_idx_type numCols)
+ {
+ 	return vec[row*numCols+col];
+ }
+@@ -775,7 +776,7 @@
+ 
+ 
+ /* Set the (i,j)-th element from the vector vec. The column number of the original matrix (numCols) is required */
+-void set_elem(float vec[], int row, int col, int numCols, float elem)
++void set_elem(float vec[], octave_idx_type row, octave_idx_type col, octave_idx_type numCols, float elem)
+ {
+ 	vec[row*numCols+col] = elem;
+ 	return;
+diff -ur fl-core.orig/src/Makefile fl-core/src/Makefile
+--- fl-core.orig/src/Makefile	2015-10-02 10:13:53.044225859 -0400
++++ fl-core/src/Makefile	2015-10-02 10:16:20.899198805 -0400
+@@ -1,15 +1,23 @@
+ OCT = fl_compose.oct
+ SRC := $(OCT:.oct=.cc)
+ BASE := $(OCT:.oct=)
+-ifdef COMSPEC 
+-	ADDPARAM := -lpthreadVC2
++
++MKOCTFILE ?= mkoctfile
++OCTAVE_CONFIG ?= octave-config
++
++ifneq (,$(findstring mingw,$(shell $(OCTAVE_CONFIG) -p CANONICAL_HOST_TYPE)))
++	ADDPARAM := -lpthread
++else
++ ifdef COMSPEC 
++ 	ADDPARAM := -lpthreadVC2
++ endif
+ endif
+ 
+ .phony: all
+ all: $(OCT)
+ 
+ %.oct: %.cc
+-	mkoctfile -s $< $(ADDPARAM)
++	$(MKOCTFILE) -s $< $(ADDPARAM)
+ 
+ .phony: clean
+ clean: 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-fl-core.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-fl-core
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.0
+$(PKG)_CHECKSUM := 15c22155457f2eaf3d2531cd8a652732d9b7ebce
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := fl-core
+$(PKG)_FILE     := fl-core-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/octave/$($(PKG)_FILE)?download
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-fuzzy-logic-toolkit.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-fuzzy-logic-toolkit
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.4.5
+$(PKG)_CHECKSUM := 281a5c3718d12c031c1d76b671a80784ae1ad663
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := fuzzy-logic-toolkit
+$(PKG)_FILE     := fuzzy-logic-toolkit-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-ga.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-ga
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.10.1
+$(PKG)_CHECKSUM := bfa862743f793747281004123411c2c7800b8a50
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := ga-$($(PKG)_VERSION)
+$(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- a/src/of-general.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/of-general.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,20 @@
 
 PKG             := of-general
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 1662d97f0bf1be957e1a30a287d9c0aff7b5ecdd
+$(PKG)_VERSION  := 2.1.1
+$(PKG)_CHECKSUM := 56e4c3aca7ad7cfc95aee52f680a2978da9465ad
 $(PKG)_REMOTE_SUBDIR := 
-$(PKG)_SUBDIR   := general
+$(PKG)_SUBDIR   := general-$($(PKG)_VERSION)
 $(PKG)_FILE     := general-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
 $(PKG)_DEPS     := 
 
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(OCTAVE_FORGE_PKG_UPDATE)
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-generate_html.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-generate_html
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.3.2
+$(PKG)_CHECKSUM := 488faab3283d7bccbf4d69bd67c4f6905a034feb
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := generate_html-$($(PKG)_VERSION)
+$(PKG)_FILE     := generate_html-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-geometry.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,25 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-geometry
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.0.0
+$(PKG)_CHECKSUM := 1ebc1fbdf4d93e89879165affc2023e9a5bed473
+$(PKG)_REMOTE_SUBDIR :=
+$(PKG)_SUBDIR   := geometry-$($(PKG)_VERSION)
+$(PKG)_FILE     := geometry-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := of-matgeom
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-gsl-1-cross-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,3879 @@
+diff -ur gsl-2.1.1.orig/src/configure gsl-2.1.1/src/configure
+--- gsl-2.1.1.orig/src/configure	2018-07-06 11:04:59.193071031 -0400
++++ gsl-2.1.1/src/configure	2018-07-06 12:16:07.882705089 -0400
+@@ -623,15 +623,20 @@
+ EGREP
+ GREP
+ CXXCPP
++ac_ct_CXX
++CXXFLAGS
++CXX
+ OBJEXT
+ EXEEXT
+-ac_ct_CXX
++ac_ct_CC
+ CPPFLAGS
+ LDFLAGS
+-CXXFLAGS
+-CXX
++CFLAGS
++CC
++octave_include_dir
+ GSL_DEFINES
+-OCTAVE
++canonical_host_type
++OCTAVE_CONFIG
+ MKOCTFILE
+ target_alias
+ host_alias
+@@ -652,7 +657,6 @@
+ docdir
+ oldincludedir
+ includedir
+-runstatedir
+ localstatedir
+ sharedstatedir
+ sysconfdir
+@@ -679,11 +683,13 @@
+       ac_precious_vars='build_alias
+ host_alias
+ target_alias
+-CXX
+-CXXFLAGS
++CC
++CFLAGS
+ LDFLAGS
+ LIBS
+ CPPFLAGS
++CXX
++CXXFLAGS
+ CCC
+ CXXCPP'
+ 
+@@ -724,7 +730,6 @@
+ sysconfdir='${prefix}/etc'
+ sharedstatedir='${prefix}/com'
+ localstatedir='${prefix}/var'
+-runstatedir='${localstatedir}/run'
+ includedir='${prefix}/include'
+ oldincludedir='/usr/include'
+ docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+@@ -977,15 +982,6 @@
+   | -silent | --silent | --silen | --sile | --sil)
+     silent=yes ;;
+ 
+-  -runstatedir | --runstatedir | --runstatedi | --runstated \
+-  | --runstate | --runstat | --runsta | --runst | --runs \
+-  | --run | --ru | --r)
+-    ac_prev=runstatedir ;;
+-  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+-  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+-  | --run=* | --ru=* | --r=*)
+-    runstatedir=$ac_optarg ;;
+-
+   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+     ac_prev=sbindir ;;
+   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+@@ -1123,7 +1119,7 @@
+ for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ 		datadir sysconfdir sharedstatedir localstatedir includedir \
+ 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+-		libdir localedir mandir runstatedir
++		libdir localedir mandir
+ do
+   eval ac_val=\$$ac_var
+   # Remove trailing slashes.
+@@ -1276,7 +1272,6 @@
+   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+-  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
+   --libdir=DIR            object code libraries [EPREFIX/lib]
+   --includedir=DIR        C header files [PREFIX/include]
+   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+@@ -1304,13 +1299,15 @@
+   cat <<\_ACEOF
+ 
+ Some influential environment variables:
+-  CXX         C++ compiler command
+-  CXXFLAGS    C++ compiler flags
++  CC          C compiler command
++  CFLAGS      C compiler flags
+   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+               nonstandard directory <lib dir>
+   LIBS        libraries to pass to the linker, e.g. -l<library>
+   CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+               you have headers in a nonstandard directory <include dir>
++  CXX         C++ compiler command
++  CXXFLAGS    C++ compiler flags
+   CXXCPP      C++ preprocessor
+ 
+ Use these variables to override the choices made by `configure' or to help
+@@ -1393,6 +1390,44 @@
+ ## Autoconf initialization. ##
+ ## ------------------------ ##
+ 
++# ac_fn_c_try_compile LINENO
++# --------------------------
++# Try to compile conftest.$ac_ext, and return whether this succeeded.
++ac_fn_c_try_compile ()
++{
++  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++  rm -f conftest.$ac_objext
++  if { { ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++$as_echo "$ac_try_echo"; } >&5
++  (eval "$ac_compile") 2>conftest.err
++  ac_status=$?
++  if test -s conftest.err; then
++    grep -v '^ *+' conftest.err >conftest.er1
++    cat conftest.er1 >&5
++    mv -f conftest.er1 conftest.err
++  fi
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then :
++  ac_retval=0
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_retval=1
++fi
++  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++  as_fn_set_status $ac_retval
++
++} # ac_fn_c_try_compile
++
+ # ac_fn_cxx_try_compile LINENO
+ # ----------------------------
+ # Try to compile conftest.$ac_ext, and return whether this succeeded.
+@@ -1628,10 +1663,10 @@
+ 
+ } # ac_fn_cxx_check_header_compile
+ 
+-# ac_fn_cxx_try_link LINENO
+-# -------------------------
++# ac_fn_c_try_link LINENO
++# -----------------------
+ # Try to link conftest.$ac_ext, and return whether this succeeded.
+-ac_fn_cxx_try_link ()
++ac_fn_c_try_link ()
+ {
+   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+   rm -f conftest.$ac_objext conftest$ac_exeext
+@@ -1651,7 +1686,7 @@
+   fi
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; } && {
+-	 test -z "$ac_cxx_werror_flag" ||
++	 test -z "$ac_c_werror_flag" ||
+ 	 test ! -s conftest.err
+        } && test -s conftest$ac_exeext && {
+ 	 test "$cross_compiling" = yes ||
+@@ -1672,12 +1707,12 @@
+   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+   as_fn_set_status $ac_retval
+ 
+-} # ac_fn_cxx_try_link
++} # ac_fn_c_try_link
+ 
+-# ac_fn_cxx_check_func LINENO FUNC VAR
+-# ------------------------------------
++# ac_fn_c_check_func LINENO FUNC VAR
++# ----------------------------------
+ # Tests whether FUNC exists, setting the cache variable VAR accordingly
+-ac_fn_cxx_check_func ()
++ac_fn_c_check_func ()
+ {
+   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+@@ -1726,7 +1761,7 @@
+   return 0;
+ }
+ _ACEOF
+-if ac_fn_cxx_try_link "$LINENO"; then :
++if ac_fn_c_try_link "$LINENO"; then :
+   eval "$3=yes"
+ else
+   eval "$3=no"
+@@ -1739,7 +1774,7 @@
+ $as_echo "$ac_res" >&6; }
+   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ 
+-} # ac_fn_cxx_check_func
++} # ac_fn_c_check_func
+ cat >config.log <<_ACEOF
+ This file contains any messages produced by compilers while
+ running configure, to aid debugging if configure makes a mistake.
+@@ -2138,16 +2173,16 @@
+ 
+ test -z "$MKOCTFILE" && as_fn_error $? "mkoctfile not found" "$LINENO" 5
+ 
+-# Extract the first word of "octave", so it can be a program name with args.
+-set dummy octave; ac_word=$2
++# Extract the first word of "octave-config", so it can be a program name with args.
++set dummy octave-config; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if ${ac_cv_path_OCTAVE+:} false; then :
++if ${ac_cv_path_OCTAVE_CONFIG+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+-  case $OCTAVE in
++  case $OCTAVE_CONFIG in
+   [\\/]* | ?:[\\/]*)
+-  ac_cv_path_OCTAVE="$OCTAVE" # Let the user override the test with a path.
++  ac_cv_path_OCTAVE_CONFIG="$OCTAVE_CONFIG" # Let the user override the test with a path.
+   ;;
+   *)
+   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+@@ -2157,7 +2192,7 @@
+   test -z "$as_dir" && as_dir=.
+     for ac_exec_ext in '' $ac_executable_extensions; do
+   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+-    ac_cv_path_OCTAVE="$as_dir/$ac_word$ac_exec_ext"
++    ac_cv_path_OCTAVE_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+@@ -2168,30 +2203,28 @@
+   ;;
+ esac
+ fi
+-OCTAVE=$ac_cv_path_OCTAVE
+-if test -n "$OCTAVE"; then
+-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCTAVE" >&5
+-$as_echo "$OCTAVE" >&6; }
++OCTAVE_CONFIG=$ac_cv_path_OCTAVE_CONFIG
++if test -n "$OCTAVE_CONFIG"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCTAVE_CONFIG" >&5
++$as_echo "$OCTAVE_CONFIG" >&6; }
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+ 
+ 
+-test -z "$OCTAVE" && as_fn_error $? "octave not found" "$LINENO" 5
++test -z "$OCTAVE_CONFIG" &&  as_fn_error $? "octave-config not found" "$LINENO" 5
++
++
+ 
+ 
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CANONICAL_HOST_TYPE in octave-config" >&5
++$as_echo_n "checking for CANONICAL_HOST_TYPE in octave-config... " >&6; }
++canonical_host_type=`$OCTAVE_CONFIG -p CANONICAL_HOST_TYPE`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $canonical_host_type" >&5
++$as_echo "$canonical_host_type" >&6; }
++
+ 
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Octave's canonical_host_type" >&5
+-$as_echo_n "checking for Octave's canonical_host_type... " >&6; }
+-canonical_host_type=`$OCTAVE -qf --eval "                   \
+-  if exist ('__octave_config_info__')                       \
+-    disp  (__octave_config_info__ ('canonical_host_type'))  \
+-  else                                                      \
+-    disp  (octave_config_info ('canonical_host_type'))      \
+-  end"`
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${canonical_host_type}" >&5
+-$as_echo "${canonical_host_type}" >&6; }
+ 
+ 
+ 
+@@ -2203,48 +2236,222 @@
+ 
+ 
+ 
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Octave's include directory" >&5
+-$as_echo_n "checking for Octave's include directory... " >&6; }
+-octave_include_dir=`$OCTAVE -qf --eval "              \
+-  if exist ('__octave_config_info__')                 \
+-    disp  (__octave_config_info__ ('octincludedir'))  \
+-  else                                                \
+-    disp  (octave_config_info ('octincludedir'))      \
+-  end"`
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${octave_include_dir}" >&5
+-$as_echo "${octave_include_dir}" >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OCTINCLUDEDIR in octave-config" >&5
++$as_echo_n "checking for OCTINCLUDEDIR in octave-config... " >&6; }
++octave_include_dir=`$OCTAVE_CONFIG -p OCTINCLUDEDIR`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $octave_include_dir" >&5
++$as_echo "$octave_include_dir" >&6; }
+ 
+-save_CPPFLAGS=${CPPFLAG}
+-ac_ext=cpp
+-ac_cpp='$CXXCPP $CPPFLAGS'
+-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ 
+ 
+-CPPFLAGS="-I${octave_include_dir} ${CPPFLAGS}"
++# let configure get CC and CXX so we cant override for tests
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}gcc; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_CC+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_CC="${ac_tool_prefix}gcc"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
+ 
+-ac_ext=cpp
+-ac_cpp='$CXXCPP $CPPFLAGS'
+-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+-if test -z "$CXX"; then
+-  if test -n "$CCC"; then
+-    CXX=$CCC
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_CC"; then
++  ac_ct_CC=$CC
++  # Extract the first word of "gcc", so it can be a program name with args.
++set dummy gcc; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_CC+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_CC"; then
++  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_ac_ct_CC="gcc"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
++$as_echo "$ac_ct_CC" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_CC" = x; then
++    CC=""
+   else
+-    if test -n "$ac_tool_prefix"; then
+-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    CC=$ac_ct_CC
++  fi
++else
++  CC="$ac_cv_prog_CC"
++fi
++
++if test -z "$CC"; then
++          if test -n "$ac_tool_prefix"; then
++    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}cc; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_CC+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_CC="${ac_tool_prefix}cc"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++  fi
++fi
++if test -z "$CC"; then
++  # Extract the first word of "cc", so it can be a program name with args.
++set dummy cc; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_CC+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++  ac_prog_rejected=no
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
++       ac_prog_rejected=yes
++       continue
++     fi
++    ac_cv_prog_CC="cc"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++if test $ac_prog_rejected = yes; then
++  # We found a bogon in the path, so make sure we never use it.
++  set dummy $ac_cv_prog_CC
++  shift
++  if test $# != 0; then
++    # We chose a different compiler from the bogus one.
++    # However, it has the same basename, so the bogon will be chosen
++    # first if we set CC to just the basename; use the full file name.
++    shift
++    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
++  fi
++fi
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$CC"; then
++  if test -n "$ac_tool_prefix"; then
++  for ac_prog in cl.exe
+   do
+     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if ${ac_cv_prog_CXX+:} false; then :
++if ${ac_cv_prog_CC+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+-  if test -n "$CXX"; then
+-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -2253,7 +2460,7 @@
+   test -z "$as_dir" && as_dir=.
+     for ac_exec_ext in '' $ac_executable_extensions; do
+   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
++    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+@@ -2263,32 +2470,32 @@
+ 
+ fi
+ fi
+-CXX=$ac_cv_prog_CXX
+-if test -n "$CXX"; then
+-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+-$as_echo "$CXX" >&6; }
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++$as_echo "$CC" >&6; }
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+ 
+ 
+-    test -n "$CXX" && break
++    test -n "$CC" && break
+   done
+ fi
+-if test -z "$CXX"; then
+-  ac_ct_CXX=$CXX
+-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
++if test -z "$CC"; then
++  ac_ct_CC=$CC
++  for ac_prog in cl.exe
+ do
+   # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if ${ac_cv_prog_ac_ct_CXX+:} false; then :
++if ${ac_cv_prog_ac_ct_CC+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+-  if test -n "$ac_ct_CXX"; then
+-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
++  if test -n "$ac_ct_CC"; then
++  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -2297,7 +2504,7 @@
+   test -z "$as_dir" && as_dir=.
+     for ac_exec_ext in '' $ac_executable_extensions; do
+   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+-    ac_cv_prog_ac_ct_CXX="$ac_prog"
++    ac_cv_prog_ac_ct_CC="$ac_prog"
+     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+@@ -2307,21 +2514,21 @@
+ 
+ fi
+ fi
+-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+-if test -n "$ac_ct_CXX"; then
+-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+-$as_echo "$ac_ct_CXX" >&6; }
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
++$as_echo "$ac_ct_CC" >&6; }
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+ 
+ 
+-  test -n "$ac_ct_CXX" && break
++  test -n "$ac_ct_CC" && break
+ done
+ 
+-  if test "x$ac_ct_CXX" = x; then
+-    CXX="g++"
++  if test "x$ac_ct_CC" = x; then
++    CC=""
+   else
+     case $cross_compiling:$ac_tool_warned in
+ yes:)
+@@ -2329,14 +2536,20 @@
+ $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ ac_tool_warned=yes ;;
+ esac
+-    CXX=$ac_ct_CXX
++    CC=$ac_ct_CC
+   fi
+ fi
+ 
+-  fi
+ fi
++
++
++test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "no acceptable C compiler found in \$PATH
++See \`config.log' for more details" "$LINENO" 5; }
++
+ # Provide some information about the compiler.
+-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
++$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+ set X $ac_compile
+ ac_compiler=$2
+ for ac_option in --version -v -V -qversion; do
+@@ -2376,8 +2589,8 @@
+ # Try to create an executable without -o first, disregard a.out.
+ # It will help us diagnose broken compilers, and finding out an intuition
+ # of exeext.
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5
+-$as_echo_n "checking whether the C++ compiler works... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
++$as_echo_n "checking whether the C compiler works... " >&6; }
+ ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+ 
+ # The possible output files:
+@@ -2447,14 +2660,14 @@
+ 
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "C++ compiler cannot create executables
++as_fn_error 77 "C compiler cannot create executables
+ See \`config.log' for more details" "$LINENO" 5; }
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+ fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5
+-$as_echo_n "checking for C++ compiler default output file name... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
++$as_echo_n "checking for C compiler default output file name... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+ $as_echo "$ac_file" >&6; }
+ ac_exeext=$ac_cv_exeext
+@@ -2548,7 +2761,7 @@
+     else
+ 	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error $? "cannot run C++ compiled programs.
++as_fn_error $? "cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'.
+ See \`config.log' for more details" "$LINENO" 5; }
+     fi
+@@ -2610,6 +2823,353 @@
+ $as_echo "$ac_cv_objext" >&6; }
+ OBJEXT=$ac_cv_objext
+ ac_objext=$OBJEXT
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
++$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
++if ${ac_cv_c_compiler_gnu+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++#ifndef __GNUC__
++       choke me
++#endif
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ac_compiler_gnu=yes
++else
++  ac_compiler_gnu=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ac_cv_c_compiler_gnu=$ac_compiler_gnu
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
++$as_echo "$ac_cv_c_compiler_gnu" >&6; }
++if test $ac_compiler_gnu = yes; then
++  GCC=yes
++else
++  GCC=
++fi
++ac_test_CFLAGS=${CFLAGS+set}
++ac_save_CFLAGS=$CFLAGS
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
++$as_echo_n "checking whether $CC accepts -g... " >&6; }
++if ${ac_cv_prog_cc_g+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_save_c_werror_flag=$ac_c_werror_flag
++   ac_c_werror_flag=yes
++   ac_cv_prog_cc_g=no
++   CFLAGS="-g"
++   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ac_cv_prog_cc_g=yes
++else
++  CFLAGS=""
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++
++else
++  ac_c_werror_flag=$ac_save_c_werror_flag
++	 CFLAGS="-g"
++	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ac_cv_prog_cc_g=yes
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++   ac_c_werror_flag=$ac_save_c_werror_flag
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
++$as_echo "$ac_cv_prog_cc_g" >&6; }
++if test "$ac_test_CFLAGS" = set; then
++  CFLAGS=$ac_save_CFLAGS
++elif test $ac_cv_prog_cc_g = yes; then
++  if test "$GCC" = yes; then
++    CFLAGS="-g -O2"
++  else
++    CFLAGS="-g"
++  fi
++else
++  if test "$GCC" = yes; then
++    CFLAGS="-O2"
++  else
++    CFLAGS=
++  fi
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
++$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
++if ${ac_cv_prog_cc_c89+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_prog_cc_c89=no
++ac_save_CC=$CC
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdarg.h>
++#include <stdio.h>
++struct stat;
++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
++struct buf { int x; };
++FILE * (*rcsopen) (struct buf *, struct stat *, int);
++static char *e (p, i)
++     char **p;
++     int i;
++{
++  return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++  char *s;
++  va_list v;
++  va_start (v,p);
++  s = g (p, va_arg (v,int));
++  va_end (v);
++  return s;
++}
++
++/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
++   function prototypes and stuff, but not '\xHH' hex character constants.
++   These don't provoke an error unfortunately, instead are silently treated
++   as 'x'.  The following induces an error, until -std is added to get
++   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
++   array size at least.  It's necessary to write '\x00'==0 to get something
++   that's true only with -std.  */
++int osf4_cc_array ['\x00' == 0 ? 1 : -1];
++
++/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
++   inside strings and character constants.  */
++#define FOO(x) 'x'
++int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
++
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
++int argc;
++char **argv;
++int
++main ()
++{
++return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
++  ;
++  return 0;
++}
++_ACEOF
++for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
++	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++  CC="$ac_save_CC $ac_arg"
++  if ac_fn_c_try_compile "$LINENO"; then :
++  ac_cv_prog_cc_c89=$ac_arg
++fi
++rm -f core conftest.err conftest.$ac_objext
++  test "x$ac_cv_prog_cc_c89" != "xno" && break
++done
++rm -f conftest.$ac_ext
++CC=$ac_save_CC
++
++fi
++# AC_CACHE_VAL
++case "x$ac_cv_prog_cc_c89" in
++  x)
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
++$as_echo "none needed" >&6; } ;;
++  xno)
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
++$as_echo "unsupported" >&6; } ;;
++  *)
++    CC="$CC $ac_cv_prog_cc_c89"
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
++$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
++esac
++if test "x$ac_cv_prog_cc_c89" != xno; then :
++
++fi
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++if test -z "$CXX"; then
++  if test -n "$CCC"; then
++    CXX=$CCC
++  else
++    if test -n "$ac_tool_prefix"; then
++  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
++  do
++    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_CXX+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$CXX"; then
++  ac_cv_prog_CXX="$CXX" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++CXX=$ac_cv_prog_CXX
++if test -n "$CXX"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
++$as_echo "$CXX" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++    test -n "$CXX" && break
++  done
++fi
++if test -z "$CXX"; then
++  ac_ct_CXX=$CXX
++  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_CXX+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_CXX"; then
++  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_ac_ct_CXX="$ac_prog"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
++if test -n "$ac_ct_CXX"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
++$as_echo "$ac_ct_CXX" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++  test -n "$ac_ct_CXX" && break
++done
++
++  if test "x$ac_ct_CXX" = x; then
++    CXX="g++"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    CXX=$ac_ct_CXX
++  fi
++fi
++
++  fi
++fi
++# Provide some information about the compiler.
++$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
++set X $ac_compile
++ac_compiler=$2
++for ac_option in --version -v -V -qversion; do
++  { { ac_try="$ac_compiler $ac_option >&5"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++$as_echo "$ac_try_echo"; } >&5
++  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
++  ac_status=$?
++  if test -s conftest.err; then
++    sed '10a\
++... rest of stderr output deleted ...
++         10q' conftest.err >conftest.er1
++    cat conftest.er1 >&5
++  fi
++  rm -f conftest.er1 conftest.err
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++done
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
+ $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+ if ${ac_cv_cxx_compiler_gnu+:} false; then :
+@@ -2725,6 +3285,23 @@
+     CXXFLAGS=
+   fi
+ fi
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++# set compiler and flags to values octave will be using
++CC=`$MKOCTFILE -p CC`
++CXX=`$MKOCTFILE -p CXX`
++CFLAGS=`$MKOCTFILE -p CFLAGS`
++CPPFLAGS=`$MKOCTFILE -p CPPFLAGS`
++LDFLAGS=`$MKOCTFILE -p LDFLAGS`
++LIBS=`$MKOCTFILE -p LIBS`
++CXXFLAGS=`$MKOCTFILE -p CXXFLAGS`
++
++save_CPPFLAGS=${CPPFLAGS}
+ ac_ext=cpp
+ ac_cpp='$CXXCPP $CPPFLAGS'
+ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+@@ -2732,6 +3309,9 @@
+ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ 
+ 
++CPPFLAGS="-I${octave_include_dir} ${CPPFLAGS}"
++
++
+ ac_ext=cpp
+ ac_cpp='$CXXCPP $CPPFLAGS'
+ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+@@ -3179,17 +3759,18 @@
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ 
+-ac_ext=cpp
+-ac_cpp='$CXXCPP $CPPFLAGS'
+-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ 
+ CPPFLAGS=${save_CPPFLAGS}
+ 
+ 
+ 
+ 
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
+ $as_echo_n "checking for cos in -lm... " >&6; }
+ if ${ac_cv_lib_m_cos+:} false; then :
+@@ -3215,7 +3796,7 @@
+   return 0;
+ }
+ _ACEOF
+-if ac_fn_cxx_try_link "$LINENO"; then :
++if ac_fn_c_try_link "$LINENO"; then :
+   ac_cv_lib_m_cos=yes
+ else
+   ac_cv_lib_m_cos=no
+@@ -3262,7 +3843,7 @@
+   return 0;
+ }
+ _ACEOF
+-if ac_fn_cxx_try_link "$LINENO"; then :
++if ac_fn_c_try_link "$LINENO"; then :
+   ac_cv_lib_gslcblas_cblas_dgemm=yes
+ else
+   ac_cv_lib_gslcblas_cblas_dgemm=no
+@@ -3309,7 +3890,7 @@
+   return 0;
+ }
+ _ACEOF
+-if ac_fn_cxx_try_link "$LINENO"; then :
++if ac_fn_c_try_link "$LINENO"; then :
+   ac_cv_lib_gsl_gsl_message=yes
+ else
+   ac_cv_lib_gsl_gsl_message=no
+@@ -3336,7 +3917,7 @@
+ # Auto-generated tests for GSL functions
+ for ac_func in gsl_sf_clausen_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_clausen_e" "ac_cv_func_gsl_sf_clausen_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_clausen_e" "ac_cv_func_gsl_sf_clausen_e"
+ if test "x$ac_cv_func_gsl_sf_clausen_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CLAUSEN_E 1
+@@ -3349,7 +3930,7 @@
+ 
+ for ac_func in gsl_sf_clausen_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_clausen_e" "ac_cv_func_gsl_sf_clausen_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_clausen_e" "ac_cv_func_gsl_sf_clausen_e"
+ if test "x$ac_cv_func_gsl_sf_clausen_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CLAUSEN_E 1
+@@ -3362,7 +3943,7 @@
+ 
+ for ac_func in gsl_sf_dawson_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_dawson_e" "ac_cv_func_gsl_sf_dawson_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_dawson_e" "ac_cv_func_gsl_sf_dawson_e"
+ if test "x$ac_cv_func_gsl_sf_dawson_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_DAWSON_E 1
+@@ -3375,7 +3956,7 @@
+ 
+ for ac_func in gsl_sf_dawson_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_dawson_e" "ac_cv_func_gsl_sf_dawson_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_dawson_e" "ac_cv_func_gsl_sf_dawson_e"
+ if test "x$ac_cv_func_gsl_sf_dawson_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_DAWSON_E 1
+@@ -3388,7 +3969,7 @@
+ 
+ for ac_func in gsl_sf_debye_1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_debye_1_e" "ac_cv_func_gsl_sf_debye_1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_debye_1_e" "ac_cv_func_gsl_sf_debye_1_e"
+ if test "x$ac_cv_func_gsl_sf_debye_1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_DEBYE_1_E 1
+@@ -3401,7 +3982,7 @@
+ 
+ for ac_func in gsl_sf_debye_1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_debye_1_e" "ac_cv_func_gsl_sf_debye_1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_debye_1_e" "ac_cv_func_gsl_sf_debye_1_e"
+ if test "x$ac_cv_func_gsl_sf_debye_1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_DEBYE_1_E 1
+@@ -3414,7 +3995,7 @@
+ 
+ for ac_func in gsl_sf_debye_2_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_debye_2_e" "ac_cv_func_gsl_sf_debye_2_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_debye_2_e" "ac_cv_func_gsl_sf_debye_2_e"
+ if test "x$ac_cv_func_gsl_sf_debye_2_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_DEBYE_2_E 1
+@@ -3427,7 +4008,7 @@
+ 
+ for ac_func in gsl_sf_debye_2_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_debye_2_e" "ac_cv_func_gsl_sf_debye_2_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_debye_2_e" "ac_cv_func_gsl_sf_debye_2_e"
+ if test "x$ac_cv_func_gsl_sf_debye_2_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_DEBYE_2_E 1
+@@ -3440,7 +4021,7 @@
+ 
+ for ac_func in gsl_sf_debye_3_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_debye_3_e" "ac_cv_func_gsl_sf_debye_3_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_debye_3_e" "ac_cv_func_gsl_sf_debye_3_e"
+ if test "x$ac_cv_func_gsl_sf_debye_3_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_DEBYE_3_E 1
+@@ -3453,7 +4034,7 @@
+ 
+ for ac_func in gsl_sf_debye_3_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_debye_3_e" "ac_cv_func_gsl_sf_debye_3_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_debye_3_e" "ac_cv_func_gsl_sf_debye_3_e"
+ if test "x$ac_cv_func_gsl_sf_debye_3_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_DEBYE_3_E 1
+@@ -3466,7 +4047,7 @@
+ 
+ for ac_func in gsl_sf_debye_4_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_debye_4_e" "ac_cv_func_gsl_sf_debye_4_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_debye_4_e" "ac_cv_func_gsl_sf_debye_4_e"
+ if test "x$ac_cv_func_gsl_sf_debye_4_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_DEBYE_4_E 1
+@@ -3479,7 +4060,7 @@
+ 
+ for ac_func in gsl_sf_debye_4_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_debye_4_e" "ac_cv_func_gsl_sf_debye_4_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_debye_4_e" "ac_cv_func_gsl_sf_debye_4_e"
+ if test "x$ac_cv_func_gsl_sf_debye_4_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_DEBYE_4_E 1
+@@ -3492,7 +4073,7 @@
+ 
+ for ac_func in gsl_sf_debye_5_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_debye_5_e" "ac_cv_func_gsl_sf_debye_5_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_debye_5_e" "ac_cv_func_gsl_sf_debye_5_e"
+ if test "x$ac_cv_func_gsl_sf_debye_5_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_DEBYE_5_E 1
+@@ -3505,7 +4086,7 @@
+ 
+ for ac_func in gsl_sf_debye_6_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_debye_6_e" "ac_cv_func_gsl_sf_debye_6_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_debye_6_e" "ac_cv_func_gsl_sf_debye_6_e"
+ if test "x$ac_cv_func_gsl_sf_debye_6_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_DEBYE_6_E 1
+@@ -3518,7 +4099,7 @@
+ 
+ for ac_func in gsl_sf_dilog_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_dilog_e" "ac_cv_func_gsl_sf_dilog_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_dilog_e" "ac_cv_func_gsl_sf_dilog_e"
+ if test "x$ac_cv_func_gsl_sf_dilog_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_DILOG_E 1
+@@ -3531,7 +4112,7 @@
+ 
+ for ac_func in gsl_sf_erf_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_erf_e" "ac_cv_func_gsl_sf_erf_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_erf_e" "ac_cv_func_gsl_sf_erf_e"
+ if test "x$ac_cv_func_gsl_sf_erf_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ERF_E 1
+@@ -3544,7 +4125,7 @@
+ 
+ for ac_func in gsl_sf_erf_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_erf_e" "ac_cv_func_gsl_sf_erf_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_erf_e" "ac_cv_func_gsl_sf_erf_e"
+ if test "x$ac_cv_func_gsl_sf_erf_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ERF_E 1
+@@ -3557,7 +4138,7 @@
+ 
+ for ac_func in gsl_sf_erfc_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_erfc_e" "ac_cv_func_gsl_sf_erfc_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_erfc_e" "ac_cv_func_gsl_sf_erfc_e"
+ if test "x$ac_cv_func_gsl_sf_erfc_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ERFC_E 1
+@@ -3570,7 +4151,7 @@
+ 
+ for ac_func in gsl_sf_erfc_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_erfc_e" "ac_cv_func_gsl_sf_erfc_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_erfc_e" "ac_cv_func_gsl_sf_erfc_e"
+ if test "x$ac_cv_func_gsl_sf_erfc_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ERFC_E 1
+@@ -3583,7 +4164,7 @@
+ 
+ for ac_func in gsl_sf_log_erfc_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_log_erfc_e" "ac_cv_func_gsl_sf_log_erfc_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_log_erfc_e" "ac_cv_func_gsl_sf_log_erfc_e"
+ if test "x$ac_cv_func_gsl_sf_log_erfc_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LOG_ERFC_E 1
+@@ -3596,7 +4177,7 @@
+ 
+ for ac_func in gsl_sf_log_erfc_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_log_erfc_e" "ac_cv_func_gsl_sf_log_erfc_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_log_erfc_e" "ac_cv_func_gsl_sf_log_erfc_e"
+ if test "x$ac_cv_func_gsl_sf_log_erfc_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LOG_ERFC_E 1
+@@ -3609,7 +4190,7 @@
+ 
+ for ac_func in gsl_sf_erf_Z_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_erf_Z_e" "ac_cv_func_gsl_sf_erf_Z_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_erf_Z_e" "ac_cv_func_gsl_sf_erf_Z_e"
+ if test "x$ac_cv_func_gsl_sf_erf_Z_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ERF_Z_E 1
+@@ -3622,7 +4203,7 @@
+ 
+ for ac_func in gsl_sf_erf_Z_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_erf_Z_e" "ac_cv_func_gsl_sf_erf_Z_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_erf_Z_e" "ac_cv_func_gsl_sf_erf_Z_e"
+ if test "x$ac_cv_func_gsl_sf_erf_Z_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ERF_Z_E 1
+@@ -3635,7 +4216,7 @@
+ 
+ for ac_func in gsl_sf_erf_Q_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_erf_Q_e" "ac_cv_func_gsl_sf_erf_Q_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_erf_Q_e" "ac_cv_func_gsl_sf_erf_Q_e"
+ if test "x$ac_cv_func_gsl_sf_erf_Q_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ERF_Q_E 1
+@@ -3648,7 +4229,7 @@
+ 
+ for ac_func in gsl_sf_erf_Q_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_erf_Q_e" "ac_cv_func_gsl_sf_erf_Q_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_erf_Q_e" "ac_cv_func_gsl_sf_erf_Q_e"
+ if test "x$ac_cv_func_gsl_sf_erf_Q_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ERF_Q_E 1
+@@ -3661,7 +4242,7 @@
+ 
+ for ac_func in gsl_sf_hazard_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hazard_e" "ac_cv_func_gsl_sf_hazard_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hazard_e" "ac_cv_func_gsl_sf_hazard_e"
+ if test "x$ac_cv_func_gsl_sf_hazard_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HAZARD_E 1
+@@ -3674,7 +4255,7 @@
+ 
+ for ac_func in gsl_sf_hazard_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hazard_e" "ac_cv_func_gsl_sf_hazard_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hazard_e" "ac_cv_func_gsl_sf_hazard_e"
+ if test "x$ac_cv_func_gsl_sf_hazard_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HAZARD_E 1
+@@ -3687,7 +4268,7 @@
+ 
+ for ac_func in gsl_sf_expm1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_expm1_e" "ac_cv_func_gsl_sf_expm1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_expm1_e" "ac_cv_func_gsl_sf_expm1_e"
+ if test "x$ac_cv_func_gsl_sf_expm1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPM1_E 1
+@@ -3700,7 +4281,7 @@
+ 
+ for ac_func in gsl_sf_expm1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_expm1_e" "ac_cv_func_gsl_sf_expm1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_expm1_e" "ac_cv_func_gsl_sf_expm1_e"
+ if test "x$ac_cv_func_gsl_sf_expm1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPM1_E 1
+@@ -3713,7 +4294,7 @@
+ 
+ for ac_func in gsl_sf_exprel_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_exprel_e" "ac_cv_func_gsl_sf_exprel_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_exprel_e" "ac_cv_func_gsl_sf_exprel_e"
+ if test "x$ac_cv_func_gsl_sf_exprel_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPREL_E 1
+@@ -3726,7 +4307,7 @@
+ 
+ for ac_func in gsl_sf_exprel_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_exprel_e" "ac_cv_func_gsl_sf_exprel_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_exprel_e" "ac_cv_func_gsl_sf_exprel_e"
+ if test "x$ac_cv_func_gsl_sf_exprel_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPREL_E 1
+@@ -3739,7 +4320,7 @@
+ 
+ for ac_func in gsl_sf_exprel_2_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_exprel_2_e" "ac_cv_func_gsl_sf_exprel_2_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_exprel_2_e" "ac_cv_func_gsl_sf_exprel_2_e"
+ if test "x$ac_cv_func_gsl_sf_exprel_2_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPREL_2_E 1
+@@ -3752,7 +4333,7 @@
+ 
+ for ac_func in gsl_sf_exprel_2_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_exprel_2_e" "ac_cv_func_gsl_sf_exprel_2_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_exprel_2_e" "ac_cv_func_gsl_sf_exprel_2_e"
+ if test "x$ac_cv_func_gsl_sf_exprel_2_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPREL_2_E 1
+@@ -3765,7 +4346,7 @@
+ 
+ for ac_func in gsl_sf_expint_E1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_expint_E1_e" "ac_cv_func_gsl_sf_expint_E1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_expint_E1_e" "ac_cv_func_gsl_sf_expint_E1_e"
+ if test "x$ac_cv_func_gsl_sf_expint_E1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPINT_E1_E 1
+@@ -3778,7 +4359,7 @@
+ 
+ for ac_func in gsl_sf_expint_E1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_expint_E1_e" "ac_cv_func_gsl_sf_expint_E1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_expint_E1_e" "ac_cv_func_gsl_sf_expint_E1_e"
+ if test "x$ac_cv_func_gsl_sf_expint_E1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPINT_E1_E 1
+@@ -3791,7 +4372,7 @@
+ 
+ for ac_func in gsl_sf_expint_E2_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_expint_E2_e" "ac_cv_func_gsl_sf_expint_E2_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_expint_E2_e" "ac_cv_func_gsl_sf_expint_E2_e"
+ if test "x$ac_cv_func_gsl_sf_expint_E2_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPINT_E2_E 1
+@@ -3804,7 +4385,7 @@
+ 
+ for ac_func in gsl_sf_expint_E2_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_expint_E2_e" "ac_cv_func_gsl_sf_expint_E2_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_expint_E2_e" "ac_cv_func_gsl_sf_expint_E2_e"
+ if test "x$ac_cv_func_gsl_sf_expint_E2_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPINT_E2_E 1
+@@ -3817,7 +4398,7 @@
+ 
+ for ac_func in gsl_sf_expint_Ei_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_expint_Ei_e" "ac_cv_func_gsl_sf_expint_Ei_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_expint_Ei_e" "ac_cv_func_gsl_sf_expint_Ei_e"
+ if test "x$ac_cv_func_gsl_sf_expint_Ei_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPINT_EI_E 1
+@@ -3830,7 +4411,7 @@
+ 
+ for ac_func in gsl_sf_expint_Ei_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_expint_Ei_e" "ac_cv_func_gsl_sf_expint_Ei_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_expint_Ei_e" "ac_cv_func_gsl_sf_expint_Ei_e"
+ if test "x$ac_cv_func_gsl_sf_expint_Ei_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPINT_EI_E 1
+@@ -3843,7 +4424,7 @@
+ 
+ for ac_func in gsl_sf_Shi_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_Shi_e" "ac_cv_func_gsl_sf_Shi_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_Shi_e" "ac_cv_func_gsl_sf_Shi_e"
+ if test "x$ac_cv_func_gsl_sf_Shi_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_SHI_E 1
+@@ -3856,7 +4437,7 @@
+ 
+ for ac_func in gsl_sf_Shi_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_Shi_e" "ac_cv_func_gsl_sf_Shi_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_Shi_e" "ac_cv_func_gsl_sf_Shi_e"
+ if test "x$ac_cv_func_gsl_sf_Shi_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_SHI_E 1
+@@ -3869,7 +4450,7 @@
+ 
+ for ac_func in gsl_sf_Chi_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_Chi_e" "ac_cv_func_gsl_sf_Chi_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_Chi_e" "ac_cv_func_gsl_sf_Chi_e"
+ if test "x$ac_cv_func_gsl_sf_Chi_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CHI_E 1
+@@ -3882,7 +4463,7 @@
+ 
+ for ac_func in gsl_sf_Chi_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_Chi_e" "ac_cv_func_gsl_sf_Chi_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_Chi_e" "ac_cv_func_gsl_sf_Chi_e"
+ if test "x$ac_cv_func_gsl_sf_Chi_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CHI_E 1
+@@ -3895,7 +4476,7 @@
+ 
+ for ac_func in gsl_sf_expint_3_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_expint_3_e" "ac_cv_func_gsl_sf_expint_3_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_expint_3_e" "ac_cv_func_gsl_sf_expint_3_e"
+ if test "x$ac_cv_func_gsl_sf_expint_3_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPINT_3_E 1
+@@ -3908,7 +4489,7 @@
+ 
+ for ac_func in gsl_sf_expint_3_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_expint_3_e" "ac_cv_func_gsl_sf_expint_3_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_expint_3_e" "ac_cv_func_gsl_sf_expint_3_e"
+ if test "x$ac_cv_func_gsl_sf_expint_3_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPINT_3_E 1
+@@ -3921,7 +4502,7 @@
+ 
+ for ac_func in gsl_sf_Si_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_Si_e" "ac_cv_func_gsl_sf_Si_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_Si_e" "ac_cv_func_gsl_sf_Si_e"
+ if test "x$ac_cv_func_gsl_sf_Si_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_SI_E 1
+@@ -3934,7 +4515,7 @@
+ 
+ for ac_func in gsl_sf_Si_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_Si_e" "ac_cv_func_gsl_sf_Si_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_Si_e" "ac_cv_func_gsl_sf_Si_e"
+ if test "x$ac_cv_func_gsl_sf_Si_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_SI_E 1
+@@ -3947,7 +4528,7 @@
+ 
+ for ac_func in gsl_sf_Ci_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_Ci_e" "ac_cv_func_gsl_sf_Ci_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_Ci_e" "ac_cv_func_gsl_sf_Ci_e"
+ if test "x$ac_cv_func_gsl_sf_Ci_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CI_E 1
+@@ -3960,7 +4541,7 @@
+ 
+ for ac_func in gsl_sf_Ci_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_Ci_e" "ac_cv_func_gsl_sf_Ci_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_Ci_e" "ac_cv_func_gsl_sf_Ci_e"
+ if test "x$ac_cv_func_gsl_sf_Ci_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CI_E 1
+@@ -3973,7 +4554,7 @@
+ 
+ for ac_func in gsl_sf_atanint_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_atanint_e" "ac_cv_func_gsl_sf_atanint_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_atanint_e" "ac_cv_func_gsl_sf_atanint_e"
+ if test "x$ac_cv_func_gsl_sf_atanint_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ATANINT_E 1
+@@ -3986,7 +4567,7 @@
+ 
+ for ac_func in gsl_sf_atanint_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_atanint_e" "ac_cv_func_gsl_sf_atanint_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_atanint_e" "ac_cv_func_gsl_sf_atanint_e"
+ if test "x$ac_cv_func_gsl_sf_atanint_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ATANINT_E 1
+@@ -3999,7 +4580,7 @@
+ 
+ for ac_func in gsl_sf_fermi_dirac_mhalf_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_fermi_dirac_mhalf_e" "ac_cv_func_gsl_sf_fermi_dirac_mhalf_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_fermi_dirac_mhalf_e" "ac_cv_func_gsl_sf_fermi_dirac_mhalf_e"
+ if test "x$ac_cv_func_gsl_sf_fermi_dirac_mhalf_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_FERMI_DIRAC_MHALF_E 1
+@@ -4012,7 +4593,7 @@
+ 
+ for ac_func in gsl_sf_fermi_dirac_mhalf_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_fermi_dirac_mhalf_e" "ac_cv_func_gsl_sf_fermi_dirac_mhalf_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_fermi_dirac_mhalf_e" "ac_cv_func_gsl_sf_fermi_dirac_mhalf_e"
+ if test "x$ac_cv_func_gsl_sf_fermi_dirac_mhalf_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_FERMI_DIRAC_MHALF_E 1
+@@ -4025,7 +4606,7 @@
+ 
+ for ac_func in gsl_sf_fermi_dirac_half_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_fermi_dirac_half_e" "ac_cv_func_gsl_sf_fermi_dirac_half_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_fermi_dirac_half_e" "ac_cv_func_gsl_sf_fermi_dirac_half_e"
+ if test "x$ac_cv_func_gsl_sf_fermi_dirac_half_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_FERMI_DIRAC_HALF_E 1
+@@ -4038,7 +4619,7 @@
+ 
+ for ac_func in gsl_sf_fermi_dirac_half_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_fermi_dirac_half_e" "ac_cv_func_gsl_sf_fermi_dirac_half_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_fermi_dirac_half_e" "ac_cv_func_gsl_sf_fermi_dirac_half_e"
+ if test "x$ac_cv_func_gsl_sf_fermi_dirac_half_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_FERMI_DIRAC_HALF_E 1
+@@ -4051,7 +4632,7 @@
+ 
+ for ac_func in gsl_sf_fermi_dirac_3half_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_fermi_dirac_3half_e" "ac_cv_func_gsl_sf_fermi_dirac_3half_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_fermi_dirac_3half_e" "ac_cv_func_gsl_sf_fermi_dirac_3half_e"
+ if test "x$ac_cv_func_gsl_sf_fermi_dirac_3half_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_FERMI_DIRAC_3HALF_E 1
+@@ -4064,7 +4645,7 @@
+ 
+ for ac_func in gsl_sf_fermi_dirac_3half_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_fermi_dirac_3half_e" "ac_cv_func_gsl_sf_fermi_dirac_3half_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_fermi_dirac_3half_e" "ac_cv_func_gsl_sf_fermi_dirac_3half_e"
+ if test "x$ac_cv_func_gsl_sf_fermi_dirac_3half_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_FERMI_DIRAC_3HALF_E 1
+@@ -4077,7 +4658,7 @@
+ 
+ for ac_func in gsl_sf_gamma_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_gamma_e" "ac_cv_func_gsl_sf_gamma_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_gamma_e" "ac_cv_func_gsl_sf_gamma_e"
+ if test "x$ac_cv_func_gsl_sf_gamma_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_GAMMA_E 1
+@@ -4090,7 +4671,7 @@
+ 
+ for ac_func in gsl_sf_gamma_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_gamma_e" "ac_cv_func_gsl_sf_gamma_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_gamma_e" "ac_cv_func_gsl_sf_gamma_e"
+ if test "x$ac_cv_func_gsl_sf_gamma_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_GAMMA_E 1
+@@ -4103,7 +4684,7 @@
+ 
+ for ac_func in gsl_sf_lngamma_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lngamma_e" "ac_cv_func_gsl_sf_lngamma_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lngamma_e" "ac_cv_func_gsl_sf_lngamma_e"
+ if test "x$ac_cv_func_gsl_sf_lngamma_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LNGAMMA_E 1
+@@ -4116,7 +4697,7 @@
+ 
+ for ac_func in gsl_sf_lngamma_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lngamma_e" "ac_cv_func_gsl_sf_lngamma_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lngamma_e" "ac_cv_func_gsl_sf_lngamma_e"
+ if test "x$ac_cv_func_gsl_sf_lngamma_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LNGAMMA_E 1
+@@ -4129,7 +4710,7 @@
+ 
+ for ac_func in gsl_sf_gammastar_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_gammastar_e" "ac_cv_func_gsl_sf_gammastar_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_gammastar_e" "ac_cv_func_gsl_sf_gammastar_e"
+ if test "x$ac_cv_func_gsl_sf_gammastar_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_GAMMASTAR_E 1
+@@ -4142,7 +4723,7 @@
+ 
+ for ac_func in gsl_sf_gammastar_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_gammastar_e" "ac_cv_func_gsl_sf_gammastar_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_gammastar_e" "ac_cv_func_gsl_sf_gammastar_e"
+ if test "x$ac_cv_func_gsl_sf_gammastar_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_GAMMASTAR_E 1
+@@ -4155,7 +4736,7 @@
+ 
+ for ac_func in gsl_sf_gammainv_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_gammainv_e" "ac_cv_func_gsl_sf_gammainv_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_gammainv_e" "ac_cv_func_gsl_sf_gammainv_e"
+ if test "x$ac_cv_func_gsl_sf_gammainv_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_GAMMAINV_E 1
+@@ -4168,7 +4749,7 @@
+ 
+ for ac_func in gsl_sf_gammainv_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_gammainv_e" "ac_cv_func_gsl_sf_gammainv_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_gammainv_e" "ac_cv_func_gsl_sf_gammainv_e"
+ if test "x$ac_cv_func_gsl_sf_gammainv_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_GAMMAINV_E 1
+@@ -4181,7 +4762,7 @@
+ 
+ for ac_func in gsl_sf_lambert_W0_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lambert_W0_e" "ac_cv_func_gsl_sf_lambert_W0_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lambert_W0_e" "ac_cv_func_gsl_sf_lambert_W0_e"
+ if test "x$ac_cv_func_gsl_sf_lambert_W0_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LAMBERT_W0_E 1
+@@ -4194,7 +4775,7 @@
+ 
+ for ac_func in gsl_sf_gammastar_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_gammastar_e" "ac_cv_func_gsl_sf_gammastar_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_gammastar_e" "ac_cv_func_gsl_sf_gammastar_e"
+ if test "x$ac_cv_func_gsl_sf_gammastar_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_GAMMASTAR_E 1
+@@ -4207,7 +4788,7 @@
+ 
+ for ac_func in gsl_sf_lambert_W0_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lambert_W0_e" "ac_cv_func_gsl_sf_lambert_W0_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lambert_W0_e" "ac_cv_func_gsl_sf_lambert_W0_e"
+ if test "x$ac_cv_func_gsl_sf_lambert_W0_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LAMBERT_W0_E 1
+@@ -4220,7 +4801,7 @@
+ 
+ for ac_func in gsl_sf_lambert_Wm1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lambert_Wm1_e" "ac_cv_func_gsl_sf_lambert_Wm1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lambert_Wm1_e" "ac_cv_func_gsl_sf_lambert_Wm1_e"
+ if test "x$ac_cv_func_gsl_sf_lambert_Wm1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LAMBERT_WM1_E 1
+@@ -4233,7 +4814,7 @@
+ 
+ for ac_func in gsl_sf_lambert_Wm1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lambert_Wm1_e" "ac_cv_func_gsl_sf_lambert_Wm1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lambert_Wm1_e" "ac_cv_func_gsl_sf_lambert_Wm1_e"
+ if test "x$ac_cv_func_gsl_sf_lambert_Wm1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LAMBERT_WM1_E 1
+@@ -4246,7 +4827,7 @@
+ 
+ for ac_func in gsl_sf_log_1plusx_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_log_1plusx_e" "ac_cv_func_gsl_sf_log_1plusx_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_log_1plusx_e" "ac_cv_func_gsl_sf_log_1plusx_e"
+ if test "x$ac_cv_func_gsl_sf_log_1plusx_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LOG_1PLUSX_E 1
+@@ -4259,7 +4840,7 @@
+ 
+ for ac_func in gsl_sf_log_1plusx_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_log_1plusx_e" "ac_cv_func_gsl_sf_log_1plusx_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_log_1plusx_e" "ac_cv_func_gsl_sf_log_1plusx_e"
+ if test "x$ac_cv_func_gsl_sf_log_1plusx_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LOG_1PLUSX_E 1
+@@ -4272,7 +4853,7 @@
+ 
+ for ac_func in gsl_sf_log_1plusx_mx_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_log_1plusx_mx_e" "ac_cv_func_gsl_sf_log_1plusx_mx_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_log_1plusx_mx_e" "ac_cv_func_gsl_sf_log_1plusx_mx_e"
+ if test "x$ac_cv_func_gsl_sf_log_1plusx_mx_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LOG_1PLUSX_MX_E 1
+@@ -4285,7 +4866,7 @@
+ 
+ for ac_func in gsl_sf_log_1plusx_mx_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_log_1plusx_mx_e" "ac_cv_func_gsl_sf_log_1plusx_mx_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_log_1plusx_mx_e" "ac_cv_func_gsl_sf_log_1plusx_mx_e"
+ if test "x$ac_cv_func_gsl_sf_log_1plusx_mx_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LOG_1PLUSX_MX_E 1
+@@ -4298,7 +4879,7 @@
+ 
+ for ac_func in gsl_sf_psi_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_psi_e" "ac_cv_func_gsl_sf_psi_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_psi_e" "ac_cv_func_gsl_sf_psi_e"
+ if test "x$ac_cv_func_gsl_sf_psi_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_PSI_E 1
+@@ -4311,7 +4892,7 @@
+ 
+ for ac_func in gsl_sf_psi_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_psi_e" "ac_cv_func_gsl_sf_psi_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_psi_e" "ac_cv_func_gsl_sf_psi_e"
+ if test "x$ac_cv_func_gsl_sf_psi_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_PSI_E 1
+@@ -4324,7 +4905,7 @@
+ 
+ for ac_func in gsl_sf_psi_1piy_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_psi_1piy_e" "ac_cv_func_gsl_sf_psi_1piy_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_psi_1piy_e" "ac_cv_func_gsl_sf_psi_1piy_e"
+ if test "x$ac_cv_func_gsl_sf_psi_1piy_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_PSI_1PIY_E 1
+@@ -4337,7 +4918,7 @@
+ 
+ for ac_func in gsl_sf_psi_1piy_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_psi_1piy_e" "ac_cv_func_gsl_sf_psi_1piy_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_psi_1piy_e" "ac_cv_func_gsl_sf_psi_1piy_e"
+ if test "x$ac_cv_func_gsl_sf_psi_1piy_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_PSI_1PIY_E 1
+@@ -4350,7 +4931,7 @@
+ 
+ for ac_func in gsl_sf_synchrotron_1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_synchrotron_1_e" "ac_cv_func_gsl_sf_synchrotron_1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_synchrotron_1_e" "ac_cv_func_gsl_sf_synchrotron_1_e"
+ if test "x$ac_cv_func_gsl_sf_synchrotron_1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_SYNCHROTRON_1_E 1
+@@ -4363,7 +4944,7 @@
+ 
+ for ac_func in gsl_sf_synchrotron_1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_synchrotron_1_e" "ac_cv_func_gsl_sf_synchrotron_1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_synchrotron_1_e" "ac_cv_func_gsl_sf_synchrotron_1_e"
+ if test "x$ac_cv_func_gsl_sf_synchrotron_1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_SYNCHROTRON_1_E 1
+@@ -4376,7 +4957,7 @@
+ 
+ for ac_func in gsl_sf_synchrotron_2_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_synchrotron_2_e" "ac_cv_func_gsl_sf_synchrotron_2_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_synchrotron_2_e" "ac_cv_func_gsl_sf_synchrotron_2_e"
+ if test "x$ac_cv_func_gsl_sf_synchrotron_2_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_SYNCHROTRON_2_E 1
+@@ -4389,7 +4970,7 @@
+ 
+ for ac_func in gsl_sf_synchrotron_2_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_synchrotron_2_e" "ac_cv_func_gsl_sf_synchrotron_2_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_synchrotron_2_e" "ac_cv_func_gsl_sf_synchrotron_2_e"
+ if test "x$ac_cv_func_gsl_sf_synchrotron_2_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_SYNCHROTRON_2_E 1
+@@ -4402,7 +4983,7 @@
+ 
+ for ac_func in gsl_sf_transport_2_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_transport_2_e" "ac_cv_func_gsl_sf_transport_2_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_transport_2_e" "ac_cv_func_gsl_sf_transport_2_e"
+ if test "x$ac_cv_func_gsl_sf_transport_2_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_TRANSPORT_2_E 1
+@@ -4415,7 +4996,7 @@
+ 
+ for ac_func in gsl_sf_transport_2_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_transport_2_e" "ac_cv_func_gsl_sf_transport_2_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_transport_2_e" "ac_cv_func_gsl_sf_transport_2_e"
+ if test "x$ac_cv_func_gsl_sf_transport_2_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_TRANSPORT_2_E 1
+@@ -4428,7 +5009,7 @@
+ 
+ for ac_func in gsl_sf_transport_3_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_transport_3_e" "ac_cv_func_gsl_sf_transport_3_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_transport_3_e" "ac_cv_func_gsl_sf_transport_3_e"
+ if test "x$ac_cv_func_gsl_sf_transport_3_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_TRANSPORT_3_E 1
+@@ -4441,7 +5022,7 @@
+ 
+ for ac_func in gsl_sf_transport_3_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_transport_3_e" "ac_cv_func_gsl_sf_transport_3_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_transport_3_e" "ac_cv_func_gsl_sf_transport_3_e"
+ if test "x$ac_cv_func_gsl_sf_transport_3_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_TRANSPORT_3_E 1
+@@ -4454,7 +5035,7 @@
+ 
+ for ac_func in gsl_sf_transport_4_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_transport_4_e" "ac_cv_func_gsl_sf_transport_4_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_transport_4_e" "ac_cv_func_gsl_sf_transport_4_e"
+ if test "x$ac_cv_func_gsl_sf_transport_4_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_TRANSPORT_4_E 1
+@@ -4467,7 +5048,7 @@
+ 
+ for ac_func in gsl_sf_transport_4_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_transport_4_e" "ac_cv_func_gsl_sf_transport_4_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_transport_4_e" "ac_cv_func_gsl_sf_transport_4_e"
+ if test "x$ac_cv_func_gsl_sf_transport_4_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_TRANSPORT_4_E 1
+@@ -4480,7 +5061,7 @@
+ 
+ for ac_func in gsl_sf_transport_5_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_transport_5_e" "ac_cv_func_gsl_sf_transport_5_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_transport_5_e" "ac_cv_func_gsl_sf_transport_5_e"
+ if test "x$ac_cv_func_gsl_sf_transport_5_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_TRANSPORT_5_E 1
+@@ -4493,7 +5074,7 @@
+ 
+ for ac_func in gsl_sf_transport_5_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_transport_5_e" "ac_cv_func_gsl_sf_transport_5_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_transport_5_e" "ac_cv_func_gsl_sf_transport_5_e"
+ if test "x$ac_cv_func_gsl_sf_transport_5_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_TRANSPORT_5_E 1
+@@ -4506,7 +5087,7 @@
+ 
+ for ac_func in gsl_sf_sinc_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_sinc_e" "ac_cv_func_gsl_sf_sinc_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_sinc_e" "ac_cv_func_gsl_sf_sinc_e"
+ if test "x$ac_cv_func_gsl_sf_sinc_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_SINC_E 1
+@@ -4519,7 +5100,7 @@
+ 
+ for ac_func in gsl_sf_sinc_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_sinc_e" "ac_cv_func_gsl_sf_sinc_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_sinc_e" "ac_cv_func_gsl_sf_sinc_e"
+ if test "x$ac_cv_func_gsl_sf_sinc_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_SINC_E 1
+@@ -4532,7 +5113,7 @@
+ 
+ for ac_func in gsl_sf_lnsinh_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lnsinh_e" "ac_cv_func_gsl_sf_lnsinh_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lnsinh_e" "ac_cv_func_gsl_sf_lnsinh_e"
+ if test "x$ac_cv_func_gsl_sf_lnsinh_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LNSINH_E 1
+@@ -4545,7 +5126,7 @@
+ 
+ for ac_func in gsl_sf_lnsinh_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lnsinh_e" "ac_cv_func_gsl_sf_lnsinh_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lnsinh_e" "ac_cv_func_gsl_sf_lnsinh_e"
+ if test "x$ac_cv_func_gsl_sf_lnsinh_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LNSINH_E 1
+@@ -4558,7 +5139,7 @@
+ 
+ for ac_func in gsl_sf_lncosh_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lncosh_e" "ac_cv_func_gsl_sf_lncosh_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lncosh_e" "ac_cv_func_gsl_sf_lncosh_e"
+ if test "x$ac_cv_func_gsl_sf_lncosh_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LNCOSH_E 1
+@@ -4571,7 +5152,7 @@
+ 
+ for ac_func in gsl_sf_lncosh_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lncosh_e" "ac_cv_func_gsl_sf_lncosh_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lncosh_e" "ac_cv_func_gsl_sf_lncosh_e"
+ if test "x$ac_cv_func_gsl_sf_lncosh_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LNCOSH_E 1
+@@ -4584,7 +5165,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Jn_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Jn_e" "ac_cv_func_gsl_sf_bessel_Jn_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Jn_e" "ac_cv_func_gsl_sf_bessel_Jn_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Jn_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_JN_E 1
+@@ -4597,7 +5178,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Jn_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Jn_e" "ac_cv_func_gsl_sf_bessel_Jn_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Jn_e" "ac_cv_func_gsl_sf_bessel_Jn_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Jn_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_JN_E 1
+@@ -4610,7 +5191,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Yn_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Yn_e" "ac_cv_func_gsl_sf_bessel_Yn_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Yn_e" "ac_cv_func_gsl_sf_bessel_Yn_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Yn_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_YN_E 1
+@@ -4623,7 +5204,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Yn_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Yn_e" "ac_cv_func_gsl_sf_bessel_Yn_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Yn_e" "ac_cv_func_gsl_sf_bessel_Yn_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Yn_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_YN_E 1
+@@ -4636,7 +5217,7 @@
+ 
+ for ac_func in gsl_sf_bessel_In_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_In_e" "ac_cv_func_gsl_sf_bessel_In_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_In_e" "ac_cv_func_gsl_sf_bessel_In_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_In_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_IN_E 1
+@@ -4649,7 +5230,7 @@
+ 
+ for ac_func in gsl_sf_bessel_In_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_In_e" "ac_cv_func_gsl_sf_bessel_In_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_In_e" "ac_cv_func_gsl_sf_bessel_In_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_In_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_IN_E 1
+@@ -4662,7 +5243,7 @@
+ 
+ for ac_func in gsl_sf_bessel_In_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_In_scaled_e" "ac_cv_func_gsl_sf_bessel_In_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_In_scaled_e" "ac_cv_func_gsl_sf_bessel_In_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_In_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_IN_SCALED_E 1
+@@ -4675,7 +5256,7 @@
+ 
+ for ac_func in gsl_sf_bessel_In_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_In_scaled_e" "ac_cv_func_gsl_sf_bessel_In_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_In_scaled_e" "ac_cv_func_gsl_sf_bessel_In_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_In_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_IN_SCALED_E 1
+@@ -4688,7 +5269,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Kn_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Kn_e" "ac_cv_func_gsl_sf_bessel_Kn_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Kn_e" "ac_cv_func_gsl_sf_bessel_Kn_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Kn_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_KN_E 1
+@@ -4701,7 +5282,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Kn_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Kn_e" "ac_cv_func_gsl_sf_bessel_Kn_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Kn_e" "ac_cv_func_gsl_sf_bessel_Kn_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Kn_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_KN_E 1
+@@ -4714,7 +5295,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Kn_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Kn_scaled_e" "ac_cv_func_gsl_sf_bessel_Kn_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Kn_scaled_e" "ac_cv_func_gsl_sf_bessel_Kn_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Kn_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_KN_SCALED_E 1
+@@ -4727,7 +5308,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Kn_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Kn_scaled_e" "ac_cv_func_gsl_sf_bessel_Kn_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Kn_scaled_e" "ac_cv_func_gsl_sf_bessel_Kn_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Kn_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_KN_SCALED_E 1
+@@ -4740,7 +5321,7 @@
+ 
+ for ac_func in gsl_sf_bessel_jl_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_jl_e" "ac_cv_func_gsl_sf_bessel_jl_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_jl_e" "ac_cv_func_gsl_sf_bessel_jl_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_jl_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_JL_E 1
+@@ -4753,7 +5334,7 @@
+ 
+ for ac_func in gsl_sf_bessel_jl_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_jl_e" "ac_cv_func_gsl_sf_bessel_jl_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_jl_e" "ac_cv_func_gsl_sf_bessel_jl_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_jl_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_JL_E 1
+@@ -4766,7 +5347,7 @@
+ 
+ for ac_func in gsl_sf_bessel_yl_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_yl_e" "ac_cv_func_gsl_sf_bessel_yl_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_yl_e" "ac_cv_func_gsl_sf_bessel_yl_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_yl_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_YL_E 1
+@@ -4779,7 +5360,7 @@
+ 
+ for ac_func in gsl_sf_bessel_yl_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_yl_e" "ac_cv_func_gsl_sf_bessel_yl_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_yl_e" "ac_cv_func_gsl_sf_bessel_yl_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_yl_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_YL_E 1
+@@ -4792,7 +5373,7 @@
+ 
+ for ac_func in gsl_sf_bessel_il_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_il_scaled_e" "ac_cv_func_gsl_sf_bessel_il_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_il_scaled_e" "ac_cv_func_gsl_sf_bessel_il_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_il_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_IL_SCALED_E 1
+@@ -4805,7 +5386,7 @@
+ 
+ for ac_func in gsl_sf_bessel_il_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_il_scaled_e" "ac_cv_func_gsl_sf_bessel_il_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_il_scaled_e" "ac_cv_func_gsl_sf_bessel_il_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_il_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_IL_SCALED_E 1
+@@ -4818,7 +5399,7 @@
+ 
+ for ac_func in gsl_sf_bessel_kl_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_kl_scaled_e" "ac_cv_func_gsl_sf_bessel_kl_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_kl_scaled_e" "ac_cv_func_gsl_sf_bessel_kl_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_kl_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_KL_SCALED_E 1
+@@ -4831,7 +5412,7 @@
+ 
+ for ac_func in gsl_sf_bessel_kl_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_kl_scaled_e" "ac_cv_func_gsl_sf_bessel_kl_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_kl_scaled_e" "ac_cv_func_gsl_sf_bessel_kl_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_kl_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_KL_SCALED_E 1
+@@ -4844,7 +5425,7 @@
+ 
+ for ac_func in gsl_sf_exprel_n_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_exprel_n_e" "ac_cv_func_gsl_sf_exprel_n_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_exprel_n_e" "ac_cv_func_gsl_sf_exprel_n_e"
+ if test "x$ac_cv_func_gsl_sf_exprel_n_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPREL_N_E 1
+@@ -4857,7 +5438,7 @@
+ 
+ for ac_func in gsl_sf_exprel_n_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_exprel_n_e" "ac_cv_func_gsl_sf_exprel_n_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_exprel_n_e" "ac_cv_func_gsl_sf_exprel_n_e"
+ if test "x$ac_cv_func_gsl_sf_exprel_n_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXPREL_N_E 1
+@@ -4870,7 +5451,7 @@
+ 
+ for ac_func in gsl_sf_fermi_dirac_int_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_fermi_dirac_int_e" "ac_cv_func_gsl_sf_fermi_dirac_int_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_fermi_dirac_int_e" "ac_cv_func_gsl_sf_fermi_dirac_int_e"
+ if test "x$ac_cv_func_gsl_sf_fermi_dirac_int_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_FERMI_DIRAC_INT_E 1
+@@ -4883,7 +5464,7 @@
+ 
+ for ac_func in gsl_sf_fermi_dirac_int_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_fermi_dirac_int_e" "ac_cv_func_gsl_sf_fermi_dirac_int_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_fermi_dirac_int_e" "ac_cv_func_gsl_sf_fermi_dirac_int_e"
+ if test "x$ac_cv_func_gsl_sf_fermi_dirac_int_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_FERMI_DIRAC_INT_E 1
+@@ -4896,7 +5477,7 @@
+ 
+ for ac_func in gsl_sf_taylorcoeff_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_taylorcoeff_e" "ac_cv_func_gsl_sf_taylorcoeff_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_taylorcoeff_e" "ac_cv_func_gsl_sf_taylorcoeff_e"
+ if test "x$ac_cv_func_gsl_sf_taylorcoeff_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_TAYLORCOEFF_E 1
+@@ -4909,7 +5490,7 @@
+ 
+ for ac_func in gsl_sf_taylorcoeff_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_taylorcoeff_e" "ac_cv_func_gsl_sf_taylorcoeff_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_taylorcoeff_e" "ac_cv_func_gsl_sf_taylorcoeff_e"
+ if test "x$ac_cv_func_gsl_sf_taylorcoeff_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_TAYLORCOEFF_E 1
+@@ -4922,7 +5503,7 @@
+ 
+ for ac_func in gsl_sf_legendre_Pl_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_Pl_e" "ac_cv_func_gsl_sf_legendre_Pl_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_Pl_e" "ac_cv_func_gsl_sf_legendre_Pl_e"
+ if test "x$ac_cv_func_gsl_sf_legendre_Pl_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_PL_E 1
+@@ -4933,7 +5514,7 @@
+ 
+ for ac_func in gsl_sf_legendre_Pl_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_Pl_e" "ac_cv_func_gsl_sf_legendre_Pl_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_Pl_e" "ac_cv_func_gsl_sf_legendre_Pl_e"
+ if test "x$ac_cv_func_gsl_sf_legendre_Pl_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_PL_E 1
+@@ -4944,7 +5525,7 @@
+ 
+ for ac_func in gsl_sf_legendre_Ql_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_Ql_e" "ac_cv_func_gsl_sf_legendre_Ql_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_Ql_e" "ac_cv_func_gsl_sf_legendre_Ql_e"
+ if test "x$ac_cv_func_gsl_sf_legendre_Ql_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_QL_E 1
+@@ -4957,7 +5538,7 @@
+ 
+ for ac_func in gsl_sf_legendre_Ql_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_Ql_e" "ac_cv_func_gsl_sf_legendre_Ql_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_Ql_e" "ac_cv_func_gsl_sf_legendre_Ql_e"
+ if test "x$ac_cv_func_gsl_sf_legendre_Ql_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_QL_E 1
+@@ -4970,7 +5551,7 @@
+ 
+ for ac_func in gsl_sf_mathieu_a_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_mathieu_a_e" "ac_cv_func_gsl_sf_mathieu_a_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_mathieu_a_e" "ac_cv_func_gsl_sf_mathieu_a_e"
+ if test "x$ac_cv_func_gsl_sf_mathieu_a_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_MATHIEU_A_E 1
+@@ -4983,7 +5564,7 @@
+ 
+ for ac_func in gsl_sf_mathieu_b_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_mathieu_b_e" "ac_cv_func_gsl_sf_mathieu_b_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_mathieu_b_e" "ac_cv_func_gsl_sf_mathieu_b_e"
+ if test "x$ac_cv_func_gsl_sf_mathieu_b_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_MATHIEU_B_E 1
+@@ -4996,7 +5577,7 @@
+ 
+ for ac_func in gsl_sf_psi_n_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_psi_n_e" "ac_cv_func_gsl_sf_psi_n_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_psi_n_e" "ac_cv_func_gsl_sf_psi_n_e"
+ if test "x$ac_cv_func_gsl_sf_psi_n_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_PSI_N_E 1
+@@ -5009,7 +5590,7 @@
+ 
+ for ac_func in gsl_sf_psi_n_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_psi_n_e" "ac_cv_func_gsl_sf_psi_n_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_psi_n_e" "ac_cv_func_gsl_sf_psi_n_e"
+ if test "x$ac_cv_func_gsl_sf_psi_n_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_PSI_N_E 1
+@@ -5022,7 +5603,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Jnu_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Jnu_e" "ac_cv_func_gsl_sf_bessel_Jnu_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Jnu_e" "ac_cv_func_gsl_sf_bessel_Jnu_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Jnu_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_JNU_E 1
+@@ -5035,7 +5616,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Jnu_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Jnu_e" "ac_cv_func_gsl_sf_bessel_Jnu_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Jnu_e" "ac_cv_func_gsl_sf_bessel_Jnu_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Jnu_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_JNU_E 1
+@@ -5048,7 +5629,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Ynu_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Ynu_e" "ac_cv_func_gsl_sf_bessel_Ynu_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Ynu_e" "ac_cv_func_gsl_sf_bessel_Ynu_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Ynu_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_YNU_E 1
+@@ -5061,7 +5642,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Ynu_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Ynu_e" "ac_cv_func_gsl_sf_bessel_Ynu_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Ynu_e" "ac_cv_func_gsl_sf_bessel_Ynu_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Ynu_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_YNU_E 1
+@@ -5074,7 +5655,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Inu_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Inu_e" "ac_cv_func_gsl_sf_bessel_Inu_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Inu_e" "ac_cv_func_gsl_sf_bessel_Inu_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Inu_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_INU_E 1
+@@ -5087,7 +5668,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Inu_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Inu_e" "ac_cv_func_gsl_sf_bessel_Inu_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Inu_e" "ac_cv_func_gsl_sf_bessel_Inu_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Inu_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_INU_E 1
+@@ -5100,7 +5681,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Inu_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Inu_scaled_e" "ac_cv_func_gsl_sf_bessel_Inu_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Inu_scaled_e" "ac_cv_func_gsl_sf_bessel_Inu_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Inu_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_INU_SCALED_E 1
+@@ -5113,7 +5694,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Inu_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Inu_scaled_e" "ac_cv_func_gsl_sf_bessel_Inu_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Inu_scaled_e" "ac_cv_func_gsl_sf_bessel_Inu_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Inu_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_INU_SCALED_E 1
+@@ -5126,7 +5707,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Knu_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Knu_e" "ac_cv_func_gsl_sf_bessel_Knu_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Knu_e" "ac_cv_func_gsl_sf_bessel_Knu_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Knu_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_KNU_E 1
+@@ -5139,7 +5720,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Knu_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Knu_e" "ac_cv_func_gsl_sf_bessel_Knu_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Knu_e" "ac_cv_func_gsl_sf_bessel_Knu_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Knu_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_KNU_E 1
+@@ -5152,7 +5733,7 @@
+ 
+ for ac_func in gsl_sf_bessel_lnKnu_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_lnKnu_e" "ac_cv_func_gsl_sf_bessel_lnKnu_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_lnKnu_e" "ac_cv_func_gsl_sf_bessel_lnKnu_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_lnKnu_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_LNKNU_E 1
+@@ -5165,7 +5746,7 @@
+ 
+ for ac_func in gsl_sf_bessel_lnKnu_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_lnKnu_e" "ac_cv_func_gsl_sf_bessel_lnKnu_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_lnKnu_e" "ac_cv_func_gsl_sf_bessel_lnKnu_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_lnKnu_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_LNKNU_E 1
+@@ -5178,7 +5759,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Knu_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Knu_scaled_e" "ac_cv_func_gsl_sf_bessel_Knu_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Knu_scaled_e" "ac_cv_func_gsl_sf_bessel_Knu_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Knu_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_KNU_SCALED_E 1
+@@ -5191,7 +5772,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Knu_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Knu_scaled_e" "ac_cv_func_gsl_sf_bessel_Knu_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Knu_scaled_e" "ac_cv_func_gsl_sf_bessel_Knu_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_Knu_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_KNU_SCALED_E 1
+@@ -5204,7 +5785,7 @@
+ 
+ for ac_func in gsl_sf_exp_mult_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_exp_mult_e" "ac_cv_func_gsl_sf_exp_mult_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_exp_mult_e" "ac_cv_func_gsl_sf_exp_mult_e"
+ if test "x$ac_cv_func_gsl_sf_exp_mult_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXP_MULT_E 1
+@@ -5217,7 +5798,7 @@
+ 
+ for ac_func in gsl_sf_exp_mult_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_exp_mult_e" "ac_cv_func_gsl_sf_exp_mult_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_exp_mult_e" "ac_cv_func_gsl_sf_exp_mult_e"
+ if test "x$ac_cv_func_gsl_sf_exp_mult_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_EXP_MULT_E 1
+@@ -5230,7 +5811,7 @@
+ 
+ for ac_func in gsl_sf_fermi_dirac_inc_0_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_fermi_dirac_inc_0_e" "ac_cv_func_gsl_sf_fermi_dirac_inc_0_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_fermi_dirac_inc_0_e" "ac_cv_func_gsl_sf_fermi_dirac_inc_0_e"
+ if test "x$ac_cv_func_gsl_sf_fermi_dirac_inc_0_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_FERMI_DIRAC_INC_0_E 1
+@@ -5243,7 +5824,7 @@
+ 
+ for ac_func in gsl_sf_fermi_dirac_inc_0_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_fermi_dirac_inc_0_e" "ac_cv_func_gsl_sf_fermi_dirac_inc_0_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_fermi_dirac_inc_0_e" "ac_cv_func_gsl_sf_fermi_dirac_inc_0_e"
+ if test "x$ac_cv_func_gsl_sf_fermi_dirac_inc_0_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_FERMI_DIRAC_INC_0_E 1
+@@ -5256,7 +5837,7 @@
+ 
+ for ac_func in gsl_sf_poch_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_poch_e" "ac_cv_func_gsl_sf_poch_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_poch_e" "ac_cv_func_gsl_sf_poch_e"
+ if test "x$ac_cv_func_gsl_sf_poch_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_POCH_E 1
+@@ -5269,7 +5850,7 @@
+ 
+ for ac_func in gsl_sf_poch_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_poch_e" "ac_cv_func_gsl_sf_poch_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_poch_e" "ac_cv_func_gsl_sf_poch_e"
+ if test "x$ac_cv_func_gsl_sf_poch_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_POCH_E 1
+@@ -5282,7 +5863,7 @@
+ 
+ for ac_func in gsl_sf_lnpoch_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lnpoch_e" "ac_cv_func_gsl_sf_lnpoch_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lnpoch_e" "ac_cv_func_gsl_sf_lnpoch_e"
+ if test "x$ac_cv_func_gsl_sf_lnpoch_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LNPOCH_E 1
+@@ -5295,7 +5876,7 @@
+ 
+ for ac_func in gsl_sf_lnpoch_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lnpoch_e" "ac_cv_func_gsl_sf_lnpoch_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lnpoch_e" "ac_cv_func_gsl_sf_lnpoch_e"
+ if test "x$ac_cv_func_gsl_sf_lnpoch_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LNPOCH_E 1
+@@ -5308,7 +5889,7 @@
+ 
+ for ac_func in gsl_sf_pochrel_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_pochrel_e" "ac_cv_func_gsl_sf_pochrel_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_pochrel_e" "ac_cv_func_gsl_sf_pochrel_e"
+ if test "x$ac_cv_func_gsl_sf_pochrel_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_POCHREL_E 1
+@@ -5321,7 +5902,7 @@
+ 
+ for ac_func in gsl_sf_pochrel_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_pochrel_e" "ac_cv_func_gsl_sf_pochrel_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_pochrel_e" "ac_cv_func_gsl_sf_pochrel_e"
+ if test "x$ac_cv_func_gsl_sf_pochrel_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_POCHREL_E 1
+@@ -5334,7 +5915,7 @@
+ 
+ for ac_func in gsl_sf_gamma_inc_Q_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_gamma_inc_Q_e" "ac_cv_func_gsl_sf_gamma_inc_Q_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_gamma_inc_Q_e" "ac_cv_func_gsl_sf_gamma_inc_Q_e"
+ if test "x$ac_cv_func_gsl_sf_gamma_inc_Q_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_GAMMA_INC_Q_E 1
+@@ -5347,7 +5928,7 @@
+ 
+ for ac_func in gsl_sf_gamma_inc_Q_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_gamma_inc_Q_e" "ac_cv_func_gsl_sf_gamma_inc_Q_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_gamma_inc_Q_e" "ac_cv_func_gsl_sf_gamma_inc_Q_e"
+ if test "x$ac_cv_func_gsl_sf_gamma_inc_Q_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_GAMMA_INC_Q_E 1
+@@ -5360,7 +5941,7 @@
+ 
+ for ac_func in gsl_sf_gamma_inc_P_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_gamma_inc_P_e" "ac_cv_func_gsl_sf_gamma_inc_P_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_gamma_inc_P_e" "ac_cv_func_gsl_sf_gamma_inc_P_e"
+ if test "x$ac_cv_func_gsl_sf_gamma_inc_P_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_GAMMA_INC_P_E 1
+@@ -5373,7 +5954,7 @@
+ 
+ for ac_func in gsl_sf_gamma_inc_P_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_gamma_inc_P_e" "ac_cv_func_gsl_sf_gamma_inc_P_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_gamma_inc_P_e" "ac_cv_func_gsl_sf_gamma_inc_P_e"
+ if test "x$ac_cv_func_gsl_sf_gamma_inc_P_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_GAMMA_INC_P_E 1
+@@ -5386,7 +5967,7 @@
+ 
+ for ac_func in gsl_sf_gamma_inc_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_gamma_inc_e" "ac_cv_func_gsl_sf_gamma_inc_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_gamma_inc_e" "ac_cv_func_gsl_sf_gamma_inc_e"
+ if test "x$ac_cv_func_gsl_sf_gamma_inc_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_GAMMA_INC_E 1
+@@ -5399,7 +5980,7 @@
+ 
+ for ac_func in gsl_sf_gamma_inc_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_gamma_inc_e" "ac_cv_func_gsl_sf_gamma_inc_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_gamma_inc_e" "ac_cv_func_gsl_sf_gamma_inc_e"
+ if test "x$ac_cv_func_gsl_sf_gamma_inc_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_GAMMA_INC_E 1
+@@ -5412,7 +5993,7 @@
+ 
+ for ac_func in gsl_sf_beta_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_beta_e" "ac_cv_func_gsl_sf_beta_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_beta_e" "ac_cv_func_gsl_sf_beta_e"
+ if test "x$ac_cv_func_gsl_sf_beta_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BETA_E 1
+@@ -5425,7 +6006,7 @@
+ 
+ for ac_func in gsl_sf_beta_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_beta_e" "ac_cv_func_gsl_sf_beta_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_beta_e" "ac_cv_func_gsl_sf_beta_e"
+ if test "x$ac_cv_func_gsl_sf_beta_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BETA_E 1
+@@ -5438,7 +6019,7 @@
+ 
+ for ac_func in gsl_sf_lnbeta_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lnbeta_e" "ac_cv_func_gsl_sf_lnbeta_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lnbeta_e" "ac_cv_func_gsl_sf_lnbeta_e"
+ if test "x$ac_cv_func_gsl_sf_lnbeta_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LNBETA_E 1
+@@ -5451,7 +6032,7 @@
+ 
+ for ac_func in gsl_sf_lnbeta_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lnbeta_e" "ac_cv_func_gsl_sf_lnbeta_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lnbeta_e" "ac_cv_func_gsl_sf_lnbeta_e"
+ if test "x$ac_cv_func_gsl_sf_lnbeta_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LNBETA_E 1
+@@ -5464,7 +6045,7 @@
+ 
+ for ac_func in gsl_sf_hyperg_0F1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hyperg_0F1_e" "ac_cv_func_gsl_sf_hyperg_0F1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hyperg_0F1_e" "ac_cv_func_gsl_sf_hyperg_0F1_e"
+ if test "x$ac_cv_func_gsl_sf_hyperg_0F1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HYPERG_0F1_E 1
+@@ -5477,7 +6058,7 @@
+ 
+ for ac_func in gsl_sf_hyperg_0F1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hyperg_0F1_e" "ac_cv_func_gsl_sf_hyperg_0F1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hyperg_0F1_e" "ac_cv_func_gsl_sf_hyperg_0F1_e"
+ if test "x$ac_cv_func_gsl_sf_hyperg_0F1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HYPERG_0F1_E 1
+@@ -5490,7 +6071,7 @@
+ 
+ for ac_func in gsl_sf_conicalP_half_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_conicalP_half_e" "ac_cv_func_gsl_sf_conicalP_half_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_conicalP_half_e" "ac_cv_func_gsl_sf_conicalP_half_e"
+ if test "x$ac_cv_func_gsl_sf_conicalP_half_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CONICALP_HALF_E 1
+@@ -5503,7 +6084,7 @@
+ 
+ for ac_func in gsl_sf_conicalP_half_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_conicalP_half_e" "ac_cv_func_gsl_sf_conicalP_half_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_conicalP_half_e" "ac_cv_func_gsl_sf_conicalP_half_e"
+ if test "x$ac_cv_func_gsl_sf_conicalP_half_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CONICALP_HALF_E 1
+@@ -5516,7 +6097,7 @@
+ 
+ for ac_func in gsl_sf_conicalP_mhalf_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_conicalP_mhalf_e" "ac_cv_func_gsl_sf_conicalP_mhalf_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_conicalP_mhalf_e" "ac_cv_func_gsl_sf_conicalP_mhalf_e"
+ if test "x$ac_cv_func_gsl_sf_conicalP_mhalf_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CONICALP_MHALF_E 1
+@@ -5529,7 +6110,7 @@
+ 
+ for ac_func in gsl_sf_conicalP_mhalf_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_conicalP_mhalf_e" "ac_cv_func_gsl_sf_conicalP_mhalf_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_conicalP_mhalf_e" "ac_cv_func_gsl_sf_conicalP_mhalf_e"
+ if test "x$ac_cv_func_gsl_sf_conicalP_mhalf_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CONICALP_MHALF_E 1
+@@ -5542,7 +6123,7 @@
+ 
+ for ac_func in gsl_sf_conicalP_0_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_conicalP_0_e" "ac_cv_func_gsl_sf_conicalP_0_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_conicalP_0_e" "ac_cv_func_gsl_sf_conicalP_0_e"
+ if test "x$ac_cv_func_gsl_sf_conicalP_0_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CONICALP_0_E 1
+@@ -5555,7 +6136,7 @@
+ 
+ for ac_func in gsl_sf_conicalP_0_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_conicalP_0_e" "ac_cv_func_gsl_sf_conicalP_0_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_conicalP_0_e" "ac_cv_func_gsl_sf_conicalP_0_e"
+ if test "x$ac_cv_func_gsl_sf_conicalP_0_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CONICALP_0_E 1
+@@ -5568,7 +6149,7 @@
+ 
+ for ac_func in gsl_sf_conicalP_1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_conicalP_1_e" "ac_cv_func_gsl_sf_conicalP_1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_conicalP_1_e" "ac_cv_func_gsl_sf_conicalP_1_e"
+ if test "x$ac_cv_func_gsl_sf_conicalP_1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CONICALP_1_E 1
+@@ -5581,7 +6162,7 @@
+ 
+ for ac_func in gsl_sf_conicalP_1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_conicalP_1_e" "ac_cv_func_gsl_sf_conicalP_1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_conicalP_1_e" "ac_cv_func_gsl_sf_conicalP_1_e"
+ if test "x$ac_cv_func_gsl_sf_conicalP_1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CONICALP_1_E 1
+@@ -5594,7 +6175,7 @@
+ 
+ for ac_func in gsl_sf_airy_Ai_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Ai_e" "ac_cv_func_gsl_sf_airy_Ai_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Ai_e" "ac_cv_func_gsl_sf_airy_Ai_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Ai_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_AI_E 1
+@@ -5607,7 +6188,7 @@
+ 
+ for ac_func in gsl_sf_airy_Ai_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Ai_e" "ac_cv_func_gsl_sf_airy_Ai_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Ai_e" "ac_cv_func_gsl_sf_airy_Ai_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Ai_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_AI_E 1
+@@ -5620,7 +6201,7 @@
+ 
+ for ac_func in gsl_sf_airy_Bi_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Bi_e" "ac_cv_func_gsl_sf_airy_Bi_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Bi_e" "ac_cv_func_gsl_sf_airy_Bi_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Bi_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_BI_E 1
+@@ -5633,7 +6214,7 @@
+ 
+ for ac_func in gsl_sf_airy_Bi_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Bi_e" "ac_cv_func_gsl_sf_airy_Bi_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Bi_e" "ac_cv_func_gsl_sf_airy_Bi_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Bi_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_BI_E 1
+@@ -5646,7 +6227,7 @@
+ 
+ for ac_func in gsl_sf_airy_Ai_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Ai_scaled_e" "ac_cv_func_gsl_sf_airy_Ai_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Ai_scaled_e" "ac_cv_func_gsl_sf_airy_Ai_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Ai_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_AI_SCALED_E 1
+@@ -5659,7 +6240,7 @@
+ 
+ for ac_func in gsl_sf_airy_Ai_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Ai_scaled_e" "ac_cv_func_gsl_sf_airy_Ai_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Ai_scaled_e" "ac_cv_func_gsl_sf_airy_Ai_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Ai_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_AI_SCALED_E 1
+@@ -5672,7 +6253,7 @@
+ 
+ for ac_func in gsl_sf_airy_Bi_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Bi_scaled_e" "ac_cv_func_gsl_sf_airy_Bi_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Bi_scaled_e" "ac_cv_func_gsl_sf_airy_Bi_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Bi_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_BI_SCALED_E 1
+@@ -5685,7 +6266,7 @@
+ 
+ for ac_func in gsl_sf_airy_Bi_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Bi_scaled_e" "ac_cv_func_gsl_sf_airy_Bi_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Bi_scaled_e" "ac_cv_func_gsl_sf_airy_Bi_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Bi_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_BI_SCALED_E 1
+@@ -5698,7 +6279,7 @@
+ 
+ for ac_func in gsl_sf_airy_Ai_deriv_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Ai_deriv_e" "ac_cv_func_gsl_sf_airy_Ai_deriv_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Ai_deriv_e" "ac_cv_func_gsl_sf_airy_Ai_deriv_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Ai_deriv_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_AI_DERIV_E 1
+@@ -5711,7 +6292,7 @@
+ 
+ for ac_func in gsl_sf_airy_Ai_deriv_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Ai_deriv_e" "ac_cv_func_gsl_sf_airy_Ai_deriv_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Ai_deriv_e" "ac_cv_func_gsl_sf_airy_Ai_deriv_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Ai_deriv_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_AI_DERIV_E 1
+@@ -5724,7 +6305,7 @@
+ 
+ for ac_func in gsl_sf_airy_Bi_deriv_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Bi_deriv_e" "ac_cv_func_gsl_sf_airy_Bi_deriv_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Bi_deriv_e" "ac_cv_func_gsl_sf_airy_Bi_deriv_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Bi_deriv_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_BI_DERIV_E 1
+@@ -5737,7 +6318,7 @@
+ 
+ for ac_func in gsl_sf_airy_Bi_deriv_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Bi_deriv_e" "ac_cv_func_gsl_sf_airy_Bi_deriv_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Bi_deriv_e" "ac_cv_func_gsl_sf_airy_Bi_deriv_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Bi_deriv_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_BI_DERIV_E 1
+@@ -5750,7 +6331,7 @@
+ 
+ for ac_func in gsl_sf_airy_Ai_deriv_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Ai_deriv_scaled_e" "ac_cv_func_gsl_sf_airy_Ai_deriv_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Ai_deriv_scaled_e" "ac_cv_func_gsl_sf_airy_Ai_deriv_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Ai_deriv_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_AI_DERIV_SCALED_E 1
+@@ -5763,7 +6344,7 @@
+ 
+ for ac_func in gsl_sf_airy_Ai_deriv_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Ai_deriv_scaled_e" "ac_cv_func_gsl_sf_airy_Ai_deriv_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Ai_deriv_scaled_e" "ac_cv_func_gsl_sf_airy_Ai_deriv_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Ai_deriv_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_AI_DERIV_SCALED_E 1
+@@ -5776,7 +6357,7 @@
+ 
+ for ac_func in gsl_sf_airy_Bi_deriv_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Bi_deriv_scaled_e" "ac_cv_func_gsl_sf_airy_Bi_deriv_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Bi_deriv_scaled_e" "ac_cv_func_gsl_sf_airy_Bi_deriv_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Bi_deriv_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_BI_DERIV_SCALED_E 1
+@@ -5789,7 +6370,7 @@
+ 
+ for ac_func in gsl_sf_airy_Bi_deriv_scaled_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_Bi_deriv_scaled_e" "ac_cv_func_gsl_sf_airy_Bi_deriv_scaled_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_Bi_deriv_scaled_e" "ac_cv_func_gsl_sf_airy_Bi_deriv_scaled_e"
+ if test "x$ac_cv_func_gsl_sf_airy_Bi_deriv_scaled_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_BI_DERIV_SCALED_E 1
+@@ -5802,7 +6383,7 @@
+ 
+ for ac_func in gsl_sf_ellint_Kcomp_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_ellint_Kcomp_e" "ac_cv_func_gsl_sf_ellint_Kcomp_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_ellint_Kcomp_e" "ac_cv_func_gsl_sf_ellint_Kcomp_e"
+ if test "x$ac_cv_func_gsl_sf_ellint_Kcomp_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ELLINT_KCOMP_E 1
+@@ -5815,7 +6396,7 @@
+ 
+ for ac_func in gsl_sf_ellint_Kcomp_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_ellint_Kcomp_e" "ac_cv_func_gsl_sf_ellint_Kcomp_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_ellint_Kcomp_e" "ac_cv_func_gsl_sf_ellint_Kcomp_e"
+ if test "x$ac_cv_func_gsl_sf_ellint_Kcomp_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ELLINT_KCOMP_E 1
+@@ -5828,7 +6409,7 @@
+ 
+ for ac_func in gsl_sf_ellint_Ecomp_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_ellint_Ecomp_e" "ac_cv_func_gsl_sf_ellint_Ecomp_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_ellint_Ecomp_e" "ac_cv_func_gsl_sf_ellint_Ecomp_e"
+ if test "x$ac_cv_func_gsl_sf_ellint_Ecomp_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ELLINT_ECOMP_E 1
+@@ -5841,7 +6422,7 @@
+ 
+ for ac_func in gsl_sf_ellint_Ecomp_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_ellint_Ecomp_e" "ac_cv_func_gsl_sf_ellint_Ecomp_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_ellint_Ecomp_e" "ac_cv_func_gsl_sf_ellint_Ecomp_e"
+ if test "x$ac_cv_func_gsl_sf_ellint_Ecomp_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ELLINT_ECOMP_E 1
+@@ -5854,7 +6435,7 @@
+ 
+ for ac_func in gsl_sf_ellint_E_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_ellint_E_e" "ac_cv_func_gsl_sf_ellint_E_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_ellint_E_e" "ac_cv_func_gsl_sf_ellint_E_e"
+ if test "x$ac_cv_func_gsl_sf_ellint_E_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ELLINT_E_E 1
+@@ -5867,7 +6448,7 @@
+ 
+ for ac_func in gsl_sf_ellint_F_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_ellint_F_e" "ac_cv_func_gsl_sf_ellint_F_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_ellint_F_e" "ac_cv_func_gsl_sf_ellint_F_e"
+ if test "x$ac_cv_func_gsl_sf_ellint_F_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ELLINT_F_E 1
+@@ -5880,7 +6461,7 @@
+ 
+ for ac_func in gsl_sf_ellint_Pcomp_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_ellint_Pcomp_e" "ac_cv_func_gsl_sf_ellint_Pcomp_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_ellint_Pcomp_e" "ac_cv_func_gsl_sf_ellint_Pcomp_e"
+ if test "x$ac_cv_func_gsl_sf_ellint_Pcomp_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ELLINT_PCOMP_E 1
+@@ -5893,7 +6474,7 @@
+ 
+ for ac_func in gsl_sf_ellint_RC_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_ellint_RC_e" "ac_cv_func_gsl_sf_ellint_RC_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_ellint_RC_e" "ac_cv_func_gsl_sf_ellint_RC_e"
+ if test "x$ac_cv_func_gsl_sf_ellint_RC_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ELLINT_RC_E 1
+@@ -5906,7 +6487,7 @@
+ 
+ for ac_func in gsl_sf_ellint_D_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_ellint_D_e" "ac_cv_func_gsl_sf_ellint_D_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_ellint_D_e" "ac_cv_func_gsl_sf_ellint_D_e"
+ if test "x$ac_cv_func_gsl_sf_ellint_D_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ELLINT_D_E 1
+@@ -5919,7 +6500,7 @@
+ 
+ for ac_func in gsl_sf_ellint_P_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_ellint_P_e" "ac_cv_func_gsl_sf_ellint_P_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_ellint_P_e" "ac_cv_func_gsl_sf_ellint_P_e"
+ if test "x$ac_cv_func_gsl_sf_ellint_P_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ELLINT_P_E 1
+@@ -5932,7 +6513,7 @@
+ 
+ for ac_func in gsl_sf_ellint_RD_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_ellint_RD_e" "ac_cv_func_gsl_sf_ellint_RD_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_ellint_RD_e" "ac_cv_func_gsl_sf_ellint_RD_e"
+ if test "x$ac_cv_func_gsl_sf_ellint_RD_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ELLINT_RD_E 1
+@@ -5945,7 +6526,7 @@
+ 
+ for ac_func in gsl_sf_ellint_RF_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_ellint_RF_e" "ac_cv_func_gsl_sf_ellint_RF_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_ellint_RF_e" "ac_cv_func_gsl_sf_ellint_RF_e"
+ if test "x$ac_cv_func_gsl_sf_ellint_RF_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ELLINT_RF_E 1
+@@ -5958,7 +6539,7 @@
+ 
+ for ac_func in gsl_sf_ellint_RJ_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_ellint_RJ_e" "ac_cv_func_gsl_sf_ellint_RJ_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_ellint_RJ_e" "ac_cv_func_gsl_sf_ellint_RJ_e"
+ if test "x$ac_cv_func_gsl_sf_ellint_RJ_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ELLINT_RJ_E 1
+@@ -5971,7 +6552,7 @@
+ 
+ for ac_func in gsl_sf_airy_zero_Ai_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_zero_Ai_e" "ac_cv_func_gsl_sf_airy_zero_Ai_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_zero_Ai_e" "ac_cv_func_gsl_sf_airy_zero_Ai_e"
+ if test "x$ac_cv_func_gsl_sf_airy_zero_Ai_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_ZERO_AI_E 1
+@@ -5984,7 +6565,7 @@
+ 
+ for ac_func in gsl_sf_airy_zero_Ai_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_zero_Ai_e" "ac_cv_func_gsl_sf_airy_zero_Ai_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_zero_Ai_e" "ac_cv_func_gsl_sf_airy_zero_Ai_e"
+ if test "x$ac_cv_func_gsl_sf_airy_zero_Ai_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_ZERO_AI_E 1
+@@ -5997,7 +6578,7 @@
+ 
+ for ac_func in gsl_sf_airy_zero_Bi_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_zero_Bi_e" "ac_cv_func_gsl_sf_airy_zero_Bi_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_zero_Bi_e" "ac_cv_func_gsl_sf_airy_zero_Bi_e"
+ if test "x$ac_cv_func_gsl_sf_airy_zero_Bi_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_ZERO_BI_E 1
+@@ -6010,7 +6591,7 @@
+ 
+ for ac_func in gsl_sf_airy_zero_Bi_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_zero_Bi_e" "ac_cv_func_gsl_sf_airy_zero_Bi_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_zero_Bi_e" "ac_cv_func_gsl_sf_airy_zero_Bi_e"
+ if test "x$ac_cv_func_gsl_sf_airy_zero_Bi_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_ZERO_BI_E 1
+@@ -6023,7 +6604,7 @@
+ 
+ for ac_func in gsl_sf_airy_zero_Ai_deriv_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_zero_Ai_deriv_e" "ac_cv_func_gsl_sf_airy_zero_Ai_deriv_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_zero_Ai_deriv_e" "ac_cv_func_gsl_sf_airy_zero_Ai_deriv_e"
+ if test "x$ac_cv_func_gsl_sf_airy_zero_Ai_deriv_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_ZERO_AI_DERIV_E 1
+@@ -6036,7 +6617,7 @@
+ 
+ for ac_func in gsl_sf_airy_zero_Ai_deriv_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_zero_Ai_deriv_e" "ac_cv_func_gsl_sf_airy_zero_Ai_deriv_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_zero_Ai_deriv_e" "ac_cv_func_gsl_sf_airy_zero_Ai_deriv_e"
+ if test "x$ac_cv_func_gsl_sf_airy_zero_Ai_deriv_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_ZERO_AI_DERIV_E 1
+@@ -6049,7 +6630,7 @@
+ 
+ for ac_func in gsl_sf_airy_zero_Bi_deriv_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_zero_Bi_deriv_e" "ac_cv_func_gsl_sf_airy_zero_Bi_deriv_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_zero_Bi_deriv_e" "ac_cv_func_gsl_sf_airy_zero_Bi_deriv_e"
+ if test "x$ac_cv_func_gsl_sf_airy_zero_Bi_deriv_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_ZERO_BI_DERIV_E 1
+@@ -6062,7 +6643,7 @@
+ 
+ for ac_func in gsl_sf_airy_zero_Bi_deriv_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_airy_zero_Bi_deriv_e" "ac_cv_func_gsl_sf_airy_zero_Bi_deriv_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_airy_zero_Bi_deriv_e" "ac_cv_func_gsl_sf_airy_zero_Bi_deriv_e"
+ if test "x$ac_cv_func_gsl_sf_airy_zero_Bi_deriv_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_AIRY_ZERO_BI_DERIV_E 1
+@@ -6075,7 +6656,7 @@
+ 
+ for ac_func in gsl_sf_bessel_zero_J0_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_zero_J0_e" "ac_cv_func_gsl_sf_bessel_zero_J0_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_zero_J0_e" "ac_cv_func_gsl_sf_bessel_zero_J0_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_zero_J0_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_ZERO_J0_E 1
+@@ -6088,7 +6669,7 @@
+ 
+ for ac_func in gsl_sf_bessel_zero_J0_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_zero_J0_e" "ac_cv_func_gsl_sf_bessel_zero_J0_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_zero_J0_e" "ac_cv_func_gsl_sf_bessel_zero_J0_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_zero_J0_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_ZERO_J0_E 1
+@@ -6101,7 +6682,7 @@
+ 
+ for ac_func in gsl_sf_bessel_zero_J1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_zero_J1_e" "ac_cv_func_gsl_sf_bessel_zero_J1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_zero_J1_e" "ac_cv_func_gsl_sf_bessel_zero_J1_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_zero_J1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_ZERO_J1_E 1
+@@ -6114,7 +6695,7 @@
+ 
+ for ac_func in gsl_sf_bessel_zero_J1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_zero_J1_e" "ac_cv_func_gsl_sf_bessel_zero_J1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_zero_J1_e" "ac_cv_func_gsl_sf_bessel_zero_J1_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_zero_J1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_ZERO_J1_E 1
+@@ -6127,7 +6708,7 @@
+ 
+ for ac_func in gsl_sf_psi_1_int_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_psi_1_int_e" "ac_cv_func_gsl_sf_psi_1_int_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_psi_1_int_e" "ac_cv_func_gsl_sf_psi_1_int_e"
+ if test "x$ac_cv_func_gsl_sf_psi_1_int_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_PSI_1_INT_E 1
+@@ -6140,7 +6721,7 @@
+ 
+ for ac_func in gsl_sf_psi_1_int_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_psi_1_int_e" "ac_cv_func_gsl_sf_psi_1_int_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_psi_1_int_e" "ac_cv_func_gsl_sf_psi_1_int_e"
+ if test "x$ac_cv_func_gsl_sf_psi_1_int_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_PSI_1_INT_E 1
+@@ -6153,7 +6734,7 @@
+ 
+ for ac_func in gsl_sf_conicalP_cyl_reg_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_conicalP_cyl_reg_e" "ac_cv_func_gsl_sf_conicalP_cyl_reg_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_conicalP_cyl_reg_e" "ac_cv_func_gsl_sf_conicalP_cyl_reg_e"
+ if test "x$ac_cv_func_gsl_sf_conicalP_cyl_reg_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CONICALP_CYL_REG_E 1
+@@ -6166,7 +6747,7 @@
+ 
+ for ac_func in gsl_sf_conicalP_sph_reg_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_conicalP_sph_reg_e" "ac_cv_func_gsl_sf_conicalP_sph_reg_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_conicalP_sph_reg_e" "ac_cv_func_gsl_sf_conicalP_sph_reg_e"
+ if test "x$ac_cv_func_gsl_sf_conicalP_sph_reg_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CONICALP_SPH_REG_E 1
+@@ -6179,7 +6760,7 @@
+ 
+ for ac_func in gsl_sf_gegenpoly_n_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_gegenpoly_n_e" "ac_cv_func_gsl_sf_gegenpoly_n_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_gegenpoly_n_e" "ac_cv_func_gsl_sf_gegenpoly_n_e"
+ if test "x$ac_cv_func_gsl_sf_gegenpoly_n_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_GEGENPOLY_N_E 1
+@@ -6192,7 +6773,7 @@
+ 
+ for ac_func in gsl_sf_laguerre_n_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_laguerre_n_e" "ac_cv_func_gsl_sf_laguerre_n_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_laguerre_n_e" "ac_cv_func_gsl_sf_laguerre_n_e"
+ if test "x$ac_cv_func_gsl_sf_laguerre_n_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LAGUERRE_N_E 1
+@@ -6205,7 +6786,7 @@
+ 
+ for ac_func in gsl_sf_mathieu_ce_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_mathieu_ce_e" "ac_cv_func_gsl_sf_mathieu_ce_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_mathieu_ce_e" "ac_cv_func_gsl_sf_mathieu_ce_e"
+ if test "x$ac_cv_func_gsl_sf_mathieu_ce_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_MATHIEU_CE_E 1
+@@ -6218,7 +6799,7 @@
+ 
+ for ac_func in gsl_sf_mathieu_se_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_mathieu_se_e" "ac_cv_func_gsl_sf_mathieu_se_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_mathieu_se_e" "ac_cv_func_gsl_sf_mathieu_se_e"
+ if test "x$ac_cv_func_gsl_sf_mathieu_se_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_MATHIEU_SE_E 1
+@@ -6231,7 +6812,7 @@
+ 
+ for ac_func in gsl_sf_hyperg_U_int_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hyperg_U_int_e" "ac_cv_func_gsl_sf_hyperg_U_int_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hyperg_U_int_e" "ac_cv_func_gsl_sf_hyperg_U_int_e"
+ if test "x$ac_cv_func_gsl_sf_hyperg_U_int_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HYPERG_U_INT_E 1
+@@ -6244,7 +6825,7 @@
+ 
+ for ac_func in gsl_sf_hyperg_1F1_int_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hyperg_1F1_int_e" "ac_cv_func_gsl_sf_hyperg_1F1_int_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hyperg_1F1_int_e" "ac_cv_func_gsl_sf_hyperg_1F1_int_e"
+ if test "x$ac_cv_func_gsl_sf_hyperg_1F1_int_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HYPERG_1F1_INT_E 1
+@@ -6257,7 +6838,7 @@
+ 
+ for ac_func in gsl_sf_legendre_Plm_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_Plm_e" "ac_cv_func_gsl_sf_legendre_Plm_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_Plm_e" "ac_cv_func_gsl_sf_legendre_Plm_e"
+ if test "x$ac_cv_func_gsl_sf_legendre_Plm_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_PLM_E 1
+@@ -6268,7 +6849,7 @@
+ 
+ for ac_func in gsl_sf_legendre_Plm_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_Plm_e" "ac_cv_func_gsl_sf_legendre_Plm_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_Plm_e" "ac_cv_func_gsl_sf_legendre_Plm_e"
+ if test "x$ac_cv_func_gsl_sf_legendre_Plm_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_PLM_E 1
+@@ -6279,7 +6860,7 @@
+ 
+ for ac_func in gsl_sf_legendre_sphPlm_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_sphPlm_e" "ac_cv_func_gsl_sf_legendre_sphPlm_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_sphPlm_e" "ac_cv_func_gsl_sf_legendre_sphPlm_e"
+ if test "x$ac_cv_func_gsl_sf_legendre_sphPlm_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_SPHPLM_E 1
+@@ -6290,7 +6871,7 @@
+ 
+ for ac_func in gsl_sf_legendre_sphPlm_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_sphPlm_e" "ac_cv_func_gsl_sf_legendre_sphPlm_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_sphPlm_e" "ac_cv_func_gsl_sf_legendre_sphPlm_e"
+ if test "x$ac_cv_func_gsl_sf_legendre_sphPlm_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_SPHPLM_E 1
+@@ -6301,7 +6882,7 @@
+ 
+ for ac_func in gsl_sf_hydrogenicR_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hydrogenicR_e" "ac_cv_func_gsl_sf_hydrogenicR_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hydrogenicR_e" "ac_cv_func_gsl_sf_hydrogenicR_e"
+ if test "x$ac_cv_func_gsl_sf_hydrogenicR_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HYDROGENICR_E 1
+@@ -6314,7 +6895,7 @@
+ 
+ for ac_func in gsl_sf_mathieu_Mc_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_mathieu_Mc_e" "ac_cv_func_gsl_sf_mathieu_Mc_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_mathieu_Mc_e" "ac_cv_func_gsl_sf_mathieu_Mc_e"
+ if test "x$ac_cv_func_gsl_sf_mathieu_Mc_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_MATHIEU_MC_E 1
+@@ -6327,7 +6908,7 @@
+ 
+ for ac_func in gsl_sf_mathieu_Ms_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_mathieu_Ms_e" "ac_cv_func_gsl_sf_mathieu_Ms_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_mathieu_Ms_e" "ac_cv_func_gsl_sf_mathieu_Ms_e"
+ if test "x$ac_cv_func_gsl_sf_mathieu_Ms_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_MATHIEU_MS_E 1
+@@ -6340,7 +6921,7 @@
+ 
+ for ac_func in gsl_sf_bessel_zero_Jnu_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_zero_Jnu_e" "ac_cv_func_gsl_sf_bessel_zero_Jnu_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_zero_Jnu_e" "ac_cv_func_gsl_sf_bessel_zero_Jnu_e"
+ if test "x$ac_cv_func_gsl_sf_bessel_zero_Jnu_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_ZERO_JNU_E 1
+@@ -6353,7 +6934,7 @@
+ 
+ for ac_func in gsl_sf_hyperg_U_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hyperg_U_e" "ac_cv_func_gsl_sf_hyperg_U_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hyperg_U_e" "ac_cv_func_gsl_sf_hyperg_U_e"
+ if test "x$ac_cv_func_gsl_sf_hyperg_U_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HYPERG_U_E 1
+@@ -6366,7 +6947,7 @@
+ 
+ for ac_func in gsl_sf_hyperg_U_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hyperg_U_e" "ac_cv_func_gsl_sf_hyperg_U_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hyperg_U_e" "ac_cv_func_gsl_sf_hyperg_U_e"
+ if test "x$ac_cv_func_gsl_sf_hyperg_U_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HYPERG_U_E 1
+@@ -6379,7 +6960,7 @@
+ 
+ for ac_func in gsl_sf_hyperg_1F1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hyperg_1F1_e" "ac_cv_func_gsl_sf_hyperg_1F1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hyperg_1F1_e" "ac_cv_func_gsl_sf_hyperg_1F1_e"
+ if test "x$ac_cv_func_gsl_sf_hyperg_1F1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HYPERG_1F1_E 1
+@@ -6392,7 +6973,7 @@
+ 
+ for ac_func in gsl_sf_hyperg_1F1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hyperg_1F1_e" "ac_cv_func_gsl_sf_hyperg_1F1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hyperg_1F1_e" "ac_cv_func_gsl_sf_hyperg_1F1_e"
+ if test "x$ac_cv_func_gsl_sf_hyperg_1F1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HYPERG_1F1_E 1
+@@ -6405,7 +6986,7 @@
+ 
+ for ac_func in gsl_sf_hyperg_2F0_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hyperg_2F0_e" "ac_cv_func_gsl_sf_hyperg_2F0_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hyperg_2F0_e" "ac_cv_func_gsl_sf_hyperg_2F0_e"
+ if test "x$ac_cv_func_gsl_sf_hyperg_2F0_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HYPERG_2F0_E 1
+@@ -6418,7 +6999,7 @@
+ 
+ for ac_func in gsl_sf_hyperg_2F0_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hyperg_2F0_e" "ac_cv_func_gsl_sf_hyperg_2F0_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hyperg_2F0_e" "ac_cv_func_gsl_sf_hyperg_2F0_e"
+ if test "x$ac_cv_func_gsl_sf_hyperg_2F0_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HYPERG_2F0_E 1
+@@ -6431,7 +7012,7 @@
+ 
+ for ac_func in gsl_sf_beta_inc_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_beta_inc_e" "ac_cv_func_gsl_sf_beta_inc_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_beta_inc_e" "ac_cv_func_gsl_sf_beta_inc_e"
+ if test "x$ac_cv_func_gsl_sf_beta_inc_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BETA_INC_E 1
+@@ -6444,7 +7025,7 @@
+ 
+ for ac_func in gsl_sf_hyperg_2F1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hyperg_2F1_e" "ac_cv_func_gsl_sf_hyperg_2F1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hyperg_2F1_e" "ac_cv_func_gsl_sf_hyperg_2F1_e"
+ if test "x$ac_cv_func_gsl_sf_hyperg_2F1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HYPERG_2F1_E 1
+@@ -6457,7 +7038,7 @@
+ 
+ for ac_func in gsl_sf_fact_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_fact_e" "ac_cv_func_gsl_sf_fact_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_fact_e" "ac_cv_func_gsl_sf_fact_e"
+ if test "x$ac_cv_func_gsl_sf_fact_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_FACT_E 1
+@@ -6470,7 +7051,7 @@
+ 
+ for ac_func in gsl_sf_doublefact_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_doublefact_e" "ac_cv_func_gsl_sf_doublefact_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_doublefact_e" "ac_cv_func_gsl_sf_doublefact_e"
+ if test "x$ac_cv_func_gsl_sf_doublefact_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_DOUBLEFACT_E 1
+@@ -6483,7 +7064,7 @@
+ 
+ for ac_func in gsl_sf_lnfact_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lnfact_e" "ac_cv_func_gsl_sf_lnfact_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lnfact_e" "ac_cv_func_gsl_sf_lnfact_e"
+ if test "x$ac_cv_func_gsl_sf_lnfact_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LNFACT_E 1
+@@ -6496,7 +7077,7 @@
+ 
+ for ac_func in gsl_sf_lndoublefact_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lndoublefact_e" "ac_cv_func_gsl_sf_lndoublefact_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lndoublefact_e" "ac_cv_func_gsl_sf_lndoublefact_e"
+ if test "x$ac_cv_func_gsl_sf_lndoublefact_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LNDOUBLEFACT_E 1
+@@ -6509,7 +7090,7 @@
+ 
+ for ac_func in gsl_sf_choose_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_choose_e" "ac_cv_func_gsl_sf_choose_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_choose_e" "ac_cv_func_gsl_sf_choose_e"
+ if test "x$ac_cv_func_gsl_sf_choose_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_CHOOSE_E 1
+@@ -6522,7 +7103,7 @@
+ 
+ for ac_func in gsl_sf_lnchoose_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_lnchoose_e" "ac_cv_func_gsl_sf_lnchoose_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_lnchoose_e" "ac_cv_func_gsl_sf_lnchoose_e"
+ if test "x$ac_cv_func_gsl_sf_lnchoose_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LNCHOOSE_E 1
+@@ -6535,7 +7116,7 @@
+ 
+ for ac_func in gsl_sf_coupling_3j_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_coupling_3j_e" "ac_cv_func_gsl_sf_coupling_3j_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_coupling_3j_e" "ac_cv_func_gsl_sf_coupling_3j_e"
+ if test "x$ac_cv_func_gsl_sf_coupling_3j_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_COUPLING_3J_E 1
+@@ -6548,7 +7129,7 @@
+ 
+ for ac_func in gsl_sf_coupling_3j_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_coupling_3j_e" "ac_cv_func_gsl_sf_coupling_3j_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_coupling_3j_e" "ac_cv_func_gsl_sf_coupling_3j_e"
+ if test "x$ac_cv_func_gsl_sf_coupling_3j_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_COUPLING_3J_E 1
+@@ -6561,7 +7142,7 @@
+ 
+ for ac_func in gsl_sf_coupling_6j_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_coupling_6j_e" "ac_cv_func_gsl_sf_coupling_6j_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_coupling_6j_e" "ac_cv_func_gsl_sf_coupling_6j_e"
+ if test "x$ac_cv_func_gsl_sf_coupling_6j_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_COUPLING_6J_E 1
+@@ -6574,7 +7155,7 @@
+ 
+ for ac_func in gsl_sf_coupling_6j_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_coupling_6j_e" "ac_cv_func_gsl_sf_coupling_6j_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_coupling_6j_e" "ac_cv_func_gsl_sf_coupling_6j_e"
+ if test "x$ac_cv_func_gsl_sf_coupling_6j_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_COUPLING_6J_E 1
+@@ -6587,7 +7168,7 @@
+ 
+ for ac_func in gsl_sf_coupling_9j_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_coupling_9j_e" "ac_cv_func_gsl_sf_coupling_9j_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_coupling_9j_e" "ac_cv_func_gsl_sf_coupling_9j_e"
+ if test "x$ac_cv_func_gsl_sf_coupling_9j_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_COUPLING_9J_E 1
+@@ -6600,7 +7181,7 @@
+ 
+ for ac_func in gsl_sf_coupling_9j_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_coupling_9j_e" "ac_cv_func_gsl_sf_coupling_9j_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_coupling_9j_e" "ac_cv_func_gsl_sf_coupling_9j_e"
+ if test "x$ac_cv_func_gsl_sf_coupling_9j_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_COUPLING_9J_E 1
+@@ -6613,7 +7194,7 @@
+ 
+ for ac_func in gsl_sf_bessel_jl_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_jl_array" "ac_cv_func_gsl_sf_bessel_jl_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_jl_array" "ac_cv_func_gsl_sf_bessel_jl_array"
+ if test "x$ac_cv_func_gsl_sf_bessel_jl_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_JL_ARRAY 1
+@@ -6626,7 +7207,7 @@
+ 
+ for ac_func in gsl_sf_bessel_jl_steed_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_jl_steed_array" "ac_cv_func_gsl_sf_bessel_jl_steed_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_jl_steed_array" "ac_cv_func_gsl_sf_bessel_jl_steed_array"
+ if test "x$ac_cv_func_gsl_sf_bessel_jl_steed_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_JL_STEED_ARRAY 1
+@@ -6639,7 +7220,7 @@
+ 
+ for ac_func in gsl_sf_bessel_il_scaled_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_il_scaled_array" "ac_cv_func_gsl_sf_bessel_il_scaled_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_il_scaled_array" "ac_cv_func_gsl_sf_bessel_il_scaled_array"
+ if test "x$ac_cv_func_gsl_sf_bessel_il_scaled_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_IL_SCALED_ARRAY 1
+@@ -6652,7 +7233,7 @@
+ 
+ for ac_func in gsl_sf_bessel_kl_scaled_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_kl_scaled_array" "ac_cv_func_gsl_sf_bessel_kl_scaled_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_kl_scaled_array" "ac_cv_func_gsl_sf_bessel_kl_scaled_array"
+ if test "x$ac_cv_func_gsl_sf_bessel_kl_scaled_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_KL_SCALED_ARRAY 1
+@@ -6665,7 +7246,7 @@
+ 
+ for ac_func in gsl_sf_bessel_yl_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_yl_array" "ac_cv_func_gsl_sf_bessel_yl_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_yl_array" "ac_cv_func_gsl_sf_bessel_yl_array"
+ if test "x$ac_cv_func_gsl_sf_bessel_yl_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_YL_ARRAY 1
+@@ -6678,7 +7259,7 @@
+ 
+ for ac_func in gsl_sf_legendre_Pl_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_Pl_array" "ac_cv_func_gsl_sf_legendre_Pl_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_Pl_array" "ac_cv_func_gsl_sf_legendre_Pl_array"
+ if test "x$ac_cv_func_gsl_sf_legendre_Pl_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_PL_ARRAY 1
+@@ -6691,7 +7272,7 @@
+ 
+ for ac_func in gsl_sf_gegenpoly_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_gegenpoly_array" "ac_cv_func_gsl_sf_gegenpoly_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_gegenpoly_array" "ac_cv_func_gsl_sf_gegenpoly_array"
+ if test "x$ac_cv_func_gsl_sf_gegenpoly_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_GEGENPOLY_ARRAY 1
+@@ -6704,7 +7285,7 @@
+ 
+ for ac_func in gsl_sf_bessel_In_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_In_array" "ac_cv_func_gsl_sf_bessel_In_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_In_array" "ac_cv_func_gsl_sf_bessel_In_array"
+ if test "x$ac_cv_func_gsl_sf_bessel_In_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_IN_ARRAY 1
+@@ -6717,7 +7298,7 @@
+ 
+ for ac_func in gsl_sf_bessel_In_scaled_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_In_scaled_array" "ac_cv_func_gsl_sf_bessel_In_scaled_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_In_scaled_array" "ac_cv_func_gsl_sf_bessel_In_scaled_array"
+ if test "x$ac_cv_func_gsl_sf_bessel_In_scaled_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_IN_SCALED_ARRAY 1
+@@ -6730,7 +7311,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Jn_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Jn_array" "ac_cv_func_gsl_sf_bessel_Jn_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Jn_array" "ac_cv_func_gsl_sf_bessel_Jn_array"
+ if test "x$ac_cv_func_gsl_sf_bessel_Jn_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_JN_ARRAY 1
+@@ -6743,7 +7324,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Kn_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Kn_array" "ac_cv_func_gsl_sf_bessel_Kn_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Kn_array" "ac_cv_func_gsl_sf_bessel_Kn_array"
+ if test "x$ac_cv_func_gsl_sf_bessel_Kn_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_KN_ARRAY 1
+@@ -6756,7 +7337,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Kn_scaled_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Kn_scaled_array" "ac_cv_func_gsl_sf_bessel_Kn_scaled_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Kn_scaled_array" "ac_cv_func_gsl_sf_bessel_Kn_scaled_array"
+ if test "x$ac_cv_func_gsl_sf_bessel_Kn_scaled_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_KN_SCALED_ARRAY 1
+@@ -6769,7 +7350,7 @@
+ 
+ for ac_func in gsl_sf_bessel_Yn_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_bessel_Yn_array" "ac_cv_func_gsl_sf_bessel_Yn_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_bessel_Yn_array" "ac_cv_func_gsl_sf_bessel_Yn_array"
+ if test "x$ac_cv_func_gsl_sf_bessel_Yn_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_BESSEL_YN_ARRAY 1
+@@ -6782,7 +7363,7 @@
+ 
+ for ac_func in gsl_sf_legendre_Plm_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_Plm_array" "ac_cv_func_gsl_sf_legendre_Plm_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_Plm_array" "ac_cv_func_gsl_sf_legendre_Plm_array"
+ if test "x$ac_cv_func_gsl_sf_legendre_Plm_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_PLM_ARRAY 1
+@@ -6793,7 +7374,7 @@
+ 
+ for ac_func in gsl_sf_legendre_Plm_deriv_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_Plm_deriv_array" "ac_cv_func_gsl_sf_legendre_Plm_deriv_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_Plm_deriv_array" "ac_cv_func_gsl_sf_legendre_Plm_deriv_array"
+ if test "x$ac_cv_func_gsl_sf_legendre_Plm_deriv_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_PLM_DERIV_ARRAY 1
+@@ -6804,7 +7385,7 @@
+ 
+ for ac_func in gsl_sf_legendre_sphPlm_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_sphPlm_array" "ac_cv_func_gsl_sf_legendre_sphPlm_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_sphPlm_array" "ac_cv_func_gsl_sf_legendre_sphPlm_array"
+ if test "x$ac_cv_func_gsl_sf_legendre_sphPlm_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_SPHPLM_ARRAY 1
+@@ -6815,7 +7396,7 @@
+ 
+ for ac_func in gsl_sf_legendre_sphPlm_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_sphPlm_array" "ac_cv_func_gsl_sf_legendre_sphPlm_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_sphPlm_array" "ac_cv_func_gsl_sf_legendre_sphPlm_array"
+ if test "x$ac_cv_func_gsl_sf_legendre_sphPlm_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_SPHPLM_ARRAY 1
+@@ -6826,7 +7407,7 @@
+ 
+ for ac_func in gsl_sf_legendre_sphPlm_deriv_array
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_sphPlm_deriv_array" "ac_cv_func_gsl_sf_legendre_sphPlm_deriv_array"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_sphPlm_deriv_array" "ac_cv_func_gsl_sf_legendre_sphPlm_deriv_array"
+ if test "x$ac_cv_func_gsl_sf_legendre_sphPlm_deriv_array" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_SPHPLM_DERIV_ARRAY 1
+@@ -6837,7 +7418,7 @@
+ 
+ for ac_func in gsl_sf_legendre_array_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_array_e" "ac_cv_func_gsl_sf_legendre_array_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_array_e" "ac_cv_func_gsl_sf_legendre_array_e"
+ if test "x$ac_cv_func_gsl_sf_legendre_array_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_ARRAY_E 1
+@@ -6850,7 +7431,7 @@
+ 
+ for ac_func in gsl_sf_legendre_deriv_array_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_deriv_array_e" "ac_cv_func_gsl_sf_legendre_deriv_array_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_deriv_array_e" "ac_cv_func_gsl_sf_legendre_deriv_array_e"
+ if test "x$ac_cv_func_gsl_sf_legendre_deriv_array_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_DERIV_ARRAY_E 1
+@@ -6863,7 +7444,7 @@
+ 
+ for ac_func in gsl_sf_legendre_deriv2_array_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_legendre_deriv2_array_e" "ac_cv_func_gsl_sf_legendre_deriv2_array_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_legendre_deriv2_array_e" "ac_cv_func_gsl_sf_legendre_deriv2_array_e"
+ if test "x$ac_cv_func_gsl_sf_legendre_deriv2_array_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_LEGENDRE_DERIV2_ARRAY_E 1
+@@ -6876,7 +7457,7 @@
+ 
+ for ac_func in gsl_sf_zeta_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_zeta_e" "ac_cv_func_gsl_sf_zeta_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_zeta_e" "ac_cv_func_gsl_sf_zeta_e"
+ if test "x$ac_cv_func_gsl_sf_zeta_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ZETA_E 1
+@@ -6889,7 +7470,7 @@
+ 
+ for ac_func in gsl_sf_zeta_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_zeta_e" "ac_cv_func_gsl_sf_zeta_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_zeta_e" "ac_cv_func_gsl_sf_zeta_e"
+ if test "x$ac_cv_func_gsl_sf_zeta_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ZETA_E 1
+@@ -6902,7 +7483,7 @@
+ 
+ for ac_func in gsl_sf_zeta_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_zeta_e" "ac_cv_func_gsl_sf_zeta_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_zeta_e" "ac_cv_func_gsl_sf_zeta_e"
+ if test "x$ac_cv_func_gsl_sf_zeta_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ZETA_E 1
+@@ -6915,7 +7496,7 @@
+ 
+ for ac_func in gsl_sf_zeta_int_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_zeta_int_e" "ac_cv_func_gsl_sf_zeta_int_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_zeta_int_e" "ac_cv_func_gsl_sf_zeta_int_e"
+ if test "x$ac_cv_func_gsl_sf_zeta_int_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ZETA_INT_E 1
+@@ -6928,7 +7509,7 @@
+ 
+ for ac_func in gsl_sf_zeta_int_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_zeta_int_e" "ac_cv_func_gsl_sf_zeta_int_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_zeta_int_e" "ac_cv_func_gsl_sf_zeta_int_e"
+ if test "x$ac_cv_func_gsl_sf_zeta_int_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ZETA_INT_E 1
+@@ -6941,7 +7522,7 @@
+ 
+ for ac_func in gsl_sf_zetam1_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_zetam1_e" "ac_cv_func_gsl_sf_zetam1_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_zetam1_e" "ac_cv_func_gsl_sf_zetam1_e"
+ if test "x$ac_cv_func_gsl_sf_zetam1_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ZETAM1_E 1
+@@ -6954,7 +7535,7 @@
+ 
+ for ac_func in gsl_sf_zetam1_int_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_zetam1_int_e" "ac_cv_func_gsl_sf_zetam1_int_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_zetam1_int_e" "ac_cv_func_gsl_sf_zetam1_int_e"
+ if test "x$ac_cv_func_gsl_sf_zetam1_int_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ZETAM1_INT_E 1
+@@ -6967,7 +7548,7 @@
+ 
+ for ac_func in gsl_sf_eta_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_eta_e" "ac_cv_func_gsl_sf_eta_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_eta_e" "ac_cv_func_gsl_sf_eta_e"
+ if test "x$ac_cv_func_gsl_sf_eta_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ETA_E 1
+@@ -6980,7 +7561,7 @@
+ 
+ for ac_func in gsl_sf_eta_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_eta_e" "ac_cv_func_gsl_sf_eta_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_eta_e" "ac_cv_func_gsl_sf_eta_e"
+ if test "x$ac_cv_func_gsl_sf_eta_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ETA_E 1
+@@ -6993,7 +7574,7 @@
+ 
+ for ac_func in gsl_sf_eta_int_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_eta_int_e" "ac_cv_func_gsl_sf_eta_int_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_eta_int_e" "ac_cv_func_gsl_sf_eta_int_e"
+ if test "x$ac_cv_func_gsl_sf_eta_int_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ETA_INT_E 1
+@@ -7006,7 +7587,7 @@
+ 
+ for ac_func in gsl_sf_eta_int_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_eta_int_e" "ac_cv_func_gsl_sf_eta_int_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_eta_int_e" "ac_cv_func_gsl_sf_eta_int_e"
+ if test "x$ac_cv_func_gsl_sf_eta_int_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_ETA_INT_E 1
+@@ -7019,7 +7600,7 @@
+ 
+ for ac_func in gsl_sf_hzeta_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hzeta_e" "ac_cv_func_gsl_sf_hzeta_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hzeta_e" "ac_cv_func_gsl_sf_hzeta_e"
+ if test "x$ac_cv_func_gsl_sf_hzeta_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HZETA_E 1
+@@ -7032,7 +7613,7 @@
+ 
+ for ac_func in gsl_sf_hzeta_e
+ do :
+-  ac_fn_cxx_check_func "$LINENO" "gsl_sf_hzeta_e" "ac_cv_func_gsl_sf_hzeta_e"
++  ac_fn_c_check_func "$LINENO" "gsl_sf_hzeta_e" "ac_cv_func_gsl_sf_hzeta_e"
+ if test "x$ac_cv_func_gsl_sf_hzeta_e" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_GSL_SF_HZETA_E 1
+diff -ur gsl-2.1.1.orig/src/configure.ac gsl-2.1.1/src/configure.ac
+--- gsl-2.1.1.orig/src/configure.ac	2018-07-06 11:04:59.199071174 -0400
++++ gsl-2.1.1/src/configure.ac	2018-07-06 12:16:06.825679865 -0400
+@@ -28,24 +28,23 @@
+ AC_PATH_PROG([MKOCTFILE],[mkoctfile])
+ test -z "$MKOCTFILE" && AC_MSG_ERROR([mkoctfile not found])
+ 
+-dnl Check for octave (used to get cannical_host_type)
+-AC_PATH_PROG([OCTAVE],[octave])
+-test -z "$OCTAVE" && AC_MSG_ERROR([octave not found])
+-
++dnl Check for octave-config
++AC_PATH_PROG([OCTAVE_CONFIG],[octave-config])
++test -z "$OCTAVE_CONFIG" &&  AC_MSG_ERROR([octave-config not found])
++
++AC_DEFUN(OCTAVE_CONFIG_EVAL,
++[AC_MSG_CHECKING([for $1 in octave-config])
++$2=`$OCTAVE_CONFIG -p $1`
++AC_MSG_RESULT($$2)
++AC_SUBST($2)
++])
+ 
+ dnl *****************************
+ dnl *** System-specific stuff ***
+ dnl *****************************
+ 
+ dnl Grab canonical host type so we can write system specific install stuff
+-AC_MSG_CHECKING([for Octave's canonical_host_type])
+-canonical_host_type=`$OCTAVE -qf --eval "                   \
+-  if exist ('__octave_config_info__')                       \
+-    disp  (__octave_config_info__ ('canonical_host_type'))  \
+-  else                                                      \
+-    disp  (octave_config_info ('canonical_host_type'))      \
+-  end"`
+-AC_MSG_RESULT([${canonical_host_type}])
++OCTAVE_CONFIG_EVAL(CANONICAL_HOST_TYPE,canonical_host_type)
+ 
+ dnl GSL specific preprocessor flags
+ AC_SUBST([GSL_DEFINES])
+@@ -63,17 +62,23 @@
+ dnl *********************************
+ 
+ dnl Find Octave's include directory
+-AC_MSG_CHECKING([for Octave's include directory])
+-octave_include_dir=`$OCTAVE -qf --eval "              \
+-  if exist ('__octave_config_info__')                 \
+-    disp  (__octave_config_info__ ('octincludedir'))  \
+-  else                                                \
+-    disp  (octave_config_info ('octincludedir'))      \
+-  end"`
+-AC_MSG_RESULT([${octave_include_dir}])
++OCTAVE_CONFIG_EVAL(OCTINCLUDEDIR,octave_include_dir)
++
++# let configure get CC and CXX so we cant override for tests
++AC_PROG_CC
++AC_PROG_CXX
++
++# set compiler and flags to values octave will be using
++CC=`$MKOCTFILE -p CC`
++CXX=`$MKOCTFILE -p CXX`
++CFLAGS=`$MKOCTFILE -p CFLAGS`
++CPPFLAGS=`$MKOCTFILE -p CPPFLAGS`
++LDFLAGS=`$MKOCTFILE -p LDFLAGS`
++LIBS=`$MKOCTFILE -p LIBS`
++CXXFLAGS=`$MKOCTFILE -p CXXFLAGS`
+ 
+ dnl Save initial state
+-save_CPPFLAGS=${CPPFLAG}
++save_CPPFLAGS=${CPPFLAGS}
+ AC_LANG_PUSH([C++])
+ 
+ dnl Add octave include dir to CPPFLAGS
+@@ -120,7 +125,7 @@
+ )
+ 
+ dnl Restore initial state
+-AC_LANG_PUSH([C++])
++AC_LANG_POP([C++])
+ CPPFLAGS=${save_CPPFLAGS}
+ 
+ 
+diff -ur gsl-2.1.1.orig/src/configure.ac.in gsl-2.1.1/src/configure.ac.in
+--- gsl-2.1.1.orig/src/configure.ac.in	2018-07-06 11:04:59.193071031 -0400
++++ gsl-2.1.1/src/configure.ac.in	2018-07-06 12:16:00.987540545 -0400
+@@ -24,24 +24,23 @@
+ AC_PATH_PROG([MKOCTFILE],[mkoctfile])
+ test -z "$MKOCTFILE" && AC_MSG_ERROR([mkoctfile not found])
+ 
+-dnl Check for octave (used to get cannical_host_type)
+-AC_PATH_PROG([OCTAVE],[octave])
+-test -z "$OCTAVE" && AC_MSG_ERROR([octave not found])
+-
++dnl Check for octave-config
++AC_PATH_PROG([OCTAVE_CONFIG],[octave-config])
++test -z "$OCTAVE_CONFIG" &&  AC_MSG_ERROR([octave-config not found])
++
++AC_DEFUN(OCTAVE_CONFIG_EVAL,
++[AC_MSG_CHECKING([for $1 in octave-config])
++$2=`$OCTAVE_CONFIG -p $1`
++AC_MSG_RESULT($$2)
++AC_SUBST($2)
++])
+ 
+ dnl *****************************
+ dnl *** System-specific stuff ***
+ dnl *****************************
+ 
+ dnl Grab canonical host type so we can write system specific install stuff
+-AC_MSG_CHECKING([for Octave's canonical_host_type])
+-canonical_host_type=`$OCTAVE -qf --eval "                   \
+-  if exist ('__octave_config_info__')                       \
+-    disp  (__octave_config_info__ ('canonical_host_type'))  \
+-  else                                                      \
+-    disp  (octave_config_info ('canonical_host_type'))      \
+-  end"`
+-AC_MSG_RESULT([${canonical_host_type}])
++OCTAVE_CONFIG_EVAL(CANONICAL_HOST_TYPE,canonical_host_type)
+ 
+ dnl GSL specific preprocessor flags
+ AC_SUBST([GSL_DEFINES])
+@@ -59,17 +58,23 @@
+ dnl *********************************
+ 
+ dnl Find Octave's include directory
+-AC_MSG_CHECKING([for Octave's include directory])
+-octave_include_dir=`$OCTAVE -qf --eval "              \
+-  if exist ('__octave_config_info__')                 \
+-    disp  (__octave_config_info__ ('octincludedir'))  \
+-  else                                                \
+-    disp  (octave_config_info ('octincludedir'))      \
+-  end"`
+-AC_MSG_RESULT([${octave_include_dir}])
++OCTAVE_CONFIG_EVAL(OCTINCLUDEDIR,octave_include_dir)
++
++# let configure get CC and CXX so we cant override for tests
++AC_PROG_CC
++AC_PROG_CXX
++
++# set compiler and flags to values octave will be using
++CC=`$MKOCTFILE -p CC`
++CXX=`$MKOCTFILE -p CXX`
++CFLAGS=`$MKOCTFILE -p CFLAGS`
++CPPFLAGS=`$MKOCTFILE -p CPPFLAGS`
++LDFLAGS=`$MKOCTFILE -p LDFLAGS`
++LIBS=`$MKOCTFILE -p LIBS`
++CXXFLAGS=`$MKOCTFILE -p CXXFLAGS`
+ 
+ dnl Save initial state
+-save_CPPFLAGS=${CPPFLAG}
++save_CPPFLAGS=${CPPFLAGS}
+ AC_LANG_PUSH([C++])
+ 
+ dnl Add octave include dir to CPPFLAGS
+@@ -116,7 +121,7 @@
+ )
+ 
+ dnl Restore initial state
+-AC_LANG_PUSH([C++])
++AC_LANG_POP([C++])
+ CPPFLAGS=${save_CPPFLAGS}
+ 
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-gsl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-gsl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.1.1
+$(PKG)_CHECKSUM := 08a29d02d6acd313c793b87614e5d0d4488fbcd1
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := gsl-$($(PKG)_VERSION)
+$(PKG)_FILE     := gsl-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := gsl
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- a/src/of-image.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/of-image.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,26 @@
 
 PKG             := of-image
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 30f33db706e8892f120f2d79e030c3f21dea4563
-$(PKG)_REMOTE_SUBDIR := 
-$(PKG)_SUBDIR   := image
+$(PKG)_VERSION  := 2.12.0
+$(PKG)_CHECKSUM := 0d15ba153ea5d4fd5f658b551b7009a27a454cf3
+$(PKG)_REMOTE_SUBDIR :=
+$(PKG)_SUBDIR   := image-$($(PKG)_VERSION)
 $(PKG)_FILE     := image-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
-$(PKG)_DEPS     := of-signal
+$(PKG)_DEPS     :=
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+    ifeq ($(MXE_NATIVE_BUILD),no)
+        ifeq ($(USE_SYSTEM_OCTAVE),no)
+            # Remove this when package builds without calling Octave
+            $(PKG)_DEPS += build-octave
+        endif
+    endif
+endif
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(OCTAVE_FORGE_PKG_UPDATE)
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-instrument-control.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-instrument-control
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.6.0
+$(PKG)_CHECKSUM := 6c7138e874f7bf7f8d6cd44d62b31aeecbde314d
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := instrument-control-$($(PKG)_VERSION)
+$(PKG)_FILE     := instrument-control-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-interval-1-cross-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+diff -ur interval-3.1.0.orig/src/Makefile interval-3.1.0/src/Makefile
+--- interval-3.1.0.orig/src/Makefile	2017-12-21 12:38:19.524166411 -0500
++++ interval-3.1.0/src/Makefile	2017-12-21 12:43:27.693376135 -0500
+@@ -31,6 +31,8 @@
+ CONF_FLAG_SSE2 ?=--enable-sse2
+ endif
+ 
++CRLIBM_CONFIG_FLAGS ?=
++
+ all: $(OBJ)
+ 
+ ## crlibm api oct-file
+@@ -50,7 +52,7 @@
+ $(BUNDLED_CRLIBM_DIR)/crlibm_private.o: $(BUNDLED_CRLIBM_DIR)/crlibm_config.h
+ 	$(MAKE) -C $(BUNDLED_CRLIBM_DIR) CFLAGS+="$(shell $(MKOCTFILE) -p CPICFLAG) -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable"
+ $(BUNDLED_CRLIBM_DIR)/crlibm_config.h:
+-	(cd $(BUNDLED_CRLIBM_DIR) && ./configure --disable-dependency-tracking $(CONF_FLAG_SSE2))
++	(cd $(BUNDLED_CRLIBM_DIR) && ./configure --disable-dependency-tracking $(CONF_FLAG_SSE2) $(CRLIBM_CONFIG_FLAGS))
+ 
+ ## GNU MPFR api oct-files
+ mpfr_matrix_mul_d.oct mpfr_matrix_sqr_d.oct : mpfr_%.oct: mpfr_%.cc mpfr_commons.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-interval.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,33 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-interval
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.2.0
+$(PKG)_CHECKSUM := 9890115852745616ec5ca157aec518243d5b8030
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := interval-$($(PKG)_VERSION)
+$(PKG)_FILE     := interval-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     :=
+ifeq ($(USE_SYSTEM_GCC),no)
+  $(PKG)_DEPS += mpfr
+endif
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+ifeq ($(MXE_NATIVE_BUILD),no)
+$(PKG)_OPTIONS := CRLIBM_CONFIG_FLAGS='--host=$(TARGET)'
+else
+$(PKG)_OPTIONS := 
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(call OCTAVE_FORGE_PKG_BUILD,$(1),$(2),$(3),$($(PKG)_OPTIONS))
+endef
--- a/src/of-io.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/of-io.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,20 @@
 
 PKG             := of-io
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 3744a01b45cb8519ba1a5477ab1ce7a16ead889f
+$(PKG)_VERSION  := 2.6.3
+$(PKG)_CHECKSUM := 6ed3e70e3ef108204bff87c9b9d29019b844d273
 $(PKG)_REMOTE_SUBDIR := 
-$(PKG)_SUBDIR   := io
+$(PKG)_SUBDIR   := io-$($(PKG)_VERSION)
 $(PKG)_FILE     := io-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
 $(PKG)_DEPS     := 
 
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(OCTAVE_FORGE_PKG_UPDATE)
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-linear-algebra.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-linear-algebra
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.2.3
+$(PKG)_CHECKSUM := eb458af318f96e8fa7eea71c2a13acb03e43dac2
+$(PKG)_REMOTE_SUBDIR :=
+$(PKG)_SUBDIR   := linear-algebra-$($(PKG)_VERSION)
+$(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     :=
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-lssa.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-lssa
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.1.4
+$(PKG)_CHECKSUM := 99d10c9801375f55f69b918a9b78cefb06a7c4a6
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := lssa-$($(PKG)_VERSION)
+$(PKG)_FILE     := lssa-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-ltfat-1-cross-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,4839 @@
+diff -uNr a/src/autom4te.cache/output.0 b/src/autom4te.cache/output.0
+--- a/src/autom4te.cache/output.0	1969-12-31 19:00:00.000000000 -0500
++++ b/src/autom4te.cache/output.0	2018-07-06 14:01:20.408923225 -0400
+@@ -0,0 +1,4384 @@
++@%:@! /bin/sh
++@%:@ Guess values for system-dependent variables and create Makefiles.
++@%:@ Generated by GNU Autoconf 2.69 for LTFAT 2.3.1.
++@%:@
++@%:@ Report bugs to <http://github.com/ltfat/ltfat/issues>.
++@%:@ 
++@%:@ 
++@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
++@%:@ 
++@%:@ 
++@%:@ This configure script is free software; the Free Software Foundation
++@%:@ gives unlimited permission to copy, distribute and modify it.
++## -------------------- ##
++## M4sh Initialization. ##
++## -------------------- ##
++
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
++  emulate sh
++  NULLCMD=:
++  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '${1+"$@"}'='"$@"'
++  setopt NO_GLOB_SUBST
++else
++  case `(set -o) 2>/dev/null` in @%:@(
++  *posix*) :
++    set -o posix ;; @%:@(
++  *) :
++     ;;
++esac
++fi
++
++
++as_nl='
++'
++export as_nl
++# Printing a long string crashes Solaris 7 /usr/bin/printf.
++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
++# Prefer a ksh shell builtin over an external printf program on Solaris,
++# but without wasting forks for bash or zsh.
++if test -z "$BASH_VERSION$ZSH_VERSION" \
++    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
++  as_echo='print -r --'
++  as_echo_n='print -rn --'
++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
++  as_echo='printf %s\n'
++  as_echo_n='printf %s'
++else
++  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
++    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
++    as_echo_n='/usr/ucb/echo -n'
++  else
++    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
++    as_echo_n_body='eval
++      arg=$1;
++      case $arg in @%:@(
++      *"$as_nl"*)
++	expr "X$arg" : "X\\(.*\\)$as_nl";
++	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
++      esac;
++      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
++    '
++    export as_echo_n_body
++    as_echo_n='sh -c $as_echo_n_body as_echo'
++  fi
++  export as_echo_body
++  as_echo='sh -c $as_echo_body as_echo'
++fi
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++  PATH_SEPARATOR=:
++  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
++    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
++      PATH_SEPARATOR=';'
++  }
++fi
++
++
++# IFS
++# We need space, tab and new line, in precisely that order.  Quoting is
++# there to prevent editors from complaining about space-tab.
++# (If _AS_PATH_WALK were called with IFS unset, it would disable word
++# splitting by setting IFS to empty value.)
++IFS=" ""	$as_nl"
++
++# Find who we are.  Look in the path if we contain no directory separator.
++as_myself=
++case $0 in @%:@((
++  *[\\/]* ) as_myself=$0 ;;
++  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++  done
++IFS=$as_save_IFS
++
++     ;;
++esac
++# We did not find ourselves, most probably we were run as `sh COMMAND'
++# in which case we are not to be found in the path.
++if test "x$as_myself" = x; then
++  as_myself=$0
++fi
++if test ! -f "$as_myself"; then
++  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++  exit 1
++fi
++
++# Unset variables that we do not need and which cause bugs (e.g. in
++# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
++# suppresses any "Segmentation fault" message there.  '((' could
++# trigger a bug in pdksh 5.2.14.
++for as_var in BASH_ENV ENV MAIL MAILPATH
++do eval test x\${$as_var+set} = xset \
++  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++LC_ALL=C
++export LC_ALL
++LANGUAGE=C
++export LANGUAGE
++
++# CDPATH.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++# Use a proper internal environment variable to ensure we don't fall
++  # into an infinite loop, continuously re-executing ourselves.
++  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
++    _as_can_reexec=no; export _as_can_reexec;
++    # We cannot yet assume a decent shell, so we have to provide a
++# neutralization value for shells without unset; and this also
++# works around shells that cannot unset nonexistent variables.
++# Preserve -v and -x to the replacement shell.
++BASH_ENV=/dev/null
++ENV=/dev/null
++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
++case $- in @%:@ ((((
++  *v*x* | *x*v* ) as_opts=-vx ;;
++  *v* ) as_opts=-v ;;
++  *x* ) as_opts=-x ;;
++  * ) as_opts= ;;
++esac
++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
++# Admittedly, this is quite paranoid, since all the known shells bail
++# out after a failed `exec'.
++$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
++as_fn_exit 255
++  fi
++  # We don't want this to propagate to other subprocesses.
++          { _as_can_reexec=; unset _as_can_reexec;}
++if test "x$CONFIG_SHELL" = x; then
++  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
++  emulate sh
++  NULLCMD=:
++  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '\${1+\"\$@\"}'='\"\$@\"'
++  setopt NO_GLOB_SUBST
++else
++  case \`(set -o) 2>/dev/null\` in @%:@(
++  *posix*) :
++    set -o posix ;; @%:@(
++  *) :
++     ;;
++esac
++fi
++"
++  as_required="as_fn_return () { (exit \$1); }
++as_fn_success () { as_fn_return 0; }
++as_fn_failure () { as_fn_return 1; }
++as_fn_ret_success () { return 0; }
++as_fn_ret_failure () { return 1; }
++
++exitcode=0
++as_fn_success || { exitcode=1; echo as_fn_success failed.; }
++as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
++as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
++as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
++if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
++  
++else
++  exitcode=1; echo positional parameters were not saved.
++fi
++test x\$exitcode = x0 || exit 1
++test -x / || exit 1"
++  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
++  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
++  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
++  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
++  if (eval "$as_required") 2>/dev/null; then :
++  as_have_required=yes
++else
++  as_have_required=no
++fi
++  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
++  
++else
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++as_found=false
++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  as_found=:
++  case $as_dir in @%:@(
++	 /*)
++	   for as_base in sh bash ksh sh5; do
++	     # Try only shells that exist, to save several forks.
++	     as_shell=$as_dir/$as_base
++	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
++		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
++  CONFIG_SHELL=$as_shell as_have_required=yes
++		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
++  break 2
++fi
++fi
++	   done;;
++       esac
++  as_found=false
++done
++$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
++	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
++  CONFIG_SHELL=$SHELL as_have_required=yes
++fi; }
++IFS=$as_save_IFS
++
++
++      if test "x$CONFIG_SHELL" != x; then :
++  export CONFIG_SHELL
++             # We cannot yet assume a decent shell, so we have to provide a
++# neutralization value for shells without unset; and this also
++# works around shells that cannot unset nonexistent variables.
++# Preserve -v and -x to the replacement shell.
++BASH_ENV=/dev/null
++ENV=/dev/null
++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
++case $- in @%:@ ((((
++  *v*x* | *x*v* ) as_opts=-vx ;;
++  *v* ) as_opts=-v ;;
++  *x* ) as_opts=-x ;;
++  * ) as_opts= ;;
++esac
++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
++# Admittedly, this is quite paranoid, since all the known shells bail
++# out after a failed `exec'.
++$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
++exit 255
++fi
++
++    if test x$as_have_required = xno; then :
++  $as_echo "$0: This script requires a shell more modern than all"
++  $as_echo "$0: the shells that I found on your system."
++  if test x${ZSH_VERSION+set} = xset ; then
++    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
++    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
++  else
++    $as_echo "$0: Please tell bug-autoconf@gnu.org and
++$0: http://github.com/ltfat/ltfat/issues about your system,
++$0: including any error possibly output before this
++$0: message. Then install a modern shell, or manually run
++$0: the script under such a shell if you do have one."
++  fi
++  exit 1
++fi
++fi
++fi
++SHELL=${CONFIG_SHELL-/bin/sh}
++export SHELL
++# Unset more variables known to interfere with behavior of common tools.
++CLICOLOR_FORCE= GREP_OPTIONS=
++unset CLICOLOR_FORCE GREP_OPTIONS
++
++## --------------------- ##
++## M4sh Shell Functions. ##
++## --------------------- ##
++@%:@ as_fn_unset VAR
++@%:@ ---------------
++@%:@ Portably unset VAR.
++as_fn_unset ()
++{
++  { eval $1=; unset $1;}
++}
++as_unset=as_fn_unset
++
++@%:@ as_fn_set_status STATUS
++@%:@ -----------------------
++@%:@ Set @S|@? to STATUS, without forking.
++as_fn_set_status ()
++{
++  return $1
++} @%:@ as_fn_set_status
++
++@%:@ as_fn_exit STATUS
++@%:@ -----------------
++@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
++as_fn_exit ()
++{
++  set +e
++  as_fn_set_status $1
++  exit $1
++} @%:@ as_fn_exit
++
++@%:@ as_fn_mkdir_p
++@%:@ -------------
++@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
++as_fn_mkdir_p ()
++{
++
++  case $as_dir in #(
++  -*) as_dir=./$as_dir;;
++  esac
++  test -d "$as_dir" || eval $as_mkdir_p || {
++    as_dirs=
++    while :; do
++      case $as_dir in #(
++      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
++      *) as_qdir=$as_dir;;
++      esac
++      as_dirs="'$as_qdir' $as_dirs"
++      as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$as_dir" : 'X\(//\)[^/]' \| \
++	 X"$as_dir" : 'X\(//\)$' \| \
++	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$as_dir" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++      test -d "$as_dir" && break
++    done
++    test -z "$as_dirs" || eval "mkdir $as_dirs"
++  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
++
++
++} @%:@ as_fn_mkdir_p
++
++@%:@ as_fn_executable_p FILE
++@%:@ -----------------------
++@%:@ Test if FILE is an executable regular file.
++as_fn_executable_p ()
++{
++  test -f "$1" && test -x "$1"
++} @%:@ as_fn_executable_p
++@%:@ as_fn_append VAR VALUE
++@%:@ ----------------------
++@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
++@%:@ advantage of any shell optimizations that allow amortized linear growth over
++@%:@ repeated appends, instead of the typical quadratic growth present in naive
++@%:@ implementations.
++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
++  eval 'as_fn_append ()
++  {
++    eval $1+=\$2
++  }'
++else
++  as_fn_append ()
++  {
++    eval $1=\$$1\$2
++  }
++fi # as_fn_append
++
++@%:@ as_fn_arith ARG...
++@%:@ ------------------
++@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
++@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
++@%:@ must be portable across @S|@(()) and expr.
++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
++  eval 'as_fn_arith ()
++  {
++    as_val=$(( $* ))
++  }'
++else
++  as_fn_arith ()
++  {
++    as_val=`expr "$@" || test $? -eq 1`
++  }
++fi # as_fn_arith
++
++
++@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
++@%:@ ----------------------------------------
++@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
++@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
++@%:@ script with STATUS, using 1 if that was 0.
++as_fn_error ()
++{
++  as_status=$1; test $as_status -eq 0 && as_status=1
++  if test "$4"; then
++    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
++  fi
++  $as_echo "$as_me: error: $2" >&2
++  as_fn_exit $as_status
++} @%:@ as_fn_error
++
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++   test "X`expr 00001 : '.*\(...\)'`" = X001; then
++  as_expr=expr
++else
++  as_expr=false
++fi
++
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
++  as_basename=basename
++else
++  as_basename=false
++fi
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++  as_dirname=dirname
++else
++  as_dirname=false
++fi
++
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++	 X"$0" : 'X\(//\)$' \| \
++	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X/"$0" |
++    sed '/^.*\/\([^/][^/]*\)\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\/\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\/\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++
++  as_lineno_1=$LINENO as_lineno_1a=$LINENO
++  as_lineno_2=$LINENO as_lineno_2a=$LINENO
++  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
++  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
++  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
++  sed -n '
++    p
++    /[$]LINENO/=
++  ' <$as_myself |
++    sed '
++      s/[$]LINENO.*/&-/
++      t lineno
++      b
++      :lineno
++      N
++      :loop
++      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
++      t loop
++      s/-\n.*//
++    ' >$as_me.lineno &&
++  chmod +x "$as_me.lineno" ||
++    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
++
++  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
++  # already done that, so ensure we don't try to do so again and fall
++  # in an infinite loop.  This has already happened in practice.
++  _as_can_reexec=no; export _as_can_reexec
++  # Don't try to exec as it changes $[0], causing all sort of problems
++  # (the dirname of $[0] is not the place where we might find the
++  # original and so on.  Autoconf is especially sensitive to this).
++  . "./$as_me.lineno"
++  # Exit status is that of the last command.
++  exit
++}
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in @%:@(((((
++-n*)
++  case `echo 'xy\c'` in
++  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
++  xy)  ECHO_C='\c';;
++  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
++       ECHO_T='	';;
++  esac;;
++*)
++  ECHO_N='-n';;
++esac
++
++rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++  rm -f conf$$.dir/conf$$.file
++else
++  rm -f conf$$.dir
++  mkdir conf$$.dir 2>/dev/null
++fi
++if (echo >conf$$.file) 2>/dev/null; then
++  if ln -s conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s='ln -s'
++    # ... but there are two gotchas:
++    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
++    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
++    # In both cases, we have to default to `cp -pR'.
++    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++      as_ln_s='cp -pR'
++  elif ln conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s=ln
++  else
++    as_ln_s='cp -pR'
++  fi
++else
++  as_ln_s='cp -pR'
++fi
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
++
++if mkdir -p . 2>/dev/null; then
++  as_mkdir_p='mkdir -p "$as_dir"'
++else
++  test -d ./-p && rmdir ./-p
++  as_mkdir_p=false
++fi
++
++as_test_x='test -x'
++as_executable_p=as_fn_executable_p
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++test -n "$DJDIR" || exec 7<&0 </dev/null
++exec 6>&1
++
++# Name of the host.
++# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
++# so uname gets run too.
++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
++
++#
++# Initializations.
++#
++ac_default_prefix=/usr/local
++ac_clean_files=
++ac_config_libobj_dir=.
++LIB@&t@OBJS=
++cross_compiling=no
++subdirs=
++MFLAGS=
++MAKEFLAGS=
++
++# Identity of this package.
++PACKAGE_NAME='LTFAT'
++PACKAGE_TARNAME='ltfat'
++PACKAGE_VERSION='2.3.1'
++PACKAGE_STRING='LTFAT 2.3.1'
++PACKAGE_BUGREPORT='http://github.com/ltfat/ltfat/issues'
++PACKAGE_URL=''
++
++ac_subst_vars='LTLIBOBJS
++LIB@&t@OBJS
++have_libportaudio
++MKOCTFILE
++ac_ct_CXX
++CXXFLAGS
++CXX
++OBJEXT
++EXEEXT
++ac_ct_CC
++CPPFLAGS
++LDFLAGS
++CFLAGS
++CC
++target_alias
++host_alias
++build_alias
++LIBS
++ECHO_T
++ECHO_N
++ECHO_C
++DEFS
++mandir
++localedir
++libdir
++psdir
++pdfdir
++dvidir
++htmldir
++infodir
++docdir
++oldincludedir
++includedir
++runstatedir
++localstatedir
++sharedstatedir
++sysconfdir
++datadir
++datarootdir
++libexecdir
++sbindir
++bindir
++program_transform_name
++prefix
++exec_prefix
++PACKAGE_URL
++PACKAGE_BUGREPORT
++PACKAGE_STRING
++PACKAGE_VERSION
++PACKAGE_TARNAME
++PACKAGE_NAME
++PATH_SEPARATOR
++SHELL'
++ac_subst_files=''
++ac_user_opts='
++enable_option_checking
++'
++      ac_precious_vars='build_alias
++host_alias
++target_alias
++CC
++CFLAGS
++LDFLAGS
++LIBS
++CPPFLAGS
++CXX
++CXXFLAGS
++CCC'
++
++
++# Initialize some variables set by options.
++ac_init_help=
++ac_init_version=false
++ac_unrecognized_opts=
++ac_unrecognized_sep=
++# The variables have the same names as the options, with
++# dashes changed to underlines.
++cache_file=/dev/null
++exec_prefix=NONE
++no_create=
++no_recursion=
++prefix=NONE
++program_prefix=NONE
++program_suffix=NONE
++program_transform_name=s,x,x,
++silent=
++site=
++srcdir=
++verbose=
++x_includes=NONE
++x_libraries=NONE
++
++# Installation directory options.
++# These are left unexpanded so users can "make install exec_prefix=/foo"
++# and all the variables that are supposed to be based on exec_prefix
++# by default will actually change.
++# Use braces instead of parens because sh, perl, etc. also accept them.
++# (The list follows the same order as the GNU Coding Standards.)
++bindir='${exec_prefix}/bin'
++sbindir='${exec_prefix}/sbin'
++libexecdir='${exec_prefix}/libexec'
++datarootdir='${prefix}/share'
++datadir='${datarootdir}'
++sysconfdir='${prefix}/etc'
++sharedstatedir='${prefix}/com'
++localstatedir='${prefix}/var'
++runstatedir='${localstatedir}/run'
++includedir='${prefix}/include'
++oldincludedir='/usr/include'
++docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
++infodir='${datarootdir}/info'
++htmldir='${docdir}'
++dvidir='${docdir}'
++pdfdir='${docdir}'
++psdir='${docdir}'
++libdir='${exec_prefix}/lib'
++localedir='${datarootdir}/locale'
++mandir='${datarootdir}/man'
++
++ac_prev=
++ac_dashdash=
++for ac_option
++do
++  # If the previous option needs an argument, assign it.
++  if test -n "$ac_prev"; then
++    eval $ac_prev=\$ac_option
++    ac_prev=
++    continue
++  fi
++
++  case $ac_option in
++  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
++  *=)   ac_optarg= ;;
++  *)    ac_optarg=yes ;;
++  esac
++
++  # Accept the important Cygnus configure options, so we can diagnose typos.
++
++  case $ac_dashdash$ac_option in
++  --)
++    ac_dashdash=yes ;;
++
++  -bindir | --bindir | --bindi | --bind | --bin | --bi)
++    ac_prev=bindir ;;
++  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
++    bindir=$ac_optarg ;;
++
++  -build | --build | --buil | --bui | --bu)
++    ac_prev=build_alias ;;
++  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
++    build_alias=$ac_optarg ;;
++
++  -cache-file | --cache-file | --cache-fil | --cache-fi \
++  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
++    ac_prev=cache_file ;;
++  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
++  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
++    cache_file=$ac_optarg ;;
++
++  --config-cache | -C)
++    cache_file=config.cache ;;
++
++  -datadir | --datadir | --datadi | --datad)
++    ac_prev=datadir ;;
++  -datadir=* | --datadir=* | --datadi=* | --datad=*)
++    datadir=$ac_optarg ;;
++
++  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
++  | --dataroo | --dataro | --datar)
++    ac_prev=datarootdir ;;
++  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
++  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
++    datarootdir=$ac_optarg ;;
++
++  -disable-* | --disable-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      as_fn_error $? "invalid feature name: $ac_useropt"
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"enable_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
++	 ac_unrecognized_sep=', ';;
++    esac
++    eval enable_$ac_useropt=no ;;
++
++  -docdir | --docdir | --docdi | --doc | --do)
++    ac_prev=docdir ;;
++  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
++    docdir=$ac_optarg ;;
++
++  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
++    ac_prev=dvidir ;;
++  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
++    dvidir=$ac_optarg ;;
++
++  -enable-* | --enable-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      as_fn_error $? "invalid feature name: $ac_useropt"
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"enable_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
++	 ac_unrecognized_sep=', ';;
++    esac
++    eval enable_$ac_useropt=\$ac_optarg ;;
++
++  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
++  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
++  | --exec | --exe | --ex)
++    ac_prev=exec_prefix ;;
++  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
++  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
++  | --exec=* | --exe=* | --ex=*)
++    exec_prefix=$ac_optarg ;;
++
++  -gas | --gas | --ga | --g)
++    # Obsolete; use --with-gas.
++    with_gas=yes ;;
++
++  -help | --help | --hel | --he | -h)
++    ac_init_help=long ;;
++  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
++    ac_init_help=recursive ;;
++  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
++    ac_init_help=short ;;
++
++  -host | --host | --hos | --ho)
++    ac_prev=host_alias ;;
++  -host=* | --host=* | --hos=* | --ho=*)
++    host_alias=$ac_optarg ;;
++
++  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
++    ac_prev=htmldir ;;
++  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
++  | --ht=*)
++    htmldir=$ac_optarg ;;
++
++  -includedir | --includedir | --includedi | --included | --include \
++  | --includ | --inclu | --incl | --inc)
++    ac_prev=includedir ;;
++  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
++  | --includ=* | --inclu=* | --incl=* | --inc=*)
++    includedir=$ac_optarg ;;
++
++  -infodir | --infodir | --infodi | --infod | --info | --inf)
++    ac_prev=infodir ;;
++  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
++    infodir=$ac_optarg ;;
++
++  -libdir | --libdir | --libdi | --libd)
++    ac_prev=libdir ;;
++  -libdir=* | --libdir=* | --libdi=* | --libd=*)
++    libdir=$ac_optarg ;;
++
++  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
++  | --libexe | --libex | --libe)
++    ac_prev=libexecdir ;;
++  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
++  | --libexe=* | --libex=* | --libe=*)
++    libexecdir=$ac_optarg ;;
++
++  -localedir | --localedir | --localedi | --localed | --locale)
++    ac_prev=localedir ;;
++  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
++    localedir=$ac_optarg ;;
++
++  -localstatedir | --localstatedir | --localstatedi | --localstated \
++  | --localstate | --localstat | --localsta | --localst | --locals)
++    ac_prev=localstatedir ;;
++  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
++  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
++    localstatedir=$ac_optarg ;;
++
++  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
++    ac_prev=mandir ;;
++  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
++    mandir=$ac_optarg ;;
++
++  -nfp | --nfp | --nf)
++    # Obsolete; use --without-fp.
++    with_fp=no ;;
++
++  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
++  | --no-cr | --no-c | -n)
++    no_create=yes ;;
++
++  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
++  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
++    no_recursion=yes ;;
++
++  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
++  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
++  | --oldin | --oldi | --old | --ol | --o)
++    ac_prev=oldincludedir ;;
++  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
++  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
++  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
++    oldincludedir=$ac_optarg ;;
++
++  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
++    ac_prev=prefix ;;
++  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
++    prefix=$ac_optarg ;;
++
++  -program-prefix | --program-prefix | --program-prefi | --program-pref \
++  | --program-pre | --program-pr | --program-p)
++    ac_prev=program_prefix ;;
++  -program-prefix=* | --program-prefix=* | --program-prefi=* \
++  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
++    program_prefix=$ac_optarg ;;
++
++  -program-suffix | --program-suffix | --program-suffi | --program-suff \
++  | --program-suf | --program-su | --program-s)
++    ac_prev=program_suffix ;;
++  -program-suffix=* | --program-suffix=* | --program-suffi=* \
++  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
++    program_suffix=$ac_optarg ;;
++
++  -program-transform-name | --program-transform-name \
++  | --program-transform-nam | --program-transform-na \
++  | --program-transform-n | --program-transform- \
++  | --program-transform | --program-transfor \
++  | --program-transfo | --program-transf \
++  | --program-trans | --program-tran \
++  | --progr-tra | --program-tr | --program-t)
++    ac_prev=program_transform_name ;;
++  -program-transform-name=* | --program-transform-name=* \
++  | --program-transform-nam=* | --program-transform-na=* \
++  | --program-transform-n=* | --program-transform-=* \
++  | --program-transform=* | --program-transfor=* \
++  | --program-transfo=* | --program-transf=* \
++  | --program-trans=* | --program-tran=* \
++  | --progr-tra=* | --program-tr=* | --program-t=*)
++    program_transform_name=$ac_optarg ;;
++
++  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
++    ac_prev=pdfdir ;;
++  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
++    pdfdir=$ac_optarg ;;
++
++  -psdir | --psdir | --psdi | --psd | --ps)
++    ac_prev=psdir ;;
++  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
++    psdir=$ac_optarg ;;
++
++  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++  | -silent | --silent | --silen | --sile | --sil)
++    silent=yes ;;
++
++  -runstatedir | --runstatedir | --runstatedi | --runstated \
++  | --runstate | --runstat | --runsta | --runst | --runs \
++  | --run | --ru | --r)
++    ac_prev=runstatedir ;;
++  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
++  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
++  | --run=* | --ru=* | --r=*)
++    runstatedir=$ac_optarg ;;
++
++  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
++    ac_prev=sbindir ;;
++  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
++  | --sbi=* | --sb=*)
++    sbindir=$ac_optarg ;;
++
++  -sharedstatedir | --sharedstatedir | --sharedstatedi \
++  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
++  | --sharedst | --shareds | --shared | --share | --shar \
++  | --sha | --sh)
++    ac_prev=sharedstatedir ;;
++  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
++  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
++  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
++  | --sha=* | --sh=*)
++    sharedstatedir=$ac_optarg ;;
++
++  -site | --site | --sit)
++    ac_prev=site ;;
++  -site=* | --site=* | --sit=*)
++    site=$ac_optarg ;;
++
++  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
++    ac_prev=srcdir ;;
++  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
++    srcdir=$ac_optarg ;;
++
++  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
++  | --syscon | --sysco | --sysc | --sys | --sy)
++    ac_prev=sysconfdir ;;
++  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
++  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
++    sysconfdir=$ac_optarg ;;
++
++  -target | --target | --targe | --targ | --tar | --ta | --t)
++    ac_prev=target_alias ;;
++  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
++    target_alias=$ac_optarg ;;
++
++  -v | -verbose | --verbose | --verbos | --verbo | --verb)
++    verbose=yes ;;
++
++  -version | --version | --versio | --versi | --vers | -V)
++    ac_init_version=: ;;
++
++  -with-* | --with-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      as_fn_error $? "invalid package name: $ac_useropt"
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"with_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
++	 ac_unrecognized_sep=', ';;
++    esac
++    eval with_$ac_useropt=\$ac_optarg ;;
++
++  -without-* | --without-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      as_fn_error $? "invalid package name: $ac_useropt"
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"with_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
++	 ac_unrecognized_sep=', ';;
++    esac
++    eval with_$ac_useropt=no ;;
++
++  --x)
++    # Obsolete; use --with-x.
++    with_x=yes ;;
++
++  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
++  | --x-incl | --x-inc | --x-in | --x-i)
++    ac_prev=x_includes ;;
++  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
++  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
++    x_includes=$ac_optarg ;;
++
++  -x-libraries | --x-libraries | --x-librarie | --x-librari \
++  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
++    ac_prev=x_libraries ;;
++  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
++  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
++    x_libraries=$ac_optarg ;;
++
++  -*) as_fn_error $? "unrecognized option: \`$ac_option'
++Try \`$0 --help' for more information"
++    ;;
++
++  *=*)
++    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
++    # Reject names that are not valid shell variable names.
++    case $ac_envvar in #(
++      '' | [0-9]* | *[!_$as_cr_alnum]* )
++      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
++    esac
++    eval $ac_envvar=\$ac_optarg
++    export $ac_envvar ;;
++
++  *)
++    # FIXME: should be removed in autoconf 3.0.
++    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
++    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
++    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
++    ;;
++
++  esac
++done
++
++if test -n "$ac_prev"; then
++  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
++  as_fn_error $? "missing argument to $ac_option"
++fi
++
++if test -n "$ac_unrecognized_opts"; then
++  case $enable_option_checking in
++    no) ;;
++    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
++    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
++  esac
++fi
++
++# Check all directory arguments for consistency.
++for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
++		datadir sysconfdir sharedstatedir localstatedir includedir \
++		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
++		libdir localedir mandir runstatedir
++do
++  eval ac_val=\$$ac_var
++  # Remove trailing slashes.
++  case $ac_val in
++    */ )
++      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
++      eval $ac_var=\$ac_val;;
++  esac
++  # Be sure to have absolute directory names.
++  case $ac_val in
++    [\\/$]* | ?:[\\/]* )  continue;;
++    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
++  esac
++  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
++done
++
++# There might be people who depend on the old broken behavior: `$host'
++# used to hold the argument of --host etc.
++# FIXME: To remove some day.
++build=$build_alias
++host=$host_alias
++target=$target_alias
++
++# FIXME: To remove some day.
++if test "x$host_alias" != x; then
++  if test "x$build_alias" = x; then
++    cross_compiling=maybe
++  elif test "x$build_alias" != "x$host_alias"; then
++    cross_compiling=yes
++  fi
++fi
++
++ac_tool_prefix=
++test -n "$host_alias" && ac_tool_prefix=$host_alias-
++
++test "$silent" = yes && exec 6>/dev/null
++
++
++ac_pwd=`pwd` && test -n "$ac_pwd" &&
++ac_ls_di=`ls -di .` &&
++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
++  as_fn_error $? "working directory cannot be determined"
++test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
++  as_fn_error $? "pwd does not report name of working directory"
++
++
++# Find the source files, if location was not specified.
++if test -z "$srcdir"; then
++  ac_srcdir_defaulted=yes
++  # Try the directory containing this script, then the parent directory.
++  ac_confdir=`$as_dirname -- "$as_myself" ||
++$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$as_myself" : 'X\(//\)[^/]' \| \
++	 X"$as_myself" : 'X\(//\)$' \| \
++	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$as_myself" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++  srcdir=$ac_confdir
++  if test ! -r "$srcdir/$ac_unique_file"; then
++    srcdir=..
++  fi
++else
++  ac_srcdir_defaulted=no
++fi
++if test ! -r "$srcdir/$ac_unique_file"; then
++  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
++  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
++fi
++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
++ac_abs_confdir=`(
++	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
++	pwd)`
++# When building in place, set srcdir=.
++if test "$ac_abs_confdir" = "$ac_pwd"; then
++  srcdir=.
++fi
++# Remove unnecessary trailing slashes from srcdir.
++# Double slashes in file names in object file debugging info
++# mess up M-x gdb in Emacs.
++case $srcdir in
++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
++esac
++for ac_var in $ac_precious_vars; do
++  eval ac_env_${ac_var}_set=\${${ac_var}+set}
++  eval ac_env_${ac_var}_value=\$${ac_var}
++  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
++  eval ac_cv_env_${ac_var}_value=\$${ac_var}
++done
++
++#
++# Report the --help message.
++#
++if test "$ac_init_help" = "long"; then
++  # Omit some internal or obsolete options to make the list less imposing.
++  # This message is too long to be a string in the A/UX 3.1 sh.
++  cat <<_ACEOF
++\`configure' configures LTFAT 2.3.1 to adapt to many kinds of systems.
++
++Usage: $0 [OPTION]... [VAR=VALUE]...
++
++To assign environment variables (e.g., CC, CFLAGS...), specify them as
++VAR=VALUE.  See below for descriptions of some of the useful variables.
++
++Defaults for the options are specified in brackets.
++
++Configuration:
++  -h, --help              display this help and exit
++      --help=short        display options specific to this package
++      --help=recursive    display the short help of all the included packages
++  -V, --version           display version information and exit
++  -q, --quiet, --silent   do not print \`checking ...' messages
++      --cache-file=FILE   cache test results in FILE [disabled]
++  -C, --config-cache      alias for \`--cache-file=config.cache'
++  -n, --no-create         do not create output files
++      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
++
++Installation directories:
++  --prefix=PREFIX         install architecture-independent files in PREFIX
++                          @<:@@S|@ac_default_prefix@:>@
++  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
++                          @<:@PREFIX@:>@
++
++By default, \`make install' will install all the files in
++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
++an installation prefix other than \`$ac_default_prefix' using \`--prefix',
++for instance \`--prefix=\$HOME'.
++
++For better control, use the options below.
++
++Fine tuning of the installation directories:
++  --bindir=DIR            user executables [EPREFIX/bin]
++  --sbindir=DIR           system admin executables [EPREFIX/sbin]
++  --libexecdir=DIR        program executables [EPREFIX/libexec]
++  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
++  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
++  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
++  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
++  --libdir=DIR            object code libraries [EPREFIX/lib]
++  --includedir=DIR        C header files [PREFIX/include]
++  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
++  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
++  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
++  --infodir=DIR           info documentation [DATAROOTDIR/info]
++  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
++  --mandir=DIR            man documentation [DATAROOTDIR/man]
++  --docdir=DIR            documentation root @<:@DATAROOTDIR/doc/ltfat@:>@
++  --htmldir=DIR           html documentation [DOCDIR]
++  --dvidir=DIR            dvi documentation [DOCDIR]
++  --pdfdir=DIR            pdf documentation [DOCDIR]
++  --psdir=DIR             ps documentation [DOCDIR]
++_ACEOF
++
++  cat <<\_ACEOF
++_ACEOF
++fi
++
++if test -n "$ac_init_help"; then
++  case $ac_init_help in
++     short | recursive ) echo "Configuration of LTFAT 2.3.1:";;
++   esac
++  cat <<\_ACEOF
++
++Some influential environment variables:
++  CC          C compiler command
++  CFLAGS      C compiler flags
++  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
++              nonstandard directory <lib dir>
++  LIBS        libraries to pass to the linker, e.g. -l<library>
++  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
++              you have headers in a nonstandard directory <include dir>
++  CXX         C++ compiler command
++  CXXFLAGS    C++ compiler flags
++
++Use these variables to override the choices made by `configure' or to help
++it to find libraries and programs with nonstandard names/locations.
++
++Report bugs to <http://github.com/ltfat/ltfat/issues>.
++_ACEOF
++ac_status=$?
++fi
++
++if test "$ac_init_help" = "recursive"; then
++  # If there are subdirs, report their specific --help.
++  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
++    test -d "$ac_dir" ||
++      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
++      continue
++    ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
++  # A ".." for each directory in $ac_dir_suffix.
++  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
++  case $ac_top_builddir_sub in
++  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++  esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
++
++case $srcdir in
++  .)  # We are building in place.
++    ac_srcdir=.
++    ac_top_srcdir=$ac_top_builddir_sub
++    ac_abs_top_srcdir=$ac_pwd ;;
++  [\\/]* | ?:[\\/]* )  # Absolute name.
++    ac_srcdir=$srcdir$ac_dir_suffix;
++    ac_top_srcdir=$srcdir
++    ac_abs_top_srcdir=$srcdir ;;
++  *) # Relative name.
++    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++    ac_top_srcdir=$ac_top_build_prefix$srcdir
++    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
++esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
++
++    cd "$ac_dir" || { ac_status=$?; continue; }
++    # Check for guested configure.
++    if test -f "$ac_srcdir/configure.gnu"; then
++      echo &&
++      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
++    elif test -f "$ac_srcdir/configure"; then
++      echo &&
++      $SHELL "$ac_srcdir/configure" --help=recursive
++    else
++      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
++    fi || ac_status=$?
++    cd "$ac_pwd" || { ac_status=$?; break; }
++  done
++fi
++
++test -n "$ac_init_help" && exit $ac_status
++if $ac_init_version; then
++  cat <<\_ACEOF
++LTFAT configure 2.3.1
++generated by GNU Autoconf 2.69
++
++Copyright (C) 2012 Free Software Foundation, Inc.
++This configure script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it.
++_ACEOF
++  exit
++fi
++
++## ------------------------ ##
++## Autoconf initialization. ##
++## ------------------------ ##
++
++@%:@ ac_fn_c_try_compile LINENO
++@%:@ --------------------------
++@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded.
++ac_fn_c_try_compile ()
++{
++  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++  rm -f conftest.$ac_objext
++  if { { ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++$as_echo "$ac_try_echo"; } >&5
++  (eval "$ac_compile") 2>conftest.err
++  ac_status=$?
++  if test -s conftest.err; then
++    grep -v '^ *+' conftest.err >conftest.er1
++    cat conftest.er1 >&5
++    mv -f conftest.er1 conftest.err
++  fi
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then :
++  ac_retval=0
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_retval=1
++fi
++  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++  as_fn_set_status $ac_retval
++
++} @%:@ ac_fn_c_try_compile
++
++@%:@ ac_fn_cxx_try_compile LINENO
++@%:@ ----------------------------
++@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded.
++ac_fn_cxx_try_compile ()
++{
++  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++  rm -f conftest.$ac_objext
++  if { { ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++$as_echo "$ac_try_echo"; } >&5
++  (eval "$ac_compile") 2>conftest.err
++  ac_status=$?
++  if test -s conftest.err; then
++    grep -v '^ *+' conftest.err >conftest.er1
++    cat conftest.er1 >&5
++    mv -f conftest.er1 conftest.err
++  fi
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; } && {
++	 test -z "$ac_cxx_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then :
++  ac_retval=0
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_retval=1
++fi
++  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++  as_fn_set_status $ac_retval
++
++} @%:@ ac_fn_cxx_try_compile
++
++@%:@ ac_fn_c_try_link LINENO
++@%:@ -----------------------
++@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded.
++ac_fn_c_try_link ()
++{
++  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++  rm -f conftest.$ac_objext conftest$ac_exeext
++  if { { ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++$as_echo "$ac_try_echo"; } >&5
++  (eval "$ac_link") 2>conftest.err
++  ac_status=$?
++  if test -s conftest.err; then
++    grep -v '^ *+' conftest.err >conftest.er1
++    cat conftest.er1 >&5
++    mv -f conftest.er1 conftest.err
++  fi
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 test -x conftest$ac_exeext
++       }; then :
++  ac_retval=0
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_retval=1
++fi
++  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
++  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
++  # interfere with the next link command; also delete a directory that is
++  # left behind by Apple's compiler.  We do this before executing the actions.
++  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
++  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++  as_fn_set_status $ac_retval
++
++} @%:@ ac_fn_c_try_link
++cat >config.log <<_ACEOF
++This file contains any messages produced by compilers while
++running configure, to aid debugging if configure makes a mistake.
++
++It was created by LTFAT $as_me 2.3.1, which was
++generated by GNU Autoconf 2.69.  Invocation command line was
++
++  $ $0 $@
++
++_ACEOF
++exec 5>>config.log
++{
++cat <<_ASUNAME
++## --------- ##
++## Platform. ##
++## --------- ##
++
++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
++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 || echo unknown`
++/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
++
++/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
++/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
++/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
++/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
++/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
++/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
++
++_ASUNAME
++
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    $as_echo "PATH: $as_dir"
++  done
++IFS=$as_save_IFS
++
++} >&5
++
++cat >&5 <<_ACEOF
++
++
++## ----------- ##
++## Core tests. ##
++## ----------- ##
++
++_ACEOF
++
++
++# Keep a trace of the command line.
++# Strip out --no-create and --no-recursion so they do not pile up.
++# Strip out --silent because we don't want to record it for future runs.
++# Also quote any args containing shell meta-characters.
++# Make two passes to allow for proper duplicate-argument suppression.
++ac_configure_args=
++ac_configure_args0=
++ac_configure_args1=
++ac_must_keep_next=false
++for ac_pass in 1 2
++do
++  for ac_arg
++  do
++    case $ac_arg in
++    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
++    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++    | -silent | --silent | --silen | --sile | --sil)
++      continue ;;
++    *\'*)
++      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
++    esac
++    case $ac_pass in
++    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
++    2)
++      as_fn_append ac_configure_args1 " '$ac_arg'"
++      if test $ac_must_keep_next = true; then
++	ac_must_keep_next=false # Got value, back to normal.
++      else
++	case $ac_arg in
++	  *=* | --config-cache | -C | -disable-* | --disable-* \
++	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
++	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
++	  | -with-* | --with-* | -without-* | --without-* | --x)
++	    case "$ac_configure_args0 " in
++	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
++	    esac
++	    ;;
++	  -* ) ac_must_keep_next=true ;;
++	esac
++      fi
++      as_fn_append ac_configure_args " '$ac_arg'"
++      ;;
++    esac
++  done
++done
++{ ac_configure_args0=; unset ac_configure_args0;}
++{ ac_configure_args1=; unset ac_configure_args1;}
++
++# When interrupted or exit'd, cleanup temporary files, and complete
++# config.log.  We remove comments because anyway the quotes in there
++# would cause problems or look ugly.
++# WARNING: Use '\'' to represent an apostrophe within the trap.
++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
++trap 'exit_status=$?
++  # Save into config.log some information that might help in debugging.
++  {
++    echo
++
++    $as_echo "## ---------------- ##
++## Cache variables. ##
++## ---------------- ##"
++    echo
++    # The following way of writing the cache mishandles newlines in values,
++(
++  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
++    eval ac_val=\$$ac_var
++    case $ac_val in #(
++    *${as_nl}*)
++      case $ac_var in #(
++      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
++      esac
++      case $ac_var in #(
++      _ | IFS | as_nl) ;; #(
++      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
++      *) { eval $ac_var=; unset $ac_var;} ;;
++      esac ;;
++    esac
++  done
++  (set) 2>&1 |
++    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
++    *${as_nl}ac_space=\ *)
++      sed -n \
++	"s/'\''/'\''\\\\'\'''\''/g;
++	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
++      ;; #(
++    *)
++      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
++      ;;
++    esac |
++    sort
++)
++    echo
++
++    $as_echo "## ----------------- ##
++## Output variables. ##
++## ----------------- ##"
++    echo
++    for ac_var in $ac_subst_vars
++    do
++      eval ac_val=\$$ac_var
++      case $ac_val in
++      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++      esac
++      $as_echo "$ac_var='\''$ac_val'\''"
++    done | sort
++    echo
++
++    if test -n "$ac_subst_files"; then
++      $as_echo "## ------------------- ##
++## File substitutions. ##
++## ------------------- ##"
++      echo
++      for ac_var in $ac_subst_files
++      do
++	eval ac_val=\$$ac_var
++	case $ac_val in
++	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++	esac
++	$as_echo "$ac_var='\''$ac_val'\''"
++      done | sort
++      echo
++    fi
++
++    if test -s confdefs.h; then
++      $as_echo "## ----------- ##
++## confdefs.h. ##
++## ----------- ##"
++      echo
++      cat confdefs.h
++      echo
++    fi
++    test "$ac_signal" != 0 &&
++      $as_echo "$as_me: caught signal $ac_signal"
++    $as_echo "$as_me: exit $exit_status"
++  } >&5
++  rm -f core *.core core.conftest.* &&
++    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
++    exit $exit_status
++' 0
++for ac_signal in 1 2 13 15; do
++  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
++done
++ac_signal=0
++
++# confdefs.h avoids OS command line length limits that DEFS can exceed.
++rm -f -r conftest* confdefs.h
++
++$as_echo "/* confdefs.h */" > confdefs.h
++
++# Predefined preprocessor variables.
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_NAME "$PACKAGE_NAME"
++_ACEOF
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
++_ACEOF
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
++_ACEOF
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_STRING "$PACKAGE_STRING"
++_ACEOF
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
++_ACEOF
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_URL "$PACKAGE_URL"
++_ACEOF
++
++
++# Let the site file select an alternate cache file if it wants to.
++# Prefer an explicitly selected file to automatically selected ones.
++ac_site_file1=NONE
++ac_site_file2=NONE
++if test -n "$CONFIG_SITE"; then
++  # We do not want a PATH search for config.site.
++  case $CONFIG_SITE in @%:@((
++    -*)  ac_site_file1=./$CONFIG_SITE;;
++    */*) ac_site_file1=$CONFIG_SITE;;
++    *)   ac_site_file1=./$CONFIG_SITE;;
++  esac
++elif test "x$prefix" != xNONE; then
++  ac_site_file1=$prefix/share/config.site
++  ac_site_file2=$prefix/etc/config.site
++else
++  ac_site_file1=$ac_default_prefix/share/config.site
++  ac_site_file2=$ac_default_prefix/etc/config.site
++fi
++for ac_site_file in "$ac_site_file1" "$ac_site_file2"
++do
++  test "x$ac_site_file" = xNONE && continue
++  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
++    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
++$as_echo "$as_me: loading site script $ac_site_file" >&6;}
++    sed 's/^/| /' "$ac_site_file" >&5
++    . "$ac_site_file" \
++      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "failed to load site script $ac_site_file
++See \`config.log' for more details" "$LINENO" 5; }
++  fi
++done
++
++if test -r "$cache_file"; then
++  # Some versions of bash will fail to source /dev/null (special files
++  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
++  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
++    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
++$as_echo "$as_me: loading cache $cache_file" >&6;}
++    case $cache_file in
++      [\\/]* | ?:[\\/]* ) . "$cache_file";;
++      *)                      . "./$cache_file";;
++    esac
++  fi
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
++$as_echo "$as_me: creating cache $cache_file" >&6;}
++  >$cache_file
++fi
++
++# Check that the precious variables saved in the cache have kept the same
++# value.
++ac_cache_corrupted=false
++for ac_var in $ac_precious_vars; do
++  eval ac_old_set=\$ac_cv_env_${ac_var}_set
++  eval ac_new_set=\$ac_env_${ac_var}_set
++  eval ac_old_val=\$ac_cv_env_${ac_var}_value
++  eval ac_new_val=\$ac_env_${ac_var}_value
++  case $ac_old_set,$ac_new_set in
++    set,)
++      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
++      ac_cache_corrupted=: ;;
++    ,set)
++      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
++$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
++      ac_cache_corrupted=: ;;
++    ,);;
++    *)
++      if test "x$ac_old_val" != "x$ac_new_val"; then
++	# differences in whitespace do not lead to failure.
++	ac_old_val_w=`echo x $ac_old_val`
++	ac_new_val_w=`echo x $ac_new_val`
++	if test "$ac_old_val_w" != "$ac_new_val_w"; then
++	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
++$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
++	  ac_cache_corrupted=:
++	else
++	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
++$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
++	  eval $ac_var=\$ac_old_val
++	fi
++	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
++$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
++	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
++$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
++      fi;;
++  esac
++  # Pass precious variables to config.status.
++  if test "$ac_new_set" = set; then
++    case $ac_new_val in
++    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
++    *) ac_arg=$ac_var=$ac_new_val ;;
++    esac
++    case " $ac_configure_args " in
++      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
++      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
++    esac
++  fi
++done
++if $ac_cache_corrupted; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
++$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
++  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
++fi
++## -------------------- ##
++## Main body of script. ##
++## -------------------- ##
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}gcc; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_CC+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_CC="${ac_tool_prefix}gcc"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_CC"; then
++  ac_ct_CC=$CC
++  # Extract the first word of "gcc", so it can be a program name with args.
++set dummy gcc; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_CC+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_CC"; then
++  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_ac_ct_CC="gcc"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
++$as_echo "$ac_ct_CC" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_CC" = x; then
++    CC=""
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    CC=$ac_ct_CC
++  fi
++else
++  CC="$ac_cv_prog_CC"
++fi
++
++if test -z "$CC"; then
++          if test -n "$ac_tool_prefix"; then
++    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}cc; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_CC+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_CC="${ac_tool_prefix}cc"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++  fi
++fi
++if test -z "$CC"; then
++  # Extract the first word of "cc", so it can be a program name with args.
++set dummy cc; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_CC+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++  ac_prog_rejected=no
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
++       ac_prog_rejected=yes
++       continue
++     fi
++    ac_cv_prog_CC="cc"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++if test $ac_prog_rejected = yes; then
++  # We found a bogon in the path, so make sure we never use it.
++  set dummy $ac_cv_prog_CC
++  shift
++  if test $@%:@ != 0; then
++    # We chose a different compiler from the bogus one.
++    # However, it has the same basename, so the bogon will be chosen
++    # first if we set CC to just the basename; use the full file name.
++    shift
++    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
++  fi
++fi
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$CC"; then
++  if test -n "$ac_tool_prefix"; then
++  for ac_prog in cl.exe
++  do
++    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_CC+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++    test -n "$CC" && break
++  done
++fi
++if test -z "$CC"; then
++  ac_ct_CC=$CC
++  for ac_prog in cl.exe
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_CC+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_CC"; then
++  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_ac_ct_CC="$ac_prog"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
++$as_echo "$ac_ct_CC" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++  test -n "$ac_ct_CC" && break
++done
++
++  if test "x$ac_ct_CC" = x; then
++    CC=""
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    CC=$ac_ct_CC
++  fi
++fi
++
++fi
++
++
++test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "no acceptable C compiler found in \$PATH
++See \`config.log' for more details" "$LINENO" 5; }
++
++# Provide some information about the compiler.
++$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
++set X $ac_compile
++ac_compiler=$2
++for ac_option in --version -v -V -qversion; do
++  { { ac_try="$ac_compiler $ac_option >&5"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++$as_echo "$ac_try_echo"; } >&5
++  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
++  ac_status=$?
++  if test -s conftest.err; then
++    sed '10a\
++... rest of stderr output deleted ...
++         10q' conftest.err >conftest.er1
++    cat conftest.er1 >&5
++  fi
++  rm -f conftest.er1 conftest.err
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++done
++
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
++# Try to create an executable without -o first, disregard a.out.
++# It will help us diagnose broken compilers, and finding out an intuition
++# of exeext.
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
++$as_echo_n "checking whether the C compiler works... " >&6; }
++ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
++
++# The possible output files:
++ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
++
++ac_rmfiles=
++for ac_file in $ac_files
++do
++  case $ac_file in
++    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
++    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
++  esac
++done
++rm -f $ac_rmfiles
++
++if { { ac_try="$ac_link_default"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++$as_echo "$ac_try_echo"; } >&5
++  (eval "$ac_link_default") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }; then :
++  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
++# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
++# in a Makefile.  We should not override ac_cv_exeext if it was cached,
++# so that the user can short-circuit this test for compilers unknown to
++# Autoconf.
++for ac_file in $ac_files ''
++do
++  test -f "$ac_file" || continue
++  case $ac_file in
++    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
++	;;
++    [ab].out )
++	# We found the default executable, but exeext='' is most
++	# certainly right.
++	break;;
++    *.* )
++	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
++	then :; else
++	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++	fi
++	# We set ac_cv_exeext here because the later test for it is not
++	# safe: cross compilers may not add the suffix if given an `-o'
++	# argument, so we may need to know it at that point already.
++	# Even if this section looks crufty: it has the advantage of
++	# actually working.
++	break;;
++    * )
++	break;;
++  esac
++done
++test "$ac_cv_exeext" = no && ac_cv_exeext=
++
++else
++  ac_file=''
++fi
++if test -z "$ac_file"; then :
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++$as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error 77 "C compiler cannot create executables
++See \`config.log' for more details" "$LINENO" 5; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++$as_echo "yes" >&6; }
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
++$as_echo_n "checking for C compiler default output file name... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
++$as_echo "$ac_file" >&6; }
++ac_exeext=$ac_cv_exeext
++
++rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
++ac_clean_files=$ac_clean_files_save
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
++$as_echo_n "checking for suffix of executables... " >&6; }
++if { { ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++$as_echo "$ac_try_echo"; } >&5
++  (eval "$ac_link") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }; then :
++  # If both `conftest.exe' and `conftest' are `present' (well, observable)
++# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
++# work properly (i.e., refer to `conftest.exe'), while it won't with
++# `rm'.
++for ac_file in conftest.exe conftest conftest.*; do
++  test -f "$ac_file" || continue
++  case $ac_file in
++    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
++    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++	  break;;
++    * ) break;;
++  esac
++done
++else
++  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details" "$LINENO" 5; }
++fi
++rm -f conftest conftest$ac_cv_exeext
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
++$as_echo "$ac_cv_exeext" >&6; }
++
++rm -f conftest.$ac_ext
++EXEEXT=$ac_cv_exeext
++ac_exeext=$EXEEXT
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++@%:@include <stdio.h>
++int
++main ()
++{
++FILE *f = fopen ("conftest.out", "w");
++ return ferror (f) || fclose (f) != 0;
++
++  ;
++  return 0;
++}
++_ACEOF
++ac_clean_files="$ac_clean_files conftest.out"
++# Check that the compiler produces executables we can run.  If not, either
++# the compiler is broken, or we cross compile.
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
++$as_echo_n "checking whether we are cross compiling... " >&6; }
++if test "$cross_compiling" != yes; then
++  { { ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++$as_echo "$ac_try_echo"; } >&5
++  (eval "$ac_link") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++  if { ac_try='./conftest$ac_cv_exeext'
++  { { case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++$as_echo "$ac_try_echo"; } >&5
++  (eval "$ac_try") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }; }; then
++    cross_compiling=no
++  else
++    if test "$cross_compiling" = maybe; then
++	cross_compiling=yes
++    else
++	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details" "$LINENO" 5; }
++    fi
++  fi
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
++$as_echo "$cross_compiling" >&6; }
++
++rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
++ac_clean_files=$ac_clean_files_save
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
++$as_echo_n "checking for suffix of object files... " >&6; }
++if ${ac_cv_objext+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.o conftest.obj
++if { { ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++$as_echo "$ac_try_echo"; } >&5
++  (eval "$ac_compile") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }; then :
++  for ac_file in conftest.o conftest.obj conftest.*; do
++  test -f "$ac_file" || continue;
++  case $ac_file in
++    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
++    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
++       break;;
++  esac
++done
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "cannot compute suffix of object files: cannot compile
++See \`config.log' for more details" "$LINENO" 5; }
++fi
++rm -f conftest.$ac_cv_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
++$as_echo "$ac_cv_objext" >&6; }
++OBJEXT=$ac_cv_objext
++ac_objext=$OBJEXT
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
++$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
++if ${ac_cv_c_compiler_gnu+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++#ifndef __GNUC__
++       choke me
++#endif
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ac_compiler_gnu=yes
++else
++  ac_compiler_gnu=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ac_cv_c_compiler_gnu=$ac_compiler_gnu
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
++$as_echo "$ac_cv_c_compiler_gnu" >&6; }
++if test $ac_compiler_gnu = yes; then
++  GCC=yes
++else
++  GCC=
++fi
++ac_test_CFLAGS=${CFLAGS+set}
++ac_save_CFLAGS=$CFLAGS
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
++$as_echo_n "checking whether $CC accepts -g... " >&6; }
++if ${ac_cv_prog_cc_g+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_save_c_werror_flag=$ac_c_werror_flag
++   ac_c_werror_flag=yes
++   ac_cv_prog_cc_g=no
++   CFLAGS="-g"
++   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ac_cv_prog_cc_g=yes
++else
++  CFLAGS=""
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  
++else
++  ac_c_werror_flag=$ac_save_c_werror_flag
++	 CFLAGS="-g"
++	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ac_cv_prog_cc_g=yes
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++   ac_c_werror_flag=$ac_save_c_werror_flag
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
++$as_echo "$ac_cv_prog_cc_g" >&6; }
++if test "$ac_test_CFLAGS" = set; then
++  CFLAGS=$ac_save_CFLAGS
++elif test $ac_cv_prog_cc_g = yes; then
++  if test "$GCC" = yes; then
++    CFLAGS="-g -O2"
++  else
++    CFLAGS="-g"
++  fi
++else
++  if test "$GCC" = yes; then
++    CFLAGS="-O2"
++  else
++    CFLAGS=
++  fi
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
++$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
++if ${ac_cv_prog_cc_c89+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_prog_cc_c89=no
++ac_save_CC=$CC
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdarg.h>
++#include <stdio.h>
++struct stat;
++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
++struct buf { int x; };
++FILE * (*rcsopen) (struct buf *, struct stat *, int);
++static char *e (p, i)
++     char **p;
++     int i;
++{
++  return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++  char *s;
++  va_list v;
++  va_start (v,p);
++  s = g (p, va_arg (v,int));
++  va_end (v);
++  return s;
++}
++
++/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
++   function prototypes and stuff, but not '\xHH' hex character constants.
++   These don't provoke an error unfortunately, instead are silently treated
++   as 'x'.  The following induces an error, until -std is added to get
++   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
++   array size at least.  It's necessary to write '\x00'==0 to get something
++   that's true only with -std.  */
++int osf4_cc_array ['\x00' == 0 ? 1 : -1];
++
++/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
++   inside strings and character constants.  */
++#define FOO(x) 'x'
++int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
++
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
++int argc;
++char **argv;
++int
++main ()
++{
++return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
++  ;
++  return 0;
++}
++_ACEOF
++for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
++	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++  CC="$ac_save_CC $ac_arg"
++  if ac_fn_c_try_compile "$LINENO"; then :
++  ac_cv_prog_cc_c89=$ac_arg
++fi
++rm -f core conftest.err conftest.$ac_objext
++  test "x$ac_cv_prog_cc_c89" != "xno" && break
++done
++rm -f conftest.$ac_ext
++CC=$ac_save_CC
++
++fi
++# AC_CACHE_VAL
++case "x$ac_cv_prog_cc_c89" in
++  x)
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
++$as_echo "none needed" >&6; } ;;
++  xno)
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
++$as_echo "unsupported" >&6; } ;;
++  *)
++    CC="$CC $ac_cv_prog_cc_c89"
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
++$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
++esac
++if test "x$ac_cv_prog_cc_c89" != xno; then :
++  
++fi
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5
++$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
++if ${ac_cv_prog_cc_c99+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_prog_cc_c99=no
++ac_save_CC=$CC
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdarg.h>
++#include <stdbool.h>
++#include <stdlib.h>
++#include <wchar.h>
++#include <stdio.h>
++
++// Check varargs macros.  These examples are taken from C99 6.10.3.5.
++#define debug(...) fprintf (stderr, __VA_ARGS__)
++#define showlist(...) puts (#__VA_ARGS__)
++#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
++static void
++test_varargs_macros (void)
++{
++  int x = 1234;
++  int y = 5678;
++  debug ("Flag");
++  debug ("X = %d\n", x);
++  showlist (The first, second, and third items.);
++  report (x>y, "x is %d but y is %d", x, y);
++}
++
++// Check long long types.
++#define BIG64 18446744073709551615ull
++#define BIG32 4294967295ul
++#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
++#if !BIG_OK
++  your preprocessor is broken;
++#endif
++#if BIG_OK
++#else
++  your preprocessor is broken;
++#endif
++static long long int bignum = -9223372036854775807LL;
++static unsigned long long int ubignum = BIG64;
++
++struct incomplete_array
++{
++  int datasize;
++  double data[];
++};
++
++struct named_init {
++  int number;
++  const wchar_t *name;
++  double average;
++};
++
++typedef const char *ccp;
++
++static inline int
++test_restrict (ccp restrict text)
++{
++  // See if C++-style comments work.
++  // Iterate through items via the restricted pointer.
++  // Also check for declarations in for loops.
++  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
++    continue;
++  return 0;
++}
++
++// Check varargs and va_copy.
++static void
++test_varargs (const char *format, ...)
++{
++  va_list args;
++  va_start (args, format);
++  va_list args_copy;
++  va_copy (args_copy, args);
++
++  const char *str;
++  int number;
++  float fnumber;
++
++  while (*format)
++    {
++      switch (*format++)
++	{
++	case 's': // string
++	  str = va_arg (args_copy, const char *);
++	  break;
++	case 'd': // int
++	  number = va_arg (args_copy, int);
++	  break;
++	case 'f': // float
++	  fnumber = va_arg (args_copy, double);
++	  break;
++	default:
++	  break;
++	}
++    }
++  va_end (args_copy);
++  va_end (args);
++}
++
++int
++main ()
++{
++
++  // Check bool.
++  _Bool success = false;
++
++  // Check restrict.
++  if (test_restrict ("String literal") == 0)
++    success = true;
++  char *restrict newvar = "Another string";
++
++  // Check varargs.
++  test_varargs ("s, d' f .", "string", 65, 34.234);
++  test_varargs_macros ();
++
++  // Check flexible array members.
++  struct incomplete_array *ia =
++    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
++  ia->datasize = 10;
++  for (int i = 0; i < ia->datasize; ++i)
++    ia->data[i] = i * 1.234;
++
++  // Check named initializers.
++  struct named_init ni = {
++    .number = 34,
++    .name = L"Test wide string",
++    .average = 543.34343,
++  };
++
++  ni.number = 58;
++
++  int dynamic_array[ni.number];
++  dynamic_array[ni.number - 1] = 543;
++
++  // work around unused variable warnings
++  return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
++	  || dynamic_array[ni.number - 1] != 543);
++
++  ;
++  return 0;
++}
++_ACEOF
++for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99
++do
++  CC="$ac_save_CC $ac_arg"
++  if ac_fn_c_try_compile "$LINENO"; then :
++  ac_cv_prog_cc_c99=$ac_arg
++fi
++rm -f core conftest.err conftest.$ac_objext
++  test "x$ac_cv_prog_cc_c99" != "xno" && break
++done
++rm -f conftest.$ac_ext
++CC=$ac_save_CC
++
++fi
++# AC_CACHE_VAL
++case "x$ac_cv_prog_cc_c99" in
++  x)
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
++$as_echo "none needed" >&6; } ;;
++  xno)
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
++$as_echo "unsupported" >&6; } ;;
++  *)
++    CC="$CC $ac_cv_prog_cc_c99"
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
++$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
++esac
++if test "x$ac_cv_prog_cc_c99" != xno; then :
++  
++fi
++
++
++ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++if test -z "$CXX"; then
++  if test -n "$CCC"; then
++    CXX=$CCC
++  else
++    if test -n "$ac_tool_prefix"; then
++  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
++  do
++    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_CXX+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$CXX"; then
++  ac_cv_prog_CXX="$CXX" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++CXX=$ac_cv_prog_CXX
++if test -n "$CXX"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
++$as_echo "$CXX" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++    test -n "$CXX" && break
++  done
++fi
++if test -z "$CXX"; then
++  ac_ct_CXX=$CXX
++  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_CXX+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_CXX"; then
++  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_ac_ct_CXX="$ac_prog"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
++if test -n "$ac_ct_CXX"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
++$as_echo "$ac_ct_CXX" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++  test -n "$ac_ct_CXX" && break
++done
++
++  if test "x$ac_ct_CXX" = x; then
++    CXX="g++"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    CXX=$ac_ct_CXX
++  fi
++fi
++
++  fi
++fi
++# Provide some information about the compiler.
++$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
++set X $ac_compile
++ac_compiler=$2
++for ac_option in --version -v -V -qversion; do
++  { { ac_try="$ac_compiler $ac_option >&5"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++$as_echo "$ac_try_echo"; } >&5
++  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
++  ac_status=$?
++  if test -s conftest.err; then
++    sed '10a\
++... rest of stderr output deleted ...
++         10q' conftest.err >conftest.er1
++    cat conftest.er1 >&5
++  fi
++  rm -f conftest.er1 conftest.err
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++done
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
++$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
++if ${ac_cv_cxx_compiler_gnu+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++#ifndef __GNUC__
++       choke me
++#endif
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  ac_compiler_gnu=yes
++else
++  ac_compiler_gnu=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
++$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
++if test $ac_compiler_gnu = yes; then
++  GXX=yes
++else
++  GXX=
++fi
++ac_test_CXXFLAGS=${CXXFLAGS+set}
++ac_save_CXXFLAGS=$CXXFLAGS
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
++$as_echo_n "checking whether $CXX accepts -g... " >&6; }
++if ${ac_cv_prog_cxx_g+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
++   ac_cxx_werror_flag=yes
++   ac_cv_prog_cxx_g=no
++   CXXFLAGS="-g"
++   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  ac_cv_prog_cxx_g=yes
++else
++  CXXFLAGS=""
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  
++else
++  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
++	 CXXFLAGS="-g"
++	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  ac_cv_prog_cxx_g=yes
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
++$as_echo "$ac_cv_prog_cxx_g" >&6; }
++if test "$ac_test_CXXFLAGS" = set; then
++  CXXFLAGS=$ac_save_CXXFLAGS
++elif test $ac_cv_prog_cxx_g = yes; then
++  if test "$GXX" = yes; then
++    CXXFLAGS="-g -O2"
++  else
++    CXXFLAGS="-g"
++  fi
++else
++  if test "$GXX" = yes; then
++    CXXFLAGS="-O2"
++  else
++    CXXFLAGS=
++  fi
++fi
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++#AC_CONFIG_MACRO_DIR([m4/])
++# m4_include([m4/ax_blas.m4])
++# m4_include([m4/ax_lapack.m4])
++
++# The checks for BLAS and Lapack have been disabled because they
++# provoke an error about a missing install-sh
++
++#dnl Check for BLAS libraries
++#sinclude(ax_blas.m4)
++#AX_BLAS
++#if test "$ax_blas_ok" = "no"; then
++#   AC_MSG_ERROR([Cannot find BLAS libraries])
++#fi
++
++#dnl Check for LAPACK libraries
++#sinclude(ax_lapack.m4)
++#AX_LAPACK
++#if test "$ax_lapack_ok" = "no"; then
++#   AC_MSG_ERROR([Cannot find LAPACK libraries])
++#fi
++
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}mkoctfile", so it can be a program name with args.
++set dummy ${ac_tool_prefix}mkoctfile; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_MKOCTFILE+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$MKOCTFILE"; then
++  ac_cv_prog_MKOCTFILE="$MKOCTFILE" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_MKOCTFILE="${ac_tool_prefix}mkoctfile"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++MKOCTFILE=$ac_cv_prog_MKOCTFILE
++if test -n "$MKOCTFILE"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKOCTFILE" >&5
++$as_echo "$MKOCTFILE" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_MKOCTFILE"; then
++  ac_ct_MKOCTFILE=$MKOCTFILE
++  # Extract the first word of "mkoctfile", so it can be a program name with args.
++set dummy mkoctfile; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_MKOCTFILE+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_MKOCTFILE"; then
++  ac_cv_prog_ac_ct_MKOCTFILE="$ac_ct_MKOCTFILE" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_ac_ct_MKOCTFILE="mkoctfile"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_MKOCTFILE=$ac_cv_prog_ac_ct_MKOCTFILE
++if test -n "$ac_ct_MKOCTFILE"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MKOCTFILE" >&5
++$as_echo "$ac_ct_MKOCTFILE" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_MKOCTFILE" = x; then
++    MKOCTFILE=""
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    MKOCTFILE=$ac_ct_MKOCTFILE
++  fi
++else
++  MKOCTFILE="$ac_cv_prog_MKOCTFILE"
++fi
++
++if test -z "$MKOCTFILE"; then
++    as_fn_error $? "Please install mkoctfile." "$LINENO" 5
++fi
++
++#AC_CHECK_HEADERS([fftw3.h],[],[AC_MSG_ERROR([fftw was not found])])
++# Checking for portaudio, we pack portaudio.h with LTFAT
++# AC_CHECK_HEADER(portaudio.h)
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Pa_GetHostApiCount in -lportaudio" >&5
++$as_echo_n "checking for Pa_GetHostApiCount in -lportaudio... " >&6; }
++if ${ac_cv_lib_portaudio_Pa_GetHostApiCount+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lportaudio  $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char Pa_GetHostApiCount ();
++int
++main ()
++{
++return Pa_GetHostApiCount ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++  ac_cv_lib_portaudio_Pa_GetHostApiCount=yes
++else
++  ac_cv_lib_portaudio_Pa_GetHostApiCount=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_portaudio_Pa_GetHostApiCount" >&5
++$as_echo "$ac_cv_lib_portaudio_Pa_GetHostApiCount" >&6; }
++if test "x$ac_cv_lib_portaudio_Pa_GetHostApiCount" = xyes; then :
++  have_libportaudio=1
++else
++  have_libportaudio=0
++   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Portaudio lib not found. Disabling support of the block processing framework." >&5
++$as_echo "$as_me: WARNING: Portaudio lib not found. Disabling support of the block processing framework." >&2;}
++
++fi
++
++
++
++ac_config_files="$ac_config_files Makefile"
++
++cat >confcache <<\_ACEOF
++# This file is a shell script that caches the results of configure
++# tests run on this system so they can be shared between configure
++# scripts and configure runs, see configure's option --config-cache.
++# It is not useful on other systems.  If it contains results you don't
++# want to keep, you may remove or edit it.
++#
++# config.status only pays attention to the cache file if you give it
++# the --recheck option to rerun configure.
++#
++# `ac_cv_env_foo' variables (set or unset) will be overridden when
++# loading this file, other *unset* `ac_cv_foo' will be assigned the
++# following values.
++
++_ACEOF
++
++# The following way of writing the cache mishandles newlines in values,
++# but we know of no workaround that is simple, portable, and efficient.
++# So, we kill variables containing newlines.
++# Ultrix sh set writes to stderr and can't be redirected directly,
++# and sets the high bit in the cache file unless we assign to the vars.
++(
++  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
++    eval ac_val=\$$ac_var
++    case $ac_val in #(
++    *${as_nl}*)
++      case $ac_var in #(
++      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
++      esac
++      case $ac_var in #(
++      _ | IFS | as_nl) ;; #(
++      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
++      *) { eval $ac_var=; unset $ac_var;} ;;
++      esac ;;
++    esac
++  done
++
++  (set) 2>&1 |
++    case $as_nl`(ac_space=' '; set) 2>&1` in #(
++    *${as_nl}ac_space=\ *)
++      # `set' does not quote correctly, so add quotes: double-quote
++      # substitution turns \\\\ into \\, and sed turns \\ into \.
++      sed -n \
++	"s/'/'\\\\''/g;
++	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
++      ;; #(
++    *)
++      # `set' quotes correctly as required by POSIX, so do not add quotes.
++      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
++      ;;
++    esac |
++    sort
++) |
++  sed '
++     /^ac_cv_env_/b end
++     t clear
++     :clear
++     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
++     t end
++     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
++     :end' >>confcache
++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
++  if test -w "$cache_file"; then
++    if test "x$cache_file" != "x/dev/null"; then
++      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
++$as_echo "$as_me: updating cache $cache_file" >&6;}
++      if test ! -f "$cache_file" || test -h "$cache_file"; then
++	cat confcache >"$cache_file"
++      else
++        case $cache_file in #(
++        */* | ?:*)
++	  mv -f confcache "$cache_file"$$ &&
++	  mv -f "$cache_file"$$ "$cache_file" ;; #(
++        *)
++	  mv -f confcache "$cache_file" ;;
++	esac
++      fi
++    fi
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
++$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
++  fi
++fi
++rm -f confcache
++
++test "x$prefix" = xNONE && prefix=$ac_default_prefix
++# Let make expand exec_prefix.
++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
++
++# Transform confdefs.h into DEFS.
++# Protect against shell expansion while executing Makefile rules.
++# Protect against Makefile macro expansion.
++#
++# If the first sed substitution is executed (which looks for macros that
++# take arguments), then branch to the quote section.  Otherwise,
++# look for a macro that doesn't take arguments.
++ac_script='
++:mline
++/\\$/{
++ N
++ s,\\\n,,
++ b mline
++}
++t clear
++:clear
++s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\)/-D\1=\2/g
++t quote
++s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)/-D\1=\2/g
++t quote
++b any
++:quote
++s/[	 `~#$^&*(){}\\|;'\''"<>?]/\\&/g
++s/\[/\\&/g
++s/\]/\\&/g
++s/\$/$$/g
++H
++:any
++${
++	g
++	s/^\n//
++	s/\n/ /g
++	p
++}
++'
++DEFS=`sed -n "$ac_script" confdefs.h`
++
++
++ac_libobjs=
++ac_ltlibobjs=
++U=
++for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
++  # 1. Remove the extension, and $U if already installed.
++  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
++  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
++  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
++  #    will be set to the directory where LIBOBJS objects are built.
++  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
++  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
++done
++LIB@&t@OBJS=$ac_libobjs
++
++LTLIBOBJS=$ac_ltlibobjs
++
++
++
++: "${CONFIG_STATUS=./config.status}"
++ac_write_fail=0
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files $CONFIG_STATUS"
++{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
++$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
++as_write_fail=0
++cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
++#! $SHELL
++# Generated by $as_me.
++# Run this file to recreate the current configuration.
++# Compiler output produced by configure, useful for debugging
++# configure, is in config.log if it exists.
++
++debug=false
++ac_cs_recheck=false
++ac_cs_silent=false
++
++SHELL=\${CONFIG_SHELL-$SHELL}
++export SHELL
++_ASEOF
++cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
++## -------------------- ##
++## M4sh Initialization. ##
++## -------------------- ##
++
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
++  emulate sh
++  NULLCMD=:
++  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '${1+"$@"}'='"$@"'
++  setopt NO_GLOB_SUBST
++else
++  case `(set -o) 2>/dev/null` in @%:@(
++  *posix*) :
++    set -o posix ;; @%:@(
++  *) :
++     ;;
++esac
++fi
++
++
++as_nl='
++'
++export as_nl
++# Printing a long string crashes Solaris 7 /usr/bin/printf.
++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
++# Prefer a ksh shell builtin over an external printf program on Solaris,
++# but without wasting forks for bash or zsh.
++if test -z "$BASH_VERSION$ZSH_VERSION" \
++    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
++  as_echo='print -r --'
++  as_echo_n='print -rn --'
++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
++  as_echo='printf %s\n'
++  as_echo_n='printf %s'
++else
++  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
++    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
++    as_echo_n='/usr/ucb/echo -n'
++  else
++    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
++    as_echo_n_body='eval
++      arg=$1;
++      case $arg in @%:@(
++      *"$as_nl"*)
++	expr "X$arg" : "X\\(.*\\)$as_nl";
++	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
++      esac;
++      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
++    '
++    export as_echo_n_body
++    as_echo_n='sh -c $as_echo_n_body as_echo'
++  fi
++  export as_echo_body
++  as_echo='sh -c $as_echo_body as_echo'
++fi
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++  PATH_SEPARATOR=:
++  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
++    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
++      PATH_SEPARATOR=';'
++  }
++fi
++
++
++# IFS
++# We need space, tab and new line, in precisely that order.  Quoting is
++# there to prevent editors from complaining about space-tab.
++# (If _AS_PATH_WALK were called with IFS unset, it would disable word
++# splitting by setting IFS to empty value.)
++IFS=" ""	$as_nl"
++
++# Find who we are.  Look in the path if we contain no directory separator.
++as_myself=
++case $0 in @%:@((
++  *[\\/]* ) as_myself=$0 ;;
++  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++  done
++IFS=$as_save_IFS
++
++     ;;
++esac
++# We did not find ourselves, most probably we were run as `sh COMMAND'
++# in which case we are not to be found in the path.
++if test "x$as_myself" = x; then
++  as_myself=$0
++fi
++if test ! -f "$as_myself"; then
++  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++  exit 1
++fi
++
++# Unset variables that we do not need and which cause bugs (e.g. in
++# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
++# suppresses any "Segmentation fault" message there.  '((' could
++# trigger a bug in pdksh 5.2.14.
++for as_var in BASH_ENV ENV MAIL MAILPATH
++do eval test x\${$as_var+set} = xset \
++  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++LC_ALL=C
++export LC_ALL
++LANGUAGE=C
++export LANGUAGE
++
++# CDPATH.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++
++@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
++@%:@ ----------------------------------------
++@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
++@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
++@%:@ script with STATUS, using 1 if that was 0.
++as_fn_error ()
++{
++  as_status=$1; test $as_status -eq 0 && as_status=1
++  if test "$4"; then
++    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
++  fi
++  $as_echo "$as_me: error: $2" >&2
++  as_fn_exit $as_status
++} @%:@ as_fn_error
++
++
++@%:@ as_fn_set_status STATUS
++@%:@ -----------------------
++@%:@ Set @S|@? to STATUS, without forking.
++as_fn_set_status ()
++{
++  return $1
++} @%:@ as_fn_set_status
++
++@%:@ as_fn_exit STATUS
++@%:@ -----------------
++@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
++as_fn_exit ()
++{
++  set +e
++  as_fn_set_status $1
++  exit $1
++} @%:@ as_fn_exit
++
++@%:@ as_fn_unset VAR
++@%:@ ---------------
++@%:@ Portably unset VAR.
++as_fn_unset ()
++{
++  { eval $1=; unset $1;}
++}
++as_unset=as_fn_unset
++@%:@ as_fn_append VAR VALUE
++@%:@ ----------------------
++@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
++@%:@ advantage of any shell optimizations that allow amortized linear growth over
++@%:@ repeated appends, instead of the typical quadratic growth present in naive
++@%:@ implementations.
++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
++  eval 'as_fn_append ()
++  {
++    eval $1+=\$2
++  }'
++else
++  as_fn_append ()
++  {
++    eval $1=\$$1\$2
++  }
++fi # as_fn_append
++
++@%:@ as_fn_arith ARG...
++@%:@ ------------------
++@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
++@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
++@%:@ must be portable across @S|@(()) and expr.
++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
++  eval 'as_fn_arith ()
++  {
++    as_val=$(( $* ))
++  }'
++else
++  as_fn_arith ()
++  {
++    as_val=`expr "$@" || test $? -eq 1`
++  }
++fi # as_fn_arith
++
++
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++   test "X`expr 00001 : '.*\(...\)'`" = X001; then
++  as_expr=expr
++else
++  as_expr=false
++fi
++
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
++  as_basename=basename
++else
++  as_basename=false
++fi
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++  as_dirname=dirname
++else
++  as_dirname=false
++fi
++
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++	 X"$0" : 'X\(//\)$' \| \
++	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X/"$0" |
++    sed '/^.*\/\([^/][^/]*\)\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\/\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\/\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in @%:@(((((
++-n*)
++  case `echo 'xy\c'` in
++  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
++  xy)  ECHO_C='\c';;
++  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
++       ECHO_T='	';;
++  esac;;
++*)
++  ECHO_N='-n';;
++esac
++
++rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++  rm -f conf$$.dir/conf$$.file
++else
++  rm -f conf$$.dir
++  mkdir conf$$.dir 2>/dev/null
++fi
++if (echo >conf$$.file) 2>/dev/null; then
++  if ln -s conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s='ln -s'
++    # ... but there are two gotchas:
++    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
++    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
++    # In both cases, we have to default to `cp -pR'.
++    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++      as_ln_s='cp -pR'
++  elif ln conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s=ln
++  else
++    as_ln_s='cp -pR'
++  fi
++else
++  as_ln_s='cp -pR'
++fi
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
++
++
++@%:@ as_fn_mkdir_p
++@%:@ -------------
++@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
++as_fn_mkdir_p ()
++{
++
++  case $as_dir in #(
++  -*) as_dir=./$as_dir;;
++  esac
++  test -d "$as_dir" || eval $as_mkdir_p || {
++    as_dirs=
++    while :; do
++      case $as_dir in #(
++      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
++      *) as_qdir=$as_dir;;
++      esac
++      as_dirs="'$as_qdir' $as_dirs"
++      as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$as_dir" : 'X\(//\)[^/]' \| \
++	 X"$as_dir" : 'X\(//\)$' \| \
++	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$as_dir" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++      test -d "$as_dir" && break
++    done
++    test -z "$as_dirs" || eval "mkdir $as_dirs"
++  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
++
++
++} @%:@ as_fn_mkdir_p
++if mkdir -p . 2>/dev/null; then
++  as_mkdir_p='mkdir -p "$as_dir"'
++else
++  test -d ./-p && rmdir ./-p
++  as_mkdir_p=false
++fi
++
++
++@%:@ as_fn_executable_p FILE
++@%:@ -----------------------
++@%:@ Test if FILE is an executable regular file.
++as_fn_executable_p ()
++{
++  test -f "$1" && test -x "$1"
++} @%:@ as_fn_executable_p
++as_test_x='test -x'
++as_executable_p=as_fn_executable_p
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++exec 6>&1
++## ----------------------------------- ##
++## Main body of $CONFIG_STATUS script. ##
++## ----------------------------------- ##
++_ASEOF
++test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++# Save the log message, to keep $0 and so on meaningful, and to
++# report actual input values of CONFIG_FILES etc. instead of their
++# values after options handling.
++ac_log="
++This file was extended by LTFAT $as_me 2.3.1, which was
++generated by GNU Autoconf 2.69.  Invocation command line was
++
++  CONFIG_FILES    = $CONFIG_FILES
++  CONFIG_HEADERS  = $CONFIG_HEADERS
++  CONFIG_LINKS    = $CONFIG_LINKS
++  CONFIG_COMMANDS = $CONFIG_COMMANDS
++  $ $0 $@
++
++on `(hostname || uname -n) 2>/dev/null | sed 1q`
++"
++
++_ACEOF
++
++case $ac_config_files in *"
++"*) set x $ac_config_files; shift; ac_config_files=$*;;
++esac
++
++
++
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++# Files that config.status was made for.
++config_files="$ac_config_files"
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++ac_cs_usage="\
++\`$as_me' instantiates files and other configuration actions
++from templates according to the current configuration.  Unless the files
++and actions are specified as TAGs, all are instantiated by default.
++
++Usage: $0 [OPTION]... [TAG]...
++
++  -h, --help       print this help, then exit
++  -V, --version    print version number and configuration settings, then exit
++      --config     print configuration, then exit
++  -q, --quiet, --silent
++                   do not print progress messages
++  -d, --debug      don't remove temporary files
++      --recheck    update $as_me by reconfiguring in the same conditions
++      --file=FILE[:TEMPLATE] 
++                   instantiate the configuration file FILE
++
++Configuration files:
++$config_files
++
++Report bugs to <http://github.com/ltfat/ltfat/issues>."
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
++ac_cs_version="\\
++LTFAT config.status 2.3.1
++configured by $0, generated by GNU Autoconf 2.69,
++  with options \\"\$ac_cs_config\\"
++
++Copyright (C) 2012 Free Software Foundation, Inc.
++This config.status script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it."
++
++ac_pwd='$ac_pwd'
++srcdir='$srcdir'
++test -n "\$AWK" || AWK=awk
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++# The default lists apply if the user does not specify any file.
++ac_need_defaults=:
++while test $# != 0
++do
++  case $1 in
++  --*=?*)
++    ac_option=`expr "X$1" : 'X\([^=]*\)='`
++    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
++    ac_shift=:
++    ;;
++  --*=)
++    ac_option=`expr "X$1" : 'X\([^=]*\)='`
++    ac_optarg=
++    ac_shift=:
++    ;;
++  *)
++    ac_option=$1
++    ac_optarg=$2
++    ac_shift=shift
++    ;;
++  esac
++
++  case $ac_option in
++  # Handling of the options.
++  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
++    ac_cs_recheck=: ;;
++  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
++    $as_echo "$ac_cs_version"; exit ;;
++  --config | --confi | --conf | --con | --co | --c )
++    $as_echo "$ac_cs_config"; exit ;;
++  --debug | --debu | --deb | --de | --d | -d )
++    debug=: ;;
++  --file | --fil | --fi | --f )
++    $ac_shift
++    case $ac_optarg in
++    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
++    '') as_fn_error $? "missing file argument" ;;
++    esac
++    as_fn_append CONFIG_FILES " '$ac_optarg'"
++    ac_need_defaults=false;;
++  --he | --h |  --help | --hel | -h )
++    $as_echo "$ac_cs_usage"; exit ;;
++  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++  | -silent | --silent | --silen | --sile | --sil | --si | --s)
++    ac_cs_silent=: ;;
++
++  # This is an error.
++  -*) as_fn_error $? "unrecognized option: \`$1'
++Try \`$0 --help' for more information." ;;
++
++  *) as_fn_append ac_config_targets " $1"
++     ac_need_defaults=false ;;
++
++  esac
++  shift
++done
++
++ac_configure_extra_args=
++
++if $ac_cs_silent; then
++  exec 6>/dev/null
++  ac_configure_extra_args="$ac_configure_extra_args --silent"
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++if \$ac_cs_recheck; then
++  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
++  shift
++  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
++  CONFIG_SHELL='$SHELL'
++  export CONFIG_SHELL
++  exec "\$@"
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++exec 5>>config.log
++{
++  echo
++  sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
++@%:@@%:@ Running $as_me. @%:@@%:@
++_ASBOX
++  $as_echo "$ac_log"
++} >&5
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++
++# Handling of arguments.
++for ac_config_target in $ac_config_targets
++do
++  case $ac_config_target in
++    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
++
++  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
++  esac
++done
++
++
++# If the user did not use the arguments to specify the items to instantiate,
++# then the envvar interface is used.  Set only those that are not.
++# We use the long form for the default assignment because of an extremely
++# bizarre bug on SunOS 4.1.3.
++if $ac_need_defaults; then
++  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
++fi
++
++# Have a temporary directory for convenience.  Make it in the build tree
++# simply because there is no reason against having it here, and in addition,
++# creating and moving files from /tmp can sometimes cause problems.
++# Hook for its removal unless debugging.
++# Note that there is a small window in which the directory will not be cleaned:
++# after its creation but before its name has been assigned to `$tmp'.
++$debug ||
++{
++  tmp= ac_tmp=
++  trap 'exit_status=$?
++  : "${ac_tmp:=$tmp}"
++  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
++' 0
++  trap 'as_fn_exit 1' 1 2 13 15
++}
++# Create a (secure) tmp directory for tmp files.
++
++{
++  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
++  test -d "$tmp"
++}  ||
++{
++  tmp=./conf$$-$RANDOM
++  (umask 077 && mkdir "$tmp")
++} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
++ac_tmp=$tmp
++
++# Set up the scripts for CONFIG_FILES section.
++# No need to generate them if there are no CONFIG_FILES.
++# This happens for instance with `./config.status config.h'.
++if test -n "$CONFIG_FILES"; then
++
++
++ac_cr=`echo X | tr X '\015'`
++# On cygwin, bash can eat \r inside `` if the user requested igncr.
++# But we know of no other shell where ac_cr would be empty at this
++# point, so we can use a bashism as a fallback.
++if test "x$ac_cr" = x; then
++  eval ac_cr=\$\'\\r\'
++fi
++ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
++if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
++  ac_cs_awk_cr='\\r'
++else
++  ac_cs_awk_cr=$ac_cr
++fi
++
++echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
++_ACEOF
++
++
++{
++  echo "cat >conf$$subs.awk <<_ACEOF" &&
++  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
++  echo "_ACEOF"
++} >conf$$subs.sh ||
++  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
++ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
++ac_delim='%!_!# '
++for ac_last_try in false false false false false :; do
++  . ./conf$$subs.sh ||
++    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
++
++  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
++  if test $ac_delim_n = $ac_delim_num; then
++    break
++  elif $ac_last_try; then
++    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
++  else
++    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++  fi
++done
++rm -f conf$$subs.sh
++
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
++_ACEOF
++sed -n '
++h
++s/^/S["/; s/!.*/"]=/
++p
++g
++s/^[^!]*!//
++:repl
++t repl
++s/'"$ac_delim"'$//
++t delim
++:nl
++h
++s/\(.\{148\}\)..*/\1/
++t more1
++s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
++p
++n
++b repl
++:more1
++s/["\\]/\\&/g; s/^/"/; s/$/"\\/
++p
++g
++s/.\{148\}//
++t nl
++:delim
++h
++s/\(.\{148\}\)..*/\1/
++t more2
++s/["\\]/\\&/g; s/^/"/; s/$/"/
++p
++b
++:more2
++s/["\\]/\\&/g; s/^/"/; s/$/"\\/
++p
++g
++s/.\{148\}//
++t delim
++' <conf$$subs.awk | sed '
++/^[^""]/{
++  N
++  s/\n//
++}
++' >>$CONFIG_STATUS || ac_write_fail=1
++rm -f conf$$subs.awk
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++_ACAWK
++cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
++  for (key in S) S_is_set[key] = 1
++  FS = ""
++
++}
++{
++  line = $ 0
++  nfields = split(line, field, "@")
++  substed = 0
++  len = length(field[1])
++  for (i = 2; i < nfields; i++) {
++    key = field[i]
++    keylen = length(key)
++    if (S_is_set[key]) {
++      value = S[key]
++      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
++      len += length(value) + length(field[++i])
++      substed = 1
++    } else
++      len += 1 + keylen
++  }
++
++  print line
++}
++
++_ACAWK
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
++  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
++else
++  cat
++fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
++  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
++_ACEOF
++
++# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
++# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
++# trailing colons and then remove the whole line if VPATH becomes empty
++# (actually we leave an empty line to preserve line numbers).
++if test "x$srcdir" = x.; then
++  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
++h
++s///
++s/^/:/
++s/[	 ]*$/:/
++s/:\$(srcdir):/:/g
++s/:\${srcdir}:/:/g
++s/:@srcdir@:/:/g
++s/^:*//
++s/:*$//
++x
++s/\(=[	 ]*\).*/\1/
++G
++s/\n//
++s/^[^=]*=[	 ]*$//
++}'
++fi
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++fi # test -n "$CONFIG_FILES"
++
++
++eval set X "  :F $CONFIG_FILES      "
++shift
++for ac_tag
++do
++  case $ac_tag in
++  :[FHLC]) ac_mode=$ac_tag; continue;;
++  esac
++  case $ac_mode$ac_tag in
++  :[FHL]*:*);;
++  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
++  :[FH]-) ac_tag=-:-;;
++  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
++  esac
++  ac_save_IFS=$IFS
++  IFS=:
++  set x $ac_tag
++  IFS=$ac_save_IFS
++  shift
++  ac_file=$1
++  shift
++
++  case $ac_mode in
++  :L) ac_source=$1;;
++  :[FH])
++    ac_file_inputs=
++    for ac_f
++    do
++      case $ac_f in
++      -) ac_f="$ac_tmp/stdin";;
++      *) # Look for the file first in the build tree, then in the source tree
++	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
++	 # because $ac_f cannot contain `:'.
++	 test -f "$ac_f" ||
++	   case $ac_f in
++	   [\\/$]*) false;;
++	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
++	   esac ||
++	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
++      esac
++      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
++      as_fn_append ac_file_inputs " '$ac_f'"
++    done
++
++    # Let's still pretend it is `configure' which instantiates (i.e., don't
++    # use $as_me), people would be surprised to read:
++    #    /* config.h.  Generated by config.status.  */
++    configure_input='Generated from '`
++	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
++	`' by configure.'
++    if test x"$ac_file" != x-; then
++      configure_input="$ac_file.  $configure_input"
++      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
++$as_echo "$as_me: creating $ac_file" >&6;}
++    fi
++    # Neutralize special characters interpreted by sed in replacement strings.
++    case $configure_input in #(
++    *\&* | *\|* | *\\* )
++       ac_sed_conf_input=`$as_echo "$configure_input" |
++       sed 's/[\\\\&|]/\\\\&/g'`;; #(
++    *) ac_sed_conf_input=$configure_input;;
++    esac
++
++    case $ac_tag in
++    *:-:* | *:-) cat >"$ac_tmp/stdin" \
++      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
++    esac
++    ;;
++  esac
++
++  ac_dir=`$as_dirname -- "$ac_file" ||
++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$ac_file" : 'X\(//\)[^/]' \| \
++	 X"$ac_file" : 'X\(//\)$' \| \
++	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$ac_file" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++  as_dir="$ac_dir"; as_fn_mkdir_p
++  ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
++  # A ".." for each directory in $ac_dir_suffix.
++  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
++  case $ac_top_builddir_sub in
++  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++  esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
++
++case $srcdir in
++  .)  # We are building in place.
++    ac_srcdir=.
++    ac_top_srcdir=$ac_top_builddir_sub
++    ac_abs_top_srcdir=$ac_pwd ;;
++  [\\/]* | ?:[\\/]* )  # Absolute name.
++    ac_srcdir=$srcdir$ac_dir_suffix;
++    ac_top_srcdir=$srcdir
++    ac_abs_top_srcdir=$srcdir ;;
++  *) # Relative name.
++    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++    ac_top_srcdir=$ac_top_build_prefix$srcdir
++    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
++esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
++
++
++  case $ac_mode in
++  :F)
++  #
++  # CONFIG_FILE
++  #
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++# If the template does not know about datarootdir, expand it.
++# FIXME: This hack should be removed a few years after 2.60.
++ac_datarootdir_hack=; ac_datarootdir_seen=
++ac_sed_dataroot='
++/datarootdir/ {
++  p
++  q
++}
++/@datadir@/p
++/@docdir@/p
++/@infodir@/p
++/@localedir@/p
++/@mandir@/p'
++case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
++*datarootdir*) ac_datarootdir_seen=yes;;
++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
++  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
++$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++  ac_datarootdir_hack='
++  s&@datadir@&$datadir&g
++  s&@docdir@&$docdir&g
++  s&@infodir@&$infodir&g
++  s&@localedir@&$localedir&g
++  s&@mandir@&$mandir&g
++  s&\\\${datarootdir}&$datarootdir&g' ;;
++esac
++_ACEOF
++
++# Neutralize VPATH when `$srcdir' = `.'.
++# Shell code in configure.ac might set extrasub.
++# FIXME: do we really want to maintain this feature?
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++ac_sed_extra="$ac_vpsub
++$extrasub
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++:t
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
++s|@configure_input@|$ac_sed_conf_input|;t t
++s&@top_builddir@&$ac_top_builddir_sub&;t t
++s&@top_build_prefix@&$ac_top_build_prefix&;t t
++s&@srcdir@&$ac_srcdir&;t t
++s&@abs_srcdir@&$ac_abs_srcdir&;t t
++s&@top_srcdir@&$ac_top_srcdir&;t t
++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
++s&@builddir@&$ac_builddir&;t t
++s&@abs_builddir@&$ac_abs_builddir&;t t
++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
++$ac_datarootdir_hack
++"
++eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
++  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
++
++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
++  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
++  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
++      "$ac_tmp/out"`; test -z "$ac_out"; } &&
++  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined.  Please make sure it is defined" >&5
++$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined.  Please make sure it is defined" >&2;}
++
++  rm -f "$ac_tmp/stdin"
++  case $ac_file in
++  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
++  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
++  esac \
++  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
++ ;;
++  
++  
++  
++  esac
++
++done # for ac_tag
++
++
++as_fn_exit 0
++_ACEOF
++ac_clean_files=$ac_clean_files_save
++
++test $ac_write_fail = 0 ||
++  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
++
++
++# configure is writing to config.log, and then calls config.status.
++# config.status does its own redirection, appending to config.log.
++# Unfortunately, on DOS this fails, as config.log is still kept open
++# by configure, so config.status won't be able to write to it; its
++# output is simply discarded.  So we exec the FD to /dev/null,
++# effectively closing config.log, so it can be properly (re)opened and
++# appended to by config.status.  When coming back to configure, we
++# need to make the FD available again.
++if test "$no_create" != yes; then
++  ac_cs_success=:
++  ac_config_status_args=
++  test "$silent" = yes &&
++    ac_config_status_args="$ac_config_status_args --quiet"
++  exec 5>/dev/null
++  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
++  exec 5>>config.log
++  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
++  # would make configure fail if this is the last instruction.
++  $ac_cs_success || as_fn_exit 1
++fi
++if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
++$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
++fi
++
+diff -uNr a/src/autom4te.cache/requests b/src/autom4te.cache/requests
+--- a/src/autom4te.cache/requests	1969-12-31 19:00:00.000000000 -0500
++++ b/src/autom4te.cache/requests	2018-07-06 14:01:20.468920717 -0400
+@@ -0,0 +1,78 @@
++# This file was generated by Autom4te Sun Aug 20 18:29:13 UTC 2017.
++# It contains the lists of macros which have been traced.
++# It can be safely removed.
++
++@request = (
++             bless( [
++                      '0',
++                      1,
++                      [
++                        '/usr/share/autoconf'
++                      ],
++                      [
++                        '/usr/share/autoconf/autoconf/autoconf.m4f',
++                        'configure.ac'
++                      ],
++                      {
++                        '_AM_MAKEFILE_INCLUDE' => 1,
++                        'm4_include' => 1,
++                        'AC_CANONICAL_HOST' => 1,
++                        'AC_CANONICAL_BUILD' => 1,
++                        'AM_MAINTAINER_MODE' => 1,
++                        'LT_CONFIG_LTDL_DIR' => 1,
++                        'AC_CONFIG_SUBDIRS' => 1,
++                        '_AM_COND_IF' => 1,
++                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
++                        'AM_XGETTEXT_OPTION' => 1,
++                        'AM_PROG_CXX_C_O' => 1,
++                        'LT_SUPPORTED_TAG' => 1,
++                        'AC_CANONICAL_SYSTEM' => 1,
++                        'AM_PROG_LIBTOOL' => 1,
++                        '_AM_SUBST_NOTMAKE' => 1,
++                        'AC_FC_PP_DEFINE' => 1,
++                        'AM_PROG_CC_C_O' => 1,
++                        'AM_MAKEFILE_INCLUDE' => 1,
++                        'AC_CONFIG_FILES' => 1,
++                        '_AM_COND_ENDIF' => 1,
++                        'AC_CONFIG_LIBOBJ_DIR' => 1,
++                        'AC_INIT' => 1,
++                        'AC_LIBSOURCE' => 1,
++                        '_m4_warn' => 1,
++                        'AC_CONFIG_AUX_DIR' => 1,
++                        'AC_REQUIRE_AUX_FILE' => 1,
++                        'AC_PROG_LIBTOOL' => 1,
++                        'AM_PROG_FC_C_O' => 1,
++                        'AM_GNU_GETTEXT' => 1,
++                        '_AM_COND_ELSE' => 1,
++                        'AM_PROG_F77_C_O' => 1,
++                        'LT_INIT' => 1,
++                        'AC_SUBST' => 1,
++                        'AM_ENABLE_MULTILIB' => 1,
++                        'AM_CONDITIONAL' => 1,
++                        'AC_DEFINE_TRACE_LITERAL' => 1,
++                        'AM_INIT_AUTOMAKE' => 1,
++                        'AC_CANONICAL_TARGET' => 1,
++                        '_LT_AC_TAGCONFIG' => 1,
++                        'AH_OUTPUT' => 1,
++                        'AC_CONFIG_LINKS' => 1,
++                        'AM_PROG_MOC' => 1,
++                        'AM_PROG_AR' => 1,
++                        'm4_pattern_forbid' => 1,
++                        'AM_AUTOMAKE_VERSION' => 1,
++                        'AM_PATH_GUILE' => 1,
++                        'sinclude' => 1,
++                        'AM_POT_TOOLS' => 1,
++                        'include' => 1,
++                        'm4_pattern_allow' => 1,
++                        'm4_sinclude' => 1,
++                        'AC_FC_SRCEXT' => 1,
++                        'AM_SILENT_RULES' => 1,
++                        'AC_FC_PP_SRCEXT' => 1,
++                        'AC_CONFIG_HEADERS' => 1,
++                        'AM_NLS' => 1,
++                        'AC_FC_FREEFORM' => 1,
++                        'AC_SUBST_TRACE' => 1
++                      }
++                    ], 'Autom4te::Request' )
++           );
++
+diff -uNr a/src/autom4te.cache/traces.0 b/src/autom4te.cache/traces.0
+--- a/src/autom4te.cache/traces.0	1969-12-31 19:00:00.000000000 -0500
++++ b/src/autom4te.cache/traces.0	2018-07-06 14:01:20.408923225 -0400
+@@ -0,0 +1,232 @@
++m4trace:configure.ac:2: -1- AC_INIT([LTFAT], [2.3.1], [http://github.com/ltfat/ltfat/issues], [ltfat])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?A[CHUM]_])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([_AC_])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^AS_FLAGS$])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?m4_])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([^dnl$])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?AS_])
++m4trace:configure.ac:2: -1- AC_SUBST([SHELL])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([SHELL])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^SHELL$])
++m4trace:configure.ac:2: -1- AC_SUBST([PATH_SEPARATOR])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PATH_SEPARATOR$])
++m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME],      ['AC_PACKAGE_NAME'])])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_NAME])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$])
++m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME],   ['AC_PACKAGE_TARNAME'])])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
++m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION],   ['AC_PACKAGE_VERSION'])])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$])
++m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING],    ['AC_PACKAGE_STRING'])])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_STRING])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$])
++m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
++m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL],       ['AC_PACKAGE_URL'])])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_URL])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_URL$])
++m4trace:configure.ac:2: -1- AC_SUBST([exec_prefix], [NONE])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([exec_prefix])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^exec_prefix$])
++m4trace:configure.ac:2: -1- AC_SUBST([prefix], [NONE])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([prefix])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^prefix$])
++m4trace:configure.ac:2: -1- AC_SUBST([program_transform_name], [s,x,x,])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([program_transform_name])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^program_transform_name$])
++m4trace:configure.ac:2: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([bindir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^bindir$])
++m4trace:configure.ac:2: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sbindir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^sbindir$])
++m4trace:configure.ac:2: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([libexecdir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^libexecdir$])
++m4trace:configure.ac:2: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([datarootdir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^datarootdir$])
++m4trace:configure.ac:2: -1- AC_SUBST([datadir], ['${datarootdir}'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([datadir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^datadir$])
++m4trace:configure.ac:2: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sysconfdir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^sysconfdir$])
++m4trace:configure.ac:2: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sharedstatedir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^sharedstatedir$])
++m4trace:configure.ac:2: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([localstatedir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^localstatedir$])
++m4trace:configure.ac:2: -1- AC_SUBST([runstatedir], ['${localstatedir}/run'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([runstatedir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^runstatedir$])
++m4trace:configure.ac:2: -1- AC_SUBST([includedir], ['${prefix}/include'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([includedir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^includedir$])
++m4trace:configure.ac:2: -1- AC_SUBST([oldincludedir], ['/usr/include'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([oldincludedir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^oldincludedir$])
++m4trace:configure.ac:2: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
++				     ['${datarootdir}/doc/${PACKAGE_TARNAME}'],
++				     ['${datarootdir}/doc/${PACKAGE}'])])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([docdir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^docdir$])
++m4trace:configure.ac:2: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([infodir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^infodir$])
++m4trace:configure.ac:2: -1- AC_SUBST([htmldir], ['${docdir}'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([htmldir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^htmldir$])
++m4trace:configure.ac:2: -1- AC_SUBST([dvidir], ['${docdir}'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([dvidir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^dvidir$])
++m4trace:configure.ac:2: -1- AC_SUBST([pdfdir], ['${docdir}'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([pdfdir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^pdfdir$])
++m4trace:configure.ac:2: -1- AC_SUBST([psdir], ['${docdir}'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([psdir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^psdir$])
++m4trace:configure.ac:2: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([libdir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^libdir$])
++m4trace:configure.ac:2: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([localedir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^localedir$])
++m4trace:configure.ac:2: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([mandir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^mandir$])
++m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$])
++m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
++@%:@undef PACKAGE_NAME])
++m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
++m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
++@%:@undef PACKAGE_TARNAME])
++m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$])
++m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
++@%:@undef PACKAGE_VERSION])
++m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$])
++m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
++@%:@undef PACKAGE_STRING])
++m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
++m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
++@%:@undef PACKAGE_BUGREPORT])
++m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_URL$])
++m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
++@%:@undef PACKAGE_URL])
++m4trace:configure.ac:2: -1- AC_SUBST([DEFS])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([DEFS])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^DEFS$])
++m4trace:configure.ac:2: -1- AC_SUBST([ECHO_C])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_C])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_C$])
++m4trace:configure.ac:2: -1- AC_SUBST([ECHO_N])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_N])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_N$])
++m4trace:configure.ac:2: -1- AC_SUBST([ECHO_T])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_T])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_T$])
++m4trace:configure.ac:2: -1- AC_SUBST([LIBS])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([LIBS])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^LIBS$])
++m4trace:configure.ac:2: -1- AC_SUBST([build_alias])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([build_alias])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^build_alias$])
++m4trace:configure.ac:2: -1- AC_SUBST([host_alias])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([host_alias])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^host_alias$])
++m4trace:configure.ac:2: -1- AC_SUBST([target_alias])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([target_alias])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^target_alias$])
++m4trace:configure.ac:4: -1- AC_SUBST([CC])
++m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CC])
++m4trace:configure.ac:4: -1- m4_pattern_allow([^CC$])
++m4trace:configure.ac:4: -1- AC_SUBST([CFLAGS])
++m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CFLAGS])
++m4trace:configure.ac:4: -1- m4_pattern_allow([^CFLAGS$])
++m4trace:configure.ac:4: -1- AC_SUBST([LDFLAGS])
++m4trace:configure.ac:4: -1- AC_SUBST_TRACE([LDFLAGS])
++m4trace:configure.ac:4: -1- m4_pattern_allow([^LDFLAGS$])
++m4trace:configure.ac:4: -1- AC_SUBST([LIBS])
++m4trace:configure.ac:4: -1- AC_SUBST_TRACE([LIBS])
++m4trace:configure.ac:4: -1- m4_pattern_allow([^LIBS$])
++m4trace:configure.ac:4: -1- AC_SUBST([CPPFLAGS])
++m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CPPFLAGS])
++m4trace:configure.ac:4: -1- m4_pattern_allow([^CPPFLAGS$])
++m4trace:configure.ac:4: -1- AC_SUBST([CC])
++m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CC])
++m4trace:configure.ac:4: -1- m4_pattern_allow([^CC$])
++m4trace:configure.ac:4: -1- AC_SUBST([CC])
++m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CC])
++m4trace:configure.ac:4: -1- m4_pattern_allow([^CC$])
++m4trace:configure.ac:4: -1- AC_SUBST([CC])
++m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CC])
++m4trace:configure.ac:4: -1- m4_pattern_allow([^CC$])
++m4trace:configure.ac:4: -1- AC_SUBST([CC])
++m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CC])
++m4trace:configure.ac:4: -1- m4_pattern_allow([^CC$])
++m4trace:configure.ac:4: -1- AC_SUBST([ac_ct_CC])
++m4trace:configure.ac:4: -1- AC_SUBST_TRACE([ac_ct_CC])
++m4trace:configure.ac:4: -1- m4_pattern_allow([^ac_ct_CC$])
++m4trace:configure.ac:4: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
++m4trace:configure.ac:4: -1- AC_SUBST_TRACE([EXEEXT])
++m4trace:configure.ac:4: -1- m4_pattern_allow([^EXEEXT$])
++m4trace:configure.ac:4: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
++m4trace:configure.ac:4: -1- AC_SUBST_TRACE([OBJEXT])
++m4trace:configure.ac:4: -1- m4_pattern_allow([^OBJEXT$])
++m4trace:configure.ac:5: -1- AC_SUBST([CXX])
++m4trace:configure.ac:5: -1- AC_SUBST_TRACE([CXX])
++m4trace:configure.ac:5: -1- m4_pattern_allow([^CXX$])
++m4trace:configure.ac:5: -1- AC_SUBST([CXXFLAGS])
++m4trace:configure.ac:5: -1- AC_SUBST_TRACE([CXXFLAGS])
++m4trace:configure.ac:5: -1- m4_pattern_allow([^CXXFLAGS$])
++m4trace:configure.ac:5: -1- AC_SUBST([LDFLAGS])
++m4trace:configure.ac:5: -1- AC_SUBST_TRACE([LDFLAGS])
++m4trace:configure.ac:5: -1- m4_pattern_allow([^LDFLAGS$])
++m4trace:configure.ac:5: -1- AC_SUBST([LIBS])
++m4trace:configure.ac:5: -1- AC_SUBST_TRACE([LIBS])
++m4trace:configure.ac:5: -1- m4_pattern_allow([^LIBS$])
++m4trace:configure.ac:5: -1- AC_SUBST([CPPFLAGS])
++m4trace:configure.ac:5: -1- AC_SUBST_TRACE([CPPFLAGS])
++m4trace:configure.ac:5: -1- m4_pattern_allow([^CPPFLAGS$])
++m4trace:configure.ac:5: -1- AC_SUBST([CXX])
++m4trace:configure.ac:5: -1- AC_SUBST_TRACE([CXX])
++m4trace:configure.ac:5: -1- m4_pattern_allow([^CXX$])
++m4trace:configure.ac:5: -1- AC_SUBST([ac_ct_CXX])
++m4trace:configure.ac:5: -1- AC_SUBST_TRACE([ac_ct_CXX])
++m4trace:configure.ac:5: -1- m4_pattern_allow([^ac_ct_CXX$])
++m4trace:configure.ac:29: -1- AC_SUBST([MKOCTFILE])
++m4trace:configure.ac:29: -1- AC_SUBST_TRACE([MKOCTFILE])
++m4trace:configure.ac:29: -1- m4_pattern_allow([^MKOCTFILE$])
++m4trace:configure.ac:43: -1- AC_SUBST([have_libportaudio])
++m4trace:configure.ac:43: -1- AC_SUBST_TRACE([have_libportaudio])
++m4trace:configure.ac:43: -1- m4_pattern_allow([^have_libportaudio$])
++m4trace:configure.ac:44: -1- AC_CONFIG_FILES([Makefile])
++m4trace:configure.ac:44: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
++You should run autoupdate.], [])
++m4trace:configure.ac:44: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
++m4trace:configure.ac:44: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
++m4trace:configure.ac:44: -1- m4_pattern_allow([^LIB@&t@OBJS$])
++m4trace:configure.ac:44: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
++m4trace:configure.ac:44: -1- AC_SUBST_TRACE([LTLIBOBJS])
++m4trace:configure.ac:44: -1- m4_pattern_allow([^LTLIBOBJS$])
++m4trace:configure.ac:44: -1- AC_SUBST_TRACE([top_builddir])
++m4trace:configure.ac:44: -1- AC_SUBST_TRACE([top_build_prefix])
++m4trace:configure.ac:44: -1- AC_SUBST_TRACE([srcdir])
++m4trace:configure.ac:44: -1- AC_SUBST_TRACE([abs_srcdir])
++m4trace:configure.ac:44: -1- AC_SUBST_TRACE([top_srcdir])
++m4trace:configure.ac:44: -1- AC_SUBST_TRACE([abs_top_srcdir])
++m4trace:configure.ac:44: -1- AC_SUBST_TRACE([builddir])
++m4trace:configure.ac:44: -1- AC_SUBST_TRACE([abs_builddir])
++m4trace:configure.ac:44: -1- AC_SUBST_TRACE([abs_top_builddir])
+diff -uNr a/src/configure b/src/configure
+--- a/src/configure	2018-06-21 11:03:12.000000000 -0400
++++ b/src/configure	2018-07-06 14:01:20.468920717 -0400
+@@ -587,7 +587,7 @@
+ ac_subst_vars='LTLIBOBJS
+ LIBOBJS
+ have_libportaudio
+-MKOCTFILE_CHECK
++MKOCTFILE
+ ac_ct_CXX
+ CXXFLAGS
+ CXX
+@@ -3078,15 +3078,56 @@
+ #   AC_MSG_ERROR([Cannot find LAPACK libraries])
+ #fi
+ 
+-# Extract the first word of "mkoctfile", so it can be a program name with args.
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}mkoctfile", so it can be a program name with args.
++set dummy ${ac_tool_prefix}mkoctfile; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_MKOCTFILE+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$MKOCTFILE"; then
++  ac_cv_prog_MKOCTFILE="$MKOCTFILE" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_MKOCTFILE="${ac_tool_prefix}mkoctfile"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++MKOCTFILE=$ac_cv_prog_MKOCTFILE
++if test -n "$MKOCTFILE"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKOCTFILE" >&5
++$as_echo "$MKOCTFILE" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_MKOCTFILE"; then
++  ac_ct_MKOCTFILE=$MKOCTFILE
++  # Extract the first word of "mkoctfile", so it can be a program name with args.
+ set dummy mkoctfile; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if ${ac_cv_prog_MKOCTFILE_CHECK+:} false; then :
++if ${ac_cv_prog_ac_ct_MKOCTFILE+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+-  if test -n "$MKOCTFILE_CHECK"; then
+-  ac_cv_prog_MKOCTFILE_CHECK="$MKOCTFILE_CHECK" # Let the user override the test.
++  if test -n "$ac_ct_MKOCTFILE"; then
++  ac_cv_prog_ac_ct_MKOCTFILE="$ac_ct_MKOCTFILE" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -3095,7 +3136,7 @@
+   test -z "$as_dir" && as_dir=.
+     for ac_exec_ext in '' $ac_executable_extensions; do
+   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+-    ac_cv_prog_MKOCTFILE_CHECK=""yes""
++    ac_cv_prog_ac_ct_MKOCTFILE="mkoctfile"
+     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+@@ -3105,17 +3146,31 @@
+ 
+ fi
+ fi
+-MKOCTFILE_CHECK=$ac_cv_prog_MKOCTFILE_CHECK
+-if test -n "$MKOCTFILE_CHECK"; then
+-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKOCTFILE_CHECK" >&5
+-$as_echo "$MKOCTFILE_CHECK" >&6; }
++ac_ct_MKOCTFILE=$ac_cv_prog_ac_ct_MKOCTFILE
++if test -n "$ac_ct_MKOCTFILE"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MKOCTFILE" >&5
++$as_echo "$ac_ct_MKOCTFILE" >&6; }
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+ 
++  if test "x$ac_ct_MKOCTFILE" = x; then
++    MKOCTFILE=""
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    MKOCTFILE=$ac_ct_MKOCTFILE
++  fi
++else
++  MKOCTFILE="$ac_cv_prog_MKOCTFILE"
++fi
+ 
+-if test "$MKOCTFILE_CHECK" != "yes" ; then
++if test -z "$MKOCTFILE"; then
+     as_fn_error $? "Please install mkoctfile." "$LINENO" 5
+ fi
+ 
+diff -uNr a/src/configure.ac b/src/configure.ac
+--- a/src/configure.ac	2018-06-21 11:03:11.000000000 -0400
++++ b/src/configure.ac	2018-07-06 14:01:10.525335982 -0400
+@@ -26,8 +26,8 @@
+ #fi
+ 
+ dnl Check for MKOCTFILE
+-AC_CHECK_PROG(MKOCTFILE_CHECK,mkoctfile,"yes")
+-if test "$MKOCTFILE_CHECK" != "yes" ; then
++AC_CHECK_TOOL(MKOCTFILE,mkoctfile)
++if test -z "$MKOCTFILE"; then
+     AC_MSG_ERROR([Please install mkoctfile.])
+ fi
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-ltfat.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,30 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-ltfat
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.3.1
+$(PKG)_CHECKSUM := 2c87141b877f721e10cbb4a99dca1cb880dce8d8
+$(PKG)_REMOTE_SUBDIR :=
+$(PKG)_SUBDIR   := ltfat
+$(PKG)_FILE     := ltfat-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := portaudio
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+ifeq ($(MXE_SYSTEM),mingw)
+$(PKG)_OPTIONS := OPTCXXFLAGS='-DLTFAT_BUILD_STATIC -DMINGW=1' MINGW=1
+else
+$(PKG)_OPTIONS := 
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(call OCTAVE_FORGE_PKG_BUILD,$(1),$(2),$(3),$($(PKG)_OPTIONS))
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-mapping.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,30 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-mapping
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.4.1
+$(PKG)_CHECKSUM := fabefd752e5f37cbdb4b1db5219ee912367abe8b
+$(PKG)_REMOTE_SUBDIR :=
+$(PKG)_SUBDIR   := mapping-$($(PKG)_VERSION)
+$(PKG)_FILE     := mapping-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := gdal
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+    ifeq ($(MXE_NATIVE_BUILD),no)
+        ifeq ($(USE_SYSTEM_OCTAVE),no)
+            # Remove this when package builds without calling Octave
+            $(PKG)_DEPS += build-octave
+        endif
+    endif
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-matgeom.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-matgeom
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.2
+$(PKG)_CHECKSUM := d441454e01d95e2f99535d6dd153948c8ff25a19
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := matgeom-$($(PKG)_VERSION)
+$(PKG)_FILE     := matgeom-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- a/src/of-miscellaneous.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/of-miscellaneous.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,18 +3,22 @@
 
 PKG             := of-miscellaneous
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := eec920357a581f26b2bc9079e32732b77c3a641b
+$(PKG)_VERSION  := 1.3.0
+$(PKG)_CHECKSUM := 254e4d0db99d0c54208bf4654ad06fb903f98bc3
 $(PKG)_REMOTE_SUBDIR := 
-$(PKG)_SUBDIR   := miscellaneous
+$(PKG)_SUBDIR   := miscellaneous-$($(PKG)_VERSION)
 $(PKG)_FILE     := miscellaneous-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
-$(PKG)_DEPS     := of-general
+$(PKG)_DEPS     := of-general units
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(OCTAVE_FORGE_PKG_UPDATE)
 endef
 
 define $(PKG)_BUILD
-    $(OCTAVE_FORGE_PKD_BUILD)
+    $(call OCTAVE_FORGE_PKG_BUILD,$(1),$(2),$(3),UNITS_AVAILABLE=yes)
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-nan.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-nan
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.5.0
+$(PKG)_CHECKSUM := e3da003f05220dd2898244a2f7ba3d3436f0c16a
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := nan-$($(PKG)_VERSION)
+$(PKG)_FILE     := nan-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-netcdf.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-netcdf
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.14
+$(PKG)_CHECKSUM := 46c84940f54b99d68f879720bcf6c827fa1a54f9
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := netcdf-$($(PKG)_VERSION)
+$(PKG)_FILE     := netcdf-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := netcdf
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-nurbs-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,90 @@
+# HG changeset patch
+# User John Donoghue
+# Date 1443634028 14400
+#      Wed Sep 30 13:27:08 2015 -0400
+# Node ID 41f9bc725e8fdc8d07efeedd09da84a013bb14c0
+# Parent  fcd14dc97757ba4f3da5dbd4571b38a407235d2a
+typecast constants to octave_idx_type (Bug #46081)
+
+* src/low_level_functions.cc: use octave_idx_type(0) for constant to idx_vector
+
+* src/nrb_srf_basisfun__.cc: use typecase octave_idx_type for constants
+
+* src/nrb_srf_basisfun_der__.cc: use typecase octave_idx_type for constants
+
+* src/nrbsurfderiveval.c: use use octave_idx_type(3) for constant to idx_vector
+
+diff -r fcd14dc97757 -r 41f9bc725e8f src/low_level_functions.cc
+--- a/src/low_level_functions.cc	Mon Sep 14 16:59:10 2015 +0100
++++ b/src/low_level_functions.cc	Wed Sep 30 13:27:08 2015 -0400
+@@ -306,7 +306,7 @@
+ 	  octave_idx_type dd = (d-k) <= dv ? (d-k) : dv;
+ 	  Matrix temp (dd <= m ? (dd+1) : (m+1), m+1, 0.0);
+ 	  
+-	  idxva (0) = idx_vector(k); idxva (1) = idx_vector(0);
++	  idxva (0) = idx_vector(k); idxva (1) = idx_vector(octave_idx_type(0));
+ 	  idxva (2) = idx_vector(i); idxva (3) = idx_vector(':');
+ 	  NDArray temp2 (pkl.index (idxva));
+ 	  curvederivcpts (m, q, V.extract (s1, V.numel () - 1),
+diff -r fcd14dc97757 -r 41f9bc725e8f src/nrb_srf_basisfun__.cc
+--- a/src/nrb_srf_basisfun__.cc	Mon Sep 14 16:59:10 2015 +0100
++++ b/src/nrb_srf_basisfun__.cc	Wed Sep 30 13:27:08 2015 -0400
+@@ -40,10 +40,10 @@
+       octave_idx_type q   = static_cast<octave_idx_type> ((nrb.contents("order").vector_value())(1)) - 1;  // q    = nrb.order(2) -1;
+ 
+       Array<idx_vector> idx(dim_vector (2, 1), idx_vector(':')); 
+-      idx(0) = 0;
++      idx(0) = octave_idx_type(0);
+       const NDArray u(points.index (idx).squeeze ()); // u = points(1,:);
+ 
+-      idx(0) = 1;
++      idx(0) = octave_idx_type(1);
+       const NDArray v(points.index (idx).squeeze ()); // v = points(2,:);      
+ 
+       octave_idx_type npt = u.numel (); // npt = length(u);
+@@ -56,7 +56,7 @@
+ 
+       const RowVector V(knots(1).row_vector_value ()); // V = nrb.knots{2};
+       
+-      Array<idx_vector> idx2(dim_vector (3, 1), idx_vector(':')); idx2(0) = 3;
++      Array<idx_vector> idx2(dim_vector (3, 1), idx_vector(':')); idx2(0) = octave_idx_type(3);
+       NDArray w (coefs.index (idx2).squeeze ()); // w = squeeze(nrb.coefs(4,:,:));
+       
+       RowVector spu(u);
+diff -r fcd14dc97757 -r 41f9bc725e8f src/nrb_srf_basisfun_der__.cc
+--- a/src/nrb_srf_basisfun_der__.cc	Mon Sep 14 16:59:10 2015 +0100
++++ b/src/nrb_srf_basisfun_der__.cc	Wed Sep 30 13:27:08 2015 -0400
+@@ -40,10 +40,10 @@
+       octave_idx_type q   = static_cast<octave_idx_type> ((nrb.contents("order").vector_value())(1)) - 1;  // q    = nrb.order(2) -1;
+ 
+       Array<idx_vector> idx(dim_vector (2, 1), idx_vector(':')); 
+-      idx(0) = 0;
++      idx(0) = octave_idx_type(0);
+       const NDArray u(points.index (idx).squeeze ()); // u = points(1,:);
+       
+-      idx(0) = 1;
++      idx(0) = octave_idx_type(1);
+       const NDArray v(points.index (idx).squeeze ()); // v = points(2,:);      
+       
+       octave_idx_type npt = u.numel (); // npt = length(u);
+@@ -63,7 +63,7 @@
+ 
+       const RowVector V(knots(1).row_vector_value ()); // V = nrb.knots{2};
+       
+-      Array<idx_vector> idx2(dim_vector (3, 1), idx_vector(':')); idx2(0) = 3;
++      Array<idx_vector> idx2(dim_vector (3, 1), idx_vector(':')); idx2(0) = octave_idx_type(3);
+       NDArray w (coefs.index (idx2).squeeze ()); // w = squeeze(nrb.coefs(4,:,:));
+       
+       RowVector spu(u);
+diff -r fcd14dc97757 -r 41f9bc725e8f src/nrbsurfderiveval.cc
+--- a/src/nrbsurfderiveval.cc	Mon Sep 14 16:59:10 2015 +0100
++++ b/src/nrbsurfderiveval.cc	Wed Sep 30 13:27:08 2015 -0400
+@@ -119,7 +119,7 @@
+       NDArray coefs  = srf.contents("coefs").array_value();
+       
+       Array<idx_vector> idx(dim_vector (3, 1), idx_vector(':'));	 
+-      idx (0) = idx_vector (3);
++      idx (0) = idx_vector (octave_idx_type(3));
+       Matrix weights (NDArray (coefs.index (idx).squeeze ()));
+ 
+       for (octave_idx_type iu(0); iu<uv.cols (); iu++)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-nurbs-2-dev-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,80 @@
+diff -ur nurbs-1.3.13.orig/src/bspeval.cc nurbs-1.3.13/src/bspeval.cc
+--- nurbs-1.3.13.orig/src/bspeval.cc	2019-01-02 14:26:02.941385714 -0500
++++ nurbs-1.3.13/src/bspeval.cc	2019-01-02 14:27:40.507737151 -0500
+@@ -113,7 +113,7 @@
+       error("bspeval: the knot vector should be a real vector."); 
+       return true; 
+     } 
+-  if (!args(3).is_real_type()) 
++  if (!args(3).isreal()) 
+     { 
+       error("bspeval: the set of parametric points should be an array of doubles."); 
+       return true; 
+diff -ur nurbs-1.3.13.orig/src/tbasisfun.cc nurbs-1.3.13/src/tbasisfun.cc
+--- nurbs-1.3.13.orig/src/tbasisfun.cc	2019-01-02 14:26:02.941385714 -0500
++++ nurbs-1.3.13/src/tbasisfun.cc	2019-01-02 14:27:54.744080103 -0500
+@@ -156,7 +156,7 @@
+   RowVector N(u.cols ());
+   double *Nptr = N.fortran_vec ();
+ 
+-  if (! args(2).is_cell ())
++  if (! args(2).iscell ())
+     {
+ 
+       double p = args(1).idx_type_value ();
+diff -ur nurbs-1.3.13.orig/src/nrb_srf_basisfun__.cc nurbs-1.3.13/src/nrb_srf_basisfun__.cc
+--- nurbs-1.3.13.orig/src/nrb_srf_basisfun__.cc	2019-01-02 14:34:00.900891192 -0500
++++ nurbs-1.3.13/src/nrb_srf_basisfun__.cc	2019-01-02 14:34:46.781994244 -0500
+@@ -66,7 +66,7 @@
+ 	} // spu  =  findspan (m, p, u, U); 
+ 
+       newargs(3) = U; newargs(2) = p; newargs(1) = u; newargs(0) = spu;
+-      Matrix Ik = feval (std::string("numbasisfun"), newargs, 1)(0).matrix_value (); // Ik = numbasisfun (spu, u, p, U);
++      Matrix Ik = octave::feval (std::string("numbasisfun"), newargs, 1)(0).matrix_value (); // Ik = numbasisfun (spu, u, p, U);
+ 
+       RowVector spv(v);
+       for (octave_idx_type ii(0); ii < v.numel (); ii++)
+@@ -75,7 +75,7 @@
+ 	} // spv  =  findspan (n, q, v, V);
+ 
+       newargs(3) = V; newargs(2) = q; newargs(1) = v; newargs(0) = spv;
+-      Matrix Jk = feval (std::string("numbasisfun"), newargs, 1)(0).matrix_value (); // Jk = numbasisfun (spv, v, q, V);
++      Matrix Jk = octave::feval (std::string("numbasisfun"), newargs, 1)(0).matrix_value (); // Jk = numbasisfun (spv, v, q, V);
+ 
+       Matrix NuIkuk(npt, p+1, 0.0);
+       for (octave_idx_type ii(0); ii < npt; ii++)
+diff -ur nurbs-1.3.13.orig/src/nrb_srf_basisfun_der__.cc nurbs-1.3.13/src/nrb_srf_basisfun_der__.cc
+--- nurbs-1.3.13.orig/src/nrb_srf_basisfun_der__.cc	2019-01-02 14:34:00.900891192 -0500
++++ nurbs-1.3.13/src/nrb_srf_basisfun_der__.cc	2019-01-02 14:35:50.667529890 -0500
+@@ -73,7 +73,7 @@
+ 	} // spu  =  findspan (m, p, u, U); 
+ 
+       newargs(3) = U; newargs(2) = p; newargs(1) = u; newargs(0) = spu;
+-      Matrix Ik = feval (std::string("numbasisfun"), newargs, 1)(0).matrix_value (); // Ik = numbasisfun (spu, u, p, U);
++      Matrix Ik = octave::feval (std::string("numbasisfun"), newargs, 1)(0).matrix_value (); // Ik = numbasisfun (spu, u, p, U);
+ 
+       RowVector spv(v);
+       for (octave_idx_type ii(0); ii < v.numel (); ii++)
+@@ -82,7 +82,7 @@
+ 	} // spv  =  findspan (n, q, v, V);
+ 
+       newargs(3) = V; newargs(2) = q; newargs(1) = v; newargs(0) = spv;
+-      Matrix Jk = feval (std::string("numbasisfun"), newargs, 1)(0).matrix_value (); // Jk = numbasisfun (spv, v, q, V);
++      Matrix Jk = octave::feval (std::string("numbasisfun"), newargs, 1)(0).matrix_value (); // Jk = numbasisfun (spv, v, q, V);
+ 
+       Matrix NuIkuk(npt, p+1, 0.0);
+       for (octave_idx_type ii(0); ii < npt; ii++)
+@@ -100,11 +100,11 @@
+ 
+      
+       newargs(4) = 1; newargs(3) = U; newargs(2) = u; newargs(1) = p; newargs(0) = spu;
+-      NDArray NuIkukprime = feval (std::string("basisfunder"), newargs, 1)(0).array_value (); //   NuIkukprime = basisfunder (spu, p, u, U, 1);
++      NDArray NuIkukprime = octave::feval (std::string("basisfunder"), newargs, 1)(0).array_value (); //   NuIkukprime = basisfunder (spu, p, u, U, 1);
+                                                                                               //   NuIkukprime = squeeze(NuJkukprime(:,2,:));
+       
+       newargs(4) = 1; newargs(3) = V; newargs(2) = v; newargs(1) = q; newargs(0) = spv;
+-      NDArray NvJkvkprime = feval (std::string("basisfunder"), newargs, 1)(0).array_value (); //   NvJkvkprime = basisfunder (spv, q, v, V, 1);
++      NDArray NvJkvkprime = octave::feval (std::string("basisfunder"), newargs, 1)(0).array_value (); //   NvJkvkprime = basisfunder (spv, q, v, V, 1);
+                                                                                               //   NvJkvkprime = squeeze(NvJkvkprime(:,2,:));
+       
+       for (octave_idx_type k(0); k < npt; k++) 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-nurbs.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-nurbs
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3.13
+$(PKG)_CHECKSUM := ae884f4edf4ee121928ff40e2e06372d2ef8f50a
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := nurbs-$($(PKG)_VERSION)
+$(PKG)_FILE     := nurbs-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     :=
+ifeq ($(USE_SYSTEM_GCC),no)
+  $(PKG)_DEPS += libgomp
+endif
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-ocs-1-cross-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,15 @@
+diff -ur ocs.old/src/Makefile ocs/src/Makefile
+--- ocs.old/src/Makefile	2015-07-07 20:23:51.000000000 -0400
++++ ocs/src/Makefile	2015-07-07 20:24:25.000000000 -0400
+@@ -1,9 +1,10 @@
+ OCTFILES:=Mshichmanhodgesmosfet.oct
++MKOCTFILE ?= mkoctfile
+ 
+ all: $(OCTFILES)
+ 
+ %.oct:  %.cc
+-	mkoctfile $<
++	$(MKOCTFILE) $<
+ 
+ clean:
+ 	-rm -f *.o core octave-core *.oct *~
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-ocs-2-dev-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,20 @@
+--- a/src/Mshichmanhodgesmosfet.cc	2015-08-17 19:02:20.000000000 +0200
++++ a/src/Mshichmanhodgesmosfet.cc	2018-12-24 15:28:45.472849403 +0100
+@@ -319,7 +319,7 @@
+   if (args(1).length() == args(2).length())
+     {
+       parameters     = args(1).column_vector_value();
+-      parameternames = args(2).all_strings();
++      parameternames = args(2).string_vector_value();
+     }
+   else
+     error("Mshichmanhodgesmosfet: parameters and parameternames are expected to have the same length.\n");
+@@ -329,7 +329,7 @@
+   else
+     error("Mshichmanhodgesmosfet: five external values expected.\n");
+   // Internal variables
+-  if (args(4).is_empty())
++  if (args(4).isempty())
+     {}
+   else if (args(4).length() == 5)
+     intvar = args(4).column_vector_value();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-ocs-3-break-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,255 @@
+From 5df16dfd3522c2d1c4fdf7ed28f9efefc1b64df5 Mon Sep 17 00:00:00 2001
+From: JohnD <john.donoghue@ieee.org>
+Date: Fri, 4 May 2018 08:41:26 -0400
+Subject: [PATCH] remove 'break' statement from switch statements (Bug #51510)
+
+* inst/sbn/Mcapacitors.m, inst/sbn/Mcurrentsources.m,
+  inst/sbn/Mdiode.m, inst/sbn/Mnmosfet.m, inst/sbn/Mpmosfet.m,
+  inst/sbn/Mresistors.m, inst/sbn/Mshichmanhodgesmosfet.m,
+  inst/sbn/Mvoltagesources.m: remove break; from switch statements
+---
+ inst/sbn/Mcapacitors.m           | 6 +-----
+ inst/sbn/Mcurrentsources.m       | 2 --
+ inst/sbn/Mdiode.m                | 3 ---
+ inst/sbn/Mnmosfet.m              | 2 --
+ inst/sbn/Mpmosfet.m              | 3 ---
+ inst/sbn/Mresistors.m            | 5 -----
+ inst/sbn/Mshichmanhodgesmosfet.m | 7 +------
+ inst/sbn/Mvoltagesources.m       | 8 ++------
+ 8 files changed, 4 insertions(+), 32 deletions(-)
+
+diff --git a/inst/sbn/Mcapacitors.m b/inst/sbn/Mcapacitors.m
+index fdb22b1..7c3784e 100644
+--- a/inst/sbn/Mcapacitors.m
++++ b/inst/sbn/Mcapacitors.m
+@@ -72,7 +72,6 @@ function [a,b,c] = Mcapacitors(string,parameters,parameternames,extvar,intvar,t)
+       a = [0 0 1; 0 0 -1; 0 0 0];
+       b = [0 0 0;0 0 0;-C C 1];
+       c = [0 0 0]';
+-      break
+ 
+     case "MULTICAP"
+       
+@@ -83,8 +82,6 @@ function [a,b,c] = Mcapacitors(string,parameters,parameternames,extvar,intvar,t)
+       b = [zeros(n) zeros(n); -C eye(n)];
+       c = [zeros(2*n,1)]';
+       
+-      break  
+-
+       ##NLC part
+     case "PDE_NMOS"
+       
+@@ -111,7 +108,6 @@ function [a,b,c] = Mcapacitors(string,parameters,parameternames,extvar,intvar,t)
+       a = [0 0 1; 0 0 -1; 0 0 0];
+       b = [0 0 0;0 0 0;C -C -1];
+       c = [0 0 Q-q]';
+-      break  
+ 
+     otherwise
+       error (["unknown section:" string])
+@@ -175,4 +171,4 @@ function [Q,C]=Mnmoscap(tbulk,tox,Area,Vg,Na,Nnodes,toll,maxit);
+   C = Area*C*(q*ns*xs/Vs);
+   Q = Area*Q*(q*ns*xs);
+ 
+-endfunction
+\ No newline at end of file
++endfunction
+diff --git a/inst/sbn/Mcurrentsources.m b/inst/sbn/Mcurrentsources.m
+index 707aa75..e65078c 100644
+--- a/inst/sbn/Mcurrentsources.m
++++ b/inst/sbn/Mcurrentsources.m
+@@ -71,7 +71,6 @@ function [a,b,c] = Mcurrentsources (string,parameters,parameternames,extvar,intv
+       a = zeros(2);
+       b = a;
+       c = [I -I]';
+-      break
+ 
+     case "VCCS"
+       ## Voltage controlled current source
+@@ -96,7 +95,6 @@ function [a,b,c] = Mcurrentsources (string,parameters,parameternames,extvar,intv
+       a = zeros(2);
+       b = a;
+       c = [I -I]';
+-      break
+       
+     case "VCPS"
+       ## Voltage controlled power source
+diff --git a/inst/sbn/Mdiode.m b/inst/sbn/Mdiode.m
+index 9db5410..44a4b00 100644
+--- a/inst/sbn/Mdiode.m
++++ b/inst/sbn/Mdiode.m
+@@ -74,7 +74,6 @@ function [a,b,c] = Mdiode (string,parameters,parameternames,extvar,intvar,t)
+       a = zeros(2);
+       b = [geq -geq; -geq geq];
+       c = [I ; -I] ;
+-      break
+ 
+     case "PDEsymmetric"
+ 
+@@ -102,8 +101,6 @@ function [a,b,c] = Mdiode (string,parameters,parameternames,extvar,intvar,t)
+       b = [g -g; -g g];
+       c = [I ; -I] ;
+       
+-      break
+-
+     otherwise
+       error(["unknown section:" string])
+   endswitch
+diff --git a/inst/sbn/Mnmosfet.m b/inst/sbn/Mnmosfet.m
+index 5fe4962..e2b9504 100644
+--- a/inst/sbn/Mnmosfet.m
++++ b/inst/sbn/Mnmosfet.m
+@@ -112,7 +112,6 @@ function [a,b,c]=Mnmosfet(string,parameters,parameternames,extvar,intvar,t)
+ 	   0    0       0  0];
+       
+       c = [0 -id id 0]';
+-      break;
+ 
+     case "lincap"
+ 
+@@ -153,7 +152,6 @@ function [a,b,c]=Mnmosfet(string,parameters,parameternames,extvar,intvar,t)
+       b = B+Jac;
+       c = res + B*[extvar;intvar] + C;
+ 
+-      break;
+     otherwise
+       error(["unknown option:" string]);
+   endswitch
+diff --git a/inst/sbn/Mpmosfet.m b/inst/sbn/Mpmosfet.m
+index c4fbae3..58ef919 100644
+--- a/inst/sbn/Mpmosfet.m
++++ b/inst/sbn/Mpmosfet.m
+@@ -108,7 +108,6 @@ function [a,b,c]= Mpmosfet (string,parameters,parameternames,extvar,intvar,t)
+            0    0       0   0 ];
+       
+       c =[0 -id id 0]';
+-      break;
+ 
+     case "lincap"
+       
+@@ -144,8 +143,6 @@ function [a,b,c]= Mpmosfet (string,parameters,parameternames,extvar,intvar,t)
+       b = B+Jac;
+       c = res + B*[extvar;intvar] + C;
+ 
+-      break;
+-
+     otherwise
+       error(["unknown option:" string]);
+   endswitch
+diff --git a/inst/sbn/Mresistors.m b/inst/sbn/Mresistors.m
+index e8862b9..e0d43d4 100644
+--- a/inst/sbn/Mresistors.m
++++ b/inst/sbn/Mresistors.m
+@@ -75,7 +75,6 @@ function [a,b,c] = Mresistors (string, parameters, parameternames,
+       b = [1 -1 ;-1 1]/R;
+       c = -[0; 0];
+       
+-      break
+       ##NLCpart
+     case "THERMAL"
+ 
+@@ -100,8 +99,6 @@ function [a,b,c] = Mresistors (string, parameters, parameternames,
+ 	   -2*(v1-v2)/RT -2*(v2-v1)/RT (v1-v2)^2*dRdT/RT^2];
+       c = [i1 i2 P]';
+       
+-      break;
+-      
+       case "THERMAL1D"
+       	 
+ 	 for ii=1:length(parameternames)
+@@ -123,8 +120,6 @@ function [a,b,c] = Mresistors (string, parameters, parameternames,
+ 	 b = k*(S/h)*[B(ext,ext), B(ext,int); B(int,ext), B(int,int)];
+ 	 c = zeros(N+1,1);
+       
+-      break;
+-      
+       otherwise
+       error (["unknown section:" string])
+   endswitch
+diff --git a/inst/sbn/Mshichmanhodgesmosfet.m b/inst/sbn/Mshichmanhodgesmosfet.m
+index d5a2c93..893872d 100644
+--- a/inst/sbn/Mshichmanhodgesmosfet.m
++++ b/inst/sbn/Mshichmanhodgesmosfet.m
+@@ -140,9 +140,6 @@ function [a,b,c]= Mshichmanhodgesmosfet (string,parameters,parameternames,extvar
+ 	
+ 	c = [c1;c2];
+ 	
+-
+-	break;
+-
+       case "PMOS"
+ 	
+ 	rd   = 1e6;
+@@ -218,8 +215,6 @@ function [a,b,c]= Mshichmanhodgesmosfet (string,parameters,parameternames,extvar
+ 	
+ 	c = [c1;c2];
+ 	
+-	break;
+-
+       otherwise
+ 	error(["unknown option:" string]);
+     endswitch
+@@ -329,4 +324,4 @@ function [gm,gd,ids,didT,P,dPdT,dPdvgs,dPdvds] = pmos(extvar,mu0,Cox,W,L,Vth,rd,
+   dPdvgs  = -(gm*vds);
+   dPdvds  = -(gd*vds + ids);
+   
+-endfunction
+\ No newline at end of file
++endfunction
+diff --git a/inst/sbn/Mvoltagesources.m b/inst/sbn/Mvoltagesources.m
+index b0a9819..e0a2408 100644
+--- a/inst/sbn/Mvoltagesources.m
++++ b/inst/sbn/Mvoltagesources.m
+@@ -92,7 +92,7 @@ function [a,b,c] = Mvoltagesources (string,parameters,parameternames,extvar,intv
+       a = zeros(3);
+       b = [0 0 1;0 0 -1;1 -1 0];
+       c = [0 0 -V];
+-      break
++
+       ## NLC part
+     case "sinwave"
+       for ii=1:length(parameternames)
+@@ -105,7 +105,6 @@ function [a,b,c] = Mvoltagesources (string,parameters,parameternames,extvar,intv
+       a = zeros(3);
+       b = [0 0 1;0 0 -1;1 -1 0];
+       c = [0 0 -DV]' + b * [extvar;intvar];
+-      break
+     
+     case "pwl"
+ 
+@@ -118,7 +117,6 @@ function [a,b,c] = Mvoltagesources (string,parameters,parameternames,extvar,intv
+       a = zeros(3);
+       b = [0 0 1;0 0 -1;1 -1 0];
+       c = [0 0 -DV]' + b * [extvar;intvar];
+-      break
+       
+     case "squarewave"
+       for ii=1:length(parameternames)
+@@ -144,7 +142,6 @@ function [a,b,c] = Mvoltagesources (string,parameters,parameternames,extvar,intv
+       a = zeros(3);
+       b = [0 0 1;0 0 -1;1 -1 0];
+       c = [0 0 -DV]' + b * [extvar;intvar];
+-      break
+ 
+     case "step"
+       for ii=1:length(parameternames)
+@@ -162,7 +159,6 @@ function [a,b,c] = Mvoltagesources (string,parameters,parameternames,extvar,intv
+       a = zeros(3);
+       b = [0 0 1;0 0 -1;1 -1 0];
+       c = [0 0 -DV]' + b * [extvar;intvar];
+-      break
+       
+     case "VCVS"
+       K = 1;
+@@ -175,7 +171,7 @@ function [a,b,c] = Mvoltagesources (string,parameters,parameternames,extvar,intv
+       a = zeros(5);
+       b = [0 0 0 0 1;0 0 0 0 -1;0 0 0 0 0;0 0 0 0 0;1 -1 -K K 0];
+       c = zeros(5,1);
+-      break
++
+     otherwise
+       error (["unknown section:" string])
+   endswitch
+-- 
+2.14.3
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-ocs-4-pkgadd-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,86 @@
+diff -urN ocs.orig/inst/PKG_ADD ocs/inst/PKG_ADD
+--- ocs.orig/inst/PKG_ADD	1969-12-31 19:00:00.000000000 -0500
++++ ocs/inst/PKG_ADD	2020-09-13 08:06:36.699521609 -0400
+@@ -0,0 +1,18 @@
++dirlist = {"utl", "asm", "tst", "nls", "prs", "sbn"};
++dirname = fileparts (canonicalize_file_name (mfilename ("fullpath")));
++
++if (! exist (fullfile (dirname, "inst"), "dir"))
++  ## Run this if the package is installed
++  for ii=1:length (dirlist)
++    addpath (fullfile (dirname, dirlist{ii}), "-end")
++  endfor
++else
++  ## Run this if we are testing the package without installation
++  for ii=1:length(dirlist)
++    addpath (fullfile (dirname, "inst", dirlist{ii}))
++    addpath (fullfile (dirname, "src"))
++  endfor
++endif
++
++warning ("off", "Octave:fopen-file-in-path");
++clear dirlist dirname
+diff -urN ocs.orig/inst/PKG_DEL ocs/inst/PKG_DEL
+--- ocs.orig/inst/PKG_DEL	1969-12-31 19:00:00.000000000 -0500
++++ ocs/inst/PKG_DEL	2020-09-13 08:06:53.439465439 -0400
+@@ -0,0 +1,17 @@
++dirlist = {"utl", "asm", "tst", "nls", "prs", "sbn"};
++dirname = fileparts (canonicalize_file_name (mfilename ("fullpath")));
++
++if (! exist (fullfile (dirname, "inst"), "dir"))
++  ## Run this if the package is installed
++  for ii=1:length (dirlist)
++    rmpath (fullfile (dirname, dirlist{ii}))
++  endfor
++else
++  ## Run this if we are testing the package without installation
++  for ii=1:length (dirlist)
++    rmpath (fullfile (dirname, "inst", dirlist{ii}))
++  endfor
++  rmpath (fullfile (dirname, "src"))
++endif
++
++clear dirlist dirname
+diff -urN ocs.orig/PKG_ADD ocs/PKG_ADD
+--- ocs.orig/PKG_ADD	2020-09-13 07:58:33.528279580 -0400
++++ ocs/PKG_ADD	1969-12-31 19:00:00.000000000 -0500
+@@ -1,18 +0,0 @@
+-dirlist = {"utl", "asm", "tst", "nls", "prs", "sbn"};
+-dirname = fileparts (canonicalize_file_name (mfilename ("fullpath")));
+-
+-if (! exist (fullfile (dirname, "inst"), "dir"))
+-  ## Run this if the package is installed
+-  for ii=1:length (dirlist)
+-    addpath (fullfile (dirname, "..", dirlist{ii}), "-end")
+-  endfor
+-else
+-  ## Run this if we are testing the package without installation
+-  for ii=1:length(dirlist)
+-    addpath (fullfile (dirname, "inst", dirlist{ii}))
+-    addpath (fullfile (dirname, "src"))
+-  endfor
+-endif
+-
+-warning ("off", "Octave:fopen-file-in-path");
+-clear dirlist dirname
+diff -urN ocs.orig/PKG_DEL ocs/PKG_DEL
+--- ocs.orig/PKG_DEL	2020-09-13 07:58:33.528279580 -0400
++++ ocs/PKG_DEL	1969-12-31 19:00:00.000000000 -0500
+@@ -1,17 +0,0 @@
+-dirlist = {"utl", "asm", "tst", "nls", "prs", "sbn"};
+-dirname = fileparts (canonicalize_file_name (mfilename ("fullpath")));
+-
+-if (! exist (fullfile (dirname, "inst"), "dir"))
+-  ## Run this if the package is installed
+-  for ii=1:length (dirlist)
+-    rmpath (fullfile (dirname, "..", dirlist{ii}))
+-  endfor
+-else
+-  ## Run this if we are testing the package without installation
+-  for ii=1:length (dirlist)
+-    rmpath (fullfile (dirname, "inst", dirlist{ii}))
+-  endfor
+-  rmpath (fullfile (dirname, "src"))
+-endif
+-
+-clear dirlist dirname
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-ocs-5-no-odepkg.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,12 @@
+diff --git a/DESCRIPTION b/DESCRIPTION
+index 4b6f0f7..0c710dd 100644
+--- a/DESCRIPTION
++++ b/DESCRIPTION
+@@ -5,6 +5,6 @@ Author: Carlo de Falco, Culpo Massimiliano, Marco Merlin
+ Maintainer: Carlo de Falco, Culpo Massimiliano
+ Title: Octave Circuit Simulator
+ Description: Package for solving DC and transient electrical circuit equations 
+-Depends: octave (>= 3.0.0), odepkg
++Depends: octave (>= 4.4.0)
+ Autoload: no
+ License: GPLv2+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-ocs.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-ocs
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.1.5
+$(PKG)_CHECKSUM := 4cb871bcd96e8443e9839525c2721b99957fc75c
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := ocs
+$(PKG)_FILE     := ocs-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-octcdf.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,26 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+# NOTE: octcdf is now depreciated - use of netcdf is encouraged instead
+
+PKG             := of-octcdf
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.10
+$(PKG)_CHECKSUM := 96efa6d45fe79480d7de090e759f19d8324cfd21
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := octcdf
+$(PKG)_FILE     := octcdf-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := netcdf
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-odepkg-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,444 @@
+diff -uNr a/src/odepkg_octsolver_ddaskr.cc b/src/odepkg_octsolver_ddaskr.cc
+--- a/src/odepkg_octsolver_ddaskr.cc	2015-05-19 09:48:44.000000000 -0400
++++ b/src/odepkg_octsolver_ddaskr.cc	2016-08-31 14:22:43.798913906 -0400
+@@ -42,6 +42,10 @@
+ #include <parse.h>
+ #include "odepkg_auxiliary_functions.h"
+ 
++#if ! defined (GCC_ATTR_UNUSED)
++#  define GCC_ATTR_UNUSED OCTAVE_UNUSED
++#endif
++
+ typedef octave_idx_type (*odepkg_ddaskr_restype)
+   (const double& T, const double* Y, const double* YPRIME,
+    const double& CJ, double* DELTA, octave_idx_type& IRES,
+diff -uNr a/src/odepkg_octsolver_mebdfdae.cc b/src/odepkg_octsolver_mebdfdae.cc
+--- a/src/odepkg_octsolver_mebdfdae.cc	2015-05-19 09:48:44.000000000 -0400
++++ b/src/odepkg_octsolver_mebdfdae.cc	2016-08-31 14:23:07.518439633 -0400
+@@ -46,6 +46,10 @@
+ #include <parse.h>
+ #include "odepkg_auxiliary_functions.h"
+ 
++#if ! defined (GCC_ATTR_UNUSED)
++#  define GCC_ATTR_UNUSED OCTAVE_UNUSED
++#endif
++
+ typedef octave_idx_type (*odepkg_mebdfdae_usrtype)
+   (const octave_idx_type& N, const double& T, const double* Y,
+    double* YDOT, const octave_idx_type* IPAR, const double* RPAR,
+diff -uNr a/src/odepkg_octsolver_mebdfi.cc b/src/odepkg_octsolver_mebdfi.cc
+--- a/src/odepkg_octsolver_mebdfi.cc	2015-05-19 09:48:44.000000000 -0400
++++ b/src/odepkg_octsolver_mebdfi.cc	2016-08-31 14:22:39.958990687 -0400
+@@ -42,6 +42,10 @@
+ #include <parse.h>
+ #include "odepkg_auxiliary_functions.h"
+ 
++#if ! defined (GCC_ATTR_UNUSED)
++#  define GCC_ATTR_UNUSED OCTAVE_UNUSED
++#endif
++
+ /* -*- texinfo -*-
+  * @subsection Source File @file{odepkg_octsolver_mebdfi.cc}
+  *
+diff -uNr a/src/odepkg_octsolver_radau5.cc b/src/odepkg_octsolver_radau5.cc
+--- a/src/odepkg_octsolver_radau5.cc	2015-05-19 09:48:44.000000000 -0400
++++ b/src/odepkg_octsolver_radau5.cc	2016-08-31 14:51:45.128382513 -0400
+@@ -37,24 +37,28 @@
+ #include <parse.h>
+ #include "odepkg_auxiliary_functions.h"
+ 
+-typedef octave_idx_type (*odepkg_radau5_usrtype)
++#if ! defined (GCC_ATTR_UNUSED)
++#  define GCC_ATTR_UNUSED OCTAVE_UNUSED
++#endif
++
++typedef F77_RET_T (*odepkg_radau5_usrtype)
+   (const octave_idx_type& N, const double& X, const double* Y, double* F,
+    GCC_ATTR_UNUSED const double* RPAR, 
+    GCC_ATTR_UNUSED const octave_idx_type* IPAR);
+ 
+-typedef octave_idx_type (*odepkg_radau5_jactype)
++typedef F77_RET_T (*odepkg_radau5_jactype)
+   (const octave_idx_type& N, const double& X, const double* Y, double* DFY,
+    GCC_ATTR_UNUSED const octave_idx_type& LDFY,
+    GCC_ATTR_UNUSED const double* RPAR,
+    GCC_ATTR_UNUSED const octave_idx_type* IPAR);
+ 
+-typedef octave_idx_type (*odepkg_radau5_masstype)
++typedef F77_RET_T (*odepkg_radau5_masstype)
+   (const octave_idx_type& N, double* AM, 
+    GCC_ATTR_UNUSED const octave_idx_type* LMAS, 
+    GCC_ATTR_UNUSED const double* RPAR,
+    GCC_ATTR_UNUSED const octave_idx_type* IPAR);
+ 
+-typedef octave_idx_type (*odepkg_radau5_soltype)
++typedef F77_RET_T (*odepkg_radau5_soltype)
+   (const octave_idx_type& NR, const double& XOLD, const double& X,
+    const double* Y, const double* CONT, const octave_idx_type* LRC,
+    const octave_idx_type& N, GCC_ATTR_UNUSED const double* RPAR,
+@@ -91,7 +95,7 @@
+ static octave_value vradau5mass;
+ static octave_value vradau5massstate;
+ 
+-octave_idx_type odepkg_radau5_usrfcn
++F77_RET_T odepkg_radau5_usrfcn
+   (const octave_idx_type& N, const double& X, const double* Y, 
+    double* F, GCC_ATTR_UNUSED const double* RPAR, 
+    GCC_ATTR_UNUSED const octave_idx_type* IPAR) {
+@@ -119,10 +123,10 @@
+   for (octave_idx_type vcnt = 0; vcnt < N; vcnt++)
+     F[vcnt] = vcol(vcnt);
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+-octave_idx_type odepkg_radau5_jacfcn
++F77_RET_T odepkg_radau5_jacfcn
+   (const octave_idx_type& N, const double& X, const double* Y,
+    double* DFY, GCC_ATTR_UNUSED const octave_idx_type& LDFY,
+    GCC_ATTR_UNUSED const double* RPAR,
+@@ -146,7 +150,7 @@
+      for (octave_idx_type vrow = 0; vrow < N; vrow++)
+        DFY[vrow+vcol*N] = vdfy (vrow, vcol);
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+ F77_RET_T odepkg_radau5_massfcn
+@@ -176,10 +180,10 @@
+     for (octave_idx_type vcol = 0; vcol < N; vcol++)
+       AM[vrow+vcol*N] = vam (vrow, vcol);
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+-octave_idx_type odepkg_radau5_solfcn
++F77_RET_T odepkg_radau5_solfcn
+   (const octave_idx_type& NR, const double& XOLD, const double& X,
+    const double* Y, const double* CONT, const octave_idx_type* LRC,
+    const octave_idx_type& N, GCC_ATTR_UNUSED const double* RPAR,
+@@ -241,7 +245,7 @@
+       (vradau5pltfun, vradau5outsel, vt, vy, vradau5extarg, 1);
+   }
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+ // PKG_ADD: autoload ("ode5r",  "dldsolver.oct");
+diff -uNr a/src/odepkg_octsolver_radau.cc b/src/odepkg_octsolver_radau.cc
+--- a/src/odepkg_octsolver_radau.cc	2015-05-19 09:48:44.000000000 -0400
++++ b/src/odepkg_octsolver_radau.cc	2016-08-31 14:44:01.261572457 -0400
+@@ -37,24 +37,28 @@
+ #include <parse.h>
+ #include "odepkg_auxiliary_functions.h"
+ 
+-typedef octave_idx_type (*odepkg_radau_usrtype)
++#if ! defined (GCC_ATTR_UNUSED)
++#  define GCC_ATTR_UNUSED OCTAVE_UNUSED
++#endif
++
++typedef F77_RET_T (*odepkg_radau_usrtype)
+   (const octave_idx_type& N, const double& X, const double* Y, double* F,
+    GCC_ATTR_UNUSED const double* RPAR, 
+    GCC_ATTR_UNUSED const octave_idx_type* IPAR);
+ 
+-typedef octave_idx_type (*odepkg_radau_jactype)
++typedef F77_RET_T (*odepkg_radau_jactype)
+   (const octave_idx_type& N, const double& X, const double* Y, double* DFY,
+    GCC_ATTR_UNUSED const octave_idx_type& LDFY,
+    GCC_ATTR_UNUSED const double* RPAR,
+    GCC_ATTR_UNUSED const octave_idx_type* IPAR);
+ 
+-typedef octave_idx_type (*odepkg_radau_masstype)
++typedef F77_RET_T (*odepkg_radau_masstype)
+   (const octave_idx_type& N, double* AM, 
+    GCC_ATTR_UNUSED const octave_idx_type* LMAS, 
+    GCC_ATTR_UNUSED const double* RPAR,
+    GCC_ATTR_UNUSED const octave_idx_type* IPAR);
+ 
+-typedef octave_idx_type (*odepkg_radau_soltype)
++typedef F77_RET_T (*odepkg_radau_soltype)
+   (const octave_idx_type& NR, const double& XOLD, const double& X,
+    const double* Y, const double* CONT, const octave_idx_type* LRC,
+    const octave_idx_type& N, GCC_ATTR_UNUSED const double* RPAR,
+@@ -91,7 +95,7 @@
+ static octave_value vradaumass;
+ static octave_value vradaumassstate;
+ 
+-octave_idx_type odepkg_radau_usrfcn
++F77_RET_T odepkg_radau_usrfcn
+   (const octave_idx_type& N, const double& X, const double* Y, 
+    double* F, GCC_ATTR_UNUSED const double* RPAR, 
+    GCC_ATTR_UNUSED const octave_idx_type* IPAR) {
+@@ -119,10 +123,10 @@
+   for (octave_idx_type vcnt = 0; vcnt < N; vcnt++)
+     F[vcnt] = vcol(vcnt);
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+-octave_idx_type odepkg_radau_jacfcn
++F77_RET_T odepkg_radau_jacfcn
+   (const octave_idx_type& N, const double& X, const double* Y,
+    double* DFY, GCC_ATTR_UNUSED const octave_idx_type& LDFY,
+    GCC_ATTR_UNUSED const double* RPAR,
+@@ -146,7 +150,7 @@
+      for (octave_idx_type vrow = 0; vrow < N; vrow++)
+        DFY[vrow+vcol*N] = vdfy (vrow, vcol);
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+ F77_RET_T odepkg_radau_massfcn
+@@ -176,10 +180,10 @@
+     for (octave_idx_type vcol = 0; vcol < N; vcol++)
+       AM[vrow+vcol*N] = vam (vrow, vcol);
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+-octave_idx_type odepkg_radau_solfcn
++F77_RET_T odepkg_radau_solfcn
+   (const octave_idx_type& NR, const double& XOLD, const double& X,
+    const double* Y, const double* CONT, const octave_idx_type* LRC,
+    const octave_idx_type& N, GCC_ATTR_UNUSED const double* RPAR,
+@@ -241,7 +245,7 @@
+       (vradaupltfun, vradauoutsel, vt, vy, vradauextarg, 1);
+   }
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+ // PKG_ADD: autoload ("ode2r",  "dldsolver.oct");
+diff -uNr a/src/odepkg_octsolver_rodas.cc b/src/odepkg_octsolver_rodas.cc
+--- a/src/odepkg_octsolver_rodas.cc	2015-05-19 09:48:44.000000000 -0400
++++ b/src/odepkg_octsolver_rodas.cc	2016-08-31 14:54:58.648546043 -0400
+@@ -33,6 +33,10 @@
+ #include <parse.h>
+ #include "odepkg_auxiliary_functions.h"
+ 
++#if ! defined (GCC_ATTR_UNUSED)
++#  define GCC_ATTR_UNUSED OCTAVE_UNUSED
++#endif
++
+ /* -*- texinfo -*-
+  * @subsection Source File @file{odepkg_octsolver_rodas.cc}
+  *
+@@ -47,7 +51,7 @@
+  * @end example
+  * @end deftp
+  */
+-typedef octave_idx_type (*odepkg_rodas_usrtype)
++typedef F77_RET_T (*odepkg_rodas_usrtype)
+   (const octave_idx_type& N, const double& X, const double* Y, double* F,
+    GCC_ATTR_UNUSED const double* RPAR, 
+    GCC_ATTR_UNUSED const octave_idx_type* IPAR);
+@@ -66,7 +70,7 @@
+  * @end example
+  * @end deftp
+  */
+-typedef octave_idx_type (*odepkg_rodas_jactype)
++typedef F77_RET_T (*odepkg_rodas_jactype)
+   (const octave_idx_type& N, const double& X, const double* Y, double* DFY,
+    GCC_ATTR_UNUSED const octave_idx_type& LDFY,
+    GCC_ATTR_UNUSED const double* RPAR,
+@@ -86,7 +90,7 @@
+  * @end example
+  * @end deftp
+  */
+-typedef octave_idx_type (*odepkg_rodas_masstype)
++typedef F77_RET_T (*odepkg_rodas_masstype)
+   (const octave_idx_type& N, double* AM, 
+    GCC_ATTR_UNUSED const octave_idx_type* LMAS, 
+    GCC_ATTR_UNUSED const double* RPAR,
+@@ -106,7 +110,7 @@
+  * @end example
+  * @end deftp
+  */
+-typedef octave_idx_type (*odepkg_rodas_soltype)
++typedef F77_RET_T (*odepkg_rodas_soltype)
+   (const octave_idx_type& NR, const double& XOLD, const double& X,
+    const double* Y, const double* CONT, const octave_idx_type* LRC,
+    const octave_idx_type& N, GCC_ATTR_UNUSED const double* RPAR,
+@@ -128,7 +132,7 @@
+  * @end example
+  * @end deftp
+  */
+-typedef octave_idx_type (*odepkg_rodas_dfxtype)
++typedef F77_RET_T (*odepkg_rodas_dfxtype)
+   (GCC_ATTR_UNUSED const octave_idx_type& N, GCC_ATTR_UNUSED const double& X,
+    GCC_ATTR_UNUSED const double* Y, GCC_ATTR_UNUSED const double* FX,
+    GCC_ATTR_UNUSED const double* RPAR, GCC_ATTR_UNUSED const octave_idx_type* IPAR);
+@@ -270,7 +274,7 @@
+  * @end itemize
+  * @end deftypefn
+  */
+-octave_idx_type odepkg_rodas_usrfcn
++F77_RET_T odepkg_rodas_usrfcn
+   (const octave_idx_type& N, const double& X, const double* Y, 
+    double* F, GCC_ATTR_UNUSED const double* RPAR, 
+    GCC_ATTR_UNUSED const octave_idx_type* IPAR) {
+@@ -298,7 +302,7 @@
+   for (octave_idx_type vcnt = 0; vcnt < N; vcnt++)
+     F[vcnt] = vcol(vcnt);
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+ /* -*- texinfo -*-
+@@ -317,7 +321,7 @@
+  * @end itemize
+  * @end deftypefn
+  */
+-octave_idx_type odepkg_rodas_jacfcn
++F77_RET_T odepkg_rodas_jacfcn
+   (const octave_idx_type& N, const double& X, const double* Y,
+    double* DFY, GCC_ATTR_UNUSED const octave_idx_type& LDFY,
+    GCC_ATTR_UNUSED const double* RPAR,
+@@ -341,7 +345,7 @@
+      for (octave_idx_type vrow = 0; vrow < N; vrow++)
+        DFY[vrow+vcol*N] = vdfy (vrow, vcol);
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+ /* -*- texinfo -*-
+@@ -374,13 +378,13 @@
+     for (octave_idx_type vcol = 0; vcol < N; vcol++)
+       AM[vrow+vcol*N] = vam (vrow, vcol);
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+ /* -*- texinfo -*-
+  * odepkg_rodas_solfcn - TODO
+  */
+-octave_idx_type odepkg_rodas_solfcn
++F77_RET_T odepkg_rodas_solfcn
+   (const octave_idx_type& NR, const double& XOLD, const double& X,
+    const double* Y, const double* CONT, const octave_idx_type* LRC,
+    const octave_idx_type& N, GCC_ATTR_UNUSED const double* RPAR,
+@@ -442,20 +446,20 @@
+       (vrodaspltfun, vrodasoutsel, vt, vy, vrodasextarg, 1);
+   }
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+ /* -*- texinfo -*-
+  * odepkg_rodas_solfcn - TODO dummy function
+  */
+-octave_idx_type odepkg_rodas_dfxfcn
++F77_RET_T odepkg_rodas_dfxfcn
+   (GCC_ATTR_UNUSED const octave_idx_type& N, GCC_ATTR_UNUSED const double& X,
+    GCC_ATTR_UNUSED const double* Y, GCC_ATTR_UNUSED const double* FX,
+    GCC_ATTR_UNUSED const double* RPAR, GCC_ATTR_UNUSED const octave_idx_type* IPAR) {
+ 
+    warning_with_id ("OdePkg:InvalidFunctionCall",
+      "function odepkg_rodas_dfxfcn: This warning message should never appear");
+-   return (true);
++   F77_RETURN (true);
+ }
+ 
+ // PKG_ADD: autoload ("oders",  "dldsolver.oct");
+diff -uNr a/src/odepkg_octsolver_seulex.cc b/src/odepkg_octsolver_seulex.cc
+--- a/src/odepkg_octsolver_seulex.cc	2015-05-19 09:48:44.000000000 -0400
++++ b/src/odepkg_octsolver_seulex.cc	2016-08-31 14:56:43.990460352 -0400
+@@ -37,24 +37,28 @@
+ #include <parse.h>
+ #include "odepkg_auxiliary_functions.h"
+ 
+-typedef octave_idx_type (*odepkg_seulex_usrtype)
++#if ! defined (GCC_ATTR_UNUSED)
++#  define GCC_ATTR_UNUSED OCTAVE_UNUSED
++#endif
++
++typedef F77_RET_T (*odepkg_seulex_usrtype)
+   (const octave_idx_type& N, const double& X, const double* Y,
+    double* F, GCC_ATTR_UNUSED const double* RPAR,
+    GCC_ATTR_UNUSED const octave_idx_type* IPAR);
+ 
+-typedef octave_idx_type (*odepkg_seulex_jactype)
++typedef F77_RET_T (*odepkg_seulex_jactype)
+   (const octave_idx_type& N, const double& X, const double* Y,
+    double* DFY, GCC_ATTR_UNUSED const octave_idx_type& LDFY,
+    GCC_ATTR_UNUSED const double* RPAR,
+    GCC_ATTR_UNUSED const octave_idx_type* IPAR);
+ 
+-typedef octave_idx_type (*odepkg_seulex_masstype)
++typedef F77_RET_T (*odepkg_seulex_masstype)
+   (const octave_idx_type& N, double* AM, 
+    GCC_ATTR_UNUSED const octave_idx_type* LMAS, 
+    GCC_ATTR_UNUSED const double* RPAR,
+    GCC_ATTR_UNUSED const octave_idx_type* IPAR);
+ 
+-typedef octave_idx_type (*odepkg_seulex_soltype)
++typedef F77_RET_T (*odepkg_seulex_soltype)
+   (const octave_idx_type& NR, const double& XOLD, const double& X,
+    const double* Y, const double* RC, const octave_idx_type& LRC, 
+    const double* IC, const octave_idx_type& LIC,
+@@ -94,7 +98,7 @@
+ static octave_value vseulexmass;
+ static octave_value vseulexmassstate;
+ 
+-octave_idx_type odepkg_seulex_usrfcn
++F77_RET_T odepkg_seulex_usrfcn
+   (const octave_idx_type& N, const double& X, const double* Y, 
+    double* F, GCC_ATTR_UNUSED const double* RPAR, 
+    GCC_ATTR_UNUSED const octave_idx_type* IPAR) {
+@@ -122,10 +126,10 @@
+   for (octave_idx_type vcnt = 0; vcnt < N; vcnt++)
+     F[vcnt] = vcol(vcnt);
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+-octave_idx_type odepkg_seulex_jacfcn
++F77_RET_T odepkg_seulex_jacfcn
+   (const octave_idx_type& N, const double& X, const double* Y,
+    double* DFY, GCC_ATTR_UNUSED const octave_idx_type& LDFY,
+    GCC_ATTR_UNUSED const double* RPAR,
+@@ -149,7 +153,7 @@
+      for (octave_idx_type vrow = 0; vrow < N; vrow++)
+        DFY[vrow+vcol*N] = vdfy (vrow, vcol);
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+ F77_RET_T odepkg_seulex_massfcn
+@@ -179,10 +183,10 @@
+     for (octave_idx_type vcol = 0; vcol < N; vcol++)
+       AM[vrow+vcol*N] = vam (vrow, vcol);
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+-octave_idx_type odepkg_seulex_solfcn
++F77_RET_T odepkg_seulex_solfcn
+   (const octave_idx_type& NR, const double& XOLD, const double& X,
+    const double* Y, const double* RC, const octave_idx_type& LRC,
+    const double* IC, const octave_idx_type& LIC,
+@@ -249,7 +253,7 @@
+     vseulexpltbrk = true;
+   }
+ 
+-  return (true);
++  F77_RETURN (true);
+ }
+ 
+ // PKG_ADD: autoload ("odesx",  "dldsolver.oct");
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-odepkg-2-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,88 @@
+diff -uNr a/src/odepkg_auxiliary_functions.cc b/src/odepkg_auxiliary_functions.cc
+--- a/src/odepkg_auxiliary_functions.cc	2015-05-19 09:48:44.000000000 -0400
++++ b/src/odepkg_auxiliary_functions.cc	2018-01-09 17:46:39.117869675 -0500
+@@ -16,7 +16,6 @@
+ along with this program; If not, see <http://www.gnu.org/licenses/>.
+ */
+ 
+-#include "config.h"
+ #include "oct.h"
+ #include "oct-map.h"
+ #include "parse.h"
+diff -uNr a/src/odepkg_octsolver_ddaskr.cc b/src/odepkg_octsolver_ddaskr.cc
+--- a/src/odepkg_octsolver_ddaskr.cc	2015-05-19 09:48:44.000000000 -0400
++++ b/src/odepkg_octsolver_ddaskr.cc	2018-01-09 17:46:46.701547105 -0500
+@@ -35,7 +35,6 @@
+     test 'odepkg_octsolver_ddaskr.cc'"
+ */
+ 
+-#include <config.h>
+ #include <oct.h>
+ #include <oct-map.h>
+ #include <f77-fcn.h>
+diff -uNr a/src/odepkg_octsolver_mebdfdae.cc b/src/odepkg_octsolver_mebdfdae.cc
+--- a/src/odepkg_octsolver_mebdfdae.cc	2015-05-19 09:48:44.000000000 -0400
++++ b/src/odepkg_octsolver_mebdfdae.cc	2018-01-09 17:46:52.229311233 -0500
+@@ -39,7 +39,6 @@
+ similiar to the implementation of this file.
+ */
+ 
+-#include <config.h>
+ #include <oct.h>
+ #include <oct-map.h>
+ #include <f77-fcn.h>
+diff -uNr a/src/odepkg_octsolver_mebdfi.cc b/src/odepkg_octsolver_mebdfi.cc
+--- a/src/odepkg_octsolver_mebdfi.cc	2015-05-19 09:48:44.000000000 -0400
++++ b/src/odepkg_octsolver_mebdfi.cc	2018-01-09 17:46:44.797628090 -0500
+@@ -35,7 +35,6 @@
+     test 'odepkg_octsolver_mebdfi.cc'"
+ */
+ 
+-#include <config.h>
+ #include <oct.h>
+ #include <oct-map.h>
+ #include <f77-fcn.h>
+diff -uNr a/src/odepkg_octsolver_radau5.cc b/src/odepkg_octsolver_radau5.cc
+--- a/src/odepkg_octsolver_radau5.cc	2015-05-19 09:48:44.000000000 -0400
++++ b/src/odepkg_octsolver_radau5.cc	2018-01-09 17:46:54.189227434 -0500
+@@ -30,7 +30,6 @@
+ similiar to the implementation of this file.
+ */
+ 
+-#include <config.h>
+ #include <oct.h>
+ #include <f77-fcn.h>
+ #include <oct-map.h>
+diff -uNr a/src/odepkg_octsolver_radau.cc b/src/odepkg_octsolver_radau.cc
+--- a/src/odepkg_octsolver_radau.cc	2015-05-19 09:48:44.000000000 -0400
++++ b/src/odepkg_octsolver_radau.cc	2018-01-09 17:46:42.733715876 -0500
+@@ -30,7 +30,6 @@
+ similiar to the implementation of this file.
+ */
+ 
+-#include <config.h>
+ #include <oct.h>
+ #include <f77-fcn.h>
+ #include <oct-map.h>
+diff -uNr a/src/odepkg_octsolver_rodas.cc b/src/odepkg_octsolver_rodas.cc
+--- a/src/odepkg_octsolver_rodas.cc	2015-05-19 09:48:44.000000000 -0400
++++ b/src/odepkg_octsolver_rodas.cc	2018-01-09 17:46:35.670016331 -0500
+@@ -26,7 +26,6 @@
+     test 'odepkg_octsolver_rodas.cc'"
+ */
+ 
+-#include <config.h>
+ #include <oct.h>
+ #include <f77-fcn.h>
+ #include <oct-map.h>
+diff -uNr a/src/odepkg_octsolver_seulex.cc b/src/odepkg_octsolver_seulex.cc
+--- a/src/odepkg_octsolver_seulex.cc	2015-05-19 09:48:44.000000000 -0400
++++ b/src/odepkg_octsolver_seulex.cc	2018-01-09 17:46:48.661463743 -0500
+@@ -30,7 +30,6 @@
+ similiar to the implementation of this file.
+ */
+ 
+-#include <config.h>
+ #include <oct.h>
+ #include <f77-fcn.h>
+ #include <oct-map.h>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-odepkg-3-deprecated.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,2225 @@
+diff -r 1646adc7793b src/odepkg_auxiliary_functions.cc
+--- a/src/odepkg_auxiliary_functions.cc	Sun Jan 20 20:52:16 2019 +0100
++++ b/src/odepkg_auxiliary_functions.cc	Sun Jan 20 21:30:32 2019 +0100
+@@ -46,7 +46,7 @@
+  * @end deftypefn
+  */
+ octave_idx_type odepkg_auxiliary_isvector (octave_value vval) {
+-  if (vval.is_numeric_type () && 
++  if (vval.isnumeric () && 
+       vval.ndims () == 2 && // ported from the is_vector.m file
+       (vval.rows () == 1 || vval.columns () == 1))
+     return (true);
+@@ -85,17 +85,17 @@
+   switch (vdeci) {
+     case 0:
+       varin(3) = "init";
+-      feval ("odepkg_event_handle", varin, 0);
++      octave::feval ("odepkg_event_handle", varin, 0);
+       break;
+ 
+     case 1:
+       varin(3) = "";
+-      varout = feval ("odepkg_event_handle", varin, 1);
++      varout = octave::feval ("odepkg_event_handle", varin, 1);
+       break;
+ 
+     case 2:
+       varin(3) = "done";
+-      feval ("odepkg_event_handle", varin, 0);
++      octave::feval ("odepkg_event_handle", varin, 0);
+       break;
+ 
+     default:
+@@ -132,8 +132,8 @@
+ 
+   // Check if the user has set the option "OutputSel" then create a
+   // reduced vector that stores the desired values.
+-  if (vsel.is_empty ()) {
+-    for (octave_idx_type vcnt = 0; vcnt < vresult.length (); vcnt++)
++  if (vsel.isempty ()) {
++    for (octave_idx_type vcnt = 0; vcnt < vresult.numel (); vcnt++)
+       vreduced(vcnt) = vresult(vcnt);
+   }
+   else {
+@@ -159,18 +159,18 @@
+   // function to the caller function
+   if ((vdeci == 0) || (vdeci == 2)) {
+     if (vplt.is_function_handle () || vplt.is_inline_function ())
+-      feval (vplt.function_value (), varin, 0);
++      octave::feval (vplt.function_value (), varin, 0);
+     else if (vplt.is_string ()) // String may be used from the caller
+-      feval (vplt.string_value (), varin, 0);
++      octave::feval (vplt.string_value (), varin, 0);
+     return (true);
+   }
+ 
+   else if (vdeci == 1) {
+     octave_value_list vout;
+     if (vplt.is_function_handle () || vplt.is_inline_function ())
+-      vout = feval (vplt.function_value (), varin, 1);
++      vout = octave::feval (vplt.function_value (), varin, 1);
+     else if (vplt.is_string ()) // String may be used if set automatically
+-      vout = feval (vplt.string_value (), varin, 1);
++      vout = octave::feval (vplt.string_value (), varin, 1);
+     return (vout(0).bool_value ());
+   }
+ 
+@@ -200,7 +200,7 @@
+ 
+   // If vjac is a cell array then we expect that two matrices are
+   // returned to the caller function, we can't check for this before
+-  if (vjac.is_cell () && (vjac.length () == 2)) {
++  if (vjac.iscell () && (vjac.numel () == 2)) {
+     varout(0) = vjac.cell_value ()(0);
+     varout(1) = vjac.cell_value ()(1);
+     if (!varout(0).is_matrix_type () || !varout(1).is_matrix_type ()) {
+@@ -220,7 +220,7 @@
+     for (octave_idx_type vcnt = 0; vcnt < vextarg.length (); vcnt++)
+       varin(vcnt+3) = vextarg(vcnt);
+     // Evaluate the Jacobian function and return results
+-    varout = feval (vjac.function_value (), varin, 1);
++    varout = octave::feval (vjac.function_value (), varin, 1);
+   }
+ 
+   // In principle this is not possible because odepkg_structure_check
+@@ -268,7 +268,7 @@
+     for (octave_idx_type vcnt = 0; vcnt < vextarg.length (); vcnt++)
+       varin(vcnt+2) = vextarg(vcnt);
+     // Evaluate the Jacobian function and return results
+-    varout = feval (vjac.function_value (), varin, 1);
++    varout = octave::feval (vjac.function_value (), varin, 1);
+     vret = varout(0);
+   }
+ 
+@@ -312,7 +312,7 @@
+   else if (vmass.is_function_handle () || vmass.is_inline_function ()) {
+     octave_value_list varin;
+     octave_value_list varout;
+-    if (vstate.is_empty () || !vstate.is_string ())
++    if (vstate.isempty () || !vstate.is_string ())
+       error_with_id ("OdePkg:InvalidOption",
+         "If \"Mass\" value is a handle then \"MStateDependence\" must be given");
+  
+@@ -330,7 +330,7 @@
+     }
+ 
+     // Evaluate the Mass function and return results
+-    varout = feval (vmass.function_value (), varin, 1);
++    varout = octave::feval (vmass.function_value (), varin, 1);
+     vret = varout(0);
+   }
+ 
+@@ -440,7 +440,7 @@
+       break;
+ 
+     case 3:
+-      vtstore = vtstore.extract (0, vtstore.length () - 2);
++      vtstore = vtstore.extract (0, vtstore.numel () - 2);
+       vystore = vystore.extract (0, 0, vtstore.rows () - 2, vtstore.cols () - 1);
+ 
+     default: 
+diff -r 1646adc7793b src/odepkg_octsolver_ddaskr.cc
+--- a/src/odepkg_octsolver_ddaskr.cc	Sun Jan 20 20:52:16 2019 +0100
++++ b/src/odepkg_octsolver_ddaskr.cc	Sun Jan 20 21:30:32 2019 +0100
+@@ -116,7 +116,7 @@
+   varin(0) = T; varin(1) = A; varin(2) = APRIME;
+   for (octave_idx_type vcnt = 0; vcnt < vddaskrextarg.length (); vcnt++)
+     varin(vcnt+3) = vddaskrextarg(vcnt);
+-  octave_value_list vout = feval (vddaskrodefun.function_value (), varin, 1);
++  octave_value_list vout = octave::feval (vddaskrodefun.function_value (), varin, 1);
+ 
+   // Return the results from the function evaluation to the Fortran
+   // solver, again copy them and don't just create a Fortran vector
+@@ -287,8 +287,8 @@
+   if (nargin >= 5) {
+ 
+     // Fifth input argument != OdePkg option, need a default structure
+-    if (!args(4).is_map ()) {
+-      octave_value_list tmp = feval ("odeset", tmp, 1);
++    if (!args(4).isstruct ()) {
++      octave_value_list tmp = octave::feval ("odeset", tmp, 1);
+       vodeopt = tmp(0).scalar_map_value ();        // Create a default structure
+       for (octave_idx_type vcnt = 4; vcnt < nargin; vcnt++)
+         vddaskrextarg(vcnt-4) = args(vcnt); // Save arguments in vddaskrextarg
+@@ -298,7 +298,7 @@
+     else if (nargin > 5) { 
+       octave_value_list varin;
+       varin(0) = args(4); varin(1) = "odekdi";
+-      octave_value_list tmp = feval ("odepkg_structure_check", varin, 1);
++      octave_value_list tmp = octave::feval ("odepkg_structure_check", varin, 1);
+       if (error_state) return (vretval);
+       vodeopt = tmp(0).scalar_map_value ();        // Create structure of args(4)
+       for (octave_idx_type vcnt = 5; vcnt < nargin; vcnt++)
+@@ -309,7 +309,7 @@
+     else {
+       octave_value_list varin;
+       varin(0) = args(4); varin(1) = "odekdi"; // Check structure
+-      octave_value_list tmp = feval ("odepkg_structure_check", varin, 1);
++      octave_value_list tmp = octave::feval ("odepkg_structure_check", varin, 1);
+       if (error_state) return (vretval);
+       vodeopt = tmp(0).scalar_map_value (); // Create a default structure
+     }
+@@ -317,7 +317,7 @@
+   } // if (nargin >= 5)
+ 
+   else { // if nargin == 4, everything else has been checked before
+-    octave_value_list tmp = feval ("odeset", tmp, 1);
++    octave_value_list tmp = octave::feval ("odeset", tmp, 1);
+     vodeopt = tmp(0).scalar_map_value (); // Create a default structure
+   }
+ 
+@@ -329,7 +329,7 @@
+   // Implementation of the option RelTol has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vreltol = vodeopt.contents ("RelTol");
+-  if (vreltol.is_empty ()) {
++  if (vreltol.isempty ()) {
+     vreltol = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"RelTol\" not set, new value 1e-6 is used");
+@@ -345,7 +345,7 @@
+   // Implementation of the option AbsTol has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vabstol = vodeopt.contents ("AbsTol");
+-  if (vabstol.is_empty ()) {
++  if (vabstol.isempty ()) {
+     vabstol = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"AbsTol\" not set, new value 1e-6 is used");
+@@ -372,7 +372,7 @@
+   // The option NormControl will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vnorm = vodeopt.contents ("NormControl");
+-  if (!vnorm.is_empty ())
++  if (!vnorm.isempty ())
+     if (vnorm.string_value ().compare ("off") != 0)
+       warning_with_id ("OdePkg:InvalidOption", 
+         "Option \"NormControl\" will be ignored by this solver");
+@@ -380,14 +380,14 @@
+   // The option NonNegative will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vnneg = vodeopt.contents ("NonNegative");
+-  if (!vnneg.is_empty ())
++  if (!vnneg.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"NonNegative\" will be ignored by this solver");
+ 
+   // Implementation of the option OutputFcn has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vplot = vodeopt.contents ("OutputFcn");
+-  if (vplot.is_empty () && nargout == 0) vplot = "odeplot";
++  if (vplot.isempty () && nargout == 0) vplot = "odeplot";
+ 
+   // Implementation of the option OutputSel has been finished, this
+   // option can be set by the user to another value than default value
+@@ -408,12 +408,12 @@
+   // option can be set by the user to another value than default value
+   octave_value vinitstep = vodeopt.contents ("InitialStep");
+   if (args(1).length () > 2) {
+-    if (!vinitstep.is_empty ())
++    if (!vinitstep.isempty ())
+       warning_with_id ("OdePkg:InvalidOption",
+        "Option \"InitialStep\" will be ignored if fixed time stamps are given");
+     vinitstep = args(1).vector_value ()(1);
+   }
+-  else if (vinitstep.is_empty ()) {
++  else if (vinitstep.isempty ()) {
+     vinitstep = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"InitialStep\" not set, new value 1e-6 is used");
+@@ -422,7 +422,7 @@
+   // Implementation of the option MaxStep has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vmaxstep = vodeopt.contents ("MaxStep");
+-  if (vmaxstep.is_empty () && args(1).length () == 2) {
++  if (vmaxstep.isempty () && args(1).length () == 2) {
+     vmaxstep = (args(1).vector_value ()(1) - args(1).vector_value ()(0)) / 12.5;
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"MaxStep\" not set, new value %3.1e is used", 
+@@ -437,19 +437,19 @@
+ 
+   // The options 'Jacobian', 'JPattern' and 'Vectorized'
+   octave_value vjac = vodeopt.contents ("Jacobian");
+-  if (!vjac.is_empty ()) vddaskrjacfun = vjac;
++  if (!vjac.isempty ()) vddaskrjacfun = vjac;
+ 
+   // The option Mass will be ignored by this solver. We can't handle
+   // Mass-matrix options with IDE problems
+   octave_value vmass = vodeopt.contents ("Mass");
+-  if (!vmass.is_empty ())
++  if (!vmass.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"Mass\" will be ignored by this solver");
+ 
+   // The option MStateDependence will be ignored by this solver. We
+   // can't handle Mass-matrix options with IDE problems
+   octave_value vmst = vodeopt.contents ("MStateDependence");
+-  if (!vmst.is_empty ())
++  if (!vmst.isempty ())
+     if (vmst.string_value ().compare ("weak") != 0)
+       warning_with_id ("OdePkg:InvalidOption", 
+         "Option \"MStateDependence\" will be ignored by this solver");
+@@ -457,14 +457,14 @@
+   // The option MvPattern will be ignored by this solver. We
+   // can't handle Mass-matrix options with IDE problems
+   octave_value vmvpat = vodeopt.contents ("MvPattern");
+-  if (!vmvpat.is_empty ())
++  if (!vmvpat.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"MvPattern\" will be ignored by this solver");
+ 
+   // The option MvPattern will be ignored by this solver. We
+   // can't handle Mass-matrix options with IDE problems
+   octave_value vmsing = vodeopt.contents ("MassSingular");
+-  if (!vmsing.is_empty ())
++  if (!vmsing.isempty ())
+     if (vmsing.string_value ().compare ("maybe") != 0)
+       warning_with_id ("OdePkg:InvalidOption", 
+         "Option \"MassSingular\" will be ignored by this solver");
+@@ -472,14 +472,14 @@
+   // The option InitialSlope will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vinitslope = vodeopt.contents ("InitialSlope");
+-  if (!vinitslope.is_empty ())
++  if (!vinitslope.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"InitialSlope\" will be ignored by this solver");
+ 
+   // Implementation of the option MaxOrder has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vmaxder = vodeopt.contents ("MaxOrder");
+-  if (vmaxder.is_empty ()) {
++  if (vmaxder.isempty ()) {
+     vmaxder = 3;
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"MaxOrder\" not set, new value 3 is used");
+@@ -492,7 +492,7 @@
+ 
+   // The option BDF will be ignored because this is a BDF solver
+   octave_value vbdf = vodeopt.contents ("BDF");
+-  if (!vbdf.is_empty ())
++  if (!vbdf.isempty ())
+     if (vbdf.string_value () != "on") {
+       vbdf = "on"; warning_with_id ("OdePkg:InvalidOption", 
+         "Option \"BDF\" set \"off\", new value \"on\" is used");
+@@ -502,12 +502,12 @@
+   // this solver, IT NEEDS TO BE CHECKED IF THE FORTRAN CORE SOLVER
+   // CAN HANDLE THESE OPTIONS
+   octave_value vntol = vodeopt.contents ("NewtonTol");
+-  if (!vntol.is_empty ())
++  if (!vntol.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"NewtonTol\" will be ignored by this solver");
+   octave_value vmaxnewton = 
+     vodeopt.contents ("MaxNewtonIterations");
+-  if (!vmaxnewton.is_empty ())
++  if (!vmaxnewton.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"MaxNewtonIterations\" will be ignored by this solver");
+ 
+@@ -523,7 +523,7 @@
+ 
+   vddaskrneqn = args(2).length ();
+   double T       = vTIME(0);
+-  double TEND    = vTIME(vTIME.length () - 1);
++  double TEND    = vTIME(vTIME.numel () - 1);
+   double *Y      = vY.fortran_vec ();
+   double *YPRIME = vYPRIME.fortran_vec ();
+ 
+@@ -553,7 +553,7 @@
+   INFO[1]   = vitol;  // RelTol/AbsTol are scalars or vectors
+   INFO[2]   = 1;      // An intermediate output is wanted
+   INFO[3]   = 0;      // Integrate behind TEND
+-  if (!vjac.is_empty ()) INFO[4]   = 1;
++  if (!vjac.isempty ()) INFO[4]   = 1;
+   else INFO[4] = 0;   // Internally calculate a Jacobian? 0..yes
+   INFO[5]   = 0;      // Have a full Jacobian matrix? 0..yes
+   INFO[6]   = 1;      // Use the value for maximum step size
+@@ -569,14 +569,14 @@
+   // initialize these IO-functions for further use
+   octave_value vtim (T); octave_value vsol (vY); octave_value vyds (vYPRIME);
+   odepkg_auxiliary_solstore (vtim, vsol, 0);
+-  if (!vplot.is_empty ()) 
++  if (!vplot.isempty ()) 
+     odepkg_auxiliary_evalplotfun (vplot, voutsel, args(1), args(2), vddaskrextarg, 0);
+ 
+   octave_value_list veveideargs;
+   veveideargs(0) = vsol; 
+   veveideargs(1) = vyds;
+   Cell veveidearg (veveideargs);
+-  if (!vevents.is_empty ())
++  if (!vevents.isempty ())
+     odepkg_auxiliary_evaleventfun (vevents, vtim, veveidearg, vddaskrextarg, 0);
+ 
+   // We are calling the core solver here to intialize all variables
+@@ -597,7 +597,7 @@
+   ColumnVector vcres(vddaskrneqn);
+   ColumnVector vydrs(vddaskrneqn);
+ 
+-  if (vTIME.length () == 2) {
++  if (vTIME.numel () == 2) {
+ 
+     INFO[0] = 1; // Set this info variable ie. continue solving
+ 
+@@ -621,22 +621,22 @@
+       }
+       vsol = vcres; vyds = vydrs; vtim = T;
+ 
+-      if (!vevents.is_empty ()) {
++      if (!vevents.isempty ()) {
+         veveideargs(0) = vsol;
+         veveideargs(1) = vyds;
+         veveidearg = veveideargs;
+         veveres = odepkg_auxiliary_evaleventfun (vevents, vtim, veveidearg, vddaskrextarg, 1);
+-        if (!veveres(0).cell_value ()(0).is_empty ())
++        if (!veveres(0).cell_value ()(0).isempty ())
+           if (veveres(0).cell_value ()(0).int_value () == 1) {
+             ColumnVector vttmp = veveres(0).cell_value ()(2).column_vector_value ();
+             Matrix vrtmp = veveres(0).cell_value ()(3).matrix_value ();
+-            vtim = vttmp.extract (vttmp.length () - 1, vttmp.length () - 1);
++            vtim = vttmp.extract (vttmp.numel () - 1, vttmp.numel () - 1);
+             vsol = vrtmp.extract (vrtmp.rows () - 1, 0, vrtmp.rows () - 1, vrtmp.cols () - 1);
+             T = TEND; // let's get out here, the Events function told us to finish
+           }
+       }
+ 
+-      if (!vplot.is_empty ()) {
++      if (!vplot.isempty ()) {
+         if (odepkg_auxiliary_evalplotfun (vplot, voutsel, vtim, vsol, vddaskrextarg, 1)) {
+           error ("Missing error message implementation");
+           return (vretval);
+@@ -660,9 +660,9 @@
+   veveideargs(0) = vsol;
+   veveideargs(1) = vyds;
+   veveidearg = veveideargs;
+-  if (!vevents.is_empty ())
++  if (!vevents.isempty ())
+     odepkg_auxiliary_evaleventfun (vevents, vtim, vsol, vddaskrextarg, 2);
+-  if (!vplot.is_empty ())
++  if (!vplot.isempty ())
+     odepkg_auxiliary_evalplotfun (vplot, voutsel, vtim, vsol, vddaskrextarg, 2);
+ 
+   // Return the results that have been stored in the
+@@ -695,7 +695,7 @@
+     vretmap.assign ("solver", "odekdi");
+     if (vstats.string_value ().compare ("on") == 0)
+       vretmap.assign ("stats", vstatinfo);
+-    if (!vevents.is_empty ()) {
++    if (!vevents.isempty ()) {
+       vretmap.assign ("ie", veveres(0).cell_value ()(1));
+       vretmap.assign ("xe", veveres(0).cell_value ()(2));
+       vretmap.assign ("ye", veveres(0).cell_value ()(3));
+@@ -713,7 +713,7 @@
+     vretval(2) = vempty;
+     vretval(3) = vempty;
+     vretval(4) = vempty;
+-    if (!vevents.is_empty ()) {
++    if (!vevents.isempty ()) {
+       vretval(2) = veveres(0).cell_value ()(2);
+       vretval(3) = veveres(0).cell_value ()(3);
+       vretval(4) = veveres(0).cell_value ()(1);
+diff -r 1646adc7793b src/odepkg_octsolver_mebdfdae.cc
+--- a/src/odepkg_octsolver_mebdfdae.cc	Sun Jan 20 20:52:16 2019 +0100
++++ b/src/odepkg_octsolver_mebdfdae.cc	Sun Jan 20 21:30:32 2019 +0100
+@@ -100,7 +100,7 @@
+   varin(0) = T; varin(1) = A;
+   for (octave_idx_type vcnt = 0; vcnt < vmebdfdaeextarg.length (); vcnt++)
+     varin(vcnt+2) = vmebdfdaeextarg(vcnt);
+-  octave_value_list vout = feval (vmebdfdaeodefun.function_value (), varin, 1);
++  octave_value_list vout = octave::feval (vmebdfdaeodefun.function_value (), varin, 1);
+ 
+   // Return the results from the function evaluation to the Fortran
+   // solver, again copy them and don't just create a Fortran vector
+@@ -317,8 +317,8 @@
+   if (nargin >= 4) {
+ 
+     // Fourth input argument != OdePkg option, need a default structure
+-    if (!args(3).is_map ()) {
+-      octave_value_list tmp = feval ("odeset", tmp, 1);
++    if (!args(3).isstruct ()) {
++      octave_value_list tmp = octave::feval ("odeset", tmp, 1);
+       vodeopt = tmp(0).scalar_map_value ();       // Create a default structure
+       for (octave_idx_type vcnt = 3; vcnt < nargin; vcnt++)
+         vmebdfdaeextarg(vcnt-3) = args(vcnt); // Save arguments in vmebdfdaeextarg
+@@ -328,7 +328,7 @@
+     else if (nargin > 4) {
+       octave_value_list varin;
+       varin(0) = args(3); varin(1) = "odebda";
+-      octave_value_list tmp = feval ("odepkg_structure_check", varin, 1);
++      octave_value_list tmp = octave::feval ("odepkg_structure_check", varin, 1);
+       if (error_state) return (vretval);
+       vodeopt = tmp(0).scalar_map_value ();       // Create structure from args(4)
+       for (octave_idx_type vcnt = 4; vcnt < nargin; vcnt++)
+@@ -339,7 +339,7 @@
+     else {
+       octave_value_list varin;
+       varin(0) = args(3); varin(1) = "odebda"; // Check structure
+-      octave_value_list tmp = feval ("odepkg_structure_check", varin, 1);
++      octave_value_list tmp = octave::feval ("odepkg_structure_check", varin, 1);
+       if (error_state) return (vretval);
+       vodeopt = tmp(0).scalar_map_value (); // Create a default structure
+     }
+@@ -347,7 +347,7 @@
+   } // if (nargin >= 4)
+ 
+   else { // if nargin == 3, everything else has been checked before
+-    octave_value_list tmp = feval ("odeset", tmp, 1);
++    octave_value_list tmp = octave::feval ("odeset", tmp, 1);
+     vodeopt = tmp(0).scalar_map_value (); // Create a default structure
+   }
+ 
+@@ -359,7 +359,7 @@
+   // Implementation of the option RelTol has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vreltol = vodeopt.contents ("RelTol");
+-  if (vreltol.is_empty ()) {
++  if (vreltol.isempty ()) {
+     vreltol = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"RelTol\" not set, new value %3.1e is used", 
+@@ -376,7 +376,7 @@
+   // Implementation of the option AbsTol has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vabstol = vodeopt.contents ("AbsTol");
+-  if (vabstol.is_empty ()) {
++  if (vabstol.isempty ()) {
+     vabstol = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"AbsTol\" not set, new value %3.1e is used", 
+@@ -401,7 +401,7 @@
+   // The option NormControl will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vnorm = vodeopt.contents ("NormControl");
+-  if (!vnorm.is_empty ())
++  if (!vnorm.isempty ())
+     if (vnorm.string_value ().compare ("off") != 0)
+       warning_with_id ("OdePkg:InvalidOption", 
+         "Option \"NormControl\" will be ignored by this solver");
+@@ -409,14 +409,14 @@
+   // The option NonNegative will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vnneg = vodeopt.contents ("NonNegative");
+-  if (!vnneg.is_empty ())
++  if (!vnneg.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"NonNegative\" will be ignored by this solver");
+ 
+   // Implementation of the option OutputFcn has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vplot = vodeopt.contents ("OutputFcn");
+-  if (vplot.is_empty () && nargout == 0) vplot = "odeplot";
++  if (vplot.isempty () && nargout == 0) vplot = "odeplot";
+ 
+   // Implementation of the option OutputSel has been finished, this
+   // option can be set by the user to another value than default value
+@@ -437,12 +437,12 @@
+   // option can be set by the user to another value than default value
+   octave_value vinitstep = vodeopt.contents ("InitialStep");
+   if (args(1).length () > 2) {
+-    if (!vinitstep.is_empty ())
++    if (!vinitstep.isempty ())
+       warning_with_id ("OdePkg:InvalidOption",
+        "Option \"InitialStep\" will be ignored if fixed time stamps are given");
+     vinitstep = args(1).vector_value ()(1);
+   }
+-  if (vinitstep.is_empty ()) {
++  if (vinitstep.isempty ()) {
+     vinitstep = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"InitialStep\" not set, new value %3.1e is used",
+@@ -452,7 +452,7 @@
+   // Implementation of the option MaxStep has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vmaxstep = vodeopt.contents ("MaxStep");
+-  if (vmaxstep.is_empty () && args(1).length () == 2) {
++  if (vmaxstep.isempty () && args(1).length () == 2) {
+     vmaxstep = (args(1).vector_value ()(1) - args(1).vector_value ()(0)) / 12.5;
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"MaxStep\" not set, new value %3.1e is used", 
+@@ -468,7 +468,7 @@
+   // The options 'Jacobian', 'JPattern' and 'Vectorized'
+   octave_value vjac = vodeopt.contents ("Jacobian");
+   octave_idx_type vmebdfdaejac = 22; // We need to set this if no Jac available
+-  if (!vjac.is_empty ()) {
++  if (!vjac.isempty ()) {
+     vmebdfdaejacfun = vjac; vmebdfdaejac = 21;
+   }
+ 
+@@ -476,7 +476,7 @@
+   // options can be set by the user to another value than default
+   vmebdfdaemass = vodeopt.contents ("Mass");
+   octave_idx_type vmebdfdaemas = 0;
+-  if (!vmebdfdaemass.is_empty ()) {
++  if (!vmebdfdaemass.isempty ()) {
+     vmebdfdaemas = 1;
+     if (vmebdfdaemass.is_function_handle () || vmebdfdaemass.is_inline_function ())
+       warning_with_id ("OdePkg:InvalidOption",
+@@ -486,7 +486,7 @@
+   // The option MStateDependence will be ignored by this solver, the
+   // core Fortran solver doesn't support this option
+   vmebdfdaemassstate = vodeopt.contents ("MStateDependence");
+-  if (!vmebdfdaemassstate.is_empty ())
++  if (!vmebdfdaemassstate.isempty ())
+     if (vmebdfdaemassstate.string_value ().compare ("weak") != 0) // 'weak' is default
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"MStateDependence\" will be ignored by this solver");
+@@ -494,14 +494,14 @@
+   // The option MStateDependence will be ignored by this solver, the
+   // core Fortran solver doesn't support this option
+   octave_value vmvpat = vodeopt.contents ("MvPattern");
+-  if (!vmvpat.is_empty ())
++  if (!vmvpat.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"MvPattern\" will be ignored by this solver");
+ 
+   // The option MassSingular will be ignored by this solver, the
+   // core Fortran solver doesn't support this option
+   octave_value vmsing = vodeopt.contents ("MassSingular");
+-  if (!vmsing.is_empty ())
++  if (!vmsing.isempty ())
+     if (vmsing.string_value ().compare ("maybe") != 0)
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"MassSingular\" will be ignored by this solver");
+@@ -509,14 +509,14 @@
+   // The option InitialSlope will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vinitslope = vodeopt.contents ("InitialSlope");
+-  if (!vinitslope.is_empty ())
++  if (!vinitslope.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"InitialSlope\" will be ignored by this solver");
+ 
+   // Implementation of the option MaxOrder has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vmaxder = vodeopt.contents ("MaxOrder");
+-  if (vmaxder.is_empty ()) {
++  if (vmaxder.isempty ()) {
+     vmaxder = 3;
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"MaxOrder\" not set, new value %1d is used", 
+@@ -540,12 +540,12 @@
+   // this solver, IT NEEDS TO BE CHECKED IF THE FORTRAN CORE SOLVER
+   // CAN HANDLE THESE OPTIONS
+   octave_value vntol = vodeopt.contents ("NewtonTol");
+-  if (!vntol.is_empty ())
++  if (!vntol.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"NewtonTol\" will be ignored by this solver");
+   octave_value vmaxnewton = 
+     vodeopt.contents ("MaxNewtonIterations");
+-  if (!vmaxnewton.is_empty ())
++  if (!vmaxnewton.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"MaxNewtonIterations\" will be ignored by this solver");
+ 
+@@ -563,7 +563,7 @@
+   double HO = vinitstep.double_value ();
+   double *Y0 = vY0.fortran_vec ();
+   double TOUT = T0 + vinitstep.double_value ();
+-  double TEND = vTIME(vTIME.length ()-1);
++  double TEND = vTIME(vTIME.numel ()-1);
+ 
+   octave_idx_type MF = vmebdfdaejac;
+   octave_idx_type IDID = 1;
+@@ -578,7 +578,7 @@
+     IWORK[vcnt] = 0;
+   octave_idx_type MBND[4] = {N, N, N, N};
+   octave_idx_type MASBND[4] = {0, N, 0, N};
+-  if (!vmebdfdaemass.is_empty ()) MASBND[0] = 1;
++  if (!vmebdfdaemass.isempty ()) MASBND[0] = 1;
+   octave_idx_type MAXDER = vmaxder.int_value ();
+   octave_idx_type ITOL = vitol;
+   double *RTOL = vRTOL.fortran_vec ();
+@@ -596,9 +596,9 @@
+   // etc. and initialize the plot, events and the solstore functions
+   octave_value vtim (T0); octave_value vsol (vY0);
+   odepkg_auxiliary_solstore (vtim, vsol, 0);
+-  if (!vplot.is_empty ()) odepkg_auxiliary_evalplotfun 
++  if (!vplot.isempty ()) odepkg_auxiliary_evalplotfun 
+     (vplot, voutsel, args(1), args(2), vmebdfdaeextarg, 0);
+-  if (!vevents.is_empty ()) odepkg_auxiliary_evaleventfun 
++  if (!vevents.isempty ()) odepkg_auxiliary_evaleventfun 
+     (vevents, vtim, args(2), vmebdfdaeextarg, 0);
+ 
+   // We are calling the core solver here to intialize all variables
+@@ -618,7 +618,7 @@
+   // core solver function and before calling the plot function
+   ColumnVector vcres(N);
+ 
+-  if (vTIME.length () == 2) {
++  if (vTIME.numel () == 2) {
+     // Before we are entering the solver loop replace the first time
+     // stamp value with FirstStep = (InitTime - InitStep)
+     TOUT = TOUT - vinitstep.double_value ();
+@@ -649,18 +649,18 @@
+       for (octave_idx_type vcnt = 0; vcnt < N; vcnt++)
+         vcres(vcnt) = Y0[vcnt];
+       vsol = vcres; vtim = TOUT;
+-      if (!vevents.is_empty ()) {
++      if (!vevents.isempty ()) {
+         veveres = odepkg_auxiliary_evaleventfun (vevents, vtim, vsol, vmebdfdaeextarg, 1);
+-        if (!veveres(0).cell_value ()(0).is_empty ())
++        if (!veveres(0).cell_value ()(0).isempty ())
+           if (veveres(0).cell_value ()(0).int_value () == 1) {
+             ColumnVector vttmp = veveres(0).cell_value ()(2).column_vector_value ();
+             Matrix vrtmp = veveres(0).cell_value ()(3).matrix_value ();
+-            vtim = vttmp.extract (vttmp.length () - 1, vttmp.length () - 1);
++            vtim = vttmp.extract (vttmp.numel () - 1, vttmp.numel () - 1);
+             vsol = vrtmp.extract (vrtmp.rows () - 1, 0, vrtmp.rows () - 1, vrtmp.cols () - 1);
+             TOUT = TEND; // let's get out here, the Events function told us to finish
+           }
+       }
+-      if (!vplot.is_empty ()) {
++      if (!vplot.isempty ()) {
+         if (odepkg_auxiliary_evalplotfun (vplot, voutsel, vtim, vsol, vmebdfdaeextarg, 1)) {
+           error ("Missing error message implementation");
+           return (vretval);
+@@ -671,7 +671,7 @@
+   }
+   else { // if (vTIME.length () > 2) we have all the time values needed
+     volatile octave_idx_type vtimecnt = 1;
+-    octave_idx_type vtimelen = vTIME.length ();
++    octave_idx_type vtimelen = vTIME.numel ();
+     while (vtimecnt < vtimelen) {
+       vtimecnt++; TOUT = vTIME(vtimecnt-1);
+ 
+@@ -696,18 +696,18 @@
+       for (octave_idx_type vcnt = 0; vcnt < N; vcnt++)
+         vcres(vcnt) = Y0[vcnt];
+       vsol = vcres; vtim = TOUT;
+-      if (!vevents.is_empty ()) {
++      if (!vevents.isempty ()) {
+         veveres = odepkg_auxiliary_evaleventfun (vevents, vtim, vsol, vmebdfdaeextarg, 1);
+-        if (!veveres(0).cell_value ()(0).is_empty ())
++        if (!veveres(0).cell_value ()(0).isempty ())
+           if (veveres(0).cell_value ()(0).int_value () == 1) {
+             ColumnVector vttmp = veveres(0).cell_value ()(2).column_vector_value ();
+             Matrix vrtmp = veveres(0).cell_value ()(3).matrix_value ();
+-            vtim = vttmp.extract (vttmp.length () - 1, vttmp.length () - 1);
++            vtim = vttmp.extract (vttmp.numel () - 1, vttmp.numel () - 1);
+             vsol = vrtmp.extract (vrtmp.rows () - 1, 0, vrtmp.rows () - 1, vrtmp.cols () - 1);
+             vtimecnt = vtimelen; // let's get out here, the Events function told us to finish
+           }
+       }
+-      if (!vplot.is_empty ()) {
++      if (!vplot.isempty ()) {
+         if (odepkg_auxiliary_evalplotfun (vplot, voutsel, vtim, vsol, vmebdfdaeextarg, 1)) {
+           error ("Missing error message implementation");
+           return (vretval);
+@@ -725,9 +725,9 @@
+   // needed to call the OdePkg output function one last time again
+   for (octave_idx_type vcnt = 0; vcnt < N; vcnt++) vcres(vcnt) = Y0[vcnt];
+   vsol = vcres; vtim = TOUT;
+-  if (!vevents.is_empty ())
++  if (!vevents.isempty ())
+     odepkg_auxiliary_evaleventfun (vevents, vtim, vsol, vmebdfdaeextarg, 2);
+-  if (!vplot.is_empty ())
++  if (!vplot.isempty ())
+     odepkg_auxiliary_evalplotfun (vplot, voutsel, vtim, vsol, vmebdfdaeextarg, 2);
+ 
+   // Return the results that have been stored in the
+@@ -761,7 +761,7 @@
+     vretmap.assign ("solver", "odebda");
+     if (vstats.string_value () == "on") 
+       vretmap.assign ("stats", vstatinfo);
+-    if (!vevents.is_empty ()) {
++    if (!vevents.isempty ()) {
+       vretmap.assign ("ie", veveres(0).cell_value ()(1));
+       vretmap.assign ("xe", veveres(0).cell_value ()(2));
+       vretmap.assign ("ye", veveres(0).cell_value ()(3));
+@@ -779,7 +779,7 @@
+     vretval(2) = vempty;
+     vretval(3) = vempty;
+     vretval(4) = vempty;
+-    if (!vevents.is_empty ()) {
++    if (!vevents.isempty ()) {
+       vretval(2) = veveres(0).cell_value ()(2);
+       vretval(3) = veveres(0).cell_value ()(3);
+       vretval(4) = veveres(0).cell_value ()(1);
+diff -r 1646adc7793b src/odepkg_octsolver_mebdfi.cc
+--- a/src/odepkg_octsolver_mebdfi.cc	Sun Jan 20 20:52:16 2019 +0100
++++ b/src/odepkg_octsolver_mebdfi.cc	Sun Jan 20 21:30:32 2019 +0100
+@@ -162,7 +162,7 @@
+   varin(0) = T; varin(1) = A; varin(2) = APRIME;
+   for (octave_idx_type vcnt = 0; vcnt < vmebdfiextarg.length (); vcnt++)
+     varin(vcnt+3) = vmebdfiextarg(vcnt);
+-  octave_value_list vout = feval (vmebdfiodefun.function_value (), varin, 1);
++  octave_value_list vout = octave::feval (vmebdfiodefun.function_value (), varin, 1);
+ 
+   // Return the results from the function evaluation to the Fortran
+   // solver, again copy them and don't just create a Fortran vector
+@@ -397,7 +397,7 @@
+ 
+   // Check if the third and the fourth input argument (check for
+   // vector already was successful before) have the same length
+-  if (args(2).length () != args(3).length ()) {
++  if (args(2).numel () != args(3).numel ()) {
+     error_with_id ("OdePkg:InvalidArgument",
+       "Third and fourth input argument must have the same length");
+     return (vretval);
+@@ -409,8 +409,8 @@
+   if (nargin >= 5) {
+ 
+     // Fifth input argument != OdePkg option, need a default structure
+-    if (!args(4).is_map ()) {
+-      octave_value_list tmp = feval ("odeset", tmp, 1);
++    if (!args(4).isstruct ()) {
++      octave_value_list tmp = octave::feval ("odeset", tmp, 1);
+       vodeopt = tmp(0).scalar_map_value ();        // Create a default structure
+       for (octave_idx_type vcnt = 4; vcnt < nargin; vcnt++)
+         vmebdfiextarg(vcnt-4) = args(vcnt); // Save arguments in vmebdfiextarg
+@@ -420,7 +420,7 @@
+     else if (nargin > 5) { 
+       octave_value_list varin;
+       varin(0) = args(4); varin(1) = "odebdi";
+-      octave_value_list tmp = feval ("odepkg_structure_check", varin, 1);
++      octave_value_list tmp = octave::feval ("odepkg_structure_check", varin, 1);
+       if (error_state) return (vretval);
+       vodeopt = tmp(0).scalar_map_value ();        // Create structure of args(4)
+       for (octave_idx_type vcnt = 5; vcnt < nargin; vcnt++)
+@@ -431,7 +431,7 @@
+     else {
+       octave_value_list varin;
+       varin(0) = args(4); varin(1) = "odebdi"; // Check structure
+-      octave_value_list tmp = feval ("odepkg_structure_check", varin, 1);
++      octave_value_list tmp = octave::feval ("odepkg_structure_check", varin, 1);
+       if (error_state) return (vretval);
+       vodeopt = tmp(0).scalar_map_value (); // Create a default structure
+     }
+@@ -439,7 +439,7 @@
+   } // if (nargin >= 5)
+ 
+   else { // if nargin == 4, everything else has been checked before
+-    octave_value_list tmp = feval ("odeset", tmp, 1);
++    octave_value_list tmp = octave::feval ("odeset", tmp, 1);
+     vodeopt = tmp(0).scalar_map_value (); // Create a default structure
+   }
+ 
+@@ -451,14 +451,14 @@
+   // Implementation of the option RelTol has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vreltol = vodeopt.contents ("RelTol");
+-  if (vreltol.is_empty ()) {
++  if (vreltol.isempty ()) {
+     vreltol = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"RelTol\" not set, new value %3.1e is used", 
+       vreltol.double_value ());
+   } // vreltol.print (octave_stdout, true); return (vretval);
+   if (!vreltol.is_scalar_type ()) {
+-    if (vreltol.length () != args(2).length ()) {
++    if (vreltol.numel () != args(2).numel ()) {
+       error_with_id ("OdePkg:InvalidOption", 
+         "Length of option \"RelTol\" must be the same as the number of equations");
+       return (vretval);
+@@ -468,14 +468,14 @@
+   // Implementation of the option AbsTol has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vabstol = vodeopt.contents ("AbsTol");
+-  if (vabstol.is_empty ()) {
++  if (vabstol.isempty ()) {
+     vabstol = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"AbsTol\" not set, new value %3.1e is used", 
+         vabstol.double_value ());
+   } // vabstol.print (octave_stdout, true); return (vretval);
+   if (!vabstol.is_scalar_type ()) {
+-    if (vabstol.length () != args(2).length ()) {
++    if (vabstol.numel () != args(2).numel ()) {
+       error_with_id ("OdePkg:InvalidOption", 
+         "Length of option \"AbsTol\" must be the same as the number of equations");
+       return (vretval);
+@@ -493,7 +493,7 @@
+   // The option NormControl will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vnorm = vodeopt.contents ("NormControl");
+-  if (!vnorm.is_empty ())
++  if (!vnorm.isempty ())
+     if (vnorm.string_value ().compare ("off") != 0)
+       warning_with_id ("OdePkg:InvalidOption", 
+         "Option \"NormControl\" will be ignored by this solver");
+@@ -501,14 +501,14 @@
+   // The option NonNegative will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vnneg = vodeopt.contents ("NonNegative");
+-  if (!vnneg.is_empty ())
++  if (!vnneg.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"NonNegative\" will be ignored by this solver");
+ 
+   // Implementation of the option OutputFcn has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vplot = vodeopt.contents ("OutputFcn");
+-  if (vplot.is_empty () && nargout == 0) vplot = "odeplot";
++  if (vplot.isempty () && nargout == 0) vplot = "odeplot";
+ 
+   // Implementation of the option OutputSel has been finished, this
+   // option can be set by the user to another value than default value
+@@ -528,13 +528,13 @@
+   // Implementation of the option InitialStep has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vinitstep = vodeopt.contents ("InitialStep");
+-  if (args(1).length () > 2) {
+-    if (!vinitstep.is_empty ())
++  if (args(1).numel () > 2) {
++    if (!vinitstep.isempty ())
+       warning_with_id ("OdePkg:InvalidOption",
+        "Option \"InitialStep\" will be ignored if fixed time stamps are given");
+     vinitstep = args(1).vector_value ()(1);
+   }
+-  if (vinitstep.is_empty ()) {
++  if (vinitstep.isempty ()) {
+     vinitstep = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"InitialStep\" not set, new value %3.1e is used",
+@@ -544,7 +544,7 @@
+   // Implementation of the option MaxStep has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vmaxstep = vodeopt.contents ("MaxStep");
+-  if (vmaxstep.is_empty () && args(1).length () == 2) {
++  if (vmaxstep.isempty () && args(1).numel () == 2) {
+     vmaxstep = (args(1).vector_value ()(1) - args(1).vector_value ()(0)) / 12.5;
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"MaxStep\" not set, new value %3.1e is used", 
+@@ -560,21 +560,21 @@
+   // The options 'Jacobian', 'JPattern' and 'Vectorized'
+   octave_value vjac = vodeopt.contents ("Jacobian");
+   octave_idx_type vmebdfijac = 22; // We need to set this if no Jac available
+-  if (!vjac.is_empty ()) {
++  if (!vjac.isempty ()) {
+     vmebdfijacfun = vjac; vmebdfijac = 21;
+   }
+ 
+   // The option Mass will be ignored by this solver. We can't handle
+   // Mass-matrix options with IDE problems
+   octave_value vmass = vodeopt.contents ("Mass");
+-  if (!vmass.is_empty ())
++  if (!vmass.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"Mass\" will be ignored by this solver");
+ 
+   // The option MStateDependence will be ignored by this solver. We
+   // can't handle Mass-matrix options with IDE problems
+   octave_value vmst = vodeopt.contents ("MStateDependence");
+-  if (!vmst.is_empty ())
++  if (!vmst.isempty ())
+     if (vmst.string_value ().compare ("weak") != 0)
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"MStateDependence\" will be ignored by this solver");
+@@ -582,14 +582,14 @@
+   // The option MvPattern will be ignored by this solver. We
+   // can't handle Mass-matrix options with IDE problems
+   octave_value vmvpat = vodeopt.contents ("MvPattern");
+-  if (!vmvpat.is_empty ())
++  if (!vmvpat.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"MvPattern\" will be ignored by this solver");
+ 
+   // The option MvPattern will be ignored by this solver. We
+   // can't handle Mass-matrix options with IDE problems
+   octave_value vmsing = vodeopt.contents ("MassSingular");
+-  if (!vmsing.is_empty ())
++  if (!vmsing.isempty ())
+     if (vmsing.string_value ().compare ("maybe") != 0)
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"MassSingular\" will be ignored by this solver");
+@@ -597,14 +597,14 @@
+   // The option InitialSlope will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vinitslope = vodeopt.contents ("InitialSlope");
+-  if (!vinitslope.is_empty ())
++  if (!vinitslope.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"InitialSlope\" will be ignored by this solver");
+ 
+   // Implementation of the option MaxOrder has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vmaxder = vodeopt.contents ("MaxOrder");
+-  if (vmaxder.is_empty ()) {
++  if (vmaxder.isempty ()) {
+     vmaxder = 3;
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"MaxOrder\" not set, new value %1d is used", 
+@@ -628,12 +628,12 @@
+   // this solver, IT NEEDS TO BE CHECKED IF THE FORTRAN CORE SOLVER
+   // CAN HANDLE THESE OPTIONS
+   octave_value vntol = vodeopt.contents ("NewtonTol");
+-  if (!vntol.is_empty ())
++  if (!vntol.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"NewtonTol\" will be ignored by this solver");
+   octave_value vmaxnewton = 
+     vodeopt.contents ("MaxNewtonIterations");
+-  if (!vmaxnewton.is_empty ())
++  if (!vmaxnewton.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"MaxNewtonIterations\" will be ignored by this solver");
+ 
+@@ -647,13 +647,13 @@
+   NDArray vY0     = args(2).array_value ();
+   NDArray vYPRIME = args(3).array_value ();
+ 
+-  octave_idx_type N = args(2).length ();
++  octave_idx_type N = args(2).numel ();
+   double T0 = vTIME(0);
+   double HO = vinitstep.double_value ();
+   double *Y0 = vY0.fortran_vec ();
+   double *YPRIME = vYPRIME.fortran_vec ();
+   double TOUT = T0 + vinitstep.double_value ();
+-  double TEND = vTIME(vTIME.length ()-1);
++  double TEND = vTIME(vTIME.numel ()-1);
+ 
+   octave_idx_type MF = vmebdfijac;
+   octave_idx_type IDID = 1;
+@@ -682,14 +682,14 @@
+   // etc. and initialize the plot, events and the solstore functions
+   octave_value vtim (T0); octave_value vsol (vY0); octave_value vyds (vYPRIME);
+   odepkg_auxiliary_solstore (vtim, vsol, 0);
+-  if (!vplot.is_empty ()) odepkg_auxiliary_evalplotfun 
++  if (!vplot.isempty ()) odepkg_auxiliary_evalplotfun 
+     (vplot, voutsel, args(1), args(2), vmebdfiextarg, 0);
+ 
+   octave_value_list veveideargs;
+   veveideargs(0) = vsol; 
+   veveideargs(1) = vyds;
+   Cell veveidearg (veveideargs);
+-  if (!vevents.is_empty ()) odepkg_auxiliary_evaleventfun 
++  if (!vevents.isempty ()) odepkg_auxiliary_evaleventfun 
+     (vevents, vtim, veveidearg, vmebdfiextarg, 0);
+ 
+   // We are calling the core solver here to intialize all variables
+@@ -710,7 +710,7 @@
+   ColumnVector vcres(N);
+   ColumnVector vydrs(N);
+ 
+-  if (vTIME.length () == 2) {
++  if (vTIME.numel () == 2) {
+     // Before we are entering the solver loop replace the first time
+     // stamp value with FirstStep = (InitTime - InitStep)
+     TOUT = TOUT - vinitstep.double_value ();
+@@ -742,21 +742,21 @@
+         vcres(vcnt) = Y0[vcnt]; vydrs(vcnt) = YPRIME[vcnt]; 
+       }
+       vsol = vcres; vyds = vydrs; vtim = TOUT;
+-      if (!vevents.is_empty ()) {
++      if (!vevents.isempty ()) {
+         veveideargs(0) = vsol;
+         veveideargs(1) = vyds;
+ 	veveidearg = veveideargs;
+         veveres = odepkg_auxiliary_evaleventfun (vevents, vtim, veveidearg, vmebdfiextarg, 1);
+-        if (!veveres(0).cell_value ()(0).is_empty ())
++        if (!veveres(0).cell_value ()(0).isempty ())
+           if (veveres(0).cell_value ()(0).int_value () == 1) {
+             ColumnVector vttmp = veveres(0).cell_value ()(2).column_vector_value ();
+             Matrix vrtmp = veveres(0).cell_value ()(3).matrix_value ();
+-            vtim = vttmp.extract (vttmp.length () - 1, vttmp.length () - 1);
++            vtim = vttmp.extract (vttmp.numel () - 1, vttmp.numel () - 1);
+             vsol = vrtmp.extract (vrtmp.rows () - 1, 0, vrtmp.rows () - 1, vrtmp.cols () - 1);
+             TOUT = TEND; // let's get out here, the Events function told us to finish
+           }
+       }
+-      if (!vplot.is_empty ()) {
++      if (!vplot.isempty ()) {
+         if (odepkg_auxiliary_evalplotfun (vplot, voutsel, vtim, vsol, vmebdfiextarg, 1)) {
+           error ("Missing error message implementation");
+           return (vretval);
+@@ -765,9 +765,9 @@
+       odepkg_auxiliary_solstore (vtim, vsol, 1);
+     }
+   }
+-  else { // if (vTIME.length () > 2) we have all the time values needed
++  else { // if (vTIME.numel () > 2) we have all the time values needed
+     volatile octave_idx_type vtimecnt = 1;
+-    octave_idx_type vtimelen = vTIME.length () - 1;
++    octave_idx_type vtimelen = vTIME.numel () - 1;
+     while (vtimecnt < vtimelen) {
+       vtimecnt++; TOUT = vTIME(vtimecnt);
+ 
+@@ -793,21 +793,21 @@
+         vcres(vcnt) = Y0[vcnt]; vydrs(vcnt) = YPRIME[vcnt];
+       }
+       vsol = vcres; vyds = vydrs; vtim = TOUT;
+-      if (!vevents.is_empty ()) {
++      if (!vevents.isempty ()) {
+         veveideargs(0) = vsol;
+         veveideargs(1) = vyds;
+ 	veveidearg = veveideargs;
+         veveres = odepkg_auxiliary_evaleventfun (vevents, vtim, veveidearg, vmebdfiextarg, 1);
+-        if (!veveres(0).cell_value ()(0).is_empty ())
++        if (!veveres(0).cell_value ()(0).isempty ())
+           if (veveres(0).cell_value ()(0).int_value () == 1) {
+             ColumnVector vttmp = veveres(0).cell_value ()(2).column_vector_value ();
+             Matrix vrtmp = veveres(0).cell_value ()(3).matrix_value ();
+-            vtim = vttmp.extract (vttmp.length () - 1, vttmp.length () - 1);
++            vtim = vttmp.extract (vttmp.numel () - 1, vttmp.numel () - 1);
+             vsol = vrtmp.extract (vrtmp.rows () - 1, 0, vrtmp.rows () - 1, vrtmp.cols () - 1);
+             vtimecnt = vtimelen; // let's get out here, the Events function told us to finish
+           }
+       }
+-      if (!vplot.is_empty ()) {
++      if (!vplot.isempty ()) {
+         if (odepkg_auxiliary_evalplotfun (vplot, voutsel, vtim, vsol, vmebdfiextarg, 1)) {
+           error ("Missing error message implementation");
+           return (vretval);
+@@ -830,9 +830,9 @@
+   veveideargs(0) = vsol;
+   veveideargs(1) = vyds;
+   veveidearg = veveideargs;
+-  if (!vevents.is_empty ())
++  if (!vevents.isempty ())
+     odepkg_auxiliary_evaleventfun (vevents, vtim, veveidearg, vmebdfiextarg, 2);
+-  if (!vplot.is_empty ())
++  if (!vplot.isempty ())
+     odepkg_auxiliary_evalplotfun (vplot, voutsel, vtim, vsol, vmebdfiextarg, 2);
+ 
+   // Return the results that have been stored in the
+@@ -866,7 +866,7 @@
+     vretmap.assign ("solver", "odebdi");
+     if (vstats.string_value () == "on") 
+       vretmap.assign ("stats", vstatinfo);
+-    if (!vevents.is_empty ()) {
++    if (!vevents.isempty ()) {
+       vretmap.assign ("ie", veveres(0).cell_value ()(1));
+       vretmap.assign ("xe", veveres(0).cell_value ()(2));
+       vretmap.assign ("ye", veveres(0).cell_value ()(3));
+@@ -884,7 +884,7 @@
+     vretval(2) = vempty;
+     vretval(3) = vempty;
+     vretval(4) = vempty;
+-    if (!vevents.is_empty ()) {
++    if (!vevents.isempty ()) {
+       vretval(2) = veveres(0).cell_value ()(2);
+       vretval(3) = veveres(0).cell_value ()(3);
+       vretval(4) = veveres(0).cell_value ()(1);
+diff -r 1646adc7793b src/odepkg_octsolver_radau.cc
+--- a/src/odepkg_octsolver_radau.cc	Sun Jan 20 20:52:16 2019 +0100
++++ b/src/odepkg_octsolver_radau.cc	Sun Jan 20 21:30:32 2019 +0100
+@@ -114,7 +114,7 @@
+   varin(0) = X; varin(1) = A;
+   for (octave_idx_type vcnt = 0; vcnt < vradauextarg.length (); vcnt++)
+     varin(vcnt+2) = vradauextarg(vcnt);
+-  octave_value_list vout = feval (vradauodefun.function_value (), varin, 1);
++  octave_value_list vout = octave::feval (vradauodefun.function_value (), varin, 1);
+ 
+   // Return the results from the function evaluation to the Fortran
+   // solver, again copy them and don't just create a Fortran vector
+@@ -200,14 +200,14 @@
+   octave_value vy = octave_value (A);
+ 
+   // Check if an 'Events' function has been set by the user
+-  if (!vradauevefun.is_empty ()) {
++  if (!vradauevefun.isempty ()) {
+     vradauevesol = odepkg_auxiliary_evaleventfun 
+       (vradauevefun, vt, vy, vradauextarg, 1);
+-    if (!vradauevesol(0).cell_value ()(0).is_empty ())
++    if (!vradauevesol(0).cell_value ()(0).isempty ())
+       if (vradauevesol(0).cell_value ()(0).int_value () == 1) {
+         ColumnVector vttmp = vradauevesol(0).cell_value ()(2).column_vector_value ();
+         Matrix vrtmp = vradauevesol(0).cell_value ()(3).matrix_value ();
+-        vt = vttmp.extract (vttmp.length () - 1, vttmp.length () - 1);
++        vt = vttmp.extract (vttmp.numel () - 1, vttmp.numel () - 1);
+         vy = vrtmp.extract (vrtmp.rows () - 1, 0, vrtmp.rows () - 1, vrtmp.cols () - 1);
+         IRTRN = (vradauevesol(0).cell_value ()(0).int_value () ? -1 : 0);
+       }
+@@ -219,7 +219,7 @@
+ 
+   // Check if an 'OutputFcn' has been set by the user (including the
+   // values of the options for 'OutputSel' and 'Refine')
+-  if (!vradaupltfun.is_empty ()) {
++  if (!vradaupltfun.isempty ()) {
+     if (vradaurefine.int_value () > 0) {
+       ColumnVector B(N); double vtb = 0.0;
+       for (octave_idx_type vcnt = 1; vcnt < vradaurefine.int_value (); vcnt++) {
+@@ -320,8 +320,8 @@
+   if (nargin >= 4) {
+ 
+     // Fourth input argument != OdePkg option, need a default structure
+-    if (!args(3).is_map ()) {
+-      octave_value_list tmp = feval ("odeset", tmp, 1);
++    if (!args(3).isstruct ()) {
++      octave_value_list tmp = octave::feval ("odeset", tmp, 1);
+       vodeopt = tmp(0).scalar_map_value ();       // Create a default structure
+       for (octave_idx_type vcnt = 3; vcnt < nargin; vcnt++)
+         vradauextarg(vcnt-3) = args(vcnt); // Save arguments in vradauextarg
+@@ -331,7 +331,7 @@
+     else if (nargin > 4) {
+       octave_value_list varin;
+       varin(0) = args(3); varin(1) = "ode2r";
+-      octave_value_list tmp = feval ("odepkg_structure_check", varin, 1);
++      octave_value_list tmp = octave::feval ("odepkg_structure_check", varin, 1);
+       if (error_state) return (vretval);
+       vodeopt = tmp(0).scalar_map_value ();       // Create structure from args(4)
+       for (octave_idx_type vcnt = 4; vcnt < nargin; vcnt++)
+@@ -342,7 +342,7 @@
+     else {
+       octave_value_list varin;
+       varin(0) = args(3); varin(1) = "ode2r"; // Check structure
+-      octave_value_list tmp = feval ("odepkg_structure_check", varin, 1);
++      octave_value_list tmp = octave::feval ("odepkg_structure_check", varin, 1);
+       if (error_state) return (vretval);
+       vodeopt = tmp(0).scalar_map_value (); // Create a default structure
+     }
+@@ -350,7 +350,7 @@
+   } // if (nargin >= 4)
+ 
+   else { // if nargin == 3, everything else has been checked before
+-    octave_value_list tmp = feval ("odeset", tmp, 1);
++    octave_value_list tmp = octave::feval ("odeset", tmp, 1);
+     vodeopt = tmp(0).scalar_map_value (); // Create a default structure
+   }
+ 
+@@ -362,7 +362,7 @@
+   // Implementation of the option RelTol has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vreltol = vodeopt.contents ("RelTol");
+-  if (vreltol.is_empty ()) {
++  if (vreltol.isempty ()) {
+     vreltol = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"RelTol\" not set, new value %3.1e is used",
+@@ -379,7 +379,7 @@
+   // Implementation of the option AbsTol has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vabstol = vodeopt.contents ("AbsTol");
+-  if (vabstol.is_empty ()) {
++  if (vabstol.isempty ()) {
+     vabstol = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"AbsTol\" not set, new value %3.1e is used",
+@@ -409,7 +409,7 @@
+   // The option NormControl will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vnorm = vodeopt.contents ("NormControl");
+-  if (!vnorm.is_empty ())
++  if (!vnorm.isempty ())
+     if (vnorm.string_value ().compare ("off") != 0)
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"NormControl\" will be ignored by this solver");
+@@ -417,14 +417,14 @@
+   // The option NonNegative will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vnneg = vodeopt.contents ("NonNegative");
+-  if (!vnneg.is_empty ())
++  if (!vnneg.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"NonNegative\" will be ignored by this solver");
+ 
+   // Implementation of the option OutputFcn has been finished, this
+   // option can be set by the user to another value than default value
+   vradaupltfun = vodeopt.contents ("OutputFcn");
+-  if (vradaupltfun.is_empty () && nargout == 0) vradaupltfun = "odeplot";
++  if (vradaupltfun.isempty () && nargout == 0) vradaupltfun = "odeplot";
+ 
+   // Implementation of the option OutputSel has been finished, this
+   // option can be set by the user to another value than default value
+@@ -445,7 +445,7 @@
+     error_with_id ("OdePkg:InvalidOption",
+       "Fixed time stamps are not supported by this solver");
+   }
+-  if (vinitstep.is_empty ()) {
++  if (vinitstep.isempty ()) {
+     vinitstep = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"InitialStep\" not set, new value %3.1e is used",
+@@ -455,7 +455,7 @@
+   // Implementation of the option MaxStep has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vmaxstep = vodeopt.contents ("MaxStep");
+-  if (vmaxstep.is_empty () && args(1).length () == 2) {
++  if (vmaxstep.isempty () && args(1).length () == 2) {
+     vmaxstep = (args(1).vector_value ()(1) - args(1).vector_value ()(0)) / 12.5;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"MaxStep\" not set, new value %3.1e is used", 
+@@ -471,19 +471,19 @@
+   // options can be set by the user to another value than default
+   vradaujacfun = vodeopt.contents ("Jacobian");
+   octave_idx_type vradaujac = 0; // We need to set this if no Jac available
+-  if (!vradaujacfun.is_empty ()) vradaujac = 1;
++  if (!vradaujacfun.isempty ()) vradaujac = 1;
+ 
+   // The option JPattern will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vradaujacpat = vodeopt.contents ("JPattern");
+-  if (!vradaujacpat.is_empty ())
++  if (!vradaujacpat.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"JPattern\" will be ignored by this solver");
+ 
+   // The option Vectorized will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vradauvectorize = vodeopt.contents ("Vectorized");
+-  if (!vradauvectorize.is_empty ())
++  if (!vradauvectorize.isempty ())
+     if (vradauvectorize.string_value ().compare ("off") != 0)
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"Vectorized\" will be ignored by this solver");
+@@ -492,7 +492,7 @@
+   // options can be set by the user to another value than default
+   vradaumass = vodeopt.contents ("Mass");
+   octave_idx_type vradaumas = 0;
+-  if (!vradaumass.is_empty ()) {
++  if (!vradaumass.isempty ()) {
+     vradaumas = 1;
+     if (vradaumass.is_function_handle () || vradaumass.is_inline_function ())
+       warning_with_id ("OdePkg:InvalidOption",
+@@ -502,7 +502,7 @@
+   // The option MStateDependence will be ignored by this solver, the
+   // core Fortran solver doesn't support this option
+   vradaumassstate = vodeopt.contents ("MStateDependence");
+-  if (!vradaumassstate.is_empty ())
++  if (!vradaumassstate.isempty ())
+     if (vradaumassstate.string_value ().compare ("weak") != 0) // 'weak' is default
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"MStateDependence\" will be ignored by this solver");
+@@ -510,14 +510,14 @@
+   // The option MStateDependence will be ignored by this solver, the
+   // core Fortran solver doesn't support this option
+   octave_value vmvpat = vodeopt.contents ("MvPattern");
+-  if (!vmvpat.is_empty ())
++  if (!vmvpat.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"MvPattern\" will be ignored by this solver");
+ 
+   // The option MassSingular will be ignored by this solver, the
+   // core Fortran solver doesn't support this option
+   octave_value vmsing = vodeopt.contents ("MassSingular");
+-  if (!vmsing.is_empty ())
++  if (!vmsing.isempty ())
+     if (vmsing.string_value ().compare ("maybe") != 0)
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"MassSingular\" will be ignored by this solver");
+@@ -525,21 +525,21 @@
+   // The option InitialSlope will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vinitslope = vodeopt.contents ("InitialSlope");
+-  if (!vinitslope.is_empty ())
++  if (!vinitslope.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"InitialSlope\" will be ignored by this solver");
+ 
+   // The option MaxOrder will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vmaxder = vodeopt.contents ("MaxOrder");
+-  if (!vmaxder.is_empty ())
++  if (!vmaxder.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"MaxOrder\" will be ignored by this solver");
+ 
+   // The option BDF will be ignored by this solver, the core Fortran
+   // solver doesn't support this option
+   octave_value vbdf = vodeopt.contents ("BDF");
+-  if (!vbdf.is_empty ())
++  if (!vbdf.isempty ())
+     if (vbdf.string_value ().compare ("off") != 0)
+       warning_with_id ("OdePkg:InvalidOption", 
+         "Option \"BDF\" will be ignored by this solver");
+@@ -548,12 +548,12 @@
+   // this solver, IT NEEDS TO BE CHECKED IF THE FORTRAN CORE SOLVER
+   // CAN HANDLE THESE OPTIONS
+   octave_value vntol = vodeopt.contents ("NewtonTol");
+-  if (!vntol.is_empty ())
++  if (!vntol.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"NewtonTol\" will be ignored by this solver");
+   octave_value vmaxnewton = 
+     vodeopt.contents ("MaxNewtonIterations");
+-  if (!vmaxnewton.is_empty ())
++  if (!vmaxnewton.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"MaxNewtonIterations\" will be ignored by this solver");
+ 
+@@ -600,9 +600,9 @@
+   octave_value vtim = args(1).vector_value ()(0);
+   octave_value vsol = args(2);
+   odepkg_auxiliary_solstore (vtim, vsol, 0);
+-  if (!vradaupltfun.is_empty ()) odepkg_auxiliary_evalplotfun 
++  if (!vradaupltfun.isempty ()) odepkg_auxiliary_evalplotfun 
+     (vradaupltfun, vradauoutsel, args(1), args(2), vradauextarg, 0);
+-  if (!vradauevefun.is_empty ())
++  if (!vradauevefun.isempty ())
+     odepkg_auxiliary_evaleventfun (vradauevefun, vtim, args(2), vradauextarg, 0);
+ 
+   // We are calling the core solver and solve the set of ODEs or DAEs
+@@ -639,9 +639,9 @@
+   octave_value vted = octave_value (XEND);
+   octave_value vfin = octave_value (vlastline);
+ 
+-  if (!vradaupltfun.is_empty ()) odepkg_auxiliary_evalplotfun
++  if (!vradaupltfun.isempty ()) odepkg_auxiliary_evalplotfun
+     (vradaupltfun, vradauoutsel, vted, vfin, vradauextarg, 2);
+-  if (!vradauevefun.is_empty ()) odepkg_auxiliary_evaleventfun
++  if (!vradauevefun.isempty ()) odepkg_auxiliary_evaleventfun
+     (vradauevefun, vted, vfin, vradauextarg, 2);
+   
+   // Get the stats information as an octave_scalar_map if the option 'Stats'
+@@ -667,9 +667,9 @@
+     vretmap.assign ("x", vtres);
+     vretmap.assign ("y", vyres);
+     vretmap.assign ("solver", "ode2r");
+-    if (!vstatinfo.is_empty ()) // Event implementation
++    if (!vstatinfo.isempty ()) // Event implementation
+       vretmap.assign ("stats", vstatinfo);
+-    if (!vradauevefun.is_empty ()) {
++    if (!vradauevefun.isempty ()) {
+       vretmap.assign ("ie", vradauevesol(0).cell_value ()(1));
+       vretmap.assign ("xe", vradauevesol(0).cell_value ()(2));
+       vretmap.assign ("ye", vradauevesol(0).cell_value ()(3));
+@@ -687,7 +687,7 @@
+     vretval(2) = vempty;
+     vretval(3) = vempty;
+     vretval(4) = vempty;
+-    if (!vradauevefun.is_empty ()) {
++    if (!vradauevefun.isempty ()) {
+       vretval(2) = vradauevesol(0).cell_value ()(2);
+       vretval(3) = vradauevesol(0).cell_value ()(3);
+       vretval(4) = vradauevesol(0).cell_value ()(1);
+diff -r 1646adc7793b src/odepkg_octsolver_radau5.cc
+--- a/src/odepkg_octsolver_radau5.cc	Sun Jan 20 20:52:16 2019 +0100
++++ b/src/odepkg_octsolver_radau5.cc	Sun Jan 20 21:30:32 2019 +0100
+@@ -114,7 +114,7 @@
+   varin(0) = X; varin(1) = A;
+   for (octave_idx_type vcnt = 0; vcnt < vradau5extarg.length (); vcnt++)
+     varin(vcnt+2) = vradau5extarg(vcnt);
+-  octave_value_list vout = feval (vradau5odefun.function_value (), varin, 1);
++  octave_value_list vout = octave::feval (vradau5odefun.function_value (), varin, 1);
+ 
+   // Return the results from the function evaluation to the Fortran
+   // solver, again copy them and don't just create a Fortran vector
+@@ -200,14 +200,14 @@
+   octave_value vy = octave_value (A);
+ 
+   // Check if an 'Events' function has been set by the user
+-  if (!vradau5evefun.is_empty ()) {
++  if (!vradau5evefun.isempty ()) {
+     vradau5evesol = odepkg_auxiliary_evaleventfun 
+       (vradau5evefun, vt, vy, vradau5extarg, 1);
+-    if (!vradau5evesol(0).cell_value ()(0).is_empty ())
++    if (!vradau5evesol(0).cell_value ()(0).isempty ())
+       if (vradau5evesol(0).cell_value ()(0).int_value () == 1) {
+         ColumnVector vttmp = vradau5evesol(0).cell_value ()(2).column_vector_value ();
+         Matrix vrtmp = vradau5evesol(0).cell_value ()(3).matrix_value ();
+-        vt = vttmp.extract (vttmp.length () - 1, vttmp.length () - 1);
++        vt = vttmp.extract (vttmp.numel () - 1, vttmp.numel () - 1);
+         vy = vrtmp.extract (vrtmp.rows () - 1, 0, vrtmp.rows () - 1, vrtmp.cols () - 1);
+         IRTRN = (vradau5evesol(0).cell_value ()(0).int_value () ? -1 : 0);
+       }
+@@ -219,7 +219,7 @@
+ 
+   // Check if an 'OutputFcn' has been set by the user (including the
+   // values of the options for 'OutputSel' and 'Refine')
+-  if (!vradau5pltfun.is_empty ()) {
++  if (!vradau5pltfun.isempty ()) {
+     if (vradau5refine.int_value () > 0) {
+       ColumnVector B(N); double vtb = 0.0;
+       for (octave_idx_type vcnt = 1; vcnt < vradau5refine.int_value (); vcnt++) {
+@@ -320,8 +320,8 @@
+   if (nargin >= 4) {
+ 
+     // Fourth input argument != OdePkg option, need a default structure
+-    if (!args(3).is_map ()) {
+-      octave_value_list tmp = feval ("odeset", tmp, 1);
++    if (!args(3).isstruct ()) {
++      octave_value_list tmp = octave::feval ("odeset", tmp, 1);
+       vodeopt = tmp(0).scalar_map_value ();       // Create a default structure
+       for (octave_idx_type vcnt = 3; vcnt < nargin; vcnt++)
+         vradau5extarg(vcnt-3) = args(vcnt); // Save arguments in vradau5extarg
+@@ -331,7 +331,7 @@
+     else if (nargin > 4) {
+       octave_value_list varin;
+       varin(0) = args(3); varin(1) = "ode5r";
+-      octave_value_list tmp = feval ("odepkg_structure_check", varin, 1);
++      octave_value_list tmp = octave::feval ("odepkg_structure_check", varin, 1);
+       if (error_state) return (vretval);
+       vodeopt = tmp(0).scalar_map_value ();       // Create structure from args(4)
+       for (octave_idx_type vcnt = 4; vcnt < nargin; vcnt++)
+@@ -342,7 +342,7 @@
+     else {
+       octave_value_list varin;
+       varin(0) = args(3); varin(1) = "ode5r"; // Check structure
+-      octave_value_list tmp = feval ("odepkg_structure_check", varin, 1);
++      octave_value_list tmp = octave::feval ("odepkg_structure_check", varin, 1);
+       if (error_state) return (vretval);
+       vodeopt = tmp(0).scalar_map_value (); // Create a default structure
+     }
+@@ -350,7 +350,7 @@
+   } // if (nargin >= 4)
+ 
+   else { // if nargin == 3, everything else has been checked before
+-    octave_value_list tmp = feval ("odeset", tmp, 1);
++    octave_value_list tmp = octave::feval ("odeset", tmp, 1);
+     vodeopt = tmp(0).scalar_map_value (); // Create a default structure
+   }
+ 
+@@ -362,7 +362,7 @@
+   // Implementation of the option RelTol has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vreltol = vodeopt.contents ("RelTol");
+-  if (vreltol.is_empty ()) {
++  if (vreltol.isempty ()) {
+     vreltol = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"RelTol\" not set, new value %3.1e is used",
+@@ -379,7 +379,7 @@
+   // Implementation of the option AbsTol has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vabstol = vodeopt.contents ("AbsTol");
+-  if (vabstol.is_empty ()) {
++  if (vabstol.isempty ()) {
+     vabstol = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"AbsTol\" not set, new value %3.1e is used",
+@@ -409,7 +409,7 @@
+   // The option NormControl will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vnorm = vodeopt.contents ("NormControl");
+-  if (!vnorm.is_empty ())
++  if (!vnorm.isempty ())
+     if (vnorm.string_value ().compare ("off") != 0)
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"NormControl\" will be ignored by this solver");
+@@ -417,14 +417,14 @@
+   // The option NonNegative will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vnneg = vodeopt.contents ("NonNegative");
+-  if (!vnneg.is_empty ())
++  if (!vnneg.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"NonNegative\" will be ignored by this solver");
+ 
+   // Implementation of the option OutputFcn has been finished, this
+   // option can be set by the user to another value than default value
+   vradau5pltfun = vodeopt.contents ("OutputFcn");
+-  if (vradau5pltfun.is_empty () && nargout == 0) vradau5pltfun = "odeplot";
++  if (vradau5pltfun.isempty () && nargout == 0) vradau5pltfun = "odeplot";
+ 
+   // Implementation of the option OutputSel has been finished, this
+   // option can be set by the user to another value than default value
+@@ -445,7 +445,7 @@
+     error_with_id ("OdePkg:InvalidOption",
+       "Fixed time stamps are not supported by this solver");
+   }
+-  if (vinitstep.is_empty ()) {
++  if (vinitstep.isempty ()) {
+     vinitstep = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"InitialStep\" not set, new value %3.1e is used",
+@@ -455,7 +455,7 @@
+   // Implementation of the option MaxStep has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vmaxstep = vodeopt.contents ("MaxStep");
+-  if (vmaxstep.is_empty () && args(1).length () == 2) {
++  if (vmaxstep.isempty () && args(1).length () == 2) {
+     vmaxstep = (args(1).vector_value ()(1) - args(1).vector_value ()(0)) / 12.5;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"MaxStep\" not set, new value %3.1e is used", 
+@@ -471,19 +471,19 @@
+   // options can be set by the user to another value than default
+   vradau5jacfun = vodeopt.contents ("Jacobian");
+   octave_idx_type vradau5jac = 0; // We need to set this if no Jac available
+-  if (!vradau5jacfun.is_empty ()) vradau5jac = 1;
++  if (!vradau5jacfun.isempty ()) vradau5jac = 1;
+ 
+   // The option JPattern will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vradau5jacpat = vodeopt.contents ("JPattern");
+-  if (!vradau5jacpat.is_empty ())
++  if (!vradau5jacpat.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"JPattern\" will be ignored by this solver");
+ 
+   // The option Vectorized will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vradau5vectorize = vodeopt.contents ("Vectorized");
+-  if (!vradau5vectorize.is_empty ())
++  if (!vradau5vectorize.isempty ())
+     if (vradau5vectorize.string_value ().compare ("off") != 0)
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"Vectorized\" will be ignored by this solver");
+@@ -492,7 +492,7 @@
+   // options can be set by the user to another value than default
+   vradau5mass = vodeopt.contents ("Mass");
+   octave_idx_type vradau5mas = 0;
+-  if (!vradau5mass.is_empty ()) {
++  if (!vradau5mass.isempty ()) {
+     vradau5mas = 1;
+     if (vradau5mass.is_function_handle () || vradau5mass.is_inline_function ())
+       warning_with_id ("OdePkg:InvalidOption",
+@@ -502,7 +502,7 @@
+   // The option MStateDependence will be ignored by this solver, the
+   // core Fortran solver doesn't support this option
+   vradau5massstate = vodeopt.contents ("MStateDependence");
+-  if (!vradau5massstate.is_empty ())
++  if (!vradau5massstate.isempty ())
+     if (vradau5massstate.string_value ().compare ("weak") != 0) // 'weak' is default
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"MStateDependence\" will be ignored by this solver");
+@@ -510,14 +510,14 @@
+   // The option MStateDependence will be ignored by this solver, the
+   // core Fortran solver doesn't support this option
+   octave_value vmvpat = vodeopt.contents ("MvPattern");
+-  if (!vmvpat.is_empty ())
++  if (!vmvpat.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"MvPattern\" will be ignored by this solver");
+ 
+   // The option MassSingular will be ignored by this solver, the
+   // core Fortran solver doesn't support this option
+   octave_value vmsing = vodeopt.contents ("MassSingular");
+-  if (!vmsing.is_empty ())
++  if (!vmsing.isempty ())
+     if (vmsing.string_value ().compare ("maybe") != 0)
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"MassSingular\" will be ignored by this solver");
+@@ -525,21 +525,21 @@
+   // The option InitialSlope will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vinitslope = vodeopt.contents ("InitialSlope");
+-  if (!vinitslope.is_empty ())
++  if (!vinitslope.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"InitialSlope\" will be ignored by this solver");
+ 
+   // The option MaxOrder will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vmaxder = vodeopt.contents ("MaxOrder");
+-  if (!vmaxder.is_empty ())
++  if (!vmaxder.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"MaxOrder\" will be ignored by this solver");
+ 
+   // The option BDF will be ignored by this solver, the core Fortran
+   // solver doesn't support this option
+   octave_value vbdf = vodeopt.contents ("BDF");
+-  if (!vbdf.is_empty ())
++  if (!vbdf.isempty ())
+     if (vbdf.string_value ().compare ("off") != 0)
+       warning_with_id ("OdePkg:InvalidOption", 
+         "Option \"BDF\" will be ignored by this solver");
+@@ -547,7 +547,7 @@
+   // Implementation of the option NewtonTol has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vNTOL = vodeopt.contents ("NewtonTol");
+-  if (vNTOL.is_empty ()) {
++  if (vNTOL.isempty ()) {
+     vNTOL = 0;
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"NewtonTol\" not set, default value is used");
+@@ -557,7 +557,7 @@
+   // option can be set by the user to another value than default value
+   octave_value vmaxnit = 
+     vodeopt.contents ("MaxNewtonIterations");
+-  if (vmaxnit.is_empty ()) {
++  if (vmaxnit.isempty ()) {
+     vmaxnit = 7; warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"MaxNewtonIterations\" not set, default value 7 is used");
+   }
+@@ -611,9 +611,9 @@
+   octave_value vtim = args(1).vector_value ()(0);
+   octave_value vsol = args(2);
+   odepkg_auxiliary_solstore (vtim, vsol, 0);
+-  if (!vradau5pltfun.is_empty ()) odepkg_auxiliary_evalplotfun 
++  if (!vradau5pltfun.isempty ()) odepkg_auxiliary_evalplotfun 
+     (vradau5pltfun, vradau5outsel, args(1), args(2), vradau5extarg, 0);
+-  if (!vradau5evefun.is_empty ())
++  if (!vradau5evefun.isempty ())
+     odepkg_auxiliary_evaleventfun (vradau5evefun, vtim, args(2), vradau5extarg, 0);
+ 
+   // octave_stdout <<  "X VALUE=" << X << XEND << std::endl;
+@@ -651,9 +651,9 @@
+   octave_value vted = octave_value (XEND);
+   octave_value vfin = octave_value (vlastline);
+ 
+-  if (!vradau5pltfun.is_empty ()) odepkg_auxiliary_evalplotfun
++  if (!vradau5pltfun.isempty ()) odepkg_auxiliary_evalplotfun
+     (vradau5pltfun, vradau5outsel, vted, vfin, vradau5extarg, 2);
+-  if (!vradau5evefun.is_empty ()) odepkg_auxiliary_evaleventfun
++  if (!vradau5evefun.isempty ()) odepkg_auxiliary_evaleventfun
+     (vradau5evefun, vted, vfin, vradau5extarg, 2);
+   
+   // Get the stats information as an octave_scalar_map if the option 'Stats'
+@@ -679,9 +679,9 @@
+     vretmap.assign ("x", vtres);
+     vretmap.assign ("y", vyres);
+     vretmap.assign ("solver", "ode5r");
+-    if (!vstatinfo.is_empty ()) // Event implementation
++    if (!vstatinfo.isempty ()) // Event implementation
+       vretmap.assign ("stats", vstatinfo);
+-    if (!vradau5evefun.is_empty ()) {
++    if (!vradau5evefun.isempty ()) {
+       vretmap.assign ("ie", vradau5evesol(0).cell_value ()(1));
+       vretmap.assign ("xe", vradau5evesol(0).cell_value ()(2));
+       vretmap.assign ("ye", vradau5evesol(0).cell_value ()(3));
+@@ -699,7 +699,7 @@
+     vretval(2) = vempty;
+     vretval(3) = vempty;
+     vretval(4) = vempty;
+-    if (!vradau5evefun.is_empty ()) {
++    if (!vradau5evefun.isempty ()) {
+       vretval(2) = vradau5evesol(0).cell_value ()(2);
+       vretval(3) = vradau5evesol(0).cell_value ()(3);
+       vretval(4) = vradau5evesol(0).cell_value ()(1);
+diff -r 1646adc7793b src/odepkg_octsolver_rodas.cc
+--- a/src/odepkg_octsolver_rodas.cc	Sun Jan 20 20:52:16 2019 +0100
++++ b/src/odepkg_octsolver_rodas.cc	Sun Jan 20 21:30:32 2019 +0100
+@@ -293,7 +293,7 @@
+   varin(0) = X; varin(1) = A;
+   for (octave_idx_type vcnt = 0; vcnt < vrodasextarg.length (); vcnt++)
+     varin(vcnt+2) = vrodasextarg(vcnt);
+-  octave_value_list vout = feval (vrodasodefun.function_value (), varin, 1);
++  octave_value_list vout = octave::feval (vrodasodefun.function_value (), varin, 1);
+ 
+   // Return the results from the function evaluation to the Fortran
+   // solver, again copy them and don't just create a Fortran vector
+@@ -401,14 +401,14 @@
+   octave_value vy = octave_value (A);
+ 
+   // Check if an 'Events' function has been set by the user
+-  if (!vrodasevefun.is_empty ()) {
++  if (!vrodasevefun.isempty ()) {
+     vrodasevesol = odepkg_auxiliary_evaleventfun 
+       (vrodasevefun, vt, vy, vrodasextarg, 1);
+-    if (!vrodasevesol(0).cell_value ()(0).is_empty ())
++    if (!vrodasevesol(0).cell_value ()(0).isempty ())
+       if (vrodasevesol(0).cell_value ()(0).int_value () == 1) {
+         ColumnVector vttmp = vrodasevesol(0).cell_value ()(2).column_vector_value ();
+         Matrix vrtmp = vrodasevesol(0).cell_value ()(3).matrix_value ();
+-        vt = vttmp.extract (vttmp.length () - 1, vttmp.length () - 1);
++        vt = vttmp.extract (vttmp.numel () - 1, vttmp.numel () - 1);
+         vy = vrtmp.extract (vrtmp.rows () - 1, 0, vrtmp.rows () - 1, vrtmp.cols () - 1);
+         IRTRN = (vrodasevesol(0).cell_value ()(0).int_value () ? -1 : 0);
+       }
+@@ -420,7 +420,7 @@
+ 
+   // Check if an 'OutputFcn' has been set by the user (including the
+   // values of the options for 'OutputSel' and 'Refine')
+-  if (!vrodaspltfun.is_empty ()) {
++  if (!vrodaspltfun.isempty ()) {
+     if (vrodasrefine.int_value () > 0) {
+       ColumnVector B(N); double vtb = 0.0;
+       for (octave_idx_type vcnt = 1; vcnt < vrodasrefine.int_value (); vcnt++) {
+@@ -534,8 +534,8 @@
+   if (nargin >= 4) {
+ 
+     // Fourth input argument != OdePkg option, need a default structure
+-    if (!args(3).is_map ()) {
+-      octave_value_list tmp = feval ("odeset", tmp, 1);
++    if (!args(3).isstruct ()) {
++      octave_value_list tmp = octave::feval ("odeset", tmp, 1);
+       vodeopt = tmp(0).scalar_map_value ();       // Create a default structure
+       for (octave_idx_type vcnt = 3; vcnt < nargin; vcnt++)
+         vrodasextarg(vcnt-3) = args(vcnt); // Save arguments in vrodasextarg
+@@ -545,7 +545,7 @@
+     else if (nargin > 4) {
+       octave_value_list varin;
+       varin(0) = args(3); varin(1) = "oders";
+-      octave_value_list tmp = feval ("odepkg_structure_check", varin, 1);
++      octave_value_list tmp = octave::feval ("odepkg_structure_check", varin, 1);
+       if (error_state) return (vretval);
+       vodeopt = tmp(0).scalar_map_value ();       // Create structure from args(4)
+       for (octave_idx_type vcnt = 4; vcnt < nargin; vcnt++)
+@@ -556,7 +556,7 @@
+     else {
+       octave_value_list varin;
+       varin(0) = args(3); varin(1) = "oders"; // Check structure
+-      octave_value_list tmp = feval ("odepkg_structure_check", varin, 1);
++      octave_value_list tmp = octave::feval ("odepkg_structure_check", varin, 1);
+       if (error_state) return (vretval);
+       vodeopt = tmp(0).scalar_map_value (); // Create a default structure
+     }
+@@ -564,7 +564,7 @@
+   } // if (nargin >= 4)
+ 
+   else { // if nargin == 3, everything else has been checked before
+-    octave_value_list tmp = feval ("odeset", tmp, 1);
++    octave_value_list tmp = octave::feval ("odeset", tmp, 1);
+     vodeopt = tmp(0).scalar_map_value (); // Create a default structure
+   }
+ 
+@@ -576,7 +576,7 @@
+   // Implementation of the option RelTol has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vreltol = vodeopt.contents ("RelTol");
+-  if (vreltol.is_empty ()) {
++  if (vreltol.isempty ()) {
+     vreltol = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"RelTol\" not set, new value %3.1e is used",
+@@ -593,7 +593,7 @@
+   // Implementation of the option AbsTol has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vabstol = vodeopt.contents ("AbsTol");
+-  if (vabstol.is_empty ()) {
++  if (vabstol.isempty ()) {
+     vabstol = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"AbsTol\" not set, new value %3.1e is used",
+@@ -623,7 +623,7 @@
+   // The option NormControl will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vnorm = vodeopt.contents ("NormControl");
+-  if (!vnorm.is_empty ())
++  if (!vnorm.isempty ())
+     if (vnorm.string_value ().compare ("off") != 0)
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"NormControl\" will be ignored by this solver");
+@@ -631,14 +631,14 @@
+   // The option NonNegative will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vnneg = vodeopt.contents ("NonNegative");
+-  if (!vnneg.is_empty ())
++  if (!vnneg.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"NonNegative\" will be ignored by this solver");
+ 
+   // Implementation of the option OutputFcn has been finished, this
+   // option can be set by the user to another value than default value
+   vrodaspltfun = vodeopt.contents ("OutputFcn");
+-  if (vrodaspltfun.is_empty () && nargout == 0) vrodaspltfun = "odeplot";
++  if (vrodaspltfun.isempty () && nargout == 0) vrodaspltfun = "odeplot";
+ 
+   // Implementation of the option OutputSel has been finished, this
+   // option can be set by the user to another value than default value
+@@ -659,7 +659,7 @@
+     error_with_id ("OdePkg:InvalidOption",
+       "Fixed time stamps are not supported by this solver");
+   }
+-  if (vinitstep.is_empty ()) {
++  if (vinitstep.isempty ()) {
+     vinitstep = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"InitialStep\" not set, new value %3.1e is used",
+@@ -669,7 +669,7 @@
+   // Implementation of the option MaxStep has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vmaxstep = vodeopt.contents ("MaxStep");
+-  if (vmaxstep.is_empty () && args(1).length () == 2) {
++  if (vmaxstep.isempty () && args(1).length () == 2) {
+     vmaxstep = (args(1).vector_value ()(1) - args(1).vector_value ()(0)) / 12.5;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"MaxStep\" not set, new value %3.1e is used", 
+@@ -685,19 +685,19 @@
+   // options can be set by the user to another value than default
+   vrodasjacfun = vodeopt.contents ("Jacobian");
+   octave_idx_type vrodasjac = 0; // We need to set this if no Jac available
+-  if (!vrodasjacfun.is_empty ()) vrodasjac = 1;
++  if (!vrodasjacfun.isempty ()) vrodasjac = 1;
+ 
+   // The option JPattern will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vrodasjacpat = vodeopt.contents ("JPattern");
+-  if (!vrodasjacpat.is_empty ())
++  if (!vrodasjacpat.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"JPattern\" will be ignored by this solver");
+ 
+   // The option Vectorized will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vrodasvectorize = vodeopt.contents ("Vectorized");
+-  if (!vrodasvectorize.is_empty ())
++  if (!vrodasvectorize.isempty ())
+     if (vrodasvectorize.string_value ().compare ("off") != 0)
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"Vectorized\" will be ignored by this solver");
+@@ -706,7 +706,7 @@
+   // options can be set by the user to another value than default
+   vrodasmass = vodeopt.contents ("Mass");
+   octave_idx_type vrodasmas = 0;
+-  if (!vrodasmass.is_empty ()) {
++  if (!vrodasmass.isempty ()) {
+     vrodasmas = 1;
+     if (vrodasmass.is_function_handle () || vrodasmass.is_inline_function ())
+       warning_with_id ("OdePkg:InvalidOption",
+@@ -716,7 +716,7 @@
+   // The option MStateDependence will be ignored by this solver, the
+   // core Fortran solver doesn't support this option
+   vrodasmassstate = vodeopt.contents ("MStateDependence");
+-  if (!vrodasmassstate.is_empty ())
++  if (!vrodasmassstate.isempty ())
+     if (vrodasmassstate.string_value ().compare ("weak") != 0) // 'weak' is default
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"MStateDependence\" will be ignored by this solver");
+@@ -724,14 +724,14 @@
+   // The option MStateDependence will be ignored by this solver, the
+   // core Fortran solver doesn't support this option
+   octave_value vmvpat = vodeopt.contents ("MvPattern");
+-  if (!vmvpat.is_empty ())
++  if (!vmvpat.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"MvPattern\" will be ignored by this solver");
+ 
+   // The option MassSingular will be ignored by this solver, the
+   // core Fortran solver doesn't support this option
+   octave_value vmsing = vodeopt.contents ("MassSingular");
+-  if (!vmsing.is_empty ())
++  if (!vmsing.isempty ())
+     if (vmsing.string_value ().compare ("maybe") != 0)
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"MassSingular\" will be ignored by this solver");
+@@ -739,21 +739,21 @@
+   // The option InitialSlope will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vinitslope = vodeopt.contents ("InitialSlope");
+-  if (!vinitslope.is_empty ())
++  if (!vinitslope.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"InitialSlope\" will be ignored by this solver");
+ 
+   // The option MaxOrder will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vmaxder = vodeopt.contents ("MaxOrder");
+-  if (!vmaxder.is_empty ())
++  if (!vmaxder.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"MaxOrder\" will be ignored by this solver");
+ 
+   // The option BDF will be ignored by this solver, the core Fortran
+   // solver doesn't support this option
+   octave_value vbdf = vodeopt.contents ("BDF");
+-  if (!vbdf.is_empty ())
++  if (!vbdf.isempty ())
+     if (vbdf.string_value ().compare ("off") != 0)
+       warning_with_id ("OdePkg:InvalidOption", 
+         "Option \"BDF\" will be ignored by this solver");
+@@ -761,12 +761,12 @@
+   // this solver, IT NEEDS TO BE CHECKED IF THE FORTRAN CORE SOLVER
+   // CAN HANDLE THESE OPTIONS
+   octave_value vntol = vodeopt.contents ("NewtonTol");
+-  if (!vntol.is_empty ())
++  if (!vntol.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"NewtonTol\" will be ignored by this solver");
+   octave_value vmaxnewton = 
+     vodeopt.contents ("MaxNewtonIterations");
+-  if (!vmaxnewton.is_empty ())
++  if (!vmaxnewton.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"MaxNewtonIterations\" will be ignored by this solver");
+ 
+@@ -813,9 +813,9 @@
+   octave_value vtim = args(1).vector_value ()(0);
+   octave_value vsol = args(2);
+   odepkg_auxiliary_solstore (vtim, vsol, 0);
+-  if (!vrodaspltfun.is_empty ()) odepkg_auxiliary_evalplotfun 
++  if (!vrodaspltfun.isempty ()) odepkg_auxiliary_evalplotfun 
+     (vrodaspltfun, vrodasoutsel, args(1), args(2), vrodasextarg, 0);
+-  if (!vrodasevefun.is_empty ())
++  if (!vrodasevefun.isempty ())
+     odepkg_auxiliary_evaleventfun (vrodasevefun, vtim, args(2), vrodasextarg, 0);
+ 
+   // We are calling the core solver and solve the set of ODEs or DAEs
+@@ -852,9 +852,9 @@
+   octave_value vted = octave_value (XEND);
+   octave_value vfin = octave_value (vlastline);
+ 
+-  if (!vrodaspltfun.is_empty ()) odepkg_auxiliary_evalplotfun
++  if (!vrodaspltfun.isempty ()) odepkg_auxiliary_evalplotfun
+     (vrodaspltfun, vrodasoutsel, vted, vfin, vrodasextarg, 2);
+-  if (!vrodasevefun.is_empty ()) odepkg_auxiliary_evaleventfun
++  if (!vrodasevefun.isempty ()) odepkg_auxiliary_evaleventfun
+     (vrodasevefun, vted, vfin, vrodasextarg, 2);
+   
+   // Get the stats information as an octave_scalar_map if the option 'Stats'
+@@ -879,9 +879,9 @@
+     vretmap.assign ("x", vtres);
+     vretmap.assign ("y", vyres);
+     vretmap.assign ("solver", "oders");
+-    if (!vstatinfo.is_empty ()) // Event implementation
++    if (!vstatinfo.isempty ()) // Event implementation
+       vretmap.assign ("stats", vstatinfo);
+-    if (!vrodasevefun.is_empty ()) {
++    if (!vrodasevefun.isempty ()) {
+       vretmap.assign ("ie", vrodasevesol(0).cell_value ()(1));
+       vretmap.assign ("xe", vrodasevesol(0).cell_value ()(2));
+       vretmap.assign ("ye", vrodasevesol(0).cell_value ()(3));
+@@ -899,7 +899,7 @@
+     vretval(2) = vempty;
+     vretval(3) = vempty;
+     vretval(4) = vempty;
+-    if (!vrodasevefun.is_empty ()) {
++    if (!vrodasevefun.isempty ()) {
+       vretval(2) = vrodasevesol(0).cell_value ()(2);
+       vretval(3) = vrodasevesol(0).cell_value ()(3);
+       vretval(4) = vrodasevesol(0).cell_value ()(1);
+diff -r 1646adc7793b src/odepkg_octsolver_seulex.cc
+--- a/src/odepkg_octsolver_seulex.cc	Sun Jan 20 20:52:16 2019 +0100
++++ b/src/odepkg_octsolver_seulex.cc	Sun Jan 20 21:30:32 2019 +0100
+@@ -117,7 +117,7 @@
+   varin(0) = X; varin(1) = A;
+   for (octave_idx_type vcnt = 0; vcnt < vseulexextarg.length (); vcnt++)
+     varin(vcnt+2) = vseulexextarg(vcnt);
+-  octave_value_list vout = feval (vseulexodefun.function_value (), varin, 1);
++  octave_value_list vout = octave::feval (vseulexodefun.function_value (), varin, 1);
+ 
+   // Return the results from the function evaluation to the Fortran
+   // solver, again copy them and don't just create a Fortran vector
+@@ -205,14 +205,14 @@
+ 
+   vseulexevebrk = false;
+   // Check if an 'Events' function has been set by the user
+-  if (!vseulexevefun.is_empty ()) {
++  if (!vseulexevefun.isempty ()) {
+     vseulexevesol = odepkg_auxiliary_evaleventfun 
+       (vseulexevefun, vt, vy, vseulexextarg, 1);
+-    if (!vseulexevesol(0).cell_value ()(0).is_empty ())
++    if (!vseulexevesol(0).cell_value ()(0).isempty ())
+       if (vseulexevesol(0).cell_value ()(0).int_value () == 1) {
+         ColumnVector vttmp = vseulexevesol(0).cell_value ()(2).column_vector_value ();
+         Matrix vrtmp = vseulexevesol(0).cell_value ()(3).matrix_value ();
+-        vt = vttmp.extract (vttmp.length () - 1, vttmp.length () - 1);
++        vt = vttmp.extract (vttmp.numel () - 1, vttmp.numel () - 1);
+         vy = vrtmp.extract (vrtmp.rows () - 1, 0, vrtmp.rows () - 1, vrtmp.cols () - 1);
+         IRTRN = (vseulexevesol(0).cell_value ()(0).int_value () ? -1 : 0);
+         vseulexevebrk = true;
+@@ -226,7 +226,7 @@
+   // Check if an 'OutputFcn' has been set by the user (including the
+   // values of the options for 'OutputSel' and 'Refine')
+   vseulexpltbrk = false;
+-  if (!vseulexpltfun.is_empty ()) {
++  if (!vseulexpltfun.isempty ()) {
+     if (vseulexrefine.int_value () > 0) {
+       ColumnVector B(N); double vtb = 0.0;
+       for (octave_idx_type vcnt = 1; vcnt < vseulexrefine.int_value (); vcnt++) {
+@@ -328,8 +328,8 @@
+   if (nargin >= 4) {
+ 
+     // Fourth input argument != OdePkg option, need a default structure
+-    if (!args(3).is_map ()) {
+-      octave_value_list tmp = feval ("odeset", tmp, 1);
++    if (!args(3).isstruct ()) {
++      octave_value_list tmp = octave::feval ("odeset", tmp, 1);
+       vodeopt = tmp(0).scalar_map_value ();       // Create a default structure
+       for (octave_idx_type vcnt = 3; vcnt < nargin; vcnt++)
+         vseulexextarg(vcnt-3) = args(vcnt); // Save arguments in vseulexextarg
+@@ -339,7 +339,7 @@
+     else if (nargin > 4) {
+       octave_value_list varin;
+       varin(0) = args(3); varin(1) = "odesx";
+-      octave_value_list tmp = feval ("odepkg_structure_check", varin, 1);
++      octave_value_list tmp = octave::feval ("odepkg_structure_check", varin, 1);
+       if (error_state) return (vretval);
+       vodeopt = tmp(0).scalar_map_value ();       // Create structure from args(4)
+       for (octave_idx_type vcnt = 4; vcnt < nargin; vcnt++)
+@@ -350,7 +350,7 @@
+     else {
+       octave_value_list varin;
+       varin(0) = args(3); varin(1) = "odesx"; // Check structure
+-      octave_value_list tmp = feval ("odepkg_structure_check", varin, 1);
++      octave_value_list tmp = octave::feval ("odepkg_structure_check", varin, 1);
+       if (error_state) return (vretval);
+       vodeopt = tmp(0).scalar_map_value (); // Create a default structure
+     }
+@@ -358,7 +358,7 @@
+   } // if (nargin >= 4)
+ 
+   else { // if nargin == 3, everything else has been checked before
+-    octave_value_list tmp = feval ("odeset", tmp, 1);
++    octave_value_list tmp = octave::feval ("odeset", tmp, 1);
+     vodeopt = tmp(0).scalar_map_value (); // Create a default structure
+   }
+ 
+@@ -370,7 +370,7 @@
+   // Implementation of the option RelTol has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vreltol = vodeopt.contents ("RelTol");
+-  if (vreltol.is_empty ()) {
++  if (vreltol.isempty ()) {
+     vreltol = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"RelTol\" not set, new value %3.1e is used",
+@@ -387,7 +387,7 @@
+   // Implementation of the option AbsTol has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vabstol = vodeopt.contents ("AbsTol");
+-  if (vabstol.is_empty ()) {
++  if (vabstol.isempty ()) {
+     vabstol = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"AbsTol\" not set, new value %3.1e is used",
+@@ -417,7 +417,7 @@
+   // The option NormControl will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vnorm = vodeopt.contents ("NormControl");
+-  if (!vnorm.is_empty ())
++  if (!vnorm.isempty ())
+     if (vnorm.string_value ().compare ("off") != 0)
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"NormControl\" will be ignored by this solver");
+@@ -425,14 +425,14 @@
+   // The option NonNegative will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vnneg = vodeopt.contents ("NonNegative");
+-  if (!vnneg.is_empty ())
++  if (!vnneg.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"NonNegative\" will be ignored by this solver");
+ 
+   // Implementation of the option OutputFcn has been finished, this
+   // option can be set by the user to another value than default value
+   vseulexpltfun = vodeopt.contents ("OutputFcn");
+-  if (vseulexpltfun.is_empty () && nargout == 0) vseulexpltfun = "odeplot";
++  if (vseulexpltfun.isempty () && nargout == 0) vseulexpltfun = "odeplot";
+ 
+   // Implementation of the option OutputSel has been finished, this
+   // option can be set by the user to another value than default value
+@@ -453,7 +453,7 @@
+     error_with_id ("OdePkg:InvalidOption",
+       "Fixed time stamps are not supported by this solver");
+   }
+-  if (vinitstep.is_empty ()) {
++  if (vinitstep.isempty ()) {
+     vinitstep = 1.0e-6;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"InitialStep\" not set, new value %3.1e is used",
+@@ -463,7 +463,7 @@
+   // Implementation of the option MaxStep has been finished, this
+   // option can be set by the user to another value than default value
+   octave_value vmaxstep = vodeopt.contents ("MaxStep");
+-  if (vmaxstep.is_empty () && args(1).length () == 2) {
++  if (vmaxstep.isempty () && args(1).length () == 2) {
+     vmaxstep = (args(1).vector_value ()(1) - args(1).vector_value ()(0)) / 12.5;
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"MaxStep\" not set, new value %3.1e is used", 
+@@ -479,19 +479,19 @@
+   // options can be set by the user to another value than default
+   vseulexjacfun = vodeopt.contents ("Jacobian");
+   octave_idx_type vseulexjac = 0; // We need to set this if no Jac available
+-  if (!vseulexjacfun.is_empty ()) vseulexjac = 1;
++  if (!vseulexjacfun.isempty ()) vseulexjac = 1;
+ 
+   // The option JPattern will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vseulexjacpat = vodeopt.contents ("JPattern");
+-  if (!vseulexjacpat.is_empty ())
++  if (!vseulexjacpat.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"JPattern\" will be ignored by this solver");
+ 
+   // The option Vectorized will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vseulexvectorize = vodeopt.contents ("Vectorized");
+-  if (!vseulexvectorize.is_empty ())
++  if (!vseulexvectorize.isempty ())
+     if (vseulexvectorize.string_value ().compare ("off") != 0)
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"Vectorized\" will be ignored by this solver");
+@@ -500,7 +500,7 @@
+   // options can be set by the user to another value than default
+   vseulexmass = vodeopt.contents ("Mass");
+   octave_idx_type vseulexmas = 0;
+-  if (!vseulexmass.is_empty ()) {
++  if (!vseulexmass.isempty ()) {
+     vseulexmas = 1;
+     if (vseulexmass.is_function_handle () || vseulexmass.is_inline_function ())
+       warning_with_id ("OdePkg:InvalidOption",
+@@ -510,7 +510,7 @@
+   // The option MStateDependence will be ignored by this solver, the
+   // core Fortran solver doesn't support this option
+   vseulexmassstate = vodeopt.contents ("MStateDependence");
+-  if (!vseulexmassstate.is_empty ())
++  if (!vseulexmassstate.isempty ())
+     if (vseulexmassstate.string_value ().compare ("weak") != 0) // 'weak' is default
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"MStateDependence\" will be ignored by this solver");
+@@ -518,14 +518,14 @@
+   // The option MStateDependence will be ignored by this solver, the
+   // core Fortran solver doesn't support this option
+   octave_value vmvpat = vodeopt.contents ("MvPattern");
+-  if (!vmvpat.is_empty ())
++  if (!vmvpat.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"MvPattern\" will be ignored by this solver");
+ 
+   // The option MassSingular will be ignored by this solver, the
+   // core Fortran solver doesn't support this option
+   octave_value vmsing = vodeopt.contents ("MassSingular");
+-  if (!vmsing.is_empty ())
++  if (!vmsing.isempty ())
+     if (vmsing.string_value ().compare ("maybe") != 0)
+       warning_with_id ("OdePkg:InvalidOption",
+         "Option \"MassSingular\" will be ignored by this solver");
+@@ -533,21 +533,21 @@
+   // The option InitialSlope will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vinitslope = vodeopt.contents ("InitialSlope");
+-  if (!vinitslope.is_empty ())
++  if (!vinitslope.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"InitialSlope\" will be ignored by this solver");
+ 
+   // The option MaxOrder will be ignored by this solver, the core
+   // Fortran solver doesn't support this option
+   octave_value vmaxder = vodeopt.contents ("MaxOrder");
+-  if (!vmaxder.is_empty ())
++  if (!vmaxder.isempty ())
+     warning_with_id ("OdePkg:InvalidOption",
+       "Option \"MaxOrder\" will be ignored by this solver");
+ 
+   // The option BDF will be ignored by this solver, the core Fortran
+   // solver doesn't support this option
+   octave_value vbdf = vodeopt.contents ("BDF");
+-  if (!vbdf.is_empty ())
++  if (!vbdf.isempty ())
+     if (vbdf.string_value ().compare ("off") != 0)
+       warning_with_id ("OdePkg:InvalidOption", 
+         "Option \"BDF\" will be ignored by this solver");
+@@ -555,12 +555,12 @@
+   // this solver, IT NEEDS TO BE CHECKED IF THE FORTRAN CORE SOLVER
+   // CAN HANDLE THESE OPTIONS
+   octave_value vntol = vodeopt.contents ("NewtonTol");
+-  if (!vntol.is_empty ())
++  if (!vntol.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"NewtonTol\" will be ignored by this solver");
+   octave_value vmaxnewton = 
+     vodeopt.contents ("MaxNewtonIterations");
+-  if (!vmaxnewton.is_empty ())
++  if (!vmaxnewton.isempty ())
+     warning_with_id ("OdePkg:InvalidOption", 
+       "Option \"MaxNewtonIterations\" will be ignored by this solver");
+ 
+@@ -608,9 +608,9 @@
+   octave_value vtim = args(1).vector_value ()(0);
+   octave_value vsol = args(2);
+   odepkg_auxiliary_solstore (vtim, vsol, 0);
+-  if (!vseulexpltfun.is_empty ()) odepkg_auxiliary_evalplotfun 
++  if (!vseulexpltfun.isempty ()) odepkg_auxiliary_evalplotfun 
+     (vseulexpltfun, vseulexoutsel, args(1), args(2), vseulexextarg, 0);
+-  if (!vseulexevefun.is_empty ())
++  if (!vseulexevefun.isempty ())
+     odepkg_auxiliary_evaleventfun (vseulexevefun, vtim, args(2), vseulexextarg, 0);
+ 
+   // We are calling the core solver and solve the set of ODEs or DAEs
+@@ -651,9 +651,9 @@
+   octave_value vted = octave_value (XEND);
+   octave_value vfin = octave_value (vlastline);
+ 
+-  if (!vseulexpltfun.is_empty ()) odepkg_auxiliary_evalplotfun
++  if (!vseulexpltfun.isempty ()) odepkg_auxiliary_evalplotfun
+     (vseulexpltfun, vseulexoutsel, vted, vfin, vseulexextarg, 2);
+-  if (!vseulexevefun.is_empty ()) odepkg_auxiliary_evaleventfun
++  if (!vseulexevefun.isempty ()) odepkg_auxiliary_evaleventfun
+     (vseulexevefun, vted, vfin, vseulexextarg, 2);
+   
+   // Get the stats information as an octave_scalar_map if the option 'Stats'
+@@ -678,9 +678,9 @@
+     vretmap.assign ("x", vtres);
+     vretmap.assign ("y", vyres);
+     vretmap.assign ("solver", "odesx");
+-    if (!vstatinfo.is_empty ()) // Event implementation
++    if (!vstatinfo.isempty ()) // Event implementation
+       vretmap.assign ("stats", vstatinfo);
+-    if (!vseulexevefun.is_empty ()) {
++    if (!vseulexevefun.isempty ()) {
+       vretmap.assign ("ie", vseulexevesol(0).cell_value ()(1));
+       vretmap.assign ("xe", vseulexevesol(0).cell_value ()(2));
+       vretmap.assign ("ye", vseulexevesol(0).cell_value ()(3));
+@@ -698,7 +698,7 @@
+     vretval(2) = vempty;
+     vretval(3) = vempty;
+     vretval(4) = vempty;
+-    if (!vseulexevefun.is_empty ()) {
++    if (!vseulexevefun.isempty ()) {
+       vretval(2) = vseulexevesol(0).cell_value ()(2);
+       vretval(3) = vseulexevesol(0).cell_value ()(3);
+       vretval(4) = vseulexevesol(0).cell_value ()(1);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-odepkg.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-odepkg
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.8.5
+$(PKG)_CHECKSUM := f8fcaae85b6a132be15ca4683cd2b60d5d028bc7
+$(PKG)_REMOTE_SUBDIR :=
+$(PKG)_SUBDIR   := odepkg-$($(PKG)_VERSION)
+$(PKG)_FILE     := odepkg-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     :=
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- a/src/of-optim-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-diff -rNu a/src/__bfgsmin.cc b/src/__bfgsmin.cc
---- a/src/__bfgsmin.cc	2012-03-30 11:14:48.000000000 -0400
-+++ b/src/__bfgsmin.cc	2013-01-14 12:07:15.639384929 -0500
-@@ -25,6 +25,7 @@
- #include <octave/Cell.h>
- #include <octave/lo-mappers.h>
- #include <float.h>
-+#include <limits.h>
- #include "error.h"
- 
- int __bfgsmin_obj(double &obj, const std::string f, const octave_value_list f_args, const ColumnVector theta, const int minarg)
--- a/src/of-optim.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/of-optim.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,17 +3,20 @@
 
 PKG             := of-optim
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := c1fbd588dd11150ff4e973d4b93582c8bd6126ed
+$(PKG)_VERSION  := 1.6.0
+$(PKG)_CHECKSUM := b7b55449a2861f0d318db1ccf1c37294fcdca604
 $(PKG)_REMOTE_SUBDIR := 
 $(PKG)_SUBDIR   := optim-$($(PKG)_VERSION)
 $(PKG)_FILE     := optim-$($(PKG)_VERSION).tar.gz
-$(PKG)_FIXED_FILE := optim-$($(PKG)_VERSION)a.tar.gz
 $(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
 $(PKG)_DEPS     := 
 
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(OCTAVE_FORGE_PKG_UPDATE)
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-optiminterp.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,30 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-optiminterp
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.3.6
+$(PKG)_CHECKSUM := 8d6309f389ccfadaadd0dd52e84db21aa75b82f3
+$(PKG)_REMOTE_SUBDIR :=
+$(PKG)_SUBDIR   := optiminterp-$($(PKG)_VERSION)
+$(PKG)_FILE     := optiminterp-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     :=
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+    ifeq ($(MXE_NATIVE_BUILD),no)
+        ifeq ($(USE_SYSTEM_OCTAVE),no)
+            # Remove this when package builds without calling Octave
+            $(PKG)_DEPS += build-octave
+        endif
+    endif
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-quaternion-1-cross-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,20 @@
+diff -ur quaternion.orig/src/Makefile quaternion/src/Makefile
+--- quaternion.orig/src/Makefile	2015-05-10 07:14:09.000000000 -0400
++++ quaternion/src/Makefile	2015-05-10 07:15:03.000000000 -0400
+@@ -1,11 +1,13 @@
++MKOCTFILE ?= mkoctfile
++
+ all: is_real_array.oct
+ 
+ # helper
+ is_real_array.oct: is_real_array.cc
+-	mkoctfile is_real_array.cc
++	$(MKOCTFILE) is_real_array.cc
+ 
+ clean:
+ 	rm -rf *.o core octave-core *.oct *~
+ 
+ realclean: clean
+-	rm -rf *.a
+\ No newline at end of file
++	rm -rf *.a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-quaternion-2-dev-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,14 @@
+diff -ur quaternion.orig/src/is_real_array.cc quaternion/src/is_real_array.cc
+--- quaternion.orig/src/is_real_array.cc	2019-01-02 13:53:40.766144030 -0500
++++ quaternion/src/is_real_array.cc	2019-01-02 13:54:35.459444478 -0500
+@@ -46,8 +46,8 @@
+         {
+             // args(i).ndims () should be always >= 2
+             if (args(i).ndims () < 2
+-                || ! ((args(i).is_numeric_type () && args(i).is_real_type ())
+-                      || args(i).is_bool_type ()))
++                || ! ((args(i).isnumeric () && args(i).isreal ())
++                      || args(i).islogical ()))
+             {
+                 retval = false;
+                 break;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-quaternion.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-quaternion
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.4.0
+$(PKG)_CHECKSUM := f02927157927ec4939970fb7be72c9bef76bf4f3
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := quaternion
+$(PKG)_FILE     := quaternion-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-queueing.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-queueing
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.7
+$(PKG)_CHECKSUM := 4f5d6956f9ceb6b612b42aaabcbbaece1eec87fb
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := queueing
+$(PKG)_FILE     := queueing-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- a/src/of-signal.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/of-signal.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,20 @@
 
 PKG             := of-signal
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 87ed51b878ac49d32c328032500dff452132240b
+$(PKG)_VERSION  := 1.4.1
+$(PKG)_CHECKSUM := 67519c28868659a54363420d5bfc2621c31f8fdb
 $(PKG)_REMOTE_SUBDIR := 
-$(PKG)_SUBDIR   := signal
+$(PKG)_SUBDIR   := signal-$($(PKG)_VERSION)
 $(PKG)_FILE     := signal-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
-$(PKG)_DEPS     := of-specfun of-control of-general
+$(PKG)_DEPS     := of-control
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(OCTAVE_FORGE_PKG_UPDATE)
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-sockets.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-sockets
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.1
+$(PKG)_CHECKSUM := c3b62b8bca66c992d8f383b69e3094f02ea45dd8
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := sockets-$($(PKG)_VERSION)
+$(PKG)_FILE     := sockets-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-sparsersb.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,31 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-sparsersb
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.8
+$(PKG)_CHECKSUM := 0fef69505cb65f04f62a8a6044f7f0653afc995a
+$(PKG)_REMOTE_SUBDIR :=
+$(PKG)_SUBDIR   := sparsersb-$($(PKG)_VERSION)
+$(PKG)_FILE     := sparsersb-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := librsb
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+    ifeq ($(MXE_NATIVE_BUILD),no)
+        ifeq ($(USE_SYSTEM_OCTAVE),no)
+            # Remove this when package builds without calling Octave
+            $(PKG)_DEPS += build-octave
+        endif
+    endif
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    cd $(1)/src && ./autogen.sh
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-specfun-1-deprecated.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,1099 @@
+# HG changeset patch
+# User carandraug
+# Date 1367241519 0
+#      Mon Apr 29 13:18:39 2013 +0000
+# Node ID fba373975f9fbf1ab368727b3243681d8e8010da
+# Parent  218107f7d15193bc2d88071cf747388091783a83
+specfun: removing ellipj, ellipke, and expint (merged into octave core)
+(grafted from 153e6946b5cb58c22af6a28cbb7c37d9fdf4a892)
+
+diff -r 218107f7d151 -r fba373975f9f inst/ellipke.m
+--- a/inst/ellipke.m	Thu Dec 15 02:18:02 2011 +0000
++++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+@@ -1,125 +0,0 @@
+-## Copyright (C) 2001 David Billinghurst
+-##
+-## This program is free software; you can redistribute it and/or modify
+-## it under the terms of the GNU General Public License as published by
+-## the Free Software Foundation; either version 3 of the License, or
+-## (at your option) any later version.
+-##
+-## This program is distributed in the hope that it will be useful,
+-## but WITHOUT ANY WARRANTY; without even the implied warranty of
+-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-## GNU General Public License for more details.
+-##
+-## You should have received a copy of the GNU General Public License
+-## along with this program; If not, see <http://www.gnu.org/licenses/>.
+-
+-## -*- texinfo -*-
+-## @deftypefn {Function File} {[@var{k}, @var{e}] =} ellipke (@var{m}[,@var{tol}])
+-## Compute complete elliptic integral of first K(@var{m}) and second E(@var{m}).
+-##
+-## @var{m} is either real array or scalar with 0 <= m <= 1
+-## 
+-## @var{tol} will be ignored (@sc{Matlab} uses this to allow faster, less
+-## accurate approximation)
+-##
+-## Ref: Abramowitz, Milton and Stegun, Irene A. Handbook of Mathematical
+-## Functions, Dover, 1965, Chapter 17.
+-## @seealso{ellipj}
+-## @end deftypefn
+-
+-## Author: David Billinghurst <David.Billinghurst@riotinto.com>
+-## Created: 31 January 2001
+-## 2001-02-01 Paul Kienzle
+-##   * vectorized
+-##   * included function name in error messages
+-## 2003-1-18 Jaakko Ruohio
+-##   * extended for m < 0
+-
+-function [k,e] = ellipke( m )
+-
+-  if (nargin < 1 || nargin > 2)
+-    print_usage;
+-  endif
+-
+-  k = e = zeros(size(m));
+-  m = m(:);
+-  if any(~isreal(m))
+-    error("ellipke must have real m"); 
+-  endif
+-  if any(m>1)
+-    error("ellipke must have m <= 1");
+-  endif
+-
+-  Nmax = 16;
+-  idx = find(m == 1);
+-  if (!isempty(idx))
+-    k(idx) = Inf;
+-    e(idx) = 1.0;
+-  endif
+-      
+-  idx = find(m == -Inf);
+-  if (!isempty(idx))
+-    k(idx) = 0.0;
+-    e(idx) = Inf;
+-  endif
+-
+-  ## Arithmetic-Geometric Mean (AGM) algorithm
+-  ## ( Abramowitz and Stegun, Section 17.6 )
+-  idx = find(m != 1 & m != -Inf);
+-  if (!isempty(idx))
+-    idx_neg = find(m < 0 & m != -Inf);
+-    mult_k = 1./sqrt(1-m(idx_neg));
+-    mult_e = sqrt(1-m(idx_neg));
+-    m(idx_neg) = -m(idx_neg)./(1-m(idx_neg));
+-    a = ones(length(idx),1);
+-    b = sqrt(1.0-m(idx));
+-    c = sqrt(m(idx));
+-    f = 0.5;
+-    sum = f*c.*c;
+-    for n = 2:Nmax
+-      t = (a+b)/2;
+-      c = (a-b)/2;
+-      b = sqrt(a.*b);
+-      a = t;
+-      f = f * 2;
+-      sum = sum + f*c.*c;
+-      if all(c./a < eps), break; endif
+-    endfor
+-    if n >= Nmax, error("ellipke: not enough workspace"); endif
+-    k(idx) = 0.5*pi./a;
+-    e(idx) = 0.5*pi.*(1.0-sum)./a;
+-    k(idx_neg) = mult_k.*k(idx_neg);
+-    e(idx_neg) = mult_e.*e(idx_neg);
+-  endif
+-
+-endfunction
+-
+-%!test
+-%! ## Test complete elliptic functions of first and second kind
+-%! ## against "exact" solution from Mathematica 3.0
+-%! ##
+-%! ## David Billinghurst <David.Billinghurst@riotinto.com>
+-%! ## 1 February 2001
+-%! m = [0.0; 0.01; 0.1; 0.5; 0.9; 0.99; 1.0 ];
+-%! [k,e] = ellipke(m);
+-%!
+-%! # K(1.0) is really infinity - see below
+-%! K = [ 
+-%!  1.5707963267948966192;
+-%!  1.5747455615173559527;
+-%!  1.6124413487202193982;
+-%!  1.8540746773013719184;
+-%!  2.5780921133481731882;
+-%!  3.6956373629898746778;
+-%!  0.0 ];
+-%! E = [
+-%!  1.5707963267948966192;
+-%!  1.5668619420216682912;
+-%!  1.5307576368977632025;
+-%!  1.3506438810476755025;
+-%!  1.1047747327040733261;
+-%!  1.0159935450252239356;
+-%!  1.0 ];
+-%! if k(7)==Inf, k(7)=0.0; endif;
+-%! assert(K,k,8*eps);
+-%! assert(E,e,8*eps);
+diff -r 218107f7d151 -r fba373975f9f inst/expint.m
+--- a/inst/expint.m	Thu Dec 15 02:18:02 2011 +0000
++++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+@@ -1,34 +0,0 @@
+-## Copyright (C) 2006   Sylvain Pelissier   <sylvain.pelissier@gmail.com>
+-##
+-## This program is free software; you can redistribute it and/or modify
+-## it under the terms of the GNU General Public License as published by
+-## the Free Software Foundation; either version 3 of the License, or
+-## (at your option) any later version.
+-##
+-## This program is distributed in the hope that it will be useful,
+-## but WITHOUT ANY WARRANTY; without even the implied warranty of
+-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-## GNU General Public License for more details.
+-##
+-## You should have received a copy of the GNU General Public License
+-## along with this program; If not, see <http://www.gnu.org/licenses/>.
+-
+-## -*- texinfo -*-
+-## @deftypefn {Function File} {@var{y} =} expint (@var{x})
+-## Compute the exponential integral,
+-## @verbatim
+-##                    infinity
+-##                   /
+-##       expint(x) = | exp(t)/t dt
+-##                   /
+-##                  x
+-## @end verbatim
+-## @seealso{expint_E1, expint_Ei}
+-## @end deftypefn
+-
+-function y = expint(x)
+-  if (nargin != 1)
+-    print_usage;
+-  endif
+-  y = expint_E1(x);
+-endfunction
+diff -r 218107f7d151 -r fba373975f9f src/Makefile
+--- a/src/Makefile	Thu Dec 15 02:18:02 2011 +0000
++++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+@@ -1,6 +0,0 @@
+-all: ellipj.oct
+-
+-%.oct: %.cc
+-	mkoctfile -s $<
+-
+-clean: ; -rm *.o core octave-core *.oct *~
+diff -r 218107f7d151 -r fba373975f9f src/ellipj.cc
+--- a/src/ellipj.cc	Thu Dec 15 02:18:02 2011 +0000
++++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+@@ -1,909 +0,0 @@
+-/*
+- Copyright (C) 2001 Leopoldo Cerbaro <redbliss@libero.it>
+-
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 3 of the License, or
+- (at your option) any later version.
+-
+- This program is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with this program; If not, see <http://www.gnu.org/licenses/>.
+-
+- Compute the Jacobi elliptic functions sn(u|m), cn(u|m) and dn(u|m) for 
+- argument u (real or complex) and parameter m. 
+-
+- usage: [sn,cn,dn] = ellipj(u,m[,tol])
+- 
+- u and can be complex.
+- m is restricted to 0 <= m <= 1.
+- They can be scalars, matrix and scalar, scalar and matrix,
+- column and row, conformant matrices.
+-
+- modified so u can be complex.   Leopoldo Cerbaro redbliss@libero.it
+- 
+- Ref: Abramowitz, Milton and Stegun, Irene A
+-      Handbook of Mathematical Functions, Dover, 1965
+-      Chapter 16 (Sections 16.4, 16.13 and 16.15)
+-
+- Based upon ellipj.m  made by David Billinghurst <David.Billinghurst@riotinto.com>
+- and besselj.cc
+-
+- Author: Leopoldo Cerbaro <redbliss@libero.it>
+- Created: 15 December 2001
+-*/
+-
+-#include "oct.h"
+-#include "lo-ieee.h"  /* for octave_NaN */
+-
+-static void
+-gripe_ellipj_arg ( const char *arg)
+-{
+-  error ("ellipj: expecting scalar or matrix as %s argument", arg);
+-}
+-
+-const double  eps = 2.220446049e-16;
+-const int  Nmax = 16;
+-
+-static void
+-sncndn ( double u, double m, double& sn, double& cn, double& dn, double& err) {
+-/* real */
+-double sqrt_eps, m1, t=0., si_u, co_u, se_u, ta_u, b, c[Nmax], a[Nmax], phi;
+-int n, Nn, ii;
+-
+-  if (m < 0. || m > 1.) {
+-     warning ("ellipj: expecting 0. <= m <= 1."); /* -lc- */
+-     sn = cn = dn = lo_ieee_nan_value ();
+-     return;
+-  }
+-  sqrt_eps = sqrt(eps);
+-  if (m < sqrt_eps) {
+-    /*  # For small m, ( Abramowitz and Stegun, Section 16.13 ) */
+-    /*{{{*/
+-        si_u = sin(u);
+-        co_u = cos(u);
+-        t = 0.25*m*(u-si_u*co_u);
+-        sn = si_u - t * co_u;
+-        cn = co_u + t * si_u;
+-        dn = 1.0 - 0.5*m*si_u*si_u;
+-/*}}}*/
+-  } else if ( (1.0 - m) < sqrt_eps ) {
+-    /*  For m1 = (1-m) small ( Abramowitz and Stegun, Section 16.15 ) */
+-    /*{{{*/
+-        m1 = 1.0-m;
+-        si_u = sinh(u);
+-        co_u = cosh(u);
+-        ta_u = tanh(u);
+-        se_u = 1.0/co_u;
+-        sn = ta_u + 0.25*m1*(si_u*co_u-u)*se_u*se_u;
+-        cn = se_u - 0.25*m1*(si_u*co_u-u)*ta_u*se_u;
+-        dn = se_u + 0.25*m1*(si_u*co_u+u)*ta_u*se_u;
+-/*}}}*/
+-  } else {
+-    /*{{{*/
+-        /*
+-        //  Arithmetic-Geometric Mean (AGM) algorithm
+-        //    ( Abramowitz and Stegun, Section 16.4 )
+-        */
+-       
+-        a[0] = 1.0;
+-        b    = sqrt(1.0-m);
+-        c[0] = sqrt(m);
+-        for (n = 1; n<Nmax; ++n) {
+-          a[n] = (a[n-1]+b)/2;
+-          c[n] = (a[n-1]-b)/2;
+-          b = sqrt(a[n-1]*b);
+-          if ( c[n]/a[n] < eps) break; 
+-        }
+-        if ( n >= Nmax-1) {
+-           // fprintf(stderr, "Not enough workspace\n");
+-           err = 1.;
+-           return;
+-        }
+-        Nn = n;
+-        for ( ii = 1;  n>0; ii = ii*2, --n) ; // pow(2, Nn)
+-        phi = ii*a[Nn]*u;
+-        for ( n = Nn; n > 0; --n) {
+-          t = phi;
+-          phi = (asin((c[n]/a[n])* sin(phi))+phi)/2.;
+-        }
+-        sn = sin(phi);
+-        cn = cos(phi);
+-        dn = cn/cos(t-phi);
+-/*}}}*/
+-  }
+- return;
+-}
+-
+-static void
+-sncndn ( Complex& u, double m, 
+-         Complex& sn, Complex& cn, Complex& dn, double& err) {
+-double m1 = 1.-m, ss1, cc1, dd1;
+-
+-  sncndn( imag(u), m1, ss1, cc1, dd1, err);
+-  if ( real(u) == 0.) { 
+-    /* u is pure imag: Jacoby imag. transf. */
+-    /*{{{*/
+-    sn = Complex (0. , ss1/cc1);
+-    cn = 1/cc1;         //    cn.imag = 0.;
+-    dn = dd1/cc1;       //    dn.imag = 0.;
+-    /*}}}*/
+-  } else {
+-    /* u is generic complex */
+-    /*{{{*/
+-    double ss, cc, dd, ddd;
+-
+-    sncndn( real(u), m, ss, cc, dd, err);
+-      ddd = cc1*cc1 + m*ss*ss*ss1*ss1;
+-      sn = Complex (ss*dd1/ddd, cc*dd*ss1*cc1/ddd); 
+-      cn = Complex (cc*cc1/ddd, -ss*dd*ss1*dd1/ddd);
+-      dn = Complex (dd*cc1*dd1/ddd, -m*ss*cc*ss1/ddd);
+-    /*}}}*/
+-  }
+- return;
+-}
+-
+-DEFUN_DLD (ellipj, args, nargout,
+-  "-*- texinfo -*-\n\
+-@deftypefn {Loadable Function} {[@var{sn}, @var{cn}, @var{dn}] =} \
+-ellipj (@var{u}, @var{m}, @var{err})\n\
+-Compute the Jacobi elliptic functions sn, cn, dn of complex argument and real parameter.\n\
+-\n\
+-If @var{m} is a scalar, the results are the same size as @var{u}.\n\
+-If @var{u} is a scalar, the results are the same size as @var{m}.\n\
+-If @var{u} is a column vector and @var{m} is a row vector, the\n\
+-results are matrices with @code{length (@var{u})} rows and\n\
+-@code{length (@var{m})} columns.  Otherwise, @var{u} and\n\
+-@var{m} must conform and the results will be the same size.\n\
+-\n\
+-The value of @var{u} may be complex.\n\
+-The value of @var{m} must be 0 <= m <= 1. .\n\
+-\n\
+-If requested, @var{err} contains the following status information\n\
+-and is the same size as the result.\n\
+-\n\
+-@enumerate 0\n\
+-@item\n\
+-Normal return.\n\
+-@item\n\
+-Error---no computation, algorithm termination condition not met,\n\
+-return @code{NaN}.\n\
+-@end enumerate\n\
+-@end deftypefn")
+-{
+-  octave_value_list retval;
+-
+-  int nargin = args.length ();
+-
+-  if (nargin == 2 ) {
+-      octave_value u_arg = args(0);
+-      octave_value m_arg = args(1);
+-
+-      if (m_arg.is_scalar_type ()) {  // m is scalar
+-        double  m = args(1).double_value ();
+-
+-        if (! error_state) {
+-
+-          if (u_arg.is_scalar_type ()) {   /*  u scalar */
+-            /*{{{*/
+-            if (u_arg.is_real_type ()) {  // u real
+-              double  u = args(0).double_value ();
+-
+-              if (! error_state) {
+-                double sn, cn, dn;
+-                double err=0;
+-                octave_value result;
+-
+-                sncndn(u, m, sn, cn, dn, err);
+-                retval (0) = sn;
+-                retval (1) = cn;
+-                retval (2) = dn;
+-                if (nargout > 3)
+-                  retval(3) =  err;
+-            } else 
+-                gripe_ellipj_arg ( "first");
+-
+-            } else {  // u complex
+-              Complex u = u_arg.complex_value ();
+-
+-              if (! error_state) {
+-                Complex sn, cn, dn;
+-                double err;
+-                octave_value result;
+-
+-                sncndn( u, m, sn, cn, dn, err);
+-
+-                retval (0) = sn;
+-                retval (1) = cn;
+-                retval (2) = dn;
+-                if (nargout > 3)  retval(3) = err;
+-              } else
+-                gripe_ellipj_arg ( "second");
+-            }
+-            /*}}}*/
+-          } else {  /* u is matrix ( m is scalar ) */
+-            /*{{{*/
+-            ComplexMatrix u = u_arg.complex_matrix_value ();
+-
+-            if (! error_state) {
+-              octave_value result;
+-              int nr = u.rows ();
+-              int nc = u.cols ();
+-
+-              ComplexMatrix sn (nr, nc), cn (nr, nc), dn (nr, nc);
+-              Matrix err (nr, nc);
+-
+-              for (int j = 0; j < nc; j++)
+-                for (int i = 0; i < nr; i++)
+-                  sncndn (u(i,j), m, sn(i,j), cn(i,j), dn(i,j), err(i,j));
+-
+-                retval (0) = sn;
+-                retval (1) = cn;
+-                retval (2) = dn;
+-                if (nargout > 3)  retval(3) = err;
+-            } else
+-                gripe_ellipj_arg ( "first");
+-            /*}}}*/
+-          }
+-        } else
+-            gripe_ellipj_arg ( "second");
+-     } else { // m is matrix
+-       Matrix m = args(1).matrix_value ();
+-
+-       if (! error_state) {
+-         int mr = m.rows ();
+-         int mc = m.cols ();
+-
+-         if (u_arg.is_scalar_type ()) {    /* u is scalar */
+-           /*{{{*/
+-           octave_value result;
+-           int nr = m.rows ();
+-           int nc = m.cols ();
+-           Matrix err (nr, nc);
+-
+-           if (u_arg.is_real_type ()) {
+-             double  u = u_arg.double_value ();
+-             Matrix sn (nr, nc), cn (nr, nc), dn (nr, nc);
+-             if (! error_state) {
+-               for (int j = 0; j < nc; j++)
+-                 for (int i = 0; i < nr; i++)
+-                   sncndn (u, m(i,j), sn(i,j), cn(i,j), dn(i,j), err(i,j));
+-
+-               retval (0) = sn;
+-               retval (1) = cn;
+-               retval (2) = dn;
+-               if (nargout > 3)  retval(3) = err;
+-             } else
+-               gripe_ellipj_arg ( "first");
+-           } else {
+-             Complex u = u_arg.complex_value ();
+-             ComplexMatrix sn (nr, nc), cn (nr, nc), dn (nr, nc);
+-             if (! error_state) {
+-               for (int j = 0; j < nc; j++)
+-                 for (int i = 0; i < nr; i++)
+-                   sncndn (u, m(i,j), sn(i,j), cn(i,j), dn(i,j), err(i,j));
+-               retval (0) = sn;
+-               retval (1) = cn;
+-               retval (2) = dn;
+-               if (nargout > 3)  retval(3) = err;
+-             } else
+-               gripe_ellipj_arg ( "first");
+-           }
+-           /*}}}*/
+-         } else {    // u is matrix  (m is matrix)
+-           /*{{{*/
+-           if (u_arg.is_real_type ()) {  // u real matrix
+-
+-              Matrix u = u_arg.matrix_value ();
+-              if (! error_state) {
+-                int ur = u.rows ();
+-                int uc = u.cols ();
+-
+-              if (mr == 1 && uc == 1) {  // u column, m row
+-                RowVector rm = m.row ((octave_idx_type)0);
+-                ColumnVector cu = u.column ((octave_idx_type)0);
+-
+-                Matrix sn (ur, mc), cn (ur, mc), dn (ur, mc);
+-                Matrix err(ur,mc);
+-//               octave_value result;
+-
+-                for (int j = 0; j < mc; j++)
+-                  for (int i = 0; i < ur; i++)
+-                    sncndn (cu(i), rm(j), sn(i,j), cn(i,j), dn(i,j), err(i,j));
+-
+-                retval (0) = sn;
+-                retval (1) = cn;
+-                retval (2) = dn;
+-                if (nargout > 3)  retval(3) = err;
+-              } else if (ur == mr && uc == mc) {
+-                Matrix sn (ur, mc), cn (ur, mc), dn (ur, mc);
+-                Matrix err(ur,mc);
+-//               octave_value result;
+-
+-                for (int j = 0; j < uc; j++)
+-                 for (int i = 0; i < ur; i++)
+-                  sncndn (u(i,j), m(i,j), sn(i,j), cn(i,j), dn(i,j), err(i,j));
+-
+-                retval (0) = sn;
+-                retval (1) = cn;
+-                retval (2) = dn;
+-                if (nargout > 3)  retval(3) = err;
+-              } else
+-                 error("u m invalid");
+-              } else
+-                gripe_ellipj_arg ( "first ");
+-            } else {  // u complex matrix
+-              ComplexMatrix u = u_arg.complex_matrix_value ();
+-              if (! error_state) {
+-                int ur = u.rows ();
+-                int uc = u.cols ();
+-
+-              if (mr == 1 && uc == 1) {
+-                RowVector rm = m.row ((octave_idx_type)0);
+-                ComplexColumnVector cu = u.column ((octave_idx_type)0);
+-
+-                ComplexMatrix sn (ur, mc), cn (ur, mc), dn (ur, mc);
+-                Matrix err(ur,mc);
+-//               octave_value result;
+-
+-                for (int j = 0; j < mc; j++)
+-                  for (int i = 0; i < ur; i++)
+-                    sncndn (cu(i), rm(j), sn(i,j), cn(i,j), dn(i,j), err(i,j));
+-
+-                retval (0) = sn;
+-                retval (1) = cn;
+-                retval (2) = dn;
+-                if (nargout > 3)  retval(3) = err;
+-              } else if (ur == mr && uc == mc) {
+-
+-                ComplexMatrix sn (ur, mc), cn (ur, mc), dn (ur, mc);
+-                Matrix err(ur,mc);
+-//               octave_value result;
+-
+-                for (int j = 0; j < uc; j++)
+-                 for (int i = 0; i < ur; i++)
+-                  sncndn (u(i,j), m(i,j), sn(i,j), cn(i,j), dn(i,j), err(i,j));
+-
+-                retval (0) = sn;
+-                retval (1) = cn;
+-                retval (2) = dn;
+-                if (nargout > 3)  retval(3) = err;
+-              } else
+-                 error("u m invalid");
+-              } else
+-                gripe_ellipj_arg ( "second");
+-            }
+-           /*}}}*/
+-         }
+-       } else
+-          gripe_ellipj_arg ( "second");
+-     }  // m matrix
+-   } else  // wrong n. of argin
+-       print_usage ();
+-   return retval;
+-}
+-
+-/*
+-## demos taken from inst/ellipj.m
+-
+-%!demo
+-%! N = 150;
+-%! % m = [1-logspace(0,log(eps),N-1), 1]; ## m near 1
+-%! % m = [0, logspace(log(eps),0,N-1)];   ## m near 0
+-%!   m = linspace(0,1,N);                 ## m equally spaced
+-%! u = linspace(-20,20,N);
+-%! M = ones(length(u),1) * m;
+-%! U = u' * ones(1, length(m));
+-%! [sn, cn, dn] = ellipj(U,M);
+-%!
+-%! %% Plotting
+-%! figure(2)
+-%! c = colormap(hot(64));
+-%! data = {sn,cn,dn};
+-%! dname = {"sn","cn","dn"};
+-%! for i=1:3
+-%!   subplot(1,3,i);
+-%!   image(m,u,32*clip(data{i},[-1,1])+32); # clip function belongs to audio package
+-%!   title(dname{i});
+-%! end
+-%! colormap(c);
+-
+-%!demo
+-%! N = 200;
+-%! % m = [1-logspace(0,log(eps),N-1), 1]; ## m near 1
+-%! % m = [0, logspace(log(eps),0,N-1)];   ## m near 0
+-%!   m = linspace(0,1,N);                 ## m equally spaced
+-%! u = linspace(0,20,5);
+-%! M = ones(length(u),1) * m;
+-%! U = u' * ones(1, length(m));
+-%! [sn, cn, dn] = ellipj(U,M);
+-%!
+-%! %% Plotting
+-%! data = {sn,cn,dn};
+-%! dname = {"sn","cn","dn"};
+-%! for i=1:3
+-%!   subplot(1,3,i);
+-%!   plot(m, data{i});
+-%!   title(dname{i});
+-%!   grid on;
+-%! end
+-*/
+-
+-/*
+-## tests taken from inst/test_sncndn.m
+-
+-%!test
+-%! k = (tan(pi/8.))^2; m = k*k;
+-%! SN = [ 
+-%! -1. + I * 0. ,  -0.8392965923 + 0. * I
+-%! -1. + I * 0.2 ,  -0.8559363407 + 0.108250955 * I
+-%! -1. + I * 0.4 ,  -0.906529758 + 0.2204040232 * I
+-%! -1. + I * 0.6 ,  -0.9931306727 + 0.3403783409 * I
+-%! -1. + I * 0.8 ,  -1.119268095 + 0.4720784944 * I
+-%! -1. + I * 1. ,  -1.29010951 + 0.6192468708 * I
+-%! -1. + I * 1.2 ,  -1.512691987 + 0.7850890595 * I
+-%! -1. + I * 1.4 ,  -1.796200374 + 0.9714821804 * I
+-%! -1. + I * 1.6 ,  -2.152201882 + 1.177446413 * I
+-%! -1. + I * 1.8 ,  -2.594547417 + 1.396378892 * I
+-%! -1. + I * 2. ,  -3.138145339 + 1.611394819 * I
+-%! -0.8 + I * 0. ,  -0.7158157937 + 0. * I
+-%! -0.8 + I * 0.2 ,  -0.7301746722 + 0.1394690862 * I
+-%! -0.8 + I * 0.4 ,  -0.7738940898 + 0.2841710966 * I
+-%! -0.8 + I * 0.6 ,  -0.8489542135 + 0.4394411376 * I
+-%! -0.8 + I * 0.8 ,  -0.9588386397 + 0.6107824358 * I
+-%! -0.8 + I * 1. ,  -1.108848724 + 0.8038415767 * I
+-%! -0.8 + I * 1.2 ,  -1.306629972 + 1.024193359 * I
+-%! -0.8 + I * 1.4 ,  -1.563010199 + 1.276740951 * I
+-%! -0.8 + I * 1.6 ,  -1.893274688 + 1.564345558 * I
+-%! -0.8 + I * 1.8 ,  -2.318944084 + 1.88491973 * I
+-%! -0.8 + I * 2. ,  -2.869716809 + 2.225506523 * I
+-%! -0.6 + I * 0. ,  -0.5638287208 + 0. * I
+-%! -0.6 + I * 0.2 ,  -0.5752723012 + 0.1654722474 * I
+-%! -0.6 + I * 0.4 ,  -0.610164314 + 0.3374004736 * I
+-%! -0.6 + I * 0.6 ,  -0.6702507087 + 0.5224614298 * I
+-%! -0.6 + I * 0.8 ,  -0.7586657365 + 0.7277663879 * I
+-%! -0.6 + I * 1. ,  -0.8803349115 + 0.9610513652 * I
+-%! -0.6 + I * 1.2 ,  -1.042696526 + 1.230800819 * I
+-%! -0.6 + I * 1.4 ,  -1.256964505 + 1.546195843 * I
+-%! -0.6 + I * 1.6 ,  -1.540333527 + 1.916612621 * I
+-%! -0.6 + I * 1.8 ,  -1.919816065 + 2.349972151 * I
+-%! -0.6 + I * 2. ,  -2.438761841 + 2.848129496 * I
+-%! -0.4 + I * 0. ,  -0.3891382858 + 0. * I
+-%! -0.4 + I * 0.2 ,  -0.3971152026 + 0.1850563793 * I
+-%! -0.4 + I * 0.4 ,  -0.4214662882 + 0.3775700801 * I
+-%! -0.4 + I * 0.6 ,  -0.4635087491 + 0.5853434119 * I
+-%! -0.4 + I * 0.8 ,  -0.5256432877 + 0.8168992398 * I
+-%! -0.4 + I * 1. ,  -0.611733177 + 1.081923504 * I
+-%! -0.4 + I * 1.2 ,  -0.7278102331 + 1.391822501 * I
+-%! -0.4 + I * 1.4 ,  -0.8833807998 + 1.760456461 * I
+-%! -0.4 + I * 1.6 ,  -1.093891878 + 2.205107766 * I
+-%! -0.4 + I * 1.8 ,  -1.385545188 + 2.747638761 * I
+-%! -0.4 + I * 2. ,  -1.805081271 + 3.41525351 * I
+-%! -0.2 + I * 0. ,  -0.1986311721 + 0. * I
+-%! -0.2 + I * 0.2 ,  -0.2027299916 + 0.1972398665 * I
+-%! -0.2 + I * 0.4 ,  -0.2152524522 + 0.402598347 * I
+-%! -0.2 + I * 0.6 ,  -0.2369100139 + 0.6246336356 * I
+-%! -0.2 + I * 0.8 ,  -0.2690115146 + 0.8728455227 * I
+-%! -0.2 + I * 1. ,  -0.3136938773 + 1.158323088 * I
+-%! -0.2 + I * 1.2 ,  -0.3743615191 + 1.494672508 * I
+-%! -0.2 + I * 1.4 ,  -0.4565255082 + 1.899466033 * I
+-%! -0.2 + I * 1.6 ,  -0.5694611346 + 2.39667232 * I
+-%! -0.2 + I * 1.8 ,  -0.7296612675 + 3.020990664 * I
+-%! -0.2 + I * 2. ,  -0.9685726188 + 3.826022536 * I
+-%! 0. + I * 0. ,  0. + 0. * I
+-%! 0. + I * 0.2 ,  0. + 0.201376364 * I
+-%! 0. + I * 0.4 ,  0. + 0.4111029248 * I
+-%! 0. + I * 0.6 ,  0. + 0.6380048435 * I
+-%! 0. + I * 0.8 ,  0. + 0.8919321473 * I
+-%! 0. + I * 1. ,  0. + 1.184486615 * I
+-%! 0. + I * 1.2 ,  0. + 1.530096023 * I
+-%! 0. + I * 1.4 ,  0. + 1.947754612 * I
+-%! 0. + I * 1.6 ,  0. + 2.464074356 * I
+-%! 0. + I * 1.8 ,  0. + 3.119049475 * I
+-%! 0. + I * 2. ,  0. + 3.97786237 * I
+-%! 0.2 + I * 0. ,  0.1986311721 + 0. * I
+-%! 0.2 + I * 0.2 ,  0.2027299916 + 0.1972398665 * I
+-%! 0.2 + I * 0.4 ,  0.2152524522 + 0.402598347 * I
+-%! 0.2 + I * 0.6 ,  0.2369100139 + 0.6246336356 * I
+-%! 0.2 + I * 0.8 ,  0.2690115146 + 0.8728455227 * I
+-%! 0.2 + I * 1. ,  0.3136938773 + 1.158323088 * I
+-%! 0.2 + I * 1.2 ,  0.3743615191 + 1.494672508 * I
+-%! 0.2 + I * 1.4 ,  0.4565255082 + 1.899466033 * I
+-%! 0.2 + I * 1.6 ,  0.5694611346 + 2.39667232 * I
+-%! 0.2 + I * 1.8 ,  0.7296612675 + 3.020990664 * I
+-%! 0.2 + I * 2. ,  0.9685726188 + 3.826022536 * I
+-%! 0.4 + I * 0. ,  0.3891382858 + 0. * I
+-%! 0.4 + I * 0.2 ,  0.3971152026 + 0.1850563793 * I
+-%! 0.4 + I * 0.4 ,  0.4214662882 + 0.3775700801 * I
+-%! 0.4 + I * 0.6 ,  0.4635087491 + 0.5853434119 * I
+-%! 0.4 + I * 0.8 ,  0.5256432877 + 0.8168992398 * I
+-%! 0.4 + I * 1. ,  0.611733177 + 1.081923504 * I
+-%! 0.4 + I * 1.2 ,  0.7278102331 + 1.391822501 * I
+-%! 0.4 + I * 1.4 ,  0.8833807998 + 1.760456461 * I
+-%! 0.4 + I * 1.6 ,  1.093891878 + 2.205107766 * I
+-%! 0.4 + I * 1.8 ,  1.385545188 + 2.747638761 * I
+-%! 0.4 + I * 2. ,  1.805081271 + 3.41525351 * I
+-%! 0.6 + I * 0. ,  0.5638287208 + 0. * I
+-%! 0.6 + I * 0.2 ,  0.5752723012 + 0.1654722474 * I
+-%! 0.6 + I * 0.4 ,  0.610164314 + 0.3374004736 * I
+-%! 0.6 + I * 0.6 ,  0.6702507087 + 0.5224614298 * I
+-%! 0.6 + I * 0.8 ,  0.7586657365 + 0.7277663879 * I
+-%! 0.6 + I * 1. ,  0.8803349115 + 0.9610513652 * I
+-%! 0.6 + I * 1.2 ,  1.042696526 + 1.230800819 * I
+-%! 0.6 + I * 1.4 ,  1.256964505 + 1.546195843 * I
+-%! 0.6 + I * 1.6 ,  1.540333527 + 1.916612621 * I
+-%! 0.6 + I * 1.8 ,  1.919816065 + 2.349972151 * I
+-%! 0.6 + I * 2. ,  2.438761841 + 2.848129496 * I
+-%! 0.8 + I * 0. ,  0.7158157937 + 0. * I
+-%! 0.8 + I * 0.2 ,  0.7301746722 + 0.1394690862 * I
+-%! 0.8 + I * 0.4 ,  0.7738940898 + 0.2841710966 * I
+-%! 0.8 + I * 0.6 ,  0.8489542135 + 0.4394411376 * I
+-%! 0.8 + I * 0.8 ,  0.9588386397 + 0.6107824358 * I
+-%! 0.8 + I * 1. ,  1.108848724 + 0.8038415767 * I
+-%! 0.8 + I * 1.2 ,  1.306629972 + 1.024193359 * I
+-%! 0.8 + I * 1.4 ,  1.563010199 + 1.276740951 * I
+-%! 0.8 + I * 1.6 ,  1.893274688 + 1.564345558 * I
+-%! 0.8 + I * 1.8 ,  2.318944084 + 1.88491973 * I
+-%! 0.8 + I * 2. ,  2.869716809 + 2.225506523 * I
+-%! 1. + I * 0. ,  0.8392965923 + 0. * I
+-%! 1. + I * 0.2 ,  0.8559363407 + 0.108250955 * I
+-%! 1. + I * 0.4 ,  0.906529758 + 0.2204040232 * I
+-%! 1. + I * 0.6 ,  0.9931306727 + 0.3403783409 * I
+-%! 1. + I * 0.8 ,  1.119268095 + 0.4720784944 * I
+-%! 1. + I * 1. ,  1.29010951 + 0.6192468708 * I
+-%! 1. + I * 1.2 ,  1.512691987 + 0.7850890595 * I
+-%! 1. + I * 1.4 ,  1.796200374 + 0.9714821804 * I
+-%! 1. + I * 1.6 ,  2.152201882 + 1.177446413 * I
+-%! 1. + I * 1.8 ,  2.594547417 + 1.396378892 * I
+-%! 1. + I * 2. ,  3.138145339 + 1.611394819 * I
+-%! ];
+-%! CN = [
+-%! -1. + I * 0. , 0.5436738271 + 0. * I
+-%! -1. + I * 0.2 , 0.5541219664 + 0.1672121517 * I
+-%! -1. + I * 0.4 , 0.5857703552 + 0.3410940893 * I
+-%! -1. + I * 0.6 , 0.6395034233 + 0.5285979063 * I
+-%! -1. + I * 0.8 , 0.716688504 + 0.7372552987 * I
+-%! -1. + I * 1. , 0.8189576795 + 0.9755037374 * I
+-%! -1. + I * 1.2 , 0.9477661951 + 1.253049471 * I
+-%! -1. + I * 1.4 , 1.103540657 + 1.581252712 * I
+-%! -1. + I * 1.6 , 1.284098214 + 1.973449038 * I
+-%! -1. + I * 1.8 , 1.481835651 + 2.4449211 * I
+-%! -1. + I * 2. , 1.679032464 + 3.011729224 * I
+-%! -0.8 + I * 0. , 0.6982891589 + 0. * I
+-%! -0.8 + I * 0.2 , 0.71187169 + 0.1430549855 * I
+-%! -0.8 + I * 0.4 , 0.7530744458 + 0.2920273465 * I
+-%! -0.8 + I * 0.6 , 0.8232501212 + 0.4531616768 * I
+-%! -0.8 + I * 0.8 , 0.9245978896 + 0.6334016187 * I
+-%! -0.8 + I * 1. , 1.060030206 + 0.8408616109 * I
+-%! -0.8 + I * 1.2 , 1.232861756 + 1.085475913 * I
+-%! -0.8 + I * 1.4 , 1.446126965 + 1.379933558 * I
+-%! -0.8 + I * 1.6 , 1.701139468 + 1.741030588 * I
+-%! -0.8 + I * 1.8 , 1.994526268 + 2.191509596 * I
+-%! -0.8 + I * 2. , 2.312257188 + 2.762051518 * I
+-%! -0.6 + I * 0. , 0.8258917445 + 0. * I
+-%! -0.6 + I * 0.2 , 0.842151698 + 0.1130337928 * I
+-%! -0.6 + I * 0.4 , 0.8915487431 + 0.2309124769 * I
+-%! -0.6 + I * 0.6 , 0.975948103 + 0.3588102098 * I
+-%! -0.6 + I * 0.8 , 1.098499209 + 0.5026234141 * I
+-%! -0.6 + I * 1. , 1.263676101 + 0.6695125973 * I
+-%! -0.6 + I * 1.2 , 1.477275851 + 0.8687285705 * I
+-%! -0.6 + I * 1.4 , 1.746262523 + 1.112955966 * I
+-%! -0.6 + I * 1.6 , 2.078179075 + 1.420581466 * I
+-%! -0.6 + I * 1.8 , 2.479425208 + 1.819580713 * I
+-%! -0.6 + I * 2. , 2.950586798 + 2.354077344 * I
+-%! -0.4 + I * 0. , 0.9211793498 + 0. * I
+-%! -0.4 + I * 0.2 , 0.9395019377 + 0.07822091534 * I
+-%! -0.4 + I * 0.4 , 0.9952345231 + 0.1598950363 * I
+-%! -0.4 + I * 0.6 , 1.090715991 + 0.2487465067 * I
+-%! -0.4 + I * 0.8 , 1.229998843 + 0.34910407 * I
+-%! -0.4 + I * 1. , 1.419103868 + 0.4663848201 * I
+-%! -0.4 + I * 1.2 , 1.666426377 + 0.607877235 * I
+-%! -0.4 + I * 1.4 , 1.983347336 + 0.7841054404 * I
+-%! -0.4 + I * 1.6 , 2.385101684 + 1.01134031 * I
+-%! -0.4 + I * 1.8 , 2.89185416 + 1.316448705 * I
+-%! -0.4 + I * 2. , 3.529393374 + 1.74670531 * I
+-%! -0.2 + I * 0. , 0.9800743122 + 0. * I
+-%! -0.2 + I * 0.2 , 0.9997019476 + 0.03999835809 * I
+-%! -0.2 + I * 0.4 , 1.059453907 + 0.08179712295 * I
+-%! -0.2 + I * 0.6 , 1.16200643 + 0.1273503824 * I
+-%! -0.2 + I * 0.8 , 1.312066413 + 0.1789585449 * I
+-%! -0.2 + I * 1. , 1.516804331 + 0.2395555269 * I
+-%! -0.2 + I * 1.2 , 1.786613221 + 0.313189147 * I
+-%! -0.2 + I * 1.4 , 2.136422971 + 0.405890925 * I
+-%! -0.2 + I * 1.6 , 2.588021972 + 0.527357091 * I
+-%! -0.2 + I * 1.8 , 3.174302819 + 0.6944201617 * I
+-%! -0.2 + I * 2. , 3.947361147 + 0.9387994989 * I
+-%! 0. + I * 0. , 1. + 0. * I
+-%! 0. + I * 0.2 , 1.020074723 + 0. * I
+-%! 0. + I * 0.4 , 1.08120563 + 0. * I
+-%! 0. + I * 0.6 , 1.18619146 + 0. * I
+-%! 0. + I * 0.8 , 1.339978715 + 0. * I
+-%! 0. + I * 1. , 1.550164037 + 0. * I
+-%! 0. + I * 1.2 , 1.827893279 + 0. * I
+-%! 0. + I * 1.4 , 2.189462954 + 0. * I
+-%! 0. + I * 1.6 , 2.659259752 + 0. * I
+-%! 0. + I * 1.8 , 3.275434266 + 0. * I
+-%! 0. + I * 2. , 4.101632484 + 0. * I
+-%! 0.2 + I * 0. , 0.9800743122 + 0. * I
+-%! 0.2 + I * 0.2 , 0.9997019476 - 0.03999835809 * I
+-%! 0.2 + I * 0.4 , 1.059453907 - 0.08179712295 * I
+-%! 0.2 + I * 0.6 , 1.16200643 - 0.1273503824 * I
+-%! 0.2 + I * 0.8 , 1.312066413 - 0.1789585449 * I
+-%! 0.2 + I * 1. , 1.516804331 - 0.2395555269 * I
+-%! 0.2 + I * 1.2 , 1.786613221 - 0.313189147 * I
+-%! 0.2 + I * 1.4 , 2.136422971 - 0.405890925 * I
+-%! 0.2 + I * 1.6 , 2.588021972 - 0.527357091 * I
+-%! 0.2 + I * 1.8 , 3.174302819 - 0.6944201617 * I
+-%! 0.2 + I * 2. , 3.947361147 - 0.9387994989 * I
+-%! 0.4 + I * 0. , 0.9211793498 + 0. * I
+-%! 0.4 + I * 0.2 , 0.9395019377 - 0.07822091534 * I
+-%! 0.4 + I * 0.4 , 0.9952345231 - 0.1598950363 * I
+-%! 0.4 + I * 0.6 , 1.090715991 - 0.2487465067 * I
+-%! 0.4 + I * 0.8 , 1.229998843 - 0.34910407 * I
+-%! 0.4 + I * 1. , 1.419103868 - 0.4663848201 * I
+-%! 0.4 + I * 1.2 , 1.666426377 - 0.607877235 * I
+-%! 0.4 + I * 1.4 , 1.983347336 - 0.7841054404 * I
+-%! 0.4 + I * 1.6 , 2.385101684 - 1.01134031 * I
+-%! 0.4 + I * 1.8 , 2.89185416 - 1.316448705 * I
+-%! 0.4 + I * 2. , 3.529393374 - 1.74670531 * I
+-%! 0.6 + I * 0. , 0.8258917445 + 0. * I
+-%! 0.6 + I * 0.2 , 0.842151698 - 0.1130337928 * I
+-%! 0.6 + I * 0.4 , 0.8915487431 - 0.2309124769 * I
+-%! 0.6 + I * 0.6 , 0.975948103 - 0.3588102098 * I
+-%! 0.6 + I * 0.8 , 1.098499209 - 0.5026234141 * I
+-%! 0.6 + I * 1. , 1.263676101 - 0.6695125973 * I
+-%! 0.6 + I * 1.2 , 1.477275851 - 0.8687285705 * I
+-%! 0.6 + I * 1.4 , 1.746262523 - 1.112955966 * I
+-%! 0.6 + I * 1.6 , 2.078179075 - 1.420581466 * I
+-%! 0.6 + I * 1.8 , 2.479425208 - 1.819580713 * I
+-%! 0.6 + I * 2. , 2.950586798 - 2.354077344 * I
+-%! 0.8 + I * 0. , 0.6982891589 + 0. * I
+-%! 0.8 + I * 0.2 , 0.71187169 - 0.1430549855 * I
+-%! 0.8 + I * 0.4 , 0.7530744458 - 0.2920273465 * I
+-%! 0.8 + I * 0.6 , 0.8232501212 - 0.4531616768 * I
+-%! 0.8 + I * 0.8 , 0.9245978896 - 0.6334016187 * I
+-%! 0.8 + I * 1. , 1.060030206 - 0.8408616109 * I
+-%! 0.8 + I * 1.2 , 1.232861756 - 1.085475913 * I
+-%! 0.8 + I * 1.4 , 1.446126965 - 1.379933558 * I
+-%! 0.8 + I * 1.6 , 1.701139468 - 1.741030588 * I
+-%! 0.8 + I * 1.8 , 1.994526268 - 2.191509596 * I
+-%! 0.8 + I * 2. , 2.312257188 - 2.762051518 * I
+-%! 1. + I * 0. , 0.5436738271 + 0. * I
+-%! 1. + I * 0.2 , 0.5541219664 - 0.1672121517 * I
+-%! 1. + I * 0.4 , 0.5857703552 - 0.3410940893 * I
+-%! 1. + I * 0.6 , 0.6395034233 - 0.5285979063 * I
+-%! 1. + I * 0.8 , 0.716688504 - 0.7372552987 * I
+-%! 1. + I * 1. , 0.8189576795 - 0.9755037374 * I
+-%! 1. + I * 1.2 , 0.9477661951 - 1.253049471 * I
+-%! 1. + I * 1.4 , 1.103540657 - 1.581252712 * I
+-%! 1. + I * 1.6 , 1.284098214 - 1.973449038 * I
+-%! 1. + I * 1.8 , 1.481835651 - 2.4449211 * I
+-%! 1. + I * 2. , 1.679032464 - 3.011729224 * I
+-%! ];
+-%! DN = [
+-%! -1. + I * 0. , 0.9895776106 + 0. * I
+-%! -1. + I * 0.2 , 0.9893361555 + 0.002756935338 * I
+-%! -1. + I * 0.4 , 0.9885716856 + 0.005949639805 * I
+-%! -1. + I * 0.6 , 0.9871564855 + 0.01008044183 * I
+-%! -1. + I * 0.8 , 0.9848512162 + 0.01579337596 * I
+-%! -1. + I * 1. , 0.9812582484 + 0.02396648455 * I
+-%! -1. + I * 1.2 , 0.9757399152 + 0.0358288294 * I
+-%! -1. + I * 1.4 , 0.9672786056 + 0.0531049859 * I
+-%! -1. + I * 1.6 , 0.954237868 + 0.0781744383 * I
+-%! -1. + I * 1.8 , 0.933957524 + 0.1141918269 * I
+-%! -1. + I * 2. , 0.9020917489 + 0.1650142936 * I
+-%! -0.8 + I * 0. , 0.992429635 + 0. * I
+-%! -0.8 + I * 0.2 , 0.9924147861 + 0.003020708044 * I
+-%! -0.8 + I * 0.4 , 0.99236555 + 0.00652359532 * I
+-%! -0.8 + I * 0.6 , 0.9922655715 + 0.0110676219 * I
+-%! -0.8 + I * 0.8 , 0.9920785856 + 0.01737733806 * I
+-%! -0.8 + I * 1. , 0.9917291795 + 0.02645738598 * I
+-%! -0.8 + I * 1.2 , 0.9910606387 + 0.03974949378 * I
+-%! -0.8 + I * 1.4 , 0.9897435004 + 0.05935252515 * I
+-%! -0.8 + I * 1.6 , 0.987077644 + 0.08832675281 * I
+-%! -0.8 + I * 1.8 , 0.9815667458 + 0.1310872821 * I
+-%! -0.8 + I * 2. , 0.970020127 + 0.1938136793 * I
+-%! -0.6 + I * 0. , 0.9953099088 + 0. * I
+-%! -0.6 + I * 0.2 , 0.995526009 + 0.002814772354 * I
+-%! -0.6 + I * 0.4 , 0.9962071136 + 0.006083312292 * I
+-%! -0.6 + I * 0.6 , 0.9974557125 + 0.01033463525 * I
+-%! -0.6 + I * 0.8 , 0.9994560563 + 0.01626207722 * I
+-%! -0.6 + I * 1. , 1.00249312 + 0.02484336286 * I
+-%! -0.6 + I * 1.2 , 1.006973922 + 0.0375167093 * I
+-%! -0.6 + I * 1.4 , 1.013436509 + 0.05645315628 * I
+-%! -0.6 + I * 1.6 , 1.022504295 + 0.08499262247 * I
+-%! -0.6 + I * 1.8 , 1.034670023 + 0.1283564595 * I
+-%! -0.6 + I * 2. , 1.049599899 + 0.194806122 * I
+-%! -0.4 + I * 0. , 0.9977686897 + 0. * I
+-%! -0.4 + I * 0.2 , 0.9981836165 + 0.002167241934 * I
+-%! -0.4 + I * 0.4 , 0.9994946045 + 0.004686808612 * I
+-%! -0.4 + I * 0.6 , 1.001910789 + 0.00797144174 * I
+-%! -0.4 + I * 0.8 , 1.005817375 + 0.01256717724 * I
+-%! -0.4 + I * 1. , 1.011836374 + 0.01925509038 * I
+-%! -0.4 + I * 1.2 , 1.020923572 + 0.02920828367 * I
+-%! -0.4 + I * 1.4 , 1.034513743 + 0.04425213602 * I
+-%! -0.4 + I * 1.6 , 1.054725746 + 0.06732276244 * I
+-%! -0.4 + I * 1.8 , 1.08462027 + 0.1033236812 * I
+-%! -0.4 + I * 2. , 1.128407402 + 0.1608240664 * I
+-%! -0.2 + I * 0. , 0.9994191176 + 0. * I
+-%! -0.2 + I * 0.2 , 0.9999683719 + 0.001177128019 * I
+-%! -0.2 + I * 0.4 , 1.001705496 + 0.00254669712 * I
+-%! -0.2 + I * 0.6 , 1.004913944 + 0.004334880912 * I
+-%! -0.2 + I * 0.8 , 1.010120575 + 0.006842775622 * I
+-%! -0.2 + I * 1. , 1.018189543 + 0.01050520136 * I
+-%! -0.2 + I * 1.2 , 1.030482479 + 0.01598431001 * I
+-%! -0.2 + I * 1.4 , 1.049126108 + 0.02433134655 * I
+-%! -0.2 + I * 1.6 , 1.077466003 + 0.0372877718 * I
+-%! -0.2 + I * 1.8 , 1.120863308 + 0.05789156398 * I
+-%! -0.2 + I * 2. , 1.188162088 + 0.09181238708 * I
+-%! 0. + I * 0. , 1. + 0. * I
+-%! 0. + I * 0.2 , 1.000596698 + 0. * I
+-%! 0. + I * 0.4 , 1.002484444 + 0. * I
+-%! 0. + I * 0.6 , 1.005973379 + 0. * I
+-%! 0. + I * 0.8 , 1.011641536 + 0. * I
+-%! 0. + I * 1. , 1.020441432 + 0. * I
+-%! 0. + I * 1.2 , 1.033885057 + 0. * I
+-%! 0. + I * 1.4 , 1.054361188 + 0. * I
+-%! 0. + I * 1.6 , 1.085694733 + 0. * I
+-%! 0. + I * 1.8 , 1.134186672 + 0. * I
+-%! 0. + I * 2. , 1.210701071 + 0. * I
+-%! 0.2 + I * 0. , 0.9994191176 + 0. * I
+-%! 0.2 + I * 0.2 , 0.9999683719 - 0.001177128019 * I
+-%! 0.2 + I * 0.4 , 1.001705496 - 0.00254669712 * I
+-%! 0.2 + I * 0.6 , 1.004913944 - 0.004334880912 * I
+-%! 0.2 + I * 0.8 , 1.010120575 - 0.006842775622 * I
+-%! 0.2 + I * 1. , 1.018189543 - 0.01050520136 * I
+-%! 0.2 + I * 1.2 , 1.030482479 - 0.01598431001 * I
+-%! 0.2 + I * 1.4 , 1.049126108 - 0.02433134655 * I
+-%! 0.2 + I * 1.6 , 1.077466003 - 0.0372877718 * I
+-%! 0.2 + I * 1.8 , 1.120863308 - 0.05789156398 * I
+-%! 0.2 + I * 2. , 1.188162088 - 0.09181238708 * I
+-%! 0.4 + I * 0. , 0.9977686897 + 0. * I
+-%! 0.4 + I * 0.2 , 0.9981836165 - 0.002167241934 * I
+-%! 0.4 + I * 0.4 , 0.9994946045 - 0.004686808612 * I
+-%! 0.4 + I * 0.6 , 1.001910789 - 0.00797144174 * I
+-%! 0.4 + I * 0.8 , 1.005817375 - 0.01256717724 * I
+-%! 0.4 + I * 1. , 1.011836374 - 0.01925509038 * I
+-%! 0.4 + I * 1.2 , 1.020923572 - 0.02920828367 * I
+-%! 0.4 + I * 1.4 , 1.034513743 - 0.04425213602 * I
+-%! 0.4 + I * 1.6 , 1.054725746 - 0.06732276244 * I
+-%! 0.4 + I * 1.8 , 1.08462027 - 0.1033236812 * I
+-%! 0.4 + I * 2. , 1.128407402 - 0.1608240664 * I
+-%! 0.6 + I * 0. , 0.9953099088 + 0. * I
+-%! 0.6 + I * 0.2 , 0.995526009 - 0.002814772354 * I
+-%! 0.6 + I * 0.4 , 0.9962071136 - 0.006083312292 * I
+-%! 0.6 + I * 0.6 , 0.9974557125 - 0.01033463525 * I
+-%! 0.6 + I * 0.8 , 0.9994560563 - 0.01626207722 * I
+-%! 0.6 + I * 1. , 1.00249312 - 0.02484336286 * I
+-%! 0.6 + I * 1.2 , 1.006973922 - 0.0375167093 * I
+-%! 0.6 + I * 1.4 , 1.013436509 - 0.05645315628 * I
+-%! 0.6 + I * 1.6 , 1.022504295 - 0.08499262247 * I
+-%! 0.6 + I * 1.8 , 1.034670023 - 0.1283564595 * I
+-%! 0.6 + I * 2. , 1.049599899 - 0.194806122 * I
+-%! 0.8 + I * 0. , 0.992429635 + 0. * I
+-%! 0.8 + I * 0.2 , 0.9924147861 - 0.003020708044 * I
+-%! 0.8 + I * 0.4 , 0.99236555 - 0.00652359532 * I
+-%! 0.8 + I * 0.6 , 0.9922655715 - 0.0110676219 * I
+-%! 0.8 + I * 0.8 , 0.9920785856 - 0.01737733806 * I
+-%! 0.8 + I * 1. , 0.9917291795 - 0.02645738598 * I
+-%! 0.8 + I * 1.2 , 0.9910606387 - 0.03974949378 * I
+-%! 0.8 + I * 1.4 , 0.9897435004 - 0.05935252515 * I
+-%! 0.8 + I * 1.6 , 0.987077644 - 0.08832675281 * I
+-%! 0.8 + I * 1.8 , 0.9815667458 - 0.1310872821 * I
+-%! 0.8 + I * 2. , 0.970020127 - 0.1938136793 * I
+-%! 1. + I * 0. , 0.9895776106 + 0. * I
+-%! 1. + I * 0.2 , 0.9893361555 - 0.002756935338 * I
+-%! 1. + I * 0.4 , 0.9885716856 - 0.005949639805 * I
+-%! 1. + I * 0.6 , 0.9871564855 - 0.01008044183 * I
+-%! 1. + I * 0.8 , 0.9848512162 - 0.01579337596 * I
+-%! 1. + I * 1. , 0.9812582484 - 0.02396648455 * I
+-%! 1. + I * 1.2 , 0.9757399152 - 0.0358288294 * I
+-%! 1. + I * 1.4 , 0.9672786056 - 0.0531049859 * I
+-%! 1. + I * 1.6 , 0.954237868 - 0.0781744383 * I
+-%! 1. + I * 1.8 , 0.933957524 - 0.1141918269 * I
+-%! 1. + I * 2. , 0.9020917489 - 0.1650142936 * I
+-%! ];
+-%! tol = 1e-9;
+-%! for x = 0:10
+-%!   for y = 0:10
+-%!     ur = -1 + x * 0.2;
+-%!     ui =  y * 0.2;
+-%!     ii = 1 + y + x*11;
+-%!     [sn, cn, dn] = ellipj (ur + I * ui, m);
+-%!     assert (SN (ii, 2), sn, tol);
+-%!     assert (CN (ii, 2), cn, tol);
+-%!     assert (DN (ii, 2), dn, tol);
+-%!   endfor
+-%! endfor
+-
+-## tests taken from test_ellipj.m
+-%!test
+-%! u1 = pi/3; m1 = 0;
+-%! res1 = [sin(pi/3), cos(pi/3), 1];
+-%! [sn,cn,dn]=ellipj(u1,m1);
+-%! assert([sn,cn,dn], res1, 10*eps);
+-
+-%!test
+-%! u2 = log(2); m2 = 1;
+-%! res2 = [ 3/5, 4/5, 4/5 ];
+-%! [sn,cn,dn]=ellipj(u2,m2);
+-%! assert([sn,cn,dn], res2, 10*eps);
+-
+-%!test
+-%! u3 = log(2)*1i; m3 = 0;
+-%! res3 = [3i/4,5/4,1];
+-%! [sn,cn,dn]=ellipj(u3,m3);
+-%! assert([sn,cn,dn], res3, 10*eps);
+-
+-%!test
+-%! u4 = -1; m4 = tan(pi/8)^4;
+-%! res4 = [-0.8392965923,0.5436738271,0.9895776106];
+-%! [sn,cn,dn]=ellipj(u4, m4);
+-%! assert([sn,cn,dn], res4, 1e-10);
+-
+-%!test
+-%! u5 = -0.2 + 0.4i; m5 = tan(pi/8)^4;
+-%! res5 = [ -0.2152524522 + 0.402598347i, ...
+-%!           1.059453907  + 0.08179712295i, ...
+-%!           1.001705496  + 0.00254669712i ];
+-%! [sn,cn,dn]=ellipj(u5,m5);
+-%! assert([sn,cn,dn], res5, 1e-9);
+-
+-%!test
+-%! u6 = 0.2 + 0.6i; m6 = tan(pi/8)^4;
+-%! res6 = [ 0.2369100139 + 0.624633635i, ...
+-%!          1.16200643   - 0.1273503824i, ...
+-%!          1.004913944 - 0.004334880912i ];
+-%! [sn,cn,dn]=ellipj(u6,m6);
+-%! assert([sn,cn,dn], res6, 1e-8);
+-
+-%!test
+-%! u7 = 0.8 + 0.8i; m7 = tan(pi/8)^4;
+-%! res7 = [0.9588386397 + 0.6107824358i, ...
+-%!         0.9245978896 - 0.6334016187i, ...
+-%!         0.9920785856 - 0.01737733806i ];
+-%! [sn,cn,dn]=ellipj(u7,m7);
+-%! assert([sn,cn,dn], res7, 1e-10);
+-
+-%!test
+-%! u=[0,pi/6,pi/4,pi/2]; m=0;
+-%! res = [0,1/2,1/sqrt(2),1;1,cos(pi/6),1/sqrt(2),0;1,1,1,1];
+-%! [sn,cn,dn]=ellipj(u,m);
+-%! assert([sn;cn;dn],res, 100*eps);
+-%! [sn,cn,dn]=ellipj(u',0);
+-%! assert([sn,cn,dn],res', 100*eps);
+-
+-## XXX FIXME XXX
+-## need to check [real,complex]x[scalar,rowvec,colvec,matrix]x[u,m]
+-
+-%!test
+-%! ## Test Jacobi elliptic functions
+-%! ## against "exact" solution from Mathematica 3.0
+-%! ## David Billinghurst <David.Billinghurst@riotinto.com>
+-%! ## 1 February 2001
+-%! u = [ 0.25; 0.25; 0.20; 0.20; 0.672; 0.5];
+-%! m = [ 0.0;  1.0;  0.19; 0.81; 0.36;  0.9999999999];
+-%! S = [ sin(0.25); tanh(0.25);
+-%!  0.19842311013970879516;
+-%!  0.19762082367187648571;
+-%!  0.6095196917919021945;
+-%!  0.4621171572617320908 ];
+-%! C = [ cos(0.25); sech(0.25);
+-%!  0.9801164570409401062;
+-%!  0.9802785369736752032;
+-%!  0.7927709286533560550;
+-%!  0.8868188839691764094 ];
+-%! D = [ 1.0;  sech(0.25);
+-%!  0.9962526643271134302;
+-%!  0.9840560289645665155;
+-%!  0.9307281387786906491;
+-%!  0.8868188839812167635 ];
+-%! [sn,cn,dn] = ellipj(u,m);
+-%! assert(sn,S,8*eps);
+-%! assert(cn,C,8*eps);
+-%! assert(dn,D,8*eps);
+-*/
--- a/src/of-specfun.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/of-specfun.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := of-specfun
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.0
 $(PKG)_CHECKSUM := 293a98dc2139057aa7119f3065d501616431c6a5
 $(PKG)_REMOTE_SUBDIR := 
 $(PKG)_SUBDIR   := specfun
@@ -10,9 +11,12 @@
 $(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
 $(PKG)_DEPS     := 
 
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(OCTAVE_FORGE_PKG_UPDATE)
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-splines.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-splines
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3.3
+$(PKG)_CHECKSUM := a817b1ac1fa6d5715b10754ddf7f51bafc6edf44
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := splines-$($(PKG)_VERSION)
+$(PKG)_FILE     := splines-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-statistics-1-cross.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,12 @@
+diff -ur statistics-1.4.0.orig/utils/conditional_installation.m statistics-1.4.0/utils/conditional_installation.m
+--- statistics-1.4.0.orig/utils/conditional_installation.m	2018-05-21 07:55:58.881279480 -0400
++++ statistics-1.4.0/utils/conditional_installation.m	2018-05-21 07:58:13.197213866 -0400
+@@ -24,7 +24,7 @@
+   ## build system, and this file here has to be configured as follows:
+   ##
+   ## Set this to true if you have considered the next step.
+-  configured = false;
++  configured = true;
+   ##
+   ## If core Octave called at the build system has the same statistics
+   ## functions as the core Octave you build for, leave the following
--- a/src/of-statistics.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/of-statistics.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,26 @@
 
 PKG             := of-statistics
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := c8bb88b9da84f5b12e624b65828e58cf16c4e3f4
-$(PKG)_REMOTE_SUBDIR := 
-$(PKG)_SUBDIR   := statistics
+$(PKG)_VERSION  := 1.4.2
+$(PKG)_CHECKSUM := 8329abd3da0f75f94e5ea85bb6e51dc16c7d0274
+$(PKG)_REMOTE_SUBDIR :=
+$(PKG)_SUBDIR   := statistics-$($(PKG)_VERSION)
 $(PKG)_FILE     := statistics-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
 $(PKG)_DEPS     := of-io
 
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+    ifeq ($(MXE_NATIVE_BUILD),no)
+        ifeq ($(USE_SYSTEM_OCTAVE),no)
+            # Remove this when package builds without calling Octave
+            $(PKG)_DEPS += build-octave
+        endif
+    endif
+endif
+
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(OCTAVE_FORGE_PKG_UPDATE)
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-stk.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-stk
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.6.1
+$(PKG)_CHECKSUM := d5d130e61d67654b58cfb1c803b80dfafbe6b83a
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := stk
+$(PKG)_FILE     := stk-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-strings-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,36 @@
+diff -ur strings-1.2.0.orig/src/Makefile strings-1.2.0/src/Makefile
+--- strings-1.2.0.orig/src/Makefile	2015-06-08 13:43:45.551556353 -0400
++++ strings-1.2.0/src/Makefile	2015-06-08 13:45:22.693478306 -0400
+@@ -1,11 +1,7 @@
+ OCTAVE ?= octave
+ MKOCTFILE ?= mkoctfile -Wall
+ 
+-PCRE_SWITCHES := $(shell $(OCTAVE) \
+-	--no-gui --no-init-file --no-site-file --silent --no-history \
+-	--eval 'disp (octave_config_info ("PCRE_LIBS"));' \
+-	--eval 'disp (octave_config_info ("PCRE_CPPFLAGS"));' \
+-	)
++PCRE_SWITCHES := $(shell pcre-config --libs)
+ 
+ pcregexp.oct: %.oct: %.cc
+ 	$(MKOCTFILE) $(PCRE_SWITCHES) -o $@ $<
+diff -uNr a/src/pcregexp.cc b/src/pcregexp.cc
+--- a/src/pcregexp.cc	2015-06-06 17:40:45.000000000 -0400
++++ b/src/pcregexp.cc	2018-04-09 15:01:27.359869527 -0400
+@@ -22,6 +22,7 @@
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ 
+ #include <octave/oct.h>
++#include <octave/errwarn.h>
+ #include <pcre.h>
+ #include <iostream>
+ #include <vector>
+@@ -49,7 +50,7 @@
+     std::string pattern = args(0).string_value();
+     std::string input = args(1).string_value();
+     if (error_state) {
+-        gripe_wrong_type_arg("pcregexp", args(0));
++        err_wrong_type_arg("pcregexp", args(0));
+         return retval;
+     }
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-strings.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-strings
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.0
+$(PKG)_CHECKSUM := 5db5442b62961a490526eec5d30e6db2a008914a
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := strings-$($(PKG)_VERSION)
+$(PKG)_FILE     := strings-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- a/src/of-struct.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/of-struct.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,20 @@
 
 PKG             := of-struct
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 4703b20612c9e5ec48765af15c28e7a1fc90d427
+$(PKG)_VERSION  := 1.0.16
+$(PKG)_CHECKSUM := f6d80aba6749a5fa638776fae89be091b63dd0f7
 $(PKG)_REMOTE_SUBDIR := 
 $(PKG)_SUBDIR   := struct-$($(PKG)_VERSION)
 $(PKG)_FILE     := struct-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
 $(PKG)_DEPS     := 
 
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(OCTAVE_FORGE_PKG_UPDATE)
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-symbolic.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,28 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-symbolic
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.9.0
+$(PKG)_CHECKSUM := 6b43b02c7ec0b9094a4846ff00500c2da33d1fa7
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := symbolic-$($(PKG)_VERSION)
+$(PKG)_FILE     := symbolic-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+    $(PKG)_DEPS += python-sympy
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-tisean-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,31 @@
+diff -ur tisean-0.2.3.orig/src/Makefile.in tisean-0.2.3/src/Makefile.in
+--- tisean-0.2.3.orig/src/Makefile.in	2015-08-24 13:01:27.265995455 -0400
++++ tisean-0.2.3/src/Makefile.in	2015-09-03 12:59:29.934122317 -0400
+@@ -1,9 +1,18 @@
+ MKOCTFILE ?= mkoctfile -Wall
++OCTAVE_CONFIG ?= octave-config
+ SED       ?= sed
+ LIBS_F=source_f/libsla.a
+ CXXFLAGS=@CXXFLAGS@
+ FFLAGS=@AM_FFLAGS@ @FFLAGS@
+ 
++CANONICAL_HOST_TYPE=$(shell $(OCTAVE_CONFIG) -p CANONICAL_HOST_TYPE)
++ifneq (,$(findstring mingw,$(CANONICAL_HOST_TYPE)))
++  F77LIBS := $(shell $(MKOCTFILE) -p FLIBS)
++endif
++ifneq (,$(findstring cygwin,$(CANONICAL_HOST_TYPE)))
++  F77LIBS := $(shell $(MKOCTFILE) -p FLIBS)
++endif
++
+ ## The next two are important to actually rebuild them when a change
+ ## is made to the the functions they link to.
+ OCT_LINK_F=__surrogates__.oct __c1__.oct __upo__.oct lazy.oct
+@@ -73,7 +82,7 @@
+ 	$(MKOCTFILE) $(CXXFLAGS) $< $(LIBS) -o $@
+ 
+ $(OCT_LINK_F): %.oct : %.cc $(OBJECTS_F) $(LIBS_F)
+-	$(MKOCTFILE) $(CXXFLAGS) $< $(OBJECTS_F) $(LIBS_F) -o $@
++	$(MKOCTFILE) $(CXXFLAGS) $< $(OBJECTS_F) $(LIBS_F) $(F77LIBS) -o $@
+ 
+ $(OCT_LINK_CC): %.oct : %.cc $(OBJECTS_CC)
+ 	$(MKOCTFILE) $(CXXFLAGS) $< $(OBJECTS_CC) -o $@
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-tisean.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-tisean
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.2.3
+$(PKG)_CHECKSUM := a2efabaceb420b7bacb5808fc3887352ebe62102
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := tisean-$($(PKG)_VERSION)
+$(PKG)_FILE     := tisean-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/octave/$($(PKG)_FILE)?download
+$(PKG)_DEPS     :=
+ifeq ($(USE_SYSTEM_GCC),no)
+  $(PKG)_DEPS += libgomp
+endif
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-tsa.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,26 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-tsa
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.6.2
+$(PKG)_CHECKSUM := cf4ba9ebb1ad80d5ea8bddacdb3681dec8986c80
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := tsa-$($(PKG)_VERSION)
+$(PKG)_FILE     := tsa-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/octave/$($(PKG)_FILE)?download
+$(PKG)_DEPS     :=
+ifeq ($(USE_SYSTEM_GCC),no)
+  $(PKG)_DEPS += libgomp
+endif
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-video-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,78 @@
+Only in video-2.0.0/src: aclocal.m4
+diff -ur video-2.0.0.orig/src/configure video-2.0.0/src/configure
+--- video-2.0.0.orig/src/configure	2020-03-04 11:23:26.508419633 -0500
++++ video-2.0.0/src/configure	2020-03-04 12:19:15.552103743 -0500
+@@ -588,7 +588,7 @@
+ PKG_CONFIG_LIBDIR
+ PKG_CONFIG_PATH
+ PKG_CONFIG
+-HAVE_MKOCTFILE
++MKOCTFILE
+ OBJEXT
+ EXEEXT
+ ac_ct_CXX
+@@ -2280,11 +2280,11 @@
+ set dummy mkoctfile; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if ${ac_cv_prog_HAVE_MKOCTFILE+:} false; then :
++if ${ac_cv_prog_MKOCTFILE+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+-  if test -n "$HAVE_MKOCTFILE"; then
+-  ac_cv_prog_HAVE_MKOCTFILE="$HAVE_MKOCTFILE" # Let the user override the test.
++  if test -n "$MKOCTFILE"; then
++  ac_cv_prog_MKOCTFILE="$MKOCTFILE" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -2293,7 +2293,7 @@
+   test -z "$as_dir" && as_dir=.
+     for ac_exec_ext in '' $ac_executable_extensions; do
+   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+-    ac_cv_prog_HAVE_MKOCTFILE="yes"
++    ac_cv_prog_MKOCTFILE="yes"
+     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+@@ -2301,20 +2301,20 @@
+   done
+ IFS=$as_save_IFS
+ 
+-  test -z "$ac_cv_prog_HAVE_MKOCTFILE" && ac_cv_prog_HAVE_MKOCTFILE="no"
++  test -z "$ac_cv_prog_MKOCTFILE" && ac_cv_prog_MKOCTFILE="no"
+ fi
+ fi
+-HAVE_MKOCTFILE=$ac_cv_prog_HAVE_MKOCTFILE
+-if test -n "$HAVE_MKOCTFILE"; then
+-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_MKOCTFILE" >&5
+-$as_echo "$HAVE_MKOCTFILE" >&6; }
++MKOCTFILE=$ac_cv_prog_MKOCTFILE
++if test -n "$MKOCTFILE"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKOCTFILE" >&5
++$as_echo "$MKOCTFILE" >&6; }
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+ 
+ 
+-if test $HAVE_MKOCTFILE = "no"; then
++if test "$MKOCTFILE" = "no"; then
+   as_fn_error $? "mkoctfile required to install $PACKAGE_NAME" "$LINENO" 5
+ fi
+ 
+diff -ur video-2.0.0.orig/src/configure.ac video-2.0.0/src/configure.ac
+--- video-2.0.0.orig/src/configure.ac	2020-03-04 11:23:26.508419633 -0500
++++ video-2.0.0/src/configure.ac	2020-03-04 12:18:54.007562316 -0500
+@@ -12,8 +12,8 @@
+ # Define macros needed for libav
+ #AC_DEFINE(__STDC_CONSTANT_MACROS, [], [workaround for C++ programs to use C99 macros])
+ 
+-AC_CHECK_PROG([HAVE_MKOCTFILE], [mkoctfile], [yes], [no])
+-if [test $HAVE_MKOCTFILE = "no"]; then
++AC_CHECK_PROG([MKOCTFILE], [mkoctfile], [yes], [no])
++if [test "$MKOCTFILE" = "no"]; then
+   AC_MSG_ERROR([mkoctfile required to install $PACKAGE_NAME])
+ fi
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-video.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,30 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-video
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.0.0
+$(PKG)_CHECKSUM := f3d2ec3dafd3ab0d0b1215ca7fb391ebd8ebd544
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := video-$($(PKG)_VERSION)
+$(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := ffmpeg
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+ifeq ($(MXE_SYSTEM),mingw)
+$(PKG)_OPTIONS := ac_cv_func_realloc_0_nonnull=yes ac_cv_func_malloc_0_nonnull=yes
+else
+$(PKG)_OPTIONS := 
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(call OCTAVE_FORGE_PKG_BUILD,$(1),$(2),$(3),$($(PKG)_OPTIONS))
+endef
--- a/src/of-windows.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/of-windows.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,26 @@
 
 PKG             := of-windows
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 2270f3d64cf69d030e6825303158c18b9b94a871
-$(PKG)_REMOTE_SUBDIR := 
-$(PKG)_SUBDIR   := Windows
+$(PKG)_VERSION  := 1.5.0
+$(PKG)_CHECKSUM := c2323df04664626a30d837154f2a7ea3255b9182
+$(PKG)_REMOTE_SUBDIR :=
+$(PKG)_SUBDIR   := windows-$($(PKG)_VERSION)
 $(PKG)_FILE     := windows-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
-$(PKG)_DEPS     := 
+$(PKG)_DEPS     :=
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+    ifeq ($(MXE_NATIVE_BUILD),no)
+        ifeq ($(USE_SYSTEM_OCTAVE),no)
+            # Remove this when package builds without calling Octave
+            $(PKG)_DEPS += build-octave
+        endif
+    endif
+endif
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(OCTAVE_FORGE_PKG_UPDATE)
 endef
 
 define $(PKG)_BUILD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-zenity.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,25 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-zenity
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.5.7
+$(PKG)_CHECKSUM := bc24b583385a3d4d6f438361334be530e38752c7
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := zenity-$($(PKG)_VERSION)
+$(PKG)_FILE     := zenity-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/octave/$($(PKG)_FILE)?download
+$(PKG)_DEPS     := 
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-zeromq.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-zeromq
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.5.2
+$(PKG)_CHECKSUM := 699c3ed9a9c0578fcc394d5287b38464abd65f3e
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := zeromq-$($(PKG)_VERSION)
+$(PKG)_FILE     := zeromq-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := zeromq
+
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+    $(PKG)_DEPS += $(OCTAVE_TARGET)
+endif
+
+define $(PKG)_UPDATE
+    $(OCTAVE_FORGE_PKG_UPDATE)
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef
--- a/src/ogg.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/ogg.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := ogg
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := a900af21b6d7db1c7aa74eb0c39589ed9db991b8
+$(PKG)_VERSION  := 1.3.4
+$(PKG)_CHECKSUM := 851cef020b346d44893e5d1c3dab83c675d479d9
 $(PKG)_SUBDIR   := libogg-$($(PKG)_VERSION)
 $(PKG)_FILE     := libogg-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://downloads.xiph.org/releases/ogg/$($(PKG)_FILE)
@@ -20,6 +21,6 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)'
-    $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
-    $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS)
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS)
 endef
--- a/src/old.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/old.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := old
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.17
 $(PKG)_CHECKSUM := d519a8282b0774c344ffeb1b4899f8be53d6d7b3
 $(PKG)_SUBDIR   := old-$($(PKG)_VERSION)
 $(PKG)_FILE     := old-$($(PKG)_VERSION).tar.bz2
--- a/src/openal-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/openal-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -16,7 +16,7 @@
 index ef3d08d..88de1e5 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -543,6 +543,7 @@ IF(DSOUND)
+@@ -603,6 +603,7 @@ IF(DSOUND)
                  SET(BACKENDS  "${BACKENDS} DirectSound \(linked\),")
                  SET(EXTRA_LIBS dsound ${EXTRA_LIBS})
              ENDIF()
--- a/src/openal.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/openal.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,27 +3,30 @@
 
 PKG             := openal
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := e6d69db13ec15465b83a45ef89978e8a0f55beca
+$(PKG)_VERSION  := 1.15.1
+$(PKG)_CHECKSUM := 018a9cd414db6b2ba5924261a59f34e8ce7b603a
 $(PKG)_SUBDIR   := openal-soft-$($(PKG)_VERSION)
-$(PKG)_FILE     := openal-soft-$($(PKG)_VERSION).tar.bz2
-$(PKG)_URL      := http://kcat.strangesoft.net/openal-releases/$($(PKG)_FILE)
+$(PKG)_FILE     := openal-soft-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://github.com/kcat/openal-soft/archive/$($(PKG)_FILE)
 $(PKG)_DEPS     := portaudio
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://kcat.strangesoft.net/openal-releases/?C=M;O=D' | \
-    $(SED) -n 's,.*"openal-soft-\([0-9][^"]*\)\.tar.*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://github.com/kcat/openal-soft/tags' | \
+    $(SED) -n 's|.*releases/tag/openal-soft-\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
     cd '$(1)/build' && cmake .. \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
-        -DLIBTYPE=STATIC \
         -DEXAMPLES=FALSE
     $(MAKE) -C '$(1)/build' -j '$(JOBS)' install
 
     '$(MXE_CC)' \
         -W -Wall -Werror -ansi -pedantic \
-        '$(2).c' -o '$(HOST_BINDIR)/test-openal.exe' \
+        '$(2).c' -o '$(1)/test-openal.exe' \
         `'$(MXE_PKG_CONFIG)' openal --cflags --libs`
 endef
+
--- a/src/openblas.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/openblas.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,34 +3,56 @@
 
 PKG             := openblas
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := d012ebc2b8dcd3e95f667dff08318a81479a47c3
+$(PKG)_VERSION  := 0.3.12
+$(PKG)_CHECKSUM := ae647fed597ae891a7f122b9ddc6b15d4b7e0656
 $(PKG)_SUBDIR   := OpenBLAS-$($(PKG)_VERSION)
 $(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
-$(PKG)_URL      := http://github.com/xianyi/OpenBLAS/archive/v$($(PKG)_VERSION).tar.gz
-$(PKG)_DEPS     :=
+$(PKG)_URL      := https://github.com/xianyi/OpenBLAS/archive/v$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS     := blas
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://github.com/xianyi/OpenBLAS/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | $(SORT) -Vr | \
+    head -1
+endef
 
-$(PKG)_MAKE_OPTS := PREFIX=$(HOST_PREFIX) DYNAMIC_ARCH=1 NO_LAPACK=1
+ifeq ($(USE_CCACHE),yes)
+  $(PKG)_MXE_CC := $(shell basename $(MXE_CC))
+  $(PKG)_MXE_F77 := $(shell basename $(MXE_F77))
+else
+  $(PKG)_MXE_CC := $(MXE_CC)
+  $(PKG)_MXE_F77 := $(MXE_F77)
+endif
+
+$(PKG)_MAKE_OPTS := \
+  PREFIX=$(HOST_PREFIX) \
+  DYNAMIC_ARCH=1 DYNAMIC_OLDER=1 \
+  NO_LAPACK=1 NO_CBLAS=1 \
+  USE_THREAD=1 NUM_THREADS=24 \
+  CC=$($(PKG)_MXE_CC) FC=$($(PKG)_MXE_F77)
+## This may also be needed on some systems: NO_AVX2=1
 
 ifneq ($(MXE_NATIVE_BUILD),yes)
-  $(PKG)_MAKE_OPTS += NO_CBLAS=1 USE_THREAD=0 CC=$(MXE_CC) FC=$(MXE_F77) HOSTCC=gcc HOSTFC=gfortran CROSS=1
+  $(PKG)_MAKE_OPTS += HOSTCC=gcc HOSTFC=gfortran CROSS=1 CROSS_SUFFIX=$(MXE_TOOL_PREFIX)
 endif
 
-ifeq ($(ENABLE_64),yes)
-  $(PKG)_MAKE_OPTS += BINARY=64
-else
-  $(PKG)_MAKE_OPTS += BINARY=32
+## Assume that native builds are for a 64bit target
+$(PKG)_TARGET := PRESCOTT
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  $(PKG)_MAKE_OPTS += EXTRALIB=-lxerbla
+  ifneq ($(ENABLE_WINDOWS_64),yes)
+    $(PKG)_TARGET := KATMAI
+  endif
 endif
 
-define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
-endef
+$(PKG)_MAKE_OPTS += TARGET=$($(PKG)_TARGET)
+
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
+  $(PKG)_MAKE_OPTS += BINARY=64 INTERFACE64=1
+endif
 
 define $(PKG)_BUILD
     $(MAKE) -C '$(1)' -j '$(JOBS)' $($(PKG)_MAKE_OPTS)  
-    $(MAKE) -C '$(1)' -j 1 PREFIX='$(HOST_PREFIX)' $($(PKG)_MAKE_OPTS) install
-    if [ $(BUILD_SHARED) = yes ]; then \
-      $(INSTALL) -d $(HOST_BINDIR); \
-      $(INSTALL) $(HOST_LIBDIR)/libopenblas.dll $(HOST_BINDIR)/; \
-    fi
+    $(MAKE) -C '$(1)' -j 1 $($(PKG)_MAKE_OPTS) install
 endef
--- a/src/opencore-amr.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/opencore-amr.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,16 @@
 
 PKG             := opencore-amr
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 289478d49701213255e9d63a93aae9ad472125cc
+$(PKG)_VERSION  := 0.1.5
+$(PKG)_CHECKSUM := bef4d1e3a8a155b47569b6691a223843b33e279e
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/opencore-amr/files/opencore-amr/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*<tr title="opencore-amr-\([0-9\.]*\)\.tar.gz".*,\1,p' | \
     head -1
 endef
 
--- a/src/opencsg.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/opencsg.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := opencsg
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3.2
 $(PKG)_CHECKSUM := e2b4abf169ae3e319eb5f6d9ae6136fa96710a05
 $(PKG)_SUBDIR   := OpenCSG-$($(PKG)_VERSION)
 $(PKG)_FILE     := OpenCSG-$($(PKG)_VERSION).tar.gz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/opencv-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,79 @@
+Common subdirectories: opencv-3.4.3.orig/3rdparty and opencv-3.4.3/3rdparty
+Common subdirectories: opencv-3.4.3.orig/apps and opencv-3.4.3/apps
+Common subdirectories: opencv-3.4.3.orig/cmake and opencv-3.4.3/cmake
+diff -ut opencv-3.4.3.orig/CMakeLists.txt opencv-3.4.3/CMakeLists.txt
+--- opencv-3.4.3.orig/CMakeLists.txt	2019-10-02 15:01:47.179900886 -0400
++++ opencv-3.4.3/CMakeLists.txt	2019-10-02 15:19:18.363163935 -0400
+@@ -39,7 +39,7 @@
+   if(NOT CMAKE_TOOLCHAIN_FILE)
+     # it _must_ go before project(OpenCV) in order to work
+     if(WIN32)
+-      set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "Installation Directory")
++      #set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "Installation Directory")
+     else()
+       set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Installation Directory")
+     endif()
+@@ -47,7 +47,7 @@
+     #Android: set output folder to ${CMAKE_BINARY_DIR}
+     set(LIBRARY_OUTPUT_PATH_ROOT ${CMAKE_BINARY_DIR} CACHE PATH "root for library output, set this to change where android libs are compiled to" )
+     # any cross-compiling
+-    set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "Installation Directory")
++    #set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "Installation Directory")
+   endif()
+ endif()
+ 
+@@ -377,14 +377,7 @@
+   ocv_update(OPENCV_DOC_INSTALL_PATH share/OpenCV/doc)
+ endif()
+ 
+-if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
+-  if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
+-    ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/")
+-  else()
+-    message(STATUS "Can't detect runtime and/or arch")
+-    ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "")
+-  endif()
+-elseif(ANDROID)
++if(ANDROID)
+   ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "sdk/native/")
+ else()
+   ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "")
+@@ -433,11 +426,8 @@
+   ocv_update(3P_LIBRARY_OUTPUT_PATH      "${OpenCV_BINARY_DIR}/3rdparty/lib${LIB_SUFFIX}")
+ 
+   if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
+-    if(OpenCV_STATIC)
+-      ocv_update(OPENCV_LIB_INSTALL_PATH   "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
+-    else()
+-      ocv_update(OPENCV_LIB_INSTALL_PATH   "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
+-    endif()
++    ocv_update(OPENCV_LIB_INSTALL_PATH   "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
++    ocv_update(OPENCV_3P_LIB_INSTALL_PATH  "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
+     ocv_update(OPENCV_3P_LIB_INSTALL_PATH  "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
+     ocv_update(OPENCV_SAMPLES_SRC_INSTALL_PATH    samples)
+     ocv_update(OPENCV_JAR_INSTALL_PATH java)
+@@ -495,15 +485,9 @@
+   set(OPENCV_LIB_ARCHIVE_INSTALL_PATH ${OPENCV_LIB_INSTALL_PATH})
+ endif()
+ 
+-if(WIN32)
+-  # Postfix of DLLs:
+-  set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}")
+-  set(OPENCV_DEBUG_POSTFIX d)
+-else()
+-  # Postfix of so's:
+-  set(OPENCV_DLLVERSION "")
+-  set(OPENCV_DEBUG_POSTFIX "")
+-endif()
++# Postfix of so's:
++set(OPENCV_DLLVERSION "")
++set(OPENCV_DEBUG_POSTFIX "")
+ 
+ if(DEFINED CMAKE_DEBUG_POSTFIX)
+   set(OPENCV_DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")
+Common subdirectories: opencv-3.4.3.orig/data and opencv-3.4.3/data
+Common subdirectories: opencv-3.4.3.orig/doc and opencv-3.4.3/doc
+Common subdirectories: opencv-3.4.3.orig/include and opencv-3.4.3/include
+Common subdirectories: opencv-3.4.3.orig/modules and opencv-3.4.3/modules
+Common subdirectories: opencv-3.4.3.orig/platforms and opencv-3.4.3/platforms
+Common subdirectories: opencv-3.4.3.orig/samples and opencv-3.4.3/samples
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/opencv.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,67 @@
+# This file is part of MXE. See LICENSE.md for licensing information.
+
+PKG             := opencv
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.4.3
+$(PKG)_CHECKSUM := d700348b3251552ccf034e4d7dd16080e4086840
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := opencv-$($(PKG)_VERSION).zip
+$(PKG)_URL      := https://$(SOURCEFORGE_MIRROR)/project/$(PKG)library/$(PKG)-unix/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_URL_2    := https://distfiles.macports.org/opencv/$($(PKG)_FILE)
+$(PKG)_DEPS     := eigen ffmpeg jasper jpeg libpng \
+                   openblas openexr tiff xz zlib
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/' | \
+    $(SED) -n 's,.*/projects/.*/\([0-9][^"]*\)/".*,\1,p' | \
+    head -1
+endef
+
+# -DCMAKE_CXX_STANDARD=98 required for non-posix gcc7 build
+
+define $(PKG)_BUILD
+    # build
+    mkdir '$(1)/build'
+    cd '$(1)/build' && cmake ..  \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
+        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+        --debug-output \
+        -DBUILD_opencv_dnn=OFF \
+        -DBUILD_opencv_java=OFF \
+        -DBUILD_opencv_python=OFF \
+        -DWITH_QT=OFF \
+        -DWITH_OPENGL=ON \
+        -DWITH_GSTREAMER=OFF \
+        -DWITH_GTK=OFF \
+        -DWITH_VIDEOINPUT=ON \
+        -DWITH_XINE=OFF \
+        -DWITH_PYTHON=OFF \
+        -DWITH_PROTOBUF=OFF \
+        -DWITH_CUDA=OFF \
+        -DBUILD_opencv_apps=OFF \
+        -DBUILD_DOCS=OFF \
+        -DBUILD_EXAMPLES=OFF \
+        -DBUILD_PACKAGE=OFF \
+        -DBUILD_PERF_TESTS=OFF \
+        -DBUILD_TESTS=OFF \
+        -DBUILD_WITH_DEBUG_INFO=OFF \
+        -DBUILD_FAT_JAVA_LIB=OFF \
+        -DBUILD_ZLIB=OFF \
+        -DBUILD_TIFF=OFF \
+        -DBUILD_JASPER=OFF \
+        -DBUILD_JPEG=OFF \
+        -DBUILD_WEBP=ON \
+        -DBUILD_PROTOBUF=OFF \
+        -DPROTOBUF_UPDATE_FILES=ON \
+        -DBUILD_PNG=OFF \
+        -DBUILD_OPENEXR=OFF \
+        -DCMAKE_VERBOSE=ON \
+        -DCMAKE_CXX_STANDARD=11 \
+        -DCMAKE_CXX_FLAGS='-D_WIN32_WINNT=0x0500'
+
+    # install
+    $(MAKE) -C '$(1)/build' -j '$(JOBS)' VERBOSE=1
+    $(MAKE) -C '$(1)/build' -j 1 install VERBOSE=1
+
+endef
--- a/src/openexr-1-disable-zlib_winapi.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-diff -urN a/IlmImf/ImfPxr24Compressor.cpp b/IlmImf/ImfPxr24Compressor.cpp
---- a/IlmImf/ImfPxr24Compressor.cpp	2010-07-17 01:11:52.000000000 +0200
-+++ b/IlmImf/ImfPxr24Compressor.cpp	2011-09-21 23:41:28.130452657 +0200
-@@ -62,7 +62,6 @@
- //	string of bytes is compressed with zlib.
- //
- //-----------------------------------------------------------------------------
--#define ZLIB_WINAPI 
- 
- #include <ImfPxr24Compressor.h>
- #include <ImfHeader.h>
-diff -urN a/IlmImf/ImfZipCompressor.cpp b/IlmImf/ImfZipCompressor.cpp
---- a/IlmImf/ImfZipCompressor.cpp	2010-07-17 01:11:52.000000000 +0200
-+++ b/IlmImf/ImfZipCompressor.cpp	2011-09-21 23:42:01.154288691 +0200
-@@ -39,7 +39,6 @@
- //	class ZipCompressor
- //
- //-----------------------------------------------------------------------------
--#define ZLIB_WINAPI
- 
- #include <ImfZipCompressor.h>
- #include <ImfCheckedArithmetic.h>
--- a/src/openexr.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/openexr.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,49 +3,57 @@
 
 PKG             := openexr
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 91d0d4e69f06de956ec7e0710fc58ec0d4c4dc2b
+$(PKG)_VERSION  := 2.5.2
+$(PKG)_CHECKSUM := e4773b3da36c38052b8172c22000a8bf715808bc
 $(PKG)_SUBDIR   := openexr-$($(PKG)_VERSION)
 $(PKG)_FILE     := openexr-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://download.savannah.nongnu.org/releases/openexr/$($(PKG)_FILE)
-$(PKG)_DEPS     := ilmbase pthreads zlib
+$(PKG)_URL      := https://github.com/$(PKG)/$(PKG)/archive/v$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS     := pthreads zlib
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.openexr.com/downloads.html' | \
-    grep 'openexr-' | \
-    $(SED) -n 's,.*openexr-\([0-9][^>]*\)\.tar.*,\1,p' | \
+    $(WGET) -q -O- 'https://github.com/$(PKG)/$(PKG)/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | \
     head -1
 endef
 
-define $(PKG)_BUILD
-    # unpack and build a native version of ilmbase
-    cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,ilmbase,$(TAR))
-    $(foreach PKG_PATCH,$(sort $(wildcard $(TOP_DIR)/src/ilmbase-*.patch)),
-        (cd '$(1)/$(ilmbase_SUBDIR)' && $(PATCH) -p1 -u) < $(PKG_PATCH))
-    echo 'echo $1' > '$(1)/$(ilmbase_SUBDIR)/config.sub'
-    cd '$(1)/$(ilmbase_SUBDIR)' && $(SHELL) ./configure \
-        --build='$(BUILD_SYSTEM)' \
-        $(ENABLE_SHARED_OR_STATIC) \
-        --prefix='$(1)/ilmbase' \
-        --enable-threading=no \
-        --disable-posix-sem \
-        CONFIG_SHELL=$(SHELL)
-    $(MAKE) -C '$(1)/$(ilmbase_SUBDIR)' -j '$(JOBS)' install \
-        bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
-    cd '$(1)' && ./configure \
-        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        $(ENABLE_SHARED_OR_STATIC) \
-        --prefix='$(HOST_PREFIX)' \
-        --disable-threading \
-        --disable-posix-sem \
-        --disable-ilmbasetest \
-        PKG_CONFIG='$(MXE_PKG_CONFIG)'
-    # build the code generator manually
-    cd '$(1)/IlmImf' && g++ \
-        -I'$(1)/ilmbase/include/OpenEXR' \
-        -L'$(1)/ilmbase/lib' \
-        b44ExpLogTable.cpp \
-        -lImath -lHalf -lIex -lIlmThread -lpthread \
-        -o b44ExpLogTable
-    '$(1)/IlmImf/b44ExpLogTable' > '$(1)/IlmImf/b44ExpLogTable.h'
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
-endef
+ifeq ($(MXE_NATIVE_BUILD),yes)
+    define $(PKG)_BUILD
+        mkdir '$(1)/build'
+        cd '$(1)/build' && cmake ..  \
+            $(CMAKE_CCACHE_FLAGS) \
+            $(CMAKE_BUILD_SHARED_OR_STATIC) \
+            -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+            -DBUILD_TESTING='OFF' \
+            -DINSTALL_OPENEXR_DOCS='OFF' \
+            -DINSTALL_OPENEXR_EXAMPLES='OFF' \
+            -DOPENEXR_BUILD_UTILS='OFF' \
+            -DPYILMBASE_ENABLE='OFF' \
+            -DOPENEXR_VIEWERS_ENABLE='OFF'
+
+        $(MAKE) -C '$(1)/build' -j '$(JOBS)' VERBOSE=1
+        $(MAKE) -C '$(1)/build' -j 1 install DESTDIR='$(3)'
+    endef
+else
+    define $(PKG)_BUILD
+        mkdir '$(1)/build'
+        cd '$(1)/build' && cmake ..  \
+            $(CMAKE_CCACHE_FLAGS) \
+            $(CMAKE_BUILD_SHARED_OR_STATIC) \
+            -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+            -DBUILD_TESTING='OFF' \
+            -DCMAKE_VERBOSE_MAKEFILE='ON' \
+            -DPYILMBASE_ENABLE='OFF' \
+            -DINSTALL_OPENEXR_DOCS='OFF' \
+            -DINSTALL_OPENEXR_EXAMPLES='OFF' \
+            -DOPENEXR_BUILD_UTILS='OFF' \
+            -DOPENEXR_VIEWERS_ENABLE='OFF' \
+            -DOPENEXR_INSTALL_PKG_CONFIG='ON' \
+            -DILMBASE_LIB_SUFFIX='' \
+            -DOPENEXR_LIB_SUFFIX='' \
+            -DCMAKE_CXX_STANDARD=11 \
+            -DCMAKE_CXX_FLAGS='-D_WIN32_WINNT=0x0500'
+
+        $(MAKE) -C '$(1)/build' -j '$(JOBS)' VERBOSE=1
+        $(MAKE) -C '$(1)/build' -j 1 install DESTDIR='$(3)'
+    endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/openscenegraph-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,59 @@
+diff -ur OpenSceneGraph-3.2.0.orig/src/osgPlugins/osc/CMakeLists.txt OpenSceneGraph-3.2.0/src/osgPlugins/osc/CMakeLists.txt
+--- OpenSceneGraph-3.2.0.orig/src/osgPlugins/osc/CMakeLists.txt	2014-07-02 11:35:37.621624169 -0400
++++ OpenSceneGraph-3.2.0/src/osgPlugins/osc/CMakeLists.txt	2014-07-02 14:35:50.862890363 -0400
+@@ -35,7 +35,7 @@
+         ip/win32/NetworkingUtils.cpp
+         ip/win32/UdpSocket.cpp
+     )
+-    SET(TARGET_EXTERNAL_LIBRARIES "${TARGET_EXTERNAL_LIBRARIES};Ws2_32.lib;winmm")
++    SET(TARGET_EXTERNAL_LIBRARIES "${TARGET_EXTERNAL_LIBRARIES};ws2_32.lib;winmm")
+ ELSE()
+     SET(TARGET_SRC
+         ${TARGET_SRC}
+diff -ur OpenSceneGraph-3.2.0.orig/src/osgPlugins/vrml/CMakeLists.txt OpenSceneGraph-3.2.0/src/osgPlugins/vrml/CMakeLists.txt
+--- OpenSceneGraph-3.2.0.orig/src/osgPlugins/vrml/CMakeLists.txt	2014-07-02 11:35:37.621624169 -0400
++++ OpenSceneGraph-3.2.0/src/osgPlugins/vrml/CMakeLists.txt	2014-07-02 14:37:13.893542090 -0400
+@@ -27,7 +27,7 @@
+         PNG_LIBRARY
+         ZLIB_LIBRARY)
+     SET(TARGET_EXTERNAL_LIBRARIES
+-        Ws2_32.lib)
++        ws2_32.lib)
+ ELSE()
+     SET(TARGET_LIBRARIES_VARS
+         OPENVRML_LIBRARY)
+diff -ur OpenSceneGraph-3.2.0.orig/src/osgPlugins/xine/video_out_rgb.c OpenSceneGraph-3.2.0/src/osgPlugins/xine/video_out_rgb.c
+--- OpenSceneGraph-3.2.0.orig/src/osgPlugins/xine/video_out_rgb.c	2014-07-02 11:35:37.603623810 -0400
++++ OpenSceneGraph-3.2.0/src/osgPlugins/xine/video_out_rgb.c	2014-07-02 11:45:53.301901931 -0400
+@@ -81,6 +81,19 @@
+ 	ptr = NULL;\
+ }
+ 
++// xine removed the xine_xmalloc_aligned function in later versions
++#if ((XINE_MAJOR_VERSION<<8)|XINE_MINOR_VERSION) >= 0x102
++  static void * xine_xmalloc_aligned(size_t alignment, size_t size, void **base)
++  {
++    char * ptr;
++
++    *base = ptr = xine_xmalloc(size+alignment);
++    while((size_t)ptr % alignment)
++      ptr ++;
++    return *ptr;
++  } 
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+diff -ur OpenSceneGraph-3.2.0.orig/src/osgPlugins/ZeroConfDevice/CMakeLists.txt OpenSceneGraph-3.2.0/src/osgPlugins/ZeroConfDevice/CMakeLists.txt
+--- OpenSceneGraph-3.2.0.orig/src/osgPlugins/ZeroConfDevice/CMakeLists.txt	2014-07-02 11:35:37.596623671 -0400
++++ OpenSceneGraph-3.2.0/src/osgPlugins/ZeroConfDevice/CMakeLists.txt	2014-07-02 14:37:48.777236043 -0400
+@@ -19,7 +19,7 @@
+         mdns_win/dns_sd.h
+         mdns_win/dns-sd.c
+     )
+-    SET(TARGET_EXTERNAL_LIBRARIES "${TARGET_EXTERNAL_LIBRARIES};Ws2_32.lib;winmm")
++    SET(TARGET_EXTERNAL_LIBRARIES "${TARGET_EXTERNAL_LIBRARIES};ws2_32.lib;winmm")
+     SET(TARGET_LIBRARIES_VARS ZEROCONF_LIBRARY)
+     ADD_DEFINITIONS(-DNOT_HAVE_GETOPT)
+     ADD_DEFINITIONS(-DNOT_HAVE_SETLINEBUF)
--- a/src/openscenegraph.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/openscenegraph.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,29 +3,42 @@
 
 PKG             := openscenegraph
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 13c7e39f6d62047ad944d8d28a0f0eb60384ce33
+$(PKG)_VERSION  := 3.2.0
+$(PKG)_CHECKSUM := c20891862b5876983d180fc4a3d3cfb2b4a3375c
 $(PKG)_SUBDIR   := OpenSceneGraph-$($(PKG)_VERSION)
 $(PKG)_FILE     := OpenSceneGraph-$($(PKG)_VERSION).zip
-$(PKG)_URL      := http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-$($(PKG)_VERSION)/source/$($(PKG)_FILE)
-$(PKG)_URL_2    := http://distfiles.macports.org/OpenSceneGraph/$($(PKG)_FILE)
-$(PKG)_DEPS     := curl ffmpeg freetype gdal giflib jasper jpeg libpng openexr tiff xine-lib zlib dcmtk qt
+$(PKG)_URL      := http://www.openscenegraph.org/downloads/developer_releases/$($(PKG)_FILE)
+$(PKG)_DEPS     := boost curl dcmtk ffmpeg freetype gdal giflib gta jasper jpeg libpng openal openexr poppler qt tiff xine-lib zlib
+
+ifeq ($(BUILD_SHARED),yes)
+    $(PKG)_SHARED := ON
+else
+    $(PKG)_SHARED := OFF
+endif
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.openscenegraph.org/projects/osg/browser/OpenSceneGraph/tags?order=date&desc=1' | \
-    grep '<a ' | \
-    $(SED) -n 's,.*>OpenSceneGraph-\([0-9][^<]*\)<.*,\1,p' | \
-    grep -v '^2\.9\.' | \
-    head -1
+    $(WGET) -q -O- 'http://www.openscenegraph.org/index.php/download-section/stable-releases' | \
+    $(SED) -n 's,.*OpenSceneGraph/tree/OpenSceneGraph-\([0-9]*\.[0-9]*[02468]\.[^<]*\)">.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
-    cd '$(1)' && cmake . \
+    mkdir -p '$(1)/.build'
+    cd '$(1)/.build' && cmake .. \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
         -DCMAKE_CXX_FLAGS=-D__STDC_CONSTANT_MACROS \
-        -DCMAKE_HAVE_PTHREAD_H=OFF \
-        -DDYNAMIC_OPENTHREADS=OFF \
-        -DDYNAMIC_OPENSCENEGRAPH=OFF \
+        -DCMAKE_HAVE_PTHREAD_H=ON \
+        -DPKG_CONFIG_EXECUTABLE='$(MXE_PKG_CONFIG)' \
+        -DDYNAMIC_OPENTHREADS=$($(PKG)_SHARED) \
+        -DDYNAMIC_OPENSCENEGRAPH=$($(PKG)_SHARED) \
         -DBUILD_OSG_APPLICATIONS=OFF \
-        -D_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS_EXITCODE=1
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install VERBOSE=1
+        -DPOPPLER_HAS_CAIRO_EXITCODE=0 \
+        -D_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS_EXITCODE=1 \
+        -D_OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED_EXITCODE=0
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' VERBOSE=1
+    $(MAKE) -C '$(1)/.build' -j 1 install
 endef
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/openssl-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,593 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Wed, 8 Jan 2014 02:19:10 +0100
+Subject: [PATCH 1/2] winsock2
+
+-This patch has been taken from:
+-http://rt.openssl.org/Ticket/Display.html?id=2285&user=guest&pass=guest
+
+diff --git a/ssl/dtls1.h b/ssl/dtls1.h
+index 1111111..2222222 100644
+--- a/ssl/dtls1.h
++++ b/ssl/dtls1.h
+@@ -68,7 +68,7 @@
+ # endif
+ # ifdef OPENSSL_SYS_WIN32
+ /* Needed for struct timeval */
+-#  include <winsock.h>
++#  include <winsock2.h>
+ # elif defined(OPENSSL_SYS_NETWARE) && !defined(_WINSOCK2API_)
+ #  include <sys/timeval.h>
+ # else
+diff --git a/ssl/ssltest.c b/ssl/ssltest.c
+index 1111111..2222222 100644
+--- a/ssl/ssltest.c
++++ b/ssl/ssltest.c
+@@ -198,7 +198,7 @@
+ #define _XOPEN_SOURCE_EXTENDED  1
+ 
+ #ifdef OPENSSL_SYS_WINDOWS
+-# include <winsock.h>
++# include <winsock2.h>
+ #else
+ # include OPENSSL_UNISTD
+ #endif
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tom Molesworth <tom@entitymodel.com>
+Date: Wed, 8 Jan 2014 02:20:21 +0100
+Subject: [PATCH 2/2] Patch OpenSSL POD docs for perl-5.16+
+
+Stricter validation in recent Perl versions means the install
+stage fails without these applied.
+
+Should be harmless for earlier versions of perl.
+
+diff --git a/doc/apps/cms.pod b/doc/apps/cms.pod
+index 1111111..2222222 100644
+--- a/doc/apps/cms.pod
++++ b/doc/apps/cms.pod
+@@ -483,28 +483,28 @@ with caution. For a fuller description see L<CMS_decrypt(3)|CMS_decrypt(3)>).
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ the operation was completely successfully.
+ 
+-=item Z<>1
++=item * Z<>1
+ 
+ an error occurred parsing the command options.
+ 
+-=item Z<>2
++=item * Z<>2
+ 
+ one of the input files could not be read.
+ 
+-=item Z<>3
++=item * Z<>3
+ 
+ an error occurred creating the CMS file or when reading the MIME
+ message.
+ 
+-=item Z<>4
++=item * Z<>4
+ 
+ an error occurred decrypting or verifying the message.
+ 
+-=item Z<>5
++=item * Z<>5
+ 
+ the message was verified correctly but an error occurred writing out
+ the signers certificates.
+diff --git a/doc/apps/smime.pod b/doc/apps/smime.pod
+index 1111111..2222222 100644
+--- a/doc/apps/smime.pod
++++ b/doc/apps/smime.pod
+@@ -313,28 +313,28 @@ remains DER.
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ the operation was completely successfully.
+ 
+-=item Z<>1
++=item * Z<>1
+ 
+ an error occurred parsing the command options.
+ 
+-=item Z<>2
++=item * Z<>2
+ 
+ one of the input files could not be read.
+ 
+-=item Z<>3
++=item * Z<>3
+ 
+ an error occurred creating the PKCS#7 file or when reading the MIME
+ message.
+ 
+-=item Z<>4
++=item * Z<>4
+ 
+ an error occurred decrypting or verifying the message.
+ 
+-=item Z<>5
++=item * Z<>5
+ 
+ the message was verified correctly but an error occurred writing out
+ the signers certificates.
+diff --git a/doc/crypto/rand.pod b/doc/crypto/rand.pod
+index 1111111..2222222 100644
+--- a/doc/crypto/rand.pod
++++ b/doc/crypto/rand.pod
+@@ -74,16 +74,16 @@ First up I will state the things I believe I need for a good RNG.
+ 
+ =over 4
+ 
+-=item 1
++=item * 1
+ 
+ A good hashing algorithm to mix things up and to convert the RNG 'state'
+ to random numbers.
+ 
+-=item 2
++=item * 2
+ 
+ An initial source of random 'state'.
+ 
+-=item 3
++=item * 3
+ 
+ The state should be very large.  If the RNG is being used to generate
+ 4096 bit RSA keys, 2 2048 bit random strings are required (at a minimum).
+@@ -93,13 +93,13 @@ carried away on this last point but it does indicate that it may not be
+ a bad idea to keep quite a lot of RNG state.  It should be easier to
+ break a cipher than guess the RNG seed data.
+ 
+-=item 4
++=item * 4
+ 
+ Any RNG seed data should influence all subsequent random numbers
+ generated.  This implies that any random seed data entered will have
+ an influence on all subsequent random numbers generated.
+ 
+-=item 5
++=item * 5
+ 
+ When using data to seed the RNG state, the data used should not be
+ extractable from the RNG state.  I believe this should be a
+@@ -108,12 +108,12 @@ data would be a private key or a password.  This data must
+ not be disclosed by either subsequent random numbers or a
+ 'core' dump left by a program crash.
+ 
+-=item 6
++=item * 6
+ 
+ Given the same initial 'state', 2 systems should deviate in their RNG state
+ (and hence the random numbers generated) over time if at all possible.
+ 
+-=item 7
++=item * 7
+ 
+ Given the random number output stream, it should not be possible to determine
+ the RNG state or the next random number.
+diff --git a/doc/ssl/SSL_COMP_add_compression_method.pod b/doc/ssl/SSL_COMP_add_compression_method.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_COMP_add_compression_method.pod
++++ b/doc/ssl/SSL_COMP_add_compression_method.pod
+@@ -59,11 +59,11 @@ SSL_COMP_add_compression_method() may return the following values:
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ The operation succeeded.
+ 
+-=item Z<>1
++=item * Z<>1
+ 
+ The operation failed. Check the error queue to find out the reason.
+ 
+diff --git a/doc/ssl/SSL_CTX_add_session.pod b/doc/ssl/SSL_CTX_add_session.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_CTX_add_session.pod
++++ b/doc/ssl/SSL_CTX_add_session.pod
+@@ -52,13 +52,13 @@ The following values are returned by all functions:
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+  The operation failed. In case of the add operation, it was tried to add
+  the same (identical) session twice. In case of the remove operation, the
+  session was not found in the cache.
+ 
+-=item Z<>1
++=item * Z<>1
+  
+  The operation succeeded.
+ 
+diff --git a/doc/ssl/SSL_CTX_load_verify_locations.pod b/doc/ssl/SSL_CTX_load_verify_locations.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_CTX_load_verify_locations.pod
++++ b/doc/ssl/SSL_CTX_load_verify_locations.pod
+@@ -100,13 +100,13 @@ The following return values can occur:
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ The operation failed because B<CAfile> and B<CApath> are NULL or the
+ processing at one of the locations specified failed. Check the error
+ stack to find out the reason.
+ 
+-=item Z<>1
++=item * Z<>1
+ 
+ The operation succeeded.
+ 
+diff --git a/doc/ssl/SSL_CTX_set_client_CA_list.pod b/doc/ssl/SSL_CTX_set_client_CA_list.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_CTX_set_client_CA_list.pod
++++ b/doc/ssl/SSL_CTX_set_client_CA_list.pod
+@@ -66,13 +66,13 @@ values:
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ A failure while manipulating the STACK_OF(X509_NAME) object occurred or
+ the X509_NAME could not be extracted from B<cacert>. Check the error stack
+ to find out the reason.
+ 
+-=item Z<>1
++=item * Z<>1
+ 
+ The operation succeeded.
+ 
+diff --git a/doc/ssl/SSL_CTX_set_session_id_context.pod b/doc/ssl/SSL_CTX_set_session_id_context.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_CTX_set_session_id_context.pod
++++ b/doc/ssl/SSL_CTX_set_session_id_context.pod
+@@ -64,13 +64,13 @@ return the following values:
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ The length B<sid_ctx_len> of the session id context B<sid_ctx> exceeded
+ the maximum allowed length of B<SSL_MAX_SSL_SESSION_ID_LENGTH>. The error
+ is logged to the error stack.
+ 
+-=item Z<>1
++=item * Z<>1
+ 
+ The operation succeeded.
+ 
+diff --git a/doc/ssl/SSL_CTX_set_ssl_version.pod b/doc/ssl/SSL_CTX_set_ssl_version.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_CTX_set_ssl_version.pod
++++ b/doc/ssl/SSL_CTX_set_ssl_version.pod
+@@ -42,11 +42,11 @@ and SSL_set_ssl_method():
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ The new choice failed, check the error stack to find out the reason.
+ 
+-=item Z<>1
++=item * Z<>1
+ 
+ The operation succeeded.
+ 
+diff --git a/doc/ssl/SSL_CTX_use_psk_identity_hint.pod b/doc/ssl/SSL_CTX_use_psk_identity_hint.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_CTX_use_psk_identity_hint.pod
++++ b/doc/ssl/SSL_CTX_use_psk_identity_hint.pod
+@@ -83,7 +83,7 @@ Return values from the server callback are interpreted as follows:
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ PSK identity was not found. An "unknown_psk_identity" alert message
+ will be sent and the connection setup fails.
+diff --git a/doc/ssl/SSL_accept.pod b/doc/ssl/SSL_accept.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_accept.pod
++++ b/doc/ssl/SSL_accept.pod
+@@ -41,18 +41,18 @@ The following return values can occur:
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ The TLS/SSL handshake was not successful but was shut down controlled and
+ by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
+ return value B<ret> to find out the reason.
+ 
+-=item Z<>1
++=item * Z<>1
+ 
+ The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
+ established.
+ 
+-=item E<lt>0
++=item * E<lt>0
+ 
+ The TLS/SSL handshake was not successful because a fatal error occurred either
+ at the protocol level or a connection failure occurred. The shutdown was
+diff --git a/doc/ssl/SSL_clear.pod b/doc/ssl/SSL_clear.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_clear.pod
++++ b/doc/ssl/SSL_clear.pod
+@@ -56,12 +56,12 @@ The following return values can occur:
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ The SSL_clear() operation could not be performed. Check the error stack to
+ find out the reason.
+ 
+-=item Z<>1
++=item * Z<>1
+ 
+ The SSL_clear() operation was successful.
+ 
+diff --git a/doc/ssl/SSL_connect.pod b/doc/ssl/SSL_connect.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_connect.pod
++++ b/doc/ssl/SSL_connect.pod
+@@ -41,18 +41,18 @@ The following return values can occur:
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ The TLS/SSL handshake was not successful but was shut down controlled and
+ by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
+ return value B<ret> to find out the reason.
+ 
+-=item Z<>1
++=item * Z<>1
+ 
+ The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
+ established.
+ 
+-=item E<lt>0
++=item * E<lt>0
+ 
+ The TLS/SSL handshake was not successful, because a fatal error occurred either
+ at the protocol level or a connection failure occurred. The shutdown was
+diff --git a/doc/ssl/SSL_do_handshake.pod b/doc/ssl/SSL_do_handshake.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_do_handshake.pod
++++ b/doc/ssl/SSL_do_handshake.pod
+@@ -42,18 +42,18 @@ The following return values can occur:
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ The TLS/SSL handshake was not successful but was shut down controlled and
+ by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
+ return value B<ret> to find out the reason.
+ 
+-=item Z<>1
++=item * Z<>1
+ 
+ The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
+ established.
+ 
+-=item E<lt>0
++=item * E<lt>0
+ 
+ The TLS/SSL handshake was not successful because a fatal error occurred either
+ at the protocol level or a connection failure occurred. The shutdown was
+diff --git a/doc/ssl/SSL_get_ex_data_X509_STORE_CTX_idx.pod b/doc/ssl/SSL_get_ex_data_X509_STORE_CTX_idx.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_get_ex_data_X509_STORE_CTX_idx.pod
++++ b/doc/ssl/SSL_get_ex_data_X509_STORE_CTX_idx.pod
+@@ -36,11 +36,11 @@ before the SSL index is created.
+ 
+ =over 4
+ 
+-=item E<gt>=0
++=item * E<gt>=0
+ 
+ The index value to access the pointer.
+ 
+-=item E<lt>0
++=item * E<lt>0
+ 
+ An error occurred, check the error stack for a detailed error message.
+ 
+diff --git a/doc/ssl/SSL_get_fd.pod b/doc/ssl/SSL_get_fd.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_get_fd.pod
++++ b/doc/ssl/SSL_get_fd.pod
+@@ -26,12 +26,12 @@ The following return values can occur:
+ 
+ =over 4
+ 
+-=item -1
++=item * -1
+ 
+ The operation failed, because the underlying BIO is not of the correct type
+ (suitable for file descriptors).
+ 
+-=item E<gt>=0
++=item * E<gt>=0
+ 
+ The file descriptor linked to B<ssl>.
+ 
+diff --git a/doc/ssl/SSL_read.pod b/doc/ssl/SSL_read.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_read.pod
++++ b/doc/ssl/SSL_read.pod
+@@ -81,16 +81,16 @@ The following return values can occur:
+ 
+ =over 4
+ 
+-=item E<gt> 0
++=item * E<gt> 0
+ 
+ The read operation was successful.
+ The return value is the number of bytes actually read from the TLS/SSL
+ connection.
+ 
+-=item Z<><= 0
++=item * Z<><= 0
+ 
+ 
+-=item E<lt>0
++=item * E<lt>0
+ 
+ The read operation was not successful, because either the connection was closed,
+ an error occurred or action must be taken by the calling process.
+diff --git a/doc/ssl/SSL_session_reused.pod b/doc/ssl/SSL_session_reused.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_session_reused.pod
++++ b/doc/ssl/SSL_session_reused.pod
+@@ -27,11 +27,11 @@ The following return values can occur:
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ A new session was negotiated.
+ 
+-=item Z<>1
++=item * Z<>1
+ 
+ A session was reused.
+ 
+diff --git a/doc/ssl/SSL_set_fd.pod b/doc/ssl/SSL_set_fd.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_set_fd.pod
++++ b/doc/ssl/SSL_set_fd.pod
+@@ -35,11 +35,11 @@ The following return values can occur:
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ The operation failed. Check the error stack to find out why.
+ 
+-=item Z<>1
++=item * Z<>1
+ 
+ The operation succeeded.
+ 
+diff --git a/doc/ssl/SSL_set_session.pod b/doc/ssl/SSL_set_session.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_set_session.pod
++++ b/doc/ssl/SSL_set_session.pod
+@@ -37,11 +37,11 @@ The following return values can occur:
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ The operation failed; check the error stack to find out the reason.
+ 
+-=item Z<>1
++=item * Z<>1
+ 
+ The operation succeeded.
+ 
+diff --git a/doc/ssl/SSL_set_shutdown.pod b/doc/ssl/SSL_set_shutdown.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_set_shutdown.pod
++++ b/doc/ssl/SSL_set_shutdown.pod
+@@ -24,16 +24,16 @@ The shutdown state of an ssl connection is a bitmask of:
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ No shutdown setting, yet.
+ 
+-=item SSL_SENT_SHUTDOWN
++=item * SSL_SENT_SHUTDOWN
+ 
+ A "close notify" shutdown alert was sent to the peer, the connection is being
+ considered closed and the session is closed and correct.
+ 
+-=item SSL_RECEIVED_SHUTDOWN
++=item * SSL_RECEIVED_SHUTDOWN
+ 
+ A shutdown alert was received form the peer, either a normal "close notify"
+ or a fatal error.
+diff --git a/doc/ssl/SSL_shutdown.pod b/doc/ssl/SSL_shutdown.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_shutdown.pod
++++ b/doc/ssl/SSL_shutdown.pod
+@@ -92,19 +92,19 @@ The following return values can occur:
+ 
+ =over 4
+ 
+-=item Z<>0
++=item * Z<>0
+ 
+ The shutdown is not yet finished. Call SSL_shutdown() for a second time,
+ if a bidirectional shutdown shall be performed.
+ The output of L<SSL_get_error(3)|SSL_get_error(3)> may be misleading, as an
+ erroneous SSL_ERROR_SYSCALL may be flagged even though no error occurred.
+ 
+-=item Z<>1
++=item * Z<>1
+ 
+ The shutdown was successfully completed. The "close notify" alert was sent
+ and the peer's "close notify" alert was received.
+ 
+-=item E<lt>0
++=item * E<lt>0
+ 
+ The shutdown was not successful because a fatal error occurred either
+ at the protocol level or a connection failure occurred. It can also occur if
+diff --git a/doc/ssl/SSL_write.pod b/doc/ssl/SSL_write.pod
+index 1111111..2222222 100644
+--- a/doc/ssl/SSL_write.pod
++++ b/doc/ssl/SSL_write.pod
+@@ -74,12 +74,12 @@ The following return values can occur:
+ 
+ =over 4
+ 
+-=item E<gt> 0
++=item * E<gt> 0
+ 
+ The write operation was successful, the return value is the number of
+ bytes actually written to the TLS/SSL connection.
+ 
+-=item Z<><= 0
++=item * Z<><= 0
+ 
+ The write operation was not successful, because either the connection was
+ closed, an error occurred or action must be taken by the calling process.
--- a/src/openssl-1-winsock2.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-This patch has been taken from:
-http://rt.openssl.org/Ticket/Display.html?id=2285&user=guest&pass=guest
-
-diff -urN a/e_os.h b/e_os.h
---- a/e_os.h	2010-05-31 15:18:08.000000000 +0200
-+++ b/e_os.h	2010-06-04 17:43:44.370181869 +0200
-@@ -492,7 +492,7 @@
- #      endif
- #      if !defined(IPPROTO_IP)
-          /* winsock[2].h was included already? */
--#        include <winsock.h>
-+#        include <winsock2.h>
- #      endif
- #      ifdef getservbyname
- #        undef getservbyname
-diff -urN a/ssl/dtls1.h b/ssl/dtls1.h
---- a/ssl/dtls1.h	2010-04-14 02:17:29.000000000 +0200
-+++ b/ssl/dtls1.h	2010-06-04 17:44:27.318182412 +0200
-@@ -68,7 +68,7 @@
- #endif
- #ifdef OPENSSL_SYS_WIN32
- /* Needed for struct timeval */
--#include <winsock.h>
-+#include <winsock2.h>
- #elif defined(OPENSSL_SYS_NETWARE) && !defined(_WINSOCK2API_)
- #include <sys/timeval.h>
- #else
-diff -urN a/ssl/ssltest.c b/ssl/ssltest.c
---- a/ssl/ssltest.c	2010-01-24 17:57:38.000000000 +0100
-+++ b/ssl/ssltest.c	2010-06-04 17:44:26.134181765 +0200
-@@ -193,7 +193,7 @@
- 				  */
- 
- #ifdef OPENSSL_SYS_WINDOWS
--#include <winsock.h>
-+#include <winsock2.h>
- #else
- #include OPENSSL_UNISTD
- #endif
--- a/src/openssl-2-pod.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,580 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-diff -uNPr a/doc/apps/cms.pod b/doc/apps/cms.pod
---- a/doc/apps/cms.pod	2013-02-11 15:26:04.000000000 +0000
-+++ b/doc/apps/cms.pod	2013-06-01 22:08:31.005787054 +0100
-@@ -450,28 +450,28 @@
- 
- =over 4
- 
--=item 0
-+=item * 0
- 
- the operation was completely successfully.
- 
--=item 1 
-+=item * 1 
- 
- an error occurred parsing the command options.
- 
--=item 2
-+=item * 2
- 
- one of the input files could not be read.
- 
--=item 3
-+=item * 3
- 
- an error occurred creating the CMS file or when reading the MIME
- message.
- 
--=item 4
-+=item * 4
- 
- an error occurred decrypting or verifying the message.
- 
--=item 5
-+=item * 5
- 
- the message was verified correctly but an error occurred writing out
- the signers certificates.
-diff -uNPr a/doc/apps/smime.pod b/doc/apps/smime.pod
---- a/doc/apps/smime.pod	2013-02-11 15:26:04.000000000 +0000
-+++ b/doc/apps/smime.pod	2013-06-01 22:09:26.732719037 +0100
-@@ -308,28 +308,28 @@
- 
- =over 4
- 
--=item 0
-+=item * 0
- 
- the operation was completely successfully.
- 
--=item 1 
-+=item * 1 
- 
- an error occurred parsing the command options.
- 
--=item 2
-+=item * 2
- 
- one of the input files could not be read.
- 
--=item 3
-+=item * 3
- 
- an error occurred creating the PKCS#7 file or when reading the MIME
- message.
- 
--=item 4
-+=item * 4
- 
- an error occurred decrypting or verifying the message.
- 
--=item 5
-+=item * 5
- 
- the message was verified correctly but an error occurred writing out
- the signers certificates.
-diff -uNPr a/doc/crypto/rand.pod b/doc/crypto/rand.pod
---- a/doc/crypto/rand.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/crypto/rand.pod	2013-06-01 22:15:07.474188667 +0100
-@@ -74,17 +74,14 @@
- 
- =over 4
- 
--=item 1
--
-+=item * 1
- A good hashing algorithm to mix things up and to convert the RNG 'state'
- to random numbers.
- 
--=item 2
--
-+=item * 2
- An initial source of random 'state'.
- 
--=item 3
--
-+=item * 3
- The state should be very large.  If the RNG is being used to generate
- 4096 bit RSA keys, 2 2048 bit random strings are required (at a minimum).
- If your RNG state only has 128 bits, you are obviously limiting the
-@@ -93,14 +90,12 @@
- a bad idea to keep quite a lot of RNG state.  It should be easier to
- break a cipher than guess the RNG seed data.
- 
--=item 4
--
-+=item * 4
- Any RNG seed data should influence all subsequent random numbers
- generated.  This implies that any random seed data entered will have
- an influence on all subsequent random numbers generated.
- 
--=item 5
--
-+=item * 5
- When using data to seed the RNG state, the data used should not be
- extractable from the RNG state.  I believe this should be a
- requirement because one possible source of 'secret' semi random
-@@ -108,13 +103,11 @@
- not be disclosed by either subsequent random numbers or a
- 'core' dump left by a program crash.
- 
--=item 6
--
-+=item * 6
- Given the same initial 'state', 2 systems should deviate in their RNG state
- (and hence the random numbers generated) over time if at all possible.
- 
--=item 7
--
-+=item * 7
- Given the random number output stream, it should not be possible to determine
- the RNG state or the next random number.
- 
-diff -uNPr a/doc/crypto/X509_STORE_CTX_get_error.pod b/doc/crypto/X509_STORE_CTX_get_error.pod
---- a/doc/crypto/X509_STORE_CTX_get_error.pod	2013-02-11 15:26:04.000000000 +0000
-+++ b/doc/crypto/X509_STORE_CTX_get_error.pod	2013-06-01 22:11:00.014931266 +0100
-@@ -278,6 +278,8 @@
- an application specific error. This will never be returned unless explicitly
- set by an application.
- 
-+=back
-+
- =head1 NOTES
- 
- The above functions should be used instead of directly referencing the fields
-diff -uNPr a/doc/ssl/SSL_accept.pod b/doc/ssl/SSL_accept.pod
---- a/doc/ssl/SSL_accept.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_accept.pod	2013-06-01 22:21:46.302545052 +0100
-@@ -44,18 +44,16 @@
- 
- =over 4
- 
--=item 1
--
-+=item * 1
- The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
- established.
- 
--=item 0
--
-+=item * 0
- The TLS/SSL handshake was not successful but was shut down controlled and
- by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
- return value B<ret> to find out the reason.
- 
--=item E<lt>0
-+=item * E<lt>0
- 
- The TLS/SSL handshake was not successful because a fatal error occurred either
- at the protocol level or a connection failure occurred. The shutdown was
-diff -uNPr a/doc/ssl/SSL_clear.pod b/doc/ssl/SSL_clear.pod
---- a/doc/ssl/SSL_clear.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_clear.pod	2013-06-01 22:15:07.474188667 +0100
-@@ -56,13 +56,11 @@
- 
- =over 4
- 
--=item 0
--
-+=item * 0
- The SSL_clear() operation could not be performed. Check the error stack to
- find out the reason.
- 
--=item 1
--
-+=item * 1
- The SSL_clear() operation was successful.
- 
- =back
-diff -uNPr a/doc/ssl/SSL_COMP_add_compression_method.pod b/doc/ssl/SSL_COMP_add_compression_method.pod
---- a/doc/ssl/SSL_COMP_add_compression_method.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_COMP_add_compression_method.pod	2013-06-01 22:12:10.753575547 +0100
-@@ -53,11 +53,11 @@
- 
- =over 4
- 
--=item 0
-+=item * 0
- 
- The operation succeeded.
- 
--=item 1
-+=item * 1
- 
- The operation failed. Check the error queue to find out the reason.
- 
-diff -uNPr a/doc/ssl/SSL_connect.pod b/doc/ssl/SSL_connect.pod
---- a/doc/ssl/SSL_connect.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_connect.pod	2013-06-01 22:22:44.109437174 +0100
-@@ -41,18 +41,16 @@
- 
- =over 4
- 
--=item 1
--
-+=item * 1
- The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
- established.
- 
--=item 0
--
-+=item * 0
- The TLS/SSL handshake was not successful but was shut down controlled and
- by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
- return value B<ret> to find out the reason.
- 
--=item E<lt>0
-+=item * E<lt>0
- 
- The TLS/SSL handshake was not successful, because a fatal error occurred either
- at the protocol level or a connection failure occurred. The shutdown was
-diff -uNPr a/doc/ssl/SSL_CTX_add_session.pod b/doc/ssl/SSL_CTX_add_session.pod
---- a/doc/ssl/SSL_CTX_add_session.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_CTX_add_session.pod	2013-06-01 22:13:06.396509142 +0100
-@@ -52,15 +52,15 @@
- 
- =over 4
- 
--=item 0
-+=item * 0
- 
-- The operation failed. In case of the add operation, it was tried to add
-- the same (identical) session twice. In case of the remove operation, the
-- session was not found in the cache.
-+The operation failed. In case of the add operation, it was tried to add
-+the same (identical) session twice. In case of the remove operation, the
-+session was not found in the cache.
- 
--=item 1
-+=item * 1
-  
-- The operation succeeded.
-+The operation succeeded.
- 
- =back
- 
-diff -uNPr a/doc/ssl/SSL_CTX_load_verify_locations.pod b/doc/ssl/SSL_CTX_load_verify_locations.pod
---- a/doc/ssl/SSL_CTX_load_verify_locations.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_CTX_load_verify_locations.pod	2013-06-01 22:13:55.759563092 +0100
-@@ -100,13 +100,13 @@
- 
- =over 4
- 
--=item 0
-+=item * 0
- 
- The operation failed because B<CAfile> and B<CApath> are NULL or the
- processing at one of the locations specified failed. Check the error
- stack to find out the reason.
- 
--=item 1
-+=item * 1
- 
- The operation succeeded.
- 
-diff -uNPr a/doc/ssl/SSL_CTX_set_client_CA_list.pod b/doc/ssl/SSL_CTX_set_client_CA_list.pod
---- a/doc/ssl/SSL_CTX_set_client_CA_list.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_CTX_set_client_CA_list.pod	2013-06-01 22:15:07.470188744 +0100
-@@ -66,12 +66,10 @@
- 
- =over 4
- 
--=item 1
--
-+=item * 1
- The operation succeeded.
- 
--=item 0
--
-+=item * 0
- A failure while manipulating the STACK_OF(X509_NAME) object occurred or
- the X509_NAME could not be extracted from B<cacert>. Check the error stack
- to find out the reason.
-diff -uNPr a/doc/ssl/SSL_CTX_set_session_id_context.pod b/doc/ssl/SSL_CTX_set_session_id_context.pod
---- a/doc/ssl/SSL_CTX_set_session_id_context.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_CTX_set_session_id_context.pod	2013-06-01 22:15:07.470188744 +0100
-@@ -64,14 +64,12 @@
- 
- =over 4
- 
--=item 0
--
-+=item * 0
- The length B<sid_ctx_len> of the session id context B<sid_ctx> exceeded
- the maximum allowed length of B<SSL_MAX_SSL_SESSION_ID_LENGTH>. The error
- is logged to the error stack.
- 
--=item 1
--
-+=item * 1
- The operation succeeded.
- 
- =back
-diff -uNPr a/doc/ssl/SSL_CTX_set_ssl_version.pod b/doc/ssl/SSL_CTX_set_ssl_version.pod
---- a/doc/ssl/SSL_CTX_set_ssl_version.pod	2013-02-11 15:26:04.000000000 +0000
-+++ b/doc/ssl/SSL_CTX_set_ssl_version.pod	2013-06-01 22:15:07.470188744 +0100
-@@ -42,12 +42,10 @@
- 
- =over 4
- 
--=item 0
--
-+=item * 0
- The new choice failed, check the error stack to find out the reason.
- 
--=item 1
--
-+=item * 1
- The operation succeeded.
- 
- =back
-diff -uNPr a/doc/ssl/SSL_CTX_use_psk_identity_hint.pod b/doc/ssl/SSL_CTX_use_psk_identity_hint.pod
---- a/doc/ssl/SSL_CTX_use_psk_identity_hint.pod	2013-02-11 15:26:04.000000000 +0000
-+++ b/doc/ssl/SSL_CTX_use_psk_identity_hint.pod	2013-06-01 22:16:32.156565713 +0100
-@@ -81,7 +81,9 @@
- 
- Return values from the server callback are interpreted as follows:
- 
--=item > 0
-+=over 4
-+
-+=item * > 0
- 
- PSK identity was found and the server callback has provided the PSK
- successfully in parameter B<psk>. Return value is the length of
-@@ -94,9 +96,11 @@
- connection will fail with decryption_error before it will be finished
- completely.
- 
--=item 0
-+=item * 0
- 
- PSK identity was not found. An "unknown_psk_identity" alert message
- will be sent and the connection setup fails.
- 
-+=back
-+
- =cut
-diff -uNPr a/doc/ssl/SSL_do_handshake.pod b/doc/ssl/SSL_do_handshake.pod
---- a/doc/ssl/SSL_do_handshake.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_do_handshake.pod	2013-06-01 22:23:52.496126530 +0100
-@@ -45,18 +45,16 @@
- 
- =over 4
- 
--=item 1
--
-+=item * 1
- The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
- established.
- 
--=item 0
--
-+=item * 0
- The TLS/SSL handshake was not successful but was shut down controlled and
- by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
- return value B<ret> to find out the reason.
- 
--=item E<lt>0
-+=item * E<lt>0
- 
- The TLS/SSL handshake was not successful because a fatal error occurred either
- at the protocol level or a connection failure occurred. The shutdown was
-diff -uNPr a/doc/ssl/SSL_get_ex_data_X509_STORE_CTX_idx.pod b/doc/ssl/SSL_get_ex_data_X509_STORE_CTX_idx.pod
---- a/doc/ssl/SSL_get_ex_data_X509_STORE_CTX_idx.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_get_ex_data_X509_STORE_CTX_idx.pod	2013-06-01 22:23:52.496126530 +0100
-@@ -36,11 +36,11 @@
- 
- =over 4
- 
--=item E<gt>=0
-+=item * E<gt>=0
- 
- The index value to access the pointer.
- 
--=item E<lt>0
-+=item * E<lt>0
- 
- An error occurred, check the error stack for a detailed error message.
- 
-diff -uNPr a/doc/ssl/SSL_get_fd.pod b/doc/ssl/SSL_get_fd.pod
---- a/doc/ssl/SSL_get_fd.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_get_fd.pod	2013-06-01 22:26:15.961376995 +0100
-@@ -26,12 +26,12 @@
- 
- =over 4
- 
--=item -1
-+=item * -1
- 
- The operation failed, because the underlying BIO is not of the correct type
- (suitable for file descriptors).
- 
--=item E<gt>=0
-+=item * E<gt>=0
- 
- The file descriptor linked to B<ssl>.
- 
-diff -uNPr a/doc/ssl/SSL_read.pod b/doc/ssl/SSL_read.pod
---- a/doc/ssl/SSL_read.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_read.pod	2013-06-01 22:23:52.496126530 +0100
-@@ -81,13 +81,12 @@
- 
- =over 4
- 
--=item E<gt>0
-+=item * E<gt>0
- 
- The read operation was successful; the return value is the number of
- bytes actually read from the TLS/SSL connection.
- 
--=item 0
--
-+=item * 0
- The read operation was not successful. The reason may either be a clean
- shutdown due to a "close notify" alert sent by the peer (in which case
- the SSL_RECEIVED_SHUTDOWN flag in the ssl shutdown state is set
-@@ -103,7 +102,7 @@
- be checked, whether the closure was initiated by the peer or by something
- else.
- 
--=item E<lt>0
-+=item * E<lt>0
- 
- The read operation was not successful, because either an error occurred
- or action must be taken by the calling process. Call SSL_get_error() with the
-diff -uNPr a/doc/ssl/SSL_session_reused.pod b/doc/ssl/SSL_session_reused.pod
---- a/doc/ssl/SSL_session_reused.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_session_reused.pod	2013-06-01 22:15:07.474188667 +0100
-@@ -27,12 +27,10 @@
- 
- =over 4
- 
--=item 0
--
-+=item * 0
- A new session was negotiated.
- 
--=item 1
--
-+=item * 1
- A session was reused.
- 
- =back
-diff -uNPr a/doc/ssl/SSL_set_fd.pod b/doc/ssl/SSL_set_fd.pod
---- a/doc/ssl/SSL_set_fd.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_set_fd.pod	2013-06-01 22:15:07.470188744 +0100
-@@ -35,12 +35,10 @@
- 
- =over 4
- 
--=item 0
--
-+=item * 0
- The operation failed. Check the error stack to find out why.
- 
--=item 1
--
-+=item * 1
- The operation succeeded.
- 
- =back
-diff -uNPr a/doc/ssl/SSL_set_session.pod b/doc/ssl/SSL_set_session.pod
---- a/doc/ssl/SSL_set_session.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_set_session.pod	2013-06-01 22:15:07.470188744 +0100
-@@ -37,12 +37,10 @@
- 
- =over 4
- 
--=item 0
--
-+=item * 0
- The operation failed; check the error stack to find out the reason.
- 
--=item 1
--
-+=item * 1
- The operation succeeded.
- 
- =back
-diff -uNPr a/doc/ssl/SSL_set_shutdown.pod b/doc/ssl/SSL_set_shutdown.pod
---- a/doc/ssl/SSL_set_shutdown.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_set_shutdown.pod	2013-06-01 22:29:14.361957917 +0100
-@@ -24,16 +24,16 @@
- 
- =over 4
- 
--=item 0
-+=item * 0
- 
- No shutdown setting, yet.
- 
--=item SSL_SENT_SHUTDOWN
-+=item * SSL_SENT_SHUTDOWN
- 
- A "close notify" shutdown alert was sent to the peer, the connection is being
- considered closed and the session is closed and correct.
- 
--=item SSL_RECEIVED_SHUTDOWN
-+=item * SSL_RECEIVED_SHUTDOWN
- 
- A shutdown alert was received form the peer, either a normal "close notify"
- or a fatal error.
-diff -uNPr a/doc/ssl/SSL_shutdown.pod b/doc/ssl/SSL_shutdown.pod
---- a/doc/ssl/SSL_shutdown.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_shutdown.pod	2013-06-02 01:49:05.023205397 +0100
-@@ -92,19 +92,17 @@
- 
- =over 4
- 
--=item 1
--
-+=item * 1
- The shutdown was successfully completed. The "close notify" alert was sent
- and the peer's "close notify" alert was received.
- 
--=item 0
--
-+=item * 0
- The shutdown is not yet finished. Call SSL_shutdown() for a second time,
- if a bidirectional shutdown shall be performed.
- The output of L<SSL_get_error(3)|SSL_get_error(3)> may be misleading, as an
- erroneous SSL_ERROR_SYSCALL may be flagged even though no error occurred.
- 
--=item -1
-+=item * -1
- 
- The shutdown was not successful because a fatal error occurred either
- at the protocol level or a connection failure occurred. It can also occur if
-diff -uNPr a/doc/ssl/SSL_write.pod b/doc/ssl/SSL_write.pod
---- a/doc/ssl/SSL_write.pod	2013-02-11 15:02:48.000000000 +0000
-+++ b/doc/ssl/SSL_write.pod	2013-06-01 22:23:52.496126530 +0100
-@@ -74,13 +74,12 @@
- 
- =over 4
- 
--=item E<gt>0
-+=item * E<gt>0
- 
- The write operation was successful, the return value is the number of
- bytes actually written to the TLS/SSL connection.
- 
--=item 0
--
-+=item * 0
- The write operation was not successful. Probably the underlying connection
- was closed. Call SSL_get_error() with the return value B<ret> to find out,
- whether an error occurred or the connection was shut down cleanly
-@@ -90,7 +89,7 @@
- only be detected, whether the underlying connection was closed. It cannot
- be checked, why the closure happened.
- 
--=item E<lt>0
-+=item * E<lt>0
- 
- The write operation was not successful, because either an error occurred
- or action must be taken by the calling process. Call SSL_get_error() with the
--- a/src/openssl-3-libdeps.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-diff -ur a/engines/ccgost/Makefile b/engines/ccgost/Makefile
---- a/engines/ccgost/Makefile	2013-02-11 10:26:04.000000000 -0500
-+++ b/engines/ccgost/Makefile	2013-10-14 13:38:18.595806411 -0400
-@@ -32,7 +32,7 @@
- 		$(MAKE) -f $(TOP)/Makefile.shared -e \
- 			LIBNAME=$(LIBNAME) \
- 			LIBEXTRAS='$(LIBOBJ)' \
--			LIBDEPS='-L$(TOP) -lcrypto' \
-+			LIBDEPS='-L$(TOP) -lcrypto -lgdi32' \
- 			link_o.$(SHLIB_TARGET); \
- 	else \
- 		$(AR) $(LIB) $(LIBOBJ); \
--- a/src/openssl.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/openssl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := openssl
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 3f1b1223c9e8189bfe4e186d86449775bd903460
+$(PKG)_VERSION  := 1.0.2m
+$(PKG)_CHECKSUM := 27fb00641260f97eaa587eb2b80fab3647f6013b
 $(PKG)_SUBDIR   := openssl-$($(PKG)_VERSION)
 $(PKG)_FILE     := openssl-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://www.openssl.org/source/$($(PKG)_FILE)
@@ -25,6 +26,7 @@
 else
   $(PKG)_CROSS_COMPILE_MAKE_ARG := CROSS_COMPILE='$(MXE_TOOL_PREFIX)'
   $(PKG)_CC := $(MXE_CC)
+  $(PKG)_RC := $(MXE_WINDRES)
   ifeq ($(TARGET),x86_64-w64-mingw32)
     $(PKG)_CONFIGURE := ./Configure mingw64
   else
@@ -40,7 +42,7 @@
 endef
 
 define $(PKG)_BUILD
-    cd '$(1)' && CC='$($(PKG)_CC)' \
+    cd '$(1)' && CC='$($(PKG)_CC)' RC='$($(PKG)_RC)' \
         $($(PKG)_CONFIGURE) \
         zlib \
         shared \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pango-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,34 @@
+diff -ur pango-1.40.3.orig/pango/Makefile.am pango-1.40.3/pango/Makefile.am
+--- pango-1.40.3.orig/pango/Makefile.am	2019-01-25 08:50:50.848933403 -0500
++++ pango-1.40.3/pango/Makefile.am	2019-01-25 08:52:32.440937173 -0500
+@@ -389,7 +389,7 @@
+ libpangowin32_1_0_la_LIBADD =			\
+ 	libpango-$(PANGO_API_VERSION).la	\
+ 	$(GLIB_LIBS)				\
+-	-lgdi32 -lusp10
++	-lusp10 -lgdi32
+ libpangowin32_1_0_la_DEPENDENCIES =		\
+ 	libpango-$(PANGO_API_VERSION).la
+ libpangowin32_1_0_la_SOURCES =	\
+diff -ur pango-1.40.3.orig/pango/Makefile.in pango-1.40.3/pango/Makefile.in
+--- pango-1.40.3.orig/pango/Makefile.in	2019-01-25 08:50:50.852933403 -0500
++++ pango-1.40.3/pango/Makefile.in	2019-01-25 08:55:59.660944864 -0500
+@@ -867,7 +867,7 @@
+ libpangowin32_1_0_la_LIBADD = \
+ 	libpango-$(PANGO_API_VERSION).la	\
+ 	$(GLIB_LIBS)				\
+-	-lgdi32 -lusp10
++	-lusp10 -lgdi32
+ 
+ libpangowin32_1_0_la_DEPENDENCIES = libpango-$(PANGO_API_VERSION).la \
+ 	$(am__append_33)
+diff -ur pango-1.40.3.orig/pangowin32.pc.in pango-1.40.3/pangowin32.pc.in
+--- pango-1.40.3.orig/pangowin32.pc.in	2019-01-25 08:50:50.848933403 -0500
++++ pango-1.40.3/pangowin32.pc.in	2019-01-25 08:51:20.696934510 -0500
+@@ -8,5 +8,5 @@
+ Version: @VERSION@
+ Requires: pango
+ Libs: -L${libdir} -lpangowin32-@PANGO_API_VERSION@
+-Libs.private: -lgdi32 -lusp10
++Libs.private: -lusp10 -lgdi32
+ Cflags: -I${includedir}/pango-1.0
--- a/src/pango.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/pango.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,37 +3,36 @@
 
 PKG             := pango
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := a6c224424eb3f0dcc231a8000591c05a85df689c
+$(PKG)_VERSION  := 1.42.1
+$(PKG)_CHECKSUM := 6dbec02a6a35e4cf0be8e1d6748c3d07cd11b7c3
 $(PKG)_SUBDIR   := pango-$($(PKG)_VERSION)
 $(PKG)_FILE     := pango-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := http://ftp.gnome.org/pub/gnome/sources/pango/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
-$(PKG)_DEPS     := fontconfig freetype cairo glib harfbuzz
+ifeq ($(USE_SYSTEM_FONTCONFIG),no)
+  $(PKG)_FONTCONFIG := fontconfig
+endif
+$(PKG)_DEPS     := $($(PKG)_FONTCONFIG) freetype cairo glib fribidi
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/pango/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=\\([0-9][^']*\\)'.*,\\1,p" | \
-    head -1
+    $(WGET) -q -O- https://github.com/GNOME/pango/tags | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
-    if [ $(MXE_SYSTEM) = mingw ]; then \
-        rm '$(1)'/docs/Makefile.am && \
-        cd '$(1)' && NOCONFIGURE=1 ./autogen.sh; \
-    fi
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
         --disable-gtk-doc \
-        --without-x \
-        --enable-explicit-deps \
-        --with-included-modules \
-        --without-dynamic-modules \
         CXX='$(MXE_CXX)' \
         PKG_CONFIG='$(MXE_PKG_CONFIG)' \
-        PKG_CONFIG_PATH='$(HOST_LIBDIR)/pkgconfig' \
+        PKG_CONFIG_PATH='$(PKG_CONFIG_PATH)' \
         && $(CONFIGURE_POST_HOOK)
     $(MAKE) -C '$(1)' -j '$(JOBS)' noinst_PROGRAMS=
-    $(MAKE) -C '$(1)' -j 1 install noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j 1 install noinst_PROGRAMS= DESTDIR='$(3)'
+
+    if [ "$(ENABLE_DEP_DOCS)" == "no" ]; then \
+      rm -rf "$(3)$(HOST_PREFIX)/share/gtk-doc"; \
+    fi
 endef
--- a/src/pangomm.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/pangomm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := pangomm
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.28.4
 $(PKG)_CHECKSUM := ee83497485e180708dffbf2e68d633ae8d5a36b4
 $(PKG)_SUBDIR   := pangomm-$($(PKG)_VERSION)
 $(PKG)_FILE     := pangomm-$($(PKG)_VERSION).tar.bz2
@@ -10,10 +11,9 @@
 $(PKG)_DEPS     := cairomm glibmm pango
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/pangomm/refs/tags' | \
-    grep '<a href=' | \
-    $(SED) -n "s,.*<a href='[^']*/tag/?id=\\([0-9][^']*\\)'.*,\\1,p" | \
-    head -1
+    $(WGET) -q -O- https://github.com/GNOME/pangomm/tags | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/pcre.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/pcre.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := pcre
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := c4dd6aa1ffeca7bea1bc45b214c8e862bfdacc3c
+$(PKG)_VERSION  := 8.44
+$(PKG)_CHECKSUM := 8179b083053fce9b4a766513fa1f14807aabee42
 $(PKG)_SUBDIR   := pcre-$($(PKG)_VERSION)
 $(PKG)_FILE     := pcre-$($(PKG)_VERSION).tar.bz2
 $(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/pcre/pcre/$($(PKG)_VERSION)/$($(PKG)_FILE)
@@ -11,9 +12,9 @@
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://sourceforge.net/projects/pcre/files/pcre/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://ftp.pcre.org/pub/pcre/' | \
+    $(SED) -n 's,.*pcre-\([0-9]\+\)\(\.[0-9]\+\)*\.zip.*,\1\2,p' | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
@@ -32,7 +33,14 @@
         --disable-pcregrep-libbz2 \
         --disable-pcretest-libreadline && $(CONFIGURE_POST_HOOK)
     rm -f '$(HOST_PREFIX)'/share/man/man3/pcre16*.3
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS) DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) DESTDIR='$(3)'
+    if [ "$(ENABLE_DEP_DOCS)" == "no" ]; then \
+       rm -rf "$(3)$(HOST_PREFIX)/share/doc/pcre/html"; \
+       rm -f "$(3)$(HOST_PREFIX)/share/doc/pcre2/*.txt"; \
+       rm -f "$(3)$(HOST_PREFIX)/share/doc/pcre2/ChangeLog"; \
+       rm -rf "$(3)$(HOST_PREFIX)/share/man"; \
+    fi
     if [ $(MXE_NATIVE_BUILD) = no ]; then \
       $(INSTALL) -d '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \
       $(INSTALL) -m755 '$(3)$(HOST_BINDIR)/pcre-config' '$(3)$(BUILD_TOOLS_PREFIX)/bin/pcre-config'; \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pcre2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,44 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := pcre2
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 10.35
+$(PKG)_CHECKSUM := 2e5ee2dd397fa8c3ce9aed1a986e51d66a88bdb0
+$(PKG)_SUBDIR   := pcre2-$($(PKG)_VERSION)
+$(PKG)_FILE     := pcre2-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/pcre/pcre2/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS     := zlib
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://sourceforge.net/projects/pcre/files/pcre2/' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+        --enable-pcre2-16 \
+        --enable-utf \
+        --enable-unicode-properties \
+        --enable-cpp \
+        --disable-pcregrep-libz \
+        --disable-pcregrep-libbz2 \
+        --disable-pcretest-libreadline && $(CONFIGURE_POST_HOOK)
+    rm -f '$(HOST_PREFIX)'/share/man/man3/pcre2-16*.3
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS) DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) DESTDIR='$(3)'
+    if [ "$(ENABLE_DEP_DOCS)" == "no" ]; then \
+       rm -rf "$(3)$(HOST_PREFIX)/share/doc/pcre2/html"; \
+       rm -f "$(3)$(HOST_PREFIX)/share/doc/pcre2/*.txt"; \
+       rm -f "$(3)$(HOST_PREFIX)/share/doc/pcre2/ChangeLog"; \
+       rm -rf "$(3)$(HOST_PREFIX)/share/man"; \
+    fi
+    if [ $(MXE_NATIVE_BUILD) = no ]; then \
+      $(INSTALL) -d '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \
+      $(INSTALL) -m755 '$(3)$(HOST_BINDIR)/pcre2-config' '$(3)$(BUILD_TOOLS_PREFIX)/bin/pcre2-config'; \
+    fi
+endef
--- a/src/pdcurses.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/pdcurses.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := pdcurses
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.4
 $(PKG)_CHECKSUM := e36684442a6171cc3a5165c8c49c70f67db7288c
 $(PKG)_SUBDIR   := PDCurses-$($(PKG)_VERSION)
 $(PKG)_FILE     := PDCurses-$($(PKG)_VERSION).tar.gz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/pdcurses/files/pdcurses/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- a/src/pdflib_lite.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/pdflib_lite.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := pdflib_lite
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 7.0.5p3
 $(PKG)_CHECKSUM := 42e0605ae21f4b6d25fa2d20e78fed6df36fbaa9
 $(PKG)_SUBDIR   := PDFlib-Lite-$($(PKG)_VERSION)
 $(PKG)_FILE     := PDFlib-Lite-$($(PKG)_VERSION).tar.gz
@@ -10,9 +11,8 @@
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.pdflib.com/download/free-software/pdflib-lite-7/' | \
-    $(SED) -n 's,.*PDFlib-Lite-\([0-9][^>]*\)\.tar.*,\1,p' | \
-    head -1
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
 endef
 
 define $(PKG)_BUILD
--- a/src/pfstools.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/pfstools.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := pfstools
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.8.5
 $(PKG)_CHECKSUM := dc595438f0fd8b40a05d9f9c498892363a1b3f05
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/pfstools/files/pfstools/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- a/src/physfs.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/physfs.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := physfs
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.0.3
 $(PKG)_CHECKSUM := 327308c777009a41bbabb9159b18c4c0ac069537
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $($(PKG)_SUBDIR).tar.bz2
@@ -17,6 +18,8 @@
 
 define $(PKG)_BUILD
     cd '$(1)' && cmake . \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
         -DPHYSFS_BUILD_SHARED=FALSE \
         -DPHYSFS_INTERNAL_ZLIB=FALSE \
--- a/src/pixman.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/pixman.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,16 @@
 
 PKG             := pixman
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 9c25dd0efa2023216e82033b71fcfe1bae9ebaac
+$(PKG)_VERSION  := 0.40.0
+$(PKG)_CHECKSUM := d7baa6377b6f48e29db011c669788bb1268d08ad
 $(PKG)_SUBDIR   := pixman-$($(PKG)_VERSION)
 $(PKG)_FILE     := pixman-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://cairographics.org/snapshots/$($(PKG)_FILE)
-$(PKG)_URL_2    := http://xorg.freedesktop.org/archive/individual/lib/$($(PKG)_FILE)
-$(PKG)_DEPS     :=
+$(PKG)_URL      := http://cairographics.org/releases/$($(PKG)_FILE)
+$(PKG)_URL_2    := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := libpng
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://cairographics.org/snapshots/?C=M;O=D' | \
+    $(WGET) -q -O- 'http://cairographics.org/releases/?C=M;O=D' | \
     $(SED) -n 's,.*"pixman-\([0-9][^"]*\)\.tar.*,\1,p' | \
     head -1
 endef
@@ -22,5 +23,6 @@
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
         && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pkg-config.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,39 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := pkg-config
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.29.2
+$(PKG)_CHECKSUM := 76e501663b29cb7580245720edfb6106164fad2b
+$(PKG)_SUBDIR   := pkg-config-$($(PKG)_VERSION)
+$(PKG)_FILE     := pkg-config-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://pkgconfig.freedesktop.org/releases/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://pkgconfig.freedesktop.org/releases/' | \
+    $(SED) -n 's,.*<a href="pkg-config-\([0-9\.]*\)\.tar.*,\1,p' | \
+    $(SORT) -V |
+    tail -1
+endef
+
+# native mingw needs to be told an architechure for the internal glib to build
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+  $(PKG)_CONFIG_OPTS := CPPFLAGS='-march=i486' LN=$(LN)
+endif
+
+define $(PKG)_BUILD
+    mkdir '$(1).build'
+    cd '$(1)' && autoreconf
+    cd '$(1).build' && '$(1)/configure' \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(CONFIGURE_CPPFLAGS) \
+        $(CONFIGURE_LDFLAGS) \
+        --with-internal-glib \
+        --with-libiconv=gnu \
+        $($(PKG)_CONFIG_OPTS) \
+        --with-pc_path='$(HOST_LIBDIR)/pkgconfig' \
+        --prefix='$(HOST_PREFIX)'
+    $(MAKE) -C '$(1).build' V=1 -j 1
+    $(MAKE) -C '$(1).build' -j 1 install DESTDIR='$(3)'
+endef
--- a/src/plibc.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/plibc.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := plibc
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.1.7
 $(PKG)_CHECKSUM := b545c602dc5b381fcea9d096910dede95168fbeb
 $(PKG)_SUBDIR   := PlibC-$($(PKG)_VERSION)
 $(PKG)_FILE     := plibc-$($(PKG)_VERSION)-src.tar.gz
--- a/src/plotmm.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/plotmm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := plotmm
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.1.2
 $(PKG)_CHECKSUM := 64da0930b7c8994d59769597917cca05df989258
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/plotmm/files/plotmm/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- a/src/plotutils.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/plotutils.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := plotutils
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.6
 $(PKG)_CHECKSUM := 7921301d9dfe8991e3df2829bd733df6b2a70838
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -10,6 +11,7 @@
 $(PKG)_URL_2    := http://ftp.gnu.org/gnu/$(PKG)/$($(PKG)_FILE)
 $(PKG)_DEPS     := libpng pthreads
 
+
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://ftp.gnu.org/gnu/plotutils/?C=M;O=D' | \
     grep '<a href="plotutils-' | \
@@ -17,15 +19,44 @@
     head -1
 endef
 
-define $(PKG)_BUILD
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
     cd '$(1)' && ./configure \
         --prefix='$(HOST_PREFIX)' \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        --disable-shared --enable-static \
+        --enable-libplotter \
+        --enable-libxmi \
+        --with-png \
+        --without-x \
+        CFLAGS='-DNO_SYSTEM_GAMMA' LIBS='-lpng -lz'
+
+    $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS= INFO_DEPS=
+
+    if [ "$(BUILD_SHARED)" = yes ]; then \
+       $(MAKE) -C '$(1)' -j 1 bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS= INFO_DEPS= lib_LTLIBRARIES= install; \
+       $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CXX)' $(1)/libplot/.libs/libplot.a --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)' -lpng -lz; \
+       $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CXX)' $(1)/libplotter/.libs/libplotter.a --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)' -lpng -lz; \
+       $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CXX)' $(1)/libxmi/.libs/libxmi.a --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)'; \
+    else \
+       $(MAKE) -C '$(1)' -j 1 bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS= INFO_DEPS= install; \
+    fi
+  endef
+else
+  define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        --prefix='$(HOST_PREFIX)' \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --enable-libplotter \
         --enable-libxmi \
         --with-png \
         --without-x \
-        CFLAGS='-DNO_SYSTEM_GAMMA'
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS= INFO_DEPS=
-endef
+        CFLAGS='-DNO_SYSTEM_GAMMA' LIBS='-lpng -lz'
+
+    $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS= INFO_DEPS=
+    $(MAKE) -C '$(1)' -j 1 bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS= INFO_DEPS= install
+  endef
+endif
--- a/src/poco.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/poco.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := poco
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.4.4
 $(PKG)_CHECKSUM := 22ee6a217eb3f5e0f48c85893af128fe8955eb4f
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
--- a/src/poppler.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/poppler.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := poppler
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.20.5
 $(PKG)_CHECKSUM := 5eb351381e6d7994bdf7f09bb5c1075f41d79381
 $(PKG)_SUBDIR   := poppler-$($(PKG)_VERSION)
 $(PKG)_FILE     := poppler-$($(PKG)_VERSION).tar.gz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://poppler.freedesktop.org/' | \
-    $(SED) -n 's,.*"poppler-\([0-9.]\+\)\.tar\.gz".*,\1,p' | \
+    $(SED) -n 's,.*"poppler-\([0-9.]\+\)\.tar\.xz".*,\1,p' | \
     head -1
 endef
 
--- a/src/popt.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/popt.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,17 +3,18 @@
 
 PKG             := popt
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.16
 $(PKG)_CHECKSUM := cfe94a15a2404db85858a81ff8de27c8ff3e235e
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://rpm5.org/files/popt/$($(PKG)_FILE)
+$(PKG)_URL      := http://ftp.rpm.org/mirror/popt/$($(PKG)_FILE)
 $(PKG)_URL_2    := http://ftp.debian.org/debian/pool/main/p/$(PKG)/$(PKG)_$($(PKG)_VERSION).orig.tar.gz
 $(PKG)_DEPS     := libiconv gettext
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://rpm5.org/files/popt/' | \
+    $(WGET) -q -O- 'http://ftp.rpm.org/mirror/popt/' | \
     grep 'popt-' | \
-    $(SED) -n 's,.*popt-\([0-9][^>]*\)\.tar.*,\1,p' | \
+    $(SED) -n 's,.*>popt-\([0-9][^>]*\)\.tar.*,\1,p' | \
     tail -1
 endef
 
--- a/src/portaudio-1-win32.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/portaudio-1-win32.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,10 +1,7 @@
-This file is part of MXE.
-See index.html for further information.
-
-diff -aur portaudio/src/hostapi/dsound/pa_win_ds.c portaudio-patched/src/hostapi/dsound/pa_win_ds.c
---- portaudio/src/hostapi/dsound/pa_win_ds.c	2011-11-10 14:51:15.000000000 +0000
-+++ portaudio-patched/src/hostapi/dsound/pa_win_ds.c	2012-03-02 21:45:29.000000000 +0000
-@@ -860,6 +860,9 @@
+diff -ur portaudio.orig/src/hostapi/dsound/pa_win_ds.c portaudio/src/hostapi/dsound/pa_win_ds.c
+--- portaudio.orig/src/hostapi/dsound/pa_win_ds.c	2016-12-30 08:41:50.075512531 -0500
++++ portaudio/src/hostapi/dsound/pa_win_ds.c	2016-12-30 08:46:26.248068904 -0500
+@@ -904,6 +904,9 @@
                              case DSSPEAKER_STEREO:           count = 2; break;
                              case DSSPEAKER_SURROUND:         count = 4; break;
                              case DSSPEAKER_5POINT1:          count = 6; break;
@@ -14,60 +11,13 @@
                              case DSSPEAKER_7POINT1:          count = 8; break;
  #ifndef DSSPEAKER_7POINT1_SURROUND
  #define DSSPEAKER_7POINT1_SURROUND 0x00000008
-diff -aur portaudio/src/hostapi/wdmks/pa_win_wdmks.c portaudio-patched/src/hostapi/wdmks/pa_win_wdmks.c
---- portaudio/src/hostapi/wdmks/pa_win_wdmks.c	2011-02-17 15:56:04.000000000 +0000
-+++ portaudio-patched/src/hostapi/wdmks/pa_win_wdmks.c	2012-03-02 21:49:13.000000000 +0000
-@@ -136,6 +136,7 @@
- 
- #include <mmreg.h>
- #include <ks.h>
-+#define _WAVEFORMATEXTENSIBLE_
- #include <ksmedia.h>
- #include <tchar.h>
- #include <assert.h>
---- portaudio/configure.in 14:07:02.000000000 +0000
-+++ portaudio-patched/configure.in	2012-05-27 14:08:34.000000000 +0000
-@@ -247,7 +247,7 @@
-         if [[ "x$with_directx" = "xyes" ]]; then
-             DXDIR="$with_dxdir"
-             add_objects src/hostapi/dsound/pa_win_ds.o src/hostapi/dsound/pa_win_ds_dynlink.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_coinitialize.o src/os/win/pa_win_waveformat.o
--            LIBS="-lwinmm -lm -ldsound -lole32"
-+            LIBS="$LIBS -lwinmm -lm -ldsound -lole32"
-             DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib -ldsound -lole32"
-             #VC98="\"/c/Program Files/Microsoft Visual Studio/VC98/Include\""
-             #CFLAGS="$CFLAGS -I$VC98 -DPA_NO_WMME -DPA_NO_ASIO"
-@@ -257,7 +257,7 @@
-         if [[ "x$with_asio" = "xyes" ]]; then
-             ASIODIR="$with_asiodir"
-             add_objects src/hostapi/asio/pa_asio.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_coinitialize.o src/hostapi/asio/iasiothiscallresolver.o $ASIODIR/common/asio.o $ASIODIR/host/asiodrivers.o $ASIODIR/host/pc/asiolist.o
--            LIBS="-lwinmm -lm -lole32 -luuid"
-+            LIBS="$LIBS -lwinmm -lm -lole32 -luuid"
-             DLL_LIBS="${DLL_LIBS} -lwinmm -lm -lole32 -luuid"
-             CFLAGS="$CFLAGS -ffast-math -fomit-frame-pointer -I\$(top_srcdir)/src/hostapi/asio -I$ASIODIR/host/pc -I$ASIODIR/common -I$ASIODIR/host -UPA_USE_ASIO -DPA_USE_ASIO=1 -DWINDOWS"
- 
-@@ -273,7 +273,7 @@
-         if [[ "x$with_wdmks" = "xyes" ]]; then
-             DXDIR="$with_dxdir"
-             add_objects src/hostapi/wdmks/pa_win_wdmks.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o
--            LIBS="-lwinmm -lm -luuid -lsetupapi -lole32"
-+            LIBS="$LIBS -lwinmm -lm -luuid -lsetupapi -lole32"
-             DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib -luuid -lsetupapi -lole32"
-             #VC98="\"/c/Program Files/Microsoft Visual Studio/VC98/Include\""
-             #CFLAGS="$CFLAGS -I$VC98 -DPA_NO_WMME -DPA_NO_ASIO"
-@@ -282,14 +282,14 @@
- 
-         if [[ "x$with_wmme" = "xyes" ]]; then
-             add_objects src/hostapi/wmme/pa_win_wmme.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_waveformat.o
--            LIBS="-lwinmm -lm -lole32 -luuid"
-+            LIBS="$LIBS -lwinmm -lm -lole32 -luuid"
-             DLL_LIBS="${DLL_LIBS} -lwinmm"
-             CFLAGS="$CFLAGS -UPA_USE_WMME -DPA_USE_WMME=1"
-         fi
- 
-         if [[ "x$with_wasapi" = "xyes" ]]; then
-             add_objects src/hostapi/wasapi/pa_win_wasapi.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_coinitialize.o src/os/win/pa_win_waveformat.o
--            LIBS="-lwinmm -lm -lole32 -luuid"
-+            LIBS="$LIBS -lwinmm -lm -lole32 -luuid"
-             DLL_LIBS="${DLL_LIBS} -lwinmm -lole32"
-             CFLAGS="$CFLAGS -I\$(top_srcdir)/src/hostapi/wasapi/mingw-include -UPA_USE_WASAPI -DPA_USE_WASAPI=1"
-         fi
+@@ -2136,7 +2139,8 @@
+         }
+         else
+         {
+-            CalculateBufferSettings( &stream->hostBufferSizeFrames, &pollingPeriodFrames,
++            CalculateBufferSettings( (unsigned long *)&stream->hostBufferSizeFrames, 
++	            &pollingPeriodFrames,
+                     /* isFullDuplex = */ (inputParameters && outputParameters),
+                     suggestedInputLatencyFrames,
+                     suggestedOutputLatencyFrames, 
--- a/src/portaudio.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/portaudio.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,11 +3,20 @@
 
 PKG             := portaudio
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := f07716c470603729a55b70f5af68f4a6807097eb
+$(PKG)_VERSION  := 190600_20161030
+$(PKG)_CHECKSUM := 56c596bba820d90df7d057d8f6a0ec6bf9ab82e8
 $(PKG)_SUBDIR   := portaudio
 $(PKG)_FILE     := pa_stable_v$($(PKG)_VERSION).tgz
 $(PKG)_URL      := http://www.portaudio.com/archives/$($(PKG)_FILE)
-$(PKG)_DEPS     :=
+$(PKG)_DEPS     := 
+
+$(PKG)_SYSDEP_OPTIONS :=
+ifeq ($(MXE_SYSTEM),mingw)
+  $(PKG)_SYSDEP_OPTIONS += \
+        --with-host_os=mingw \
+        --with-winapi=wmme,directx \
+        --with-dxdir=$(HOST_PREFIX)
+endif
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://www.portaudio.com/download.html' | \
@@ -17,19 +26,21 @@
 
 define $(PKG)_BUILD
     cd '$(1)' && autoconf
+    # libtool looks for a pei* format when linking shared libs
+    # apparently there's no real difference b/w pei and pe
+    # so we set the libtool cache variables
+    # https://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/libpei.h?annotate=1.25&cvsroot=src
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
         $(ENABLE_SHARED_OR_STATIC) \
-        --prefix='$(HOST_PREFIX)' \
-        --with-host_os=mingw \
-        --with-winapi=wmme,directx,wasapi,wdmks \
-        --with-dxdir=$(HOST_PREFIX) \
-        ac_cv_path_AR=$(MXE_AR)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' SHARED_FLAGS= TESTS=
+        $($(PKG)_SYSDEP_OPTIONS) \
+        ac_cv_path_AR=$(MXE_AR) \
+        $(if $(filter $(BUILD_SHARED),yes),\
+            lt_cv_deplibs_check_method='file_magic file format (pe-i386|pe-x86-64)' \
+            lt_cv_file_magic_cmd='$$OBJDUMP -f')
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(if $(filter $(BUILD_STATIC),yes),SHARED_FLAGS=) TESTS=
     $(MAKE) -C '$(1)' -j 1 install
 
-    '$(MXE_CC)' \
-        -W -Wall -Werror -ansi -pedantic \
-        '$(2).c' -o '$(HOST_BINDIR)/test-portaudio.exe' \
-        `'$(MXE_PKG_CONFIG)' portaudio-2.0 --cflags --libs`
 endef
+
--- a/src/postgresql-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-Contains ad hoc patches for cross building.
-
-From 97675e8569c5eb6a13a044b52cb31a120ff61d26 Mon Sep 17 00:00:00 2001
-From: "a@a.org" <a@a.org>
-Date: Mon, 24 Oct 2011 14:02:33 +0200
-Subject: [PATCH 1/2] use unix style names for openssl on mingw-cross-env
-
-
-diff --git a/configure.in b/configure.in
-index 1024b0d..710ad0c 100644
---- a/configure.in
-+++ b/configure.in
-@@ -926,13 +926,8 @@ fi
- 
- if test "$with_openssl" = yes ; then
-   dnl Order matters!
--  if test "$PORTNAME" != "win32"; then
--     AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])])
--     AC_CHECK_LIB(ssl,    SSL_library_init, [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])])
--  else
--     AC_SEARCH_LIBS(CRYPTO_new_ex_data, eay32 crypto, [], [AC_MSG_ERROR([library 'eay32' or 'crypto' is required for OpenSSL])])
--     AC_SEARCH_LIBS(SSL_library_init, ssleay32 ssl, [], [AC_MSG_ERROR([library 'ssleay32' or 'ssl' is required for OpenSSL])])
--  fi
-+  AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])])
-+  AC_CHECK_LIB(ssl,    SSL_library_init, [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])])
- fi
- 
- if test "$with_pam" = yes ; then
--- 
-1.7.10.4
-
-
-From cf2e7bb8d924354cba299ac26b8128b6fb234505 Mon Sep 17 00:00:00 2001
-From: "a@a.org" <a@a.org>
-Date: Mon, 24 Oct 2011 14:09:38 +0200
-Subject: [PATCH 2/2] do not check autoconf version
-
-
-diff --git a/configure.in b/configure.in
-index 710ad0c..8acc307 100644
---- a/configure.in
-+++ b/configure.in
-@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
- 
- AC_INIT([PostgreSQL], [9.2.1], [pgsql-bugs@postgresql.org])
- 
--m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.63], [], [m4_fatal([Autoconf version 2.63 is required.
--Untested combinations of 'autoconf' and PostgreSQL versions are not
--recommended.  You can remove the check from 'configure.in' but it is then
--your responsibility whether the result works or not.])])
- AC_COPYRIGHT([Copyright (c) 1996-2012, PostgreSQL Global Development Group])
- AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
- AC_CONFIG_AUX_DIR(config)
--- 
-1.7.10.4
-
--- a/src/postgresql.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/postgresql.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,18 +3,20 @@
 
 PKG             := postgresql
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := cea9601b3acd1484fd98441b49a15ea1c42057ec
+$(PKG)_VERSION  := 9.4.26
+$(PKG)_CHECKSUM := 832094c944c57ac19ddcd552ada732a77609de75
 $(PKG)_SUBDIR   := postgresql-$($(PKG)_VERSION)
 $(PKG)_FILE     := postgresql-$($(PKG)_VERSION).tar.bz2
 $(PKG)_URL      := http://ftp.postgresql.org/pub/source/v$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_DEPS     := zlib openssl
+$(PKG)_DEPS     := zlib
 
 ifeq ($(MXE_NATIVE_BUILD),yes)
   $(PKG)_CONFIGURE_FLAGS_OPTION := $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS)
 endif
 
 ifeq ($(MXE_SYSTEM),mingw)
-  $(PKG)_LIGS := -lsecur32
+  $(PKG)_LIBS := -lsecur32
+  $(PKG)_CONFIGURE_FLAGS_OPTION += ac_cv_func_getaddrinfo=no
 endif
 
 define $(PKG)_UPDATE
@@ -34,34 +36,8 @@
         $($(PKG)_CONFIGURE_FLAGS_OPTION) \
         --prefix='$(HOST_PREFIX)' \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        --enable-shared \
-        --disable-rpath \
-        --without-tcl \
-        --without-perl \
-        --without-python \
-        --without-gssapi \
-        --without-krb5 \
-        --without-pam \
-        --without-ldap \
-        --without-bonjour \
-        --with-openssl \
-        --without-readline \
-        --without-ossp-uuid \
-        --without-libxml \
-        --without-libxslt \
-        --with-zlib \
-        --with-system-tzdata=/dev/null \
-        LIBS="$($(PKG)_LIBS) `'$(MXE_PKG_CONFIG)' openssl --libs`"
-    $(MAKE) -C '$(1)'/src/interfaces/libpq -j '$(JOBS)' install haslibarule=
-    $(MAKE) -C '$(1)'/src/port             -j '$(JOBS)'         haslibarule=
-    $(MAKE) -C '$(1)'/src/bin/psql         -j '$(JOBS)' install haslibarule=
-    $(INSTALL) -m644 '$(1)/src/include/pg_config.h'    '$(HOST_INCDIR)'
-    $(INSTALL) -m644 '$(1)/src/include/postgres_ext.h' '$(HOST_INCDIR)'
-    # Build a native pg_config.
-    $(SED) -i 's,-DVAL_,-D_DISABLED_VAL_,g' '$(1).native'/src/bin/pg_config/Makefile
-    cd '$(1).native' && ./configure \
-        --prefix='$(HOST_PREFIX)' \
         $(ENABLE_SHARED_OR_STATIC) \
+        --with-libraries='$(HOST_LIBDIR)' \
         --disable-rpath \
         --without-tcl \
         --without-perl \
@@ -76,11 +52,44 @@
         --without-ossp-uuid \
         --without-libxml \
         --without-libxslt \
-        --without-zlib \
-        --with-system-tzdata=/dev/null
-    $(MAKE) -C '$(1).native'/src/port          -j '$(JOBS)'
-    $(MAKE) -C '$(1).native'/src/bin/pg_config -j '$(JOBS)' install
+        --with-zlib \
+        --with-system-tzdata=/dev/null \
+        LIBS="$($(PKG)_LIBS)"
+    $(MAKE) -C '$(1)'/src/common             -j '$(JOBS)'         
+    $(MAKE) -C '$(1)'/src/interfaces/libpq -j '$(JOBS)' install DESTDIR='$(3)'
+    $(MAKE) -C '$(1)'/src/port             -j '$(JOBS)'         
+    $(MAKE) -C '$(1)'/src/bin/psql         -j '$(JOBS)' install DESTDIR='$(3)'
+    $(MAKE) -C '$(1)'/src/bin/pg_config    -j '$(JOBS)' install DESTDIR='$(3)'
+    $(INSTALL) -m644 '$(1)/src/include/pg_config.h'    '$(3)$(HOST_INCDIR)'
+    $(INSTALL) -m644 '$(1)/src/include/pg_config_ext.h' '$(3)$(HOST_INCDIR)'
+    $(INSTALL) -m644 '$(1)/src/include/pg_config_os.h' '$(3)$(HOST_INCDIR)'
+    $(INSTALL) -m644 '$(1)/src/include/postgres_ext.h' '$(3)$(HOST_INCDIR)'
+    $(INSTALL) -d    '$(3)$(HOST_INCDIR)/libpq'
+    $(INSTALL) -m644 '$(1)'/src/include/libpq/*        '$(3)$(HOST_INCDIR)/libpq/'
+    # Build a native pg_config (if cross build).
     if [ $(MXE_NATIVE_BUILD) = no ]; then \
-      $(INSTALL) -m755 '$(HOST_BINDIR)/pg_config' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)pg_config'; \
+        $(SED) -i 's,-DVAL_,-D_DISABLED_VAL_,g' '$(1).native'/src/bin/pg_config/Makefile; \
+        cd '$(1).native' && ./configure \
+            --prefix='$(BUILD_TOOLS_PREFIX)' \
+            $(ENABLE_SHARED_OR_STATIC) \
+            --disable-rpath \
+            --without-tcl \
+            --without-perl \
+            --without-python \
+            --without-gssapi \
+            --without-krb5 \
+            --without-pam \
+            --without-ldap \
+            --without-bonjour \
+            --without-openssl \
+            --without-readline \
+            --without-ossp-uuid \
+            --without-libxml \
+            --without-libxslt \
+            --without-zlib \
+            --with-system-tzdata=/dev/null; \
+        $(MAKE) -C '$(1).native'/src/port          -j '$(JOBS)'; \
+        $(MAKE) -C '$(1).native'/src/bin/pg_config -j '$(JOBS)' install DESTDIR=$(3); \
+        $(INSTALL) -m755 '$(3)$(BUILD_TOOLS_PREFIX)/bin/pg_config' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)pg_config'; \
     fi
 endef
--- a/src/proj.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/proj.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,16 @@
 
 PKG             := proj
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 5c8d6769a791c390c873fef92134bf20bb20e82a
+$(PKG)_VERSION  := 7.1.1
+$(PKG)_CHECKSUM := 3e713e3f7bbd0e0211dda500bfc5b05364c45485
 $(PKG)_SUBDIR   := proj-$($(PKG)_VERSION)
 $(PKG)_FILE     := proj-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://download.osgeo.org/proj/$($(PKG)_FILE)
 $(PKG)_URL_2    := ftp://ftp.remotesensing.org/proj/$($(PKG)_FILE)
-$(PKG)_DEPS     :=
+$(PKG)_DEPS     := curl sqlite tiff
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://trac.osgeo.org/proj/' | \
+    $(WGET) -q -O- 'http://proj.org/download.html' | \
     $(SED) -n 's,.*proj-\([0-9][^>]*\)\.tar.*,\1,p' | \
     head -1
 endef
--- a/src/protobuf.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/protobuf.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,17 @@
 
 PKG             := protobuf
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := df5867e37a4b51fb69f53a8baf5b994938691d6d
+$(PKG)_VERSION  := 2.4.1
+$(PKG)_CHECKSUM := e0138dd2d8fd2433508838bb4aab4db926a0d6fe
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
-$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
-$(PKG)_URL      := http://protobuf.googlecode.com/files/$($(PKG)_FILE)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://github.com/google/$(PKG)/archive/v$($(PKG)_VERSION).tar.gz
 $(PKG)_DEPS     := zlib
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://code.google.com/p/protobuf/downloads/list?sort=-uploaded' | \
-    $(SED) -n 's,.*protobuf-\([0-9][^<]*\)\.tar.*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://github.com/google/protobuf/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
--- a/src/pstoedit-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/pstoedit-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,20 +1,19 @@
-diff -uNr e/othersrc/gsdllinc/wgsver.c f/othersrc/gsdllinc/wgsver.c
---- e/othersrc/gsdllinc/wgsver.c	2010-12-27 10:09:35.000000000 -0500
-+++ f/othersrc/gsdllinc/wgsver.c	2013-01-08 22:23:09.775545031 -0500
-@@ -39,6 +39,10 @@
- #include <stdlib.h>
+diff -ur pstoedit-3.75.orig/othersrc/gsdllinc/wgsver.c pstoedit-3.75/othersrc/gsdllinc/wgsver.c
+--- pstoedit-3.75.orig/othersrc/gsdllinc/wgsver.c	2020-01-06 12:45:59.927286515 -0500
++++ pstoedit-3.75/othersrc/gsdllinc/wgsver.c	2020-01-06 12:46:54.580699984 -0500
+@@ -40,6 +40,9 @@
  #include "wgsver.h"
+ #include "cppcomp.h"
  
 +#ifndef KEY_WOW64_64KEY
 +#define KEY_WOW64_64KEY 0x0100
 +#endif
-+
  /* Ghostscript may be known in the Windows Registry by
   * the following names.
   */
-diff -uNr e/src/cbstream.cpp f/src/cbstream.cpp
---- e/src/cbstream.cpp	2012-08-28 09:52:28.000000000 -0400
-+++ f/src/cbstream.cpp	2013-01-08 22:15:04.575971765 -0500
+diff -ur pstoedit-3.75.orig/src/cbstream.cpp pstoedit-3.75/src/cbstream.cpp
+--- pstoedit-3.75.orig/src/cbstream.cpp	2020-01-06 12:45:59.927286515 -0500
++++ pstoedit-3.75/src/cbstream.cpp	2020-01-06 12:49:33.424788938 -0500
 @@ -33,6 +33,8 @@
  // this code is only needed under WIN32
  // ...and under OS/2
@@ -24,12 +23,12 @@
  #include "cppcomp.h"
  
  #include "cbstream.h"
-diff -uNr e/src/Makefile.am f/src/Makefile.am
---- e/src/Makefile.am	2010-08-22 09:54:28.000000000 -0400
-+++ f/src/Makefile.am	2013-01-08 22:28:40.596345408 -0500
-@@ -133,7 +133,8 @@
- 	genericints.h 				\
- 	version.h
+diff -ur pstoedit-3.75.orig/src/Makefile.am pstoedit-3.75/src/Makefile.am
+--- pstoedit-3.75.orig/src/Makefile.am	2020-01-06 12:45:59.931286619 -0500
++++ pstoedit-3.75/src/Makefile.am	2020-01-06 12:52:56.149975594 -0500
+@@ -143,7 +143,8 @@
+ 	psfront.h				\
+ 	genericints.h
  
 -libpstoedit_la_LIBADD = ${CXX_STD_LIB} ${CXX_RUNTIME_LIB} -ldl -lm
 +libpstoedit_la_LIBADD = ${CXX_STD_LIB} ${CXX_RUNTIME_LIB} -lm
@@ -37,3 +36,18 @@
  libpstoedit_la_LDFLAGS = -no-undefined
  
  pstoedit_SOURCES = cmdmain.cpp
+diff -ur pstoedit-3.75.orig/src/dynload.cpp pstoedit-3.75/src/dynload.cpp
+--- pstoedit-3.75.orig/src/dynload.cpp	2020-01-09 13:50:03.610222335 -0500
++++ pstoedit-3.75/src/dynload.cpp	2020-01-09 13:51:10.084019302 -0500
+@@ -239,8 +239,10 @@
+ 	DynLoader::fptr rfptr = ptr_to_fptr(dlsym(handle, name));	//lint !e611 //: Suspicious cast
+ #elif defined(OS_WIN32_WCE)
+ 	DynLoader::fptr rfptr = ptr_to_fptr(GetProcAddress((HINSTANCE) handle, LPSTRtoLPWSTR(name).c_str()));	//lint !e611 //: Suspicious cast
+-#elif defined(_WIN32)
++#elif defined(_WIN64)
+ 	DynLoader::fptr rfptr = /* ptr_to_fptr */(GetProcAddress((HINSTANCE) handle, name));	//lint !e611 //: Suspicious cast
++#elif defined(_WIN32)
++	DynLoader::fptr rfptr = ptr_to_fptr((void*)GetProcAddress((HINSTANCE) handle, name));	//lint !e611 //: Suspicious cast
+ #else
+ #error "system unsupported so far"
+ #endif
--- a/src/pstoedit-2-gs.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/pstoedit-2-gs.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,22 +1,26 @@
-diff -ur pstoedit-3.61-orig/configure.ac pstoedit-3.61/configure.ac
---- pstoedit-3.61-orig/configure.ac	2012-08-28 06:46:41 -0400
-+++ pstoedit-3.61/configure.ac	2013-07-05 23:29:38 -0400
-@@ -53,12 +53,12 @@
+diff -ur pstoedit-3.75.1/configure.ac pstoedit-3.75/configure.ac
+--- pstoedit-3.75.1/configure.ac	2020-01-06 12:54:05.031731787 -0500
++++ pstoedit-3.75/configure.ac	2020-01-06 12:55:08.329343414 -0500
+@@ -50,8 +50,8 @@
+ dnl fi
+ 
  dnl Check Ghostscript
- GS=""
- AC_PATH_PROG(GS,gs)
--if test -z "${GS}"; then
--   AC_MSG_ERROR([** Cannot find ghostscript. If it is already installed, Check PATH.])
--else
--dnl Strip off // to / that causes troubles.
--   GS=`echo $GS | sed -e 's/\/\//\//g'`	
--fi
-+dnl if test -z "${GS}"; then
-+dnl    AC_MSG_ERROR([** Cannot find ghostscript. If it is already installed, Check PATH.])
-+dnl else
-+dnl dnl Strip off // to / that causes troubles.
-+dnl    GS=`echo $GS | sed -e 's/\/\//\//g'`	
-+dnl fi
+-AC_CHECK_PROGS([GS],[gs],[false])
+-AS_IF([test x"${GS}" = xfalse],[AC_MSG_ERROR([** Cannot find ghostscript.  If it is already installed, Check PATH.])])
++dnl AC_CHECK_PROGS([GS],[gs],[false])
++dnl AS_IF([test x"${GS}" = xfalse],[AC_MSG_ERROR([** Cannot find ghostscript.  If it is already installed, Check PATH.])])
  
  PKG_PROG_PKG_CONFIG
  
+diff -ur pstoedit-3.75.1/src/Makefile.am pstoedit-3.75/src/Makefile.am
+--- pstoedit-3.75.1/src/Makefile.am	2020-01-06 12:54:05.047732194 -0500
++++ pstoedit-3.75/src/Makefile.am	2020-01-06 12:56:08.370870430 -0500
+@@ -32,7 +32,7 @@
+ 	${LIBEMF_CFLAGS}			\
+ 	${LIBPNG_CFLAGS}			\
+ 	${LIBZIP_CFLAGS}			\
+-        -DDEFAULTGS=$(GS)			\
++	-DDEFAULTGS="\"$(GS)\""			\
+ 	-DPSTOEDITDATADIR="\"$(pkgdatadir)\""	\
+ 	-DPSTOEDITLIBDIR="\"$(pkglibdir)\""	\
+         ${SPECIAL_CXXFLAGS}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pstoedit-3-nosecapi.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,46 @@
+diff -ur pstoedit-3.62.orig/src/lexyy.cpp pstoedit-3.62/src/lexyy.cpp
+--- pstoedit-3.62.orig/src/lexyy.cpp	2014-07-25 09:19:14 -0400
++++ pstoedit-3.62/src/lexyy.cpp	2014-07-25 09:20:00 -0400
+@@ -14,6 +14,7 @@
+ #endif
+ 
+ /* First, we deal with  platform-specific or compiler-specific issues. */
++#include "cppcomp.h"
+ 
+ /* begin standard C headers. */
+ #include <stdio.h>
+diff -ur pstoedit-3.70.orig/src/fillpoly.cpp pstoedit-3.70/src/fillpoly.cpp
+--- pstoedit-3.70.orig/src/fillpoly.cpp	2015-06-13 07:21:31.042850400 -0400
++++ pstoedit-3.70/src/fillpoly.cpp	2015-06-13 07:28:44.826540800 -0400
+@@ -1,6 +1,6 @@
+ /* this file is taken from the hp2xx project (http://www.gnu.org/software/hp2xx/hp2xx.html) 
+    and slightly adapted to fit into pstoedit s framework */ 
+-
++#include "cppcomp.h"
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff -ur pstoedit-3.70.orig/src/drvwmf.cpp pstoedit-3.70/src/drvwmf.cpp
+--- pstoedit-3.70.orig/src/drvwmf.cpp	2015-06-13 08:02:48.035020200 -0400
++++ pstoedit-3.70/src/drvwmf.cpp	2015-06-13 08:03:33.555528400 -0400
+@@ -22,6 +22,8 @@
+     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ 
+ */
++#include "cppcomp.h"
++
+ #include "drvwmf.h"
+ 
+ #include I_string_h
+diff -ur pstoedit-3.75.orig/src/cppcomp.h pstoedit-3.75/src/cppcomp.h
+--- pstoedit-3.75.orig/src/cppcomp.h	2020-05-29 11:11:05.064392865 -0400
++++ pstoedit-3.75/src/cppcomp.h	2020-05-29 11:20:09.056541850 -0400
+@@ -230,7 +230,7 @@
+ 
+ 
+ //{
+-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
++#if (defined(_MSC_VER) && (_MSC_VER >= 1400)) || defined(__MINGW32__)
+ // for MS VS 8 (== cl version 14) we can use the new secure *_s string functions
+ // for other systems we have to "emulate" them
+ #define TARGETWITHLEN(str,len) str,len
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pstoedit-4-winlibemf.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,30 @@
+diff -ur pstoedit-3.62/configure.ac pstoedit-3.62.new/configure.ac
+--- pstoedit-3.62/configure.ac	2013-03-10 14:45:43.000000000 -0400
++++ pstoedit-3.62.new/configure.ac	2015-02-28 14:34:33.000000000 -0500
+@@ -324,6 +324,9 @@
+ OLD_CPPFLAGS=
+ OLD_LIBS=
+ 
++dnl if windows we can just enable emf/wmf support
++AC_CHECK_HEADER(windows.h,
++ [have_windows_h=yes])
+ 
+ AC_ARG_WITH(libemf-src,
+ [  --with-libemf-src=DIR           look for libEMF src in dir (e.g. /usr/local/lib)],
+@@ -382,8 +385,14 @@
+ if test -n "${LIBEMF_LDFLAGS}" && test -n "${LIBEMF_CFLAGS}"; then
+    HAVE_LIBEMF=yes
+ else
+-   LIBEMF_CFLAGS=
+-   LIBEMF_LDFLAGS=
++   if test "${have_windows_h}" = "yes"; then
++     HAVE_LIBEMF=yes
++     LIBEMF_CFLAGS=
++     LIBEMF_LDFLAGS=-lgdi32
++   else
++     LIBEMF_CFLAGS=
++     LIBEMF_LDFLAGS=
++   fi
+ fi
+ 
+ AC_SUBST(LIBEMF_LDFLAGS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pstoedit-5-use_gs_env.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,20 @@
+diff -ur pstoedit-3.70.orig/src/callgs.cpp pstoedit-3.70/src/callgs.cpp
+--- pstoedit-3.70.orig/src/callgs.cpp	2016-07-27 13:04:53.173499210 -0400
++++ pstoedit-3.70/src/callgs.cpp	2016-07-27 13:56:54.686649091 -0400
+@@ -364,7 +364,15 @@
+ 		} else {
+ 		    if (verbose) errstream<< "nothing found in gsview32.ini file - using find_gs to lookup latest version of Ghostscript in registry " << endl;
+ 			static char buf[1000];
+-			if (find_gs(buf, sizeof(buf), 550 /* min ver*/ , getPstoeditsetDLLUsage() , gsregbase)) { 
++
++
++	                gstocall = getenv("GS");
++
++                        if(gstocall) {
++		                if (verbose)
++			                errstream << "GS is set to:" << gstocall << endl;
++
++                        } else if (find_gs(buf, sizeof(buf), 550 /* min ver*/ , getPstoeditsetDLLUsage() , gsregbase)) { 
+ 				if (verbose) {
+ 					(void)dumpgsvers(gsregbase);
+ 					if (getPstoeditsetDLLUsage()) errstream << "Latest GS DLL is " << buf << endl;
--- a/src/pstoedit.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/pstoedit.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,25 +3,28 @@
 
 PKG             := pstoedit
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 426f3746ecb441caa0db401d5880e1ac04a399d5
+$(PKG)_VERSION  := 3.75
+$(PKG)_CHECKSUM := b0fa3356efdca67bbc0c7c9145827c31384a6cc6
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := https://sourceforge.net/projects/pstoedit/files/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)/download
-$(PKG)_DEPS     :=
+$(PKG)_DEPS     := plotutils
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package pstoedit.' >&2;
-    echo $(pstoedit_VERSION)
+    $(WGET) -q -O- 'http://sourceforge.net/projects/$(PKG)/files/$(PKG)/' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
-    cd '$(1)' && autoreconf
+    cd '$(1)' && autoreconf -fi -I m4 
     mkdir '$(1)/.build'
     cd '$(1)/.build' && '$(1)/configure' \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         --prefix='$(HOST_PREFIX)' \
+	--disable-docs \
 	&& $(CONFIGURE_POST_HOOK)
 
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+    $(MAKE) -C '$(1)/.build' -j 1 install DESTDIR='$(3)' $(MXE_DISABLE_DOCS)
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pthread-stubs.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := pthread-stubs
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.3
+$(PKG)_CHECKSUM := 7174d6a5f4b158746f020b8fc7a3e3e5438dd233
+$(PKG)_SUBDIR   := libpthread-stubs-$($(PKG)_VERSION)
+$(PKG)_FILE     := libpthread-stubs-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://xcb.freedesktop.org/dist/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- a/src/pthreads-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-From e951f784c852f4cd8298864190936fded1efceba Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Sun, 27 May 2012 22:00:19 +0200
-Subject: [PATCH] force static for convenience
-
----
- pthread.h   |    4 ++++
- sched.h     |    4 ++++
- semaphore.h |    4 ++++
- 3 files changed, 12 insertions(+)
-
-diff --git a/pthread.h b/pthread.h
-index b4072f7..c88c886 100755
---- a/pthread.h
-+++ b/pthread.h
-@@ -547,6 +547,10 @@ extern "C"
-  * do NOT define PTW32_BUILD, and then the variables/functions will
-  * be imported correctly.
-  */
-+
-+// MXE: Set this for convenience here since MXE only does static.
-+#define PTW32_STATIC_LIB
-+
- #if !defined(PTW32_STATIC_LIB)
- #  if defined(PTW32_BUILD)
- #    define PTW32_DLLPORT __declspec (dllexport)
-diff --git a/sched.h b/sched.h
-index f36a97a..1f4f401 100755
---- a/sched.h
-+++ b/sched.h
-@@ -76,6 +76,10 @@
-  * do NOT define PTW32_BUILD, and then the variables/functions will
-  * be imported correctly.
-  */
-+
-+// MXE: Set this for convenience here since MXE only does static.
-+#define PTW32_STATIC_LIB
-+
- #if !defined(PTW32_STATIC_LIB)
- #  if defined(PTW32_BUILD)
- #    define PTW32_DLLPORT __declspec (dllexport)
-diff --git a/semaphore.h b/semaphore.h
-index c6e9407..2b64173 100755
---- a/semaphore.h
-+++ b/semaphore.h
-@@ -75,6 +75,10 @@
-  * do NOT define PTW32_BUILD, and then the variables/functions will
-  * be imported correctly.
-  */
-+
-+// MXE: Set this for convenience here since MXE only does static.
-+#define PTW32_STATIC_LIB
-+
- #if !defined(PTW32_STATIC_LIB)
- #  if defined(PTW32_BUILD)
- #    define PTW32_DLLPORT __declspec (dllexport)
--- 
-1.7.9.2
-
--- a/src/pthreads.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/pthreads.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -2,52 +2,35 @@
 # See index.html for further information.
 
 PKG             := pthreads
-$(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 24d40e89c2e66a765733e8c98d6f94500343da86
-$(PKG)_SUBDIR   := pthreads-w32-$($(PKG)_VERSION)-release
-$(PKG)_FILE     := pthreads-w32-$($(PKG)_VERSION)-release.tar.gz
-$(PKG)_URL      := ftp://sourceware.org/pub/pthreads-win32/$($(PKG)_FILE)
-$(PKG)_DEPS     :=
+$(PKG)_IGNORE   := $(mingw-w64_IGNORE)
+$(PKG)_VERSION  := $(mingw-w64_VERSION)
+$(PKG)_CHECKSUM := $(mingw-w64_CHECKSUM)
+$(PKG)_SUBDIR   := $(mingw-w64_SUBDIR)
+$(PKG)_FILE     := $(mingw-w64_FILE)
+$(PKG)_URL      := $(mingw-w64_URL)
+$(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'ftp://sourceware.org/pub/pthreads-win32/dll-latest/include/pthread.h' | \
-    $(SED) -n 's/^#define PTW32_VERSION \([^,]*\),\([^,]*\),\([^,]*\),.*/\1-\2-\3/p;'
+    echo $(mingw-w64_VERSION)
 endef
 
-ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+ifeq ($(MXE_SYSTEM)$(MXE_NATIVE_BUILD),mingwno)
 define $(PKG)_BUILD
-    $(MAKE) -C '$(1)' -j 1 GC-static 
-    $(INSTALL) -d '$(HOST_LIBDIR)'
-    $(INSTALL) -m644 '$(1)/libpthreadGC2.a' '$(HOST_LIBDIR)/libpthread.a'
-
-    if [ $(BUILD_SHARED) = yes ]; then \
-      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CC)' '$(HOST_LIBDIR)/libpthread.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)'; \
-    fi
-
-    $(INSTALL) -d '$(HOST_INCDIR)'
-    $(INSTALL) -m644 '$(1)/pthread.h'   '$(HOST_INCDIR)'
-    $(INSTALL) -m644 '$(1)/sched.h'     '$(HOST_INCDIR)'
-    $(INSTALL) -m644 '$(1)/semaphore.h' '$(HOST_INCDIR)'
-endef
+    # apply the mingw-w64 patches to the mingw sources
+    $(foreach PKG_PATCH,$(sort $(wildcard $(TOP_DIR)/src/mingw-w64-*.patch)),
+      (cd '$(1)' && $(PATCH) -p1 -u) < $(PKG_PATCH))
+    $(foreach PKG_PATCH,$(sort $(wildcard $(TOP_DIR)/src/$(MXE_SYSTEM)-mingw-w64-*.patch)),
+      (cd '$(1)' && $(PATCH) -p1 -u) < $(PKG_PATCH))
 
-else
-ifeq ($(MXE_SYSTEM),mingw)
-define $(PKG)_BUILD
-    $(MAKE) -C '$(1)' -j 1 GC-static CROSS='$(MXE_TOOL_PREFIX)'
-    $(INSTALL) -d '$(HOST_LIBDIR)'
-    $(INSTALL) -m644 '$(1)/libpthreadGC2.a' '$(HOST_LIBDIR)/libpthread.a'
-
-    if [ $(BUILD_SHARED) = yes ]; then \
-      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CC)' '$(HOST_LIBDIR)/libpthread.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)'; \
-    fi
-
-    $(INSTALL) -d '$(HOST_INCDIR)'
-    $(INSTALL) -m644 '$(1)/pthread.h'   '$(HOST_INCDIR)'
-    $(INSTALL) -m644 '$(1)/sched.h'     '$(HOST_INCDIR)'
-    $(INSTALL) -m644 '$(1)/semaphore.h' '$(HOST_INCDIR)'
+    cd '$(1)/mingw-w64-libraries/winpthreads' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        $(ENABLE_SHARED_OR_STATIC)
+        
+    $(MAKE) -C '$(1)/mingw-w64-libraries/winpthreads' -j '$(JOBS)'
+    $(MAKE) -C '$(1)/mingw-w64-libraries/winpthreads' -j 1 install
 endef
 else
 define $(PKG)_BUILD
 endef
 endif
-endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/python-embedded.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+# This file is part of MXE.
+# See index.html for further information.
+#
+# NOTE: this is currently depreciated from the mxe build in favor of msys2-python
+
+PKG             := python-embedded
+$(PKG)_VERSION  := 3.8.1
+$(PKG)_CHECKSUM := 7b33bfd3c61f5eb868acb6130b3215e044061046
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := python-$($(PKG)_VERSION)-embed-win32.zip
+$(PKG)_URL      := https://www.python.org/ftp/python/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    echo $($(PKG)_VERSION)
+endef
+
+define $(PKG)_BUILD
+    mkdir -p '$(3)$(HOST_PREFIX)/python'
+    cd '$(1)' && tar cf - . | ( cd '$(3)$(HOST_PREFIX)/python'; tar xpf - )
+    if test x$(MXE_WINDOWS_BUILD) = xyes; then \
+      cp '$(3)$(HOST_PREFIX)/python/python.exe' '$(3)$(HOST_PREFIX)/python/python3.exe'; \
+    fi
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/python-mpmath.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := python-mpmath
+$(PKG)_VERSION  := 1.1.0
+$(PKG)_CHECKSUM := 3f479408ea65b08bc23eeebe5dac2f2293dfec9d
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := mpmath-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://files.pythonhosted.org/packages/ca/63/3384ebb3b51af9610086b23ea976e6d27d6d97bf140a76a365bd77a3eb32/$($(PKG)_FILE)
+$(PKG)_DEPS     :=
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+ $(PKG)_DEPS += msys2-python
+ $(PKG)_PYTHON_PKG_DIR := $(MSYS2_DIR)/usr/lib/python$(call SHORT_PKG_VERSION,msys2-python)/site-packages/
+else
+ $(PKG)_PYTHON_PKG_DIR := $(3)$(HOST_PREFIX)/python
+endif
+
+define $(PKG)_UPDATE
+    echo $($(PKG)_VERSION)
+endef
+
+define $(PKG)_BUILD
+    mkdir -p '$($(PKG)_PYTHON_PKG_DIR)'
+    cd '$(1)/mpmath-$($(PKG)_VERSION)' && tar cf - mpmath | ( cd '$($(PKG)_PYTHON_PKG_DIR)'; tar xpf - )
+    cd '$(1)' && tar cf - --exclude=mpmath-$($(PKG)_VERSION)/mpmath . | ( cd '$($(PKG)_PYTHON_PKG_DIR)'; tar xpf - )
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/python-sympy.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,30 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := python-sympy
+$(PKG)_VERSION  := 1.4
+$(PKG)_CHECKSUM := 9485daf9e29f4ffa20e04111bea940a917eb3a69
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := sympy-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://github.com/sympy/sympy/releases/download/sympy-$($(PKG)_VERSION)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := python-mpmath
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+ $(PKG)_DEPS += msys2-python
+ $(PKG)_PYTHON_PKG_DIR := $(MSYS2_DIR)/usr/lib/python$(call SHORT_PKG_VERSION,msys2-python)/site-packages/
+else
+ $(PKG)_PYTHON_PKG_DIR := $(3)$(HOST_PREFIX)/python
+endif
+
+define $(PKG)_UPDATE
+    echo $($(PKG)_VERSION)
+endef
+
+define $(PKG)_BUILD
+    rm -rf '$($(PKG)_PYTHON_PKG_DIR)/sympy*'
+
+    mkdir -p '$($(PKG)_PYTHON_PKG_DIR)'
+    cd '$(1)/sympy-$($(PKG)_VERSION)' && tar cf - sympy | ( cd '$($(PKG)_PYTHON_PKG_DIR)'; tar xpf - )
+    cd '$(1)' && tar cf - --exclude=sympy-$($(PKG)_VERSION)/sympy . | ( cd '$($(PKG)_PYTHON_PKG_DIR)'; tar xpf - )
+endef
--- a/src/qdbm.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/qdbm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := qdbm
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.8.78
 $(PKG)_CHECKSUM := 8c2ab938c2dad8067c29b0aa93efc6389f0e7076
 $(PKG)_SUBDIR   := qdbm-$($(PKG)_VERSION)
 $(PKG)_FILE     := qdbm-$($(PKG)_VERSION).tar.gz
--- a/src/qhull-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/qhull-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,17 +1,12 @@
-From the Debian QHull package.
-
-Access globals via a pointer to allocated memory.
-
- -- Rafael Laboissiere <rafael@debian.org>  Wed, 25 Sep 2002 10:39:30 +0200
-
---- qhull-orig/src/user.h	2002-04-29 11:01:46.000000000 +0200
-+++ qhull/src/user.h	2004-02-02 11:04:47.000000000 +0100
-@@ -509,7 +509,7 @@
-   see:
-     user_eg.c for an example
- */
+diff -ur qhull-2019.1.orig/src/libqhull/user.h qhull-2019.1/src/libqhull/user.h
+--- qhull-2019.1.orig/src/libqhull/user.h	2019-07-03 14:21:37.727824999 -0400
++++ qhull-2019.1/src/libqhull/user.h	2019-07-03 14:22:00.304417762 -0400
+@@ -658,7 +658,7 @@
+ #error QH6207 Qhull error: Define qh_QHpointer_dllimport instead of qh_dllimport with qh_QHpointer
+ #endif
+ #else
 -#define qh_QHpointer 0
 +#define qh_QHpointer 1
- #if 0  /* sample code */
-     qhT *oldqhA, *oldqhB;
- 
+ #ifdef qh_QHpointer_dllimport
+ #error QH6234 Qhull error: Define qh_dllimport instead of qh_QHpointer_dllimport when qh_QHpointer is not defined
+ #endif
--- a/src/qhull-2-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-diff -rNu a/configure.ac b/configure.ac
---- a/configure.ac	2009-06-11 15:41:03.000000000 -0400
-+++ b/configure.ac	2013-01-07 18:05:58.439590407 -0500
-@@ -8,10 +8,10 @@
- AC_CONFIG_AUX_DIR(config)
- AC_CONFIG_MACRO_DIR(config)
- 
--AM_INIT_AUTOMAKE
-+AM_INIT_AUTOMAKE([foreign])
- 
- AC_PROG_CC
--AC_PROG_LIBTOOL
-+LT_INIT([win32-dll])
- 
- AC_CONFIG_FILES([
-   Makefile 
-diff -rNu a/src/Makefile.am b/src/Makefile.am
---- a/src/Makefile.am	2009-06-11 15:41:03.000000000 -0400
-+++ b/src/Makefile.am	2013-01-07 17:58:04.327616699 -0500
-@@ -23,7 +23,7 @@
-   mem.c
- 
- # how:
--libqhull_la_LDFLAGS = -version-info 5:0:0 -lm
-+libqhull_la_LDFLAGS = -no-undefined -version-info 5:0:0 -lm
- 
- ### Utility programs
- 
--- a/src/qhull.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/qhull.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,24 +3,35 @@
 
 PKG             := qhull
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 108d59efa60b2ebaf94b121414c8f8b7b76a7409
+$(PKG)_VERSION  := 2020.1
+$(PKG)_CHECKSUM := a938aa73a8964f81786a05fc4c98044878e09f07
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := qhull-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://download.savannah.gnu.org/releases/qhull/$($(PKG)_FILE)
+$(PKG)_URL      := https://github.com/qhull/$(PKG)/archive/$($(PKG)_VERSION).tar.gz
 $(PKG)_DEPS     :=
 
+$(PKG)_CMAKE_OPTS :=
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+    ifeq ($(MXE_SYSTEM),mingw)
+        $(PKG)_CMAKE_OPTS := -G "MSYS Makefiles" 
+    endif
+endif
+
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package qhull.' >&2;
-    echo $(qhull_VERSION)
+    $(WGET) -q -O- 'https://github.com/qhull/qhull/tags' | \
+    $(SED) -n 's|.*releases/tag/\([0-9][^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
-    cd '$(1)' && aclocal && libtoolize && autoreconf
-    mkdir '$(1)/.build'
-    cd '$(1)/.build' && '$(1)/configure' \
-        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
-        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        $(ENABLE_SHARED_OR_STATIC) \
-        --prefix='$(HOST_PREFIX)' && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+    mkdir '$(1)/../.build'
+    cd '$(1)/../.build' && cmake \
+        $($(PKG)_CMAKE_OPTS) \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
+        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+        -DDOC_INSTALL_DIR='$(1)' \
+        ../$($(PKG)_SUBDIR)
+    make -C $(1)/../.build -j $(JOBS) 
+    make -C $(1)/../.build -j 1 install DESTDIR=$(3)
 endef
--- a/src/qjson.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/qjson.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := qjson
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.7.1
 $(PKG)_CHECKSUM := 19bbef24132b238e99744bb35194c6dadece98f9
 $(PKG)_SUBDIR   := $(PKG)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/qjson/files/qjson/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
@@ -19,6 +20,8 @@
     echo '$(MXE_QMAKE)'
     mkdir '$(1)/build'
     cd '$(1)/build' && cmake .. \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
         -DLIBTYPE=STATIC
 
--- a/src/qrupdate-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/qrupdate-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -44477,7 +44477,7 @@
 +
 +libqrupdate_la_LIBADD = \
 + $(LAPACK_LIBS) \
-+ $(BLAS_LIBS)
++ $(BLAS_LIBS) $(XERBLA_LIB)
 +
 +libqrupdate_la_SOURCES = \
 +caxcpy.f cch1dn.f cch1up.f cchdex.f cchinx.f cchshx.f cgqvec.f   \
--- a/src/qrupdate.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/qrupdate.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,22 +3,19 @@
 
 PKG             := qrupdate
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.2
 $(PKG)_CHECKSUM := f7403b646ace20f4a2b080b4933a1e9152fac526
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := qrupdate-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://sourceforge.net/projects/qrupdate/files/$($(PKG)_FILE)
-ifeq ($(ENABLE_OPENBLAS),yes)
-  $(PKG)_DEPS     := openblas lapack
-else
-  $(PKG)_DEPS     := blas lapack
+$(PKG)_DEPS     := blas lapack
+
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
+  $(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS := FFLAGS="-g -O2 -fdefault-integer-8"
 endif
 
-ifeq ($(ENABLE_OPENBLAS),yes)
-  $(PKG)_BLAS_OPTION := --with-blas=openblas
-endif
-
-ifeq ($(ENABLE_64),yes)
-  $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := FFLAGS="-g -O2 -fdefault-integer-8"
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  $(PKG)_XERBLA_LIB_MAKE_OPTION := XERBLA_LIB="-lxerbla"
 endif
 
 define $(PKG)_UPDATE
@@ -29,7 +26,7 @@
 define $(PKG)_BUILD
     mkdir '$(1)/.build'
     touch '$(1)/NEWS' '$(1)/AUTHORS'
-    cd '$(1)' && autoreconf -W none
+    cd '$(1)' && autoreconf -fi -I m4 -W none
     chmod a+rx '$(1)/configure'
     cd '$(1)/.build' && '$(1)/configure' \
         F77=$(MXE_F77) \
@@ -37,8 +34,9 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
 	$(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
-        $($(PKG)_BLAS_OPTION) \
-        $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS) && $(CONFIGURE_POST_HOOK)
+        $($(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS) \
+          && $(CONFIGURE_POST_HOOK)
 
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' \
+        $($(PKG)_XERBLA_LIB_MAKE_OPTION) install DESTDIR='$(3)'
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/qscintilla-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,13 @@
+diff -ur QScintilla_gpl-2.11.1.orig/Qt4Qt5/qscintilla.pro QScintilla_gpl-2.11.1/Qt4Qt5/qscintilla.pro
+--- QScintilla_gpl-2.11.1.orig/Qt4Qt5/qscintilla.pro	2019-02-26 13:51:51.426342211 -0500
++++ QScintilla_gpl-2.11.1/Qt4Qt5/qscintilla.pro	2019-02-26 13:52:39.639554334 -0500
+@@ -23,7 +23,7 @@
+ !win32:VERSION = 15.0.0
+ 
+ TEMPLATE = lib
+-CONFIG += qt warn_off thread exceptions hide_symbols
++CONFIG += qt warn_off release thread exceptions
+ 
+ CONFIG(debug, debug|release) {
+     mac: {
+Only in QScintilla_gpl-2.11.1/Qt4Qt5: qscintilla.pro.orig
--- a/src/qscintilla.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/qscintilla.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,20 +3,38 @@
 
 PKG             := qscintilla
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 3edf9d476d4e6af0706a4d33401667a38e3a697e
-$(PKG)_SUBDIR   := QScintilla-gpl-$($(PKG)_VERSION)
-$(PKG)_FILE     := QScintilla-gpl-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://sourceforge.net/projects/pyqt/files/QScintilla2/QScintilla-$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_DEPS     := qt
+$(PKG)_VERSION  := 2.11.5
+$(PKG)_CHECKSUM := 1719d557f21375e04c11bd4ecf09a4d2ef87d2d0
+$(PKG)_SUBDIR   := QScintilla-$($(PKG)_VERSION)
+$(PKG)_FILE     := QScintilla-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://www.riverbankcomputing.com/static/Downloads/QScintilla/$($(PKG)_VERSION)/$($(PKG)_FILE)
+
+
+ifeq ($(ENABLE_QT5),yes)
+      $(PKG)_DEPS     := qt5
+else
+      $(PKG)_DEPS     := qt
+endif
+
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+      $(PKG)_INSTALL_ROOT :=
+else
+      $(PKG)_INSTALL_ROOT := $(3)
+endif
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package qscintilla.' >&2;
-    echo $(qscintilla_VERSION)
+    $(WGET) -q -O- 'http://www.riverbankcomputing.com/software/qscintilla/download' | \
+        $(SED) -n 's,.*QScintilla-\([0-9][^>]*\)\.zip.*,\1,p' | \
+        head -n 1 
 endef
 
 ifneq ($(MXE_NATIVE_BUILD),yes)
   ifeq ($(MXE_SYSTEM),mingw)
-    $(PKG)_QMAKE_SPEC_OPTION := -spec '$(HOST_PREFIX)/mkspecs/win32-g++'
+    ifeq ($(ENABLE_QT5),yes)
+       $(PKG)_QMAKE_SPEC_OPTION := -spec '$(BUILD_TOOLS_PREFIX)/mkspecs/win32-g++'
+    else
+       $(PKG)_QMAKE_SPEC_OPTION := -spec '$(HOST_PREFIX)/mkspecs/win32-g++'
+    endif
   endif
   ifeq ($(MXE_SYSTEM),msvc)
     # FIXME: compute "2010" suffix dynamically
@@ -25,7 +43,13 @@
 endif
 
 define $(PKG)_BUILD
-    cd '$(1)/Qt4Qt5' && '$(HOST_BINDIR)/qmake' -makefile $($(PKG)_QMAKE_SPEC_OPTION)
+    cd '$(1)/Qt4Qt5' && \
+      '$(MXE_QMAKE)' -makefile \
+        $($(PKG)_QMAKE_SPEC_OPTION) \
+        QMAKE_UIC='$(MXE_UIC)' \
+        QMAKE_MOC='$(MXE_MOC)' \
+        QMAKE_LFLAGS=$(MXE_LDFLAGS) \
+        QMAKE_CXXFLAGS='-std=c++11'
 
     if [ $(MXE_SYSTEM) = msvc ]; then \
         mkdir -p '$(3)' && \
@@ -35,21 +59,25 @@
             INSTALL_ROOT=`cd $(3) && pwd -W | sed -e 's,^[a-zA-Z]:,,' -e 's,/,\\\\,g'` install; \
     else \
         $(MAKE) -C '$(1)/Qt4Qt5' -j '$(JOBS)' && \
-        $(MAKE) -C '$(1)/Qt4Qt5' -j 1 install INSTALL_ROOT='$(3)'; \
+        $(MAKE) -C '$(1)/Qt4Qt5' -j 1 install INSTALL_ROOT='$($(PKG)_INSTALL_ROOT)'; \
     fi
 
     if [ $(MXE_SYSTEM) = mingw ]; then \
-        $(INSTALL) -d '$(3)$(HOST_BINDIR)'; \
-        $(INSTALL) -m755 '$(3)$(HOST_LIBDIR)/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll' '$(3)$(HOST_BINDIR)/'; \
-        rm -f '$(3)$(HOST_LIBDIR)/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll'; \
+      $(INSTALL) -d '$($(PKG)_INSTALL_ROOT)$(HOST_BINDIR)'; \
+      if [ $(ENABLE_QT5) = yes ]; then \
+        mv '$($(PKG)_INSTALL_ROOT)$(HOST_PREFIX)/qt5/lib/qscintilla2_qt5.dll' '$($(PKG)_INSTALL_ROOT)$(HOST_BINDIR)'; \
+      else \
+        mv '$($(PKG)_INSTALL_ROOT)$(HOST_LIBDIR)/qscintilla2_qt4.dll' '$($(PKG)_INSTALL_ROOT)$(HOST_BINDIR)/'; \
+      fi; \
     fi
 
     # Qmake under MSVC uses Win32 paths. When combining this with
     # DESTDIR usage (or equivalent), the real Win32 directory hierarchy
     # is recreated under DESTDIR, not the MSYS hierarchy.
     if [ $(MXE_SYSTEM) = msvc ]; then \
-        $(INSTALL) -d '$(3)$(CMAKE_HOST_PREFIX)/bin'; \
-        $(INSTALL) -m755 '$(3)$(CMAKE_HOST_PREFIX)/lib/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll' '$(3)$(CMAKE_HOST_PREFIX)/bin/'; \
-        rm -f '$(3)$(CMAKE_HOST_PREFIX)/lib/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll'; \
+        $(INSTALL) -d '$($(PKG)_INSTALL_ROOT)$(CMAKE_HOST_PREFIX)/bin'; \
+        $(INSTALL) -m755 '$($(PKG)_INSTALL_ROOT)$(CMAKE_HOST_PREFIX)/lib/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll' '$($(PKG)_INSTALL_ROOT)$(CMAKE_HOST_PREFIX)/bin/'; \
+        rm -f '$($(PKG)_INSTALL_ROOT)$(CMAKE_HOST_PREFIX)/lib/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll'; \
     fi
+
 endef
--- a/src/qt-1-cherrypicks.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/qt-1-cherrypicks.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,14 +1,10 @@
 This file is part of MXE.
 See index.html for further information.
 
-Commits backported (cherry-picked) from upstream branch or merge requests.
-http://qt.gitorious.org/qt
-Also contains MXE specific fixes.
-
-From 2a376d8ff643ec0d40fdba68a25c3a323dbd5be4 Mon Sep 17 00:00:00 2001
+From 71fbc365fe7bbdaaac533599970e5da6058c0d01 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Fri, 13 Jan 2012 00:17:48 +0100
-Subject: [PATCH 01/24] remove trailing whitespace
+Subject: [PATCH 01/17] remove trailing whitespace
 
 backported from qt5/qtbase
 Change-Id: If53a0bd1794e69b4856f993c6e2959369bd007d6
@@ -29,13 +25,13 @@
                          ../plugins/codecs/tw/qbig5codec.h \
                          ../plugins/codecs/jp/qfontjpcodec.h
 -- 
-1.7.10.4
-
-
-From f9650fb05bde43a8d710469daa363383e3947e3a Mon Sep 17 00:00:00 2001
+2.1.4
+
+
+From 8ec190bf3f9973060e24e6d91e7730878f55bd27 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Thu, 30 Jun 2011 10:22:33 +0200
-Subject: [PATCH 02/24] do not detect or configure iconv for Windows
+Subject: [PATCH 02/17] do not detect or configure iconv for Windows
 
 Qt doesn't use iconv on Windows, but configuring it will appear to
 work and the build will complete. The result is that character
@@ -50,26 +46,26 @@
 (cherry picked from commit 9fa2b641ba6ff4f4b3f474b87ddb642cfa5c3d83)
 
 diff --git a/configure b/configure
-index d19f443..520ffc3 100755
+index 10ad7ca..25f16a5 100755
 --- a/configure
 +++ b/configure
-@@ -5682,7 +5682,7 @@ fi
+@@ -5815,7 +5815,7 @@ fi
  
  # auto-detect iconv(3) support
  if [ "$CFG_ICONV" != "no" ]; then
 -    if [ "$PLATFORM_QWS" = "yes" ] || [ "$PLATFORM_QPA" = "yes" -a "$CFG_ICONV" = "auto" ]; then
 +    if [ "$PLATFORM_QWS" = "yes" -o "$XPLATFORM_MINGW" = "yes" ] || [ "$PLATFORM_QPA" = "yes" -a "$CFG_ICONV" = "auto" ]; then
          CFG_ICONV=no
-     elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
+     elif compileTest "unix/iconv" "POSIX iconv"; then
          CFG_ICONV=yes
 -- 
-1.7.10.4
-
-
-From 04a44c0d6b3272c6edb08d34cecf36825843c2a0 Mon Sep 17 00:00:00 2001
+2.1.4
+
+
+From 1c62eae8be7321710c2bf47185da2ee3ec4c3613 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Wed, 18 Jan 2012 11:43:10 +0100
-Subject: [PATCH 03/24] fix whitespace
+Subject: [PATCH 03/17] fix whitespace
 
 backported from qt5/qtbase
 Change-Id: I0cfccae085c000d4368386a34f288c1e6f01a88f
@@ -137,13 +133,13 @@
                          ../plugins/codecs/tw/qbig5codec.cpp \
                          ../plugins/codecs/jp/qfontjpcodec.cpp
 -- 
-1.7.10.4
-
-
-From 043a2cdc024dd19685a1cd3694faa0cdbade5a82 Mon Sep 17 00:00:00 2001
+2.1.4
+
+
+From 1f3cca35dff62451a1e06cf6db3894e77afcaadd Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Mon, 4 Jul 2011 00:42:24 +0200
-Subject: [PATCH 04/24] build and load text codecs regardless of iconv and
+Subject: [PATCH 04/17] build and load text codecs regardless of iconv and
  platform
 
 Otherwise applications linking to static Qt may have to import
@@ -224,24 +220,24 @@
  }
  symbian:LIBS += -lcharconv
 diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp
-index 08d954c..f267acb 100644
+index dacf5e4..c837c26 100644
 --- a/src/corelib/codecs/qtextcodec.cpp
 +++ b/src/corelib/codecs/qtextcodec.cpp
 @@ -66,15 +66,14 @@
  #  include "qtsciicodec_p.h"
  #  include "qisciicodec_p.h"
  #if !defined(Q_OS_SYMBIAN) && !defined(Q_OS_INTEGRITY)
--#  if defined(QT_NO_ICONV) && !defined(QT_BOOTSTRAPPED)
+-#  if defined(QT_NO_ICONV) && !defined(QT_BOOTSTRAPPED) && !defined(QT_CODEC_PLUGINS)
 -// no iconv(3) support, must build all codecs into the library
-+#  if !defined(QT_BOOTSTRAPPED)
++#  if !defined(QT_BOOTSTRAPPED) && !defined(QT_CODEC_PLUGINS)
  #    include "../../plugins/codecs/cn/qgb18030codec.h"
  #    include "../../plugins/codecs/jp/qeucjpcodec.h"
  #    include "../../plugins/codecs/jp/qjiscodec.h"
  #    include "../../plugins/codecs/jp/qsjiscodec.h"
  #    include "../../plugins/codecs/kr/qeuckrcodec.h"
  #    include "../../plugins/codecs/tw/qbig5codec.h"
--#  endif // QT_NO_ICONV
-+#  endif // !QT_BOOTSTRAPPED
+-#  endif // QT_NO_ICONV && !QT_BOOTSTRAPPED && !QT_CODEC_PLUGINS
++#  endif // !QT_BOOTSTRAPPED && !QT_CODEC_PLUGINS
  #  if defined(Q_WS_X11) && !defined(QT_BOOTSTRAPPED)
  #    include "qfontlaocodec_p.h"
  #    include "../../plugins/codecs/jp/qfontjpcodec.h"
@@ -264,8 +260,8 @@
  
  
  #if !defined(Q_OS_SYMBIAN) && !defined(Q_OS_INTEGRITY)
--#  if defined(QT_NO_ICONV) && !defined(QT_BOOTSTRAPPED)
-+#  if !defined(QT_BOOTSTRAPPED)
+-#  if defined(QT_NO_ICONV) && !defined(QT_BOOTSTRAPPED) && !defined(QT_CODEC_PLUGINS)
++#  if !defined(QT_BOOTSTRAPPED) && !defined(QT_CODEC_PLUGINS)
      // no asian codecs when bootstrapping, sorry
      (void)new QGb18030Codec;
      (void)new QGbkCodec;
@@ -273,19 +269,19 @@
      (void)new QCP949Codec;
      (void)new QBig5Codec;
      (void)new QBig5hkscsCodec;
--#  endif // QT_NO_ICONV && !QT_BOOTSTRAPPED
-+#  endif // !QT_BOOTSTRAPPED
+-#  endif // QT_NO_ICONV && !QT_BOOTSTRAPPED && !QT_CODEC_PLUGINS
++#  endif // !QT_BOOTSTRAPPED && !QT_CODEC_PLUGINS
  #endif //Q_OS_SYMBIAN
  #endif // QT_NO_CODECS
  
 -- 
-1.7.10.4
-
-
-From c9e946e08850c2ea92c818bcef9b4f0ec47fb86f Mon Sep 17 00:00:00 2001
+2.1.4
+
+
+From e7cdbb9b7f3d98cab328e1e815041f0f486ef70d Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Fri, 13 Jan 2012 00:24:13 +0100
-Subject: [PATCH 05/24] move plugin text codecs to QtCore
+Subject: [PATCH 05/17] move plugin text codecs to QtCore
 
 Having plugin text codecs adds considerable complexity to
 configuring Qt. The plugin interface is designed for optional
@@ -363,46 +359,46 @@
  	SOURCES += codecs/qfontlaocodec.cpp
 diff --git a/src/corelib/codecs/cp949codetbl_p.h b/src/corelib/codecs/cp949codetbl_p.h
 new file mode 100644
-index 0000000..8bf9204
+index 0000000..fba4e60
 --- /dev/null
 +++ b/src/corelib/codecs/cp949codetbl_p.h
 @@ -0,0 +1,637 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -1006,46 +1002,46 @@
 +#endif // CP494CODETBL_H
 diff --git a/src/corelib/codecs/qbig5codec.cpp b/src/corelib/codecs/qbig5codec.cpp
 new file mode 100644
-index 0000000..662aee8
+index 0000000..e5919e9
 --- /dev/null
 +++ b/src/corelib/codecs/qbig5codec.cpp
 @@ -0,0 +1,12788 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -13800,46 +13796,46 @@
 +QT_END_NAMESPACE
 diff --git a/src/corelib/codecs/qbig5codec_p.h b/src/corelib/codecs/qbig5codec_p.h
 new file mode 100644
-index 0000000..eec1798
+index 0000000..ee95d25
 --- /dev/null
 +++ b/src/corelib/codecs/qbig5codec_p.h
 @@ -0,0 +1,124 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -13930,46 +13926,46 @@
 +#endif // QBIG5CODEC_H
 diff --git a/src/corelib/codecs/qeucjpcodec.cpp b/src/corelib/codecs/qeucjpcodec.cpp
 new file mode 100644
-index 0000000..69e314c
+index 0000000..7fa4dc3
 --- /dev/null
 +++ b/src/corelib/codecs/qeucjpcodec.cpp
 @@ -0,0 +1,261 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -14197,46 +14193,46 @@
 +QT_END_NAMESPACE
 diff --git a/src/corelib/codecs/qeucjpcodec_p.h b/src/corelib/codecs/qeucjpcodec_p.h
 new file mode 100644
-index 0000000..d693e04
+index 0000000..759ebb3
 --- /dev/null
 +++ b/src/corelib/codecs/qeucjpcodec_p.h
 @@ -0,0 +1,106 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -14309,46 +14305,46 @@
 +#endif // QEUCJPCODEC_H
 diff --git a/src/corelib/codecs/qeuckrcodec.cpp b/src/corelib/codecs/qeuckrcodec.cpp
 new file mode 100644
-index 0000000..bef4132
+index 0000000..4e16179
 --- /dev/null
 +++ b/src/corelib/codecs/qeuckrcodec.cpp
 @@ -0,0 +1,3571 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -17886,46 +17882,46 @@
 +QT_END_NAMESPACE
 diff --git a/src/corelib/codecs/qeuckrcodec_p.h b/src/corelib/codecs/qeuckrcodec_p.h
 new file mode 100644
-index 0000000..55a1337
+index 0000000..622e1a6
 --- /dev/null
 +++ b/src/corelib/codecs/qeuckrcodec_p.h
 @@ -0,0 +1,129 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -18021,46 +18017,46 @@
 +#endif // QEUCKRCODEC_H
 diff --git a/src/corelib/codecs/qfontjpcodec.cpp b/src/corelib/codecs/qfontjpcodec.cpp
 new file mode 100644
-index 0000000..2ac3d6c
+index 0000000..f472fdd
 --- /dev/null
 +++ b/src/corelib/codecs/qfontjpcodec.cpp
 @@ -0,0 +1,145 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -18172,46 +18168,46 @@
 +QT_END_NAMESPACE
 diff --git a/src/corelib/codecs/qfontjpcodec_p.h b/src/corelib/codecs/qfontjpcodec_p.h
 new file mode 100644
-index 0000000..dfb06bb
+index 0000000..67c4810
 --- /dev/null
 +++ b/src/corelib/codecs/qfontjpcodec_p.h
 @@ -0,0 +1,93 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -18271,46 +18267,46 @@
 +#endif // QFONTJPCODEC_H
 diff --git a/src/corelib/codecs/qgb18030codec.cpp b/src/corelib/codecs/qgb18030codec.cpp
 new file mode 100644
-index 0000000..928bc52
+index 0000000..b7dec3b
 --- /dev/null
 +++ b/src/corelib/codecs/qgb18030codec.cpp
 @@ -0,0 +1,9265 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -27542,46 +27538,46 @@
 +#endif // QT_NO_TEXTCODEC
 diff --git a/src/corelib/codecs/qgb18030codec_p.h b/src/corelib/codecs/qgb18030codec_p.h
 new file mode 100644
-index 0000000..3e082bf
+index 0000000..91aa151
 --- /dev/null
 +++ b/src/corelib/codecs/qgb18030codec_p.h
 @@ -0,0 +1,159 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -27707,46 +27703,46 @@
 +#endif // QGB18030CODEC_H
 diff --git a/src/corelib/codecs/qjiscodec.cpp b/src/corelib/codecs/qjiscodec.cpp
 new file mode 100644
-index 0000000..dd80541
+index 0000000..c637832
 --- /dev/null
 +++ b/src/corelib/codecs/qjiscodec.cpp
 @@ -0,0 +1,367 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -28080,46 +28076,46 @@
 +QT_END_NAMESPACE
 diff --git a/src/corelib/codecs/qjiscodec_p.h b/src/corelib/codecs/qjiscodec_p.h
 new file mode 100644
-index 0000000..dcdb04d
+index 0000000..3cc48dc
 --- /dev/null
 +++ b/src/corelib/codecs/qjiscodec_p.h
 @@ -0,0 +1,106 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -28192,46 +28188,46 @@
 +#endif // QJISCODEC_H
 diff --git a/src/corelib/codecs/qjpunicode.cpp b/src/corelib/codecs/qjpunicode.cpp
 new file mode 100644
-index 0000000..ffd8829
+index 0000000..6e8b2f5
 --- /dev/null
 +++ b/src/corelib/codecs/qjpunicode.cpp
 @@ -0,0 +1,10700 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -38898,46 +38894,46 @@
 +QT_END_NAMESPACE
 diff --git a/src/corelib/codecs/qjpunicode_p.h b/src/corelib/codecs/qjpunicode_p.h
 new file mode 100644
-index 0000000..a5bdd0c
+index 0000000..07b9b23
 --- /dev/null
 +++ b/src/corelib/codecs/qjpunicode_p.h
 @@ -0,0 +1,174 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -39078,46 +39074,46 @@
 +#endif // QJPUNICODE_H
 diff --git a/src/corelib/codecs/qsjiscodec.cpp b/src/corelib/codecs/qsjiscodec.cpp
 new file mode 100644
-index 0000000..f03cd26
+index 0000000..a9bc11a
 --- /dev/null
 +++ b/src/corelib/codecs/qsjiscodec.cpp
 @@ -0,0 +1,229 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -39313,46 +39309,46 @@
 +QT_END_NAMESPACE
 diff --git a/src/corelib/codecs/qsjiscodec_p.h b/src/corelib/codecs/qsjiscodec_p.h
 new file mode 100644
-index 0000000..3d3cde7
+index 0000000..49a77f7
 --- /dev/null
 +++ b/src/corelib/codecs/qsjiscodec_p.h
 @@ -0,0 +1,106 @@
 +/****************************************************************************
 +**
-+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
 +** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 +**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
 +** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
 +**
 +** $QT_END_LICENSE$
 +**
@@ -39424,13 +39420,13 @@
 +
 +#endif // QSJISCODEC_H
 diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp
-index f267acb..b6ed5e6 100644
+index c837c26..ee34492 100644
 --- a/src/corelib/codecs/qtextcodec.cpp
 +++ b/src/corelib/codecs/qtextcodec.cpp
 @@ -67,16 +67,16 @@
  #  include "qisciicodec_p.h"
  #if !defined(Q_OS_SYMBIAN) && !defined(Q_OS_INTEGRITY)
- #  if !defined(QT_BOOTSTRAPPED)
+ #  if !defined(QT_BOOTSTRAPPED) && !defined(QT_CODEC_PLUGINS)
 -#    include "../../plugins/codecs/cn/qgb18030codec.h"
 -#    include "../../plugins/codecs/jp/qeucjpcodec.h"
 -#    include "../../plugins/codecs/jp/qjiscodec.h"
@@ -39443,7 +39439,7 @@
 +#    include "qsjiscodec_p.h"
 +#    include "qeuckrcodec_p.h"
 +#    include "qbig5codec_p.h"
- #  endif // !QT_BOOTSTRAPPED
+ #  endif // !QT_BOOTSTRAPPED && !QT_CODEC_PLUGINS
  #  if defined(Q_WS_X11) && !defined(QT_BOOTSTRAPPED)
  #    include "qfontlaocodec_p.h"
 -#    include "../../plugins/codecs/jp/qfontjpcodec.h"
@@ -39475,46 +39471,46 @@
 -symbian:TARGET.UID3=0x2001E615
 diff --git a/src/plugins/codecs/cn/main.cpp b/src/plugins/codecs/cn/main.cpp
 deleted file mode 100644
-index 93b8b72..0000000
+index 968f11f..0000000
 --- a/src/plugins/codecs/cn/main.cpp
 +++ /dev/null
 @@ -1,145 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -39626,46 +39622,46 @@
 -#endif // QT_NO_TEXTCODECPLUGIN
 diff --git a/src/plugins/codecs/cn/qgb18030codec.cpp b/src/plugins/codecs/cn/qgb18030codec.cpp
 deleted file mode 100644
-index 928bc52..0000000
+index b7dec3b..0000000
 --- a/src/plugins/codecs/cn/qgb18030codec.cpp
 +++ /dev/null
 @@ -1,9265 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -48897,46 +48893,46 @@
 -#endif // QT_NO_TEXTCODEC
 diff --git a/src/plugins/codecs/cn/qgb18030codec.h b/src/plugins/codecs/cn/qgb18030codec.h
 deleted file mode 100644
-index 3e082bf..0000000
+index 91aa151..0000000
 --- a/src/plugins/codecs/cn/qgb18030codec.h
 +++ /dev/null
 @@ -1,159 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -49105,46 +49101,46 @@
 -symbian:TARGET.UID3=0x2001E614
 diff --git a/src/plugins/codecs/jp/main.cpp b/src/plugins/codecs/jp/main.cpp
 deleted file mode 100644
-index 6eee02f..0000000
+index e1abe8b..0000000
 --- a/src/plugins/codecs/jp/main.cpp
 +++ /dev/null
 @@ -1,149 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -49260,46 +49256,46 @@
 -#endif // QT_NO_TEXTCODECPLUGIN
 diff --git a/src/plugins/codecs/jp/qeucjpcodec.cpp b/src/plugins/codecs/jp/qeucjpcodec.cpp
 deleted file mode 100644
-index 69e314c..0000000
+index 7fa4dc3..0000000
 --- a/src/plugins/codecs/jp/qeucjpcodec.cpp
 +++ /dev/null
 @@ -1,261 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -49527,46 +49523,46 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/jp/qeucjpcodec.h b/src/plugins/codecs/jp/qeucjpcodec.h
 deleted file mode 100644
-index d693e04..0000000
+index 759ebb3..0000000
 --- a/src/plugins/codecs/jp/qeucjpcodec.h
 +++ /dev/null
 @@ -1,106 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -49639,46 +49635,46 @@
 -#endif // QEUCJPCODEC_H
 diff --git a/src/plugins/codecs/jp/qfontjpcodec.cpp b/src/plugins/codecs/jp/qfontjpcodec.cpp
 deleted file mode 100644
-index 2ac3d6c..0000000
+index f472fdd..0000000
 --- a/src/plugins/codecs/jp/qfontjpcodec.cpp
 +++ /dev/null
 @@ -1,145 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -49790,46 +49786,46 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/jp/qfontjpcodec.h b/src/plugins/codecs/jp/qfontjpcodec.h
 deleted file mode 100644
-index dfb06bb..0000000
+index 67c4810..0000000
 --- a/src/plugins/codecs/jp/qfontjpcodec.h
 +++ /dev/null
 @@ -1,93 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -49889,46 +49885,46 @@
 -#endif // QFONTJPCODEC_H
 diff --git a/src/plugins/codecs/jp/qjiscodec.cpp b/src/plugins/codecs/jp/qjiscodec.cpp
 deleted file mode 100644
-index dd80541..0000000
+index c637832..0000000
 --- a/src/plugins/codecs/jp/qjiscodec.cpp
 +++ /dev/null
 @@ -1,367 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -50262,46 +50258,46 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/jp/qjiscodec.h b/src/plugins/codecs/jp/qjiscodec.h
 deleted file mode 100644
-index dcdb04d..0000000
+index 3cc48dc..0000000
 --- a/src/plugins/codecs/jp/qjiscodec.h
 +++ /dev/null
 @@ -1,106 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -50374,46 +50370,46 @@
 -#endif // QJISCODEC_H
 diff --git a/src/plugins/codecs/jp/qjpunicode.cpp b/src/plugins/codecs/jp/qjpunicode.cpp
 deleted file mode 100644
-index ffd8829..0000000
+index 6e8b2f5..0000000
 --- a/src/plugins/codecs/jp/qjpunicode.cpp
 +++ /dev/null
 @@ -1,10700 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -61080,46 +61076,46 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/jp/qjpunicode.h b/src/plugins/codecs/jp/qjpunicode.h
 deleted file mode 100644
-index a5bdd0c..0000000
+index 07b9b23..0000000
 --- a/src/plugins/codecs/jp/qjpunicode.h
 +++ /dev/null
 @@ -1,174 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -61260,46 +61256,46 @@
 -#endif // QJPUNICODE_H
 diff --git a/src/plugins/codecs/jp/qsjiscodec.cpp b/src/plugins/codecs/jp/qsjiscodec.cpp
 deleted file mode 100644
-index f03cd26..0000000
+index a9bc11a..0000000
 --- a/src/plugins/codecs/jp/qsjiscodec.cpp
 +++ /dev/null
 @@ -1,229 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -61495,46 +61491,46 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/jp/qsjiscodec.h b/src/plugins/codecs/jp/qsjiscodec.h
 deleted file mode 100644
-index 3d3cde7..0000000
+index 49a77f7..0000000
 --- a/src/plugins/codecs/jp/qsjiscodec.h
 +++ /dev/null
 @@ -1,106 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -61607,46 +61603,46 @@
 -#endif // QSJISCODEC_H
 diff --git a/src/plugins/codecs/kr/cp949codetbl.h b/src/plugins/codecs/kr/cp949codetbl.h
 deleted file mode 100644
-index 8bf9204..0000000
+index fba4e60..0000000
 --- a/src/plugins/codecs/kr/cp949codetbl.h
 +++ /dev/null
 @@ -1,637 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -62276,46 +62272,46 @@
 -symbian:TARGET.UID3=0x2001B2E5
 diff --git a/src/plugins/codecs/kr/main.cpp b/src/plugins/codecs/kr/main.cpp
 deleted file mode 100644
-index cbfd133..0000000
+index d15830c..0000000
 --- a/src/plugins/codecs/kr/main.cpp
 +++ /dev/null
 @@ -1,131 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -62413,46 +62409,46 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/kr/qeuckrcodec.cpp b/src/plugins/codecs/kr/qeuckrcodec.cpp
 deleted file mode 100644
-index bef4132..0000000
+index 4e16179..0000000
 --- a/src/plugins/codecs/kr/qeuckrcodec.cpp
 +++ /dev/null
 @@ -1,3571 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -65990,46 +65986,46 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/kr/qeuckrcodec.h b/src/plugins/codecs/kr/qeuckrcodec.h
 deleted file mode 100644
-index 55a1337..0000000
+index 622e1a6..0000000
 --- a/src/plugins/codecs/kr/qeuckrcodec.h
 +++ /dev/null
 @@ -1,129 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -66125,46 +66121,46 @@
 -#endif // QEUCKRCODEC_H
 diff --git a/src/plugins/codecs/tw/main.cpp b/src/plugins/codecs/tw/main.cpp
 deleted file mode 100644
-index 4536e67..0000000
+index 8f8e84a..0000000
 --- a/src/plugins/codecs/tw/main.cpp
 +++ /dev/null
 @@ -1,138 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -66269,46 +66265,46 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/tw/qbig5codec.cpp b/src/plugins/codecs/tw/qbig5codec.cpp
 deleted file mode 100644
-index 662aee8..0000000
+index e5919e9..0000000
 --- a/src/plugins/codecs/tw/qbig5codec.cpp
 +++ /dev/null
 @@ -1,12788 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -79063,46 +79059,46 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/tw/qbig5codec.h b/src/plugins/codecs/tw/qbig5codec.h
 deleted file mode 100644
-index eec1798..0000000
+index ee95d25..0000000
 --- a/src/plugins/codecs/tw/qbig5codec.h
 +++ /dev/null
 @@ -1,124 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -79230,13 +79226,13 @@
  !embedded:!qpa:!contains(QT_CONFIG, no-gui):SUBDIRS *= graphicssystems
  embedded:SUBDIRS *=  gfxdrivers decorations mousedrivers kbddrivers
 -- 
-1.7.10.4
-
-
-From 7c457dbd99e5865f13499146e9487e9cb4b86868 Mon Sep 17 00:00:00 2001
+2.1.4
+
+
+From c0127a5e399f9483cf3738d96f819913bec0fea2 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Wed, 18 Jan 2012 21:01:26 +0100
-Subject: [PATCH 06/24] update private header references
+Subject: [PATCH 06/17] update private header references
 
 backported from qt5/qtbase
 Change-Id: I092d879653b6900532a0c4534c1eb2be84e9d0f6
@@ -79245,7 +79241,7 @@
 (cherry picked from commit 15e4df7d83fd30e16f014bc1ddc5d55884b388aa)
 
 diff --git a/src/corelib/codecs/qbig5codec.cpp b/src/corelib/codecs/qbig5codec.cpp
-index 662aee8..cd39ea0 100644
+index e5919e9..a3b1ff8 100644
 --- a/src/corelib/codecs/qbig5codec.cpp
 +++ b/src/corelib/codecs/qbig5codec.cpp
 @@ -39,7 +39,7 @@
@@ -79258,7 +79254,7 @@
  QT_BEGIN_NAMESPACE
  
 diff --git a/src/corelib/codecs/qeucjpcodec.cpp b/src/corelib/codecs/qeucjpcodec.cpp
-index 69e314c..091ad4d 100644
+index 7fa4dc3..8e3a600 100644
 --- a/src/corelib/codecs/qeucjpcodec.cpp
 +++ b/src/corelib/codecs/qeucjpcodec.cpp
 @@ -73,7 +73,7 @@
@@ -79271,7 +79267,7 @@
  QT_BEGIN_NAMESPACE
  
 diff --git a/src/corelib/codecs/qeucjpcodec_p.h b/src/corelib/codecs/qeucjpcodec_p.h
-index d693e04..a5cd119 100644
+index 759ebb3..fe02c4c 100644
 --- a/src/corelib/codecs/qeucjpcodec_p.h
 +++ b/src/corelib/codecs/qeucjpcodec_p.h
 @@ -71,7 +71,7 @@
@@ -79284,7 +79280,7 @@
  #include <QtCore/qlist.h>
  
 diff --git a/src/corelib/codecs/qeuckrcodec.cpp b/src/corelib/codecs/qeuckrcodec.cpp
-index bef4132..f91442f 100644
+index 4e16179..4212707 100644
 --- a/src/corelib/codecs/qeuckrcodec.cpp
 +++ b/src/corelib/codecs/qeuckrcodec.cpp
 @@ -65,8 +65,8 @@
@@ -79299,7 +79295,7 @@
  QT_BEGIN_NAMESPACE
  
 diff --git a/src/corelib/codecs/qfontjpcodec.cpp b/src/corelib/codecs/qfontjpcodec.cpp
-index 2ac3d6c..590d72d 100644
+index f472fdd..6219603 100644
 --- a/src/corelib/codecs/qfontjpcodec.cpp
 +++ b/src/corelib/codecs/qfontjpcodec.cpp
 @@ -39,9 +39,9 @@
@@ -79315,7 +79311,7 @@
  QT_BEGIN_NAMESPACE
  
 diff --git a/src/corelib/codecs/qgb18030codec.cpp b/src/corelib/codecs/qgb18030codec.cpp
-index 928bc52..5c0e701 100644
+index b7dec3b..4cc8f1b 100644
 --- a/src/corelib/codecs/qgb18030codec.cpp
 +++ b/src/corelib/codecs/qgb18030codec.cpp
 @@ -44,7 +44,7 @@
@@ -79328,7 +79324,7 @@
  #ifndef QT_NO_TEXTCODEC
  
 diff --git a/src/corelib/codecs/qjiscodec.cpp b/src/corelib/codecs/qjiscodec.cpp
-index dd80541..1831170 100644
+index c637832..e9747e3 100644
 --- a/src/corelib/codecs/qjiscodec.cpp
 +++ b/src/corelib/codecs/qjiscodec.cpp
 @@ -48,7 +48,7 @@
@@ -79341,7 +79337,7 @@
  
  QT_BEGIN_NAMESPACE
 diff --git a/src/corelib/codecs/qjiscodec_p.h b/src/corelib/codecs/qjiscodec_p.h
-index dcdb04d..bb59c33 100644
+index 3cc48dc..a320d61 100644
 --- a/src/corelib/codecs/qjiscodec_p.h
 +++ b/src/corelib/codecs/qjiscodec_p.h
 @@ -71,7 +71,7 @@
@@ -79354,7 +79350,7 @@
  #include <QtCore/qlist.h>
  
 diff --git a/src/corelib/codecs/qjpunicode.cpp b/src/corelib/codecs/qjpunicode.cpp
-index ffd8829..7827ef3 100644
+index 6e8b2f5..b4d7bf7 100644
 --- a/src/corelib/codecs/qjpunicode.cpp
 +++ b/src/corelib/codecs/qjpunicode.cpp
 @@ -44,7 +44,7 @@
@@ -79367,7 +79363,7 @@
  #include "qbytearray.h"
  #include <stdlib.h>
 diff --git a/src/corelib/codecs/qsjiscodec.cpp b/src/corelib/codecs/qsjiscodec.cpp
-index f03cd26..97e6000 100644
+index a9bc11a..00baca1 100644
 --- a/src/corelib/codecs/qsjiscodec.cpp
 +++ b/src/corelib/codecs/qsjiscodec.cpp
 @@ -48,7 +48,7 @@
@@ -79380,7 +79376,7 @@
  
  QT_BEGIN_NAMESPACE
 diff --git a/src/corelib/codecs/qsjiscodec_p.h b/src/corelib/codecs/qsjiscodec_p.h
-index 3d3cde7..4910bfd 100644
+index 49a77f7..098a590 100644
 --- a/src/corelib/codecs/qsjiscodec_p.h
 +++ b/src/corelib/codecs/qsjiscodec_p.h
 @@ -71,7 +71,7 @@
@@ -79393,13 +79389,13 @@
  #include <QtCore/qlist.h>
  
 -- 
-1.7.10.4
-
-
-From 2be2accfee23fee3a9d97e5852ff9d2a01a7c33f Mon Sep 17 00:00:00 2001
+2.1.4
+
+
+From 1c897873ed8ffe564c101e621afadb63b241ff57 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Sun, 3 Jul 2011 21:53:27 +0200
-Subject: [PATCH 07/24] cosmetic adjustments for files moved to core/codecs
+Subject: [PATCH 07/17] cosmetic adjustments for files moved to core/codecs
 
 -update old reference to 'plugin'
 -rename multiple inclusion guards
@@ -79412,18 +79408,18 @@
 (cherry picked from commit 712cfb509484599f1586f68cc379e3e7464e9967)
 
 diff --git a/src/corelib/codecs/cp949codetbl_p.h b/src/corelib/codecs/cp949codetbl_p.h
-index 8bf9204..228c5ad 100644
+index fba4e60..1c678d8 100644
 --- a/src/corelib/codecs/cp949codetbl_p.h
 +++ b/src/corelib/codecs/cp949codetbl_p.h
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 @@ -39,8 +39,19 @@
  **
  ****************************************************************************/
@@ -79453,31 +79449,31 @@
 -#endif // CP494CODETBL_H
 +#endif // CP494CODETBL_P_H
 diff --git a/src/corelib/codecs/qbig5codec.cpp b/src/corelib/codecs/qbig5codec.cpp
-index cd39ea0..13b317f 100644
+index a3b1ff8..526ff51 100644
 --- a/src/corelib/codecs/qbig5codec.cpp
 +++ b/src/corelib/codecs/qbig5codec.cpp
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 diff --git a/src/corelib/codecs/qbig5codec_p.h b/src/corelib/codecs/qbig5codec_p.h
-index eec1798..674c513 100644
+index ee95d25..50de2bb 100644
 --- a/src/corelib/codecs/qbig5codec_p.h
 +++ b/src/corelib/codecs/qbig5codec_p.h
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 @@ -43,8 +43,19 @@
  // is included in Qt with the author's permission, and the grateful
  // thanks of the Qt team.
@@ -79507,31 +79503,31 @@
 -#endif // QBIG5CODEC_H
 +#endif // QBIG5CODEC_P_H
 diff --git a/src/corelib/codecs/qeucjpcodec.cpp b/src/corelib/codecs/qeucjpcodec.cpp
-index 091ad4d..773c473 100644
+index 8e3a600..29b4fc1 100644
 --- a/src/corelib/codecs/qeucjpcodec.cpp
 +++ b/src/corelib/codecs/qeucjpcodec.cpp
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 diff --git a/src/corelib/codecs/qeucjpcodec_p.h b/src/corelib/codecs/qeucjpcodec_p.h
-index a5cd119..97d8523 100644
+index fe02c4c..e07e424 100644
 --- a/src/corelib/codecs/qeucjpcodec_p.h
 +++ b/src/corelib/codecs/qeucjpcodec_p.h
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 @@ -68,8 +68,19 @@
   * SUCH DAMAGE.
   */
@@ -79561,31 +79557,31 @@
 -#endif // QEUCJPCODEC_H
 +#endif // QEUCJPCODEC_P_H
 diff --git a/src/corelib/codecs/qeuckrcodec.cpp b/src/corelib/codecs/qeuckrcodec.cpp
-index f91442f..8417bf0 100644
+index 4212707..9475c85 100644
 --- a/src/corelib/codecs/qeuckrcodec.cpp
 +++ b/src/corelib/codecs/qeuckrcodec.cpp
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 diff --git a/src/corelib/codecs/qeuckrcodec_p.h b/src/corelib/codecs/qeuckrcodec_p.h
-index 55a1337..79647b1 100644
+index 622e1a6..300d4d3 100644
 --- a/src/corelib/codecs/qeuckrcodec_p.h
 +++ b/src/corelib/codecs/qeuckrcodec_p.h
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 @@ -64,8 +64,19 @@
   * SUCH DAMAGE.
   */
@@ -79615,31 +79611,31 @@
 -#endif // QEUCKRCODEC_H
 +#endif // QEUCKRCODEC_P_H
 diff --git a/src/corelib/codecs/qfontjpcodec.cpp b/src/corelib/codecs/qfontjpcodec.cpp
-index 590d72d..3d39524 100644
+index 6219603..371b47d 100644
 --- a/src/corelib/codecs/qfontjpcodec.cpp
 +++ b/src/corelib/codecs/qfontjpcodec.cpp
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 diff --git a/src/corelib/codecs/qfontjpcodec_p.h b/src/corelib/codecs/qfontjpcodec_p.h
-index dfb06bb..9e9b8dd 100644
+index 67c4810..33e8e57 100644
 --- a/src/corelib/codecs/qfontjpcodec_p.h
 +++ b/src/corelib/codecs/qfontjpcodec_p.h
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 @@ -39,8 +39,19 @@
  **
  ****************************************************************************/
@@ -79669,31 +79665,31 @@
 -#endif // QFONTJPCODEC_H
 +#endif // QFONTJPCODEC_P_H
 diff --git a/src/corelib/codecs/qgb18030codec.cpp b/src/corelib/codecs/qgb18030codec.cpp
-index 5c0e701..c5daef6 100644
+index 4cc8f1b..1278b1e 100644
 --- a/src/corelib/codecs/qgb18030codec.cpp
 +++ b/src/corelib/codecs/qgb18030codec.cpp
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 diff --git a/src/corelib/codecs/qgb18030codec_p.h b/src/corelib/codecs/qgb18030codec_p.h
-index 3e082bf..0f66211 100644
+index 91aa151..0406c41 100644
 --- a/src/corelib/codecs/qgb18030codec_p.h
 +++ b/src/corelib/codecs/qgb18030codec_p.h
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 @@ -41,8 +41,19 @@
  
  // Contributed by James Su <suzhe@gnuchina.org>
@@ -79723,31 +79719,31 @@
 -#endif // QGB18030CODEC_H
 +#endif // QGB18030CODEC_P_H
 diff --git a/src/corelib/codecs/qjiscodec.cpp b/src/corelib/codecs/qjiscodec.cpp
-index 1831170..83c4329 100644
+index e9747e3..1b78eca 100644
 --- a/src/corelib/codecs/qjiscodec.cpp
 +++ b/src/corelib/codecs/qjiscodec.cpp
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 diff --git a/src/corelib/codecs/qjiscodec_p.h b/src/corelib/codecs/qjiscodec_p.h
-index bb59c33..daccf57 100644
+index a320d61..6831e8b 100644
 --- a/src/corelib/codecs/qjiscodec_p.h
 +++ b/src/corelib/codecs/qjiscodec_p.h
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 @@ -68,8 +68,19 @@
   * SUCH DAMAGE.
   */
@@ -79777,31 +79773,31 @@
 -#endif // QJISCODEC_H
 +#endif // QJISCODEC_P_H
 diff --git a/src/corelib/codecs/qjpunicode.cpp b/src/corelib/codecs/qjpunicode.cpp
-index 7827ef3..1e4883f 100644
+index b4d7bf7..57ac03e 100644
 --- a/src/corelib/codecs/qjpunicode.cpp
 +++ b/src/corelib/codecs/qjpunicode.cpp
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 diff --git a/src/corelib/codecs/qjpunicode_p.h b/src/corelib/codecs/qjpunicode_p.h
-index a5bdd0c..07b5b25 100644
+index 07b9b23..1a43db9 100644
 --- a/src/corelib/codecs/qjpunicode_p.h
 +++ b/src/corelib/codecs/qjpunicode_p.h
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 @@ -68,8 +68,19 @@
   * SUCH DAMAGE.
   */
@@ -79831,31 +79827,31 @@
 -#endif // QJPUNICODE_H
 +#endif // QJPUNICODE_P_H
 diff --git a/src/corelib/codecs/qsjiscodec.cpp b/src/corelib/codecs/qsjiscodec.cpp
-index 97e6000..27121ad 100644
+index 00baca1..c31f9c8 100644
 --- a/src/corelib/codecs/qsjiscodec.cpp
 +++ b/src/corelib/codecs/qsjiscodec.cpp
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 diff --git a/src/corelib/codecs/qsjiscodec_p.h b/src/corelib/codecs/qsjiscodec_p.h
-index 4910bfd..d57f94b 100644
+index 098a590..951c248 100644
 --- a/src/corelib/codecs/qsjiscodec_p.h
 +++ b/src/corelib/codecs/qsjiscodec_p.h
 @@ -3,7 +3,7 @@
- ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:LGPL$
- ** GNU Lesser General Public License Usage
+ ** Commercial License Usage
 @@ -68,8 +68,19 @@
   * SUCH DAMAGE.
   */
@@ -79885,13 +79881,13 @@
 -#endif // QSJISCODEC_H
 +#endif // QSJISCODEC_P_H
 -- 
-1.7.10.4
-
-
-From eeecdea8f15353aa0461ec09f7064f456849a3c3 Mon Sep 17 00:00:00 2001
+2.1.4
+
+
+From 5dc34d557dc3f6ade4ac02e543f0b43cf15c92ba Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Thu, 12 Jan 2012 10:43:29 +0100
-Subject: [PATCH 08/24] remove obsolete codec plugin loading code
+Subject: [PATCH 08/17] remove obsolete codec plugin loading code
 
 backported from qt5/qtbase
 Change-Id: I1f3dbb5c10009413f701947b1b89ed3dbc94bf3d
@@ -79934,7 +79930,7 @@
      codecs/qjpunicode.cpp \
      codecs/qeucjpcodec.cpp \
 diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp
-index b6ed5e6..55e5b83 100644
+index ee34492..d04b6e0 100644
 --- a/src/corelib/codecs/qtextcodec.cpp
 +++ b/src/corelib/codecs/qtextcodec.cpp
 @@ -48,11 +48,6 @@
@@ -80082,46 +80078,46 @@
  
 diff --git a/src/corelib/codecs/qtextcodecplugin.cpp b/src/corelib/codecs/qtextcodecplugin.cpp
 deleted file mode 100644
-index b164f31..0000000
+index 0c55974..0000000
 --- a/src/corelib/codecs/qtextcodecplugin.cpp
 +++ /dev/null
 @@ -1,161 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the QtCore module of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -80249,46 +80245,46 @@
 -#endif // QT_NO_TEXTCODECPLUGIN
 diff --git a/src/corelib/codecs/qtextcodecplugin.h b/src/corelib/codecs/qtextcodecplugin.h
 deleted file mode 100644
-index 2873b0e..0000000
+index baf4a08..0000000
 --- a/src/corelib/codecs/qtextcodecplugin.h
 +++ /dev/null
 @@ -1,96 +0,0 @@
 -/****************************************************************************
 -**
--** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** Contact: http://www.qt-project.org/
+-** Copyright (C) 2015 The Qt Company Ltd.
+-** Contact: http://www.qt.io/licensing/
 -**
 -** This file is part of the QtCore module of the Qt Toolkit.
 -**
 -** $QT_BEGIN_LICENSE:LGPL$
+-** Commercial License Usage
+-** Licensees holding valid commercial Qt licenses may use this file in
+-** accordance with the commercial license agreement provided with the
+-** Software or, alternatively, in accordance with the terms contained in
+-** a written agreement between you and The Qt Company. For licensing terms
+-** and conditions see http://www.qt.io/terms-conditions. For further
+-** information use the contact form at http://www.qt.io/contact-us.
+-**
 -** GNU Lesser General Public License Usage
--** This file may be used under the terms of the GNU Lesser General Public
--** License version 2.1 as published by the Free Software Foundation and
--** appearing in the file LICENSE.LGPL included in the packaging of this
--** file. Please review the following information to ensure the GNU Lesser
--** General Public License version 2.1 requirements will be met:
+-** Alternatively, this file may be used under the terms of the GNU Lesser
+-** General Public License version 2.1 or version 3 as published by the Free
+-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+-** following information to ensure the GNU Lesser General Public License
+-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 -**
--** In addition, as a special exception, Nokia gives you certain additional
--** rights. These rights are described in the Nokia Qt LGPL Exception
+-** As a special exception, The Qt Company gives you certain additional
+-** rights. These rights are described in The Qt Company LGPL Exception
 -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 -**
 -** GNU General Public License Usage
--** Alternatively, this file may be used under the terms of the GNU General
--** Public License version 3.0 as published by the Free Software Foundation
--** and appearing in the file LICENSE.GPL included in the packaging of this
--** file. Please review the following information to ensure the GNU General
--** Public License version 3.0 requirements will be met:
--** http://www.gnu.org/copyleft/gpl.html.
--**
--** Other Usage
--** Alternatively, this file may be used in accordance with the terms and
--** conditions contained in a signed written agreement between you and Nokia.
--**
--**
--**
--**
--**
+-** Alternatively, this file may be used under the terms of the GNU
+-** General Public License version 3.0 as published by the Free Software
+-** Foundation and appearing in the file LICENSE.GPL included in the
+-** packaging of this file.  Please review the following information to
+-** ensure the GNU General Public License version 3.0 requirements will be
+-** met: http://www.gnu.org/copyleft/gpl.html.
 -**
 -** $QT_END_LICENSE$
 -**
@@ -80350,7 +80346,7 @@
 -
 -#endif // QTEXTCODECPLUGIN_H
 diff --git a/src/corelib/global/qconfig-medium.h b/src/corelib/global/qconfig-medium.h
-index 170b2c3..9ed73aa 100644
+index a143762..cfe6bb5 100644
 --- a/src/corelib/global/qconfig-medium.h
 +++ b/src/corelib/global/qconfig-medium.h
 @@ -91,9 +91,6 @@
@@ -80364,7 +80360,7 @@
  #  define QT_NO_TRANSLATION
  #endif
 diff --git a/src/corelib/global/qconfig-minimal.h b/src/corelib/global/qconfig-minimal.h
-index 6781c60..707e6b1 100644
+index 3f1e467..31f2b11 100644
 --- a/src/corelib/global/qconfig-minimal.h
 +++ b/src/corelib/global/qconfig-minimal.h
 @@ -167,9 +167,6 @@
@@ -80378,7 +80374,7 @@
  #  define QT_NO_TRANSLATION
  #endif
 diff --git a/src/corelib/global/qconfig-nacl.h b/src/corelib/global/qconfig-nacl.h
-index eb4632f..7fecfec 100644
+index 572a0a2..359fd90 100644
 --- a/src/corelib/global/qconfig-nacl.h
 +++ b/src/corelib/global/qconfig-nacl.h
 @@ -128,9 +128,6 @@
@@ -80392,7 +80388,7 @@
  #  define QT_NO_TRANSLATION
  #endif
 diff --git a/src/corelib/global/qconfig-small.h b/src/corelib/global/qconfig-small.h
-index 988dc6f..dda6567 100644
+index b0f0e61..52af4ef 100644
 --- a/src/corelib/global/qconfig-small.h
 +++ b/src/corelib/global/qconfig-small.h
 @@ -128,9 +128,6 @@
@@ -80406,7 +80402,7 @@
  #  define QT_NO_TRANSLATION
  #endif
 diff --git a/src/corelib/global/qfeatures.h b/src/corelib/global/qfeatures.h
-index 9612778..493269d 100644
+index 9048248..c24f24d 100644
 --- a/src/corelib/global/qfeatures.h
 +++ b/src/corelib/global/qfeatures.h
 @@ -643,11 +643,6 @@
@@ -80422,13 +80418,13 @@
  #if !defined(QT_NO_COLORDIALOG) && (defined(QT_NO_SPINBOX))
  #define QT_NO_COLORDIALOG
 -- 
-1.7.10.4
-
-
-From c94d9111ef83683ea2b7db6e4070594c4a332f1c Mon Sep 17 00:00:00 2001
+2.1.4
+
+
+From ca1433726aa600258482ff19e7e06bb7579d2bea Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Mon, 23 Jan 2012 23:12:46 +0100
-Subject: [PATCH 09/24] remove vestiges of text codec plugins
+Subject: [PATCH 09/17] remove vestiges of text codec plugins
 
 follow-up to 3a3356a85079d734dfa57205a00e1996afc033df
 
@@ -80456,13 +80452,13 @@
  Description: Supports translations using QObject::tr().
  Section: Internationalization
 -- 
-1.7.10.4
-
-
-From 415466a4ac2a87522569544a9b9ba7115fc4acf7 Mon Sep 17 00:00:00 2001
+2.1.4
+
+
+From 91a40f0dad01ff86e2a20877d2bd7843ee0bc0f2 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Thu, 3 Nov 2011 15:10:26 +0100
-Subject: [PATCH 10/24] use pkg-config for libmng (MXE specific)
+Subject: [PATCH 10/17] use pkg-config for libmng (MXE specific)
 
 Change-Id: Ifce956d5cad06d5273088656b8500b87980063f4
 
@@ -80482,13 +80478,13 @@
  } else {
      include($$PWD/../../3rdparty/libmng.pri)
 -- 
-1.7.10.4
-
-
-From 1cac3150930d5353455b560792f7e76fe180ad26 Mon Sep 17 00:00:00 2001
+2.1.4
+
+
+From cf3d3e0cba6d3825700000315c7d55c0b5e8e834 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Thu, 3 Nov 2011 14:11:02 +0100
-Subject: [PATCH 11/24] use pkg-config for libtiff-4 (MXE specific)
+Subject: [PATCH 11/17] use pkg-config for libtiff-4 (MXE specific)
 
 Change-Id: I5e89e66fc1606d425553e781c9e62db703136957
 
@@ -80508,116 +80504,13 @@
  } else {
      include($$PWD/../../3rdparty/libtiff.pri)
 -- 
-1.7.10.4
-
-
-From 28ad5f9d9c70feba6475652c6445bbe263998d3d Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Sat, 5 Jun 2010 23:41:04 +0200
-Subject: [PATCH 12/24] restore support for static linking of QtWebKit (MXE
- specific)
-
-Support was removed by 4221d629e2cf37ee8c5ba7cb595b05ab8c82f113.
-
-For static Qt on win32-g++*, applications using webkit link to jscore and webcore.
-
-Added INSTALLS and pkg-config for static jscore and webcore.
-
-Don't build Qt WebKit tests to avoid static linking problems.
-
-Change-Id: Ia969b8e3f2b656a5057c7ebf748f272d74f014da
-
-diff --git a/configure b/configure
-index 520ffc3..e018443 100755
---- a/configure
-+++ b/configure
-@@ -7683,12 +7683,6 @@ if [ "$CFG_GUI" = "no" ]; then
-     canBuildWebKit="no"
- fi
- 
--if [ "$CFG_SHARED" = "no" ]; then
--    echo
--    echo "WARNING: Using static linking will disable the WebKit module."
--    echo
--    canBuildWebKit="no"
--fi
- 
- CFG_CONCURRENT="yes"
- if [ "$canBuildQtConcurrent" = "no" ]; then
-diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri
-index d8290cf..28080f9 100644
---- a/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri
-+++ b/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri
-@@ -109,3 +109,15 @@ defineTest(prependJavaScriptCoreLib) {
-     return(true)
- }
- 
-+static {
-+    # applications must link to static libjscore
-+    target.path = $$[QT_INSTALL_LIBS]
-+    INSTALLS += target
-+
-+    CONFIG += create_pc
-+    QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS]
-+    QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS]/$$TARGET
-+    QMAKE_PKGCONFIG_CFLAGS = -I$$[QT_INSTALL_HEADERS]
-+    QMAKE_PKGCONFIG_DESTDIR = pkgconfig
-+}
-+
-diff --git a/src/3rdparty/webkit/Source/WebCore/WebCore.pri b/src/3rdparty/webkit/Source/WebCore/WebCore.pri
-index d83eec7..33c0b1f 100644
---- a/src/3rdparty/webkit/Source/WebCore/WebCore.pri
-+++ b/src/3rdparty/webkit/Source/WebCore/WebCore.pri
-@@ -365,3 +365,15 @@ defineTest(prependWebCoreLib) {
- 
-     return(true)
- }
-+
-+static {
-+    # applications must link to static libwebcore
-+    target.path = $$[QT_INSTALL_LIBS]
-+    INSTALLS += target
-+
-+    CONFIG += create_pc
-+    QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS]
-+    QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS]/$$TARGET
-+    QMAKE_PKGCONFIG_CFLAGS = -I$$[QT_INSTALL_HEADERS]
-+    QMAKE_PKGCONFIG_DESTDIR = pkgconfig
-+}
-diff --git a/src/3rdparty/webkit/Source/WebCore/WebCore.pro b/src/3rdparty/webkit/Source/WebCore/WebCore.pro
-index ceceee8..6609944 100644
---- a/src/3rdparty/webkit/Source/WebCore/WebCore.pro
-+++ b/src/3rdparty/webkit/Source/WebCore/WebCore.pro
-@@ -16,7 +16,7 @@ CONFIG += staticlib
- DESTDIR = $$WEBCORE_DESTDIR
- 
- DEFINES += BUILDING_WEBKIT
--DEFINES += QT_MAKEDLL
-+!static:DEFINES += QT_MAKEDLL
- 
- contains(DEFINES, WTF_USE_QT_MOBILE_THEME=1) {
-     DEFINES += ENABLE_NO_LISTBOX_RENDERING=1
-diff --git a/src/3rdparty/webkit/Source/WebKit.pro b/src/3rdparty/webkit/Source/WebKit.pro
-index 9be0f4a..6744f58 100644
---- a/src/3rdparty/webkit/Source/WebKit.pro
-+++ b/src/3rdparty/webkit/Source/WebKit.pro
-@@ -22,7 +22,7 @@ contains(QT_CONFIG, declarative) {
-     exists($$PWD/WebKit/qt/declarative): SUBDIRS += WebKit/qt/declarative
- }
- 
--exists($$PWD/WebKit/qt/tests): SUBDIRS += WebKit/qt/tests
-+#exists($$PWD/WebKit/qt/tests): SUBDIRS += WebKit/qt/tests
- 
- build-qtscript {
-     SUBDIRS += \
--- 
-1.7.10.4
-
-
-From ab04bc59d7caf5d04bb87bd75d2bbe98da89d599 Mon Sep 17 00:00:00 2001
+2.1.4
+
+
+From 3114536d3f81070801d20f7918009da5d19903bc Mon Sep 17 00:00:00 2001
 From: Tony Theodore <tonyt@logyst.com>
 Date: Thu, 1 Sep 2011 13:47:10 +0200
-Subject: [PATCH 13/24] fix building on GNU/kFreeBSD (MXE specific)
+Subject: [PATCH 12/17] fix building on GNU/kFreeBSD (MXE specific)
 
 This patch has been taken from:
 
@@ -80629,7 +80522,7 @@
 Last-Update: 2010-10-06
 
 diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
-index b3d4852..1a6a4a4 100644
+index 7b69922..44efb01 100644
 --- a/src/corelib/global/qglobal.h
 +++ b/src/corelib/global/qglobal.h
 @@ -226,6 +226,8 @@ namespace QT_NAMESPACE {}
@@ -80642,14 +80535,14 @@
  #  define Q_OS_NETBSD
  #  define Q_OS_BSD4
 -- 
-1.7.10.4
-
-
-From 28bf082efa51789d404e33bfbfdbe17a8261af87 Mon Sep 17 00:00:00 2001
+2.1.4
+
+
+From 361a81da244071ed138b03f15e8673f4039635eb Mon Sep 17 00:00:00 2001
 From: Tony Theodore <tonyt@logyst.com>
 Date: Thu, 1 Sep 2011 13:49:47 +0200
-Subject: [PATCH 14/24] fix missing platform when building on GNU/kFreeBSD
- (MXE specific)
+Subject: [PATCH 13/17] fix missing platform when building on GNU/kFreeBSD (MXE
+ specific)
 
 This patch is inspired by:
 http://anonscm.debian.org/gitweb/?p=pkg-kde/qt/qt4-x11.git;a=blob;f=debian/rules;h=47e5efbf09f77e6da51a3d719d2f6be47f69d096;hb=HEAD
@@ -80659,10 +80552,10 @@
 Change-Id: I1bebe2e6eef878318142ca5ed3525afc167b0a95
 
 diff --git a/configure b/configure
-index e018443..b600744 100755
+index 25f16a5..d044883 100755
 --- a/configure
 +++ b/configure
-@@ -2845,6 +2845,9 @@ if [ -z "$PLATFORM" ]; then
+@@ -2881,6 +2881,9 @@ if [ -z "$PLATFORM" ]; then
       GNU:*)
          PLATFORM=hurd-g++
          ;;
@@ -80673,13 +80566,13 @@
          PLATFORM=dgux-g++
          ;;
 -- 
-1.7.10.4
-
-
-From f32c0852485615d6938d1cde1e0b4dc4e6262a7e Mon Sep 17 00:00:00 2001
+2.1.4
+
+
+From 7e6725606c223301139f990e5633e03dae058cef Mon Sep 17 00:00:00 2001
 From: Tony Theodore <tonyt@logyst.com>
 Date: Thu, 1 Sep 2011 13:51:50 +0200
-Subject: [PATCH 15/24] fix building on dragonfly (MXE specific)
+Subject: [PATCH 14/17] fix building on dragonfly (MXE specific)
 
 This patch is inspired by:
 http://cvsweb.NetBSD.org/bsdweb.cgi/pkgsrc/x11/qt4-libs/Makefile.common?rev=1.27&content-type=text/x-cvsweb-markup
@@ -80687,10 +80580,10 @@
 Change-Id: I9743a39ac35950cb15af915c3ae527433bc6b56d
 
 diff --git a/configure b/configure
-index b600744..599203d 100755
+index d044883..dee735b 100755
 --- a/configure
 +++ b/configure
-@@ -2857,7 +2857,7 @@ if [ -z "$PLATFORM" ]; then
+@@ -2893,7 +2893,7 @@ if [ -z "$PLATFORM" ]; then
       ULTRIX:*)
          PLATFORM=ultrix-g++
          ;;
@@ -80700,477 +80593,146 @@
          PLATFORM_NOTES="
              - Also available for FreeBSD: freebsd-icc
 -- 
-1.7.10.4
-
-
-From 67da309cbc542e765d2254bd2e2c64a78c7cd35f Mon Sep 17 00:00:00 2001
-From: Yuchen Deng <loaden@gmail.com>
-Date: Sun, 19 Aug 2012 15:38:44 +0800
-Subject: [PATCH 16/24] Add -pipe option of win32-g++'s QMAKE_CFLAGS
-
-cherry-picked from qt5/qtbase commit 2b57a8ebfeb6e3495b63fac619631896ca670f11
-
-Change-Id: Idccab648df1a9456a4ee19f1acfdb0544d40a928
-Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
-(cherry picked from commit 9fbdb93d3aa1cad8859325814e28f014acd18f10)
-
-diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
-index d174634..6d631fc 100644
---- a/mkspecs/win32-g++/qmake.conf
-+++ b/mkspecs/win32-g++/qmake.conf
-@@ -25,7 +25,7 @@ QMAKE_LEX		= flex
- QMAKE_LEXFLAGS		=
- QMAKE_YACC		= byacc
- QMAKE_YACCFLAGS		= -d
--QMAKE_CFLAGS		=
-+QMAKE_CFLAGS		= -pipe
- QMAKE_CFLAGS_DEPS	= -M
- QMAKE_CFLAGS_WARN_ON	= -Wall -Wextra
- QMAKE_CFLAGS_WARN_OFF	= -w
+2.1.4
+
+
+From b5124ae6ecba4444614b01600979c692015766e8 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Wed, 30 Apr 2014 22:12:35 +0200
+Subject: [PATCH 15/17] fix for designer in shared build (MXE specific)
+
+Change-Id: I23afe70c17e88d63b649d851f89e187da9b79d96
+
+diff --git a/tools/designer/src/plugins/activeqt/activeqt.pro b/tools/designer/src/plugins/activeqt/activeqt.pro
+index f58df8a..0c25ed4 100644
+--- a/tools/designer/src/plugins/activeqt/activeqt.pro
++++ b/tools/designer/src/plugins/activeqt/activeqt.pro
+@@ -10,6 +10,8 @@ build_all:!build_pass {
+ 
+ INCLUDEPATH += $$QT_SOURCE_TREE/src/activeqt/shared/ \
+                $$QT_BUILD_TREE/src/activeqt/container \
++               $$QT_BUILD_TREE/src/activeqt/container/.uic/release-shared \
++               $$QT_BUILD_TREE/src/activeqt/container/.uic/debug-shared \
+                ../../lib/uilib
+ 
+ # Input
 -- 
-1.7.10.4
-
-
-From eeeadca6963f3dedd6ea3626409199f49afa839f Mon Sep 17 00:00:00 2001
-From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
-Date: Mon, 10 Sep 2012 12:08:51 +0200
-Subject: [PATCH 17/24] find qdevice.pri even for installed qt builds
-
-Change-Id: Ife18068974227d70c52e7cb0d06e6136827ac562
-Reviewed-by: Mark Brand <mabrand@mabrand.nl>
-(cherry picked from commit ffac77f7de433f67570ff0da9656bce6481be920)
-
-diff --git a/mkspecs/features/device_config.prf b/mkspecs/features/device_config.prf
-index f7aeb07..7da3fe5 100644
---- a/mkspecs/features/device_config.prf
-+++ b/mkspecs/features/device_config.prf
-@@ -1,6 +1,6 @@
- # Load generated qdevice.pri
- isEmpty(QT_BUILD_TREE): QT_BUILD_TREE = $$fromfile($$_QMAKE_CACHE_, QT_BUILD_TREE)
--isEmpty(QT_BUILD_TREE): QT_BUILD_TREE = . # where to get?
-+isEmpty(QT_BUILD_TREE): QT_BUILD_TREE = $$[QT_INSTALL_DATA]
- 
- DEVICE_PRI = $$QT_BUILD_TREE/mkspecs/qdevice.pri
- 
+2.1.4
+
+
+From b56a4996a5babd1a6f5c97c826dfd9f38d128698 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Thu, 8 May 2014 00:24:25 +1000
+Subject: [PATCH 16/17] fix include path with current dir
+
+
+diff --git a/src/3rdparty/webkit/Source/WebKit/qt/tests/hybridPixmap/hybridPixmap.pro b/src/3rdparty/webkit/Source/WebKit/qt/tests/hybridPixmap/hybridPixmap.pro
+index 9e80870..4fa0ea2 100644
+--- a/src/3rdparty/webkit/Source/WebKit/qt/tests/hybridPixmap/hybridPixmap.pro
++++ b/src/3rdparty/webkit/Source/WebKit/qt/tests/hybridPixmap/hybridPixmap.pro
+@@ -9,3 +9,4 @@ HEADERS += widget.h
+ FORMS += widget.ui
+ RESOURCES += resources.qrc
+ CONFIG += console
++INCLUDEPATH += .
 -- 
-1.7.10.4
-
-
-From 2519a7dd92f14031c7d11775caa0645384febd87 Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Wed, 12 Sep 2012 00:22:28 +0200
-Subject: [PATCH 18/24] Partial Revert "Disable pkg-config, when x-compiling
- for mingw"
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This partially reverts commit c7d5071afc6c76925c90ff35041dc4eb86511271.
-
-Despite what the commit message said, pkg-config previously worked
-and was useful, particularly for static Qt. Qt itself even installs
-its own .pc files.
-
-Note: The mkspec win32-g++-cross had a PKG_CONFIG definition to avoid
-using the pkg-config installation on the build machine.
-
-cherry-picked from qt5/qtbase commit 7d9b5e8e7d2094dedbe7e3e2f961544f233ce57e
-Change-Id: I6c6ed81b2ab42c9cf7f7e250feeeb9c34c8877e7
-Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
-Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
-(cherry picked from commit 57069f1bd5e8cd5450f1d1ceae0d6d315b4a66c8)
+2.1.4
+
+
+From 819d2791359bb5454c7a9350fbcbded092db4109 Mon Sep 17 00:00:00 2001
+From: Daniel Burr <dburr@topcon.com>
+Date: Mon, 1 Sep 2014 15:27:12 +0200
+Subject: [PATCH 17/17] qt dont perform ipc checks for win32
+
+Taken from:
+http://pkgs.fedoraproject.org/cgit/mingw-qt.git/plain/qt-dont-perform-ipc-checks-for-win32.patch?id2=HEAD
+
+"The configure script thinks that there is no IPC/shared memory
+support for this platform, while there is support. Fix the configure
+script"
+
+Change-Id: I066d52a5b0d3058793a65f95fad339f5785bfaa1
 
 diff --git a/configure b/configure
-index 599203d..a0786da 100755
---- a/configure
-+++ b/configure
-@@ -1684,7 +1684,6 @@ while [ "$#" -gt 0 ]; do
-         case `basename "$XPLATFORM"` in win32-g++*)
-             XPLATFORM_MINGW=yes
-             CFG_RPATH=no
--            PKG_CONFIG=no
-             CFG_REDUCE_EXPORTS=no
-             ;;
-         esac
--- 
-1.7.10.4
-
-
-From 03f7a56af4020aaead73c9d0de389d32fd4ddb24 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Peter=20K=C3=BCmmel?= <syntheticpp@gmx.net>
-Date: Wed, 12 Sep 2012 11:13:44 +0200
-Subject: [PATCH 19/24] When x-compiling on Linux the host tools doesn't have
- Windows' executable suffix
-
-patch not needed for Qt5
-
-Change-Id: I26a6cd8de91dc6df7d31a9f38187f7b1e8209cc1
-Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
-(cherry picked from commit 95c55b8a913fd7aaa23a44f1f9aa568342b25e07)
-
-diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
-index 6d631fc..2cd2214 100644
---- a/mkspecs/win32-g++/qmake.conf
-+++ b/mkspecs/win32-g++/qmake.conf
-@@ -11,6 +11,8 @@ MAKEFILE_GENERATOR	= MINGW
- 
- load(device_config)
- 
-+equals(QMAKE_HOST.os, Windows): EXE_SUFFIX = .exe
-+
- TEMPLATE		= app
- CONFIG			+= qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header
- QT			+= core gui
-@@ -101,9 +103,9 @@ QMAKE_LIBS_QT_ENTRY     = -lmingw32 -lqtmain
-     QMAKE_CHK_DIR_EXISTS	= if not exist
- }
- 
--QMAKE_MOC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe
--QMAKE_UIC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe
--QMAKE_IDC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe
-+QMAKE_MOC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc$${EXE_SUFFIX}
-+QMAKE_UIC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic$${EXE_SUFFIX}
-+QMAKE_IDC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc$${EXE_SUFFIX}
- 
- QMAKE_IDL		= midl
- QMAKE_LIB		= $${CROSS_COMPILE}ar -ru
--- 
-1.7.10.4
-
-
-From 32415e3cb482c55b16d5953e37865ded1885869d Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Tue, 11 Sep 2012 23:45:02 +0200
-Subject: [PATCH 20/24] smuggle QT_BUILD_TREE to device_config.prf even during
- tests
-
-Otherwise CROSS_COMPILE is not available for config.tests
-because qdevice.pri is not found in such configurations as:
-
-./configure -xplatform win32-g++-4.6 \
-            -device-option CROSS_COMPILE=$TARGET \
-            -prefix=$PREFIX/$TARGET \
-            -prefix-install
-
-Normally, we don't want to use .qmake.cache during tests,
-but we need that mechanism here.
-
-Change-Id: If255f9657fa4206c4875a730f467d58b8a1c6ac1
-Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
-(cherry picked from commit a0c6987dbb139829f9ea61a66cb863b1baa1f183)
-
-diff --git a/config.tests/unix/compile.test b/config.tests/unix/compile.test
-index f4a7f29..b8f6743 100755
---- a/config.tests/unix/compile.test
-+++ b/config.tests/unix/compile.test
-@@ -68,7 +68,8 @@ test -r Makefile && $MAKE distclean >/dev/null 2>&1
- # Make sure output from possible previous tests is gone
- rm -f "$EXE" "${EXE}.exe"
- 
--"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG-=debug_and_release" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "QT_BUILD_TREE=$OUTDIR" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile"
-+echo "QT_BUILD_TREE = $OUTDIR" > "$OUTDIR/$TEST/.qmake.cache"
-+"$OUTDIR/bin/qmake" -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG-=debug_and_release" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile"
- 
- if [ "$VERBOSE" = "yes" ]; then
-     $MAKE
--- 
-1.7.10.4
-
-
-From b0481b3c70c42136df1904de68a8f8fc797591e2 Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Sun, 16 Sep 2012 00:12:53 +0200
-Subject: [PATCH 21/24] configure: postpone pkg-config detection until after
- qmake is built
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-pkg-config isn't used before qmake is built, so these tests can take
-place afterward.
-
-This is preparation for using qmake to resolve PKG_CONFIG in mkspecs.
-
-Change-Id: Icedf9ebd80bbac3fe1e5d7eeca358cb0fc9de072
-Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
-Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
-(cherry picked from commit 1861f0317d4058482667154131f8eb6488db407e)
-
-diff --git a/configure b/configure
-index a0786da..53d0506 100755
+index dee735b..14cf433 100755
 --- a/configure
 +++ b/configure
-@@ -3330,64 +3330,9 @@ if [ "$OPT_VERBOSE" = "yes" ]; then
+@@ -5360,7 +5360,7 @@ if [ "$XPLATFORM_INTEGRITY" = "yes" ]; then
  fi
  
- #-------------------------------------------------------------------------------
--# write out device config before we run the test.
--#-------------------------------------------------------------------------------
--DEVICE_VARS_OUTFILE="$outpath/mkspecs/qdevice.pri"
--if cmp -s "$DEVICE_VARS_FILE" "$DEVICE_VARS_OUTFILE"; then
--    rm -f "$DEVICE_VARS_FILE"
--else
--    mv -f $DEVICE_VARS_FILE "$DEVICE_VARS_OUTFILE"
--    DEVICE_VARS_FILE="$DEVICE_VARS_OUTFILE"
--fi
--
--#-------------------------------------------------------------------------------
- # tests that don't need qmake (must be run before displaying help)
- #-------------------------------------------------------------------------------
- 
--if [ -z "$PKG_CONFIG" ]; then
--    # See if PKG_CONFIG is set in the mkspec:
--    PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
--fi
--if [ -z "$PKG_CONFIG" ]; then
--    PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
--fi
--
--# Work out if we can use pkg-config
--if [ "$QT_CROSS_COMPILE" = "yes" ]; then
--    if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
--        echo >&2 ""
--        echo >&2 "You have asked to use pkg-config and are cross-compiling."
--        echo >&2 "Please make sure you have a correctly set-up pkg-config"
--        echo >&2 "environment!"
--        echo >&2 ""
--        if [ -z "$PKG_CONFIG_PATH" ]; then
--            echo >&2 ""
--            echo >&2 "Warning: PKG_CONFIG_PATH has not been set.  This could mean"
--            echo >&2 "the host compiler's .pc files will be used. This is probably"
--            echo >&2 "not what you want."
--            echo >&2 ""
--        elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
--            echo >&2 ""
--            echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
--            echo >&2 "been set. This means your toolchain's .pc files must contain"
--            echo >&2 "the paths to the toolchain's libraries & headers. If configure"
--            echo >&2 "tests are failing, please check these files."
--            echo >&2 ""
--        fi
--    else
--        echo >&2 ""
--        echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
--        echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
--        echo >&2 "dependencies"
--        echo >&2 ""
--        PKG_CONFIG=""
--    fi
--fi
--
--if [ ! -n "$PKG_CONFIG" ]; then
--    QT_CONFIG="$QT_CONFIG no-pkg-config"
--fi
--
- # process CFG_MAC_ARCHS
- if [ "$PLATFORM_MAC" = "yes" ]; then
- #   check -arch arguments for validity.
-@@ -5058,6 +5003,61 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
- fi # Build qmake
- 
- #-------------------------------------------------------------------------------
-+# write out device config before we run the test.
-+#-------------------------------------------------------------------------------
-+DEVICE_VARS_OUTFILE="$outpath/mkspecs/qdevice.pri"
-+if cmp -s "$DEVICE_VARS_FILE" "$DEVICE_VARS_OUTFILE"; then
-+    rm -f "$DEVICE_VARS_FILE"
-+else
-+    mv -f $DEVICE_VARS_FILE "$DEVICE_VARS_OUTFILE"
-+    DEVICE_VARS_FILE="$DEVICE_VARS_OUTFILE"
-+fi
-+
-+if [ -z "$PKG_CONFIG" ]; then
-+    # See if PKG_CONFIG is set in the mkspec:
-+    PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
-+fi
-+if [ -z "$PKG_CONFIG" ]; then
-+    PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
-+fi
-+
-+# Work out if we can use pkg-config
-+if [ "$QT_CROSS_COMPILE" = "yes" ]; then
-+    if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
-+        echo >&2 ""
-+        echo >&2 "You have asked to use pkg-config and are cross-compiling."
-+        echo >&2 "Please make sure you have a correctly set-up pkg-config"
-+        echo >&2 "environment!"
-+        echo >&2 ""
-+        if [ -z "$PKG_CONFIG_PATH" ]; then
-+            echo >&2 ""
-+            echo >&2 "Warning: PKG_CONFIG_PATH has not been set.  This could mean"
-+            echo >&2 "the host compiler's .pc files will be used. This is probably"
-+            echo >&2 "not what you want."
-+            echo >&2 ""
-+        elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
-+            echo >&2 ""
-+            echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
-+            echo >&2 "been set. This means your toolchain's .pc files must contain"
-+            echo >&2 "the paths to the toolchain's libraries & headers. If configure"
-+            echo >&2 "tests are failing, please check these files."
-+            echo >&2 ""
-+        fi
-+    else
-+        echo >&2 ""
-+        echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
-+        echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
-+        echo >&2 "dependencies"
-+        echo >&2 ""
-+        PKG_CONFIG=""
-+    fi
-+fi
-+
-+if [ ! -n "$PKG_CONFIG" ]; then
-+    QT_CONFIG="$QT_CONFIG no-pkg-config"
-+fi
-+
-+#-------------------------------------------------------------------------------
- # tests that need qmake
- #-------------------------------------------------------------------------------
- 
+ # check IPC support
+-if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
++if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" -a "$XPLATFORM_MINGW" = "no" ]; then
+     # Raptor does not support configure tests.
+     if ! compileTest unix/ipc_sysv "ipc_sysv" ; then
+         # SYSV IPC is not supported - check POSIX IPC
 -- 
-1.7.10.4
-
-
-From b0638daae7481b9770e4a88bb7509f6cbbfee0e8 Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Fri, 14 Sep 2012 10:03:18 +0200
-Subject: [PATCH 22/24] use qmake to get PKG_CONFIG in configure script
-
-The value of PKG_CONFIG might depend on device options.
-For example, "-device-option PKG_CONFIG" might be used with configure
-or a mkspec might prefix PKG_CONFIG with CROSS_COMPILE which is
-specified as a device option.
-
-The shell functions of configure for parsing mkspecs do not take
-device options into account, but qmake is pretty good at it now.
-
-backport of qt5/qtbase 01864d4854557d2cf8b067e229d77cd7c9c553ee
-
-Change-Id: I1c9558e550c48e8441ebdac34b82066473c2ce3a
-Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
-(cherry picked from commit d8f1f7a29c277c9a643fd048b87f530e37773676)
+2.1.4
+
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: James McDonnell <jmcdonnell@qnx.com>
+Date: Thu, 14 Apr 2016 16:48:15 -0400
+Subject: [PATCH] Ensure -no-pch is effective
+
+Have configure add a "CONFIG -= precompile_header" to qmodule.pri when
+ -no-pch is specified.  Ensures that Qt is built without precompiled
+headers (as requested) even if allowing precompiled header use is the
+default for the toolchain.
+
+Parallels changes to Windows configure.
+
+Task-number: QTBUG-11545
+Change-Id: Iab4021e74c4e9978770e917dff97b976c449dd8b
+Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
+
+The patch was backported from Qt 5.7.0
+Commit in qtbase git: 7c1326a1c390bb15eaa164f748c947f1df9f542d
 
 diff --git a/configure b/configure
-index 53d0506..723502e 100755
+index 1111111..2222222 100755
 --- a/configure
 +++ b/configure
-@@ -5014,8 +5014,12 @@ else
- fi
- 
- if [ -z "$PKG_CONFIG" ]; then
--    # See if PKG_CONFIG is set in the mkspec:
--    PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
-+    # See if PKG_CONFIG is set in the mkspec or device options
-+    (echo TEMPLATE = subdirs
-+     echo 'message($$PKG_CONFIG)') > "$outpath/dummy.pro"
-+    echo "QT_BUILD_TREE = $outpath" > "$outpath/.qmake.cache.pkgconfig"
-+    PKG_CONFIG=`"$outpath/bin/qmake" -cache "$outpath/.qmake.cache.pkgconfig" -spec "$XQMAKESPEC" "$outpath/dummy.pro" -o /dev/null 2>&1 > /dev/null | sed -n -e 's,Project MESSAGE: \(.*\),\1,p'`
-+    rm "$outpath/.qmake.cache.pkgconfig" "$outpath/dummy.pro"
- fi
- if [ -z "$PKG_CONFIG" ]; then
-     PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
--- 
-1.7.10.4
-
-
-From 4814e4ff8a6d245eff8761113ac2ae8f37abf71a Mon Sep 17 00:00:00 2001
-From: Richard Moore <rich@kde.org>
-Date: Fri, 14 Sep 2012 00:13:08 +0100
-Subject: [PATCH 23/24] Disable SSL compression by default.
-
-Disable SSL compression by default since this appears to be the a likely
-cause of the currently hyped CRIME attack.
-
-This is a backport of 5ea896fbc63593f424a7dfbb11387599c0025c74
-
-Change-Id: I6eeefb23c6b140a9633b28ed85879459c474348a
-Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-Reviewed-by: Peter Hartmann <phartmann@rim.com>
-(cherry picked from commit d41dc3e101a694dec98d7bbb582d428d209e5401)
-
-diff --git a/src/network/ssl/qssl.cpp b/src/network/ssl/qssl.cpp
-index 49e086f..9578178 100644
---- a/src/network/ssl/qssl.cpp
-+++ b/src/network/ssl/qssl.cpp
-@@ -148,8 +148,9 @@ QT_BEGIN_NAMESPACE
- 
-     By default, SslOptionDisableEmptyFragments is turned on since this causes
-     problems with a large number of servers. SslOptionDisableLegacyRenegotiation
--    is also turned on, since it introduces a security risk. The other options
--    are turned off.
-+    is also turned on, since it introduces a security risk.
-+    SslOptionDisableCompression is turned on to prevent the attack publicised by
-+    CRIME. The other options are turned off.
- 
-     Note: Availability of above options depends on the version of the SSL
-     backend in use.
-diff --git a/src/network/ssl/qsslconfiguration.cpp b/src/network/ssl/qsslconfiguration.cpp
-index 24c7b77..3a05f54 100644
---- a/src/network/ssl/qsslconfiguration.cpp
-+++ b/src/network/ssl/qsslconfiguration.cpp
-@@ -201,7 +201,9 @@ bool QSslConfiguration::isNull() const
-             d->privateKey.isNull() &&
-             d->peerCertificate.isNull() &&
-             d->peerCertificateChain.count() == 0 &&
--            d->sslOptions == (QSsl::SslOptionDisableEmptyFragments|QSsl::SslOptionDisableLegacyRenegotiation));
-+            d->sslOptions == ( QSsl::SslOptionDisableEmptyFragments
-+                              |QSsl::SslOptionDisableLegacyRenegotiation
-+                              |QSsl::SslOptionDisableCompression));
+@@ -64,6 +64,7 @@ fi
+ OPT_CMDLINE=`echo $@ | sed "s,-v ,,g; s,-v$,,g"`
+ 
+ # initialize global variables
++CONFIG_SEPARATORS=`printf ' \t'`
+ QMAKE_SWITCHES=
+ QMAKE_VARS=
+ QMAKE_CONFIG=
+@@ -201,6 +202,21 @@ getXQMakeConf()
+     getQMakeConf3 "$1" "$xspecvals"
  }
  
- /*!
-diff --git a/src/network/ssl/qsslconfiguration_p.h b/src/network/ssl/qsslconfiguration_p.h
-index 74f17cd..c36b651 100644
---- a/src/network/ssl/qsslconfiguration_p.h
-+++ b/src/network/ssl/qsslconfiguration_p.h
-@@ -83,7 +83,9 @@ public:
-         : protocol(QSsl::SecureProtocols),
-           peerVerifyMode(QSslSocket::AutoVerifyPeer),
-           peerVerifyDepth(0),
--          sslOptions(QSsl::SslOptionDisableEmptyFragments|QSsl::SslOptionDisableLegacyRenegotiation)
-+          sslOptions(QSsl::SslOptionDisableEmptyFragments
-+                     |QSsl::SslOptionDisableLegacyRenegotiation
-+                     |QSsl::SslOptionDisableCompression)
-     { }
- 
-     QSslCertificate peerCertificate;
--- 
-1.7.10.4
-
-
-From 08f8d25243a021fb17bfce06cd2b1f96dea7454d Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Tue, 18 Sep 2012 21:40:22 +0200
-Subject: [PATCH 24/24] configure: mac features don't belong on cross mingw
- target
-
-CFG_MAC_DWARF2 and CFG_MAC_XARCH options are for targetting macs, not
-bulding on them.
-
-qt5/qtbase commit 7a67c822e3e552d0d881f0409a5316de07dbb8c7
-removed CFG_MAC_DWARF2.
-
-qt5/qtbase commit 59d5c26075724a581ed276d62d884b44d2ca4489
-removed CFG_MAC_XARCH.
-
-Change-Id: Idb789ed9a8aa9b824a4c2191a9c39e741ca49574
-
-diff --git a/configure b/configure
-index 723502e..0978939 100755
---- a/configure
-+++ b/configure
-@@ -3421,6 +3421,11 @@ elif [ "$CFG_PRECOMPILE" = "yes" ] && [ `echo "$CFG_MAC_ARCHS" | wc -w` -gt 1 ];
-     CFG_PRECOMPILE=no
- fi
- 
-+if [ "$XPLATFORM_MINGW" = "yes" ]; then
-+    CFG_MAC_DWARF2=no
-+    CFG_MAC_XARCH=no
++testXConfig()
++{
++    # Put a space on each end of the CONFIG value so that searching for the
++    # target with whitespace on either side will work even when it's the
++    # first/last/only item in the CONFIG value.
++    case \ `getXQMakeConf CONFIG`\  in
++    *[${CONFIG_SEPARATORS}]$1[${CONFIG_SEPARATORS}]*)
++        return 0
++        ;;
++    *)
++        return 1
++        ;;
++    esac
++}
++
+ compilerSupportsFlag()
+ {
+     cat >conftest.cpp <<EOF
+@@ -7410,7 +7426,11 @@ fi
+ [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
+ [ "$CFG_STACK_PROTECTOR_STRONG" = "yes" ] && QT_CONFIG="$QT_CONFIG stack-protector-strong"
+ [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
+-[ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
++if testXConfig precompile_header; then
++    [ "$CFG_PRECOMPILE" = "no" ] && QMakeVar del CONFIG precompile_header
++else
++    [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
 +fi
-+
- #auto-detect DWARF2 on the mac
- if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
-     if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
--- 
-1.7.10.4
-
+ if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
+     QMakeVar add QMAKE_CFLAGS -g
+     QMakeVar add QMAKE_CXXFLAGS -g
--- a/src/qt-1-pcre.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-diff -uNr a/src/3rdparty/javascriptcore/JavaScriptCore/pcre/jspcre.h b/src/3rdparty/javascriptcore/JavaScriptCore/pcre/jspcre.h
---- a/src/3rdparty/javascriptcore/JavaScriptCore/pcre/jspcre.h	1969-12-31 19:00:00.000000000 -0500
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/pcre/jspcre.h	2012-09-10 21:36:49.000000000 -0400
-@@ -0,0 +1,68 @@
-+/* This is the public header file for JavaScriptCore's variant of the PCRE
-+library. While this library started out as a copy of PCRE, many of the
-+features of PCRE have been removed. This library now supports only the
-+regular expression features required by the JavaScript language
-+specification, and has only the functions needed by JavaScriptCore and the
-+rest of WebKit.
-+
-+           Copyright (c) 1997-2005 University of Cambridge
-+    Copyright (C) 2002, 2004, 2006, 2007 Apple Inc. All rights reserved.
-+
-+-----------------------------------------------------------------------------
-+Redistribution and use in source and binary forms, with or without
-+modification, are permitted provided that the following conditions are met:
-+
-+    * Redistributions of source code must retain the above copyright notice,
-+      this list of conditions and the following disclaimer.
-+
-+    * Redistributions in binary form must reproduce the above copyright
-+      notice, this list of conditions and the following disclaimer in the
-+      documentation and/or other materials provided with the distribution.
-+
-+    * Neither the name of the University of Cambridge nor the names of its
-+      contributors may be used to endorse or promote products derived from
-+      this software without specific prior written permission.
-+
-+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-+POSSIBILITY OF SUCH DAMAGE.
-+-----------------------------------------------------------------------------
-+*/
-+
-+// FIXME: This file needs to be renamed to JSRegExp.h; it's no longer PCRE.
-+
-+#ifndef JSRegExp_h
-+#define JSRegExp_h
-+
-+#include <wtf/unicode/Unicode.h>
-+
-+struct JSRegExp;
-+
-+enum JSRegExpIgnoreCaseOption { JSRegExpDoNotIgnoreCase, JSRegExpIgnoreCase };
-+enum JSRegExpMultilineOption { JSRegExpSingleLine, JSRegExpMultiline };
-+
-+/* jsRegExpExecute error codes */
-+const int JSRegExpErrorNoMatch = -1;
-+const int JSRegExpErrorHitLimit = -2;
-+const int JSRegExpErrorNoMemory = -3;
-+const int JSRegExpErrorInternal = -4;
-+
-+JSRegExp* jsRegExpCompile(const UChar* pattern, int patternLength,
-+    JSRegExpIgnoreCaseOption, JSRegExpMultilineOption,
-+    unsigned* numSubpatterns, const char** errorMessage);
-+
-+int jsRegExpExecute(const JSRegExp*,
-+    const UChar* subject, int subjectLength, int startOffset,
-+    int* offsetsVector, int offsetsVectorLength);
-+
-+void jsRegExpFree(JSRegExp*);
-+
-+#endif
-diff -uNr a/src/3rdparty/javascriptcore/JavaScriptCore/pcre/pcre.h b/src/3rdparty/javascriptcore/JavaScriptCore/pcre/pcre.h
---- a/src/3rdparty/javascriptcore/JavaScriptCore/pcre/pcre.h	2012-09-10 21:36:49.000000000 -0400
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/pcre/pcre.h	1969-12-31 19:00:00.000000000 -0500
-@@ -1,68 +0,0 @@
--/* This is the public header file for JavaScriptCore's variant of the PCRE
--library. While this library started out as a copy of PCRE, many of the
--features of PCRE have been removed. This library now supports only the
--regular expression features required by the JavaScript language
--specification, and has only the functions needed by JavaScriptCore and the
--rest of WebKit.
--
--           Copyright (c) 1997-2005 University of Cambridge
--    Copyright (C) 2002, 2004, 2006, 2007 Apple Inc. All rights reserved.
--
-------------------------------------------------------------------------------
--Redistribution and use in source and binary forms, with or without
--modification, are permitted provided that the following conditions are met:
--
--    * Redistributions of source code must retain the above copyright notice,
--      this list of conditions and the following disclaimer.
--
--    * Redistributions in binary form must reproduce the above copyright
--      notice, this list of conditions and the following disclaimer in the
--      documentation and/or other materials provided with the distribution.
--
--    * Neither the name of the University of Cambridge nor the names of its
--      contributors may be used to endorse or promote products derived from
--      this software without specific prior written permission.
--
--THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
--AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
--IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
--ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
--LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
--CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
--SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
--INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
--CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
--ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
--POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------------------------------------
--*/
--
--// FIXME: This file needs to be renamed to JSRegExp.h; it's no longer PCRE.
--
--#ifndef JSRegExp_h
--#define JSRegExp_h
--
--#include <wtf/unicode/Unicode.h>
--
--struct JSRegExp;
--
--enum JSRegExpIgnoreCaseOption { JSRegExpDoNotIgnoreCase, JSRegExpIgnoreCase };
--enum JSRegExpMultilineOption { JSRegExpSingleLine, JSRegExpMultiline };
--
--/* jsRegExpExecute error codes */
--const int JSRegExpErrorNoMatch = -1;
--const int JSRegExpErrorHitLimit = -2;
--const int JSRegExpErrorNoMemory = -3;
--const int JSRegExpErrorInternal = -4;
--
--JSRegExp* jsRegExpCompile(const UChar* pattern, int patternLength,
--    JSRegExpIgnoreCaseOption, JSRegExpMultilineOption,
--    unsigned* numSubpatterns, const char** errorMessage);
--
--int jsRegExpExecute(const JSRegExp*,
--    const UChar* subject, int subjectLength, int startOffset,
--    int* offsetsVector, int offsetsVectorLength);
--
--void jsRegExpFree(JSRegExp*);
--
--#endif
-diff -uNr a/src/3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_internal.h b/src/3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_internal.h
---- a/src/3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_internal.h	2012-09-10 21:36:49.000000000 -0400
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_internal.h	2013-05-24 16:09:35.048637500 -0400
-@@ -79,7 +79,7 @@
- #pragma warning(disable: 4244)
- #endif
- 
--#include "pcre.h"
-+#include "jspcre.h"
- 
- /* The value of LINK_SIZE determines the number of bytes used to store links as
- offsets within the compiled regex. The default is 2, which allows for compiled
-diff -uNr a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/RegExp.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/RegExp.cpp
---- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/RegExp.cpp	2012-09-10 21:36:49.000000000 -0400
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/RegExp.cpp	2013-05-24 16:09:26.692742617 -0400
-@@ -44,7 +44,7 @@
- #include "JIT.h"
- #include "WRECGenerator.h"
- #endif
--#include <pcre/pcre.h>
-+#include <pcre/jspcre.h>
- 
- #endif
- 
-diff -uNr a/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.cpp
---- a/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.cpp	2012-09-10 21:36:49.000000000 -0400
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.cpp	2013-05-24 16:09:39.008587095 -0400
-@@ -32,7 +32,7 @@
- #include "MacroAssembler.h"
- #include "RegexCompiler.h"
- 
--#include "pcre.h" // temporary, remove when fallback is removed.
-+#include "jspcre.h" // temporary, remove when fallback is removed.
- 
- #if ENABLE(YARR_JIT)
- 
-diff -uNr a/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.h b/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.h
---- a/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.h	2012-09-10 21:36:49.000000000 -0400
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.h	2013-05-24 16:09:46.276492643 -0400
-@@ -34,7 +34,7 @@
- #include "RegexPattern.h"
- #include <UString.h>
- 
--#include <pcre.h>
-+#include <jspcre.h>
- struct JSRegExp; // temporary, remove when fallback is removed.
- 
- #if CPU(X86) && !COMPILER(MSVC)
--- a/src/qt-2-dbus.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-diff -ur qt-everywhere-opensource-src-4.8.3.orig/src/dbus/dbus.pro qt-everywhere-opensource-src-4.8.3/src/dbus/dbus.pro
---- qt-everywhere-opensource-src-4.8.3.orig/src/dbus/dbus.pro	2013-07-13 21:04:11 -0400
-+++ qt-everywhere-opensource-src-4.8.3/src/dbus/dbus.pro	2013-07-13 21:06:25 -0400
-@@ -20,6 +20,7 @@
-         QtXml
- }
- win32 { 
-+    PKGCONFIG += dbus-1
-     wince*:LIBS_PRIVATE += -lws2
-     else:LIBS_PRIVATE += -lws2_32 \
-         -ladvapi32 \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/qt-2-shared-tools-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,12 @@
+diff -ur qt-everywhere-opensource-src-4.8.7.orig/tools/linguist/shared/profileevaluator.cpp qt-everywhere-opensource-src-4.8.7/tools/linguist/shared/profileevaluator.cpp
+--- qt-everywhere-opensource-src-4.8.7.orig/tools/linguist/shared/profileevaluator.cpp	2015-06-07 17:14:32.348070244 -0400
++++ qt-everywhere-opensource-src-4.8.7/tools/linguist/shared/profileevaluator.cpp	2015-06-07 17:16:43.792075123 -0400
+@@ -65,7 +65,7 @@
+ #include <unistd.h>
+ #include <sys/utsname.h>
+ #else
+-#include <Windows.h>
++#include <windows.h>
+ #endif
+ #include <stdio.h>
+ #include <stdlib.h>
--- a/src/qt.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/qt.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,22 +3,29 @@
 
 PKG             := qt
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := bc352a283610e0cd2fe0dbedbc45613844090fcb
+$(PKG)_VERSION  := 4.8.7
+$(PKG)_CHECKSUM := 76aef40335c0701e5be7bb3a9101df5d22fe3666
 $(PKG)_SUBDIR   := $(PKG)-everywhere-opensource-src-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-everywhere-opensource-src-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://download.qt-project.org/archives/qt/4.8/$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_DEPS     := openssl zlib libpng jpeg libmng tiff dbus
+$(PKG)_URL      := http://download.qt.io/official_releases/qt/4.8/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS     := postgresql freetds zlib libpng jpeg libmng tiff sqlite dbus
+ifeq ($(MXE_WINDOWS_BUILD),no)
+  ifeq ($(USE_SYSTEM_X11_LIBS),no)
+    $(PKG)_DEPS += xdamage xdmcp xext xfixes xi xrender xt xxf86vm x11 xcb xcb-util xcb-util-cursor xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm
+  endif
+endif
 
 $(PKG)_CONFIGURE_CMD :=
 $(PKG)_CONFIGURE_CROSS_COMPILE_OPTION :=
 $(PKG)_CONFIGURE_DATABASE_OPTION :=
 $(PKG)_CONFIGURE_ENV := PKG_CONFIG_PATH='$(HOST_PREFIX)/lib/pkgconfig'
 $(PKG)_CONFIGURE_EXTRA_OPTION :=
-$(PKG)_CONFIGURE_INCLUDE_OPTION :=
+$(PKG)_CONFIGURE_INCLUDE_OPTION := -I '$(HOST_INCDIR)/freetype2'
 $(PKG)_CONFIGURE_LIBPATH_OPTION :=
 $(PKG)_CONFIGURE_PLATFORM_OPTION :=
 $(PKG)_PREFIX := $(HOST_PREFIX)
 $(PKG)_MKSPECS := $($(PKG)_PREFIX)
+$(PKG)_INSTALL_ROOT := $(3)
 
 ifneq ($(filter mingw msvc,$(MXE_SYSTEM)),)
   ifeq ($(MXE_NATIVE_BUILD),yes)
@@ -27,23 +34,40 @@
       # make. These need to be unset even when running configure script, as
       # this will run NMAKE to compile QMAKE.
       $(PKG)_CONFIGURE_ENV += MAKE= MAKEFLAGS=
+    else
+      # native mingw doesnt like using install root mixed with prefix
+      # and instead attempts to install to c:\INSTALL_ROOT\prefix
+      # so dont use it if compiling native mingw
+      $(PKG)_INSTALL_ROOT :=
     endif
   else
     $(PKG)_CONFIGURE_ENV := \
-      OPENSSL_LIBS="`'$(MXE_PKG_CONFIG)' --libs-only-l openssl`" \
-      PSQL_LIBS="-lpq -lsecur32 `'$(MXE_PKG_CONFIG)' --libs-only-l openssl` -lws2_32" \
-      SYBASE_LIBS="-lsybdb `'$(MXE_PKG_CONFIG)' --libs-only-l gnutls` -liconv -lws2_32"
+      PSQL_LIBS="-lpq -lsecur32 `'$(MXE_PKG_CONFIG)'` -lws2_32" \
+      SYBASE_LIBS="-lsybdb `'$(MXE_PKG_CONFIG)' --libs-only-l gnutls` -liconv -lws2_32" \
+      CXXFLAGS="-std=gnu++98"
+    $(PKG)_CONFIGURE_DATABASE_OPTION += -system-sqlite
   endif
   # compile-in generic ODBC driver under Windows
   $(PKG)_CONFIGURE_DATABASE_OPTION += -plugin-sql-odbc
 else
-  $(PKG)_CONFIGURE_ENV += \
-    LDFLAGS='-Wl,-rpath-link,$(HOST_LIBDIR) -L$(HOST_LIBDIR)'
+  ifeq ($(MXE_USE_LIB64_DIRECTORY),yes)
+    $(PKG)_CONFIGURE_ENV += \
+      LDFLAGS='-Wl,-rpath-link,$(HOST_LIBDIR) -L$(HOST_LIBDIR) -Wl,-rpath-link,$(HOST_LIB64DIR) -L$(HOST_LIB64DIR)'
+  else
+    $(PKG)_CONFIGURE_ENV += \
+      LDFLAGS='-Wl,-rpath-link,$(HOST_LIBDIR) -L$(HOST_LIBDIR)'
+  endif
+  $(PKG)_CONFIGURE_DATABASE_OPTION += -system-sqlite
 endif
 
 ifeq ($(MXE_NATIVE_BUILD),yes)
   $(PKG)_CONFIGURE_INCLUDE_OPTION += -I '$(HOST_INCDIR)'
   $(PKG)_CONFIGURE_LIBPATH_OPTION += -L '$(HOST_LIBDIR)'
+  ifeq ($(MXE_USE_LIB64_DIRECTORY),yes)
+    $(PKG)_CONFIGURE_LIBPATH_OPTION += -L '$(HOST_LIB64DIR)'
+  endif
+  $(PKG)_CONFIGURE_INCLUDE_OPTION += -I '$(HOST_INCDIR)/dbus-1.0'
+  $(PKG)_CONFIGURE_INCLUDE_OPTION += -I '$(HOST_LIBDIR)/dbus-1.0/include'
 endif
 
 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
@@ -64,11 +88,6 @@
   else
     $(PKG)_CONFIGURE_PLATFORM_OPTION := -platform win32-g++
   endif
-  # OPENSSL_LIBS needs to be specified here, specifying it as environment
-  # variables *before* "configure.exe" doesn't work. Also compile-in D-BUS
-  # support, for what it's worth...
-  $(PKG)_CONFIGURE_EXTRA_OPTION += \
-      OPENSSL_LIBS="`PKG_CONFIG_PATH='$(HOST_PREFIX)/lib/pkgconfig' '$(MXE_PKG_CONFIG)' --libs-only-l openssl`"
 else
   $(PKG)_CONFIGURE_CMD := configure
   $(PKG)_CONFIGURE_EXTRA_OPTION := \
@@ -76,9 +95,12 @@
       -make libs \
       -no-glib \
       -no-gstreamer \
+      -no-javascript-jit \
+      -no-openssl \
       -no-reduce-exports \
-      -no-ssse3 \
       -no-rpath \
+      -make translations \
+      -translationdir '$($(PKG)_PREFIX)/translations' \
       -device-option PKG_CONFIG='$(MXE_PKG_CONFIG)' \
       -force-pkg-config  \
       -v
@@ -88,13 +110,12 @@
       -device-option CROSS_COMPILE=$(MXE_TOOL_PREFIX)
     $(PKG)_CONFIGURE_PLATFORM_OPTION := -xplatform win32-g++-4.6
   endif
+
 endif
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://qt.gitorious.org/qt/qt/commits' | \
-    grep '<li><a href="/qt/qt/commit/' | \
-    $(SED) -n 's,.*<a[^>]*>v\([0-9][^<-]*\)<.*,\1,p' | \
-    tail -1
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
 endef
 
 define $(PKG)_BUILD
@@ -118,11 +139,14 @@
         -prefix $($(PKG)_PREFIX) \
         -script \
         -no-iconv \
+        -no-icu \
         -opengl desktop \
-        -openssl-linked \
         -no-webkit \
+        -no-pch \
         -no-phonon \
         -no-phonon-backend \
+        -no-xinerama \
+        -no-xrandr \
         -accessibility \
         -nomake demos \
         -nomake docs \
@@ -132,8 +156,7 @@
         -system-libpng \
         -system-libjpeg \
         -system-libtiff \
-        -system-libmng \
-        -no-sse2 
+        -system-libmng 
 
     if test x$(MXE_SYSTEM) = xmsvc; then \
         for f in $(1)/mkspecs/win32-msvc*/qmake.conf; do \
@@ -143,9 +166,17 @@
     fi
 
     # need to 'install' mkspecs for the native mingw to build during its build
+    # also need build tools qmake 
     if [ "$(MXE_NATIVE_MINGW_BUILD)" = yes ]; then \
       mkdir -p '$($(PKG)_MKSPECS)'; \
       cp -r '$(1)/mkspecs' '$($(PKG)_MKSPECS)'; \
+      $(INSTALL) -d '$($(PKG)_INSTALL_ROOT)$(BUILD_TOOLS_PREFIX)/bin'; \
+      $(INSTALL) -m755 '$(1)/bin/qmake.exe' '$($(PKG)_INSTALL_ROOT)$(BUILD_TOOLS_PREFIX)/bin/'; \
+    elif [ "$(MXE_NATIVE_BUILD)" = "yes" ]; then \
+      mkdir -p '$($(PKG)_MKSPECS)'; \
+      cp -r '$(1)/mkspecs' '$($(PKG)_MKSPECS)'; \
+      $(INSTALL) -d '$($(PKG)_INSTALL_ROOT)$(BUILD_TOOLS_PREFIX)/bin'; \
+      $(INSTALL) $(1)/bin/qmake '$($(PKG)_INSTALL_ROOT)$(BUILD_TOOLS_PREFIX)/bin/'; \
     fi
 
     # compilation under MSVC requires the use of NMAKE, which does not
@@ -159,10 +190,10 @@
           INSTALL_ROOT=`cd $(3) && pwd -W | sed -e 's,^[a-zA-Z]:,,' -e 's,/,\\\\,g'` install && \
       rm -f $(3)$(CMAKE_HOST_PREFIX)/lib/$(LIBRARY_PREFIX)Qt*.dll; \
     else \
-      make -C '$(1)' -j '$(JOBS)' && \
-      make -C '$(1)' -j 1 install INSTALL_ROOT='$(3)'; \
+      make -C '$(1)' -j '$(JOBS)'; \
+      make -C '$(1)' -j 1 install INSTALL_ROOT=$($(PKG)_INSTALL_ROOT); \
       if [ "$(MXE_SYSTEM)" = mingw ]; then \
-        rm -f $(3)$(HOST_LIBDIR)/$(LIBRARY_PREFIX)Qt*$(LIBRARY_SUFFIX).dll; \
+        rm -f $($(PKG)_INSTALL_ROOT)$(HOST_LIBDIR)/$(LIBRARY_PREFIX)Qt*$(LIBRARY_SUFFIX).dll; \
       fi \
     fi
 
@@ -173,21 +204,39 @@
          -e 's,\(.*\)_location=.*,\1_location=$${prefix}/bin/\1,g' \
          -e 's,\(Libs:.* -l\).*[\\/]\([A-Za-z0-9]*\),\1\2,g' \
          '{}' ';' ; \
-       $(INSTALL) -d '$(3)$(HOST_LIBDIR)/pkgconfig'; \
-       cp -f '$(1)/lib/pkgconfig/'*.pc '$(3)$(HOST_LIBDIR)/pkgconfig/';  \
+       $(INSTALL) -d '$($(PKG)_INSTALL_ROOT)$(HOST_LIBDIR)/pkgconfig'; \
+       cp -f '$(1)/lib/pkgconfig/'*.pc '$($(PKG)_INSTALL_ROOT)$(HOST_LIBDIR)/pkgconfig/';  \
     fi
 
     $(if $(filter-out msvc, $(MXE_SYSTEM)),
       $(if $(filter-out yes, $(MXE_NATIVE_BUILD)),
-        $(INSTALL) -d '$(3)$(BUILD_TOOLS_PREFIX)/bin'
-        $(INSTALL) -m755 '$(3)$($(PKG)_PREFIX)/bin/moc' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)moc'
-        $(INSTALL) -m755 '$(3)$($(PKG)_PREFIX)/bin/rcc' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)rcc'
-        $(INSTALL) -m755 '$(3)$($(PKG)_PREFIX)/bin/uic' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)uic'
-        $(INSTALL) -m755 '$(3)$($(PKG)_PREFIX)/bin/qmake' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)qmake'
+        $(INSTALL) -d '$($(PKG)_INSTALL_ROOT)$(BUILD_TOOLS_PREFIX)/bin'
+        mv '$($(PKG)_INSTALL_ROOT)$($(PKG)_PREFIX)/bin/moc' '$($(PKG)_INSTALL_ROOT)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)moc'
+        mv '$($(PKG)_INSTALL_ROOT)$($(PKG)_PREFIX)/bin/rcc' '$($(PKG)_INSTALL_ROOT)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)rcc'
+        mv '$($(PKG)_INSTALL_ROOT)$($(PKG)_PREFIX)/bin/uic' '$($(PKG)_INSTALL_ROOT)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)uic'
+        mv '$($(PKG)_INSTALL_ROOT)$($(PKG)_PREFIX)/bin/qmake' '$($(PKG)_INSTALL_ROOT)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)qmake'
       )
 
       # lrelease (from linguist) needed by octave for GUI build
-      $(MAKE) -C '$(1)/tools/linguist/lrelease' -j '$(JOBS)' install INSTALL_ROOT='$(3)'
+      $(MAKE) -C '$(1)/tools/linguist/lrelease' -j '$(JOBS)' 
+      $(MAKE) -C '$(1)/tools/linguist/lrelease' -j 1 install INSTALL_ROOT='$($(PKG)_INSTALL_ROOT)'
       $(if $(filter-out yes, $(MXE_NATIVE_BUILD)),
-        $(INSTALL) -m755 '$(3)$($(PKG)_PREFIX)/bin/lrelease' '$(3)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)lrelease'))
+        mv '$($(PKG)_INSTALL_ROOT)$($(PKG)_PREFIX)/bin/lrelease' '$($(PKG)_INSTALL_ROOT)$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)lrelease'))
+
+    # if mingw cross compiling, and want devel tools, create cross compiles uic, moc, rcc and lrelease
+    if [ "$(MXE_NATIVE_BUILD)" = "no" -a "$(MXE_SYSTEM)" = "mingw" ]; then \
+      if [ "$(ENABLE_DEVEL_TOOLS)" = "yes" ]; then \
+        for f in bootstrap moc uic rcc; do \
+          echo "do make in $$f"; \
+          make -C "$(1)/src/tools/$$f" distclean; \
+          cd "$(1)/src/tools/$$f" && $(MXE_QMAKE) -makefile -spec '$(1)/mkspecs/win32-g++'; \
+          make -C "$(1)/src/tools/$$f"; \
+          make -C "$(1)/src/tools/$$f" -j 1 install INSTALL_ROOT='$($(PKG)_INSTALL_ROOT)'; \
+        done; \
+        make -C '$(1)/tools/linguist/lrelease' distclean; \
+        cd '$(1)/tools/linguist/lrelease' && $(MXE_QMAKE) -makefile -spec '$(1)/mkspecs/win32-g++'; \
+        make -C '$(1)/tools/linguist/lrelease'; \
+        make -C '$(1)/tools/linguist/lrelease' -j 1 install INSTALL_ROOT='$($(PKG)_INSTALL_ROOT)'; \
+      fi; \
+    fi
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/qt5.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,18 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := qt5
+$(PKG)_VERSION   = $(qtbase_VERSION)
+$(PKG)_DEPS     := $(patsubst $(TOP_DIR)/src/%.mk,%,\
+                        $(shell grep -l 'qtbase_VERSION' \
+                                $(TOP_DIR)/src/qt*.mk \
+                                --exclude '$(TOP_DIR)/src/qt5.mk'))
+$(PKG)_FILE      =
+$(PKG)_URL       =
+$(PKG)_CHECKSUM := #No checksum
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/qtbase-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,67 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+From 7c5ba14d5b42334edb6a70239cf231f847f508ef Mon Sep 17 00:00:00 2001
+From: Ray Donnelly <mingw.android@gmail.com>
+Date: Wed, 26 Aug 2015 12:45:43 +0100
+Subject: [PATCH 1/2] cmake: Rearrange STATIC vs INTERFACE targets
+
+Otherwise we attempt to add_library(Qt5::UiPlugin STATIC IMPORTED)
+for header-only modules when building Qt5 statically.
+
+Source: https://git.io/vzWJz
+See also: https://github.com/mxe/mxe/issues/1185
+
+diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+index 364c23e750..c90dd302cf 100644
+--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+@@ -343,6 +343,9 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+     list(APPEND _Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES \"$${CMAKE_INTERFACE_QT5_MODULE_DEPS}\")
+ !!ENDIF
+ 
++!!IF equals(TEMPLATE, aux)
++    add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
++!!ELSE
+ !!IF !isEmpty(CMAKE_STATIC_TYPE)
+     if(NOT Qt5_EXCLUDE_STATIC_DEPENDENCIES)
+ !!IF !isEmpty(CMAKE_DEBUG_TYPE)
+@@ -380,9 +383,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ 
+     add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED)
+     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
+-!!ELSE
+-!!IF equals(TEMPLATE, aux)
+-    add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
+ !!ELSE
+     add_library(Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED)
+ !!ENDIF
+-- 
+2.20.1
+
+diff -ur qtbase-everywhere-src-5.11.0.orig/mkspecs/common/gcc-base.conf qtbase-everywhere-src-5.11.0/mkspecs/common/gcc-base.conf
+--- qtbase-everywhere-src-5.11.0.orig/mkspecs/common/gcc-base.conf     2018-06-12 07:47:54.488874295 -0400
++++ qtbase-everywhere-src-5.11.0/mkspecs/common/gcc-base.conf  2018-06-12 07:48:46.550096817 -0400
+@@ -46,7 +46,7 @@
+ QMAKE_CFLAGS_SHLIB         += $$QMAKE_CFLAGS_PIC
+ QMAKE_CFLAGS_STATIC_LIB    += $$QMAKE_CFLAGS_PIC
+ QMAKE_CFLAGS_APP           += $$QMAKE_CFLAGS_PIC
+-QMAKE_CFLAGS_ISYSTEM        = -isystem
++QMAKE_CFLAGS_ISYSTEM        = -I
+ QMAKE_CFLAGS_YACC          += -Wno-unused -Wno-parentheses
+ QMAKE_CFLAGS_HIDESYMS      += -fvisibility=hidden
+ QMAKE_CFLAGS_EXCEPTIONS_OFF += -fno-exceptions
+diff -ur qtbase-everywhere-src-5.13.0.orig/src/plugins/platforms/minimal/qminimalintegration.cpp qtbase-everywhere-src-5.13.0/src/plugins/platforms/minimal/qminimalintegration.cpp
+--- qtbase-everywhere-src-5.13.0.orig/src/plugins/platforms/minimal/qminimalintegration.cpp    2019-06-21 13:24:11.167038403 -0400
++++ qtbase-everywhere-src-5.13.0/src/plugins/platforms/minimal/qminimalintegration.cpp 2019-06-21 13:31:33.734199370 -0400
+@@ -162,7 +162,11 @@
+
+         if (!m_fontDatabase) {
+ #if QT_CONFIG(fontconfig)
++#  ifdef Q_OS_WIN
++            m_fontDatabase = new QFreeTypeFontDatabase;
++#  else
+             m_fontDatabase = new QGenericUnixFontDatabase;
++#  endif
+ #else
+             m_fontDatabase = QPlatformIntegration::fontDatabase();
+ #endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/qtbase.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,184 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := qtbase
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.14.2
+$(PKG)_CHECKSUM := 9de814d3b9005bf984a78e4b564fbb9413e043c4
+$(PKG)_SUBDIR   := $(PKG)-everywhere-src-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-everywhere-src-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL      := http://download.qt.io/official_releases/qt/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_VERSION)/submodules/$($(PKG)_FILE)
+ifeq ($(USE_SYSTEM_FONTCONFIG),no)
+  $(PKG)_FONTCONFIG := fontconfig
+endif
+$(PKG)_DEPS     := dbus double-conversion freetds freetype $($(PKG)_FONTCONFIG) icu4c jpeg libjbig libpng libproxy pcre2 postgresql sqlite zlib
+
+$(PKG)_CONFIGURE_CROSS_COMPILE_OPTION :=
+$(PKG)_CONFIGURE_DATABASE_OPTION :=
+$(PKG)_CONFIGURE_ENV :=
+$(PKG)_CONFIGURE_INCLUDE_OPTION :=
+$(PKG)_CONFIGURE_LIBPATH_OPTION :=
+$(PKG)_CONFIGURE_PLATFORM_OPTION :=
+$(PKG)_CONFIGURE_OPTS :=
+$(PKG)_PKG_CONFIG_PATH := $(PKG_CONFIG_PATH)
+
+ifeq ($(USE_SYSTEM_OPENGL),no)
+  $(PKG)_DEPS += mesa
+  $(PKG)_CONFIGURE_OPTS += -no-egl
+endif
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  $(PKG)_DEPS += uuid
+  ifeq ($(ENABLE_WINDOWS_64),yes)
+    $(PKG)_DEPS += icu4c
+    $(PKG)_CONFIGURE_OPTS += -icu
+  else
+    $(PKG)_CONFIGURE_OPTS += -no-icu
+  endif
+else
+  $(PKG)_DEPS += icu4c
+  $(PKG)_CONFIGURE_OPTS += -icu
+  ifeq ($(USE_SYSTEM_X11_LIBS),no)
+    $(PKG)_DEPS += xdamage xdmcp xext xfixes xi xrender xt xxf86vm x11 xcb xcb-util xcb-util-cursor xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm xkbcommon
+  endif
+endif
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- http://download.qt-project.org/official_releases/qt/$(call SHORT_PKG_VERSION,$(PKG))/ | \
+    $(SED) -n 's,.*href="\(5\.[0-9]\+\.[^/]*\)/".*,\1,p' | \
+    grep -iv -- '-rc' | \
+    sort |
+    tail -1
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  ## I haven't been able to change this to be just $(HOST_PREFIX),
+  ## though I would prefer to do that.  If it is changed, then
+  ## there are a number of other places that will need to be adjusted.
+  ## --jwe
+  $(PKG)_CONFIGURE_PREFIX_OPTION := -prefix '$(HOST_PREFIX)/qt5'
+  $(PKG)_CONFIGURE_OPTS += -no-xcb
+else
+  $(PKG)_CONFIGURE_PREFIX_OPTION := -prefix '$(HOST_PREFIX)'
+  $(PKG)_CONFIGURE_INCLUDE_OPTION += -I '$(HOST_INCDIR)/freetype2'
+ifeq ($(USE_SYSTEM_OPENGL),no)
+  $(PKG)_CONFIGURE_OPTS += -qpa xcb -xcb
+else
+  ifeq ($(USE_SYSTEM_X11_LIBS),no)
+    $(PKG)_CONFIGURE_OPTS += -qpa xcb -xcb
+  else
+    $(PKG)_CONFIGURE_OPTS += -qpa xcb
+  endif
+endif
+endif
+
+## These are needed whether cross compiling or not.
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  $(PKG)_CONFIGURE_ENV := PSQL_LIBS="-lpq -lsecur32 -lws2_32"
+  $(PKG)_CONFIGURE_DATABASE_OPTION += \
+    -system-sqlite -plugin-sql-sqlite -plugin-sql-odbc -plugin-sql-psql
+else
+  $(PKG)_CONFIGURE_DATABASE_OPTION += -system-sqlite
+endif
+
+ifeq ($(MXE_NATIVE_BUILD),yes)
+  $(PKG)_CONFIGURE_INCLUDE_OPTION += -I '$(HOST_INCDIR)'
+  $(PKG)_CONFIGURE_LIBPATH_OPTION += -L '$(HOST_LIBDIR)'
+  ifeq ($(MXE_USE_LIB64_DIRECTORY),yes)
+    $(PKG)_CONFIGURE_LIBPATH_OPTION += -L '$(HOST_LIB64DIR)'
+  endif
+  $(PKG)_CONFIGURE_INCLUDE_OPTION += -I '$(HOST_INCDIR)/dbus-1.0'
+  $(PKG)_CONFIGURE_INCLUDE_OPTION += -I '$(HOST_LIBDIR)/dbus-1.0/include'
+  ifeq ($(MXE_WINDOWS_BUILD),yes)
+    $(PKG)_CONFIGURE_PLATFORM_OPTION := -platform win32-g++
+  endif
+  $(PKG)_PKG_CONFIG_PATH := $(PKG_CONFIG_PATH):$(BUILD_PKG_CONFIG_PATH)
+else
+  $(PKG)_CONFIGURE_CROSS_COMPILE_OPTION := \
+    -device-option CROSS_COMPILE=$(MXE_TOOL_PREFIX)
+  ifeq ($(MXE_WINDOWS_BUILD),yes)
+    $(PKG)_CONFIGURE_PLATFORM_OPTION := -xplatform win32-g++
+  endif
+endif
+
+$(PKG)_CONFIGURE_ENV += \
+    PKG_CONFIG="$(MXE_PKG_CONFIG)" \
+    PKG_CONFIG_SYSROOT_DIR="/" \
+    PKG_CONFIG_LIBDIR=$($(PKG)_PKG_CONFIG_PATH)
+
+define $(PKG)_BUILD
+    cd '$(1)' && \
+        $($(PKG)_CONFIGURE_ENV) \
+        ./configure \
+            $($(PKG)_CONFIGURE_INCLUDE_OPTION) \
+            $($(PKG)_CONFIGURE_LIBPATH_OPTION) \
+            -no-strip \
+            -opensource \
+            -c++std c++11 \
+            -confirm-license \
+            $($(PKG)_CONFIGURE_PLATFORM_OPTION) \
+            $($(PKG)_CONFIGURE_CROSS_COMPILE_OPTION) \
+            -device-option PKG_CONFIG='$(MXE_PKG_CONFIG)' \
+            -pkg-config \
+            -force-pkg-config \
+            -no-use-gold-linker \
+            -shared \
+            $($(PKG)_CONFIGURE_PREFIX_OPTION) \
+            -hostprefix '$(BUILD_TOOLS_PREFIX)' \
+            -opengl desktop \
+            -no-glib \
+            -accessibility \
+            -nomake examples \
+            -nomake tests \
+            $($(PKG)_CONFIGURE_DATABASE_OPTION) \
+            -system-zlib \
+            -system-libpng \
+            -system-libjpeg \
+            -fontconfig \
+            -system-freetype \
+            -system-pcre \
+            -system-doubleconversion \
+            -no-openssl \
+            -dbus-linked \
+            -libproxy \
+            -no-pch \
+            -v \
+            $($(PKG)_CONFIGURE_OPTS)
+
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install
+
+    if [ $(MXE_WINDOWS_BUILD) = yes ]; then \
+      $(INSTALL) -d '$(HOST_BINDIR)'; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Concurrentd.dll '$(HOST_BINDIR)'/Qt5Concurrentd.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Concurrent.dll '$(HOST_BINDIR)'/Qt5Concurrent.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Cored.dll '$(HOST_BINDIR)'/Qt5Cored.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Core.dll '$(HOST_BINDIR)'/Qt5Core.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5DBusd.dll '$(HOST_BINDIR)'/Qt5DBusd.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5DBus.dll '$(HOST_BINDIR)'/Qt5DBus.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Guid.dll '$(HOST_BINDIR)'/Qt5Guid.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Gui.dll '$(HOST_BINDIR)'/Qt5Gui.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Networkd.dll '$(HOST_BINDIR)'/Qt5Networkd.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Network.dll '$(HOST_BINDIR)'/Qt5Network.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5OpenGLd.dll '$(HOST_BINDIR)'/Qt5OpenGLd.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5OpenGL.dll '$(HOST_BINDIR)'/Qt5OpenGL.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5PrintSupportd.dll '$(HOST_BINDIR)'/Qt5PrintSupportd.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5PrintSupport.dll '$(HOST_BINDIR)'/Qt5PrintSupport.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Sqld.dll '$(HOST_BINDIR)'/Qt5Sqld.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Sql.dll '$(HOST_BINDIR)'/Qt5Sql.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Testd.dll '$(HOST_BINDIR)'/Qt5Testd.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Test.dll '$(HOST_BINDIR)'/Qt5Test.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Widgetsd.dll '$(HOST_BINDIR)'/Qt5Widgetsd.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Widgets.dll '$(HOST_BINDIR)'/Qt5Widgets.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Xmld.dll '$(HOST_BINDIR)'/Qt5Xmld.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Xml.dll '$(HOST_BINDIR)'/Qt5Xml.dll; \
+    fi
+
+    if [ "$(MXE_NATIVE_BUILD)" = "no" ]; then \
+        ln -sf '$(BUILD_TOOLS_PREFIX)/bin/qmake' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'qmake-qt5; \
+        ln -sf '$(BUILD_TOOLS_PREFIX)/bin/moc' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'moc; \
+        ln -sf '$(BUILD_TOOLS_PREFIX)/bin/uic' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'uic; \
+        ln -sf '$(BUILD_TOOLS_PREFIX)/bin/rcc' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'rcc; \
+        ln -sf '$(BUILD_TOOLS_PREFIX)/bin/lrelease' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'lrelease; \
+    fi
+
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/qtimageformats.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := qtimageformats
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION   = $(qtbase_VERSION)
+$(PKG)_CHECKSUM := 012e05d4fc3ab480aa769ec71f66f241b6d1436a
+$(PKG)_SUBDIR    = $(subst qtbase,qtimageformats,$(qtbase_SUBDIR))
+$(PKG)_FILE      = $(subst qtbase,qtimageformats,$(qtbase_FILE))
+$(PKG)_URL       = $(subst qtbase,qtimageformats,$(qtbase_URL))
+$(PKG)_DEPS     := jasper libmng qtbase tiff
+
+define $(PKG)_UPDATE
+    echo $(qtbase_VERSION)
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && '$(MXE_QMAKE)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/qtsvg.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := qtsvg
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION   = $(qtbase_VERSION)
+$(PKG)_CHECKSUM := b298847fa6619aa50f8d74f6c146e75fd7c88a48
+$(PKG)_SUBDIR    = $(subst qtbase,qtsvg,$(qtbase_SUBDIR))
+$(PKG)_FILE      = $(subst qtbase,qtsvg,$(qtbase_FILE))
+$(PKG)_URL       = $(subst qtbase,qtsvg,$(qtbase_URL))
+$(PKG)_DEPS     := qtbase
+
+define $(PKG)_UPDATE
+    echo $(qtbase_VERSION)
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && '$(MXE_QMAKE)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install
+
+    if [ $(MXE_WINDOWS_BUILD) = yes ]; then \
+      $(INSTALL) -d '$(HOST_BINDIR)'; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Svgd.dll '$(HOST_BINDIR)'/Qt5Svgd.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Svg.dll '$(HOST_BINDIR)'/Qt5Svg.dll; \
+    fi
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/qttools-1.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,47 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Sun, 28 Apr 2019 23:07:09 +1000
+Subject: [PATCH 1/2] disable windeployqt (MXE specific)
+
+
+diff --git a/src/src.pro b/src/src.pro
+index 1111111..2222222 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -35,7 +35,7 @@ macos {
+ 
+ qtHaveModule(dbus): SUBDIRS += qdbus
+ 
+-win32|winrt:SUBDIRS += windeployqt
++#win32|winrt:SUBDIRS += windeployqt
+ winrt:SUBDIRS += winrtrunner
+ qtHaveModule(gui):!wasm:!android:!uikit:!qnx:!winrt: SUBDIRS += qtdiag
+ 
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Sun, 28 Apr 2019 23:12:41 +1000
+Subject: [PATCH 2/2] disable qdoc (MXE specific - requires libclang-devel)
+
+
+diff --git a/src/src.pro b/src/src.pro
+index 1111111..2222222 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -23,9 +23,9 @@ qtConfig(library) {
+     !android|android_app: SUBDIRS += qtplugininfo
+ }
+ 
+-include($$OUT_PWD/qdoc/qtqdoc-config.pri)
+-QT_FOR_CONFIG += qdoc-private
+-qtConfig(qdoc): qtConfig(thread): SUBDIRS += qdoc
++#include($$OUT_PWD/qdoc/qtqdoc-config.pri)
++#QT_FOR_CONFIG += qdoc-private
++#qtConfig(qdoc): qtConfig(thread): SUBDIRS += qdoc
+ 
+ !android|android_app: SUBDIRS += qtpaths
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/qttools.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,35 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := qttools
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION   = $(qtbase_VERSION)
+$(PKG)_CHECKSUM := 172794608668d772c9ad6cd289bb84e0b3336999
+$(PKG)_SUBDIR    = $(subst qtbase,qttools,$(qtbase_SUBDIR))
+$(PKG)_FILE      = $(subst qtbase,qttools,$(qtbase_FILE))
+$(PKG)_URL       = $(subst qtbase,qttools,$(qtbase_URL))
+$(PKG)_DEPS     := qtbase
+
+define $(PKG)_UPDATE
+    echo $(qtbase_VERSION)
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && '$(MXE_QMAKE)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install
+
+    if [ $(MXE_WINDOWS_BUILD) = yes ]; then \
+      $(INSTALL) -d '$(HOST_BINDIR)'; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5CLucened.dll '$(HOST_BINDIR)'/Qt5CLucened.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5CLucene.dll '$(HOST_BINDIR)'/Qt5CLucene.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Helpd.dll '$(HOST_BINDIR)'/Qt5Helpd.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/Qt5Help.dll '$(HOST_BINDIR)'/Qt5Help.dll; \
+      mv '$(HOST_PREFIX)'/qt5/bin/qdbus.exe '$(HOST_BINDIR)'/qdbus.exe; \
+      mv '$(HOST_PREFIX)'/qt5/bin/qdbusviewer.exe '$(HOST_BINDIR)'/qdbusviewer.exe; \
+      mv '$(HOST_PREFIX)'/qt5/bin/qtdiag.exe '$(HOST_BINDIR)'/qtdiag.exe; \
+      mv '$(HOST_PREFIX)'/qt5/bin/qtpaths.exe '$(HOST_BINDIR)'/qtpaths.exe; \
+      mv '$(HOST_PREFIX)'/qt5/bin/qtplugininfo.exe '$(HOST_BINDIR)'/qtplugininfo.exe; \
+    fi
+endef
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/qttranslations.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE. See LICENSE.md for licensing information.
+
+PKG             := qttranslations
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION   = $(qtbase_VERSION)
+$(PKG)_CHECKSUM := cf5e6ebf5a2ef2786908c03cbe191b31efa927e0
+$(PKG)_SUBDIR    = $(subst qtbase,qttranslations,$(qtbase_SUBDIR))
+$(PKG)_FILE      = $(subst qtbase,qttranslations,$(qtbase_FILE))
+$(PKG)_URL       = $(subst qtbase,qttranslations,$(qtbase_URL))
+$(PKG)_DEPS     := qtbase qttools
+
+define $(PKG)_UPDATE
+    echo $(qtbase_VERSION)
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && '$(MXE_QMAKE)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install
+endef
+
--- a/src/qwt.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/qwt.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 # Qwt - Qt widgets for technical applications
 PKG             := qwt
+$(PKG)_VERSION  := 6.0.1
 $(PKG)_CHECKSUM := 7ea84ee47339809c671a456b5363d941c45aea92
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $($(PKG)_SUBDIR).zip
@@ -12,7 +13,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/qwt/files/qwt/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- a/src/qwtplot3d.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/qwtplot3d.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := qwtplot3d
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.2.7
 $(PKG)_CHECKSUM := 4463fafb8420a91825e165da7a296aaabd70abea
 $(PKG)_SUBDIR   := $(PKG)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tgz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/$(PKG)/files/$(PKG)/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/rapidjson-1-prettywriter.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,56 @@
+From ac0fc79c76fc92783d2a5267082a1f8f9c28df22 Mon Sep 17 00:00:00 2001
+From: Gustav <sir.gustav.the.coder@gmail.com>
+Date: Mon, 18 May 2020 14:06:39 +0200
+Subject: [PATCH] Fixes issue #1718
+
+---
+ include/rapidjson/writer.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/rapidjson/writer.h b/include/rapidjson/writer.h
+index e7fb873a4..51dd86d58 100644
+--- a/include/rapidjson/writer.h
++++ b/include/rapidjson/writer.h
+@@ -283,6 +283,8 @@ class Writer {
+         os_->Flush();
+     }
+ 
++    static const size_t kDefaultLevelDepth = 32;
++
+ protected:
+     //! Information for each nested level
+     struct Level {
+@@ -291,8 +293,6 @@ class Writer {
+         bool inArray;       //!< true if in array, otherwise in object
+     };
+ 
+-    static const size_t kDefaultLevelDepth = 32;
+-
+     bool WriteNull()  {
+         PutReserve(*os_, 4);
+         PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'u'); PutUnsafe(*os_, 'l'); PutUnsafe(*os_, 'l'); return true;
+
+From d88be8ef1649eca4602348d1aab5c16c36f83d4f Mon Sep 17 00:00:00 2001
+From: Milo Yip <miloyip@gmail.com>
+Date: Mon, 27 Mar 2017 14:05:03 +0800
+Subject: [PATCH] Fix #905 unable to set writeFlags for PrettyWriter
+
+---
+ include/rapidjson/prettywriter.h   |  2 +-
+ test/unittest/prettywritertest.cpp | 43 ++++++++++++++++++++++++++++++
+ 2 files changed, 44 insertions(+), 1 deletion(-)
+
+diff --git a/include/rapidjson/prettywriter.h b/include/rapidjson/prettywriter.h
+index ef36a8c2a..98dfb3060 100644
+--- a/include/rapidjson/prettywriter.h
++++ b/include/rapidjson/prettywriter.h
+@@ -47,7 +47,7 @@ enum PrettyFormatOptions {
+ template<typename OutputStream, typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
+ class PrettyWriter : public Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags> {
+ public:
+-    typedef Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator> Base;
++    typedef Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags> Base;
+     typedef typename Base::Ch Ch;
+ 
+     //! Constructor
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/rapidjson.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := rapidjson
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.0
+$(PKG)_CHECKSUM := a3e0d043ad3c2d7638ffefa3beb30a77c71c869f
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
+$(PKG)_URL      := https://github.com/Tencent/$(PKG)/archive/v$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS     :=
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://github.com/Tencent/$(PKG)/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    mkdir '$(1).build'
+    cd '$(1).build' && \
+    cmake \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
+        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+        -DRAPIDJSON_BUILD_DOC=Off \
+        -DRAPIDJSON_BUILD_EXAMPLES=Off \
+        -DRAPIDJSON_BUILD_TESTS=Off \
+        '$(1)'
+    $(MAKE) -C '$(1).build' -j '$(JOBS)' DESTDIR='$(3)' install
+endef
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/readline-0-001.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.0
+Patch-ID: readline80-001
+
+Bug-Reported-by:	chet.ramey@case.edu
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+The history file reading code doesn't close the file descriptor open to
+the history file when it encounters a zero-length file.
+
+diff --git "a/histfile.c" "b/histfile.c"
+--- a/histfile.c	2018-06-11 09:14:52.000000000 -0400
++++ b/histfile.c	2019-05-16 15:55:57.000000000 -0400
+@@ -306,4 +306,5 @@
+     {
+       free (input);
++      close (file);
+       return 0;	/* don't waste time if we don't have to */
+     }
+diff --git "a/patchlevel" "b/patchlevel"
+--- a/patchlevel	2013-11-15 08:11:11.000000000 -0500
++++ b/patchlevel	2014-03-21 08:28:40.000000000 -0400
+@@ -1,3 +1,3 @@
+ # Do not edit -- exists only for use by patch
+ 
+-0
++1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/readline-0-002.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,46 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.0
+Patch-ID: readline80-002
+
+Bug-Reported-by:	lessbug@qq.com
+Bug-Reference-ID:	<tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
+Bug-Reference-URL:
+
+Bug-Description:
+
+When using previous-history to go back beyond the beginning of the history list,
+it's possible to move to an incorrect partial line.
+
+diff --git "a/misc.c" "b/misc.c"
+--- a/misc.c	2017-07-07 17:30:12.000000000 -0400
++++ b/misc.c	2019-05-16 11:43:46.000000000 -0400
+@@ -577,4 +577,5 @@
+ {
+   HIST_ENTRY *old_temp, *temp;
++  int had_saved_line;
+ 
+   if (count < 0)
+@@ -589,4 +590,5 @@
+ 
+   /* If we don't have a line saved, then save this one. */
++  had_saved_line = _rl_saved_line_for_history != 0;
+   rl_maybe_save_line ();
+ 
+@@ -612,5 +614,6 @@
+   if (temp == 0)
+     {
+-      rl_maybe_unsave_line ();
++      if (had_saved_line == 0)
++        _rl_free_saved_history_line ();
+       rl_ding ();
+     }
+diff --git "a/patchlevel" "b/patchlevel"
+--- a/patchlevel	2013-11-15 08:11:11.000000000 -0500
++++ b/patchlevel	2014-03-21 08:28:40.000000000 -0400
+@@ -1,3 +1,3 @@
+ # Do not edit -- exists only for use by patch
+ 
+-1
++2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/readline-0-003.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,54 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.0
+Patch-ID: readline80-003
+
+Bug-Reported-by:	HIROSE Masaaki <hirose31@gmail.com>
+Bug-Reference-ID:	<CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ@mail.gmail.com>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
+
+Bug-Description:
+
+Reading history entries with timestamps can result in history entries joined
+by linefeeds.
+
+diff --git "a/histfile.c" "b/histfile.c"
+--- a/histfile.c	2018-06-11 09:14:52.000000000 -0400
++++ b/histfile.c	2019-05-16 15:55:57.000000000 -0400
+@@ -370,7 +370,9 @@
+ 
+   has_timestamps = HIST_TIMESTAMP_START (buffer);
+-  history_multiline_entries += has_timestamps && history_write_timestamps;  
++  history_multiline_entries += has_timestamps && history_write_timestamps;
+ 
+   /* Skip lines until we are at FROM. */
++  if (has_timestamps)
++    last_ts = buffer;
+   for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
+     if (*line_end == '\n')
+@@ -381,5 +383,16 @@
+ 	if (HIST_TIMESTAMP_START(p) == 0)
+ 	  current_line++;
++	else
++	  last_ts = p;
+ 	line_start = p;
++	/* If we are at the last line (current_line == from) but we have
++	   timestamps (has_timestamps), then line_start points to the
++	   text of the last command, and we need to skip to its end. */
++	if (current_line >= from && has_timestamps)
++	  {
++	    for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
++	      ;
++	    line_start = (*line_end == '\n') ? line_end + 1 : line_end;
++	  }
+       }
+ 
+diff --git "a/patchlevel" "b/patchlevel"
+--- a/patchlevel	2013-11-15 08:11:11.000000000 -0500
++++ b/patchlevel	2014-03-21 08:28:40.000000000 -0400
+@@ -1,3 +1,3 @@
+ # Do not edit -- exists only for use by patch
+ 
+-2
++3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/readline-0-004.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,39 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.0
+Patch-ID: readline80-004
+
+Bug-Reported-by:	auroralanes@protonmail.ch
+Bug-Reference-ID:	<WikEDKluAyoha9IDLp83rbN7_Uinr2rrpvSV_z4wmt9qur9piN-FNOn17P0cAizEVah1Fvc9d641vIIWX_7SC6EUTz0CatnOH-C-UK3rPYc=@protonmail.ch>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-readline/2020-01/msg00008.html
+
+Bug-Description:
+
+If writing the history file fails, and renaming the backup history file fails,
+it's possible for readline's history code to return the wrong error to its
+caller.
+
+diff --git "a/histfile.c" "b/histfile.c"
+--- a/histfile.c	2019-11-19 10:31:58.000000000 -0500
++++ b/histfile.c	2020-02-01 16:28:29.000000000 -0500
+@@ -621,4 +621,5 @@
+   if (rv != 0)
+     {
++      rv = errno;
+       if (tempname)
+ 	unlink (tempname);
+@@ -768,4 +769,5 @@
+   if (rv != 0)
+     {
++      rv = errno;
+       if (tempname)
+ 	unlink (tempname);
+diff --git "a/patchlevel" "b/patchlevel"
+--- a/patchlevel	2013-11-15 08:11:11.000000000 -0500
++++ b/patchlevel	2014-03-21 08:28:40.000000000 -0400
+@@ -1,3 +1,3 @@
+ # Do not edit -- exists only for use by patch
+ 
+-3
++4
--- a/src/readline-1-binding.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-diff -uNr a/readline.c b/readline.c
---- a/readline.c	2010-07-25 17:07:40.000000000 -0400
-+++ b/readline.c	2013-04-17 20:38:42.637674309 -0400
-@@ -1158,7 +1163,10 @@
-   rl_bind_keyseq_if_unbound ("\340H", rl_get_previous_history);
-   rl_bind_keyseq_if_unbound ("\340P", rl_get_next_history);
-   rl_bind_keyseq_if_unbound ("\340M", rl_forward_char);
-   rl_bind_keyseq_if_unbound ("\340K", rl_backward_char);
-+  rl_bind_keyseq_if_unbound ("\340G", rl_beg_of_line);
-+  rl_bind_keyseq_if_unbound ("\340O", rl_end_of_line);
-+  rl_bind_keyseq_if_unbound ("\340S", rl_delete);
- #endif
- 
-   _rl_keymap = xkeymap;
--- a/src/readline-1-display.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/readline-1-display.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,7 +1,7 @@
-diff -uNr a/display.c b/display.c
---- a/display.c	2009-09-26 14:37:33.000000000 -0400
-+++ b/display.c	2013-04-17 17:51:18.323642508 -0400
-@@ -55,6 +55,11 @@
+diff -ur readline-8.0.orig/display.c readline-8.0.disp/display.c
+--- readline-8.0.orig/display.c	2019-03-20 07:41:37.573786782 -0400
++++ readline-8.0.disp/display.c	2019-03-20 17:00:29.866659451 -0400
+@@ -59,6 +59,11 @@
  #include "rlprivate.h"
  #include "xmalloc.h"
  
@@ -13,9 +13,9 @@
  #if !defined (strchr) && !defined (__STDC__)
  extern char *strchr (), *strrchr ();
  #endif /* !strchr && !__STDC__ */
-@@ -1904,6 +1909,20 @@
-   int cpos, dpos;		/* current and desired cursor positions */
-   int adjust;
+@@ -2367,6 +2372,20 @@
+   int in_invisline;
+   int mb_cur_max = MB_CUR_MAX;
  
 +#if defined (_WIN32)
 +  CONSOLE_SCREEN_BUFFER_INFO csbi;
@@ -30,11 +30,11 @@
 +        }
 +    }
 +#endif /* !_WIN32 */
-+	     
++
    woff = WRAP_OFFSET (_rl_last_v_pos, wrap_offset);
    cpos = _rl_last_c_pos;
  
-@@ -2040,6 +2059,20 @@
+@@ -2519,6 +2538,20 @@
  {
    register int delta, i;
  
@@ -55,9 +55,9 @@
    if (_rl_last_v_pos == to || to > _rl_screenheight)
      return;
  
-@@ -2318,6 +2351,17 @@
- _rl_clear_to_eol (count)
-      int count;
+@@ -2848,6 +2881,17 @@
+ void
+ _rl_clear_to_eol (int count)
  {
 +#if defined (_WIN32)
 +  CONSOLE_SCREEN_BUFFER_INFO csbi;
@@ -70,12 +70,12 @@
 +    }
 +#endif /* !_WIN32 */
 +
+ #ifndef __MSDOS__
    if (_rl_term_clreol)
      tputs (_rl_term_clreol, 1, _rl_output_character_function);
-   else if (count)
-@@ -2341,6 +2385,33 @@
+@@ -2873,6 +2917,33 @@
  void
- _rl_clear_screen ()
+ _rl_clear_screen (void)
  {
 +#if defined (_WIN32)
 +  COORD coordScreen = { 0, 0 };
@@ -104,6 +104,6 @@
 +    }
 +#endif
 +
-   if (_rl_term_clrpag)
-     tputs (_rl_term_clrpag, 1, _rl_output_character_function);
-   else
+ #if defined (__DJGPP__)
+   ScreenClear ();
+   ScreenSetCursor (0, 0);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/readline-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,106 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Timothy Gu <timothygu99@gmail.com>
+Date: Tue, 30 Sep 2014 17:16:32 -0700
+Subject: [PATCH 1/1] Handle missing S_IS* macros more gracefully
+
+
+diff --git a/colors.c b/colors.c
+index 1111111..2222222 100644
+--- a/colors.c
++++ b/colors.c
+@@ -200,8 +200,10 @@ _rl_print_color_indicator (const char *f)
+ #endif
+           if (is_colored (C_CAP) && 0) //f->has_capability)
+             colored_filetype = C_CAP;
++#if defined(S_IXUGO)
+           else if ((mode & S_IXUGO) != 0 && is_colored (C_EXEC))
+             colored_filetype = C_EXEC;
++#endif
+           else if ((1 < astat.st_nlink) && is_colored (C_MULTIHARDLINK))
+             colored_filetype = C_MULTIHARDLINK;
+         }
+@@ -215,8 +217,10 @@ _rl_print_color_indicator (const char *f)
+             colored_filetype = C_STICKY_OTHER_WRITABLE;
+           else
+ #endif
++#if defined (S_IWOTH)
+           if ((mode & S_IWOTH) != 0 && is_colored (C_OTHER_WRITABLE))
+             colored_filetype = C_OTHER_WRITABLE;
++#endif
+ #if defined (S_ISVTX)
+           else if ((mode & S_ISVTX) != 0 && is_colored (C_STICKY))
+             colored_filetype = C_STICKY;
+diff --git a/colors.h b/colors.h
+index 1111111..2222222 100644
+--- a/colors.h
++++ b/colors.h
+@@ -96,7 +96,7 @@ enum indicator_no
+   };
+ 
+ 
+-#if !S_IXUGO
++#if !S_IXUGO && defined(S_IXUSR) && defined(S_IXGRP) && defined(S_IXOTH)
+ # define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH)
+ #endif
+ 
+diff --git a/posixstat.h b/posixstat.h
+index 1111111..2222222 100644
+--- a/posixstat.h
++++ b/posixstat.h
+@@ -78,30 +78,44 @@
+ 
+ #if defined (S_IFBLK) && !defined (S_ISBLK)
+ #define	S_ISBLK(m)	(((m)&S_IFMT) == S_IFBLK)	/* block device */
++#elif !defined (S_IFBLK)
++#define S_ISBLK(m)	0
+ #endif
+ 
+ #if defined (S_IFCHR) && !defined (S_ISCHR)
+ #define	S_ISCHR(m)	(((m)&S_IFMT) == S_IFCHR)	/* character device */
++#elif !defined (S_IFCHR)
++#define S_ISCHR(m)	0
+ #endif
+ 
+ #if defined (S_IFDIR) && !defined (S_ISDIR)
+ #define	S_ISDIR(m)	(((m)&S_IFMT) == S_IFDIR)	/* directory */
++#elif !defined (S_IFDIR)
++#define S_ISDIR(m)	0
+ #endif
+ 
+ #if defined (S_IFREG) && !defined (S_ISREG)
+ #define	S_ISREG(m)	(((m)&S_IFMT) == S_IFREG)	/* file */
++#elif !defined (S_IFREG)
++#define S_ISREG(m)	0
+ #endif
+ 
+ #if defined (S_IFIFO) && !defined (S_ISFIFO)
+ #define	S_ISFIFO(m)	(((m)&S_IFMT) == S_IFIFO)	/* fifo - named pipe */
++#elif !defined (S_IFIFO)
++#define S_ISFIFO(m)	0
+ #endif
+ 
+ #if defined (S_IFLNK) && !defined (S_ISLNK)
+ #define	S_ISLNK(m)	(((m)&S_IFMT) == S_IFLNK)	/* symbolic link */
++#elif !defined (S_IFLNK)
++#define S_ISLNK(m)	0
+ #endif
+ 
+ #if defined (S_IFSOCK) && !defined (S_ISSOCK)
+ #define	S_ISSOCK(m)	(((m)&S_IFMT) == S_IFSOCK)	/* socket */
++#elif !defined (S_IFSOCK)
++#define S_ISSOCK(m)	0
+ #endif
+ 
+ /*
+@@ -137,6 +151,8 @@
+ /* These are non-standard, but are used in builtins.c$symbolic_umask() */
+ #define S_IRUGO		(S_IRUSR | S_IRGRP | S_IROTH)
+ #define S_IWUGO		(S_IWUSR | S_IWGRP | S_IWOTH)
++#if defined(S_IXUSR) && defined(S_IXGRP) && defined(S_IXOTH)
+ #define S_IXUGO		(S_IXUSR | S_IXGRP | S_IXOTH)
++#endif
+ 
+ #endif /* _POSIXSTAT_H_ */
+
--- a/src/readline-1-input.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/readline-1-input.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,11 +1,11 @@
-diff -uNr a/input.c b/input.c
---- a/input.c	2010-05-30 18:33:01.000000000 -0400
-+++ b/input.c	2013-04-17 23:50:34.759675631 -0400
-@@ -466,7 +466,12 @@
+diff -ur readline-8.0.disp/input.c readline-8.0/input.c
+--- readline-8.0.disp/input.c	2019-03-20 07:56:04.897036396 -0400
++++ readline-8.0/input.c	2019-03-20 08:00:45.403401856 -0400
+@@ -519,7 +519,12 @@
  
  #if defined (__MINGW32__)
        if (isatty (fileno (stream)))
--	return (getch ());
+-	return (_getch ());	/* "There is no error return." */
 +        {
 +          int c = _getch ();
 +          if (c == 0xe0)
@@ -13,5 +13,5 @@
 +          return (c);
 +        }
  #endif
-       result = read (fileno (stream), &c, sizeof (unsigned char));
- 
+       result = 0;
+ #if defined (HAVE_PSELECT)
--- a/src/readline-1-paste.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-diff -u a/input.c b/readline-6.2/input.c
---- a/input.c	2010-05-30 18:33:01.000000000 -0400
-+++ b/input.c	2012-06-25 21:08:42.000000000 -0400
-@@ -410,5 +412,5 @@
- rl_read_key ()
- {
--  int c;
-+  int c, r;
- 
-   rl_key_sequence_length++;
-@@ -430,12 +432,16 @@
- 	  while (rl_event_hook)
- 	    {
--	      if (rl_gather_tyi () < 0)	/* XXX - EIO */
-+	      if (rl_get_char (&c) != 0)
-+		break;
-+		
-+	      if ((r = rl_gather_tyi ()) < 0)	/* XXX - EIO */
- 		{
- 		  rl_done = 1;
- 		  return ('\n');
- 		}
-+	      else if (r == 1)			/* read something */
-+		continue;
-+
- 	      RL_CHECK_SIGNALS ();
--	      if (rl_get_char (&c) != 0)
--		break;
- 	      if (rl_done)		/* XXX - experimental */
- 		return ('\n');
--- a/src/readline-1-sigwinch.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/readline-1-sigwinch.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,21 +1,27 @@
-diff -uNr a/readline.c b/readline.c
---- a/readline.c	2010-07-25 17:07:40.000000000 -0400
-+++ b/readline.c	2013-04-17 16:11:52.932653458 -0400
-@@ -970,6 +970,11 @@
-       rl_initialized++;
+Common subdirectories: readline-8.0.input/doc and readline-8.0/doc
+Common subdirectories: readline-8.0.input/examples and readline-8.0/examples
+diff -u readline-8.0.input/readline.c readline-8.0/readline.c
+--- readline-8.0.input/readline.c	2019-03-20 08:02:03.533512025 -0400
++++ readline-8.0/readline.c	2019-03-20 08:06:59.117185446 -0400
+@@ -1103,8 +1103,12 @@
        RL_SETSTATE(RL_STATE_INITIALIZED);
      }
+   else
+-    (void)_rl_init_locale ();	/* check current locale */
+-
++    {
++      (void)_rl_init_locale ();	/* check current locale */
 +#if defined (__MINGW32__)
-+  else
-+    /* In case the console window has been resized outside of readline */
-+    rl_reset_screen_size ();
-+#endif
++      rl_reset_screen_size ();
++#endif      
++    }
+   /* Initialize the current line information. */
+   _rl_init_line_state ();
  
-   /* Initalize the current line information. */
-   _rl_init_line_state ();
-diff -uNr a/signals.c b/signals.c
---- a/signals.c	2011-02-11 10:53:33.000000000 -0500
-+++ b/signals.c	2013-04-17 16:07:57.476121748 -0400
+Common subdirectories: readline-8.0.input/shlib and readline-8.0/shlib
+diff -u readline-8.0.input/signals.c readline-8.0/signals.c
+--- readline-8.0.input/signals.c	2019-03-20 08:02:03.529511918 -0400
++++ readline-8.0/signals.c	2019-03-20 08:13:44.347195350 -0400
 @@ -46,6 +46,11 @@
  
  #include "rlprivate.h"
@@ -28,16 +34,16 @@
  #if defined (HANDLE_SIGNALS)
  
  #if !defined (RETSIGTYPE)
-@@ -91,7 +96,7 @@
+@@ -92,7 +97,7 @@
  int rl_catch_signals = 1;
  
  /* If non-zero, readline will install a signal handler for SIGWINCH. */
 -#ifdef SIGWINCH
-+#if defined (SIGWINCH) || defined (__MINGW32__)
++#if defined (SIGWINCH) || defined(__MINGW32__)
  int rl_catch_sigwinch = 1;
  #else
  int rl_catch_sigwinch = 0;	/* for the readline state struct in readline.c */
-@@ -422,6 +427,21 @@
+@@ -495,6 +500,21 @@
      }
  #endif /* SIGWINCH */
  
@@ -59,10 +65,10 @@
    return 0;
  }
  
-@@ -467,6 +487,21 @@
+@@ -545,6 +565,20 @@
+       sigwinch_set_flag = 0;
      }
  #endif
- 
 +#if defined (__MINGW32__)
 +  if (rl_catch_sigwinch && sigwinch_set_flag == 1)
 +    {
@@ -77,7 +83,7 @@
 +        }
 +    }
 +#endif
-+
+ 
    return 0;
  }
- 
+Common subdirectories: readline-8.0.input/support and readline-8.0/support
--- a/src/readline-2-event-hook.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/readline-2-event-hook.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,19 +1,7 @@
-diff -ur readline-6.2-orig/input.c readline-6.2/input.c
---- readline-6.2-orig/input.c	2013-11-24 19:19:30 -0500
-+++ readline-6.2/input.c	2013-11-29 11:19:59 -0500
-@@ -54,6 +54,11 @@
- #include <stdio.h>
- #include <errno.h>
- 
-+#if defined (__MINGW32__)
-+#  define WIN32_LEAN_AND_MEAN
-+#  include <windows.h>
-+#endif
-+
- #if !defined (errno)
- extern int errno;
- #endif /* !errno */
-@@ -96,6 +101,11 @@
+diff -ur readline-8.0.sigwinch/input.c readline-8.0/input.c
+--- readline-8.0.sigwinch/input.c	2019-03-20 08:15:55.450361377 -0400
++++ readline-8.0/input.c	2019-03-20 08:30:58.059756179 -0400
+@@ -140,6 +140,11 @@
  static unsigned char ibuffer[512];
  static int ibuffer_len = sizeof (ibuffer) - 1;
  
@@ -25,25 +13,21 @@
  #define any_typein (push_index != pop_index)
  
  int
-@@ -219,8 +229,8 @@
+@@ -266,7 +271,7 @@
  #if defined (__MINGW32__)
    /* Use getch/_kbhit to check for available console input, in the same way
       that we read it normally. */
 -   chars_avail = isatty (tty) ? _kbhit () : 0;
--   result = 0;
-+  chars_avail = isatty (tty) ? _win32_kbhit () : 0;
-+  result = 0;
++   chars_avail = isatty (tty) ? _win32_kbhit () : 0;
+    result = 0;
  #endif
  
-   /* If there's nothing available, don't waste time trying to read
-@@ -457,6 +467,123 @@
+@@ -501,6 +506,120 @@
    return (c);
  }
  
 +#if defined (__MINGW32__)
-+
 +#define _WIN32_READ_NOCHAR (-2)
-+
 +static char _win32_buf[16] = {'0'};
 +static int _win32_bufidx = 0;
 +
@@ -74,11 +58,11 @@
 +        {
 +          case KEY_EVENT:
 +            if ((rec.Event.KeyEvent.bKeyDown &&
-+                 (rec.Event.KeyEvent.wVirtualKeyCode < VK_SHIFT ||
-+                  rec.Event.KeyEvent.wVirtualKeyCode > VK_MENU)) ||
-+                (!rec.Event.KeyEvent.bKeyDown &&
-+                 rec.Event.KeyEvent.wVirtualKeyCode == VK_MENU &&
-+                 rec.Event.KeyEvent.uChar.AsciiChar))
++               (rec.Event.KeyEvent.wVirtualKeyCode < VK_SHIFT ||
++                rec.Event.KeyEvent.wVirtualKeyCode > VK_MENU)) ||
++               (!rec.Event.KeyEvent.bKeyDown &&
++                rec.Event.KeyEvent.wVirtualKeyCode == VK_MENU &&
++                rec.Event.KeyEvent.uChar.AsciiChar))
 +              {
 +                if (rec.Event.KeyEvent.uChar.AsciiChar)
 +                  {
@@ -131,7 +115,7 @@
 +          default:
 +            break;
 +        }
-+    }
++   }
 +  while (1);
 +}
 +
@@ -154,13 +138,12 @@
 +{
 +  return _win32_getch_internal (1);
 +}
-+
 +#endif
 +
  int
- rl_getc (stream)
-      FILE *stream;
-@@ -471,9 +598,9 @@
+ rl_getc (FILE *stream)
+ {
+@@ -520,9 +639,9 @@
  #if defined (__MINGW32__)
        if (isatty (fileno (stream)))
          {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/readline-2-history.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,61 @@
+diff -ur readline-8.0.eventhook/histfile.c readline-8.0/histfile.c
+--- readline-8.0.eventhook/histfile.c	2019-04-03 10:21:42.916563353 -0400
++++ readline-8.0/histfile.c	2019-04-03 16:16:04.605404093 -0400
+@@ -107,6 +107,11 @@
+ #  define PATH_MAX	1024	/* default */
+ #endif
+ 
++#if defined(_WIN32)
++ #define WIN32_LEAN_AND_MEAN
++ #include <windows.h>
++#endif
++
+ extern void _hs_append_history_line PARAMS((int, const char *));
+ 
+ /* history file version; currently unused */
+@@ -139,6 +144,19 @@
+ static int histfile_backup PARAMS((const char *, const char *));
+ static int histfile_restore PARAMS((const char *, const char *));
+ 
++static int
++history_rename(const char *from, const char *to)
++{
++#if defined(_WIN32)
++  if (!MoveFileEx(from, to, MOVEFILE_REPLACE_EXISTING)) {
++    return -1;
++  }
++  return 0;
++#else
++  return rename(from, to);
++#endif
++}
++
+ /* Return the string that should be used in the place of this
+    filename.  This only matters when you don't specify the
+    filename to read_history (), or write_history (). */
+@@ -448,10 +466,10 @@
+   if ((n = readlink (filename, linkbuf, sizeof (linkbuf) - 1)) > 0)
+     {
+       linkbuf[n] = '\0';
+-      return (rename (linkbuf, back));
++      return (history_rename (linkbuf, back));
+     }
+ #endif
+-  return (rename (filename, back));
++  return (history_rename (filename, back));
+ }
+ 
+ /* Restore ORIG from BACKUP handling case where ORIG is a symlink
+@@ -467,10 +485,10 @@
+   if ((n = readlink (orig, linkbuf, sizeof (linkbuf) - 1)) > 0)
+     {
+       linkbuf[n] = '\0';
+-      return (rename (backup, linkbuf));
++      return (history_rename (backup, linkbuf));
+     }
+ #endif
+-  return (rename (backup, orig));
++  return (history_rename (backup, orig));
+ }
+ 
+ /* Truncate the history file FNAME, leaving only LINES trailing lines.
--- a/src/readline.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/readline.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,21 @@
 
 PKG             := readline
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := a9761cd9c3da485eb354175fcc2fe35856bc43ac
+$(PKG)_VERSION  := 8.0
+$(PKG)_CHECKSUM := d58041c2143595dc001d2777ae9a200be30198b0
 $(PKG)_SUBDIR   := readline-$($(PKG)_VERSION)
 $(PKG)_FILE     := readline-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://ftp.gnu.org/gnu/readline/$($(PKG)_FILE)
 
 ifeq ($(MXE_SYSTEM),mingw)
   $(PKG)_TERMCAP_LIB := termcap
+  $(PKG)_CONFIGURE_OPTIONS := --without-curses
 else
   $(PKG)_TERMCAP_LIB := ncurses
+  ifeq ($(MXE_NATIVE_BUILD),yes)
+    $(PKG)_CONFIGURE_OPTIONS := --with-curses bash_cv_termcap_lib="-lncurses"
+    $(PKG)_MAKE_OPTIONS := SHLIB_LIBS="-lncurses"
+  endif
 endif
 
 $(PKG)_DEPS := $($(PKG)_TERMCAP_LIB)
@@ -30,12 +36,14 @@
                       -e 's/@@LIBRARY_SUFFIX@@/$(LIBRARY_SUFFIX)/g' $$f; \
         done; \
     fi
-    cd '$(1)' && ./configure \
+    cd '$(1)' &&  bash_cv_wcwidth_broken=no \
+        ./configure \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
+        $($(PKG)_CONFIGURE_OPTIONS) \
         --prefix='$(HOST_PREFIX)' \
         --enable-multibyte \
         --without-purify
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $($(PKG)_MAKE_OPTIONS) install DESTDIR='$(3)'
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/release-octave-1-gnulib.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,12 @@
+diff -uNr a/libgnu/unistd.in.h b/libgnu/unistd.in.h
+--- a/libgnu/unistd.in.h	2016-06-18 18:47:32.000000000 -0400
++++ b/libgnu/unistd.in.h	2016-06-23 18:45:42.410781867 -0400
+@@ -734,7 +734,7 @@
+    Null terminate it if the name is shorter than LEN.
+    If the host name is longer than LEN, set errno = EINVAL and return -1.
+    Return 0 if successful, otherwise set errno and return -1.  */
+-# if @UNISTD_H_HAVE_WINSOCK2_H@
++# if !@HAVE_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@
+ #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+ #   undef gethostname
+ #   define gethostname rpl_gethostname
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/release-octave.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,237 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+## This set of rules is intended for building the latest released
+## version of Octave found on ftp.gnu.org using the current
+## packages found in the mxe-octave archive.  To reproduce the binary
+## builds for Windows that are distributed on ftp.gnu.org, you must
+## choose the revision of mxe-octave that matches the release you
+## wish to reproduce.  Those should be tagged in the mxe-octave archive
+## with tags like "octave-release-5.1.0".  The options used to build are
+##
+##   --enable-octave=release
+##   --enable-binary-packages
+##   --enable-devel-tools
+##   --enable-qt5
+##   --disable-system-opengl
+##
+## and one of the following
+##
+##   * 64-bit Windows build; 32-bit integers for Fortran
+##     (including BLAS and LAPACK libraries) which is the typical
+##     configuration for all Linux distributions:
+##
+##       --enable-windows-64 --enable-64 --disable-fortran-int64
+##
+##   * 64-bit Windows build; 64-bit integers for Fortran
+##     (including BLAS and LAPACK libraries):
+##
+##       --enable-windows-64 --enable-64 --enable-fortran-int64
+##
+##   * 32-bit Windows build:
+##
+##       --disable-windows-64 --disable-64 --disable-fortran-int64
+
+PKG             := release-octave
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 6.1.90
+$(PKG)_CHECKSUM := f42ec07cbe4c1c1d9d7f60929eb910e5c54a0bd6
+$(PKG)_SUBDIR   := octave-$($(PKG)_VERSION)
+$(PKG)_FILE     := octave-$($(PKG)_VERSION).tar.lz
+$(PKG)_URL      := ftp://ftp.gnu.org/gnu/octave/$($(PKG)_FILE)
+ifeq ($(USE_SYSTEM_FONTCONFIG),no)
+  $(PKG)_FONTCONFIG := fontconfig
+endif
+$(PKG)_DEPS     := blas arpack curl epstool fftw fltk $($(PKG)_FONTCONFIG) ghostscript gl2ps glpk gnuplot graphicsmagick hdf5 lapack libsndfile pcre portaudio pstoedit qhull qrupdate qscintilla readline sundials-ida suitesparse texinfo zlib
+
+ifeq ($(ENABLE_QT5),yes)
+    $(PKG)_DEPS += qt5
+else
+    $(PKG)_DEPS += qt
+endif
+
+ifeq ($(USE_SYSTEM_OPENGL),no)
+  $(PKG)_DEPS += mesa
+endif
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  $(PKG)_WITH_BLAS_CONFIGURE_OPTIONS := --with-blas="-lblas -lxerbla"
+else
+  $(PKG)_WITH_BLAS_CONFIGURE_OPTIONS := --with-blas="-lblas"
+  ifeq ($(USE_SYSTEM_X11_LIBS),no)
+    $(PKG)_DEPS += x11 xext
+  endif
+endif
+
+ifeq ($(MXE_SYSTEM),mingw)
+  ifeq ($(USE_SYSTEM_GCC),no)
+    $(PKG)_DEPS     += libgomp
+  endif
+endif
+
+ifeq ($(ENABLE_JIT),yes)
+  $(PKG)_DEPS += llvm
+  $(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS := --enable-jit
+else
+  $(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS := --disable-jit
+endif
+
+ifeq ($(ENABLE_JAVA),no)
+  $(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS := --disable-java
+else
+  ifeq ($(MXE_SYSTEM),mingw)
+    ifeq ($(MXE_NATIVE_BUILD),no)
+      $(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS := \
+       --with-java-includedir="$(HOST_INCDIR)/java"
+     endif
+  endif
+endif
+
+## If we allow the system Qt libraries to be used, then these
+## won't make sense.
+$(PKG)_QT_CONFIGURE_OPTIONS := \
+  MOC_QTVER=$(MXE_MOC) \
+  UIC_QTVER=$(MXE_UIC) \
+  RCC_QTVER=$(MXE_RCC) \
+  LRELEASE_QTVER=$(MXE_LRELEASE)
+
+ifeq ($(ENABLE_QT5),yes)
+  #$(PKG)_PKG_CONFIG_PATH := "$(HOST_LIBDIR)/pkgconfig"
+  $(PKG)_PKG_CONFIG_PATH := "$(HOST_PREFIX)/qt5/lib/pkgconfig:$(HOST_LIBDIR)/pkgconfig"
+  $(PKG)_QTDIR := $(HOST_PREFIX)/qt5
+  $(PKG)_QT_CONFIGURE_OPTIONS += octave_cv_lib_qscintilla="-lqscintilla2_qt5"
+else
+  $(PKG)_PKG_CONFIG_PATH := "$(HOST_LIBDIR)/pkgconfig"
+  $(PKG)_QTDIR := $(HOST_PREFIX)
+  $(PKG)_QT_CONFIGURE_OPTIONS += octave_cv_lib_qscintilla="-lqscintilla2_qt4"
+endif
+
+
+ifneq ($(ENABLE_DOCS),yes)
+  $(PKG)_ENABLE_DOCS_CONFIGURE_OPTIONS := --disable-docs
+endif
+
+ifeq ($(MXE_NATIVE_BUILD),yes)
+  $(PKG)_CONFIGURE_ENV := LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)
+  ifeq ($(ENABLE_64),yes)
+    $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64
+  else
+    $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --disable-64
+  endif
+else
+  ifeq ($(MXE_SYSTEM),mingw)
+    $(PKG)_CROSS_CONFIG_OPTIONS := \
+      FLTK_CONFIG='$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)fltk-config' \
+      gl_cv_func_gettimeofday_clobber=no \
+      gl_cv_func_tzset_clobber=no
+    ifeq ($(ENABLE_64),yes)
+      $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64
+    else
+      $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --disable-64
+    endif
+  endif
+endif
+
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
+  $(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS := F77_INTEGER_8_FLAG=-fdefault-integer-8 ax_blas_f77_func_ok=yes ax_blas_integer_size=8 octave_cv_sizeof_fortran_integer=8
+else
+  $(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS := ax_blas_f77_func_ok=yes ax_blas_integer_size=4 octave_cv_sizeof_fortran_integer=4
+endif
+
+ifeq ($(MXE_SYSTEM),msvc)
+  $(PKG)_PREFIX := '$(HOST_PREFIX)/local/$($(PKG)_SUBDIR)'
+  # - Enable atomic refcount (required for QtHandles)
+  # - Skip configure test for pow and sqrt, MSVC fails to compile them
+  #   because it uses intrinsics (with -O2 flag) and bump on the fake
+  #   "char FUNC()" forward declaration.
+  # - Override CFLAGS and CXXFLAGS to disable some warnings.
+  $(PKG)_EXTRA_CONFIGURE_OPTIONS := \
+    --enable-atomic-refcount \
+    ac_cv_func_pow=yes ac_cv_func_sqrt=yes \
+    CFLAGS='-O2 -wd4244 -wd4003 -wd4005 -wd4068' \
+    CXXFLAGS='-O2 -wd4244 -wd4003 -wd4005 -wd4068'
+else
+  $(PKG)_PREFIX := '$(HOST_PREFIX)'
+  $(PKG)_EXTRA_CONFIGURE_OPTIONS := \
+    LDFLAGS='-Wl,-rpath-link,$(HOST_LIBDIR) -L$(HOST_LIBDIR) -L$($(PKG)_QTDIR)/lib'
+endif
+
+ifeq ($(MXE_SYSTEM),mingw)
+  $(PKG)_EXTRA_CONFIGURE_OPTIONS += --with-x=no
+endif
+
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+  $(PKG)_EXTRA_CONFIGURE_OPTIONS += ac_cv_search_tputs=-ltermcap
+endif
+
+# if want binary packages and are cross compiling, then we need cross tools enabled
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+  ifeq ($(MXE_NATIVE_BUILD),no)
+    $(PKG)_EXTRA_CONFIGURE_OPTIONS += --enable-cross-tools
+  endif
+endif
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package octave.' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+define $(PKG)_BUILD
+    # jni install
+    if [ "$(MXE_SYSTEM)" == "mingw" ] \
+      && [ "$(MXE_NATIVE_BUILD)" == "no" ] \
+      && [ "$(ENABLE_JAVA)" == "yes" ]; then \
+      if [ ! -f $(HOST_INCDIR)/java/jni.h ]; then \
+        mkdir -p '$(HOST_INCDIR)/java'; \
+        $(WGET) -N http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/raw-file/tip/src/share/javavm/export/jni.h \
+          -O $(HOST_INCDIR)/java/jni.h; \
+      fi; \
+      if [ ! -f $(HOST_INCDIR)/java/win32/jni_md.h ]; then \
+        mkdir -p '$(HOST_INCDIR)/java/win32'; \
+        $(WGET) -N http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/raw-file/tip/src/windows/javavm/export/jni_md.h \
+          -O $(HOST_INCDIR)/java/win32/jni_md.h; \
+      fi; \
+    fi
+
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$($(PKG)_PREFIX)' \
+        --disable-silent-rules \
+        --enable-install-build-logs \
+        $($(PKG)_CROSS_CONFIG_OPTIONS) \
+        $($(PKG)_WITH_BLAS_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_DOCS_CONFIGURE_OPTIONS) \
+        $($(PKG)_QT_CONFIGURE_OPTIONS) \
+        $($(PKG)_EXTRA_CONFIGURE_OPTIONS) \
+        PKG_CONFIG='$(MXE_PKG_CONFIG)' \
+        PKG_CONFIG_PATH=$($(PKG)_PKG_CONFIG_PATH) \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build/libgnu'
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+
+    if [ "x$(MXE_SYSTEM)" == "xmingw" ]; then \
+      $(INSTALL) '$(3)/$(HOST_BINDIR)/libxerbla.dll' '$(3)$(HOST_BINDIR)/libxerbla-octave.dll'; \
+      cp '$(1)/.build/src/.libs/octave-gui.exe' '$(3)$(HOST_BINDIR)'; \
+      if [ "x$(ENABLE_BINARY_PACKAGES)" == "xyes" ]; then \
+        mkdir -p '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \
+        $(INSTALL) '$(1)/.build/src/$(MXE_TOOL_PREFIX)mkoctfile' '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \
+        $(INSTALL) '$(1)/.build/src/$(MXE_TOOL_PREFIX)octave-config' '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \
+      fi; \
+    fi
+
+    if [ "x$(ENABLE_DOCS)" == "xyes" ]; then \
+        $(MAKE) -C '$(1)/.build' -j '$(JOBS)' DESTDIR=$(3) install-pdf install-html; \
+    fi
+
+    # create a file with latest installed octave rev in it
+    mkdir -p '$(TOP_BUILD_DIR)/octave'
+    echo "$($(PKG)_VERSION)" > $(TOP_BUILD_DIR)/octave/octave-version
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/renderproto.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := renderproto
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.11.1
+$(PKG)_CHECKSUM := 7ae9868a358859fe539482b02414aa15c2d8b1e4
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/proto/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/rtmidi.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,36 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := rtmidi
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.0.0
+$(PKG)_CHECKSUM := 227513d9087d95e171ccf42c7b7e2fe9c5040e27
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
+$(PKG)_URL      := https://github.com/thestk/$(PKG)/archive/$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS     :=
+
+$(PKG)_CMAKE_FLAGS :=
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://github.com/thestk/$(PKG)/tags' | \
+    $(SED) -n 's|.*releases/tag/[v]\{0,1\}\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    
+    cd '$(1)' && ./autogen.sh --no-configure && ./configure \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+	ac_cv_prog_DOXYGEN= \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+ 
+    $(MAKE) -C '$(1)' -j '$(JOBS)' noinst_PROGRAMS=  $(MXE_DISABLE_DOCS)
+    if [ "$(MXE_WINDOWS_BUILD)" == "no" ]; then \
+        $(SED) -i 's,^Requires,PrivateRequires,' '$(1)/rtmidi.pc'; \
+    fi
+    $(MAKE) -C '$(1)' -j '1' noinst_PROGRAMS= DESTDIR='$(3)'  $(MXE_DISABLE_DOCS) install
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s2tc.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,35 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := s2tc
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0
+$(PKG)_CHECKSUM := 08295ae27abe2718f7be01f490e7a08353060291
+$(PKG)_SUBDIR   := s2tc-$($(PKG)_VERSION)
+$(PKG)_FILE     := s2tc-$($(PKG)_VERSION).zip
+$(PKG)_URL      := https://github.com/divVerent/s2tc/archive/v$($(PKG)_VERSION).zip
+$(PKG)_DEPS     := mesa-proto
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+define $(PKG)_BUILD
+  cd '$(1)' && ./autogen.sh
+  mkdir '$(1)/.build'
+  cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+      $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+      $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+      $(ENABLE_SHARED_OR_STATIC) \
+      --prefix='$(HOST_PREFIX)' \
+      --disable-tools \
+      && $(CONFIGURE_POST_HOOK)
+
+  $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+
+  ## Mesa attempts to dynamically load dxtn.dll on Windows systems.
+  if [ $(MXE_WINDOWS_BUILD) = yes ]; then \
+    mv '$(3)$(HOST_BINDIR)/libtxc_dxtn-0.dll' '$(3)$(HOST_BINDIR)/dxtn.dll'; \
+  fi
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/sdl-1-xdata.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,58 @@
+# HG changeset patch
+# User Azamat H. Hackimov <azamat.hackimov@gmail.com>
+# Date 1370184533 -21600
+# Branch SDL-1.2
+# Node ID 91ad7b43317a6387e115ecdf63a49137f47e42c8
+# Parent  f7fd5c3951b9ed922fdf696f7182e71b58a13268
+Fix compilation with libX11 >= 1.5.99.902.
+
+These changes fixes bug #1769 for SDL 1.2
+(http://bugzilla.libsdl.org/show_bug.cgi?id=1769).
+
+diff -r f7fd5c3951b9 -r 91ad7b43317a configure.in
+--- a/configure.in	Wed Apr 17 00:56:53 2013 -0700
++++ b/configure.in	Sun Jun 02 20:48:53 2013 +0600
+@@ -1169,6 +1169,17 @@
+             if test x$definitely_enable_video_x11_xrandr = xyes; then
+                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XRANDR)
+             fi
++            AC_MSG_CHECKING(for const parameter to _XData32)
++            have_const_param_xdata32=no
++            AC_TRY_COMPILE([
++              #include <X11/Xlibint.h>
++              extern int _XData32(Display *dpy,register _Xconst long *data,unsigned len);
++            ],[
++            ],[
++            have_const_param_xdata32=yes
++            AC_DEFINE(SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32)
++            ])
++            AC_MSG_RESULT($have_const_param_xdata32)
+         fi
+     fi
+ }
+diff -r f7fd5c3951b9 -r 91ad7b43317a include/SDL_config.h.in
+--- a/include/SDL_config.h.in	Wed Apr 17 00:56:53 2013 -0700
++++ b/include/SDL_config.h.in	Sun Jun 02 20:48:53 2013 +0600
+@@ -283,6 +283,7 @@
+ #undef SDL_VIDEO_DRIVER_WINDIB
+ #undef SDL_VIDEO_DRIVER_WSCONS
+ #undef SDL_VIDEO_DRIVER_X11
++#undef SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32
+ #undef SDL_VIDEO_DRIVER_X11_DGAMOUSE
+ #undef SDL_VIDEO_DRIVER_X11_DYNAMIC
+ #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT
+diff -r f7fd5c3951b9 -r 91ad7b43317a src/video/x11/SDL_x11sym.h
+--- a/src/video/x11/SDL_x11sym.h	Wed Apr 17 00:56:53 2013 -0700
++++ b/src/video/x11/SDL_x11sym.h	Sun Jun 02 20:48:53 2013 +0600
+@@ -165,7 +165,11 @@
+  */
+ #ifdef LONG64
+ SDL_X11_MODULE(IO_32BIT)
++#if SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32
++SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return)
++#else
+ SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
++#endif
+ SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),)
+ #endif
+ 
--- a/src/sdl.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/sdl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := sdl
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.15
 $(PKG)_CHECKSUM := 0c5f193ced810b0d7ce3ab06d808cbb5eef03a2c
 $(PKG)_SUBDIR   := SDL-$($(PKG)_VERSION)
 $(PKG)_FILE     := SDL-$($(PKG)_VERSION).tar.gz
@@ -12,9 +13,11 @@
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://hg.libsdl.org/SDL/tags' | \
     $(SED) -n 's,.*release-\([0-9][^<]*\).*,\1,p' | \
+    $(GREP) "^1" | \
     head -1
 endef
 
+ifeq ($(MXE_NATIVE_BUILD),no)
 define $(PKG)_BUILD
     $(SED) -i 's,-mwindows,-lwinmm -mwindows,' '$(1)/configure'
     cd '$(1)' && ./configure \
@@ -25,12 +28,27 @@
         --enable-threads \
         --enable-directx \
         --disable-stdio-redirect
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS)
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS)
+    if [ "$(MXE_NATIVE_BUILD)" == "no" ]; then \
+      $(LN_SF) '$(HOST_BINDIR)/sdl-config' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)sdl-config'; \
+    fi
+
+    #'$(MXE_CC)' \
+    #    -W -Wall -Werror -ansi -pedantic \
+    #    '$(2).c' -o '$(HOST_BINDIR)/test-sdl.exe' \
+    #    `'$(MXE_PKG_CONFIG)' sdl --cflags --libs`
+endef
+else
+define $(PKG)_BUILD
+    cd '$(1)' && ./autogen.sh && ./configure \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+        --enable-threads \
+        --disable-stdio-redirect
     $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
     $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
-    $(LN_SF) '$(HOST_BINDIR)/sdl-config' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)sdl-config'
-
-    '$(MXE_CC)' \
-        -W -Wall -Werror -ansi -pedantic \
-        '$(2).c' -o '$(HOST_BINDIR)/test-sdl.exe' \
-        `'$(MXE_PKG_CONFIG)' sdl --cflags --libs`
 endef
+endif
--- a/src/sdl_image.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/sdl_image.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := sdl_image
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.12
 $(PKG)_CHECKSUM := 5e3e393d4e366638048bbb10d6a269ea3f4e4cf2
 $(PKG)_SUBDIR   := SDL_image-$($(PKG)_VERSION)
 $(PKG)_FILE     := SDL_image-$($(PKG)_VERSION).tar.gz
@@ -12,6 +13,7 @@
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://hg.libsdl.org/SDL_image/tags' | \
     $(SED) -n 's,.*release-\([0-9][^<]*\).*,\1,p' | \
+    $(GREP) "^1" | \
     head -1
 endef
 
--- a/src/sdl_mixer.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/sdl_mixer.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := sdl_mixer
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.12
 $(PKG)_CHECKSUM := a20fa96470ad9e1052f1957b77ffa68fb090b384
 $(PKG)_SUBDIR   := SDL_mixer-$($(PKG)_VERSION)
 $(PKG)_FILE     := SDL_mixer-$($(PKG)_VERSION).tar.gz
@@ -12,6 +13,7 @@
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://hg.libsdl.org/SDL_mixer/tags' | \
     $(SED) -n 's,.*release-\([0-9][^<]*\).*,\1,p' | \
+    $(GREP) "^1" | \
     head -1
 endef
 
--- a/src/sdl_net.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/sdl_net.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := sdl_net
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.8
 $(PKG)_CHECKSUM := fd393059fef8d9925dc20662baa3b25e02b8405d
 $(PKG)_SUBDIR   := SDL_net-$($(PKG)_VERSION)
 $(PKG)_FILE     := SDL_net-$($(PKG)_VERSION).tar.gz
@@ -10,8 +11,9 @@
 $(PKG)_DEPS     := sdl
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.libsdl.org/projects/SDL_net/release/?C=M;O=D' | \
-    $(SED) -n 's,.*SDL_net-\([0-9][^>]*\)\.tar.*,\1,p' | \
+    $(WGET) -q -O- 'http://hg.libsdl.org/SDL_net/tags' | \
+    $(SED) -n 's,.*release-\([0-9][^<]*\).*,\1,p' | \
+    $(GREP) "^1" | \
     head -1
 endef
 
--- a/src/sdl_pango.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/sdl_pango.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := sdl_pango
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.1.2
 $(PKG)_CHECKSUM := c30f2941d476d9362850a150d29cb4a93730af68
 $(PKG)_SUBDIR   := SDL_Pango-$($(PKG)_VERSION)
 $(PKG)_FILE     := SDL_Pango-$($(PKG)_VERSION).tar.gz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/sdlpango/files/SDL_Pango/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- a/src/sdl_sound.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/sdl_sound.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := sdl_sound
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.3
 $(PKG)_CHECKSUM := 1984bc20b2c756dc71107a5a0a8cebfe07e58cb1
 $(PKG)_SUBDIR   := SDL_sound-$($(PKG)_VERSION)
 $(PKG)_FILE     := SDL_sound-$($(PKG)_VERSION).tar.gz
--- a/src/sdl_ttf.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/sdl_ttf.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := sdl_ttf
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.0.11
 $(PKG)_CHECKSUM := 0ccf7c70e26b7801d83f4847766e09f09db15cc6
 $(PKG)_SUBDIR   := SDL_ttf-$($(PKG)_VERSION)
 $(PKG)_FILE     := SDL_ttf-$($(PKG)_VERSION).tar.gz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/sm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := sm
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.2
+$(PKG)_CHECKSUM := e6d5dab6828dfd296e564518d2ed0a349a25a714
+$(PKG)_SUBDIR   := libSM-$($(PKG)_VERSION)
+$(PKG)_FILE     := libSM-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := ice xproto xtrans
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- a/src/smpeg.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/smpeg.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := smpeg
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.4.5+cvs20030824
 $(PKG)_CHECKSUM := d3460181f4b5e79b33f3bf4e9642a4fe6f98bc89
 $(PKG)_SUBDIR   := smpeg-$($(PKG)_VERSION).orig
 $(PKG)_FILE     := smpeg_$($(PKG)_VERSION).orig.tar.gz
--- a/src/sox.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/sox.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -4,15 +4,19 @@
 # sox
 PKG             := sox
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 14.4.0
 $(PKG)_CHECKSUM := d809cab382c7a9d015491c69051a9d1c1a1a44f1
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_DEPS     := ffmpeg flac lame libgomp libmad libsndfile vorbis
+$(PKG)_DEPS     := ffmpeg flac lame libmad libsndfile vorbis
+ifeq ($(USE_SYSTEM_GCC),no)
+  $(PKG)_DEPS += libgomp
+endif
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/sox/files/sox/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- a/src/speex.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/speex.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,16 @@
 
 PKG             := speex
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 52daa72572e844e5165315e208da539b2a55c5eb
+$(PKG)_VERSION  := 1.2.0
+$(PKG)_CHECKSUM := 18ebc3fa3236b4369509e9439acc32d0e864fa7f
 $(PKG)_SUBDIR   := speex-$($(PKG)_VERSION)
 $(PKG)_FILE     := speex-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://downloads.xiph.org/releases/speex/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.xiph.org/?p=speex.git;a=tags' | \
-    grep '<a class="list name"' | \
-    $(SED) -n 's,.*<a[^>]*>Speex-\([0-9][^<]*\)<.*,\1,p' | \
+    $(WGET) -q -O- 'https://www.speex.org/downloads/' | \
+    $(SED) -n 's,.*speex-\([0-9][0-9\.]*\)\.tar.*,\1,p' | \
     head -1
 endef
 
@@ -22,6 +22,6 @@
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
         --disable-oggtest
-    $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS= doc_DATA=
-    $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS= doc_DATA=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS)
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
 endef
--- a/src/sqlite.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/sqlite.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,11 +3,16 @@
 
 PKG             := sqlite
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := c464e0e3efe98227c6546b9b1e786b51b8b642fc
+$(PKG)_VERSION  := 3330000
+$(PKG)_CHECKSUM := d63f3ce52cb295d62d09fc2ad8f2d29c35e1645f
 $(PKG)_SUBDIR   := $(PKG)-autoconf-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-autoconf-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://www.sqlite.org/$($(PKG)_FILE)
-$(PKG)_DEPS     :=
+$(PKG)_URL      := http://www.sqlite.org/2020/$($(PKG)_FILE)
+$(PKG)_DEPS     := readline zlib
+
+ifeq ($(MXE_SYSTEM),mingw)
+$(PKG)_DEPS     += termcap
+endif
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://www.sqlite.org/download.html' | \
@@ -16,11 +21,21 @@
 endef
 
 define $(PKG)_BUILD
-    cd '$(1)' && ./configure \
+    if [ $(MXE_NATIVE_BUILD) = no ]; then \
+      mkdir '$(1).native' && cd '$(1).native' && '$(1)/configure' \
+        --enable-static --disable-shared \
+        --prefix='$(BUILD_TOOLS_PREFIX)' && \
+      $(MAKE) -C '$(1).native' -j 1 install; \
+    fi
+    if [ $(MXE_WINDOWS_BUILD) = yes ]; then \
+      $(SED) -i 's/^Cflags/#Cflags/;' '$(1)/sqlite3.pc.in'; \
+    fi
+    cd '$(1)' && autoreconf && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
-        --disable-readline \
-        --disable-threadsafe
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+        CFLAGS="-Os -DSQLITE_ENABLE_COLUMN_METADATA" \
+        --disable-readline
+    $(MAKE) -C '$(1)' -j 1
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-bash.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,20 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-bash
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.1.23-1
+$(PKG)_CHECKSUM := be0978971617fdf9832a40415fd243bc26a228ff
+$(PKG)_REMOTE_SUBDIR := bash/bash-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := bash-$($(PKG)_VERSION)-msys-1.0.18-src.tar.xz
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/bash' | \
+    $(SED) -n 's,.*title="bash-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-coreutils.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-coreutils
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.97-3
+$(PKG)_CHECKSUM := b77b025d6bbbfac040ddba8cc56591bedb8abb63
+$(PKG)_REMOTE_SUBDIR := coreutils/coreutils-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := coreutils-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/coreutils' | \
+    $(SED) -n 's,.*title="coreutils-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-diffutils.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-diffutils
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.8.7.20071206cvs-3
+$(PKG)_CHECKSUM := 8fd96ee0639533a06aff49764234d50360624c3f
+$(PKG)_REMOTE_SUBDIR := diffutils/diffutils-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := diffutils-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/diffutils' | \
+    $(SED) -n 's,.*title="diffutils-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-dos2unix.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-dos2unix
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 7.4.0-1
+$(PKG)_CHECKSUM := d30eec43661495eaa05456259404832277fe3e06
+$(PKG)_REMOTE_SUBDIR := dos2unix/dos2unix-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := dos2unix-$($(PKG)_VERSION)-msys-1.0.19-src.tar.lzma
+$(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/dos2unix' | \
+    $(SED) -n 's,.*title="dos2unix-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-file.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-file
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.04-1
+$(PKG)_CHECKSUM := e30df31c333cdba1137dc236e005a64a604bde8e
+$(PKG)_REMOTE_SUBDIR := file/file-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := file-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/file' | \
+    $(SED) -n 's,.*title="file-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-findutils.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-findutils
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.4.2-2
+$(PKG)_CHECKSUM := 7f0552c56197e8c306845cc9e4334d3dd7a719da
+$(PKG)_REMOTE_SUBDIR := findutils/findutils-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := findutils-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/findutils' | \
+    $(SED) -n 's,.*title="findutils-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-gawk.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-gawk
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.1.7-2
+$(PKG)_CHECKSUM := c2b81658b06c2c4d0e40f34a54b6a7818da6325c
+$(PKG)_REMOTE_SUBDIR := gawk/gawk-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := gawk-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/gawk' | \
+    $(SED) -n 's,.*title="gawk-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-grep.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-grep
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.5.4-2
+$(PKG)_CHECKSUM := e950afc36c2450253785dd5d69f0bf8e5f2ee015
+$(PKG)_REMOTE_SUBDIR := grep/grep-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := grep-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/grep' | \
+    $(SED) -n 's,.*title="grep-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-gzip.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-gzip
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3.12-2
+$(PKG)_CHECKSUM := c76bedc6e1afdb48bf10dd14b5c1986096e25290
+$(PKG)_REMOTE_SUBDIR := gzip/gzip-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := gzip-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/gzip' | \
+    $(SED) -n 's,.*title="gzip-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-less.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-less
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 436-2
+$(PKG)_CHECKSUM := 31dd72593f3a3298b54e80b006b4e2b883d3b592
+$(PKG)_REMOTE_SUBDIR := less/less-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := less-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/less' | \
+    $(SED) -n 's,.*title="less-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-libcrypt.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-libcrypt
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1_1-3
+$(PKG)_CHECKSUM := e64066bce6e644348903f9b588e1d7613f625fe7
+$(PKG)_REMOTE_SUBDIR := crypt/crypt-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := crypt-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/crypt' | \
+    $(SED) -n 's,.*title="crypt-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-libiconv.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-libiconv
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.14-1
+$(PKG)_CHECKSUM := 564888c41fb3ec4643d440112789504b18543541
+$(PKG)_REMOTE_SUBDIR := libiconv/libiconv-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := libiconv-$($(PKG)_VERSION)-msys-1.0.17-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/libiconv' | \
+    $(SED) -n 's,.*title="libiconv-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-libintl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-libintl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.18.1.1-1
+$(PKG)_CHECKSUM := 1829b35db16d223f2a74b85058855f26c829eadd
+$(PKG)_REMOTE_SUBDIR := gettext/gettext-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := gettext-$($(PKG)_VERSION)-msys-1.0.17-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/gettext' | \
+    $(SED) -n 's,.*title="gettext-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-libmagic.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-libmagic
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.04-1
+$(PKG)_CHECKSUM := e30df31c333cdba1137dc236e005a64a604bde8e
+$(PKG)_REMOTE_SUBDIR := file/file-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := file-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/file' | \
+    $(SED) -n 's,.*title="file-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-libopenssl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-libopenssl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.0-1
+$(PKG)_CHECKSUM := d2b4f58d0830acc6145c9149ce7e196f8e5a22f5
+$(PKG)_REMOTE_SUBDIR := openssl/openssl-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := openssl-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/openssl' | \
+    $(SED) -n 's,.*title="openssl-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-make.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-make
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.81-3
+$(PKG)_CHECKSUM := 6c5453bf2b47257573cc6be782986a83f219b78b
+$(PKG)_REMOTE_SUBDIR := make/make-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := make-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/make' | \
+    $(SED) -n 's,.*title="make-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-msys-core.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-msys-core
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.19-1
+$(PKG)_CHECKSUM := 8fe75384cecbbac86b030eb90eea0e01556cb460
+$(PKG)_REMOTE_SUBDIR := msys-core/msys-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := msysCORE-$($(PKG)_VERSION)-msys-1.0.19-src.tar.xz
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/msys-core' | \
+    $(SED) -n 's,.*title="msys-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-patch.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-patch
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.6.1-1
+$(PKG)_CHECKSUM := bdf8933845b2e2d5aad5fc05bf2665845a8091a3
+$(PKG)_REMOTE_SUBDIR := patch/patch-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := patch-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/patch' | \
+    $(SED) -n 's,.*title="patch-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-perl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-perl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.8.8-1
+$(PKG)_CHECKSUM := 2510a7ff6bf9486d0ffe51f86f8b4a57366c809c
+$(PKG)_REMOTE_SUBDIR := perl/perl-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := perl-$($(PKG)_VERSION)-msys-1.0.17-src.tar.lzma
+$(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/perl' | \
+    $(SED) -n 's,.*title="perl-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-regex.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-regex
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.20090805-2
+$(PKG)_CHECKSUM := 538cf83a0971d7e9f5679de2ad6af8da2d9b95a8
+$(PKG)_REMOTE_SUBDIR := regex/regex-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := regex-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/regex' | \
+    $(SED) -n 's,.*title="regex-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-sed.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-sed
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.2.1-2
+$(PKG)_CHECKSUM := 0d6341111cf2b627105f3c735015ffa2bd7a71d1
+$(PKG)_REMOTE_SUBDIR := sed/sed-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := sed-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/sed' | \
+    $(SED) -n 's,.*title="sed-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-tar.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-tar
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.23-1
+$(PKG)_CHECKSUM := f65c2f71f8c9c651d0f0b4be84e38205612ea5ee
+$(PKG)_REMOTE_SUBDIR := tar/tar-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := tar-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/tar' | \
+    $(SED) -n 's,.*title="tar-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-termcap.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-termcap
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.20050421_1-2
+$(PKG)_CHECKSUM := f5e22018742966dd57f6c5dbb73c2672ce07994b
+$(PKG)_REMOTE_SUBDIR := termcap/termcap-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := termcap-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_BASE_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_BASE_URL)/termcap' | \
+    $(SED) -n 's,.*title="termcap-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-unzip.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-unzip
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 6.0-1
+$(PKG)_CHECKSUM := 2138b68bb3d5215ec67fabbb467db7940e15c168
+$(PKG)_REMOTE_SUBDIR := unzip/unzip-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := unzip-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/unzip' | \
+    $(SED) -n 's,.*title="unzip-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-wget.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-wget
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.12-1
+$(PKG)_CHECKSUM := e4302886ab009c825db69917eb6e73bcb481c443
+$(PKG)_REMOTE_SUBDIR := wget/wget-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := wget-$($(PKG)_VERSION)-msys-1.0.13-src.tar.lzma
+$(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/wget' | \
+    $(SED) -n 's,.*title="wget-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-zip.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-zip
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.0-1
+$(PKG)_CHECKSUM := 6f408c4fd59f223828711df748d41cfe55b8ce7c
+$(PKG)_REMOTE_SUBDIR := zip/zip-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := zip-$($(PKG)_VERSION)-msys-1.0.14-src.tar.lzma
+$(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/zip' | \
+    $(SED) -n 's,.*title="zip-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys-zlib.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys-zlib
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.7-1
+$(PKG)_CHECKSUM := a65c4635a069fb4fe34146b2ad6f769368401358
+$(PKG)_REMOTE_SUBDIR := zlib/zlib-$($(PKG)_VERSION)
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := zlib-$($(PKG)_VERSION)-msys-1.0.17-src.tar.lzma
+$(PKG)_URL      := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS_EXTENSION_URL)/zlib' | \
+    $(SED) -n 's,.*title="zlib-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-bash.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-bash
+$(PKG)_NAME     := bash
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.4.023-2
+$(PKG)_CHECKSUM := 828f34e19213e85da923af12a3d5b98ad3a3dcff
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-coreutils.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-coreutils
+$(PKG)_NAME     := coreutils
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 8.32-1
+$(PKG)_CHECKSUM := 81058057134411482ea3a983f4302f8e670b5324
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-diffutils.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-diffutils
+$(PKG)_NAME     := diffutils
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.7-1
+$(PKG)_CHECKSUM := fd20765234e40e5ea0275449e8acee50f30b7edf
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-dos2unix.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-dos2unix
+$(PKG)_NAME     := dos2unix
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 7.4.1-1
+$(PKG)_CHECKSUM := d0b853bfc7670317eaf6782cbe21eb2fba19b303
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-filesystem.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-filesystem
+$(PKG)_NAME     := filesystem
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2020.02-2
+$(PKG)_CHECKSUM := 055d9bdc1b18f1f2028c24500ce526883ed66192
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-findutils.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-findutils
+$(PKG)_NAME     := findutils
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.7.0-1
+$(PKG)_CHECKSUM := fdf6a21d7d4a160eb8824fa76e110f542a7f76c7
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-gawk.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-gawk
+$(PKG)_NAME     := gawk
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.1.0-1
+$(PKG)_CHECKSUM := e20448a9d27125b05f36926db8638cf6b2442d3e
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-gcc-libs.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-gcc-libs
+$(PKG)_NAME     := gcc
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 9.3.0-1
+$(PKG)_CHECKSUM := f0090333d3529304e10160f6c06286b3d7f04b8f
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-gmp.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-gmp
+$(PKG)_NAME     := gmp
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 6.2.0-1
+$(PKG)_CHECKSUM := 20de4de5d414ac1636f84ea274c286d352a4276d
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-gnupg.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-gnupg
+$(PKG)_NAME     := gnupg
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.2.20-1
+$(PKG)_CHECKSUM := 5ac0bfb40c98f45ff14bbff7a9f9d9d68b402f7c
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-grep.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-grep
+$(PKG)_NAME     := grep
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.1-1
+$(PKG)_CHECKSUM := 5c0bb2e218141ea87315891adad3c196e8dd3cd7
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-gzip.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-gzip
+$(PKG)_NAME     := gzip
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.10-1
+$(PKG)_CHECKSUM := e1667518b28cdb0ae3999ddb75c5a2f579c43eb2
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-icu.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-icu
+$(PKG)_NAME     := icu
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 65.1-1
+$(PKG)_CHECKSUM := b3f8ed15b175f003267f906ddc4a0bad303ff2bb
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-info.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-info
+$(PKG)_NAME     := texinfo
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 6.7-1
+$(PKG)_CHECKSUM := 88be67273cd44cc49490d85e1847ec4cccddc26e
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-keyring.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-keyring
+$(PKG)_NAME     := msys2-keyring
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := r9.397a52e-1
+$(PKG)_CHECKSUM := 9d1078c01686517816f98ab1142bfe5a07103694
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-less.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-less
+$(PKG)_NAME     := less
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 551-1
+$(PKG)_CHECKSUM := 999d5d0f27e5b68115cc4346f8e57fb1d3572484
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libassuan.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libassuan
+$(PKG)_NAME     := libassuan
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.5.3-1
+$(PKG)_CHECKSUM := 30580eb283c48ab1452d3775361848a6c21ff2a4
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libbz2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libbz2
+$(PKG)_NAME     := bzip2
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.8-2
+$(PKG)_CHECKSUM := 495dcb453fbfa290fb20e5056cd5033746fdc9a3
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libcrypt.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libcrypt
+$(PKG)_NAME     := libcrypt
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.1-2
+$(PKG)_CHECKSUM := d8ad56e97e77e1c0e35e5fe7a6650b69861bcc25
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libexpat.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libexpat
+$(PKG)_NAME     := expat
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.2.9-1
+$(PKG)_CHECKSUM := 42604d838eb06ac6be2f3e53e50d8c59d9b0ad29
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libffi.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libffi
+$(PKG)_NAME     := libffi
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.3-1
+$(PKG)_CHECKSUM := 803b155adca54e5361c697b2b32fbf1f43ff400d
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libgcrypt.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libgcrypt
+$(PKG)_NAME     := libgcrypt
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.8.5-1
+$(PKG)_CHECKSUM := ce681470f42231bf8f621658206ff7720289690d
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libgnutls.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libgnutls
+$(PKG)_NAME     := gnutls
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.6.13-1
+$(PKG)_CHECKSUM := d697ee3fe43df6d3a32213405d4313ad66747fb3
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libgpg-error.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libgpg-error
+$(PKG)_NAME     := libgpg-error
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.37-1
+$(PKG)_CHECKSUM := b7f4dc174a139f2c1ebcb8b2de9e2c6f7d1678f2
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libgpgme.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libgpgme
+$(PKG)_NAME     := gpgme
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.13.1-3
+$(PKG)_CHECKSUM := 31ff6481ffa5c1d23c4dc76529cf1ca4e8027a54
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libhogweed.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libhogweed
+$(PKG)_NAME     := nettle
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.5.1-1
+$(PKG)_CHECKSUM := 1c910c231882e4b1d17da5ff27c27ab7b2d86cf0
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libiconv.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libiconv
+$(PKG)_NAME     := libiconv
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.16-1
+$(PKG)_CHECKSUM := 7cec3650b665c102df9178f656b1f889ff4e7241
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libidn2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libidn2
+$(PKG)_NAME     := libidn2
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.3.0-1
+$(PKG)_CHECKSUM := e9e242218ff9c0afcbb127b66e052e52e9f0b4dd
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libintl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libintl
+$(PKG)_NAME     := gettext
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.19.8.1-1
+$(PKG)_CHECKSUM := 2f5333778765ac2c616da3a1f13c327c54b87085
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libksba.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libksba
+$(PKG)_NAME     := libksba
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3.5-1
+$(PKG)_CHECKSUM := e508a3b3f7f084c2b37d8d91bb712239fffd8bc2
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-liblzma.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-liblzma
+$(PKG)_NAME     := xz
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.2.5-1
+$(PKG)_CHECKSUM := 73208ab9831476e0b14dbf846a01c704beab5f67
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libmetalink.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libmetalink
+$(PKG)_NAME     := libmetalink
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.1.3-2
+$(PKG)_CHECKSUM := 94aa7bf7ee7e209e3dc7876b120d11fdcf7f212f
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libnettle.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libnettle
+$(PKG)_NAME     := nettle
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.5.1-1
+$(PKG)_CHECKSUM := 1c910c231882e4b1d17da5ff27c27ab7b2d86cf0
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libnpth.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libnpth
+$(PKG)_NAME     := npth
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.6-1
+$(PKG)_CHECKSUM := a6659dd67153f7cbf8fa726b852c655b764d6540
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libopenssl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libopenssl
+$(PKG)_NAME     := openssl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.1.g-1
+$(PKG)_CHECKSUM := ecfa421d0c2a9afc6a9e659aad9a2004fc97d7fe
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libp11-kit.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libp11-kit
+$(PKG)_NAME     := p11-kit
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.23.20-2
+$(PKG)_CHECKSUM := 0852244b980cc3f0a6d09af72263a76fe4c243e2
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libpcre.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libpcre
+$(PKG)_NAME     := pcre
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 8.44-1
+$(PKG)_CHECKSUM := d33654d0c64a567e62b00160f493b3898444baeb
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libpcre2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libpcre2
+$(PKG)_NAME     := pcre2
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 10.34-1
+$(PKG)_CHECKSUM := 4983764393b7e56ba3d934050e111823f866063e
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libpsl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libpsl
+$(PKG)_NAME     := libpsl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.21.0-1
+$(PKG)_CHECKSUM := 96d498e03fa9635ba548ff53474d93e683715164
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libreadline.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libreadline
+$(PKG)_NAME     := readline
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 8.0.004-1
+$(PKG)_CHECKSUM := cc5bce2c911d1c6d16330694eb3a9c72a7af7c44
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libsqlite.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libsqlite
+$(PKG)_NAME     := sqlite
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.30.0-1
+$(PKG)_CHECKSUM := fb98954867b2a7786aa8d84c41509b7ac080127e
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libtasn1.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libtasn1
+$(PKG)_NAME     := libtasn1
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.16.0-1
+$(PKG)_CHECKSUM := 1698268df00ffca54f9c72f6c04d2cbf2e934588
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libunistring.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libunistring
+$(PKG)_NAME     := libunistring
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.9.10-1
+$(PKG)_CHECKSUM := 5add3e7f5ac3c8491908cdd4461b4de1b681b6e5
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libutil-linux.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libutil-linux
+$(PKG)_NAME     := util-linux
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.35.1-1
+$(PKG)_CHECKSUM := f06d7e490e71339ebf9ebb578d6d36418fe532fa
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-libxml2.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-libxml2
+$(PKG)_NAME     := libxml2
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.9.10-4
+$(PKG)_CHECKSUM := 217439c1526077d2b9660b9eecfb7e01266b5fc3
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-make.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-make
+$(PKG)_NAME     := make
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.3-1
+$(PKG)_CHECKSUM := b6ba45538bfecb9ac1848b7ef97b713f103eee4e
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-mintty.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,23 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-mintty
+$(PKG)_NAME     := mintty
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1~3.1.4-1
+$(PKG)_FILTER   := mintty-1~
+$(PKG)_CHECKSUM := cc1becd7433520479d9c9307aba854316ef3e6cf
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-mpdecimal.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-mpdecimal
+$(PKG)_NAME     := mpdecimal
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.4.2-2
+$(PKG)_CHECKSUM := baf2f04d1502ce51bff4d88a6756bf5bc942f5db
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-mpfr.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-mpfr
+$(PKG)_NAME     := mpfr
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.0.2-1
+$(PKG)_CHECKSUM := 637b68bbddb0c6b004b1cc580ea0dc18322b1a50
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-ncurses.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-ncurses
+$(PKG)_NAME     := ncurses
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 6.2-1
+$(PKG)_CHECKSUM := ba76badfafb9dd3e3609b400636bec58c43d08f1
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-pacman-mirrors.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-pacman-mirrors
+$(PKG)_NAME     := pacman-mirrors
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 20200329-1
+$(PKG)_CHECKSUM := a8355dfd152888e8d8efe9dfc886d4ef9ebb6cad
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-pacman.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-pacman
+$(PKG)_NAME     := pacman
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.2.1-6
+$(PKG)_CHECKSUM := 45db0e8e4345872b188644719a56fb8c550763c8
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-patch.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-patch
+$(PKG)_NAME     := patch
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.7.6-1
+$(PKG)_CHECKSUM := ddae0b3ee221c8d6e072dbd60a06792048a83205
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-perl.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-perl
+$(PKG)_NAME     := perl
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.30.2-1
+$(PKG)_CHECKSUM := 6144c54c7c89cbf71c889f8c78fae536105f5c77
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-python.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-python
+$(PKG)_NAME     := python
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.8.4-1
+$(PKG)_CHECKSUM := 2318102220163c823e9f7f2e8d4a5ee75f094b9b
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-runtime.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-runtime
+$(PKG)_NAME     := msys2-runtime
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.0.7-6
+$(PKG)_CHECKSUM := e30bfc716abc701fe3b5af24b6caaa2e9ba4958e
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-sed.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-sed
+$(PKG)_NAME     := sed
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.8-1
+$(PKG)_CHECKSUM := 2dd248d922ffde2214b0da4543cc00593ab26932
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-tar.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-tar
+$(PKG)_NAME     := tar
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.32-1
+$(PKG)_CHECKSUM := e95131e3bbca2ee42f73a28653ff9dd0c6177397
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-unzip.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-unzip
+$(PKG)_NAME     := unzip
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 6.0-2
+$(PKG)_CHECKSUM := c7d77f66763b9836453d46afc810e9e00a9bc2d7
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-wget.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-wget
+$(PKG)_NAME     := wget
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.20.3-1
+$(PKG)_CHECKSUM := d2cf2253936beaf8b0f378c736141ab4561f119d
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-zip.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-zip
+$(PKG)_NAME     := zip
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.0-3
+$(PKG)_CHECKSUM := fe5d592418617d6f2b8d4d08888f4e9982c3c39e
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/src-msys2-zlib.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := src-msys2-zlib
+$(PKG)_NAME     := zlib
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.11-1
+$(PKG)_CHECKSUM := 90c0447c65b09549181b90840378305b05a7695b
+$(PKG)_SUBDIR   := 
+$(PKG)_FILE     := $($(PKG)_NAME)-$($(PKG)_VERSION).src.tar.gz
+$(PKG)_URL      := $(MSYS2_SRC_URL)/$($(PKG)_FILE)
+
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- '$(MSYS2_BASE_URL)/' | \
+    $(SED) -n 's,.*title="$($(PKG)_NAME)-\([0-9][^"]*\)".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/stable-octave-1-gnulib.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,12 @@
+diff -uNr a/libgnu/unistd.in.h b/libgnu/unistd.in.h
+--- a/libgnu/unistd.in.h	2016-06-18 18:47:32.000000000 -0400
++++ b/libgnu/unistd.in.h	2016-06-23 18:45:42.410781867 -0400
+@@ -734,7 +734,7 @@
+    Null terminate it if the name is shorter than LEN.
+    If the host name is longer than LEN, set errno = EINVAL and return -1.
+    Return 0 if successful, otherwise set errno and return -1.  */
+-# if @UNISTD_H_HAVE_WINSOCK2_H@
++# if !@HAVE_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@
+ #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+ #   undef gethostname
+ #   define gethostname rpl_gethostname
\ No newline at end of file
--- a/src/stable-octave.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/stable-octave.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -1,13 +1,154 @@
 # This file is part of MXE.
 # See index.html for further information.
 
+## This set of rules is intended for building the latest sources from
+## the stable branch of the Octave hg archive.  The $(PKG)_URL is
+## intentionally set to an invalid value.  You must create a tar.lz
+## file from the stable branch of the Octave hg archive separately
+## and place it in the directory where mxe-octave package sources
+## are found.
+
+## We omit the package checksum so that we don't have to update it
+## each time the tarball changes.
+
 PKG             := stable-octave
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 4563c3fdb15ac76419f78b8ad8a9b1ba3484a7aa
+$(PKG)_VERSION  := 6.1.91
+$(PKG)_CHECKSUM := ## No checksum
 $(PKG)_SUBDIR   := octave-$($(PKG)_VERSION)
-$(PKG)_FILE     := octave-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := ftp://ftp.gnu.org/gnu/octave/$($(PKG)_FILE)
-$(PKG)_DEPS     := arpack blas curl fftw fltk fontconfig glpk gnuplot graphicsmagick hdf5 lapack pcre pstoedit qhull qrupdate readline suitesparse texinfo zlib
+$(PKG)_FILE     := octave-$($(PKG)_VERSION).tar.lz
+$(PKG)_URL      := http://not.a.valid.url/$($(PKG)_FILE)
+ifeq ($(USE_SYSTEM_FONTCONFIG),no)
+  $(PKG)_FONTCONFIG := fontconfig
+endif
+$(PKG)_DEPS     := blas arpack curl epstool fftw fltk $($(PKG)_FONTCONFIG) ghostscript gl2ps glpk gnuplot graphicsmagick hdf5 lapack libsndfile pcre portaudio pstoedit qhull qrupdate qscintilla readline sundials-ida suitesparse texinfo zlib
+
+ifeq ($(ENABLE_QT5),yes)
+    $(PKG)_DEPS += qt5
+else
+    $(PKG)_DEPS += qt
+endif
+
+ifeq ($(USE_SYSTEM_OPENGL),no)
+  $(PKG)_DEPS += mesa
+endif
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  $(PKG)_WITH_BLAS_CONFIGURE_OPTIONS := --with-blas="-lblas -lxerbla"
+else
+  $(PKG)_WITH_BLAS_CONFIGURE_OPTIONS := --with-blas="-lblas"
+  ifeq ($(USE_SYSTEM_X11_LIBS),no)
+    $(PKG)_DEPS += x11 xext
+  endif
+endif
+
+ifeq ($(MXE_SYSTEM),mingw)
+  ifeq ($(USE_SYSTEM_GCC),no)
+    $(PKG)_DEPS     += libgomp
+  endif
+endif
+
+ifeq ($(ENABLE_JIT),yes)
+  $(PKG)_DEPS += llvm
+  $(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS := --enable-jit
+else
+  $(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS := --disable-jit
+endif
+
+ifeq ($(ENABLE_JAVA),no)
+  $(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS := --disable-java
+else
+  ifeq ($(MXE_SYSTEM),mingw)
+    ifeq ($(MXE_NATIVE_BUILD),no)
+      $(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS := \
+       --with-java-includedir="$(HOST_INCDIR)/java"
+     endif
+  endif
+endif
+
+## If we allow the system Qt libraries to be used, then these
+## won't make sense.
+$(PKG)_QT_CONFIGURE_OPTIONS := \
+  MOC_QTVER=$(MXE_MOC) \
+  UIC_QTVER=$(MXE_UIC) \
+  RCC_QTVER=$(MXE_RCC) \
+  LRELEASE_QTVER=$(MXE_LRELEASE)
+
+ifeq ($(ENABLE_QT5),yes)
+  #$(PKG)_PKG_CONFIG_PATH := "$(HOST_LIBDIR)/pkgconfig"
+  $(PKG)_PKG_CONFIG_PATH := "$(HOST_PREFIX)/qt5/lib/pkgconfig:$(HOST_LIBDIR)/pkgconfig"
+  $(PKG)_QTDIR := $(HOST_PREFIX)/qt5
+  $(PKG)_QT_CONFIGURE_OPTIONS += octave_cv_lib_qscintilla="-lqscintilla2_qt5"
+else
+  $(PKG)_PKG_CONFIG_PATH := "$(HOST_LIBDIR)/pkgconfig"
+  $(PKG)_QTDIR := $(HOST_PREFIX)
+  $(PKG)_QT_CONFIGURE_OPTIONS += octave_cv_lib_qscintilla="-lqscintilla2_qt4"
+endif
+
+
+ifneq ($(ENABLE_DOCS),yes)
+  $(PKG)_ENABLE_DOCS_CONFIGURE_OPTIONS := --disable-docs
+endif
+
+ifeq ($(MXE_NATIVE_BUILD),yes)
+  $(PKG)_CONFIGURE_ENV := LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)
+  ifeq ($(ENABLE_64),yes)
+    $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64
+  else
+    $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --disable-64
+  endif
+else
+  ifeq ($(MXE_SYSTEM),mingw)
+    $(PKG)_CROSS_CONFIG_OPTIONS := \
+      FLTK_CONFIG='$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)fltk-config' \
+      gl_cv_func_gettimeofday_clobber=no \
+      gl_cv_func_tzset_clobber=no
+    ifeq ($(ENABLE_64),yes)
+      $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64
+    else
+      $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --disable-64
+    endif
+  endif
+endif
+
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
+  $(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS := F77_INTEGER_8_FLAG=-fdefault-integer-8 ax_blas_f77_func_ok=yes ax_blas_integer_size=8 octave_cv_sizeof_fortran_integer=8
+else
+  $(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS := ax_blas_f77_func_ok=yes ax_blas_integer_size=4 octave_cv_sizeof_fortran_integer=4
+endif
+
+ifeq ($(MXE_SYSTEM),msvc)
+  $(PKG)_PREFIX := '$(HOST_PREFIX)/local/$($(PKG)_SUBDIR)'
+  # - Enable atomic refcount (required for QtHandles)
+  # - Skip configure test for pow and sqrt, MSVC fails to compile them
+  #   because it uses intrinsics (with -O2 flag) and bump on the fake
+  #   "char FUNC()" forward declaration.
+  # - Override CFLAGS and CXXFLAGS to disable some warnings.
+  $(PKG)_EXTRA_CONFIGURE_OPTIONS := \
+    --enable-atomic-refcount \
+    ac_cv_func_pow=yes ac_cv_func_sqrt=yes \
+    CFLAGS='-O2 -wd4244 -wd4003 -wd4005 -wd4068' \
+    CXXFLAGS='-O2 -wd4244 -wd4003 -wd4005 -wd4068'
+else
+  $(PKG)_PREFIX := '$(HOST_PREFIX)'
+  $(PKG)_EXTRA_CONFIGURE_OPTIONS := \
+    LDFLAGS='-Wl,-rpath-link,$(HOST_LIBDIR) -L$(HOST_LIBDIR) -L$($(PKG)_QTDIR)/lib'
+endif
+
+ifeq ($(MXE_SYSTEM),mingw)
+  $(PKG)_EXTRA_CONFIGURE_OPTIONS += --with-x=no
+endif
+
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+  $(PKG)_EXTRA_CONFIGURE_OPTIONS += ac_cv_search_tputs=-ltermcap
+endif
+
+# if want binary packages and are cross compiling, then we need cross tools enabled
+ifeq ($(ENABLE_BINARY_PACKAGES),yes)
+  ifeq ($(MXE_NATIVE_BUILD),no)
+    $(PKG)_EXTRA_CONFIGURE_OPTIONS += --enable-cross-tools
+  endif
+endif
 
 define $(PKG)_UPDATE
     echo 'Warning: Updates are temporarily disabled for package octave.' >&2;
@@ -15,16 +156,61 @@
 endef
 
 define $(PKG)_BUILD
-    mkdir '$(1)/.build'
-    cd '$(1)/.build' && '$(1)/configure' \
-        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        --prefix='$(HOST_PREFIX)' \
-        FLTK_CONFIG="$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)fltk-config" \
-        gl_cv_func_gettimeofday_clobber=no
+    # jni install
+    if [ "$(MXE_SYSTEM)" == "mingw" ] \
+      && [ "$(MXE_NATIVE_BUILD)" == "no" ] \
+      && [ "$(ENABLE_JAVA)" == "yes" ]; then \
+      if [ ! -f $(HOST_INCDIR)/java/jni.h ]; then \
+        mkdir -p '$(HOST_INCDIR)/java'; \
+        $(WGET) -N http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/raw-file/tip/src/share/javavm/export/jni.h \
+          -O $(HOST_INCDIR)/java/jni.h; \
+      fi; \
+      if [ ! -f $(HOST_INCDIR)/java/win32/jni_md.h ]; then \
+        mkdir -p '$(HOST_INCDIR)/java/win32'; \
+        $(WGET) -N http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/raw-file/tip/src/windows/javavm/export/jni_md.h \
+          -O $(HOST_INCDIR)/java/win32/jni_md.h; \
+      fi; \
+    fi
 
-    ## We want both of these install steps so that we install in the
-    ## location set by the configure --prefix option, and the other
-    ## in a directory tree that will have just Octave files.
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' DESTDIR=$(TOP_DIR)/octave-stable install
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$($(PKG)_PREFIX)' \
+        --disable-silent-rules \
+        --enable-install-build-logs \
+        $($(PKG)_CROSS_CONFIG_OPTIONS) \
+        $($(PKG)_WITH_BLAS_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_DOCS_CONFIGURE_OPTIONS) \
+        $($(PKG)_QT_CONFIGURE_OPTIONS) \
+        $($(PKG)_EXTRA_CONFIGURE_OPTIONS) \
+        PKG_CONFIG='$(MXE_PKG_CONFIG)' \
+        PKG_CONFIG_PATH=$($(PKG)_PKG_CONFIG_PATH) \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build/libgnu'
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+
+    if [ "x$(MXE_SYSTEM)" == "xmingw" ]; then \
+      $(INSTALL) '$(3)/$(HOST_BINDIR)/libxerbla.dll' '$(3)$(HOST_BINDIR)/libxerbla-octave.dll'; \
+      cp '$(1)/.build/src/.libs/octave-gui.exe' '$(3)$(HOST_BINDIR)'; \
+      if [ "x$(ENABLE_BINARY_PACKAGES)" == "xyes" ]; then \
+        mkdir -p '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \
+        $(INSTALL) '$(1)/.build/src/$(MXE_TOOL_PREFIX)mkoctfile' '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \
+        $(INSTALL) '$(1)/.build/src/$(MXE_TOOL_PREFIX)octave-config' '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \
+      fi; \
+    fi
+
+    if [ "x$(ENABLE_DOCS)" == "xyes" ]; then \
+        $(MAKE) -C '$(1)/.build' -j '$(JOBS)' DESTDIR=$(3) install-pdf install-html; \
+    fi
+
+    # create a file with latest installed octave rev in it
+    mkdir -p '$(TOP_BUILD_DIR)/octave'
+    echo "$($(PKG)_VERSION)" > $(TOP_BUILD_DIR)/octave/octave-version
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/suitesparse-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,766 @@
+This file is part of MXE.
+See index.html for further information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Tue, 21 Nov 2017 00:39:21 +1100
+Subject: [PATCH 1/3] mingw-w64-Use-a-not-lib-as-AR_TARGET-extension
+
+taken from:
+https://github.com/Alexpux/MINGW-packages/blob/6d1afc34842f2faf6c50c04e5904cdb8b7f20e3b/mingw-w64-suitesparse/0001-mingw-w64-Use-a-not-lib-as-AR_TARGET-extension.patch
+
+diff --git a/SuiteSparse_config/SuiteSparse_config.mk b/SuiteSparse_config/SuiteSparse_config.mk
+index 1111111..2222222 100644
+--- a/SuiteSparse_config/SuiteSparse_config.mk
++++ b/SuiteSparse_config/SuiteSparse_config.mk
+@@ -429,10 +429,8 @@ SO_OPTS = $(LDFLAGS)
+ 
+ ifeq ($(UNAME),Windows)
+     # Cygwin Make on Windows (untested)
+-    AR_TARGET = $(LIBRARY).lib
+-    SO_PLAIN  = $(LIBRARY).dll
+-    SO_MAIN   = $(LIBRARY).$(SO_VERSION).dll
+-    SO_TARGET = $(LIBRARY).$(VERSION).dll
++    AR_TARGET = $(LIBRARY).a
++    SO_TARGET = $(LIBRARY).dll
+     SO_INSTALL_NAME = echo
+ else
+     # Mac or Linux/Unix
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Tue, 21 Nov 2017 00:41:07 +1100
+Subject: [PATCH 2/3] 
+ mingw-w64-Set-SO_OPTS--shared-move-dlls-create-import-libs
+
+taken from:
+https://github.com/Alexpux/MINGW-packages/blob/6d1afc34842f2faf6c50c04e5904cdb8b7f20e3b/mingw-w64-suitesparse/0002-mingw-w64-Set-SO_OPTS--shared-move-dlls-create-import-libs.patch
+
+diff --git a/AMD/Lib/Makefile b/AMD/Lib/Makefile
+index 1111111..2222222 100644
+--- a/AMD/Lib/Makefile
++++ b/AMD/Lib/Makefile
+@@ -81,28 +81,24 @@ libamdf77.a: $(AMDF77)
+ #-------------------------------------------------------------------------------
+ 
+ # install AMD
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
++$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) ../Include/amd.h $(INSTALL_INCLUDE)
+ 	$(CP) ../Doc/AMD_UserGuide.pdf $(INSTALL_DOC)
+ 	$(CP) ../README.txt $(INSTALL_DOC)/AMD_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_INCLUDE)/amd.h
+ 	chmod 644 $(INSTALL_DOC)/AMD_UserGuide.pdf
+ 	chmod 644 $(INSTALL_DOC)/AMD_README.txt
+ 
+ # uninstall AMD
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_INCLUDE)/amd.h
+ 	$(RM) $(INSTALL_DOC)/AMD_UserGuide.pdf
+ 	$(RM) $(INSTALL_DOC)/AMD_README.txt
+diff --git a/BTF/Lib/Makefile b/BTF/Lib/Makefile
+index 1111111..2222222 100644
+--- a/BTF/Lib/Makefile
++++ b/BTF/Lib/Makefile
+@@ -66,25 +66,21 @@ btf_l_strongcomp.o: ../Source/btf_strongcomp.c
+ #-------------------------------------------------------------------------------
+ 
+ # install BTF
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
++$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) ../Include/btf.h $(INSTALL_INCLUDE)
+ 	$(CP) ../README.txt $(INSTALL_DOC)/BTF_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_INCLUDE)/btf.h
+ 	chmod 644 $(INSTALL_DOC)/BTF_README.txt
+ 
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_INCLUDE)/btf.h
+ 	$(RM) $(INSTALL_DOC)/BTF_README.txt
+ 
+diff --git a/CAMD/Lib/Makefile b/CAMD/Lib/Makefile
+index 1111111..2222222 100644
+--- a/CAMD/Lib/Makefile
++++ b/CAMD/Lib/Makefile
+@@ -62,28 +62,24 @@ $(AR_TARGET): $(OBJ)
+ #-------------------------------------------------------------------------------
+ 
+ # install CAMD
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
++$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) ../Include/camd.h $(INSTALL_INCLUDE)
+ 	$(CP) ../Doc/CAMD_UserGuide.pdf $(INSTALL_DOC)
+ 	$(CP) ../README.txt $(INSTALL_DOC)/CAMD_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_INCLUDE)/camd.h
+ 	chmod 644 $(INSTALL_DOC)/CAMD_UserGuide.pdf
+ 	chmod 644 $(INSTALL_DOC)/CAMD_README.txt
+ 
+ # uninstall CAMD
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_INCLUDE)/camd.h
+ 	$(RM) $(INSTALL_DOC)/CAMD_UserGuide.pdf
+ 	$(RM) $(INSTALL_DOC)/CAMD_README.txt
+diff --git a/CCOLAMD/Lib/Makefile b/CCOLAMD/Lib/Makefile
+index 1111111..2222222 100644
+--- a/CCOLAMD/Lib/Makefile
++++ b/CCOLAMD/Lib/Makefile
+@@ -49,25 +49,21 @@ distclean: clean
+ 	- $(RM) -r $(PURGE)
+ 
+ # install CCOLAMD
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
++$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) ../Include/ccolamd.h $(INSTALL_INCLUDE)
+ 	$(CP) ../README.txt $(INSTALL_DOC)/CCOLAMD_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_INCLUDE)/ccolamd.h
+ 	chmod 644 $(INSTALL_DOC)/CCOLAMD_README.txt
+ 
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_INCLUDE)/ccolamd.h
+ 	$(RM) $(INSTALL_DOC)/CCOLAMD_README.txt
+ 
+diff --git a/CHOLMOD/Lib/Makefile b/CHOLMOD/Lib/Makefile
+index 1111111..2222222 100644
+--- a/CHOLMOD/Lib/Makefile
++++ b/CHOLMOD/Lib/Makefile
+@@ -535,29 +535,25 @@ cholmod_l_gpu.o: ../GPU/cholmod_gpu.c
+ #-------------------------------------------------------------------------------
+ 
+ # install CHOLMOD
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
++$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CXX) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) ../Include/cholmod*.h $(INSTALL_INCLUDE)
+ 	$(RM) $(INSTALL_INCLUDE)/cholmod_internal.h
+ 	$(CP) ../Doc/CHOLMOD_UserGuide.pdf $(INSTALL_DOC)
+ 	$(CP) ../README.txt $(INSTALL_DOC)/CHOLMOD_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_INCLUDE)/cholmod*.h
+ 	chmod 644 $(INSTALL_DOC)/CHOLMOD_UserGuide.pdf
+ 	chmod 644 $(INSTALL_DOC)/CHOLMOD_README.txt
+ 
+ # uninstall CHOLMOD
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_INCLUDE)/cholmod*.h
+ 	$(RM) $(INSTALL_DOC)/CHOLMOD_UserGuide.pdf
+ 	$(RM) $(INSTALL_DOC)/CHOLMOD_README.txt
+diff --git a/COLAMD/Lib/Makefile b/COLAMD/Lib/Makefile
+index 1111111..2222222 100644
+--- a/COLAMD/Lib/Makefile
++++ b/COLAMD/Lib/Makefile
+@@ -49,25 +49,21 @@ distclean: clean
+ 	- $(RM) -r $(PURGE)
+ 
+ # install COLAMD
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
++$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) ../Include/colamd.h $(INSTALL_INCLUDE)
+ 	$(CP) ../README.txt $(INSTALL_DOC)/COLAMD_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_INCLUDE)/colamd.h
+ 	chmod 644 $(INSTALL_DOC)/COLAMD_README.txt
+ 
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_INCLUDE)/colamd.h
+ 	$(RM) $(INSTALL_DOC)/COLAMD_README.txt
+ 
+diff --git a/CXSparse/Lib/Makefile b/CXSparse/Lib/Makefile
+index 1111111..2222222 100644
+--- a/CXSparse/Lib/Makefile
++++ b/CXSparse/Lib/Makefile
+@@ -113,26 +113,22 @@ distclean: clean
+ 	- $(RM) -r $(PURGE)
+ 
+ # install CXSparse
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(CS)
++$(INSTALL_SO)/$(SO_TARGET): $(CS)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) ../Include/cs.h $(INSTALL_INCLUDE)
+ 	$(CP) ../README.txt $(INSTALL_DOC)/CXSPARSE_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_INCLUDE)/cs.h
+ 	chmod 644 $(INSTALL_DOC)/CXSPARSE_README.txt
+ 
+ # uninstall CXSparse
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_INCLUDE)/cs.h
+ 	$(RM) $(INSTALL_DOC)/CXSPARSE_README.txt
+ 
+diff --git a/CXSparse_newfiles/Lib/Makefile b/CXSparse_newfiles/Lib/Makefile
+index 1111111..2222222 100644
+--- a/CXSparse_newfiles/Lib/Makefile
++++ b/CXSparse_newfiles/Lib/Makefile
+@@ -113,26 +113,22 @@ distclean: clean
+ 	- $(RM) -r $(PURGE)
+ 
+ # install CXSparse
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(CS)
++$(INSTALL_SO)/$(SO_TARGET): $(CS)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) ../Include/cs.h $(INSTALL_INCLUDE)
+ 	$(CP) ../README.txt $(INSTALL_DOC)/CXSPARSE_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_INCLUDE)/cs.h
+ 	chmod 644 $(INSTALL_DOC)/CXSPARSE_README.txt
+ 
+ # uninstall CXSparse
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_INCLUDE)/cs.h
+ 	$(RM) $(INSTALL_DOC)/CXSPARSE_README.txt
+ 
+diff --git a/GPUQREngine/Lib/Makefile b/GPUQREngine/Lib/Makefile
+index 1111111..2222222 100644
+--- a/GPUQREngine/Lib/Makefile
++++ b/GPUQREngine/Lib/Makefile
+@@ -129,24 +129,20 @@ $(AR_TARGET): $(OBJS)
+ #-------------------------------------------------------------------------------
+ 
+ # install GPUQREngine.  Note that the include files are not installed.
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(OBJS)
++$(INSTALL_SO)/$(SO_TARGET): $(OBJS)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CXX) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) ../README.txt $(INSTALL_DOC)/GPUQRENGINE_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_DOC)/GPUQRENGINE_README.txt
+ 
+ # uninstall GPUQREngine
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_DOC)/GPUQRENGINE_README.txt
+ 
+ #-------------------------------------------------------------------------------
+diff --git a/KLU/Lib/Makefile b/KLU/Lib/Makefile
+index 1111111..2222222 100644
+--- a/KLU/Lib/Makefile
++++ b/KLU/Lib/Makefile
+@@ -263,28 +263,24 @@ klu_l_memory.o: ../Source/klu_memory.c
+ #-------------------------------------------------------------------------------
+ 
+ # install KLU
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
++$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) ../Include/klu.h $(INSTALL_INCLUDE)
+ 	$(CP) ../Doc/KLU_UserGuide.pdf $(INSTALL_DOC)
+ 	$(CP) ../README.txt $(INSTALL_DOC)/KLU_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_INCLUDE)/klu.h
+ 	chmod 644 $(INSTALL_DOC)/KLU_UserGuide.pdf
+ 	chmod 644 $(INSTALL_DOC)/KLU_README.txt
+ 
+ # uninstall KLU
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_INCLUDE)/klu.h
+ 	$(RM) $(INSTALL_DOC)/KLU_UserGuide.pdf
+ 	$(RM) $(INSTALL_DOC)/KLU_README.txt
+diff --git a/LDL/Lib/Makefile b/LDL/Lib/Makefile
+index 1111111..2222222 100644
+--- a/LDL/Lib/Makefile
++++ b/LDL/Lib/Makefile
+@@ -46,28 +46,24 @@ clean:
+ 	- $(RM) -r $(CLEAN)
+ 
+ # install LDL
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
++$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) ../Include/ldl.h $(INSTALL_INCLUDE)
+ 	$(CP) ../Doc/ldl_userguide.pdf $(INSTALL_DOC)
+ 	$(CP) ../README.txt $(INSTALL_DOC)/LDL_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_INCLUDE)/ldl.h
+ 	chmod 644 $(INSTALL_DOC)/ldl_userguide.pdf
+ 	chmod 644 $(INSTALL_DOC)/LDL_README.txt
+ 
+ # uninstall LDL
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_INCLUDE)/ldl.h
+ 	$(RM) $(INSTALL_DOC)/ldl_userguide.pdf
+ 	$(RM) $(INSTALL_DOC)/LDL_README.txt
+diff --git a/Makefile b/Makefile
+index 1111111..2222222 100644
+--- a/Makefile
++++ b/Makefile
+@@ -63,13 +63,13 @@ ifeq (,$(MY_METIS_LIB))
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+-	- $(CP) lib/libmetis.* $(INSTALL_LIB)
++	- $(CP) lib/libmetis.* $(INSTALL_SO)
+ 	- $(CP) metis-5.1.0/manual/manual.pdf $(INSTALL_DOC)/METIS_manual.pdf
+ 	- $(CP) metis-5.1.0/README.txt $(INSTALL_DOC)/METIS_README.txt
+         # the following is needed only on the Mac, so *.dylib is hardcoded:
+ 	$(SO_INSTALL_NAME) $(INSTALL_LIB)/libmetis.dylib $(INSTALL_LIB)/libmetis.dylib
+ 	- $(CP) include/metis.h $(INSTALL_INCLUDE)
+-	chmod 755 $(INSTALL_LIB)/libmetis.*
++	chmod 755 $(INSTALL_SO)/libmetis.*
+ 	chmod 644 $(INSTALL_INCLUDE)/metis.h
+ 	chmod 644 $(INSTALL_DOC)/METIS_manual.pdf
+ 	chmod 644 $(INSTALL_DOC)/METIS_README.txt
+diff --git a/RBio/Lib/Makefile b/RBio/Lib/Makefile
+index 1111111..2222222 100644
+--- a/RBio/Lib/Makefile
++++ b/RBio/Lib/Makefile
+@@ -60,25 +60,21 @@ RBio_i.o: ../Source/RBio.c
+ #-------------------------------------------------------------------------------
+ 
+ # install RBio
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
++$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) ../Include/RBio.h $(INSTALL_INCLUDE)
+ 	$(CP) ../README.txt $(INSTALL_DOC)/RBIO_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_INCLUDE)/RBio.h
+ 	chmod 644 $(INSTALL_DOC)/RBIO_README.txt
+ 
+ # uninstall RBio
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_INCLUDE)/RBio.h
+ 	$(RM) $(INSTALL_DOC)/RBIO_README.txt
+diff --git a/SPQR/Lib/Makefile b/SPQR/Lib/Makefile
+index 1111111..2222222 100644
+--- a/SPQR/Lib/Makefile
++++ b/SPQR/Lib/Makefile
+@@ -242,22 +242,20 @@ spqrgpu_computeFrontStaging.o: ../SPQRGPU/spqrgpu_computeFrontStaging.cpp
+ #-------------------------------------------------------------------------------
+ 
+ # install SPQR
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
++$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CXX) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) ../Include/SuiteSparseQR.hpp $(INSTALL_INCLUDE)
+ 	$(CP) ../Include/SuiteSparseQR_C.h $(INSTALL_INCLUDE)
+ 	$(CP) ../Include/SuiteSparseQR_definitions.h $(INSTALL_INCLUDE)
+ 	$(CP) ../Include/spqr.hpp $(INSTALL_INCLUDE)
+ 	$(CP) ../Doc/spqr_user_guide.pdf $(INSTALL_DOC)
+ 	$(CP) ../README.txt $(INSTALL_DOC)/SPQR_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_INCLUDE)/SuiteSparseQR.hpp
+ 	chmod 644 $(INSTALL_INCLUDE)/SuiteSparseQR_C.h
+ 	chmod 644 $(INSTALL_INCLUDE)/SuiteSparseQR_definitions.h
+@@ -267,9 +265,7 @@ $(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
+ 
+ # uninstall SPQR
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_INCLUDE)/SuiteSparseQR.hpp
+ 	$(RM) $(INSTALL_INCLUDE)/SuiteSparseQR_C.h
+ 	$(RM) $(INSTALL_INCLUDE)/SuiteSparseQR_definitions.h
+diff --git a/SuiteSparse_GPURuntime/Lib/Makefile b/SuiteSparse_GPURuntime/Lib/Makefile
+index 1111111..2222222 100644
+--- a/SuiteSparse_GPURuntime/Lib/Makefile
++++ b/SuiteSparse_GPURuntime/Lib/Makefile
+@@ -70,23 +70,19 @@ SuiteSparseGPU_Workspace_transfer.o: ../Source/SuiteSparseGPU_Workspace_transfer
+ #-------------------------------------------------------------------------------
+ 
+ # install SuiteSparse_GPURuntime (just the library, not the include files)
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(OBJS)
++$(INSTALL_SO)/$(SO_TARGET): $(OBJS)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CXX) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) ../README.txt $(INSTALL_DOC)/GPURUNTIME_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_DOC)/GPURUNTIME_README.txt
+ 
+ # uninstall SuiteSparse_GPURuntime
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_DOC)/GPURUNTIME_README.txt
+ 
+diff --git a/SuiteSparse_config/Makefile b/SuiteSparse_config/Makefile
+index 1111111..2222222 100644
+--- a/SuiteSparse_config/Makefile
++++ b/SuiteSparse_config/Makefile
+@@ -44,27 +44,22 @@ clean:
+ 	- $(RM) -r $(CLEAN)
+ 
+ # install SuiteSparse_config
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
++$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) SuiteSparse_config.h $(INSTALL_INCLUDE)
+ 	$(CP) README.txt $(INSTALL_DOC)/SUITESPARSECONFIG_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
+-	chmod 755 $(INSTALL_LIB)/$(SO_PLAIN)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_INCLUDE)/SuiteSparse_config.h
+ 	chmod 644 $(INSTALL_DOC)/SUITESPARSECONFIG_README.txt
+ 
+ # uninstall SuiteSparse_config
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_INCLUDE)/SuiteSparse_config.h
+ 	$(RM) $(INSTALL_DOC)/SUITESPARSECONFIG_README.txt
+ 	( cd xerbla ; $(MAKE) uninstall )
+diff --git a/SuiteSparse_config/SuiteSparse_config.mk b/SuiteSparse_config/SuiteSparse_config.mk
+index 1111111..2222222 100644
+--- a/SuiteSparse_config/SuiteSparse_config.mk
++++ b/SuiteSparse_config/SuiteSparse_config.mk
+@@ -54,6 +54,7 @@ SUITESPARSE_VERSION = 4.5.6
+     # and documentation in /solo/mydox.
+     INSTALL ?= $(SUITESPARSE)
+     INSTALL_LIB ?= $(INSTALL)/lib
++    INSTALL_SO ?= $(INSTALL)/lib
+     INSTALL_INCLUDE ?= $(INSTALL)/include
+     INSTALL_DOC ?= $(INSTALL)/share/doc/suitesparse-$(SUITESPARSE_VERSION)
+ 
+@@ -339,7 +340,7 @@ SUITESPARSE_VERSION = 4.5.6
+ 
+     ifeq ($(UNAME),Linux)
+         # add the realtime library, librt, and SuiteSparse/lib
+-        LDLIBS += -lrt -Wl,-rpath=$(INSTALL_LIB)
++        LDLIBS += -lrt -Wl,-rpath=$(INSTALL_SO)
+     endif
+ 
+     #---------------------------------------------------------------------------
+@@ -428,10 +429,11 @@ SUITESPARSE_VERSION = 4.5.6
+ SO_OPTS = $(LDFLAGS)
+ 
+ ifeq ($(UNAME),Windows)
+-    # Cygwin Make on Windows (untested)
+     AR_TARGET = $(LIBRARY).a
+     SO_TARGET = $(LIBRARY).dll
+     SO_INSTALL_NAME = echo
++    SO_OPTS  += -shared -Wl,--out-implib,$(INSTALL_LIB)/$(LIBRARY).dll.a
++    INSTALL_SO = $(INSTALL)/bin
+ else
+     # Mac or Linux/Unix
+     AR_TARGET = $(LIBRARY).a
+@@ -550,6 +552,7 @@ config:
+ 	@echo 'System:                   UNAME=          ' '$(UNAME)'
+ 	@echo 'Install directory:        INSTALL=        ' '$(INSTALL)'
+ 	@echo 'Install libraries in:     INSTALL_LIB=    ' '$(INSTALL_LIB)'
++	@echo 'Install shared libs in:   INSTALL_SO=     ' '$(INSTALL_SO)'
+ 	@echo 'Install include files in: INSTALL_INCLUDE=' '$(INSTALL_INCLUDE)'
+ 	@echo 'Install documentation in: INSTALL_DOC=    ' '$(INSTALL_DOC)'
+ 	@echo 'Optimization level:       OPTIMIZATION=   ' '$(OPTIMIZATION)'
+diff --git a/SuiteSparse_config/xerbla/Makefile b/SuiteSparse_config/xerbla/Makefile
+index 1111111..2222222 100644
+--- a/SuiteSparse_config/xerbla/Makefile
++++ b/SuiteSparse_config/xerbla/Makefile
+@@ -53,16 +53,13 @@ $(INSTALL_LIB)/$(SO_TARGET): $(DEPENDS)
+ 	$(COMPILE)
+ 	$(CC) $(SO_OPTS) xerbla.o -o $@
+ 	- $(RM) xerbla.o
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) xerbla.h $(INSTALL_INCLUDE)
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_INCLUDE)/xerbla.h
+ 
+ # uninstall libcerbla / libxerbla
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_INCLUDE)/xerbla.h
+ 
+ distclean: purge
+diff --git a/UMFPACK/Lib/Makefile b/UMFPACK/Lib/Makefile
+index 1111111..2222222 100644
+--- a/UMFPACK/Lib/Makefile
++++ b/UMFPACK/Lib/Makefile
+@@ -288,20 +288,18 @@ clean:
+ 
+ #-------------------------------------------------------------------------------
+ # install UMFPACK
+-install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
++install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
+ 
+-$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
++$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
+ 	@mkdir -p $(INSTALL_LIB)
+ 	@mkdir -p $(INSTALL_INCLUDE)
+ 	@mkdir -p $(INSTALL_DOC)
+ 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
+-	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
+ 	$(CP) ../Include/umfpack*.h $(INSTALL_INCLUDE)
+ 	$(CP) ../Doc/UMFPACK_UserGuide.pdf $(INSTALL_DOC)
+ 	$(CP) ../Doc/UMFPACK_QuickStart.pdf $(INSTALL_DOC)
+ 	$(CP) ../README.txt $(INSTALL_DOC)/UMFPACK_README.txt
+-	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
++	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
+ 	chmod 644 $(INSTALL_INCLUDE)/umfpack*.h
+ 	chmod 644 $(INSTALL_DOC)/UMFPACK_UserGuide.pdf
+ 	chmod 644 $(INSTALL_DOC)/UMFPACK_QuickStart.pdf
+@@ -309,9 +307,7 @@ $(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
+ 
+ # uninstall UMFPACK
+ uninstall:
+-	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
+-	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
+-	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
++	$(RM) $(INSTALL_SO)/$(SO_TARGET)
+ 	$(RM) $(INSTALL_INCLUDE)/umfpack*.h
+ 	$(RM) $(INSTALL_DOC)/UMFPACK_UserGuide.pdf
+ 	$(RM) $(INSTALL_DOC)/UMFPACK_QuickStart.pdf
+
+--- a/Makefile	2019-12-22 12:17:36.147324000 +0100
++++ b/Makefile	2019-12-22 12:23:59.027388353 +0100
+@@ -12,7 +12,6 @@
+ # Compile the default rules for each package
+ go: metis
+ 	( cd SuiteSparse_config && $(MAKE) )
+-	( cd Mongoose  && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' )
+ 	( cd AMD && $(MAKE) )
+ 	( cd BTF && $(MAKE) )
+ 	( cd CAMD && $(MAKE) )
+@@ -38,7 +37,6 @@
+ # (note that CSparse is not installed; CXSparse is installed instead)
+ install: metisinstall
+ 	( cd SuiteSparse_config && $(MAKE) install )
+-	( cd Mongoose  && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' install )
+ 	( cd AMD && $(MAKE) install )
+ 	( cd BTF && $(MAKE) install )
+ 	( cd CAMD && $(MAKE) install )
+@@ -85,7 +83,6 @@
+ 	( cd SuiteSparse_config && $(MAKE) uninstall )
+ 	- ( cd metis-5.1.0 && $(MAKE) uninstall )
+ 	- ( cd GraphBLAS && $(MAKE) uninstall )
+-	- ( cd Mongoose  && $(MAKE) uninstall )
+ 	( cd AMD && $(MAKE) uninstall )
+ 	( cd CAMD && $(MAKE) uninstall )
+ 	( cd COLAMD && $(MAKE) uninstall )
+@@ -116,7 +113,6 @@
+ # the static library
+ library: metis
+ 	( cd SuiteSparse_config && $(MAKE) )
+-	( cd Mongoose  && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' library )
+ 	( cd AMD && $(MAKE) library )
+ 	( cd BTF && $(MAKE) library )
+ 	( cd CAMD && $(MAKE) library )
+@@ -143,7 +139,6 @@
+ # both the dynamic and static libraries.
+ static: metis
+ 	( cd SuiteSparse_config && $(MAKE) static )
+-	( cd Mongoose  && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' static )
+ 	( cd AMD && $(MAKE) static )
+ 	( cd BTF && $(MAKE) static )
+ 	( cd CAMD && $(MAKE) static )
+@@ -171,7 +166,6 @@
+ 	- ( cd metis-5.1.0 && $(MAKE) distclean )
+ 	- ( cd AMD && $(MAKE) purge )
+ 	- ( cd GraphBLAS && $(MAKE) purge )
+-	- ( cd Mongoose  && $(MAKE) purge )
+ 	- ( cd CAMD && $(MAKE) purge )
+ 	- ( cd COLAMD && $(MAKE) purge )
+ 	- ( cd BTF && $(MAKE) purge )
+@@ -198,7 +192,6 @@
+ 	- ( cd SuiteSparse_config && $(MAKE) clean )
+ 	- ( cd metis-5.1.0 && $(MAKE) clean )
+ 	- ( cd GraphBLAS && $(MAKE) clean )
+-	- ( cd Mongoose  && $(MAKE) clean )
+ 	- ( cd AMD && $(MAKE) clean )
+ 	- ( cd CAMD && $(MAKE) clean )
+ 	- ( cd COLAMD && $(MAKE) clean )
+@@ -220,7 +213,6 @@
+ # Create the PDF documentation
+ docs:
+ 	( cd GraphBLAS && $(MAKE) docs )
+-	( cd Mongoose  && $(MAKE) docs )
+ 	( cd AMD && $(MAKE) docs )
+ 	( cd CAMD && $(MAKE) docs )
+ 	( cd KLU && $(MAKE) docs )
+
--- a/src/suitesparse-1.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-From 169f88aef7ff1d302aa3eac48d779d009780b87f Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Sun, 20 May 2012 23:41:27 +0200
-Subject: [PATCH] build lib not demo
-
----
- CHOLMOD/Makefile |    2 +-
- UMFPACK/Makefile |    2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/CHOLMOD/Makefile b/CHOLMOD/Makefile
-index 97911ef..4a3bcae 100644
---- a/CHOLMOD/Makefile
-+++ b/CHOLMOD/Makefile
-@@ -14,7 +14,7 @@ include ../SuiteSparse_config/SuiteSparse_config.mk
- 
- # Compile the C-callable libraries and the Demo programs.
- all:
--	( cd Demo ; $(MAKE) )
-+	( cd Lib ; $(MAKE) )
- 
- # Compile the C-callable libraries only.
- library:
-diff --git a/UMFPACK/Makefile b/UMFPACK/Makefile
-index 622ee39..e19cd2f 100644
---- a/UMFPACK/Makefile
-+++ b/UMFPACK/Makefile
-@@ -12,7 +12,7 @@ include ../SuiteSparse_config/SuiteSparse_config.mk
- 
- # compile all C code (except hb, fortran, and fortran64), incl. AMD and demos
- all:
--	( cd Demo   ; $(MAKE) )
-+	( cd Lib    ; $(MAKE) )
- 
- # compile just the C-callable UMFPACK library
- library:
--- 
-1.7.10.4
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/suitesparse-2-metis.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,85 @@
+This file is part of MXE.
+See index.html for further information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Mon, 20 Nov 2017 22:54:25 +1100
+Subject: [PATCH 1/3] mingw-w64-does-not-have-sys-resource-h
+
+taken from:
+https://github.com/Alexpux/MINGW-packages/blob/484b873e8a1967b7809127682635888b7329417f/mingw-w64-metis/0001-mingw-w64-does-not-have-sys-resource-h.patch
+
+diff --git a/metis-5.1.0/GKlib/gk_arch.h b/metis-5.1.0/GKlib/gk_arch.h
+index 1111111..2222222 100644
+--- a/metis-5.1.0/GKlib/gk_arch.h
++++ b/metis-5.1.0/GKlib/gk_arch.h
+@@ -41,7 +41,9 @@
+ #endif
+   #include <inttypes.h>
+   #include <sys/types.h>
+-  #include <sys/resource.h>
++  #ifndef __MINGW32__
++    #include <sys/resource.h>
++  #endif
+   #include <sys/time.h>
+ #endif
+ 
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Mon, 20 Nov 2017 22:55:34 +1100
+Subject: [PATCH 2/3] mingw-w64-do-not-use-reserved-double-underscored-names
+
+taken from:
+https://github.com/Alexpux/MINGW-packages/blob/484b873e8a1967b7809127682635888b7329417f/mingw-w64-metis/0002-mingw-w64-do-not-use-reserved-double-underscored-names.patch
+
+diff --git a/metis-5.1.0/GKlib/gk_getopt.h b/metis-5.1.0/GKlib/gk_getopt.h
+index 1111111..2222222 100644
+--- a/metis-5.1.0/GKlib/gk_getopt.h
++++ b/metis-5.1.0/GKlib/gk_getopt.h
+@@ -52,10 +52,10 @@ struct gk_option {
+ 
+ 
+ /* Function prototypes */
+-extern int gk_getopt(int __argc, char **__argv, char *__shortopts);
+-extern int gk_getopt_long(int __argc, char **__argv, char *__shortopts,
++extern int gk_getopt(int gk_argc, char **gk_argv, char *__shortopts);
++extern int gk_getopt_long(int gk_argc, char **gk_argv, char *__shortopts,
+               struct gk_option *__longopts, int *__longind);
+-extern int gk_getopt_long_only (int __argc, char **__argv,
++extern int gk_getopt_long_only (int gk_argc, char **gk_argv,
+               char *__shortopts, struct gk_option *__longopts, int *__longind);
+ 
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Mon, 20 Nov 2017 22:58:20 +1100
+Subject: [PATCH 3/3] WIN32-Install-RUNTIME-to-bin
+
+taken from:
+https://github.com/Alexpux/MINGW-packages/blob/484b873e8a1967b7809127682635888b7329417f/mingw-w64-metis/0003-WIN32-Install-RUNTIME-to-bin.patch
+
+diff --git a/metis-5.1.0/libmetis/CMakeLists.txt b/metis-5.1.0/libmetis/CMakeLists.txt
+index 1111111..2222222 100644
+--- a/metis-5.1.0/libmetis/CMakeLists.txt
++++ b/metis-5.1.0/libmetis/CMakeLists.txt
+@@ -8,9 +8,15 @@ if(UNIX)
+   target_link_libraries(metis m)
+ endif()
+ 
++if(WIN32)
++  set(RT_DEST bin)
++else()
++  set(RT_DEST lib)
++endif()
++
+ if(METIS_INSTALL)
+   install(TARGETS metis
+     LIBRARY DESTINATION lib
+-    RUNTIME DESTINATION lib
++    RUNTIME DESTINATION ${RT_DEST}
+     ARCHIVE DESTINATION lib)
+ endif()
+
--- a/src/suitesparse.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/suitesparse.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -2,114 +2,120 @@
 # See index.html for further information.
 
 PKG             := suitesparse
-$(PKG)_CHECKSUM := 46b24a28eef4b040ea5a02d2c43e82e28b7d6195
-$(PKG)_SUBDIR   := SuiteSparse
-$(PKG)_FILE     := SuiteSparse-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://www.cise.ufl.edu/research/sparse/SuiteSparse/$($(PKG)_FILE)
-$(PKG)_URL_2    := https://distfiles.macports.org/SuiteSparse/$($(PKG)_FILE)
+$(PKG)_VERSION  := 5.7.2
+$(PKG)_CHECKSUM := ccc50177425d0d9bfe878786b8f2729c247efa90
+$(PKG)_SUBDIR   := SuiteSparse-$($(PKG)_VERSION)
+$(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
+$(PKG)_URL      := https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS     := blas lapack
+ifeq ($(USE_SYSTEM_GCC),no)
+  $(PKG)_DEPS += libgomp
+endif
 
-ifeq ($(ENABLE_OPENBLAS),yes)
-  $(PKG)_DEPS     := openblas lapack
-  $(PKG)_BLAS_LIB := openblas
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+  $(PKG)_DESTDIR :=
 else
-  $(PKG)_DEPS     := blas lapack
-  $(PKG)_BLAS_LIB := blas
+  $(PKG)_DESTDIR := $(3)
 endif
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' | \
-    $(SED) -n 's,.*SuiteSparse-\([0-9][^"]*\)\.tar.*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://github.com/DrTimothyAldenDavis/SuiteSparse/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
 endef
 
-$(PKG)_STATICLIBS_1 := \
-  SuiteSparse_config/libsuitesparseconfig.a \
-  SuiteSparse_config/xerbla/libcerbla.a \
-  AMD/Lib/libamd.a \
-  CAMD/Lib/libcamd.a \
-  COLAMD/Lib/libcolamd.a \
-  CCOLAMD/Lib/libccolamd.a \
-  CSparse/Lib/libcsparse.a \
-  CXSparse/Lib/libcxsparse.a \
-  CHOLMOD/Lib/libcholmod.a \
-  SPQR/Lib/libspqr.a \
-  BTF/Lib/libbtf.a \
-  LDL/Lib/libldl.a \
-  KLU/Lib/libklu.a \
-  RBio/Lib/librbio.a \
-  UMFPACK/Lib/libumfpack.a
+
+$(PKG)_CPPFLAGS := -DNTIMER
+
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
+  ifeq ($(MXE_WINDOWS_BUILD),yes)
+    $(PKG)_CPPFLAGS += -DLONGBLAS='long long'
+  else
+    $(PKG)_CPPFLAGS += -DLONGBLAS='long'
+  endif
+endif
+
+ifeq ($(USE_CCACHE),yes)
+    $(PKG)_COMPILER_OPTS := CC='$(CCACHE) $(MXE_CC)' \
+        CXX='$(CCACHE) $(MXE_CXX)' \
+        CPLUSPLUS='$(CCACHE) $(MXE_CXX)' \
+        F77='$(CCACHE) $(MXE_F77)'
+else
+    $(PKG)_COMPILER_OPTS := CC='$(MXE_CC)' \
+        CXX='$(MXE_CXX)' \
+        CPLUSPLUS='$(MXE_CXX)' \
+        F77='$(MXE_F77)'
+endif
+
+$(PKG)_MAKE_OPTS = \
+    CPPFLAGS="$($(PKG)_CPPFLAGS)" \
+    $($(PKG)_COMPILER_OPTS) \
+    FFLAGS='$(MXE_FFLAGS)' \
+    CFLAGS='$(MXE_CFLAGS)' \
+    CXXFLAGS='$(MXE_CXXFLAGS)' \
+    AR='$(MXE_AR)' \
+    RANLIB='$(MXE_RANLIB)' \
+    BLAS="-lblas -lgfortran" \
+    LAPACK='-llapack' \
+    CHOLMOD_CONFIG='-DNPARTITION' \
+    CMAKE_OPTIONS='-DCMAKE_TOOLCHAIN_FILE="$(CMAKE_TOOLCHAIN_FILE)" $(CMAKE_CCACHE_FLAGS) $(CMAKE_BUILD_SHARED_OR_STATIC)'
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+    $(PKG)_MAKE_OPTS += \
+        UNAME=Windows
+    $(PKG)_SO_DIR := $($(PKG)_DESTDIR)$(HOST_BINDIR)
+else
+    $(PKG)_SO_DIR := $($(PKG)_DESTDIR)$(HOST_LIBDIR)
+endif
+
+$(PKG)_cputype = $(shell uname -m | sed "s/\\ /_/g")
+$(PKG)_systype = $(shell uname -s)
+$(PKG)_METIS_BUILDDIR = build/$($(PKG)_systype)-$($(PKG)_cputype)
+$(PKG)_METIS_CONFIG_FLAGS = -DCMAKE_VERBOSE_MAKEFILE=1 \
+    -DGKLIB_PATH=$(1)/metis-5.1.0/GKlib \
+    -DCMAKE_INSTALL_PREFIX=$(1) \
+    -DSHARED=1
 
 define $(PKG)_BUILD
-    # exclude demos
-    find '$(1)' -name 'Makefile' \
-        -exec $(SED) -i 's,( cd Demo,#( cd Demo,' {} \;
+    # build metis
+    mkdir $(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR)
+    cd $(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR) && \
+        cmake $(1)/metis-5.1.0 \
+            $(CMAKE_CCACHE_FLAGS) \
+            $(CMAKE_BUILD_SHARED_OR_STATIC) \
+            -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+            $($(PKG)_METIS_CONFIG_FLAGS)
+    $(MAKE) -C '$(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR)' metis -j '$(JOBS)'
 
-    if test $(MXE_SYSTEM) = msvc; then \
-        (cd '$(1)'; \
-	 (cd CXSparse_newfiles && tar cfz ../CXSparse_newfiles.tar.gz .); \
-	 ./CSparse_to_CXSparse CSparse CXSparse CXSparse_newfiles.tar.gz) \
-    fi
+    # install metis
+    mkdir -p $($(PKG)_DESTDIR)$(HOST_LIBDIR)
+    mkdir -p $($(PKG)_SO_DIR)
+    mkdir -p $($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/
+    cp $(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR)/libmetis/libmetis.* $($(PKG)_SO_DIR)
+    cp $(1)/metis-5.1.0/include/metis.h $($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/
+    chmod 755 $($(PKG)_SO_DIR)/libmetis.*
+    chmod 644 $($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/metis.h
 
     # build all
     $(MAKE) -C '$(1)' -j '$(JOBS)' \
-        CC='$(MXE_CC)' \
-        CXX='$(MXE_CXX)' \
-        CPLUSPLUS='$(MXE_CXX)' \
-        F77='$(MXE_F77)' \
-        FFLAGS='$(MXE_FFLAGS)' \
-        CFLAGS='$(MXE_CFLAGS)' \
-        CXXFLAGS='$(MXE_CXXFLAGS)' \
-        AR='$(MXE_AR)' \
-        RANLIB='$(MXE_RANLIB)' \
-        BLAS='-l$($(PKG)_BLAS_LIB) -lgfortran -lgfortranbegin' \
-        CHOLMOD_CONFIG='-DNPARTITION'
+        $($(PKG)_MAKE_OPTS) \
+        MY_METIS_LIB=$($(PKG)_SO_DIR) \
+        library
 
-    # install library files
-    $(INSTALL) -d '$(3)$(HOST_LIBDIR)'
+    # install libraries and headers
+    $(MAKE) -C '$(1)' -j 1 install \
+        $($(PKG)_MAKE_OPTS) \
+        INSTALL_INCLUDE='$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/' \
+        INSTALL_LIB='$($(PKG)_DESTDIR)$(HOST_LIBDIR)' \
+        INSTALL_SO='$($(PKG)_SO_DIR)'
 
-    for f in $(addprefix $(1)/, $($(PKG)_STATICLIBS_1)); do \
-      if [ $(BUILD_SHARED) = yes ]; then \
-        lib=`basename $$f .a`; \
-        dir=`dirname $$f`; \
-        echo "building and installing shared libraries for $$lib"; \
-        deplibs=""; \
-        case $$lib in \
-          libcholmod) \
-            deplibs="-lamd -lcolamd -lsuitesparseconfig -llapack -l$($(PKG)_BLAS_LIB)"; \
-          ;; \
-          libklu) \
-            deplibs="-lbtf -lamd -lcolamd -lsuitesparseconfig"; \
-          ;; \
-          librbio) \
-            deplibs="-lsuitesparseconfig"; \
-          ;; \
-	  libspqr) \
-            deplibs="-lcholmod -lsuitesparseconfig -llapack -l$($(PKG)_BLAS_LIB)"; \
-          ;; \
-          libumfpack) \
-            deplibs="-lcholmod -lamd -lsuitesparseconfig -l$($(PKG)_BLAS_LIB)"; \
-          ;; \
-        esac; \
-        if [ -n "$deplibs" ]; then \
-          echo "  deplibs = $$deplibs"; \
-        fi; \
-        $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CXX)' $$f --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)' $$deplibs; \
-      fi; \
-    done
+    # some dependers (e.g. SUNDIALS IDA) won't find libraries with version suffix
+    if [ $(MXE_WINDOWS_BUILD) = no ]; then \
+      cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libsuitesparseconfig.so.$($(PKG)_VERSION) libsuitesparseconfig.so; \
+      cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libamd.so.2 libamd.so; \
+      cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libbtf.so.1 libbtf.so; \
+      cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libcolamd.so.2 libcolamd.so; \
+      cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libklu.so.1 libklu.so; \
+    fi
+endef
 
-    # install include files
-    $(INSTALL) -d                                '$(3)$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/SuiteSparse_config/'*.h '$(3)$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/AMD/Include/'*.h      '$(3)$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/BTF/Include/'*.h      '$(3)$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/CAMD/Include/'*.h     '$(3)$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/CCOLAMD/Include/'*.h  '$(3)$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/CHOLMOD/Include/'*.h  '$(3)$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/COLAMD/Include/'*.h   '$(3)$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/CSparse/Include/'*.h  '$(3)$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/CXSparse/Include/'*.h '$(3)$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/KLU/Include/'*.h      '$(3)$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/LDL/Include/'*.h      '$(3)$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/SPQR/Include/'*       '$(3)$(HOST_INCDIR)/suitesparse/'
-    $(INSTALL) -m644 '$(1)/UMFPACK/Include/'*.h  '$(3)$(HOST_INCDIR)/suitesparse/'
-endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/sundials-ida.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,61 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := sundials-ida
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.3.0
+$(PKG)_CHECKSUM := a33d5a9f19fad4e4a257a8c9ae1c321550885996
+$(PKG)_SUBDIR   := sundials-$($(PKG)_VERSION)
+$(PKG)_FILE     := sundials-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://computation.llnl.gov/projects/sundials/download/$($(PKG)_FILE)
+$(PKG)_DEPS     := lapack suitesparse
+ifeq ($(USE_SYSTEM_GCC),no)
+  $(PKG)_DEPS += libgomp
+endif
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+    $(PKG)_SUITESPARSECONFIG_LIBRARY := $(HOST_LIBDIR)/libsuitesparseconfig.dll.a
+else
+    $(PKG)_SUITESPARSECONFIG_LIBRARY := $(HOST_LIBDIR)/libsuitesparseconfig.so
+endif
+
+# Keep "sunindextype" in sync with LAPACK (bug #58795)
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
+    $(PKG)_INDEX_SIZE := 64
+else
+    $(PKG)_INDEX_SIZE := 32
+endif
+
+define $(PKG)_BUILD
+    mkdir '$(1).build'
+    cd '$(1).build' && cmake \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
+        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+        -DBUILD_ARKODE=OFF \
+        -DBUILD_CVODE=OFF \
+        -DBUILD_CVODES=OFF \
+        -DBUILD_IDA=ON \
+        -DBUILD_IDAS=OFF \
+        -DBUILD_KINSOL=OFF \
+        -DBUILD_CPODES=OFF \
+        -DEXAMPLES_ENABLE_C=OFF \
+        -DSUITESPARSECONFIG_LIBRARY=$($(PKG)_SUITESPARSECONFIG_LIBRARY) \
+        -DSUNDIALS_INDEX_SIZE=$($(PKG)_INDEX_SIZE) \
+        -DKLU_ENABLE=ON \
+        -DKLU_INCLUDE_DIR=$(HOST_INCDIR)/suitesparse \
+        -DKLU_LIBRARY_DIR=$(HOST_LIBDIR) \
+        '$(1)'
+    $(MAKE) -C '$(1).build' -j '$(JOBS)' install DESTDIR='$(3)' VERBOSE=1
+
+    if [ $(MXE_SYSTEM) = mingw ]; then \
+        echo "Install dlls"; \
+        $(INSTALL) -d '$(3)$(HOST_BINDIR)'; \
+        mv '$(3)$(HOST_LIBDIR)/'libsundials*.dll '$(3)$(HOST_BINDIR)/'; \
+    fi
+endef
--- a/src/t4k_common.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/t4k_common.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := t4k_common
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.1.1
 $(PKG)_CHECKSUM := 626eddedee86059ccab593a226c8d98571018b46
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
@@ -10,7 +11,7 @@
 $(PKG)_DEPS     := sdl sdl_mixer sdl_image sdl_net sdl_pango sdl_ttf libpng librsvg libxml2 pthreads
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://alioth.debian.org/frs/?group_id=31080' | \
+    $(WGET) -q -O- 'http://sourceforge.net/projects/tuxmath/files/$(PKG)/' | \
     $(SED) -n 's,.*t4k_common-\([0-9][^>]*\)\.tar.*,\1,p' | \
     head -1
 endef
--- a/src/taglib.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/taglib.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,21 +3,25 @@
 
 PKG             := taglib
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.7.2
 $(PKG)_CHECKSUM := e657384ccf3284db2daba32dccece74534286012
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://developer.kde.org/~wheeler/files/src/$($(PKG)_FILE)
+$(PKG)_URL      := https://taglib.github.io/releases/$($(PKG)_FILE)
 $(PKG)_DEPS     := zlib
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://developer.kde.org/~wheeler/files/src/?C=M;O=D' | \
-    $(SED) -n 's,.*"taglib-\([0-9][^"]*\)\.tar.*,\1,p' | \
+    $(WGET) -q -O- 'https://github.com/taglib/taglib/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | \
+    $(SORT) -Vr | \
     head -1
 endef
 
 define $(PKG)_BUILD
     mkdir '$(1)/build'
     cd '$(1)/build' && cmake .. \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
         -DENABLE_STATIC=ON
     $(MAKE) -C '$(1)/build' -j '$(JOBS)' install
--- a/src/termcap-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/termcap-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -9,3 +9,48 @@
  	cd $(srcdir); for f in termcap.info*; \
  	do $(INSTALL_DATA) $$f $(infodir)/$$f; done
  
+
+Note that CE is missing from this entry because it causes
+trouble for Octave.  Instead of performing the action, it
+is echoed to the terminal window when Readline tputs it to
+the terminal.
+
+diff -uNr a/termcap.c b/termcap.c
+--- a/termcap.c	2002-02-25 12:59:21.000000000 -0500
++++ b/termcap.c	2018-03-01 13:16:17.960763846 -0500
+@@ -120,6 +120,26 @@
+ }
+ #endif /* not emacs */
+ 
++
++#define INTERNAL_TERMINAL \
++  "cygwin:\
++	:am:bs:mi:ms:xo:\
++	:Co#8:NC#3:co#80:li#25:pa#64:\
++	:@7=\\E[4~:AB=\\E[4%dm:AF=\\E[3%dm:F1=\\E[23~:F2=\\E[24~:\
++	:F3=\\E[25~:F4=\\E[26~:F5=\\E[28~:F6=\\E[29~:F7=\\E[31~:\
++	:F8=\\E[32~:F9=\\E[33~:FA=\\E[34~:S2=\\E[11m:S3=\\E[10m:\
++	:ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\
++	:ae=\\E[10m:as=\\E[11m:cl=\\E[2J:cm=\\E[%i%d;%dH:\
++	:do=\\E[B:ho=\\E[H:is=\\E[m\\E[?7h:k1=\\E[[A:k2=\\E[[B:k3=\\E[[C:\
++	:k4=\\E[[D:k5=\\E[[E:k6=\\E[17~:k7=\\E[18~:k8=\\E[19~:\
++	:k9=\\E[20~:k;=\\E[21~:kD=\\E[3~:kI=\\E[2~:kN=\\E[6~:kP=\\E[5~:\
++	:kd=\\E[B:kh=\\E[1~:kl=\\E[D:kr=\\E[C:ku=\\E[A:le=^H:mb=\\E[5m:\
++	:md=\\E[1m:me=\\E[0;10m:mk=\\E[8m:mr=\\E[7m:nd=\\E[C:\
++	:op=\\E[37;40m:pk=\\E[0;%+\:;\"%s\":rc=\\E[u:\
++	:..sa=\\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\
++	:sc=\\E[s:se=\\E[m:so=\\E[7m:u6=\\E[%i%d;%dR:u7=\\E[6n:ue=\\E[m:\
++	:up=\\E[A:us=\\E[4m:"
++
+ /* Looking up capabilities in the entry already found.  */
+ 
+ /* The pointer to the data made by tgetent is left here
+@@ -464,7 +484,7 @@
+ #ifdef INTERNAL_TERMINAL
+   /* For the internal terminal we don't want to read any termcap file,
+      so fake it.  */
+-  if (!strcmp (name, "internal"))
++  if (!strcmp (name, "cygwin"))
+     {
+       term = INTERNAL_TERMINAL;
+       if (!bp)
--- a/src/termcap.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/termcap.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := termcap
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3.1
 $(PKG)_CHECKSUM := 42dd1e6beee04f336c884f96314f0c96cc2578be
 $(PKG)_SUBDIR   := termcap-$($(PKG)_VERSION)
 $(PKG)_FILE     := termcap-$($(PKG)_VERSION).tar.gz
@@ -10,8 +11,9 @@
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package termcap.' >&2;
-    echo $(termcap_VERSION)
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/termcap/?C=M;O=D' | \
+    $(SED) -n 's,.*<a href="termcap-\([0-9][^"]*\)\.tar.*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
--- a/src/texinfo.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/texinfo.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,26 +3,59 @@
 
 PKG             := texinfo
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := a1533cf8e03ea4fa6c443b73f4c85e4da04dead0
-$(PKG)_SUBDIR   := $(PKG)-4.13
+$(PKG)_VERSION  := 6.7
+$(PKG)_CHECKSUM := 3eb87fe3f4241ba4305255f8a47d867dbc4f96fc
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := ftp://ftp.gnu.org/gnu/texinfo/$($(PKG)_FILE)
 $(PKG)_DEPS     := # libgnurx
 
+ifeq ($(MXE_SYSTEM),mingw)
+    $(PKG)_DEPS += pcre
+    $(PKG)_LIBS += LIBS='-lpcre -lpcreposix -lpthread'
+endif
+
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package texinfo.' >&2;
-    echo $(texinfo_VERSION)
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/$(PKG)/?C=M;O=D' | \
+    $(SED) -n 's,.*<a href="$(PKG)-\([0-9][^"]*\)\.tar.*,\1,p' | \
+    head -1
 endef
 
-define $(PKG)_BUILD
-    mkdir '$(1)/.build'
-    cd '$(1)/.build' && '$(1)/configure' \
+ifeq ($(MXE_NATIVE_BUILD),yes)
+  ## We already have texinfo from the build-texinfo package.
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1).build'
+    cd '$(1).build' && '$(1)/configure' \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        --prefix='$(HOST_PREFIX)'
+        --prefix='$(HOST_PREFIX)' $($(PKG)_LIBS)
+
+    ## All we need for Octave is makeinfo
+    $(MAKE) -C '$(1).build/gnulib/lib' -j '$(JOBS)'
+    $(MAKE) -C '$(1).build/util' -j '$(JOBS)'
+    $(MAKE) -C '$(1).build/tp' -j '$(JOBS)'
+
+    $(SED) -i '1 s|^.*$$|#! /usr/bin/env perl|' '$(1).build/tp/texi2any' '$(1).build/util/txixml2texi'
+
+    $(MAKE) -C '$(1).build/tp' -j 1 install DESTDIR='$(3)'
+    $(MAKE) -C '$(1).build/util' -j 1 install DESTDIR='$(3)'
 
-    ## All we need for Octave is makeinfo.
-    $(MAKE) -C '$(1)/.build/lib' -j '$(JOBS)'
-    $(MAKE) -C '$(1)/.build/gnulib/lib' -j '$(JOBS)'
-    $(MAKE) -C '$(1)/.build/makeinfo' -j '$(JOBS)' install DESTDIR='$(3)'
-endef
+    # octave-cli needs info to display help
+    # for cross build, need build native tools in order to build info
+    # for cross build that will use msys2, we do not need info as wil use
+    # the msys2 version
+    if [ "x$(MXE_NATIVE_BUILD)" = "xyes" ]; then \
+        $(MAKE) -C '$(1).build/info' -j '$(JOBS)'; \
+        $(MAKE) -C '$(1).build/info' -j 1 install DESTDIR='$(3)'; \
+    elif [ "x$(USE_MSYS2)" = "xno" ]; then \
+        $(MAKE) -C '$(1).build/tools/gnulib/lib' -j $(JOBS); \
+        $(MAKE) -C '$(1).build/tools/info' -j $(JOBS) makedoc; \
+        $(MAKE) -C '$(1).build/info' -j 1 funs.h; \
+        $(MAKE) -C '$(1).build/info' -j '$(JOBS)' ginfo.exe; \
+        $(INSTALL) '$(1).build/info/ginfo.exe' '$(3)$(HOST_BINDIR)/info.exe'; \
+    fi
+  endef
+endif
--- a/src/theora.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/theora.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := theora
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.1
 $(PKG)_CHECKSUM := 0b91be522746a29351a5ee592fd8160940059303
 $(PKG)_SUBDIR   := libtheora-$($(PKG)_VERSION)
 $(PKG)_FILE     := libtheora-$($(PKG)_VERSION).tar.gz
@@ -16,9 +17,15 @@
 endef
 
 define $(PKG)_BUILD
+   if [ "$(MXE_SYSTEM)" == "mingw" ]; then \
+       $(SED) -i 's,EXPORTS,,' '$(1)/win32/xmingw32/libtheoradec-all.def'; \
+       $(SED) -i 's,EXPORTS,,' '$(1)/win32/xmingw32/libtheoraenc-all.def'; \
+   fi
+
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
-        --prefix='$(HOST_PREFIX)'
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= doc_DATA=
+        --prefix='$(HOST_PREFIX)' \
+        --disable-spec --datadir='$(1)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS)
 endef
--- a/src/tiff.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/tiff.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,18 +3,19 @@
 
 PKG             := tiff
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 652e97b78f1444237a82cbcfe014310e776eb6f0
+$(PKG)_VERSION  := 4.1.0
+$(PKG)_CHECKSUM := 7a882f8d55fd0620cbf89c47994d2d1d3b975452
 $(PKG)_SUBDIR   := tiff-$($(PKG)_VERSION)
 $(PKG)_FILE     := tiff-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://download.osgeo.org/libtiff/$($(PKG)_FILE)
 $(PKG)_URL_2    := ftp://ftp.remotesensing.org/libtiff/$($(PKG)_FILE)
-$(PKG)_DEPS     := zlib jpeg
+$(PKG)_DEPS     := zlib libjbig jpeg
 ifneq ($(MXE_SYSTEM),msvc)
     $(PKG)_DEPS += xz
 endif
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.remotesensing.org/libtiff/' | \
+    $(WGET) -q -O- 'http://simplesystems.org/libtiff/' | \
     $(SED) -n 's,.*>v\([0-9][^<]*\)<.*,\1,p' | \
     head -1
 endef
@@ -25,9 +26,10 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
-        --without-x && $(CONFIGURE_POST_HOOK)
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= DESTDIR='$(3)'
+        --enable-jbig --without-x && $(CONFIGURE_POST_HOOK)
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS) DESTDIR='$(3)'
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
 
     rm -f '$(3)$(HOST_LIBDIR)/libtiff.la'
-    rm -f '$(3)$(HOST_LIBDIR)/lib/libtiffxx.la'
+    rm -f '$(3)$(HOST_LIBDIR)/libtiffxx.la'
 endef
--- a/src/tinyxml.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/tinyxml.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := tinyxml
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.6.2
 $(PKG)_CHECKSUM := cba3f50dd657cb1434674a03b21394df9913d764
 $(PKG)_SUBDIR   := $(PKG)
 $(PKG)_FILE     := $(PKG)_$(subst .,_,$($(PKG)_VERSION)).tar.gz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/tinyxml/files/tinyxml/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
@@ -24,8 +25,8 @@
     $(INSTALL) -d               '$(HOST_INCDIR)'
     $(INSTALL) -m644 '$(1)'/*.h '$(HOST_INCDIR)'
 
-    '$(MXE_CXX)' \
-        -W -Wall -D TIXML_USE_STL -Werror -ansi -pedantic \
-        '$(2).cpp' -o '$(HOST_BINDIR)/test-tinyxml.exe' \
-        -ltinyxml
+    #'$(MXE_CXX)' \
+    #    -W -Wall -D TIXML_USE_STL -Werror -ansi -pedantic \
+    #    '$(2).cpp' -o '$(HOST_BINDIR)/test-tinyxml.exe' \
+    #    -ltinyxml
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/transfig-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,47 @@
+diff -ur fig2dev-3.2.7a.orig/fig2dev/dev/genbitmaps.c fig2dev-3.2.7a/fig2dev/dev/genbitmaps.c
+--- fig2dev-3.2.7a.orig/fig2dev/dev/genbitmaps.c	2018-10-19 15:28:40.513608360 -0400
++++ fig2dev-3.2.7a/fig2dev/dev/genbitmaps.c	2018-10-19 15:30:51.900907004 -0400
+@@ -232,8 +232,9 @@
+ 		if (to)
+ 			sprintf(com + n, " >'%s'", to);
+ 	}
+-
++#if !defined (__WIN32__) || defined (__CYGWIN__)
+ 	(void) signal(SIGPIPE, bitmaps_broken_pipe);
++#endif
+ 	if ((tfp = popen(com, "w")) == 0) {
+ 		fprintf(stderr, "fig2dev: Can't open pipe to ghostscript\n");
+ 		fprintf(stderr, "command was: %s\n", com);
+@@ -275,7 +276,9 @@
+ 
+ 	status = pclose(tfp);
+ 	tfp = 0;	/* Otherwise main() tries to close tfp again */
++#if ! defined (__WIN32__) || defined (__CYGWIN__)
+ 	(void) signal(SIGPIPE, SIG_DFL);
++#endif
+ 
+ 	if (status != 0) {
+ 		fputs("Error in ghostcript or netpbm command\n", stderr);
+diff -ur fig2dev-3.2.7a.orig/fig2dev/dev/genpdf.c fig2dev-3.2.7a/fig2dev/dev/genpdf.c
+--- fig2dev-3.2.7a.orig/fig2dev/dev/genpdf.c	2018-10-19 15:28:40.509608259 -0400
++++ fig2dev-3.2.7a/fig2dev/dev/genpdf.c	2018-10-19 15:31:31.761906076 -0400
+@@ -95,7 +95,9 @@
+ 		"-dAutoFilterColorImages=false -dColorImageFilter=/DCTEncode "
+ 		"-sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -o '%s' -",
+ 		GSEXE, ofile);
++#if !defined (__WIN32__) || defined (__CYGWIN__)
+ 	(void) signal(SIGPIPE, pdf_broken_pipe);
++#endif
+ 	if ((tfp = popen(com, "w")) == 0) {
+ 		fprintf(stderr, "fig2dev: Cannot open pipe to ghostscript\n");
+ 		fprintf(stderr, "command was: %s\n", com);
+@@ -125,7 +127,9 @@
+ 		free(com);
+ 		return -1;
+ 	}
++#if !defined (__WIN32__) || defined (__CYGWIN__)
+ 	(void) signal(SIGPIPE, SIG_DFL);
++#endif
+ 	free(com);
+ 
+ 	return 0;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/transfig.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,37 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := transfig
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.2.7b
+$(PKG)_CHECKSUM := 8097c178b7fff1023112250938cc87837c0f564e
+$(PKG)_SUBDIR   := fig2dev-$($(PKG)_VERSION)
+$(PKG)_FILE     := fig2dev-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/mcj/$($(PKG)_FILE)
+$(PKG)_DEPS     := jpeg libpng
+
+$(PKG)_CONFIG_OPTS := LIBS=-liconv
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  $(PKG)_CONFIG_OPTS += --without-xpm \
+      BITMAPDIR="/share/fig2dev/bitmaps" \
+      RGB_FILE="/share/fig2dev/rgb.txt"
+endif
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://sourceforge.net/projects/mcj/files/' | \
+    $(SED) -n 's,.*tr title="fig2dev-\(.*\)\.tar\.xz".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' \
+        && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $($(PKG)_CONFIG_OPTS) \
+        --prefix='$(HOST_PREFIX)' 
+
+    $(MAKE) -C '$(1)' -j '$(JOBS)' 
+    $(MAKE) -C '$(1)' -j 1 install DESTDIR='$(3)'
+endef
--- a/src/tre.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/tre.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := tre
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.8.0
 $(PKG)_CHECKSUM := 8818058785923c32f5e1f48feeb2851507c0e61c
 $(PKG)_SUBDIR   := tre-$($(PKG)_VERSION)
 $(PKG)_FILE     := tre-$($(PKG)_VERSION).tar.gz
@@ -11,7 +12,7 @@
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://laurikari.net/tre/download.html' | \
+    $(WGET) -q -O- 'https://laurikari.net/tre/download/' | \
     $(SED) -n 's,.*tre-\([a-z0-9][^>]*\)\.tar.*,\1,p' | \
     head -1
 endef
--- a/src/units-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
---- a/units.c.orig	2013-10-21 11:47:34 -0400
-+++ b/units.c	2013-10-21 12:18:24 -0400
-@@ -1166,23 +1166,23 @@
- int
- setenv(const char *name, const char *val, int overwrite)
- {
--  char *environ;
-+  char *environ1;
- 
-   if (!overwrite && getenv(name) != NULL)
-     return 0;
--  environ = (char *) malloc(strlen(name) + strlen(val) + 2);
--  if (!environ)
-+  environ1 = (char *) malloc(strlen(name) + strlen(val) + 2);
-+  if (!environ1)
-     return 1;
--  strcpy(environ, name);
--  strcat(environ, "=");
--  strcat(environ, val);
-+  strcpy(environ1, name);
-+  strcat(environ1, "=");
-+  strcat(environ1, val);
- 
-   /* putenv() doesn't copy its argument, so don't free environ */
- 
- #if defined _WIN32 && defined _MSC_VER
--  return _putenv(environ);
-+  return _putenv(environ1);
- #else
--  return putenv(environ);
-+  return putenv(environ1);
- #endif
- }
- #endif
--- a/src/units.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/units.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,17 @@
 
 PKG             := units
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := e460371dc97034d17ce452e6b64991f7fd2d1409
+$(PKG)_VERSION  := 2.19
+$(PKG)_CHECKSUM := 8c241b04046cafa4a4503dc3567d8d869b46329c
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://ftp.gnu.org/gnu/$(PKG)/$($(PKG)_FILE)
 $(PKG)_DEPS     := 
 
 define $(PKG)_UPDATE
-    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
-    echo $($(PKG)_VERSION)
+    $(WGET) -q -O- 'http://ftp.gnu.org/gnu/$(PKG)/?C=M;O=D' | \
+    $(SED) -n 's,.*<a href="$(PKG)-\([0-9][^"]*\)\.tar.*,\1,p' | \
+    head -1
 endef
 
 define $(PKG)_BUILD
@@ -19,6 +21,13 @@
         --prefix='$(HOST_PREFIX)' \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) 
 
+    # override units and localalemap from what configure detected for cross mingw
+    if [ "$(MXE_SYSTEM)$(MXE_NATIVE_BUILD)" == "mingwno" ]; then \
+        $(SED) -i -e 's,UNITSFILE=\\\".*definitions.units\\\",UNITSFILE=\\\"definitions.units\\\",g' \
+	    -e 's,LOCALEMAP=\\\".*locale_map.txt\\\",LOCALEMAP=\\\"locale_map.txt\\\",g' \
+	    '$(1)/Makefile'; \
+    fi
+
     $(MAKE) -C '$(1)' -j '$(JOBS)' 
     $(MAKE) -C '$(1)' -j 1 install DESTDIR='$(3)'
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/util-linux.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,34 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := util-linux
+$(PKG)_VERSION  := 2.32.1
+$(PKG)_CHECKSUM := de9271fb93fb651d21c027e2efb0cf0ac80f2e9a
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL      := https://www.kernel.org/pub/linux/utils/util-linux/v$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+## For now, we are only building libuuid.
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)' && autoreconf --force
+    cd '$(1)/.build' && ../configure --disable-all-programs --disable-bash-completion --enable-libuuid \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/util-macros.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := util-macros
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.19.1
+$(PKG)_CHECKSUM := 386e993ba339e561aa6d93073a4dcbab24e30bad
+$(PKG)_SUBDIR   := util-macros-$($(PKG)_VERSION)
+$(PKG)_FILE     := util-macros-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/util/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- a/src/uuid.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/uuid.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -2,21 +2,22 @@
 # See index.html for further information.
 
 PKG             := uuid
-$(PKG)_IGNORE   = $(w32api_IGNORE)
-$(PKG)_CHECKSUM = $(w32api_CHECKSUM)
-$(PKG)_SUBDIR   = $(w32api_SUBDIR)
-$(PKG)_FILE     = $(w32api_FILE)
-$(PKG)_URL      = $(w32api_URL)
-$(PKG)_DEPS     =
+$(PKG)_IGNORE   = $(mingw-w64_IGNORE)
+$(PKG)_VERSION  = 3.17
+$(PKG)_CHECKSUM = $(mingw-w64_CHECKSUM)
+$(PKG)_SUBDIR   = $(mingw-w64_SUBDIR)
+$(PKG)_FILE     = $(mingw-w64_FILE)
+$(PKG)_URL      = $(mingw-w64_URL)
+$(PKG)_DEPS     = mingw-w64
 
 define $(PKG)_UPDATE
-    echo "$(w32api_VERSION)"
+    echo "$($(PKG)_VERSION)"
 endef
 
 define $(PKG)_BUILD
     if [ $(BUILD_SHARED) = yes ]; then \
       $(INSTALL) -d '$(HOST_BINDIR)'; \
-      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CC)' '$(1)/lib/libuuid.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)'; \
-      rm -f '$(HOST_LIBDIR)/libuuid.dll.a'; \
+      $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CC)' '$(HOST_LIBDIR)/libuuid.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)'; \
+      rm -f $(HOST_LIBDIR)/libuuid.dll.a; \
     fi
 endef
--- a/src/vala.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/vala.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := vala
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.20.1
 $(PKG)_CHECKSUM := 6a453140ccc252a3d46d110ab03da005885754f7
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
@@ -10,8 +11,9 @@
 $(PKG)_DEPS     := glib
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.gnome.org/browse/$(PKG)/refs/tags' | \
-    $(SED) -n "s,.*tag/?id=\([0-9]\+\.[0-9]*[02468]\.[^']*\).*,\1,p" | \
+    $(WGET) -q -O- 'https://github.com/GNOME/$(PKG)/tags' | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | \
+    $(SORT) -Vr | \
     head -1
 endef
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/vcdimager-1-configure.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,54 @@
+This file is part of MXE.
+See index.html for further information.
+
+diff -urN vcdimager-0.7.24/configure.ac vcdimager-0.7.24-patch/configure.ac
+--- vcdimager-0.7.24/configure.ac	2011-03-18 01:43:53.000000000 +0200
++++ vcdimager-0.7.24-patch/configure.ac	2013-12-18 10:58:39.175296932 +0200
+@@ -154,9 +154,13 @@
+ fi
+ 
+ if test "x$enable_xml_fe" = "xyes"; then
+-  AM_PATH_XML2(2.3.8, , enable_xml_fe=no)
++  PKG_CHECK_MODULES(XML, libxml-2.0)
++  dnl Using this causes pain and suffering
++  dnl AM_PATH_XML2(2.3.8, , enable_xml_fe=no)
+ fi
+ 
++
++
+ dnl headers
+ 
+ dnl AC_DEFINE(_DEVELOPMENT_, [], enable warnings about being development release)
+diff -urN vcdimager-0.7.24/frontends/xml/Makefile.am vcdimager-0.7.24-patch/frontends/xml/Makefile.am
+--- vcdimager-0.7.24/frontends/xml/Makefile.am	2004-08-15 15:16:49.000000000 +0300
++++ vcdimager-0.7.24-patch/frontends/xml/Makefile.am	2013-12-18 11:07:39.344356593 +0200
+@@ -27,7 +27,7 @@
+ 
+ MAINTAINERCLEANFILES = $(man_MANS)
+ 
+-INCLUDES = -I$(top_srcdir) $(LIBPOPT_CFLAGS) $(LIBVCD_CFLAGS) $(XML_CFLAGS) $(LIBCDIO_CFLAGS) $(LIBISO9660_CFLAGS) $(XML_CPPFLAGS)
++INCLUDES = -I$(top_srcdir) $(LIBPOPT_CFLAGS) $(LIBVCD_CFLAGS) $(XML_CFLAGS) $(LIBCDIO_CFLAGS) $(LIBISO9660_CFLAGS) $(XML_CFLAGS)
+ 
+ BUILT_SOURCES = videocd_dtd.inc
+ MOSTLYCLEANFILES = videocd_dtd.inc
+diff -urN vcdimager-0.7.24/frontends/xml/Makefile.in vcdimager-0.7.24-patch/frontends/xml/Makefile.in
+--- vcdimager-0.7.24/frontends/xml/Makefile.in	2011-03-18 01:46:36.000000000 +0200
++++ vcdimager-0.7.24-patch/frontends/xml/Makefile.in	2013-12-18 11:08:17.458924350 +0200
+@@ -222,7 +222,7 @@
+ STRIP = @STRIP@
+ VERSION = @VERSION@
+ XML2_CONFIG = @XML2_CONFIG@
+-XML_CPPFLAGS = @XML_CPPFLAGS@
++XML_CFLAGS = @XML_CFLAGS@
+ XML_LIBS = @XML_LIBS@
+ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+@@ -279,7 +279,7 @@
+ top_srcdir = @top_srcdir@
+ man_MANS = vcdxbuild.1 vcdxgen.1 vcdxrip.1 vcdxminfo.1
+ MAINTAINERCLEANFILES = $(man_MANS)
+-INCLUDES = -I$(top_srcdir) $(LIBPOPT_CFLAGS) $(LIBVCD_CFLAGS) $(XML_CFLAGS) $(LIBCDIO_CFLAGS) $(LIBISO9660_CFLAGS) $(XML_CPPFLAGS)
++INCLUDES = -I$(top_srcdir) $(LIBPOPT_CFLAGS) $(LIBVCD_CFLAGS) $(XML_CFLAGS) $(LIBCDIO_CFLAGS) $(LIBISO9660_CFLAGS) $(XML_CFLAGS)
+ BUILT_SOURCES = videocd_dtd.inc
+ MOSTLYCLEANFILES = videocd_dtd.inc
+ EXTRA_DIST = videocd.dtd $(man_MANS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/vcdimager.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,26 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := vcdimager
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.7.24
+$(PKG)_CHECKSUM := 8c245555c3e21dcbc3d4dbb2ecca74f609545424
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://ftp.gnu.org/gnu/vcdimager/$(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS     := libcdio libxml2 popt
+
+define $(PKG)_UPDATE
+    echo 'TODO: Updates for package vcdimager need to be written.' >&2;
+    echo $(vcdimager_VERSION)
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && autoconf
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        $(ENABLE_SHARED_OR_STATIC) 
+    $(MAKE) -C '$(1)' -j $(JOBS)
+    $(MAKE) -C '$(1)' -j 1 install
+endef
--- a/src/vigra.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/vigra.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := vigra
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.9.0
 $(PKG)_CHECKSUM := 6e4981f4ce75932ec62df6523f577c327f885ba0
 $(PKG)_SUBDIR   := vigra-$(word 1,$(subst -, ,$($(PKG)_VERSION)))
 $(PKG)_FILE     := vigra-$($(PKG)_VERSION)-src.tar.gz
@@ -10,11 +11,8 @@
 $(PKG)_DEPS     := jpeg tiff libpng openexr
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://hci.iwr.uni-heidelberg.de/vigra/' | \
-    grep 'Sources' | \
-    grep '<a href="vigra' | \
-    $(SED) -n 's,.*"vigra-\([0-9][^"]*\)-src.*,\1,p' | \
-    head
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
 endef
 
 define $(PKG)_BUILD
@@ -25,6 +23,8 @@
     $(SED) -i 's,\bSHARED\b,STATIC,' '$(1)/vigranumpy/test/CMakeLists.txt'
     mkdir '$(1)/build'
     cd '$(1)/build' && cmake .. \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
         -DLIBTYPE=STATIC \
         -DVIGRA_STATIC_LIB=1 \
--- a/src/vmime.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/vmime.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,20 +3,24 @@
 
 PKG             := vmime
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := fc9bc26
 $(PKG)_CHECKSUM := 670aaecfbab41747e3a8f1d80dd757eb01ac93cb
 $(PKG)_SUBDIR   := kisli-vmime-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := https://github.com/kisli/vmime/tarball/$($(PKG)_VERSION)/$(PKG)_FILE
+$(PKG)_URL      := https://github.com/kisli/vmime/archive/v$($(PKG)_VERSION).tar.gz
 $(PKG)_DEPS     := libiconv gnutls libgsasl pthreads zlib
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'https://github.com/kisli/vmime/commits/master' | \
-    $(SED) -n 's#.*<span class="sha">\([^<]\{7\}\)[^<]\{3\}<.*#\1#p' | \
+    $(WGET) -q -O- 'https://github.com/kisli/vmime/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | \
+    $(SORT) -Vr | \
     head -1
 endef
 
 define $(PKG)_BUILD
     cd '$(1)' && cmake \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
         -DCMAKE_AR='$(MXE_AR)' \
         -DCMAKE_RANLIB='$(MXE_RANLIB)' \
--- a/src/vorbis.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/vorbis.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := vorbis
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 8dae60349292ed76db0e490dc5ee51088a84518b
+$(PKG)_VERSION  := 1.3.7
+$(PKG)_CHECKSUM := 2b415495f89b103138a23da5017a2a00837c6c94
 $(PKG)_SUBDIR   := libvorbis-$($(PKG)_VERSION)
 $(PKG)_FILE     := libvorbis-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://downloads.xiph.org/releases/vorbis/$($(PKG)_FILE)
@@ -21,5 +22,5 @@
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
         PKG_CONFIG='$(MXE_PKG_CONFIG)'
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS)
 endef
--- a/src/vtk.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/vtk.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := vtk
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.8.0
 $(PKG)_CHECKSUM := ece52f4fa92811fe927581e60ecb39a8a5f68cd9
 $(PKG)_SUBDIR   := VTK
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -21,6 +22,9 @@
     # first we need a native build to create the compile tools
     mkdir '$(1)/native_build'
     cd '$(1)/native_build' && cmake \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
+        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_NATIVE_TOOLCHAIN_FILE)' \
         -DBUILD_TESTING=FALSE \
         -DOPENGL_INCLUDE_DIR='$(1)/Utilities/ParseOGLExt/headers' \
         -DVTK_USE_RENDERING=FALSE \
@@ -36,6 +40,8 @@
     mkdir '$(1)/cross_build'
     cd '$(1)/cross_build' && cmake \
         -C '$(1)/TryRunResults.cmake'\
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)'\
         -DBUILD_TESTING=FALSE\
         -DVTKCompileTools_DIR='$(1)/native_build'\
@@ -50,5 +56,6 @@
         -DVTK_USE_POSTGRES=TRUE\
         -DVTK_USE_ODBC=TRUE\
         ..
+
     $(MAKE) -C '$(1)/cross_build' -j '$(JOBS)' install VERBOSE=1
 endef
--- a/src/w32api.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/w32api.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := w32api
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.17
 $(PKG)_CHECKSUM := 1eb60b0cd546bf3efdc3fb89a4118df11da2314a
 $(PKG)_SUBDIR   := .
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION)-2-mingw32-dev.tar.lzma
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/wavpack-1-exec_prefix.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,14 @@
+This file is part of MXE.
+See index.html for further information.
+
+Make sure exec_prefix is defined in wavpack.pc.
+
+diff -ur a/wavpack.pc.in b/wavpack.pc.in
+--- a/wavpack.pc.in	2013-09-29 23:30:14.000000000 +0200
++++ b/wavpack.pc.in	2013-11-17 18:31:35.351567596 +0100
+@@ -1,4 +1,5 @@
+ prefix=@prefix@
++exec_prefix=${prefix}
+ libdir=@libdir@
+ includedir=${prefix}/include
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/wavpack.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,29 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := wavpack
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.70.0
+$(PKG)_CHECKSUM := 7bf2022c988c19067196ee1fdadc919baacf46d1
+$(PKG)_SUBDIR   := wavpack-$($(PKG)_VERSION)
+$(PKG)_FILE     := wavpack-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.wavpack.com/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://www.wavpack.com/downloads.html' | \
+    grep '<a href="wavpack-.*\.tar\.bz2">' | \
+    head -n 1 | \
+    $(SED) -e 's/^.*<a href="wavpack-\([0-9.]*\)\.tar\.bz2">.*$$/\1/'
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --without-iconv \
+        CFLAGS="-DWIN32"
+    $(MAKE) -C '$(1)' -j '$(JOBS)' SUBDIRS="src include"
+    $(MAKE) -C '$(1)' -j 1 install SUBDIRS="src include"
+endef
--- a/src/wget.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/wget.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -2,6 +2,7 @@
 # See index.html for further information.
 
 PKG             := wget
+$(PKG)_VERSION  := 1.14
 $(PKG)_CHECKSUM := cfa0906e6f72c1c902c29b52d140c22ecdcd617e
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
@@ -9,8 +10,8 @@
 $(PKG)_DEPS     := pthreads gnutls libntlm libidn
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://git.savannah.gnu.org/cgit/wget.git/refs/' | \
-    $(SED) -n "s,.*<a href='/cgit/wget.git/tag/?id=v\([0-9.]*\)'>.*,\1,p" | \
+    $(WGET) -q -O- 'https://git.savannah.gnu.org/cgit/wget.git/refs/' | \
+    $(SED) -n "s,.*<a href='/cgit/wget.git/tag/?h=v\([0-9.]*\)'>.*,\1,p" | \
     head -1
 endef
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/win64-nsis.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+diff -ur nsis-2.46-src.orig/SCons/Tools/crossmingw.py nsis-2.46-src/SCons/Tools/crossmingw.py
+--- nsis-2.46-src.orig/SCons/Tools/crossmingw.py	2015-02-08 20:55:24.129440718 -0500
++++ nsis-2.46-src/SCons/Tools/crossmingw.py	2015-02-08 20:58:12.005446948 -0500
+@@ -145,15 +145,15 @@
+         SCons.Tool.Tool(tool)(env)
+ 
+     #... but a few things differ:
+-    env['CC'] = mingw_prefix + 'gcc'
++    env['CC'] = mingw_prefix + 'gcc -m32'
+     env['SHCCFLAGS'] = SCons.Util.CLVar('$CCFLAGS')
+-    env['CXX'] = mingw_prefix + 'g++'
++    env['CXX'] = mingw_prefix + 'g++ -m32'
+     env['SHCXXFLAGS'] = SCons.Util.CLVar('$CXXFLAGS')
+     env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS -shared')
+     env['SHLINKCOM']   = shlib_action
+     env.Append(SHLIBEMITTER = [shlib_emitter])
+-    env['LINK'] = mingw_prefix + 'g++'
+-    env['AS'] = mingw_prefix + 'as'
++    env['LINK'] = mingw_prefix + 'g++ -m32'
++    env['AS'] = mingw_prefix + 'as -m32'
+     env['AR'] = mingw_prefix + 'ar'
+     env['RANLIB'] = mingw_prefix + 'ranlib'
+     env['WIN32DEFPREFIX']        = ''
+@@ -161,7 +161,7 @@
+     env['SHOBJSUFFIX'] = '.o'
+     env['STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME'] = 1
+ 
+-    env['RC'] = mingw_prefix + 'windres'
++    env['RC'] = mingw_prefix + 'windres --target=pe-i386'
+     env['RCFLAGS'] = SCons.Util.CLVar('')
+     env['RCCOM'] = '$RC $_CPPDEFFLAGS $_CPPINCFLAGS ${INCPREFIX}${SOURCE.dir} $RCFLAGS -i $SOURCE -o $TARGET'
+     env['BUILDERS']['RES'] = res_builder
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/win7appid.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,21 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := win7appid
+$(PKG)_VERSION  := 1.1
+$(PKG)_CHECKSUM := d726a5832d7a3f49bd7912ca08c70aad96eb95b4
+$(PKG)_SUBDIR   := $(PKG)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).zip
+$(PKG)_URL      := https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/win7appid/source-archive.zip
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    echo $($(PKG)_VERSION)
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)/trunk/' && \
+      $(MXE_CXX) Win7AppId.cpp -municode -DWIN32_LEAN_AND_MEAN=1 -DUNICODE -D_UNICODE -lole32 -o win7appid.exe
+    mkdir -p '$(3)$(HOST_BINDIR)'
+    $(INSTALL) '$(1)/trunk/win7appid.exe' '$(3)$(HOST_BINDIR)/'
+endef
--- a/src/winpcap.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/winpcap.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := winpcap
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4_1_2
 $(PKG)_CHECKSUM := 9155687ab23dbb2348e7cf93caf8a84f51e94795
 $(PKG)_SUBDIR   := winpcap
 $(PKG)_FILE     := WpcapSrc_$($(PKG)_VERSION).zip
--- a/src/wt.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/wt.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,16 +3,18 @@
 
 PKG             := wt
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.2.3
 $(PKG)_CHECKSUM := d3870671a303d64878a1c9fe22765a643e515051
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/witty/$($(PKG)_FILE)
+$(PKG)_URL      := https://github.com/emweb/wt/archive/$($(PKG)_VERSION).tar.gz
 $(PKG)_DEPS     := boost openssl libharu graphicsmagick pango postgresql sqlite
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://sourceforge.net/projects/witty/files/witty/' | \
-    $(SED) -n 's,.*wt-\([0-9][^>]*\)\.tar.*,\1,p' | \
-    tail -1
+    $(WGET) -q -O- 'https://github.com/emweb/wt/tags' | \
+    $(SED) -n 's|.*releases/tag/\([^"]*\).*|\1|p' | \
+    $(SORT) -Vr | \
+    head -1
 endef
 
 define $(PKG)_BUILD
@@ -32,7 +34,10 @@
         -DGM_LIBS="`'$(MXE_PKG_CONFIG)' --libs-only-l GraphicsMagick++`" \
         -DPANGO_FT2_LIBS="`'$(MXE_PKG_CONFIG)' --libs-only-l pangoft2`" \
         -DWT_CMAKE_FINDER_INSTALL_DIR='/lib/wt' \
+        $(CMAKE_CCACHE_FLAGS) \
+        $(CMAKE_BUILD_SHARED_OR_STATIC) \
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
         '$(1)'
+
     $(MAKE) -C '$(1).build' -j '$(JOBS)' install VERBOSE=1
 endef
--- a/src/wxwidgets.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/wxwidgets.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,21 +3,22 @@
 
 PKG             := wxwidgets
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 39552f3e49341197fea8373824ec609c757e890b
-$(PKG)_SUBDIR   := wxMSW-$($(PKG)_VERSION)
-$(PKG)_FILE     := wxMSW-$($(PKG)_VERSION).tar.bz2
-$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/wxwindows/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_VERSION  := 3.0.5.1
+$(PKG)_CHECKSUM := 406ac736f61d88a3a866aa501e01e408a642c6e7
+$(PKG)_SUBDIR   := wxWidgets-$($(PKG)_VERSION)
+$(PKG)_FILE     := $($(PKG)_SUBDIR).tar.bz2
+$(PKG)_URL      := https://github.com/wxWidgets/wxWidgets/releases/download/v$($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_DEPS     := libiconv libpng jpeg tiff sdl zlib expat
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://sourceforge.net/projects/wxwindows/files/' | \
-    $(SED) -n 's,.*/\([0-9][^"9]*\)/".*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://github.com//wxWidgets/wxWidgets/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | grep -v '^3\.1' | $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
-    $(SED) -i 's,png_check_sig,png_sig_cmp,g'                       '$(1)/configure'
-    $(SED) -i 's,wx_cv_cflags_mthread=yes,wx_cv_cflags_mthread=no,' '$(1)/configure'
+
+    # build the wxWidgets variant without unicode support
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
@@ -25,7 +26,7 @@
         --enable-compat24 \
         --enable-compat26 \
         --enable-gui \
-        --enable-stl \
+        --disable-stl \
         --enable-threads \
         --enable-unicode \
         --disable-universal \
@@ -54,71 +55,16 @@
         --without-hildon \
         --without-dmalloc \
         --without-odbc \
-        LIBS=" `'$(MXE_PKG_CONFIG)' --libs-only-l libtiff-4`"
-    $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
-    -$(MAKE) -C '$(1)/locale' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= allmo
-    $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= __install_wxrc___depname=
-    $(INSTALL) -m755 '$(HOST_BINDIR)/wx-config' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)wx-config'
+        LIBS=" `'$(MXE_PKG_CONFIG)' --libs-only-l libtiff-4`" \
+        CXXFLAGS='-std=gnu++11' \
+        CXXCPP='$(MXE_CXX) -E -std=gnu++11'
+
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_DOCS) $(MXE_DISABLE_PROGS)
 
-    # build the wxWidgets variant without unicode support
-    cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,wxwidgets,$(TAR))
-    $(foreach PKG_PATCH,$(sort $(wildcard $(TOP_DIR)/src/wxwidgets-*.patch)),
-    (cd '$(1)/$(wxwidgets_SUBDIR)' && $(PATCH) -p1 -u) < $(PKG_PATCH))
-    $(SED) -i 's,png_check_sig,png_sig_cmp,g'                       '$(1)/$(wxwidgets_SUBDIR)/configure'
-    $(SED) -i 's,wx_cv_cflags_mthread=yes,wx_cv_cflags_mthread=no,' '$(1)/$(wxwidgets_SUBDIR)/configure'
-    cd '$(1)/$(wxwidgets_SUBDIR)' && ./configure \
-        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        $(ENABLE_SHARED_OR_STATIC) \
-        --prefix='$(HOST_PREFIX)' \
-        --enable-compat24 \
-        --enable-compat26 \
-        --enable-gui \
-        --enable-stl \
-        --enable-threads \
-        --disable-unicode \
-        --disable-universal \
-        --with-themes=all \
-        --with-msw \
-        --with-opengl \
-        --with-libpng=sys \
-        --with-libjpeg=sys \
-        --with-libtiff=sys \
-        --with-regex=yes \
-        --with-zlib=sys \
-        --with-expat=sys \
-        --with-sdl \
-        --without-gtk \
-        --without-motif \
-        --without-mac \
-        --without-macosx-sdk \
-        --without-cocoa \
-        --without-wine \
-        --without-pm \
-        --without-microwin \
-        --without-libxpm \
-        --without-libmspack \
-        --without-gnomeprint \
-        --without-gnomevfs \
-        --without-hildon \
-        --without-dmalloc \
-        --without-odbc \
-        LIBS=" `'$(MXE_PKG_CONFIG)' --libs-only-l libtiff-4`"
-    $(MAKE) -C '$(1)/$(wxwidgets_SUBDIR)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_DOCS) $(MXE_DISABLE_PROGS)  __install_wxrc___depname=
 
-    # backup of the unicode wx-config script
-    # such that "make install" won't overwrite it
-    mv '$(HOST_BINDIR)/wx-config' '$(HOST_BINDIR)/wx-config-backup'
-
-    $(MAKE) -C '$(1)/$(wxwidgets_SUBDIR)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= __install_wxrc___depname=
-    mv '$(HOST_BINDIR)/wx-config' '$(HOST_BINDIR)/wx-config-nounicode'
-    $(INSTALL) -m755 '$(HOST_BINDIR)/wx-config-nounicode' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)wx-config-nounicode'
+    $(INSTALL) -m755 '$(HOST_BINDIR)/wx-config' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)wx-config'
+    mv $(HOST_LIBDIR)/wxbase30*.dll $(HOST_BINDIR)/
+    mv $(HOST_LIBDIR)/wxmsw30*.dll $(HOST_BINDIR)/
 
-    # restore the unicode wx-config script
-    mv '$(HOST_BINDIR)/wx-config-backup' '$(HOST_BINDIR)/wx-config'
-
-    # build test program
-    '$(MXE_CXX)' \
-        -W -Wall -Werror -pedantic -std=gnu++0x \
-        '$(2).cpp' -o '$(HOST_BINDIR)/test-wxwidgets.exe' \
-        `'$(MXE_TOOL_PREFIX)wx-config' --cflags --libs`
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/x11.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,34 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := x11
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.6.7
+$(PKG)_CHECKSUM := 5076f7853713d7db958a05f6fd1c18f7e111a0ad
+$(PKG)_SUBDIR   := libX11-$($(PKG)_VERSION)
+$(PKG)_FILE     := libX11-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := inputproto kbproto xcb xextproto xproto xtrans
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://www.x.org/archive/individual/lib/' | \
+    $(SED) -n 's,.*<a href="libX11-\([0-9\.]*\)\.tar.gz".*,\1,p' | \
+    $(SORT) -V |
+    tail -1
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- a/src/x264-1-fix-bin-bash.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/x264-1-fix-bin-bash.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -2,7 +2,7 @@
 See index.html for further information.
 
 diff -urN x264-snapshot-20100714-2245/configure x264-snapshot-20100714-2245.new/configure
---- x264-snapshot-20100714-2245/configure	2010-07-15 06:45:06.000000000 +1000
+--- x264-snapshot-20100714-2245/configure	2010-07-15 06:45:07.000000000 +1000
 +++ x264-snapshot-20100714-2245.new/configure	2010-10-03 23:58:24.000000000 +1100
 @@ -1,4 +1,4 @@
 -#!/bin/bash
@@ -10,12 +10,3 @@
  
  if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
  cat <<EOF
-diff -urN x264-snapshot-20100714-2245/version.sh x264-snapshot-20100714-2245.new/version.sh
---- x264-snapshot-20100714-2245/version.sh	2010-07-15 06:45:07.000000000 +1000
-+++ x264-snapshot-20100714-2245.new/version.sh	2010-10-03 23:58:24.000000000 +1100
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/usr/bin/env bash
- git rev-list HEAD | sort > config.git-hash
- LOCALVER=`wc -l config.git-hash | awk '{print $1}'`
- if [ $LOCALVER \> 1 ] ; then
--- a/src/x264.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/x264.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,24 +3,44 @@
 
 PKG             := x264
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := a6c4a6786a2347b5b1d50dc0ddfd378bf1890481
+$(PKG)_VERSION  := 20141130-2245
+$(PKG)_CHECKSUM := e2a4f5dd0a773a3e89f7c5cf1b3d2efc95f282b8
 $(PKG)_SUBDIR   := $(PKG)-snapshot-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-snapshot-$($(PKG)_VERSION).tar.bz2
 $(PKG)_URL      := http://download.videolan.org/pub/videolan/$(PKG)/snapshots/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
 define $(PKG)_UPDATE
-    date -d yesterday +%Y%m%d-2245
+    $(WGET) -q -O- 'https://git.videolan.org/?p=x264.git;a=shortlog' | \
+    $(SED) -n 's,.*\([0-9]\{4\}\)-\([0-9]\{2\}\)-\([0-9]\{2\}\).*,\1\2\3-2245,p' | \
+    $(SORT) | \
+    tail -1
 endef
 
+ifeq ($(MXE_NATIVE_BUILD),no)
 define $(PKG)_BUILD
     cd '$(1)' && ./configure \
-        --cross-prefix='$(MXE_TOOL_PREFIX)' \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         --prefix='$(HOST_PREFIX)' \
         $(ENABLE_SHARED_OR_STATIC) \
+        --cross-prefix='$(MXE_TOOL_PREFIX)' \
+        --disable-lavf \
+        --disable-swscale \
         --enable-win32thread
     $(MAKE) -C '$(1)' -j 1 uninstall
     $(MAKE) -C '$(1)' -j '$(JOBS)'
     $(MAKE) -C '$(1)' -j 1 install
 endef
+else
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --disable-lavf \
+        --disable-swscale
+    $(MAKE) -C '$(1)' -j 1 uninstall
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install
+endef
+endif
--- a/src/xapian-core.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/xapian-core.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,15 +3,16 @@
 
 PKG             := xapian-core
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.12
 $(PKG)_CHECKSUM := 2b96800280fee41eed767289620172f5226c9c4f
 $(PKG)_SUBDIR   := xapian-core-$($(PKG)_VERSION)
 $(PKG)_FILE     := xapian-core-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://oligarchy.co.uk/xapian/$($(PKG)_VERSION)/xapian-core-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://oligarchy.co.uk/xapian/$($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_DEPS     := zlib
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- http://xapian.org/download | \
-    $(SED) -n 's,.*<a HREF="http://oligarchy.co.uk/xapian/\([^/]*\)/xapian-core[^"]*">.*,\1,p' | \
+    $(SED) -n 's,.*<a HREF="https://oligarchy.co.uk/xapian/\([^/]*\)/xapian-core[^"]*">.*,\1,p' | \
     head -1
 endef
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xau.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xau
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.8
+$(PKG)_CHECKSUM := d9512d6869e022d4e9c9d33f6d6199eda4ad096b
+$(PKG)_SUBDIR   := libXau-$($(PKG)_VERSION)
+$(PKG)_FILE     := libXau-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := xproto
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xcb-proto.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,35 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xcb-proto
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.13
+$(PKG)_CHECKSUM := f7fa35ab59af18cecadbe83fe705281dcfd82ffd
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/xcb/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://www.x.org/archive/individual/xcb/' | \
+    $(SED) -n 's,.*<a href="xcb-proto-\([0-9\.]*\)\.tar.gz".*,\1,p' | \
+    $(SORT) -V |
+    tail -1
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xcb-util-cursor.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xcb-util-cursor
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.1.3
+$(PKG)_CHECKSUM := 26562eb6d4151307f7b6a53453d360ecfc0563ac
+$(PKG)_SUBDIR   := xcb-util-cursor-$($(PKG)_VERSION)
+$(PKG)_FILE     := xcb-util-cursor-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/xcb/$($(PKG)_FILE)
+$(PKG)_DEPS     := xcb xcb-util-image xcb-util-renderutil
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xcb-util-image.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xcb-util-image
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.4.0
+$(PKG)_CHECKSUM := c9c9361781911a47b28f74fc6ebe0abd1273fae4
+$(PKG)_SUBDIR   := xcb-util-image-$($(PKG)_VERSION)
+$(PKG)_FILE     := xcb-util-image-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/xcb/$($(PKG)_FILE)
+$(PKG)_DEPS     := xcb xcb-util xproto
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xcb-util-keysyms.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xcb-util-keysyms
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.4.0
+$(PKG)_CHECKSUM := ff02ee8ac22c53848af50c0a6a6b00feb002c1cb
+$(PKG)_SUBDIR   := xcb-util-keysyms-$($(PKG)_VERSION)
+$(PKG)_FILE     := xcb-util-keysyms-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/xcb/$($(PKG)_FILE)
+$(PKG)_DEPS     := xproto
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xcb-util-renderutil.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xcb-util-renderutil
+$(PKG)_IGNORE   := 
+$(PKG)_VERSION  := 0.3.9
+$(PKG)_CHECKSUM := cb533b1d039f833f070e7d6398c221a31d30d5e2
+$(PKG)_SUBDIR   := xcb-util-renderutil-$($(PKG)_VERSION)
+$(PKG)_FILE     := xcb-util-renderutil-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/xcb/$($(PKG)_FILE)
+$(PKG)_DEPS     := xcb
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xcb-util-wm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xcb-util-wm
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.4.1
+$(PKG)_CHECKSUM := 7006c52b961c123355320bfc30477cdf90c8bbb7
+$(PKG)_SUBDIR   := xcb-util-wm-$($(PKG)_VERSION)
+$(PKG)_FILE     := xcb-util-wm-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/xcb/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xcb-util.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xcb-util
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.4.0
+$(PKG)_CHECKSUM := 7f2e9b7efcc2c34eb1d6ae312c3d73b075832e46
+$(PKG)_SUBDIR   := xcb-util-$($(PKG)_VERSION)
+$(PKG)_FILE     := xcb-util-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/xcb/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xcb.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,34 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xcb
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.13.1
+$(PKG)_CHECKSUM := 2ab17a1bb2a44e0a9cb0b26bcf899689ba1bbb3b
+$(PKG)_SUBDIR   := libxcb-$($(PKG)_VERSION)
+$(PKG)_FILE     := libxcb-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/xcb/$($(PKG)_FILE)
+$(PKG)_DEPS     := pthread-stubs util-macros xau xcb-proto
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://www.x.org/archive/individual/xcb/' | \
+    $(SED) -n 's,.*<a href="libxcb-\([0-9\.]*\)\.tar.gz".*,\1,p' | \
+    $(SORT) -V |
+    tail -1
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xcursor.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xcursor
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.14
+$(PKG)_CHECKSUM := 89870756758439f9216ddf5f2d3dca56570fc6b7
+$(PKG)_SUBDIR   := libXcursor-$($(PKG)_VERSION)
+$(PKG)_FILE     := libXcursor-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := fixesproto x11 xfixes xrender
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xdamage.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xdamage
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.4
+$(PKG)_CHECKSUM := c3fc0f4b02dce2239bf46c82a5f06b06585720ae
+$(PKG)_SUBDIR   := libXdamage-$($(PKG)_VERSION)
+$(PKG)_FILE     := libXdamage-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := damageproto xfixes fixesproto xextproto x11
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xdmcp.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xdmcp
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.2
+$(PKG)_CHECKSUM := 3c09eabb0617c275b5ab09fae021d279a4832cac
+$(PKG)_SUBDIR   := libXdmcp-$($(PKG)_VERSION)
+$(PKG)_FILE     := libXdmcp-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- a/src/xerces.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/xerces.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := xerces
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.1.1
 $(PKG)_CHECKSUM := 177ec838c5119df57ec77eddec9a29f7e754c8b2
 $(PKG)_SUBDIR   := xerces-c-$($(PKG)_VERSION)
 $(PKG)_FILE     := xerces-c-$($(PKG)_VERSION).tar.gz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xext.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,34 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xext
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3.3
+$(PKG)_CHECKSUM := 43abab84101159563e68d9923353cc0b3af44f07
+$(PKG)_SUBDIR   := libXext-$($(PKG)_VERSION)
+$(PKG)_FILE     := libXext-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := xextproto xproto
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://www.x.org/archive/individual/lib/' | \
+    $(SED) -n 's,.*<a href="libXext-\([0-9\.]*\)\.tar.gz".*,\1,p' | \
+    $(SORT) -V |
+    tail -1
+endef
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xextproto.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,35 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xextproto
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 7.3.0
+$(PKG)_CHECKSUM := b8d736342dcb73b71584d99a1cb9806d93c25ff8
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/proto/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://www.x.org/archive/individual/proto/' | \
+    $(SED) -n 's,.*<a href="xextproto-\([0-9\.]*\)\.tar.gz".*,\1,p' | \
+    $(SORT) -V |
+    tail -1
+endef
+
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xf86vidmodeproto.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xf86vidmodeproto
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.3.1
+$(PKG)_CHECKSUM := 11d54c3210887631ea71e8f8030a77692e964fc4
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/proto/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xfixes.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xfixes
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 5.0.3
+$(PKG)_CHECKSUM := ca86342d129c02435a9ee46e38fdf1a04d6b4b91
+$(PKG)_SUBDIR   := libXfixes-$($(PKG)_VERSION)
+$(PKG)_FILE     := libXfixes-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := fixesproto xextproto xproto x11
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xft.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,30 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xft
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.3.2
+$(PKG)_CHECKSUM := e025d790a7b6c4d283a78d8df06615cb10278e2d
+$(PKG)_SUBDIR   := libXft-$($(PKG)_VERSION)
+$(PKG)_FILE     := libXft-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+ifeq ($(USE_SYSTEM_FONTCONFIG),no)
+  $(PKG)_FONTCONFIG := fontconfig
+endif
+$(PKG)_DEPS     := kbproto xrender $($(PKG)_FONTCONFIG) freetype
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xi.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xi
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.7.9
+$(PKG)_CHECKSUM := 70d1148c39c0eaa7d7c18370f20709383271f669
+$(PKG)_SUBDIR   := libXi-$($(PKG)_VERSION)
+$(PKG)_FILE     := libXi-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := inputproto xext xextproto xproto x11
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xine-lib-1-configure_ac.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,24 @@
+This file is part of MXE.
+See index.html for further information.
+
+diff -urN xine-lib-1.2.4/configure.ac xine-lib-1.2.4-patch/configure.ac
+--- xine-lib-1.2.4/configure.ac	2013-09-20 16:04:44.000000000 +0300
++++ xine-lib-1.2.4-patch/configure.ac	2013-12-17 11:45:43.657189416 +0200
+@@ -343,7 +343,7 @@
+ AC_CHECK_HEADERS([alloca.h])
+ AC_CHECK_HEADERS([assert.h byteswap.h dirent.h errno.h execinfo.h fcntl.h glob.h])
+ AC_CHECK_HEADERS([libgen.h malloc.h netdb.h stdbool.h ucontext.h])
+-AC_CHECK_HEADERS([sys/ioctl.h sys/mixer.h sys/mman.h sys/param.h sys/times.h sys/wait.h])
++AC_CHECK_HEADERS([sys/mixer.h sys/mman-win32.h sys/param.h sys/times.h sys/wait.h])
+ 
+ dnl This is duplicative due to AC_HEADER_STDC, but src/input/vcd stuff needs to
+ dnl have HAVE_STDIO_H defined, or it won't compile.
+@@ -378,7 +378,7 @@
+ 
+ AC_CACHE_CHECK([type of request parameter for ioctl()], [ac_cv_ioctl_request], [
+     for ac_ioctl_request_type in "unsigned long" "int"; do
+-        AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/ioctl.h>
++        AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <windows.h>
+                                           int ioctl(int fd, $ac_ioctl_request_type request, ...);]], [[]])],
+                        [ac_cv_ioctl_request=$ac_ioctl_request_type], [])
+     done
--- a/src/xine-lib-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-From 6dc46ed1253c1fce1cfa8d360e352b5bc12d0d3b Mon Sep 17 00:00:00 2001
-From: "mxe@mxe.cc" <mxe@mxe.cc>
-Date: Sun, 13 Nov 2011 12:05:22 +0100
-Subject: [PATCH 1/4] fake missing definitions for WIN32
-
-Taken from:
-https://bugs.xine-project.org/show_bug.cgi?id=433
----
- src/audio_out/audio_file_out.c |   12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/src/audio_out/audio_file_out.c b/src/audio_out/audio_file_out.c
-index bc40d4e..a613a89 100644
---- a/src/audio_out/audio_file_out.c
-+++ b/src/audio_out/audio_file_out.c
-@@ -53,6 +53,18 @@
- #endif
- #endif
- 
-+#ifdef WIN32
-+#ifndef S_IWUSR
-+#define S_IWUSR 0x0000
-+#endif
-+#ifndef S_IRGRP
-+#define S_IRGRP 0x0000
-+#endif
-+#ifndef S_IROTH
-+#define S_IROTH 0x0000
-+#endif
-+#endif
-+
- /* Taken (hStudlyCapsAndAll) from sox's wavwritehdr */
- 
- struct wavhdr {
--- 
-1.7.10.4
-
-
-From 4a7cd803cbc3daa3f19fdc6b34fb93e1994bc2f5 Mon Sep 17 00:00:00 2001
-From: "mxe@mxe.cc" <mxe@mxe.cc>
-Date: Sun, 13 Nov 2011 13:45:21 +0100
-Subject: [PATCH 2/4] force graphicsmagick over imagemagick
-
----
- configure.ac |    9 ---------
- 1 file changed, 9 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9112b58..67f1147 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1412,14 +1412,6 @@ AC_ARG_WITH([imagemagick],
- 	AS_HELP_STRING([--without-imagemagick], [Build without ImageMagick image decoder (or GraphicsMagick's compat layer)]))
- 
- if test "x$with_imagemagick" != "xno"; then
--   PKG_CHECK_MODULES([WAND], [Wand], [have_imagemagick=yes], [AC_MSG_RESULT([no]); have_imagemagick=no])
--   if test "x$have_imagemagick" = 'xno'; then
--      PKG_CHECK_MODULES([MAGICKWAND], [MagickWand], [have_imagemagick=yes], [AC_MSG_RESULT([no]); have_imagemagick=no])
--      dnl Avoid $(WAND_FLAGS) $(MAGICKWAND_FLAGS) ...
--      WAND_CFLAGS="$MAGICKWAND_CFLAGS"
--      WAND_LIBS="$MAGICKWAND_LIBS"
--   fi
--   if test "x$have_imagemagick" = 'xno'; then
-       PKG_CHECK_MODULES([GRAPHICSMAGICK], [ImageMagick], [have_imagemagick=yes], [AC_MSG_RESULT([no]); have_imagemagick=no])
-       PKG_CHECK_MODULES([GRAPHICSMAGICKWAND], [GraphicsMagickWand], [have_imagemagick=yes], [AC_MSG_RESULT([no]); have_imagemagick=no])
-       dnl The following assignments are safe, since they include
-@@ -1427,7 +1419,6 @@ if test "x$with_imagemagick" != "xno"; then
-       WAND_CFLAGS="$GRAPHICSMAGICKWAND_CFLAGS"
-       WAND_LIBS="$GRAPHICSMAGICKWAND_LIBS"
-       AC_DEFINE([HAVE_GRAPHICSMAGICK], [1], [Define this if you have GraphicsMagick installed])
--   fi
-    if test "x$with_imagemagick" = "xyes" && test "x$have_imagemagick" = "xno"; then
-       AC_MSG_ERROR([ImageMagick support requested, but neither Wand, MagickWand, nor GraphicsMagick were found])
-    elif test "x$have_imagemagick" = "xyes"; then
--- 
-1.7.10.4
-
-
-From 5b362f4aed3a814a351cd259efb62b40761ddb3d Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Sun, 27 May 2012 23:28:57 +0200
-Subject: [PATCH 3/4] add missing localtime_r
-
-Previously provided by pthreads-w32-2-8-0-release, which is also
-the source of this version.
----
- src/localtime_r.h         |    3 +++
- src/xine-engine/scratch.c |    1 +
- 2 files changed, 4 insertions(+)
- create mode 100644 src/localtime_r.h
-
-diff --git a/src/localtime_r.h b/src/localtime_r.h
-new file mode 100644
-index 0000000..ec778c5
---- /dev/null
-+++ b/src/localtime_r.h
-@@ -0,0 +1,3 @@
-+#define localtime_r( _clock, _result ) \
-+        ( *(_result) = *localtime( (_clock) ), \
-+          (_result) )
-diff --git a/src/xine-engine/scratch.c b/src/xine-engine/scratch.c
-index 39bb592..41d561b 100644
---- a/src/xine-engine/scratch.c
-+++ b/src/xine-engine/scratch.c
-@@ -36,6 +36,7 @@
- 
- #include "xineutils.h"
- #include "scratch.h"
-+#include "localtime_r.h"
- 
- static void XINE_FORMAT_PRINTF(2, 0)
-   scratch_printf (scratch_buffer_t *this, const char *format, va_list argp)
--- 
-1.7.10.4
-
-
-From 0d3546c3c12a8bf311c9751f0d0d2e3a95569657 Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Sun, 27 May 2012 23:23:19 +0200
-Subject: [PATCH 4/4] ffmpeg 0.11 removed avcodec_init
-
----
- src/combined/ffmpeg/ffmpeg_decoder.c |    1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/combined/ffmpeg/ffmpeg_decoder.c b/src/combined/ffmpeg/ffmpeg_decoder.c
-index 879df53..84ee1a3 100644
---- a/src/combined/ffmpeg/ffmpeg_decoder.c
-+++ b/src/combined/ffmpeg/ffmpeg_decoder.c
-@@ -312,7 +312,6 @@ void avcodec_register_all(void)
- 
- void init_once_routine(void) {
-   pthread_mutex_init(&ffmpeg_lock, NULL);
--  avcodec_init();
-   avcodec_register_all();
- }
- 
--- 
-1.7.10.4
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xine-lib-2-build_fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,306 @@
+This file is part of MXE.
+See index.html for further information.
+
+diff -urN xine-lib-1.2.4/configure.ac xine-lib-1.2.4-patch/configure.ac
+--- xine-lib-1.2.4/configure.ac	2013-12-17 11:45:43.657189416 +0200
++++ xine-lib-1.2.4-patch/configure.ac	2013-12-17 14:57:28.907822042 +0200
+@@ -544,7 +544,7 @@
+ 
+         if test "$WIN32_SYS" = "mingw32"; then
+             WIN32_INCLUDES='-I$(top_srcdir)/win32/include'
+-            LIBS="-lwinmm -lwsock32 $LIBS"
++            LIBS="-lwinmm -lwsock32 -lmman $LIBS"
+             LDFLAGS="-Wl,--enable-stdcall-fixup $LDFLAGS"
+             dnl iberty has been needed only in older versions
+             AC_CHECK_LIB(iberty, strncomp, [GOOM_LIBS="-liberty"])
+diff -urN xine-lib-1.2.4/include/xine/xine_internal.h xine-lib-1.2.4-patch/include/xine/xine_internal.h
+--- xine-lib-1.2.4/include/xine/xine_internal.h	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/include/xine/xine_internal.h	2013-12-17 15:14:55.229127435 +0200
+@@ -55,6 +55,26 @@
+ /* used by plugin loader */
+ #define XINE_VERSION_CODE                XINE_MAJOR_VERSION*10000+XINE_MINOR_VERSION*100+XINE_SUB_VERSION
+ 
++// Add there to support them on MinGW
++#define timeradd(a, b, result) \
++    do { \
++        (result)->tv_sec = (a)->tv_sec + (b)->tv_sec; \
++        (result)->tv_usec = (a)->tv_usec + (b)->tv_usec; \
++        if ((result)->tv_usec >= 1000000L) { \
++            ++(result)->tv_sec; \
++            (result)->tv_usec -= 1000000L; \
++        } \
++    } while (0)
++
++#define timersub(a, b, result) \
++    do { \
++        (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \
++        (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \
++        if ((result)->tv_usec < 0) { \
++            --(result)->tv_sec; \
++            (result)->tv_usec += 1000000L; \
++        } \
++    } while (0)
+ 
+ /*
+  * log constants
+diff -urN xine-lib-1.2.4/include/xine/xineutils.h xine-lib-1.2.4-patch/include/xine/xineutils.h
+--- xine-lib-1.2.4/include/xine/xineutils.h	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/include/xine/xineutils.h	2013-12-20 12:29:33.465030673 +0200
+@@ -119,8 +119,8 @@
+ 
+ 
+ 		     /* Optimized/fast memcpy */
+-
+-extern void *(* xine_fast_memcpy)(void *to, const void *from, size_t len) XINE_PROTECTED;
++//extern void *xine_fast_memcpy(void *to, const void *from, size_t len);
++#define xine_fast_memcpy(a, b, c) memcpy(a, b, c)
+ 
+ /*
+  * Debug stuff
+diff -urN xine-lib-1.2.4/misc/Makefile.am xine-lib-1.2.4-patch/misc/Makefile.am
+--- xine-lib-1.2.4/misc/Makefile.am	2012-02-05 21:17:01.000000000 +0200
++++ xine-lib-1.2.4-patch/misc/Makefile.am	2013-12-19 09:20:56.937982071 +0200
+@@ -21,7 +21,7 @@
+ pkgconfig_DATA=libxine.pc
+ 
+ xine_list_@XINE_SERIES@_SOURCES = xine-list.c
+-xine_list_@XINE_SERIES@_LDADD = $(XINE_LIB)
++xine_list_@XINE_SERIES@_LDADD = $(XINE_LIB) $(top_builddir)/src/xine-utils/libxineutils.la
+ 
+ fontdir = $(pkgdatadir)/fonts
+ dist_font_DATA = \
+diff -urN xine-lib-1.2.4/src/audio_dec/xine_lpcm_decoder.c xine-lib-1.2.4-patch/src/audio_dec/xine_lpcm_decoder.c
+--- xine-lib-1.2.4/src/audio_dec/xine_lpcm_decoder.c	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/audio_dec/xine_lpcm_decoder.c	2013-12-17 15:18:20.459131654 +0200
+@@ -41,7 +41,11 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
++#ifdef __MINGW32__
++#include <winsock.h>
++#else
+ #include <arpa/inet.h> /* htons */
++#endif
+ #include <netinet/in.h> /* ntohs */
+ 
+ #include <xine/xine_internal.h>
+diff -urN xine-lib-1.2.4/src/demuxers/demux_ts.c xine-lib-1.2.4-patch/src/demuxers/demux_ts.c
+--- xine-lib-1.2.4/src/demuxers/demux_ts.c	2013-09-23 23:56:56.000000000 +0300
++++ xine-lib-1.2.4-patch/src/demuxers/demux_ts.c	2013-12-18 12:04:09.269573623 +0200
+@@ -146,7 +146,11 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <string.h>
+-#include <arpa/inet.h>
++#ifdef __MINGW32__
++#include <winsock.h>
++#else
++#include <arpa/inet.h> /* htons */
++#endif
+ 
+ #ifdef HAVE_FFMPEG_AVUTIL_H
+ #  include <crc.h>
+diff -urN xine-lib-1.2.4/src/input/libdvdnav/dvdnav_internal.h xine-lib-1.2.4-patch/src/input/libdvdnav/dvdnav_internal.h
+--- xine-lib-1.2.4/src/input/libdvdnav/dvdnav_internal.h	2009-11-30 23:28:34.000000000 +0200
++++ xine-lib-1.2.4-patch/src/input/libdvdnav/dvdnav_internal.h	2013-12-18 11:56:09.153450165 +0200
+@@ -64,11 +64,11 @@
+ /* pthread_mutex_* wrapper for win32 */
+ #include <windows.h>
+ #include <process.h>
+-typedef CRITICAL_SECTION pthread_mutex_t;
+-#define pthread_mutex_init(a, b) InitializeCriticalSection(a)
+-#define pthread_mutex_lock(a)    EnterCriticalSection(a)
+-#define pthread_mutex_unlock(a)  LeaveCriticalSection(a)
+-#define pthread_mutex_destroy(a)
++// typedef CRITICAL_SECTION pthread_mutex_t;
++// #define pthread_mutex_init(a, b) InitializeCriticalSection(a)
++// #define pthread_mutex_lock(a)    EnterCriticalSection(a)
++// #define pthread_mutex_unlock(a)  LeaveCriticalSection(a)
++// #define pthread_mutex_destroy(a)
+ 
+ #include <io.h> /* read() */
+ #define lseek64 _lseeki64
+diff -urN xine-lib-1.2.4/src/post/deinterlace/speedy.c xine-lib-1.2.4-patch/src/post/deinterlace/speedy.c
+--- xine-lib-1.2.4/src/post/deinterlace/speedy.c	2012-05-26 23:49:59.000000000 +0300
++++ xine-lib-1.2.4-patch/src/post/deinterlace/speedy.c	2013-12-20 12:24:59.608986588 +0200
+@@ -1392,28 +1392,28 @@
+ }
+ #endif
+ 
+-
+-#define speedy_memcpy_c xine_fast_memcpy
+-#define speedy_memcpy_mmx xine_fast_memcpy
+-#define speedy_memcpy_mmxext xine_fast_memcpy
++//#undef xine_fast_memcpy
++//#define speedy_memcpy_c xine_fast_memcpy
++//#define speedy_memcpy_mmx xine_fast_memcpy
++//#define speedy_memcpy_mmxext xine_fast_memcpy
+ 
+ 
+ static void blit_packed422_scanline_c( uint8_t *dest, const uint8_t *src, int width )
+ {
+-    speedy_memcpy_c( dest, src, width*2 );
++    memcpy( dest, src, width*2 );
+ }
+ 
+ #if defined(ARCH_X86) || defined(ARCH_X86_64)
+ static void blit_packed422_scanline_mmx( uint8_t *dest, const uint8_t *src, int width )
+ {
+-    speedy_memcpy_mmx( dest, src, width*2 );
++    memcpy( dest, src, width*2 );
+ }
+ #endif
+ 
+ #if defined(ARCH_X86) || defined(ARCH_X86_64)
+ static void blit_packed422_scanline_mmxext( uint8_t *dest, const uint8_t *src, int width )
+ {
+-    speedy_memcpy_mmxext( dest, src, width*2 );
++    memcpy( dest, src, width*2 );
+ }
+ #endif
+ 
+@@ -2602,7 +2602,8 @@
+     kill_chroma_packed422_inplace_scanline = kill_chroma_packed422_inplace_scanline_c;
+     mirror_packed422_inplace_scanline = mirror_packed422_inplace_scanline_c;
+     halfmirror_packed422_inplace_scanline = halfmirror_packed422_inplace_scanline_c;
+-    speedy_memcpy = speedy_memcpy_c;
++    speedy_memcpy = memcpy;
++    //speedy_memcpy = speedy_memcpy_c;
+     diff_packed422_block8x8 = diff_packed422_block8x8_c;
+     a8_subpix_blit_scanline = a8_subpix_blit_scanline_c;
+     quarter_blit_vertical_packed422_scanline = quarter_blit_vertical_packed422_scanline_c;
+@@ -2644,7 +2645,8 @@
+         invert_colour_packed422_inplace_scanline = invert_colour_packed422_inplace_scanline_mmx;
+         vfilter_chroma_121_packed422_scanline = vfilter_chroma_121_packed422_scanline_mmx;
+         vfilter_chroma_332_packed422_scanline = vfilter_chroma_332_packed422_scanline_mmx;
+-        speedy_memcpy = speedy_memcpy_mmxext;
++        //speedy_memcpy = speedy_memcpy_mmxext;
++        speedy_memcpy = memcpy;
+     } else if( speedy_accel & MM_ACCEL_X86_MMX ) {
+         if( verbose ) {
+             printf( "speedycode: Using MMX optimized functions.\n" );
+@@ -2660,7 +2662,8 @@
+         invert_colour_packed422_inplace_scanline = invert_colour_packed422_inplace_scanline_mmx;
+         vfilter_chroma_121_packed422_scanline = vfilter_chroma_121_packed422_scanline_mmx;
+         vfilter_chroma_332_packed422_scanline = vfilter_chroma_332_packed422_scanline_mmx;
+-        speedy_memcpy = speedy_memcpy_mmx;
++        //speedy_memcpy = speedy_memcpy_mmx;
++        speedy_memcpy = memcpy;
+     } else {
+         if( verbose ) {
+             printf( "speedycode: No MMX or MMXEXT support detected, using C fallbacks.\n" );
+diff -urN xine-lib-1.2.4/src/vdr/input_vdr.c xine-lib-1.2.4-patch/src/vdr/input_vdr.c
+--- xine-lib-1.2.4/src/vdr/input_vdr.c	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/vdr/input_vdr.c	2013-12-20 12:23:36.313756861 +0200
+@@ -28,13 +28,13 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/stat.h>
+-#include <sys/poll.h>
++// #include <sys/poll.h>
+ #include <errno.h>
+ #include <pthread.h>
+ 
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+-#include <resolv.h>
++// #include <resolv.h>
+ #include <netdb.h>
+ 
+ #define LOG_MODULE "input_vdr"
+@@ -1919,7 +1919,7 @@
+   filename = strdup(filename);
+ 
+   _x_mrl_unescape (filename);
+-  this->fh = xine_open_cloexec(filename, O_RDONLY | O_NONBLOCK);
++  this->fh = xine_open_cloexec(filename, O_RDONLY);
+ 
+   lprintf("filename '%s'\n", filename);
+ 
+@@ -1934,7 +1934,7 @@
+   }
+ 
+   {
+-    struct pollfd poll_fh = { this->fh, POLLIN, 0 };
++    /*struct pollfd poll_fh = { this->fh, POLLIN, 0 };
+ 
+     int r = poll(&poll_fh, 1, 300);
+     if (1 != r)
+@@ -1945,10 +1945,10 @@
+               _("timeout expired during setup phase"));
+       free (filename);
+       return 0;
+-    }
++    }*/
+   }
+ 
+-  fcntl(this->fh, F_SETFL, ~O_NONBLOCK & fcntl(this->fh, F_GETFL, 0));
++  //fcntl(this->fh, F_SETFL, ~O_NONBLOCK & fcntl(this->fh, F_GETFL, 0));
+ 
+   /* eat initial handshake byte */
+   {
+@@ -2098,7 +2098,7 @@
+   if ((this->fh = vdr_plugin_open_socket(this, host, port + 0)) == -1)
+     return 0;
+ 
+-  fcntl(this->fh, F_SETFL, ~O_NONBLOCK & fcntl(this->fh, F_GETFL, 0));
++  //fcntl(this->fh, F_SETFL, ~O_NONBLOCK & fcntl(this->fh, F_GETFL, 0));
+ 
+   if ((this->fh_control = vdr_plugin_open_socket(this, host, port + 1)) == -1)
+     return 0;
+diff -urN xine-lib-1.2.4/src/video_dec/libjpeg.c xine-lib-1.2.4-patch/src/video_dec/libjpeg.c
+--- xine-lib-1.2.4/src/video_dec/libjpeg.c	2012-11-23 22:08:21.000000000 +0200
++++ xine-lib-1.2.4-patch/src/video_dec/libjpeg.c	2013-12-18 10:01:45.755428630 +0200
+@@ -26,6 +26,7 @@
+ #endif
+ 
+ 
++
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/types.h>
+@@ -33,6 +34,7 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <stdio.h>
++#include <basetsd.h>
+ 
+ #define LOG_MODULE "jpeg_video_decoder"
+ #define LOG_VERBOSE
+diff -urN xine-lib-1.2.4/src/xine-utils/memcpy.c xine-lib-1.2.4-patch/src/xine-utils/memcpy.c
+--- xine-lib-1.2.4/src/xine-utils/memcpy.c	2013-09-18 19:58:32.000000000 +0300
++++ xine-lib-1.2.4-patch/src/xine-utils/memcpy.c	2013-12-20 12:30:01.733448201 +0200
+@@ -55,7 +55,7 @@
+ #include <xine/xine_internal.h>
+ #include "../xine-engine/xine_private.h"
+ 
+-void *(* xine_fast_memcpy)(void *to, const void *from, size_t len);
++
+ 
+ /* Original comments from mplayer (file: aclib.c)
+  This part of code was taken by me from Linux-2.4.3 and slightly modified
+@@ -558,7 +558,7 @@
+       && (config_flags & memcpy_method[method].cpu_require) ==
+       memcpy_method[method].cpu_require ) {
+     lprintf("using %s memcpy()\n", memcpy_method[method].name );
+-    xine_fast_memcpy = memcpy_method[method].function;
++    // xine_fast_memcpy = memcpy_method[method].function;
+     return;
+   } else {
+     xprintf(xine, XINE_VERBOSITY_DEBUG, "xine: will probe memcpy on startup\n" );
+@@ -603,13 +603,13 @@
+      (config_flags & memcpy_method[best].cpu_require) ==
+       memcpy_method[best].cpu_require ) {
+     lprintf("using %s memcpy()\n", memcpy_method[best].name );
+-    xine_fast_memcpy = memcpy_method[best].function;
++    // xine_fast_memcpy = memcpy_method[best].function;
+     return;
+   }
+ 
+   best = 0;
+ 
+-  xine_fast_memcpy = memcpy;
++  // xine_fast_memcpy = memcpy;
+ 
+   if( (buf1 = malloc(BUFSIZE)) == NULL )
+     return;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xine-lib-3-more_build_fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,109 @@
+This file is part of MXE.
+See index.html for further information.
+
+diff -urN xine-lib-1.2.4/src/combined/wavpack_decoder.c xine-lib-1.2.4-patch/src/combined/wavpack_decoder.c
+--- xine-lib-1.2.4/src/combined/wavpack_decoder.c	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/combined/wavpack_decoder.c	2014-01-01 12:45:31.120873116 +0200
+@@ -27,6 +27,7 @@
+ #define LOG_MODULE "decode_wavpack"
+ #define LOG_VERBOSE
+ 
++#include <malloc.h>
+ #include <xine/xine_internal.h>
+ #include <xine/attributes.h>
+ #include "bswap.h"
+diff -urN xine-lib-1.2.4/src/input/input_cdda.c xine-lib-1.2.4-patch/src/input/input_cdda.c
+--- xine-lib-1.2.4/src/input/input_cdda.c	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/input/input_cdda.c	2014-01-01 12:42:52.954879392 +0200
+@@ -56,6 +56,7 @@
+ #include <signal.h>
+ #include <netinet/in.h>
+ #include <sys/socket.h>
++#include <malloc.h>
+ 
+ #include <basedir.h>
+ 
+diff -urN xine-lib-1.2.4/src/vdr/input_vdr.c xine-lib-1.2.4-patch/src/vdr/input_vdr.c
+--- xine-lib-1.2.4/src/vdr/input_vdr.c	2014-01-01 12:52:41.000000000 +0200
++++ xine-lib-1.2.4-patch/src/vdr/input_vdr.c	2014-01-01 12:49:36.935863362 +0200
+@@ -1760,7 +1760,7 @@
+   if (this->event_queue)
+     xine_event_dispose_queue(this->event_queue);
+ 
+-  if (this->rpc_thread)
++  /* if (this->rpc_thread)
+   {
+     struct timespec abstime;
+     int ms_to_time_out = 10000;
+@@ -1799,12 +1799,12 @@
+     xprintf(this->stream->xine, XINE_VERBOSITY_LOG, _("%s: joining rpc thread ...\n"), LOG_MODULE);
+     pthread_join(this->rpc_thread, 0);
+     xprintf(this->stream->xine, XINE_VERBOSITY_LOG, _("%s: rpc thread joined.\n"), LOG_MODULE);
+-  }
++  }*/
+ 
+   pthread_cond_destroy(&this->rpc_thread_shutdown_cond);
+   pthread_mutex_destroy(&this->rpc_thread_shutdown_lock);
+ 
+-  if (this->metronom_thread)
++  /*if (this->metronom_thread)
+   {
+     xprintf(this->stream->xine, XINE_VERBOSITY_LOG, _("%s: joining metronom thread ...\n"), LOG_MODULE);
+ 
+@@ -1814,12 +1814,6 @@
+     this->metronom_thread_request = -1;
+     this->metronom_thread_reply = 0;
+     pthread_cond_broadcast(&this->metronom_thread_request_cond);
+-/*
+-    pthread_mutex_unlock(&this->metronom_thread_lock);
+-
+-    pthread_mutex_lock(&this->metronom_thread_lock);
+-    if (!this->metronom_thread_reply)
+-*/
+       pthread_cond_wait(&this->metronom_thread_reply_cond, &this->metronom_thread_lock);
+     pthread_mutex_unlock(&this->metronom_thread_lock);
+ 
+@@ -1827,7 +1821,7 @@
+ 
+     pthread_join(this->metronom_thread, 0);
+     xprintf(this->stream->xine, XINE_VERBOSITY_LOG, _("%s: metronom thread joined.\n"), LOG_MODULE);
+-  }
++  }*/
+ 
+   pthread_mutex_destroy(&this->metronom_thread_lock);
+   pthread_cond_destroy(&this->metronom_thread_request_cond);
+diff -urN xine-lib-1.2.4/src/xine-engine/scratch.c xine-lib-1.2.4-patch/src/xine-engine/scratch.c
+--- xine-lib-1.2.4/src/xine-engine/scratch.c	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/xine-engine/scratch.c	2014-01-01 12:36:59.724893408 +0200
+@@ -40,20 +40,20 @@
+   scratch_printf (scratch_buffer_t *this, const char *format, va_list argp)
+ {
+   time_t t;
+-  struct tm tm;
++  struct tm *tm;
+   size_t l;
+ 
+   pthread_mutex_lock (&this->lock);
+ 
+   time (&t);
+-  localtime_r (&t, &tm);
++  tm = localtime (&t);
+ 
+   if ( ! this->lines[this->cur] )
+     this->lines[this->cur] = malloc(SCRATCH_LINE_LEN_MAX+1);
+   if ( ! this->lines[this->cur] )
+     return;
+ 
+-  l = strftime (this->lines[this->cur], SCRATCH_LINE_LEN_MAX, "%X: ", &tm);
++  l = strftime (this->lines[this->cur], SCRATCH_LINE_LEN_MAX, "%X: ", tm);
+   vsnprintf (this->lines[this->cur] + l, SCRATCH_LINE_LEN_MAX - l, format, argp);
+ 
+   lprintf ("printing format %s to line %d\n", format, this->cur);
+diff -urN xine-lib-1.2.4/src/xine-utils/Makefile.am xine-lib-1.2.4-patch/src/xine-utils/Makefile.am
+--- xine-lib-1.2.4/src/xine-utils/Makefile.am	2012-02-05 21:17:03.000000000 +0200
++++ xine-lib-1.2.4-patch/src/xine-utils/Makefile.am	2014-01-01 12:36:33.466894450 +0200
+@@ -37,3 +37,4 @@
+ noinst_PROGRAMS = xmltest
+ xmltest_SOURCES = xmllexer.c xmlparser.c
+ xmltest_CFLAGS = -DLOG -DXINE_XML_PARSER_TEST $(AM_CFLAGS)
++xmltest_LDFLAGS = $(top_builddir)/lib/libxineposix.la
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xine-lib-4-mkdir.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,14 @@
+This file is part of MXE.
+See index.html for further information.
+
+diff -urN xine-lib-1.2.4/lib/os_internal.h xine-lib-1.2.4-patch/lib/os_internal.h
+--- xine-lib-1.2.4/lib/os_internal.h	2012-02-05 21:17:00.000000000 +0200
++++ xine-lib-1.2.4-patch/lib/os_internal.h	2014-01-03 19:05:56.643793781 +0200
+@@ -260,6 +260,7 @@
+ #  ifdef __MINGW64__
+ #    define mkdir(A, B) mkdir((A))
+ #  else
++     _CRTIMP int __cdecl _mkdir(const char *_Path);
+ #    define mkdir(A, B) _mkdir((A))
+ #  endif
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xine-lib-5-change_mma_h_to_mma_win32_h.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,303 @@
+This file is part of MXE.
+See index.html for further information.
+
+diff -urN xine-lib-1.2.4/contrib/libdha/irq.c xine-lib-1.2.4-patch/contrib/libdha/irq.c
+--- xine-lib-1.2.4/contrib/libdha/irq.c	2012-02-05 21:16:59.000000000 +0200
++++ xine-lib-1.2.4-patch/contrib/libdha/irq.c	2014-01-05 14:30:37.000000000 +0200
+@@ -2,7 +2,7 @@
+ #include <stdio.h>
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
+-#include <sys/mman.h> /* mlock */
++#include <sys/mman-win32.h> /* mlock */
+ #include <pthread.h>
+ #include <errno.h>
+ #include <unistd.h>
+diff -urN xine-lib-1.2.4/contrib/libdha/kernelhelper/test.c xine-lib-1.2.4-patch/contrib/libdha/kernelhelper/test.c
+--- xine-lib-1.2.4/contrib/libdha/kernelhelper/test.c	2012-02-05 21:16:59.000000000 +0200
++++ xine-lib-1.2.4-patch/contrib/libdha/kernelhelper/test.c	2014-01-05 14:30:37.000000000 +0200
+@@ -4,7 +4,7 @@
+ #include <unistd.h>
+ #include <errno.h>
+ #include <fcntl.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <stdlib.h>
+ 
+ #include "dhahelper.h"
+diff -urN xine-lib-1.2.4/contrib/libdha/libdha.c xine-lib-1.2.4-patch/contrib/libdha/libdha.c
+--- xine-lib-1.2.4/contrib/libdha/libdha.c	2012-02-05 21:16:59.000000000 +0200
++++ xine-lib-1.2.4-patch/contrib/libdha/libdha.c	2014-01-05 14:30:37.000000000 +0200
+@@ -58,7 +58,7 @@
+ # endif /* SVR4 */
+ 
+ /* Generic version */
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <sys/ioctl.h>
+ #ifndef DEV_MEM
+ #define DEV_MEM "/dev/mem"
+diff -urN xine-lib-1.2.4/contrib/libdha/mmi.c xine-lib-1.2.4-patch/contrib/libdha/mmi.c
+--- xine-lib-1.2.4/contrib/libdha/mmi.c	2012-02-05 21:16:59.000000000 +0200
++++ xine-lib-1.2.4-patch/contrib/libdha/mmi.c	2014-01-05 14:30:37.000000000 +0200
+@@ -2,7 +2,7 @@
+ #include <stdio.h>
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
+-#include <sys/mman.h> /* mlock */
++#include <sys/mman-win32.h> /* mlock */
+ #include <errno.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+diff -urN xine-lib-1.2.4/contrib/vidix/drivers/mach64_vid.c xine-lib-1.2.4-patch/contrib/vidix/drivers/mach64_vid.c
+--- xine-lib-1.2.4/contrib/vidix/drivers/mach64_vid.c	2012-02-05 21:17:00.000000000 +0200
++++ xine-lib-1.2.4-patch/contrib/vidix/drivers/mach64_vid.c	2014-01-05 14:30:35.000000000 +0200
+@@ -13,7 +13,7 @@
+ #include <inttypes.h>
+ #include <fcntl.h>
+ #include <limits.h>
+-#include <sys/mman.h> /* for m(un)lock */
++#include <sys/mman-win32.h> /* for m(un)lock */
+ #ifdef HAVE_MALLOC_H
+ #include <malloc.h>
+ #ifdef HAVE_MEMALIGN
+diff -urN xine-lib-1.2.4/contrib/vidix/drivers/pm3_vid.c xine-lib-1.2.4-patch/contrib/vidix/drivers/pm3_vid.c
+--- xine-lib-1.2.4/contrib/vidix/drivers/pm3_vid.c	2012-02-05 21:17:00.000000000 +0200
++++ xine-lib-1.2.4-patch/contrib/vidix/drivers/pm3_vid.c	2014-01-05 14:30:35.000000000 +0200
+@@ -24,7 +24,7 @@
+ #include <string.h>
+ #include <inttypes.h>
+ #include <unistd.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ 
+ #include "vidix.h"
+ #include "fourcc.h"
+diff -urN xine-lib-1.2.4/contrib/vidix/drivers/radeon_vid.c xine-lib-1.2.4-patch/contrib/vidix/drivers/radeon_vid.c
+--- xine-lib-1.2.4/contrib/vidix/drivers/radeon_vid.c	2012-02-05 21:17:00.000000000 +0200
++++ xine-lib-1.2.4-patch/contrib/vidix/drivers/radeon_vid.c	2014-01-05 14:30:36.000000000 +0200
+@@ -12,7 +12,7 @@
+ #include <math.h>
+ #include <inttypes.h>
+ #include <sys/types.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include "bswap.h"
+ #include "pci_ids.h"
+ #include "pci_names.h"
+diff -urN xine-lib-1.2.4/include/configure.h.in xine-lib-1.2.4-patch/include/configure.h.in
+--- xine-lib-1.2.4/include/configure.h.in	2013-09-20 16:07:56.000000000 +0300
++++ xine-lib-1.2.4-patch/include/configure.h.in	2014-01-05 14:39:09.000000000 +0200
+@@ -441,7 +441,7 @@
+ /* Define to 1 if you have the <sys/mixer.h> header file. */
+ #undef HAVE_SYS_MIXER_H
+ 
+-/* Define to 1 if you have the <sys/mman.h> header file. */
++/* Define to 1 if you have the <sys/mman-win32.h> header file. */
+ #undef HAVE_SYS_MMAN_H
+ 
+ /* Define to 1 if you have the <sys/param.h> header file. */
+diff -urN xine-lib-1.2.4/src/input/input_file.c xine-lib-1.2.4-patch/src/input/input_file.c
+--- xine-lib-1.2.4/src/input/input_file.c	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/input/input_file.c	2014-01-05 14:30:30.000000000 +0200
+@@ -35,7 +35,7 @@
+ #include <errno.h>
+ 
+ #ifdef HAVE_MMAP
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #endif
+ 
+ #define LOG_MODULE "input_file"
+diff -urN xine-lib-1.2.4/src/input/input_v4l2.c xine-lib-1.2.4-patch/src/input/input_v4l2.c
+--- xine-lib-1.2.4/src/input/input_v4l2.c	2012-02-05 21:17:02.000000000 +0200
++++ xine-lib-1.2.4-patch/src/input/input_v4l2.c	2014-01-05 14:30:30.000000000 +0200
+@@ -44,7 +44,7 @@
+ #else
+ # include <linux/videodev2.h>
+ #endif
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <stdio.h>
+ #include <errno.h>
+ 
+diff -urN xine-lib-1.2.4/src/input/input_v4l.c xine-lib-1.2.4-patch/src/input/input_v4l.c
+--- xine-lib-1.2.4/src/input/input_v4l.c	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/input/input_v4l.c	2014-01-05 14:30:26.000000000 +0200
+@@ -49,7 +49,7 @@
+ 
+ #include <linux/videodev.h>
+ #include <sys/ioctl.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <errno.h>
+ 
+ /* Used to capture the audio data */
+diff -urN xine-lib-1.2.4/src/libw32dll/DirectShow/DS_VideoDecoder.c xine-lib-1.2.4-patch/src/libw32dll/DirectShow/DS_VideoDecoder.c
+--- xine-lib-1.2.4/src/libw32dll/DirectShow/DS_VideoDecoder.c	2009-12-02 20:32:57.000000000 +0200
++++ xine-lib-1.2.4-patch/src/libw32dll/DirectShow/DS_VideoDecoder.c	2014-01-05 14:29:19.000000000 +0200
+@@ -45,7 +45,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <sys/types.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <stdio.h>
+ #include <stdlib.h>  // labs
+ 
+diff -urN xine-lib-1.2.4/src/libw32dll/dmo/DMO_VideoDecoder.c xine-lib-1.2.4-patch/src/libw32dll/dmo/DMO_VideoDecoder.c
+--- xine-lib-1.2.4/src/libw32dll/dmo/DMO_VideoDecoder.c	2009-12-02 20:32:57.000000000 +0200
++++ xine-lib-1.2.4-patch/src/libw32dll/dmo/DMO_VideoDecoder.c	2014-01-05 14:29:15.000000000 +0200
+@@ -49,7 +49,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <sys/types.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <stdio.h>
+ #include <stdlib.h>  // labs
+ 
+diff -urN xine-lib-1.2.4/src/libw32dll/wine/ext.c xine-lib-1.2.4-patch/src/libw32dll/wine/ext.c
+--- xine-lib-1.2.4/src/libw32dll/wine/ext.c	2009-11-30 23:28:52.000000000 +0200
++++ xine-lib-1.2.4-patch/src/libw32dll/wine/ext.c	2014-01-05 14:29:18.000000000 +0200
+@@ -12,7 +12,7 @@
+ #include <malloc.h>
+ #endif
+ #include <unistd.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <string.h>
+diff -urN xine-lib-1.2.4/src/libw32dll/wine/ldt_keeper.c xine-lib-1.2.4-patch/src/libw32dll/wine/ldt_keeper.c
+--- xine-lib-1.2.4/src/libw32dll/wine/ldt_keeper.c	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/libw32dll/wine/ldt_keeper.c	2014-01-05 14:29:18.000000000 +0200
+@@ -57,7 +57,7 @@
+ #include <stdlib.h>
+ #include <errno.h>
+ #include <fcntl.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <sys/types.h>
+ #include <stdio.h>
+ #include <unistd.h>
+diff -urN xine-lib-1.2.4/src/libw32dll/wine/module.c xine-lib-1.2.4-patch/src/libw32dll/wine/module.c
+--- xine-lib-1.2.4/src/libw32dll/wine/module.c	2009-11-30 23:28:52.000000000 +0200
++++ xine-lib-1.2.4-patch/src/libw32dll/wine/module.c	2014-01-05 14:29:16.000000000 +0200
+@@ -19,7 +19,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <sys/types.h>
+ 
+ 
+diff -urN xine-lib-1.2.4/src/libw32dll/wine/pe_image.c xine-lib-1.2.4-patch/src/libw32dll/wine/pe_image.c
+--- xine-lib-1.2.4/src/libw32dll/wine/pe_image.c	2009-11-30 23:28:52.000000000 +0200
++++ xine-lib-1.2.4-patch/src/libw32dll/wine/pe_image.c	2014-01-05 14:29:18.000000000 +0200
+@@ -45,7 +45,7 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #ifdef HAVE_SYS_MMAN_H
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #endif
+ #ifdef HAVE_ALLOCA_H
+ #include <alloca.h>
+diff -urN xine-lib-1.2.4/src/video_out/video_out_aa.c xine-lib-1.2.4-patch/src/video_out/video_out_aa.c
+--- xine-lib-1.2.4/src/video_out/video_out_aa.c	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/video_out/video_out_aa.c	2014-01-05 14:29:48.000000000 +0200
+@@ -32,7 +32,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <sys/stat.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <sys/time.h>
+ 
+ #ifdef HAVE_FFMPEG_AVUTIL_H
+diff -urN xine-lib-1.2.4/src/video_out/video_out_caca.c xine-lib-1.2.4-patch/src/video_out/video_out_caca.c
+--- xine-lib-1.2.4/src/video_out/video_out_caca.c	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/video_out/video_out_caca.c	2014-01-05 14:29:41.000000000 +0200
+@@ -32,7 +32,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <sys/stat.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <sys/time.h>
+ #include <cucul.h>
+ #include <caca.h>
+diff -urN xine-lib-1.2.4/src/video_out/video_out_fb.c xine-lib-1.2.4-patch/src/video_out/video_out_fb.c
+--- xine-lib-1.2.4/src/video_out/video_out_fb.c	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/video_out/video_out_fb.c	2014-01-05 14:29:53.000000000 +0200
+@@ -60,7 +60,7 @@
+ #include <sys/shm.h>
+ #include <sys/time.h>
+ #include <sys/ioctl.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ 
+ #include <pthread.h>
+ #include <netinet/in.h>
+diff -urN xine-lib-1.2.4/src/video_out/video_out_pgx32.c xine-lib-1.2.4-patch/src/video_out/video_out_pgx32.c
+--- xine-lib-1.2.4/src/video_out/video_out_pgx32.c	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/video_out/video_out_pgx32.c	2014-01-05 14:29:51.000000000 +0200
+@@ -34,7 +34,7 @@
+ #include <unistd.h>
+ #include <sys/fbio.h>
+ #include <sys/visual_io.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ 
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+diff -urN xine-lib-1.2.4/src/video_out/video_out_pgx64.c xine-lib-1.2.4-patch/src/video_out/video_out_pgx64.c
+--- xine-lib-1.2.4/src/video_out/video_out_pgx64.c	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/video_out/video_out_pgx64.c	2014-01-05 14:29:44.000000000 +0200
+@@ -36,7 +36,7 @@
+ #include <unistd.h>
+ #include <sys/fbio.h>
+ #include <sys/visual_io.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ 
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+diff -urN xine-lib-1.2.4/src/xine-utils/xmlparser.c xine-lib-1.2.4-patch/src/xine-utils/xmlparser.c
+--- xine-lib-1.2.4/src/xine-utils/xmlparser.c	2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/xine-utils/xmlparser.c	2014-01-05 14:30:22.000000000 +0200
+@@ -879,7 +879,7 @@
+ }
+ 
+ #ifdef XINE_XML_PARSER_TEST
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+diff -urN xine-lib-1.2.4/win32/config.h xine-lib-1.2.4-patch/win32/config.h
+--- xine-lib-1.2.4/win32/config.h	2012-02-05 21:17:03.000000000 +0200
++++ xine-lib-1.2.4-patch/win32/config.h	2014-01-05 14:28:32.000000000 +0200
+@@ -273,7 +273,7 @@
+ /* Define to 1 if you have the <sys/mixer.h> header file. */
+ /* #undef HAVE_SYS_MIXER_H */
+ 
+-/* Define to 1 if you have the <sys/mman.h> header file. */
++/* Define to 1 if you have the <sys/mman-win32.h> header file. */
+ #define HAVE_SYS_MMAN_H 1
+ 
+ /* Define to 1 if you have the <sys/param.h> header file. */
+diff -urN xine-lib-1.2.4/win32/include/msvc/config.h xine-lib-1.2.4-patch/win32/include/msvc/config.h
+--- xine-lib-1.2.4/win32/include/msvc/config.h	2009-11-30 23:26:06.000000000 +0200
++++ xine-lib-1.2.4-patch/win32/include/msvc/config.h	2014-01-05 14:28:32.000000000 +0200
+@@ -425,7 +425,7 @@
+ /* Define to 1 if you have the <sys/mixer.h> header file. */
+ /* #undef HAVE_SYS_MIXER_H */
+ 
+-/* Define to 1 if you have the <sys/mman.h> header file. */
++/* Define to 1 if you have the <sys/mman-win32.h> header file. */
+ /* #undef HAVE_SYS_MMAN_H */
+ 
+ /* Define to 1 if you have the <sys/param.h> header file. */
--- a/src/xine-lib.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/xine-lib.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,17 +3,21 @@
 
 PKG             := xine-lib
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 0adf20ef55d24f2a1b4a8974e57ad1be5133b236
+$(PKG)_VERSION  := 1.2.4
+$(PKG)_CHECKSUM := 32267c5fcaa1439a5fbf7606d27dc4fafba9e504
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/xine/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_DEPS     := faad2 ffmpeg flac fontconfig freetype graphicsmagick libiconv libmng pthreads sdl speex theora vorbis zlib
+ifeq ($(USE_SYSTEM_FONTCONFIG),no)
+  $(PKG)_FONTCONFIG := fontconfig
+endif
+$(PKG)_DEPS     := faad2 ffmpeg flac $($(PKG)_FONTCONFIG) freetype graphicsmagick libiconv libmng pthreads sdl speex theora vorbis wavpack zlib libmpcdec libcdio vcdimager mman-win32 libmad a52dec libmodplug
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://hg.debian.org/hg/xine-lib/xine-lib/tags' | \
-    $(SED) -n 's,>,\n,gp' | \
-    $(SED) -n 's,^\([0-9][^< ]*\)<.*,\1,p' | \
-    head -1
+    $(WGET) -q -O- 'https://sourceforge.net/p/xine/xine-lib-1.2/ref/default/tags/' | \
+    $(SED) -n 's,.*xine-lib-1.2/ci/\([0-9][^/]*\)/.*,\1,p' | \
+    $(SORT) -V | \
+    tail -1
 endef
 
 define $(PKG)_BUILD
@@ -54,6 +58,7 @@
         CFLAGS='-I$(1)/win32/include' \
         PTHREAD_LIBS='-lpthread -lws2_32' \
         LIBS="`$(MXE_PKG_CONFIG) --libs libmng`"
+    $(SED) -i 's,[\s^]*sed , $(SED) ,g' '$(1)/src/combined/ffmpeg/Makefile'
     $(MAKE) -C '$(1)' -j '$(JOBS)'
     $(MAKE) -C '$(1)' -j 1 install
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xkbcommon-1-fixes.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,13 @@
+diff -ur libxkbcommon-xkbcommon-0.8.3.orig/autogen.sh libxkbcommon-xkbcommon-0.8.3/autogen.sh
+--- libxkbcommon-xkbcommon-0.8.3.orig/autogen.sh	2019-02-15 10:00:40.949112324 -0500
++++ libxkbcommon-xkbcommon-0.8.3/autogen.sh	2019-02-15 10:02:53.100233678 -0500
+@@ -6,7 +6,7 @@
+ ORIGDIR=`pwd`
+ cd "$srcdir"
+ 
+-autoreconf --verbose --install --force --warnings=all
++autoreconf -I m4 --verbose --install --force --warnings=all
+ cd "$ORIGDIR"
+ 
+ if test -z "$NOCONFIGURE"; then
+Only in libxkbcommon-xkbcommon-0.8.3.orig: .autogen.sh.swp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xkbcommon.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,29 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xkbcommon
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.8.4
+$(PKG)_CHECKSUM := 0f533ffdc7fe888eedf10648895b64b01e94d06e
+$(PKG)_SUBDIR   := libxkbcommon-$(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://github.com/$(PKG)/libxkbcommon/archive/$($(PKG)_FILE)
+$(PKG)_DEPS     :=
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://github.com/$(PKG)/libxkbcommon/tags' | \
+    $(SED) -n 's|.*releases/tag/$(PKG)-\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./autogen.sh && \
+      $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install DESTDIR='$(3)'
+endef
--- a/src/xmlwrapp.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/xmlwrapp.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := xmlwrapp
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.6.3
 $(PKG)_CHECKSUM := 7bd66ecc1204b296580a499fd929d77b79e6e85a
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
@@ -11,7 +12,7 @@
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://sourceforge.net/projects/xmlwrapp/files/xmlwrapp/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(SED) -n 's,.*tr title="\([0-9][^"]*\)".*,\1,p' | \
     head -1
 endef
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xproto.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xproto
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 7.0.31
+$(PKG)_CHECKSUM := 779fa333c5522cca40ca810c25a8fa60b6ccedfb
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/proto/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xrender.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xrender
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.9.10
+$(PKG)_CHECKSUM := d55106de9260c2377c19d271d9b677744a6c7e81
+$(PKG)_SUBDIR   := libXrender-$($(PKG)_VERSION)
+$(PKG)_FILE     := libXrender-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := xproto renderproto
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xt.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xt
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.5
+$(PKG)_CHECKSUM := c79e2c4f7de5259a2ade458817a139b66a043d59
+$(PKG)_SUBDIR   := libXt-$($(PKG)_VERSION)
+$(PKG)_FILE     := libXt-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := sm ice x11 xproto kbproto
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xtrans.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,29 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xtrans
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.3.5
+$(PKG)_CHECKSUM := 2d3ae1839d841f568bc481c6116af7d2a9f9ba59
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+
+    mv '$(3)/$(HOST_PREFIX)/share/pkgconfig/xtrans.pc' '$(HOST_PREFIX)/lib/pkgconfig/xtrans.pc'
+  endef
+endif
--- a/src/xvidcore-1-fixes.patch	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-Contains ad hoc patches for cross building.
-
-From dce4564d204160aee0da5107e69cbdefe2bec921 Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Mon, 28 Mar 2011 00:00:51 +0200
-Subject: [PATCH] remove obsolete -mno-cygwin
-
-
-diff --git a/configure.in b/configure.in
-index 0536fe1..b954a10 100644
---- a/configure.in
-+++ b/configure.in
-@@ -286,8 +286,8 @@ case "$target_os" in
- 	AC_MSG_RESULT([ok])
- 	STATIC_LIB="xvidcore.\$(STATIC_EXTENSION)"
- 	SHARED_LIB="xvidcore.\$(SHARED_EXTENSION)"
--	SPECIFIC_LDFLAGS="-mno-cygwin -shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
--	SPECIFIC_CFLAGS="-mno-cygwin"
-+	SPECIFIC_LDFLAGS="-shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
-+	SPECIFIC_CFLAGS=""
- 	;;
-      darwin*|raphsody*)
- 	STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
--- 
-1.7.4.1
-
--- a/src/xvidcore.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/xvidcore.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,27 +3,45 @@
 
 PKG             := xvidcore
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 56e065d331545ade04c63c91153b9624b51d6e1b
+$(PKG)_VERSION  := 1.3.3
+$(PKG)_CHECKSUM := 465763c92679ca230526d4890d17dbf6d6974b08
 $(PKG)_SUBDIR   := xvidcore/build/generic
 $(PKG)_FILE     := xvidcore-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://downloads.xvid.org/downloads/$($(PKG)_FILE)
 $(PKG)_DEPS     := pthreads
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://www.xvid.org/' | \
-    $(SED) -n 's,.*Xvid \([0-9][^ ]*\) .*,\1,p' | \
-    head -1
+    echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
+    echo $($(PKG)_VERSION)
 endef
 
+ifeq ($(MXE_NATIVE_BUILD),no)
 define $(PKG)_BUILD
     cd '$(1)' && autoconf
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         --prefix='$(HOST_PREFIX)'
-    $(MAKE) -C '$(1)' -j '$(JOBS)' BUILD_DIR='build' SHARED_LIB=
+    $(MAKE) -C '$(1)' -j '$(JOBS)' BUILD_DIR='build' $(if $(filter $(BUILD_STATIC), yes),SHARED,STATIC)_LIB=
     $(INSTALL) -d '$(HOST_INCDIR)'
     $(INSTALL) -m644 '$(1)/../../src/xvid.h' '$(HOST_INCDIR)'
     $(INSTALL) -d '$(HOST_LIBDIR)'
-    $(INSTALL) -m644 '$(1)/build/xvidcore.a' '$(HOST_LIBDIR)'
-    $(INSTALL) -m644 '$(HOST_LIBDIR)/xvidcore.a' '$(HOST_LIBDIR)/libxvidcore.a'
+    $(INSTALL) -d '$(HOST_BINDIR)'
+    if [ "x$(BUILD_STATIC)" == "xyes" ]; then \
+      $(INSTALL) -m644 '$(1)/build/xvidcore.a' '$(HOST_LIBDIR)/libxvidcore.a'; \
+    else \
+      $(INSTALL) -m644 '$(1)/build/xvidcore.dll.a' '$(HOST_LIBDIR)/libxvidcore.dll.a'; \
+      $(INSTALL) -m644 '$(1)/build/xvidcore.dll' '$(HOST_BINDIR)/'; \
+    fi
 endef
+else
+define $(PKG)_BUILD
+    cd '$(1)' && autoconf
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' BUILD_DIR='build'
+    $(MAKE) -C '$(1)' -j 1 BUILD_DIR='build' install
+endef
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xxf86vm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xxf86vm
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.4
+$(PKG)_CHECKSUM := 78ef18ca2be157131899e01c62679e247409a13f
+$(PKG)_SUBDIR   := libXxf86vm-$($(PKG)_VERSION)
+$(PKG)_FILE     := libXxf86vm-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://www.x.org/archive/individual/lib/$($(PKG)_FILE)
+$(PKG)_DEPS     := xproto x11 xextproto xext xf86vidmodeproto
+
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+  define $(PKG)_BUILD
+  endef
+else
+  define $(PKG)_BUILD
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        && $(CONFIGURE_POST_HOOK)
+
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+  endef
+endif
--- a/src/xz.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/xz.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,9 +3,10 @@
 
 PKG             := xz
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 3e976d7715fde43422572c70f927bfdae56a94c3
+$(PKG)_VERSION  := 5.2.5
+$(PKG)_CHECKSUM := 0b9d1e06b59f7fe0796afe1d93851b9306b4a3b6
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
-$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := http://tukaani.org/xz/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
@@ -22,5 +23,5 @@
         $(ENABLE_SHARED_OR_STATIC) \
         --disable-threads \
         --disable-nls
-    $(MAKE) -C '$(1)'/src/liblzma -j '$(JOBS)' install
+    $(MAKE) -C '$(1)'/src/liblzma -j '$(JOBS)' install DESTDIR='$(3)'
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/yasm.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,26 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := yasm
+$(PKG)_VERSION  := 1.3.0
+$(PKG)_CHECKSUM := b7574e9f0826bedef975d64d3825f75fbaeef55e
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://www.tortall.net/projects/$(PKG)/releases/$($(PKG)_FILE)
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://github.com/yasm/yasm/tags' | \
+    $(SED) -n 's,.*href="/yasm/yasm/archive/v\([0-9][^"]*\)\.tar.*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    # yasm is always static
+    cd '$(1)' && '$(1)/configure' \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        --disable-nls
+    $(MAKE) -C '$(1)' -j '$(JOBS)' 
+    $(MAKE) -C '$(1)' -j 1 install
+endef
--- a/src/zenity.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/zenity.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := zenity
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 3.8.0
 $(PKG)_CHECKSUM := af083691820970ef1e79590df35ea5c59a7491f3
 $(PKG)_SUBDIR   := zenity-$($(PKG)_VERSION)
 $(PKG)_FILE     := zenity-$($(PKG)_VERSION).tar.xz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/zeromq.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := zeromq
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 4.3.1
+$(PKG)_CHECKSUM := 6cce22d830eaf95feff7cab00744df13ad7ab7f3
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://github.com/$(PKG)/libzmq/releases/download/v$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS     := pthreads
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://github.com/zeromq/libzmq/tags' | \
+    $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | $(SORT) -V | \
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        --prefix='$(HOST_PREFIX)' \
+        --without-libsodium \
+        $(ENABLE_SHARED_OR_STATIC) 
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install
+endef
--- a/src/zlib-1-win32-static.patch	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/zlib-1-win32-static.patch	Fri Feb 12 17:29:18 2021 -0500
@@ -1,12 +1,35 @@
-This file is part of MXE.
-See index.html for further information.
+This file is part of MXE. See LICENSE.md for licensing information.
 
-Contains ad hoc patches for cross building.
+From 2de67e2eedc9bd458c1e5170ae43d815b466f012 Mon Sep 17 00:00:00 2001
+From: Volker Grabsch <vog@notjusthosting.com>
+Date: Sun, 15 Jan 2017 16:10:19 +0100
+Subject: [PATCH] build fix for mxe static
+
 
-diff -urN a/configure b/configure
---- a/configure	2013-03-24 06:30:09.000000000 +0100
-+++ b/configure	2013-04-29 12:19:25.526304670 +0200
-@@ -191,10 +191,7 @@
+diff --git a/Makefile.in b/Makefile.in
+index 1852192..c88f5b5 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -310,12 +310,12 @@ install-libs: $(LIBS)
+ 	-@if [ ! -d $(DESTDIR)$(man3dir)      ]; then mkdir -p $(DESTDIR)$(man3dir); fi
+ 	-@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi
+ 	rm -f $(DESTDIR)$(libdir)/$(STATICLIB)
+-	cp $(STATICLIB) $(DESTDIR)$(libdir)
++	[ -z '$(STATICLIB)'  ] || cp $(STATICLIB)  $(DESTDIR)$(libdir)
+ 	chmod 644 $(DESTDIR)$(libdir)/$(STATICLIB)
+ 	-@($(RANLIB) $(DESTDIR)$(libdir)/libz.a || true) >/dev/null 2>&1
+ 	-@if test -n "$(SHAREDLIBV)"; then \
+ 	  rm -f $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV); \
+-	  cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir); \
++	  [ -z '$(SHAREDLIBV)' ] || cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir); \
+ 	  echo "cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)"; \
+ 	  chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV); \
+ 	  echo "chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV)"; \
+diff --git a/configure b/configure
+index e974d1f..f023947 100755
+--- a/configure
++++ b/configure
+@@ -215,10 +215,7 @@ if test "$gcc" -eq 1 && ($cc -c $test.c) >> configure.log 2>&1; then
    CYGWIN* | Cygwin* | cygwin* | OS/2*)
          EXE='.exe' ;;
    MINGW* | mingw*)
@@ -17,20 +40,6 @@
          LDSHARED=${LDSHARED-"$cc -shared"}
          LDSHAREDLIBC=""
          EXE='.exe' ;;
-diff -urN a/Makefile.in b/Makefile.in
---- a/Makefile.in	2013-04-29 00:57:11.000000000 +0200
-+++ b/Makefile.in	2013-04-29 12:16:08.631379491 +0200
-@@ -190,11 +190,11 @@
- 	-@if [ ! -d $(DESTDIR)$(sharedlibdir) ]; then mkdir -p $(DESTDIR)$(sharedlibdir); fi
- 	-@if [ ! -d $(DESTDIR)$(man3dir)      ]; then mkdir -p $(DESTDIR)$(man3dir); fi
- 	-@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi
--	cp $(STATICLIB) $(DESTDIR)$(libdir)
-+	[ -z '$(STATICLIB)'  ] || cp $(STATICLIB)  $(DESTDIR)$(libdir)
- 	chmod 644 $(DESTDIR)$(libdir)/$(STATICLIB)
- 	-@($(RANLIB) $(DESTDIR)$(libdir)/libz.a || true) >/dev/null 2>&1
- 	-@if test -n "$(SHAREDLIBV)"; then \
--	  cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir); \
-+	  [ -z '$(SHAREDLIBV)' ] || cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir); \
- 	  echo "cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)"; \
- 	  chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV); \
- 	  echo "chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV)"; \
+-- 
+2.9.3
+
--- a/src/zlib.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/zlib.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,7 +3,8 @@
 
 PKG             := zlib
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := b598beb7acc96347cbd1020b71aef7871d374677
+$(PKG)_VERSION  := 1.2.11
+$(PKG)_CHECKSUM := e1cb0d5c92da8e9a8c2635dfa249c341dfd00322
 $(PKG)_SUBDIR   := zlib-$($(PKG)_VERSION)
 $(PKG)_FILE     := zlib-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := http://zlib.net/$($(PKG)_FILE)
@@ -48,6 +49,7 @@
     $(MAKE) -C '$(1)' -j '$(JOBS)' install DESTDIR='$(3)'
 
     if [ "$(BUILD_SHARED)" = yes ]; then \
+      rm -r $(3)$(HOST_LIBDIR)/libz.a; \
       $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CC)' '$(1)/libz.a' --install '$(INSTALL)' --libdir '$(3)$(HOST_LIBDIR)' --bindir '$(3)$(HOST_BINDIR)'; \
     fi
 endef
--- a/src/zziplib.mk	Fri Dec 06 23:02:15 2013 -0500
+++ b/src/zziplib.mk	Fri Feb 12 17:29:18 2021 -0500
@@ -3,6 +3,7 @@
 
 PKG             := zziplib
 $(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.13.59
 $(PKG)_CHECKSUM := ddbce25cb36c3b4c2b892e2c8a88fa4a0be29a71
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
--- a/tools/build-make.sh	Fri Dec 06 23:02:15 2013 -0500
+++ b/tools/build-make.sh	Fri Feb 12 17:29:18 2021 -0500
@@ -6,7 +6,7 @@
 
 top_dir=`pwd`
 
-make_ver="3.82"
+make_ver="4.1"
 make_dir="make-$make_ver"
 make_pkg="$make_dir.tar.gz"
 
--- a/tools/config.guess	Fri Dec 06 23:02:15 2013 -0500
+++ b/tools/config.guess	Fri Feb 12 17:29:18 2021 -0500
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2013 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2013-02-12'
+timestamp='2017-08-08'
 
 # 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
@@ -24,12 +24,12 @@
 # program.  This Exception is an additional permission under section 7
 # of the GNU General Public License, version 3 ("GPLv3").
 #
-# Originally written by Per Bothner.
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 #
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+# Please send patches to <config-patches@gnu.org>.
 
 
 me=`echo "$0" | sed -e 's,.*/,,'`
@@ -50,7 +50,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2017 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."
@@ -132,6 +132,27 @@
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+	# If the system lacks a compiler, then just pick glibc.
+	# We could probably try harder.
+	LIBC=gnu
+
+	eval $set_cc_for_build
+	cat <<-EOF > $dummy.c
+	#include <features.h>
+	#if defined(__UCLIBC__)
+	LIBC=uclibc
+	#elif defined(__dietlibc__)
+	LIBC=dietlibc
+	#else
+	LIBC=gnu
+	#endif
+	EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+	;;
+esac
+
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -147,19 +168,29 @@
 	# 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)`
+	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+	    /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 ;;
+	    earmv*)
+		arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+		endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+		machine=${arch}${endian}-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.
+	# to ELF recently (or will in the future) and ABI.
 	case "${UNAME_MACHINE_ARCH}" in
+	    earm*)
+		os=netbsdelf
+		;;
 	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
 		eval $set_cc_for_build
 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
@@ -176,6 +207,13 @@
 		os=netbsd
 		;;
 	esac
+	# Determine ABI tags.
+	case "${UNAME_MACHINE_ARCH}" in
+	    earm*)
+		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+		abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+		;;
+	esac
 	# The OS release
 	# Debian GNU/NetBSD machines have a different userland, and
 	# thus, need a distinct triplet. However, they do not need
@@ -186,13 +224,13 @@
 		release='-gnu'
 		;;
 	    *)
-		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
 		;;
 	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}"
+	echo "${machine}-${os}${release}${abi}"
 	exit ;;
     *:Bitrig:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -202,6 +240,10 @@
 	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
 	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
 	exit ;;
+    *:LibertyBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+	exit ;;
     *:ekkoBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
 	exit ;;
@@ -214,6 +256,12 @@
     *:MirBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
 	exit ;;
+    *:Sortix:*:*)
+	echo ${UNAME_MACHINE}-unknown-sortix
+	exit ;;
+    *:Redox:*:*)
+	echo ${UNAME_MACHINE}-unknown-redox
+	exit ;;
     alpha:OSF1:*:*)
 	case $UNAME_RELEASE in
 	*4.0)
@@ -230,42 +278,42 @@
 	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" ;;
+		UNAME_MACHINE=alpha ;;
 	    "EV4.5 (21064)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "LCA4 (21066/21068)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "EV5 (21164)")
-		UNAME_MACHINE="alphaev5" ;;
+		UNAME_MACHINE=alphaev5 ;;
 	    "EV5.6 (21164A)")
-		UNAME_MACHINE="alphaev56" ;;
+		UNAME_MACHINE=alphaev56 ;;
 	    "EV5.6 (21164PC)")
-		UNAME_MACHINE="alphapca56" ;;
+		UNAME_MACHINE=alphapca56 ;;
 	    "EV5.7 (21164PC)")
-		UNAME_MACHINE="alphapca57" ;;
+		UNAME_MACHINE=alphapca57 ;;
 	    "EV6 (21264)")
-		UNAME_MACHINE="alphaev6" ;;
+		UNAME_MACHINE=alphaev6 ;;
 	    "EV6.7 (21264A)")
-		UNAME_MACHINE="alphaev67" ;;
+		UNAME_MACHINE=alphaev67 ;;
 	    "EV6.8CB (21264C)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.8AL (21264B)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.8CX (21264D)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.9A (21264/EV69A)")
-		UNAME_MACHINE="alphaev69" ;;
+		UNAME_MACHINE=alphaev69 ;;
 	    "EV7 (21364)")
-		UNAME_MACHINE="alphaev7" ;;
+		UNAME_MACHINE=alphaev7 ;;
 	    "EV7.9 (21364A)")
-		UNAME_MACHINE="alphaev79" ;;
+		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'`
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
 	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
 	exitcode=$?
 	trap '' 0
@@ -338,16 +386,16 @@
 	exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
 	eval $set_cc_for_build
-	SUN_ARCH="i386"
+	SUN_ARCH=i386
 	# If there is a compiler, see if it is configured for 64-bit objects.
 	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
 	# This test works for both compilers.
-	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
 	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
 		grep IS_64BIT_ARCH >/dev/null
 	    then
-		SUN_ARCH="x86_64"
+		SUN_ARCH=x86_64
 	    fi
 	fi
 	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
@@ -372,7 +420,7 @@
 	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
+	test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
 	case "`/bin/arch`" in
 	    sun3)
 		echo m68k-sun-sunos${UNAME_RELEASE}
@@ -558,8 +606,9 @@
 	else
 		IBM_ARCH=powerpc
 	fi
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
+	if [ -x /usr/bin/lslpp ] ; then
+		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
 	else
 		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
 	fi
@@ -596,13 +645,13 @@
 		    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
+		      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
+			  32) HP_ARCH=hppa2.0n ;;
+			  64) HP_ARCH=hppa2.0w ;;
+			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
 			esac ;;
 		    esac
 		fi
@@ -641,11 +690,11 @@
 		    exit (0);
 		}
 EOF
-		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    (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" ]
+	if [ ${HP_ARCH} = hppa2.0w ]
 	then
 	    eval $set_cc_for_build
 
@@ -658,12 +707,12 @@
 	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
 	    # => hppa64-hp-hpux11.23
 
-	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
 		grep -q __LP64__
 	    then
-		HP_ARCH="hppa2.0w"
+		HP_ARCH=hppa2.0w
 	    else
-		HP_ARCH="hppa64"
+		HP_ARCH=hppa64
 	    fi
 	fi
 	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -768,14 +817,14 @@
 	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_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/ /_/'`
+	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:*:*)
@@ -791,10 +840,11 @@
 	UNAME_PROCESSOR=`/usr/bin/uname -p`
 	case ${UNAME_PROCESSOR} in
 	    amd64)
-		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    *)
-		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+		UNAME_PROCESSOR=x86_64 ;;
+	    i386)
+		UNAME_PROCESSOR=i586 ;;
 	esac
+	echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
 	exit ;;
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
@@ -805,7 +855,7 @@
     *:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
-    i*:MSYS*:*)
+    *:MSYS*:*)
 	echo ${UNAME_MACHINE}-pc-msys
 	exit ;;
     i*:windows32*:*)
@@ -853,21 +903,21 @@
 	exit ;;
     *:GNU:*:*)
 	# the GNU system
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`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
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
 	exit ;;
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
     aarch64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     aarch64_be:Linux:*:*)
 	UNAME_MACHINE=aarch64_be
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     alpha:Linux:*:*)
 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -880,59 +930,60 @@
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    arc:Linux:*:* | arceb:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	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
+	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	else
 	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
 		| grep -q __ARM_PCS_VFP
 	    then
-		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
 	    else
-		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
 	    fi
 	fi
 	exit ;;
     avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     cris:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
 	exit ;;
     crisv32:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+	exit ;;
+    e2k:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     frv:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     hexagon:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     i*86:Linux:*:*)
-	LIBC=gnu
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#ifdef __dietlibc__
-	LIBC=dietlibc
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
 	exit ;;
     ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    k1om:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     m32r*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
 	eval $set_cc_for_build
@@ -951,57 +1002,69 @@
 	#endif
 EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
 	;;
-    or1k:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+    mips64el:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
-    or32:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+    openrisc*:Linux:*:*)
+	echo or1k-unknown-linux-${LIBC}
+	exit ;;
+    or32:Linux:*:* | or1k*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     padre:Linux:*:*)
-	echo sparc-unknown-linux-gnu
+	echo sparc-unknown-linux-${LIBC}
 	exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-gnu
+	echo hppa64-unknown-linux-${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 ;;
+	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+	  *)    echo hppa-unknown-linux-${LIBC} ;;
 	esac
 	exit ;;
     ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-gnu
+	echo powerpc64-unknown-linux-${LIBC}
 	exit ;;
     ppc:Linux:*:*)
-	echo powerpc-unknown-linux-gnu
+	echo powerpc-unknown-linux-${LIBC}
+	exit ;;
+    ppc64le:Linux:*:*)
+	echo powerpc64le-unknown-linux-${LIBC}
+	exit ;;
+    ppcle:Linux:*:*)
+	echo powerpcle-unknown-linux-${LIBC}
+	exit ;;
+    riscv32:Linux:*:* | riscv64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux
+	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
 	exit ;;
     sh64*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     tile*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-gnu
+	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
 	exit ;;
     x86_64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
 	exit ;;
     xtensa*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1077,7 +1140,7 @@
 	# uname -m prints for DJGPP always 'pc', but it prints nothing about
 	# the processor, so we play safe by assuming i586.
 	# Note: whatever this is, it MUST be the same as what config.sub
-	# prints for the "djgpp" host, or else GDB configury will decide that
+	# prints for the "djgpp" host, or else GDB configure will decide that
 	# this is a cross-build.
 	echo i586-pc-msdosdjgpp
 	exit ;;
@@ -1226,6 +1289,9 @@
     SX-8R:SUPER-UX:*:*)
 	echo sx8r-nec-superux${UNAME_RELEASE}
 	exit ;;
+    SX-ACE:SUPER-UX:*:*)
+	echo sxace-nec-superux${UNAME_RELEASE}
+	exit ;;
     Power*:Rhapsody:*:*)
 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
 	exit ;;
@@ -1234,24 +1300,43 @@
 	exit ;;
     *:Darwin:*:*)
 	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-	case $UNAME_PROCESSOR in
-	    i386)
-		eval $set_cc_for_build
-		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-		      grep IS_64BIT_ARCH >/dev/null
-		  then
-		      UNAME_PROCESSOR="x86_64"
-		  fi
-		fi ;;
-	    unknown) UNAME_PROCESSOR=powerpc ;;
-	esac
+	eval $set_cc_for_build
+	if test "$UNAME_PROCESSOR" = unknown ; then
+	    UNAME_PROCESSOR=powerpc
+	fi
+	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+	    if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
+		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+		       (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+		       grep IS_64BIT_ARCH >/dev/null
+		then
+		    case $UNAME_PROCESSOR in
+			i386) UNAME_PROCESSOR=x86_64 ;;
+			powerpc) UNAME_PROCESSOR=powerpc64 ;;
+		    esac
+		fi
+		# On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+		if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
+		       (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+		       grep IS_PPC >/dev/null
+		then
+		    UNAME_PROCESSOR=powerpc
+		fi
+	    fi
+	elif test "$UNAME_PROCESSOR" = i386 ; then
+	    # Avoid executing cc on OS X 10.9, as it ships with a stub
+	    # that puts up a graphical alert prompting to install
+	    # developer tools.  Any system running Mac OS X 10.7 or
+	    # later (Darwin 11 and later) is required to have a 64-bit
+	    # processor. This is not true of the ARM version of Darwin
+	    # that Apple uses in portable devices.
+	    UNAME_PROCESSOR=x86_64
+	fi
 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
 	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
 	UNAME_PROCESSOR=`uname -p`
-	if test "$UNAME_PROCESSOR" = "x86"; then
+	if test "$UNAME_PROCESSOR" = x86; then
 		UNAME_PROCESSOR=i386
 		UNAME_MACHINE=pc
 	fi
@@ -1260,15 +1345,18 @@
     *:QNX:*:4*)
 	echo i386-pc-qnx
 	exit ;;
-    NEO-?:NONSTOP_KERNEL:*:*)
+    NEO-*:NONSTOP_KERNEL:*:*)
 	echo neo-tandem-nsk${UNAME_RELEASE}
 	exit ;;
     NSE-*:NONSTOP_KERNEL:*:*)
 	echo nse-tandem-nsk${UNAME_RELEASE}
 	exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
+    NSR-*:NONSTOP_KERNEL:*:*)
 	echo nsr-tandem-nsk${UNAME_RELEASE}
 	exit ;;
+    NSX-*:NONSTOP_KERNEL:*:*)
+	echo nsx-tandem-nsk${UNAME_RELEASE}
+	exit ;;
     *:NonStop-UX:*:*)
 	echo mips-compaq-nonstopux
 	exit ;;
@@ -1282,7 +1370,7 @@
 	# "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
+	if test "$cputype" = 386; then
 	    UNAME_MACHINE=i386
 	else
 	    UNAME_MACHINE="$cputype"
@@ -1324,7 +1412,7 @@
 	echo i386-pc-xenix
 	exit ;;
     i*86:skyos:*:*)
-	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
 	exit ;;
     i*86:rdos:*:*)
 	echo ${UNAME_MACHINE}-pc-rdos
@@ -1335,171 +1423,25 @@
     x86_64:VMkernel:*:*)
 	echo ${UNAME_MACHINE}-unknown-esx
 	exit ;;
+    amd64:Isilon\ OneFS:*:*)
+	echo x86_64-unknown-onefs
+	exit ;;
 esac
 
-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
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite *all*
+copies of config.guess and config.sub with the latest versions from:
 
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
 
 config.guess timestamp = $timestamp
 
--- a/tools/config.sub	Fri Dec 06 23:02:15 2013 -0500
+++ b/tools/config.sub	Fri Feb 12 17:29:18 2021 -0500
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2013 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2013-02-12'
+timestamp='2017-04-02'
 
 # 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
@@ -25,7 +25,7 @@
 # of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+# Please send patches to <config-patches@gnu.org>.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -33,7 +33,7 @@
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -53,8 +53,7 @@
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
 
 Canonicalize a configuration name.
 
@@ -68,7 +67,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2017 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."
@@ -117,8 +116,8 @@
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | \
-  kopensolaris*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+  kopensolaris*-gnu* | cloudabi*-eabi* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -252,19 +251,21 @@
 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
 	| am33_2.0 \
-	| arc \
+	| arc | arceb \
 	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
 	| avr | avr32 \
+	| ba \
 	| be32 | be64 \
 	| bfin \
-	| c4x | clipper \
+	| c4x | c8051 | clipper \
 	| d10v | d30v | dlx | dsp16xx \
-	| epiphany \
-	| fido | fr30 | frv \
+	| e2k | epiphany \
+	| fido | fr30 | frv | ft32 \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| hexagon \
-	| i370 | i860 | i960 | ia64 \
+	| i370 | i860 | i960 | ia16 | ia64 \
 	| ip2k | iq2000 \
+	| k1om \
 	| le32 | le64 \
 	| lm32 \
 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
@@ -282,8 +283,10 @@
 	| mips64vr5900 | mips64vr5900el \
 	| mipsisa32 | mipsisa32el \
 	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa32r6 | mipsisa32r6el \
 	| mipsisa64 | mipsisa64el \
 	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64r6 | mipsisa64r6el \
 	| mipsisa64sb1 | mipsisa64sb1el \
 	| mipsisa64sr71k | mipsisa64sr71kel \
 	| mipsr5900 | mipsr5900el \
@@ -295,14 +298,15 @@
 	| nds32 | nds32le | nds32be \
 	| nios | nios2 | nios2eb | nios2el \
 	| ns16k | ns32k \
-	| open8 \
-	| or1k | or32 \
+	| open8 | or1k | or1knd | or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
+	| pru \
 	| pyramid \
+	| riscv32 | riscv64 \
 	| rl78 | rx \
 	| score \
-	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -310,6 +314,8 @@
 	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
 	| ubicom32 \
 	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+	| visium \
+	| wasm32 \
 	| we32k \
 	| x86 | xc16x | xstormy16 | xtensa \
 	| z8k | z80)
@@ -324,7 +330,10 @@
 	c6x)
 		basic_machine=tic6x-unknown
 		;;
-	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+	leon|leon[3-9])
+		basic_machine=sparc-$basic_machine
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
 		basic_machine=$basic_machine-unknown
 		os=-none
 		;;
@@ -366,21 +375,23 @@
 	| aarch64-* | aarch64_be-* \
 	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
 	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* | avr32-* \
+	| ba-* \
 	| be32-* | be64-* \
 	| bfin-* | bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* \
-	| clipper-* | craynv-* | cydra-* \
+	| c8051-* | clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
-	| elxsi-* \
+	| e2k-* | elxsi-* \
 	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
 	| h8300-* | h8500-* \
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
 	| hexagon-* \
-	| i*86-* | i860-* | i960-* | ia64-* \
+	| i*86-* | i860-* | i960-* | ia16-* | ia64-* \
 	| ip2k-* | iq2000-* \
+	| k1om-* \
 	| le32-* | le64-* \
 	| lm32-* \
 	| m32c-* | m32r-* | m32rle-* \
@@ -400,8 +411,10 @@
 	| mips64vr5900-* | mips64vr5900el-* \
 	| mipsisa32-* | mipsisa32el-* \
 	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa32r6-* | mipsisa32r6el-* \
 	| mipsisa64-* | mipsisa64el-* \
 	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64r6-* | mipsisa64r6el-* \
 	| mipsisa64sb1-* | mipsisa64sb1el-* \
 	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
 	| mipsr5900-* | mipsr5900el-* \
@@ -413,16 +426,19 @@
 	| nios-* | nios2-* | nios2eb-* | nios2el-* \
 	| none-* | np1-* | ns16k-* | ns32k-* \
 	| open8-* \
+	| or1k*-* \
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+	| pru-* \
 	| pyramid-* \
+	| riscv32-* | riscv64-* \
 	| rl78-* | romp-* | rs6000-* | rx-* \
 	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | 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-* | sv1-* | sx?-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
 	| tahoe-* \
 	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
 	| tile*-* \
@@ -430,6 +446,8 @@
 	| ubicom32-* \
 	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
 	| vax-* \
+	| visium-* \
+	| wasm32-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* \
 	| xstormy16-* | xtensa*-* \
@@ -506,6 +524,9 @@
 		basic_machine=i386-pc
 		os=-aros
 		;;
+	asmjs)
+		basic_machine=asmjs-unknown
+		;;
 	aux)
 		basic_machine=m68k-apple
 		os=-aux
@@ -626,6 +647,14 @@
 		basic_machine=m68k-bull
 		os=-sysv3
 		;;
+	e500v[12])
+		basic_machine=powerpc-unknown
+		os=$os"spe"
+		;;
+	e500v[12]-*)
+		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=$os"spe"
+		;;
 	ebmon29k)
 		basic_machine=a29k-amd
 		os=-ebmon
@@ -767,6 +796,9 @@
 		basic_machine=m68k-isi
 		os=-sysv
 		;;
+	leon-*|leon[3-9]-*)
+		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+		;;
 	m68knommu)
 		basic_machine=m68k-unknown
 		os=-linux
@@ -794,7 +826,7 @@
 		os=-mingw64
 		;;
 	mingw32)
-		basic_machine=i386-pc
+		basic_machine=i686-pc
 		os=-mingw32
 		;;
 	mingw32ce)
@@ -822,6 +854,10 @@
 		basic_machine=powerpc-unknown
 		os=-morphos
 		;;
+	moxiebox)
+		basic_machine=moxie-unknown
+		os=-moxiebox
+		;;
 	msdos)
 		basic_machine=i386-pc
 		os=-msdos
@@ -830,7 +866,7 @@
 		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
 		;;
 	msys)
-		basic_machine=i386-pc
+		basic_machine=i686-pc
 		os=-msys
 		;;
 	mvs)
@@ -914,6 +950,9 @@
 	nsr-tandem)
 		basic_machine=nsr-tandem
 		;;
+	nsx-tandem)
+		basic_machine=nsx-tandem
+		;;
 	op50n-* | op60c-*)
 		basic_machine=hppa1.1-oki
 		os=-proelf
@@ -998,7 +1037,7 @@
 	ppc-* | ppcbe-*)
 		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
+	ppcle | powerpclittle)
 		basic_machine=powerpcle-unknown
 		;;
 	ppcle-* | powerpclittle-*)
@@ -1008,7 +1047,7 @@
 		;;
 	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+	ppc64le | powerpc64little)
 		basic_machine=powerpc64le-unknown
 		;;
 	ppc64le-* | powerpc64little-*)
@@ -1209,6 +1248,9 @@
 		basic_machine=a29k-wrs
 		os=-vxworks
 		;;
+	wasm32)
+		basic_machine=wasm32-unknown
+		;;
 	w65*)
 		basic_machine=w65-wdc
 		os=-none
@@ -1354,27 +1396,28 @@
 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
 	      | -sym* | -kopensolaris* | -plan9* \
 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* | -aros* \
+	      | -aos* | -aros* | -cloudabi* | -sortix* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -bitrig* | -openbsd* | -solidbsd* \
+	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
 	      | -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* | -cegcc* \
+	      | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+	      | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
 	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
-	      | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
 	      | -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* | -es*)
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+	      | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1506,6 +1549,8 @@
 		;;
 	-nacl*)
 		;;
+	-ios)
+		;;
 	-none)
 		;;
 	*)
@@ -1546,6 +1591,9 @@
 	c4x-* | tic4x-*)
 		os=-coff
 		;;
+	c8051-*)
+		os=-elf
+		;;
 	hexagon-*)
 		os=-elf
 		;;
@@ -1589,9 +1637,6 @@
 	mips*-*)
 		os=-elf
 		;;
-	or1k-*)
-		os=-elf
-		;;
 	or32-*)
 		os=-coff
 		;;
@@ -1601,6 +1646,9 @@
 	sparc-* | *-sun)
 		os=-sunos4.1.1
 		;;
+	pru-*)
+		os=-elf
+		;;
 	*-be)
 		os=-beos
 		;;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/gen-bat-wrapper	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+prog=$1
+
+if [ -z $prog ]; then
+  echo "Missing program name" >&2
+  exit 1
+fi
+
+cat << EOF
+@echo off
+set BINPATH=%~dp0
+%BINPATH%bash -c '$prog %*'
+EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/makeinst-script.sh.in	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,992 @@
+#! /bin/bash
+set -e
+
+if [ $# != 3 ]; then
+  echo "usage: makeinst-script.sh dist-dir installer-name output-script-name" 1>&2
+  exit 1
+fi
+
+INSTALLER_NAME="$2"
+OUTFILE="$3"
+TOPDIR=@abs_top_srcdir@
+TOP_BUILD_DIR=@abs_top_builddir@
+
+OCTAVE_SOURCE=`basename $1`
+
+cd `dirname $1`
+MXEDIR=`cd ..; pwd`
+
+if [ "@ENABLE_QT5@" == "yes" ]; then
+  QT_SUBDIR=qt5/
+else
+  QT_SUBDIR=
+fi
+
+if [ "@USE_MSYS2@" == "yes" ]; then
+  if [ "@ENABLE_WINDOWS_64@" == "yes" ]; then
+    OCTAVE_SUBDIR=mingw64
+  else
+    OCTAVE_SUBDIR=mingw32
+  fi
+else
+  OCTAVE_SUBDIR=
+fi
+
+if [ "@ENABLE_WINDOWS_64@" == "yes" ]; then
+  USE_PROGRAMFILES64=
+else
+  USE_PROGRAMFILES64=';'
+fi
+
+if [ -e $OCTAVE_SOURCE/$OCTAVE_SUBDIR/bin/libopenblas.dll ]; then
+  DEFAULT_BLAS="OpenBLAS"
+else
+  DEFAULT_BLAS="Reference BLAS"
+fi
+
+# find octave shortcut icon
+ICON=`find $OCTAVE_SOURCE -name octave-logo.ico -printf "%P\n" | head -1 | sed 's,/,\\\\,g'`
+
+# extract version number
+OCTAVE_VERSION=`head -1 $MXEDIR/octave/octave-version`
+VERSION=`echo $OCTAVE_VERSION | sed -n 's,\([0-9\.]*\).*,\1,p'`
+if [ `echo $VERSION | grep -o '\.' | wc -l` -le 2 ]; then
+  INSTALLER_VERSION="$VERSION.0"
+else
+  INSTALLER_VERSION=$VERSION
+fi
+
+# estimated size of installed files
+SIZE=`du -slk $OCTAVE_SOURCE | awk '{print \$1}'`
+
+# create installer script
+echo "; octave setup script $OCTAVE_SOURCE" > $OUTFILE
+
+# installer settings
+  cat >> $OUTFILE << EOF
+!define APP_NAME "GNU Octave"
+!define COMP_NAME "GNU Project"
+!define WEB_SITE "https://www.octave.org"
+!define VERSION "$INSTALLER_VERSION"
+!define OCTAVE_VERSION "$OCTAVE_VERSION"
+!define COPYRIGHT "Copyright © 2013-2020 John W. Eaton and others."
+!define DESCRIPTION "GNU Octave Installer"
+!define INSTALLER_FILES "$TOPDIR/installer-files"
+!define INSTALLER_NAME "$INSTALLER_NAME"
+!define MAIN_APP_EXE "octave-firsttime.vbs"
+!define PRODUCT_ROOT_KEY "SHCTX"
+!define PRODUCT_KEY "Software\\Octave-$VERSION"
+!define PRODUCT_UNINST_KEY "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION"
+!define PRODUCT_UNINST_ROOT_KEY "SHCTX"
+
+######################################################################
+
+VIProductVersion  "\${VERSION}"
+VIAddVersionKey "ProductName"  "\${APP_NAME}"
+VIAddVersionKey "CompanyName"  "\${COMP_NAME}"
+VIAddVersionKey "LegalCopyright"  "\${COPYRIGHT}"
+VIAddVersionKey "FileDescription"  "\${DESCRIPTION}"
+VIAddVersionKey "FileVersion"  "\${VERSION}"
+
+######################################################################
+
+SetCompressor /SOLID Lzma
+Name "\${APP_NAME}"
+Caption "\${APP_NAME}"
+OutFile "\${INSTALLER_NAME}"
+BrandingText "\${APP_NAME}"
+XPStyle on
+ManifestDPIAware true
+ManifestSupportedOS all
+Unicode true
+RequestExecutionLevel user
+# multiuser will modify this
+InstallDir "\$PROGRAMFILES\\GNU Octave\\Octave-\${OCTAVE_VERSION}"
+Icon "\${INSTALLER_FILES}/octave-logo.ico"
+
+######################################################################
+; StrFunc usage
+!include "StrFunc.nsh"
+\${StrRep}
+######################################################################
+; Multi user
+!define MULTIUSER_EXECUTIONLEVEL Highest
+;!define MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER
+!define MULTIUSER_INSTALLMODE_INSTDIR "GNU Octave\\Octave-\${OCTAVE_VERSION}"
+${USE_PROGRAMFILES64}!define MULTIUSER_USE_PROGRAMFILES64
+!define MULTIUSER_MUI
+!define MULTIUSER_INSTALLMODE_COMMANDLINE
+Var MultiUser.UninstallKey
+Var MultiUser.Local
+!include MultiUser.nsh
+######################################################################
+; MUI settings
+!include "MUI2.nsh"
+
+; custom dialogs
+!include nsDialogs.nsh
+!macro __DropList_GetCurSel CONTROL VAR
+        SendMessage \${CONTROL} \${CB_GETCURSEL} 0 0 \${VAR}
+!macroend
+
+!define DropList_GetCurSel \`!insertmacro __DropList_GetCurSel\`
+
+; additional logic
+!include LogicLib.nsh
+; File funcs
+!include FileFunc.nsh
+
+!define MUI_ABORTWARNING
+!define MUI_UNABORTWARNING
+!define MUI_HEADERIMAGE
+
+; Theme
+!define MUI_ICON "\${INSTALLER_FILES}/octave-logo.ico"
+!define MUI_UNICON "$TOP_BUILD_DIR/usr/share/nsis/Contrib/Graphics/Icons/orange-uninstall.ico"
+!define MUI_HEADERIMAGE_BITMAP "\${INSTALLER_FILES}/octave-hdr.bmp"
+!define MUI_WELCOMEFINISHPAGE_BITMAP "\${INSTALLER_FILES}/octave.bmp"
+!define MUI_UNWELCOMEFINISHPAGE_BITMAP "\${INSTALLER_FILES}/octave.bmp"
+
+; Pages 
+!insertmacro MUI_PAGE_WELCOME
+
+!define MUI_LICENSEPAGE_TEXT_BOTTOM "The source code for Octave is freely redistributable under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation."
+!define MUI_LICENSEPAGE_BUTTON "Next >"
+!insertmacro MUI_PAGE_LICENSE "\${INSTALLER_FILES}/gpl-3.0.txt"
+
+!insertmacro MULTIUSER_PAGE_INSTALLMODE
+
+Page custom octaveOptionsPage octaveOptionsLeave
+
+!define MUI_PAGE_CUSTOMFUNCTION_LEAVE CheckPrevInstallAndDest
+!insertmacro MUI_PAGE_DIRECTORY
+
+!insertmacro MUI_PAGE_INSTFILES
+
+!define MUI_FINISHPAGE_RUN "\$WINDIR\\explorer.exe"
+!define MUI_FINISHPAGE_RUN_PARAMETERS "\$INSTDIR\\\${MAIN_APP_EXE}"
+!define MUI_FINISHPAGE_SHOWREADME "\$INSTDIR\\README.html"
+!insertmacro MUI_PAGE_FINISH
+
+; uninstaller
+!insertmacro MUI_UNPAGE_CONFIRM
+
+!insertmacro MUI_UNPAGE_INSTFILES
+
+!insertmacro MUI_UNPAGE_FINISH
+
+!insertmacro MUI_LANGUAGE "English"
+
+######################################################################
+ 
+!macro DequoteString_ un
+Function \${un}DequoteString_
+  ; just removed any '"' found
+  Exch \$R0 # r0 is now the string
+  Push \$R1
+  Push \$R2
+  Push \$R3
+
+  Strcpy \$R3 "" # dequoted value
+  StrCmp \$R0 "" \${un}dequote_end
+
+  StrCpy \$R1 0 # r1 = counter
+\${un}dequote_loop:
+
+  StrCpy \$R2 \$R0 1 \$R1  # R2 = character in string to check
+  StrCmp \$R2 "" \${un}dequote_end # end of string
+  StrCmp \$R2 '"' \${un}dequote_next
+  # no quote
+  StrCpy \$R3 \$R3\$R2
+\${un}dequote_next:
+  IntOp  \$R1 \$R1 + 1
+  GoTo \${un}dequote_loop
+
+\${un}dequote_end:
+  StrCpy \$R0 \$R3
+
+  Pop \$R3
+  Pop \$R2
+  Pop \$R1
+  Exch \$R0
+FunctionEnd
+!macroend
+
+!insertmacro DequoteString_ "un."
+!insertmacro DequoteString_ ""
+
+!macro DequoteString un InStr OutVar
+ Push '\${InStr}'
+ Call \${un}DequoteString_
+ Pop '\${OutVar}'
+!macroend
+!define DequoteString '!insertmacro DequoteString ""'
+!define un.DequoteString '!insertmacro DequoteString "un."'
+
+######################################################################
+
+# function code from https://nsis.sourceforge.io/IShellLink_Set_RunAs_flag
+
+
+!ifndef IPersistFile
+!define IPersistFile {0000010b-0000-0000-c000-000000000046}
+!endif
+!ifndef CLSID_ShellLink
+!define CLSID_ShellLink {00021401-0000-0000-C000-000000000046}
+!define IID_IShellLinkA {000214EE-0000-0000-C000-000000000046}
+!define IID_IShellLinkW {000214F9-0000-0000-C000-000000000046}
+!define IShellLinkDataList {45e2b4ae-b1c3-11d0-b92f-00a0c90312e1}
+  !ifdef NSIS_UNICODE
+    !define IID_IShellLink \${IID_IShellLinkW}
+  !else
+    !define IID_IShellLink \${IID_IShellLinkA}
+  !endif
+!endif
+
+Function ShellLinkSetRunAs
+  System::Store S
+  Pop \$9
+  System::Call "ole32::CoCreateInstance(g'\${CLSID_ShellLink}',i0,i1,g'\${IID_IShellLink}',*i.r1)i.r0"
+  \${If} \$0 = 0
+    System::Call "\$1->0(g'\${IPersistFile}',*i.r2)i.r0" ;QI
+    \${If} \$0 = 0
+      System::Call "\$2->5(w '\$9',i 0)i.r0" ;Load
+      \${If} \$0 = 0
+        System::Call "\$1->0(g'\${IShellLinkDataList}',*i.r3)i.r0" ;QI
+	\${If} \$0 = 0
+          System::Call "\$3->6(*i.r4)i.r0" ;GetFlags
+          \${If} \$0 = 0
+            System::Call "\$3->7(i \$4|0x2000)i.r0" ;SetFlags ;SLDF_RUNAS_USER
+            \${If} $0 = 0
+              System::Call "\$2->6(w '\$9',i1)i.r0" ;Save
+            \${EndIf}
+          \${EndIf}
+          System::Call "\$3->2()" ;Release
+        \${EndIf}
+        System::Call "\$2->2()" ;Release
+      \${EndIf}
+    \${EndIf}
+    System::Call "\$1->2()" ;Release
+  \${EndIf}
+  Push $0
+  System::Store L
+FunctionEnd
+
+######################################################################
+; custom options page functions
+
+Var InstallShortcuts
+Var InstallShortcutsCtrl
+Var RegisterOctaveFileType
+Var RegisterOctaveFileTypeCtrl
+Var InstallBlasLibCtrl
+Var InstallBlasLib
+
+Function octaveOptionsPage 
+
+# will append (Local) to reg key
+\${If} \$MultiUser.InstallMode == "CurrentUser"
+  StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY} (Local)"
+  StrCpy \$MultiUser.Local " (Local)"
+\${Else}
+  StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY}"
+  StrCpy \$MultiUser.Local ""
+\${EndIf}
+
+  Call CheckCurrVersion
+
+  Push \$0
+  nsDialogs::Create 1018
+  Pop \$0
+
+  \${If} \$0 == error
+    Abort
+  \${EndIf} 
+
+  \${NSD_CreateCheckBox} 0 0 100% 12u "Create desktop shortcuts"
+  Pop \$InstallShortcutsCtrl
+  \${NSD_SetState} \$InstallShortcutsCtrl \$InstallShortcuts
+
+  \${NSD_CreateCheckBox} 0 20u 100% 12u "Register .m file type with Octave"
+  Pop \$RegisterOctaveFileTypeCtrl
+  \${NSD_SetState} \$RegisterOctaveFileTypeCtrl \$RegisterOctaveFileType
+
+  \${NSD_CreateLabel} 0 50u 110u 12u "BLAS library implementation:"
+  Pop \$0
+
+  \${NSD_CreateDropList} 100u 70u 100u 80u ""
+  Pop \$InstallBlasLibCtrl
+EOF
+   # add option to install libopenblas if we have the dll present
+   if [ -e $OCTAVE_SOURCE/$OCTAVE_SUBDIR/bin/libopenblas.dll ]; then
+     cat >> $OUTFILE << EOF
+  \${NSD_CB_AddString} \$InstallBlasLibCtrl "OpenBLAS"
+EOF
+  fi
+  cat >> $OUTFILE << EOF
+  \${NSD_CB_AddString} \$InstallBlasLibCtrl "Reference BLAS"
+EOF
+
+  cat >> $OUTFILE << EOF
+  \${NSD_CB_SelectString} \$InstallBlasLibCtrl "$DEFAULT_BLAS"
+
+  !insertmacro MUI_HEADER_TEXT "Install Options" "Choose options for installing"
+  nsDialogs::Show  
+  Pop \$0
+FunctionEnd
+
+Function octaveOptionsLeave
+  \${NSD_GetState} \$InstallShortcutsCtrl \$InstallShortcuts
+  \${NSD_GetState} \$RegisterOctaveFileTypeCtrl \$RegisterOctaveFileType
+  \${DropList_GetCurSel} \$InstallBlasLibCtrl \$InstallBlasLib
+FunctionEnd
+
+######################################################################
+Function un.onInit
+  !insertmacro MULTIUSER_UNINIT
+
+  # find installer info
+  Push \$R0
+uninst_check_installs:
+  Call un.FindThisUninstallReg
+  Pop \$R0
+
+  # if 0 it couldnt find us
+  StrCmp \$R0 0 0 uninst_check_local
+
+\${if} \$MultiUser.Privileges == "Admin"
+  # if admin, maybe was forced to admin from Add Remove Apps
+  MessageBox MB_ICONEXCLAMATION|MB_OK "Could not find uninstallation information in registry.\$\nTry running the uninstaller from the start menu or from the installation folder \$\"\$INSTDIR\$\"." /SD IDOK
+\${Else}
+  MessageBox MB_ICONEXCLAMATION|MB_OK "Could not find uninstallation information in registry for \$(^Name) installed in \$\"\$INSTDIR\$\".\$\nCan not uninstall!" /SD IDOK
+\${EndIf}
+  Abort
+
+uninst_check_local:
+  # if 1 was local only
+  StrCmp \$R0 1 0 uninst_set_admin
+
+  Call un.MultiUser.InstallMode.CurrentUser
+
+  GoTo uninst_cont_un
+
+uninst_set_admin:
+  # if 2, was a allusers install
+  Call un.MultiUser.InstallMode.AllUsers
+
+uninst_cont_un:
+
+\${If} \$MultiUser.InstallMode == "CurrentUser"
+  StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY} (Local)"
+  StrCpy \$MultiUser.Local " (Local)"
+\${Else}
+  StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY}"
+  StrCpy \$MultiUser.Local ""
+\${EndIf}
+
+  Pop \$R0
+FunctionEnd
+
+Function .onInit
+  !insertmacro MULTIUSER_INIT
+
+# will append (Local) to reg key
+\${If} \$MultiUser.InstallMode == "CurrentUser"
+  StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY} (Local)"
+  StrCpy \$MultiUser.Local " (Local)"
+\${Else}
+  StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY}"
+  StrCpy \$MultiUser.Local ""
+\${EndIf}
+
+  ; set default options
+  StrCpy \$InstallShortcuts \${BST_CHECKED}
+  StrCpy \$RegisterOctaveFileType  \${BST_CHECKED}
+  StrCpy \$InstallBlasLib 0
+
+  ; process command line options
+  \${GetParameters} \$R0
+  ClearErrors
+  \${GetOptions} "\$R0" "/REGISTER_FILE_TYPES=" \$0
+  IfErrors no_register_opt
+  \${If} \$0 == 0
+     StrCpy \$RegisterOctaveFileType  \${BST_UNCHECKED}
+  \${EndIf}
+no_register_opt:
+  ClearErrors
+  \${GetOptions} "\$R0" "/INSTALL_SHORTCUTS=" \$0
+  IfErrors no_shortcuts_opt
+  \${If} \$0 == 0
+     StrCpy \$InstallShortcuts \${BST_UNCHECKED}
+  \${EndIf}
+no_shortcuts_opt:
+  ClearErrors
+
+  Call CheckWinVer
+  ; Bug #59215 for now have disabled jdk detection
+  ; \${If} @ENABLE_JAVA@ == yes
+  ;   Call CheckJRE
+  ; \${EndIf} 
+  InitPluginsDir
+FunctionEnd
+
+; file section
+Section "MainFiles"
+
+  ; include the README
+  SetOutPath "\$INSTDIR" 
+  File "$OCTAVE_SOURCE/README.html"
+
+  ; include octave.vbs and other scripts
+  SetOutPath "\$INSTDIR" 
+  File "$OCTAVE_SOURCE/octave.vbs"
+  File "$OCTAVE_SOURCE/octave-firsttime.vbs"
+  File "$OCTAVE_SOURCE/fc_update.bat"
+  File "$OCTAVE_SOURCE/post-install.bat"
+
+  File "$OCTAVE_SOURCE/HG-ID"
+
+  ; distro files
+EOF
+  if [ -f $OCTAVE_SOURCE/cmdshell.bat ]; then 
+    echo "File '$OCTAVE_SOURCE/cmdshell.bat'" >> $OUTFILE
+  fi
+
+
+# insert the files
+  IFS=$'\n'
+  for f in $(find $OCTAVE_SOURCE -type d -printf "%P\n"); do
+    winf=`echo $f | sed 's,/,\\\\,g'`
+    echo " CreateDirectory \"\$INSTDIR\\$winf\"" >> $OUTFILE
+    echo " SetOutPath \"\$INSTDIR\\$winf\"" >> $OUTFILE
+    find "$OCTAVE_SOURCE/$f" -maxdepth 1 -type f -printf " File \"%p\"\n" >> $OUTFILE 
+  done
+
+  cat >> $OUTFILE << EOF
+
+ ; add qt.conf
+ Push \$0
+ \${StrRep} '\$0' '\$INSTDIR' '\\' '/'
+ WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Prefix" "\$0/$OCTAVE_SUBDIR"
+ WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Documentation" "${QT_SUBDIR}doc"
+ WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Headers" "${QT_SUBDIR}include"
+ WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Libraries" "${QT_SUBDIR}lib"
+ WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Plugins" "${QT_SUBDIR}plugins"
+ WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Translations" "${QT_SUBDIR}translations"
+ Pop \$0
+
+ ; run post-install script
+ GetFullPathName /SHORT \$1 \$INSTDIR
+ DetailPrint "Running post install script (May take a while) ..."
+ ; run in hidden console window
+ nsExec::Exec /TIMEOUT=90000 '"\$1\\post-install.bat"'
+ Pop \$0
+SectionEnd
+
+Section make_uninstaller
+ ; Write the uninstall keys for Windows
+ SetOutPath "\$INSTDIR"
+ WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "DisplayName" "Octave $VERSION\$MultiUser.Local"
+ WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "DisplayVersion" "$VERSION"
+ WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "DisplayIcon" "\$INSTDIR\\$ICON"
+ WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "UninstallString" "\$\"\$INSTDIR\\uninstall.exe\$\" /\$MultiUser.InstallMode" 
+ WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "QuietUninstallString" "\$\"\$INSTDIR\\uninstall.exe\$\" /\$MultiUser.InstallMode /S" 
+ WriteRegDWORD \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "NoModify" 1
+ WriteRegDWORD \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "NoRepair" 1
+ WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "Publisher" "\${APP_NAME}"
+ WriteRegDWORD \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "EstimatedSize" $SIZE
+ WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "InstallMode" "\$MultiUser.InstallMode"
+ WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "InstallLocation" "\$INSTDIR"
+ WriteUninstaller "uninstall.exe"
+SectionEnd
+
+; start menu (currently hardcoded)
+Section "Shortcuts"
+
+# will append (Local) to menus in local mode
+ CreateDirectory "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local"
+ CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Uninstall.lnk" "\$INSTDIR\\uninstall.exe" "" "\$INSTDIR\\uninstall.exe" 0
+ SetOutPath "%USERPROFILE%"
+ CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Octave-$VERSION\$MultiUser.Local (CLI).lnk" "%SYSTEMROOT%\\system32\\wscript.exe" "\$\\"\$INSTDIR\\octave.vbs\$\\" --no-gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED
+ CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Octave-$VERSION\$MultiUser.Local (GUI).lnk" "%SYSTEMROOT%\\system32\\wscript.exe" "\$\\"\$INSTDIR\\octave.vbs\$\\" --gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED
+ SetOutPath "\$INSTDIR"
+
+ ; fix the shortcuts for appid
+ ; run in hidden console window
+ nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Octave-$VERSION\$MultiUser.Local (GUI).lnk" "gnu.octave.$VERSION"'
+ Pop \$0
+EOF
+  # shortcut for cmd win
+  if [ -f $OCTAVE_SOURCE/cmdshell.bat ]; then 
+    echo "CreateShortCut '\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Bash Shell.lnk' '\$INSTDIR\\cmdshell.bat' '' '' 0" >> $OUTFILE
+  fi
+  if [ -e $OCTAVE_SOURCE/$OCTAVE_SUBDIR/bin/blas_switch.exe ]; then 
+   cat >> $OUTFILE << EOF
+    CreateShortCut '\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\BLAS Switcher.lnk' '\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\blas_switch.exe' '' '' 0
+    \${If} \$MultiUser.InstallMode != "CurrentUser"
+      Push '\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\BLAS Switcher.lnk'
+      Call ShellLinkSetRunAs
+      Pop \$0
+    \${EndIf}
+EOF
+  fi
+  # if we have documentation files, create shortcuts
+  if [ -d $OCTAVE_SOURCE/$OCTAVE_SUBDIR/share/doc/octave ]; then
+    cat >> $OUTFILE << EOF
+    CreateDirectory "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation"
+    CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation\\Octave C++ Classes (PDF).lnk" "\$INSTDIR\\$OCTAVE_SUBDIR\\share\\doc\\octave\\liboctave.pdf" "" "" 0
+    CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation\\Octave C++ Classes (HTML).lnk" "\$INSTDIR\\$OCTAVE_SUBDIR\\share\\doc\\octave\\liboctave.html\\index.html" "" "" 0
+    CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation\\Octave (PDF).lnk" "\$INSTDIR\\$OCTAVE_SUBDIR\\share\\doc\\octave\\octave.pdf" "" "" 0
+    CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation\\Octave (HTML).lnk" "\$INSTDIR\\$OCTAVE_SUBDIR\\share\\doc\\octave\\octave.html\\index.html" "" "" 0
+EOF
+  fi
+ 
+  cat >> $OUTFILE << EOF
+
+  \${If} \$InstallShortcuts == \${BST_CHECKED}
+
+    ; get latest octave and create shortcuts to it
+    Push \$R0
+    Push \$R1
+    Push \$R2
+
+    Call GetLatestOctave
+    Pop \$R1 ; Ver
+
+    ; if no version found - need set INST DIR and VER will use
+    StrCmp \$R1 "" set_ver_str
+
+    ClearErrors
+    ; valid install found - get info from registry
+    ReadRegStr \$R0 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" InstallLocation"
+    IfErrors sc_no_install_path
+    StrCmp \$R0 "" sc_no_install_path sc_install_path
+sc_no_install_path:
+    # make dir from installer path
+    ReadRegStr \$R0 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "UninstallString"
+    \${GetParent} \$R0 \$R0
+   
+sc_install_path:
+
+    # remove any '"' in our path
+    \${DequoteString} \$R0 \$R0
+
+    ReadRegStr \$R2 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "DisplayIcon"
+    GoTo have_ver_str
+set_ver_str:
+    StrCpy \$R1 "$VERSION"
+    StrCpy \$R0 "\$INSTDIR"
+    StrCpy \$R2 "\$INSTDIR\\$ICON"
+
+have_ver_str:
+    SetOutPath "%USERPROFILE%"
+    CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk" "%SYSTEMROOT%\\system32\\wscript.exe" "\$\\"\$R0\\octave.vbs\$\\" --no-gui" "\$R2" 0 SW_SHOWMINIMIZED
+    CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "%SYSTEMROOT%\\system32\\wscript.exe" "\$\\"\$R0\\octave.vbs\$\\" --gui" "\$R2" 0 SW_SHOWMINIMIZED
+
+    nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "gnu.octave.\$R1"'
+    Pop \$0
+
+    Pop \$R2
+    Pop \$R1
+    Pop \$R0
+  \${Endif}
+
+  ; BLAS set up
+  \${If} \$InstallBlasLib == 1
+    ; Reference BLAS
+    CopyFiles /SILENT "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\librefblas.dll" "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\libblas.dll"
+  \${Else}
+    ; OpenBLAS
+    CopyFiles /SILENT "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\libopenblas.dll" "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\libblas.dll"
+  \${EndIf}
+
+SectionEnd
+
+Section "FileTypeRego"
+
+  WriteRegStr SHCTX "Software\\Classes\\Octave.Document.$VERSION" "FriendlyAppName" "GNU Octave $VERSION"
+  WriteRegStr SHCTX "Software\\Classes\\Octave.Document.$VERSION\\DefaultIcon" "" "\$INSTDIR\\$ICON"
+  WriteRegStr SHCTX "Software\\Classes\\Octave.Document.$VERSION\\shell\\open\\command" "" "wscript \$\\"\$INSTDIR\\octave.vbs\$\\" --gui --persist --eval \$\\"edit '%1'\$\\""
+
+  \${If} \$RegisterOctaveFileType == \${BST_CHECKED}
+
+    ReadRegStr \$0 SHCTX "Software\\Classes\\.m" ""
+    StrCmp "\$0" "" ctx_no_back_type
+    WriteRegStr SHCTX "Software\\Classes\\.m" "backup_val" "\$0"
+ctx_no_back_type:
+    WriteRegStr SHCTX "Software\\Classes\\.m" "" "Octave.Document.$VERSION"
+
+    WriteRegDWORD \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "RegisteredFileType" 1
+  \${EndIf}
+
+SectionEnd
+
+Section "Uninstall"
+
+  ReadRegDWORD \$0  \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "RegisteredFileType"
+  IfErrors not_registered_file
+
+  ; only try remove if is set to our version of octave
+  ReadRegStr \$0 SHCTX "Software\\Classes\\.m" ""
+  StrCmp \$0 "Octave.Document.$VERSION" 0 not_registered_file
+
+  ReadRegStr \$0 SHCTX "Software\\Classes\\.m" "backup_val"
+  IfErrors not_backup_file
+
+  # retore backup
+  WriteRegStr SHCTX "Software\\Classes\\.m" "" "\$0"
+
+  DeleteRegValue SHCTX "Software\\Classes\\.m" "backup_val"
+
+  ; dont delete .m if just restored backup
+  Goto not_registered_file
+not_backup_file:
+  DeleteRegValue SHCTX "Software\\Classes" ".m"
+
+not_registered_file:
+ 
+ DeleteRegKey SHCTX "Software\\Classes\\Octave.Document.$VERSION"
+ DeleteRegKey  \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey"
+
+ ; Remove shortcuts
+ Delete "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation\\*.*"
+ RMDir "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation"
+
+ Delete "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\*.*"
+ RMDir "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local"
+
+ ; TODO: only delete if no other version of octave available
+
+ Push \$R0
+ Push \$R1
+ Push \$R2
+
+ Call un.GetLatestOctave
+ Pop \$R1 ; Ver
+
+ ; no installs detected - remove shortcuts
+ StrCmp \$R1 "" remove_desktop_shortcuts
+
+ ClearErrors
+ ; if install detected, get the path and icon
+ ReadRegStr \$R0 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "InstallLocation"
+ IfErrors no_install_path
+ StrCmp \$R0 "" no_install_path install_path
+no_install_path:
+ # old installers uninstall string was just the name of the installer, so try make path from that
+ ReadRegStr \$R0 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "UninstallString"
+ \${GetParent} \$R0 \$R0
+install_path:
+ ClearErrors
+
+ # remove any '"' in our path
+ \${un.DequoteString} \$R0 \$R0
+
+ StrCmp \$R0 "" remove_desktop_shortcuts
+ 
+ ReadRegStr \$R2 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "DisplayIcon"
+
+ IfFileExists "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk" 0 check_gui_shortcut 
+ SetOutPath "%USERPROFILE%"
+ CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk" "%SYSTEMROOT%\system32\wscript.exe" "\$\\"\$R0\\octave.vbs\$\\" --no-gui" "\$R2" 0 SW_SHOWMINIMIZED
+
+check_gui_shortcut:
+ IfFileExists "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" 0 done_remove_desktop_shortcuts
+ SetOutPath "%USERPROFILE%"
+ CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "%SYSTEMROOT%\system32\wscript.exe" "\$\\"\$R0\\octave.vbs\$\\" --gui" "\$R2" 0 SW_SHOWMINIMIZED
+ nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "gnu.octave.\$R1"'
+ Pop \$0
+
+ GoTo done_remove_desktop_shortcuts
+
+remove_desktop_shortcuts:
+ Delete "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk" 
+ Delete "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" 
+
+done_remove_desktop_shortcuts:
+ Pop \$R2
+ Pop \$R1
+ Pop \$R0
+
+ ; delete generated qt.conf file
+ Delete "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf"
+EOF
+
+# insert dir list (backwards order) for uninstall files
+  for f in $(find $OCTAVE_SOURCE -depth -type d -printf "%P\n"); do
+    winf=`echo $f | sed 's,/,\\\\,g'`
+    echo " Delete \"\$INSTDIR\\$winf\\*.*\"" >> $OUTFILE
+    echo " RmDir \"\$INSTDIR\\$winf\"" >> $OUTFILE
+  done
+
+# last bit of the uninstaller
+  cat >> $OUTFILE << EOF
+
+ Delete "\$INSTDIR\\uninstall.exe"
+
+ Delete "\$INSTDIR\\*.*"
+ ClearErrors
+ RmDir "\$INSTDIR"
+
+ ; didnt remove directory ? most likely from not all files removed
+ IfErrors 0 uninstall_done
+    ClearErrors
+    MessageBox MB_YESNO "One or more folders were not uninstalled because they contain extra files. Try to delete them?" /SD IDYES IDNO uninstall_done
+    RMDir /r "\$INSTDIR"
+
+    IfErrors 0 uninstall_done
+        MessageBox MB_YESNO "One of more files were still not uninstalled. Do you want to delete them on the next reboot?" /SD IDYES IDNO uninstall_done
+        RMDir /r /REBOOTOK "\$INSTDIR"
+uninstall_done:
+
+SectionEnd
+
+; function to get latest version of octave installed
+!macro GET_LATEST_OCTAVE un
+Function \${un}GetLatestOctave
+  Push \$R0
+  Push \$R1
+  Push \$R2
+  Push \$R3
+
+  StrCpy \$R0 ""
+  StrCpy \$R1 0
+
+  ; loop through installed programs to find octave installs
+\${un}octave_ver_loop:
+  EnumRegKey \$R2 \${PRODUCT_UNINST_ROOT_KEY} "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" \$R1
+  StrCmp \$R2 "" \${un}latest_octave_done
+
+  ; len(octave) = 6
+  StrCpy \$R3 \$R2 6
+  StrCmp \$R3 "Octave" 0 \${un}next_ver_loop
+
+  ; to verify the install check with the installer exists have uninstaller
+  # TODO
+  #ReadRegStr \$R3 \${PRODUCT_UNINST_ROOT_KEY} "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\\$R2" "UninstallString"
+  #ifFileExists \$R3 0 \${un}next_ver_loop
+
+# if uninstalling dont count ourselves
+\${If} "\${un}" == "un."
+  StrCmp \$R2 "Octave-$VERSION\$MultiUser.Local" \${un}skip_ver_set
+  ; grab version part of octave
+  StrCpy \$R0 \$R2 "" 7
+\${un}skip_ver_set:
+
+\${Else}
+  ; grab version part of octave
+  StrCpy \$R0 \$R2 "" 7
+\${EndIf}
+
+\${un}next_ver_loop:
+  IntOp \$R1 \$R1 + 1
+  GoTo \${un}octave_ver_loop 
+
+\${un}latest_octave_done:
+  Pop \$R3
+  Pop \$R2
+  Pop \$R1
+  Exch \$R0
+  ; stack now has octave version on top
+FunctionEnd
+!macroend
+
+!insertmacro GET_LATEST_OCTAVE ""
+!insertmacro GET_LATEST_OCTAVE "un."
+
+; Function to detect Windows version and abort if Octave is unsupported in the current platform
+Function CheckWinVer
+  Push \$0
+  Push \$1
+
+  ; try read new way of getting version
+  ReadRegStr \$0 HKLM "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" CurrentMajorVersionNumber
+  ; since is DWORD reg value, error will be set, however will be "" if no value read
+  StrCmp \$0 "" is_less_than_win10
+  ReadRegStr \$1 HKLM "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" CurrentMinorVersionNumber
+  StrCmp \$1 "" is_less_than_win10
+
+  StrCpy \$0 "\$0.\$1"
+  Goto is_winnt
+
+is_less_than_win10:
+  ClearErrors
+  ReadRegStr \$0 HKLM "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" CurrentVersion
+  IfErrors is_error is_winnt
+
+is_winnt:
+  StrCpy \$1 \$0 1
+  StrCmp \$1 4 is_error ; Aborting installation for Windows versions older than Windows 2000
+  StrCmp \$0 "5.0" is_error ; Removing Windows 2000 as supported Windows version
+  StrCmp \$0 "5.1" is_winnt_XP
+  StrCmp \$0 "5.2" is_winnt_2003
+  StrCmp \$0 "6.0" is_winnt_vista
+  StrCmp \$0 "6.1" is_winnt_7
+  StrCmp \$0 "6.2" is_winnt_8
+  StrCmp \$0 "6.3" is_winnt_8 ; win 8.1
+  StrCmp \$0 "10.0" is_winnt_10
+  StrCmp \$1 6 is_winnt_10 ; Checking for future versions of Windows 10+
+  StrCmp \$1 1 is_winnt_10 ; Checking for future versions of Windows 10+
+  Goto is_error
+
+is_winnt_XP:
+is_winnt_2003:
+is_winnt_vista:
+is_winnt_7:
+is_winnt_8:
+is_winnt_10:
+  Goto done
+is_error:
+  StrCpy \$1 \$0
+  ClearErrors
+  ReadRegStr \$0 HKLM "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" ProductName
+  IfErrors 0 +4
+  ReadRegStr \$0 HKLM "SOFTWARE\\Microsoft\\Windows\\CurrentVersion" Version
+  IfErrors 0 +2
+  StrCpy \$0 "Unknown"
+  MessageBox MB_ICONSTOP|MB_OK "This version of Octave cannot be installed on this system. Octave is supported only on Windows NT systems. Current system: \$0 (version: \$1)"
+  Abort
+done:
+  Pop \$1
+  Pop \$0
+FunctionEnd
+
+; Function to check whether already installed this version
+Function CheckCurrVersion
+  Push \$0
+  ClearErrors
+  ReadRegStr \$0 \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "DisplayName"
+  IfErrors curr_check_ok
+  MessageBox MB_OK|MB_ICONSTOP "Another Octave installation (with the same version) has been detected. Please uninstall it first."
+  Quit
+curr_check_ok:
+  pop \$0
+FunctionEnd
+
+; Check whether prev install is here and no spaces or special chars in dest name
+Function CheckPrevInstallAndDest
+  IfFileExists "\$INSTDIR\\bin\\octave-cli.exe" inst_exists  0
+  IfFileExists "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\octave-cli.exe" inst_exists  inst_none
+inst_exists:
+  MessageBox MB_YESNO|MB_ICONEXCLAMATION "Another Octave installation has been detected at that destination. It is recommended to uninstall it if you intend to use the same installation directory. Do you want to proceed with the installation anyway?" /SD IDYES IDYES inst_none IDNO 0
+  Abort 
+  GoTo inst_end
+inst_none:
+
+  ; check for spaces or spcial chars in dest filename
+  Push \$R0
+  Push \$R1
+
+  StrCpy \$R1 0 # r1 = counter
+space_loop:
+  StrCpy \$R0 \$INSTDIR 1 \$R1  # R0 = character in string to check
+  StrCmp \$R0 "" space_end # end of string
+  StrCmp \$R0 "&" space_found
+  StrCmp \$R0 "%" space_found
+  StrCmp \$R0 "^" space_found
+  IntOp  \$R1 \$R1 + 1
+  GoTo space_loop
+space_found:
+MessageBox MB_OK|MB_ICONEXCLAMATION "Octave should not be installed to a destination folder containing &%()^. Please select another destination."
+  Abort 
+space_end:
+  Pop \$R1
+  Pop \$R0
+
+inst_end:
+
+FunctionEnd
+
+; Function to check Java Runtime Environment
+Function CheckJRE
+;  looks in:
+;  1 - JAVA_HOME environment variable
+;  2 - the registry
+
+  Push \$R0
+  Push \$R1
+
+  # get the version
+  ClearErrors
+  ReadEnvStr \$R1 "JAVA_VERSION"
+  StrCmp \$R1 "" 0 have_java_version
+  ClearErrors
+  ReadRegStr \$R1 HKLM "SOFTWARE\\JavaSoft\\JRE" "CurrentVersion"
+  IfErrors 0 have_java_version
+  ReadRegStr \$R1 HKLM "SOFTWARE\\JavaSoft\\Java Runtime Environment" "CurrentVersion"
+  IfErrors JRE_Error have_java_version
+
+ have_java_version:
+  ClearErrors
+  ReadRegStr \$R0 HKLM "SOFTWARE\\JavaSoft\\JRE\\\$R1" "RuntimeLib"
+  IfErrors 0 have_java_runtime
+  ReadRegStr \$R0 HKLM "SOFTWARE\\JavaSoft\\Java Runtime Environment\\\$R1" "RuntimeLib"
+  IfErrors JRE_Error have_java_runtime 
+
+ have_java_runtime:
+  # have runtime in R0 - check actual file is there
+  StrCmp \$R0 "" JRE_Error 0
+  ClearErrors
+  IfFileExists \$R0 continue JRE_Error
+
+ JRE_Error:
+  MessageBox MB_ICONEXCLAMATION|MB_YESNO "Octave has the capability to call Java libraries, but the installer was unable to find a Java Runtime Environment (JRE) on this system.  Octave will still function without a JRE, only certain specific functions will be disabled.  If a JRE is installed later, Octave should be able to detect and use it automatically.  Continue with installation?" /SD IDYES IDYES continue
+  Abort
+ continue:
+  Pop \$R1
+  Pop \$R0
+FunctionEnd
+
+Function un.FindThisUninstallReg
+  # look to find where we were installed for this particular version and then return
+  # 0 no install found (shouldnt happen)
+  # 1 local install was found
+  # 2 allusers install was found
+  Push \$R0 
+  Push \$R1
+
+  StrCpy \$R0 0
+
+find_check_reg_hkcu:
+  # check for local installs
+  ReadRegStr \$R1 HKCU "\${PRODUCT_UNINST_KEY} (Local)" "InstallLocation"
+  StrCmp \$R1 "" 0 find_have_reg_hkcu
+
+  ReadRegStr \$R1 HKCU "\${PRODUCT_UNINST_KEY} (Local)" "UninstallString"
+  StrCmp \$R1 "" find_check_reg_hklm 0
+
+  \${GetParent} \$R1 \$R1
+
+find_have_reg_hkcu:
+ \${un.DequoteString} \$R1 \$R1
+
+  # is this the match ?
+  StrCmp \$R1 "\$INSTDIR" 0 find_check_reg_hklm
+
+  StrCpy \$R0 1
+  GoTo find_check_reg_done
+find_check_reg_hklm:
+  # check for all installs
+  ReadRegStr \$R1 HKLM "\${PRODUCT_UNINST_KEY}" "InstallLocation"
+  StrCmp \$R1 "" 0 find_have_reg_hklm
+
+  ReadRegStr \$R1 HKLM "\${PRODUCT_UNINST_KEY}" "UninstallString"
+  StrCmp \$R1 "" find_check_reg_done 0
+
+  \${GetParent} \$R1 \$R1
+
+find_have_reg_hklm:
+  \${un.DequoteString} \$R1 \$R1
+
+  # is this the match ?
+  StrCmp \$R1 "\$INSTDIR" 0 find_check_reg_done
+
+  StrCpy \$R0 2
+
+find_check_reg_done:
+  Pop \$R1
+  # restore r0, but result on stack
+  Exch \$R0
+FunctionEnd
+
+EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/mk-hg-id.sh	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,45 @@
+#! /bin/sh
+#
+# Copyright (C) 2016-2018 John W. Eaton
+#
+# This file is part of Octave.
+#
+# Octave 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 3 of the License, or
+# (at your option) any later version.
+#
+# Octave 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 Octave; see the file COPYING.  If not, see
+# <http://www.gnu.org/licenses/>.
+
+# Generate a file that holds the hg id of the mxe-octave source tree.
+
+# set -e
+
+if [ $# -ne 1 ]; then
+  echo "usage: mk-hg-id.sh SRCDIR" 1>&2
+  exit 1
+fi
+
+srcdir="$1"
+
+hg_id=HG-ID
+
+if [ -d $srcdir/.hg ]; then
+  ( cd $srcdir && hg identify --id || echo "unknown" ) > ${hg_id}-t && mv ${hg_id}-t ${hg_id}
+elif [ ! -f $srcdir/${hg_id} ]; then
+  echo "WARNING: $srcdir/${hg_id} is missing!" 1>&2
+  echo "unknown" > ${hg_id}-t && mv ${hg_id}-t ${hg_id}
+else
+  echo "preserving existing ${hg_id} file" 1>&2
+  if [ "x$srcdir" != "x." ] && [ -f $srcdir/${hg_id} ] && [ ! -f ${hg_id} ]; then
+    cp ${srcdir}/${hg_id} ${hg_id}
+  fi
+fi
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/msys2-install.py	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,285 @@
+#!/usr/bin/python3
+
+import sys
+import os
+import re
+import tempfile
+import shutil
+import fnmatch
+import subprocess
+import glob
+import calendar;
+import time;
+
+
+class Env:
+  verbose = True;
+  tmp = "/tmp";
+  msysdir = "/tmp/msys3";
+  tar = "tar";
+  cleanup = False;
+
+def read_options_file(optfile):
+  with open(optfile, 'r') as f:
+    lines = f.read().splitlines()
+    #d = dict(s.split(' = ',1) for s in lines if s.find(' = ') != -1)
+
+    x = {}
+    for  s in lines:
+      if s.find(' = ') != -1:
+        v = s.split(' = ',1)
+        if not v[0] in x:
+          x[v[0]] = []
+        
+        x[v[0]].append(v[1])
+
+    return x
+
+def save_list_file(listfile, values, hdr):
+  with open(listfile, 'wt') as f:
+    if hdr:
+      f.write(hdr + "\n")
+    for v in values:
+      f.write(v + "\n")
+
+pkg= {'license': 'GPL', 'replaces': 'pacman-contrib', 'pkgname': 'pacman', 'builddate': '1532933269', 'pkgdesc': 'A library-based package manager with dependency support (MSYS2 port)', 'checkdepend': 'python2', 'url': 'https://www.archlinux.org/pacman/', 'backup': 'etc/makepkg_mingw64.conf', 'makedepend': 'libunistring-devel', 'depend': 'xz', 'pkgbase': 'pacman', 'optdepend': 'vim', 'provides': 'pacman-contrib', 'group': 'base-devel', 'packager': 'Alexey Pavlov <alexpux@gmail.com>', 'size': '47739904', 'arch': 'i686', 'conflict': 'pacman-contrib', 'pkgver': '5.1.1-2'}
+
+def save_desc_file(descfile, pkginfo):
+  with open(descfile, 'wt') as f:
+
+   f.write("%NAME%\n")
+   v = pkginfo.get('pkgname',[])
+   for l in v:
+     f.write(l+"\n")
+   f.write("\n")
+
+   f.write("%VERSION%\n")
+   v = pkginfo.get('pkgver',[])
+   for l in v:
+     f.write(l+"\n")
+   f.write("\n")
+
+   f.write("%DESC%\n")
+   v = pkginfo.get('pkgdesc',[])
+   for l in v:
+     f.write(l+"\n")
+   f.write("\n")
+
+   f.write("%ARCH%\n")
+   v = pkginfo.get('arch',[])
+   for l in v:
+     f.write(l+"\n")
+   f.write("\n")
+
+   f.write("%BUILDDATE%\n")
+   v = pkginfo.get('builddate',[])
+   for l in v:
+     f.write(l+"\n")
+   f.write("\n")
+
+   t = calendar.timegm(time.gmtime())
+   f.write("%INSTALLDATE%\n")
+   f.write(str(t) + "\n\n")
+
+   f.write("%PACKAGER%\n")
+   v = pkginfo.get('packager', [])
+   for l in v:
+     f.write(l+"\n")
+   f.write("\n")
+
+   f.write("%SIZE%\n")
+   v = pkginfo.get('size',[])
+   for l in v:
+     f.write(l+"\n")
+   f.write("\n")
+
+   f.write("%GROUPS%\n")
+   v = pkginfo.get('group',[])
+   for l in v:
+     f.write(l+"\n")
+   f.write("\n")
+
+   f.write("%LICENSE%\n")
+   v = pkginfo.get('license',[])
+   for l in v:
+     f.write(l+"\n")
+   f.write("\n")
+
+   f.write("%VALIDATION%\n")
+   v = pkginfo.get('validation',['pgp'])
+   for l in v:
+     f.write(l+"\n")
+   f.write("\n")
+
+   f.write("%REPLACES%\n")
+   v = pkginfo.get('replaces',[])
+   for l in v:
+     f.write(l+"\n")
+   f.write("\n")
+
+   f.write("%DEPENDS%\n")
+   v = pkginfo.get('depend', [])
+   for l in v:
+     f.write(l+"\n")
+   f.write("\n")
+
+   f.write("%OPTDEPENDS%\n")
+   v = pkginfo.get('optdepend',[])
+   for l in v:
+     f.write(l+"\n")
+   f.write("\n")
+
+   f.write("%CONFLICTS%\n")
+   v = pkginfo.get('conflict',[])
+   for l in v:
+     f.write(l+"\n")
+   f.write("\n")
+
+   f.write("%PROVIDES%\n")
+   v = pkginfo.get('provides', [])
+   for l in v:
+     f.write(l+"\n")
+   f.write("\n")
+
+def create_msys_dirs(sysdir):
+  if os.path.exists(sysdir) == False:
+    os.makedirs(sysdir)
+  if os.path.exists(sysdir + "/var/lib/pacman/local") == False:
+    os.makedirs(sysdir + "/var/lib/pacman/local")
+  # db file
+  if os.path.exists(sysdir + "/var/lib/pacman/local/ALPM_DB_VERSION") == False:
+    with open(sysdir + "/var/lib/pacman/local/ALPM_DB_VERSION", 'wt') as f:
+      f.write("9\n")
+
+def uninstall_pkg(pkgname, env):
+  pkgpath = env.msysdir + "/var/lib/pacman/local/"
+  files=glob.glob(pkgpath + pkgname + "-" + "[r0-9].*")
+  for f in files:
+    if env.verbose:
+      print ("uninstalling " + f)
+    shutil.rmtree(f)
+
+def install_pkg(pkg, env):
+  pkg = os.path.abspath(pkg)
+  currdir = os.getcwd()
+  status = 0
+
+  try:
+    ## Check that the directory in prefix exist. If it doesn't: create it!
+    tmpdir = tempfile.mkdtemp("-pkg","tmp", env.tmp)
+    if env.verbose:
+      print ("using tempdir ", tmpdir)
+    os.chdir(tmpdir)
+
+    # unpack dir
+    if env.verbose:
+      os.system(env.tar + " xvpf '" + pkg + "'") 
+    else:
+      os.system(env.tar + " xpf '" + pkg + "'") 
+
+    pkginfo = read_options_file(tmpdir + '/.PKGINFO')
+
+    # uninstall prev versions
+    uninstall_pkg(pkginfo.get('pkgname')[0], env)
+
+    # copy files to dest
+    filelist = []
+    tmplen = len(tmpdir)
+    if not tmpdir.endswith('/'):
+      tmplen = tmplen + 1
+
+    for root, dirs, files in os.walk(tmpdir):
+      for dir in dirs:
+          fullpath = os.path.join(root, dir)
+          fullpath = fullpath[tmplen:] + "/"
+          filelist.append(fullpath)
+          if os.path.exists(env.msysdir + "/" + fullpath) == False:
+            os.makedirs(env.msysdir + "/" + fullpath)
+
+      for file in files:
+        if not file.startswith('.'):
+          fullpath = os.path.join(root, file)
+          fullpath = fullpath[tmplen:]
+          filelist.append(fullpath)
+          if env.verbose:
+            print ("installing " + fullpath)
+
+          # dele old file fo can copy new with perms (if ld file would allow write)
+          if os.path.isfile(env.msysdir + "/" + fullpath):
+            os.remove(env.msysdir + "/" + fullpath)
+
+          shutil.copy2(os.path.join(root, file), env.msysdir + "/" + fullpath)
+
+    if env.verbose:
+      print ("creating package files")
+
+    # create pkg files needed
+    pkg_name_ver = pkginfo.get('pkgname', [''])[0] + "-" + pkginfo.get('pkgver',[''])[0]
+    pkg_info_dir = env.msysdir + "/var/lib/pacman/local/" + pkg_name_ver
+    if os.path.exists(pkg_info_dir) == False:
+      os.makedirs(pkg_info_dir)
+
+    save_list_file (pkg_info_dir + "/files", filelist, "%FILES%")
+    save_desc_file (pkg_info_dir + "/desc", pkginfo)
+    shutil.copy2(tmpdir + "/.MTREE", pkg_info_dir + "/mtree")
+
+  finally:
+    if env.verbose:
+      print ("cleaning up")
+    os.chdir(currdir)
+
+    if env.cleanup:
+      shutil.rmtree(tmpdir)
+ 
+  return status
+
+def install (args):
+  env = Env()
+
+  files = []
+ 
+  for a in args:
+    print ("{}".format(a))
+    c=a.split("=")
+    key=c[0]
+    if len(c) > 1:
+      val=c[1]
+    else:
+      val=""
+
+    if key == "--verbose":
+      env.verbose = True;
+    elif key == "-no-cleanup":
+      env.cleanup = False;
+    elif key == "--msys-dir":
+      if val:
+        env.msysdir = val;
+    elif val == "":
+      files.append(key)
+
+  # set up env
+  if os.environ.get("TMP") != None:
+    env.tmp = os.environ["TMP"]
+  os.environ['TMP'] = env.tmp;
+  if os.environ.get("TAR") != None:
+    env.tar = os.environ["TAR"]
+
+  create_msys_dirs(env.msysdir)
+
+  status = 0
+  for a in files:
+    status = install_pkg(a, env)
+    if status != 0:
+      break
+
+  return status
+
+def show_usage():
+  print (sys.argv[0], "[options] pkg1 [pkg2]")
+
+if __name__ == "__main__":
+  if len(sys.argv) > 1:
+    status = install(sys.argv[1:])
+    sys.exit(status)
+  else:
+    show_usage()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/pkg-install.py	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,620 @@
+#!/usr/bin/python3
+import sys
+import os
+import re
+import tempfile
+import shutil
+import fnmatch
+import subprocess
+import glob
+
+class Env:
+  mkoctfile = "mkoctfile";
+  octave_config = "octave-config";
+  make = "make"
+  verbose = True;
+  prefix = "";
+  pkg = "";
+  use_pkg_prefix = True;
+  arch = "";
+  tmp = "/tmp";
+  bin_dir = "";
+  m_dir = "";
+  arch_dir = "";
+  cleanup = False;
+
+def show_usage():
+  print (sys.argv[0], "[options] pkg1 [pkg2]")
+
+def verify_directory(dirname):
+  for f in [ "COPYING", "DESCRIPTION" ]:
+    if os.path.isfile(dirname + "/" + f) == False:
+      raise Exception("package is missing file " + f)
+
+def get_description(descfile):
+  with open(descfile, 'rt', encoding='latin-1') as f:
+    lines = f.read().splitlines()
+    pat_match = re.compile("(?P<name>[-\w]+):\s*(?P<value>\w.*)")
+    lineval = ""
+    d={}
+    for l in lines:
+      if len(l) > 0:
+        if (l[0] == ' ' or l[0] == '\t'):
+          lineval = lineval + l
+        else:
+          lineval = l
+
+        e = pat_match.match(lineval)
+        if e:
+          d[e.group("name")] = e.group("value")
+
+    return d
+
+def extract_pkg(filename, nm):
+  pkg = []
+  with open(filename, 'rt', encoding='latin-1') as f:
+    lines = f.read().splitlines()
+    for l in lines:
+      so = re.search(nm, l, re.M|re.S)
+      if so:
+        pkg.append(str(so.group(1)))
+  return pkg 
+
+def extract_test_code(filename):
+  body = []
+  if not os.path.isfile(filename):
+    return body
+  with open(filename, 'rt', encoding='latin-1') as f:
+    lines = f.read().splitlines()
+    for l in lines:
+      if l.startswith("%!"):
+        body.append(l)
+  if not body:
+    return body
+  return "\n".join(body)
+
+def write_index_file(env, desc, index_nm):
+
+  with open(index_nm, 'wt', encoding='latin-1') as f:
+    files = os.listdir(env.m_dir)
+    classes = fnmatch.filter(files, "@*")
+
+    # check classes
+    for c in classes:
+      class_name = c
+      class_path = env.m_dir + "/" + c;
+      if os.path.isdir(class_path) == True:
+        class_files = list(class_name + "/" + a for a in os.listdir(class_path))
+        files += class_files
+   
+    # arch dependant 
+    if os.path.exists(env.arch_dir) == True:
+      archfiles = os.listdir(env.arch_dir)
+      files += archfiles
+
+    functions = []
+    for a in files:
+      if a.endswith(".m"):
+        functions.append( str(a[0:len(a)-2]) )
+      elif a.endswith(".oct"):
+        functions.append( str(a[0:len(a)-4]) )
+       
+    f.write(env.pkg + " >> " + desc['Title'] +  "\n");
+    f.write(desc['Categories'].replace(",", " ") + "\n")
+    for a in functions:
+      f.write("  " + a + "\n")
+
+def finish_installation(env, packdir):
+  # octave would run post_install.m here - instead we will copy the post_install.m 
+  # somewhere and then on initial startup, run the post_install
+  if os.path.isfile(packdir + "/post_install.m") == True:
+    if env.verbose:
+      print ("Copying .. post_install.m")
+    destdir = env.prefix + "/share/octave/site/m/once_only"
+    if os.path.exists(destdir) == False:
+      os.makedirs(destdir)
+    shutil.copy2(packdir + "/post_install.m", destdir + "/" + env.pkg + "-post_install.m")
+
+def create_pkgadddel (env, packdir, nm):
+  if env.verbose:
+    print ("Creating...", nm)
+
+  instfid = open(env.m_dir + "/" + nm, "a")
+  if os.path.exists(env.arch_dir) == True:
+    archfid = open(env.arch_dir + "/" + nm, "w")
+  else:
+    archfid = instfid
+
+  # search inst .m files for PKG_ commands
+  instdir = packdir + "/inst"
+  files = list(instdir + "/" + a for a in os.listdir(instdir))
+  m_files = fnmatch.filter(files, "*.m")
+  for f in m_files:
+    for a in extract_pkg(f, '^[#%][#%]* *' + nm + ': *(.*)$'):
+      instfid.write("%s\n" % str(a))
+
+  # search src .cc files for PKG_ commands
+  if os.path.exists(packdir + "/src") == True:
+    srcdir = packdir + "/src"
+    files = list(srcdir + "/" + a for a in os.listdir(srcdir))
+    cc_files = fnmatch.filter(files, "*.cc")
+    cpp_files = fnmatch.filter(files, "*.cpp")
+    cxx_files = fnmatch.filter(files, "*.cxx")
+    for f in cc_files + cpp_files + cxx_files:
+      for a in extract_pkg(f, '^//* *' + nm + ': *(.*)$'):
+        archfid.write("%s\n" % str(a))
+      for a in extract_pkg(f, '^/\** *' + nm + ': *(.*) *\*/$'):
+        archfid.write("%s\n" % a)
+
+  # add PKG_XXX from packdir if exists
+  if os.path.isfile(packdir + "/" + nm) == True:
+    with open(packdir + "/" + nm, 'rt', encoding='latin-1') as f:
+      lines = f.read().splitlines()
+      for a in lines:
+        archfid.write("%s\n" % a)
+
+  # close files
+  if archfid != instfid:
+    archfid.close()
+    if os.stat(env.arch_dir + "/" + nm).st_size == 0:
+      os.remove(env.arch_dir + "/" + nm)
+  instfid.close()
+  if os.stat(env.m_dir + "/" + nm).st_size == 0:
+    os.remove(env.m_dir + "/" + nm)
+
+def generate_lookfor_cache (env):
+  # TODO create doc-cache
+  pass
+
+def copyfile(files, destdir, verbose=False):
+  if os.path.exists(destdir) == False:
+    os.mkdir(destdir)
+  for a in files:
+    if os.path.isfile(a):
+      if verbose:
+        print ("copy " + a + " to " + destdir + "/")
+      shutil.copy2(a, destdir)
+    if os.path.isdir(a):
+      name= os.path.basename(a)
+      morefiles=(a + "/" + b for b in os.listdir(a))
+      copyfile(morefiles, destdir + "/" + name, verbose)
+
+def copy_files(env, pkgdir):
+  if os.path.exists(env.m_dir) == False:
+    os.makedirs(env.m_dir)
+  instdir = pkgdir + "/inst"
+
+  if env.verbose:
+    print ("Copying m files ...")
+
+  files = list(instdir + "/" + a for a in os.listdir(instdir))
+  # filter for arch folder
+  if os.path.exists(instdir + "/" + env.arch) == True:
+    files.remove(instdir + "/" + env.arch)
+  
+  copyfile(files, env.m_dir)
+
+  if os.path.exists(instdir + "/" + env.arch) == True:
+    if env.verbose:
+      print ("Copying arch files ...")
+    files = list(instdir + "/" + env.arch + "/" + a for a in os.listdir(instdir + "/" + env.arch))
+    if len(files) > 0:
+      if os.path.exists(env.arch_dir) == False:
+        os.makedirs(env.arch_dir)
+      copyfile(files, env.arch_dir)
+      shutil.rmtree(instdir + "/" + env.arch)
+
+  # packinfo
+  if env.verbose:
+    print ("Copying packinfo files ...")
+  if os.path.exists(env.m_dir + "/packinfo") == False:
+    os.makedirs(env.m_dir + "/packinfo")
+  copyfile([pkgdir + "/DESCRIPTION"], env.m_dir + "/packinfo")
+  copyfile([pkgdir + "/COPYING"], env.m_dir + "/packinfo")
+  copyfile([pkgdir + "/CITATION"], env.m_dir + "/packinfo")
+  copyfile([pkgdir + "/NEWS"], env.m_dir + "/packinfo")
+  copyfile([pkgdir + "/ONEWS"], env.m_dir + "/packinfo")
+  copyfile([pkgdir + "/ChangeLog"], env.m_dir + "/packinfo")
+
+  # index file
+  if env.verbose:
+    print ("Copying/creating INDEX ...")
+  if os.path.isfile(pkgdir + "/INDEX") == True:
+    copyfile([pkgdir + "/INDEX"], env.m_dir + "/packinfo")
+  else:
+    desc = get_description(pkgdir + "/DESCRIPTION")
+    write_index_file(env, desc, env.m_dir + "/packinfo/INDEX")
+
+  copyfile([pkgdir + "on_uninstall.m"], env.m_dir + "/packinfo")
+
+  # doc dir ?
+  docdir = pkgdir + "/doc"
+  if os.path.exists(docdir) == True:
+    if env.verbose:
+      print ("Copying doc files ...")
+    files = (docdir + "/" + a for a in os.listdir(docdir))
+    copyfile(files, env.m_dir + "/doc")
+
+   # bin dir ?
+  bindir = pkgdir + "/bin"
+  if os.path.exists(bindir) == True:
+    if env.verbose:
+      print ("Copying bin files ...")
+    files = (bindir + "/" + a for a in os.listdir(bindir))
+    copyfile(files, env.m_dir + "/bin")
+
+def configure_make(env, packdir):
+  if os.path.isdir(packdir + "/inst") == False:
+    os.mkdir(packdir + "/inst")
+
+  if os.path.isdir(packdir + "/src") == True:
+    src = packdir + "/src"
+    os.chdir(src)
+
+    if os.path.isfile(src + "/configure") == True:
+      if env.verbose:
+        print ("running ./configure " + env.config_opts)
+
+      if os.system("./configure " + env.config_opts + "") != 0:
+        raise Exception("configure failed - stopping install")
+
+    if os.path.isfile(src + "/Makefile") == True:
+      if env.verbose:
+        print ("running make ...")
+      if os.system(env.make + " --directory '" + src + "'" ) != 0:
+        raise Exception("make failed during build - stopping install")
+
+    # extract any tests
+    if env.verbose:
+      print ("checking for src BIST tests")
+
+    files = os.listdir(src)
+    srcfiles = fnmatch.filter(files, "*.cc") + fnmatch.filter(files,"*.cpp") + fnmatch.filter(files, "*.cxx") + fnmatch.filter(files, "*.c")
+    for sf in srcfiles:
+      tst = extract_test_code(sf)
+      if tst:
+        with open(sf + "-tst", "wt", encoding='latin-1') as f:
+          f.write("## DO NOT EDIT! Generated from " + sf + "\n")
+          f.write(tst + "\n")
+
+    # copy files to inst and inst arch
+    files = src + "/FILES"
+    instdir = packdir + "/inst"
+    archdir = instdir + "/" + env.arch
+
+    if os.path.isfile(files) == True:
+      raise Exception("make using FILES not supported yet")
+      pass # TODO yet
+    else:
+      # get .m, .oct and .mex files
+      files = os.listdir(src)
+      m_files = fnmatch.filter(files, "*.m")
+      tst_files = fnmatch.filter(files, "*-tst")
+      mex_files = fnmatch.filter(files, "*.mex")
+      oct_files = fnmatch.filter(files, "*.oct")
+      files = m_files + mex_files + oct_files + tst_files
+      files = list(src + "/" + s for s in files)
+
+    # split files into arch and non arch files
+    archdependant = fnmatch.filter(files, "*.mex") + fnmatch.filter(files,"*.oct") + fnmatch.filter(files, "*-tst")
+    archindependant = list( x for x in files if x not in archdependant )
+
+    # copy the files
+    copyfile(archindependant, instdir)
+    copyfile(archdependant, archdir)
+
+def add_package_list(env, desc):
+  #pkglist = env.prefix + "/share/octave/octave_packages"
+  #with open(pkglist, 'rt', encoding='latin-1') as f:
+  #  lines = f.read().splitlines()
+  # currently doing nothing for adding, will let installer do
+  pass
+  
+def uninstall_pkg(pkg,env):
+  # uninstall existing directories
+  if env.verbose:
+     print ("Uninstalling " + env.pkg)
+
+  files=glob.glob(env.prefix + "/share/octave/packages/" + env.pkg + "-" + "*")
+  for f in files:
+    if env.verbose:
+      print ("removing dir " + f)
+    shutil.rmtree(f)
+
+  files=glob.glob(env.prefix + "/lib/octave/packages/" + env.pkg + "-" + "*")
+  for f in files:
+    if env.verbose:
+      print ("removing dir " + f)
+    shutil.rmtree(f)
+
+  pass
+
+def install_pkg(pkg, env):
+  pkg = os.path.abspath(pkg)
+  currdir = os.getcwd()
+
+  if env.verbose:
+     print ("Installing " + pkg)
+
+  try:
+    ## Check that the directory in prefix exist. If it doesn't: create it!
+    tmpdir = tempfile.mkdtemp("-pkg","tmp", env.tmp)
+    os.chdir(tmpdir)
+
+    # unpack dir
+    if env.verbose:
+      os.system("tar xzvf '" + pkg + "'") 
+    else:
+      os.system("tar xzf '" + pkg + "'") 
+
+    # get list for files creates
+    files=os.listdir(tmpdir)
+    if len(files) != 1:
+      print ("Expected to unpack to only one directory")
+
+    packdir = os.path.abspath(files[0])
+
+    # verify have expected min files
+    verify_directory(packdir)
+
+    # read the description file
+    desc = get_description(packdir + "/DESCRIPTION")
+
+    # make the path names
+    env.pkg = desc['Name'].lower()
+    env.m_dir = env.prefix + "/share/octave/packages/" + env.pkg + "-" + desc['Version'];
+    env.arch_dir = env.prefix + "/lib/octave/packages/" + env.pkg + "-" + desc['Version'] + "/" + env.arch
+
+    configure_make (env, packdir)
+
+    # uninstall old packages
+    uninstall_pkg(pkg, env)
+
+    # install package files
+    copy_files(env, packdir)
+    create_pkgadddel (env, packdir, "PKG_ADD");
+    create_pkgadddel (env, packdir, "PKG_DEL");
+    finish_installation(env, packdir)
+    generate_lookfor_cache (env);
+
+    # update package list
+    add_package_list(env, desc)
+  finally:
+    if env.verbose:
+      print ("cleaning up")
+    os.chdir(currdir)
+
+    if env.cleanup:
+      shutil.rmtree(tmpdir)
+
+def fix_depends(deps):
+  deplist = [s.strip() for s in deps.split(",") if len(s.strip()) > 0]
+  deppat = re.compile('\s*(?P<name>[-\w]+)\s*(\(\s*(?P<op>[<>=]+)\s*(?P<ver>\d+\.\d+(\.\d+)*)\s*\))*\s*')
+  deps = []
+  for d in deplist:
+    e = deppat.match(d)
+    name = e.group("name")
+    ver = e.group("ver")
+
+    if ver:
+      op = e.group("op")
+    else:
+      op = ">="
+      ver = "0.0.0"
+
+    deps.append({"package": name, "operator": op, "version": ver})
+
+  return deps 
+
+def rebuild_pkg(env):
+  currdir = os.getcwd()
+
+  if env.verbose:
+    print ("Rebuilding package")
+
+  try:
+    oct_dir = env.prefix + "/share/octave"
+    pkg_dir = oct_dir + "/packages"
+    arch_dir = env.prefix + "/lib/octave/packages"
+
+    pkg_list_file = oct_dir + "/octave_packages"
+
+    descs=glob.glob(pkg_dir + "/*/packinfo/DESCRIPTION")
+
+    if env.verbose:
+      print ("Rebuilding pkg list {}".format(pkg_list_file))
+
+    with open(pkg_list_file, "wt", encoding='latin-1') as f:
+      f.write("# Created by pkg-install.py\n")
+      f.write("# name: global_packages\n")
+      f.write("# type: cell\n");
+      f.write("# rows: 1\n")
+      f.write("# columns: {}\n".format(len(descs)))
+
+      for d in descs:
+        pkg = d[len(pkg_dir):-len("/packinfo/DESCRIPTION")]
+        desc = get_description(d)
+        desc["Name"] = desc["Name"].lower()
+        desc["Depends"] = fix_depends(desc.get("Depends",""))
+
+        f.write("# name: <cell-element>\n");
+        f.write("# type: scalar struct\n");
+        f.write("# ndims: 2\n");
+        f.write(" 1 1\n");
+        f.write("# length: 13\n");
+
+        pkg_fields = [ "Name", "Version", "Date", "Author", "Maintainer", \
+          "Title", "Description", "Depends", "Autoload", "License" ]
+        for field in pkg_fields:
+          name = field.lower()
+          value = desc.get(field, None)
+          if value is None:
+            if name == "autoload":
+              value = "no"
+            else:
+              value = "not set"
+
+          f.write("# name: {}\n".format(name))
+          if name == "depends":
+            f.write("# type: cell\n")
+            f.write("# rows: 1\n")
+            f.write("# columns: {}\n".format(len(value)))
+            dep_fields = [ "package", "operator", "version" ]
+            for dep in value:
+              f.write("# name: <cell-element>\n")
+              f.write("# type: scalar struct\n")
+              f.write("# ndims: 2\n")
+              f.write(" 1 1\n");
+              f.write("# length: 3\n");
+
+              for df in dep_fields:
+                val = dep.get(df)
+                f.write("# name: {}\n".format(df))
+                f.write("# type: sq_string\n")
+                f.write("# elements: 1\n")
+                f.write("# length: {}\n".format(len(str(val))))
+                f.write("{}\n".format(str(val)))
+                f.write("\n\n");
+
+            f.write("\n\n");
+          else:
+            f.write("# type: sq_string\n")
+            f.write("# elements: 1\n")
+            f.write("# length: {}\n".format(len(str(value))))
+            f.write("{}\n".format(str(value)))
+
+          f.write("\n\n");
+
+        f.write("# name: loaded\n")
+        f.write("# type: bool\n")
+        f.write("0\n")
+        f.write("\n\n");
+
+        name = "dir"
+        if env.use_pkg_prefix:
+          value = "__OH__/share/octave/packages" + pkg
+        else:
+          value = pkg_dir + pkg
+
+        f.write("# name: {}\n".format(name))
+        f.write("# type: sq_string\n")
+        f.write("# elements: 1\n")
+        f.write("# length: {}\n".format(len(str(value))))
+        f.write("{}\n".format(str(value)))
+        f.write("\n\n");
+
+        name = "archprefix"
+        if env.use_pkg_prefix:
+          value = "__OH__/lib/octave/packages" + pkg
+        else:
+          value = arch_dir + pkg
+        f.write("# name: {}\n".format(name))
+        f.write("# type: sq_string\n")
+        f.write("# elements: 1\n")
+        f.write("# length: {}\n".format(len(str(value))))
+        f.write("{}\n".format(str(value)))
+        f.write("\n\n");
+  finally:
+    os.chdir(currdir)
+
+
+def pkg (args):
+  arch = ''
+  operation = "install"
+
+  env = Env()
+
+  files = []
+
+  operation = args[0]
+  if operation != "install" and operation != "rebuild":
+    raise Exception("Expected pkg operation 'install' or 'rebuild'")
+
+
+  args = args[1:]
+ 
+  for a in args:
+    c=a.split("=")
+    key=c[0]
+    if len(c) > 1:
+      val=c[1]
+    else:
+      val=""
+
+    if key == "-verbose":
+      env.verbose = True;
+    elif key == "--verbose":
+      env.verbose = True;
+    elif key == "--no-pkg-prefix":
+      env.use_pkg_prefix = False;
+    elif key == "-no-cleanup":
+      env.cleanup = False;
+    elif val == "":
+      files.append(key)
+
+
+  if os.environ.get("OCTAVE_CONFIG") != None:
+    env.octave_config = os.environ["OCTAVE_CONFIG"]
+  if os.environ.get("MAKE") != None:
+    env.make = os.environ["MAKE"]
+  if os.environ.get("MKOCTFILE") != None:
+    env.mkoctfile = os.environ["MKOCTFILE"]
+  if os.environ.get("TMP") != None:
+    env.tmp = os.environ["TMP"]
+
+  if env.verbose:
+    env.mkoctfile = env.mkoctfile + " --verbose"
+
+  # make sure we have these set up in env
+  os.environ['OCTAVE_CONFIG'] = env.octave_config;
+  os.environ['MAKE'] = env.make;
+  os.environ['MKOCTFILE'] = env.mkoctfile;
+  os.environ['TMP'] = env.tmp;
+  os.environ['OCTAVE'] = 'echo';
+
+  if os.environ.get("CC") == None:
+    os.environ['CC'] = os.popen(env.mkoctfile + " -p CC").read().rstrip("\r\n")
+  if os.environ.get("CXX") == None:
+    os.environ['CXX'] = os.popen(env.mkoctfile + " -p CXX").read().rstrip("\r\n")
+  if os.environ.get("AR") == None:
+    os.environ['AR'] = os.popen(env.mkoctfile + " -p AR").read().rstrip("\r\n")
+  if os.environ.get("RANLIB") == None:
+    os.environ['RANLIB'] = os.popen(env.mkoctfile + " -p RANLIB").read().rstrip("\r\n")
+  
+  if os.environ.get("CONFIGURE_OPTIONS") != None:
+    env.config_opts = os.environ['CONFIGURE_OPTIONS']
+
+  # work out what arch is etc from mkoctfile/config
+  if env.prefix == "":
+    env.prefix = os.popen(env.octave_config + " -p OCTAVE_HOME").read().rstrip("\r\n")
+  if env.prefix == "":
+    env.prefix = os.popen(env.octave_config + " -p PREFIX").read().rstrip("\r\n")
+
+  arch = os.popen(env.octave_config + " -p CANONICAL_HOST_TYPE").read().rstrip("\r\n")
+  apiver = os.popen(env.octave_config + " -p API_VERSION").read().rstrip("\r\n")
+  env.arch = arch + "-" + apiver
+
+  env.bindir = os.popen(env.octave_config + " -p BINDIR").read().rstrip("\r\n")
+
+  if env.verbose:
+    print ("operation=", operation)
+    print ("mkoctfile=", env.mkoctfile)
+    print ("arch=", env.arch)
+    print ("prefix=", env.prefix)
+    print ("files=", files)
+    print ("verbose=", env.verbose)
+
+  if operation == "install":
+    for a in files:
+      install_pkg(a, env)
+      # rebuild pkg list afterwards
+      rebuild_pkg(env)
+  else:
+      rebuild_pkg(env)
+  return 0
+
+if __name__ == "__main__":
+  if len(sys.argv) > 1:
+    pkg(sys.argv[1:])
+  else:
+    show_usage()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/set-mxe-env.sh.in	Fri Feb 12 17:29:18 2021 -0500
@@ -0,0 +1,32 @@
+#!/bin/bash
+MXEDIR=@MXE_ROOTDIR@
+
+if [ -z "$MXE_OCTAVE_ENV" ]; then
+
+  if [ "@MXE_NATIVE_BUILD@" = "yes" ]; then
+    MXE_PATH="$MXEDIR/usr/bin"
+    MXE_INC_PATH="$MXEDIR/usr/include"
+    MXE_LIB_PATH="$MXEDIR/usr/lib"
+  else
+    HOST=$(@abs_top_srcdir@/tools/config.guess)
+
+    MXE_PATH="$MXEDIR/usr/$HOST/bin:$MXEDIR/usr/bin"
+    MXE_INC_PATH="$MXEDIR/usr/$HOST/include"
+    MXE_LIB_PATH="$MXEDIR/usr/$HOST/lib"
+  fi
+
+  if [ "@ENABLE_LIB64_DIRECTORY@" = "yes" ]; then
+    MXE_LIB_PATH="$MXE_LIB_PATH:${MXE_LIB_PATH}64"
+  fi
+
+  export PATH="$MXE_PATH:$PATH"
+  export CPPFLAGS="-I$MXE_INC_PATH"
+  export LDFLAGS="-L$MXE_LIB_PATH"
+  export LD_LIBRARY_PATH="$MXE_LIB_PATH:$LD_LIBRARY_PATH"
+  export PKG_CONFIG_PATH="$MXE_LIB_PATH/pkgconfig"
+  export PKG_CONFIG="$MXEDIR/usr/bin/pkg-config@EXEEXT@"
+
+  export MXE_OCTAVE_ENV=$MXEDIR
+
+fi
+
--- a/tools/set_mxe_env.sh.in	Fri Dec 06 23:02:15 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#!/bin/bash
-MXEDIR=@MXE_ROOTDIR@
-
-if [ -z "$MXE_OCTAVE_ENV" ]; then
-
-  if [ "@MXE_NATIVE_BUILD@" = "yes" ]; then
-    MXE_PATH="$MXEDIR/usr/bin"
-    MXE_INC_PATH="$MXEDIR/usr/include"
-    MXE_LIB_PATH="$MXEDIR/usr/lib"
-  else
-    HOST=$($MXEDIR/tools/config.guess)
-
-    MXE_PATH="$MXEDIR/usr/$HOST/bin:$MXEDIR/usr/bin"
-    MXE_INC_PATH="$MXEDIR/usr/$HOST/include"
-    MXE_LIB_PATH="$MXEDIR/usr/$HOST/lib"
-  fi
-
-  export PATH="$MXE_PATH:$PATH"
-  export CPPFLAGS="-I$MXE_INC_PATH"
-  export LDFLAGS="-L$MXE_LIB_PATH"
-  export LD_LIBRARY_PATH="$MXE_LIB_PATH:$LD_LIBRARY_PATH"
-  export PKG_CONFIG_PATH="$MXE_LIB_PATH/pkgconfig"
-  export PKG_CONFIG="$MXEDIR/usr/bin/pkg-config@EXEEXT@"
-
-  export MXE_OCTAVE_ENV=$MXEDIR
-
-fi
-